{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/inputs/ShiftModelSelect.vue?ad88","webpack:///./src/components/alertWorkflows/ChangeToPostponedDate.vue?6116","webpack:///./src/components/devices/DeviceFormModal.vue?a978","webpack:///./src/store/persistent/index.ts","webpack:///./src/models/Charts/ganttChartGenerator.ts","webpack:///./src/store/index.ts","webpack:///./src/components/header/NotificationsMenu.vue?b8c8","webpack:///./src/components/forms/RequiredFieldsHint.vue?c835","webpack:///./src/models/enums/WidgetType.ts","webpack:///./src/components/alerts/CareAlertCreationWizard.vue?661d","webpack:///./src/models/enums/AggregateEnum.ts","webpack:///./src/models/customer.ts","webpack:///./src/models/enums/WidgetEnum.ts","webpack:///./src/components/Charts/ThreeDotParamEntry.vue?1f98","webpack:///./src/components/alerts/CustomersListSelectorWizardStep.vue?e7b4","webpack:///./src/components/Charts/WidgetSelector.vue?858d","webpack:///./src/components/menu/ClickMenu.vue?65f1","webpack:///./src/components/common/sidebar/BysoftSidebar.vue?8c2c","webpack:///./src/library-services/toast.service.ts","webpack:///./src/components/bend/kpiWidgetUtils.ts","webpack:///./src/models/enums/LineChartMode.ts","webpack:///./src/components/users/wizards/steps/OtherMembershipsSummarySection.vue?0707","webpack:///./src/components/TimeAxisSpanButton.vue?9474","webpack:///./src/services/users.service.ts","webpack:///./src/views/dataPlatform/DataPlatformActionsDetailsModal.vue?9453","webpack:///./src/views/careConsole/EServiceCenterEquipment.vue?077c","webpack:///./src/components/common/attributionsList/AttributionsList.vue?7a5d","webpack:///./src/components/careConsole/Events.vue?5ea7","webpack:///./src/components/tableWithActions/TableColumnActionsWrapper.vue","webpack:///./src/components/tableWithActions/TableColumnActionsWrapper.vue?1684","webpack:///./src/components/tableWithActions/TableColumnActionsWrapper.vue?01c6","webpack:///./src/components/tableWithActions/TableColumnActionsWrapper.vue?83b9","webpack:///./src/components/careConsole/EventDetails.vue?cd2f","webpack:///./src/services/response.handler.ts","webpack:///./src/components/ActionBubble.vue?633d","webpack:///./src/services/alerts.service.ts","webpack:///./src/views/careConsole/CareConsoleDevice.vue?5984","webpack:///./src/components/users/wizards/steps/ServiceMembershipWizardStep.vue?c1c8","webpack:///./src/components/alerts/CareAlertEditionModal.vue?10ea","webpack:///./src/components/common/sidebar/BysoftSidebarEntry.vue?f7e1","webpack:///./src/components/common/dateTimeRangePicker/DateTimeRangePicker.vue?664a","webpack:///./src/models/Charts/healthTimelineTooltipFormatter.ts","webpack:///./src/models/Charts/healthTimelineGenerator.ts","webpack:///./src/components/menu/ClickMenu.vue","webpack:///./src/components/menu/ClickMenu.vue?442d","webpack:///./src/components/menu/ClickMenu.vue?106a","webpack:///./src/components/menu/ClickMenu.vue?ced7","webpack:///./src/components/targets/Targets.vue?58b0","webpack:///./src/views/dashboard/LayoutGrid.vue","webpack:///./src/views/dashboard/LayoutGrid.vue?7641","webpack:///./src/views/dashboard/LayoutGrid.vue?03e1","webpack:///./src/views/dashboard/LayoutGrid.vue?881d","webpack:///./src/components/Charts/widgetContainer/WidgetContainer.vue","webpack:///./src/components/switch/IconSwitch.vue","webpack:///./src/components/switch/IconSwitch.vue?b70d","webpack:///./src/components/switch/IconSwitch.vue?88ed","webpack:///./src/components/switch/IconSwitch.vue?8fe5","webpack:///./src/components/Charts/widgetContainer/SingleWidgetContainer.vue","webpack:///./src/models/metrics/widgetFilters.ts","webpack:///./src/services/metricsDownloadService.ts","webpack:///./src/components/Charts/widgetContainer/WidgetCard.vue","webpack:///./src/components/Charts/widgetContainer/WidgetCard.vue?88c9","webpack:///./src/components/Charts/widgetContainer/WidgetCard.vue?b9dd","webpack:///./src/components/Charts/widgetContainer/WidgetCard.vue?a4ba","webpack:///./src/components/Charts/MapWidget.vue","webpack:///./src/components/Charts/MapWidget.vue?dce0","webpack:///./src/components/Charts/MapWidget.vue?39b7","webpack:///./src/components/Charts/MapWidget.vue?4807","webpack:///./src/components/Charts/widgetContainer/AsyncComponentLoader.vue","webpack:///./src/components/Charts/widgetContainer/AsyncComponentLoader.vue?89f2","webpack:///./src/components/Charts/widgetContainer/SingleWidgetContainer.vue?d950","webpack:///./src/components/Charts/widgetContainer/SingleWidgetContainer.vue?9d2b","webpack:///./src/components/Charts/widgetContainer/SingleWidgetContainer.vue?0cf6","webpack:///./src/components/Charts/widgetContainer/WidgetContainer.vue?3f36","webpack:///./src/components/Charts/widgetContainer/WidgetContainer.vue?b156","webpack:///./src/components/Charts/widgetContainer/WidgetContainer.vue?817e","webpack:///./src/utils/alerts.ts","webpack:///./src/utils/currency.ts","webpack:///./src/views/careConsole/AlertWorkflowDetailsModal.vue?e6dc","webpack:///./src/locale sync ^\\.\\/.*\\.json$","webpack:///./src/components/ControlledSidebar.vue","webpack:///./src/components/ControlledSidebar.vue?a410","webpack:///./src/components/ControlledSidebar.vue?5a5f","webpack:///./src/components/ControlledSidebar.vue?5b91","webpack:///./src/models/Charts/chartsData.ts","webpack:///./src/views/workcenterConsole/Cut.vue?cca5","webpack:///./src/models/enums/ConsoleEnum.ts","webpack:///./src/models/deviceBaseModel.ts","webpack:///./src/views/careConsole/EServiceCenterCustomers.vue?bd5b","webpack:///./src/models/user.ts","webpack:///./src/models/Charts/compositeWidgetDefinition.ts","webpack:///./src/components/careConsole/EventsTable.vue?263c","webpack:///./src/components/MultipleSelectionFiltersHeader.vue?a93a","webpack:///./src/components/header/CareConsoleSettingsMenu.vue?2f2f","webpack:///./src/utils/misc.ts","webpack:///./src/components/TargetsMenu.vue?e3a6","webpack:///./src/components/Charts/ThreeDotParamEntry.vue","webpack:///./src/components/Charts/threeDotParams/NumberParam.vue","webpack:///./src/components/Charts/threeDotParams/GenericParam.vue","webpack:///./src/components/Charts/threeDotParams/GenericParam.vue?bf2a","webpack:///./src/components/Charts/threeDotParams/GenericParam.vue?a2e6","webpack:///./src/components/Charts/threeDotParams/GenericParam.vue?1b09","webpack:///./src/components/Charts/threeDotParams/NumberParam.vue?b0cc","webpack:///./src/components/Charts/threeDotParams/NumberParam.vue?4825","webpack:///./src/components/Charts/threeDotParams/NumberParam.vue?7bdc","webpack:///./src/components/Charts/threeDotParams/RadioParam.vue","webpack:///./src/components/Charts/threeDotParams/RadioParam.vue?b0b9","webpack:///./src/components/Charts/threeDotParams/RadioParam.vue?61e5","webpack:///./src/components/Charts/threeDotParams/RadioParam.vue?141e","webpack:///./src/components/Charts/threeDotParams/ListParam.vue","webpack:///./src/components/Charts/threeDotParams/ListParam.vue?9741","webpack:///./src/components/Charts/threeDotParams/ListParam.vue?6d40","webpack:///./src/components/Charts/threeDotParams/ListParam.vue?74bc","webpack:///./src/components/Charts/threeDotParams/SliderParam.vue","webpack:///./src/components/Charts/threeDotParams/SliderParam.vue?13e3","webpack:///./src/components/Charts/threeDotParams/SliderParam.vue?1486","webpack:///./src/components/Charts/threeDotParams/SliderParam.vue?a4b4","webpack:///./src/components/Charts/ThreeDotParamEntry.vue?9696","webpack:///./src/components/Charts/ThreeDotParamEntry.vue?5358","webpack:///./src/components/Charts/ThreeDotParamEntry.vue?25a5","webpack:///./src/views/dashboard/layout-grid.ts","webpack:///./src/utils/array.ts","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/careConsole/HealthIndicatorsContainer.vue?59b1","webpack:///./src/components/tableWithActions/TableWithActions2.vue?1a29","webpack:///./src/views/technologyConsole/Overview.vue?fc10","webpack:///./src/components/common/CutLayout.vue?612e","webpack:///./src/utils/charts.ts","webpack:///./src/views/dashboard/DashboardsCarousel.vue?fe8c","webpack:///./src/components/users/wizards/steps/ConsolesWizardStep.vue?2c1c","webpack:///./src/views/careConsole/EquipmentFilters.vue?d99a","webpack:///./src/models/Charts/polStatusDueDateGenerator.ts","webpack:///./src/models/Charts/mockWidgetSelectorData.ts","webpack:///./src/models/enums/FilterTimeSpanEnum.ts","webpack:///./src/components/Charts/widgetContainer/SingleWidgetContainer.vue?1565","webpack:///./src/components/Charts/threeDotParams/SliderParam.vue?1039","webpack:///./src/router/routes.ts","webpack:///./src/utils/i18n.ts","webpack:///./src/services/userTargets.service.ts","webpack:///./src/components/careConsole/EventsTableExpandedView.vue?6de7","webpack:///./src/utils/gantt.ts","webpack:///./src/views/technologyConsole/TechnologyConsoleTenantDevices.vue?157f","webpack:///./src/components/tableWithActions/TableWithActions.vue?07fa","webpack:///./src/views/technologyConsole/TechnologyConsoleDevice.vue?e156","webpack:///./src/views/businessConsole/Quotes.vue?c142","webpack:///./src/components/Charts/MapWidget.vue?0197","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryProperties.vue?a7d4","webpack:///./src/utils/dates.ts","webpack:///./src/views/customers/CustomerTarget.vue?7c86","webpack:///./src/components/technologyConsole/DrawerInformation.vue?3798","webpack:///./src/library-services/localStorage.service.ts","webpack:///./src/components/tableWithActions/TableActionButton.vue","webpack:///./src/components/tableWithActions/TableActionButton.vue?8c88","webpack:///./src/components/tableWithActions/TableActionButton.vue?3709","webpack:///./src/components/tableWithActions/TableActionButton.vue?542d","webpack:///./src/components/alerts/VariableSelectionFormWizardStep.vue?2405","webpack:///./src/components/GenericKeyCopyModal.vue?d51b","webpack:///./src/components/workCenterConsole/OverviewLaserTubeDeviceCard.vue?72b1","webpack:///./src/models/enums/MachineType.ts","webpack:///./src/components/Charts/threeDotParams/RadioParam.vue?58ad","webpack:///./src/components/Charts/WidgetSelector.vue?85c5","webpack:///./src/views/dataPlatform/DataPlatforms.vue?4fa5","webpack:///./src/components/header/InformationMenu.vue?5315","webpack:///./src/components/EventCodesFilter.vue?5f93","webpack:///./src/components/careConsole/EventsTable.vue","webpack:///./src/services/pagination.ts","webpack:///./src/components/careConsole/EventsTable.vue?151d","webpack:///./src/components/careConsole/EventsTable.vue?5967","webpack:///./src/components/careConsole/EventsTable.vue?3831","webpack:///./src/components/tableWithActions/TableActionsList.vue","webpack:///./src/components/tableWithActions/TableActionsList.vue?d3d2","webpack:///./src/components/tableWithActions/TableActionsList.vue?1eb5","webpack:///./src/components/tableWithActions/TableActionsList.vue?07b9","webpack:///./src/models/enums/AlertsEnums.ts","webpack:///./src/components/careConsole/EventsTableExpandedView.vue","webpack:///./src/components/common/dateTimeRangePicker/DateTimeGranularity.ts","webpack:///./src/components/common/dateTimeRangePicker/DateTimeRangePicker.vue","webpack:///./src/components/common/dateTimeRangePicker/DateTimeRangePicker.vue?b313","webpack:///./src/components/common/dateTimeRangePicker/DateTimeRangePicker.vue?32d1","webpack:///./src/components/common/dateTimeRangePicker/DateTimeRangePicker.vue?234d","webpack:///./src/components/careConsole/EventDetails.vue","webpack:///./src/components/careConsole/EventDetails.vue?70c0","webpack:///./src/components/careConsole/EventDetails.vue?53c7","webpack:///./src/components/careConsole/EventDetails.vue?98ee","webpack:///./src/components/careConsole/EventsTableExpandedView.vue?6a8b","webpack:///./src/components/careConsole/EventsTableExpandedView.vue?4bdb","webpack:///./src/components/careConsole/EventsTableExpandedView.vue?13a9","webpack:///./src/views/dashboard/LayoutDropdown.vue?1580","webpack:///./src/components/header/SettingsMenu.vue?4906","webpack:///./src/components/header/NotificationCard.vue?a887","webpack:///./src/App.vue?cfb5","webpack:///./src/components/tableWithActions/TableActionButton2.vue","webpack:///./src/components/tableWithActions/TableActionButton2.vue?8ba1","webpack:///./src/components/tableWithActions/TableActionButton2.vue?f894","webpack:///./src/components/tableWithActions/TableActionButton2.vue?2028","webpack:///./src/components/common/BendLayout.vue?2f33","webpack:///./src/views/Devices.vue?c65f","webpack:///./src/components/DeviceViewSwitch.vue?189d","webpack:///./src/views/customers/CustomerAlerts.vue?28fa","webpack:///./src/views/shopfloorConsole/Manufacturing.vue?cc71","webpack:///./src/models/Charts/quotesAbcCustomersGenerator.ts","webpack:///./src/components/Spinner.vue?da2b","webpack:///./src/models/Charts/dashboardDefinition.ts","webpack:///./src/models/Charts/pieChartGenerator.ts","webpack:///./src/models/Charts/gaugeChartGenerator.ts","webpack:///./src/models/Charts/groupedBarChartGenerator.ts","webpack:///./src/models/Charts/horizontalBarChartGenerator.ts","webpack:///./src/models/Charts/axisPointerLabelFormatter.ts","webpack:///./src/models/Charts/lineChartGenerator.ts","webpack:///./src/models/Charts/outputScrapChartGenerator.ts","webpack:///./src/models/Charts/factoryOverviewGenerator.ts","webpack:///./src/models/Charts/cumulativeLinesGenerator.ts","webpack:///./src/models/Charts/dummyChartGenerator.ts","webpack:///./src/models/Charts/businessLineChartGenerator.ts","webpack:///./src/models/Charts/quotesConversionRatesGenerator.ts","webpack:///./src/models/Charts/topQuotedMaterialsTimelineGenerator.ts","webpack:///./src/models/Charts/quotesCustomerEvolutionGenerator.ts","webpack:///./src/models/Charts/salesCustomerGroupsGenerator.ts","webpack:///./src/models/Charts/salesTopBySalesGenerator.ts","webpack:///./src/models/Charts/salesFunnelGenerator.ts","webpack:///./src/models/Charts/cuttingTimePerGasGenerator.ts","webpack:///./src/models/Charts/cutStatesIntradayGenerator.ts","webpack:///./src/models/Charts/salesUnpaidDistributionGenerator.ts","webpack:///./src/models/Charts/openSalesFunnelGenerator.ts","webpack:///./src/models/Charts/poTreeMapGenerator.ts","webpack:///./src/models/Charts/quotesSizeGenerator.ts","webpack:///./src/models/Charts/cuttingHeadCommons.ts","webpack:///./src/models/Charts/temperaturesChartTooltipFormatter.ts","webpack:///./src/models/Charts/temperaturesChartGenerator.ts","webpack:///./src/models/Charts/drawerInformationTimelineTooltipFormatter.ts","webpack:///./src/models/Charts/drawerInformationTimelineGenerator.ts","webpack:///./src/models/Charts/drawerCycleTimesTooltipFormatter.ts","webpack:///./src/models/Charts/drawerCycleTimesGenerator.ts","webpack:///./src/models/Charts/laserUsedVSNotUsedTimesGenerator.ts","webpack:///./src/models/Charts/laserPowerUtilizationTimesGenerator.ts","webpack:///./src/models/Charts/driveCurrentTimelineGeneratorTooltipFormatter.ts","webpack:///./src/models/Charts/driveCurrentTimelineGenerator.ts","webpack:///./src/models/Charts/driveCurrentDifferenceHistogramGenerator.ts","webpack:///./src/models/Charts/driveAccumulatedCurrentDifferenceTimelineTooltipFormatter.ts","webpack:///./src/models/Charts/driveAccumulatedCurrentDifferenceTimelineGenerator.ts","webpack:///./src/models/Charts/finishedPOEstimatedVsActualPOLGenerator.ts","webpack:///./src/models/Charts/drawerOverviewCycleTimesTooltipFormatter.ts","webpack:///./src/models/Charts/drawerOverviewCycleTimesGenerator.ts","webpack:///./src/models/Charts/cuttingHoursTimelineGenerator.ts","webpack:///./src/models/Charts/laserConsumptionKxSeriesGeneratorHelper.ts","webpack:///./src/models/Charts/laserAccumulatedConsumptionKxSeriesGeneratorHelper.ts","webpack:///./src/models/Charts/laserConsumptionOverviewTimelineGenerator.ts","webpack:///./src/models/Charts/quotesAbcCustomersOverviewGenerator.ts","webpack:///./src/models/Charts/quotedMaterialsListGenerator.ts","webpack:///./src/models/Charts/multiLineChartGenerator.ts","webpack:///./src/models/Charts/rawMaterialUtilizationTimelineGenerator.ts","webpack:///./src/models/Charts/laserOutputAndScrapTimelineGenerator.ts","webpack:///./src/models/Charts/poFinishedDueDateGenerator.ts","webpack:///./src/models/Charts/amountVsNumberOfQuotesBySalespeopleGenerator.ts","webpack:///./src/models/Charts/salesPerSalespersonTimelineGenerator.ts","webpack:///./src/models/Charts/topSalespeopleDetailGenerator.ts","webpack:///./src/models/Charts/eventTypeByTimeTooltipFormatter.ts","webpack:///./src/models/Charts/eventTypeByTimeGenerator.ts","webpack:///./src/models/enums/Measurement.ts","webpack:///./src/models/Charts/laserConsumptionTimelineGenerator.ts","webpack:///./src/models/Charts/laserInstantConsumptionKxSeriesGeneratorHelper.ts","webpack:///./src/models/Charts/laserInstantConsumptionTimelineGenerator.ts","webpack:///./src/models/Charts/laserAvailableVsUsedTimelineGenerator.ts","webpack:///./src/models/Charts/laserAccumulatedConsumptionTimelineGenerator.ts","webpack:///./src/models/Charts/eventTypeByModuleGenerator.ts","webpack:///./src/models/Charts/slotted/healthIndicatorsRetriever.ts","webpack:///./src/models/Charts/diodesAndDrawerCyclesTimelineGenerator.ts","webpack:///./src/models/Charts/slotted/bendPerformanceRetriever.ts","webpack:///./src/models/Charts/slotted/alertOccurrenceTableRetriever.ts","webpack:///./src/models/Charts/slotted/careDeviceOverviewRetriever.ts","webpack:///./src/models/Charts/slotted/CareOverviewHealthIndicatorsRetriever.ts","webpack:///./src/models/Charts/slotted/careOverviewModuleEventsIndicatorsRetriever.ts","webpack:///./src/models/Charts/laserPowerUtilizationHistogramGenerator.ts","webpack:///./src/models/Charts/quotesConversionRatesDetailedGenerator.ts","webpack:///./src/models/Charts/slotted/quotesFiguresRetriever.ts","webpack:///./src/models/Charts/slotted/manufacturingFiguresRetriever.ts","webpack:///./src/models/Charts/slotted/technologyOverviewFiguresRetriever.ts","webpack:///./src/models/Charts/slotted/businessFiguresRetriever.ts","webpack:///./src/models/Charts/slotted/salesFiguresRetriever.ts","webpack:///./src/models/Charts/slotted/deviceStatusRetriever.ts","webpack:///./src/models/Maps/quotesMapGenerator.ts","webpack:///./src/models/Charts/slotted/cutCurrentWorkloadTableDataRetriever.ts","webpack:///./src/models/Charts/slotted/eventsTableRetriever.ts","webpack:///./src/models/Charts/gantt/bendIntradayAvailabilityTableDataRetriever.ts","webpack:///./src/models/Charts/bendStatusOverviewChartGenerator.ts","webpack:///./src/models/Charts/abstract/pieChartKpiWidgetGenerator.ts","webpack:///./src/models/Charts/numberOfBendsWidgetGenerator.ts","webpack:///./src/models/Charts/peakHourlyBendingWidgetGenerator.ts","webpack:///./src/models/Charts/bendingToolChangesKpiWidgetGenerator.ts","webpack:///./src/models/Charts/bendProductionOutputWidgetGenerator.ts","webpack:///./src/models/Charts/slotted/bendShiftsStatisticsRetriever.ts","webpack:///./src/models/Charts/slotted/bendRankingOfPartsRetriever.ts","webpack:///./src/models/Charts/gantt/cutOrTubesIntradayAvailabilityTableRetriever.ts","webpack:///./src/models/Charts/widgetFactory.ts","webpack:///./src/components/careConsole/HealthIndicator.vue?e71a","webpack:///./src/components/devices/DeviceImage.vue?b4f5","webpack:///./src/components/users/wizards/UserCreationDropdown.vue?42c2","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryDetail.vue?fa10","webpack:///./src/views/Users.vue?4a6c","webpack:///./src/views/businessConsole/Overview.vue?f273","webpack:///./src/views/dashboard/LayoutGrid.vue?22ce","webpack:///./src/models/userType.ts","webpack:///./src/components/SidebarLayout.vue?e6aa","webpack:///./src/library-services/locale.service.ts","webpack:///./src/components/tableWithActions/TableColumnActionsWrapper.vue?2629","webpack:///./src/services/tenants.service.ts","webpack:///./src/utils/measurement.ts","webpack:///./src/components/devices/DeviceFormModal.vue?f684","webpack:///./src/components/Charts/WidgetHelp.vue?052d","webpack:///./src/components/careConsole/HealthBar.vue?e64a","webpack:///./src/components/header/UserMenu.vue?e260","webpack:///./src/components/workCenterConsole/OverviewDeviceCardKpi.vue?fe16","webpack:///./src/views/Index.vue?5ec0","webpack:///./src/views/customers/CustomerCutGasTypeConfig.vue?7505","webpack:///./src/views/customers/CustomerShiftModels.vue?87da","webpack:///./src/components/tableWithActions/TableActionsList.vue?2733","webpack:///./src/utils/enum.ts","webpack:///./src/views/careConsole/CareConsoleAlerts.vue?d4d5","webpack:///./src/components/careConsole/ModuleEventsIndicator.vue?a6c6","webpack:///./src/components/language/LanguageSelectorModal.vue?1dbc","webpack:///./src/views/careConsole/AlertFilters.vue?4aa9","webpack:///./src/i18n.ts","webpack:///./src/views/careConsole/commons/utils.ts","webpack:///./src/components/shiftModels/ShiftFormModal.vue?f83e","webpack:///./src/views/customers/CustomerEmailReport.vue?0a52","webpack:///./src/services/shifts.service.ts","webpack:///./src/views/careConsole/EServiceCenterInbox.vue?0b66","webpack:///./src/utils/logger.ts","webpack:///./src/models/tenant.ts","webpack:///./src/components/users/wizards/steps/PersonalDataWizardStep.vue?28b9","webpack:///./src/components/EventModuleFilter.vue","webpack:///./src/components/EventModuleFilter.vue?cf4e","webpack:///./src/components/EventModuleFilter.vue?ee3a","webpack:///./src/components/EventModuleFilter.vue?d572","webpack:///./src/models/metrics/aggregates.ts","webpack:///./src/components/careConsole/overview/DeviceCard.vue?8cde","webpack:///./src/components/Charts/WidgetHelp.vue","webpack:///./src/components/Charts/WidgetHelp.vue?a383","webpack:///./src/components/Charts/WidgetHelp.vue?084e","webpack:///./src/components/Charts/WidgetHelp.vue?cf7b","webpack:///./src/models/enums/DeviceStatusEnum.ts","webpack:///./src/models/deviceStatus.ts","webpack:///./src/models/device.ts","webpack:///./src/components/tableWithActions/TableActionButton.vue?d1fa","webpack:///./src/services/masters.service.ts","webpack:///./src/components/ModalWrapper.vue","webpack:///./src/components/ModalWrapper.vue?41c9","webpack:///./src/components/ModalWrapper.vue?978f","webpack:///./src/components/ModalWrapper.vue?8944","webpack:///./src/library-services/modal.service.ts","webpack:///./src/views/dashboard/DashboardsCarousel.vue?7aad","webpack:///./src/models/Charts/widgetDefinition.ts","webpack:///./src/components/OldTimeZoneIndicator.vue?9688","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryUsers.vue?52fb","webpack:///./src/models/enums/FilterTimeAxisSpanEnum.ts","webpack:///./src/views/workcenterConsole/Bend.vue?957e","webpack:///./src/components/AggregatesMenu.vue?6f2d","webpack:///./src/components/users/PasswordResetModal.vue?4b79","webpack:///./src/components/Charts/widgetContainer/WidgetCard.vue?1c2b","webpack:///./src/views/customers/CustomerUsers.vue?a57a","webpack:///./src/components/Charts/widgetContainer/WidgetContainer.vue?0ebf","webpack:///./src/components/alerts/EquipmentListSelectorWizardStep.vue?ccaa","webpack:///./src/views/workcenterConsole/Tubes.vue?b58d","webpack:///./src/models/constants.ts","webpack:///./src/components/careConsole/Alerts.vue?d6aa","webpack:///./src/components/EventTypeFilter.vue","webpack:///./src/components/EventTypeFilter.vue?7e3e","webpack:///./src/components/EventTypeFilter.vue?5c40","webpack:///./src/components/EventTypeFilter.vue?88c1","webpack:///./src/components/DateGroupingFilter.vue","webpack:///./src/components/DateGroupingFilter.vue?5e18","webpack:///./src/components/DateGroupingFilter.vue?743d","webpack:///./src/components/DateGroupingFilter.vue?b7a5","webpack:///./src/models/enums/TargetsMetric.ts","webpack:///./src/components/shiftModels/ShiftModelFormModal.vue?e318","webpack:///./src/services/requestCanceledError.ts","webpack:///./src/views/ControlList.vue?e0ca","webpack:///./src/components/inputs/EmailsTagInput.vue?4fd4","webpack:///./src/components/ControlledSidebar.vue?a024","webpack:///./src/composables/misc.ts","webpack:///./src/components/cut/CutCellControlActiveMessagesModal.vue","webpack:///./src/components/cut/CutCellControlActiveMessagesModal.vue?ac95","webpack:///./src/components/cut/CutCellControlActiveMessagesModal.vue?2021","webpack:///./src/components/cut/CutCellControlActiveMessagesModal.vue?2eae","webpack:///./src/components/tableWithActions/CustomTableFilters.vue","webpack:///./src/components/tableWithActions/CustomTableFilters.vue?17b5","webpack:///./src/components/tableWithActions/CustomTableFilters.vue?ade6","webpack:///./src/components/tableWithActions/CustomTableFilters.vue?a987","webpack:///./src/components/alerts/KpiSelectionFormWizardStep.vue?89b8","webpack:///./src/components/TermsAgreementModal.vue?ab69","webpack:///./src/components/users/wizards/steps/SummaryWizardStep.vue?9845","webpack:///./src/components/careConsole/overview/HealthIndicators.vue?e649","webpack:///./src/components/careConsole/AlertOccurrencesTable.vue?da8a","webpack:///./src/models/enums/PlanState.ts","webpack:///./src/utils/number.ts","webpack:///./src/components/ShiftFilter.vue","webpack:///./src/components/ShiftFilter.vue?763e","webpack:///./src/components/ShiftFilter.vue?35ac","webpack:///./src/components/ShiftFilter.vue?258d","webpack:///./src/components/workCenterConsole/OverviewDeviceCard.vue?5397","webpack:///./src/models/enums/LaserOutputAndScrapTimelineChartMode.ts","webpack:///./src/components/TimeSpanFilter.vue","webpack:///./src/components/TimeSpanFilter.vue?75e0","webpack:///./src/components/TimeSpanFilter.vue?8b8d","webpack:///./src/components/TimeSpanFilter.vue?fdde","webpack:///./src/components/customers/CustomerCreationModal.vue?a5b1","webpack:///./src/components/TimeSpanFilter.vue?0d10","webpack:///./src/views/careConsole/CustomerFilters.vue?11ad","webpack:///./src/components/header/AdminNotificationWizard/NotificationRecipientSelectionWizardStep.vue?395a","webpack:///./src/components/workCenterConsole/OverviewNewBendDeviceCard.vue?dd9f","webpack:///./src/views/careConsole/InboxFilters.vue?57ee","webpack:///./src/components/Charts/widgetContainer/AsyncComponentLoader.vue?e297","webpack:///./src/utils/components.ts","webpack:///./src/components/wizard/Wizard.vue?4e8c","webpack:///./src/services/shiftModels.service.ts","webpack:///./src/components/inputs/AutoplayInterval.vue?516d","webpack:///./src/components/ShiftFilter.vue?1cd0","webpack:///./src/components/careConsole/Overview.vue?5cdd","webpack:///./src/views/businessConsole/Sales.vue?b62d","webpack:///./src/utils/permissionUtils.ts","webpack:///./src/hooks.ts","webpack:///./src/App.vue","webpack:///./src/components/header/Header.vue","webpack:///./src/composables/router.ts","webpack:///./src/models/enums/Mode.ts","webpack:///./src/components/header/InformationMenu.vue","webpack:///./src/components/header/InformationMenu.vue?6de9","webpack:///./src/components/header/InformationMenu.vue?6ff6","webpack:///./src/components/header/InformationMenu.vue?c05f","webpack:///./src/components/header/NotificationsMenu.vue","webpack:///./src/models/userAlertStatus.ts","webpack:///./src/models/customNotifications.ts","webpack:///./src/models/AlertWorkflowNotification.ts","webpack:///./src/services/notifications.service.ts","webpack:///./src/components/header/NotificationCard.vue","webpack:///./src/components/header/NotificationCard.vue?b17a","webpack:///./src/components/header/NotificationCard.vue?2b4b","webpack:///./src/components/header/NotificationCard.vue?2fc3","webpack:///./src/views/Devices.vue","webpack:///./src/services/locations.service.ts","webpack:///./src/components/devices/DeviceFormModal.vue","webpack:///./src/components/forms/RequiredFieldsHint.vue","webpack:///./src/components/forms/RequiredFieldsHint.vue?fa74","webpack:///./src/components/inputs/ShiftModelSelect.vue","webpack:///./src/models/shiftModel.ts","webpack:///./src/models/enums/BetaFeature.ts","webpack:///./src/components/inputs/ShiftModelSelect.vue?e6f8","webpack:///./src/components/inputs/ShiftModelSelect.vue?c570","webpack:///./src/components/inputs/ShiftModelSelect.vue?d819","webpack:///./src/components/inputs/TenantsSelect2.vue","webpack:///./src/components/inputs/TenantsSelect2.vue?aced","webpack:///./src/components/inputs/TenantsSelect2.vue?a8fa","webpack:///./src/components/inputs/TenantsSelect2.vue?ddd4","webpack:///./src/components/inputs/LocationsSelect.vue","webpack:///./src/components/inputs/LocationsSelect.vue?d4d5","webpack:///./src/components/inputs/LocationsSelect.vue?e70b","webpack:///./src/components/inputs/LocationsSelect.vue?0a75","webpack:///./src/utils/validation.ts","webpack:///./src/components/devices/DeviceFormModal.vue?bc23","webpack:///./src/components/devices/DeviceFormModal.vue?837b","webpack:///./src/components/devices/DeviceFormModal.vue?ec7a","webpack:///./src/components/devices/DeviceSASModal.vue","webpack:///./src/components/devices/DeviceSASModal.vue?902f","webpack:///./src/components/devices/DeviceSASModal.vue?e111","webpack:///./src/components/devices/DeviceSASModal.vue?f71f","webpack:///./src/components/tableWithActions/TableWithActions.vue","webpack:///./src/components/tableWithActions/TableWithActions.vue?65f1","webpack:///./src/components/tableWithActions/TableWithActions.vue?13a1","webpack:///./src/components/tableWithActions/TableWithActions.vue?6fc2","webpack:///./src/use-cases/devices.ts","webpack:///./src/components/wizard/SlotComponent.vue","webpack:///./src/library-services/dialog.service.ts","webpack:///./src/views/Devices.vue?0ab6","webpack:///./src/views/Devices.vue?764d","webpack:///./src/views/Devices.vue?45fb","webpack:///./src/views/subsidiaries/Subsidiaries.vue","webpack:///./src/services/subsidiaries.service.ts","webpack:///./src/components/subsidiaries/SubsidiaryCreationModal.vue","webpack:///./src/models/subsidiary.ts","webpack:///./src/components/subsidiaries/SubsidiaryCreationModal.vue?ca49","webpack:///./src/components/subsidiaries/SubsidiaryCreationModal.vue?f1b5","webpack:///./src/components/subsidiaries/SubsidiaryCreationModal.vue?0ab5","webpack:///./src/views/subsidiaries/Subsidiaries.vue?e336","webpack:///./src/views/subsidiaries/Subsidiaries.vue?8163","webpack:///./src/views/subsidiaries/Subsidiaries.vue?1894","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryDetail.vue","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryProperties.vue","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryProperties.vue?599c","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryProperties.vue?d70a","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryProperties.vue?0518","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryUsers.vue","webpack:///./src/components/users/PasswordResetModal.vue","webpack:///./src/components/users/PasswordResetModal.vue?68c0","webpack:///./src/components/users/PasswordResetModal.vue?8416","webpack:///./src/components/users/PasswordResetModal.vue?c0ad","webpack:///./src/components/users/wizards/UserCreationDropdown.vue","webpack:///./src/components/users/wizards/GlobalAdminWizard.vue","webpack:///./src/components/wizard/Wizard.vue","webpack:///./src/components/wizard/SlotComponent.vue?0445","webpack:///./src/components/wizard/SlotComponent.vue?a9c8","webpack:///./src/components/wizard/NumberedBreadcrumbItem.vue","webpack:///./src/components/wizard/NumberedBreadcrumbItem.vue?2bbf","webpack:///./src/components/wizard/NumberedBreadcrumbItem.vue?f8ea","webpack:///./src/components/wizard/NumberedBreadcrumbItem.vue?ca59","webpack:///./src/components/wizard/Wizard.vue?4fa7","webpack:///./src/components/wizard/Wizard.vue?d290","webpack:///./src/components/wizard/Wizard.vue?50cd","webpack:///./src/components/users/wizards/steps/PersonalDataWizardStep.vue","webpack:///./src/components/wizard/WizardStep.vue","webpack:///./src/components/wizard/WizardStep.vue?334c","webpack:///./src/components/wizard/WizardStep.vue?1ca3","webpack:///./src/components/wizard/WizardStep.vue?4cda","webpack:///./src/components/users/wizards/steps/PersonalDataWizardStep.vue?553a","webpack:///./src/components/users/wizards/steps/PersonalDataWizardStep.vue?b18e","webpack:///./src/components/users/wizards/steps/PersonalDataWizardStep.vue?a117","webpack:///./src/components/users/wizards/steps/SummaryWizardStep.vue","webpack:///./src/components/users/wizards/steps/OtherMembershipsSummarySection.vue","webpack:///./src/components/users/wizards/steps/OtherMembershipsSummarySection.vue?d258","webpack:///./src/components/users/wizards/steps/OtherMembershipsSummarySection.vue?8b23","webpack:///./src/components/users/wizards/steps/OtherMembershipsSummarySection.vue?ef31","webpack:///./src/components/users/wizards/steps/SummaryWizardStep.vue?f95a","webpack:///./src/components/users/wizards/steps/SummaryWizardStep.vue?2118","webpack:///./src/components/users/wizards/steps/SummaryWizardStep.vue?8799","webpack:///./src/components/users/wizards/user-wizard-utils.ts","webpack:///./src/components/users/wizards/GlobalAdminWizard.vue?2bd9","webpack:///./src/components/users/wizards/GlobalAdminWizard.vue?09b0","webpack:///./src/components/users/wizards/GlobalAdminWizard.vue?e559","webpack:///./src/components/users/wizards/SubsidiaryAdminWizard.vue","webpack:///./src/components/users/wizards/steps/SubsidiaryMembershipWizardStep.vue","webpack:///./src/components/inputs/SubsidiariesSelect.vue","webpack:///./src/components/inputs/SubsidiariesSelect.vue?3731","webpack:///./src/components/inputs/SubsidiariesSelect.vue?0437","webpack:///./src/components/inputs/SubsidiariesSelect.vue?4747","webpack:///./src/components/users/wizards/steps/SubsidiaryMembershipWizardStep.vue?4bf5","webpack:///./src/components/users/wizards/steps/SubsidiaryMembershipWizardStep.vue?e448","webpack:///./src/components/users/wizards/steps/SubsidiaryMembershipWizardStep.vue?8c05","webpack:///./src/components/users/wizards/SubsidiaryAdminWizard.vue?2d16","webpack:///./src/components/users/wizards/SubsidiaryAdminWizard.vue?2749","webpack:///./src/components/users/wizards/SubsidiaryAdminWizard.vue?3126","webpack:///./src/components/users/wizards/CustomerUserWizard.vue","webpack:///./src/components/users/wizards/steps/CustomerMembershipWizardStep.vue","webpack:///./src/components/inputs/TenantsSelect.vue","webpack:///./src/components/inputs/TenantsSelect.vue?1c6d","webpack:///./src/components/inputs/TenantsSelect.vue?5f52","webpack:///./src/components/inputs/TenantsSelect.vue?646c","webpack:///./src/components/users/wizards/steps/CustomerMembershipWizardStep.vue?3716","webpack:///./src/components/users/wizards/steps/CustomerMembershipWizardStep.vue?3017","webpack:///./src/components/users/wizards/steps/CustomerMembershipWizardStep.vue?007e","webpack:///./src/components/users/wizards/steps/ConsolesWizardStep.vue","webpack:///./src/components/users/wizards/steps/ConsolesWizardStep.vue?c987","webpack:///./src/components/users/wizards/steps/ConsolesWizardStep.vue?52da","webpack:///./src/components/users/wizards/steps/ConsolesWizardStep.vue?2d73","webpack:///./src/components/users/wizards/steps/PermissionsWizardStep.vue","webpack:///./src/components/users/wizards/steps/PermissionsWizardStep.vue?e73f","webpack:///./src/components/users/wizards/steps/PermissionsWizardStep.vue?d9a1","webpack:///./src/components/users/wizards/steps/PermissionsWizardStep.vue?2bd7","webpack:///./src/components/users/wizards/CustomerUserWizard.vue?8f91","webpack:///./src/components/users/wizards/CustomerUserWizard.vue?86f7","webpack:///./src/components/users/wizards/CustomerUserWizard.vue?6596","webpack:///./src/components/users/wizards/ServiceGlobalWizard.vue","webpack:///./src/components/users/wizards/ServiceGlobalWizard.vue?76a9","webpack:///./src/components/users/wizards/ServiceGlobalWizard.vue?c974","webpack:///./src/components/users/wizards/ServiceGlobalWizard.vue?93a6","webpack:///./src/components/users/wizards/ServiceUserWizard.vue","webpack:///./src/components/users/wizards/steps/ServiceMembershipWizardStep.vue","webpack:///./src/components/users/wizards/steps/ServiceMembershipWizardStep.vue?42f7","webpack:///./src/components/users/wizards/steps/ServiceMembershipWizardStep.vue?22d3","webpack:///./src/components/users/wizards/steps/ServiceMembershipWizardStep.vue?03f7","webpack:///./src/components/users/wizards/ServiceUserWizard.vue?bb84","webpack:///./src/components/users/wizards/ServiceUserWizard.vue?b18b","webpack:///./src/components/users/wizards/ServiceUserWizard.vue?7261","webpack:///./src/components/users/wizards/TechnologyWizard.vue","webpack:///./src/components/users/wizards/TechnologyWizard.vue?e7c2","webpack:///./src/components/users/wizards/TechnologyWizard.vue?f035","webpack:///./src/components/users/wizards/TechnologyWizard.vue?e286","webpack:///./src/components/users/wizards/modals.ts","webpack:///./src/models/enums/ShiftOverflowEnum.ts","webpack:///./src/components/users/wizards/UserCreationDropdown.vue?7741","webpack:///./src/components/users/wizards/UserCreationDropdown.vue?487e","webpack:///./src/components/users/wizards/UserCreationDropdown.vue?0d3f","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryUsers.vue?27f6","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryUsers.vue?69ca","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryUsers.vue?1060","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryDetail.vue?5a5e","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryDetail.vue?d497","webpack:///./src/views/subsidiaries/subsidiary/SubsidiaryDetail.vue?d2d3","webpack:///./src/views/customers/Customers.vue","webpack:///./src/components/customers/CustomerCreationModal.vue","webpack:///./src/components/inputs/TimezonesSelect.vue","webpack:///./src/components/inputs/TimezonesSelect.vue?3dc1","webpack:///./src/components/inputs/TimezonesSelect.vue?bb64","webpack:///./src/components/inputs/TimezonesSelect.vue?be5b","webpack:///./src/components/inputs/CurrencyCodesSelect.vue","webpack:///./src/components/inputs/CurrencyCodesSelect.vue?85ce","webpack:///./src/components/inputs/CurrencyCodesSelect.vue?34e9","webpack:///./src/components/inputs/CurrencyCodesSelect.vue?8f21","webpack:///./src/components/inputs/MeasurementsSelect.vue","webpack:///./src/components/inputs/MeasurementsSelect.vue?4190","webpack:///./src/components/inputs/MeasurementsSelect.vue?11fa","webpack:///./src/components/inputs/MeasurementsSelect.vue?0f47","webpack:///./src/components/inputs/CustomerSourcesSelect.vue","webpack:///./src/components/inputs/CustomerSourcesSelect.vue?66a4","webpack:///./src/components/inputs/CustomerSourcesSelect.vue?8037","webpack:///./src/components/inputs/CustomerSourcesSelect.vue?d445","webpack:///./src/components/customers/CustomerCreationModal.vue?6d12","webpack:///./src/components/customers/CustomerCreationModal.vue?62e4","webpack:///./src/components/customers/CustomerCreationModal.vue?2d0a","webpack:///./src/views/customers/Customers.vue?ffd3","webpack:///./src/views/customers/Customers.vue?1d15","webpack:///./src/views/customers/Customers.vue?be4d","webpack:///./src/views/ControlList.vue","webpack:///./src/views/ControlList.vue?41e9","webpack:///./src/views/ControlList.vue?99b6","webpack:///./src/views/ControlList.vue?c55b","webpack:///./src/views/customers/CustomerDetail.vue","webpack:///./src/views/customers/CustomerProperties.vue","webpack:///./src/views/customers/CustomerProperties.vue?cee5","webpack:///./src/views/customers/CustomerProperties.vue?47b2","webpack:///./src/views/customers/CustomerProperties.vue?e90a","webpack:///./src/views/customers/CustomerUsers.vue","webpack:///./src/views/customers/CustomerUsers.vue?7725","webpack:///./src/views/customers/CustomerUsers.vue?bd97","webpack:///./src/views/customers/CustomerUsers.vue?ca43","webpack:///./src/views/customers/CustomerShiftModels.vue","webpack:///./src/components/shiftModels/ShiftFormModal.vue","webpack:///./src/models/shift.ts","webpack:///./src/components/shiftModels/ShiftFormModal.vue?c539","webpack:///./src/views/customers/CustomerDetail.vue?4b38","webpack:///./src/components/shiftModels/ShiftFormModal.vue?1b91","webpack:///./src/components/shiftModels/ShiftFormModal.vue?7113","webpack:///./src/components/shiftModels/ShiftModelFormModal.vue","webpack:///./src/components/shiftModels/ShiftModelFormModal.vue?95d2","webpack:///./src/components/shiftModels/ShiftModelFormModal.vue?3046","webpack:///./src/components/shiftModels/ShiftModelFormModal.vue?1e7e","webpack:///./src/views/customers/CustomerShiftModels.vue?e366","webpack:///./src/views/customers/CustomerShiftModels.vue?0ed2","webpack:///./src/views/customers/CustomerShiftModels.vue?9314","webpack:///./src/views/customers/CustomerBendPartCategoryConfig.vue","webpack:///./src/services/bendPartCategory.service.ts","webpack:///./src/models/bendPartCategory.ts","webpack:///./src/views/customers/CustomerBendPartCategoryConfig.vue?709d","webpack:///./src/views/customers/CustomerBendPartCategoryConfig.vue?ff28","webpack:///./src/views/customers/CustomerBendPartCategoryConfig.vue?c62a","webpack:///./src/views/customers/CustomerCutGasTypeConfig.vue","webpack:///./src/models/customerCutConfig.ts","webpack:///./src/views/customers/CustomerCutGasTypeConfig.vue?42d5","webpack:///./src/views/customers/CustomerCutGasTypeConfig.vue?d4a2","webpack:///./src/views/customers/CustomerCutGasTypeConfig.vue?da4b","webpack:///./src/views/customers/CustomerAlerts.vue","webpack:///./src/components/alerts/AlertFormModal.vue","webpack:///./src/components/inputs/DevicesSelect.vue","webpack:///./src/components/inputs/DevicesSelect.vue?892a","webpack:///./src/components/inputs/DevicesSelect.vue?a220","webpack:///./src/components/inputs/DevicesSelect.vue?f52c","webpack:///./src/components/inputs/AlertsMetricsSelect.vue","webpack:///./src/components/inputs/AlertsMetricsSelect.vue?6f28","webpack:///./src/components/inputs/AlertsMetricsSelect.vue?39c7","webpack:///./src/components/inputs/AlertsMetricsSelect.vue?577a","webpack:///./src/components/inputs/AlertsOperatorsSelect.vue","webpack:///./src/components/inputs/AlertsOperatorsSelect.vue?084d","webpack:///./src/components/inputs/AlertsOperatorsSelect.vue?a4f2","webpack:///./src/components/inputs/AlertsOperatorsSelect.vue?7e90","webpack:///./src/components/inputs/AlertsActionsSelect.vue","webpack:///./src/components/inputs/AlertsActionsSelect.vue?8ff1","webpack:///./src/components/inputs/AlertsActionsSelect.vue?0825","webpack:///./src/components/inputs/AlertsActionsSelect.vue?d011","webpack:///./src/components/inputs/EmailsTagInput.vue","webpack:///./src/components/inputs/EmailsTagInput.vue?ac42","webpack:///./src/components/inputs/EmailsTagInput.vue?0c3b","webpack:///./src/components/inputs/EmailsTagInput.vue?ab3b","webpack:///./src/models/alert.ts","webpack:///./src/components/alerts/AlertFormModal.vue?27ac","webpack:///./src/components/alerts/AlertFormModal.vue?0094","webpack:///./src/components/alerts/AlertFormModal.vue?02a7","webpack:///./src/views/customers/CustomerAlerts.vue?414a","webpack:///./src/views/customers/CustomerAlerts.vue?8241","webpack:///./src/views/customers/CustomerAlerts.vue?f724","webpack:///./src/views/customers/CustomerMaterialGroups.vue","webpack:///./src/components/materialGroups/MaterialGroupCreationModal.vue","webpack:///./src/models/materialGroup.ts","webpack:///./src/services/materialGroups.service.ts","webpack:///./src/components/materialGroups/MaterialGroupCreationModal.vue?395d","webpack:///./src/components/materialGroups/MaterialGroupCreationModal.vue?d2cc","webpack:///./src/components/materialGroups/MaterialGroupCreationModal.vue?d44f","webpack:///./src/components/materialGroups/MaterialGroupModal.vue","webpack:///./src/services/materials.service.ts","webpack:///./src/components/materialGroups/MaterialGroupModal.vue?458e","webpack:///./src/components/materialGroups/MaterialGroupModal.vue?e760","webpack:///./src/components/materialGroups/MaterialGroupModal.vue?7862","webpack:///./src/components/materialGroups/MaterialGroupAssignmentModal.vue","webpack:///./src/components/materialGroups/MaterialGroupAssignmentModal.vue?455e","webpack:///./src/components/materialGroups/MaterialGroupAssignmentModal.vue?3fc2","webpack:///./src/components/materialGroups/MaterialGroupAssignmentModal.vue?b16b","webpack:///./src/views/customers/CustomerMaterialGroups.vue?da55","webpack:///./src/views/customers/CustomerMaterialGroups.vue?db91","webpack:///./src/views/customers/CustomerMaterialGroups.vue?7239","webpack:///./src/views/customers/CustomerTarget.vue","webpack:///./src/components/targets/Targets.vue","webpack:///./src/components/targets/TargetFormModal.vue","webpack:///./src/components/inputs/TargetsMetricSelect.vue","webpack:///./src/components/inputs/TargetsMetricSelect.vue?853c","webpack:///./src/components/inputs/TargetsMetricSelect.vue?6648","webpack:///./src/components/inputs/TargetsMetricSelect.vue?32f4","webpack:///./src/components/targets/TargetFormModal.vue?8524","webpack:///./src/components/targets/TargetFormModal.vue?389d","webpack:///./src/components/targets/TargetFormModal.vue?b941","webpack:///./src/components/targets/Targets.vue?746a","webpack:///./src/components/targets/Targets.vue?0aa0","webpack:///./src/components/targets/Targets.vue?a338","webpack:///./src/views/customers/CustomerTarget.vue?9a4c","webpack:///./src/views/customers/CustomerTarget.vue?9c3c","webpack:///./src/views/customers/CustomerTarget.vue?ad56","webpack:///./src/views/customers/CustomerLocations.vue","webpack:///./src/components/locations/ConnectionStringModal.vue","webpack:///./src/components/locations/ConnectionStringModal.vue?f43e","webpack:///./src/components/locations/ConnectionStringModal.vue?d42c","webpack:///./src/components/locations/ConnectionStringModal.vue?c4a0","webpack:///./src/services/dataplatform.service.ts","webpack:///./src/components/locations/LocationFormModal.vue","webpack:///./src/models/location.ts","webpack:///./src/components/locations/LocationFormModal.vue?7b0b","webpack:///./src/components/locations/LocationFormModal.vue?7867","webpack:///./src/components/locations/LocationFormModal.vue?c64c","webpack:///./src/views/customers/CustomerLocations.vue?48e2","webpack:///./src/views/customers/CustomerLocations.vue?3b9b","webpack:///./src/views/customers/CustomerLocations.vue?4fa9","webpack:///./src/views/customers/CustomerEmailReport.vue","webpack:///./src/models/customerReport.ts","webpack:///./src/views/customers/CustomerEmailReport.vue?9665","webpack:///./src/views/customers/CustomerEmailReport.vue?2153","webpack:///./src/views/customers/CustomerEmailReport.vue?a66c","webpack:///./src/views/customers/CustomerDetail.vue?c068","webpack:///./src/views/customers/CustomerDetail.vue?9df1","webpack:///./src/views/Index.vue","webpack:///./src/views/dashboard/DashboardsCarousel.vue","webpack:///./src/views/dashboard/CustomDashboard.vue","webpack:///./src/components/Charts/WidgetSelector.vue","webpack:///./src/components/Charts/WidgetSelector.vue?8ba4","webpack:///./src/components/Charts/WidgetSelector.vue?a936","webpack:///./src/components/Charts/WidgetSelector.vue?5cae","webpack:///./src/views/dashboard/LayoutDropdown.vue","webpack:///./src/views/dashboard/LayoutDropdown.vue?0951","webpack:///./src/views/dashboard/dashboardMode.ts","webpack:///./src/views/dashboard/LayoutDropdown.vue?73a2","webpack:///./src/views/dashboard/LayoutDropdown.vue?74ec","webpack:///./src/views/dashboard/CustomDashboard.vue?96bf","webpack:///./src/views/dashboard/CustomDashboard.vue?5936","webpack:///./src/views/dashboard/CustomDashboard.vue?bbca","webpack:///./src/components/inputs/AutoplayInterval.vue","webpack:///./src/components/inputs/AutoplayInterval.vue?5983","webpack:///./src/components/inputs/AutoplayInterval.vue?d1d6","webpack:///./src/components/inputs/AutoplayInterval.vue?de4c","webpack:///./src/views/dashboard/DashboardsCarousel.vue?b6b8","webpack:///./src/views/dashboard/DashboardsCarousel.vue?ceaa","webpack:///./src/views/dashboard/DashboardsCarousel.vue?46c6","webpack:///./src/views/Index.vue?5f23","webpack:///./src/views/Index.vue?97f8","webpack:///./src/views/Index.vue?f12c","webpack:///./src/views/workcenterConsole/WorkCenterConsoleOverview.vue","webpack:///./src/models/Charts/workCenterConsoleOverviewStateDataRetriever.ts","webpack:///./src/components/workCenterConsole/OverviewBendDeviceCard.vue","webpack:///./src/components/workCenterConsole/OverviewDeviceCard.vue","webpack:///./src/components/devices/DeviceImage.vue","webpack:///./src/components/devices/DeviceImage.vue?a194","webpack:///./src/components/common/CutLayoutTab.ts","webpack:///./src/components/devices/DeviceImage.vue?459d","webpack:///./src/components/devices/DeviceImage.vue?b460","webpack:///./src/components/workCenterConsole/OverviewDeviceCard.vue?6fd1","webpack:///./src/components/workCenterConsole/OverviewDeviceCard.vue?39c5","webpack:///./src/components/workCenterConsole/OverviewDeviceCard.vue?092c","webpack:///./src/components/workCenterConsole/OverviewDeviceCardStateKpi.vue","webpack:///./src/components/workCenterConsole/OverviewDeviceCardKpi.vue","webpack:///./src/components/workCenterConsole/OverviewDeviceCardKpi.vue?758c","webpack:///./src/components/workCenterConsole/OverviewDeviceCardKpi.vue?5cad","webpack:///./src/components/workCenterConsole/OverviewDeviceCardKpi.vue?2d7e","webpack:///./src/components/workCenterConsole/OverviewDeviceCardStateKpi.vue?34c3","webpack:///./src/components/workCenterConsole/OverviewDeviceCardStateKpi.vue?276e","webpack:///./src/components/workCenterConsole/OverviewDeviceCardStateKpi.vue?932e","webpack:///./src/components/workCenterConsole/OverviewBendDeviceCard.vue?7e44","webpack:///./src/components/workCenterConsole/OverviewBendDeviceCard.vue?fc27","webpack:///./src/components/workCenterConsole/OverviewBendDeviceCard.vue?c6c7","webpack:///./src/components/workCenterConsole/OverviewNewBendDeviceCard.vue","webpack:///./src/models/Charts/currentBendPlanDataRetriever.ts","webpack:///./src/components/workCenterConsole/OverviewDeviceCardKpiList.vue","webpack:///./src/components/workCenterConsole/OverviewDeviceCardKpiList.vue?fdb2","webpack:///./src/components/workCenterConsole/OverviewDeviceCardKpiList.vue?c06b","webpack:///./src/components/workCenterConsole/OverviewDeviceCardKpiList.vue?a57c","webpack:///./src/components/workCenterConsole/OverviewNewBendDeviceCard.vue?a0fb","webpack:///./src/components/workCenterConsole/OverviewNewBendDeviceCard.vue?3508","webpack:///./src/components/workCenterConsole/OverviewNewBendDeviceCard.vue?cc6b","webpack:///./src/components/workCenterConsole/OverviewLaserTubeDeviceCard.vue","webpack:///./src/models/Charts/workCenterConsoleOverviewLaserWorkloadDataRetriever.ts","webpack:///./src/components/workCenterConsole/OverviewLaserTubeDeviceCard.vue?e656","webpack:///./src/components/workCenterConsole/OverviewLaserTubeDeviceCard.vue?58cb","webpack:///./src/components/workCenterConsole/OverviewLaserTubeDeviceCard.vue?b27e","webpack:///./src/models/Charts/workCenterConsoleOverviewBendingDevicesStateDataRetriever.ts","webpack:///./src/views/workcenterConsole/WorkCenterConsoleOverview.vue?912d","webpack:///./src/views/workcenterConsole/WorkCenterConsoleOverview.vue?121e","webpack:///./src/views/workcenterConsole/WorkCenterConsoleOverview.vue?ff6e","webpack:///./src/views/workcenterConsole/Cut.vue","webpack:///./src/components/common/CutLayout.vue","webpack:///./src/components/common/CutLayout.vue?b33b","webpack:///./src/components/common/CutLayout.vue?87d4","webpack:///./src/components/common/CutLayout.vue?7d39","webpack:///./src/components/MultipleSelectionFiltersHeader.vue","webpack:///./src/components/TimeZoneIndicator.vue","webpack:///./src/components/TimeZoneIndicator.vue?b53d","webpack:///./src/components/TimeZoneIndicator.vue?119b","webpack:///./src/components/TimeZoneIndicator.vue?5009","webpack:///./src/components/MultipleSelectionFiltersHeader.vue?38c6","webpack:///./src/components/MultipleSelectionFiltersHeader.vue?856c","webpack:///./src/components/MultipleSelectionFiltersHeader.vue?7851","webpack:///./src/components/EquipmentFilter.vue","webpack:///./src/components/EquipmentFilter.vue?5cab","webpack:///./src/components/EquipmentFilter.vue?d130","webpack:///./src/components/EquipmentFilter.vue?c31d","webpack:///./src/utils/page-filters.ts","webpack:///./src/views/workcenterConsole/Cut.vue?1e2c","webpack:///./src/components/common/BendLayoutTab.ts","webpack:///./src/views/workcenterConsole/Cut.vue?2aec","webpack:///./src/views/workcenterConsole/Cut.vue?b5a8","webpack:///./src/views/workcenterConsole/Bend.vue","webpack:///./src/components/common/BendLayout.vue","webpack:///./src/components/common/BendSummary.vue","webpack:///./src/views/dashboard/flexible-layout-grid.ts","webpack:///./src/views/dashboard/FlexibleLayoutGrid.vue","webpack:///./src/views/dashboard/FlexibleLayoutGrid.vue?366a","webpack:///./src/views/dashboard/FlexibleLayoutGrid.vue?ab8b","webpack:///./src/views/dashboard/FlexibleLayoutGrid.vue?4719","webpack:///./src/components/common/BendSummary.vue?8306","webpack:///./src/components/common/BendSummary.vue?cde3","webpack:///./src/components/common/BendSummary.vue?43b2","webpack:///./src/components/common/BendLayout.vue?d7c5","webpack:///./src/components/common/BendLayout.vue?4bd4","webpack:///./src/components/common/BendLayout.vue?516f","webpack:///./src/views/workcenterConsole/Bend.vue?32c1","webpack:///./src/views/workcenterConsole/Bend.vue?0b29","webpack:///./src/views/workcenterConsole/Bend.vue?67b6","webpack:///./src/views/technologyConsole/TechnologyConsoleDevice.vue","webpack:///./src/components/technologyConsole/Temperatures.vue","webpack:///./src/components/technologyConsole/Temperatures.vue?9511","webpack:///./src/components/technologyConsole/Temperatures.vue?7642","webpack:///./src/components/technologyConsole/Temperatures.vue?32da","webpack:///./src/components/technologyConsole/Overview.vue","webpack:///./src/components/technologyConsole/Overview.vue?8ce4","webpack:///./src/components/technologyConsole/Overview.vue?5787","webpack:///./src/components/technologyConsole/Overview.vue?4781","webpack:///./src/components/technologyConsole/DrawerInformation.vue","webpack:///./src/components/technologyConsole/DrawerInformation.vue?833d","webpack:///./src/components/technologyConsole/DrawerInformation.vue?1f78","webpack:///./src/components/technologyConsole/DrawerInformation.vue?cff3","webpack:///./src/components/technologyConsole/Laser.vue","webpack:///./src/components/technologyConsole/Laser.vue?5395","webpack:///./src/components/technologyConsole/Laser.vue?53a4","webpack:///./src/components/technologyConsole/Laser.vue?acc3","webpack:///./src/components/technologyConsole/DriveValues.vue","webpack:///./src/components/technologyConsole/DriveValues.vue?c82b","webpack:///./src/components/technologyConsole/DriveValues.vue?9f82","webpack:///./src/components/technologyConsole/DriveValues.vue?a0d0","webpack:///./src/components/OldTimeZoneIndicator.vue","webpack:///./src/components/OldTimeZoneIndicator.vue?71c3","webpack:///./src/components/OldTimeZoneIndicator.vue?ba63","webpack:///./src/components/OldTimeZoneIndicator.vue?6d99","webpack:///./src/components/careConsole/Events.vue","webpack:///./src/components/careConsole/AlertOccurrencesTable.vue","webpack:///./src/components/careConsole/AlertOccurrencesTable.vue?97d7","webpack:///./src/components/careConsole/AlertOccurrencesTable.vue?d360","webpack:///./src/components/careConsole/AlertOccurrencesTable.vue?f940","webpack:///./src/components/careConsole/Events.vue?ec88","webpack:///./src/models/enums/TechnologyConsoleTab.ts","webpack:///./src/components/careConsole/Events.vue?56ff","webpack:///./src/components/careConsole/Events.vue?16eb","webpack:///./src/views/technologyConsole/TechnologyConsoleDevice.vue?7825","webpack:///./src/views/technologyConsole/TechnologyConsoleDevice.vue?1467","webpack:///./src/views/technologyConsole/TechnologyConsoleDevice.vue?2f8d","webpack:///./src/views/shopfloorConsole/Manufacturing.vue","webpack:///./src/views/shopfloorConsole/Manufacturing.vue?cf44","webpack:///./src/views/shopfloorConsole/Manufacturing.vue?57ad","webpack:///./src/views/shopfloorConsole/Manufacturing.vue?b353","webpack:///./src/views/businessConsole/Overview.vue","webpack:///./src/views/businessConsole/Overview.vue?77b7","webpack:///./src/views/businessConsole/Overview.vue?465b","webpack:///./src/views/businessConsole/Overview.vue?d105","webpack:///./src/views/businessConsole/Quotes.vue","webpack:///./src/views/businessConsole/Quotes.vue?480f","webpack:///./src/views/businessConsole/Quotes.vue?7d97","webpack:///./src/views/businessConsole/Quotes.vue?5ea3","webpack:///./src/views/businessConsole/Sales.vue","webpack:///./src/views/businessConsole/Sales.vue?b3ed","webpack:///./src/views/businessConsole/Sales.vue?9de0","webpack:///./src/views/businessConsole/Sales.vue?9ac9","webpack:///./src/views/Users.vue","webpack:///./src/views/Users.vue?285b","webpack:///./src/views/Users.vue?0f90","webpack:///./src/views/Users.vue?ec43","webpack:///./src/views/technologyConsole/TechnologyConsoleTenantDevices.vue","webpack:///./src/views/technologyConsole/TechnologyConsoleTenantDevices.vue?96ba","webpack:///./src/views/technologyConsole/TechnologyConsoleTenantDevices.vue?68b5","webpack:///./src/views/technologyConsole/TechnologyConsoleTenantDevices.vue?8533","webpack:///./src/components/authentication/Login.vue","webpack:///./src/components/authentication/Login.vue?fc6c","webpack:///./src/components/authentication/Login.vue?4ed5","webpack:///./src/components/authentication/Login.vue?09d7","webpack:///./src/components/authentication/Logout.vue","webpack:///./src/components/authentication/Logout.vue?01c6","webpack:///./src/views/workcenterConsole/TubesTab.ts","webpack:///./src/components/authentication/Logout.vue?17de","webpack:///./src/components/authentication/Logout.vue?257b","webpack:///./src/views/workcenterConsole/Tubes.vue","webpack:///./src/views/workcenterConsole/Tubes.vue?1c77","webpack:///./src/views/careConsole/commons/navigation.ts","webpack:///./src/views/workcenterConsole/Tubes.vue?9357","webpack:///./src/views/workcenterConsole/Tubes.vue?8567","webpack:///./src/views/careConsole/CareConsoleDevice.vue","webpack:///./src/views/careConsole/CareConsoleMainView.vue","webpack:///./src/components/careConsole/Alerts.vue","webpack:///./src/components/careConsole/Alerts.vue?28f4","webpack:///./src/components/careConsole/Alerts.vue?d778","webpack:///./src/components/careConsole/Alerts.vue?9562","webpack:///./src/components/careConsole/CuttingHead.vue","webpack:///./src/components/careConsole/CuttingHead.vue?8618","webpack:///./src/components/careConsole/CuttingHead.vue?f802","webpack:///./src/components/careConsole/CuttingHead.vue?52d4","webpack:///./src/components/careConsole/Health.vue","webpack:///./src/components/careConsole/HealthIndicatorsContainer.vue","webpack:///./src/components/careConsole/HealthIndicator.vue","webpack:///./src/components/careConsole/HealthBar.vue","webpack:///./src/components/careConsole/HealthBar.vue?dc59","webpack:///./src/components/careConsole/HealthBar.vue?68db","webpack:///./src/components/careConsole/HealthBar.vue?ef31","webpack:///./src/components/careConsole/HealthIndicator.vue?2329","webpack:///./src/components/careConsole/HealthIndicator.vue?656a","webpack:///./src/components/careConsole/HealthIndicator.vue?7051","webpack:///./src/components/careConsole/HealthIndicatorsContainer.vue?540a","webpack:///./src/components/careConsole/HealthIndicatorsContainer.vue?5405","webpack:///./src/components/careConsole/HealthIndicatorsContainer.vue?4c8d","webpack:///./src/components/careConsole/Health.vue?a46a","webpack:///./src/components/careConsole/Health.vue?f97c","webpack:///./src/components/careConsole/Health.vue?6a1f","webpack:///./src/components/careConsole/LaserConsumption.vue","webpack:///./src/components/careConsole/LaserConsumption.vue?6443","webpack:///./src/components/careConsole/LaserConsumption.vue?936e","webpack:///./src/components/careConsole/LaserConsumption.vue?b6d8","webpack:///./src/components/careConsole/Overview.vue","webpack:///./src/components/careConsole/overview/DeviceCard.vue","webpack:///./src/components/careConsole/overview/DeviceCard.vue?b488","webpack:///./src/components/careConsole/overview/DeviceCard.vue?adac","webpack:///./src/components/careConsole/overview/DeviceCard.vue?091d","webpack:///./src/components/careConsole/overview/HealthIndicators.vue","webpack:///./src/components/careConsole/overview/HealthIndicators.vue?7eab","webpack:///./src/components/careConsole/overview/HealthIndicators.vue?c7b8","webpack:///./src/components/careConsole/overview/HealthIndicators.vue?44df","webpack:///./src/components/careConsole/ProgressBar.vue","webpack:///./src/components/careConsole/ProgressBar.vue?e8eb","webpack:///./src/components/careConsole/ProgressBar.vue?155b","webpack:///./src/components/careConsole/ProgressBar.vue?6ee5","webpack:///./src/components/careConsole/overview/ModuleEventsIndicators.vue","webpack:///./src/components/careConsole/ModuleEventsIndicator.vue","webpack:///./src/components/careConsole/ModuleEventsIndicator.vue?3153","webpack:///./src/components/careConsole/ModuleEventsIndicator.vue?98bd","webpack:///./src/components/careConsole/ModuleEventsIndicator.vue?3a5d","webpack:///./src/components/careConsole/overview/ModuleEventsIndicators.vue?15d2","webpack:///./src/components/careConsole/overview/ModuleEventsIndicators.vue?b75e","webpack:///./src/components/careConsole/overview/ModuleEventsIndicators.vue?c867","webpack:///./src/components/careConsole/Overview.vue?4dff","webpack:///./src/components/careConsole/Overview.vue?2d51","webpack:///./src/components/careConsole/Overview.vue?d162","webpack:///./src/views/careConsole/CareConsoleMainView.vue?f0be","webpack:///./src/views/careConsole/CareConsoleMainView.vue?8688","webpack:///./src/views/careConsole/CareConsoleMainView.vue?a7d2","webpack:///./src/components/DeviceViewSwitch.vue","webpack:///./src/components/DeviceViewSwitch.vue?ccf0","webpack:///./src/components/DeviceViewSwitch.vue?127f","webpack:///./src/components/DeviceViewSwitch.vue?1bed","webpack:///./src/views/careConsole/CareConsoleDevice.vue?006a","webpack:///./src/views/careConsole/CareConsoleDevice.vue?60b2","webpack:///./src/views/careConsole/CareConsoleDevice.vue?04b8","webpack:///./src/views/technologyConsole/Overview.vue","webpack:///./src/views/technologyConsole/Overview.vue?5feb","webpack:///./src/views/technologyConsole/Overview.vue?bada","webpack:///./src/views/technologyConsole/Overview.vue?ea22","webpack:///./src/views/careConsole/EServiceCenterCustomers.vue","webpack:///./src/views/careConsole/CustomerFilters.vue","webpack:///./src/views/careConsole/CustomerFilters.vue?5704","webpack:///./src/views/careConsole/CustomerFilters.vue?efcd","webpack:///./src/views/careConsole/CustomerFilters.vue?ecbc","webpack:///./src/views/careConsole/commons/matchers.ts","webpack:///./src/views/careConsole/EServiceCenterCustomers.vue?7200","webpack:///./src/views/careConsole/EServiceCenterCustomers.vue?a800","webpack:///./src/views/careConsole/EServiceCenterCustomers.vue?222e","webpack:///./src/views/careConsole/CareConsoleAlerts.vue","webpack:///./src/components/alerts/CareAlertCreationWizard.vue","webpack:///./src/components/alerts/CustomersListSelectorWizardStep.vue","webpack:///./src/components/alerts/CustomersListSelectorWizardStep.vue?80e9","webpack:///./src/components/alerts/CustomersListSelectorWizardStep.vue?c5b4","webpack:///./src/components/alerts/CustomersListSelectorWizardStep.vue?3736","webpack:///./src/components/alerts/EquipmentListSelectorWizardStep.vue","webpack:///./src/components/alerts/EquipmentListSelectorWizardStep.vue?4855","webpack:///./src/components/alerts/EquipmentListSelectorWizardStep.vue?c618","webpack:///./src/components/alerts/EquipmentListSelectorWizardStep.vue?513a","webpack:///./src/components/alerts/KpiSelectionFormWizardStep.vue","webpack:///./src/components/alerts/AlertCountMessage.vue","webpack:///./src/components/alerts/AlertCountMessage.vue?5fd6","webpack:///./src/components/alerts/AlertCountMessage.vue?a075","webpack:///./src/components/alerts/AlertCountMessage.vue?a34d","webpack:///./src/components/alerts/KpiSelectionFormWizardStep.vue?c88e","webpack:///./src/components/alerts/KpiSelectionFormWizardStep.vue?1f2d","webpack:///./src/components/alerts/KpiSelectionFormWizardStep.vue?d501","webpack:///./src/components/alerts/VariableSelectionFormWizardStep.vue","webpack:///./src/components/alerts/VariableSelectionFormWizardStep.vue?5eac","webpack:///./src/components/alerts/VariableSelectionFormWizardStep.vue?be92","webpack:///./src/components/alerts/VariableSelectionFormWizardStep.vue?0e83","webpack:///./src/components/alerts/SourceSelectionFormWizardStep.vue","webpack:///./src/components/alerts/SourceSelectionFormWizardStep.vue?5b13","webpack:///./src/components/alerts/SourceSelectionFormWizardStep.vue?476e","webpack:///./src/components/alerts/SourceSelectionFormWizardStep.vue?eede","webpack:///./src/components/alerts/EventCodesSelectionFormWizardStep.vue","webpack:///./src/components/alerts/EventCodesSelectionFormWizardStep.vue?3258","webpack:///./src/components/alerts/EventCodesSelectionFormWizardStep.vue?09ae","webpack:///./src/components/alerts/EventCodesSelectionFormWizardStep.vue?9e9c","webpack:///./src/components/alerts/CareAlertCreationWizard.vue?fd75","webpack:///./src/components/alerts/CareAlertCreationWizard.vue?d29b","webpack:///./src/components/alerts/CareAlertCreationWizard.vue?4748","webpack:///./src/components/alerts/CareAlertEditionModal.vue","webpack:///./src/components/alerts/CareAlertEditionModal.vue?b2f2","webpack:///./src/components/alerts/CareAlertEditionModal.vue?5cd1","webpack:///./src/components/alerts/CareAlertEditionModal.vue?8f5d","webpack:///./src/views/careConsole/AlertFilters.vue","webpack:///./src/utils/url.ts","webpack:///./src/components/DateGroupingSelect.vue","webpack:///./src/components/DateGroupingSelect.vue?fc89","webpack:///./src/components/DateGroupingSelect.vue?6f8f","webpack:///./src/components/DateGroupingSelect.vue?4de8","webpack:///./src/views/careConsole/AlertFilters.vue?843f","webpack:///./src/views/careConsole/AlertFilters.vue?65f7","webpack:///./src/views/careConsole/AlertFilters.vue?20cf","webpack:///./src/views/careConsole/CareConsoleAlerts.vue?0654","webpack:///./src/models/enums/DataPlatformEnum.ts","webpack:///./src/views/careConsole/CareConsoleAlerts.vue?8446","webpack:///./src/views/careConsole/CareConsoleAlerts.vue?289e","webpack:///./src/components/About.vue","webpack:///./src/components/common/attributionsList/AttributionsList.vue","webpack:///./src/components/common/attributionsList/AttributionsList.vue?d1d4","webpack:///./src/components/common/attributionsList/AttributionsList.vue?a153","webpack:///./src/components/common/attributionsList/AttributionsList.vue?61d6","webpack:///./src/components/About.vue?488f","webpack:///./src/components/About.vue?0216","webpack:///./src/components/About.vue?ba8e","webpack:///./src/views/dataPlatform/DataPlatforms.vue","webpack:///./src/views/dataPlatform/DataPlatformDetailModal.vue","webpack:///./src/views/dataPlatform/DataPlatformDetailModal.vue?7a73","webpack:///./src/views/dataPlatform/DataPlatformDetailModal.vue?95dc","webpack:///./src/views/dataPlatform/DataPlatformDetailModal.vue?63bd","webpack:///./src/views/dataPlatform/DataPlatformActionsDetailsModal.vue","webpack:///./src/views/dataPlatform/DataPlatformActionsDetailsModal.vue?0d69","webpack:///./src/views/dataPlatform/DataPlatformActionsDetailsModal.vue?31a0","webpack:///./src/views/dataPlatform/DataPlatformActionsDetailsModal.vue?9e08","webpack:///./src/views/dataPlatform/DataPlatforms.vue?cf0d","webpack:///./src/views/dataPlatform/DataPlatforms.vue?5640","webpack:///./src/views/dataPlatform/DataPlatforms.vue?e703","webpack:///./src/views/careConsole/EServiceCenterEquipment.vue","webpack:///./src/views/careConsole/EquipmentFilters.vue","webpack:///./src/views/careConsole/EquipmentFilters.vue?adcc","webpack:///./src/views/careConsole/EquipmentFilters.vue?4d56","webpack:///./src/views/careConsole/EquipmentFilters.vue?65be","webpack:///./src/views/careConsole/EServiceCenterEquipment.vue?71a2","webpack:///./src/models/alertWorkflow.ts","webpack:///./src/views/careConsole/EServiceCenterEquipment.vue?8d77","webpack:///./src/views/careConsole/EServiceCenterEquipment.vue?6fb4","webpack:///./src/views/careConsole/EServiceCenterInbox.vue","webpack:///./src/views/careConsole/AlertWorkflowDetailsModal.vue","webpack:///./src/components/inputs/AlertWorkflowStatusSelect.vue","webpack:///./src/components/inputs/AlertWorkflowStatusSelect.vue?d329","webpack:///./src/components/inputs/AlertWorkflowStatusSelect.vue?e80c","webpack:///./src/components/inputs/AlertWorkflowStatusSelect.vue?aa3a","webpack:///./src/services/alertWorkflows.service.ts","webpack:///./src/views/careConsole/AlertWorkflowDetailsModal.vue?3b07","webpack:///./src/views/careConsole/AlertWorkflowDetailsModal.vue?819e","webpack:///./src/views/careConsole/AlertWorkflowDetailsModal.vue?aa69","webpack:///./src/views/careConsole/InboxFilters.vue","webpack:///./src/views/careConsole/InboxFilters.vue?ae5d","webpack:///./src/views/careConsole/InboxFilters.vue?2f70","webpack:///./src/views/careConsole/InboxFilters.vue?178a","webpack:///./src/components/alertWorkflows/ChangeToPostponedDate.vue","webpack:///./src/components/alertWorkflows/ChangeToPostponedDate.vue?dd33","webpack:///./src/components/alertWorkflows/ChangeToPostponedDate.vue?b85a","webpack:///./src/components/alertWorkflows/ChangeToPostponedDate.vue?f340","webpack:///./src/components/alertWorkflows/ChangeToInProgress.vue","webpack:///./src/components/alertWorkflows/ChangeToInProgress.vue?11bc","webpack:///./src/components/alertWorkflows/ChangeToInProgress.vue?c0bf","webpack:///./src/components/alertWorkflows/ChangeToInProgress.vue?4f9c","webpack:///./src/components/alertWorkflows/ChangeToResolved.vue","webpack:///./src/components/alertWorkflows/ChangeToResolved.vue?00a3","webpack:///./src/components/alertWorkflows/ChangeToResolved.vue?6c94","webpack:///./src/components/alertWorkflows/ChangeToResolved.vue?8f0e","webpack:///./src/components/alertWorkflows/ChangeToDiscarded.vue","webpack:///./src/components/alertWorkflows/ChangeToDiscarded.vue?2f76","webpack:///./src/components/alertWorkflows/ChangeToDiscarded.vue?9339","webpack:///./src/components/alertWorkflows/ChangeToDiscarded.vue?d6c2","webpack:///./src/views/careConsole/EServiceCenterInbox.vue?9e6c","webpack:///./src/views/careConsole/EServiceCenterInbox.vue?01fa","webpack:///./src/views/careConsole/EServiceCenterInbox.vue?0374","webpack:///./src/router/index.ts","webpack:///./src/library-services/e-service-center-router.ts","webpack:///./src/components/header/NotificationsMenu.vue?cb8f","webpack:///./src/components/header/NotificationsMenu.vue?751c","webpack:///./src/components/header/NotificationsMenu.vue?dcdb","webpack:///./src/components/header/SettingsMenu.vue","webpack:///./src/components/header/AdminNotificationWizard/AdminNotificationWizard.vue","webpack:///./src/components/header/AdminNotificationWizard/NotificationRecipientSelectionWizardStep.vue","webpack:///./src/components/inputs/SubsidiariesTagInput.vue","webpack:///./src/components/inputs/SubsidiariesTagInput.vue?b71f","webpack:///./src/components/inputs/SubsidiariesTagInput.vue?ee0d","webpack:///./src/components/inputs/SubsidiariesTagInput.vue?c7ca","webpack:///./src/components/inputs/CustomersTagInput.vue","webpack:///./src/components/inputs/CustomersTagInput.vue?2757","webpack:///./src/components/inputs/CustomersTagInput.vue?708b","webpack:///./src/components/inputs/CustomersTagInput.vue?f2f1","webpack:///./src/components/header/AdminNotificationWizard/NotificationRecipientSelectionWizardStep.vue?a33a","webpack:///./src/components/header/AdminNotificationWizard/NotificationRecipientSelectionWizardStep.vue?cd76","webpack:///./src/components/header/AdminNotificationWizard/NotificationRecipientSelectionWizardStep.vue?0453","webpack:///./src/components/header/AdminNotificationWizard/NotificationContentWizardStep.vue","webpack:///./src/components/header/AdminNotificationWizard/NotificationContentWizardStep.vue?25f1","webpack:///./src/components/header/AdminNotificationWizard/NotificationContentWizardStep.vue?22ca","webpack:///./src/components/header/AdminNotificationWizard/NotificationContentWizardStep.vue?2cbb","webpack:///./src/components/header/AdminNotificationWizard/AdminNotificationWizard.vue?695e","webpack:///./src/components/header/AdminNotificationWizard/AdminNotificationWizard.vue?c442","webpack:///./src/components/header/AdminNotificationWizard/AdminNotificationWizard.vue?e194","webpack:///./src/components/header/SettingsMenu.vue?0d0d","webpack:///./src/components/header/SettingsMenu.vue?fae7","webpack:///./src/components/header/SettingsMenu.vue?ff6b","webpack:///./src/components/header/CareConsoleSettingsMenu.vue","webpack:///./src/components/header/CareConsoleSettingsMenu.vue?a0f7","webpack:///./src/components/header/CareConsoleSettingsMenu.vue?0d1a","webpack:///./src/components/header/CareConsoleSettingsMenu.vue?1c83","webpack:///./src/components/header/UserMenu.vue","webpack:///./src/components/header/UserMenu.vue?55b2","webpack:///./src/components/header/UserMenu.vue?dc9e","webpack:///./src/components/header/UserMenu.vue?a68f","webpack:///./src/components/header/Header.vue?f24b","webpack:///./src/components/header/Header.vue?d2a8","webpack:///./src/components/header/Header.vue?4438","webpack:///./src/components/SidebarLayout.vue","webpack:///./src/components/language/LanguageSelectorModal.vue","webpack:///./src/locale/dictLocale.ts","webpack:///./src/components/language/LanguageSelectorModal.vue?3d44","webpack:///./src/components/language/LanguageSelectorModal.vue?da61","webpack:///./src/components/language/LanguageSelectorModal.vue?8879","webpack:///./src/components/common/sidebar/BysoftSidebar.vue","webpack:///./src/components/common/sidebar/BysoftSidebar.vue?6a09","webpack:///./src/components/common/sidebar/BysoftSidebar.vue?038c","webpack:///./src/components/common/sidebar/BysoftSidebar.vue?682e","webpack:///./src/components/common/sidebar/BysoftSidebarEntry.vue","webpack:///./src/components/common/sidebar/BysoftSidebarEntry.vue?58a0","webpack:///./src/components/common/sidebar/BysoftSidebarEntry.vue?4083","webpack:///./src/components/common/sidebar/BysoftSidebarEntry.vue?7430","webpack:///./src/components/SidebarLayout.vue?8d9d","webpack:///./src/components/SidebarLayout.vue?1fe1","webpack:///./src/components/SidebarLayout.vue?ab74","webpack:///./src/components/Spinner.vue","webpack:///./src/components/Spinner.vue?6cc4","webpack:///./src/components/Spinner.vue?ae54","webpack:///./src/components/Spinner.vue?0216","webpack:///./src/components/TermsAgreementModal.vue","webpack:///./src/components/TermsAgreementModal.vue?c9d7","webpack:///./src/components/TermsAgreementModal.vue?ad37","webpack:///./src/components/TermsAgreementModal.vue?7734","webpack:///./src/App.vue?683e","webpack:///./src/App.vue?6d24","webpack:///./src/App.vue?3746","webpack:///./src/services/configuration.service.ts","webpack:///./src/interceptors/axios-interceptor-error.ts","webpack:///./src/interceptors/axios-interceptor-auth.ts","webpack:///./src/services/auth.service.ts","webpack:///./src/plugins/auth.service.plugin.ts","webpack:///./src/library-services/spinner.service.ts","webpack:///./src/plugins/spinner.plugin.ts","webpack:///./src/library-services/signalr.service.ts","webpack:///./src/plugins/signalr.plugin.ts","webpack:///./src/plugins/app-insights.plugin.ts","webpack:///./src/main.ts","webpack:///./src/models/Maps/mapGenerator.ts","webpack:///./src/models/widgetMachineType.ts","webpack:///./src/components/subsidiaries/SubsidiaryCreationModal.vue?0a42","webpack:///./src/models/enums/SortOrder.ts","webpack:///./src/components/wizard/NumberedBreadcrumbItem.vue?a585","webpack:///./src/components/Charts/ThreeDotsOptions.vue?6152","webpack:///./src/components/technologyConsole/Temperatures.vue?2792","webpack:///./src/views/dashboard/CustomDashboard.vue?4b40","webpack:///./src/utils/string.ts","webpack:///./src/utils/table.ts","webpack:///./src/components/Charts/MapWidget.vue?ca4b","webpack:///./src/services/metrics.service.ts","webpack:///./src/components/inputs/SubsidiariesTagInput.vue?0e53","webpack:///./src/components/careConsole/Health.vue?bd3c","webpack:///./src/components/language/LanguageSelectorModal.vue?e6c6","webpack:///./src/components/header/NotificationsMenu.vue?3772","webpack:///./src/views/customers/CustomerDetail.vue?53fa","webpack:///./src/composables/i18n.ts","webpack:///./src/components/tableWithActions/SearchBox.vue?abee","webpack:///./src/utils/color.ts","webpack:///./src/components/workCenterConsole/OverviewDeviceCardKpiList.vue?f799","webpack:///./src/views/dashboard/FlexibleLayoutGrid.vue?d4d5","webpack:///./src/models/Charts/tooltipFormatter.ts","webpack:///./src/views/dataPlatform/DataPlatformDetailModal.vue?335b","webpack:///./src/components/DateGroupingFilter.vue?ab2d","webpack:///./src/components/header/Header.vue?3d98","webpack:///./src/components/Charts/WidgetHelp.vue?3852","webpack:///./src/utils/version.ts","webpack:///./src/components/Charts/ThreeDotsOptions.vue","webpack:///./src/components/TimeAxisSpanButton.vue","webpack:///./src/components/TimeAxisSpanButton.vue?abec","webpack:///./src/components/TimeAxisSpanButton.vue?0b40","webpack:///./src/components/TimeAxisSpanButton.vue?aafa","webpack:///./src/components/TargetsMenu.vue","webpack:///./src/components/TargetsMenu.vue?a418","webpack:///./src/components/TargetsMenu.vue?f98b","webpack:///./src/components/TargetsMenu.vue?ccba","webpack:///./src/components/AggregatesMenu.vue","webpack:///./src/components/AggregatesMenu.vue?c30e","webpack:///./src/components/AggregatesMenu.vue?f015","webpack:///./src/components/AggregatesMenu.vue?b86a","webpack:///./src/components/Charts/ThreeDotsOptions.vue?7765","webpack:///./src/components/Charts/ThreeDotsOptions.vue?71b2","webpack:///./src/components/Charts/ThreeDotsOptions.vue?67ba","webpack:///./src/components/EventCodesFilter.vue","webpack:///./src/components/common/tagInput/TagInput.vue","webpack:///./src/components/common/tagInput/TagInput.vue?29e5","webpack:///./src/components/common/tagInput/TagInput.vue?590c","webpack:///./src/components/common/tagInput/TagInput.vue?68b7","webpack:///./src/components/EventCodesFilter.vue?6ac9","webpack:///./src/components/EventCodesFilter.vue?d779","webpack:///./src/components/EventCodesFilter.vue?3d7f","webpack:///./src/components/DateGroupingSelect.vue?5071","webpack:///./src/views/customers/CustomerBendPartCategoryConfig.vue?6d76","webpack:///./src/models/Charts/bendProductivityFiguresChartGenerator.ts","webpack:///./src/components/switch/IconSwitch.vue?d61d","webpack:///./src/components/Charts/threeDotParams/ListParam.vue?09dc","webpack:///./src/views/customers/CustomerProperties.vue?0cbf","webpack:///./src/components/tableWithActions/CustomTableFilters.vue?508a","webpack:///./src/components/careConsole/ProgressBar.vue?1bf4","webpack:///./src/utils/environment.ts","webpack:///./src/models/Charts/abstract/chartGenerator.ts","webpack:///./src/components/careConsole/overview/ModuleEventsIndicators.vue?f6cf","webpack:///./src/services/devices.service.ts","webpack:///./src/components/inputs/AlertWorkflowStatusSelect.vue?73d7","webpack:///./src/components/cut/CutCellControlActiveMessagesModal.vue?fbd3","webpack:///./src/views/dashboard/CustomDashboard.vue?bd3e","webpack:///./src/views/workcenterConsole/WorkCenterConsoleOverview.vue?2027","webpack:///./src/components/GenericKeyCopyModal.vue","webpack:///./src/utils/clipboard.ts","webpack:///./src/components/GenericKeyCopyModal.vue?bf21","webpack:///./src/components/GenericKeyCopyModal.vue?2e73","webpack:///./src/components/GenericKeyCopyModal.vue?8846","webpack:///./src/components/inputs/CustomersTagInput.vue?86a3","webpack:///./node_modules/vee-validate/dist/locale sync ^\\.\\/.*\\.json$","webpack:///./src/components/NewFeatureBadge.vue","webpack:///./src/components/NewFeatureBadge.vue?9f78","webpack:///./src/components/NewFeatureBadge.vue?30f4","webpack:///./src/components/NewFeatureBadge.vue?a074","webpack:///./src/views/customers/Customers.vue?bd8a","webpack:///./src/components/tableWithActions/TableWithActions2.vue?a832","webpack:///./src/components/NewFeatureBadge.vue?48c4","webpack:///./src/components/tableWithActions/TableWithActions2.vue","webpack:///./src/components/tableWithActions/SearchBox.vue","webpack:///./src/components/tableWithActions/SearchBox.vue?bb88","webpack:///./src/components/tableWithActions/SearchBox.vue?470f","webpack:///./src/components/tableWithActions/SearchBox.vue?4439","webpack:///./src/components/tableWithActions/TableWithActions2.vue?e2a2","webpack:///./src/components/tableWithActions/TableWithActions2.vue?804f","webpack:///./src/components/tableWithActions/TableWithActions2.vue?e537","webpack:///./src/components/ActionBubble.vue","webpack:///./src/components/ActionBubble.vue?4b81","webpack:///./src/components/ActionBubble.vue?0d1e","webpack:///./src/components/ActionBubble.vue?a5e3","webpack:///./src/components/tableWithActions/TableActionButton2.vue?65bb"],"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","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","usePersistentStore","defineStore","state","locale","timezones","currencyCodes","measurements","deviceBaseModels","internalCurrentUser","notifications","internalTenant","internalDevices","locations","shifts","targets","userTargets","kpiGroups","eventModules","eventCodes","actions","setLocale","this","setTimezones","setCurrencyCodes","setMeasurements","setDeviceBaseModels","setCurrentUser","currentUser","setNotifications","setTenant","tenant","setDevices","devices","addDevice","device","concat","_toConsumableArray","setLocations","setShifts","addShift","deleteShift","id","filter","deleteUserTarget","item","setTargets","setUserTargets","setKpiGroups","setEventModules","setEventCodes","resetState","$reset","getters","isNil","User","GetCopy","map","Device","Tenant","kpis","flatMap","group","alertKpis","getAlertKpiByMetric","_this","metric","find","kpi","persist","GanttChartGenerator","_ChartGenerator","procedure","tenantIdDh","_classCallCheck","_callSuper","_defineProperty","params","api","categoryIndex","start","coord","end","height","size","transition","shape","graphic","clipRectByRect","x","y","width","coordSys","style","_inherits","_createClass","selectedDevices","selectedShifts","timeSpan","devicesService","store","cutDevicesIds","metricsService","getDevicesMetrics","deviceIds","controller","_this2","allDevices","resultDeviceIds","Set","deviceid","indexOf","deviceId","seriesData","_loop","index","_step","entryList","sort","a","b","start_timestamp","end_timestamp","mergedEntries","_iterator","_createForOfIteratorHelper","done","entry","last","pop","newEntry","_objectSpread","duration","f","itemStyle","color","getStateColour","tooltip","confine","formatter","startTime","moment","endTime","dateStr","format","formatDuration","marker","dataZoom","filterMode","showDataShadow","bottom","labelFormatter","grid","top","containLabel","right","left","xAxis","yAxis","dev","legend","show","series","values","CutOrTubesDeviceGanttStatus","renderItem","opacity","encode","animation","i18n","toString","isEmpty","mockGanttData","ChartGenerator","localStorageService","removeVuex","Vue","use","PiniaVuePlugin","pinia","createPinia","piniaPluginPersistedstate","useRootStore","spinners","termsAcceptedSession","userInfoLoaded","customers","showSpinner","removeSpinner","setTermsAcceptedSession","setUserInfoLoaded","setCustomers","WidgetType","AggregateEnum","Customer","no","DetailedViewEnum","WidgetEnum","findWidgetType","widget","CameraView","SalesMap","QuotesMap","QuotesConvertedMap","Map","CareHealthIndicators","CareOverviewDevice","CareOverviewHealthIndicators","CareOverviewModuleEventsIndicators","BendingPerformance","CareAlertOccurrencesTable","QuotesFigures","SalesFigures","BusinessOverviewFigures","ManufacturingFigures","QuotesFiguresDetailed","TechnologyOverviewSscFigures","BendStatus","CutStatus","TubeStatus","EventsTable","BendProductivityFigures","BendStatusOverview","BendShiftStatistics","BendRankingOfParts","Slot","LaserCurrentWorkload","LaserIntradayAvailabilityTable","EventsTableExpandedView","BendIntradayAvailabilityTable","TubeIntradayAvailabilityTable","Table","NumberOfBendsWidget","PeakHourlyBendingWidget","BendProductionOutputWidget","BendToolChangesWidget","KPI","Echarts","KPI_WIDGET_MIN_HEIGHT","Widget","isExpandableFn","arguments","DEFAULT_EXPANDABLE_FN","quickSearchMethod","subtract","modalConfiguration","fn","dblClickModalConfiguration","quickSearchModalConfiguration","defaultDatepickerInterval","datepickerEnabled","timeMenuEnabled","shiftMenuEnabled","axisSpanFilterEnabled","minHeight","_minHeight","isDeviceDependent","getWidgetMachineType","widgetType","_WidgetFactory$create","WidgetFactory","createOptions","isLineChart","machineType","MachineType","Undefined","FactoryOverview","includes","isEcharts","withMinHeight","yearToDateInterval","startOf","lineChartRetrocompatibilityMap","config","stackedColumns","LineChartMode","StackedColumns","NonStackedLines","stackedColumnParam","defaultValue","retrocompatibilityMap","widgets","_widgets","makeDeviceDependent","OverviewData","OverviewLaserWorkload","LaserAvailability","makeExpandableIf","wd","timeFilter","FilterTimeSpanEnum","Day","propsData","withTimeMenu","withShiftMenu","LaserProductivity","LaserOee","LaserStarveBlock","LaserOutputScrap","LaserCuttingTime","LaserAvailabilityHist","withParams","withDatepicker","withAxisSpanFilter","LaserProductivityHist","LaserOeeHist","LaserCuttingTimeHist","LaserStarveBlockHist","LaserOutputAndScrapTimeline","LaserOutputAndScrapTimelineChartMode","RawMaterialUtilization","BendingAvailability","BendingTimeBetweenBend","BendingTopParts","BendingPerformancePart","BendingAvailabilityHist","BendingTimeBetweenBendHist","BendingPerformancePartHist","BendingPerformanceHist","BendingNumberOfBendsTimeline","BendSheetPartsGanttTable","BendFlowSpeedStatesGanttTable","OverviewBendCurrentPlan","createKpiWidget","TubeAvailability","TubeProductivity","TubeOee","TubeStarveBlock","TubeOutputScrap","TubeCuttingTime","TubeAvailabilityHist","TubeProductivityHist","TubeOeeHist","TubeCuttingTimeHist","TubeStarveBlockHist","TubeOutputScrapHist","OpenSalesFunnel","QuotesAbcCustomers","makeExpandable","makeExpandableOnDblClick","mapParamsToProps","withQuickSearchFunction","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_data$map","_wd$timeFilter","startDate","endDate","tenantId","wrap","_context","prev","next","_slicedToArray","tenantsService","currentIdDh","AbortController","getSMBSMetricsBC","date","sent","customer","no_","abrupt","stop","_x","QuotesConvertedAmountTimeline","QuotesConversionRates","QuotesConversionRatesGauge","QuotesCustomerEvolution","QuotesSize","groupNumber","min","max","children","amountFilter","_amountFilter","_callee2","groupNumberValue","dateRangeString","ticks","_context2","QuotesSizeFilter","paramNumber","group_limit","tickValues","_x2","_x3","QuotesTopQuotedMaterialsTimeline","QuotesQuotedMaterialsList","numberOfMaterials","QuotesTopSalespeopleDetailed","topNumber","SalesCustomerGroups","SalesTopSalespeople","AmountVsNumberOfQuotesBySalesperson","SalesAmountBySalesperson","SalesItemChangesBySalesperson","NumberOfSalesBySalesperson","SalesPerSalespersonTimeline","SalesFunnel","ratio","SalesTimeline","SalesUnpaidDistribution","belowTarget","ManufacturingPOStatus","ManufacturingFinishedPOEstimatedVsActualPOL","ManufacturingReleasedPOStatus","ManufacturingPOLStatusDueDate","daysPerInterval","DEFAULT_DAYS_PER_INTERVAL","ManufacturingPOFinishedDueDate","TechnologyOverviewCuttingHoursTimeline","TechnologyOverviewLaserConsumptionTimeline","TechnologyOverviewDrawerCycleTimes","TechnologyTemperatures","aggregate","CareErrorsAndWarningsBarChart","TechnologyDrawerInformationTimeline","Q95","TechnologyDrawerCycleTimes","TechnologyLaserConsumptionTimeline","TechnologyLaserUsedVsNotUsedTimes","TechnologyLaserPowerUtilizationTimes","TechnologyDriveCurrentTimeline","TechnologyDriveCurrentDifferenceHistogram","TechnologyDriveAccumulatedCurrentDifferenceTimeline","CareHealthTimeline","CareEventsTimeline","timestamp","Array","isArray","CareEventsByModule","CareCuttingHeadDiodesAndDrawerCyclesTimeline","CareCuttingHeadEventsTimeline","CareCuttingHeadTemperatures","CareLaserConsumptionTimeline","CareLaserConsumptionAvailableVsUsedTimeline","CareLaserConsumptionPowerUtilizationTimeline","Dummy","ToastService","messageKey","messageParameters","translatingToast","Toast","open","toastService","getTrendDataFromPieWidgetData","currentValue","getTotalAmount","previousValue","chartType","valueField","dataEntry","reduce","total","generatePalette","cssBaseColor","numberOfColors","createPaletteByLightness","reverse","UsersService","_class","_usePersistentStore$c","NullUser","user","_get","axios","BaseUrl","response","deserializeUser","_emailExists","email","emailExists","_delete2","_callee3","_context3","delete","_update","_callee4","authorizedConsoles","consoles","activationDates","_context4","ConsoleEnum","WCC","enabled","parseActivationDatesForUpdate","put","customDashboardsConfiguration","dashboards","serializeDashboards","_user$isAcceptedTerms","_user$isAutoplay","_user$autoplayPeriod","_user$dashboards","current","equals","update","isAcceptedTermsOfAgreement","isAutoplay","autoplayPeriod","_x4","_updateDashboards","_callee5","_context5","updateDashboards","post","wccActivationDate","parseNullableDate","wccEndDate","bcActivationDate","bcEndDate","sfcActivationDate","sfcEndDate","_me","_callee6","_context6","me","_acceptTermsAndConditions","_callee7","rememberDecision","errorMessage","_args7","_context7","acceptTermsAndConditions","usersService","notifyTerms","_notifyTerms","_callee8","_context8","_getTermsAndConditionsHtmlContent","_callee9","lang","url","nonAuthorizationAxios","_context9","getTermsAndConditionsHtmlContentUrl","getTermsAndConditionsHtmlContent","_x5","_getTermsAndConditionsHtmlContentUrl","_callee10","_context10","_x6","_getTermsAndConditionsUrl","_callee11","_context11","customDownloadFileName","getTermsAndConditionsUrl","_x7","_changePassword","_callee12","password","_context12","changePassword","_x8","_x9","_x10","_toggleBeta","_callee14","_this3","_context14","_callee13","_context13","isBetaEnabled","toggleBeta","userData","_this$parseNullableDa","_this$parseNullableDa2","_this$parseNullableDa3","_this$parseNullableDa4","_this$parseNullableDa5","_this$parseNullableDa6","_userData$consoles","_userData$locations","customerId","subsidiaryId","authenticationType","deserializeDashboards","timestampAcceptedTermsOfAgreement","billable","userType","otherMemberships","hasAccessToBeta","betaFeatures","utcOffset","toDate","_this4","BC","SFC","curr","assign","render","_vm","_c","_self","_setupProxy","staticClass","showMobileVersion","_t","class","displayMode","staticRenderFns","TableColumnActionsWrapper","_Vue","_len","args","_key","shouldShowMobileVersion","innerWidth","addAutoRemovedEventListener","updateMobileVersionSetting","__decorate","Prop","default","Component","components","TableActionsList","component","ResponseHandler","body","isoDateFormat","dateTimeOffsetFormat","_typeof","_i","_Object$keys","keys","test","Date","handleDates","responseHandler","AlertsService","kpiGroup","unit","alert","_create","_createMultiple","alertsDefinition","createMultiple","alertId","_getAlertKPIs","getAlertKPIs","equipmentId","subscribeAll","unsubscribeAll","_subscribeAll","selectedEquipmentIds","action","AlertAction","WebAndEmail","ids","_unsubscribeAll","alertsService","tooltipFormatter","dateGrouping","orderedByChartParams","paramsItemA","paramItemB","axisIndex","getTitleHtml","getSeriesValuesHtml","dateWithGroupingTitleGenerator","getReorderedColumnHeaders","getRowEntries","seriesNames","uniq","paramItem","seriesName","join","getChartIndices","chartIndex","chartParamItems","isDrawerCycleTimesChart","addFakeNoValueParamsItemIfFilteredMaxIsEnabled","getChartEntry","DRAWER_CYCLES_TIME_AXIS_INDEX","isFilteredMaxSeriesEnabled","fakeNoValueParamItem","filteredMaxIndex","getFilteredMaxIndex","some","indexWithFilteredMax","findIndex","paramsItem","axisIndexWithFilteredMax","getMarker","getChartName","getValueEntries","healthSeriesIndex","moveHealthParamItemToTheStart","_paramItem$value","highlightedClass","maximumFractionDigits","getUnitAndLevel","_paramItem$value2","levelMaximums","omit","level","getLevel","HealthTimelineGenerator","getUnit","eLevelMaximum","adjustedValue","levelIndex","levelMaximum","LOWER_PROTECTIVE_GLASS_AXIS_INDEX","UPPER_PROTECTIVE_GLASS_AXIS_INDEX","LENS_DRIVE_AXIS_INDEX","TEMPERATURES_AXIS_INDEX","seriesParam","Logger","warn","MISSING_DATA_VALUE","timeAxisSpan","dateFrom","dateTo","getSSCMetrics","parameters","isCategoryAxis","isCategoryXAxis","uniqueDates","getUniqueDates","dimensionsSpecification","chartsCount","bottomPadding","titleHeight","titleTopMargin","titleBottomMargin","chartsLeftPadding","chartsRightPadding","titles","iterable","_","getChartTitle","generateSeries","title","getDimensions","getSeriesColor","icon","selected","health","median","average","filteredMax","trigger","visualMap","generateVisualMap","getChartDataEntries","chartEntry","getNoDataAxisOptions","gridIndex","axisLabel","hideOverlap","abbreviateNumber","axisPointer","Math","timelineData","Number","MIN_VALUE","getYAxisName","nameTextStyle","padding","link","xAxisIndex","noDataSeriesOptions","yAxisIndex","getNoDataSeriesOptions","getChartDataObjects","_ref2","chartDataObject","generateChartSeries","chartName","chartData","getChartFields","chartField","generateSeriesData","connectNulls","lineStyle","getSeriesFieldName","fieldName","_seriesData$index","getKpiKey","entries","allDates","_dataEntry$timelineDa","dataItem","localeCompare","maxLength","getMaxChartDataLength","_chartData$timelineDa","_chartData$timelineDa2","_this5","seriesIndex","getHealthSeriesIndex","pieces","lt","LevelColor","A","gte","B","C","D","E","isNoDataSeries","seriesItem","symbolSize","spec","totalTitleHeight","allTitlesHeight","allChartsHeight","chartHeight","text","textStyle","fontSize","fontWeight","axisLine","splitLine","axisTick","translateUnit","showSymbol","label","cursor","emphasis","disabled","attrs","position","scopedSlots","_u","iconPack","_e","_v","_s","proxy","$t","allChecked","on","$event","change","ALL_SWITCH_INDEX","_l","itemIcons","itemIconPack","names","$emit","ClickMenu","isSwitchedOn","computed","methods","editMode","layout","tabletRowsCount","slot","column","row","getSlotTabletRowClasses","isThereWidgetInSlot","LayoutGrid","refreshWidgets","slotsWithWidget","widgetIndices","$slots","slots","_ref3","_ref4","replace","startRow","getSlotStartRowOnTablet","adjustedIndex","getNumberOfEmptySlotsBeforeIndex","Provide","required","_g","resolvedWidgetDefinition","selfManagedFilters","threeDotsInnerPosition","widgetHelpPosition","autorefresh","isWidgetSelector","customerNo","onWidgetDefinitionChanged","hasManyDefinitions","leftIcon","leftIconPack","rightIcon","rightIconPack","onSwitchImage","props","listeners","domProps","onClick","getLeftIconPack","getRightIconPack","IconSwitch","initialPosition","checked","hasWidgetCard","widgetDefinition","paramValues","loading","isFetchingForTheFirstTime","downloadData","onExpand","onParamUpdated","onQuickSearchSelect","slotWidgetComponent","dataRetriever","ref","getData","onExpandOnDblClick","tableWidgetComponent","safeTableData","refreshTableData","tableListeners","kpiWidgetComponent","dynamicModalSettings","_b","shiftsChanged","newShifts","oldShifts","areArraysEqual","timeFilterChanged","newFilter","oldFilter","devicesChanged","newDevices","oldDevices","axisSpanChanged","newAxis","oldAxis","paramValuesChanged","newParamValues","oldParamValues","filterChanged","newValue","oldValue","axisSpan","downloadCsv","fileName","csvData","jsonToCsv","URL","createObjectURL","Blob","downloadUrl","showTitle","widgetTitle","showInfo","hasExpandButton","hasDatepicker","datepickerDates","onChangeDatepicker","model","callback","$$v","expression","toggleDatepicker","hasTimeMenu","onChangeTimespan","hasShiftMenu","onChangeShift","showThreeDots","hasTarget","hasDownload","hasAxisSpanFilter","hasAggregates","getTargets","targetsMetric","aggregates","quickSearchFunction","onChangeTarget","onChangeTimeAxisSpan","onChangeAggregates","hasTagSection","selectedTimespanTranslated","shiftId","getShiftName","subtitle","showBigLoader","showSmallLoader","beta","WidgetCard","payload","dates","getTimezoneOffset","getCopy","arrayToNumber","bDatepicker","toggle","_this$getUserTarget","_this$getUserTarget2","_this$getUserTarget3","monthlyPaid","getUserTarget","TargetsMetric","SalesFunnelMonthlyPaid","target1","r3","SalesFunnelR3","r4","SalesFunnelR4","targetMetric","userTargetsService","getSalesTimelineTargets","nTargets","getMetricNumberOfTargetValues","defaultTarget","userTarget","target2","getDefaultTarget","canExpand","None","widgetsWithLabels","_this$widgetDefinitio","FilterTimeAxisSpanEnum","numberToArray","getWidgetTargetMetric","translateFilterTimeSpanEnum","widgetString","shiftsService","getNameById","hasQuickSearch","hasParams","_this$devices$find$na","_this$devices$find","isSlot","Boolean","Ref","TimeSpanFilter","ShiftFilter","ThreeDotsOptions","NewFeatureBadge","markers","coordinates","radius","noData","MapWidget","_mounted","mapObject","attributionControl","remove","observer","ResizeObserver","onMapResize","observe","$el","mounted","$buefy","container","wrapper","_marker$color","_marker$radius","_a$zIndexOffset","_b$zIndexOffset","zIndexOffset","scrollWheelZoom","enable","dragging","addControl","zoomControl","doubleClickZoom","t0","NoDataException","disable","$nextTick","fitBounds","finish","close","bounds","northLatitude","southLatitude","westLongitude","eastLongitude","isFirstResize","invalidateSize","unobserve","LMap","LTooltip","LTileLayer","LCircleMarker","LControl","SingleWidgetContainer","initializeParamValuesIfDefined","handle","setInterval","createDataRetriever","customerIdDh","_this$dataRetriever","clearInterval","abort","_this$dataRetriever2","_getData","_this$dataRetriever3","_this$dataRetriever4","_this$dataRetriever5","getMockData","_data","_this2$mapWidget","mapWidget","RequestCanceledError","hasWidgetDefinitionChanged","generateParamValuesWithDefaults","_this$widgetDefinitio2","paramName","paramInfo","forEach","_ref5","paramValue","$set","updateParamValue","onClose","_config$mapParamsToPr","_config$mapParamsToPr2","getDblClickModalConfiguration","openDynamicModal","fromEntries","prop","selection","_this6","canExpandOnQuickSearch","getQuickSearchModalConfiguration","_i18n$t","_this7","getModalConfiguration","_refreshTableData","_this$data","isTechnologyUser","technologyTenantIdDh","isServiceUserType","supportTenantIdDh","customersService","_this$widgetDefinitio3","listenersWithPrefix","InjectReactive","from","Watch","WidgetHelp","Chart","AsyncComponentLoader","delay","WidgetContainer","_this$$grid","$grid","_this$$grid2","leftWasUpdated","updatedCompositeWidgetDefinition","clone","isRightOptionSelected","showFirstWidget","resetPreviousWidgetParamValues","isComposite","widgetEntry","$listeners","eventName","Inject","matchesMetric","searchText","matchIgnoringCase","translateKpi","matchesOperator","translateOperator","operator","matchesDateGrouping","translateDateGrouping","matchesThreshold","getAlertMetricUnit","threshold","matchesVariable","translateVariable","variable","matchesEventSource","_alert$eventSources$s","_alert$eventSources","eventSources","source","matchesEventCode","_alert$eventCodes$som","_alert$eventCodes","AlertOperator","tc","translateWorkflowStatus","workflowStatus","formatWithUnit","decimalFormatter","alertMetricSorter","isAscending","aText","alertOccurrence","bText","currency","_getSymbolFromCurrenc","mastersService","getCurrencyCodes","cur","_tenantsService$store","currencyCode","getSymbolFromCurrency","_tenantsService$store2","webpackContext","req","webpackContextResolve","expanded","dimmer","expandable","ControlledSidebar","isOpenNow","wasOpen","ImportantMessageLevel","MessageType","BendFlowSpeedStatus","BendProductionModeStatus","BendProductivityFiguresName","BendStateOverview","POStatus","ReleasedPOStatus","POLStatus","Category","DeviceModelType","UserAuthenticationType","MembershipType","tenantName","subsidiaryName","UserType","otherUser","GlobalAdmin","CustomerAdmin","CustomerUser","SubsidiaryAdmin","ServiceGlobal","ServiceUser","isServiceGlobal","isServiceUser","TechnologyUser","JSON","stringify","dashboard","availableDashboardLayouts","widgetDefinitions","serialize","feature","Local","empty","Microsoft","original","_original$dashboards","DashboardDefinition","parse","dashboardDefinition","deserializeDashboard","defaultDashboard","_dashboardDefinition$","deserializeWidgetDefinition","getDefaultDashboardLayout","DashboardLayout","OneByOne","OneByTwo","TwoByTwo","TwoByThree","freeze","CompositeWidgetEntry","CompositeWidgetDefinition","copyParams","safeObject","isObject","omitBy","predicate","filteredEntries","maxBy","array","iteratee","maxItem","maxValue","Infinity","getFieldPathValue","fieldPath","_fieldPath$toString$s","split","_fieldPath$toString$s2","field","subfield","loadScript","async","uniqueIdCounter","uniqueId","valueOrDefault","eventType","listener","addEventListener","$once","removeEventListener","indexedWidgetDefinitions","withIndex","click","revokeObjectURL","downloadTermsAndConditionsPdf","_downloadTermsAndConditionsPdf","currentLocale","isVueComponent","_isVue","onUpdate","isValid","validationMessage","sendUpdate","GenericParam","letter","toLowerCase","NumberParam","_GenericParam","_this$paramValue","lastValue","isGreaterThanMax","isLessThanMin","max_value","min_value","RadioParam","optionValue","nativeOn","getName","ListParam","rangeIndexes","minTickIndex","maxTickIndex","formatNumber","SliderParam","_this$paramInfo$defau","tickIndex","tickIndexToValue","newParams","oldParams","isFullRangeSelected","maxIndex","minIndex","ThreeDotParamEntry","_this2$widgetDefiniti","_step$value","paramConfig","getChildrenParamConfigurations","childrenParamConfigs","delegateYield","t1","_onUpdate","param","_getChildrenParamConfigurations","parentParamValue","_Object$entries","_Object$entries$_i","childName","childParamConfig","_this$params","paramDropdown","TOTAL_ROWS","TOTAL_COLUMNS","array1","array2","every","lastIndex","listToCommaSeparatedString","list","count","fill","dataLength","isCategoryAxisDateGrouping","Week","Quarter","getDateTooltipLabel","datetime","substring","lengthOfLabel","Hour","Month","Year","getTooltipTitle","axisValue","POLStatusDueDateGenerator","_params$daysPerInterv","getSMBSMetricsSFC","mockPOLStatusDueDateData","extraCssText","valueFormatter","rotate","getXAxisRangeLabels","removeDuplicates","generateRangeLabel","range_start","range_end","status","estimated_time_hours","getStatuses","getStatusTranslationKey","stack","getStatusSeriesData","poStatusToColor","statusesFromData","getAllStatusesSorted","normalizeStatus","replaceAll","INTRADAY_GANTT_STATUSES","mockFactoryOverviewData","availability","random","productivity","timestamp_utc","floor","mockCutStatusData","LaserHealth","RunningHoursTotal","peak_pwr","avg_pwr","last_state","mockTubeStatusData","mockBendStatusData","parts_produced","kg_produced","running_hours","ganttData","laserDevices","startsWith","ganttFirstTimestamp","unix","ganttLastTimestamp","stateFirstTimestamp","stateLastTimestamp","deviceStateData","randomPartition","parts","randoms","mockLaserAvailabilityData","work","wait","idle","offline","isprimary","mockLaserStarveBlockData","starve","block","mockBendingAvailabilityData","bend","program","setup","warning","mockLaserProductivityData","rest","mockLaserOeeData","oee","mockLaserCuttingTimeData","cutting_time","mockLaserOutputScrapData","output","scrap","group_name","mockLaserAvailabilityHistData","mockLaserProductivityHistData","mockLaserOeeHistData","performance","mockLaserCuttingTimeHistData","unknown","channel0","channel1","channel2","mockLaserStarveBlockHistData","mockBendingPerformancePartData","simple","medium","complex","mockBendingAvailabilityHistData","mockBendingTimeBetweenBendHistData","mockBendingPerformancePartHistData","mockBendingPerformanceHistData","tool_changes","part_types","mockBendingNumberOfBendsTimelineData","bends","mockLaserOutputScrapHistData","mockBendingTimeBetweenBendData","category_name","time_between_bend","mockBendingTopPartsData","PartName","PartCount","mockSMBSMapData","bill_to_customer_no_","n_transactions","amount","converted_amount","latitude","longitude","dirty","mockOpenSalesFunnelData","open_quotes","quotes","open_sold","sold","open_invoiced","invoiced","mockQuotesFiguresData","nQuotes","nAccepted","nRejected","nCustomersPerGroup","nCustomers","newCustomers","avgConversionTime","avgAmount","avgConvertedAmount","mockSalesFiguresData","nSalesOrders","to_be_paid_amount","overdue_invoices_amount","maxAmount","invoiced_amount","mockBusinessOverviewFiguresData","open_orders","open_invoices","quotes_amount","quotes_converted_amount","orders_amount","overdue_invoices","mockManufacturingFiguresData","total_estimated_hours","total_executed_hours","ratio_est_actual","scrap_ratio","estimated_capacity","actual_capacity","mockQuotesAbcCustomersData","n_quotes","n_accepted","category","conversion_rate","new_customer","overdue","mockQuotesConvertedAmountTimelineData","mockSalesTimelineData","sold_amount","mockQuotesConversionRatesData","amount_conv_rate","quotes_conv_rate","mockQuotesCustomerEvolutionData","mockQuotesSizeData","bin_start","bin_end","not_open_quotes","divisor","mockQuotesMaterialsData","mat_group","weight","converted_weight","mockQuotesMaterialsListData","mockSalesCustomerGroupsData","sales","quotes_converted","quotes_not_converted","sales_invoiced","sales_not_invoiced","invoices_paid","invoices_not_paid","payments_pending","invoices_expired","category_sales","category_invoice","category_paid","mockTopSalespeopleData","Salesperson","total_sales","total_converted","total_invoice","amount_conversion","quotes_conversion","sales_item_changes","number_of_sales","mockSalesPerSalespersonTimelineData","salesperson","mockSalesFunnelData","paid","paid_target","invoiced_target","sold_target","quotes_converted_target","quotes_target","mockSalesUnpaidDistributionData","freq_not_invoiced","freq_not_paid_expired","freq_not_paid_not_expired","expired_days","mockManufacturingPOStatusData","Finished","routing","material","thickness","estimated_time","nPOs","nPOLs","FirmPlanned","Planned","Released","mockManufacturingReleasedPOStatus","InProgress","InShopFloor","Prepared","Produced","mockPOFinishedDueDateData","InProgressDone","InProgressRemaining","mockFinishedPOEstimatedVsActualPOLData","executed_time_hours","capacity","mockBendShiftStatisticsData","_mockBendShiftStatisticsData","selectedDeviceIds","selectedShiftIds","shiftModels","timeInSeconds","speedFlowWithoutProcessing","calculatePercent","bendDevices","shiftModelsService","getAllByDeviceIds","getMatchingIds","getMaxSecondsByTimeFilter","flowSpeed","Processing","dataEntries","productionModeSeconds","speedFlowSeconds","totalSpeedFlow","acc","totalProductionMode","deviceName","getDeviceNameByDeviceId","toolChanges","weightHandled","bendsHour","highFlow","lowFlow","noFlow","highFlowPercent","lowFlowPercent","noFlowPercent","automatic","semiAutomatic","nonProductive","automaticPercent","semiAutomaticPercent","nonProductivePercent","shiftModel","sm","sh","shiftName","shiftModelName","deviceStatistics","mockRandomDataEntry","partName","materialName","totalBends","flowPercent","mockBendRankingOfPartsData","_mockBendRankingOfPartsData","findByStringId","bestFlowData","worstFlowData","Routes","localeService","translateFilterTimeAxisSpanEnum","UserTargetsService","getAll","_setAll","setAll","_setAllTargets","setAllTargets","consoleTargets","getConsoleTargetMetrics","getAllTargets","consoleId","_this$getAllTargets$f","_this$getAllTargets$f2","_clear","clear","userTargetId","_getForTenant","baseUrl","getForTenant","_delete3","exists","_getTargets","getTotalStatusDuration","dateRange","statusFilteredData","inSeconds","getTime","sum","nonSplitIntervalSeconds","startTimestamp","endTimestamp","startSplit","endSplit","lengthInSeconds","getDefaultZoomValues","endMoment","utc","seconds","minutes","add","startMoment","getTotalMinutes","defaultZoom","diff","isDate","isNaN","yearToDate","today","set","hour","minute","second","millisecond","shouldMomentIgnoreCachedTimeZoneGuess","userTimeZone","tz","guess","timeSpanToStartOfUnitOfTime","unitOfTime","timeSpanToUnitOfTime","dateRangeToDateStrings","transform","dateToShortISOString","formatDateWithTime","formatDateWithTimeOnCustomerTimeZone","currentCustomer","timeZone","groupByDate","groupingFunction","dateField","groupValues","dateGroupingKey","lastDayOfNextMonth","endOf","getFullYear","getMonth","getDate","durationSeconds","months","convertSecondsToMonthsDaysHours","days","convertSecondsToDaysHoursMinutes","hours","SECONDS_IN_A_DAY","formatTimeAgo","now","thisMoment","COMPACT_MODE","LocalStorageService","localStorage","setItem","getItem","removeItem","getBoolean","hidden","shouldUseMenu","pack","stopPropagation","TableActionButton","pagedEvents","results","page","total_results","rowsPerPage","defaultSortField","defaultSortOrder","onPageChanged","onSort","onExpandClicked","addDataTestIdAttributeToTh","eventData","formatTimestamp","messageLevel","isGroupingByDate","occurrences","messageModule","messageSource","_ref6","errorCode","_ref7","description","_ref8","formatFirstLastTimestamp","firstEventTimestamp","_ref9","lastEventTimestamp","emptyPaged","total_pages","SortOrder","Descending","sortField","sortOrder","_onPageChanged","modal","parent","hasModalCard","trapFocus","canCancel","selectedTimeFilter","eventTypes","isoDate","emitWorkaroundEvent","_this$$slots$default","_slot$componentOption","componentOptions","unhiddenSlots","hasMultipleActions","ProvideReactive","AlertMetric","AlertValueType","DateTimeGranularity","eventsTableWidgetDefinition","isSideBarEnabled","selectedEvent","onSidebarClose","dateTimeRangePickerGranularity","dateRangeSelection","selectedDateGrouping","selectedEventModules","selectedEventTypes","selectedEventCodes","clickable","canCloseRangeDropdown","onDropdownOpenStatusChanged","formattedValue","handleSubmit","invalid","validationRules","startDateTime","errors","touched","componentId","granularityCSSClasses","enableSeconds","hasSeconds","resetValidation","onDateTimePickerDropdownOpenStatusChanged","endDateTime","preventDefault","onAcceptClicked","MINUTES_FIELD_SELECTOR","DateTimeRangePicker","start_before_end","end_after_start","_this$value$","_this$value","_this$value$2","_this$value2","updateMinutesFieldDisabledStatus","startDateTimePicker","endDateTimePicker","dateTimePickerComponent","selectElement","querySelector","hasMinutes","removeAttribute","formatDateTime","formatOptions","year","month","day","Intl","DateTimeFormat","dropdown","isOpen","updateStartAndEndFields","validationObserver","reset","hasTime","hasCalendar","HOURS","SECONDS","DAYS","MONTHS","granularity","immediate","ValidationObserver","ValidationProvider","extend","validate","isBefore","isAfter","formatDate","cause","solution","hasDecisionTree","decisionTreeId","onManualDecisionTreeUpdate","DECISION_TREE_MARKER","EventDetails","getDecisionTreeId","parseInt","$refs","matches","match","getDateRangeSelection","getSelectedEventModules","getSelectedEventTypes","getSelectedEventCodes","$route","WidgetDefinition","hideTitle","hideInfo","isOpenedFromChartDoubleClick","parseTimestampProp","_this$widgetDefinitio4","_this$widgetDefinitio5","_this$widgetDefinitio6","defaultDateRange","toISOString","momentDate","timestampStringToMoment","ts","isQuarterDate","timestampString","Care","Technology","EventModuleFilter","EventTypeFilter","EventCodesFilter","DateGroupingFilter","bubble","bubbleType","TableActionButton2","ActionBubble","CustomerFilter","QuotesAbcCustomersGenerator","_parameters$customerF","getCustomerFilter","customerFilter","All","mappedData","path","getColor","leafDepth","breadcrumb","borderColor","levels","borderWidth","gapWidth","colorSaturation","borderColorSaturation","New","BestRates","WorstRates","Overdue","_availableDashboardLa","BCOverviewLike","InvertedBCOverviewLike","TwoByOne","TwoByThreeMergeTopRight","TwoByThreeMergeTopLeft","TwoByThreeMergeBottomRight","TwoByThreeMergeRight","TwoByThreeMergeLeft","TwoByThreeAlternatingDoubleSingle","definition","PieChartGenerator","hex","alpha","primaryPosition","findPrimaryPosition","secondaryPosition","findSecondaryPosition","greenTransparent","setOpacity","Color","Green","redTransparent","PinkRed","currentProd","previousProd","dpr","devicePixelRatio","fontSizePerc","currentSeriesOuterRadius","previousSeriesOuterRadius","markPoint","Black","avoidLabelOverlap","labelLayout","align","moveOverlap","labelLine","length2","minMargin","arrowSymbol","abs","positions","pos","GaugeChartGenerator","fontSizeInner","fontSizeDetail","fontSizeTitle","gaugeWidth","offsetCenterDprY1","offsetCenterDprY2","currentData","valueName","previousData","clientWidth","clientHeight","hideInIpad","navigator","userAgent","innerHeight","splitNumber","anchor","pointer","progress","overlap","roundCap","dashOffset","distance","offsetCenter","detail","borderRadius","GroupedBarChartGenerator","_parameters$xAxisName","yAxisTitles","primaryValues","secondaryValues","dataset","groupName","groupKey","has","valueKey","primaryValuesArray","secondaryValuesArray","_primaryValues$get","_secondaryValues$get","isPrimaryOnly","metricName","verticalAlign","textBorderWidth","getLegend","html","yAxisLabelFormatter","axisValueLabel","selectedMode","boundaryGap","xAxisName","HorizontalBarChartGenerator","_filteredParams$","filteredParams","axisDim","tooltipHtml","generateLegend","getYaxis","getSeries","borderType","shadowColor","curveness","symbol","existsPrimary","serie","currentPrevTranslation","legendTitles","element","AXIS_DIMENSION_Y","AxisPointerLabelFormatter","roundValues","LabelParamsHelper","isYAxis","getValue","formatXAxisLabel","getTimeSeriesAxisLabel","axisDimension","_this$params$seriesDa","LineChartGenerator","targetIndex","markLine","markArea","MAX_SAFE_INTEGER","_parameters$dateKey","_parameters$roundValu","_parameters$paramValu","_parameters$paramValu2","_parameters$yAxisName","_parameters$yAxisName2","_parameters$yAxisName3","dateKey","lineChartMode","averageMark","markPointData","Aggregate","Max","Min","channel3","gasName","getSeriesData","focus","backgroundColor","TooltipFormatter","build","withSeriesTranslationPrefix","realtime","yAxisName","dataArray","OutputScrapChartGenerator","currentOutputs","currentOutputsList","currentScraps","currentScrapsList","previousOutputs","previousOutputsList","previousScraps","previousScrapsList","materialGroups","unitTransform","getUnitTransform","convertToLbs","materialGroupsList","withTextOnMissingValue","FactoryOverviewGenerator","_parameters$clientWid","_parameters$clientHei","deviceNames","activeDevs","filteredActiveDevsInData","_params$data$state","timeMsg","lastTs","_deviceNames$get","_deviceNames$get2","nameA","nameB","getValueColour","Orange","Red","CumulativeLinesGenerator","_parameters$deviceTyp","deviceType","Cut","activeDevices","getType","filteredActiveDevices","lines","el","line","cut_time","fontFamily","cumTime","toUpperCase","DummyChartGenerator","good","round","bad","BusinessLineChartGenerator","axisTimespan","targetAmount","getSoldAmountTarget","areaStyle","timeSpanFactor","getTimeSpanFactor","_targets","monthlyPaidTarget","r3Target","r4Target","QuotesConversionRatesGenerator","reversedData","tooltipMarkdown","TopQuotedMaterialsTimelineGenerator","xAxisData","matKey","materials","weightUnit","formatName","convWeightData","nonConvWeightData","charAt","NON_CONVERTED_COLOR","CONVERTED_COLOR","QuotesCustomerEvolutionGenerator","uniqueCustomers","_params$seriesId$spli","seriesId","_params$seriesId$spli2","dataType","isConverted","dataPoint","point","customerDataItems","mappedObjects","SalesCustomerGroupsGenerator","categories","_params$data","_params$data2","_path$split","_path$split2","DEFAULT_TOP_NUMBER","SalesTopBySalesGenerator","kpiName","gridHeight","tooltipData","interval","ceil","showXAxisLabels","margin","inverse","z","SalesFunnelGenerator","_params$ratio","basedOnHistoricalData","datum","noTarget","targetIsNull","currentIsZero","currentZIndex","targetData","targetZIndex","expectedTooltip","getExpectedValue","currentTooltip","getCurrentValue","isTargetAbove","CuttingTimePerGasGenerator","gas_type","LaserTodaysGas","TubesCuttingTimePerGas","barSeries","showContent","center","CutStatesIntradayGenerator","onlyLegend","omittedStates","textAlign","states","elements","font","SalesUnpaidDistributionGenerator","_userTargetsService$s","_userTargetsService$s2","_params$belowTarget","bin","dataIndex","res","numberWithCurrency","barWidth","dataName","OpenSalesFunnelGenerator","getStartDateOrUndefined","getEndDateOrUndefined","noTotal","totalIsNull","openIsZero","openData","totalData","getOpenValue","getTotalValue","STATUS_LEVEL","POTreemapGenerator","_this$recursion$child","dimensionSpecifier","info","levelText","treeAncestors","recursion","distinctValue","dimension","distinctValues","distinctValueEntry","obj","rich","budget","lineHeight","household","hr","QuotesSizeGenerator","startAmountIndex","endAmountIndex","_this$getLimits","getLimits","_this$getLimits2","startAmount","endAmount","divisors","CUTTING_HEAD_VERSION_CHANGE_SYMBOL","FIELD_MARKING_HEAD_VERSION_CHANGE","HEAD_VERSION_CHANGE_MARK_VALUE","doesAllDataComeFromNewerCuttingHeadSoftware","historyVersions","cuttingHeadSoftwareVersion","versionIsGreaterThanOrEqualTo","cuttingHeadDataHasCategoryAxis","bucket","doesAnyDataComeFromNewerCuttingHeadSoftware","getChartTitleTooltipHtml","translationKey","isHeadVersionChangeTooltipParamItem","seriesType","getHeadVersionChangeDataHtml","cuttingHeadVersionChangeData","cuttingHeadType","cuttingHeadSerialNumber","cuttingHeadBaseProductNumber","cuttingHeadVersionChangesCount","cuttingHeadTypeChangesCount","equipmentNumberChangesCount","getHeadVersionChangeSeriesData","absoluteTemperatureChartHtml","temperatureDifferenceChartHtml","cuttingHeadVersionChangeHtml","isAbsoluteTemperatureTooltipParamItem","getNumericValueTooltipHtml","isTemperatureDifferenceTooltipParamItem","_seriesParam$value","getValueTooltipHtml","DIFFERENCE_SERIES_SUFFIX","ABSOLUTE_TEMPERATURE_X_AXIS_INDEX","TEMPERATURE_DIFFERENCE_X_AXIS_INDEX","HEAD_VERSION_CHANGES_Y_AXIS_INDEX","ABSOLUTE_TEMPERATURE_Y_AXIS_INDEX","TEMPERATURE_DIFFERENCE_Y_AXIS_INDEX","TemperaturesChartGenerator","versionInformation","scale","isHeadVersionChangeField","symbolOffset","getChartType","getSeriesName","getXAxisIndex","getYAxisIndex","isAbsoluteTemperatureField","normalizedFieldName","endsWith","LOWER_DRAWER_CHART_INDEX","REMOVED_SECONDS_SERIES","PD_SERIES","POWER_AMPLITUDE_SERIES","UPPER_DRAWER_CHART_INDEX","deviceKey","getSeriesParam","getSeriesUnit","addCycles","removedTimesField","getRemovedTimesField","cycles","DrawerInformationTimelineGenerator","_parameters$removedSe","_parameters$pdSelecte","_parameters$powerAmpl","showRemovedSeconds","removedSecondsSelected","showPD","pdSelected","showPowerAmplitude","powerAmplitudeSelected","LOWER_DRAWER_X_AXIS_INDEX","UPPER_DRAWER_X_AXIS_INDEX","TOTAL_CHARTS","LAST_CHART_INDEX","REMOVED_COLOR","PD_COLOR","offset","POWER_AMPLITUDE_COLOR","flat","media","query","maxWidth","option","powerAmplitudeData","LOWER_DRAWER_Y_AXIS_REMOVED_INDEX","LOWER_DRAWER_Y_AXIS_PD_INDEX","LOWER_DRAWER_Y_AXIS_POWER_AMPLITUDE_INDEX","UPPER_DRAWER_Y_AXIS_REMOVED_INDEX","UPPER_DRAWER_Y_AXIS_PD_INDEX","UPPER_DRAWER_Y_AXIS_POWER_AMPLITUDE_INDEX","Purple","Blue","DrawerCycleTimesTooltipFormatter","isCuttingSeries","getCyclesText","getValueHtml","seriesCycleFieldMap","cyclesField","DrawerCycleTimesGenerator","chartDimensions","subtext","subtextStyle","drawer","averageField","currentField","formattedTime","LaserUsedVSNotUsedTimesGenerator","totalHours","totalTimeHours","formatPercentage","cuttingHours","LaserPowerUtilizationTimesGenerator","legendFormatter","translateSeriesName","dataItem1","dataItem2","kPower","powerLevelColors","normalizedName","seriesNumber","driveCurrentChartHtml","tempCapacitiveChartHtml","diffDriveCurrentChartHtml","isDriveCurrentTooltipParamItem","isTemperatureCapacitiveTooltipParamItem","isDriveCurrentDifferenceTooltipParamItem","DriveCurrentTimelineGenerator","interruptIfV4","currentDifferenceData","headVersionChangeSeriesData","DriveCurrentDifferenceHistogramGenerator","overflow","sortedData","k_diffs","getValues","getValueFrequencies","valueItem","counts","driveCurrentDifferenceHtml","DriveAccumulatedCurrentDifferenceTimelineGenerator","lineChartSeries","accumulated_diff","FinishedPOEstimatedVsActualPOLGenerator","mainSeries","getSeriesNames","barToColor","barGap","capacitySeries","isSeriesField","DrawerOverviewCycleTimesTooltipFormatter","cycleType","DrawerOverviewCycleTimesGenerator","getXAxisLabelFormatter","formattedHours","CuttingHoursTimelineGenerator","LaserConsumptionKxSeriesGeneratorHelper","axesIndex","getPowerLevels","powerLevel","LaserAccumulatedConsumptionKxSeriesGeneratorHelper","_LaserConsumptionKxSe","powerFilteredData","kPowerConsumptionKwh","LaserConsumptionOverviewTimelineGenerator","withSeriesNameGenerator","withSuffix","generate","QuotesAbcCustomersOverviewGenerator","_QuotesAbcCustomersGe","prevOptions","options","_superPropGet","_info$data$selection","formattedRatio","OTHERS_NAME","QuotedMaterialsListGenerator","_params$numberOfMater","reorderedMaterials","moveOthersItemToTheEnd","getMaterialNames","nonOthersItems","othersItem","getConvertedValues","getNonConvertedValues","materialEntry","MultiLineChartGenerator","_parameters$legendPar","_parameters$legendPar2","groups","yAxisUnit","xAxisValues","upperLineName","lowerLineName","byDateData","getDates","sourceValuesObject","currentItem","legendParams","onZero","getGroupData","_item$group$valueKey","_item$group","_item$group$valueKey2","_item$group2","outputPart","scrapPart","RawMaterialUtilizationTimelineGenerator","disabledMaterials","getDisabledMaterials","materialSeries","generateMaterialSeries","utilizationSeries","generateUtilizationSeries","getMaterialData","enabledMaterialsForDate","materialUtilizationSum","currentDataItem","calculateMaterialUtilization","percentage","utilizationSeriesName","_item$materialName$ou","_item$materialName","_item$materialName$sc","_item$materialName2","_item$materialName$ou2","_item$materialName3","_item$materialName$sc2","_item$materialName4","_parameters$legendPar3","_parameters$legendPar4","LaserOutputAndScrapTimelineGenerator","_params$mode","generator","getGeneratorForMode","updateOptions","POFinishedDueDateGenerator","AmountVsNumberOfQuotesBySalespeopleGenerator","getCachedTopSalespeopleData","getSalespeopleNames","SalesPerSalespersonTimelineGenerator","getCategoryDates","salesPersonName","salespersonIndex","generateSalespersonPerCategorySeries","salespersonName","salespersonColor","items","_matchingDataItem$amo","matchingDataItem","OTHERS_SALESPERSON","TopSalespeopleDetailGenerator","getSalespersonColor","sortedSalespeopleNames","getColorSortedSalespeopleNames","salespersonSortedIndex","sortedWithoutOthers","MAX_MODULES_COUNT","getBodyHtml","_params$0$value$","_params$0$value","tooltipEntries","isSeriesEnabledForType","_errorsItem$byModule","errorsItem","getDataItemByDateAndType","errorMarker","errorTooltipEntries","byModule","moduleItem","getNumericValueHtml","Warning","_warningsItem$byModul","warningsItem","warningMarker","warningTooltipEntries","_getTypeParam$marker","_getTypeParam","getTypeParam","totalEvents","valueString","Measurements","EventTypeByTimeGenerator","getEventTypeParameter","minInterval","eventTypeColors","EventColor","getTypeEventData","_data2","currentItemOverridesPrevious","currentItemOverridesNext","eventsCount","TOTAL_CONSUMPTION_SERIES_NAME","LaserConsumptionTimelineGenerator","last24h","getLegendFormatter","getTooltipFormatter","generateKxSeries","totalConsumptionKwh","powerValue","accumulatedPowerParam","translatedSeriesName","LaserInstantConsumptionKxSeriesGeneratorHelper","_powerFilteredData$in","LaserInstantConsumptionTimelineGenerator","_LaserConsumptionTime","AVAILABLE_SERIES_NAME","USED_SERIES_NAME","LaserAvailableVsUsedTimelineGenerator","seriesObject","_availableParam$value","_availableParam$value2","availableParam","getSeriesTooltipParam","usedParam","getPercentageValueTooltipHtml","_seriesParam$value$","_seriesParam$value$2","_seriesParam$value2","LaserAccumulatedConsumptionTimelineGenerator","EventTypeByModuleGenerator","selectedMessageTypes","getSelectedMessageTypes","getModuleNames","messageTypeColors","byModuleData","_warningsItem$count","_errorsItem$count","warnings","messageType","getLevelMessageCounts","HealthIndicatorsRetriever","_DataRetriever","DataRetriever","DiodesAndDrawerCyclesTimelineGenerator","mirrorPD","titleHtml","valueHtml","getSuffix","namesMap","lowerProtectiveGlassPD","topProtectiveGlassPD","getSeriesFieldNames","_namesMap$name","getAxisIndex","isDiodesChartField","isDrawerCyclesChartField","_dataItem$fieldName","_dataItem$fieldName2","_data$params$dataInde","removedTimesFieldName","removedTimes","BendPerformanceRetriever","selectedTimeSpan","AlertOccurrenceTableRetriever","getAlertOccurrences","CareDeviceOverviewRetriever","CareOverviewHealthIndicatorsRetriever","CareOverviewModuleEventsIndicatorsRetriever","TOTAL_POWER_LEVELS","LaserPowerUtilizationHistogramGenerator","powerLevels","_dataItem$hours","translateCategoryName","QuotesConversionRatesDetailedGenerator","pixelRatio","QuotesFiguresRetriever","_timeSpan","ManufacturingFiguresRetriever","TechnologyOverviewFiguresRetriever","BusinessFiguresRetriever","SalesFiguresRetriever","DeviceStatusRetriever","QuotesMapGenerator","_MapGenerator","generateMapSettings","minAmount","MIN_SAFE_INTEGER","amountDiff","maxRadius","extrapolateRadius","gradient","MapGenerator","CutCurrentWorkloadTableDataRetriever","getDevicesCurrentWorkload","PlanState","Started","Inactive","EventsTableRetriever","_params$page","_params$rowsPerPage","_params$sortField","_params$sortOrder","local","pageNumber","BendIntradayAvailabilityTableDataRetriever","getBendingDevicesMetrics","deviceStringIds","shiftIds","deviceEntry","productionModeData","endOfLastItem","chartEndTime","ganttItem","flowSpeedData","BendStatusOverviewChartGenerator","chart","ProductionMode","createSeries","productionMode","isPrevious","getBendStateColor","flowMode","getBendFlowSpeedColor","statesData","fade","hexa","PieChartKpiWidgetGenerator","mainColor","_unit","percent","abbreviateNumberWithUnit","getMaxValue","palette","deviceStringId","_this$_unit","NumberOfBendsWidgetGenerator","_PieChartKpiWidgetGen","BEND_SUMMARY_BASE_COLOR","PeakHourlyBendingWidgetGenerator","PEAKS_COUNT","currentPeriodBestPeaks","addFillerEntriesUpToPeaksCount","fillerEntries","FILLER_ENTRY_NAME","FILLER_BAR_COLOR","fillerBarsCount","dateTime","BendingToolChangesKpiWidgetGenerator","BendProductionOutputWidgetGenerator","BendShiftsStatisticsRetriever","calculateTotals","initialStatistics","deviceStatisticsTotals","adjustPercentages","fields","bendingFlowFields","totalBendingFlowPercent","productionModeFields","totalProductionModePercent","BendRankingOfPartsRetriever","CutOrTubesIntradayAvailabilityTableRetriever","getCutOrTubesIntradayAvailabilityData","tubeDevicesIds","CutStatesIntraday","IntradayOeeTime","CumulativeCuttingTime","CumulativeCuttingTimePerShift","BendProductivityFiguresChartGenerator","TubesCumulativeCuttingTime","TubesCumulativeCuttingTimePerShift","providers","createGenerator","createMapGenerator","_providers","provider","isDataRetriever","getCustomerMeasurementId","Imperial","Tube","LocaleService","_setCurrentLocale","setCurrentLocale","availableLocales","_setCurrentLocale2","localeChanged","language","TenantsService","_this$current","deserialize","_getRestricted","getRestricted","_getReportUsers","getReportUsers","_updateReport","customerReport","updateReport","_updateCutConfig","customerCutConfig","updateCutConfig","_getBillingInfo","excel","_response","responseType","getBillingInfo","_getById","getById","_getByIdDh","getByIdDh","_update2","isCurrentTenant","_x11","_getUsers","getUsers","_x12","_getBlobStorageSAS","getBlobStorageSAS","_x13","_this$store$current","_getEServiceCenterData","_callee15","_context15","getEServiceCenterData","measurement","getCustomerMeasurement","lengthUnit","_getAvailableMeasurem","customerMeasurementId","getAvailableMeasurements","getMeasurementUnits","_customersService$sto","_customersService$sto2","KILOGRAMS_TO_POUNDS_CONVERSION_FACTOR","kilogramsToCustomerUnit","valueKilograms","kilogramsToPounds","MILLIMETERS_TO_INCHES_CONVERSION_FACTOR","millimetersToInches","valueMillimeters","millimetersToCustomerUnit","enumeration","isNumeric","objectKeys","VueI18n","languages","messages","_langMessages$validat","underscoreLang","langMessages","require","validation","navigatorLanguage","navigatorCode","process","fallbackLocale","_process$env$VUE_APP_","MAX_USER_NAME_LENGTH","formatUserNames","users","truncateIfLong","oneWeekAgo","ShiftsService","relatedDevices","GetHubDeviceIdFromEntityDeviceId","shiftModelId","shiftItem","_add","_getByTenantId","getByTenantId","environment","isProductionEnvironment","_console","optionalParams","_console2","_len2","_key2","_console3","_len3","_key3","foreName","lastName","sapNumber","startAt","endAt","bystronicOrderNumber","bystronicOrderPerson","customerOrderNumber","customerOrderPerson","subsidiary","subsidiaryCode","hasDatahub","hasSmbs","channel0Name","channel1Name","channel2Name","channel3Name","hasDailyReport","hasWeeklyReport","hasMonthlyReport","hasQuarterlyReport","hasAnnualReport","maxDataPlatformVersion","channel","getEventModules","serializedAggregates","Average","_setup","active","onDropdownTriggerClicked","openCloseAll","componentHelp","_defineComponent","__name","__props","_componentHelp","querySelectorAll","hasAttribute","defineAsyncComponent","__sfc","DeviceStatusEnum","DeviceStatus","lastSeenAgoText","statusText","lastSeen","deviceBaseModelId","deviceBaseModelName","ip","hasWCC","locationId","hasCare","hasTechnology","cameraIp","sscIp","technologyStartDate","technologyEndDate","careStartDate","careEndDate","fixInconsistencies","GetMachineTypeById","Bend","_allDevices$find","MastersService","measurementUnits","_getCurrencyCodes","updateCurrencyCodes","_getMeasurementUnits","updateMeasurementUnits","_getTimezones","updateTimezones","getTimezones","_getEventSources","getEventSources","_getEventModules","updateEventModules","_getEventCodes","updateEventCodes","getEventCodes","onCancel","customClass","destroyOnHide","defineComponent","Function","events","String","ModalService","app","div","modalApp","h","_params$hasModalCard","_params$trapFocus","ModalWrapper","_params$events","_params$onCancel","$destroy","provide","spinner","$spinner","auth","$auth","signalr","$signalr","_i18n","$mount","ModalProgrammatic","modalService","initialTimeFilter","widgetInstance","_this$newTimeFilter","newTimeFilter","_definition$paramValu","_paramConfig$retrocom","isMap","widgetDefinitionObject","_widgetDefinitionObje","initializeParamValues","hasNoneOption","hasHourOption","_Error","_wrapNativeSuper","useSpinner","inject","useAuth","useSignalR","useAutoRemovedEventListener","onBeforeMount","onBeforeUnmount","useAutoRemovedResizeListener","useInterval","intervalSeconds","onMounted","cellControlMessages","sourceAndCategoryCustomSearch","sourceCategory","getSourceCategoryIcon","messageTypeSorter","generateLocalizedCustomSearch","tagType","time","CutCellControlActiveMessagesModal","getSourceCategoryKey","messageText","getTagType","_sourceToCategoryKeyM","sourceToCategoryKeyMap","messageA","messageB","TableWithActions2","CustomTableFilters","NumberFormat","notation","abbreviateNumberWithCurrency","adjustedPercentage","shiftNumbers","shiftNames","loadDeviceIdDhs","deviceIdDhs","GetMachineType","newShiftIds","selectedShiftId","prefix","_prefix","ev","ShiftModelsService","_shiftsService$store$","hasCurrentUserPermission","accessLevel","isGlobalAdmin","isSubsidiaryAdmin","isCustomerAdmin","isCustomerUser","canAccessWorkCenterConsole","_currentCustomer","canAccessBusinessConsole","_currentCustomer2","canAccessShopFloorConsole","_user$consoles","_currentCustomer3","canAccessTechnologyConsole","canAccessEServiceCenter","canAccessCareConsoleAlerts","canAccessControlList","canAccessDataPlatforms","canAccessCareConsoleSettingsMenu","canDownloadDataPlatform","registerHooks","SidebarLayout","showSidebar","HeaderLayout","toggleSidebar","Spinner","emit","showInfoButton","InformationMenu","NotificationsMenu","showSettings","SettingsMenu","showEServiceCenterSettingsMenu","CareConsoleSettingsMenu","UserMenu","useRouter","_instance$proxy","instance","getCurrentInstance","$router","useRoute","route","shallowRef","watch","Mode","downloadTermsAndConditions","onlineHelpLink","__default__","_downloadTermsAndConditions","finally","languageCode","dismissAllNotifications","notification","NotificationCard","onNotificationClicked","UserAlertStatus","thresholdValue","timestampNotification","UserCustomNotificationStatus","messageTxt","AlertWorkflowNotification","customerName","NotificationsService","_yield$Promise$all","_yield$Promise$all2","alertNotifications","alertWorkflowNotifications","customNotifications","sortedNotifications","getUserAlertStatus","getAlertWorkflowNotifications","getUserCustomNotificationStatus","_getUserAlertStatus","_getAlertWorkflowNotifications","notificationData","_createCustomNotification","customNotification","createCustomNotification","notificationId","isCustomNotification","notificationsService","notificationMessage","emits","useI18n","getUserAlertStatusNotificationMessage","_notification$deviceN","wrongTimestamp","canCreateAndDeleteEquipment","openDeviceFormModal","Create","canGetSmbsSas","getSas","TableWithActions","isLoading","canEditEquipment","Edit","confirmDelete","matchesLocation","getLocationName","matchesShiftModel","getShiftModelName","sortByLastStatus","searchLastStatus","sortByLastStatusText","searchLastStatusText","LocationsService","location","updateAll","_getApiKey","apiKey","getApiKey","locationsService","actionTitle","RequiredFieldsHint","calculatedDeviceId","v$","formData","$error","canEditEquipmentNameAndShift","$touch","TenantsSelect","validations","isCreateMode","LocationsSelect","onLocationInput","getErrorMessage","handleDeviceBaseModelIdSelected","deviceModelTypes","modelType","getDeviceModelsByType","ShiftModelSelect","canToggleBillable","canToggleWorkCenterConsole","onWorkCenterSwitchChanged","isBvcDevice","canEnableTechnologyConsole","onTechnologySwitchChanged","canEnableCareConsole","onCareSwitchChanged","canClearEndDate","onDateInput","canClearTechnologyEndDate","canClearCareEndDate","isSubmitting","$invalid","onSubmit","rules","triggerLabel","getShifts","timeFromHh","padStart","timeFromMm","timeToHh","timeToMm","ShiftModel","NONE_ID","BetaFeature","fetchShiftModels","_fetchShiftModels","_props$customerId","getAllByShiftModelId","_selectedShiftModel$v","_selectedShiftModel$v2","selectedShiftModel","isRequired","showLabel","handleSelect","tenants","restricted","reactive","useVuelidate","fetchTenants","_fetchTenants","getTenantById","_v$$value$tenantId$$e","$errors","$message","fetchLocations","_fetchLocations","_v$$value$locationId$","password_repeat","withI18nMessage","createI18nMessage","messagePath","$validator","validators","withArguments","sameAs","or","requiredIf","numeric","minValue","withLocalizedValidators","validator","helpers","passwordsMatch","otherPassword","siblings","unref","$params","optional","vm","deviceIn","sameDeviceBaseModelCount","dateTimeSegment","IP_WITH_OPTIONAL_PORT_REGEX","ipWithOptionalPort","regex","nameRegex","_onSubmit","isFormValid","$validate","createDeviceFromFormData","isEditMode","_handleDeviceBaseModelIdSelected","modelId","getDeviceBaseModelCount","isBVC","isEnabled","enableWorkCenterConsole","removeTimezoneOffset","Laser","laserModels","Bending","bendModels","Tubes","tubeModels","_v$$value$formData$ke","_state$formData","_state$formData$shift","storeDeviceBaseModels","models","_dateTimeSegment$valu","selectedDeviceBaseModel","_selectedDeviceBaseMo","typePrefix","dm","tenantPrefix","hasBetaFeature","BackOfficeDeviceBillable","GenericKeyCopyModal","sas","actionsWereDeclared","titleField","hoverable","paginated","paginationSimple","paginationPosition","defaultSortDirection","sortIcon","sortIconSize","defaultSort","detailed","detailKey","hasBottomLeftSlot","hasDetailsSlot","titleLabel","defaultTitleLabel","$scopedSlots","Ascending","truncatedValueColumnEllipsisTitle","getAllDevices","_getAllDevices","canCurrentUserHaveDevices","getAllDevicesByCustomerId","_getAllDevicesByCustomerId","getAllByCustomerId","DialogService","method","hasIcon","closeOnConfirm","onConfirm","_onConfirm","dialog","cancelLoading","startLoading","openWithPromise","DialogProgrammatic","confirm","dialogService","getWithStatuses","_getWithStatuses","_props$customer3","deviceStatuses","getDevicesStatus","deviceStatus","setStatusToNotAvailable","_openDeviceFormModal","deviceToEdit","compositionApi","DeviceFormModal","save","updateDevices","_updateDevices","_props$customer4","_props$customer5","deleteDevice","_deleteDevice","confirmWithPromise","entity","confirmText","cancelText","_getSas","DeviceSASModal","isAsc","dateA","dateB","translatedTypeA","translatedTypeB","_props$customer","_props$customer2","canCreateOrDeleteSubsidiaries","createSubsidiary","subsidiaries","canEditSubsidiaries","startEdit","SubsidiariesService","subsidiariesService","Subsidiary","formRef","GetEmpty","_formRef$value$checkV","_formRef$value","checkValidity","deep","router","deleteSubsidiary","_startEdit","SubsidiaryDetail","SubsidiaryCreationModal","_save","getSubsidiaries","_getSubsidiaries","_deleteSubsidiary","SubsidiaryProperties","SubsidiaryUsers","editSubsidiary","success","UserCreationDropdown","onUserFormClosed","canResetPasswordOn","resetPassword","canEdit","editUser","closeModal","_v$$value$password$$e","isTypeEnabled","canCreateGlobalAdmin","openGlobalAdminWizard","canCreateSubsidiaryAdmin","openSubsidiaryAdminWizard","canCreateCustomer","openCustomerWizard","openServiceGlobalWizard","canCreateEService","openServiceWizard","canCreateTechnology","openTechnologyWizard","Wizard","isEdit","PersonalDataWizardStep","userCopy","SummaryWizardStep","directives","rawName","nonHiddenSteps","step","NumberedBreadcrumbItem","currentStep","steps","isLastStep","goToNextStep","SlotComponent","getSlotComponentInstance","isFirstStep","goToPreviousStep","isNextButtonEnabled","isLeaving","scoped","refresh","$forceUpdate","$on","$off","slim","_useSlots$default","_useSlots","useSlots","refreshSteps","isWizardStep","$vnode","_$vnode$componentInst","componentInstance","getDefaultSlotsRecursively","_component$$slots$def","slotsAndChildren","$children","wizardSteps","nonWizardSteps","getWizardSteps","enter","leave","_goToNextStep","onLeaveResult","canLeave","onLeave","allowNextIf","WizardStep","onInput","onEmailInput","canChooseAuthenticationType","authenticationTypes","authenticationTypeDisabledReason","passwordRequired","repeatPassword","expose","fromPreviousPage","toPreviousPage","oneOf","$externalResults","_onLeave","$clearExternalResults","_v$$value$key$$errors","isLoadingLocations","onEnter","showSubsidiaryMembership","OtherMembershipsSummarySection","showCustomerMembership","userHasEnabledWCC","allowedLocations","getFormattedConsoleDateRange","hasSubsidiaryMemberships","subsidiaryMemberships","membership","hasCustomerMemberships","customerMemberships","memberships","getMembershipsOfType","DATE_FORMAT","_onEnter","loadLocations","getConsoleActivationDate","getConsoleEndDate","to","_loadLocations","hasAccessToLocation","_locations$value$find","useUserWizard","defaultUser","onBeforeMountCallback","submit","_submit","updateUser","_props$user","_useUserWizard","emptyGlobalAdmin","SubsidiaryMembershipWizardStep","shouldHideMembershipStep","hasSubsidiary","SubsidiariesSelect","validationProviderName","validationProviderRef","getSubsidiaryById","nextTick","emptySubsidiaryAdmin","isHandlingUserFromSubsidiaryUserList","isUserEditingItself","CustomerMembershipWizardStep","onLeaveCustomerMembershipWizardStep","ConsolesWizardStep","shouldHideConsoleStep","isCustomerLoading","PermissionsWizardStep","shouldHidePermissionsStep","hasCustomer","_this$rules","_this$rules2","_this$rules2$includes","isConsoleEnabled","isToggleEnabled","toggleConsole","setConsoleActivationDate","getConsoleMinimumEndDate","setConsoleEndDate","emitNewValue","activationDate","userTypeIsNone","userTypeDisabled","availableUserTypes","canEditLocations","customerLocations","isEditingUser","customerCopy","originalConsoles","originalLocations","isOpenedFromUsersPage","loadCustomer","isOpenedFromCustomerUsersList","applyChanges","isDashboardResetNeeded","_loadCustomer","_customerCopy$value3","_userCopy$value","_customerCopy$value","_customerCopy$value2","emptyServiceGlobal","ServiceMembershipWizardStep","isSubsidiaryMembershipFixed","isValidationObserverDataValid","valid","isLocalFormDataValid","fixedSubsidiary","addSubsidiaryMembership","addCustomerMembership","other_subsidiary","isCurrentUserSubsidiaryAdmin","other_customer","removeMembership","EMPTY_SUBSIDIARY_MEMBERSHIP","EMPTY_CUSTOMER_MEMBERSHIP","modifiedUser","getValidMemberships","isMainSubsidiarySelectedAsOtherSubsidiaryToo","different_value","duplicated_subsidiaries","duplicated_customers","main_value","emptyServiceUser","isOpenedFromSubsidiaryUsersList","emptyTechnology","openUserWizard","GlobalAdminWizard","_openSubsidiaryAdminWizard","_args","SubsidiaryAdminWizard","openCustomerUserWizard","_openCustomerUserWizard","_args2","CustomerUserWizard","openServiceGlobalUserWizard","fixedUser","ServiceGlobalWizard","openServiceUserWizard","_openServiceUserWizard","_args3","ServiceUserWizard","openTechnologyUserWizard","TechnologyWizard","ShiftOverflowEnum","allowedTypes","modals","onWizardClosed","_openCustomerWizard","_openServiceWizard","_editUser","deleteUser","_deleteUser","PasswordResetModal","_onUserFormClosed","editingUser","canResetPasswords","fetchSubsidiary","_fetchSubsidiary","t2","canEditCustomers","createCustomer","editCustomer","filterCustomerIdDh","orderColumnEllipsisTitle","CustomerSourcesSelect","CurrencyCodesSelect","MeasurementsSelect","TimezonesSelect","_ref10","translatedTimezones","timezone","deleteCustomer","_editCustomer","TenantDetail","getCustomers","_getCustomers","CustomerCreationModal","_deleteCustomer","rootClasses","isPreparingDownload","confirmDownload","viewOnDate","billingInfo","sapNumberCustomer","sapNameCustomer","searchByField","sapNumberSubsidiary","sapNameSubsidiary","licenseSubject","productSapNumber","productSapName","searchByDateField","invoiceDate","renewalDate","monthsToBeInvoiced","customerEmail","datepickerRef","_confirmDownload","dateString","_datepickerRef$value","searchTerm","selectedTab","Tab","Properties","CustomerProperties","onCustomerUpdate","wccEnabled","Devices","CustomerDevices","Users","CustomerUsers","Locations","CustomerLocations","canAccessShifts","ShiftModels","CustomerShiftModels","canAccessCutConfiguration","CutGas","CustomerCutGasTypeConfig","canAccessCategoryConfiguration","BendPartCategory","CustomerBendPartCategoryConfig","canAccessMaterialGroups","MaterialGroups","CustomerMaterialGroups","canAccessAlerts","Alerts","CustomerAlerts","canAccessTargets","Targets","CustomerTarget","canAccessEmailReports","EmailReports","CustomerEmailReport","canEditCustomer","canCreateCustomerUsers","openResetPasswordForm","onFormModalClosed","_onFormModalClosed","canCreateOrEditCustomerUsers","canEditCustomerUsers","openShiftModelForm","openShiftCreationForm","confirmDeleteShiftModel","openShiftEditionForm","confirmDeleteShift","editableShift","timeFromDate","handleTimeFromChange","timeToDate","handleTimeToChange","requiresOverflowConfiguration","overflowTypes","Shift","Unspecified","NextDay","PreviousDay","getHours","getMinutes","updateOverflow","setHours","setMinutes","editableShiftModel","ShiftModelFormModal","_openShiftCreationForm","openShiftForm","_openShiftEditionForm","ShiftFormModal","_save2","openDeleteEntityConfirmationDialog","deleteShiftModel","_deleteShift","_deleteShiftModel","isReadOnly","sliderValue","tableData","bendsFrom","bendsTo","cancelEdition","BendPartCategoryService","bendPartCategory","bendPartCategoryService","simpleTo","mediumTo","bendPartCategoryInitial","simpleToMaxValue","mediumToMinValue","withMessage","loadData","_loadData","bendPartCat","_bendPartCategory$sim","_bendPartCategory$med","_v$$value$$errors$","getValidationMessage","isViewMode","CustomerCutConfig","editCustomerInitial","View","channelRegexValidator","_v$$value$fieldName$$","createAlert","alerts","updateAlert","getDeviceName","getMetric","getOperator","getAction","modalTitle","DevicesSelect","editAlert","AlertsMetricsSelect","selectedKpi","AlertsOperatorsSelect","thresholdValidationMessage","AlertsActionsSelect","actionOrDefault","onActionInput","EmailsTagInput","defaultEmails","defaultEmailsAreLoading","recipients","onEmailSelectionChanged","includeAll","getItems","_getItems","isCut","isBend","isTube","_v$$value$device$$err","selectedKpiOrDefault","flatten","_metric$value","getKpiGroupsByConsole","_v$$value$metric$$err","alertOperatorItems","alertOperator","_v$$value$operator$$e","alertActionItems","_v$$value$action$$err","emails","nonSelectedEmails","updateNonSelectedEmails","onSelectionChanged","clearAll","selectAll","selectAllInit","filterUsers","availableEmails","areFilteredCustomersLoading","getFilteredCustomerUsers","_getFilteredCustomerUsers","_currentUser$customer","initializeTag","userId","_props$value","areTagsEmpty","_v$$value$emails$$err","Alert","_original$recipients","not","alertToSubmit","loadDefaultEmails","_loadDefaultEmails","getAlertEmail","_props$alert","_v$$value$threshold$$","getAlerts","_getAlerts","getWorkCenterConsoleAlerts","_alert$deviceName","deleteAlert","_createAlert","AlertFormModal","_updateAlert","_deleteAlert","_alert$deviceName2","createMaterialGroup","unassignedMaterials","isLoadingMaterials","startAssignMaterialToGroup","knownMaterialGroups","isLoadingMaterialGroups","materialGroup","manageMaterialGroup","relatedTenantCount","relatedKpiCount","isDefault","canSubmit","MaterialGroup","isUnknown","MaterialGroupsService","materialGroupsService","confirmUnassign","MaterialsService","_unassign","unassign","materialsService","materialGroupId","refreshData","_refreshData","getDetails","unassignMaterial","_unassignMaterial","getMaterialGroups","getMaterials","_startAssignMaterialToGroup","MaterialGroupAssignmentModal","deleteMaterialGroup","MaterialGroupCreationModal","_deleteMaterialGroup","_getMaterialGroups","_getMaterials","MaterialGroupModal","_close","unassignedGroupsIds","g","hasBC","consoleName","createNewTarget","editTarget","translateMetric","TargetsMetricSelect","editedUserTarget","hasMultipleTargetValues","_v$$value$targetMetri","_props$userTarget$tar","_props$userTarget","_props$userTarget$tar2","_props$userTarget2","_props$userTarget$tar3","_props$userTarget3","MAX_VALUE_OEE","notNone","numberOfTargetValues","showCreateOption","getConsoleUserTargets","TargetFormModal","translatedTargetMetric","deleteTarget","_deleteTarget","_editTarget","canManageLocations","createLocation","isPreparingDataPlatformDownload","downloadDataPlatform","openConnectionStringDialog","address","zipCode","country","connectionString","host","DataPlatformService","_getInstallerUrl","getInstallerUrl","_response$headers","_matches$","disposition","headers","exec","_getDetail","dataPlatformId","getDetail","_getActionsDetails","getActionsDetails","_createAction","dataplatformCreateAction","createAction","dataPlatformService","canEditLocation","editedLocation","Location","hasApiKey","_props$location","LocationFormModal","_downloadDataPlatform","deleteLocation","_deleteLocation","ConnectionStringModal","originalEmails","noReportActivated","filterUsersWithoutWCC","changesOccurred","undo","formIsValid","CustomerReport","reportUserEmails","emailsTagInput","selectedEmails","initializeValues","_emailsTagInput$value2","selectedEmailsToSave","_emailsTagInput$value","LoadingProgrammatic","smallerList","largerList","emailHash","emailsHaveChanged","fetchCustomer","_fetchCustomer","updatedCustomer","redirectToCustomersPageIfRouteParameterIsMissing","_redirectToCustomersPageIfRouteParameterIsMissing","parameter","Tenants","bcEnabled","_user$value","_user$value2","_user$value3","hasTenant","loadedInfoUser","termsAccepted","isEditorEnabled","autoplay","autoplayInterval","Normal","onIndicatorClick","carouselIndex","onTouchStart","onTouchEnd","refInFor","toggleAutoplay","editAutoplayInterval","saveDashboard","deleteDashboard","cancelDashboard","addCustomDashboard","_k","keyCode","editName","Creation","onLayoutChanged","edit","notUniqueView","confirmDeleteDashboard","promptCancelEdition","nWidgets","gridLayout","onDeleteWidget","onAddWidget","onEditWidget","currentView","onChange","doParamUpdate","userConsoles","selectedConsole","onSelectedConsoleInput","selectedDevice","onSelectedDeviceInput","hasLaser","hasBending","bendingDevices","hasTubes","tubesDevices","widgetList","selectedWidgetDefinition","onSelectedWidgetClick","showFactoryOverviewWarning","showGanttChartWarning","isAcceptButtonDisabled","WidgetSelector","currentTenant","cutDevices","tubeDevices","_this$selectedDevice","selectedSlot","_this$selectedWidgetD","slotAllowsBigWidget","_this$selectedWidgetD2","_this$selectedWidgetD3","_this$selectedWidgetD4","_this$selectedWidgetD5","_this$selectedWidgetD6","commonWidgets","commons","wccCutWidgets","wccBendWidgets","wccTubeWidgets","wccWidgets","bcWidgets","sfcWidgets","specificDeviceNotOverview","_this$userConsoles$","getDefaultConsoleDevice","LayoutDropdown","DashboardMode","CustomDashboard","onBeforeUnload","$i18n","clearWidgets","areThereFreeSlots","openWidgetSelector","isReplacingWidget","addWidgetPayload","addWidget","newWd","deleteWidget","dashboardDefinitionCopy","Edition","dashboardsCount","showErrorDialog","persistDashboard","textKey","_promptCancelEdition","isDashboardModified","confirmEditionCancellation","Dialog","_toggleAutoplay","_onBeforeUnload","returnValue","_onBeforeRouteLeave","hasConfirmedCancellation","onBeforeRouteLeave","getCardsLayoutType","MIN","MAX","enteredInterval","DashboardsCarousel","updateDefinitions","_updateDefinitions","newDefinitions","isTemporal","AutoplayInterval","newInterval","touchStartX","changedTouches","screenX","touchEndX","matchMedia","_yield$dashboard$onBe","_this$user","Index","go","TechnologyConsole","isSupportUser","EServiceCenter","_beforeRouteLeave","_yield$dashboardsCaro","dashboardsCarousel","continueRoute","beforeRouteLeave","compactMode","updateStatuses","selectedTimespan","devicesInSelectedShifts","OverviewLaserTubeDeviceCard","getLaserTubeDeviceState","isFirstLoad","goToDevice","shouldShowNewBendDeviceCard","OverviewNewBendDeviceCard","getBendDeviceState","OverviewBendDeviceCard","WorkCenterConsoleOverviewStateDataRetriever","statesOnly","OverviewDeviceCard","deviceState","hasState","stateStyle","lastState","OverviewDeviceCardStateKpi","bendTime","bendTimePart","DeviceImage","locationName","hasStateSlot","getDeviceMessage","twoKpiGroups","blobStorageName","getDataStorageBlobName","CutLayoutTab","_props$deviceState","lastTimestampUtc","lastSeenUtc","_useSlots$state","findById","OverviewDeviceCardKpi","isMetricNil","nonNullAssertedMetricValue","metricValue","getStateCss","lastBendMessage","highFlowTime","bendsPerHour","shouldShowCurrentPlan","_setup$currentPlan","isCurrentPlanLoading","isFirstCurrentPlanLoad","currentPlan","OverviewDeviceCardKpiList","_setup$currentPlan2","bendCount","_setup$currentPlan3","partCount","CurrentBendPlanDataRetriever","_getDataForDevice","getDataForDevice","leftLabel","rightLabel","currentPlanDataRetriever","hasCustomerDataPlatform","hasDataPlatform","updateCurrentPlanData","_updateCurrentPlanData","cuttingTime","workingTime","showWorkload","completedRuns","totalRuns","completedParts","totalParts","navigationButtonIcon","showMessagesIcon","workloadData","currentMessages","bubbleLabel","openMessageModal","WorkCenterConsoleOverviewLaserWorkloadDataRetriever","getDeviceCurrentWorkload","workloadLoading","isFirstWorkloadLoad","workloadRetriever","getWorkloadData","_getWorkloadData","hasCurrentWorkloadBetaFeature","customerHasDataPlatform","_openMessageModal","_workloadData$value9","hasCuttingPlans","_workloadData$value","cuttingPlanInfo","_workloadData$value$c","_workloadData$value2","_workloadData$value3","plan","COMPLETED_PROGRESS_VALUE","CUTTING_PLAN_INFO_NULL_OBJECT","WorkCenterConsoleCutCurrentWorkload","_currentCustomer$hasD","_workloadData$value4","_workloadData$value5","_workloadData$value6","_workloadData$value7","_workloadData$value8","WorkCenterConsoleOverviewBendingDevicesStateDataRetriever","laserTubeDeviceStates","bendDeviceStates","statesDataRetriever","bendingDevicesStatesDataRetriever","_updateStatuses","isFirstExec","retrieveLaserTubeDeviceStates","retrieveBendDeviceStates","_retrieveLaserTubeDeviceStates","retrieveStatesData","laserTubeDeviceIds","_retrieveBendDeviceStates","bendDeviceIds","_retrieveStatesData","selectedDeviceStringId","_getLocationName$loca","WorkCenterConsoleBendSummary","activeShifts","showShiftFilter","showDateRangeFilter","showDateGroupingFilter","selectedTimeAxisSpan","showTimeSpanFilter","activeTab","activeDeviceIds","onActiveTabChanged","areWidgetDefinitionsReady","onTabChanged","activeTabInternal","CutOverview","updateAggregate","updateWidgetDefinition","CutCurrentWorkload","tableViewLayout","cutCurrentWorkloadWidgetDefinition","CutIntradayStates","intradayAvailabilityWidgetDefinition","CutTrends","CutLayout","createWidgetDefinitions","tab","_onBetaToggled","wasBetaEnabled","changeTabToOverview","onBetaToggled","isTrendsTabActive","selectedEquipment","showShifts","TimeZoneIndicator","setUpTimeUpdater","_this$timeZone","timeIntervalHandle","MultipleSelectionFiltersHeader","single","EquipmentFilter","getActiveShifts","getShiftsFromActiveDevices","getActiveDeviceIds","_to$hash","hash","_created","syncActiveTabWithRouteHash","created","_syncActiveTabWithRouteHash","updateRouteHashWithActiveTab","_updateRouteHashWithActiveTab","_onActiveTabChanged","dateRangePicker","BendLayoutTab","hasSummaryBetaFeature","BendOverview","BendSummary","hasBendIntradayStatesBetaFeature","BendIntradayAvailability","hasTrendsTab","BendTrends","FlexibleLayoutGridDefinition","rowDefinitions","validateRowDefinitions","totalColumns","totalWidth","currentColumnWidth","MAX_COLUMNS","rows","rowIndex","columnWidth","columnIndex","getWidgetIndex","FlexibleLayoutGrid","processedWidgetsCount","totalWidgets","currentRow","widgetEnum","isLocalDevelopmentEnvironment","BendLayout","changeToTab","_onBetaToggledIntraday","onBetaToggledIntraday","_onHideTrendsTab","isTabVisible","wasTabVisible","onHideTrendsTab","WorkCenterConsoleBendIntradayStates","tenantDevicesLink","selectedDeviceId","getSelectedDeviceName","tenantTimeZone","hasEventModuleFilter","hasEventTypesFilter","hasEventCodesFilter","onDeviceChanged","dataReady","TechnologyConsoleTab","Overview","Temperatures","isDriveValuesTabVisible","DriveValues","DrawerInformation","ErrorsAndWarnings","onWidgetDefinitionChange","createWidgetDefinition","stringDateRange","TechnologyOverview","timelineChartWidgetDefinition","onTimelineChartWidgetDefinitionChange","barChartsWidgetDefinition","initializeTimelineChartWidgetDefinition","initializeBarChartsWidgetDefinition","getWidgetHelpPosition","consumptionTimelineWidgetDefinition","availableVsUsedTimesWidgetDefinition","powerUtilizationTimesWidgetDefinition","driveCurrentTimelineWidgetDefinition","updateDriveCurrentTimelineWidgetDefinition","driveCurrentDifferenceHistogramWidgetDefinition","driveAccumulatedCurrentDifferenceTimelineWidgetDefinition","initializeDriveCurrentTimelineWidgetDefinition","OldTimeZoneIndicator","timelineWidgetDefinition","moduleTypeWidgetDefinition","onEventsTablePageChanged","onEventsTableSortChanged","alertOccurrences","isActive","startTimeSpan","latestTimeSpan","latestValue","additionalInformationSearch","alertHasSources","alertHasCodes","AlertOccurrencesTable","input","Events","eventsTablePage","eventsTableSortField","eventsTableSortOrder","TechnologyConsoleDevice","TechnologyConsoleDevice_1","loadDeviceCuttingHeadVersionHistory","fetchTechnologyData","_loadDeviceCuttingHeadVersionHistory","_this$controller","getDeviceCuttingHeadVersionsHistory","deviceCuttingHeadVersionHistory","_this$technologyDevic","technologyDevices","TechnologyConsoleTenantDevices","_fetchTechnologyData","technologyTenant","_onDeviceChanged","_this$$refs$desktopDa","_this$$refs$desktopDa2","desktopDatePicker","version","_watchSelectedDeviceId","watchSelectedDeviceId","Quotes","widgetEnumValue","selectedAxisTimespan","BusinessConsoleOverview","openSalesFunnelWidgetDefinition","businessOverviewFiguresWidgetDefinition","salesMapWidgetDefinition","updateAndGetCopy","topQuotedMaterialsTimelineWidgetDefinition","quotedMaterialsListWidgetDefinition","Sales","canCreateUsers","modalClose","usersData","sortByType","filterType","belongsToName","isCustomer","_modalClose","_subsidiaries$value$f","_subsidiaries$value$f2","_customers$value$find","_customers$value$find2","getBelongsToName","userItem","translatedType","tableFields","addTitleToCuttingHeadColumns","getDevicesInfo","$options","isCuttingHeadField","Login","LoginCallback","LoginFailed","login","processLoginCallback","redirectToApiAuthorizationPath","logout","_login","_processLoginCallback","completeSignIn","navigateToReturnUrl","getReturnUrl","catch","_navigateToReturnUrl","returnUrl","fromQuery","origin","apiAuthorizationPath","redirectUrl","Logout","TubesTab","toggleDateRangePicker","isOverviewTabActive","changeWidgetDefinitions","IntradayAvailability","intradayAvailabilityLayout","ganttChartWidgetDefinition","Trends","CareTab","DeviceView","activeView","selectedEquipmentOrNull","customerTimeZone","hasDateRangeFilter","hasDateGroupingFilter","isCareViewActive","hasTimeSpanFilter","hasShiftFilter","selectedDevicesForShiftFilter","activeCareTab","activeWorkCenterTab","isValidCareTab","Health","CuttingHead","LaserConsumption","diodesAndDrawerCyclesTimelineWidgetDefinition","eventsTimelineWidgetDefinition","temperaturesWidgetDefinition","healthTimelineWidgetDefinition","healthIndicatorsWidgetDefinition","deviceElement","getKpis","getLevelMaximums","showDecimals","kpiEntries","decimals","getKpiValue","hasData","boundaryPositionClass","valueLevelIndex","tooltipLabel","getLevelSegmentValue","getRoundSegmentEndLeftPosition","isLevelFullyFilled","getBoundarySegmentValue","boundaryValue","getBoundaryPositionClass","HealthBar","isValueInPreviousSegment","isValueInSegment","levelStartValues","levelSizes","valuePercentage","HealthIndicator","HealthIndicatorsContainer","_dataItem$filteredMax","deviceOverviewWidgetDefinition","ByTransVersion","DeviceCard","healthEntry","HealthIndicators","roundedSegmentEndPositionCSS","ProgressBar","moduleEntry","errorsPercentage","warningsPercentage","totalErrors","totalWarnings","ModuleEventsIndicator","ModuleEventsIndicators","CareConsoleMainView","internalValue","WorkCenter","DeviceViewSwitch","CareConsoleDevice","updateStateFromRoute","fetchCustomerData","goToHome","_fetchCustomerData","throwIfEquipmentIdNotFound","_beforeRouteUpdate","beforeRouteUpdate","_updateStateFromRoute","isWorkCenterViewRoute","setCareConsoleDevice","_onActiveViewChanged","updateRouteHashWithCareTabValue","onActiveViewChanged","_updateRouteHashWithWorkCenterTabValue","updateRouteHashWithWorkCenterTabValue","_updateRouteHashWithCareTabValue","_beforeDestroy","beforeDestroy","_throwIfEquipmentIdNotFound","selectRow","getTenants","_getTenants","filterMatchers","onFiltersChanged","goToCustomerDevices","goToFirstEquipmentCareConsole","goToFirstEquipmentWorkCenterConsole","subscribedUsersMatcher","subscribedUsers","MAX_SUBSCRIBED_USERS_SHOWN","emitFilters","clearAllFilters","filters","mySubscriptions","noSubscriptions","subscribers","CustomerFilters","_CustomerFilters","structuredClone","CustomerFilters_1","defaultFilterValues","areApplying","areTextListFiltersApplying","textListFilterKey","isCurrentUserSubscribed","filterValue","createTextListMatcher","textListMatches","createTextListModelMatcher","displayedModel","createTextListMatcherForEnum","enumTranslator","containsSubscribers","subscribedUserNames","subscribedUser","rowValue","hasSubscriptions","createArrayMatcher","arrayValue","arrayItem","filterItem","createCustomMatcherWithTransformation","field1","field2","transformFn","value1","value2","transformedValue","EServiceCenterCustomers","fetchCustomers","_fetchCustomers","userNames","_goToCustomerDevices","goToCustomerEquipment","idDh","_goToFirstEquipmentCareConsole","goToEquipmentCareConsole","equipmentIds","_goToFirstEquipmentWorkCenterConsole","goToEquipmentWorkCenterConsole","areFiltersOpen","onDeleteClicked","CustomersListSelectorWizardStep","EquipmentListSelectorWizardStep","selectedTenantIds","KpiSelectionFormWizardStep","alertCount","onKpiSelectionFormInput","VariableSelectionFormWizardStep","kpiRequiresVariable","onVariableSelectionEnter","SourceSelectionFormWizardStep","kpiRequiresSource","onSourceSelectionEnter","sources","EventCodesSelectionFormWizardStep","kpiRequiresEventCode","selectedCustomers","$tc","number","orderedCustomers","refreshCustomers","_refreshCustomers","aIsSelected","bIsSelected","equipment","getDeviceBaseModelName","refreshDevices","_refreshDevices","getDevicesFromTenants","hasTenantsSelectionChanged","AlertCountMessage","onKpiInput","onOperatorInput","kpiUnit","onThresholdInput","onDateGroupingInput","dateGroupingOptions","_v$$value$alert$key","_alert$value$kpi$unit","_alert$value$kpi","kpiVariableOptions","variableValues","_v$$value$selectedKpi","selectedSources","filteredMessageSources","onSourceAdded","onSourceRemoved","updateFilteredSources","messageSources","availableMessageSources","refreshMessageSources","_refreshMessageSources","newSource","removedSource","alertDefinition","_onSourceSelectionEnter","_formData$kpi","ErrorCountBySource","WarningCountBySource","ErrorCount","WarningCount","hasFormChanged","alertToSend","alertKpi","_alertKpi$value$unit","_alertKpi$value","onFiltersApplied","getEnumValuesFromQueryParameterOrDefault","queryParameterValue","normalizedAsArrayValue","enumValues","stringValue","numericValue","multiple","multipleSelectionText","isDateGroupingActive","DateGroupingSelect","AlertFilters","_AlertFilters","AlertFilters_1","updateFiltersFromUrlQueryParameters","updateUrlQueryParametersFromFilters","_updateUrlQueryParametersFromFilters","queryParameters","stringValues","resultObject","isUpdatingUrlQueryParametersFromFilters","_this$$route$query","TEXT_LIST_FILTERS","getDateGroupingFilterValueFromQueryParameter","CareConsoleAlerts","multipleDateGroupingMatcher","updateAlerts","_updateAlerts","getCareConsoleAlerts","CareAlertCreationWizard","alertFilters","CareAlertEditionModal","messageParams","_this$table","table","DataPlatformActionEnum","AttributionsList","attributions","attributionItem","hasAuthors","authors","parseAuthors","hasLicense","hasOneLicense","hasLicenseName","licenses","licenseUrl","license","getGithubLinkForFrontendAttribution","parseFrontendLicenses","getLicenseLinkForFrontendAttribution","trim","frontendAttributions","AboutFE","installedVersion","author","licenseType","backendAttributions","AboutBE","PackageId","PackageVersion","PackageProjectUrl","Authors","LicenseUrl","License","openDetails","isVisibleRestartJobs","isRunningRestartAction","restartJobs","openActionDetails","isCurrentUserGlobalAdmin","osVersion","formatLastConfigured","lastConfigured","getLastSeen","numberOfDevices","numberOfJobs","failingReadingJobSearch","failingReadingJobCount","failingWritingJobSearch","_ref11","failingWritingJobCount","hasActionsPendingSearch","_ref12","hasActionsPending","dataPlatform","hostname","jobs","job","jobType","isDataSourceOk","isDataSinkOk","sortByJobsNumber","getFailedReadingJobAmount","getFailedWritingJobAmount","jobsA","jobsB","getActionName","formatTime","executed","sortByStatus","getActionStatus","a_text","b_text","actionDetail","Restart","HOUR_SECONDS","secondsDifference","remainingMinutes","DataPlatformDetailModal","deleteDataPlatform","_deleteDataPlatform","failingJobSearch","failingJobCount","_restartJobs","DataPlatformActionsDetailsModal","equipmentList","selectedEquipmentList","subscribeToSelectedEquipmentAlerts","unsubscribeFromSelectedEquipmentAlerts","equipmentItem","isSubscribed","unsubscribeFromEquipmentAlerts","subscribeToEquipmentAlerts","modelMatcher","equipmentNumber","getSubscribedUsersBadgeTooltip","EquipmentFilters","_EquipmentFilters","EquipmentFilters_1","EServiceCenterEquipment","fetchEquipmentList","subscribedUsersNames","_goToEquipmentCareConsole","stringId","_goToEquipmentWorkCenterConsole","_subscribeToSelectedEquipmentAlerts","_unsubscribeFromSelectedEquipmentAlerts","_subscribeToEquipmentAlerts","subscribe","_unsubscribeFromEquipmentAlerts","unsubscribe","_fetchEquipmentList","getEServiceData","_this$filters","AlertWorkflowStatus","alertWorkflows","alertWorkflow","matchesEquipmentColumn","getEquipmentColumnValue","getAlertMetricTooltip","occurrencesCount","createdDateMatcher","createdDate","statusMatcher","getDisabledStatusesByStatus","handleStatusChange","assigneeName","processingDateMatcher","processingDate","crmCaseNumber","Postponed","postponedDate","resolutionDate","Discarded","closureInformation","hasEventCodes","hasEventSources","lastOccurrenceDate","goToWorkCenterConsole","hiddenLabel","hiddenDropdownIcon","isFontSizeSmall","isStatusActive","isStatusDisabled","disabledStatuses","AlertWorkflowsService","alertWorkflowsService","AlertWorkflowDetailsModal","alertWorkflowId","goToEquipmentAlertTabOnCareConsole","_goToWorkCenterConsole","AlertWorkflowStatusSelect","equipmentName","equipmentModel","alertMetric","InboxFilters","_InboxFilters","InboxFilters_1","DATE_RANGE_FILTERS","getDateRangeFilterValueFromQueryParameter","getStatusFilterValueFromQueryParameter","stringDate","areDateRangeFiltersApplying","dateRangeFilterKey","ChangeToPostponedDate","formValue","ChangeToInProgress","ChangeToResolved","discardedReason","ChangeToDiscarded","EServiceCenterInbox","multipleStatusMatcher","createDateRangeMatcher","fetchWorkflows","_fetchWorkflows","matchesDate","translatedVariable","newStatus","confirmChangeStatusToNew","openModalToChangeStatus","Resolved","changeStatus","confirmPostponed","_confirmPostponed","confirmInProgress","_confirmInProgress","confirmResolved","_confirmResolved","resolvedInformation","confirmDiscarded","_confirmDiscarded","discardedInformation","_changeStatus","alertWorkflowUpdateDTO","VueRouter","routes","meta","canNavigate","createAccessLevelGuard","Subsidiaries","Customers","redirect","CustomerDetail","ControlList","DeviceByTenant","DataPlatforms","WorkcenterOverview","Manufacturing","EServiceCenterCustomerEquipment","EServiceCenterEquipmentView","EServiceCenterAlerts","About","LoggedOut","LogoutCallback","hasGuard","matched","record","_record$meta","beforeEach","localeCode","useEServiceCenterRouter","EServiceCenterRouter","_goToHome","_goToInboxFilteredByEquipment","goToInboxFilteredByEquipment","_goToCustomerEquipment","equipmentStringId","_goToEquipmentAlertTabOnCareConsole","CareConsoleTab","_setCareConsoleDevice","Router","eServiceCenterRouter","_onNotificationClicked","dismissNotification","notificationStatus","dismiss","refreshNotifications","dismissAll","_refreshNotifications","canAccessSubsidiaries","canAccessCustomers","canAccessUsers","canSendNotifications","openAdminNotificationModal","confirmSubmit","NotificationContentWizardStep","formValues","onStepInput","NotificationRecipientSelectionWizardStep","isSubsidiaryNotification","canNotifySubsidiaries","isSubsidiaryNotificationEnabled","SubsidiariesTagInput","onRecipientTaginputInput","CustomersTagInput","alertAction","sendEmailToAllUsers","selectedSubsidiaries","nonSelectedSubsidiaries","typingText","emitSelectedSubsidiaries","onTaginputBlur","availableSubsidiaries","emitBlur","_v$$value$selectedSub","nonSelectedCustomers","emitSelectedCustomers","availableCustomers","selectedCustomer","_v$$value$selectedCus","onAlertActionInput","emailSubject","subjectValidationMessage","messageValidationMessage","_v$$value$formValues$","_v$$value$formValues$2","sendSubsidiaryNotification","_sendSubsidiaryNotification","subject","tenantIds","subsidiaryIds","sendToAll","sendCustomerNotification","_sendCustomerNotification","_confirmSubmit","getConfirmationMessage","AdminNotificationWizard","permissionUtils","userInitials","canEnableBeta","canChangePassword","openResetPasswordModal","logOut","_logOut","nameWord","showTechnologyConsole","isEServiceCenter","isTechnologyConsole","BysoftSidebar","isFadedOut","BysoftSidebarEntry","fullLocaleName","openSelectLanguage","canAccessDashboard","isRouteActive","routeTo","showWorkCenterConsole","showCut","showBend","showTube","locales","getLocaleFullName","dictLocale","cs","en","es","de","da","fi","fr","hu","it","ja","ko","nl","pl","ru","sv","tr","zh","_setLocale","getCurrentLocale","expand","previousWidth","adjustExpandStatusOnWindowResize","isSidebarExpanded","sidebarRef","LanguageSelectorModal","_sidebarRef$value","_m","termsHtmlContent","acceptTermAgreement","loadTerms","_acceptTermAgreement","_logout","getUserInfo","_getUserInfo","_user","signIn","getCustomer","getDevices","getLocations","getUserTargets","getMeasurements","getDeviceBaseModels","getNotifications","_getCustomer","hasExpired","_getDevices","_getLocations","_getShifts","_getUserTargets","_getMeasurements","_getDeviceBaseModels","_getNotifications","adjustSidebarOnResize","_callee16","_context16","isLoggedIn","loggedIn","showTermsAgreement","TermsAgreementModal","persistent","session","ConfigurationService","_loadConfig","sessionStorage","SPA_CONFIG_KEY","loadConfig","_sessionStorage$getIt","localSpaConfig","configurationService","getDetailedMessage","IsError","DefaultMessage","_unused","_error$response","ResponseErrorInterceptor","appInsights","interceptors","_error$response2","_error$response3","_error$response4","trackException","exception","detailedError","_error$response5","AuthInterceptor","authService","_config$headers","tokenResponse","getAccessToken","Authorization","AuthService","spaConfig","getConfig","userManagerSettings","oidcConfiguration","userStore","WebStorageStateStore","automaticSilentRenew","includeIdTokenInSilentRenew","enableAuthLog","Log","logger","DEBUG","userManager","UserManager","_getUser","getUser","signinRedirect","_completeSignIn","signinCallback","signoutRedirect","_getAccessToken","_data$access_token","access_token","_isLoggedIn","expired","authServicePlugin","install","vue","SpinnerPluginService","spinnerPlugin","SignalrService","connection","HubConnectionBuilder","withUrl","signalrHubEndpoint","configureLogging","LogLevel","Information","messageReceived","alertNotified","_connect","connect","_signIn","invoke","onbeforeunload","disconnect","reason","_disconnect","HubConnectionState","Disconnected","Disconnecting","generateNotificationMessage","serviceWorker","ready","registration","showNotification","generateUserCustomNotificationStatusMessage","generateAlertWorkflowNotificationMessage","generateUserAlertStatusNotificationMessage","formatTimestampNotification","maximumSignificantDigits","signalrPlugin","appInsightsPlugin","_options$appInsightsC","_options$appInsightsC2","_options$appInsightsC3","_options$appInsightsC4","extensions","appInsightsConfig","extensionConfig","enableClickAnalytics","clickPluginInstance","ClickAnalyticsPlugin","clickPluginConfiguration","autoCapture","dataTags","useDefaultContentNameOrId","identifier","instrumentationKey","ApplicationInsights","loadAppInsights","setupPageTracking","baseName","startTrackPage","afterEach","protocol","fullPath","stopTrackPage","flush","setUpSignalR","_setUpSignalR","addBuefyComponents","customIconConfig","customIconPacks","sizes","iconPrefix","Autocomplete","Breadcrumb","Button","Carousel","Checkbox","Collapse","Datepicker","Datetimepicker","Dropdown","Field","Icon","Image","Input","Loading","Menu","Message","Modal","Navbar","Numberinput","Progress","Radio","Select","Sidebar","Skeleton","Slider","Switch","Tabs","Tag","Taginput","Timepicker","Tooltip","ConfigProgrammatic","setOptions","addEchartsComponents","EchartsCore","CanvasRenderer","BarChart","PieChart","LineChart","GaugeChart","TreemapChart","ScatterChart","BoxplotChart","FunnelChart","SunburstChart","CustomChart","GridComponent","TooltipComponent","TitleComponent","LegendComponent","DatasetComponent","ToolboxComponent","DataZoomComponent","AxisPointerComponent","MarkPointComponent","ECharts","setUpVeeValidate","configure","defaultMessage","fieldKey","_field_","_rule_","setUpAppInsights","appInsightsPluginConfig","instrumentationKeyAppInsight","disableTelemetry","initApp","_initApp","productionTip","App","AxiosAuthInterceptor","AxiosForbiddenInterceptor","$appInsights","browserCurrentLocale","errorHandler","DIACRITICAL_MARKS_UNICODE_BLOCK_REGEX","normalizeString","normalize","localizationKeyFn","localizationKey","normalizedTranslatedValue","cellText","formattedDate","dateRangeEnd","valueOf","MetricsService","_getDevicesMetrics","_getDevicesCurrentWorkload","planStates","Pragma","Expires","responseEntry","deviceModel","_getDeviceCurrentWorkload","devicesWorkloadData","_getSMBSMetricsBC","_x14","_x15","_getCachedTopSalespeopleData","numberOfSalespeople","_x16","_x17","_x18","_x19","_x20","_getSMBSMetricsSFC","_x21","_x22","_x23","_x24","_getSSCMetrics","_x25","_x26","_x27","_x28","_x29","_getBendingDevicesMetrics","_x30","_x31","_x32","_x33","_getAlertOccurrences","abortController","getWebMetrics","fixAlertOccurrenceListFields","_x34","_x35","_x36","_x37","_alertOccurrence$even","_alertOccurrence$even2","_getWebMetrics","_x38","_x39","_x40","_getDevicesInfo","_x41","_x42","_getCutOrTubesIntradayAvailabilityData","groupCutOrTubesIntradayAvailabilityDataByDevice","_x43","_x44","_x45","_getMetric","signal","aborted","_x46","_x47","_x48","_x49","numberOfLevels","Memoize","expiring","hashFunction","colors","brightness","Brown","DarkGrey","DarkOrange","LightOrange","HighFlow","GreenLight","LowFlow","YellowLight","NoFlow","Gray","Automatic","BlueLight","SemiAutomatic","PurpleLight","NonProductive","baseColor","colorAmount","lowerLightnessBound","upperLightnessBound","ColorAPI","lightnessBoundGap","lighten","configuration","titleGenerator","textOnMissingValue","hasValue","suffix","getTranslatedSeriesName","seriesNameGenerator","Builder","translationPrefixSeriesNameGenerator","translationPrefix","DEFAULT_SERIES_TRANSLATION_PREFIX","parseVersion","v","versionTarget","versionCurrent","currentVersionParsed","targetVersionParsed","currentSegment","targetSegment","hasTargets","toggleTargetsMenu","innerMenuPosition","targetChange","toggleTimeAxisSpanButton","chosenTimespan","toggleAggregateButton","onlyShowsParams","timeAxisSpans","span","TimeAxisSpanButton","bDropdown","initialize","updateTarget","validInputs","isComponentInitialized","editTarget1","editTarget0","TargetsMenu","_this$targets$","_this$targets","_this$targets$2","_this$targets2","arrayOfNumbers","targetValue","targetValueWithinBounds","aggregateOptions","selectedAggregates","onOptionSelected","AggregatesMenu","isSelected","other","targetsMenu","timeAxisSpanButton","aggregateButton","availableCodes","filteredTags","placeholder","appendToBody","allowNew","updateFilteredTags","onSelectedTagsChanged","valueInternal","TagInput","remainingTags","excludeSelectedTags","tags","selectedTags","VALUE_INDEX","FIRST_ROW_INDEX","figureName","figureChartData","getFigureChartData","splitArea","calculable","orient","inRange","colorLightness","lightness","darken","coordinateSystem","valueDimension","formatValue","getFigureWeightUnit","ProducedWeight","WeightHandledByOperator","EnvironmentValue","Environment","_process$env$VUE_APP_2","DEVELOPMENT","getEnvironment","LOCAL_DEVELOPMENT","QA","PRODUCTION","_DataRetriever2","DevicesService","code1","bvcModels","_this$models$find$nam","_getAll","getAllHelper","_getAllByCustomerId","_getAllHelper","deviceData","deserializeDevice","updateModels","_getDeviceBaseModelCount","_getDevicesStatus","_getDevicesFromTenants","_getDeviceCuttingHeadVersionsHistory","copyKey","copyToClipboardFallback","textArea","select","execCommand","copyToClipboard","clipboard","writeText","coalescedText","_props$text","isSearchBoxActive","searchable","showToolbarRight","areFiltersOpenInternal","areFiltersApplying","onSearchTextChanged","hasTableActionsInToolbar","showFilters","applying","hasSelectionActions","workaroundClickPropagationIssue","hasFilters","hasRowActions","filteredData","checkable","checkedRows","stickyHeaders","customDetailRow","onRowClicked","rowActionsDisplayMode","isSearchBoxShown","closeSearch","activateSearch","SearchBox","_activateSearch","textInput","_closeSearch","columnSearchMatchers","getColumnSearchMatchers","filterData","filterValues","searchData","filterKey","slotProps","_slotProps$customSear","customSearch","createDefaultStringMatcher","isRowMenuOpen","checkboxCell","interceptedEvents","_getFieldPathValue"],"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,GAGnBC,EAAqB,CACxB,IAAO,GAMJjB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,OAAS,GAAG9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,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ACA,KAAAC,aACA,KAAAC,UACA,KAAAC,eACA,KAAAC,eACA,KAAAC,eACA,KAAAC,eACA,KAAAC,iBACA,KAAAC,kBACA,KAAAC,mBACA,KAAAC,qBACA,KAAAC,kBACA,KAAAC,yBACL,OAAAxtF,eAAApC,EAAA,EAAArE,IAAA,aAAAN,MAqBJ,WACE,OAAO6J,IAAOvH,KAAK+wF,OAAO18B,aAC3B,CAAAr2D,IAAA,kBAAAV,IAED,WACE,OAAQ0E,eAAMhC,KAAKiyF,2BACpB,EAAAj0F,IAAA,UAAAN,MAzBD,SAAe+C,EAAgByxF,GAC7B,OAAQA,GACN,KAAK,EACL,IAAK,WACH,OAAOzxF,EAAO+wF,aAChB,KAAK,EACL,IAAK,WACH,OAAO/wF,EAAOgxF,aAChB,KAAK,EACL,IAAK,WACH,OAAOhxF,EAAOixF,aAChB,KAAK,EACL,IAAK,WACH,OAAOjxF,EAAOkxF,aAChB,QACE,OAAOxoF,OAAKxL,EAAE,kBAAkByL,cAErC,CAAApL,IAAA,WAAAN,MAUD,WACE,OAAO,IAAI2E,EACT,EACA,GACA,EACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,GACA,EACA,YACA,YACA,YACA,aACA,GACA,GACA,GACA,GACA,EACA,QAEH,CAAArE,IAAA,UAAAN,MAED,SAAe4uC,GACb,OAAO,IAAIjqC,EACTiqC,EAASlrC,GACTkrC,EAAS3vC,KACT2vC,EAASnpC,WACTmpC,EAASlwB,MACTkwB,EAASqkD,SACTrkD,EAASskD,SACTtkD,EAASukD,UACTvkD,EAAShD,aACTgD,EAAS6gD,YACT7gD,EAASqe,SACTre,EAAS1pB,aACT0pB,EAASwkD,QACTxkD,EAASykD,MACTzkD,EAAS0kD,qBACT1kD,EAAS2kD,qBACT3kD,EAAS4kD,oBACT5kD,EAAS6kD,oBACT7kD,EAAS8kD,WACT9kD,EAAS+kD,eACT/kD,EAASglD,WACThlD,EAASilD,QACTjlD,EAASklD,aACTllD,EAASmlD,aACTnlD,EAASolD,aACTplD,EAASqlD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","file":"js/app.73a5ed57.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 CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-06336ebf\":\"78fd5828\",\"chunk-06e90762\":\"e263af2b\",\"chunk-07a220d5\":\"509a2bac\",\"chunk-0a6d6353\":\"bc7ec34a\",\"chunk-0b33ee9a\":\"376f8ca0\",\"chunk-0b38354b\":\"30324582\",\"chunk-1350104f\":\"85700ef6\",\"chunk-1352a84a\":\"987a7c13\",\"chunk-1dd7856b\":\"f796b509\",\"chunk-299b8334\":\"7e74291a\",\"chunk-2ad12796\":\"8d7c2bcd\",\"chunk-2d0a385c\":\"89493777\",\"chunk-2d0a4099\":\"f63eb46c\",\"chunk-2d0ac98b\":\"260bf1a4\",\"chunk-2d0aecbc\":\"04d6802c\",\"chunk-2d0af127\":\"f8b35237\",\"chunk-2d0b16c2\":\"36e68358\",\"chunk-2d0b1c16\":\"7ec651a8\",\"chunk-2d0b343d\":\"7e107a06\",\"chunk-2d0b8a57\":\"ed87e4f6\",\"chunk-2d0b9828\":\"13989911\",\"chunk-2d0b9c12\":\"6db0d87f\",\"chunk-2d0baaed\":\"c80cca23\",\"chunk-2d0bcec2\":\"ab57466d\",\"chunk-2d0bfeb1\":\"a1e703c2\",\"chunk-2d0c0acc\":\"cfc4b6d9\",\"chunk-2d0c1188\":\"1ff6fc97\",\"chunk-2d0c1b2b\":\"f79da300\",\"chunk-2d0c20d8\":\"e8b732ed\",\"chunk-2d0c22b0\":\"35fead74\",\"chunk-2d0c5785\":\"5d5362f1\",\"chunk-2d0c8826\":\"6ea6dbec\",\"chunk-2d0c897d\":\"43a525c7\",\"chunk-2d0c8a36\":\"7da383e1\",\"chunk-2d0c9aa9\":\"8e23ff7a\",\"chunk-2d0cb6b5\":\"61f2b658\",\"chunk-2d0cc0c1\":\"c7d7c94f\",\"chunk-2d0cc224\":\"3819765e\",\"chunk-2d0cc623\":\"9e93ce5e\",\"chunk-2d0cefbf\":\"b61423a3\",\"chunk-2d0d0256\":\"88bcd123\",\"chunk-2d0d2c0a\":\"e05a2ae7\",\"chunk-2d0dd860\":\"26a57842\",\"chunk-2d0e1c01\":\"50b28631\",\"chunk-2d0e2701\":\"e979bc1b\",\"chunk-2d0e48e8\":\"49c315ff\",\"chunk-2d0e88dc\":\"1fade06b\",\"chunk-2d0e9556\":\"856e4e47\",\"chunk-2d0f06bd\":\"2b76455f\",\"chunk-2d208268\":\"572ff0a4\",\"chunk-2d208687\":\"b42e27bd\",\"chunk-2d20f6ce\":\"d683d903\",\"chunk-2d20fb44\":\"01568e79\",\"chunk-2d21047d\":\"20243759\",\"chunk-2d210a6d\":\"6a0fb2fa\",\"chunk-2d212f55\":\"0dd9fc25\",\"chunk-2d2167c6\":\"93e2a017\",\"chunk-2d216d56\":\"3cdfbc93\",\"chunk-2d2173b1\":\"ad86b17c\",\"chunk-2d217534\":\"768f0d28\",\"chunk-2d219fb6\":\"4c8fcfd5\",\"chunk-2d21e71c\":\"bb64c723\",\"chunk-2d221796\":\"cdfa0f3b\",\"chunk-2d221874\":\"b6c6ac83\",\"chunk-2d221bc8\":\"8595fb10\",\"chunk-2d222cc9\":\"0a4c5b29\",\"chunk-2d2244a8\":\"1302bdf5\",\"chunk-2d2264ff\":\"4d813fcb\",\"chunk-2d2266e7\":\"2624708f\",\"chunk-2d226cd9\":\"42254341\",\"chunk-2d229b49\":\"1b213485\",\"chunk-2d22c55c\":\"4a205692\",\"chunk-2d22ce16\":\"8879cf08\",\"chunk-2d230521\":\"47d4ba62\",\"chunk-2d231019\":\"4be967f5\",\"chunk-33aae3b6\":\"c8049669\",\"chunk-3729bbc9\":\"16c52841\",\"chunk-380cc77e\":\"e3e50ccf\",\"chunk-3a103d88\":\"1e98983d\",\"chunk-3ed7ba60\":\"9f6011f3\",\"chunk-3fbeb190\":\"88798f45\",\"chunk-4667f2ef\":\"11e59d84\",\"chunk-46b6c366\":\"6f62f9ad\",\"chunk-2d0a43dd\":\"0a7464b7\",\"chunk-2d0abf93\":\"45e38d29\",\"chunk-2d217b19\":\"04ca770a\",\"chunk-2d23012e\":\"965e11f9\",\"chunk-4be88365\":\"80e86347\",\"chunk-4ed508c6\":\"f7e38418\",\"chunk-53109d13\":\"c1d48586\",\"chunk-5644c06f\":\"97a7b56e\",\"chunk-56e95287\":\"29fb060c\",\"chunk-5a0cca38\":\"6eff88ba\",\"chunk-5bf60ebf\":\"f0011802\",\"chunk-676c1160\":\"5e88f377\",\"chunk-72b054e2\":\"6c5a7827\",\"chunk-72b0d364\":\"62fb2224\",\"chunk-72c50bf4\":\"5e338ff7\",\"chunk-72c5f2c4\":\"f8b38662\",\"chunk-73780dd7\":\"ceaa18ce\",\"chunk-74597aac\":\"f5cde341\",\"chunk-75a6c99c\":\"37116711\",\"chunk-77040137\":\"fe283059\",\"chunk-7712e28f\":\"a5206dc7\",\"chunk-7e287e5e\":\"1b3fdfab\",\"chunk-7e5929a2\":\"d3ba004b\",\"chunk-7fcd0114\":\"5bd8bd9f\",\"chunk-9618ac24\":\"1ff3099c\",\"chunk-a9121e9a\":\"70bf75a5\",\"chunk-b20ff67c\":\"266a796f\",\"chunk-c8741324\":\"68e43f71\",\"chunk-c87653e2\":\"fb6c7d88\",\"chunk-c8a052c0\":\"aacc0483\",\"chunk-c8a36f00\":\"37cb5128\",\"chunk-c8b684d2\":\"992ab294\",\"chunk-d9f2a6a8\":\"61ad35e4\",\"chunk-db82eec0\":\"874e307c\",\"chunk-e064847e\":\"6601aa33\",\"chunk-e1543764\":\"e7603e4f\",\"chunk-eae05144\":\"ec673fd4\",\"chunk-ec772556\":\"215d7b9a\",\"chunk-ee81084c\":\"4fc9d8c5\",\"chunk-0ab3d5cc\":\"11a41c60\",\"chunk-c3978a46\":\"4435d696\",\"chunk-f8d9b2c8\":\"ec43891a\",\"chunk-fb630ab2\":\"de83c9d5\",\"chunk-fec9e300\":\"03ac0eba\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-06e90762\":1,\"chunk-07a220d5\":1,\"chunk-0a6d6353\":1,\"chunk-0b33ee9a\":1,\"chunk-1dd7856b\":1,\"chunk-2ad12796\":1,\"chunk-33aae3b6\":1,\"chunk-3a103d88\":1,\"chunk-3ed7ba60\":1,\"chunk-4667f2ef\":1,\"chunk-46b6c366\":1,\"chunk-4ed508c6\":1,\"chunk-53109d13\":1,\"chunk-5a0cca38\":1,\"chunk-676c1160\":1,\"chunk-77040137\":1,\"chunk-7e287e5e\":1,\"chunk-7e5929a2\":1,\"chunk-b20ff67c\":1,\"chunk-c8b684d2\":1,\"chunk-db82eec0\":1,\"chunk-eae05144\":1,\"chunk-ee81084c\":1,\"chunk-0ab3d5cc\":1,\"chunk-c3978a46\":1,\"chunk-fb630ab2\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-06336ebf\":\"31d6cfe0\",\"chunk-06e90762\":\"5ddb70bd\",\"chunk-07a220d5\":\"3b8321eb\",\"chunk-0a6d6353\":\"fbe560c1\",\"chunk-0b33ee9a\":\"49e7cd2f\",\"chunk-0b38354b\":\"31d6cfe0\",\"chunk-1350104f\":\"31d6cfe0\",\"chunk-1352a84a\":\"31d6cfe0\",\"chunk-1dd7856b\":\"6c0b553f\",\"chunk-299b8334\":\"31d6cfe0\",\"chunk-2ad12796\":\"2df3bebb\",\"chunk-2d0a385c\":\"31d6cfe0\",\"chunk-2d0a4099\":\"31d6cfe0\",\"chunk-2d0ac98b\":\"31d6cfe0\",\"chunk-2d0aecbc\":\"31d6cfe0\",\"chunk-2d0af127\":\"31d6cfe0\",\"chunk-2d0b16c2\":\"31d6cfe0\",\"chunk-2d0b1c16\":\"31d6cfe0\",\"chunk-2d0b343d\":\"31d6cfe0\",\"chunk-2d0b8a57\":\"31d6cfe0\",\"chunk-2d0b9828\":\"31d6cfe0\",\"chunk-2d0b9c12\":\"31d6cfe0\",\"chunk-2d0baaed\":\"31d6cfe0\",\"chunk-2d0bcec2\":\"31d6cfe0\",\"chunk-2d0bfeb1\":\"31d6cfe0\",\"chunk-2d0c0acc\":\"31d6cfe0\",\"chunk-2d0c1188\":\"31d6cfe0\",\"chunk-2d0c1b2b\":\"31d6cfe0\",\"chunk-2d0c20d8\":\"31d6cfe0\",\"chunk-2d0c22b0\":\"31d6cfe0\",\"chunk-2d0c5785\":\"31d6cfe0\",\"chunk-2d0c8826\":\"31d6cfe0\",\"chunk-2d0c897d\":\"31d6cfe0\",\"chunk-2d0c8a36\":\"31d6cfe0\",\"chunk-2d0c9aa9\":\"31d6cfe0\",\"chunk-2d0cb6b5\":\"31d6cfe0\",\"chunk-2d0cc0c1\":\"31d6cfe0\",\"chunk-2d0cc224\":\"31d6cfe0\",\"chunk-2d0cc623\":\"31d6cfe0\",\"chunk-2d0cefbf\":\"31d6cfe0\",\"chunk-2d0d0256\":\"31d6cfe0\",\"chunk-2d0d2c0a\":\"31d6cfe0\",\"chunk-2d0dd860\":\"31d6cfe0\",\"chunk-2d0e1c01\":\"31d6cfe0\",\"chunk-2d0e2701\":\"31d6cfe0\",\"chunk-2d0e48e8\":\"31d6cfe0\",\"chunk-2d0e88dc\":\"31d6cfe0\",\"chunk-2d0e9556\":\"31d6cfe0\",\"chunk-2d0f06bd\":\"31d6cfe0\",\"chunk-2d208268\":\"31d6cfe0\",\"chunk-2d208687\":\"31d6cfe0\",\"chunk-2d20f6ce\":\"31d6cfe0\",\"chunk-2d20fb44\":\"31d6cfe0\",\"chunk-2d21047d\":\"31d6cfe0\",\"chunk-2d210a6d\":\"31d6cfe0\",\"chunk-2d212f55\":\"31d6cfe0\",\"chunk-2d2167c6\":\"31d6cfe0\",\"chunk-2d216d56\":\"31d6cfe0\",\"chunk-2d2173b1\":\"31d6cfe0\",\"chunk-2d217534\":\"31d6cfe0\",\"chunk-2d219fb6\":\"31d6cfe0\",\"chunk-2d21e71c\":\"31d6cfe0\",\"chunk-2d221796\":\"31d6cfe0\",\"chunk-2d221874\":\"31d6cfe0\",\"chunk-2d221bc8\":\"31d6cfe0\",\"chunk-2d222cc9\":\"31d6cfe0\",\"chunk-2d2244a8\":\"31d6cfe0\",\"chunk-2d2264ff\":\"31d6cfe0\",\"chunk-2d2266e7\":\"31d6cfe0\",\"chunk-2d226cd9\":\"31d6cfe0\",\"chunk-2d229b49\":\"31d6cfe0\",\"chunk-2d22c55c\":\"31d6cfe0\",\"chunk-2d22ce16\":\"31d6cfe0\",\"chunk-2d230521\":\"31d6cfe0\",\"chunk-2d231019\":\"31d6cfe0\",\"chunk-33aae3b6\":\"218420a8\",\"chunk-3729bbc9\":\"31d6cfe0\",\"chunk-380cc77e\":\"31d6cfe0\",\"chunk-3a103d88\":\"7cf86c60\",\"chunk-3ed7ba60\":\"efde0425\",\"chunk-3fbeb190\":\"31d6cfe0\",\"chunk-4667f2ef\":\"8d864624\",\"chunk-46b6c366\":\"377d8034\",\"chunk-2d0a43dd\":\"31d6cfe0\",\"chunk-2d0abf93\":\"31d6cfe0\",\"chunk-2d217b19\":\"31d6cfe0\",\"chunk-2d23012e\":\"31d6cfe0\",\"chunk-4be88365\":\"31d6cfe0\",\"chunk-4ed508c6\":\"a877f269\",\"chunk-53109d13\":\"314f9ec1\",\"chunk-5644c06f\":\"31d6cfe0\",\"chunk-56e95287\":\"31d6cfe0\",\"chunk-5a0cca38\":\"e5297099\",\"chunk-5bf60ebf\":\"31d6cfe0\",\"chunk-676c1160\":\"c3fcb37f\",\"chunk-72b054e2\":\"31d6cfe0\",\"chunk-72b0d364\":\"31d6cfe0\",\"chunk-72c50bf4\":\"31d6cfe0\",\"chunk-72c5f2c4\":\"31d6cfe0\",\"chunk-73780dd7\":\"31d6cfe0\",\"chunk-74597aac\":\"31d6cfe0\",\"chunk-75a6c99c\":\"31d6cfe0\",\"chunk-77040137\":\"1f51d2e6\",\"chunk-7712e28f\":\"31d6cfe0\",\"chunk-7e287e5e\":\"bf150adf\",\"chunk-7e5929a2\":\"c0365918\",\"chunk-7fcd0114\":\"31d6cfe0\",\"chunk-9618ac24\":\"31d6cfe0\",\"chunk-a9121e9a\":\"31d6cfe0\",\"chunk-b20ff67c\":\"3e7cfe4a\",\"chunk-c8741324\":\"31d6cfe0\",\"chunk-c87653e2\":\"31d6cfe0\",\"chunk-c8a052c0\":\"31d6cfe0\",\"chunk-c8a36f00\":\"31d6cfe0\",\"chunk-c8b684d2\":\"c80cd335\",\"chunk-d9f2a6a8\":\"31d6cfe0\",\"chunk-db82eec0\":\"d331ba79\",\"chunk-e064847e\":\"31d6cfe0\",\"chunk-e1543764\":\"31d6cfe0\",\"chunk-eae05144\":\"a1b3f7b5\",\"chunk-ec772556\":\"31d6cfe0\",\"chunk-ee81084c\":\"016f8803\",\"chunk-0ab3d5cc\":\"167bb5c6\",\"chunk-c3978a46\":\"7accf0fe\",\"chunk-f8d9b2c8\":\"31d6cfe0\",\"chunk-fb630ab2\":\"591f41a3\",\"chunk-fec9e300\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShiftModelSelect.vue?vue&type=style&index=0&id=021767d8&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangeToPostponedDate.vue?vue&type=style&index=0&id=b254c538&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFormModal.vue?vue&type=style&index=1&id=8f964ff4&prod&lang=scss\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { defineStore } from 'pinia';\nimport { TimeZone } from '@/models/timeZone';\nimport { CurrencyCode } from '@/models/currencyCode';\nimport { Measurement } from '@/models/measurement';\nimport { DeviceBaseModel } from '@/models/deviceBaseModel';\nimport { User } from '@/models/user';\nimport { UserAlertStatus } from '@/models/userAlertStatus';\nimport { Tenant } from '@/models/tenant';\nimport { Device } from '@/models/device';\nimport { Shift } from '@/models/shift';\nimport { Target } from '@/models/target';\nimport { UserTarget } from '@/models/userTarget';\nimport { AlertKPI, AlertKPIGroup, AlertMetric } from '@/models/enums/AlertsEnums';\nimport { UserCustomNotificationStatus } from '@/models/customNotifications';\nimport { isNil } from '@/utils/misc';\nimport { AlertWorkflowNotification } from '@/models/AlertWorkflowNotification';\nimport { Location } from '@/models/location';\n\nexport type Notification =\n | UserAlertStatus\n | UserCustomNotificationStatus\n | AlertWorkflowNotification;\n\ninterface PersistentState {\n locale: string;\n timezones: TimeZone[];\n currencyCodes: CurrencyCode[];\n measurements: Measurement[];\n deviceBaseModels: DeviceBaseModel[];\n internalCurrentUser: User | null;\n notifications: Notification[];\n internalTenant: Tenant | null;\n internalDevices: Device[];\n locations: Location[];\n shifts: Shift[];\n targets: Target[];\n userTargets: UserTarget[];\n kpiGroups: AlertKPIGroup[];\n eventModules: string[];\n eventCodes: string[];\n}\n\nexport const usePersistentStore = defineStore('persistent', {\n state: (): PersistentState => ({\n locale: '',\n timezones: [],\n currencyCodes: [],\n measurements: [],\n deviceBaseModels: [],\n internalCurrentUser: null,\n notifications: [],\n internalTenant: null,\n internalDevices: [],\n locations: [],\n shifts: [],\n targets: [],\n userTargets: [],\n kpiGroups: [],\n eventModules: [],\n eventCodes: [],\n }),\n actions: {\n setLocale(locale: string) {\n this.locale = locale;\n },\n setTimezones(timezones: TimeZone[]) {\n this.timezones = timezones;\n },\n setCurrencyCodes(currencyCodes: CurrencyCode[]) {\n this.currencyCodes = currencyCodes;\n },\n setMeasurements(measurements: Measurement[]) {\n this.measurements = measurements;\n },\n setDeviceBaseModels(deviceBaseModels: DeviceBaseModel[]) {\n this.deviceBaseModels = deviceBaseModels;\n },\n setCurrentUser(currentUser: User | null) {\n this.internalCurrentUser = currentUser;\n },\n setNotifications(notifications: Notification[]) {\n this.notifications = notifications;\n },\n setTenant(tenant: Tenant | null) {\n this.internalTenant = tenant;\n },\n setDevices(devices: Device[]) {\n this.internalDevices = devices;\n },\n addDevice(device: Device) {\n this.internalDevices = [...this.internalDevices, device];\n },\n setLocations(locations: Location[]) {\n this.locations = locations;\n },\n setShifts(shifts: Shift[]) {\n this.shifts = shifts;\n },\n addShift(shift: Shift) {\n this.shifts = [...this.shifts, shift];\n },\n deleteShift(id: number) {\n this.shifts = this.shifts.filter((shift) => shift.id !== id);\n },\n deleteUserTarget(id: number) {\n this.userTargets = this.userTargets.filter((item) => item.id !== id);\n },\n setTargets(targets: Target[]) {\n this.targets = targets;\n },\n setUserTargets(userTargets: UserTarget[]) {\n this.userTargets = userTargets;\n },\n setKpiGroups(kpiGroups: AlertKPIGroup[]) {\n this.kpiGroups = kpiGroups;\n },\n setEventModules(eventModules: string[]) {\n this.eventModules = eventModules;\n },\n setEventCodes(eventCodes: string[]) {\n this.eventCodes = eventCodes;\n },\n resetState() {\n this.$reset();\n },\n },\n getters: {\n currentUser: (state): User | null => {\n if (isNil(state.internalCurrentUser)) {\n return null;\n }\n return User.GetCopy(state.internalCurrentUser as User);\n },\n devices: (state): Device[] =>\n state.internalDevices.map((device) => Device.GetCopy(device as Device)),\n tenant: (state): Tenant | null => {\n if (isNil(state.internalTenant)) {\n return null;\n }\n return Tenant.GetCopy(state.internalTenant as Tenant);\n },\n kpis: (state): AlertKPI[] => {\n return state.kpiGroups.flatMap((group) => group.alertKpis);\n },\n getAlertKpiByMetric() {\n return (metric: AlertMetric) => this.kpis.find((kpi) => kpi.kpi === metric);\n },\n },\n persist: true,\n});\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { getStateColour } from '@/utils/color';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { Device } from '../device';\nimport { CustomSeriesRenderItem, CustomSeriesRenderItemAPI, graphic, EChartsOption } from 'echarts';\nimport moment from 'moment';\nimport { GeneratorParams } from './generatorParams';\nimport { mockGanttData } from './mockWidgetSelectorData';\nimport { isEmpty } from '@/utils/misc';\nimport { metricsService } from '@/services/metrics.service';\nimport { formatDuration } from '@/utils/dates';\nimport { CutOrTubesDeviceGanttStatus, LaserGanttData } from './chartsData';\nimport { devicesService } from '@/services/devices.service';\nimport { values } from '@/utils/enum';\n\nexport class GanttChartGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n selectedDevices =\n selectedDevices.length !== 0 ? selectedDevices : devicesService.store.cutDevicesIds();\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: LaserGanttData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const allDevices = devicesService.store.get();\n const resultDeviceIds: string[] = [...new Set(data.map((x) => x.deviceid))];\n const devices: Device[] = allDevices.filter(\n (x: Device) => resultDeviceIds.indexOf(x.deviceId) !== -1,\n );\n\n const seriesData: any[] = [];\n for (let index = 0; index < devices.length; index++) {\n const device = devices[index];\n const entryList = data\n .filter((x) => x.deviceid === device.deviceId)\n .sort((a, b) => {\n if (a.start_timestamp === b.start_timestamp) {\n return a.end_timestamp - b.end_timestamp;\n } else {\n return a.start_timestamp - b.start_timestamp;\n }\n });\n const mergedEntries: LaserGanttData[] = [];\n for (const entry of entryList) {\n if (\n mergedEntries.length === 0 ||\n mergedEntries[mergedEntries.length - 1].state !== entry.state ||\n entry.start_timestamp - mergedEntries[mergedEntries.length - 1].end_timestamp > 1\n ) {\n mergedEntries.push(entry);\n } else {\n const last = mergedEntries.pop()!;\n const newEntry: LaserGanttData = {\n ...last,\n end_timestamp: entry.end_timestamp,\n duration: entry.end_timestamp - last.start_timestamp,\n };\n mergedEntries.push(newEntry);\n }\n }\n\n seriesData.push(\n ...mergedEntries.map((x: LaserGanttData) => ({\n value: [index, x.start_timestamp * 1000, x.end_timestamp * 1000, x.duration],\n itemStyle: {\n color: getStateColour(x.state),\n },\n state: x.state,\n })),\n );\n }\n\n return {\n tooltip: {\n confine: true,\n formatter(params: any) {\n const startTime = moment(params.value[1]);\n const endTime = moment(params.value[2]);\n const dateStr = startTime.format('YYYY-MM-DD');\n const duration = formatDuration(params.value[3]);\n return (\n `

${dateStr}

` +\n `

${params.marker + params.name}

` +\n `

${startTime.format('HH:mm:ss')} - ${endTime.format('HH:mm:ss')}

` +\n `${duration}`\n );\n },\n },\n dataZoom: [\n {\n type: 'slider',\n filterMode: 'weakFilter',\n showDataShadow: false,\n bottom: 32,\n labelFormatter: '',\n },\n {\n type: 'inside',\n filterMode: 'weakFilter',\n },\n ],\n grid: {\n top: 8,\n bottom: 96,\n containLabel: true,\n right: 16,\n left: 16,\n },\n xAxis: {\n type: 'time',\n },\n yAxis: {\n data: devices.map((dev: Device) => dev.name),\n },\n legend: {\n show: true,\n bottom: 64,\n },\n series: values(CutOrTubesDeviceGanttStatus)\n .map((state) => ({\n type: 'custom' as const,\n renderItem: this.renderItem,\n itemStyle: {\n opacity: 0.8,\n color: getStateColour(state),\n },\n encode: {\n x: [1, 2],\n y: 0,\n },\n animation: false,\n name: i18n.t(`report.${state}`).toString(),\n data: seriesData.filter((x) => x.state === state),\n }))\n .filter((series) => !isEmpty(series.data)),\n };\n }\n\n override getMockData(): LaserGanttData[] | null {\n return mockGanttData();\n }\n\n private readonly renderItem: CustomSeriesRenderItem = (\n params: any,\n api: CustomSeriesRenderItemAPI,\n ) => {\n const categoryIndex = api.value(0);\n const start = api.coord([api.value(1), categoryIndex]);\n const end = api.coord([api.value(2), categoryIndex]);\n const height = (api.size!([0, 1]) as number[])[1] * 0.6;\n\n return {\n type: 'rect',\n transition: ['shape'],\n shape: graphic.clipRectByRect(\n {\n x: start[0],\n y: start[1] - height / 2,\n width: end[0] - start[0],\n height,\n },\n {\n x: params.coordSys.x,\n y: params.coordSys.y,\n width: params.coordSys.width,\n height: params.coordSys.height,\n },\n ),\n style: api.style(),\n };\n };\n}\n","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nimport Vue from 'vue';\r\nimport { createPinia, defineStore, PiniaVuePlugin } from 'pinia';\r\nimport Customer from '@/models/customer';\r\nimport piniaPluginPersistedstate from 'pinia-plugin-persistedstate';\r\nimport { localStorageService } from '@/library-services/localStorage.service';\r\n\r\nlocalStorageService.removeVuex();\r\nVue.use(PiniaVuePlugin);\r\nconst pinia = createPinia();\r\npinia.use(piniaPluginPersistedstate);\r\n\r\nexport interface RootState {\r\n spinners: number;\r\n termsAcceptedSession: boolean;\r\n userInfoLoaded: boolean;\r\n customers: Customer[];\r\n}\r\n\r\nexport const useRootStore = defineStore('root', {\r\n state: (): RootState => ({\r\n spinners: 0,\r\n termsAcceptedSession: false,\r\n userInfoLoaded: false,\r\n customers: [],\r\n }),\r\n actions: {\r\n showSpinner() {\r\n this.spinners++;\r\n },\r\n removeSpinner() {\r\n if (this.spinners > 0) {\r\n this.spinners--;\r\n }\r\n },\r\n setTermsAcceptedSession(value: boolean) {\r\n this.termsAcceptedSession = value;\r\n },\r\n setUserInfoLoaded(value: boolean) {\r\n this.userInfoLoaded = value;\r\n },\r\n setCustomers(value: Customer[]) {\r\n this.customers = value;\r\n },\r\n },\r\n});\r\n\r\nexport default pinia;\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationsMenu.vue?vue&type=style&index=0&id=5958a182&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequiredFieldsHint.vue?vue&type=style&index=0&id=ba47dc50&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nexport enum WidgetType {\n Undefined = 0,\n Echarts = 1,\n CameraView = 2,\n Map = 3,\n Slot = 4,\n Table = 5,\n KPI = 6,\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CareAlertCreationWizard.vue?vue&type=style&index=0&id=0d28ce99&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nexport enum AggregateEnum {\n Min = 'min',\n Avg = 'avg',\n Q95 = 'q95',\n Max = 'max',\n}\n","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nexport default class Customer {\r\n constructor(public name: string, public no: string) {}\r\n}\r\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { useRootStore } from '@/store';\nimport WidgetDefinition, { CompatibleWidgetDefinition } from '../Charts/widgetDefinition';\nimport QuickSearchItem from '@/models/metrics/quickSearchItem';\nimport Customer from '../customer';\nimport { FilterTimeSpanEnum } from './FilterTimeSpanEnum';\nimport moment from 'moment';\nimport {\n ImportantMessageLevel,\n QuotesAbcCustomersData,\n QuotesSizeFilterData,\n} from '../Charts/chartsData';\nimport { LaserOutputAndScrapTimelineChartMode } from './LaserOutputAndScrapTimelineChartMode';\nimport { LineChartMode } from './LineChartMode';\nimport WidgetFactory from '../Charts/widgetFactory';\nimport { getWidgetMachineType } from '../widgetMachineType';\nimport { MachineType } from './MachineType';\nimport { WidgetType } from './WidgetType';\nimport { DEFAULT_DAYS_PER_INTERVAL } from '../Charts/polStatusDueDateGenerator';\nimport { AggregateEnum } from './AggregateEnum';\nimport { metricsService } from '@/services/metrics.service';\nimport { isNil } from '@/utils/misc';\nimport { tenantsService } from '@/services/tenants.service';\n\nexport type ChildUpdater = (\n value: T,\n wd: WidgetDefinition,\n) => ParamConfiguration | Promise;\n\nexport type ParamValue = boolean | number | number[] | string | string[] | ImportantMessageLevel[];\n\nexport type RetrocompatibilityFunction = (config: CompatibleWidgetDefinition) => T | undefined;\nexport interface ParamType {\n defaultValue?: T;\n retrocompatibilityMap?: RetrocompatibilityFunction;\n validation?: (value: T) => boolean;\n children?: Record>;\n}\n\nexport interface ParamRadio extends ParamType {\n type: 'radio';\n}\n\nexport interface ParamNumber extends ParamType {\n type: 'number';\n min?: number;\n max?: number;\n}\n\nexport interface ParamList extends ParamType {\n type: 'list';\n values: string[];\n}\n\nexport interface ParamSlider extends ParamType {\n type: 'slider';\n tickValues: number[];\n}\n\nexport type ParamConfiguration = ParamNumber | ParamRadio | ParamList | ParamSlider;\n\nexport interface Params {\n [key: string]: ParamConfiguration;\n}\n\nexport enum DetailedViewEnum {\n // Laser\n CutStatesIntraday = 'laser_states_time_intraday',\n IntradayOeeTime = 'laser_oee_intraday',\n CumulativeCuttingTime = 'laser_cumulative_cutting_time',\n CumulativeCuttingTimePerShift = 'laser_cumulative_cutting_time_per_shift',\n LaserTodaysGas = 'laser_cutting_time_per_gas',\n\n // Quotes\n QuotesCustomerExpandedView = 'quotes_abc_customers',\n\n // Sales\n SalesCustomerGroupsDetailed = 'abc_customer_sales',\n\n // Tubes\n TubesCumulativeCuttingTime = 'tubes_cumulative_cutting_time',\n TubesCumulativeCuttingTimePerShift = 'tubes_cumulative_cutting_time_per_shift',\n TubesCuttingTimePerGas = 'tubes_cutting_time_per_gas',\n}\n\nexport enum WidgetEnum {\n // Dashboard exclusive widgets\n CameraView = 'camera_view',\n FactoryOverview = 'factory_overview',\n\n // Work center console > Overview\n OverviewData = 'overview_data',\n OverviewLaserWorkload = 'overview_laser_workload',\n OverviewBendCurrentPlan = 'current_plan_data',\n\n // Work center console > Cut\n LaserAvailability = 'laser_availability',\n LaserProductivity = 'laser_productivity',\n LaserOee = 'laser_oee',\n LaserStarveBlock = 'laser_starve_block',\n LaserOutputScrap = 'laser_output_scrap',\n LaserCuttingTime = 'laser_cutting_time',\n LaserAvailabilityHist = 'laser_availability_hist',\n LaserProductivityHist = 'laser_productivity_hist',\n LaserOeeHist = 'laser_oee_hist',\n LaserCuttingTimeHist = 'laser_cutting_time_hist',\n LaserStarveBlockHist = 'laser_starve_block_hist',\n LaserOutputAndScrapTimeline = 'laser_output_scrap_hist',\n CutStatus = 'laser_status',\n LaserCurrentWorkload = 'cutting_info',\n LaserIntradayAvailabilityTable = 'laser_states_gantt_table',\n\n // Work center console > Bend\n BendingAvailability = 'bending_availability',\n BendingTimeBetweenBend = 'bending_time_between_bend',\n BendingTopParts = 'bending_top_parts',\n BendingPerformancePart = 'bending_performance_part',\n BendingAvailabilityHist = 'bending_availability_hist',\n BendingTimeBetweenBendHist = 'bending_time_between_bend_hist',\n BendingPerformancePartHist = 'bending_performance_part_hist',\n BendingPerformanceHist = 'bending_performance_hist',\n BendingPerformance = 'bending_performance',\n BendStatus = 'bending_status',\n BendingNumberOfBendsTimeline = 'bending_bends_hist',\n BendIntradayAvailabilityTable = 'intraday_availability',\n BendSheetPartsGanttTable = 'bend_sheet_parts_gantt_table',\n BendProductivityFigures = 'productivity_figures',\n BendShiftStatistics = 'bend_shift_statistics',\n BendRankingOfParts = 'bend_ranking_of_parts',\n BendFlowSpeedStatesGanttTable = 'bend_speed_flow_states_gantt_table',\n BendStatusOverview = 'statuses_overview',\n NumberOfBendsWidget = 'bend_count',\n PeakHourlyBendingWidget = 'max_hourly_peak',\n BendProductionOutputWidget = 'production_output',\n BendToolChangesWidget = 'tool_changes',\n\n // Work center console > Tube\n TubeAvailability = 'tubes_availability',\n TubeProductivity = 'tubes_productivity',\n TubeOee = 'tubes_oee',\n TubeStarveBlock = 'tubes_starve_block',\n TubeOutputScrap = 'tubes_output_scrap',\n TubeCuttingTime = 'tubes_cutting_time',\n TubeAvailabilityHist = 'tubes_availability_hist',\n TubeProductivityHist = 'tubes_productivity_hist',\n TubeOeeHist = 'tubes_oee_hist',\n TubeCuttingTimeHist = 'tubes_cutting_time_hist',\n TubeStarveBlockHist = 'tubes_starve_block_hist',\n TubeOutputScrapHist = 'tubes_output_scrap_hist',\n TubeStatus = 'tubes_status',\n TubeIntradayAvailabilityTable = 'tubes_states_gantt',\n\n // Business console\n SalesMap = 'map_sales',\n QuotesMap = 'map_quotes',\n OpenSalesFunnel = 'open_sales_funnel',\n BusinessOverviewFigures = 'business_figures',\n\n // Business console > Quotes\n QuotesAbcCustomers = 'quotes_abc_customers',\n QuotesConvertedAmountTimeline = 'amount_vs_converted_amount',\n QuotesConversionRates = 'quotes_conversion_rates',\n QuotesConversionRatesGauge = 'quotes_conversion_rates_gauge',\n QuotesCustomerEvolution = 'a_group_amount_converted',\n QuotesSize = 'quotes_size',\n QuotesSizeFilter = 'quotes_size_filter',\n QuotesFigures = 'quotes_figures',\n QuotesFiguresDetailed = 'quotes_figures_detailed',\n QuotesTopQuotedMaterialsTimeline = 'quotes_materials',\n QuotesQuotedMaterialsList = 'quotes_materials_list',\n QuotesConvertedMap = 'map_converted_quotes',\n QuotesTopSalespeopleDetailed = 'top_salespeople_detailed',\n\n // Business console > Sales\n SalesCustomerGroups = 'abc_customer_sales',\n SalesTopSalespeople = 'top_salespeople',\n SalesFunnel = 'sales_funnel',\n SalesFigures = 'sales_figures',\n SalesTimeline = 'sales_timeline',\n SalesUnpaidDistribution = 'sales_unpaid_distribution',\n AmountVsNumberOfQuotesBySalesperson = 'amount_vs_number_of_quotes_by_salesperson',\n SalesAmountBySalesperson = 'sales_amount_by_sales_person',\n SalesItemChangesBySalesperson = 'sales_item_changes_by_sales_person',\n NumberOfSalesBySalesperson = 'number_of_sales_by_sales_person',\n SalesPerSalespersonTimeline = 'sales_per_salesperson',\n\n // Shop floor console > Manufacturing\n ManufacturingPOStatus = 'manufacturing_po_status',\n ManufacturingFinishedPOEstimatedVsActualPOL = 'manufacturing_PO_time_estimated_vs_executed',\n ManufacturingReleasedPOStatus = 'manufacturing_released_po_status',\n ManufacturingPOLStatusDueDate = 'manufacturing_POL_status_due_date',\n ManufacturingFigures = 'manufacturing_kpi',\n ManufacturingPOFinishedDueDate = 'manufacturing_finished_PO_due_date',\n\n // Technology console\n TechnologyOverviewCuttingHoursTimeline = 'cutting_hours',\n TechnologyOverviewLaserConsumptionTimeline = 'overview_laser_consumption_timeline',\n TechnologyOverviewDrawerCycleTimes = 'overview_drawer_tab_bars',\n TechnologyOverviewSscFigures = 'overview_ssc_figures',\n TechnologyTemperatures = 'temperature_tab',\n TechnologyDrawerInformationTimeline = 'drawer_status_timeline',\n TechnologyDrawerCycleTimes = 'drawer_tab_bars',\n TechnologyLaserConsumptionTimeline = 'laser_tab_consumption',\n TechnologyLaserUsedVsNotUsedTimes = 'laser_tab_avail_hist',\n TechnologyLaserPowerUtilizationTimes = 'laser_tab_hist',\n TechnologyDriveCurrentTimeline = 'drives_tab_timeline',\n TechnologyDriveCurrentDifferenceHistogram = 'drives_tab_diffs_hist',\n TechnologyDriveAccumulatedCurrentDifferenceTimeline = 'drives_tab_accum_diffs',\n\n // Care console\n CareAlertOccurrencesTable = 'care_alert_occurrences_table',\n CareHealthTimeline = 'health_tab_all_timelines',\n CareHealthIndicators = 'health_tab_metrics',\n CareEventsTimeline = 'error_tab_bars_timeline',\n CareEventsByModule = 'error_tab_bars_by_module',\n CareCuttingHeadDiodesAndDrawerCyclesTimeline = 'cutting_head_drawer_diodes',\n CareCuttingHeadEventsTimeline = 'cutting_head_events_timeline',\n CareCuttingHeadTemperatures = 'ssc_temperatures',\n CareLaserConsumptionTimeline = 'care_laser_tab_consumption',\n CareLaserConsumptionAvailableVsUsedTimeline = 'care_laser_tab_avail_vs_used',\n CareLaserConsumptionPowerUtilizationTimeline = 'care_laser_tab_power_utilization_hist',\n CareOverviewDevice = 'care_overview_device',\n CareOverviewHealthIndicators = 'overview_tab_health_metrics',\n CareOverviewModuleEventsIndicators = 'overview_tab_events',\n\n EventsTable = 'error_tab_table',\n EventsTableExpandedView = 'events-table-expanded-view', // Only used on WidgetHelp\n CareErrorsAndWarningsBarChart = 'error_tab_bars', // Only used as ProcedureName\n\n // Dummy\n Dummy = 'dummy',\n}\n\nexport function findWidgetType(widget: WidgetEnum) {\n switch (widget) {\n case WidgetEnum.CameraView:\n return WidgetType.CameraView;\n case WidgetEnum.SalesMap:\n case WidgetEnum.QuotesMap:\n case WidgetEnum.QuotesConvertedMap:\n return WidgetType.Map;\n case WidgetEnum.CareHealthIndicators:\n case WidgetEnum.CareOverviewDevice:\n case WidgetEnum.CareOverviewHealthIndicators:\n case WidgetEnum.CareOverviewModuleEventsIndicators:\n case WidgetEnum.BendingPerformance:\n case WidgetEnum.CareAlertOccurrencesTable:\n case WidgetEnum.QuotesFigures:\n case WidgetEnum.SalesFigures:\n case WidgetEnum.BusinessOverviewFigures:\n case WidgetEnum.ManufacturingFigures:\n case WidgetEnum.QuotesFiguresDetailed:\n case WidgetEnum.TechnologyOverviewSscFigures:\n case WidgetEnum.BendStatus:\n case WidgetEnum.CutStatus:\n case WidgetEnum.TubeStatus:\n case WidgetEnum.EventsTable:\n case WidgetEnum.BendProductivityFigures:\n case WidgetEnum.BendStatusOverview:\n case WidgetEnum.BendShiftStatistics:\n case WidgetEnum.BendRankingOfParts:\n return WidgetType.Slot;\n case WidgetEnum.LaserCurrentWorkload:\n case WidgetEnum.LaserIntradayAvailabilityTable:\n case WidgetEnum.EventsTableExpandedView:\n case WidgetEnum.BendIntradayAvailabilityTable:\n case WidgetEnum.TubeIntradayAvailabilityTable:\n return WidgetType.Table;\n case WidgetEnum.NumberOfBendsWidget:\n case WidgetEnum.PeakHourlyBendingWidget:\n case WidgetEnum.BendProductionOutputWidget:\n case WidgetEnum.BendToolChangesWidget:\n return WidgetType.KPI;\n default:\n return WidgetType.Echarts;\n }\n}\n\nexport interface ModalConfiguration {\n type: string;\n propsData: string[];\n mapParamsToProps?: (params: any) => any;\n}\n\ntype IsExpandableFn = (wd: WidgetDefinition) => boolean;\ntype QuickSearchMethod = (wd: WidgetDefinition) => Promise;\nconst KPI_WIDGET_MIN_HEIGHT = '200px';\n\nexport class Widget {\n params: Params = {};\n modalConfiguration?: ModalConfiguration;\n dblClickModalConfiguration?: ModalConfiguration;\n quickSearchModalConfiguration?: ModalConfiguration;\n\n isDeviceDependent = false;\n defaultDatepickerInterval: [string, string] = [\n moment().subtract(6, 'days').format('YYYY-MM-DD'),\n moment().format('YYYY-MM-DD'),\n ];\n\n private datepickerEnabled = false;\n private timeMenuEnabled = false;\n private shiftMenuEnabled = false;\n private axisSpanFilterEnabled = false;\n private _minHeight: string = 'unset';\n\n private static readonly DEFAULT_EXPANDABLE_FN = () => false;\n\n constructor(\n public widget: WidgetEnum,\n public isExpandableFn: IsExpandableFn = Widget.DEFAULT_EXPANDABLE_FN,\n public quickSearchMethod?: QuickSearchMethod,\n ) {}\n\n static createKpiWidget(\n widget: WidgetEnum,\n isExpandableFn: (wd: WidgetDefinition) => boolean = Widget.DEFAULT_EXPANDABLE_FN,\n quickSearchMethod?: QuickSearchMethod,\n ): Widget {\n return new Widget(widget, isExpandableFn, quickSearchMethod).withMinHeight(\n KPI_WIDGET_MIN_HEIGHT,\n );\n }\n\n getModalConfiguration: () => ModalConfiguration | undefined = () => undefined;\n\n makeExpandable(modalConfiguration: ModalConfiguration): this {\n this.isExpandableFn = () => true;\n this.modalConfiguration = modalConfiguration;\n return this;\n }\n\n makeExpandableIf(\n fn: (wd: WidgetDefinition) => boolean,\n modalConfiguration: ModalConfiguration,\n ): this {\n this.isExpandableFn = fn;\n this.modalConfiguration = modalConfiguration;\n return this;\n }\n\n makeExpandableOnDblClick(modalConfiguration: ModalConfiguration): this {\n this.dblClickModalConfiguration = modalConfiguration;\n return this;\n }\n\n withQuickSearchFunction(\n fn: (wd: WidgetDefinition) => Promise,\n modalConfiguration: ModalConfiguration,\n ): this {\n this.quickSearchMethod = fn;\n this.quickSearchModalConfiguration = modalConfiguration;\n return this;\n }\n\n withParams(params: Params): this {\n this.params = params;\n return this;\n }\n\n withDatepicker(defaultDatepickerInterval?: [string, string]): this {\n if (!isNil(defaultDatepickerInterval)) {\n this.defaultDatepickerInterval = defaultDatepickerInterval;\n }\n this.datepickerEnabled = true;\n return this;\n }\n\n withTimeMenu(): this {\n this.timeMenuEnabled = true;\n return this;\n }\n\n withShiftMenu(): this {\n this.shiftMenuEnabled = true;\n return this;\n }\n\n withAxisSpanFilter(): this {\n this.axisSpanFilterEnabled = true;\n return this;\n }\n\n /**\n * Defines the minimum height for the widget.\n *\n * It should bet set on widgets that need a minimum height for being\n * visualized properly.\n *\n * @param minHeight String with any of the valid values of CSS's min-with\n * property.\n */\n withMinHeight(minHeight: string): this {\n this._minHeight = minHeight;\n return this;\n }\n\n makeDeviceDependent(): this {\n this.isDeviceDependent = true;\n return this;\n }\n\n get widgetType(): WidgetType {\n return findWidgetType(this.widget);\n }\n\n get machineType(): MachineType {\n return getWidgetMachineType(this.widget);\n }\n\n get isEcharts(): boolean {\n return this.widgetType === WidgetType.Echarts;\n }\n\n get isMap(): boolean {\n return this.widgetType === WidgetType.Map;\n }\n\n get isSlot(): boolean {\n return this.widgetType === WidgetType.Slot;\n }\n\n get isLineChart(): boolean {\n return WidgetFactory.createOptions(this.widget).isLineChart ?? false;\n }\n\n get hasDatepicker(): boolean {\n return (\n this.datepickerEnabled &&\n (this.machineType !== MachineType.Undefined || !this.isDeviceDependent)\n );\n }\n\n get hasTimeMenu(): boolean {\n return (\n this.timeMenuEnabled &&\n this.widget !== WidgetEnum.LaserIntradayAvailabilityTable &&\n this.widget !== WidgetEnum.TubeIntradayAvailabilityTable &&\n (![MachineType.Undefined, MachineType.FactoryOverview].includes(this.machineType) ||\n !this.isDeviceDependent)\n );\n }\n\n get hasShiftMenu(): boolean {\n return (\n this.shiftMenuEnabled &&\n this.widget !== WidgetEnum.LaserIntradayAvailabilityTable &&\n this.widget !== WidgetEnum.TubeIntradayAvailabilityTable &&\n (this.machineType !== MachineType.Undefined || !this.isDeviceDependent)\n );\n }\n\n get hasAxisSpanFilter(): boolean {\n return this.axisSpanFilterEnabled;\n }\n\n /**\n * Returns the minimum height defined by the widget.\n *\n * The value might be any of the CSS's min-with property.\n */\n get minHeight(): string {\n return this._minHeight;\n }\n\n get hasDownload(): boolean {\n return this.isLineChart && this.isEcharts;\n }\n\n get hasAggregates(): boolean {\n return this.isLineChart;\n }\n}\n\nconst yearToDateInterval: [string, string] = [\n moment().startOf('year').format('YYYY-MM-DD'),\n moment().format('YYYY-MM-DD'),\n];\n\nconst lineChartRetrocompatibilityMap: RetrocompatibilityFunction = (\n config: CompatibleWidgetDefinition,\n) => {\n return config.stackedColumns === true\n ? LineChartMode.StackedColumns\n : LineChartMode.NonStackedLines;\n};\n\nconst stackedColumnParam: ParamConfiguration = {\n type: 'list',\n defaultValue: LineChartMode.NonStackedLines,\n values: Object.values(LineChartMode),\n retrocompatibilityMap: lineChartRetrocompatibilityMap,\n};\n\nconst widgets: { [key in WidgetEnum]: Widget } = {\n // Dashboard exclusive widgets\n [WidgetEnum.CameraView]: new Widget(WidgetEnum.CameraView).makeDeviceDependent(),\n [WidgetEnum.FactoryOverview]: new Widget(WidgetEnum.FactoryOverview),\n\n // Work center console > Overview\n [WidgetEnum.OverviewData]: new Widget(WidgetEnum.OverviewData),\n [WidgetEnum.OverviewLaserWorkload]: new Widget(WidgetEnum.OverviewLaserWorkload),\n\n // Work center console > Cut\n [WidgetEnum.LaserAvailability]: new Widget(WidgetEnum.LaserAvailability)\n .makeExpandableIf((wd: WidgetDefinition) => wd.timeFilter === FilterTimeSpanEnum.Day, {\n type: 'cut-states-intraday',\n propsData: ['selectedShifts', 'selectedDeviceIds'],\n })\n .withTimeMenu()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.LaserProductivity]: new Widget(WidgetEnum.LaserProductivity)\n .withTimeMenu()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.LaserOee]: new Widget(WidgetEnum.LaserOee)\n .makeExpandableIf((wd) => wd.timeFilter === FilterTimeSpanEnum.Day, {\n type: 'oee-intraday',\n propsData: ['selectedDeviceIds', 'selectedShifts'],\n })\n .withTimeMenu()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.LaserStarveBlock]: new Widget(WidgetEnum.LaserStarveBlock)\n .withTimeMenu()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.LaserOutputScrap]: new Widget(WidgetEnum.LaserOutputScrap)\n .withTimeMenu()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.LaserCuttingTime]: new Widget(WidgetEnum.LaserCuttingTime)\n .makeExpandableIf((wd: WidgetDefinition) => wd.timeFilter === FilterTimeSpanEnum.Day, {\n type: 'cut-intraday',\n propsData: ['selectedShifts', 'selectedDeviceIds'],\n })\n .withTimeMenu()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.LaserAvailabilityHist]: new Widget(WidgetEnum.LaserAvailabilityHist)\n .withParams({\n mode: {\n ...stackedColumnParam,\n defaultValue: LineChartMode.StackedColumns,\n },\n })\n .withDatepicker()\n .withShiftMenu()\n .withAxisSpanFilter()\n .makeDeviceDependent(),\n [WidgetEnum.LaserProductivityHist]: new Widget(WidgetEnum.LaserProductivityHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withShiftMenu()\n .withAxisSpanFilter()\n .makeDeviceDependent(),\n [WidgetEnum.LaserOeeHist]: new Widget(WidgetEnum.LaserOeeHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withShiftMenu()\n .withAxisSpanFilter()\n .makeDeviceDependent(),\n [WidgetEnum.LaserCuttingTimeHist]: new Widget(WidgetEnum.LaserCuttingTimeHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withShiftMenu()\n .withAxisSpanFilter()\n .makeDeviceDependent(),\n [WidgetEnum.LaserStarveBlockHist]: new Widget(WidgetEnum.LaserStarveBlockHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withShiftMenu()\n .withAxisSpanFilter()\n .makeDeviceDependent(),\n [WidgetEnum.LaserOutputAndScrapTimeline]: new Widget(WidgetEnum.LaserOutputAndScrapTimeline)\n .withParams({\n mode: {\n type: 'list',\n defaultValue: LaserOutputAndScrapTimelineChartMode.RawMaterialUtilization,\n values: Object.values(LaserOutputAndScrapTimelineChartMode),\n retrocompatibilityMap: (config) => {\n if (config.stackedColumns !== undefined) {\n return config.stackedColumns\n ? LaserOutputAndScrapTimelineChartMode.StackedColumns.toString()\n : LaserOutputAndScrapTimelineChartMode.NonStackedLines.toString();\n }\n },\n },\n })\n .withDatepicker()\n .withShiftMenu()\n .withAxisSpanFilter()\n .makeDeviceDependent(),\n [WidgetEnum.CutStatus]: new Widget(WidgetEnum.CutStatus).makeDeviceDependent(),\n [WidgetEnum.LaserCurrentWorkload]: new Widget(WidgetEnum.LaserCurrentWorkload),\n [WidgetEnum.LaserIntradayAvailabilityTable]: new Widget(\n WidgetEnum.LaserIntradayAvailabilityTable,\n ),\n\n // Work center console > Bend\n [WidgetEnum.BendingAvailability]: new Widget(WidgetEnum.BendingAvailability)\n .makeDeviceDependent()\n .withTimeMenu()\n .withShiftMenu(),\n [WidgetEnum.BendingTimeBetweenBend]: new Widget(WidgetEnum.BendingTimeBetweenBend)\n .makeDeviceDependent()\n .withTimeMenu()\n .withShiftMenu(),\n [WidgetEnum.BendingTopParts]: new Widget(WidgetEnum.BendingTopParts)\n .makeDeviceDependent()\n .withTimeMenu()\n .withShiftMenu(),\n [WidgetEnum.BendingPerformancePart]: new Widget(WidgetEnum.BendingPerformancePart)\n .makeDeviceDependent()\n .withTimeMenu()\n .withShiftMenu(),\n [WidgetEnum.BendingAvailabilityHist]: new Widget(WidgetEnum.BendingAvailabilityHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withAxisSpanFilter()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.BendingTimeBetweenBendHist]: new Widget(WidgetEnum.BendingTimeBetweenBendHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withShiftMenu()\n .withAxisSpanFilter()\n .makeDeviceDependent(),\n [WidgetEnum.BendingPerformancePartHist]: new Widget(WidgetEnum.BendingPerformancePartHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withShiftMenu()\n .withAxisSpanFilter()\n .makeDeviceDependent(),\n [WidgetEnum.BendingPerformanceHist]: new Widget(WidgetEnum.BendingPerformanceHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withAxisSpanFilter()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.BendingPerformance]: new Widget(WidgetEnum.BendingPerformance).makeDeviceDependent(),\n [WidgetEnum.BendStatus]: new Widget(WidgetEnum.BendStatus).makeDeviceDependent(),\n [WidgetEnum.BendingNumberOfBendsTimeline]: new Widget(WidgetEnum.BendingNumberOfBendsTimeline)\n .makeDeviceDependent()\n .withDatepicker()\n .withAxisSpanFilter()\n .withShiftMenu(),\n [WidgetEnum.BendIntradayAvailabilityTable]: new Widget(WidgetEnum.BendIntradayAvailabilityTable),\n [WidgetEnum.BendSheetPartsGanttTable]: new Widget(WidgetEnum.BendSheetPartsGanttTable),\n [WidgetEnum.BendProductivityFigures]: new Widget(WidgetEnum.BendProductivityFigures),\n [WidgetEnum.BendRankingOfParts]: new Widget(WidgetEnum.BendRankingOfParts),\n [WidgetEnum.BendShiftStatistics]: new Widget(WidgetEnum.BendShiftStatistics).withMinHeight(\n '490px',\n ),\n [WidgetEnum.BendFlowSpeedStatesGanttTable]: new Widget(WidgetEnum.BendFlowSpeedStatesGanttTable),\n [WidgetEnum.BendStatusOverview]: new Widget(WidgetEnum.BendStatusOverview),\n [WidgetEnum.OverviewBendCurrentPlan]: new Widget(WidgetEnum.OverviewBendCurrentPlan),\n [WidgetEnum.NumberOfBendsWidget]: Widget.createKpiWidget(WidgetEnum.NumberOfBendsWidget),\n [WidgetEnum.PeakHourlyBendingWidget]: Widget.createKpiWidget(WidgetEnum.PeakHourlyBendingWidget),\n [WidgetEnum.BendToolChangesWidget]: Widget.createKpiWidget(WidgetEnum.BendToolChangesWidget),\n [WidgetEnum.BendProductionOutputWidget]: Widget.createKpiWidget(\n WidgetEnum.BendProductionOutputWidget,\n ),\n\n // Tube\n [WidgetEnum.TubeAvailability]: new Widget(WidgetEnum.TubeAvailability)\n .makeDeviceDependent()\n .withTimeMenu()\n .withShiftMenu(),\n [WidgetEnum.TubeProductivity]: new Widget(WidgetEnum.TubeProductivity)\n .withTimeMenu()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.TubeOee]: new Widget(WidgetEnum.TubeOee)\n .makeDeviceDependent()\n .withTimeMenu()\n .withShiftMenu(),\n [WidgetEnum.TubeStarveBlock]: new Widget(WidgetEnum.TubeStarveBlock)\n .makeDeviceDependent()\n .withTimeMenu()\n .withShiftMenu(),\n [WidgetEnum.TubeOutputScrap]: new Widget(WidgetEnum.TubeOutputScrap)\n .makeDeviceDependent()\n .withTimeMenu()\n .withShiftMenu(),\n [WidgetEnum.TubeCuttingTime]: new Widget(WidgetEnum.TubeCuttingTime)\n .makeDeviceDependent()\n .makeExpandableIf((wd: WidgetDefinition) => wd.timeFilter === FilterTimeSpanEnum.Day, {\n type: 'cut-intraday',\n propsData: ['selectedShifts', 'selectedDeviceIds'],\n })\n .withTimeMenu()\n .withShiftMenu(),\n [WidgetEnum.TubeAvailabilityHist]: new Widget(WidgetEnum.TubeAvailabilityHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withAxisSpanFilter()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.TubeProductivityHist]: new Widget(WidgetEnum.TubeProductivityHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withShiftMenu()\n .withAxisSpanFilter()\n .makeDeviceDependent(),\n [WidgetEnum.TubeOeeHist]: new Widget(WidgetEnum.TubeOeeHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withAxisSpanFilter()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.TubeCuttingTimeHist]: new Widget(WidgetEnum.TubeCuttingTimeHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withAxisSpanFilter()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.TubeStarveBlockHist]: new Widget(WidgetEnum.TubeStarveBlockHist)\n .withParams({\n mode: stackedColumnParam,\n })\n .withDatepicker()\n .withAxisSpanFilter()\n .withShiftMenu()\n .makeDeviceDependent(),\n [WidgetEnum.TubeOutputScrapHist]: new Widget(WidgetEnum.TubeOutputScrapHist)\n .withParams({\n mode: {\n type: 'list',\n defaultValue: LaserOutputAndScrapTimelineChartMode.NonStackedLines,\n values: Object.values(LaserOutputAndScrapTimelineChartMode),\n retrocompatibilityMap: (config) => {\n if (config.stackedColumns !== undefined) {\n return config.stackedColumns\n ? LaserOutputAndScrapTimelineChartMode.StackedColumns.toString()\n : LaserOutputAndScrapTimelineChartMode.NonStackedLines.toString();\n }\n },\n },\n })\n .withDatepicker()\n .withShiftMenu()\n .withAxisSpanFilter()\n .makeDeviceDependent(),\n [WidgetEnum.TubeStatus]: new Widget(WidgetEnum.TubeStatus).makeDeviceDependent(),\n [WidgetEnum.TubeIntradayAvailabilityTable]: new Widget(WidgetEnum.TubeIntradayAvailabilityTable),\n\n // Business console > Overview\n [WidgetEnum.SalesMap]: new Widget(WidgetEnum.SalesMap).withDatepicker(yearToDateInterval),\n [WidgetEnum.QuotesMap]: new Widget(WidgetEnum.QuotesMap).withDatepicker(yearToDateInterval),\n [WidgetEnum.OpenSalesFunnel]: new Widget(WidgetEnum.OpenSalesFunnel).withAxisSpanFilter(),\n [WidgetEnum.BusinessOverviewFigures]: new Widget(\n WidgetEnum.BusinessOverviewFigures,\n ).withDatepicker(yearToDateInterval),\n\n // Business console > Quotes\n [WidgetEnum.QuotesAbcCustomers]: new Widget(WidgetEnum.QuotesAbcCustomers)\n .makeExpandable({\n type: 'quotes-customers-expanded-view',\n propsData: ['selectedTimeFilter'],\n })\n .makeExpandableOnDblClick({\n type: 'detailed-customer',\n propsData: ['selectedTimeFilter', 'selectedDateGrouping'],\n mapParamsToProps: (params) => params.data,\n })\n .withQuickSearchFunction(\n async (wd: WidgetDefinition) => {\n const [startDate, endDate] = wd.timeFilter as [string, string];\n const tenantId = tenantsService.store.currentIdDh()!;\n const controller = new AbortController();\n const data = await metricsService.getSMBSMetricsBC(\n WidgetEnum.QuotesAbcCustomers,\n tenantId,\n { date: moment().format('YYYY-MM-DD'), startDate, endDate },\n controller,\n );\n const customers =\n data?.map((customer: any) => new Customer(customer.name, customer.no_)) ?? [];\n useRootStore().setCustomers(customers);\n return customers.map((customer) => ({\n id: customer.no,\n name: customer.name,\n }));\n },\n {\n type: 'detailed-customer',\n propsData: ['selectedTimeFilter', 'selectedDateGrouping'],\n },\n )\n .withDatepicker(yearToDateInterval),\n [WidgetEnum.QuotesConvertedAmountTimeline]: new Widget(WidgetEnum.QuotesConvertedAmountTimeline)\n .withDatepicker(yearToDateInterval)\n .withAxisSpanFilter(),\n [WidgetEnum.QuotesConversionRates]: new Widget(WidgetEnum.QuotesConversionRates).withDatepicker(\n yearToDateInterval,\n ),\n [WidgetEnum.QuotesConversionRatesGauge]: new Widget(\n WidgetEnum.QuotesConversionRatesGauge,\n ).withDatepicker(yearToDateInterval),\n [WidgetEnum.QuotesCustomerEvolution]: new Widget(WidgetEnum.QuotesCustomerEvolution)\n .withDatepicker(yearToDateInterval)\n .withAxisSpanFilter(),\n [WidgetEnum.QuotesSize]: new Widget(WidgetEnum.QuotesSize)\n .withParams({\n groupNumber: {\n type: 'number',\n defaultValue: 5,\n min: 3,\n max: 10,\n children: {\n amountFilter: async (groupNumberValue: number, wd: WidgetDefinition) => {\n const tenantIdDh = tenantsService.store.currentIdDh()!;\n const dateRangeString = wd.timeFilter as [string, string];\n const controller = new AbortController();\n const data = await metricsService.getSMBSMetricsBC(\n WidgetEnum.QuotesSizeFilter,\n tenantIdDh,\n {\n paramNumber: groupNumberValue,\n startDate: dateRangeString?.[0],\n endDate: dateRangeString?.[1],\n },\n controller,\n );\n const ticks = data.map((filter: QuotesSizeFilterData) => filter.group_limit);\n return {\n type: 'slider',\n tickValues: ticks,\n };\n },\n },\n },\n })\n .withDatepicker(yearToDateInterval),\n [WidgetEnum.QuotesSizeFilter]: new Widget(WidgetEnum.QuotesSizeFilter),\n [WidgetEnum.QuotesFigures]: new Widget(WidgetEnum.QuotesFigures).withDatepicker(\n yearToDateInterval,\n ),\n [WidgetEnum.QuotesFiguresDetailed]: new Widget(WidgetEnum.QuotesFiguresDetailed).withDatepicker(\n yearToDateInterval,\n ),\n [WidgetEnum.QuotesTopQuotedMaterialsTimeline]: new Widget(\n WidgetEnum.QuotesTopQuotedMaterialsTimeline,\n )\n .withDatepicker(yearToDateInterval)\n .withAxisSpanFilter(),\n [WidgetEnum.QuotesQuotedMaterialsList]: new Widget(WidgetEnum.QuotesQuotedMaterialsList)\n .withParams({\n numberOfMaterials: {\n type: 'number',\n defaultValue: 6,\n min: 1,\n max: 20,\n },\n })\n .withDatepicker(yearToDateInterval),\n\n [WidgetEnum.QuotesConvertedMap]: new Widget(WidgetEnum.QuotesConvertedMap).withDatepicker(\n yearToDateInterval,\n ),\n [WidgetEnum.QuotesTopSalespeopleDetailed]: new Widget(WidgetEnum.QuotesTopSalespeopleDetailed)\n .withParams({\n topNumber: {\n type: 'number',\n defaultValue: 3,\n min: 3,\n max: 9,\n },\n })\n .withDatepicker(yearToDateInterval),\n\n // Business console > Sales\n [WidgetEnum.SalesCustomerGroups]: new Widget(WidgetEnum.SalesCustomerGroups)\n .makeExpandable({\n type: 'detailed-customer-groups',\n propsData: ['selectedTimeFilter'],\n })\n .withDatepicker(yearToDateInterval),\n [WidgetEnum.SalesTopSalespeople]: new Widget(WidgetEnum.SalesTopSalespeople)\n .withParams({\n topNumber: {\n type: 'number',\n defaultValue: 3,\n min: 3,\n max: 9,\n },\n })\n .makeExpandable({\n type: 'detailed-top-sales-people',\n propsData: ['selectedTimeFilter', 'selectedDateGrouping', 'paramValues'],\n })\n .withDatepicker(yearToDateInterval),\n [WidgetEnum.AmountVsNumberOfQuotesBySalesperson]: new Widget(\n WidgetEnum.AmountVsNumberOfQuotesBySalesperson,\n ),\n [WidgetEnum.SalesAmountBySalesperson]: new Widget(WidgetEnum.SalesAmountBySalesperson),\n [WidgetEnum.SalesItemChangesBySalesperson]: new Widget(WidgetEnum.SalesItemChangesBySalesperson),\n [WidgetEnum.NumberOfSalesBySalesperson]: new Widget(WidgetEnum.NumberOfSalesBySalesperson),\n [WidgetEnum.SalesPerSalespersonTimeline]: new Widget(WidgetEnum.SalesPerSalespersonTimeline),\n [WidgetEnum.SalesFunnel]: new Widget(WidgetEnum.SalesFunnel)\n .withParams({\n ratio: {\n type: 'radio',\n defaultValue: false,\n },\n })\n .withDatepicker(yearToDateInterval)\n .withAxisSpanFilter(),\n [WidgetEnum.SalesFigures]: new Widget(WidgetEnum.SalesFigures).withDatepicker(yearToDateInterval),\n [WidgetEnum.SalesTimeline]: new Widget(WidgetEnum.SalesTimeline)\n .withDatepicker(yearToDateInterval)\n .withAxisSpanFilter(),\n [WidgetEnum.SalesUnpaidDistribution]: new Widget(WidgetEnum.SalesUnpaidDistribution)\n .withParams({\n belowTarget: {\n type: 'radio',\n defaultValue: false,\n },\n })\n .withDatepicker(yearToDateInterval),\n\n // Shop floor console > Manufacturing\n [WidgetEnum.ManufacturingPOStatus]: new Widget(WidgetEnum.ManufacturingPOStatus).withDatepicker(\n yearToDateInterval,\n ),\n [WidgetEnum.ManufacturingFinishedPOEstimatedVsActualPOL]: new Widget(\n WidgetEnum.ManufacturingFinishedPOEstimatedVsActualPOL,\n )\n .withDatepicker(yearToDateInterval)\n .withAxisSpanFilter(),\n [WidgetEnum.ManufacturingReleasedPOStatus]: new Widget(\n WidgetEnum.ManufacturingReleasedPOStatus,\n ).withDatepicker(yearToDateInterval),\n [WidgetEnum.ManufacturingPOLStatusDueDate]: new Widget(WidgetEnum.ManufacturingPOLStatusDueDate)\n .withParams({\n daysPerInterval: {\n type: 'number',\n defaultValue: DEFAULT_DAYS_PER_INTERVAL,\n min: 1,\n max: 999,\n },\n })\n .withDatepicker(yearToDateInterval),\n [WidgetEnum.ManufacturingFigures]: new Widget(WidgetEnum.ManufacturingFigures).withDatepicker(\n yearToDateInterval,\n ),\n [WidgetEnum.ManufacturingPOFinishedDueDate]: new Widget(WidgetEnum.ManufacturingPOFinishedDueDate)\n .withParams({\n daysPerInterval: {\n type: 'number',\n defaultValue: DEFAULT_DAYS_PER_INTERVAL,\n min: 1,\n max: 999,\n },\n })\n .withDatepicker(yearToDateInterval),\n\n // Technology console\n [WidgetEnum.TechnologyOverviewCuttingHoursTimeline]: new Widget(\n WidgetEnum.TechnologyOverviewCuttingHoursTimeline,\n ).makeDeviceDependent(),\n [WidgetEnum.TechnologyOverviewLaserConsumptionTimeline]: new Widget(\n WidgetEnum.TechnologyOverviewLaserConsumptionTimeline,\n ).makeDeviceDependent(),\n [WidgetEnum.TechnologyOverviewDrawerCycleTimes]: new Widget(\n WidgetEnum.TechnologyOverviewDrawerCycleTimes,\n ).makeDeviceDependent(),\n [WidgetEnum.TechnologyOverviewSscFigures]: new Widget(\n WidgetEnum.TechnologyOverviewSscFigures,\n ).makeDeviceDependent(),\n [WidgetEnum.TechnologyTemperatures]: new Widget(WidgetEnum.TechnologyTemperatures)\n .makeDeviceDependent()\n .withParams({\n aggregate: {\n type: 'list',\n values: Object.values(AggregateEnum),\n defaultValue: 'max',\n },\n }),\n [WidgetEnum.EventsTable]: new Widget(WidgetEnum.EventsTable),\n // Unused. Added just to stop the compiler from complaining\n [WidgetEnum.EventsTableExpandedView]: new Widget(WidgetEnum.EventsTable),\n // CareErrorsAndWarningsBarChart is not used as a standalone widget, but is\n // required to reference a specific SP. We also need to add the WidgetEnum\n // here to avoid a compilation error.\n [WidgetEnum.CareErrorsAndWarningsBarChart]: new Widget(WidgetEnum.CareErrorsAndWarningsBarChart),\n [WidgetEnum.TechnologyDrawerInformationTimeline]: new Widget(\n WidgetEnum.TechnologyDrawerInformationTimeline,\n )\n .makeDeviceDependent()\n .withParams({\n aggregate: {\n type: 'list',\n values: Object.values(AggregateEnum),\n defaultValue: AggregateEnum.Q95.toString(),\n },\n }),\n [WidgetEnum.TechnologyDrawerCycleTimes]: new Widget(\n WidgetEnum.TechnologyDrawerCycleTimes,\n ).makeDeviceDependent(),\n [WidgetEnum.TechnologyLaserConsumptionTimeline]: new Widget(\n WidgetEnum.TechnologyLaserConsumptionTimeline,\n ).makeDeviceDependent(),\n [WidgetEnum.TechnologyLaserUsedVsNotUsedTimes]: new Widget(\n WidgetEnum.TechnologyLaserUsedVsNotUsedTimes,\n ).makeDeviceDependent(),\n [WidgetEnum.TechnologyLaserPowerUtilizationTimes]: new Widget(\n WidgetEnum.TechnologyLaserPowerUtilizationTimes,\n ).makeDeviceDependent(),\n [WidgetEnum.TechnologyDriveCurrentTimeline]: new Widget(WidgetEnum.TechnologyDriveCurrentTimeline)\n .makeDeviceDependent()\n .withParams({\n aggregate: {\n type: 'list',\n values: Object.values(AggregateEnum),\n defaultValue: 'q95',\n },\n }),\n [WidgetEnum.TechnologyDriveCurrentDifferenceHistogram]: new Widget(\n WidgetEnum.TechnologyDriveCurrentDifferenceHistogram,\n ).makeDeviceDependent(),\n [WidgetEnum.TechnologyDriveAccumulatedCurrentDifferenceTimeline]: new Widget(\n WidgetEnum.TechnologyDriveAccumulatedCurrentDifferenceTimeline,\n ).makeDeviceDependent(),\n\n // Care console\n // This one is unused\n [WidgetEnum.CareAlertOccurrencesTable]: new Widget(WidgetEnum.CareAlertOccurrencesTable),\n [WidgetEnum.CareHealthTimeline]: new Widget(WidgetEnum.CareHealthTimeline),\n [WidgetEnum.CareHealthIndicators]: new Widget(\n WidgetEnum.CareHealthIndicators,\n ).makeDeviceDependent(),\n [WidgetEnum.CareEventsTimeline]: new Widget(\n WidgetEnum.CareEventsTimeline,\n ).makeExpandableOnDblClick({\n type: 'modal-wrapped-events-table-expanded-view',\n propsData: [\n 'selectedDeviceIds',\n 'selectedTimeFilter',\n 'selectedDateGrouping',\n 'widgetDefinition',\n ],\n mapParamsToProps: (params) => ({\n timestamp: Array.isArray(params.value) ? params.value[0] : params.name,\n }),\n }),\n [WidgetEnum.CareEventsByModule]: new Widget(\n WidgetEnum.CareEventsByModule,\n ).makeExpandableOnDblClick({\n type: 'modal-wrapped-events-table-expanded-view',\n propsData: [\n 'selectedDeviceIds',\n 'selectedTimeFilter',\n 'selectedDateGrouping',\n 'paramValues',\n 'widgetDefinition',\n ],\n mapParamsToProps: (params) => ({ module: params.name }),\n }),\n [WidgetEnum.CareCuttingHeadDiodesAndDrawerCyclesTimeline]: new Widget(\n WidgetEnum.CareCuttingHeadDiodesAndDrawerCyclesTimeline,\n ),\n [WidgetEnum.CareCuttingHeadEventsTimeline]: new Widget(WidgetEnum.CareCuttingHeadEventsTimeline)\n .makeExpandable({\n type: 'modal-wrapped-events-table-expanded-view',\n propsData: [\n 'selectedDeviceIds',\n 'selectedTimeFilter',\n 'selectedDateGrouping',\n 'widgetDefinition',\n ],\n })\n .makeExpandableOnDblClick({\n type: 'modal-wrapped-events-table-expanded-view',\n propsData: [\n 'selectedDeviceIds',\n 'selectedTimeFilter',\n 'selectedDateGrouping',\n 'widgetDefinition',\n ],\n mapParamsToProps: (params) => ({\n timestamp: Array.isArray(params.value) ? params.value[0] : params.name,\n }),\n }),\n [WidgetEnum.CareCuttingHeadTemperatures]: new Widget(WidgetEnum.CareCuttingHeadTemperatures),\n [WidgetEnum.CareLaserConsumptionTimeline]: new Widget(WidgetEnum.CareLaserConsumptionTimeline),\n [WidgetEnum.CareLaserConsumptionAvailableVsUsedTimeline]: new Widget(\n WidgetEnum.CareLaserConsumptionAvailableVsUsedTimeline,\n ),\n [WidgetEnum.CareLaserConsumptionPowerUtilizationTimeline]: new Widget(\n WidgetEnum.CareLaserConsumptionPowerUtilizationTimeline,\n ),\n [WidgetEnum.CareOverviewDevice]: new Widget(WidgetEnum.CareOverviewDevice).makeDeviceDependent(),\n [WidgetEnum.CareOverviewHealthIndicators]: new Widget(\n WidgetEnum.CareOverviewHealthIndicators,\n ).makeDeviceDependent(),\n [WidgetEnum.CareOverviewModuleEventsIndicators]: new Widget(\n WidgetEnum.CareOverviewModuleEventsIndicators,\n ).makeDeviceDependent(),\n\n // Dummy\n [WidgetEnum.Dummy]: new Widget(WidgetEnum.Dummy).withMinHeight('290px'),\n};\n\nexport { widgets };\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThreeDotParamEntry.vue?vue&type=style&index=0&id=ec85d598&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomersListSelectorWizardStep.vue?vue&type=style&index=0&id=3a3f7a38&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetSelector.vue?vue&type=style&index=1&id=56ab8738&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClickMenu.vue?vue&type=style&index=0&id=47ec2bfa&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BysoftSidebar.vue?vue&type=style&index=0&id=a73151fc&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ToastProgrammatic as Toast } from 'buefy';\nimport i18n from '@/i18n';\n\nclass ToastService {\n success(messageKey: string, messageParameters: any = {}) {\n this.translatingToast(\n {\n messageKey,\n },\n messageParameters,\n );\n }\n\n error(messageKey: string, messageParameters: any = {}) {\n this.translatingToast(\n {\n messageKey,\n type: 'is-danger',\n },\n messageParameters,\n );\n }\n\n private translatingToast(params: any, messageParameters: any = {}) {\n Toast.open({\n ...params,\n message: i18n.t(params.messageKey, messageParameters),\n });\n }\n\n toast(params: any | string) {\n Toast.open(params);\n }\n}\n\nexport const toastService = new ToastService();\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { KpiWidgetData } from '@/models/Charts/chartsData';\nimport { isEmpty } from '@/utils/misc';\nimport { createPaletteByLightness } from '@/utils/color';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\n\n/**\n * Information about the trend of a KPI.\n *\n * Used to calculate the trend between periods of time and to show additional\n * data for the user to better understand it.\n */\nexport interface TrendData {\n currentValue: number;\n previousValue: number;\n chartType: 'pie' | 'bar';\n timeSpan: FilterTimeSpanEnum;\n\n // These are defined for type 'bar'. Null if there's no data for the period.\n currentValueDeviceName?: string | null;\n currentValueDateTime?: Date | null;\n previousValueDeviceName?: string | null;\n previousValueDateTime?: Date | null;\n}\n\n/** Returns the trend data from pie widget's data, null if there's no data. */\nexport function getTrendDataFromPieWidgetData(\n data: KpiWidgetData[] | null,\n timeSpan: FilterTimeSpanEnum,\n): TrendData | null {\n if (isEmpty(data)) {\n return null;\n }\n\n return {\n currentValue: getTotalAmount(data!, 'currentValue'),\n previousValue: getTotalAmount(data!, 'previousValue'),\n timeSpan,\n chartType: 'pie',\n };\n}\n\nfunction getTotalAmount(data: any[], valueField: string): number {\n return data.map((dataEntry) => dataEntry[valueField]).reduce((total, value) => total + value, 0);\n}\n\nexport function generatePalette(cssBaseColor: string, numberOfColors: number): string[] {\n return createPaletteByLightness(cssBaseColor, numberOfColors, -0.35, 0.35).reverse();\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nexport enum LineChartMode {\n NonStackedLines = 'NonStackedLines',\n StackedColumns = 'StackedColumns',\n}\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OtherMembershipsSummarySection.vue?vue&type=style&index=0&id=59c2a910&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAxisSpanButton.vue?vue&type=style&index=0&id=19800a9a&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport axios from 'axios';\nimport { BaseUrl } from '@/models/constants';\nimport { NullUser, User } from '@/models/user';\nimport i18n from '@/i18n';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { useRootStore } from '@/store';\nimport moment from 'moment';\nimport { isEmpty, isNil } from '@/utils/misc';\nimport DashboardDefinition from '@/models/Charts/dashboardDefinition';\nimport { usePersistentStore } from '@/store/persistent';\n\nexport type UserData = Omit & { customDashboardsConfiguration: string };\n\nexport type UserUpdate = Omit<\n User,\n 'isAcceptedTermsOfAgreement' | 'isAutoplay' | 'autoplayPeriod' | 'dashboards'\n> & {\n isAcceptedTermsOfAgreement?: boolean;\n isAutoplay?: boolean;\n autoplayPeriod?: number;\n dashboards?: DashboardDefinition[];\n};\n\nclass UsersService {\n store = new (class {\n current(): User {\n return usePersistentStore().currentUser ?? NullUser;\n }\n\n update(user: User | null) {\n usePersistentStore().setCurrentUser(user);\n }\n\n acceptTermsAndConditions() {\n useRootStore().setTermsAcceptedSession(true);\n }\n })();\n\n async get(): Promise {\n return axios\n .get(`${BaseUrl}/users`)\n .then((response) => response.data.map((user) => this.deserializeUser(user)));\n }\n\n /**\n * Returns true if there's already a user with this email.\n */\n async emailExists(email: string): Promise {\n return axios\n .get(`${BaseUrl}/users/check-email/${email}`)\n .then((response) => response.data);\n }\n\n async delete(id: number): Promise {\n return axios.delete(`${BaseUrl}/users/${id}`);\n }\n\n async update(user: UserUpdate, authorizedConsoles?: ConsoleEnum[]): Promise {\n const locations = user.consoles.includes(ConsoleEnum.WCC) ? user.locations : [];\n const consoles = isNil(authorizedConsoles)\n ? []\n : authorizedConsoles.map((console) => ({\n console,\n enabled: user.consoles.includes(console),\n }));\n\n const activationDates = this.parseActivationDatesForUpdate(\n consoles?.map(({ console }) => console),\n user,\n );\n\n return axios\n .put(`${BaseUrl}/users/`, {\n ...user,\n consoles,\n locations,\n customDashboardsConfiguration: isNil(user.dashboards)\n ? undefined\n : user.serializeDashboards(),\n ...activationDates,\n })\n .then(() => {\n const currentUser = this.store.current();\n if (currentUser.equals(user as User)) {\n this.store.update({\n ...user,\n isAcceptedTermsOfAgreement:\n user.isAcceptedTermsOfAgreement ?? currentUser.isAcceptedTermsOfAgreement,\n isAutoplay: user.isAutoplay ?? currentUser.isAutoplay,\n autoplayPeriod: user.autoplayPeriod ?? currentUser.autoplayPeriod,\n dashboards: user.dashboards ?? currentUser.dashboards,\n });\n }\n });\n }\n\n async updateDashboards() {\n const currentUser = this.store.current();\n await axios.put(`${BaseUrl}/users/me/dashboards`, {\n customDashboardsConfiguration: currentUser.serializeDashboards(),\n });\n }\n\n create(user: User): Promise {\n const locations = user.consoles.includes(ConsoleEnum.WCC) ? user.locations : [];\n\n return axios.post(`${BaseUrl}/users/`, {\n ...user,\n locations,\n wccActivationDate: this.parseNullableDate(user.wccActivationDate),\n wccEndDate: this.parseNullableDate(user.wccEndDate),\n bcActivationDate: this.parseNullableDate(user.bcActivationDate),\n bcEndDate: this.parseNullableDate(user.bcEndDate),\n sfcActivationDate: this.parseNullableDate(user.sfcActivationDate),\n sfcEndDate: this.parseNullableDate(user.sfcEndDate),\n });\n }\n\n async me(): Promise {\n const response = await axios.get(`${BaseUrl}/users/me`);\n const user = this.deserializeUser(response.data);\n this.store.update(user);\n return user;\n }\n\n /**\n * Stores that the user has accepted the terms and conditions.\n *\n * If rememberDecision is true, it saves the decision in the database\n * and sends and email with the terms and conditions document.\n *\n * @throws Error if sending the email has failed.\n */\n async acceptTermsAndConditions(rememberDecision = false): Promise {\n await this.store.acceptTermsAndConditions();\n\n if (rememberDecision) {\n const user = User.GetCopy(this.store.current());\n user.isAcceptedTermsOfAgreement = true;\n await axios.put(`${BaseUrl}/users/me/accept-terms`);\n this.store.update(user);\n const errorMessage = await usersService.notifyTerms();\n\n if (!isEmpty(errorMessage)) {\n throw Error(errorMessage);\n }\n }\n }\n\n async notifyTerms(): Promise {\n const response = await axios.post(`${BaseUrl}/users/me/notify-terms`);\n return response.data;\n }\n\n async getTermsAndConditionsHtmlContent(lang: string): Promise {\n const url = await this.getTermsAndConditionsHtmlContentUrl(lang);\n // Create a custom Axios instance to avoid sending an Authorization header\n // (added by the interceptor) to the blob storage, which would make it fail.\n const nonAuthorizationAxios = axios.create();\n const response = await nonAuthorizationAxios.get(url);\n return response.data;\n }\n\n private async getTermsAndConditionsHtmlContentUrl(lang: string): Promise {\n const response = await axios.get(`${BaseUrl}/users/terms-html/${lang}`);\n return response.data;\n }\n\n async getTermsAndConditionsUrl(lang: string): Promise {\n const response = await axios.get(`${BaseUrl}/users/terms/${lang}`, {\n params: {\n customDownloadFileName: `${i18n.t('terms.terms_and_conditions')}.pdf`,\n },\n });\n return response.data;\n }\n\n async changePassword(id: number, email: string, password: string): Promise {\n return axios.put(`${BaseUrl}/users/${id}/password`, { email, password });\n }\n\n async toggleBeta(): Promise {\n return await axios.put(`${BaseUrl}/users/me/toggle-beta`).then(async () => {\n const me = this.store.current();\n me.isBetaEnabled = !me.isBetaEnabled;\n this.store.update(me);\n });\n }\n\n deserializeUser(userData: UserData): User {\n return new User(\n userData.id,\n userData.name,\n userData.customerId,\n userData.subsidiaryId,\n userData.email,\n userData.authenticationType,\n userData.password,\n userData.isAcceptedTermsOfAgreement,\n User.deserializeDashboards(userData.customDashboardsConfiguration),\n userData.timestampAcceptedTermsOfAgreement,\n userData.isAutoplay,\n userData.autoplayPeriod,\n this.parseNullableDate(userData.wccActivationDate) ?? null,\n this.parseNullableDate(userData.wccEndDate) ?? null,\n this.parseNullableDate(userData.bcActivationDate) ?? null,\n this.parseNullableDate(userData.bcEndDate) ?? null,\n this.parseNullableDate(userData.sfcActivationDate) ?? null,\n this.parseNullableDate(userData.sfcEndDate) ?? null,\n userData.consoles ?? [],\n userData.locations ?? [],\n userData.billable,\n '',\n '',\n userData.userType,\n userData.otherMemberships,\n userData.hasAccessToBeta,\n userData.isBetaEnabled,\n userData.betaFeatures,\n );\n }\n\n private parseNullableDate(date: Date | string | null): Date | undefined {\n return !!date ? moment(date).utcOffset(0, true).toDate() : undefined;\n }\n\n private parseActivationDatesForUpdate(consoles: ConsoleEnum[] | undefined, user: UserUpdate) {\n return consoles\n ?.map((console) => {\n switch (console) {\n case ConsoleEnum.WCC:\n return {\n wccActivationDate: this.parseNullableDate(user.wccActivationDate),\n wccEndDate: this.parseNullableDate(user.wccEndDate),\n };\n case ConsoleEnum.BC:\n return {\n bcActivationDate: this.parseNullableDate(user.bcActivationDate),\n bcEndDate: this.parseNullableDate(user.bcEndDate),\n };\n case ConsoleEnum.SFC:\n return {\n sfcActivationDate: this.parseNullableDate(user.sfcActivationDate),\n sfcEndDate: this.parseNullableDate(user.sfcEndDate),\n };\n default:\n return {};\n }\n })\n .reduce(\n (prev, curr) =>\n Object.assign(\n {\n wccActivationDate: undefined,\n wccEndDate: undefined,\n bcActivationDate: undefined,\n bcEndDate: undefined,\n sfcActivationDate: undefined,\n sfcEndDate: undefined,\n },\n prev,\n curr,\n ),\n {},\n );\n }\n}\n\nexport const usersService = new UsersService();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataPlatformActionsDetailsModal.vue?vue&type=style&index=0&id=1bef7460&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EServiceCenterEquipment.vue?vue&type=style&index=0&id=14b1dbe4&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AttributionsList.vue?vue&type=style&index=0&id=42233a9d&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Events.vue?vue&type=style&index=0&id=27dad136&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"table-column-actions-wrapper\"},[(_vm.showMobileVersion)?_c('div',{staticClass:\"actions-wrapper-mobile\"},[_c('table-actions-list',[_vm._t(\"default\")],2)],1):_c('div',{staticClass:\"actions-wrapper-non-mobile\",class:{ 'show-on-hover': _vm.displayMode === 'on-hover' }},[_c('div',{staticClass:\"actions\"},[_vm._t(\"default\")],2)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport TableActionsList from './TableActionsList.vue';\nimport { addAutoRemovedEventListener } from '@/utils/misc';\n\n@Component({\n components: {\n TableActionsList,\n },\n})\nexport default class TableColumnActionsWrapper extends Vue {\n /**\n * Defines how the row actions are displayed (only on hover/ always).\n *\n * See `TableWithActions2.rowActionsDisplayMode` for more details.\n */\n @Prop({ default: 'on-hover' })\n private displayMode!: 'on-hover' | 'always';\n\n private showMobileVersion = this.shouldShowMobileVersion();\n\n private shouldShowMobileVersion() {\n return window.innerWidth <= 768;\n }\n\n private updateMobileVersionSetting() {\n this.showMobileVersion = this.shouldShowMobileVersion();\n }\n\n private mounted() {\n addAutoRemovedEventListener(this, 'resize', this.updateMobileVersionSetting);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableColumnActionsWrapper.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableColumnActionsWrapper.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TableColumnActionsWrapper.vue?vue&type=template&id=11877f32&scoped=true\"\nimport script from \"./TableColumnActionsWrapper.vue?vue&type=script&lang=ts\"\nexport * from \"./TableColumnActionsWrapper.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TableColumnActionsWrapper.vue?vue&type=style&index=0&id=11877f32&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11877f32\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventDetails.vue?vue&type=style&index=0&id=5ee57a2b&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nclass ResponseHandler {\r\n handleDates(body: any) {\r\n const isoDateFormat = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z?$/;\r\n\r\n const dateTimeOffsetFormat =\r\n /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?([+-]\\d{2}\\:\\d{2})?$/;\r\n\r\n if (body === null || body === undefined || typeof body !== 'object') {\r\n return body;\r\n }\r\n\r\n for (const key of Object.keys(body)) {\r\n const value = body[key];\r\n if (value && typeof value === 'string' && isoDateFormat.test(value)) {\r\n body[key] = new Date(value);\r\n } else if (value && typeof value === 'string' && dateTimeOffsetFormat.test(value)) {\r\n body[key] = new Date(value);\r\n } else if (typeof value === 'object') {\r\n this.handleDates(value);\r\n }\r\n }\r\n\r\n return body;\r\n }\r\n}\r\n\r\nexport const responseHandler = new ResponseHandler();\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionBubble.vue?vue&type=style&index=0&id=1b89bed1&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport axios from 'axios';\nimport { BaseUrl } from '@/models/constants';\nimport { Alert } from '@/models/alert';\nimport { AlertAction, AlertKPI, AlertKPIGroup, AlertMetric } from '@/models/enums/AlertsEnums';\nimport { AlertsDefinition } from '@/models/alertsDefinition';\nimport { usePersistentStore } from '@/store/persistent';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\n\nclass AlertsService {\n store = new (class {\n kpiGroups() {\n return usePersistentStore().kpiGroups;\n }\n\n getKpiGroupsByConsole(console: ConsoleEnum) {\n return this.kpiGroups().map((kpiGroup) => ({\n name: kpiGroup.name,\n alertKpis: kpiGroup.alertKpis.filter((kpi) => kpi.console === console),\n }));\n }\n\n getAlertKpiByMetric(metric: AlertMetric): AlertKPI {\n return usePersistentStore().getAlertKpiByMetric(metric)!;\n }\n\n getAlertMetricUnit(metric: AlertMetric): string {\n return this.getAlertKpiByMetric(metric).unit;\n }\n\n update(kpiGroups: AlertKPIGroup[]) {\n usePersistentStore().setKpiGroups(kpiGroups);\n }\n })();\n\n getCareConsoleAlerts(): Promise {\n return axios.get(`${BaseUrl}/alerts/cc`).then((response: any) => {\n return response.data;\n });\n }\n\n getWorkCenterConsoleAlerts(tenantId: number): Promise {\n return axios\n .get(`${BaseUrl}/alerts/wcc?tenantId=${tenantId}`)\n .then((response: any) => {\n return response.data;\n });\n }\n\n async delete(id: number) {\n await axios.delete(`${BaseUrl}/alerts/${id}`).then((response: any) => {\n return response.data;\n });\n }\n\n async update(alert: Alert) {\n await axios.put(`${BaseUrl}/alerts/`, alert).then((response: any) => {\n return response.data;\n });\n }\n\n async create(alert: Alert) {\n await axios.post(`${BaseUrl}/alerts/wcc`, alert).then((response: any) => {\n return response.data;\n });\n }\n\n async createMultiple(alertsDefinition: AlertsDefinition) {\n await axios.post(`${BaseUrl}/alerts/cc`, alertsDefinition).then((response: any) => {\n return response.data;\n });\n }\n\n getAlertEmail(alertId: number): Promise {\n return axios.get(`${BaseUrl}/alerts/emailrecipients/${alertId}`).then((response) => {\n return response.data;\n });\n }\n\n async getAlertKPIs(): Promise {\n const alertKpis = await axios\n .get(`${BaseUrl}/alerts/kpis`)\n .then((response) => response.data);\n this.store.update(alertKpis);\n return alertKpis;\n }\n\n subscribe(equipmentId: number): Promise {\n return this.subscribeAll([equipmentId]);\n }\n\n unsubscribe(equipmentId: number): Promise {\n return this.unsubscribeAll([equipmentId]);\n }\n\n async subscribeAll(selectedEquipmentIds: number[]): Promise {\n return axios.put(`${BaseUrl}/alerts/equipment/subscribe`, {\n action: AlertAction.WebAndEmail,\n ids: selectedEquipmentIds,\n });\n }\n\n async unsubscribeAll(selectedEquipmentIds: number[]): Promise {\n return axios.put(`${BaseUrl}/alerts/equipment/unsubscribe`, selectedEquipmentIds);\n }\n}\n\nexport const alertsService = new AlertsService();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CareConsoleDevice.vue?vue&type=style&index=0&id=af45cd2a&prod&lang=scss&scoped=true\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceMembershipWizardStep.vue?vue&type=style&index=0&id=1394d944&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CareAlertEditionModal.vue?vue&type=style&index=0&id=46283215&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BysoftSidebarEntry.vue?vue&type=style&index=0&id=55445fcb&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateTimeRangePicker.vue?vue&type=style&index=0&id=3af0e5a6&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { HealthChartsData } from '@/models/Charts/chartsData';\nimport { dateWithGroupingTitleGenerator } from '@/models/Charts/tooltipFormatter';\nimport i18n from '@/i18n';\nimport { isEmpty, isNil, omit } from '@/utils/misc';\nimport { Logger } from '@/utils/logger';\nimport { uniq } from '@/utils/array';\nimport { HealthTimelineGenerator } from '@/models/Charts/healthTimelineGenerator';\n\nexport function tooltipFormatter(\n params: any,\n data: HealthChartsData,\n dateGrouping: FilterTimeAxisSpanEnum,\n): string {\n const orderedByChartParams = [...params].sort(\n (paramsItemA: any, paramItemB: any) => paramsItemA.axisIndex - paramItemB.axisIndex,\n );\n\n return (\n getTitleHtml(orderedByChartParams, dateGrouping) +\n getSeriesValuesHtml(orderedByChartParams, data)\n );\n}\n\nfunction getTitleHtml(params: any, dateGrouping: FilterTimeAxisSpanEnum) {\n return `\n
\n ${dateWithGroupingTitleGenerator(params, dateGrouping)}\n
\n `;\n}\n\nfunction getSeriesValuesHtml(params: any, data: HealthChartsData) {\n return `\n \n \n \n ${getReorderedColumnHeaders(params)}\n \n \n ${getRowEntries(params, data)}\n \n
\n `;\n}\n\nfunction getReorderedColumnHeaders(params: any): string {\n const seriesNames = uniq(params.map((paramItem: any) => paramItem.seriesName));\n\n return [\n // Move Health to the start\n ...seriesNames.filter((name) => name === 'health'),\n ...seriesNames.filter((name) => name !== 'health'),\n ]\n .map(\n (seriesName) =>\n `\n \n ${i18n.t(`health_timeline_legend.${seriesName}`)}\n \n `,\n )\n .join('\\n');\n}\n\nfunction getRowEntries(params: any, data: HealthChartsData) {\n return getChartIndices(params)\n .map((chartIndex) => {\n let chartParamItems = params.filter((paramItem: any) => paramItem.axisIndex === chartIndex);\n\n if (isDrawerCycleTimesChart(chartParamItems)) {\n chartParamItems = addFakeNoValueParamsItemIfFilteredMaxIsEnabled(chartParamItems, params);\n }\n\n return getChartEntry(chartParamItems, data);\n })\n .join('\\n');\n}\n\nfunction getChartIndices(params: any): number[] {\n return uniq(params.map((paramItem: any) => paramItem.axisIndex));\n}\n\nfunction isDrawerCycleTimesChart(chartParamItems: any[]) {\n return chartParamItems[0].axisIndex === DRAWER_CYCLES_TIME_AXIS_INDEX;\n}\n\n// Inserts a fake params item so getChartEntry generates a cell for the\n// \"Filtered Max.\" series with a \"-\" value.\nfunction addFakeNoValueParamsItemIfFilteredMaxIsEnabled(chartParamItems: any[], params: any) {\n if (!isFilteredMaxSeriesEnabled(params)) {\n return chartParamItems;\n }\n\n const fakeNoValueParamItem = {\n ...chartParamItems[0],\n value: null,\n };\n const filteredMaxIndex = getFilteredMaxIndex(params);\n\n return [\n ...chartParamItems.slice(0, filteredMaxIndex),\n fakeNoValueParamItem,\n ...chartParamItems.slice(filteredMaxIndex),\n ];\n}\n\nfunction isFilteredMaxSeriesEnabled(params: any) {\n return params.some((paramItem: any) => paramItem.seriesName === 'filteredMax');\n}\n\nfunction getFilteredMaxIndex(params: any) {\n const indexWithFilteredMax = params.findIndex(\n (paramsItem: any) => paramsItem.seriesName === 'filteredMax',\n );\n const axisIndexWithFilteredMax = params[indexWithFilteredMax].axisIndex;\n return params\n .filter((paramsItem: any) => paramsItem.axisIndex === axisIndexWithFilteredMax)\n .findIndex((paramsItem: any) => paramsItem.seriesName === 'filteredMax');\n}\n\nfunction getChartEntry(chartParamItems: any[], data: HealthChartsData): string {\n return `\n \n \n ${getMarker(chartParamItems)}\n \n \n ${i18n.t(`report.${getChartName(chartParamItems[0])}`)}\n \n \n \n ${getValueEntries(chartParamItems, data)}\n \n `;\n}\n\nfunction getMarker(chartParamItems: any[]): string {\n const healthSeriesIndex = chartParamItems.findIndex(\n (paramsItem) => paramsItem.seriesName === 'health',\n );\n\n return healthSeriesIndex !== -1\n ? chartParamItems[healthSeriesIndex].marker\n : chartParamItems[0].marker;\n}\n\nfunction getValueEntries(chartParamItems: any[], data: HealthChartsData): string {\n return moveHealthParamItemToTheStart(chartParamItems)\n .map((paramItem, index) => {\n const value = Array.isArray(paramItem.value) ? paramItem.value?.[1] : paramItem.value;\n const highlightedClass = paramItem.seriesName === 'health' ? 'highlighted' : '';\n\n return `\n \n ${isNil(value) ? '-' : i18n.n(value, { maximumFractionDigits: 2 })}\n ${index === 0 ? getUnitAndLevel(paramItem, data) : ''}\n \n `;\n })\n .join('\\n');\n}\n\nfunction getUnitAndLevel(paramItem: any, data: HealthChartsData) {\n const value = Array.isArray(paramItem.value) ? paramItem.value?.[1] : paramItem.value;\n const seriesName = getChartName(paramItem);\n const levelMaximums = Object.values(omit(data[seriesName], ['timelineData'])) as number[];\n const level = getLevel(value, levelMaximums);\n const unit = HealthTimelineGenerator.getUnit(seriesName, value);\n\n if (!isEmpty(unit)) {\n return `${unit} (${level})`;\n }\n return `(${level})`;\n}\n\nfunction getLevel(value: number | null, levelMaximums: number[]) {\n if (isNil(value)) {\n return '-';\n }\n\n const eLevelMaximum = levelMaximums[levelMaximums.length - 1];\n const adjustedValue = value <= eLevelMaximum ? value : eLevelMaximum;\n const levelIndex = levelMaximums.findIndex((levelMaximum) => adjustedValue <= levelMaximum);\n\n return ['A', 'B', 'C', 'D', 'E'][levelIndex];\n}\n\nfunction moveHealthParamItemToTheStart(chartParamItems: any[]) {\n return [\n ...chartParamItems.filter((paramItem) => paramItem.seriesName === 'health'),\n ...chartParamItems.filter((paramItem) => paramItem.seriesName !== 'health'),\n ];\n}\n\nexport const LOWER_PROTECTIVE_GLASS_AXIS_INDEX = 0;\nexport const UPPER_PROTECTIVE_GLASS_AXIS_INDEX = 1;\nexport const DRAWER_CYCLES_TIME_AXIS_INDEX = 2;\nexport const LENS_DRIVE_AXIS_INDEX = 3;\nexport const TEMPERATURES_AXIS_INDEX = 4;\n\nfunction getChartName(seriesParam: any): keyof HealthChartsData {\n switch (seriesParam.axisIndex) {\n case LOWER_PROTECTIVE_GLASS_AXIS_INDEX:\n return 'lowerProtectiveGlass';\n case UPPER_PROTECTIVE_GLASS_AXIS_INDEX:\n return 'upperProtectiveGlass';\n case DRAWER_CYCLES_TIME_AXIS_INDEX:\n return 'drawerCyclesTime';\n case LENS_DRIVE_AXIS_INDEX:\n return 'lensDrive';\n case TEMPERATURES_AXIS_INDEX:\n return 'temperatures';\n default:\n Logger.warn('Invalid axisIndex', seriesParam.axisIndex);\n return 'temperatures';\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { EChartsOption, LineSeriesOption } from 'echarts';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport { GeneratorParams } from './generatorParams';\nimport {\n HealthChartDataEntry,\n HealthChartsData,\n HealthTimelineData,\n} from '@/models/Charts/chartsData';\nimport { iterable, uniq } from '@/utils/array';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { abbreviateNumber } from '@/utils/number';\nimport { LevelColor } from '@/utils/color';\nimport { isEmpty, isNil } from '@/utils/misc';\nimport i18n from '@/i18n';\nimport { translateUnit } from '@/utils/alerts';\nimport { Logger } from '@/utils/logger';\nimport { tooltipFormatter } from '@/models/Charts/healthTimelineTooltipFormatter';\nimport { metricsService } from '@/services/metrics.service';\n\nexport const MISSING_DATA_VALUE = null;\n\nexport class HealthTimelineGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n ) {\n const deviceId = selectedDevices[0];\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom,\n dateTo,\n dateGrouping: timeAxisSpan,\n },\n this.controller,\n );\n }\n\n override updateOptions(data: HealthChartsData, parameters: GeneratorParams = {}): EChartsOption {\n const isCategoryAxis = this.isCategoryXAxis(parameters.timeAxisSpan, data);\n const uniqueDates = this.getUniqueDates(data);\n\n const dimensionsSpecification = {\n chartsCount: 5,\n\n bottomPadding: 2,\n\n titleHeight: 4,\n titleTopMargin: 3,\n titleBottomMargin: 0,\n\n chartsLeftPadding: 44,\n chartsRightPadding: 8,\n };\n const titles = iterable(5).map((_, i) => this.getChartTitle(data, i));\n const series = this.generateSeries(data, uniqueDates, isCategoryAxis);\n\n return {\n title: this.getDimensions(dimensionsSpecification, titles).title,\n grid: this.getDimensions(dimensionsSpecification, titles).grid,\n color: [\n this.getSeriesColor('min'),\n this.getSeriesColor('median'),\n this.getSeriesColor('average'),\n this.getSeriesColor('filteredMax'),\n this.getSeriesColor('max'),\n '#5470c6', // health\n ],\n legend: {\n type: 'scroll',\n icon: 'roundRect',\n formatter: (name: string) => i18n.t(`health_timeline_legend.${name}`).toString(),\n bottom: 0,\n data: ['health', 'min', 'median', 'average', 'filteredMax', 'max'],\n selected: {\n health: true,\n min: false,\n median: false,\n average: false,\n filteredMax: false,\n max: false,\n },\n },\n tooltip: {\n trigger: 'axis',\n confine: true,\n formatter: (params: any) => tooltipFormatter(params, data, parameters.timeAxisSpan!),\n },\n visualMap: this.generateVisualMap(data, series),\n xAxis: this.getChartDataEntries(data).map((chartEntry, index) =>\n isNil(chartEntry)\n ? this.getNoDataAxisOptions(index)\n : {\n gridIndex: index,\n type: isCategoryAxis ? 'category' : 'time',\n axisLabel: {\n hideOverlap: true,\n },\n data: isCategoryAxis ? uniqueDates : undefined,\n },\n ),\n yAxis: this.getChartDataEntries(data).map((chartEntry, index) =>\n isNil(chartEntry)\n ? this.getNoDataAxisOptions(index)\n : {\n gridIndex: index,\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n axisPointer: {\n show: false,\n },\n max: Math.max(\n chartEntry.e,\n chartEntry.timelineData\n .map((x) => x.max)\n .reduce((a, b) => (a > b ? a : b), Number.MIN_VALUE),\n ),\n name: this.getYAxisName(data, index),\n nameTextStyle: {\n padding: [0, 0, -2, 0],\n },\n },\n ),\n axisPointer: {\n show: true,\n link: [{ xAxisIndex: 'all' }],\n },\n series,\n };\n }\n\n private generateSeries(data: HealthChartsData, uniqueDates: string[], isCategoryAxis: boolean) {\n // Generates series options, so we can show a centered \"No data\" message\n // through a fake data point.\n const noDataSeriesOptions = (name: string, index: number): LineSeriesOption => ({\n type: 'line',\n xAxisIndex: index,\n yAxisIndex: index,\n ...getNoDataSeriesOptions(),\n name,\n });\n\n return this.getChartDataObjects(data).flatMap(([name, chartDataObject], index) =>\n isEmpty(chartDataObject)\n ? noDataSeriesOptions(name, index)\n : this.generateChartSeries(name, uniqueDates, chartDataObject!, index, isCategoryAxis),\n );\n }\n\n private generateChartSeries(\n chartName: keyof HealthChartsData,\n uniqueDates: string[],\n chartData: HealthChartDataEntry,\n index: number,\n isCategoryAxis: boolean,\n ): LineSeriesOption[] {\n return [\n ...this.getChartFields(chartName).map(\n (chartField) =>\n ({\n name: chartField,\n type: 'line',\n xAxisIndex: index,\n yAxisIndex: index,\n data: this.generateSeriesData(\n chartData.timelineData,\n chartField,\n uniqueDates,\n isCategoryAxis,\n ),\n connectNulls: true,\n lineStyle: {\n type: 'dashed' as const,\n },\n } as any), // null isn't included in LineSeriesOption.data typing, but works\n ),\n {\n name: 'health',\n type: 'line',\n xAxisIndex: index,\n yAxisIndex: index,\n data: this.generateSeriesData(\n chartData.timelineData,\n this.getSeriesFieldName('health', chartName),\n uniqueDates,\n isCategoryAxis,\n ),\n connectNulls: true,\n },\n ];\n }\n\n private getChartFields(chartName: keyof HealthChartsData): Array {\n if (chartName === 'drawerCyclesTime') {\n return ['min', 'median', 'average', 'max'];\n }\n\n return ['min', 'median', 'average', 'filteredMax', 'max'];\n }\n\n private generateSeriesData(\n seriesData: HealthTimelineData[],\n fieldName: keyof HealthTimelineData,\n uniqueDates: string[],\n isCategoryAxis: boolean,\n ): Array<[string, number | null] | number | null> {\n // FIXME: Copied and adapted from LaserInstantConsumptionKxSeriesGeneratorHelper\n let index = 0;\n\n return uniqueDates.map((date) => {\n while (index < seriesData.length && seriesData[index].date < date) {\n ++index;\n }\n\n const value =\n seriesData[index]?.date === date\n ? (seriesData[index][fieldName] as number)\n : MISSING_DATA_VALUE;\n\n return isCategoryAxis ? value : [date, value];\n });\n }\n private getSeriesFieldName(\n seriesName: string,\n chartName: keyof HealthChartsData,\n ): keyof HealthTimelineData {\n if (seriesName === 'health') {\n return chartName === 'drawerCyclesTime' ? 'max' : 'filteredMax';\n }\n\n return seriesName as keyof HealthTimelineData;\n }\n\n private getYAxisName(data: HealthChartsData, index: number): string {\n const title = this.getKpiKey(data, index);\n return HealthTimelineGenerator.getUnit(title);\n }\n\n static getUnit(title: keyof HealthChartsData, value?: number): string {\n switch (title) {\n case 'lowerProtectiveGlass':\n case 'upperProtectiveGlass':\n return translateUnit('photodiode_abbreviation', value ?? null);\n case 'drawerCyclesTime':\n return translateUnit('seconds_abbreviation', value ?? null);\n case 'lensDrive':\n return translateUnit('milliampere_abbreviation', value ?? null);\n case 'temperatures':\n return translateUnit('celsius_degrees_abbreviation', value ?? null);\n }\n }\n\n private getChartDataObjects(\n data: HealthChartsData,\n ): Array<[keyof HealthChartsData, HealthChartDataEntry | null]> {\n return Object.entries(data) as Array<[keyof HealthChartsData, HealthChartDataEntry | null]>;\n }\n\n private getUniqueDates(data: HealthChartsData) {\n const allDates = this.getChartDataEntries(data)\n .flatMap((dataEntry) => dataEntry?.timelineData ?? [])\n .map((dataItem) => dataItem.date);\n return uniq(allDates).sort((a, b) => a.localeCompare(b));\n }\n\n private isCategoryXAxis(\n timeAxisSpan: FilterTimeAxisSpanEnum | undefined,\n data: HealthChartsData,\n ) {\n const maxLength = this.getMaxChartDataLength(data);\n return isCategoryXAxis(timeAxisSpan, maxLength);\n }\n\n private getMaxChartDataLength(data: HealthChartsData) {\n return Math.max(\n ...this.getChartDataEntries(data).map((chartData) => chartData?.timelineData?.length ?? 0),\n );\n }\n\n private generateVisualMap(data: HealthChartsData, series: LineSeriesOption[]) {\n return this.getChartDataEntries(data).map((chartData, index) => ({\n seriesIndex: this.getHealthSeriesIndex(index, series),\n show: false,\n pieces: isNil(chartData)\n ? []\n : [\n {\n lt: chartData.a,\n color: LevelColor.A,\n },\n {\n gte: chartData.a,\n lt: chartData.b,\n color: LevelColor.B,\n },\n {\n gte: chartData.b,\n lt: chartData.c,\n color: LevelColor.C,\n },\n {\n gte: chartData.c,\n lt: chartData.d,\n color: LevelColor.D,\n },\n {\n gte: chartData.d,\n color: LevelColor.E,\n },\n ],\n }));\n }\n\n private getHealthSeriesIndex(chartIndex: number, series: LineSeriesOption[]) {\n const isNoDataSeries = (seriesItem: LineSeriesOption) => seriesItem.symbolSize === 0;\n\n return series.findIndex(\n (series) =>\n series.xAxisIndex === chartIndex && (series.name === 'health' || isNoDataSeries(series)),\n );\n }\n\n // We need this mostly for typing, because Object.values always returns any[].\n private getChartDataEntries(data: HealthChartsData): Array {\n return Object.values(data);\n }\n\n private getKpiKey(data: HealthChartsData, index: number): keyof HealthChartsData {\n return this.getChartDataObjects(data)[index][0];\n }\n\n private getChartTitle(data: HealthChartsData, index: number) {\n return i18n.t(`report.${this.getKpiKey(data, index)}`).toString();\n }\n\n private getDimensions(spec: any, titles: string[]): any {\n const totalTitleHeight = spec.titleHeight + spec.titleTopMargin + spec.titleBottomMargin;\n const allTitlesHeight = totalTitleHeight * spec.chartsCount;\n const allChartsHeight = 100 - spec.bottomPadding - allTitlesHeight;\n const chartHeight = allChartsHeight / spec.chartsCount;\n\n const grid = iterable(spec.chartsCount).map((_, i) => {\n const top = totalTitleHeight * (i + 1) - spec.titleTopMargin + chartHeight * i + 1;\n return {\n top: `${top}%`,\n height: `${chartHeight}%`,\n left: spec.chartsLeftPadding,\n right: spec.chartsRightPadding,\n };\n });\n\n const title = iterable(spec.chartsCount).map((_, i) => {\n const top =\n spec.titleTopMargin * i + (chartHeight + spec.titleHeight + spec.titleBottomMargin) * i;\n return {\n top: `${top}%`,\n text: titles[i],\n textStyle: {\n fontSize: '16px',\n fontWeight: 400,\n color: 'rgb(74, 74, 74)',\n },\n };\n });\n\n return {\n grid,\n title,\n };\n }\n\n // Generates axis options, so we can show a centered \"No data\" message through\n // a fake data point.\n private getNoDataAxisOptions(index: number) {\n return {\n gridIndex: index,\n axisLabel: { show: false },\n axisLine: { show: false },\n splitLine: { show: false },\n axisTick: { show: false },\n axisPointer: { show: false },\n min: -1,\n max: 1,\n };\n }\n\n private getSeriesColor(seriesName: keyof HealthTimelineData) {\n switch (seriesName) {\n case 'min':\n return '#ade8f4';\n case 'median':\n return '#48cae4';\n case 'average':\n return '#0096e7';\n case 'filteredMax':\n return '#023e8a';\n case 'max':\n return '#03045e';\n default:\n Logger.error('Invalid series name', seriesName);\n return '#03045e';\n }\n }\n}\n\nexport function getNoDataSeriesOptions() {\n return {\n data: [[0, 0]],\n showSymbol: true,\n symbolSize: 0,\n label: {\n show: true,\n fontSize: 14,\n formatter: i18n.t('no_data').toString(),\n },\n cursor: 'default',\n emphasis: {\n disabled: true,\n },\n };\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',[_c('b-dropdown',{attrs:{\"aria-role\":\"list\",\"mobile-modal\":true,\"position\":_vm.position,\"close-on-click\":false},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [(!!_vm.icon)?_c('b-icon',{staticClass:\"ipad-btns\",attrs:{\"pack\":_vm.iconPack,\"icon\":_vm.icon,\"size\":_vm.size}}):_vm._e(),_c('button',{staticClass:\"button title-button general-btns\",attrs:{\"aria-haspopup\":\"true\",\"aria-controls\":\"dropdown-menu\"}},[_c('b-icon',{attrs:{\"pack\":_vm.iconPack,\"icon\":_vm.icon,\"size\":'is-small'}}),_vm._t(\"title\",function(){return [_c('span',[_vm._v(_vm._s(_vm.title))])]}),_c('b-icon',{attrs:{\"icon\":\"mdi mdi-chevron-down\"}})],2)]},proxy:true}],null,true)},[_c('div',{staticClass:\"text-holder\"},[(_vm.type === 'multiple')?_c('b-dropdown-item',{attrs:{\"custom\":\"\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('inputs.devices_select.all'))+\" \")]),_c('b-switch',{attrs:{\"value\":_vm.allChecked},on:{\"input\":function($event){return _vm.change(_vm.ALL_SWITCH_INDEX, -1, $event)}}})],1):_vm._e(),_vm._l((_vm.ids),function(id,index){return _c('b-dropdown-item',{key:id,class:{ 'has-item-icons': !_vm.isEmpty(_vm.itemIcons) },attrs:{\"custom\":\"\"}},[(!_vm.isEmpty(_vm.itemIcons))?_c('b-icon',{attrs:{\"pack\":_vm.itemIconPack,\"icon\":_vm.itemIcons[index],\"size\":_vm.size}}):_vm._e(),_c('span',{staticClass:\"dropdown-item-text\"},[_vm._v(\" \"+_vm._s(_vm.names[index])+\" \")]),(_vm.type === 'multiple')?_c('b-switch',{attrs:{\"value\":_vm.value ? _vm.value.indexOf(id) !== -1 : false},on:{\"input\":function($event){return _vm.change(index, id, $event)}}}):_vm._e(),(_vm.type === 'single')?_c('b-switch',{attrs:{\"value\":_vm.value === id,\"disabled\":_vm.value === id},on:{\"input\":function($event){return _vm.$emit('input', id)}}}):_vm._e()],1)})],2)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { isEmpty } from '@/utils/misc';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\nconst ALL_SWITCH_INDEX = -1;\n\n@Component({\n computed: {\n ALL_SWITCH_INDEX: () => ALL_SWITCH_INDEX,\n },\n methods: {\n isEmpty,\n },\n})\nexport default class ClickMenu extends Vue {\n @Prop({ default: '' })\n private icon!: string;\n\n @Prop({ default: 'mdi' })\n private iconPack!: string;\n\n @Prop()\n private ids!: Array;\n\n @Prop()\n private names!: string[];\n\n @Prop({ default: '' })\n private title!: string;\n\n // Array of ids for multiple, or a number/string for single\n @Prop({ default: () => [] })\n private value!: Array | string | number | null;\n\n // Either 'single' or 'multiple'\n @Prop({ default: 'multiple' })\n private type!: string;\n\n @Prop({ default: 'is-bottom-left' })\n private position!: string;\n\n @Prop({ default: 'is-medium' })\n private size!: string;\n\n @Prop({ default: () => [] })\n private itemIcons!: string[];\n\n @Prop({ default: 'mdi' })\n private itemIconPack!: string;\n\n private get allChecked() {\n return Array.isArray(this.value) && this.value.length === this.ids.length;\n }\n\n private change(index: number, id: string | number, isSwitchedOn: boolean) {\n if (!Array.isArray(this.value)) {\n // This will never apply as value will always be an array for multiple selection\n return;\n }\n if (index === ALL_SWITCH_INDEX) {\n this.$emit('input', isSwitchedOn ? [...this.ids] : []);\n } else if (isSwitchedOn) {\n this.$emit('input', [...this.value, id]);\n } else {\n this.$emit(\n 'input',\n this.value.filter((x: number | string) => x !== id),\n );\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClickMenu.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClickMenu.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ClickMenu.vue?vue&type=template&id=47ec2bfa&scoped=true\"\nimport script from \"./ClickMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./ClickMenu.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ClickMenu.vue?vue&type=style&index=0&id=47ec2bfa&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47ec2bfa\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Targets.vue?vue&type=style&index=0&id=45b3600a&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"layout-grid\",class:`tablet-rows-count-${_vm.editMode ? _vm.layout.length : _vm.tabletRowsCount}`},_vm._l((_vm.layout),function(slot,index){return _c('div',{key:`slot-${index}`,staticClass:\"grid-element\",class:[\n `col-from-${slot.column + 1}`,\n `col-to-${slot.column + slot.width + 1}`,\n `row-from-${slot.row + 1}`,\n `row-to-${slot.row + slot.height + 1}`,\n ..._vm.getSlotTabletRowClasses(index, slot.height),\n ]},[(_vm.isThereWidgetInSlot(index))?_c('div',{staticClass:\"grid-element-content-wrapper\"},[(_vm.editMode)?_c('div',{staticClass:\"edition-overlay\"},[_c('b-button',{staticClass:\"action-button is-edit\",attrs:{\"icon-left\":\"pencil-outline\",\"outlined\":\"\"},on:{\"click\":function($event){return _vm.$emit('edit', index)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.replace'))+\" \")]),_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"trash-can-outline\",\"type\":\"is-danger\",\"outlined\":\"\"},on:{\"click\":function($event){return _vm.$emit('delete', index)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.delete'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"grid-element-content\"},[_vm._t(`widget-${index}`)],2)]):(_vm.editMode)?_c('div',{staticClass:\"empty-slot\"},[_c('div',{staticClass:\"edition-overlay\"},[_c('b-button',{staticClass:\"action-button is-add\",attrs:{\"icon-left\":\"plus\"},on:{\"click\":function($event){return _vm.$emit('add', index)}}},[_vm._v(\" \"+_vm._s(_vm.$t('widget.add_widget'))+\" \")])],1)]):_vm._e()])}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { isEmpty } from '@/utils/misc';\nimport { Component, Prop, Provide, Vue } from 'vue-property-decorator';\nimport { LayoutSlot } from '@/views/dashboard/layout-grid';\nimport { VNode } from 'vue';\n\n@Component({})\nexport default class LayoutGrid extends Vue {\n @Provide()\n private $grid: LayoutGrid = this;\n\n @Prop({ required: true })\n private layout!: LayoutSlot[];\n\n @Prop({ default: false })\n private editMode!: boolean;\n\n private widgetIndices: number[] = [];\n\n private mounted() {\n this.refreshWidgets();\n }\n\n private get tabletRowsCount(): number {\n return this.slotsWithWidget\n .map((slot) => slot.height)\n .reduce((total: number, height: number) => total + height, 0);\n }\n\n refreshWidgets(): void {\n this.widgetIndices = Object.entries(this.$slots)\n .filter(([_, slots]) => !isEmpty(slots))\n .map(([name, _]) => +name.replace('widget-', ''));\n }\n\n private getSlotTabletRowClasses(index: number, height: number): string[] {\n if (this.editMode) {\n return [];\n }\n\n const startRow = this.getSlotStartRowOnTablet(index);\n return [`tablet-row-from-${startRow}`, `tablet-row-to-${startRow + height}`];\n }\n\n private getSlotStartRowOnTablet(index: number): number {\n // Adjust index to slotsWithWidget\n const adjustedIndex = index - this.getNumberOfEmptySlotsBeforeIndex(index);\n\n return (\n this.slotsWithWidget\n .map((slot) => slot.height)\n .slice(0, adjustedIndex)\n .reduce((total: number, height: number) => total + height, 0) + 1\n );\n }\n\n private getNumberOfEmptySlotsBeforeIndex(index: number) {\n return this.layout.slice(0, index).filter((_, i) => !this.isThereWidgetInSlot(i)).length;\n }\n\n private get slotsWithWidget(): LayoutSlot[] {\n return this.layout.filter((_, index) => this.isThereWidgetInSlot(index));\n }\n\n private isThereWidgetInSlot(index: number): boolean {\n return this.widgetIndices.includes(index);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutGrid.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutGrid.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./LayoutGrid.vue?vue&type=template&id=79f1e318&scoped=true\"\nimport script from \"./LayoutGrid.vue?vue&type=script&lang=ts\"\nexport * from \"./LayoutGrid.vue?vue&type=script&lang=ts\"\nimport style0 from \"./LayoutGrid.vue?vue&type=style&index=0&id=79f1e318&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"79f1e318\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('single-widget-container',_vm._g({staticClass:\"widget-container\",style:(`--widget-min-height: ${_vm.resolvedWidgetDefinition.minHeight}`),attrs:{\"widgetDefinition\":_vm.resolvedWidgetDefinition,\"selfManagedFilters\":_vm.selfManagedFilters,\"threeDotsInnerPosition\":_vm.threeDotsInnerPosition,\"widgetHelpPosition\":_vm.widgetHelpPosition,\"autorefresh\":_vm.autorefresh,\"isWidgetSelector\":_vm.isWidgetSelector,\"customerNo\":_vm.customerNo},on:{\"change\":function($event){return _vm.onWidgetDefinitionChanged($event)}},scopedSlots:_vm._u([(_vm.hasManyDefinitions())?{key:\"filters\",fn:function(){return [_c('icon-switch',{attrs:{\"leftIcon\":_vm.leftIcon,\"leftIconPack\":_vm.leftIconPack,\"rightIcon\":_vm.rightIcon,\"rightIconPack\":_vm.rightIconPack},on:{\"switch-image\":_vm.onSwitchImage}})]},proxy:true}:null,{key:\"default\",fn:function(props){return [_vm._t(\"default\",null,null,props)]}}],null,true)},_vm.listeners))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('label',{staticClass:\"icon-switch\"},[_c('input',{attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":_vm.value},on:{\"input\":function($event){return _vm.onClick($event)}}}),_c('div',{staticClass:\"slider-image\"},[_c('div',[_c('b-icon',{attrs:{\"pack\":_vm.getLeftIconPack(),\"icon\":_vm.leftIcon,\"size\":\"is-small\"}})],1),_c('div',[_c('b-icon',{attrs:{\"pack\":_vm.getRightIconPack(),\"icon\":_vm.rightIcon,\"size\":\"is-small\"}})],1),_c('span',{attrs:{\"id\":\"toggle-dot\"}},[_c('div',{staticClass:\"selected\"},[_c('b-icon',{attrs:{\"pack\":_vm.value ? _vm.getRightIconPack() : _vm.getLeftIconPack(),\"icon\":_vm.value ? _vm.rightIcon : _vm.leftIcon,\"size\":\"is-small\"}})],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\ntype PositionProp = 'left' | 'right';\n\n@Component\nexport default class IconSwitch extends Vue {\n @Prop({ required: false })\n private leftIconPack?: string;\n\n @Prop({ required: false })\n private rightIconPack?: string;\n\n @Prop({ required: false })\n private iconPack?: string;\n\n @Prop({ required: true, default: '' })\n private leftIcon!: string;\n\n @Prop({ required: true, default: '' })\n private rightIcon!: string;\n\n @Prop()\n private initialPosition?: PositionProp;\n\n private value: boolean = false;\n\n private created() {\n if (this.initialPosition) {\n this.value = this.initialPosition === 'right';\n }\n }\n\n private onClick($event: any): void {\n this.value = $event.target.checked;\n this.$emit('switch-image', this.value);\n }\n\n private getRightIconPack(): string {\n return (\n (!!this.rightIconPack && this.rightIconPack) || (!!this.iconPack && this.iconPack) || 'mdi'\n );\n }\n\n private getLeftIconPack(): string {\n return (\n (!!this.leftIconPack && this.leftIconPack) || (!!this.iconPack && this.iconPack) || 'mdi'\n );\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IconSwitch.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IconSwitch.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./IconSwitch.vue?vue&type=template&id=71862ea3&scoped=true\"\nimport script from \"./IconSwitch.vue?vue&type=script&lang=ts\"\nexport * from \"./IconSwitch.vue?vue&type=script&lang=ts\"\nimport style0 from \"./IconSwitch.vue?vue&type=style&index=0&id=71862ea3&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"71862ea3\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"single-widget-container\"},[(_vm.hasWidgetCard)?_c('widget-card',{attrs:{\"widgetDefinition\":_vm.widgetDefinition,\"isWidgetSelector\":_vm.isWidgetSelector,\"selfManagedFilters\":_vm.selfManagedFilters,\"paramValues\":_vm.paramValues,\"loading\":_vm.loading,\"isFetchingForTheFirstTime\":_vm.isFetchingForTheFirstTime},on:{\"change\":function($event){return _vm.$emit('change', $event)},\"download-data\":_vm.downloadData,\"expand\":_vm.onExpand,\"param-update\":function($event){return _vm.onParamUpdated($event)},\"quick-search-select\":function($event){return _vm.onQuickSearchSelect($event)}},scopedSlots:_vm._u([{key:\"widget-help\",fn:function(){return [_c('widget-help',{attrs:{\"widget\":_vm.widgetDefinition.widget,\"position\":_vm.widgetHelpPosition}})]},proxy:true},{key:\"filters\",fn:function(){return [_vm._t(\"filters\")]},proxy:true}],null,true)},[(_vm.widgetType === _vm.WidgetType.Slot)?_vm._t(\"default\",function(){return [_c(_vm.slotWidgetComponent,{tag:\"component\",attrs:{\"widgetDefinition\":_vm.widgetDefinition,\"data\":_vm.data,\"dataRetriever\":_vm.dataRetriever,\"isFetchingForTheFirstTime\":_vm.isFetchingForTheFirstTime,\"loading\":_vm.loading}})]},{\"widgetDefinition\":_vm.widgetDefinition,\"data\":_vm.data,\"dataRetriever\":_vm.dataRetriever,\"loading\":_vm.loading}):(_vm.widgetType === _vm.WidgetType.CameraView)?_c('camera-view',{key:_vm.widgetDefinition.widget,attrs:{\"deviceId\":_vm.deviceIds[0]}}):(_vm.widgetType === _vm.WidgetType.Map)?_c('map-widget',{key:_vm.widgetDefinition.widget,ref:\"map-widget\",attrs:{\"getData\":_vm.getData}}):(_vm.widgetType === _vm.WidgetType.Echarts)?_c('chart',{attrs:{\"widgetDefinition\":_vm.widgetDefinition,\"generator\":_vm.dataRetriever,\"data\":_vm.data,\"paramValues\":_vm.paramValues,\"isFetchingForTheFirstTime\":_vm.isFetchingForTheFirstTime,\"loading\":_vm.loading,\"selfManagedFilters\":_vm.selfManagedFilters,\"customerNo\":_vm.customerNo},on:{\"double-click-expand\":function($event){return _vm.onExpandOnDblClick($event)}}}):_vm._e()],2):[(_vm.widgetType === _vm.WidgetType.Table)?_vm._t(\"default\",function(){return [_c(_vm.tableWidgetComponent,_vm._g({tag:\"component\",attrs:{\"widgetDefinition\":_vm.widgetDefinition,\"generator\":_vm.dataRetriever,\"data\":_vm.safeTableData,\"loading\":_vm.loading},on:{\"refresh\":_vm.refreshTableData},scopedSlots:_vm._u([{key:\"widget-help\",fn:function(){return [_c('widget-help',{attrs:{\"widget\":_vm.widgetDefinition.widget,\"position\":_vm.widgetHelpPosition}})]},proxy:true}],null,false,1896420088)},_vm.tableListeners))]},{\"widgetDefinition\":_vm.widgetDefinition,\"generator\":_vm.dataRetriever,\"data\":_vm.data,\"loading\":_vm.loading}):(_vm.widgetType === _vm.WidgetType.KPI)?_vm._t(\"default\",function(){return [_c(_vm.kpiWidgetComponent,{tag:\"component\",attrs:{\"widgetDefinition\":_vm.widgetDefinition,\"generator\":_vm.dataRetriever,\"data\":_vm.data,\"loading\":_vm.loading,\"isFetchingForTheFirstTime\":_vm.isFetchingForTheFirstTime}})]}):_vm._e()],(_vm.dynamicModalSettings !== null)?_c(_vm.dynamicModalSettings.type,_vm._b({tag:\"component\"},'component',_vm.dynamicModalSettings.propsData,false)):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nimport WidgetDefinition, { ParamValues } from '@/models/Charts/widgetDefinition';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { areArraysEqual } from '@/utils/array';\n\ntype TimeFilter = FilterTimeSpanEnum | string[] | undefined;\n\nfunction shiftsChanged(newShifts: number[], oldShifts: number[]) {\n return !areArraysEqual(newShifts, oldShifts);\n}\n\nfunction timeFilterChanged(newFilter: TimeFilter, oldFilter: TimeFilter) {\n if (Array.isArray(newFilter) && Array.isArray(oldFilter)) {\n return !areArraysEqual(newFilter, oldFilter);\n }\n return newFilter !== oldFilter;\n}\n\nfunction devicesChanged(newDevices: string | string[], oldDevices: string | string[]) {\n if (Array.isArray(newDevices) && Array.isArray(oldDevices)) {\n return !areArraysEqual(newDevices, oldDevices);\n }\n return newDevices !== oldDevices;\n}\n\nfunction axisSpanChanged(\n newAxis: FilterTimeAxisSpanEnum | undefined,\n oldAxis: FilterTimeAxisSpanEnum | undefined,\n) {\n return newAxis !== oldAxis;\n}\n\nfunction paramValuesChanged(newParamValues: ParamValues, oldParamValues: ParamValues) {\n if (Object.keys(newParamValues).length !== Object.keys(oldParamValues).length) {\n return true;\n }\n\n return Object.keys(newParamValues).some(\n (key) => !oldParamValues.hasOwnProperty(key) || newParamValues[key] !== oldParamValues[key],\n );\n}\n\n/*\n Input arguments:\n - newValue: The WidgetDefinition after the change\n - oldValue: The WidgetDefinition prior to the change\n\n Output value:\n Whether the filters affecting the stored procedure's value have been\n changed. This will determine whether or not the SP needs to be called\n due to this change or not. Changes that do not require new data include\n target changes, aggregate selections, and stacked columns vs. non-stacked\n lines switches.\n*/\nexport function filterChanged(newValue: WidgetDefinition, oldValue: WidgetDefinition): boolean {\n return (\n shiftsChanged(newValue.shifts, oldValue.shifts) ||\n timeFilterChanged(newValue.timeFilter, oldValue.timeFilter) ||\n devicesChanged(newValue.deviceId, oldValue.deviceId) ||\n axisSpanChanged(newValue.axisSpan, oldValue.axisSpan) ||\n paramValuesChanged(newValue.paramValues, oldValue.paramValues)\n );\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { Logger } from '@/utils/logger';\nimport { downloadUrl, isEmpty } from '@/utils/misc';\n\nexport function downloadCsv(data: any[], fileName: string) {\n const csvData = jsonToCsv(data);\n const url = window.URL.createObjectURL(new Blob([csvData], { type: 'text/csv' }));\n downloadUrl(url, fileName);\n}\n\nfunction jsonToCsv(data: object[]) {\n if (isEmpty(data)) {\n Logger.warn('No data available to download');\n return '';\n }\n const keys: string[] = Object.keys(data[0]);\n return (\n keys.join(',') + `\\n` + data.map((series: object) => Object.values(series).join(',')).join(`\\n`)\n );\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"widget-card\"},[_c('div',{staticClass:\"widget-card-header\"},[_c('div',{staticClass:\"top\"},[(_vm.widgetDefinition.showTitle)?_c('div',{staticClass:\"widget-card-title\"},[_c('b-tooltip',{attrs:{\"type\":\"is-dark\",\"label\":_vm.widgetTitle}},[_vm._v(\" \"+_vm._s(_vm.widgetTitle)+\" \")])],1):_vm._e(),_c('div',{staticClass:\"buttons-container\"},[(_vm.widgetDefinition.showInfo)?_vm._t(\"widget-help\"):_vm._e(),(_vm.hasExpandButton && !_vm.isWidgetSelector)?_c('b-button',{staticClass:\"expand-button\",attrs:{\"icon-left\":\"arrow-expand\",\"size\":\"is-small\"},on:{\"click\":function($event){return _vm.$emit('expand')}}}):_vm._e()],2),_c('div',{staticClass:\"filter\"},[(_vm.hasDatepicker && _vm.datepickerDates.length > 0)?_c('b-datepicker',{ref:\"bDatepicker\",attrs:{\"position\":\"is-bottom-left\",\"placeholder\":_vm.$t('report.select_date'),\"icon\":\"calendar-range\",\"size\":\"is-small\",\"range\":\"\",\"mobile-native\":false},on:{\"input\":_vm.onChangeDatepicker},model:{value:(_vm.datepickerDates),callback:function ($$v) {_vm.datepickerDates=$$v},expression:\"datepickerDates\"}}):_vm._e(),(_vm.hasDatepicker)?_c('div',{staticClass:\"mobile-datepicker\",on:{\"click\":_vm.toggleDatepicker}},[_c('b-icon',{staticClass:\"ipad-btns\",attrs:{\"icon\":\"calendar-range\",\"size\":\"is-small\"}})],1):_vm._e(),(_vm.hasTimeMenu)?_c('time-span-filter',{attrs:{\"value\":_vm.widgetDefinition.timeFilter,\"size\":\"is-small\"},on:{\"input\":_vm.onChangeTimespan}}):_vm._e(),(_vm.hasShiftMenu)?_c('shift-filter',{attrs:{\"selectedDeviceIds\":_vm.deviceIds,\"machineType\":_vm.machineType,\"value\":_vm.widgetDefinition.shifts},on:{\"input\":_vm.onChangeShift}}):_vm._e(),(_vm.showThreeDots)?_c('three-dots-options',{attrs:{\"hasTargets\":_vm.hasTarget && _vm.selfManagedFilters,\"hasDownload\":_vm.widgetDefinition.hasDownload,\"hasAxisSpanFilter\":_vm.widgetDefinition.hasAxisSpanFilter && _vm.selfManagedFilters,\"hasAggregates\":_vm.widgetDefinition.hasAggregates,\"innerMenuPosition\":\"is-left\",\"targets\":_vm.getTargets(),\"targetsMetric\":_vm.targetsMetric,\"chosenTimespan\":_vm.dateGrouping,\"aggregates\":_vm.aggregates,\"params\":_vm.widgetDefinition.params,\"paramValues\":_vm.paramValues,\"quickSearchFunction\":_vm.quickSearchFunction},on:{\"download-data\":function($event){return _vm.$emit('download-data')},\"target-change\":function($event){return _vm.onChangeTarget($event)},\"time-change\":function($event){return _vm.onChangeTimeAxisSpan($event)},\"aggregates-change\":function($event){return _vm.onChangeAggregates($event)},\"param-update\":function($event){return _vm.$emit('param-update', $event)},\"quick-search-select\":function($event){return _vm.$emit('quick-search-select', $event)}}}):_vm._e(),_vm._t(\"filters\")],2)]),(_vm.hasTagSection)?_c('div',{staticClass:\"selected-filter-values\"},[(_vm.widgetDefinition.hasTimeMenu)?_c('b-tag',{attrs:{\"type\":\"is-warning\"}},[_vm._v(\" \"+_vm._s(_vm.selectedTimespanTranslated)+\" \")]):_vm._e(),(!_vm.isEmpty(_vm.widgetDefinition.shifts))?_c('b-taglist',{attrs:{\"attached\":\"\"}},_vm._l((_vm.widgetDefinition.shifts),function(shiftId){return _c('b-tag',{key:shiftId,attrs:{\"type\":\"is-warning\"}},[_vm._v(\" \"+_vm._s(_vm.getShiftName(shiftId))+\" \")])}),1):_vm._e(),(_vm.widgetDefinition.isDeviceDependent)?_c('b-tag',{attrs:{\"type\":\"is-warning\"}},[_vm._v(\" \"+_vm._s(_vm.subtitle)+\" \")]):_vm._e()],1):_vm._e()]),_c('div',{staticClass:\"widget-card-body\"},[_vm._t(\"default\"),_c('b-loading',{staticClass:\"big-loading\",attrs:{\"active\":_vm.showBigLoader,\"is-full-page\":false,\"data-testid\":\"loading-indicator\"}}),_c('b-loading',{staticClass:\"little-loading\",attrs:{\"active\":_vm.showSmallLoader,\"is-full-page\":false}}),(_vm.isBetaEnabled && _vm.widgetDefinition.beta)?_c('div',{staticClass:\"badge\"},[_c('new-feature-badge')],1):_vm._e()],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport ShiftFilter from '@/components/ShiftFilter.vue';\nimport TimeSpanFilter from '@/components/TimeSpanFilter.vue';\nimport i18n from '@/i18n';\nimport WidgetDefinition from '@/models/Charts/widgetDefinition';\nimport { Device } from '@/models/device';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { MachineType } from '@/models/enums/MachineType';\nimport { TargetsMetric } from '@/models/enums/TargetsMetric';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { Aggregate, arrayToNumber, numberToArray } from '@/models/metrics/aggregates';\nimport { UserTarget } from '@/models/userTarget';\nimport { getWidgetMachineType } from '@/models/widgetMachineType';\nimport { devicesService } from '@/services/devices.service';\nimport { shiftsService } from '@/services/shifts.service';\nimport { userTargetsService } from '@/services/userTargets.service';\nimport { translateFilterTimeSpanEnum } from '@/utils/i18n';\nimport { isEmpty } from '@/utils/misc';\nimport moment from 'moment';\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport ThreeDotsOptions from '../ThreeDotsOptions.vue';\nimport { usersService } from '@/services/users.service';\nimport { User } from '@/models/user';\nimport NewFeatureBadge from '@/components/NewFeatureBadge.vue';\n\n@Component({\n components: {\n TimeSpanFilter,\n ShiftFilter,\n ThreeDotsOptions,\n NewFeatureBadge,\n },\n methods: {\n isEmpty,\n },\n})\nexport default class WidgetCard extends Vue {\n @Prop({ required: true })\n private widgetDefinition!: WidgetDefinition;\n\n @Prop({ required: true, type: Boolean })\n private isWidgetSelector!: boolean;\n\n @Prop({ required: true, type: Boolean })\n private selfManagedFilters!: boolean;\n\n @Prop({ required: true })\n private paramValues!: Record;\n\n @Prop({ required: true, type: Boolean })\n private isFetchingForTheFirstTime!: boolean;\n\n @Prop({ required: true, type: Boolean })\n private loading!: boolean;\n\n @Ref('bDatepicker')\n private bDatepicker: any;\n\n private datepickerDates: Date[] = [];\n\n private mounted() {\n if (Array.isArray(this.widgetDefinition.timeFilter)) {\n this.datepickerDates = this.widgetDefinition.timeFilter.map((x: string) => new Date(x));\n }\n }\n\n private onChangeDatepicker(payload: Date[]): void {\n const dates = payload.map((x: Date) =>\n moment(x).subtract(x.getTimezoneOffset(), 'minutes').format('YYYY-MM-DD'),\n ) as [string, string];\n const wd = this.widgetDefinition.getCopy({ timeFilter: dates });\n this.$emit('change', wd);\n }\n\n private onChangeTimespan(payload: FilterTimeSpanEnum): void {\n const wd = this.widgetDefinition.getCopy({ timeFilter: payload });\n this.$emit('change', wd);\n }\n\n private onChangeShift(payload: number[]): void {\n const wd = this.widgetDefinition.getCopy({ shifts: payload });\n this.$emit('change', wd);\n }\n\n private onChangeTarget(target: number[]): void {\n const wd = this.widgetDefinition.getCopy({ target });\n this.$emit('change', wd);\n }\n\n private onChangeTimeAxisSpan(axisSpan: FilterTimeAxisSpanEnum): void {\n const wd = this.widgetDefinition.getCopy({ axisSpan });\n this.$emit('change', wd);\n }\n\n private onChangeAggregates(payload: Aggregate[]): void {\n const aggregates = arrayToNumber(payload);\n this.$emit('aggregate-change', aggregates);\n const wd = this.widgetDefinition.getCopy({ aggregates });\n this.$emit('change', wd);\n }\n\n private toggleDatepicker() {\n this.bDatepicker.toggle();\n }\n\n // FIXME: Duplicated with Chart\n private getSalesTimelineTargets(): number[] | undefined {\n const monthlyPaid = this.getUserTarget(TargetsMetric.SalesFunnelMonthlyPaid)?.target1;\n const r3 = this.getUserTarget(TargetsMetric.SalesFunnelR3)?.target1;\n const r4 = this.getUserTarget(TargetsMetric.SalesFunnelR4)?.target1;\n\n if (monthlyPaid && r3 && r4) {\n return [monthlyPaid, r3, r4];\n } else {\n return undefined;\n }\n }\n\n private getUserTarget(targetMetric: TargetsMetric | null): UserTarget | undefined {\n return userTargetsService.store.get(targetMetric);\n }\n\n // FIXME: Duplicated with Chart\n private getDefaultTarget() {\n if (this.widgetDefinition.widget === WidgetEnum.SalesTimeline) {\n return this.getSalesTimelineTargets();\n } else {\n const nTargets = userTargetsService.store.getMetricNumberOfTargetValues(this.targetsMetric);\n if (nTargets === 0) {\n return;\n }\n const defaultTarget: number[] = [];\n const userTarget = this.getUserTarget(this.targetsMetric);\n\n if (userTarget) {\n defaultTarget.push(userTarget.target1);\n if (nTargets === 2 && !!userTarget.target2) {\n defaultTarget.push(userTarget.target2);\n }\n }\n\n return userTarget ? defaultTarget : undefined;\n }\n }\n\n // FIXME: Duplicated with Chart\n private getTargets() {\n return this.selfManagedFilters ? this.widgetDefinition.target : this.getDefaultTarget();\n }\n\n private get widgetTitle(): string {\n return i18n.t(`widget.${this.widgetDefinition.widget}`).toString();\n }\n\n private get hasExpandButton(): boolean {\n return this.widgetDefinition.canExpand();\n }\n\n private get hasDatepicker(): boolean {\n return this.selfManagedFilters && this.widgetDefinition.hasDatepicker;\n }\n\n private get hasTimeMenu(): boolean {\n return this.selfManagedFilters && this.widgetDefinition.hasTimeMenu;\n }\n\n private get hasShiftMenu(): boolean {\n return this.selfManagedFilters && this.widgetDefinition.hasShiftMenu;\n }\n\n private get hasTarget(): boolean {\n return this.targetsMetric !== TargetsMetric.None;\n }\n\n private get hasQuickSearch(): boolean {\n return !!this.widgetDefinition.quickSearchFunction;\n }\n\n private get hasParams(): boolean {\n return Object.keys(this.widgetDefinition.params).length > 0;\n }\n\n private get hasTagSection(): boolean {\n const widgetsWithLabels = [\n WidgetEnum.CameraView,\n WidgetEnum.BendStatus,\n WidgetEnum.CutStatus,\n WidgetEnum.TubeStatus,\n ];\n return (\n this.selfManagedFilters &&\n (this.hasShiftMenu || widgetsWithLabels.includes(this.widgetDefinition.widget))\n );\n }\n\n private get dateGrouping() {\n return this.widgetDefinition.axisSpan ?? FilterTimeAxisSpanEnum.Day;\n }\n\n private get aggregates(): string[] {\n return numberToArray(this.widgetDefinition.aggregates);\n }\n\n private get targetsMetric(): TargetsMetric | null {\n return !!this.widgetDefinition\n ? this.getWidgetTargetMetric(this.widgetDefinition.widget)\n : null;\n }\n\n private get quickSearchFunction() {\n return this.widgetDefinition.quickSearchFunction;\n }\n\n private get selectedTimespanTranslated() {\n return Array.isArray(this.widgetDefinition.timeFilter)\n ? ''\n : translateFilterTimeSpanEnum(this.widgetDefinition.timeFilter);\n }\n\n private getWidgetTargetMetric(widget: WidgetEnum): TargetsMetric {\n let widgetString = Object.keys(WidgetEnum).find(\n (key: string) => WidgetEnum[key as keyof typeof WidgetEnum] === widget,\n )!;\n\n // HACK (temporary): We don't want a target for LaserAvailability pie chart,\n // but it will be added in the future.\n if (widgetString !== 'LaserProductivityHist') {\n widgetString = widgetString.replace('Hist', '');\n }\n\n return widgetString in TargetsMetric\n ? TargetsMetric[widgetString as keyof typeof TargetsMetric]\n : TargetsMetric.None;\n }\n\n private getShiftName(id: number): string {\n return shiftsService.store.getNameById(id);\n }\n\n private get showThreeDots(): boolean {\n return (\n (this.widgetDefinition.hasDownload ||\n (this.hasTarget && this.selfManagedFilters) ||\n this.hasQuickSearch ||\n (this.widgetDefinition.hasAxisSpanFilter && this.selfManagedFilters) ||\n this.widgetDefinition.hasAggregates ||\n this.hasParams) &&\n !this.isWidgetSelector\n );\n }\n\n private get machineType(): MachineType {\n return getWidgetMachineType(this.widgetDefinition.widget);\n }\n\n private get deviceIds(): string[] {\n return this.widgetDefinition.deviceIds;\n }\n\n private get devices(): Device[] {\n return devicesService.store.get();\n }\n\n private get subtitle(): string {\n if (isEmpty(this.deviceIds)) {\n return i18n.t('report.overview').toString();\n } else {\n return this.devices.find((dev: Device) => dev.deviceId === this.deviceIds[0])?.name ?? '';\n }\n }\n\n private get showBigLoader(): boolean {\n return (\n this.isFetchingForTheFirstTime &&\n this.loading &&\n (this.widgetDefinition.isEcharts || this.widgetDefinition.isSlot)\n );\n }\n\n private get showSmallLoader(): boolean {\n return (\n !this.isFetchingForTheFirstTime &&\n this.loading &&\n (this.widgetDefinition.isEcharts || this.widgetDefinition.isSlot)\n );\n }\n\n private get user(): User {\n return usersService.store.current();\n }\n\n private get isBetaEnabled(): boolean {\n return this.user.isBetaEnabled;\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetCard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetCard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./WidgetCard.vue?vue&type=template&id=4b692177&scoped=true\"\nimport script from \"./WidgetCard.vue?vue&type=script&lang=ts\"\nexport * from \"./WidgetCard.vue?vue&type=script&lang=ts\"\nimport style0 from \"./WidgetCard.vue?vue&type=style&index=0&id=4b692177&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4b692177\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{ref:\"wrapper\",staticClass:\"map-widget-wrapper\"},[_c('l-map',{ref:\"map\",staticClass:\"map-widget-map\"},[_c('l-tile-layer',{attrs:{\"url\":\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\"}}),_vm._l((_vm.markers),function(marker,index){return _c('l-circle-marker',{key:index,attrs:{\"lat-lng\":marker.coordinates,\"radius\":marker.radius,\"opacity\":0,\"fill-color\":marker.color,\"fill-opacity\":0.7}},[(!!marker.tooltip)?_c('l-tooltip',[_c('div',{domProps:{\"innerHTML\":_vm._s(marker.tooltip())}})]):_vm._e()],1)}),(_vm.noData)?_c('l-control',{staticClass:\"no-data-watermark\",attrs:{\"position\":'bottomleft'}},[_vm._v(\" \"+_vm._s(_vm.$t('no_data'))+\" \")]):_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport 'leaflet/dist/leaflet.css';\nimport 'leaflet';\nimport { LMap, LTooltip, LTileLayer, LCircleMarker, LControl } from 'vue2-leaflet';\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport { MapData, Marker, NoDataException } from '@/models/Maps/mapGenerator';\nimport { isEmpty } from '@/utils/misc';\n\n@Component({\n components: {\n LMap,\n LTooltip,\n LTileLayer,\n LCircleMarker,\n LControl,\n },\n})\nexport default class MapWidget extends Vue {\n @Prop({ required: true })\n private getData!: () => Promise;\n\n @Ref('map')\n private map!: LMap;\n\n @Ref('wrapper')\n private wrapper!: Element;\n\n private observer!: ResizeObserver;\n private isFirstResize = true;\n\n private data: MapData | null = null;\n private markers: Marker[] = [];\n\n private noData = false;\n\n private async mounted() {\n this.map.mapObject.attributionControl.remove();\n this.observer = new ResizeObserver(this.onMapResize);\n this.observer.observe(this.map.$el);\n }\n\n public async update(): Promise {\n const loading = this.$buefy.loading.open({\n container: this.wrapper,\n });\n try {\n this.noData = false;\n this.data = await this.getData();\n this.markers = this.data!.markers.map((marker) => ({\n ...marker,\n color: marker.color ?? '#6a5ffe',\n radius: marker.radius ?? 20,\n })).sort((a, b) => ((a.zIndexOffset ?? 0) > (b.zIndexOffset ?? 0) ? 1 : -1));\n this.map.mapObject.scrollWheelZoom.enable();\n this.map.mapObject.dragging.enable();\n this.map.mapObject.addControl(this.map.mapObject.zoomControl);\n this.map.mapObject.doubleClickZoom.enable();\n } catch (e) {\n if (e instanceof NoDataException) {\n this.noData = true;\n this.markers = [];\n this.map.mapObject.scrollWheelZoom.disable();\n this.map.mapObject.dragging.disable();\n this.map.mapObject.zoomControl.remove();\n this.map.mapObject.doubleClickZoom.disable();\n }\n } finally {\n this.$nextTick(() => {\n this.fitBounds();\n });\n }\n loading.close();\n }\n\n private fitBounds(): void {\n const bounds = this.markers.map((marker) => marker.coordinates);\n if (isEmpty(bounds)) {\n // Coordinates to show the world when no data is available\n const northLatitude = 66;\n const southLatitude = -50;\n const westLongitude = -150;\n const eastLongitude = 170;\n this.map.mapObject.fitBounds(\n [\n [northLatitude, westLongitude],\n [southLatitude, westLongitude],\n [northLatitude, eastLongitude],\n [southLatitude, eastLongitude],\n ],\n {\n padding: [0.25, 0.25],\n },\n );\n } else {\n this.map.mapObject.fitBounds(bounds, {\n padding: [0.25, 0.25],\n });\n }\n }\n\n private onMapResize() {\n if (this.isFirstResize) {\n this.isFirstResize = false;\n return;\n }\n\n this.map.mapObject.invalidateSize();\n this.fitBounds();\n }\n\n private beforeDestroy() {\n this.observer.unobserve(this.map.$el);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapWidget.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapWidget.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./MapWidget.vue?vue&type=template&id=77c61694&scoped=true\"\nimport script from \"./MapWidget.vue?vue&type=script&lang=ts\"\nexport * from \"./MapWidget.vue?vue&type=script&lang=ts\"\nimport style0 from \"./MapWidget.vue?vue&type=style&index=0&id=77c61694&prod&lang=css\"\nimport style1 from \"./MapWidget.vue?vue&type=style&index=1&id=77c61694&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"77c61694\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"widget-card async-component-loader\"},[_c('b-loading',{attrs:{\"active\":\"\",\"is-full-page\":false}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./AsyncComponentLoader.vue?vue&type=template&id=fbf37a3c&scoped=true\"\nvar script = {}\nimport style0 from \"./AsyncComponentLoader.vue?vue&type=style&index=0&id=fbf37a3c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fbf37a3c\",\n null\n \n)\n\nexport default component.exports","\nimport WidgetDefinition, { ParamValues } from '@/models/Charts/widgetDefinition';\nimport { Component, InjectReactive, Prop, Provide, Ref, Vue, Watch } from 'vue-property-decorator';\nimport { findWidgetType, WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { WidgetType } from '@/models/enums/WidgetType';\nimport { DataRetriever } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { RequestCanceledError } from '@/services/requestCanceledError';\nimport { Logger } from '@/utils/logger';\nimport WidgetFactory from '@/models/Charts/widgetFactory';\nimport { filterChanged } from '@/models/metrics/widgetFilters';\nimport i18n from '@/i18n';\nimport { usersService } from '@/services/users.service';\nimport { User } from '@/models/user';\nimport { customersService } from '@/services/tenants.service';\nimport WidgetHelp from '../WidgetHelp.vue';\nimport { DynamicModal } from './common';\nimport QuickSearchItem from '@/models/metrics/quickSearchItem';\nimport { downloadCsv } from '@/services/metricsDownloadService';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport WidgetCard from './WidgetCard.vue';\nimport { listenersWithPrefix } from '@/utils/components';\nimport MapWidget from '@/components/Charts/MapWidget.vue';\nimport AsyncComponentLoader from './AsyncComponentLoader.vue';\n\n@Component({\n components: {\n WidgetCard,\n WidgetHelp,\n Chart: () => import('@/components/Charts/Chart.vue'),\n CameraView: () => import('@/components/CameraView.vue'),\n // MapWidget is not dynamically imported to avoid issues with the ref,\n // which wasn't being loaded in time for the first update() call.\n MapWidget,\n\n // Slot components\n 'bend-status': () => import('@/components/bend/BendStatus.vue'),\n 'bend-performance': () => import('@/components/bend/BendPerformance.vue'),\n 'figures-widget': () => import('@/components/FiguresWidget.vue'),\n 'cut-status': () => import('@/components/cut/CutStatus.vue'),\n 'tube-status': () => import('@/components/tube/TubeStatus.vue'),\n 'bend-productivity-figures': () => import('@/components/bend/BendProductivityFigures.vue'),\n 'bend-states-overview': () => import('@/components/bend/BendStatesOverview.vue'),\n 'bend-shift-statistics': () => import('@/components/bend/BendShiftStatistics.vue'),\n 'bend-ranking-of-parts': () => import('@/components/bend/BendRankingOfParts.vue'),\n\n // Table components\n 'cut-or-tubes-intraday-availability-table': () =>\n import('@/views/workcenterConsole/CutOrTubesIntradayAvailabilityTable/CutOrTubesIntradayAvailabilityTable.vue'),\n 'bend-intraday-availability-table': () =>\n import('@/views/workcenterConsole/BendIntradayAvailabilityTable/BendIntradayAvailabilityTable.vue'),\n 'cut-current-workload-table': () => import('@/components/cut/CutCurrentWorkloadTable.vue'),\n\n // KPI widget components\n 'number-of-bends-kpi-widget': () => ({\n component: import('@/components/bend/NumberOfBendsWidget.vue'),\n loading: AsyncComponentLoader,\n delay: 0,\n }),\n 'peak-hourly-bending-widget': () => ({\n component: import('@/components/bend/PeakHourlyBendingWidget.vue'),\n loading: AsyncComponentLoader,\n delay: 0,\n }),\n 'bending-tool-changes-kpi-widget': () => ({\n component: import('@/components/bend/BendToolChangesKpiWidget.vue'),\n loading: AsyncComponentLoader,\n delay: 0,\n }),\n 'bending-production-output-kpi-widget': () => ({\n component: import('@/components/bend/BendProductionOutputWidget.vue'),\n loading: AsyncComponentLoader,\n delay: 0,\n }),\n\n // Dynamic modals\n 'cut-intraday': () => import('@/components/cut/CutIntraday.vue'),\n 'detailed-customer-groups': () => import('@/components/sales/DetailedCustomerGroups.vue'),\n 'detailed-top-sales-people': () => import('@/components/sales/DetailedTopSalespeople.vue'),\n 'detailed-customer': () => import('@/components/quotes/DetailedCustomerView.vue'),\n 'cut-states-intraday': () => import('@/components/cut/CutStatesIntraday.vue'),\n 'oee-intraday': () => import('@/components/cut/OEEIntraday.vue'),\n 'quotes-customers-expanded-view': () =>\n import('@/components/quotes/QuotesCustomersExpandedView.vue'),\n 'events-table-expanded-view': () =>\n import('@/components/careConsole/EventsTableExpandedView.vue'),\n 'modal-wrapped-events-table-expanded-view': () =>\n import('@/components/careConsole/ModalWrappedEventsTableExpandedView.vue'),\n },\n computed: {\n WidgetType: () => WidgetType,\n },\n})\nexport default class SingleWidgetContainer extends Vue {\n @Prop({ required: true })\n @Provide('widgetDefinition')\n private widgetDefinition!: WidgetDefinition;\n\n @Prop({ default: false, type: Boolean })\n private selfManagedFilters!: boolean;\n\n @Prop({ default: 'is-bottom-right' })\n private widgetHelpPosition!: string;\n\n @Prop({ default: true, type: Boolean })\n private autorefresh!: boolean;\n\n @Prop({ default: false, type: Boolean })\n private isWidgetSelector!: boolean;\n\n @Prop()\n private customerNo?: string;\n\n /** Provided by Technology console where the user selects a customer. */\n @InjectReactive({ from: 'technologyTenantIdDh', default: null })\n private technologyTenantIdDh!: number | null;\n\n /** Provided by Care console where the user selects a customer. */\n @InjectReactive({ from: 'supportTenantIdDh', default: null })\n private supportTenantIdDh!: number | null;\n\n @Ref('map-widget')\n private mapWidget?: MapWidget;\n\n private dynamicModalSettings: DynamicModal | null = null;\n\n private dataRetriever: DataRetriever | null = null;\n private data: any = null;\n\n private handle: number = -1;\n private isFetchingForTheFirstTime = true;\n private loading = true;\n private paramValues: Record = {};\n\n private async mounted() {\n this.initializeParamValuesIfDefined();\n\n if (this.handle === -1 && this.autorefresh) {\n this.handle = window.setInterval(this.update, 40 * 1000);\n }\n\n this.dataRetriever = WidgetFactory.createDataRetriever(\n this.widgetDefinition.widget,\n this.customerIdDh,\n );\n await this.update();\n }\n\n private beforeDestroy() {\n clearInterval(this.handle);\n this.dataRetriever?.abort();\n }\n\n @Watch('widgetDefinition')\n private onWidgetDefinitionChanged(newValue: WidgetDefinition, oldValue: WidgetDefinition) {\n this.initializeParamValuesIfDefined();\n\n if (newValue.widget !== oldValue.widget) {\n this.data = null;\n this.isFetchingForTheFirstTime = true;\n this.dataRetriever?.abort();\n this.dataRetriever = WidgetFactory.createDataRetriever(\n this.widgetDefinition.widget,\n this.customerIdDh,\n );\n this.update();\n } else if (filterChanged(newValue, oldValue)) {\n this.update();\n }\n }\n\n private async getData() {\n if (this.isWidgetSelector) {\n return this.dataRetriever?.getMockData();\n } else {\n this.dataRetriever?.abort();\n return this.dataRetriever?.getData(\n this.deviceIds,\n this.widgetDefinition.shifts,\n this.widgetDefinition.timeFilter ?? FilterTimeSpanEnum.None,\n this.widgetDefinition.axisSpan,\n this.paramValues,\n this.customerNo,\n );\n }\n }\n\n @Watch('technologyTenantIdDh')\n @Watch('supportTenantIdDh')\n private async update() {\n if (this.widgetType === WidgetType.CameraView) {\n return;\n } else if (this.widgetType === WidgetType.Map) {\n // Waiting for the next tick when the map is updated helps to let the component fully load.\n // This in turn means that Leaflet will correctly run fitBounds always, and that when switching\n // between composites the map is also fully mounted.\n this.$nextTick(() => {\n this.mapWidget?.update();\n });\n return;\n }\n const widgetDefinition = this.widgetDefinition;\n this.loading = true;\n let data: any = null;\n try {\n data = await this.getData();\n } catch (e) {\n // Avoid the chart being hidden while the new response arrives\n // (We throw an exception when a request is aborted).\n if (!(e instanceof RequestCanceledError)) {\n this.data = null; // To show 'no data'\n Logger.error(`Error loading data for '${this.widgetTitle}' chart.`, e);\n }\n } finally {\n if (!this.hasWidgetDefinitionChanged(widgetDefinition)) {\n // This is checked to avoid a race condition.\n // This race condition could happen when a widget definition is changed before the\n // request has been completed. This function would be called again before the previous\n // call has ended, and the this.loading assignment in line 461 and the one below would\n // conflict. For example, when quickly clicking the switch in WCC Cut.\n this.data = data ?? null; // To show 'no data'\n this.loading = false;\n this.isFetchingForTheFirstTime = false;\n }\n }\n }\n\n private initializeParamValuesIfDefined() {\n this.paramValues = {\n ...this.generateParamValuesWithDefaults(),\n ...this.widgetDefinition.paramValues,\n };\n }\n\n private generateParamValuesWithDefaults() {\n return Object.entries(this.widgetDefinition.params ?? {})\n .map(([paramName, paramInfo]) => ({ [paramName]: paramInfo.defaultValue }))\n .reduce((a, b) => ({ ...a, ...b }), {});\n }\n\n private hasWidgetDefinitionChanged(widgetDefinition: WidgetDefinition): boolean {\n return (\n this.widgetDefinition.widget !== widgetDefinition.widget ||\n filterChanged(this.widgetDefinition, widgetDefinition)\n );\n }\n\n private onParamUpdated(paramValues: ParamValues): void {\n let widgetDefinition = this.widgetDefinition;\n\n Object.entries(paramValues).forEach(([paramName, paramValue]) => {\n this.$set(this.paramValues, paramName, paramValue);\n widgetDefinition = widgetDefinition.updateParamValue(paramName, paramValue);\n });\n // Important: We don't want to call update() here. It'll be triggered by the\n // 'change' event through watchChanges.\n this.$emit('param-update');\n this.$emit('change', widgetDefinition);\n }\n\n private openDynamicModal(dynamicModalSettings: DynamicModal): void {\n this.dynamicModalSettings = {\n type: dynamicModalSettings.type,\n propsData: {\n ...dynamicModalSettings.propsData,\n onClose: () => {\n this.dynamicModalSettings = null;\n },\n },\n };\n }\n\n private onExpandOnDblClick(params: any) {\n const config = this.widgetDefinition.getDblClickModalConfiguration()!;\n this.openDynamicModal({\n type: config.type,\n propsData: {\n ...Object.fromEntries(config.propsData.map((prop) => [prop, (this as any)[prop]])),\n ...(config.mapParamsToProps?.(params) ?? {}),\n },\n });\n }\n\n private onQuickSearchSelect(selection: QuickSearchItem) {\n if (this.canExpandOnQuickSearch) {\n const config = this.widgetDefinition.getQuickSearchModalConfiguration()!;\n this.openDynamicModal({\n type: config.type,\n propsData: {\n ...Object.fromEntries(config.propsData.map((prop) => [prop, (this as any)[prop]])),\n selection,\n },\n });\n }\n }\n\n private downloadData() {\n const fileName = i18n.t(`widget.${this.widgetDefinition.widget}`) ?? 'data';\n downloadCsv(this.data, `${fileName}.csv`);\n }\n\n private onExpand() {\n const config = this.widgetDefinition.getModalConfiguration()!;\n this.openDynamicModal({\n type: config.type,\n propsData: {\n ...Object.fromEntries(config.propsData.map((prop) => [prop, (this as any)[prop]])),\n },\n });\n }\n\n private async refreshTableData() {\n await this.update();\n }\n\n private get slotWidgetComponent(): string | null {\n switch (this.widgetDefinition.widget) {\n case WidgetEnum.CutStatus:\n return 'cut-status';\n case WidgetEnum.BendStatus:\n return 'bend-status';\n case WidgetEnum.TubeStatus:\n return 'tube-status';\n case WidgetEnum.BendingPerformance:\n return 'bend-performance';\n case WidgetEnum.BendProductivityFigures:\n return 'bend-productivity-figures';\n case WidgetEnum.BendStatusOverview:\n return 'bend-states-overview';\n case WidgetEnum.BusinessOverviewFigures:\n case WidgetEnum.QuotesFiguresDetailed:\n case WidgetEnum.QuotesFigures:\n case WidgetEnum.SalesFigures:\n case WidgetEnum.ManufacturingFigures:\n case WidgetEnum.TechnologyOverviewSscFigures:\n return 'figures-widget';\n case WidgetEnum.BendShiftStatistics:\n return 'bend-shift-statistics';\n case WidgetEnum.BendRankingOfParts:\n return 'bend-ranking-of-parts';\n default:\n return null;\n }\n }\n\n private get safeTableData(): any {\n return this.data ?? [];\n }\n\n private get tableWidgetComponent(): string | null {\n switch (this.widgetDefinition.widget) {\n case WidgetEnum.LaserIntradayAvailabilityTable:\n case WidgetEnum.TubeIntradayAvailabilityTable:\n return 'cut-or-tubes-intraday-availability-table';\n case WidgetEnum.BendIntradayAvailabilityTable:\n return 'bend-intraday-availability-table';\n case WidgetEnum.LaserCurrentWorkload:\n return 'cut-current-workload-table';\n default:\n return null;\n }\n }\n\n private get kpiWidgetComponent(): string | null {\n switch (this.widgetDefinition.widget) {\n case WidgetEnum.NumberOfBendsWidget:\n return 'number-of-bends-kpi-widget';\n case WidgetEnum.PeakHourlyBendingWidget:\n return 'peak-hourly-bending-widget';\n case WidgetEnum.BendToolChangesWidget:\n return 'bending-tool-changes-kpi-widget';\n case WidgetEnum.BendProductionOutputWidget:\n return 'bending-production-output-kpi-widget';\n default:\n return null;\n }\n }\n\n private get user(): User {\n return usersService.store.current();\n }\n\n private get customerIdDh(): number {\n if (this.user.isTechnologyUser) {\n return this.technologyTenantIdDh!;\n } else if (this.user.isServiceUserType) {\n return this.supportTenantIdDh!;\n } else {\n return customersService.store.currentIdDh()!;\n }\n }\n\n private get widgetTitle(): string {\n return i18n.t(`widget.${this.widgetDefinition.widget}`).toString();\n }\n\n private get canExpandOnQuickSearch(): boolean {\n return this.widgetDefinition.canExpandOnQuickSearch();\n }\n\n private get widgetType(): WidgetType {\n return findWidgetType(this.widgetDefinition.widget);\n }\n\n private get hasWidgetCard(): boolean {\n return ![WidgetType.Table, WidgetType.KPI].includes(this.widgetType);\n }\n\n private get deviceIds(): string[] {\n return this.widgetDefinition.deviceIds;\n }\n\n /* These getters are used to be passed as props to the dynamic modals. */\n private get selectedShifts() {\n return this.widgetDefinition.shifts;\n }\n\n private get selectedTimeFilter() {\n return this.widgetDefinition.timeFilter;\n }\n\n private get selectedDeviceIds(): string[] {\n return this.deviceIds;\n }\n\n private get selectedDateGrouping() {\n return this.widgetDefinition.axisSpan ?? FilterTimeAxisSpanEnum.Day;\n }\n\n private get tableListeners() {\n return listenersWithPrefix('table', this);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleWidgetContainer.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleWidgetContainer.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./SingleWidgetContainer.vue?vue&type=template&id=008a1fb0&scoped=true\"\nimport script from \"./SingleWidgetContainer.vue?vue&type=script&lang=ts\"\nexport * from \"./SingleWidgetContainer.vue?vue&type=script&lang=ts\"\nimport style0 from \"./SingleWidgetContainer.vue?vue&type=style&index=0&id=008a1fb0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"008a1fb0\",\n null\n \n)\n\nexport default component.exports","\nimport WidgetDefinition from '@/models/Charts/widgetDefinition';\nimport {\n CompositeWidgetDefinition,\n CompositeWidgetEntry,\n WidgetEntry,\n} from '@/models/Charts/compositeWidgetDefinition';\nimport { Component, Inject, Prop, Vue } from 'vue-property-decorator';\nimport IconSwitch from '@/components/switch/IconSwitch.vue';\nimport SingleWidgetContainer from './SingleWidgetContainer.vue';\nimport LayoutGrid from '@/views/dashboard/LayoutGrid.vue';\n\n/**\n * Component to show a widget with mode switch if a composite widget is provided\n * instead of a widget definition.\n *\n * Two properties (coming from Chart) are available to the default slot:\n *\n * - data: Contains the data retrieved by the DataRetriever defined for the\n * widget. Beware that it will be null until the data is retrieved. This is\n * to allow the slot to handle the \"no data\" case (tables, for example).\n * - loading: true while the data is being retrieved.\n *\n * Usage:\n * \n *
\n * {{ data.foo }}\n *
\n * \n */\n@Component({\n components: {\n SingleWidgetContainer,\n IconSwitch,\n },\n})\nexport default class WidgetContainer extends Vue {\n @Prop({ required: true })\n private widgetDefinition!: WidgetEntry;\n\n @Prop({ default: false, type: Boolean })\n private selfManagedFilters!: boolean;\n\n @Prop({ default: 'is-right' })\n private threeDotsInnerPosition!: string;\n\n @Prop({ default: 'is-bottom-right' })\n private widgetHelpPosition!: string;\n\n @Prop({ default: true, type: Boolean })\n private autorefresh!: boolean;\n\n @Prop({ default: false, type: Boolean })\n private isWidgetSelector!: boolean;\n\n @Prop()\n private customerNo?: string;\n\n @Inject({ default: undefined })\n private $grid?: LayoutGrid;\n\n private showFirstWidget = true;\n\n private created() {\n this.$grid?.refreshWidgets();\n }\n\n private beforeDestroy() {\n this.$grid?.refreshWidgets();\n }\n\n private onWidgetDefinitionChanged(widgetDefinition: WidgetDefinition) {\n if (this.hasManyDefinitions()) {\n const wd = this.widgetDefinition as CompositeWidgetDefinition;\n const leftWasUpdated = wd.left.widgetDefinition.widget === widgetDefinition.widget;\n const updatedCompositeWidgetDefinition = wd.clone();\n if (leftWasUpdated) {\n updatedCompositeWidgetDefinition.left.widgetDefinition = widgetDefinition;\n } else {\n updatedCompositeWidgetDefinition.right.widgetDefinition = widgetDefinition;\n }\n this.$emit('change', updatedCompositeWidgetDefinition);\n } else {\n this.$emit('change', widgetDefinition);\n }\n }\n\n private onSwitchImage(isRightOptionSelected: boolean) {\n // Value will be true when switch is to the right\n this.showFirstWidget = !isRightOptionSelected;\n this.resetPreviousWidgetParamValues(isRightOptionSelected);\n }\n\n private resetPreviousWidgetParamValues(isRightOptionSelected: boolean) {\n if (isRightOptionSelected) {\n (this.widgetDefinition as CompositeWidgetDefinition).left.widgetDefinition.paramValues = {};\n } else {\n (this.widgetDefinition as CompositeWidgetDefinition).right.widgetDefinition.paramValues = {};\n }\n }\n\n private hasManyDefinitions(): boolean {\n return this.widgetDefinition.isComposite();\n }\n\n private get widgetEntry(): CompositeWidgetEntry | undefined {\n if (this.hasManyDefinitions()) {\n const wd = this.widgetDefinition as CompositeWidgetDefinition;\n return this.showFirstWidget ? wd.left : wd.right;\n } else {\n return undefined;\n }\n }\n\n private get resolvedWidgetDefinition(): WidgetDefinition {\n if (this.hasManyDefinitions()) {\n return this.widgetEntry!.widgetDefinition;\n } else {\n return this.widgetDefinition as WidgetDefinition;\n }\n }\n\n private get leftIcon(): string | undefined {\n const wd = this.widgetDefinition as CompositeWidgetDefinition;\n return wd.left.icon;\n }\n\n private get leftIconPack(): string | undefined {\n const wd = this.widgetDefinition as CompositeWidgetDefinition;\n return wd.left.iconPack;\n }\n\n private get rightIcon(): string | undefined {\n const wd = this.widgetDefinition as CompositeWidgetDefinition;\n return wd.right.icon;\n }\n\n private get rightIconPack(): string | undefined {\n const wd = this.widgetDefinition as CompositeWidgetDefinition;\n return wd.right.iconPack;\n }\n\n private get listeners(): any {\n // We need to filter out 'change' event from this component before passing\n // it to Chart to avoid emitting two 'change' events. One from this\n // component plus the one defined in Chart.\n return Object.fromEntries(\n Object.entries(this.$listeners).filter(([eventName, _]) => eventName !== 'change'),\n );\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetContainer.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetContainer.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./WidgetContainer.vue?vue&type=template&id=c51b47c6&scoped=true\"\nimport script from \"./WidgetContainer.vue?vue&type=script&lang=ts\"\nexport * from \"./WidgetContainer.vue?vue&type=script&lang=ts\"\nimport style0 from \"./WidgetContainer.vue?vue&type=style&index=0&id=c51b47c6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c51b47c6\",\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\nimport { AlertOccurrence } from '@/models/alertOccurrence';\nimport { AlertMetric, AlertOperator } from '@/models/enums/AlertsEnums';\nimport i18n from '@/i18n';\nimport { translateDateGrouping } from '@/utils/dates';\nimport { Alert } from '@/models/alert';\nimport { alertsService } from '@/services/alerts.service';\nimport { decimalFormatter } from './number';\nimport { isNil } from './misc';\nimport { matchIgnoringCase } from '@/utils/table';\nimport { AlertWorkflow, AlertWorkflowStatus } from '@/models/alertWorkflow';\n\nexport function matchesMetric(alert: Alert | AlertOccurrence, searchText: string) {\n return matchIgnoringCase(translateKpi(alert.metric), searchText);\n}\n\nexport function matchesOperator(alert: Alert | AlertOccurrence, searchText: string) {\n return matchIgnoringCase(translateOperator(alert.operator), searchText);\n}\n\nexport function matchesDateGrouping(alert: Alert | AlertOccurrence, searchText: string) {\n return matchIgnoringCase(translateDateGrouping(alert.dateGrouping!), searchText);\n}\n\nexport function matchesThreshold(alert: Alert | AlertOccurrence, searchText: string) {\n const unit = alertsService.store.getAlertMetricUnit(alert.metric);\n return (\n matchIgnoringCase(alert.threshold.toString(), searchText) ||\n (unit && matchIgnoringCase(translateUnit(unit, alert.threshold as number), searchText))\n );\n}\n\nexport function matchesVariable(alert: Alert | AlertOccurrence, searchText: string) {\n return matchIgnoringCase(translateVariable(alert.variable, alert.metric), searchText);\n}\n\nexport function matchesEventSource(alert: Alert | AlertOccurrence, searchText: string): boolean {\n return alert.eventSources?.some((source) => matchIgnoringCase(source, searchText)) ?? false;\n}\n\nexport function matchesEventCode(alert: Alert | AlertOccurrence, searchText: string): boolean {\n return alert.eventCodes?.some((code) => matchIgnoringCase(code, searchText)) ?? false;\n}\n\nexport function translateKpi(kpi: AlertMetric): string {\n return i18n.t(`alert.metric.${kpi}`).toString();\n}\n\nexport function translateOperator(operator: AlertOperator): string {\n return i18n.t(`alert_operators.${AlertOperator[operator]}`).toString();\n}\n\nexport function translateUnit(unit: string | null, value: number | null): string {\n return unit ? i18n.tc(unit, value ?? 0).toString() : '';\n}\n\nexport function translateVariable(variable: string | undefined, metric: AlertMetric): string {\n if (isNil(variable)) {\n return '';\n }\n return i18n.t(`wizards.create_care_alert.variables.${metric}.${variable}`).toString();\n}\n\nexport function translateWorkflowStatus(workflowStatus: AlertWorkflowStatus): string {\n return i18n.t(`alert.workflow_status.${workflowStatus}`).toString();\n}\n\nexport function formatWithUnit(value: number, metric: AlertMetric): string {\n const unit = alertsService.store.getAlertMetricUnit(metric);\n return decimalFormatter(value) + (unit ? ' ' + translateUnit(unit, value) : '');\n}\n\nexport function alertMetricSorter(a: AlertWorkflow, b: AlertWorkflow, isAscending: boolean) {\n const aText = translateKpi(a.alertOccurrence.metric);\n const bText = translateKpi(b.alertOccurrence.metric);\n return isAscending ? aText.localeCompare(bText) : bText.localeCompare(aText);\n}\n","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nimport getSymbolFromCurrency from 'currency-symbol-map';\r\nimport { mastersService } from '@/services/masters.service';\r\nimport { tenantsService } from '@/services/tenants.service';\r\n\r\nexport const currency: () => string = () => {\r\n const curr = mastersService.store\r\n .getCurrencyCodes()\r\n .find((cur: any) => tenantsService.store.current()?.currencyCode === cur.id);\r\n return !!curr ? getSymbolFromCurrency(curr?.name) ?? '' : '';\r\n};\r\n\r\nexport const currencyCode: () => string = () => {\r\n const curr = mastersService.store\r\n .getCurrencyCodes()\r\n .find((cur: any) => tenantsService.store.current()?.currencyCode === cur.id);\r\n return !!curr ? curr.name : '';\r\n};\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertWorkflowDetailsModal.vue?vue&type=style&index=0&id=5450ac05&prod&lang=scss&scoped=true\"","var map = {\n\t\"./cs/cs.json\": \"a6eb\",\n\t\"./cs/timezones.cs.json\": \"7425\",\n\t\"./currencies.json\": \"9dc6\",\n\t\"./da/da.json\": \"dcf4\",\n\t\"./da/timezones.da.json\": \"3056\",\n\t\"./de/de.json\": \"fa1b\",\n\t\"./de/timezones.de.json\": \"fe23\",\n\t\"./en/en.json\": \"d551\",\n\t\"./en/timezones.en.json\": \"174d\",\n\t\"./es/es.json\": \"8b3a\",\n\t\"./es/timezones.es.json\": \"a927\",\n\t\"./fi/fi.json\": \"8afa\",\n\t\"./fi/timezones.fi.json\": \"eb57\",\n\t\"./fr/fr.json\": \"86bb\",\n\t\"./fr/timezones.fr.json\": \"3547\",\n\t\"./hu/hu.json\": \"6eac\",\n\t\"./hu/timezones.hu.json\": \"e747\",\n\t\"./it/it.json\": \"5902\",\n\t\"./it/timezones.it.json\": \"bf7c\",\n\t\"./ja/ja.json\": \"0faf\",\n\t\"./ja/timezones.ja.json\": \"38dc\",\n\t\"./ko/ko.json\": \"7f67\",\n\t\"./ko/timezones.ko.json\": \"2b59\",\n\t\"./nl/nl.json\": \"8697\",\n\t\"./nl/timezones.nl.json\": \"f212\",\n\t\"./pl/pl.json\": \"19e3\",\n\t\"./pl/timezones.pl.json\": \"c117\",\n\t\"./pt_BR/pt_BR.json\": \"09a2\",\n\t\"./pt_BR/timezones.pt_BR.json\": \"2397\",\n\t\"./ru/ru.json\": \"1a44\",\n\t\"./ru/timezones.ru.json\": \"b64d\",\n\t\"./sv/sv.json\": \"c70e\",\n\t\"./sv/timezones.sv.json\": \"a79a\",\n\t\"./tr/timezones.tr.json\": \"5176\",\n\t\"./tr/tr.json\": \"de31\",\n\t\"./zh/timezones.zh.json\": \"3672\",\n\t\"./zh/zh.json\": \"35bb\",\n\t\"./zh_HANT/timezones.zh_HANT.json\": \"3f3f\",\n\t\"./zh_HANT/zh_HANT.json\": \"ca35\"\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 = \"32ea\";","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"controlled-sidebar\"},[_vm._t(\"default\"),_c('div',{staticClass:\"controlled-sidebar-content\",class:{ open: _vm.open, expanded: _vm.expanded, 'has-dimmer': _vm.dimmer },style:(`--controlled-sidebar-width: ${_vm.width}`)},[_c('div',{staticClass:\"sidebar-outer-wrapper\"},[_c('div',{staticClass:\"sidebar-inner-wrapper\"},[_c('b-button',{staticClass:\"close-button\",attrs:{\"icon-right\":\"close\",\"type\":\"is-ghost\",\"size\":\"is-small\"},on:{\"click\":function($event){return _vm.$emit('close')}}}),_vm._t(\"sidebar\"),(_vm.expandable)?_c('b-button',{staticClass:\"expand-button\",attrs:{\"icon-right\":_vm.expanded ? 'menu-right' : 'menu-left',\"type\":\"is-ghost\",\"size\":\"is-large\"},on:{\"click\":function($event){_vm.expanded = !_vm.expanded}}}):_vm._e()],2)])]),(_vm.dimmer)?_c('div',{staticClass:\"dimmer\",class:{ open: _vm.open },on:{\"click\":function($event){return _vm.$emit('close')}}}):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component({})\nexport default class ControlledSidebar extends Vue {\n @Prop({ required: true, type: Boolean })\n private open!: boolean;\n\n @Prop({ default: false, type: Boolean })\n private dimmer!: boolean;\n\n @Prop({ default: false, type: Boolean })\n private expandable!: boolean;\n\n @Prop({ default: '33%' })\n private width!: string;\n\n private expanded = false;\n\n @Watch('open')\n private watchOpen(isOpenNow: boolean, wasOpen: boolean) {\n if (wasOpen && !isOpenNow) {\n this.expanded = false;\n }\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlledSidebar.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlledSidebar.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ControlledSidebar.vue?vue&type=template&id=4030892c&scoped=true\"\nimport script from \"./ControlledSidebar.vue?vue&type=script&lang=ts\"\nexport * from \"./ControlledSidebar.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ControlledSidebar.vue?vue&type=style&index=0&id=4030892c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4030892c\",\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { LaserTubeDeviceState } from '@/models/deviceStateData';\n\nexport enum ImportantMessageLevel {\n Warning = 'WARNING',\n Error = 'ERROR',\n}\n\nexport enum MessageType {\n // Must be ordered by severity (see\n // CutCellControlActiveMessagesModal.messageTypeSorter)\n Error = 'ERROR',\n Warning = 'WARNING',\n Info = 'INFO',\n}\n\nexport interface EventTypeByModuleData {\n type: MessageType;\n module: string;\n count: number;\n}\n\nexport interface EventTypeByTimeData {\n /**\n * ISO Date-time in the tenant's time zone but faked as local (*).\n *\n * Formats: YYYY-MM-ddTHH:mm:ss (ISO UTC without Z [local time zone]),\n * 'YYYY-MM-dd', 'YYYY-W1', 'YYYY-MM', 'YYYY-Q1', 'YYYY', depending on the\n * date grouping.\n *\n * (*) See explanation at the end of the file\n */\n date: string;\n type: ImportantMessageLevel;\n count: number;\n byModule: ByModuleEventsData[];\n}\n\nexport interface ByModuleEventsData {\n name: string;\n count: number;\n}\n\nexport interface EventData {\n timestamp: string; // ISO date\n messageLevel: MessageType;\n messageSource: string;\n messageModule: string;\n description: string;\n errorCode: string;\n cause: string;\n solution: string;\n\n // These are set when using some date grouping\n occurrences?: number;\n firstEventTimestamp?: string;\n lastEventTimestamp?: string;\n}\n\nexport interface SalesTimelineData {\n date: string;\n sold_amount: number;\n}\n\nexport interface QuoteConversionTimelineData {\n date: string;\n amount: number;\n converted_amount: number;\n}\n\nexport interface CutStatesIntradayData {\n timestamp: string;\n deviceid: string;\n wait_time: number;\n error_time: number;\n idle_time: number;\n stop_time: number;\n offline_time: number;\n work_time: number;\n last: boolean;\n}\n\nexport interface CuttingHoursTimelineData {\n /**\n * ISO Date-time in the tenant's time zone but faked as local (*).\n *\n * Formats: YYYY-MM-ddTHH:mm:ss (ISO UTC without Z [local time zone]),\n * 'YYYY-MM-dd', 'YYYY-W1', 'YYYY-MM', 'YYYY-Q1', 'YYYY', depending on the\n * date grouping.\n *\n * (*) See explanation at the end of the file\n */\n bucket: string;\n cuttingHours: number;\n}\n\nexport interface CuttingTimePerGasData {\n cutting_time: number; // hours\n gas_type: string;\n}\n\nexport interface DrawerCycleTimesData {\n lower_drawer_cutting_hours: number; // hours\n lower_drawer_cutting_hour_avg: number; // hours\n lower_drawer_removed_seconds: number; // seconds\n lower_drawer_removed_second_avg: number; // seconds\n\n upper_drawer_cutting_hours: number; // hours\n upper_drawer_cutting_hour_avg: number; // hours\n upper_drawer_removed_seconds: number; // seconds\n upper_drawer_removed_second_avg: number; // seconds\n\n lower_drawer_inserted_cycles: number;\n upper_drawer_inserted_cycles: number;\n\n lower_drawer_removed_cycles: number;\n upper_drawer_removed_cycles: number;\n}\n\nexport interface DrawerInformationTimelineData {\n /**\n * ISO Date-time in the tenant's time zone but faked as local (*).\n *\n * Formats: YYYY-MM-ddTHH:mm:ss (ISO UTC without Z [local time zone]),\n * 'YYYY-MM-dd', 'YYYY-W1', 'YYYY-MM', 'YYYY-Q1', 'YYYY', depending on the\n * date grouping.\n *\n * (*) See explanation at the end of the file\n */\n bucket: string;\n\n powerAmplitude: number | null; // Watts\n\n lowerDrawerPD: number | null;\n upperDrawerPD: number | null;\n\n lowerDrawerRemovedSeconds: number | null;\n upperDrawerRemovedSeconds: number | null;\n\n lowerDrawerRemovedTimes: number | null;\n upperDrawerRemovedTimes: number | null;\n}\n\nexport interface CuttingHeadVersionInformation {\n // The following fields are only present when there's been a head version\n // change. When present, some of them might not have a value.\n cuttingHeadType?: string | null;\n // Will be non-null if there's been a version change\n cuttingHeadSoftwareVersion?: string;\n cuttingHeadSerialNumber?: string | null;\n cuttingHeadBaseProductNumber?: string | null;\n\n cuttingHeadVersionChangesCount?: number | null;\n cuttingHeadTypeChangesCount?: number | null;\n equipmentNumberChangesCount?: number | null;\n}\n\nexport interface DriveAccumulatedCurrentDifferenceData extends CuttingHeadVersionInformation {\n /**\n * ISO Date-time in the tenant's time zone but faked as local (*).\n *\n * Formats: YYYY-MM-ddTHH:mm:ss (ISO UTC without Z [local time zone]),\n * 'YYYY-MM-dd', 'YYYY-W1', 'YYYY-MM', 'YYYY-Q1', 'YYYY', depending on the\n * date grouping.\n *\n * (*) See explanation at the end of the file\n */\n bucket: string;\n // Can be null for cutting head version information entries\n accumulated_diff: number | null; // mA\n}\n\nexport interface DriveCurrentDifferenceHistogramData extends CuttingHeadVersionInformation {\n k_diffs: number;\n counts: number;\n}\n\nexport interface DriveCurrentTimelineData extends CuttingHeadVersionInformation {\n /**\n * ISO Date-time in the tenant's time zone but faked as local (*).\n *\n * Formats: YYYY-MM-ddTHH:mm:ss (ISO UTC without Z [local time zone]),\n * 'YYYY-MM-dd', 'YYYY-W1', 'YYYY-MM', 'YYYY-Q1', 'YYYY', depending on the\n * date grouping.\n *\n * (*) See explanation at the end of the file\n */\n bucket: string;\n TempCapacitive: number; // ºC\n DriveCurrent: number; // mA\n diff_DriveCurrent: number; // mA\n}\n\nexport interface FactoryOverviewData {\n deviceid: string;\n availability: number;\n productivity: number;\n timestamp_utc: string;\n state: string;\n}\n\nexport interface FinishedPOData {\n date: string;\n estimated_time_hours: number;\n executed_time_hours: number;\n capacity: number;\n}\n\nexport enum BendFlowSpeedStatus {\n HighFlow = 'high-flow',\n LowFlow = 'low-flow',\n NoFlow = 'no-flow',\n Processing = 'processing',\n}\n\nexport enum CutOrTubesDeviceGanttStatus {\n Work = 'work',\n Error = 'error',\n Wait = 'wait',\n Idle = 'idle',\n Stop = 'stop',\n Offline = 'offline',\n}\n\nexport enum BendProductionModeStatus {\n Automatic = 'automatic',\n SemiAutomatic = 'semi-automatic',\n NonProductive = 'non-productive',\n Processing = 'processing',\n}\n\n// Used by IntradayOeeTime\nexport interface LaserGanttData {\n deviceid: string;\n duration: number;\n start_timestamp: number;\n end_timestamp: number;\n state: CutOrTubesDeviceGanttStatus;\n\n // Additional fields sent by `get_laser_oee_intraday` SP\n /*\n oee_factor: number;\n */\n}\n\nexport interface DataWithTimeSpan {\n isprimary: number; // No reason for this to not be written `isPrimary`.\n}\n\nexport interface KpiWidgetData {\n deviceStringId: string;\n currentValue: number;\n previousValue: number;\n}\n\nexport interface PeakHourlyBendingData {\n currentPeriodBestPeaks: PeriodBendingPeak[];\n previousPeriodPeak: PeriodBendingPeak | null;\n}\n\nexport interface PeriodBendingPeak {\n deviceStringId: string;\n // Date as ISO string in which the peak happened\n dateTime: string;\n value: number;\n}\n\nexport interface BendIntradayDeviceData {\n deviceStringId: string;\n sheetPartsData: SheetPartsGanttItem[];\n productionModeData: ProductionModeGanttItem[];\n flowSpeedData: FlowSpeedGanttItem[];\n}\n\nexport type SheetPartsGanttItem = GanttIntervalData;\nexport type ProductionModeGanttItem = GanttIntervalData;\nexport interface FlowSpeedGanttItem extends GanttIntervalData {\n /**\n * Bends per hour.\n *\n * XXX: Currently unused, but will be used in the future\n */\n flowSpeed: number;\n}\n\nexport interface CutOrTubesIntradayAvailabilityDeviceData {\n deviceStringId: string;\n ganttData: CutOrTubesGanttItem[];\n}\n\nexport type CutOrTubesGanttItem = GanttIntervalData;\n\nexport interface GanttIntervalData {\n // In the customer's time zone\n startTimestamp: Date;\n endTimestamp: Date;\n value: T;\n}\n\nexport interface LaserOEEData extends DataWithTimeSpan {\n oee: number; // Overall Equipment Efficiency\n}\n\nexport interface LaserCuttingTimeData extends DataWithTimeSpan {\n cutting_time: number; // hours\n}\n\nexport interface BendingTopPartsData extends DataWithTimeSpan {\n PartName: string;\n PartCount: number;\n}\n\nexport interface BendingNumberOfBendsTimelineData {\n date: string; // formats: 'YYYY-MM-dd', 'YYYY-W1', 'YYYY-MM', 'YYYY-Q1', 'YYYY'\n bends: number;\n}\n\nexport interface BendPerformanceData extends DataWithTimeSpan {\n parts_time: number;\n kg_toolset: number;\n tool_changes: number;\n part_types: number;\n bends_part: number;\n bends: number;\n}\n\nexport interface DiodesAndDrawerCyclesTimelineData {\n /**\n * ISO Date-time in the tenant's time zone but faked as local (*).\n *\n * Formats: YYYY-MM-ddTHH:mm:ss (ISO UTC without Z [local time zone]),\n * 'YYYY-MM-dd', 'YYYY-W1', 'YYYY-MM', 'YYYY-Q1', 'YYYY', depending on the\n * date grouping.\n *\n * (*) See explanation at the end of the file\n */\n //\n date: string;\n\n // Diodes chart\n lowerProtectiveGlassPD: number | null;\n topProtectiveGlassPD: number | null;\n mirrorPD: number | null;\n\n // Drawer cycles chart\n lowerDrawerRemovedSeconds: number | null;\n upperDrawerRemovedSeconds: number | null;\n\n lowerDrawerRemovedTimes: number | null;\n upperDrawerRemovedTimes: number | null;\n}\n\nexport interface BendingTimeBetweenBendData extends DataWithTimeSpan {\n category_name: string;\n time_between_bend: number;\n}\n\nexport interface ModuleEventsIndicatorData {\n module: string;\n\n totalErrors: number;\n totalWarnings: number;\n\n errors: number;\n warnings: number;\n}\n\nexport interface HealthChartsData {\n lowerProtectiveGlass: HealthChartDataEntry | null;\n upperProtectiveGlass: HealthChartDataEntry | null;\n drawerCyclesTime: HealthChartDataEntry | null;\n lensDrive: HealthChartDataEntry | null;\n temperatures: HealthChartDataEntry | null;\n}\n\nexport interface CareOverviewHealthData {\n deviceElement: string;\n a: number;\n b: number;\n c: number;\n d: number;\n e: number;\n value: number;\n}\n\nexport interface HealthChartDataEntry {\n a: number;\n b: number;\n c: number;\n d: number;\n e: number;\n timelineData: HealthTimelineData[];\n}\n\nexport interface HealthTimelineData {\n /**\n * ISO Date-time in the tenant's time zone but faked as local (*).\n *\n * Formats: YYYY-MM-ddTHH:mm:ss (ISO UTC without Z [local time zone]),\n * 'YYYY-MM-dd', 'YYYY-W1', 'YYYY-MM', 'YYYY-Q1', 'YYYY', depending on the\n * date grouping.\n *\n * (*) See explanation at the end of the file\n */\n date: string;\n\n max: number;\n // HACK: Optional because HealthChartsData.drawerCyclesTime lacks this field\n filteredMax?: number;\n average: number;\n median: number;\n min: number;\n}\n\nexport interface DeviceElementHealthData {\n deviceElement: string;\n\n a: number;\n b: number;\n c: number;\n d: number;\n e: number;\n\n max: number;\n filteredMax: number | null; // null for deviceElement === 'drawerCycleTimes'\n average: number;\n median: number;\n min: number;\n}\n\nexport interface HealthScoresData {\n healthid: number;\n tenantid: number;\n deviceid: string;\n date: string;\n\n Lower_Protection_Glass_Health: number; // unit: photodiode\n Lower_Protection_Glass_Health_Score: number; // unit: photodiode\n\n Upper_Protection_Glass_Health: number; // unit: photodiode\n Upper_Protection_Glass_Health_Score: number; // unit: photodiode\n\n Drive_Current_Health: number; // mA\n Drive_Current_Health_Score: number; // mA\n\n Drawer_Cycles_Health: number; // seconds\n Drawer_Cycles_Health_Score: number; // seconds\n}\n\nexport interface HealthRangesData {\n tenantid: number;\n deviceid: string;\n date: string;\n Indicator_name: string;\n min: number;\n A: number;\n B: number;\n C: number;\n D: number;\n E: number;\n}\n\nexport interface HealthData {\n scores: HealthScoresData;\n ranges: HealthRangesData[];\n}\n\nexport interface LaserAvailabilityData extends DataWithTimeSpan {\n // hours\n work: number;\n error: number;\n wait: number;\n idle: number;\n stop: number;\n offline: number;\n}\n\nexport interface LaserStarveAndBlockData extends DataWithTimeSpan {\n starve: number; // minutes\n block: number; // minutes\n}\n\nexport interface BendingAvailabilityData extends DataWithTimeSpan {\n // hours\n bend: number;\n program: number;\n setup: number;\n warning: number;\n error: number;\n}\n\nexport interface LaserUsedVsNotUsedTimesData {\n cuttingHours: number; // hours\n totalHours: number; // hours\n}\n\nexport interface LaserAvailableVsUsedTimelineData {\n /**\n * ISO Date-time in the tenant's time zone but faked as local (*).\n *\n * It has this format: YYYY-MM-DDTHH:mm:ss.sss (ISO UTC without\n * Z [local time zone]).\n *\n * (*) See explanation at the end of the file\n */\n bucket: string;\n availablePowerKwh: number;\n usedPowerKwh: number;\n}\n\nexport interface LaserConsumptionTimelineData {\n /**\n * ISO Date-time in the tenant's time zone but faked as local (*).\n *\n * Formats: YYYY-MM-ddTHH:mm:ss (ISO UTC without Z [local time zone]),\n * 'YYYY-MM-dd', 'YYYY-W1', 'YYYY-MM', 'YYYY-Q1', 'YYYY', depending on the\n * date grouping.\n *\n * (*) See explanation at the end of the file\n */\n bucket: string;\n totalConsumptionKwh: number; // kWh\n\n /** Power level in kW. */\n kPower: number;\n\n /** Accumulated power in KWh for K_power power level. */\n kPowerConsumptionKwh: number;\n}\n\nexport interface LaserPowerUtilizationTimesData {\n /** Power level in kW. */\n kPower: number;\n hours: number;\n}\n\nexport interface LaserProductivityHistoricalData {\n date: string; // YYYY-MM\n productivity: number; // percentage\n}\n\nexport interface LaserAvailabilityHistoricalData {\n date: string;\n\n // hours\n work: number;\n error: number;\n wait: number;\n idle: number;\n stop: number;\n offline: number;\n}\n\nexport interface LaserOeeHistoricalData {\n date: string;\n\n // percentages\n oee: number;\n availability: number;\n performance: number;\n}\n\nexport interface LaserCuttingTimeHistoricalData {\n date: string;\n\n // hours\n unknown: number | null;\n channel0: number | null;\n channel1: number | null;\n channel2: number | null;\n}\n\nexport interface LaserStarveAndBlockHistoricalData {\n date: string;\n\n // minutes\n starve: number;\n block: number;\n}\n\nexport interface BendingPerformancePartData {\n date: string;\n\n // minutes\n simple: number | null;\n medium: number | null;\n complex: number | null;\n}\n\nexport interface BendingAvailabilityHistoricalData {\n date: string;\n\n // hours\n bend: number;\n program: number;\n setup: number;\n warning: number;\n error: number;\n}\n\nexport interface BendingTimeBetweenBendHistoricalData {\n date: string;\n\n // seconds\n simple: number | null;\n medium: number | null;\n complex: number | null;\n}\n\nexport interface BendingPerformancePartHistoricalData {\n date: string;\n\n // minutes\n simple: number | null;\n medium: number | null;\n complex: number | null;\n}\n\nexport interface BendingPerformanceHistoricalData {\n date: string;\n tool_changes: number;\n part_types: number;\n}\n\nexport interface BendProductivityFiguresData {\n /** Name of the figure ('bend-count', 'tool-changes-count'...). */\n name: BendProductivityFiguresName;\n // In customer's unit, depending on the unit of the figure\n currentTotalValue: number;\n // In customer's unit, depending on the unit of the figure\n previousTotalValue: number;\n chartData: BendProductivityFiguresChartData[];\n}\n\nexport interface BendShiftStatisticsData {\n shiftId: number;\n shiftName: string;\n shiftModelName: string;\n deviceStatistics: BendDeviceShiftStatistics[];\n deviceStatisticsTotals?: ShiftStatistics;\n}\n\nexport interface ShiftStatistics {\n // Productivity\n toolChanges: number;\n weight: number;\n weightHandled: number;\n bendsHour: number;\n\n // Flow speed (seconds)\n highFlow: number;\n lowFlow: number;\n noFlow: number;\n highFlowPercent: number;\n lowFlowPercent: number;\n noFlowPercent: number;\n\n // ProductionMode (seconds)\n automatic: number;\n semiAutomatic: number;\n nonProductive: number;\n automaticPercent: number;\n semiAutomaticPercent: number;\n nonProductivePercent: number;\n}\n\nexport interface BendDeviceShiftStatistics extends ShiftStatistics {\n deviceId: string;\n deviceName: string;\n}\n\nexport interface RankingDataOfBendPart {\n bestFlowData: BendPartDataEntry[];\n worstFlowData: BendPartDataEntry[];\n}\n\nexport interface BendPartDataEntry {\n deviceId: string;\n partName: string;\n deviceName: string;\n materialName: string;\n weight: number;\n totalBends: number;\n flowPercent: number;\n}\n\nexport enum BendProductivityFiguresName {\n BendCount = 'bend-count',\n ToolChangesCount = 'tool-changes-count',\n ProducedWeight = 'produced-weight',\n WeightHandledByOperator = 'weight-handled-by-operator',\n}\n\nexport interface BendProductivityFiguresChartData {\n /**\n * ISO Date-time in the customer's time zone but faked as local (*).\n *\n * Formats: YYYY-MM-ddTHH:mm:ss (ISO UTC without Z [local time zone]),\n * 'YYYY-MM-dd', 'YYYY-W1', 'YYYY-MM', 'YYYY-Q1', 'YYYY', depending on the\n * date grouping.\n *\n * (*) See explanation at the end of the file\n */\n bucket: string;\n // In customer's unit, depending on the unit of the figure\n value: number;\n}\n\nexport enum BendStateOverview {\n ProductionMode = 'productionMode',\n FlowSpeed = 'flowSpeed',\n}\n\nexport interface BendStatesOverviewData {\n productionMode: BendStateDurationData[];\n flowMode: BendStateDurationData[];\n}\n\nexport interface BendStateDurationData {\n status: T;\n isPrevious: boolean;\n durationSeconds: number;\n percentage: number;\n}\n\nexport interface LaserOutputScrapData extends DataWithTimeSpan {\n group_name: string;\n output: number; // Kg/Lb\n scrap: number; // Kg/Lb\n}\n\nexport interface LaserOutputScrapHistoricalData {\n date: string;\n group_name: string;\n output: number; // Kg/Lb\n scrap: number; // Kg/Lb\n}\n\nexport interface OpenSalesFunnelData {\n open_quotes: number;\n quotes: number;\n\n open_sold: number;\n sold: number;\n\n open_invoiced: number;\n invoiced: number;\n}\n\nexport interface LaserProductivityData extends DataWithTimeSpan {\n work: number; // hours\n rest: number; // hours\n}\n\nexport enum POStatus {\n Planned = 'Planned',\n FirmPlanned = 'Firm Planned',\n Released = 'Released',\n Finished = 'Finished',\n}\n\nexport enum ReleasedPOStatus {\n Planned = 'Planned',\n FirmPlanned = 'Firm Planned',\n Prepared = 'Prepared',\n InShopFloor = 'In Shop Floor',\n InProgress = 'In Progress',\n Produced = 'Produced',\n}\n\n// Must be sorted by status for generator to work\nexport enum POLStatus {\n Planned = 'Planned',\n FirmPlanned = 'Firm Planned',\n Prepared = 'Prepared',\n InShopFloor = 'In Shop Floor',\n InProgressDone = 'In Progress (done)',\n InProgressRemaining = 'In Progress (remaining)',\n Produced = 'Produced',\n}\n\nexport interface ManufacturingPOLStatusDueDateData {\n status: POLStatus;\n range_start: number;\n range_end: number;\n estimated_time_hours: number;\n}\n\nexport interface ManufacturingPOFinishedDueDateData {\n range_start: number;\n range_end: number;\n estimated_time_hours: number;\n}\n\nexport interface POTreemapData {\n estimated_time: number; // hours\n status: POStatus | ReleasedPOStatus;\n routing: string;\n material: string;\n thickness: number;\n nPOs: number;\n nPOLs: number;\n}\n\nexport enum Category {\n A = 'A',\n B = 'B',\n C = 'C',\n}\n\nexport interface QuotesAbcCustomersData {\n name: string;\n no_: string;\n converted_amount: number;\n amount: number;\n n_quotes: number;\n n_accepted: number;\n category: Category;\n conversion_rate: number;\n new_customer: boolean;\n overdue: boolean;\n}\n\n// Used for the gauge in client details too\nexport interface QuotesConversionRatesData {\n category: Category;\n amount_conv_rate: number;\n quotes_conv_rate: number;\n}\n\nexport interface QuotesCustomerEvolutionData {\n date: string; // YYYY-MM\n converted_amount: number;\n amount: number;\n bill_to_customer_no_: string;\n}\n\nexport interface QuotesMaterialsData {\n date: string; // YYYY-MM\n mat_group: string;\n weight: number; // Kg/Lb\n converted_weight: number; // Kg/Lb\n}\n\nexport interface QuotedMaterialsListData {\n mat_group: string;\n weight: number; // Kg/Lb\n converted_weight: number; // Kg/Lb\n}\n\nexport interface QuotesSizeData {\n bin_start: number;\n bin_end: number;\n\n not_open_quotes: number;\n open_quotes: number;\n\n divisor: number | null;\n}\n\nexport interface QuotesSizeFilterData {\n group_limit: number;\n}\n\nexport interface SalesCustomerGroupsData {\n customer: string;\n category_paid: Category;\n\n quotes_converted: number;\n quotes_not_converted: number;\n\n sales: number;\n sales_invoiced: number;\n sales_not_invoiced: number;\n category_sales: Category;\n\n invoices_paid: number;\n invoices_not_paid: number;\n category_invoice: Category;\n\n new_customer: number;\n payments_pending: number;\n invoices_expired: number;\n}\n\nexport interface SalesCustomerGroupsDetailedData {\n customer: string;\n new_customer: boolean;\n category_paid: Category;\n\n quotes_converted: number;\n quotes_converted_perc: number;\n quotes_not_converted: number;\n\n sales: number;\n sales_invoiced: number;\n sales_invoiced_perc: number;\n sales_not_invoiced: number;\n category_sales: Category;\n\n invoices_paid: number;\n invoices_paid_perc: number;\n invoices_not_paid: number;\n category_invoice: Category;\n\n payments_pending: boolean;\n invoices_expired: boolean;\n}\n\nexport interface SalesFunnelData {\n invoiced: number;\n invoiced_target: number;\n\n paid: number;\n paid_target: number;\n\n quotes: number;\n quotes_target: number;\n\n quotes_converted: number;\n quotes_converted_target: number;\n\n sold: number;\n sold_target: number;\n}\n\nexport interface SalesTopBySalesData {\n Salesperson: string;\n total_sales: number;\n total_converted: number;\n total_invoice: number;\n\n // detailed modal fields\n amount_conversion: number | null;\n quotes_conversion: number | null;\n sales_item_changes: number;\n number_of_sales: number;\n}\n\nexport interface SalesPerSalespersonTimelineData {\n salesperson: string;\n category: Category;\n amount: number;\n date: string;\n}\n\nexport interface UnpaidSalesDistributionData {\n bin_start: number;\n bin_end: number;\n freq_not_invoiced: number;\n freq_not_paid_expired: number;\n freq_not_paid_not_expired: number;\n expired_days: number;\n}\n\nexport interface TemperaturesData extends CuttingHeadVersionInformation {\n /**\n * ISO Date-time in the tenant's time zone but faked as local (*).\n *\n * Formats: YYYY-MM-ddTHH:mm:ss (ISO UTC without Z [local time zone]),\n * 'YYYY-MM-dd', 'YYYY-W1', 'YYYY-MM', 'YYYY-Q1', 'YYYY', depending on the\n * date grouping.\n *\n * (*) See explanation at the end of the file\n */\n bucket: string;\n\n // ºC.\n // Nullable because there might be a head version change but not temperature data.\n capacitiveTemperature: number | null;\n capacitiveTemperatureDifference: number | null;\n\n controllerConnectionTemperature: number | null;\n controllerConnectionTemperatureDifference: number | null;\n\n mirrorConnectionRHTTemperature: number | null;\n mirrorConnectionRHTTemperatureDifference: number | null;\n\n // Only available for cutting head version >= 4\n opticsModuleTemperature: number | null;\n opticsModuleTemperatureDifference: number | null;\n}\n\nexport interface QuotesFiguresData {\n nQuotes: number;\n nAccepted: number;\n nRejected: number;\n nCustomersPerGroup: string;\n nCustomers: number;\n newCustomers: number;\n avgConversionTime: number;\n avgAmount: number;\n avgConvertedAmount: number;\n}\n\nexport interface SalesFiguresData {\n nSalesOrders: number;\n to_be_paid_amount: number;\n overdue_invoices_amount: number;\n nCustomersPerGroup: string;\n nCustomers: number;\n newCustomers: number;\n maxAmount: number;\n avgAmount: number;\n invoiced_amount: number;\n}\n\nexport interface BusinessOverviewFiguresData {\n open_quotes: string;\n open_orders: string;\n open_invoices: string;\n quotes_amount: number;\n quotes_converted_amount: number;\n orders_amount: number;\n newCustomers: number;\n nCustomers: number;\n overdue_invoices: string;\n}\n\nexport interface ManufacturingFiguresData {\n total_estimated_hours: number;\n total_executed_hours: number;\n ratio_est_actual: number;\n 'delayPO/delayPOL': string;\n scrap_ratio: number;\n estimated_capacity: number;\n actual_capacity: number;\n}\n\nexport interface CutCurrentWorkloadDataMessage {\n id: number;\n messageLevel: MessageType;\n messageName: string;\n messageSource: string;\n messageText: string;\n tenantId: number;\n timestamp: Date;\n timestampUtc: Date;\n}\n\nexport interface CutCurrentWorkloadDataPlanInfo {\n material: string;\n estimatedCuttingTimeSeconds: number;\n /** Always in millimeters. */\n materialWidth: number; // x\n /** Always in millimeters. */\n materialHeight: number;\n /** Always in millimeters. */\n materialThickness: number;\n name: string;\n completedParts: number;\n progress: number;\n completedRuns: number;\n sequence: number;\n startTimestamp: Date | null;\n totalParts: number;\n totalRuns: number;\n deviation: number | null;\n expectedEndDate: Date | null;\n ncFilePath: string | null; // NC: numeric control\n}\n\nexport interface CutDeviceCurrentWorkloadData {\n deviceId: string;\n deviceName: string;\n deviceModel: string;\n lastStatus: LaserTubeDeviceState;\n cuttingPlanInfo: CutCurrentWorkloadDataPlanInfo[];\n currentMessages: CutCurrentWorkloadDataMessage[];\n}\n\nexport type CutDeviceCurrentWorkloadResponseEntry = Omit<\n CutDeviceCurrentWorkloadData,\n 'deviceName' | 'deviceModel'\n>;\n\n/**\n * About date-times in the Technology and Care consoles:\n *\n * We show the chart date-times in these consoles as if the user was in\n * the time zone of the tenant (customer). This way it's easier to match the\n * moment something happened with the time it happened from the point of view of\n * the customer.\n *\n * As ECharts doesn't support specifying the time zone used in a chart, we have\n * to transform the date-times so they are shown in the customer's time zone.\n * The backend sends the date-times as is if they were in the local time zone\n * but with the offset difference applied.\n */\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cut.vue?vue&type=style&index=0&id=5ebb1d08&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nexport enum ConsoleEnum {\r\n // Work Center Console\r\n WCC = 1,\r\n // Business Console\r\n BC = 2,\r\n // Shop Floor Console\r\n SFC = 3,\r\n Technology = 4,\r\n Care = 5,\r\n}\r\n","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nexport enum DeviceModelType {\r\n Bending = 'bending',\r\n Laser = 'laser',\r\n Tubes = 'tubes',\r\n}\r\n\r\nexport class DeviceBaseModel {\r\n constructor(\r\n public deviceBaseModelId: string,\r\n public name: string,\r\n public type: DeviceModelType,\r\n public code1: string,\r\n ) {}\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EServiceCenterCustomers.vue?vue&type=style&index=0&id=2ede02d7&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport DashboardDefinition, {\n availableDashboardLayouts,\n DashboardLayout,\n} from '@/models/Charts/dashboardDefinition';\nimport { deserializeWidgetDefinition } from './Charts/widgetDefinition';\nimport { ConsoleEnum } from './enums/ConsoleEnum';\nimport { UserType } from './userType';\nimport { isNil } from '@/utils/misc';\nimport { BetaFeature } from '@/models/enums/BetaFeature';\n\nexport class User {\n constructor(\n public id: number,\n /** Name of the user.\n *\n * This is not a unique identifying username. It's just a person's name or\n * whatever the user wants to set it to. No restrictions.\n */\n public name: string,\n public customerId: number | null,\n public subsidiaryId: number | null,\n public email: string,\n public authenticationType: UserAuthenticationType,\n public password: string | undefined,\n public isAcceptedTermsOfAgreement: boolean,\n /** @deprecated It should be customDashboards instead, which is the field\n * sent/received from the backend.\n */\n public dashboards: DashboardDefinition[],\n public timestampAcceptedTermsOfAgreement: Date | null,\n public isAutoplay: boolean,\n public autoplayPeriod: number,\n public wccActivationDate: Date | null = null,\n public wccEndDate: Date | null = null,\n public bcActivationDate: Date | null = null,\n public bcEndDate: Date | null = null,\n public sfcActivationDate: Date | null = null,\n public sfcEndDate: Date | null = null,\n public consoles: ConsoleEnum[] = [],\n public locations: number[] = [],\n public billable = true,\n /** @deprecated Used only on user forms, not really needed on the model. */\n public tenantName: string = '',\n /** @deprecated Used only on user forms, not really needed on the model. */\n public subsidiaryName: string = '',\n public userType: UserType = UserType.None,\n public otherMemberships: Membership[] = [],\n public hasAccessToBeta = false,\n public isBetaEnabled = false,\n /** List of features the user has access to when isBetaEnabled is true. */\n public betaFeatures: BetaFeature[] = [],\n ) {}\n\n static empty(): User {\n return new User(\n 0,\n '',\n null,\n null,\n '',\n UserAuthenticationType.Local,\n '',\n false,\n [],\n null,\n false,\n 0,\n null,\n null,\n null,\n null,\n null,\n null,\n [],\n [],\n );\n }\n\n static emptyGlobalAdmin(): User {\n const user = User.empty();\n user.userType = UserType.GlobalAdmin;\n return user;\n }\n\n static emptySubsidiaryAdmin(): User {\n const user = User.empty();\n user.userType = UserType.SubsidiaryAdmin;\n return user;\n }\n\n static emptyServiceGlobal(): User {\n const user = User.empty();\n user.userType = UserType.ServiceGlobal;\n user.authenticationType = UserAuthenticationType.Microsoft;\n return user;\n }\n\n static emptyServiceUser(): User {\n const user = User.empty();\n user.userType = UserType.ServiceUser;\n user.authenticationType = UserAuthenticationType.Microsoft;\n return user;\n }\n\n static emptyTechnology(): User {\n const user = User.empty();\n user.userType = UserType.TechnologyUser;\n user.authenticationType = UserAuthenticationType.Microsoft;\n return user;\n }\n\n static GetCopy(original: User): User {\n return new User(\n original.id,\n original.name,\n original.customerId,\n original.subsidiaryId,\n original.email,\n original.authenticationType,\n original.password,\n original.isAcceptedTermsOfAgreement,\n [...(original.dashboards ?? []).map((d) => DashboardDefinition.GetCopy(d))],\n original.timestampAcceptedTermsOfAgreement,\n original.isAutoplay,\n original.autoplayPeriod,\n original.wccActivationDate,\n original.wccEndDate,\n original.bcActivationDate,\n original.bcEndDate,\n original.sfcActivationDate,\n original.sfcEndDate,\n !!original.consoles ? [...original.consoles] : [],\n !!original.locations ? [...original.locations] : [],\n original.billable,\n original.tenantName,\n original.subsidiaryName,\n original.userType,\n isNil(original.otherMemberships) ? [] : [...original.otherMemberships],\n original.hasAccessToBeta,\n original.isBetaEnabled,\n original.betaFeatures,\n );\n }\n\n equals(otherUser: User): boolean {\n return this.id === otherUser.id;\n }\n\n get isGlobalAdmin() {\n return this.userType === UserType.GlobalAdmin;\n }\n\n get isCustomerAdmin() {\n return this.userType === UserType.CustomerAdmin;\n }\n\n get isCustomerUser() {\n return this.userType === UserType.CustomerUser;\n }\n\n get isCustomer() {\n return this.userType === UserType.CustomerAdmin || this.userType === UserType.CustomerUser;\n }\n\n get isSubsidiaryAdmin() {\n return this.userType === UserType.SubsidiaryAdmin;\n }\n\n get isServiceGlobal() {\n return this.userType === UserType.ServiceGlobal;\n }\n\n get isServiceUser() {\n return this.userType === UserType.ServiceUser;\n }\n\n get isServiceUserType() {\n return this.isServiceGlobal || this.isServiceUser;\n }\n\n get isTechnologyUser() {\n return this.userType === UserType.TechnologyUser;\n }\n\n get hasCustomer(): boolean {\n return this.customerId !== null;\n }\n\n get hasSubsidiary(): boolean {\n return this.subsidiaryId !== null;\n }\n\n serializeDashboards(): string {\n return JSON.stringify(\n this.dashboards.map((dashboard) => {\n const layout = availableDashboardLayouts[dashboard.layout];\n return {\n name: dashboard.name,\n widgetDefinitions: dashboard.widgetDefinitions\n .map((wd) => wd.serialize())\n .filter((wd) => wd.index! >= 0 && wd.index! < layout.length),\n layout: dashboard.layout,\n };\n }),\n );\n }\n\n static deserializeDashboards(\n customDashboardsConfiguration: string | null,\n ): DashboardDefinition[] {\n return !!customDashboardsConfiguration\n ? (JSON.parse(customDashboardsConfiguration) as DashboardDefinition[]).map(\n (dashboardDefinition) => this.deserializeDashboard(dashboardDefinition),\n )\n : [DashboardDefinition.defaultDashboard()];\n }\n\n private static deserializeDashboard(\n dashboardDefinition: DashboardDefinition,\n ): DashboardDefinition {\n const widgetDefinitions = dashboardDefinition.widgetDefinitions.map((widgetDefinition, index) =>\n deserializeWidgetDefinition(widgetDefinition, index),\n );\n const layout =\n dashboardDefinition.layout ?? this.getDefaultDashboardLayout(widgetDefinitions.length);\n return new DashboardDefinition(dashboardDefinition.name, widgetDefinitions, layout);\n }\n\n private static getDefaultDashboardLayout(size: number): DashboardLayout {\n if (size === 1) {\n return DashboardLayout.OneByOne;\n } else if (size === 2) {\n return DashboardLayout.OneByTwo;\n } else if (size === 3 || size === 4) {\n return DashboardLayout.TwoByTwo;\n } else {\n return DashboardLayout.TwoByThree;\n }\n }\n\n getConsoleActivationDate(console: ConsoleEnum): Date | null {\n switch (console) {\n case ConsoleEnum.WCC:\n return this.wccActivationDate;\n case ConsoleEnum.BC:\n return this.bcActivationDate;\n case ConsoleEnum.SFC:\n return this.sfcActivationDate;\n default:\n return null;\n }\n }\n\n getConsoleEndDate(console: ConsoleEnum): Date | null {\n switch (console) {\n case ConsoleEnum.WCC:\n return this.wccEndDate;\n case ConsoleEnum.BC:\n return this.bcEndDate;\n case ConsoleEnum.SFC:\n return this.sfcEndDate;\n default:\n return null;\n }\n }\n\n setConsoleActivationDate(console: ConsoleEnum, date: Date | null): void {\n if (console === ConsoleEnum.WCC) {\n this.wccActivationDate = date;\n } else if (console === ConsoleEnum.BC) {\n this.bcActivationDate = date;\n } else if (console === ConsoleEnum.SFC) {\n this.sfcActivationDate = date;\n }\n }\n\n setConsoleEndDate(console: ConsoleEnum, date: Date | null): void {\n if (console === ConsoleEnum.WCC) {\n this.wccEndDate = date;\n } else if (console === ConsoleEnum.BC) {\n this.bcEndDate = date;\n } else if (console === ConsoleEnum.SFC) {\n this.sfcEndDate = date;\n }\n }\n\n /**\n * Returns true if the user has beta and the specified feature enabled.\n *\n * @param feature Feature to check if is enabled for the user.\n */\n hasBetaFeature(feature: BetaFeature) {\n return this.isBetaEnabled && this.betaFeatures.includes(feature);\n }\n}\n\nexport enum UserAuthenticationType {\n Local = 1,\n Microsoft = 2,\n}\n\nexport interface Membership {\n type: MembershipType;\n id: number;\n name: string;\n}\n\nexport enum MembershipType {\n Subsidiary = 1,\n Customer = 2,\n}\n\nexport const NullUser = Object.freeze(User.empty());\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport WidgetDefinition, { AbstractWidgetDefinition, CopyParams } from './widgetDefinition';\n\nexport class CompositeWidgetEntry {\n constructor(\n public widgetDefinition: WidgetDefinition,\n public icon: string,\n public iconPack?: string,\n ) {}\n\n getCopy(params: CopyParams): CompositeWidgetEntry {\n return new CompositeWidgetEntry(\n this.widgetDefinition.getCopy(params),\n this.icon,\n this.iconPack,\n );\n }\n}\n\nexport class CompositeWidgetDefinition implements AbstractWidgetDefinition {\n constructor(\n public left: CompositeWidgetEntry,\n public right: CompositeWidgetEntry,\n public index?: number,\n ) {}\n\n isComposite(): this is CompositeWidgetDefinition {\n return true;\n }\n\n clone(): CompositeWidgetDefinition {\n return new CompositeWidgetDefinition(this.left, this.right, this.index);\n }\n\n updateAndGetCopy(copyParams: CopyParams): CompositeWidgetDefinition {\n const clone = this.clone();\n clone.left = clone.left.getCopy(copyParams);\n clone.right = clone.right.getCopy(copyParams);\n return clone;\n }\n\n withIndex(index: number): CompositeWidgetDefinition {\n this.index = index;\n return this;\n }\n}\n\nexport type WidgetEntry = WidgetDefinition | CompositeWidgetDefinition;\nexport type WidgetList = WidgetEntry[];\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventsTable.vue?vue&type=style&index=0&id=bd3991c8&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleSelectionFiltersHeader.vue?vue&type=style&index=0&id=22448bd6&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CareConsoleSettingsMenu.vue?vue&type=style&index=0&id=351854a3&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { WidgetEntry } from '@/models/Charts/compositeWidgetDefinition';\nimport WidgetDefinition from '@/models/Charts/widgetDefinition';\nimport { Vue } from 'vue-property-decorator';\nimport { usersService } from '@/services/users.service';\nimport { currentLocale } from '@/utils/i18n';\n\nexport type Nullable = {\n [P in keyof T]: T[P] | null;\n};\n\nexport function isEmpty(value: any): boolean {\n const safeObject = value ?? {};\n return (\n (typeof value === 'string' && !value.length) ||\n ((Array.isArray(safeObject) || isObject(safeObject)) && !Object.entries(safeObject).length)\n );\n}\n\nexport function isObject(value: any): boolean {\n const type = typeof value;\n return value != null && (type === 'object' || type === 'function');\n}\n\nexport function isNil(object: any): object is null | undefined {\n return object === null || object === undefined;\n}\n\nexport function omit(object: T | null | undefined, keys: string[]): any {\n return omitBy(object, (key) => keys.includes(key));\n}\n\nexport function omitBy(object: T | null | undefined, predicate: (key: string) => boolean): any {\n if (isNil(object)) {\n return {};\n }\n\n const filteredEntries = Object.entries(object as any).filter(([key, _]) => !predicate(key));\n return Object.fromEntries(filteredEntries);\n}\n\n/**\n * Finds the maximum element in an array based on a provided iteratee function.\n *\n * @param array The array to iterate over.\n * @param iteratee The function invoked per element to extract the value to\n * compare.\n * @returns The element with the maximum value as per the iteratee, or undefined\n * if the array is empty.\n */\nexport function maxBy(array: T[], iteratee: (item: T) => number): T | undefined {\n if (isEmpty(array)) {\n return undefined; // Return undefined if the array is empty.\n }\n\n let maxItem: T | undefined;\n let maxValue = -Infinity;\n\n for (const item of array) {\n const value = iteratee(item);\n\n if (value > maxValue) {\n maxValue = value;\n maxItem = item;\n }\n }\n\n return maxItem;\n}\n\n// Returns the value of up-to-two depth fields.\n// getFieldPathValue(object, 'foo.bar') -> object['foo']['bar']\nexport function getFieldPathValue(object: any, fieldPath: string): any | null | undefined {\n if (fieldPath.includes('.')) {\n const [field, subfield] = fieldPath.toString().split('.');\n return object[field][subfield];\n } else {\n return object[fieldPath];\n }\n}\n\nexport function loadScript(url: string) {\n const script = document.createElement('script');\n script.setAttribute('src', url);\n script.async = true;\n document.head.appendChild(script);\n}\n\nlet uniqueIdCounter = 0;\n\nexport function uniqueId(): number {\n return uniqueIdCounter++;\n}\n\nexport function valueOrDefault(value: T | null | undefined, defaultValue: T) {\n return value ?? defaultValue;\n}\n\nexport function addAutoRemovedEventListener(\n component: Vue,\n eventType: string,\n listener: EventListenerOrEventListenerObject,\n) {\n window.addEventListener(eventType, listener);\n\n component.$once('hook:beforeDestroy', () => window.removeEventListener(eventType, listener));\n}\n\n/**\n * Takes an array of `WidgetEntry` or `null` entries and returns an indexed\n * list without the nulls. This is useful to leave easily add the index\n * to the `WidgetDefinition` and get rid of the nulls, but leaving the\n * gaps in there (as dashboards can have gaps).\n *\n * The function returns a `WidgetDefinition` list out of convenience.\n * Only one view makes actual use of the `WidgetEntry` as of the writing\n * of this comment. If this function returned `WidgetEntry[]`, this would\n * require us to refactor many views and potentially add many manual\n * casts to access `WidgetDefinition` methods.\n *\n * @param widgetDefinitions List of WidgetEntry or null entries\n * @returns Indexed and filtered list of WidgetDefinition types.\n */\nexport function indexedWidgetDefinitions(\n widgetDefinitions: Array,\n): WidgetDefinition[] {\n return widgetDefinitions\n .map((wd, index) => wd?.withIndex(index))\n .filter((wd): wd is WidgetDefinition => wd !== null);\n}\n\nexport function downloadUrl(url: string, customDownloadFileName?: string) {\n const link = document.createElement('a');\n link.href = url;\n if (!isNil(customDownloadFileName)) {\n link.setAttribute('download', customDownloadFileName);\n }\n document.body.appendChild(link);\n link.click();\n\n document.body.removeChild(link);\n window.URL.revokeObjectURL(url);\n}\n\nexport async function downloadTermsAndConditionsPdf() {\n const url = await usersService.getTermsAndConditionsUrl(currentLocale());\n downloadUrl(url);\n}\n\nexport function isVueComponent(c: any): c is Vue {\n return c?._isVue;\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetsMenu.vue?vue&type=style&index=0&id=25c31818&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"three-dot-param-entry\"},[_c('hr'),_vm._l((_vm.parameters),function([paramName, paramInfo],index){return [(paramInfo.type === 'number')?_c('number-param',{key:paramName,attrs:{\"paramName\":paramName,\"paramInfo\":paramInfo,\"paramValue\":_vm.paramValues[paramName]},on:{\"update\":function($event){return _vm.onUpdate(paramName, paramInfo, $event)}}}):_vm._e(),(paramInfo.type === 'radio')?_c('radio-param',{key:paramName,attrs:{\"paramName\":paramName,\"paramInfo\":paramInfo,\"paramValue\":_vm.paramValues[paramName]},on:{\"update\":function($event){return _vm.onUpdate(paramName, paramInfo, $event)}}}):_vm._e(),(paramInfo.type === 'list')?_c('list-param',{key:paramName,attrs:{\"paramName\":paramName,\"paramInfo\":paramInfo,\"paramValue\":_vm.paramValues[paramName]},on:{\"update\":function($event){return _vm.onUpdate(paramName, paramInfo, $event)}}}):_vm._e(),(paramInfo.type === 'slider')?_c('slider-param',{key:paramName,attrs:{\"paramName\":paramName,\"paramInfo\":paramInfo,\"paramValue\":_vm.paramValues[paramName]},on:{\"update\":function($event){return _vm.onUpdate(paramName, paramInfo, $event)}}}):_vm._e(),(!!paramInfo.children)?_c('three-dot-param-entry',{key:index,staticClass:\"child\",attrs:{\"params\":_vm.children[paramName],\"paramValues\":_vm.paramValues,\"position\":_vm.position},on:{\"update\":function($event){return _vm.$emit('update', { ..._vm.paramValues, ...$event })}}}):_vm._e()]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"number-param\"},[_c('b-field',{attrs:{\"label\":_vm.$t(`widget_params.${_vm.label}`),\"label-for\":\"param-input\",\"type\":{ 'is-danger': !_vm.isValid },\"message\":_vm.validationMessage}},[_c('b-numberinput',{attrs:{\"id\":\"param-input\",\"controls-rounded\":\"\",\"size\":\"is-small\",\"value\":_vm.value,\"min\":_vm.paramInfo.min,\"max\":_vm.paramInfo.max,\"useHtml5Validation\":false},on:{\"input\":function($event){return _vm.sendUpdate($event)}}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(\"div\")\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component({})\nexport default class GenericParam extends Vue {\n @Prop()\n public paramName!: string;\n @Prop()\n public paramInfo!: T;\n @Prop()\n public paramValue?: any;\n\n protected get label(): string {\n return this.paramName.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenericParam.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenericParam.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./GenericParam.vue?vue&type=template&id=170ac3b2\"\nimport script from \"./GenericParam.vue?vue&type=script&lang=ts\"\nexport * from \"./GenericParam.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport GenericParam from './GenericParam.vue';\nimport { Component } from 'vue-property-decorator';\nimport { ParamNumber } from '@/models/enums/WidgetEnum';\nimport i18n from '@/i18n';\n\n@Component\nexport default class NumberParam extends GenericParam {\n private lastValue?: number;\n\n private get value(): number {\n return this.paramValue ?? this.paramInfo.defaultValue ?? 0;\n }\n private sendUpdate(value: number) {\n if (this.lastValue !== value && this.isValid) {\n this.$emit('update', { [this.paramName]: value });\n this.lastValue = value;\n }\n }\n\n private get isValid(): boolean {\n return !this.isGreaterThanMax && !this.isLessThanMin;\n }\n\n private get isGreaterThanMax() {\n return this.paramInfo.max && this.value! > this.paramInfo.max;\n }\n\n private get isLessThanMin() {\n return this.paramInfo.min && this.value! < this.paramInfo.min;\n }\n\n private get validationMessage(): string | undefined {\n if (this.isValid) {\n return undefined;\n } else if (this.isGreaterThanMax) {\n return i18n.t('validation_message.max_value', { max_value: this.paramInfo.max }).toString();\n } else if (this.isLessThanMin) {\n return i18n.t('validation_message.min_value', { min_value: this.paramInfo.min }).toString();\n } else {\n return undefined;\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberParam.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberParam.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NumberParam.vue?vue&type=template&id=946275a8\"\nimport script from \"./NumberParam.vue?vue&type=script&lang=ts\"\nexport * from \"./NumberParam.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"radio-param\"},[_c('b-dropdown-item',{class:{ selected: _vm.value === false },on:{\"click\":function($event){return _vm.sendUpdate(false)}}},[_vm._v(\" \"+_vm._s(_vm.$t(`widget_params.${_vm.label}_false`))+\" \")]),_c('b-dropdown-item',{class:{ selected: _vm.value === true },on:{\"click\":function($event){return _vm.sendUpdate(true)}}},[_vm._v(\" \"+_vm._s(_vm.$t(`widget_params.${_vm.label}_true`))+\" \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport GenericParam from './GenericParam.vue';\nimport { Component } from 'vue-property-decorator';\nimport { ParamRadio } from '@/models/enums/WidgetEnum';\n\n@Component({})\nexport default class RadioParam extends GenericParam {\n private get value(): boolean {\n return this.paramValue ?? this.paramInfo.defaultValue ?? false;\n }\n\n private sendUpdate(value: boolean) {\n if (value !== this.value) {\n this.$emit('update', { [this.paramName]: value });\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioParam.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioParam.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./RadioParam.vue?vue&type=template&id=6535c03c&scoped=true\"\nimport script from \"./RadioParam.vue?vue&type=script&lang=ts\"\nexport * from \"./RadioParam.vue?vue&type=script&lang=ts\"\nimport style0 from \"./RadioParam.vue?vue&type=style&index=0&id=6535c03c&prod&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 \"6535c03c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"list-param\"},_vm._l((_vm.paramInfo.values),function(optionValue){return _c('b-dropdown-item',{key:optionValue,class:{ selected: _vm.value === optionValue },nativeOn:{\"click\":function($event){return _vm.sendUpdate(optionValue)}}},[_vm._v(\" \"+_vm._s(_vm.getName(optionValue))+\" \")])}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport GenericParam from './GenericParam.vue';\nimport { Component } from 'vue-property-decorator';\nimport { ParamList } from '@/models/enums/WidgetEnum';\nimport i18n from '@/i18n';\n\n@Component({})\nexport default class ListParam extends GenericParam {\n private get value(): string {\n return this.paramValue ?? this.paramInfo.defaultValue ?? this.paramInfo.values[0];\n }\n\n private sendUpdate(value: string) {\n if (value !== this.value) {\n this.$emit('update', { [this.paramName]: value });\n }\n }\n\n private getName(value: string) {\n return i18n.t(`widget_params.${this.label + '_' + value}`);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListParam.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListParam.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ListParam.vue?vue&type=template&id=577323a7&scoped=true\"\nimport script from \"./ListParam.vue?vue&type=script&lang=ts\"\nexport * from \"./ListParam.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ListParam.vue?vue&type=style&index=0&id=577323a7&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"577323a7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"slider-param\"},[_c('b-field',{attrs:{\"label\":_vm.$t(`widget_params.${_vm.label}`)}},[_c('b-slider',{attrs:{\"ticks\":\"\",\"value\":_vm.rangeIndexes,\"min\":_vm.minTickIndex,\"max\":_vm.maxTickIndex,\"custom-formatter\":_vm.formatNumber},on:{\"change\":function($event){return _vm.sendUpdate($event)}}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Watch } from 'vue-property-decorator';\nimport GenericParam from './GenericParam.vue';\nimport { ParamSlider } from '@/models/enums/WidgetEnum';\nimport { abbreviateNumber } from '@/utils/number';\nimport { isNil } from '@/utils/misc';\n\n@Component({})\nexport default class SliderParam extends GenericParam {\n private get rangeIndexes() {\n if (!isNil(this.paramValue)) {\n // The param value is expected to be Record,\n // where the key is the index of the slider tick and the value is the value of the tick.\n // The emitted data has the same schema.\n return Object.keys(this.paramValue).map((x) => Number(x));\n }\n return this.paramInfo.defaultValue ?? [this.minTickIndex, this.maxTickIndex];\n }\n\n private get minTickIndex(): number {\n return 0;\n }\n\n private get maxTickIndex(): number {\n return this.paramInfo.tickValues.length - 1;\n }\n\n private tickIndexToValue(tickIndex: number) {\n return this.paramInfo.tickValues[tickIndex];\n }\n\n private formatNumber(tickIndex: number) {\n return abbreviateNumber(this.tickIndexToValue(tickIndex));\n }\n\n private sendUpdate(rangeIndexes: number[]) {\n if (rangeIndexes === this.rangeIndexes) {\n return;\n }\n\n this.$emit('update', {\n [this.paramName]: Object.fromEntries(\n rangeIndexes.map((index) => [index, this.tickIndexToValue(index)]),\n ),\n });\n }\n\n @Watch('paramInfo')\n private onParentParameterChanged(newParams: ParamSlider, oldParams: ParamSlider) {\n if (this.isFullRangeSelected(oldParams)) {\n this.sendUpdate([this.rangeIndexes[0], this.maxTickIndex]);\n } else {\n const maxIndex =\n this.rangeIndexes[1] <= this.maxTickIndex ? this.rangeIndexes[1] : this.maxTickIndex;\n const minIndex = this.rangeIndexes[0] < maxIndex ? this.rangeIndexes[0] : maxIndex - 1;\n this.sendUpdate([minIndex, maxIndex]);\n }\n }\n\n private isFullRangeSelected(oldParams: ParamSlider): boolean {\n return this.rangeIndexes[0] === 0 && this.rangeIndexes[1] === oldParams.tickValues.length - 1;\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SliderParam.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SliderParam.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./SliderParam.vue?vue&type=template&id=26607442&scoped=true\"\nimport script from \"./SliderParam.vue?vue&type=script&lang=ts\"\nexport * from \"./SliderParam.vue?vue&type=script&lang=ts\"\nimport style0 from \"./SliderParam.vue?vue&type=style&index=0&id=26607442&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"26607442\",\n null\n \n)\n\nexport default component.exports","\nimport { ChildUpdater, ParamConfiguration, Params, ParamValue } from '@/models/enums/WidgetEnum';\nimport NumberParam from './threeDotParams/NumberParam.vue';\nimport RadioParam from './threeDotParams/RadioParam.vue';\nimport ListParam from './threeDotParams/ListParam.vue';\nimport SliderParam from './threeDotParams/SliderParam.vue';\nimport { Component, Inject, Prop, Ref, Vue } from 'vue-property-decorator';\nimport WidgetDefinition from '@/models/Charts/widgetDefinition';\n\n@Component({\n components: {\n NumberParam,\n RadioParam,\n ListParam,\n SliderParam,\n ThreeDotParamEntry: () => import('./ThreeDotParamEntry.vue'),\n },\n})\nexport default class ThreeDotParamEntry extends Vue {\n @Prop({ required: true })\n private params!: Params;\n\n @Prop({ required: true })\n private paramValues!: { [key: string]: any };\n\n @Prop({ default: 'is-right' })\n private position!: string;\n\n @Inject('widgetDefinition')\n public widgetDefinition!: WidgetDefinition;\n\n @Ref('paramDropdown')\n private paramDropdown: any;\n\n private children: Record> = {};\n\n private async mounted() {\n const children: Record = {};\n for (const [paramName, paramConfig] of this.parameters) {\n if (!paramConfig.children) {\n continue;\n }\n await this.getChildrenParamConfigurations(\n paramConfig.children,\n this.widgetDefinition.paramValues[paramName] ?? paramConfig.defaultValue!,\n ).then((childrenParamConfigs) => {\n children[paramName] = childrenParamConfigs;\n });\n }\n this.children = children;\n }\n\n private async onUpdate(\n paramName: string,\n paramConfig: ParamConfiguration,\n param: { [key: string]: any },\n ) {\n if (!!paramConfig.children) {\n Object.entries(param).forEach(([name, value]) => this.$set(this.paramValues, name, value));\n await this.getChildrenParamConfigurations(paramConfig.children, param[paramName]).then(\n (childrenParamConfigs) => {\n this.$set(this.children, paramName, childrenParamConfigs);\n },\n );\n } else {\n this.$emit('update', param);\n }\n }\n\n private async getChildrenParamConfigurations(\n children: Record>,\n parentParamValue: ParamValue,\n ): Promise {\n const childrenParamConfigs: Record = {};\n for (const [childName, childParamConfig] of Object.entries(children)) {\n childrenParamConfigs[childName] = await childParamConfig(\n parentParamValue,\n this.widgetDefinition,\n );\n }\n return childrenParamConfigs;\n }\n\n private get parameters() {\n return Object.entries(this.params ?? {});\n }\n\n public toggleParams(): void {\n this.paramDropdown.toggle();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThreeDotParamEntry.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThreeDotParamEntry.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ThreeDotParamEntry.vue?vue&type=template&id=ec85d598&scoped=true\"\nimport script from \"./ThreeDotParamEntry.vue?vue&type=script&lang=ts\"\nexport * from \"./ThreeDotParamEntry.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ThreeDotParamEntry.vue?vue&type=style&index=0&id=ec85d598&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ec85d598\",\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nexport const TOTAL_ROWS = 8;\nexport const TOTAL_COLUMNS = 12;\n\nexport interface LayoutSlot {\n row: number;\n column: number;\n width: number;\n height: number;\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { isNil } from '@/utils/misc';\n\n/**\n * Function that determines if two arrays contain the exact same elements,\n * not taking order into account\n * @param array1\n * @param array2\n * @returns `true` if the arrays contain the same elements, even out of order. `false` otherwise\n */\nexport function areArraysEqual(array1: T[], array2: T[]): boolean {\n if (!Array.isArray(array1) || !Array.isArray(array2)) {\n return false;\n }\n if (array1.length !== array2.length) {\n return false;\n }\n return array1.every((x) => array2.includes(x)) && array2.every((x) => array1.includes(x));\n}\n\nexport function uniq(array: T[]): T[] {\n return [...new Set(array)];\n}\n\nexport function last(array: T[] | null | undefined): T | null {\n if (isNil(array)) {\n return null;\n }\n\n const lastIndex = array.length - 1;\n return array[lastIndex];\n}\n\nexport function listToCommaSeparatedString(list: string[] | null | undefined): string {\n return (list ?? []).join(', ');\n}\n\nexport function iterable(count: number): number[] {\n return Array(count)\n .fill(0)\n .map((_, i) => i);\n}\n","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-ps\": \"4c98\",\n\t\"./ar-ps.js\": \"4c98\",\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\": \"50385\",\n\t\"./id.js\": \"50385\",\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-kmr\": \"7558\",\n\t\"./ku-kmr.js\": \"7558\",\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\": \"67840\",\n\t\"./sd.js\": \"67840\",\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--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HealthIndicatorsContainer.vue?vue&type=style&index=0&id=60361ade&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableWithActions2.vue?vue&type=style&index=1&id=fd6abb50&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Overview.vue?vue&type=style&index=0&id=fa1920a6&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CutLayout.vue?vue&type=style&index=0&id=8b66b4fa&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport moment from 'moment';\n\nexport function isCategoryXAxis(\n timeAxisSpan: FilterTimeAxisSpanEnum | undefined,\n dataLength: number,\n): boolean {\n if (dataLength === 1) {\n /* If there is only one data point it has to be treated as category axis to avoid showing\n incorrect values in xAxis */\n return true;\n }\n return isCategoryAxisDateGrouping(timeAxisSpan);\n}\n\nexport function isCategoryAxisDateGrouping(timeAxisSpan: FilterTimeAxisSpanEnum | undefined) {\n switch (timeAxisSpan) {\n // Category axis instead of time axis for weeks and quarters\n case FilterTimeAxisSpanEnum.Week:\n case FilterTimeAxisSpanEnum.Quarter:\n return true;\n default:\n return false;\n }\n}\n\n/** @deprecated Use getTooltipTitle instead. */\nexport function getDateTooltipLabel(\n datetime: string,\n timeAxisSpan: FilterTimeAxisSpanEnum | undefined,\n): string {\n return datetime.substring(0, lengthOfLabel(timeAxisSpan));\n}\n\nfunction lengthOfLabel(timeAxisSpan: FilterTimeAxisSpanEnum | undefined): number {\n switch (timeAxisSpan) {\n case FilterTimeAxisSpanEnum.Hour:\n return 16; // 2023-01-19 12:34\n case FilterTimeAxisSpanEnum.Month:\n return 7; // 2023-01\n case FilterTimeAxisSpanEnum.Year:\n return 4; // 2023\n default:\n return 10; // 2023-01-19\n }\n}\n\nexport function getTooltipTitle(\n axisValue: string | number,\n dateGrouping: FilterTimeAxisSpanEnum,\n isCategoryAxis: boolean,\n): string {\n if (isCategoryAxis) {\n return axisValue.toString();\n }\n\n const m = moment(axisValue);\n switch (dateGrouping) {\n case FilterTimeAxisSpanEnum.Day:\n return m.format('YYYY-MM-DD');\n case FilterTimeAxisSpanEnum.Week:\n return m.format('YYYY-[W]ww');\n case FilterTimeAxisSpanEnum.Month:\n return m.format('YYYY-MM');\n case FilterTimeAxisSpanEnum.Quarter:\n return m.format('YYYY-[Q]Q');\n case FilterTimeAxisSpanEnum.Year:\n return m.format('YYYY');\n default:\n return m.format('YYYY-MM-DD, HH:mm');\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardsCarousel.vue?vue&type=style&index=0&id=75eb9a42&prod&lang=scss&scoped=true\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConsolesWizardStep.vue?vue&type=style&index=0&id=5879dca2&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EquipmentFilters.vue?vue&type=style&index=0&id=70878850&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport i18n from '@/i18n';\nimport { poStatusToColor } from '@/utils/color';\nimport { abbreviateNumber, decimalFormatter } from '@/utils/number';\nimport { GeneratorParams } from './generatorParams';\nimport { ManufacturingPOLStatusDueDateData, POLStatus } from './chartsData';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockPOLStatusDueDateData } from './mockWidgetSelectorData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport const DEFAULT_DAYS_PER_INTERVAL = 5;\n\nexport class POLStatusDueDateGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSMBSMetricsSFC(\n this.procedure,\n this.tenantIdDh,\n { paramNumber: params?.daysPerInterval ?? DEFAULT_DAYS_PER_INTERVAL, startDate, endDate },\n this.controller,\n );\n }\n\n override getMockData(): ManufacturingPOLStatusDueDateData[] | null {\n return mockPOLStatusDueDateData();\n }\n\n override updateOptions(\n data: ManufacturingPOLStatusDueDateData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow',\n },\n confine: true,\n extraCssText: 'z-index: 1',\n valueFormatter: decimalFormatter,\n },\n legend: {\n bottom: 0,\n type: 'scroll',\n },\n grid: {\n top: 28,\n bottom: 40,\n left: 15,\n right: 8,\n containLabel: true,\n },\n xAxis: {\n type: 'category',\n axisLabel: { rotate: 60 },\n // If we don't do this, ECharts shows the labels in the order the ranges\n // appear in the series. It shows the labels from the 1st series, then\n // the 2nd... So the may get unordered.\n data: this.getXAxisRangeLabels(data),\n },\n yAxis: {\n type: 'value',\n name: i18n.t('hours_abbreviation').toString(),\n splitLine: {\n show: true,\n lineStyle: {\n color: '#f4f4f4',\n width: 1,\n },\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n series: this.series(data),\n };\n }\n\n private getXAxisRangeLabels(data: ManufacturingPOLStatusDueDateData[]) {\n return this.removeDuplicates(\n data.map((dataItem) => this.generateRangeLabel(dataItem.range_start, dataItem.range_end)),\n );\n }\n\n private getStatusSeriesData(data: ManufacturingPOLStatusDueDateData[], status: string) {\n return data\n .filter((dataItem) => dataItem.status === status)\n .map((dataItem) => [\n this.generateRangeLabel(dataItem.range_start, dataItem.range_end),\n dataItem.estimated_time_hours,\n ]);\n }\n\n private generateRangeLabel(start: number, end: number) {\n return start === end ? start.toString() : `[${start}, ${end}]`;\n }\n\n private series(data: ManufacturingPOLStatusDueDateData[]): SeriesOption[] {\n return this.getStatuses(data).map((status: string) => ({\n name: i18n.t(this.getStatusTranslationKey(status)).toString(),\n type: 'bar',\n stack: status,\n data: this.getStatusSeriesData(data, status),\n itemStyle: {\n color: poStatusToColor(status),\n },\n }));\n }\n\n private getStatuses(data: ManufacturingPOLStatusDueDateData[]): string[] {\n const statusesFromData = this.removeDuplicates(data.map((dataItem) => dataItem.status));\n\n return this.getAllStatusesSorted().filter((status) => statusesFromData.indexOf(status) !== -1);\n }\n\n private getAllStatusesSorted(): string[] {\n return Object.values(POLStatus);\n }\n\n private getStatusTranslationKey(status: string): string {\n const normalizeStatus = status.toLowerCase().replaceAll(' ', '_').replaceAll(/[()]/g, '');\n return `report.shop_floor_console.${normalizeStatus}`;\n }\n\n private removeDuplicates(names: string[]) {\n return [...new Set(names)];\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { Device } from '../device';\nimport moment from 'moment';\nimport {\n BendStatusMetrics,\n CutStatusMetrics,\n TubeStatusMetrics,\n} from '@/models/deviceStatusMetrics';\nimport {\n BendFlowSpeedStatus,\n BendingAvailabilityData,\n BendingAvailabilityHistoricalData,\n BendingNumberOfBendsTimelineData,\n BendingPerformanceHistoricalData,\n BendingPerformancePartData,\n BendingPerformancePartHistoricalData,\n BendingTimeBetweenBendData,\n BendingTimeBetweenBendHistoricalData,\n BendingTopPartsData,\n BendPartDataEntry,\n BendProductionModeStatus,\n BendShiftStatisticsData,\n BusinessOverviewFiguresData,\n Category,\n CutOrTubesDeviceGanttStatus,\n FactoryOverviewData,\n FinishedPOData,\n LaserAvailabilityData,\n LaserAvailabilityHistoricalData,\n LaserCuttingTimeData,\n LaserCuttingTimeHistoricalData,\n LaserGanttData,\n LaserOEEData,\n LaserOeeHistoricalData,\n LaserOutputScrapData,\n LaserOutputScrapHistoricalData,\n LaserProductivityData,\n LaserProductivityHistoricalData,\n LaserStarveAndBlockData,\n LaserStarveAndBlockHistoricalData,\n ManufacturingFiguresData,\n ManufacturingPOFinishedDueDateData,\n ManufacturingPOLStatusDueDateData,\n OpenSalesFunnelData,\n POLStatus,\n POStatus,\n POTreemapData,\n QuoteConversionTimelineData,\n QuotedMaterialsListData,\n QuotesAbcCustomersData,\n QuotesConversionRatesData,\n QuotesCustomerEvolutionData,\n QuotesFiguresData,\n QuotesMaterialsData,\n QuotesSizeData,\n RankingDataOfBendPart,\n ReleasedPOStatus,\n SalesCustomerGroupsData,\n SalesFiguresData,\n SalesFunnelData,\n SalesPerSalespersonTimelineData,\n SalesTimelineData,\n SalesTopBySalesData,\n UnpaidSalesDistributionData,\n} from './chartsData';\nimport { SMBSMapData } from '../Maps/mapsData';\nimport { devicesService } from '@/services/devices.service';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { getMaxSecondsByTimeFilter } from '@/utils/dates';\nimport { shiftsService } from '@/services/shifts.service';\nimport { tenantsService } from '@/services/tenants.service';\nimport { shiftModelsService } from '@/services/shiftModels.service';\nimport { ShiftModel } from '../shiftModel';\nimport { Logger } from '@/utils/logger';\nimport { values } from '@/utils/enum';\n\nconst INTRADAY_GANTT_STATUSES = values(CutOrTubesDeviceGanttStatus);\n\nexport function mockFactoryOverviewData(): FactoryOverviewData[] {\n return devicesService.store.get().map((device) => ({\n deviceid: device.deviceId,\n availability: random(0.9, 1),\n productivity: random(0.8, 0.9),\n timestamp_utc: moment().format('YYYY-MM-DDTHH:mm:ss'),\n state: INTRADAY_GANTT_STATUSES[Math.floor(random(0, INTRADAY_GANTT_STATUSES.length))],\n }));\n}\n\nexport function mockCutStatusData(): CutStatusMetrics {\n return {\n LaserHealth: 100,\n RunningHoursTotal: 19965,\n peak_pwr: 12,\n avg_pwr: 8.64,\n last_state: 'work',\n };\n}\n\nexport function mockTubeStatusData(): TubeStatusMetrics {\n return {\n RunningHoursTotal: 19965,\n peak_pwr: 12,\n avg_pwr: 8.64,\n last_state: 'work',\n };\n}\n\nexport function mockBendStatusData(): BendStatusMetrics {\n return {\n health: 93.33,\n parts_produced: 251,\n kg_produced: 227.43,\n running_hours: 8438,\n last_state: 'work',\n };\n}\n\nexport function mockGanttData(): LaserGanttData[] {\n const ganttData: LaserGanttData[] = [];\n const devices: Device[] = devicesService.store.get();\n const laserDevices = devices.filter((device) => device.deviceId.startsWith('L-'));\n const ganttFirstTimestamp = moment().subtract(32, 'hours').unix();\n const ganttLastTimestamp = moment().unix();\n let stateFirstTimestamp = ganttFirstTimestamp;\n let stateLastTimestamp = ganttFirstTimestamp;\n\n laserDevices.forEach((device) => {\n while (stateLastTimestamp < ganttLastTimestamp) {\n const duration = random(500, 6000);\n stateLastTimestamp += duration;\n if (stateLastTimestamp > ganttLastTimestamp) {\n continue;\n }\n const deviceStateData: LaserGanttData = {\n deviceid: device.deviceId,\n duration,\n start_timestamp: stateFirstTimestamp,\n end_timestamp: stateLastTimestamp,\n state: INTRADAY_GANTT_STATUSES[Math.floor(Math.random() * INTRADAY_GANTT_STATUSES.length)],\n };\n ganttData.push(deviceStateData);\n stateFirstTimestamp = stateLastTimestamp;\n }\n stateFirstTimestamp = ganttFirstTimestamp;\n stateLastTimestamp = ganttFirstTimestamp;\n });\n return ganttData;\n}\n\n/**\n * Based on a predefined total number and the number of partitions (or divisions), we will obtain a array of random numbers.\n * Where the sum of these numbers equals the total and the length of the array equals the number of partitions (or divisions).\n * @total: corresponds to the number of the sum of all partitions. That is, it would correspond to 100 percent of the sample.\n * @parts: corresponds to the number of partitions or divisions of the total.\n * For example, if total=100 and parts=3, this function could return an array like this [50,30,20] or [80,15,5].\n * Because the sum of these partitions is equal to total.\n */\nfunction randomPartition(total: number, parts: number): number[] {\n // Generate an array of ‘parts - 1’ random numbers between 0 and 1\n const randoms = Array.from({ length: parts - 1 }, () => random(0.1, 1));\n // Adds the limits 0 and 1 to the random number array\n randoms.push(0, 1);\n // Sort the array of random numbers including 0 and 1\n randoms.sort();\n // Calculates the differences between consecutive values in the array\n // Multiplies those differences by the total to generate the partitions\n // Use Math.floor to obtain integers in the partitions\n return randoms.slice(1).map((r, i) => Math.floor(total * Math.max(0.15, r - randoms[i])));\n}\n\nexport function mockLaserAvailabilityData(): LaserAvailabilityData[] {\n return [\n {\n work: 57.75,\n error: 0.64,\n wait: 3.95,\n idle: 3.25,\n stop: 0,\n offline: 4.62,\n isprimary: 1,\n },\n {\n work: 87.38,\n error: 0.07,\n wait: 2.31,\n idle: 2.24,\n stop: 0,\n offline: 0,\n isprimary: 0,\n },\n ];\n}\n\nexport function mockLaserStarveBlockData(): LaserStarveAndBlockData[] {\n return [\n {\n starve: 30.9,\n block: 64.9,\n isprimary: 1,\n },\n {\n starve: 21.6,\n block: 76.7,\n isprimary: 0,\n },\n ];\n}\n\nexport function mockBendingAvailabilityData(): BendingAvailabilityData[] {\n return [\n {\n bend: 30.77,\n program: 4.43,\n setup: 0,\n warning: 0,\n error: 0.03,\n isprimary: 1,\n },\n {\n bend: 40.68,\n program: 4.06,\n setup: 0,\n warning: 0,\n error: 0.05,\n isprimary: 0,\n },\n ];\n}\n\nexport function mockLaserProductivityData(): LaserProductivityData[] {\n return [\n {\n work: 26.62611,\n rest: 2.61166,\n isprimary: 1,\n },\n {\n work: 48.51555,\n rest: 16.62444,\n isprimary: 0,\n },\n ];\n}\n\nexport function mockLaserOeeData(): LaserOEEData[] {\n return [\n {\n oee: 90.4,\n isprimary: 1,\n },\n {\n oee: 97.83,\n isprimary: 0,\n },\n ];\n}\n\nexport function mockLaserCuttingTimeData(): LaserCuttingTimeData[] {\n return [\n {\n cutting_time: 41.83,\n isprimary: 1,\n },\n {\n cutting_time: 85.99,\n isprimary: 0,\n },\n ];\n}\n\nexport function mockLaserOutputScrapData(): LaserOutputScrapData[] {\n return [\n {\n output: 6874.11,\n scrap: 3237.77,\n group_name: 'Material',\n isprimary: 1,\n },\n {\n output: 5553.32,\n scrap: 1997.02,\n group_name: 'Material',\n isprimary: 0,\n },\n ];\n}\n\nexport function mockLaserAvailabilityHistData(): LaserAvailabilityHistoricalData[] {\n return [\n {\n work: 22.36167,\n error: 0,\n wait: 1.28333,\n idle: 0.35472,\n stop: 0,\n offline: 0,\n date: moment().subtract(6, 'days').format('YYYY-MM-DD'),\n },\n {\n work: 20.78944,\n error: 0.00167,\n wait: 1.71055,\n idle: 1.49805,\n stop: 0,\n offline: 0,\n date: moment().subtract(5, 'days').format('YYYY-MM-DD'),\n },\n {\n work: 15.27389,\n error: 0.13833,\n wait: 1.14916,\n idle: 7.3575,\n stop: 0,\n offline: 0.07972,\n date: moment().subtract(4, 'days').format('YYYY-MM-DD'),\n },\n {\n work: 16.05639,\n error: 0.02444,\n wait: 1.98972,\n idle: 5.92916,\n stop: 0,\n offline: 0,\n date: moment().subtract(3, 'days').format('YYYY-MM-DD'),\n },\n {\n work: 20.28917,\n error: 0.00222,\n wait: 1.62472,\n idle: 2.08361,\n stop: 0,\n offline: 0,\n date: moment().subtract(2, 'days').format('YYYY-MM-DD'),\n },\n {\n work: 16.96611,\n error: 0,\n wait: 3.14055,\n idle: 3.89305,\n stop: 0,\n offline: 0,\n date: moment().subtract(1, 'days').format('YYYY-MM-DD'),\n },\n {\n work: 9.84611,\n error: 0.00889,\n wait: 1.56055,\n idle: 3.12305,\n stop: 0,\n offline: 0.16333,\n date: moment().format('YYYY-MM-DD'),\n },\n ];\n}\n\nexport function mockLaserProductivityHistData(): LaserProductivityHistoricalData[] {\n return [\n {\n productivity: 75.19605,\n date: moment().subtract(6, 'days').format('YYYY-MM-DD'),\n },\n {\n productivity: 86.24862,\n date: moment().subtract(5, 'days').format('YYYY-MM-DD'),\n },\n {\n productivity: 86.8471,\n date: moment().subtract(4, 'days').format('YYYY-MM-DD'),\n },\n {\n productivity: 74.26988,\n date: moment().subtract(3, 'days').format('YYYY-MM-DD'),\n },\n {\n productivity: 72.15016,\n date: moment().subtract(2, 'days').format('YYYY-MM-DD'),\n },\n {\n productivity: 75.78893,\n date: moment().subtract(1, 'days').format('YYYY-MM-DD'),\n },\n {\n productivity: 84.07368,\n date: moment().format('YYYY-MM-DD'),\n },\n ];\n}\n\nexport function mockLaserOeeHistData(): LaserOeeHistoricalData[] {\n return [\n {\n oee: 93.17469,\n availability: 99.01503,\n performance: 94.10637,\n date: moment().subtract(6, 'days').format('YYYY-MM-DD'),\n },\n {\n oee: 86.62369,\n availability: 98.13424,\n performance: 87.98328,\n date: moment().subtract(5, 'days').format('YYYY-MM-DD'),\n },\n {\n oee: 63.85776,\n availability: 98.55537,\n performance: 64.79325,\n date: moment().subtract(4, 'days').format('YYYY-MM-DD'),\n },\n {\n oee: 66.90359,\n availability: 97.3634,\n performance: 68.6181,\n date: moment().subtract(3, 'days').format('YYYY-MM-DD'),\n },\n {\n oee: 84.52979,\n availability: 99.13888,\n performance: 85.24231,\n date: moment().subtract(2, 'days').format('YYYY-MM-DD'),\n },\n {\n oee: 70.5696,\n availability: 95.52888,\n performance: 74.14182,\n date: moment().subtract(1, 'days').format('YYYY-MM-DD'),\n },\n {\n oee: 67.75761,\n availability: 97.65933,\n performance: 69.36664,\n date: moment().format('YYYY-MM-DD'),\n },\n ];\n}\n\nexport function mockLaserCuttingTimeHistData(): LaserCuttingTimeHistoricalData[] {\n return [\n {\n date: moment().subtract(6, 'days').format('YYYY-MM-DD'),\n unknown: 1.12654,\n channel0: 4.30889,\n channel1: 7.19444,\n channel2: 6.83916,\n },\n {\n date: moment().subtract(5, 'days').format('YYYY-MM-DD'),\n unknown: 1.26899,\n channel0: 6.48444,\n channel1: 9.0075,\n channel2: 3.58639,\n },\n {\n date: moment().subtract(4, 'days').format('YYYY-MM-DD'),\n unknown: 0.20397,\n channel0: 3.45194,\n channel1: 8.9875,\n channel2: 4.80444,\n },\n {\n date: moment().subtract(3, 'days').format('YYYY-MM-DD'),\n unknown: 0.95364,\n channel0: 5.69916,\n channel1: 6.13111,\n channel2: 3.75361,\n },\n {\n date: moment().subtract(2, 'days').format('YYYY-MM-DD'),\n unknown: 0.86235,\n channel0: 4.2225,\n channel1: 7.44389,\n channel2: 6.83472,\n },\n {\n date: moment().subtract(1, 'days').format('YYYY-MM-DD'),\n unknown: 1.57893,\n channel0: 6.78805,\n channel1: 5.43917,\n channel2: 4.91528,\n },\n {\n date: moment().format('YYYY-MM-DD'),\n unknown: 0.77854,\n channel0: 4.44139,\n channel1: 5.03639,\n channel2: 2.16417,\n },\n ];\n}\n\nexport function mockLaserStarveBlockHistData(): LaserStarveAndBlockHistoricalData[] {\n return [\n {\n starve: 0,\n block: 48.5,\n date: moment().subtract(6, 'days').format('YYYY-MM-DD'),\n },\n {\n starve: 11.1,\n block: 44.4,\n date: moment().subtract(5, 'days').format('YYYY-MM-DD'),\n },\n {\n starve: 0,\n block: 11.6,\n date: moment().subtract(4, 'days').format('YYYY-MM-DD'),\n },\n {\n starve: 2.5,\n block: 11.5,\n date: moment().subtract(3, 'days').format('YYYY-MM-DD'),\n },\n {\n starve: 1.2,\n block: 12.2,\n date: moment().subtract(2, 'days').format('YYYY-MM-DD'),\n },\n {\n starve: 0.8,\n block: 62.9,\n date: moment().subtract(1, 'days').format('YYYY-MM-DD'),\n },\n {\n starve: 1.6,\n block: 71.6,\n date: moment().format('YYYY-MM-DD'),\n },\n ];\n}\n\nexport function mockBendingPerformancePartData(): BendingPerformancePartData[] {\n return [\n {\n date: moment().subtract(1, 'days').format('YYYY-MM-DDTHH:mm:ss'),\n simple: 1.01,\n medium: 2.11,\n complex: 0.35,\n },\n {\n date: moment().subtract(20, 'hours').format('YYYY-MM-DDTHH:mm:ss'),\n simple: 0.84,\n medium: 2.34,\n complex: 0.54,\n },\n {\n date: moment().subtract(16, 'hours').format('YYYY-MM-DDTHH:mm:ss'),\n simple: 0.67,\n medium: 3.05,\n complex: 0.66,\n },\n {\n date: moment().subtract(12, 'hours').format('YYYY-MM-DDTHH:mm:ss'),\n simple: 0.34,\n medium: 2.9,\n complex: 0.98,\n },\n {\n date: moment().subtract(8, 'hours').format('YYYY-MM-DDTHH:mm:ss'),\n simple: 0.25,\n medium: 3.23,\n complex: 0.54,\n },\n {\n date: moment().subtract(4, 'hours').format('YYYY-MM-DDTHH:mm:ss'),\n simple: 1.54,\n medium: 2.87,\n complex: 0.63,\n },\n {\n date: moment().format('YYYY-MM-DDTHH:mm:ss'),\n simple: 1.33,\n medium: 2.67,\n complex: 0.78,\n },\n ];\n}\n\nexport function mockBendingAvailabilityHistData(): BendingAvailabilityHistoricalData[] {\n return [\n {\n bend: 23.45916,\n program: 0.52305,\n setup: 0,\n warning: 0,\n error: 0.0175,\n date: moment().subtract(6, 'days').format('YYYY-MM-DD'),\n },\n {\n bend: 22.22778,\n program: 1.76917,\n setup: 0,\n warning: 0,\n error: 0,\n date: moment().subtract(5, 'days').format('YYYY-MM-DD'),\n },\n {\n bend: 22.90694,\n program: 1.08444,\n setup: 0,\n warning: 0,\n error: 0.00833,\n date: moment().subtract(4, 'days').format('YYYY-MM-DD'),\n },\n {\n bend: 21.48194,\n program: 2.49,\n setup: 0,\n warning: 0,\n error: 0.02778,\n date: moment().subtract(3, 'days').format('YYYY-MM-DD'),\n },\n {\n bend: 22.3175,\n program: 1.62667,\n setup: 0,\n warning: 0,\n error: 0.05555,\n date: moment().subtract(2, 'days').format('YYYY-MM-DD'),\n },\n {\n bend: 22.10805,\n program: 1.88055,\n setup: 0,\n warning: 0,\n error: 0.01111,\n date: moment().subtract(1, 'days').format('YYYY-MM-DD'),\n },\n {\n bend: 12.35667,\n program: 1.18778,\n setup: 0,\n warning: 0,\n error: 0.00556,\n date: moment().format('YYYY-MM-DD'),\n },\n ];\n}\n\nexport function mockBendingTimeBetweenBendHistData(): BendingTimeBetweenBendHistoricalData[] {\n return [\n {\n date: moment().subtract(6, 'days').format('YYYY-MM-DD'),\n simple: 17.5,\n medium: 19.66667,\n complex: 10.34,\n },\n {\n date: moment().subtract(5, 'days').format('YYYY-MM-DD'),\n simple: 23,\n medium: 17,\n complex: 12,\n },\n {\n date: moment().subtract(4, 'days').format('YYYY-MM-DD'),\n simple: 13.5,\n medium: 17.83333,\n complex: 15,\n },\n {\n date: moment().subtract(3, 'days').format('YYYY-MM-DD'),\n simple: 14.83333,\n medium: 15.83333,\n complex: 19,\n },\n {\n date: moment().subtract(2, 'days').format('YYYY-MM-DD'),\n simple: 13.5,\n medium: 17,\n complex: 22,\n },\n {\n date: moment().subtract(1, 'days').format('YYYY-MM-DD'),\n simple: 18.66667,\n medium: 19.5,\n complex: 18,\n },\n {\n date: moment().format('YYYY-MM-DD'),\n simple: 16,\n medium: 17.5,\n complex: 16,\n },\n ];\n}\n\nexport function mockBendingPerformancePartHistData(): BendingPerformancePartHistoricalData[] {\n return [\n {\n date: moment().subtract(6, 'days').format('YYYY-MM-DD'),\n simple: 0.83221,\n medium: 2.35525,\n complex: 2.05987,\n },\n {\n date: moment().subtract(5, 'days').format('YYYY-MM-DD'),\n simple: 3.48104,\n medium: 3.20724,\n complex: 2.94513,\n },\n {\n date: moment().subtract(4, 'days').format('YYYY-MM-DD'),\n simple: 0.84638,\n medium: 4.40295,\n complex: 2.59782,\n },\n {\n date: moment().subtract(3, 'days').format('YYYY-MM-DD'),\n simple: 1.54248,\n medium: 1.84715,\n complex: 1.76543,\n },\n {\n date: moment().subtract(2, 'days').format('YYYY-MM-DD'),\n simple: 0.43417,\n medium: 3.35331,\n complex: 2.39694,\n },\n {\n date: moment().subtract(1, 'days').format('YYYY-MM-DD'),\n simple: 1.15348,\n medium: 5.80508,\n complex: 2.26548,\n },\n {\n date: moment().format('YYYY-MM-DD'),\n simple: 1.31678,\n medium: 1.98597,\n complex: 2.06587,\n },\n ];\n}\n\nexport function mockBendingPerformanceHistData(): BendingPerformanceHistoricalData[] {\n return [\n {\n date: moment().subtract(6, 'days').format('YYYY-MM-DD'),\n tool_changes: 2,\n part_types: 46,\n },\n {\n date: moment().subtract(5, 'days').format('YYYY-MM-DD'),\n tool_changes: 13,\n part_types: 40,\n },\n {\n date: moment().subtract(4, 'days').format('YYYY-MM-DD'),\n tool_changes: 28,\n part_types: 44,\n },\n {\n date: moment().subtract(3, 'days').format('YYYY-MM-DD'),\n tool_changes: 24,\n part_types: 45,\n },\n {\n date: moment().subtract(2, 'days').format('YYYY-MM-DD'),\n tool_changes: 19,\n part_types: 45,\n },\n {\n date: moment().subtract(1, 'days').format('YYYY-MM-DD'),\n tool_changes: 40,\n part_types: 83,\n },\n {\n date: moment().format('YYYY-MM-DD'),\n tool_changes: 26,\n part_types: 30,\n },\n ];\n}\n\nexport function mockBendingNumberOfBendsTimelineData(): BendingNumberOfBendsTimelineData[] {\n return [\n {\n date: moment().subtract(6, 'days').format('YYYY-MM-DD'),\n bends: 1516,\n },\n {\n date: moment().subtract(5, 'days').format('YYYY-MM-DD'),\n bends: 912,\n },\n {\n date: moment().subtract(4, 'days').format('YYYY-MM-DD'),\n bends: 339,\n },\n {\n date: moment().subtract(3, 'days').format('YYYY-MM-DD'),\n bends: 551,\n },\n {\n date: moment().subtract(2, 'days').format('YYYY-MM-DD'),\n bends: 997,\n },\n {\n date: moment().subtract(1, 'days').format('YYYY-MM-DD'),\n bends: 1426,\n },\n {\n date: moment().format('YYYY-MM-DD'),\n bends: 781,\n },\n ];\n}\n\nexport function mockLaserOutputScrapHistData(): LaserOutputScrapHistoricalData[] {\n return [\n {\n output: 1153.27366,\n scrap: 1025.85134,\n group_name: 'Material',\n date: moment().subtract(6, 'days').format('YYYY-MM-DD'),\n },\n {\n output: 1311.96004,\n scrap: 1174.7102,\n group_name: 'Material',\n date: moment().subtract(5, 'days').format('YYYY-MM-DD'),\n },\n {\n output: 2703.03778,\n scrap: 2458.74542,\n group_name: 'Material',\n date: moment().subtract(4, 'days').format('YYYY-MM-DD'),\n },\n {\n output: 2650.76847,\n scrap: 2206.72832,\n group_name: 'Material',\n date: moment().subtract(3, 'days').format('YYYY-MM-DD'),\n },\n {\n output: 2653.1475,\n scrap: 1537.74393,\n group_name: 'Material',\n date: moment().subtract(2, 'days').format('YYYY-MM-DD'),\n },\n {\n output: 2458.78619,\n scrap: 926.94934,\n group_name: 'Material',\n date: moment().subtract(1, 'days').format('YYYY-MM-DD'),\n },\n {\n output: 1653.7241,\n scrap: 486.25655,\n group_name: 'Material',\n date: moment().format('YYYY-MM-DD'),\n },\n ];\n}\n\nexport function mockBendingTimeBetweenBendData(): BendingTimeBetweenBendData[] {\n return [\n {\n category_name: 'medium',\n time_between_bend: 17.5,\n isprimary: 1,\n },\n {\n category_name: 'simple',\n time_between_bend: 16,\n isprimary: 1,\n },\n {\n category_name: 'medium',\n time_between_bend: 19.5,\n isprimary: 0,\n },\n {\n category_name: 'simple',\n time_between_bend: 18.67,\n isprimary: 0,\n },\n ];\n}\n\nexport function mockBendingTopPartsData(): BendingTopPartsData[] {\n return [\n {\n PartName: 'Part 1',\n PartCount: 44,\n isprimary: 1,\n },\n {\n PartName: 'Part 2',\n PartCount: 34,\n isprimary: 1,\n },\n {\n PartName: 'Part 3',\n PartCount: 28,\n isprimary: 1,\n },\n {\n PartName: 'Part 4',\n PartCount: 23,\n isprimary: 1,\n },\n ];\n}\n\nexport function mockSMBSMapData(): SMBSMapData[] {\n return [\n {\n bill_to_customer_no_: 'CUSTOMER1',\n n_transactions: 24,\n amount: 87612.47,\n converted_amount: 6533.31,\n name: 'Customer 1',\n latitude: 48.170941,\n longitude: 7.19348,\n dirty: false,\n },\n {\n bill_to_customer_no_: 'CUSTOMER2',\n n_transactions: 2,\n amount: 1673.44,\n converted_amount: 1673.44,\n name: 'Customer 2',\n latitude: 51.2442798,\n longitude: 7.08555,\n dirty: false,\n },\n {\n bill_to_customer_no_: 'CUSTOMER3',\n n_transactions: 31,\n amount: 52305.14,\n converted_amount: 45995.19,\n name: 'Customer 3',\n latitude: 47.0338781,\n longitude: 9.0775529,\n dirty: false,\n },\n {\n bill_to_customer_no_: 'CUSTOMER4',\n n_transactions: 8,\n amount: 31077.07,\n converted_amount: 16440.84,\n name: 'Customer 4',\n latitude: 50.9679738,\n longitude: 5.7662196,\n dirty: false,\n },\n {\n bill_to_customer_no_: 'CUSTOMER5',\n n_transactions: 1,\n amount: 806.82,\n converted_amount: 806.82,\n name: 'Customer 5',\n latitude: 49.9694139,\n longitude: 9.1121383,\n dirty: false,\n },\n {\n bill_to_customer_no_: 'CUSTOMER6',\n n_transactions: 1,\n amount: 3954.56,\n converted_amount: 0,\n name: 'Customer 6',\n latitude: 52.3870446,\n longitude: 6.4542947,\n dirty: false,\n },\n {\n bill_to_customer_no_: 'CUSTOMER7',\n n_transactions: 1,\n amount: 41,\n converted_amount: 0,\n name: 'Customer 7',\n latitude: 48.950977,\n longitude: 7.767071,\n dirty: false,\n },\n {\n bill_to_customer_no_: 'CUSTOMER8',\n n_transactions: 1,\n amount: 1332.01,\n converted_amount: 1332.01,\n name: 'Customer 8',\n latitude: 50.5529105,\n longitude: 11.7869553,\n dirty: false,\n },\n {\n bill_to_customer_no_: 'CUSTOMER9',\n n_transactions: 9,\n amount: 18434.1,\n converted_amount: 18434.1,\n name: 'Customer 9',\n latitude: 51.9908557,\n longitude: 8.8166299,\n dirty: false,\n },\n {\n bill_to_customer_no_: 'CUSTOMER10',\n n_transactions: 4,\n amount: 1932.36,\n converted_amount: 1932.36,\n name: 'Customer 10',\n latitude: 51.4556432,\n longitude: 7.0115552,\n dirty: false,\n },\n ];\n}\n\nexport function mockOpenSalesFunnelData(): OpenSalesFunnelData[] {\n return [\n {\n open_quotes: 1794326.57,\n quotes: 1890468.87,\n open_sold: 821248.18,\n sold: 961945.12,\n open_invoiced: 974452.42,\n invoiced: 1087553.57,\n },\n ];\n}\n\nexport function mockQuotesFiguresData(): QuotesFiguresData {\n return {\n nQuotes: 7158,\n nAccepted: 5308,\n nRejected: 1385,\n nCustomersPerGroup: '4/13/586',\n nCustomers: 603,\n newCustomers: 538,\n avgConversionTime: 9.736435568952524,\n avgAmount: 4488.102806649902,\n avgConvertedAmount: 4335.368419366993,\n };\n}\n\nexport function mockSalesFiguresData(): SalesFiguresData {\n return {\n nSalesOrders: 5751,\n to_be_paid_amount: 902820.545726,\n overdue_invoices_amount: 648355.965855,\n nCustomersPerGroup: '4/12/479',\n nCustomers: 499,\n newCustomers: 440,\n maxAmount: 230659.42,\n avgAmount: 3887.72153,\n invoiced_amount: 22402481.46,\n };\n}\n\nexport function mockBusinessOverviewFiguresData(): BusinessOverviewFiguresData {\n return {\n open_quotes: '465/1794326',\n open_orders: '217/821248',\n open_invoices: '251/974452',\n quotes_amount: 32510232.28,\n quotes_converted_amount: 23121818.35,\n orders_amount: 22627507.02,\n newCustomers: 635,\n nCustomers: 635,\n overdue_invoices: '393/648355',\n };\n}\n\nexport function mockManufacturingFiguresData(): ManufacturingFiguresData {\n return {\n total_estimated_hours: 66,\n total_executed_hours: 66,\n ratio_est_actual: 1.0,\n 'delayPO/delayPOL': '231/199',\n scrap_ratio: 0.749505,\n estimated_capacity: 92.1725712262,\n actual_capacity: 91.2289254717,\n };\n}\n\nexport function mockQuotesAbcCustomersData(): QuotesAbcCustomersData[] {\n return [\n {\n name: 'Customer 1',\n no_: 'CUSTOMER1',\n n_quotes: 24,\n n_accepted: 4,\n amount: 87612.47,\n converted_amount: 6533.31,\n category: Category.C,\n conversion_rate: 0.07457,\n new_customer: true,\n overdue: false,\n },\n {\n name: 'Customer 2',\n no_: 'CUSTOMER2',\n n_quotes: 2,\n n_accepted: 2,\n amount: 1673.44,\n converted_amount: 1673.44,\n category: Category.C,\n conversion_rate: 1,\n new_customer: true,\n overdue: true,\n },\n {\n name: 'Customer 3',\n no_: 'CUSTOMER3',\n n_quotes: 31,\n n_accepted: 22,\n amount: 52305.14,\n converted_amount: 45995.19,\n category: Category.A,\n conversion_rate: 0.879362,\n new_customer: false,\n overdue: true,\n },\n {\n name: 'Customer 4',\n no_: 'CUSTOMER4',\n n_quotes: 8,\n n_accepted: 4,\n amount: 31077.07,\n converted_amount: 16440.84,\n category: Category.C,\n conversion_rate: 0.529034,\n new_customer: true,\n overdue: true,\n },\n {\n name: 'Customer 5',\n no_: 'CUSTOMER5',\n n_quotes: 1,\n n_accepted: 1,\n amount: 806.82,\n converted_amount: 806.82,\n category: Category.C,\n conversion_rate: 1,\n new_customer: true,\n overdue: true,\n },\n {\n name: 'Customer 6',\n no_: 'CUSTOMER6',\n n_quotes: 1,\n n_accepted: 0,\n amount: 3954.56,\n converted_amount: 0,\n category: Category.C,\n conversion_rate: 0,\n new_customer: true,\n overdue: false,\n },\n {\n name: 'Customer 7',\n no_: 'CUSTOMER7',\n n_quotes: 1,\n n_accepted: 0,\n amount: 41,\n converted_amount: 0,\n category: Category.C,\n conversion_rate: 0,\n new_customer: true,\n overdue: false,\n },\n {\n name: 'Customer 8',\n no_: 'CUSTOMER8',\n n_quotes: 1,\n n_accepted: 1,\n amount: 1332.01,\n converted_amount: 1332.01,\n category: Category.C,\n conversion_rate: 1,\n new_customer: true,\n overdue: true,\n },\n {\n name: 'Customer 9',\n no_: 'CUSTOMER9',\n n_quotes: 9,\n n_accepted: 9,\n amount: 18434.1,\n converted_amount: 18434.1,\n category: Category.B,\n conversion_rate: 1,\n new_customer: true,\n overdue: true,\n },\n {\n name: 'Customer 10',\n no_: 'CUSTOMER10',\n n_quotes: 4,\n n_accepted: 4,\n amount: 1932.36,\n converted_amount: 1932.36,\n category: Category.C,\n conversion_rate: 1,\n new_customer: true,\n overdue: true,\n },\n ];\n}\n\nexport function mockQuotesConvertedAmountTimelineData(): QuoteConversionTimelineData[] {\n return [\n {\n date: moment().format('YYYY-01'),\n amount: 1729105.16,\n converted_amount: 1723540.86,\n },\n {\n date: moment().format('YYYY-02'),\n amount: 1465314.99,\n converted_amount: 1435491.46,\n },\n {\n date: moment().format('YYYY-03'),\n amount: 1320280.71,\n converted_amount: 1242845.12,\n },\n {\n date: moment().format('YYYY-04'),\n amount: 1259457.9,\n converted_amount: 1214262.71,\n },\n {\n date: moment().format('YYYY-05'),\n amount: 1778582.53,\n converted_amount: 1578790.87,\n },\n {\n date: moment().format('YYYY-06'),\n amount: 2078989.37,\n converted_amount: 1903502.11,\n },\n {\n date: moment().format('YYYY-07'),\n amount: 4393404.6,\n converted_amount: 3586697.25,\n },\n {\n date: moment().format('YYYY-08'),\n amount: 5928264.8,\n converted_amount: 4093416.71,\n },\n {\n date: moment().format('YYYY-09'),\n amount: 5152099.73,\n converted_amount: 2825534.21,\n },\n {\n date: moment().format('YYYY-10'),\n amount: 3534103.52,\n converted_amount: 1716151.7,\n },\n {\n date: moment().format('YYYY-11'),\n amount: 3191409.44,\n converted_amount: 1595760.27,\n },\n {\n date: moment().format('YYYY-12'),\n amount: 294827.14,\n converted_amount: 96142.3,\n },\n ];\n}\n\nexport function mockSalesTimelineData(): SalesTimelineData[] {\n return [\n {\n date: moment().format('YYYY-01'),\n sold_amount: 1641913.49,\n },\n {\n date: moment().format('YYYY-02'),\n sold_amount: 1341646.46,\n },\n {\n date: moment().format('YYYY-03'),\n sold_amount: 966843.45,\n },\n {\n date: moment().format('YYYY-04'),\n sold_amount: 1143330.43,\n },\n {\n date: moment().format('YYYY-05'),\n sold_amount: 1570871.35,\n },\n {\n date: moment().format('YYYY-06'),\n sold_amount: 1819526.17,\n },\n {\n date: moment().format('YYYY-07'),\n sold_amount: 2831621.75,\n },\n {\n date: moment().format('YYYY-08'),\n sold_amount: 3760501.6,\n },\n {\n date: moment().format('YYYY-09'),\n sold_amount: 3347670.27,\n },\n {\n date: moment().format('YYYY-10'),\n sold_amount: 2022689.88,\n },\n {\n date: moment().format('YYYY-11'),\n sold_amount: 1562570.17,\n },\n {\n date: moment().format('YYYY-12'),\n sold_amount: 349101.5,\n },\n ];\n}\n\nexport function mockQuotesConversionRatesData(): QuotesConversionRatesData[] {\n return [\n {\n category: Category.A,\n amount_conv_rate: 0.877701,\n quotes_conv_rate: 0.8990353697749196,\n },\n {\n category: Category.B,\n amount_conv_rate: 0.794564,\n quotes_conv_rate: 0.8160696999031946,\n },\n {\n category: Category.C,\n amount_conv_rate: 0.61863,\n quotes_conv_rate: 0.6711159737417943,\n },\n ];\n}\n\nexport function mockQuotesCustomerEvolutionData(): QuotesCustomerEvolutionData[] {\n return [\n {\n converted_amount: 53519.14,\n amount: 53519.14,\n bill_to_customer_no_: 'CUSTOMER1',\n date: moment().format('YYYY-01'),\n },\n {\n converted_amount: 62669.25,\n amount: 62669.25,\n bill_to_customer_no_: 'CUSTOMER1',\n date: moment().format('YYYY-02'),\n },\n {\n converted_amount: 47257.98,\n amount: 56005.93,\n bill_to_customer_no_: 'CUSTOMER1',\n date: moment().format('YYYY-03'),\n },\n {\n converted_amount: 47238.41,\n amount: 47238.41,\n bill_to_customer_no_: 'CUSTOMER1',\n date: moment().format('YYYY-04'),\n },\n {\n converted_amount: 91469.28,\n amount: 91469.28,\n bill_to_customer_no_: 'CUSTOMER1',\n date: moment().format('YYYY-05'),\n },\n {\n converted_amount: 66955.9,\n amount: 66955.9,\n bill_to_customer_no_: 'CUSTOMER1',\n date: moment().format('YYYY-06'),\n },\n {\n converted_amount: 365702.75,\n amount: 378854.68,\n bill_to_customer_no_: 'CUSTOMER1',\n date: moment().format('YYYY-07'),\n },\n {\n converted_amount: 345685.82,\n amount: 397409.72,\n bill_to_customer_no_: 'CUSTOMER1',\n date: moment().format('YYYY-08'),\n },\n {\n converted_amount: 198871.17,\n amount: 210548.09,\n bill_to_customer_no_: 'CUSTOMER1',\n date: moment().format('YYYY-09'),\n },\n {\n converted_amount: 67534.32,\n amount: 116840.14,\n bill_to_customer_no_: 'CUSTOMER1',\n date: moment().format('YYYY-10'),\n },\n {\n converted_amount: 15879.48,\n amount: 52117.87,\n bill_to_customer_no_: 'CUSTOMER1',\n date: moment().format('YYYY-11'),\n },\n {\n converted_amount: 1991.59,\n amount: 1991.59,\n bill_to_customer_no_: 'CUSTOMER1',\n date: moment().format('YYYY-12'),\n },\n ];\n}\n\nexport function mockQuotesSizeData(): QuotesSizeData[] {\n return [\n {\n bin_start: 0,\n bin_end: 75.314333,\n not_open_quotes: 117,\n open_quotes: 3,\n divisor: 430.18,\n },\n {\n bin_start: 75.314333,\n bin_end: 150.628666,\n not_open_quotes: 44,\n open_quotes: 3,\n divisor: 767.53,\n },\n {\n bin_start: 150.628666,\n bin_end: 225.942999,\n not_open_quotes: 90,\n open_quotes: 5,\n divisor: 1342.92,\n },\n {\n bin_start: 225.942999,\n bin_end: 301.257332,\n not_open_quotes: 217,\n open_quotes: 8,\n divisor: null,\n },\n {\n bin_start: 301.257332,\n bin_end: 376.571665,\n not_open_quotes: 244,\n open_quotes: 12,\n divisor: null,\n },\n {\n bin_start: 376.571665,\n bin_end: 451.885998,\n not_open_quotes: 248,\n open_quotes: 15,\n divisor: null,\n },\n {\n bin_start: 451.885998,\n bin_end: 527.200331,\n not_open_quotes: 254,\n open_quotes: 16,\n divisor: null,\n },\n {\n bin_start: 527.200331,\n bin_end: 602.514664,\n not_open_quotes: 210,\n open_quotes: 9,\n divisor: null,\n },\n {\n bin_start: 602.514664,\n bin_end: 677.828997,\n not_open_quotes: 177,\n open_quotes: 8,\n divisor: null,\n },\n {\n bin_start: 677.828997,\n bin_end: 753.14333,\n not_open_quotes: 160,\n open_quotes: 10,\n divisor: null,\n },\n {\n bin_start: 753.14333,\n bin_end: 828.457663,\n not_open_quotes: 149,\n open_quotes: 7,\n divisor: null,\n },\n {\n bin_start: 828.457663,\n bin_end: 903.771996,\n not_open_quotes: 153,\n open_quotes: 7,\n divisor: null,\n },\n {\n bin_start: 903.771996,\n bin_end: 979.086329,\n not_open_quotes: 155,\n open_quotes: 4,\n divisor: null,\n },\n {\n bin_start: 979.086329,\n bin_end: 1054.400662,\n not_open_quotes: 99,\n open_quotes: 5,\n divisor: null,\n },\n {\n bin_start: 1054.400662,\n bin_end: 1129.714995,\n not_open_quotes: 114,\n open_quotes: 6,\n divisor: null,\n },\n {\n bin_start: 1129.714995,\n bin_end: 1205.029328,\n not_open_quotes: 90,\n open_quotes: 5,\n divisor: null,\n },\n {\n bin_start: 1205.029328,\n bin_end: 1280.343661,\n not_open_quotes: 87,\n open_quotes: 9,\n divisor: null,\n },\n {\n bin_start: 1280.343661,\n bin_end: 1355.657994,\n not_open_quotes: 94,\n open_quotes: 5,\n divisor: null,\n },\n {\n bin_start: 1355.657994,\n bin_end: 1430.972327,\n not_open_quotes: 79,\n open_quotes: 6,\n divisor: null,\n },\n {\n bin_start: 1430.972327,\n bin_end: 1506.28666,\n not_open_quotes: 80,\n open_quotes: 5,\n divisor: null,\n },\n {\n bin_start: 1506.28666,\n bin_end: 1581.600993,\n not_open_quotes: 87,\n open_quotes: 6,\n divisor: null,\n },\n {\n bin_start: 1581.600993,\n bin_end: 1656.915326,\n not_open_quotes: 80,\n open_quotes: 6,\n divisor: null,\n },\n {\n bin_start: 1656.915326,\n bin_end: 1732.229659,\n not_open_quotes: 90,\n open_quotes: 3,\n divisor: null,\n },\n {\n bin_start: 1732.229659,\n bin_end: 1807.543992,\n not_open_quotes: 71,\n open_quotes: 5,\n divisor: null,\n },\n {\n bin_start: 1807.543992,\n bin_end: 1882.858325,\n not_open_quotes: 67,\n open_quotes: 2,\n divisor: null,\n },\n {\n bin_start: 1882.858325,\n bin_end: 1958.172658,\n not_open_quotes: 63,\n open_quotes: 4,\n divisor: null,\n },\n {\n bin_start: 1958.172658,\n bin_end: 2033.486991,\n not_open_quotes: 66,\n open_quotes: 4,\n divisor: null,\n },\n {\n bin_start: 2033.486991,\n bin_end: 2108.801324,\n not_open_quotes: 69,\n open_quotes: 3,\n divisor: null,\n },\n {\n bin_start: 2108.801324,\n bin_end: 2184.115657,\n not_open_quotes: 56,\n open_quotes: 1,\n divisor: null,\n },\n {\n bin_start: 2184.115657,\n bin_end: 2259.42999,\n not_open_quotes: 44,\n open_quotes: 2,\n divisor: null,\n },\n ];\n}\n\nexport function mockQuotesMaterialsData(): QuotesMaterialsData[] {\n return [\n {\n date: moment().subtract(3, 'months').format('YYYY-MM'),\n mat_group: 'Material 1',\n weight: 294069.08,\n converted_weight: 181209.83,\n },\n {\n date: moment().subtract(3, 'months').format('YYYY-MM'),\n mat_group: 'Material 2',\n weight: 69994.71,\n converted_weight: 28924.91,\n },\n {\n date: moment().subtract(3, 'months').format('YYYY-MM'),\n mat_group: 'OTHERS',\n weight: 33893.59,\n converted_weight: 15960.29,\n },\n {\n date: moment().subtract(3, 'months').format('YYYY-MM'),\n mat_group: 'Material 3',\n weight: 27234.98,\n converted_weight: 15742.75,\n },\n {\n date: moment().subtract(2, 'months').format('YYYY-MM'),\n mat_group: 'Material 1',\n weight: 198321.66,\n converted_weight: 119103.55,\n },\n {\n date: moment().subtract(2, 'months').format('YYYY-MM'),\n mat_group: 'Material 2',\n weight: 39618.2,\n converted_weight: 21772.71,\n },\n {\n date: moment().subtract(2, 'months').format('YYYY-MM'),\n mat_group: 'OTHERS',\n weight: 24431.13,\n converted_weight: 4641.66,\n },\n {\n date: moment().subtract(2, 'months').format('YYYY-MM'),\n mat_group: 'Material 3',\n weight: 13821.56,\n converted_weight: 6602.9,\n },\n {\n date: moment().subtract(1, 'months').format('YYYY-MM'),\n mat_group: 'Material 1',\n weight: 247188.18,\n converted_weight: 126523.76,\n },\n {\n date: moment().subtract(1, 'months').format('YYYY-MM'),\n mat_group: 'Material 2',\n weight: 31520.83,\n converted_weight: 16833.96,\n },\n {\n date: moment().subtract(1, 'months').format('YYYY-MM'),\n mat_group: 'OTHERS',\n weight: 41874.56,\n converted_weight: 18966.25,\n },\n {\n date: moment().subtract(1, 'months').format('YYYY-MM'),\n mat_group: 'Material 3',\n weight: 17087.12,\n converted_weight: 7467.79,\n },\n {\n date: moment().format('YYYY-MM'),\n mat_group: 'Material 1',\n weight: 36834.36,\n converted_weight: 6586.71,\n },\n {\n date: moment().format('YYYY-MM'),\n mat_group: 'Material 2',\n weight: 2291.59,\n converted_weight: 1532.66,\n },\n {\n date: moment().format('YYYY-MM'),\n mat_group: 'OTHERS',\n weight: 1547.86,\n converted_weight: 736.28,\n },\n {\n date: moment().format('YYYY-MM'),\n mat_group: 'Material 3',\n weight: 10424.01,\n converted_weight: 2913.87,\n },\n ];\n}\n\nexport function mockQuotesMaterialsListData(): QuotedMaterialsListData[] {\n return [\n {\n mat_group: 'Material 1',\n weight: 1930431.75,\n converted_weight: 1457067.03,\n },\n {\n mat_group: 'Material 2',\n weight: 265102.11,\n converted_weight: 188241.19,\n },\n {\n mat_group: 'Material 3',\n weight: 191465.73,\n converted_weight: 134398.55,\n },\n {\n mat_group: 'Material 4',\n weight: 124223.42,\n converted_weight: 104485.23,\n },\n {\n mat_group: 'Material 5',\n weight: 114796.91,\n converted_weight: 73769.72,\n },\n {\n mat_group: 'Material 6',\n weight: 89257.07,\n converted_weight: 58726.68,\n },\n {\n mat_group: 'OTHERS',\n weight: 16618.35,\n converted_weight: 9619.79,\n },\n ];\n}\n\nexport function mockSalesCustomerGroupsData(): SalesCustomerGroupsData[] {\n return [\n {\n customer: 'Customer 1',\n sales: 283962.39,\n quotes_converted: 286903.05,\n quotes_not_converted: -2940.66,\n sales_invoiced: 281622.17,\n sales_not_invoiced: 2340.22,\n invoices_paid: 281185.94,\n invoices_not_paid: 436.23,\n new_customer: 1,\n payments_pending: 1,\n invoices_expired: 0,\n category_sales: Category.C,\n category_invoice: Category.C,\n category_paid: Category.C,\n },\n {\n customer: 'Customer 2',\n sales: 355483.96,\n quotes_converted: 391798.07,\n quotes_not_converted: -36314.11,\n sales_invoiced: 327674.65,\n sales_not_invoiced: 27809.31,\n invoices_paid: 308057.14,\n invoices_not_paid: 19617.51,\n new_customer: 1,\n payments_pending: 1,\n invoices_expired: 1,\n category_sales: Category.C,\n category_invoice: Category.C,\n category_paid: Category.C,\n },\n {\n customer: 'Customer 3',\n sales: 396560.35,\n quotes_converted: 164683.73,\n quotes_not_converted: 231876.62,\n sales_invoiced: 396560.35,\n sales_not_invoiced: 0,\n invoices_paid: 352496.04,\n invoices_not_paid: 44064.31,\n new_customer: 1,\n payments_pending: 1,\n invoices_expired: 1,\n category_sales: Category.C,\n category_invoice: Category.C,\n category_paid: Category.C,\n },\n {\n customer: 'Customer 4',\n sales: 631192.55,\n quotes_converted: 666394.65,\n quotes_not_converted: -35202.1,\n sales_invoiced: 454454.94,\n sales_not_invoiced: 176737.61,\n invoices_paid: 434276.54,\n invoices_not_paid: 20178.4,\n new_customer: 0,\n payments_pending: 1,\n invoices_expired: 0,\n category_sales: Category.C,\n category_invoice: Category.C,\n category_paid: Category.C,\n },\n {\n customer: 'Customer 5',\n sales: 447678.13,\n quotes_converted: 463187.31,\n quotes_not_converted: -15509.18,\n sales_invoiced: 444384.18,\n sales_not_invoiced: 3293.95,\n invoices_paid: 442691.31,\n invoices_not_paid: 1692.87,\n new_customer: 0,\n payments_pending: 1,\n invoices_expired: 1,\n category_sales: Category.C,\n category_invoice: Category.C,\n category_paid: Category.C,\n },\n {\n customer: 'Customer 6',\n sales: 525615.11,\n quotes_converted: 537849.35,\n quotes_not_converted: -12234.24,\n sales_invoiced: 477146.53,\n sales_not_invoiced: 48468.58,\n invoices_paid: 463293.91,\n invoices_not_paid: 13852.62,\n new_customer: 0,\n payments_pending: 1,\n invoices_expired: 1,\n category_sales: Category.C,\n category_invoice: Category.C,\n category_paid: Category.C,\n },\n {\n customer: 'Customer 7',\n sales: 573366.56,\n quotes_converted: 591891.14,\n quotes_not_converted: -18524.58,\n sales_invoiced: 514910.87,\n sales_not_invoiced: 58455.69,\n invoices_paid: 509569.62,\n invoices_not_paid: 5341.25,\n new_customer: 0,\n payments_pending: 1,\n invoices_expired: 1,\n category_sales: Category.C,\n category_invoice: Category.C,\n category_paid: Category.C,\n },\n {\n customer: 'Customer 8',\n sales: 1356922.49,\n quotes_converted: 1365103.84,\n quotes_not_converted: -8181.35,\n sales_invoiced: 1163840.31,\n sales_not_invoiced: 193082.18,\n invoices_paid: 1020711.03,\n invoices_not_paid: 143129.28,\n new_customer: 0,\n payments_pending: 1,\n invoices_expired: 1,\n category_sales: Category.B,\n category_invoice: Category.B,\n category_paid: Category.B,\n },\n {\n customer: 'Customer 9',\n sales: 1408033.29,\n quotes_converted: 1459675.77,\n quotes_not_converted: -51642.48,\n sales_invoiced: 1321809.1,\n sales_not_invoiced: 86224.19,\n invoices_paid: 1302049.37,\n invoices_not_paid: 19759.73,\n new_customer: 0,\n payments_pending: 1,\n invoices_expired: 1,\n category_sales: Category.B,\n category_invoice: Category.B,\n category_paid: Category.B,\n },\n {\n customer: 'Customer 10',\n sales: 3615787.29,\n quotes_converted: 3766302.45,\n quotes_not_converted: -150515.16,\n sales_invoiced: 3401376.57,\n sales_not_invoiced: 214410.72,\n invoices_paid: 3368755.58,\n invoices_not_paid: 32620.99,\n new_customer: 0,\n payments_pending: 1,\n invoices_expired: 1,\n category_sales: Category.A,\n category_invoice: Category.A,\n category_paid: Category.A,\n },\n ];\n}\n\nexport function mockTopSalespeopleData(): SalesTopBySalesData[] {\n return [\n {\n Salesperson: 'Salesperson 1',\n total_sales: 7031043.24,\n total_converted: 6973524.69,\n total_invoice: 7723082.44,\n\n amount_conversion: 8823082.44,\n quotes_conversion: 3000000,\n sales_item_changes: 4000000,\n number_of_sales: 12000000,\n },\n {\n Salesperson: 'Salesperson 2',\n total_sales: 6461730.63,\n total_converted: 6605930.64,\n total_invoice: 6670958.98,\n\n amount_conversion: 7023082.44,\n quotes_conversion: 2000000,\n sales_item_changes: 1000000,\n number_of_sales: 32000000,\n },\n {\n Salesperson: 'Salesperson 3',\n total_sales: 2913177.88,\n total_converted: 3308777.46,\n total_invoice: 2316961.3,\n\n amount_conversion: 3823082.44,\n quotes_conversion: 1000000,\n sales_item_changes: 7000000,\n number_of_sales: 22000000,\n },\n {\n Salesperson: 'Others',\n total_sales: 5972535.8,\n total_converted: 5986637.89,\n total_invoice: 5691478.74,\n\n amount_conversion: 9823082.44,\n quotes_conversion: 6000000,\n sales_item_changes: 9000000,\n number_of_sales: 32000000,\n },\n ];\n}\n\nexport function mockSalesPerSalespersonTimelineData(): SalesPerSalespersonTimelineData[] {\n return [\n {\n date: '2022-10',\n salesperson: 'Hans-Günther Bonbach',\n amount: 644288.3,\n category: Category.A,\n },\n {\n date: '2022-10',\n salesperson: 'Hans-Günther Bonbach',\n amount: 153295.9,\n category: Category.B,\n },\n {\n date: '2022-10',\n salesperson: 'Hans-Günther Bonbach',\n amount: 160615.83,\n category: Category.C,\n },\n {\n date: '2022-10',\n salesperson: 'Nelli Losekann',\n amount: 365305.69,\n category: Category.A,\n },\n {\n date: '2022-10',\n salesperson: 'Nelli Losekann',\n amount: 178893.78,\n category: Category.B,\n },\n {\n date: '2022-10',\n salesperson: 'Nelli Losekann',\n amount: 407711.47,\n category: Category.C,\n },\n {\n date: '2022-10',\n salesperson: 'Susi Mielcarek',\n amount: 46887.78,\n category: Category.B,\n },\n {\n date: '2022-10',\n salesperson: 'Susi Mielcarek',\n amount: 157119.48,\n category: Category.C,\n },\n {\n date: '2022-11',\n salesperson: 'Hans-Günther Bonbach',\n amount: 67067.21,\n category: Category.A,\n },\n {\n date: '2022-11',\n salesperson: 'Hans-Günther Bonbach',\n amount: 18251.34,\n category: Category.B,\n },\n {\n date: '2022-11',\n salesperson: 'Hans-Günther Bonbach',\n amount: 169534.65,\n category: Category.C,\n },\n {\n date: '2022-11',\n salesperson: 'Nelli Losekann',\n amount: 118873.89,\n category: Category.A,\n },\n {\n date: '2022-11',\n salesperson: 'Nelli Losekann',\n amount: 282923.27,\n category: Category.B,\n },\n {\n date: '2022-11',\n salesperson: 'Nelli Losekann',\n amount: 319656.84,\n category: Category.C,\n },\n {\n date: '2022-11',\n salesperson: 'Susi Mielcarek',\n amount: 12293.02,\n category: Category.B,\n },\n {\n date: '2022-11',\n salesperson: 'Susi Mielcarek',\n amount: 67696.02,\n category: Category.C,\n },\n {\n date: '2022-12',\n salesperson: 'Hans-Günther Bonbach',\n amount: 88716.35,\n category: Category.A,\n },\n {\n date: '2022-12',\n salesperson: 'Hans-Günther Bonbach',\n amount: 32875.6,\n category: Category.B,\n },\n {\n date: '2022-12',\n salesperson: 'Hans-Günther Bonbach',\n amount: 78367.79,\n category: Category.C,\n },\n {\n date: '2022-12',\n salesperson: 'Nelli Losekann',\n amount: 101232.9,\n category: Category.A,\n },\n {\n date: '2022-12',\n salesperson: 'Nelli Losekann',\n amount: 107592.13,\n category: Category.B,\n },\n {\n date: '2022-12',\n salesperson: 'Nelli Losekann',\n amount: 335504.82,\n category: Category.C,\n },\n {\n date: '2022-12',\n salesperson: 'Susi Mielcarek',\n amount: 0,\n category: Category.C,\n },\n ];\n}\n\nexport function mockSalesFunnelData(): SalesFunnelData[] {\n return [\n {\n quotes: 2948270.14,\n quotes_converted: 927066.1,\n sold: 849101.5,\n invoiced: 783261.87,\n paid: 672213.025121,\n paid_target: 1000000,\n invoiced_target: 1176470.588235294,\n sold_target: 1307189.54248366,\n quotes_converted_target: 1452432.824981845,\n quotes_target: 4401311.590854074,\n },\n ];\n}\n\nexport function mockSalesUnpaidDistributionData(): UnpaidSalesDistributionData[] {\n return [\n {\n bin_start: 0,\n bin_end: 7113.362857,\n freq_not_invoiced: 322,\n freq_not_paid_expired: 157,\n freq_not_paid_not_expired: 159,\n expired_days: 246,\n },\n {\n bin_start: 7113.362857,\n bin_end: 14226.725714,\n freq_not_invoiced: 41,\n freq_not_paid_expired: 29,\n freq_not_paid_not_expired: 12,\n expired_days: 64,\n },\n {\n bin_start: 14226.725714,\n bin_end: 21340.088571,\n freq_not_invoiced: 12,\n freq_not_paid_expired: 9,\n freq_not_paid_not_expired: 10,\n expired_days: 64,\n },\n {\n bin_start: 21340.088571,\n bin_end: 28453.451428,\n freq_not_invoiced: 4,\n freq_not_paid_expired: 4,\n freq_not_paid_not_expired: 1,\n expired_days: 34,\n },\n {\n bin_start: 28453.451428,\n bin_end: 35566.814285,\n freq_not_invoiced: 4,\n freq_not_paid_expired: 1,\n freq_not_paid_not_expired: 2,\n expired_days: 125,\n },\n {\n bin_start: 35566.814285,\n bin_end: 42680.177142,\n freq_not_invoiced: 3,\n freq_not_paid_expired: 2,\n freq_not_paid_not_expired: 0,\n expired_days: 3,\n },\n {\n bin_start: 42680.177142,\n bin_end: 49793.539999,\n freq_not_invoiced: 5,\n freq_not_paid_expired: 3,\n freq_not_paid_not_expired: 1,\n expired_days: 34,\n },\n ];\n}\n\nexport function mockManufacturingPOStatusData(): POTreemapData[] {\n return [\n {\n status: POStatus.Finished,\n routing: 'BEND',\n material: 'MAT1',\n thickness: 105.0,\n estimated_time: 649000,\n nPOs: 1,\n nPOLs: 4,\n },\n {\n status: POStatus.Finished,\n routing: 'LASER-BEND',\n material: 'MAT3',\n thickness: 135.0,\n estimated_time: 852000,\n nPOs: 1,\n nPOLs: 1,\n },\n {\n status: POStatus.Finished,\n routing: 'LASER-BEND',\n material: 'MAT4',\n thickness: 105.0,\n estimated_time: 139000,\n nPOs: 1,\n nPOLs: 3,\n },\n {\n status: POStatus.FirmPlanned,\n routing: 'BEND',\n material: 'MAT5',\n thickness: 155.0,\n estimated_time: 657000,\n nPOs: 1,\n nPOLs: 8,\n },\n {\n status: POStatus.FirmPlanned,\n routing: 'LASER-BEND',\n material: 'MAT6',\n thickness: 192.0,\n estimated_time: 382000,\n nPOs: 1,\n nPOLs: 1,\n },\n {\n status: POStatus.Planned,\n routing: 'LASER',\n material: 'MAT7',\n thickness: 104.0,\n estimated_time: 275000,\n nPOs: 1,\n nPOLs: 2,\n },\n {\n status: POStatus.Planned,\n routing: 'LASER-BEND',\n material: 'MAT8',\n thickness: 196.0,\n estimated_time: 843000,\n nPOs: 1,\n nPOLs: 2,\n },\n {\n status: POStatus.Released,\n routing: 'BEND',\n material: 'MAT9',\n thickness: 96.0,\n estimated_time: 513000,\n nPOs: 1,\n nPOLs: 1,\n },\n {\n status: POStatus.Released,\n routing: 'LASER',\n material: 'MAT10',\n thickness: 105.0,\n estimated_time: 470000,\n nPOs: 1,\n nPOLs: 1,\n },\n {\n status: POStatus.Released,\n routing: 'LASER-BEND',\n material: 'MAT11',\n thickness: 93.0,\n estimated_time: 11000,\n nPOs: 1,\n nPOLs: 3,\n },\n {\n status: POStatus.Released,\n routing: 'LASER-BEND',\n material: 'MAT12',\n thickness: 153.0,\n estimated_time: 356000,\n nPOs: 1,\n nPOLs: 4,\n },\n ];\n}\n\nexport function mockManufacturingReleasedPOStatus(): POTreemapData[] {\n return [\n {\n status: ReleasedPOStatus.FirmPlanned,\n routing: 'BEND',\n material: 'MAT1',\n thickness: 45.0,\n estimated_time: 728000,\n nPOs: 1,\n nPOLs: 1,\n },\n {\n status: ReleasedPOStatus.FirmPlanned,\n routing: 'BEND',\n material: 'MAT2',\n thickness: 140.0,\n estimated_time: 665000,\n nPOs: 1,\n nPOLs: 3,\n },\n {\n status: ReleasedPOStatus.FirmPlanned,\n routing: 'BEND',\n material: 'MAT3',\n thickness: 135.0,\n estimated_time: 242000,\n nPOs: 1,\n nPOLs: 2,\n },\n {\n status: ReleasedPOStatus.InProgress,\n routing: 'BEND',\n material: 'MAT4',\n thickness: 29.0,\n estimated_time: 981000,\n nPOs: 1,\n nPOLs: 6,\n },\n {\n status: ReleasedPOStatus.InProgress,\n routing: 'LASER',\n material: 'MAT5',\n thickness: 83.0,\n estimated_time: 988000,\n nPOs: 1,\n nPOLs: 1,\n },\n {\n status: ReleasedPOStatus.InProgress,\n routing: 'LASER',\n material: 'MAT6',\n thickness: 38.0,\n estimated_time: 239000,\n nPOs: 1,\n nPOLs: 3,\n },\n {\n status: ReleasedPOStatus.InProgress,\n routing: 'LASER',\n material: 'MAT7',\n thickness: 105.0,\n estimated_time: 470000,\n nPOs: 1,\n nPOLs: 4,\n },\n {\n status: ReleasedPOStatus.InShopFloor,\n routing: 'BEND',\n material: 'MAT8',\n thickness: 52.0,\n estimated_time: 282000,\n nPOs: 1,\n nPOLs: 5,\n },\n {\n status: ReleasedPOStatus.InShopFloor,\n routing: 'LASER',\n material: 'MAT9',\n thickness: 178.0,\n estimated_time: 762000,\n nPOs: 1,\n nPOLs: 6,\n },\n {\n status: ReleasedPOStatus.InShopFloor,\n routing: 'LASER',\n material: 'MAT10',\n thickness: 21.0,\n estimated_time: 171000,\n nPOs: 1,\n nPOLs: 1,\n },\n {\n status: ReleasedPOStatus.InShopFloor,\n routing: 'LASER-BEND',\n material: 'MAT11',\n thickness: 153.0,\n estimated_time: 356000,\n nPOs: 1,\n nPOLs: 2,\n },\n {\n status: ReleasedPOStatus.Planned,\n routing: 'BEND',\n material: 'MAT12',\n thickness: 26.0,\n estimated_time: 8000,\n nPOs: 1,\n nPOLs: 3,\n },\n {\n status: ReleasedPOStatus.Planned,\n routing: 'LASER',\n material: 'MAT13',\n thickness: 111.0,\n estimated_time: 338000,\n nPOs: 1,\n nPOLs: 6,\n },\n {\n status: ReleasedPOStatus.Planned,\n routing: 'LASER',\n material: 'MAT14',\n thickness: 56.0,\n estimated_time: 768000,\n nPOs: 1,\n nPOLs: 9,\n },\n {\n status: ReleasedPOStatus.Planned,\n routing: 'LASER',\n material: 'MAT15',\n thickness: 93.0,\n estimated_time: 11000,\n nPOs: 1,\n nPOLs: 1,\n },\n {\n status: ReleasedPOStatus.Prepared,\n routing: 'BEND',\n material: 'MAT16',\n thickness: 166.0,\n estimated_time: 51000,\n nPOs: 1,\n nPOLs: 4,\n },\n {\n status: ReleasedPOStatus.Prepared,\n routing: 'LASER-BEND',\n material: 'MAT17',\n thickness: 122.0,\n estimated_time: 639000,\n nPOs: 1,\n nPOLs: 6,\n },\n {\n status: ReleasedPOStatus.Produced,\n routing: 'LASER',\n material: 'MAT18',\n thickness: 182.0,\n estimated_time: 938000,\n nPOs: 1,\n nPOLs: 1,\n },\n {\n status: ReleasedPOStatus.Produced,\n routing: 'LASER-BEND',\n material: 'MAT19',\n thickness: 177.0,\n estimated_time: 952000,\n nPOs: 1,\n nPOLs: 6,\n },\n {\n status: ReleasedPOStatus.Produced,\n routing: 'LASER-BEND',\n material: 'MAT20',\n thickness: 122.0,\n estimated_time: 151000,\n nPOs: 1,\n nPOLs: 1,\n },\n ];\n}\n\nexport function mockPOFinishedDueDateData(): ManufacturingPOFinishedDueDateData[] {\n return [\n {\n range_start: -22,\n range_end: -12,\n estimated_time_hours: 5.32611111096,\n },\n {\n range_start: -11,\n range_end: -1,\n estimated_time_hours: 4.1297222221,\n },\n {\n range_start: 0,\n range_end: 10,\n estimated_time_hours: 5.25444444433,\n },\n {\n range_start: 11,\n range_end: 21,\n estimated_time_hours: 4.0969444443,\n },\n {\n range_start: 22,\n range_end: 32,\n estimated_time_hours: 4.00416666652,\n },\n {\n range_start: -22,\n range_end: -12,\n estimated_time_hours: 5.71083333313,\n },\n {\n range_start: -11,\n range_end: -1,\n estimated_time_hours: 2.93361111099,\n },\n {\n range_start: 0,\n range_end: 10,\n estimated_time_hours: 2.35583333324,\n },\n {\n range_start: 11,\n range_end: 21,\n estimated_time_hours: 3.80972222209,\n },\n {\n range_start: 22,\n range_end: 32,\n estimated_time_hours: 1.3916666666,\n },\n {\n range_start: -22,\n range_end: -12,\n estimated_time_hours: 3.86111111098,\n },\n {\n range_start: -11,\n range_end: -1,\n estimated_time_hours: 2.62638888878,\n },\n {\n range_start: 0,\n range_end: 10,\n estimated_time_hours: 4.87222222209,\n },\n {\n range_start: 11,\n range_end: 21,\n estimated_time_hours: 4.26777777765,\n },\n {\n range_start: 22,\n range_end: 32,\n estimated_time_hours: 4.4480555554,\n },\n {\n range_start: -22,\n range_end: -12,\n estimated_time_hours: 4.9791666665,\n },\n {\n range_start: -11,\n range_end: -1,\n estimated_time_hours: 14.79138888846,\n },\n {\n range_start: 0,\n range_end: 10,\n estimated_time_hours: 13.8511111107,\n },\n {\n range_start: 11,\n range_end: 21,\n estimated_time_hours: 4.26638888875,\n },\n {\n range_start: 22,\n range_end: 32,\n estimated_time_hours: 1.08388888886,\n },\n ];\n}\n\nexport function mockPOLStatusDueDateData(): ManufacturingPOLStatusDueDateData[] {\n return [\n {\n status: POLStatus.Planned,\n range_start: -22,\n range_end: -12,\n estimated_time_hours: 0.1,\n },\n {\n status: POLStatus.Planned,\n range_start: -11,\n range_end: -1,\n estimated_time_hours: 0.5,\n },\n {\n status: POLStatus.Planned,\n range_start: 0,\n range_end: 10,\n estimated_time_hours: 0.9,\n },\n {\n status: POLStatus.Planned,\n range_start: 11,\n range_end: 22,\n estimated_time_hours: 1.1,\n },\n {\n status: POLStatus.Planned,\n range_start: 22,\n range_end: 32,\n estimated_time_hours: 0.7,\n },\n {\n status: POLStatus.FirmPlanned,\n range_start: -22,\n range_end: -12,\n estimated_time_hours: 0.25,\n },\n {\n status: POLStatus.FirmPlanned,\n range_start: -11,\n range_end: -1,\n estimated_time_hours: 0.6,\n },\n {\n status: POLStatus.FirmPlanned,\n range_start: 0,\n range_end: 10,\n estimated_time_hours: 1.3,\n },\n {\n status: POLStatus.FirmPlanned,\n range_start: 11,\n range_end: 22,\n estimated_time_hours: 1.03,\n },\n {\n status: POLStatus.FirmPlanned,\n range_start: 22,\n range_end: 32,\n estimated_time_hours: 0.58,\n },\n {\n status: POLStatus.Prepared,\n range_start: -22,\n range_end: -12,\n estimated_time_hours: 6.92027777752,\n },\n {\n status: POLStatus.Prepared,\n range_start: -11,\n range_end: -1,\n estimated_time_hours: 4.98833333316,\n },\n {\n status: POLStatus.Prepared,\n range_start: 0,\n range_end: 10,\n estimated_time_hours: 4.63361111098,\n },\n {\n status: POLStatus.Prepared,\n range_start: 11,\n range_end: 21,\n estimated_time_hours: 4.36388888872,\n },\n {\n status: POLStatus.Prepared,\n range_start: 22,\n range_end: 32,\n estimated_time_hours: 4.79305555537,\n },\n {\n status: POLStatus.InShopFloor,\n range_start: -22,\n range_end: -12,\n estimated_time_hours: 2.13277777771,\n },\n {\n status: POLStatus.InShopFloor,\n range_start: -11,\n range_end: -1,\n estimated_time_hours: 1.17388888883,\n },\n {\n status: POLStatus.InShopFloor,\n range_start: 0,\n range_end: 10,\n estimated_time_hours: 2.56472222217,\n },\n {\n status: POLStatus.InShopFloor,\n range_start: 11,\n range_end: 21,\n estimated_time_hours: 2.86305555546,\n },\n {\n status: POLStatus.InShopFloor,\n range_start: 22,\n range_end: 32,\n estimated_time_hours: 1.8580555555,\n },\n {\n status: POLStatus.InProgressDone,\n range_start: -22,\n range_end: -12,\n estimated_time_hours: 0.45472222216,\n },\n {\n status: POLStatus.InProgressDone,\n range_start: -11,\n range_end: -1,\n estimated_time_hours: 0.26611111107,\n },\n {\n status: POLStatus.InProgressDone,\n range_start: 0,\n range_end: 10,\n estimated_time_hours: 0.36777777773,\n },\n {\n status: POLStatus.InProgressDone,\n range_start: 11,\n range_end: 21,\n estimated_time_hours: 0.35083333329,\n },\n {\n status: POLStatus.InProgressDone,\n range_start: 22,\n range_end: 32,\n estimated_time_hours: 0.28749999996,\n },\n {\n status: POLStatus.InProgressRemaining,\n range_start: -22,\n range_end: -12,\n estimated_time_hours: 0.35472222216,\n },\n {\n status: POLStatus.InProgressRemaining,\n range_start: -11,\n range_end: -1,\n estimated_time_hours: 0.66611111107,\n },\n {\n status: POLStatus.InProgressRemaining,\n range_start: 0,\n range_end: 10,\n estimated_time_hours: 1.26777777773,\n },\n {\n status: POLStatus.InProgressRemaining,\n range_start: 11,\n range_end: 21,\n estimated_time_hours: 0.85083333329,\n },\n {\n status: POLStatus.InProgressRemaining,\n range_start: 22,\n range_end: 32,\n estimated_time_hours: 0.78749999996,\n },\n {\n status: POLStatus.Produced,\n range_start: -22,\n range_end: -12,\n estimated_time_hours: 4.9791666665,\n },\n {\n status: POLStatus.Produced,\n range_start: -11,\n range_end: -1,\n estimated_time_hours: 14.79138888846,\n },\n {\n status: POLStatus.Produced,\n range_start: 0,\n range_end: 10,\n estimated_time_hours: 13.8511111107,\n },\n {\n status: POLStatus.Produced,\n range_start: 11,\n range_end: 21,\n estimated_time_hours: 4.26638888875,\n },\n {\n status: POLStatus.Produced,\n range_start: 22,\n range_end: 32,\n estimated_time_hours: 1.08388888886,\n },\n ];\n}\n\nexport function mockFinishedPOEstimatedVsActualPOLData(): FinishedPOData[] {\n return [\n {\n date: moment().subtract(11, 'months').format('YYYY-MM'),\n estimated_time_hours: 4263,\n executed_time_hours: 4875,\n capacity: 5000,\n },\n {\n date: moment().subtract(10, 'months').format('YYYY-MM'),\n estimated_time_hours: 2941,\n executed_time_hours: 3372,\n capacity: 3600,\n },\n {\n date: moment().subtract(9, 'months').format('YYYY-MM'),\n estimated_time_hours: 4498,\n executed_time_hours: 4956,\n capacity: 5200,\n },\n {\n date: moment().subtract(8, 'months').format('YYYY-MM'),\n estimated_time_hours: 2546,\n executed_time_hours: 2989,\n capacity: 3200,\n },\n {\n date: moment().subtract(7, 'months').format('YYYY-MM'),\n estimated_time_hours: 3268,\n executed_time_hours: 3667,\n capacity: 4000,\n },\n {\n date: moment().subtract(6, 'months').format('YYYY-MM'),\n estimated_time_hours: 3803,\n executed_time_hours: 3799,\n capacity: 4100,\n },\n {\n date: moment().subtract(5, 'months').format('YYYY-MM'),\n estimated_time_hours: 4298,\n executed_time_hours: 4654,\n capacity: 4800,\n },\n {\n date: moment().subtract(4, 'months').format('YYYY-MM'),\n estimated_time_hours: 3498,\n executed_time_hours: 4402,\n capacity: 4900,\n },\n {\n date: moment().subtract(3, 'months').format('YYYY-MM'),\n estimated_time_hours: 4169,\n executed_time_hours: 4216,\n capacity: 4500,\n },\n {\n date: moment().subtract(2, 'months').format('YYYY-MM'),\n estimated_time_hours: 3896,\n executed_time_hours: 4150,\n capacity: 4300,\n },\n {\n date: moment().subtract(1, 'months').format('YYYY-MM'),\n estimated_time_hours: 4165,\n executed_time_hours: 4654,\n capacity: 4900,\n },\n {\n date: moment().format('YYYY-MM'),\n estimated_time_hours: 2894,\n executed_time_hours: 3136,\n capacity: 3500,\n },\n ];\n}\n\nexport async function mockBendShiftStatisticsData(\n selectedDeviceIds: string[],\n selectedShiftIds: number[],\n timeSpan: FilterTimeSpanEnum,\n): Promise {\n selectedDeviceIds =\n selectedDeviceIds.length === 0\n ? devicesService.store.bendDevices().map((d) => d.deviceId)\n : selectedDeviceIds;\n\n let shiftModels: ShiftModel[] = [];\n try {\n const customer = await tenantsService.store.current();\n if (customer?.id) {\n shiftModels = await shiftModelsService.get(customer.id);\n }\n } catch (error) {\n Logger.error(error);\n return null;\n }\n\n const selectedShifts =\n selectedShiftIds.length === 0\n ? shiftsService.store.getAllByDeviceIds(selectedDeviceIds)\n : shiftsService.store.getMatchingIds(selectedShiftIds);\n\n const timeInSeconds: number = getMaxSecondsByTimeFilter(timeSpan);\n const speedFlowWithoutProcessing = values(BendFlowSpeedStatus).filter(\n (flowSpeed) => flowSpeed !== BendFlowSpeedStatus.Processing,\n );\n\n const calculatePercent = (value: number, total: number) => (value * 100) / total;\n\n return selectedShifts.map((shift) => {\n const dataEntries = selectedDeviceIds.map((deviceId) => {\n const productionModeSeconds = randomPartition(\n timeInSeconds,\n values(BendProductionModeStatus).length,\n );\n const speedFlowSeconds = randomPartition(timeInSeconds, speedFlowWithoutProcessing.length);\n\n const totalSpeedFlow = speedFlowSeconds.reduce((acc, curr) => acc + curr, 0);\n const totalProductionMode = productionModeSeconds.reduce((acc, curr) => acc + curr, 0);\n\n return {\n deviceId,\n deviceName: getDeviceNameByDeviceId(deviceId),\n toolChanges: Math.floor(random(0, 20)),\n weight: Math.floor(random(0, 20)),\n weightHandled: Math.floor(random(0, 20)),\n bendsHour: Math.floor(random(0, 20)),\n highFlow: speedFlowSeconds[0],\n lowFlow: speedFlowSeconds[1],\n noFlow: speedFlowSeconds[2],\n highFlowPercent: calculatePercent(speedFlowSeconds[0], totalSpeedFlow),\n lowFlowPercent: calculatePercent(speedFlowSeconds[1], totalSpeedFlow),\n noFlowPercent: calculatePercent(speedFlowSeconds[2], totalSpeedFlow),\n automatic: productionModeSeconds[0],\n semiAutomatic: productionModeSeconds[1],\n nonProductive: productionModeSeconds[2],\n automaticPercent: calculatePercent(productionModeSeconds[0], totalProductionMode),\n semiAutomaticPercent: calculatePercent(productionModeSeconds[1], totalProductionMode),\n nonProductivePercent: calculatePercent(productionModeSeconds[2], totalProductionMode),\n };\n });\n\n const shiftModel = shiftModels.find((sm) => sm.shifts.some((sh) => sh.id === shift.id));\n\n return {\n shiftId: shift.id,\n shiftName: shift.name,\n shiftModelName: shiftModel ? shiftModel.name : '',\n deviceStatistics: dataEntries,\n };\n });\n}\n\nfunction mockRandomDataEntry(selectedDevices: Device[]): BendPartDataEntry[] {\n return Array.from({ length: 10 }, (_, i) => {\n const device = selectedDevices[i % selectedDevices.length];\n return {\n deviceId: device.deviceId,\n deviceName: device.name,\n partName: `part-name-${i}`,\n materialName: `material-name-${i}`,\n totalBends: Math.floor(random(0, 1000)),\n weight: random(0, 20),\n flowPercent: Math.floor(random(0, 100)),\n };\n });\n}\n\nexport async function mockBendRankingOfPartsData(\n selectedDeviceIds: string[],\n): Promise {\n const selectedDevices = selectedDeviceIds.map(\n (d) => devicesService.store.findByStringId(d) as Device,\n );\n\n return {\n bestFlowData: mockRandomDataEntry(selectedDevices),\n worstFlowData: mockRandomDataEntry(selectedDevices),\n };\n}\n\nfunction getDeviceNameByDeviceId(deviceid: string): string {\n const device = devicesService.store.findByStringId(deviceid);\n return device ? device.name : '';\n}\n\nfunction random(min: number, max: number) {\n return Math.random() * (max - min) + min;\n}\n","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\n/**\r\n * Specifies periods of time relative to the current date.\r\n */\r\nexport enum FilterTimeSpanEnum {\r\n None = 0,\r\n Day = 1,\r\n Week = 2,\r\n Month = 3,\r\n Year = 4,\r\n}\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleWidgetContainer.vue?vue&type=style&index=0&id=008a1fb0&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SliderParam.vue?vue&type=style&index=0&id=26607442&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\n/*\n * We can't have Routes defined in index.ts as we need to import it in\n * Sidebar.vue without Vue.use(VueRouter) being called. Otherwise we can't mock\n * this.$router on unit tests.\n *\n * See: https://stackoverflow.com/a/55544290/3975331\n */\n\nexport enum Routes {\n // Back office\n Devices = 'devices',\n Subsidiaries = 'subsidiaries',\n SubsidiaryDetail = 'subsidiaries-detail',\n Tenants = 'tenants',\n TenantDetail = 'tenant-detail',\n ControlList = 'control-list',\n Users = 'users',\n DataPlatforms = 'dataplatforms',\n\n // Work Center Console\n WorkcenterOverview = 'workcenter-overview',\n Bend = 'workcenter-bend',\n Cut = 'workcenter-cut',\n Tubes = 'workcenter-tubes',\n\n // Technology Console\n TechnologyConsole = 'technology-console',\n TechnologyConsoleTenantDevices = 'technology-console-tenant-devices',\n TechnologyConsoleDevice = 'technology-console-device',\n\n // Shop Floor Console\n Manufacturing = 'shopfloor-manufacturing',\n Inventory = 'shopfloor-inventory',\n\n // Business Console\n BusinessConsoleOverview = 'business-console-overview',\n Quotes = 'business-quotes',\n Sales = 'business-sales',\n\n // eService center (formerly Care Console)\n EServiceCenter = 'e-service-center',\n EServiceCenterInbox = 'e-service-center-inbox',\n EServiceCenterCustomers = 'e-service-center-customers',\n EServiceCenterEquipment = 'e-service-center-equipment',\n EServiceCenterAlerts = 'e-service-center-alerts',\n EServiceCenterCustomerEquipment = 'e-service-center-customer-equipment',\n EServiceCenterEquipmentView = 'e-service-center-equipment-view',\n\n // Others\n About = 'about',\n Index = 'index',\n Login = 'login',\n LoginFailed = 'login-failed',\n LoginCallback = 'login-callback',\n Logout = 'logout',\n LoggedOut = 'logged-out',\n LogoutCallback = 'logout-callback',\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { localeService } from '@/library-services/locale.service';\n\nexport function currentLocale(): string {\n return localeService.currentLocale;\n}\n\nexport function translateFilterTimeSpanEnum(value: FilterTimeSpanEnum): string {\n return i18n.t(`timespans.${FilterTimeSpanEnum[value].toLowerCase()}`).toString();\n}\n\nexport function translateFilterTimeAxisSpanEnum(value: FilterTimeAxisSpanEnum): string {\n return i18n.t(`timespans.${FilterTimeAxisSpanEnum[Number(value)].toLowerCase()}`).toString();\n}\n","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nimport axios from 'axios';\r\nimport { BaseUrl } from '@/models/constants';\r\nimport { CreateUserTarget, UserTarget } from '@/models/userTarget';\r\nimport { Target } from '@/models/target';\r\nimport { TargetsMetric } from '@/models/enums/TargetsMetric';\r\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\r\nimport { usePersistentStore } from '@/store/persistent';\r\n\r\nclass UserTargetsService {\r\n private readonly baseUrl = `${BaseUrl}/user-targets`;\r\n\r\n store = new (class {\r\n getAll(): UserTarget[] {\r\n return usePersistentStore().userTargets;\r\n }\r\n\r\n get(targetMetric: TargetsMetric | null): UserTarget | undefined {\r\n return this.getAll().find((userTarget) => userTarget.targetMetric === targetMetric);\r\n }\r\n\r\n async setAll(userTargets: UserTarget[]) {\r\n usePersistentStore().setUserTargets(userTargets);\r\n }\r\n\r\n getAllTargets(): Target[] {\r\n return usePersistentStore().targets;\r\n }\r\n\r\n async setAllTargets(targets: Target[]) {\r\n usePersistentStore().setTargets(targets);\r\n }\r\n\r\n getConsoleUserTargets(console: ConsoleEnum): UserTarget[] {\r\n const consoleTargets = userTargetsService.store.getConsoleTargetMetrics(console);\r\n return this.getAll().filter((userTarget) => consoleTargets.includes(userTarget.targetMetric));\r\n }\r\n\r\n private getConsoleTargetMetrics(console: ConsoleEnum): TargetsMetric[] {\r\n return this.getAllTargets()\r\n .filter((target) => target.consoleId === console)\r\n .map((target) => target.targetMetric);\r\n }\r\n\r\n getMetricNumberOfTargetValues(targetsMetric: TargetsMetric | null): number {\r\n return (\r\n this.getAllTargets().find((target) => target.targetMetric === targetsMetric)?.nTargets ?? 0\r\n );\r\n }\r\n\r\n async clear() {\r\n usePersistentStore().setUserTargets([]);\r\n }\r\n\r\n exists(userTargetId: number): boolean {\r\n return this.getAll().some((item) => item.id === userTargetId);\r\n }\r\n\r\n async delete(id: number) {\r\n usePersistentStore().deleteUserTarget(id);\r\n }\r\n })();\r\n\r\n async getForTenant(tenantId: number): Promise {\r\n const response = await axios.get(`${this.baseUrl}/${tenantId}`);\r\n await this.store.setAll(response.data);\r\n return response.data;\r\n }\r\n\r\n async delete(id: number): Promise {\r\n await axios.delete(`${this.baseUrl}/${id}`);\r\n if (this.store.exists(id)) {\r\n await this.store.delete(id);\r\n }\r\n }\r\n\r\n async create(target: CreateUserTarget) {\r\n await axios.post(this.baseUrl, target);\r\n }\r\n\r\n async update(id: number, target: CreateUserTarget) {\r\n await axios.put(this.baseUrl, {\r\n ...target,\r\n id,\r\n });\r\n }\r\n\r\n async getTargets(): Promise {\r\n const response = await axios.get(`${this.baseUrl}/targets`);\r\n await this.store.setAllTargets(response.data);\r\n return response.data;\r\n }\r\n}\r\n\r\nexport const userTargetsService = new UserTargetsService();\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventsTableExpandedView.vue?vue&type=style&index=0&id=657310b6&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { GanttIntervalData } from '@/models/Charts/chartsData';\nimport moment from 'moment';\nimport { formatDuration } from './dates';\n\nexport function getTotalStatusDuration(\n data: GanttIntervalData[],\n status: string,\n dateRange: [Date, Date],\n): string {\n const statusFilteredData = data.filter((dataItem) => dataItem.value === status);\n\n const inSeconds = (date: Date) => date.getTime() / 1000;\n const sum = (list: number[]) => list.reduce((total, value) => total + value, 0);\n\n const nonSplitIntervalSeconds = sum(\n statusFilteredData\n .filter(\n (dataItem) =>\n inSeconds(dataItem.startTimestamp) >= inSeconds(dateRange[0]) &&\n inSeconds(dataItem.endTimestamp) <= inSeconds(dateRange[1]),\n )\n .map((dataItem) => inSeconds(dataItem.endTimestamp) - inSeconds(dataItem.startTimestamp)),\n );\n\n const startSplit = sum(\n statusFilteredData\n .filter(\n (dataItem) =>\n inSeconds(dataItem.startTimestamp) < inSeconds(dateRange[0]) &&\n inSeconds(dataItem.endTimestamp) > inSeconds(dateRange[0]),\n )\n .map((dataItem) => inSeconds(dataItem.endTimestamp) - inSeconds(dateRange[0])),\n );\n const endSplit = sum(\n statusFilteredData\n .filter(\n (dataItem) =>\n inSeconds(dataItem.startTimestamp) < inSeconds(dateRange[1]) &&\n inSeconds(dataItem.endTimestamp) > inSeconds(dateRange[1]),\n )\n .map((dataItem) => inSeconds(dateRange[1]) - inSeconds(dataItem.startTimestamp)),\n );\n\n const lengthInSeconds = startSplit + endSplit + nonSplitIntervalSeconds;\n return formatDuration(lengthInSeconds);\n}\n\nexport function getDefaultZoomValues(): [Date, Date] {\n const endMoment = moment.utc().seconds(0);\n if (endMoment.minutes() % 5 !== 0) {\n endMoment.add(5 - (endMoment.minutes() % 5), 'minutes');\n }\n const startMoment = moment.utc().seconds(0).subtract(24, 'hours');\n startMoment.subtract(startMoment.minutes() % 5, 'minutes');\n return [startMoment.toDate(), endMoment.toDate()];\n}\n\nexport function getTotalMinutes(defaultZoom: [Date, Date]): number {\n return moment(defaultZoom[1]).diff(defaultZoom[0], 'minutes');\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TechnologyConsoleTenantDevices.vue?vue&type=style&index=0&id=4eb48a8a&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableWithActions.vue?vue&type=style&index=0&id=03cf5760&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TechnologyConsoleDevice.vue?vue&type=style&index=0&id=737aa37c&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Quotes.vue?vue&type=style&index=0&id=6b89abee&prod&lang=scss&scoped=true\"","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!./MapWidget.vue?vue&type=style&index=0&id=77c61694&prod&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryProperties.vue?vue&type=style&index=0&id=d8b84cc2&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport moment from 'moment-timezone';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport i18n from '@/i18n';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { Logger } from '@/utils/logger';\nimport { currentCustomer } from '@/utils/permissionUtils';\n\n/** Returns if value is a Date instance with a valid value. */\nexport function isDate(value: any): value is Date {\n return value instanceof Date && !isNaN(value.getTime());\n}\n\nexport function endOfYear(): Date {\n return moment().endOf('year').toDate();\n}\n\nexport function yearToDate(): [Date, Date] {\n return [moment().startOf('year').toDate(), new Date()];\n}\n\nexport function today(): Date {\n return moment().set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).toDate();\n}\n\n// HACK: moment.tz.guess caches the values across unit tests. This allows it to\n// be disabled when running unit tests.\nlet shouldMomentIgnoreCachedTimeZoneGuess = false;\n\n// Set up calls to moment.tz.guess to ignore cached values.\nexport function ignoreTimeZoneCachedGuess() {\n shouldMomentIgnoreCachedTimeZoneGuess = true;\n}\n\n/** Returns the user's time zone according to the browser as a IANA string. */\nexport function userTimeZone(): string {\n return moment.tz.guess(shouldMomentIgnoreCachedTimeZoneGuess);\n}\n\nexport function timeSpanToStartOfUnitOfTime(\n timeSpan: FilterTimeSpanEnum,\n): moment.unitOfTime.StartOf {\n const unitOfTime = timeSpanToUnitOfTime(timeSpan);\n\n // We want weeks to start always on Mondays (ISO, $god bless you!),\n // independently of the user locale, to match the week interval from\n // Timescale (PostgreSQL).\n return unitOfTime === 'week' ? 'isoWeek' : unitOfTime;\n}\n\nexport function timeSpanToUnitOfTime(\n timeSpan: FilterTimeSpanEnum,\n): moment.unitOfTime.DurationConstructor {\n switch (timeSpan) {\n case FilterTimeSpanEnum.Day:\n return 'day';\n case FilterTimeSpanEnum.Week:\n return 'week';\n case FilterTimeSpanEnum.Month:\n return 'month';\n case FilterTimeSpanEnum.Year:\n return 'year';\n case FilterTimeSpanEnum.None:\n Logger.error('Time span should never be \"None\"');\n throw new Error('Time span should never be \"None\"');\n }\n}\n\nexport function dateRangeToDateStrings(dateRange: [Date, Date]): [string, string] {\n const transform = (date: Date) =>\n moment(date).subtract(date.getTimezoneOffset(), 'minutes').format('YYYY-MM-DD');\n return [transform(dateRange[0]), transform(dateRange[1])];\n}\n\n/** Converts a Date into a ISO string with just the date part (YYYY-MM-DD). */\nexport function dateToShortISOString(date: Date): string {\n return moment(date).format('YYYY-MM-DD');\n}\n\n/** Converts a Date into a string with date and time. */\nexport function formatDateWithTime(date: Date): string {\n return moment(date).format('YYYY-MM-DD, HH:mm');\n}\n\n/** Formats a Date into a string with date and time for the customer's time zone. */\nexport function formatDateWithTimeOnCustomerTimeZone(date: Date): string {\n return moment(date).tz(currentCustomer()!.timeZone).format('YYYY-MM-DD, HH:mm');\n}\n\nexport function groupByDate(\n data: any[],\n dates: string[],\n groupingFunction: (groupObject: any, currentDataItem: any) => any,\n dateField = 'date',\n) {\n return dates.map((date) => {\n const groupValues = data\n .filter((dataItem) => dataItem[dateField] === date)\n .reduce(groupingFunction, {});\n\n return {\n date,\n ...groupValues,\n };\n });\n}\n\nexport function translateDateGrouping(dateGrouping: FilterTimeAxisSpanEnum): string {\n const dateGroupingKey = FilterTimeAxisSpanEnum[dateGrouping];\n return i18n.t(`timespans.${dateGroupingKey.toLowerCase()}`).toString();\n}\n\nexport function lastDayOfNextMonth(date: Date): Date {\n date = moment(date).add(1, 'month').endOf('month').toDate();\n // Directly returning the date from m.toDate() would somehow make the\n // datepicker show the next day as the minimum day\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\n}\n\nexport function formatDuration(durationSeconds: number): string {\n const duration = moment.duration(durationSeconds, 'seconds');\n if (duration.months() > 0) {\n return convertSecondsToMonthsDaysHours(duration);\n } else if (duration.days() > 0) {\n return convertSecondsToDaysHoursMinutes(duration);\n } else if (duration.hours() > 0) {\n return moment.unix(durationSeconds).utcOffset(0).format('H[h] m[m]');\n } else if (duration.minutes() > 0) {\n return moment.unix(durationSeconds).format('m[m] s[s]');\n } else {\n return moment.unix(durationSeconds).format('s[s]');\n }\n}\n\nexport function convertSecondsToDaysHoursMinutes(duration: moment.Duration): string {\n const days = duration.days();\n const hours = duration.hours();\n const minutes = duration.minutes();\n\n return `${days}d ${hours}h ${minutes}m`;\n}\n\nfunction convertSecondsToMonthsDaysHours(duration: moment.Duration): string {\n return `${duration.months()}M ${duration.days()}d ${duration.hours()}h`;\n}\n\nexport function getMaxSecondsByTimeFilter(timeFilter: FilterTimeSpanEnum): number {\n const SECONDS_IN_A_DAY = 24 * 60 * 60;\n switch (timeFilter) {\n case FilterTimeSpanEnum.Day:\n return SECONDS_IN_A_DAY;\n case FilterTimeSpanEnum.Week:\n return SECONDS_IN_A_DAY * 7;\n case FilterTimeSpanEnum.Month:\n return moment().diff(moment().subtract(1, 'month'), 'seconds');\n case FilterTimeSpanEnum.Year:\n return moment().diff(moment().subtract(1, 'year'), 'seconds');\n default:\n return 0;\n }\n}\n\nexport function formatTimeAgo(date: Date, now: Date = new Date()): string {\n const thisMoment = moment(now);\n if (thisMoment.diff(date, 'hours') > 0) {\n return i18n.tc('time_msg.hours', moment().diff(date, 'hours')).toString();\n } else if (thisMoment.diff(date, 'minutes') > 0) {\n return i18n.tc('time_msg.minutes', moment().diff(date, 'minutes')).toString();\n } else {\n return i18n.tc('time_msg.seconds', moment().diff(date, 'seconds')).toString();\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerTarget.vue?vue&type=style&index=0&id=50c8da4e&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DrawerInformation.vue?vue&type=style&index=0&id=6e1a9868&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nconst COMPACT_MODE = 'compactMode';\n\nclass LocalStorageService {\n private setItem(name: string, value: string) {\n localStorage.setItem(name, value);\n }\n\n private getItem(name: string): string | null {\n return localStorage.getItem(name);\n }\n\n private getBoolean(name: string): boolean {\n return this.getItem(name) === 'true';\n }\n\n private removeItem(name: string) {\n localStorage.removeItem(name);\n }\n\n get compactMode(): boolean {\n return this.getBoolean(COMPACT_MODE);\n }\n\n set compactMode(value: boolean) {\n this.setItem(COMPACT_MODE, `${value}`);\n }\n\n removeVuex() {\n this.removeItem('vuex');\n }\n}\n\nexport const localStorageService = new LocalStorageService();\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_vm.hidden)?_c('div',{staticClass:\"table-action-vue-container\"},[(_vm.shouldUseMenu)?_c('b-dropdown-item',{staticClass:\"table-action\",attrs:{\"disabled\":_vm.disabled || _vm.loading},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[(!!_vm.icon)?_c('b-icon',{attrs:{\"icon\":_vm.icon,\"pack\":_vm.pack}}):_vm._e(),(!_vm.loading)?_vm._t(\"default\"):_vm._e(),_c('b-loading',{attrs:{\"is-full-page\":false,\"active\":_vm.loading}})],2):_c('b-button',{staticClass:\"table-action single-table-action\",attrs:{\"icon-left\":_vm.icon,\"pack\":_vm.pack,\"disabled\":_vm.disabled,\"loading\":_vm.loading},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click', $event)}}},[_vm._t(\"default\")],2)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Inject, Prop, Vue } from 'vue-property-decorator';\n\n@Component({})\nexport default class TableActionButton extends Vue {\n @Prop({ required: false })\n private icon?: string;\n\n @Prop({ default: 'mdi' })\n private pack!: string;\n\n @Prop({ required: false, default: false, type: Boolean })\n private disabled!: boolean;\n\n @Prop({ required: false, default: false, type: Boolean })\n public hidden!: boolean;\n\n @Prop({ required: false, default: false, type: Boolean })\n public loading!: boolean;\n\n @Inject()\n private shouldUseMenu!: boolean;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableActionButton.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableActionButton.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TableActionButton.vue?vue&type=template&id=b975b8d6&scoped=true\"\nimport script from \"./TableActionButton.vue?vue&type=script&lang=ts\"\nexport * from \"./TableActionButton.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TableActionButton.vue?vue&type=style&index=0&id=b975b8d6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b975b8d6\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VariableSelectionFormWizardStep.vue?vue&type=style&index=0&id=58508fcd&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenericKeyCopyModal.vue?vue&type=style&index=0&id=31a3f939&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewLaserTubeDeviceCard.vue?vue&type=style&index=0&id=3d40a59e&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nexport enum MachineType {\r\n Undefined = 0,\r\n Cut = 1,\r\n Bend = 2,\r\n FactoryOverview = 3,\r\n Tube = 4,\r\n}\r\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!./RadioParam.vue?vue&type=style&index=0&id=6535c03c&prod&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetSelector.vue?vue&type=style&index=0&id=56ab8738&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataPlatforms.vue?vue&type=style&index=0&id=471904d4&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InformationMenu.vue?vue&type=style&index=0&id=14429f3f&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventCodesFilter.vue?vue&type=style&index=0&id=1677ea89&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-table',{staticClass:\"events-table\",attrs:{\"data\":_vm.pagedEvents.results,\"sticky-header\":\"\",\"striped\":\"\",\"loading\":_vm.loading,\"paginated\":\"\",\"backend-pagination\":\"\",\"pagination-size\":\"is-small\",\"current-page\":_vm.page,\"total\":_vm.pagedEvents.total_results,\"per-page\":_vm.rowsPerPage,\"aria-next-label\":_vm.$t('next_page'),\"aria-previous-label\":_vm.$t('previous_page'),\"aria-page-label\":_vm.$t('page'),\"aria-current-label\":_vm.$t('current_page'),\"backend-sorting\":\"\",\"default-sort\":[_vm.defaultSortField, _vm.defaultSortOrder]},on:{\"page-change\":function($event){return _vm.onPageChanged($event)},\"click\":function($event){return _vm.$emit('click', $event)},\"sort\":_vm.onSort},scopedSlots:_vm._u([(_vm.expandable)?{key:\"bottom-left\",fn:function(){return [_c('b-button',{staticClass:\"expand-button\",attrs:{\"icon-left\":\"arrow-expand\",\"size\":\"is-small\"},on:{\"click\":_vm.onExpandClicked}})]},proxy:true}:null,{key:\"empty\",fn:function(){return [_c('div',{staticClass:\"no-events\"},[_vm._v(\" \"+_vm._s(_vm.$t('report.no_messages'))+\" \")])]},proxy:true}],null,true)},[_c('b-table-column',{attrs:{\"field\":\"timestamp\",\"sortable\":\"\",\"label\":_vm.$t('report.errors_and_warnings_table.time'),\"th-attrs\":_vm.addDataTestIdAttributeToTh('timestamp'),\"width\":\"8%\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: eventData }){return [_vm._v(\" \"+_vm._s(_vm.formatTimestamp(eventData.timestamp))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"messageLevel\",\"sortable\":\"\",\"label\":_vm.$t('report.errors_and_warnings_table.type'),\"th-attrs\":_vm.addDataTestIdAttributeToTh('messageLevel'),\"width\":\"7%\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: eventData }){return [_vm._v(\" \"+_vm._s(_vm.$t(`report.${eventData.messageLevel.toLowerCase()}`))+\" \")]}}])}),_c('b-table-column',{attrs:{\"visible\":_vm.isGroupingByDate,\"field\":\"occurrences\",\"sortable\":\"\",\"label\":_vm.$t('report.errors_and_warnings_table.occurrences'),\"th-attrs\":_vm.addDataTestIdAttributeToTh('occurrences'),\"width\":\"7%\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: eventData }){return [_vm._v(\" \"+_vm._s(eventData.occurrences)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"module\",\"sortable\":\"\",\"label\":_vm.$t('report.errors_and_warnings_table.module'),\"th-attrs\":_vm.addDataTestIdAttributeToTh('module'),\"width\":\"9%\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: eventData }){return [(eventData.messageModule)?[_vm._v(\" \"+_vm._s(eventData.messageModule)+\" \")]:[_c('span',{staticClass:\"no-module\"},[_vm._v(_vm._s(_vm.$t('report.errors_and_warnings_table.no_module')))])]]}}])}),_c('b-table-column',{attrs:{\"field\":\"messageSource\",\"sortable\":\"\",\"label\":_vm.$t('report.errors_and_warnings_table.source'),\"th-attrs\":_vm.addDataTestIdAttributeToTh('messageSource'),\"width\":\"11%\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: eventData }){return [_vm._v(\" \"+_vm._s(eventData.messageSource)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"errorCode\",\"sortable\":\"\",\"label\":_vm.$t('report.errors_and_warnings_table.code'),\"th-attrs\":_vm.addDataTestIdAttributeToTh('errorCode'),\"width\":\"7%\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: eventData }){return [_vm._v(\" \"+_vm._s(eventData.errorCode)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"description\",\"sortable\":\"\",\"label\":_vm.$t('report.errors_and_warnings_table.description'),\"th-attrs\":_vm.addDataTestIdAttributeToTh('description')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: eventData }){return [_vm._v(\" \"+_vm._s(eventData.description)+\" \")]}}])}),_c('b-table-column',{attrs:{\"visible\":_vm.isGroupingByDate,\"field\":\"firstEventTimestamp\",\"sortable\":\"\",\"label\":_vm.$t('report.errors_and_warnings_table.first_event_timestamp'),\"th-attrs\":_vm.addDataTestIdAttributeToTh('firstEventTimestamp'),\"width\":\"10%\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: eventData }){return [_vm._v(\" \"+_vm._s(_vm.formatFirstLastTimestamp(eventData.firstEventTimestamp))+\" \")]}}])}),_c('b-table-column',{attrs:{\"visible\":_vm.isGroupingByDate,\"field\":\"lastEventTimestamp\",\"sortable\":\"\",\"label\":_vm.$t('report.errors_and_warnings_table.last_event_timestamp'),\"th-attrs\":_vm.addDataTestIdAttributeToTh('lastEventTimestamp'),\"width\":\"10%\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: eventData }){return [_vm._v(\" \"+_vm._s(_vm.formatFirstLastTimestamp(eventData.lastEventTimestamp))+\" \")]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nexport interface Paged {\n results: T[];\n\n page: number;\n total_results: number;\n total_pages: number;\n}\n\nexport function emptyPaged(): Paged {\n return {\n results: [],\n\n page: 1,\n total_results: 0,\n total_pages: 0,\n };\n}\n","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { emptyPaged, Paged } from '@/services/pagination';\nimport moment from 'moment';\nimport { EventData, ImportantMessageLevel } from '@/models/Charts/chartsData';\nimport EventsTableExpandedView from '@/components/careConsole/EventsTableExpandedView.vue';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { addDataTestIdAttributeToTh } from '@/utils/table';\nimport { SortOrder } from '@/models/enums/SortOrder';\n\n@Component({\n methods: { addDataTestIdAttributeToTh },\n})\nexport default class EventsTable extends Vue {\n @Prop({ required: true, default: () => emptyPaged() })\n private pagedEvents!: Paged;\n\n @Prop({ required: true })\n private deviceId!: string;\n\n @Prop({ required: true })\n private dateRange!: [string, string];\n\n @Prop({ default: FilterTimeAxisSpanEnum.Day })\n private dateGrouping!: FilterTimeAxisSpanEnum;\n\n @Prop({ default: () => [] })\n private modules!: string[];\n\n @Prop({ default: () => [] })\n private eventTypes!: ImportantMessageLevel[];\n\n @Prop({ default: () => [] })\n private eventCodes!: string[];\n\n @Prop({ default: 10 })\n private rowsPerPage!: number;\n\n /** Shows the expand button to open the table in a modal, if true. */\n @Prop({ default: false, type: Boolean })\n private expandable!: boolean;\n\n @Prop({ default: 'timestamp' })\n private defaultSortField!: string;\n\n @Prop({ default: SortOrder.Descending })\n private defaultSortOrder!: SortOrder;\n\n @Prop({ default: false, type: Boolean })\n private loading!: boolean;\n\n private sortField = 'timestamp';\n private sortOrder: SortOrder = SortOrder.Descending;\n\n private page = 1;\n\n private mounted() {\n this.sortField = this.defaultSortField;\n this.sortOrder = this.defaultSortOrder;\n }\n\n private async onPageChanged(page: number) {\n this.page = page;\n this.$emit('page-change', page);\n }\n\n private onExpandClicked() {\n this.$buefy.modal.open({\n parent: this,\n component: EventsTableExpandedView,\n hasModalCard: true,\n trapFocus: true,\n width: '98vw',\n canCancel: ['escape', 'outside'],\n props: {\n deviceId: this.deviceId,\n selectedTimeFilter: this.dateRange,\n dateGrouping: this.dateGrouping,\n defaultSortField: this.sortField,\n defaultSortOrder: this.sortOrder,\n paramValues: {\n eventModules: this.modules,\n eventTypes: this.eventTypes,\n eventCodes: this.eventCodes,\n },\n },\n });\n }\n\n private get isGroupingByDate(): boolean {\n return this.dateGrouping !== FilterTimeAxisSpanEnum.None;\n }\n\n private formatTimestamp(isoDate: string) {\n switch (this.dateGrouping) {\n case FilterTimeAxisSpanEnum.None:\n return moment(isoDate).format('YYYY-MM-DD, HH:mm:ss');\n case FilterTimeAxisSpanEnum.Hour:\n return moment(isoDate).format('YYYY-MM-DD, HH:mm');\n default:\n // The format is already ok for the rest of groupings and no time zone\n // change is needed either.\n return isoDate;\n }\n }\n\n private formatFirstLastTimestamp(isoDate: string) {\n return moment(isoDate).format('YYYY-MM-DD, HH:mm:ss');\n }\n\n private onSort(sortField: string, sortOrder: SortOrder) {\n this.sortField = sortField;\n this.sortOrder = sortOrder;\n this.$emit('sort', sortField, sortOrder);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventsTable.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventsTable.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./EventsTable.vue?vue&type=template&id=bd3991c8&scoped=true\"\nimport script from \"./EventsTable.vue?vue&type=script&lang=ts\"\nexport * from \"./EventsTable.vue?vue&type=script&lang=ts\"\nimport style0 from \"./EventsTable.vue?vue&type=style&index=0&id=bd3991c8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bd3991c8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.shouldUseMenu)?_c('b-dropdown',{class:['table-actions-list', 'actions-menu', `type-${_vm.type}`],attrs:{\"position\":_vm.position,\"append-to-body\":\"\"},on:{\"active-change\":function($event){return _vm.emitWorkaroundEvent($event)}},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('b-button',{staticClass:\"action-menu-trigger\",attrs:{\"icon-left\":_vm.icon,\"disabled\":_vm.disabled,\"title\":_vm.$t('table_with_actions2.actions_trigger_hint')}})]},proxy:true}],null,false,4223685428)},[_vm._t(\"default\")],2):_c('div',{staticClass:\"table-actions-list single-action\"},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, ProvideReactive, Vue } from 'vue-property-decorator';\nimport TableActionButton from './TableActionButton.vue';\nimport { VNode } from 'vue';\nimport { isNil } from '@/utils/misc';\n\ntype MenuPosition = 'is-top-right' | 'is-top-left' | 'is-bottom-left' | 'is-bottom-right';\n\n@Component({})\nexport default class TableActionsList extends Vue {\n @Prop({ default: 'is-bottom-left' })\n private position!: MenuPosition;\n\n @Prop({ default: 'row' })\n private type!: 'selection' | 'row';\n\n @Prop({ default: 'dots-horizontal' })\n private icon!: string;\n\n @Prop({ default: false, type: Boolean })\n private disabled!: boolean;\n\n private get unhiddenSlots(): VNode[] {\n const slots = this.$slots.default ?? [];\n return slots.filter(\n (slot) =>\n (slot.componentOptions?.propsData as TableActionButton | undefined)?.hidden !== true,\n );\n }\n\n private get hasMultipleActions(): boolean {\n return (\n this.unhiddenSlots\n // Slots removed with v-if still show up in the list,\n // but with undefined values on all fields\n .filter((slot) => !isNil(slot.tag)).length > 1\n );\n }\n\n @ProvideReactive()\n private get shouldUseMenu(): boolean {\n return this.hasMultipleActions || this.type === 'selection';\n }\n\n // This event is only emitted as a workaround to click propagation issue with\n // row action menus. It doesn't have any other use.\n private emitWorkaroundEvent(event: any) {\n this.$emit('row-menu-active-change', event);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableActionsList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableActionsList.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TableActionsList.vue?vue&type=template&id=7deade06&scoped=true\"\nimport script from \"./TableActionsList.vue?vue&type=script&lang=ts\"\nexport * from \"./TableActionsList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TableActionsList.vue?vue&type=style&index=0&id=7deade06&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7deade06\",\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nimport { ConsoleEnum } from './ConsoleEnum';\r\n\r\nexport enum AlertAction {\r\n None = 0,\r\n Web = 1,\r\n WebAndEmail = 2,\r\n}\r\n\r\nexport enum AlertMetric {\r\n // None\r\n None = 0,\r\n\r\n // WCC\r\n OEE = 1,\r\n LaserHealth = 2,\r\n\r\n // Care: Health\r\n LowerProtectionGlass = 3,\r\n UpperProtectionGlass = 4,\r\n DrawerCycleTimes = 5,\r\n SpindleCurrent = 6,\r\n Temperatures = 8,\r\n\r\n // Care: Events\r\n ErrorCount = 13,\r\n WarningCount = 14,\r\n ErrorCountBySource = 15,\r\n WarningCountBySource = 16,\r\n\r\n // Care: Cutting Head\r\n DrawerChanges = 21,\r\n PDValues = 22,\r\n CuttingHeadTemperatures = 23,\r\n CuttingHeadDrawerCycleTimes = 26,\r\n\r\n // Care: Laser consumption\r\n UsedKWh = 24,\r\n UsedKWhOfMultiple = 25,\r\n}\r\n\r\nexport enum AlertOperator {\r\n None = 0,\r\n GreaterThan = 1,\r\n LessThan = 2,\r\n Equal = 3,\r\n}\r\n\r\n/** @deprecated At the moment, always uses valueType like numeric */\r\nexport enum AlertValueType {\r\n Numeric = 1,\r\n String = 2,\r\n}\r\n\r\nexport interface AlertKPI {\r\n /** @deprecated At the moment, always uses valueType like numeric */\r\n valueType: AlertValueType;\r\n kpi: AlertMetric;\r\n console: ConsoleEnum;\r\n unit: string;\r\n variableValues: string[] | null;\r\n}\r\n\r\nexport interface AlertKPIGroup {\r\n name: string;\r\n alertKpis: AlertKPI[];\r\n}\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"modal-card detailed events-table-expanded-view\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(_vm._s(_vm.$t('report.events')))]),_c('widget-help',{attrs:{\"widget\":_vm.eventsTableWidgetDefinition.widget}})],1),_c('div',{staticClass:\"modal-card-body\"},[_c('controlled-sidebar',{attrs:{\"open\":_vm.isSideBarEnabled && !!_vm.selectedEvent,\"expandable\":\"\"},on:{\"close\":_vm.onSidebarClose},scopedSlots:_vm._u([{key:\"sidebar\",fn:function(){return [(!_vm.isNil(_vm.selectedEvent))?_c('event-details',{attrs:{\"event\":_vm.selectedEvent}}):_vm._e()]},proxy:true}])},[_c('div',{staticClass:\"filter\"},[_c('date-time-range-picker',{attrs:{\"granularity\":_vm.dateTimeRangePickerGranularity},model:{value:(_vm.dateRangeSelection),callback:function ($$v) {_vm.dateRangeSelection=$$v},expression:\"dateRangeSelection\"}}),_c('date-grouping-filter',{attrs:{\"hasNoneOption\":\"\",\"hasHourOption\":\"\"},model:{value:(_vm.selectedDateGrouping),callback:function ($$v) {_vm.selectedDateGrouping=$$v},expression:\"selectedDateGrouping\"}}),_c('event-module-filter',{model:{value:(_vm.selectedEventModules),callback:function ($$v) {_vm.selectedEventModules=$$v},expression:\"selectedEventModules\"}}),_c('event-type-filter',{model:{value:(_vm.selectedEventTypes),callback:function ($$v) {_vm.selectedEventTypes=$$v},expression:\"selectedEventTypes\"}}),_c('event-codes-filter',{model:{value:(_vm.selectedEventCodes),callback:function ($$v) {_vm.selectedEventCodes=$$v},expression:\"selectedEventCodes\"}})],1),_c('widget-container',{attrs:{\"widgetDefinition\":_vm.eventsTableWidgetDefinition,\"autorefresh\":false},scopedSlots:_vm._u([{key:\"default\",fn:function({ data, loading }){return [_c('events-table',{class:{ clickable: _vm.isSideBarEnabled },attrs:{\"pagedEvents\":data,\"deviceId\":_vm.deviceId,\"dateRange\":_vm.dateRangeString,\"dateGrouping\":_vm.dateGrouping,\"modules\":_vm.selectedEventModules,\"eventTypes\":_vm.selectedEventTypes,\"eventCodes\":_vm.selectedEventCodes,\"defaultSortField\":_vm.defaultSortField,\"defaultSortOrder\":_vm.defaultSortOrder,\"rows-per-page\":25,\"loading\":loading},on:{\"page-change\":function($event){_vm.page = $event},\"click\":function($event){_vm.selectedEvent = $event},\"sort\":_vm.onSort}})]}}])})],1)],1),_c('div',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"label\":_vm.$t('action.close')},on:{\"click\":function($event){return _vm.$emit('close')}}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\n// We can't have it in DateTimeRangePicker.vue because unit tests fails to import it.\n\nexport enum DateTimeGranularity {\n SECONDS = 'seconds',\n HOURS = 'hours',\n DAYS = 'days',\n MONTHS = 'months',\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-dropdown',{ref:\"dropdown\",staticClass:\"date-time-range-picker\",attrs:{\"position\":\"is-bottom-left\",\"can-close\":_vm.canCloseRangeDropdown,\"aria-role\":\"dialog\",\"trigger-tabindex\":-1},on:{\"active-change\":function($event){return _vm.onDropdownOpenStatusChanged($event)}},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('b-input',{staticClass:\"trigger\",attrs:{\"autocomplete\":\"off\",\"value\":_vm.formattedValue,\"placeholder\":_vm.$t('date_time_range_picker.placeholder'),\"size\":\"is-small\",\"icon\":\"calendar-range\",\"readonly\":\"\",\"use-html5-validation\":false}})]},proxy:true}])},[_c('b-dropdown-item',{attrs:{\"focusable\":false,\"custom\":\"\",\"paddingless\":\"\"}},[_c('validation-observer',{ref:\"validationObserver\",staticClass:\"dropdown-content-wrapper\",scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit, invalid }){return [_c('validation-provider',{ref:\"startDateTimeValidationProvider\",attrs:{\"vid\":\"startDateTime\",\"rules\":_vm.validationRules.startDateTime,\"name\":\"date_time_range_picker.start_label\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, touched }){return [_c('b-field',{attrs:{\"label\":_vm.$t('date_time_range_picker.start_label'),\"label-for\":`start-date-time-${_vm.componentId}`,\"type\":{ 'is-danger': errors[0] && touched },\"horizontal\":\"\"}},[_c('b-datetimepicker',{ref:\"startDateTimePicker\",staticClass:\"start-date-time date-time-picker\",class:_vm.granularityCSSClasses,attrs:{\"placeholder\":_vm.$t('date_time_range_picker.start_placeholder'),\"icon\":\"calendar-today\",\"datepicker\":{\n id: `start-date-time-${_vm.componentId}`,\n 'nearby-selectable-month-days': true,\n },\"timepicker\":{ enableSeconds: _vm.hasSeconds },\"size\":\"is-small\",\"mobile-native\":false},on:{\"input\":function($event){return _vm.resetValidation()},\"active-change\":function($event){return _vm.onDateTimePickerDropdownOpenStatusChanged($event)}},model:{value:(_vm.startDateTime),callback:function ($$v) {_vm.startDateTime=$$v},expression:\"startDateTime\"}})],1)]}}],null,true)}),_c('validation-provider',{ref:\"endDateTimeValidationProvider\",attrs:{\"vid\":\"endDateTime\",\"rules\":_vm.validationRules.endDateTime,\"name\":\"date_time_range_picker.end_label\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, touched }){return [_c('b-field',{attrs:{\"label\":_vm.$t('date_time_range_picker.end_label'),\"label-for\":`end-date-time-${_vm.componentId}`,\"type\":{ 'is-danger': errors[0] && touched },\"horizontal\":\"\"}},[_c('b-datetimepicker',{ref:\"endDateTimePicker\",staticClass:\"end-date-time date-time-picker\",class:_vm.granularityCSSClasses,attrs:{\"placeholder\":_vm.$t('date_time_range_picker.end_placeholder'),\"icon\":\"calendar-today\",\"datepicker\":{\n id: `end-date-time-${_vm.componentId}`,\n 'nearby-selectable-month-days': true,\n },\"timepicker\":{ enableSeconds: _vm.hasSeconds },\"size\":\"is-small\",\"mobile-native\":false},on:{\"input\":function($event){return _vm.resetValidation()},\"active-change\":function($event){return _vm.onDateTimePickerDropdownOpenStatusChanged($event)}},model:{value:(_vm.endDateTime),callback:function ($$v) {_vm.endDateTime=$$v},expression:\"endDateTime\"}})],1)]}}],null,true)}),(invalid)?_c('div',{staticClass:\"help is-danger\"},[_vm._v(\" \"+_vm._s(_vm.$t('date_time_range_picker.start_before_end_validation_error'))+\" \")]):_vm._e(),_c('div',{staticClass:\"actions\"},[_c('b-button',{attrs:{\"type\":\"is-success\",\"disabled\":invalid,\"size\":\"is-small\"},on:{\"click\":function($event){$event.preventDefault();return handleSubmit(_vm.onAcceptClicked)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.accept'))+\" \")])],1)]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Ref, Vue, Watch } from 'vue-property-decorator';\nimport { isNil, uniqueId } from '@/utils/misc';\nimport { DateTimeFormatOptions } from 'vue-i18n';\nimport { ValidationObserver, ValidationProvider, extend } from 'vee-validate';\nimport moment from 'moment';\nimport i18n from '@/i18n';\nimport { DateTimeGranularity } from '@/components/common/dateTimeRangePicker/DateTimeGranularity';\n\nconst MINUTES_FIELD_SELECTOR = '.timepicker .control:nth-child(3) select';\n\n@Component({\n components: {\n ValidationObserver,\n ValidationProvider,\n },\n})\nexport default class DateTimeRangePicker extends Vue {\n @Prop({ default: null })\n private value!: [Date | null, Date | null] | null;\n\n @Prop({ default: DateTimeGranularity.SECONDS })\n private granularity!: DateTimeGranularity;\n\n private startDateTime: Date | null = null;\n private endDateTime: Date | null = null;\n\n private canCloseRangeDropdown = true;\n\n @Ref('validationObserver')\n private validationObserver: any;\n\n @Ref('startDateTimeValidationProvider')\n private startDateTimeValidationProvider: any;\n\n @Ref('endDateTimeValidationProvider')\n private endDateTimeValidationProvider: any;\n\n @Ref('startDateTimePicker')\n private startDateTimePicker: any;\n\n @Ref('endDateTimePicker')\n private endDateTimePicker: any;\n\n private componentId = uniqueId();\n\n private get validationRules() {\n return {\n startDateTime: {\n required: true,\n start_before_end: '@endDateTime',\n },\n endDateTime: {\n required: true,\n end_after_start: '@startDateTime',\n },\n };\n }\n\n @Ref('dropdown')\n private dropdown: any;\n\n // immediate so we don't have to update from mounted\n @Watch('value', { immediate: true })\n private updateStartAndEndFields() {\n this.startDateTime = this.value?.[0] ?? null;\n this.endDateTime = this.value?.[1] ?? null;\n }\n\n // immediate so we don't have to update from mounted\n @Watch('granularity', { immediate: true })\n enableDisableMinutesFields() {\n this.$nextTick(() => {\n this.updateMinutesFieldDisabledStatus(this.startDateTimePicker);\n this.updateMinutesFieldDisabledStatus(this.endDateTimePicker);\n });\n }\n\n private updateMinutesFieldDisabledStatus(dateTimePickerComponent: any) {\n const selectElement = dateTimePickerComponent.$el.querySelector(MINUTES_FIELD_SELECTOR);\n\n if (this.hasMinutes) {\n selectElement.removeAttribute('disabled');\n } else {\n selectElement.setAttribute('disabled', 'disabled');\n }\n }\n\n private get formattedValue(): string | null {\n if (isNil(this.value)) {\n return null;\n }\n\n return this.value\n .map((date) =>\n isNil(date) ? i18n.t('date_time_range_picker.unset') : this.formatDateTime(date!),\n )\n .join(' - ');\n }\n\n private formatDateTime(date: Date) {\n const formatOptions: DateTimeFormatOptions = {\n year: 'numeric',\n month: 'numeric',\n day: 'numeric',\n\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n };\n return new Intl.DateTimeFormat(undefined, formatOptions).format(date);\n }\n\n private onAcceptClicked() {\n this.$emit('input', [this.startDateTime, this.endDateTime]);\n this.dropdown.toggle();\n }\n\n private onDropdownOpenStatusChanged(isOpen: boolean) {\n if (!isOpen) {\n // Reset the fields back to their initial values. Otherwise, if they've\n // been changed, they'll preserve the same values when the dropdown is\n // opened again.\n this.updateStartAndEndFields();\n this.validationObserver.reset();\n }\n }\n\n private onDateTimePickerDropdownOpenStatusChanged(isOpen: boolean) {\n // To avoid the range dropdown being closed when clicking outside a\n // date-time picker modal, we disable closing it while a selector dropdown\n // is open.\n this.canCloseRangeDropdown = !isOpen;\n }\n\n /**\n * Resets the fields validation so only one field is marked as invalid.\n *\n * We need to do this because, in the way the rules are defined, when a field\n * validation fails, the other also does. So, to avoid the two fields being\n * marked as invalid, when we modify one, we reset the validation.\n *\n * @private\n */\n private resetValidation() {\n // The $nextTick is needed, don't bother looking for it in the documentation ¬¬\n this.$nextTick(() => this.validationObserver.reset());\n }\n\n get granularityCSSClasses(): Record {\n return {\n 'has-time': this.hasTime,\n 'has-calendar': this.hasCalendar,\n };\n }\n\n get hasCalendar(): boolean {\n return [\n DateTimeGranularity.HOURS,\n DateTimeGranularity.SECONDS,\n DateTimeGranularity.DAYS,\n DateTimeGranularity.MONTHS,\n ].includes(this.granularity);\n }\n\n get hasTime(): boolean {\n return [DateTimeGranularity.HOURS, DateTimeGranularity.SECONDS].includes(this.granularity);\n }\n\n get hasMinutes(): boolean {\n return this.hasSeconds;\n }\n\n get hasSeconds(): boolean {\n return this.granularity === DateTimeGranularity.SECONDS;\n }\n}\n\nextend('start_before_end', {\n params: ['endDateTime'],\n validate(value: Date, { endDateTime }: Record) {\n return isNil(endDateTime) || moment(value).isBefore(endDateTime);\n },\n message: i18n.t('date_time_range_picker.start_before_end_validation_error').toString(),\n});\n\nextend('end_after_start', {\n params: ['startDateTime'],\n validate(value: Date, { startDateTime }: Record) {\n return isNil(startDateTime) || moment(value).isAfter(startDateTime);\n },\n message: i18n.t('date_time_range_picker.end_after_start_validation_error').toString(),\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateTimeRangePicker.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateTimeRangePicker.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DateTimeRangePicker.vue?vue&type=template&id=3af0e5a6&scoped=true\"\nimport script from \"./DateTimeRangePicker.vue?vue&type=script&lang=ts\"\nexport * from \"./DateTimeRangePicker.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DateTimeRangePicker.vue?vue&type=style&index=0&id=3af0e5a6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3af0e5a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"event-details\"},[_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-field',{staticClass:\"title-field\",attrs:{\"label\":_vm.$t('report.errors_and_warnings_table.code'),\"label-for\":\"code\"}},[_c('b-input',{attrs:{\"id\":\"code\",\"readonly\":\"\",\"value\":_vm.event.errorCode}})],1),_c('b-field',{staticClass:\"title-field\",attrs:{\"label\":_vm.$t('report.errors_and_warnings_table.time'),\"label-for\":\"time\"}},[_c('b-input',{attrs:{\"id\":\"time\",\"readonly\":\"\",\"value\":_vm.formatDate(_vm.event.timestamp)}})],1)],1),_c('b-collapse',{attrs:{\"animation\":\"slide\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return [_c('div',{staticClass:\"accordion-trigger\",attrs:{\"role\":\"button\"}},[_c('h3',{staticClass:\"section-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('report.errors_and_warnings_table.details'))+\" \")]),_c('b-icon',{attrs:{\"icon\":props.open ? 'menu-up' : 'menu-down'}})],1)]}}])},[_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-field',{attrs:{\"label\":_vm.$t('report.errors_and_warnings_table.module'),\"label-for\":\"module\"}},[_c('b-input',{attrs:{\"id\":\"module\",\"readonly\":\"\",\"value\":_vm.event.messageModule}})],1),_c('b-field',{attrs:{\"label\":_vm.$t('report.errors_and_warnings_table.type'),\"label-for\":\"type\"}},[_c('b-input',{attrs:{\"id\":\"type\",\"readonly\":\"\",\"value\":_vm.$t(`report.${_vm.event.messageLevel.toLowerCase()}`)}})],1)],1),_c('b-field',{attrs:{\"label\":_vm.$t('report.errors_and_warnings_table.description'),\"label-for\":\"description\"}},[_c('b-input',{attrs:{\"id\":\"description\",\"readonly\":\"\",\"value\":_vm.event.description}})],1),_c('b-field',{attrs:{\"label\":_vm.$t('report.errors_and_warnings_table.cause'),\"label-for\":\"cause\"}},[_c('b-input',{attrs:{\"id\":\"cause\",\"readonly\":\"\",\"type\":\"textarea\",\"value\":_vm.event.cause}})],1),_c('b-field',{attrs:{\"label\":_vm.$t('report.errors_and_warnings_table.solution'),\"label-for\":\"solution\"}},[_c('b-input',{attrs:{\"id\":\"solution\",\"readonly\":\"\",\"type\":\"textarea\",\"value\":_vm.event.solution}})],1)],1),(_vm.hasDecisionTree)?_c('b-collapse',{staticClass:\"decision-tree-section\",attrs:{\"open\":false,\"animation\":\"slide\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return [_c('div',{staticClass:\"accordion-trigger\",attrs:{\"role\":\"button\"}},[_c('h3',{staticClass:\"section-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('report.errors_and_warnings_table.decision_tree'))+\" \")]),_c('b-icon',{attrs:{\"icon\":props.open ? 'menu-up' : 'menu-down'}})],1)]}}],null,false,2608737604)},[_c('b-field',{attrs:{\"horizontal\":\"\",\"label\":_vm.$t('report.errors_and_warnings_table.decision_tree_id'),\"label-for\":\"decision-tree-id\"}},[_c('b-input',{ref:\"decisionTreeId\",attrs:{\"id\":\"decision-tree-id\",\"value\":_vm.decisionTreeId}}),_c('p',{staticClass:\"control\"},[_c('b-button',{staticClass:\"button is-success\",on:{\"click\":_vm.onManualDecisionTreeUpdate}},[_vm._v(\" \"+_vm._s(_vm.$t('report.apply'))+\" \")])],1)],1),_c('iframe',{staticClass:\"decision-tree\",attrs:{\"src\":`https://zingtree.com/deploy/tree.php?z=embed&tree_id=${_vm.decisionTreeId}`}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { EventData } from '@/models/Charts/chartsData';\nimport moment from 'moment';\nimport { isNil, loadScript } from '@/utils/misc';\n\nconst DECISION_TREE_MARKER = 'decision tree tool';\n\n@Component({\n methods: { isNil },\n})\nexport default class EventDetails extends Vue {\n @Prop({ required: true })\n private event!: EventData;\n\n private decisionTreeId: number | null = null;\n\n private mounted() {\n loadScript('https://zingtree.com/js/iframeResizerSmart.js');\n }\n\n @Watch('event', { immediate: true })\n private updateDecisionTreeId() {\n this.decisionTreeId = this.getDecisionTreeId();\n }\n\n private onManualDecisionTreeUpdate() {\n this.decisionTreeId = parseInt((this.$refs.decisionTreeId! as any).newValue, 10);\n }\n\n private get hasDecisionTree(): boolean {\n return this.event.solution.includes(DECISION_TREE_MARKER);\n }\n\n private getDecisionTreeId(): number | null {\n const matches = this.event.solution.match(/ID_(\\d{9})/);\n if (matches === null) {\n return null;\n }\n return parseInt(matches[matches.length - 1], 10);\n }\n\n private formatDate(isoDate: string) {\n return moment(isoDate).format('YYYY-MM-DD, HH:mm:ss');\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventDetails.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventDetails.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./EventDetails.vue?vue&type=template&id=5ee57a2b&scoped=true\"\nimport script from \"./EventDetails.vue?vue&type=script&lang=ts\"\nexport * from \"./EventDetails.vue?vue&type=script&lang=ts\"\nimport style0 from \"./EventDetails.vue?vue&type=style&index=0&id=5ee57a2b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5ee57a2b\",\n null\n \n)\n\nexport default component.exports","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport WidgetDefinition, { ParamValues } from '@/models/Charts/widgetDefinition';\nimport ControlledSidebar from '@/components/ControlledSidebar.vue';\nimport { EventData, ImportantMessageLevel } from '@/models/Charts/chartsData';\nimport moment, { Moment } from 'moment';\nimport { isEmpty, isNil } from '@/utils/misc';\nimport DateGroupingFilter from '../DateGroupingFilter.vue';\nimport EventTypeFilter from '../EventTypeFilter.vue';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { Logger } from '@/utils/logger';\nimport DateTimeRangePicker from '@/components/common/dateTimeRangePicker/DateTimeRangePicker.vue';\nimport { DateTimeGranularity } from '@/components/common/dateTimeRangePicker/DateTimeGranularity';\nimport EventModuleFilter from '../EventModuleFilter.vue';\nimport EventDetails from '@/components/careConsole/EventDetails.vue';\nimport { usersService } from '@/services/users.service';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport WidgetHelp from '@/components/Charts/WidgetHelp.vue';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport EventCodesFilter from '@/components/EventCodesFilter.vue';\nimport { UserType } from '@/models/userType';\nimport { defaultDateRange } from '@/views/careConsole/commons/utils';\nimport WidgetContainer from '@/components/Charts/widgetContainer/WidgetContainer.vue';\nimport { SortOrder } from '@/models/enums/SortOrder';\n\n@Component({\n computed: {\n WidgetEnum: () => WidgetEnum,\n },\n methods: { isNil },\n components: {\n WidgetContainer,\n WidgetHelp,\n EventDetails,\n DateTimeRangePicker,\n ControlledSidebar,\n EventModuleFilter,\n EventTypeFilter,\n EventCodesFilter,\n // Lazy load to avoid recursion issues (we open this component from EventsTable).\n 'events-table': () => import('@/components/careConsole/EventsTable.vue'),\n DateGroupingFilter,\n },\n})\nexport default class EventsTableExpandedView extends Vue {\n @Prop({ required: true })\n private deviceId!: string;\n\n @Prop({ required: true })\n private selectedTimeFilter!: [string, string];\n\n @Prop({ required: true })\n private dateGrouping!: FilterTimeAxisSpanEnum;\n\n @Prop({ default: 'timestamp' })\n private defaultSortField!: string;\n\n @Prop({ default: SortOrder.Descending })\n private defaultSortOrder!: SortOrder;\n\n // Used when opened from the table's expand button\n @Prop({ default: () => ({}) })\n private paramValues!: ParamValues;\n\n // Used when opened by double-clicking a chart's data point\n @Prop()\n private widgetDefinition?: WidgetDefinition;\n\n // Used when opened by double-clicking a chart's data point\n @Prop()\n private module?: string;\n\n // Used when opened by double-clicking a chart's data point\n @Prop()\n private timestamp?: string;\n\n private page = 1;\n private selectedEvent: EventData | null = null;\n\n // We need these three initialized to null instead of to a safe value\n // ([] for example). Otherwise, EventsTable.onFilterChanged watcher is\n // triggered for each one when mounted. First for the initial value, then for\n // the final value set here on mounted.\n private dateRangeSelection: [Date, Date] | null = null;\n private selectedDateGrouping: FilterTimeAxisSpanEnum = FilterTimeAxisSpanEnum.None;\n private selectedEventModules: string[] | null = null;\n private selectedEventTypes: ImportantMessageLevel[] | null = null;\n private selectedEventCodes: string[] | null = null;\n private sortField = 'timestamp';\n private sortOrder: SortOrder = SortOrder.Descending;\n\n private mounted() {\n this.dateRangeSelection = this.getDateRangeSelection();\n this.selectedDateGrouping = this.dateGrouping;\n this.selectedEventModules = this.getSelectedEventModules();\n this.selectedEventTypes = this.getSelectedEventTypes();\n this.selectedEventCodes = this.getSelectedEventCodes();\n this.sortField = this.defaultSortField;\n this.sortOrder = this.defaultSortOrder;\n }\n\n private get eventsTableWidgetDefinition(): WidgetDefinition {\n const customerIdDh = this.$route.params.tenantIdDh\n ? +this.$route.params.tenantIdDh\n : +this.$route.params.customerIdDh;\n\n return new WidgetDefinition(\n WidgetEnum.EventsTableExpandedView,\n this.deviceId,\n [this.dateRangeString[0], this.dateRangeString[1]],\n [],\n undefined,\n this.selectedDateGrouping,\n undefined,\n {\n customerIdDh,\n modules: this.selectedEventModules,\n eventTypes: this.selectedEventTypes,\n eventCodes: this.selectedEventCodes,\n page: this.page,\n rowsPerPage: 25,\n sortField: this.sortField,\n sortOrder: this.sortOrder,\n },\n )\n .hideTitle()\n .hideInfo();\n }\n\n private getDateRangeSelection(): [Date, Date] {\n if (this.isOpenedFromChartDoubleClick()) {\n return this.parseTimestampProp();\n } else {\n return [\n moment(this.selectedTimeFilter[0]).toDate(),\n moment(this.selectedTimeFilter[1]).endOf('day').toDate(),\n ];\n }\n }\n\n private getSelectedEventModules(): string[] {\n if (this.module) {\n return [this.module];\n }\n if (!isEmpty(this.paramValues.eventModules)) {\n return this.paramValues.eventModules as string[];\n }\n if (!isEmpty(this.widgetDefinition?.paramValues.eventModules)) {\n return this.widgetDefinition?.paramValues.eventModules as string[];\n }\n return [];\n }\n\n private getSelectedEventTypes(): ImportantMessageLevel[] {\n if (!isEmpty(this.paramValues.eventTypes)) {\n return this.paramValues.eventTypes as ImportantMessageLevel[];\n }\n if (!isEmpty(this.widgetDefinition?.paramValues.eventTypes)) {\n return this.widgetDefinition?.paramValues.eventTypes as ImportantMessageLevel[];\n }\n return [];\n }\n\n private getSelectedEventCodes(): string[] {\n if (!isEmpty(this.paramValues.eventCodes)) {\n return this.paramValues.eventCodes as string[];\n }\n if (!isEmpty(this.widgetDefinition?.paramValues.eventCodes)) {\n return this.widgetDefinition?.paramValues.eventCodes as string[];\n }\n return [];\n }\n\n private onSort(sortField: string, sortOrder: SortOrder) {\n this.sortField = sortField;\n this.sortOrder = sortOrder;\n }\n\n private get dateRangeString(): [string, string] {\n if (isNil(this.dateRangeSelection)) {\n return [defaultDateRange()[0].toISOString(), defaultDateRange()[1].toISOString()];\n }\n\n return [this.dateRangeSelection[0].toISOString(), this.dateRangeSelection[1].toISOString()];\n }\n\n private parseTimestampProp(): [Date, Date] {\n const momentDate = this.timestampStringToMoment(this.timestamp!);\n\n if (!momentDate.isValid()) {\n // This should never happen\n Logger.error('Invalid data point timestamp format: ', this.timestamp);\n throw Error(`Invalid data point timestamp format: ${this.timestamp}`);\n }\n\n const f = (m: moment.Moment) => m.toDate();\n\n const unitOfTime = FilterTimeAxisSpanEnum[\n this.widgetDefinition!.axisSpan!\n ].toLowerCase() as moment.unitOfTime.StartOf;\n return [f(momentDate.startOf(unitOfTime)), f(momentDate.endOf(unitOfTime))];\n }\n\n private timestampStringToMoment(ts: string): Moment {\n return this.isQuarterDate(ts) ? moment(ts, 'YYYY-[Q]Q', true) : moment(ts, undefined, true);\n }\n\n private isQuarterDate(timestampString: string): boolean {\n return timestampString.toLowerCase().includes('q');\n }\n\n private onSidebarClose() {\n this.selectedEvent = null;\n }\n\n private isOpenedFromChartDoubleClick() {\n return !isNil(this.timestamp);\n }\n\n private get isSideBarEnabled(): boolean {\n return this.console === ConsoleEnum.Care;\n }\n\n private get console(): ConsoleEnum {\n const user = usersService.store.current();\n\n if (user.isServiceUserType) {\n return ConsoleEnum.Care;\n } else if (user.isTechnologyUser) {\n return ConsoleEnum.Technology;\n }\n\n throw new Error(\n `The user should be eService center or Technology console user: ${UserType[user!.userType]}`,\n );\n }\n\n private get dateTimeRangePickerGranularity(): DateTimeGranularity {\n switch (this.selectedDateGrouping) {\n case FilterTimeAxisSpanEnum.None:\n return DateTimeGranularity.SECONDS;\n case FilterTimeAxisSpanEnum.Hour:\n return DateTimeGranularity.HOURS;\n case FilterTimeAxisSpanEnum.Day:\n case FilterTimeAxisSpanEnum.Week:\n return DateTimeGranularity.DAYS;\n case FilterTimeAxisSpanEnum.Month:\n case FilterTimeAxisSpanEnum.Quarter:\n case FilterTimeAxisSpanEnum.Year:\n return DateTimeGranularity.MONTHS;\n default:\n return DateTimeGranularity.SECONDS;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventsTableExpandedView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventsTableExpandedView.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./EventsTableExpandedView.vue?vue&type=template&id=657310b6&scoped=true\"\nimport script from \"./EventsTableExpandedView.vue?vue&type=script&lang=ts\"\nexport * from \"./EventsTableExpandedView.vue?vue&type=script&lang=ts\"\nimport style0 from \"./EventsTableExpandedView.vue?vue&type=style&index=0&id=657310b6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"657310b6\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutDropdown.vue?vue&type=style&index=0&id=53dbabe4&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsMenu.vue?vue&type=style&index=0&id=669b64c4&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationCard.vue?vue&type=style&index=0&id=7086bd3f&prod&lang=scss&scoped=true\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-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=style&index=0&id=608bba96&prod&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_vm.hidden)?_c('div',{staticClass:\"table-action-button2\"},[_c('b-tooltip',{staticClass:\"desktop\",attrs:{\"label\":_vm.title,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('action-bubble',{staticClass:\"table-action\",attrs:{\"active\":!_vm.isNil(_vm.bubble),\"label\":_vm.bubble,\"type\":_vm.bubbleType},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click', $event)}}},[_c('b-button',{attrs:{\"icon-left\":_vm.icon,\"icon-pack\":_vm.iconPack,\"disabled\":_vm.disabled,\"type\":\"is-ghost\"}})],1)],1),_c('div',{staticClass:\"mobile\"},[(_vm.shouldUseMenu)?_c('b-dropdown-item',{staticClass:\"table-action\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('action-bubble',{attrs:{\"active\":!_vm.isNil(_vm.bubble),\"label\":_vm.bubble,\"type\":_vm.bubbleType}},[_c('b-icon',{attrs:{\"icon\":_vm.icon,\"pack\":_vm.iconPack}})],1),_vm._v(\" \"+_vm._s(_vm.title)+\" \")],1):_c('b-button',{staticClass:\"table-action single-action-button\",on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('action-bubble',{attrs:{\"active\":!_vm.isNil(_vm.bubble),\"label\":_vm.bubble,\"type\":_vm.bubbleType}},[_c('b-icon',{attrs:{\"icon\":_vm.icon,\"pack\":_vm.iconPack}})],1),_vm._v(\" \"+_vm._s(_vm.title)+\" \")],1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, InjectReactive, Prop, Vue } from 'vue-property-decorator';\nimport { isNil } from '@/utils/misc';\nimport ActionBubble, { BubbleType } from '../ActionBubble.vue';\n\n@Component({\n components: {\n ActionBubble,\n },\n methods: {\n isNil,\n },\n})\nexport default class TableActionButton2 extends Vue {\n @Prop({ required: true })\n private icon!: string;\n\n @Prop({ required: true })\n private title!: string;\n\n @Prop({ default: 'mdi' })\n private iconPack!: string;\n\n @Prop({ default: false, type: Boolean })\n private disabled!: boolean;\n\n @Prop({ default: false, type: Boolean })\n public hidden!: boolean;\n\n @Prop()\n private bubble?: string;\n\n @Prop({ default: 'is-info' })\n private bubbleType!: BubbleType;\n\n @InjectReactive()\n private shouldUseMenu!: boolean;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableActionButton2.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableActionButton2.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TableActionButton2.vue?vue&type=template&id=746fdb77&scoped=true\"\nimport script from \"./TableActionButton2.vue?vue&type=script&lang=ts\"\nexport * from \"./TableActionButton2.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TableActionButton2.vue?vue&type=style&index=0&id=746fdb77&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"746fdb77\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BendLayout.vue?vue&type=style&index=0&id=5bc47576&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Devices.vue?vue&type=style&index=0&id=58b173a3&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceViewSwitch.vue?vue&type=style&index=0&id=765a70d6&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerAlerts.vue?vue&type=style&index=0&id=d9b1648c&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Manufacturing.vue?vue&type=style&index=0&id=5348373a&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport moment from 'moment';\nimport { EChartsOption } from 'echarts';\nimport { getColor } from '@/utils/color';\nimport { QuotesAbcCustomersData } from './chartsData';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockQuotesAbcCustomersData } from './mockWidgetSelectorData';\nimport { GeneratorParams } from './generatorParams';\nimport { metricsService } from '@/services/metrics.service';\n\nexport enum CustomerFilter {\n All = 'all',\n New = 'new',\n BestRates = 'best_rates',\n WorstRates = 'worst_rates',\n Overdue = 'overdue',\n}\n\nexport default abstract class QuotesAbcCustomersGenerator extends ChartGenerator<\n QuotesAbcCustomersData[]\n> {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n { date: moment().format('YYYY-MM-DD'), startDate, endDate },\n this.controller,\n );\n }\n\n override updateOptions(\n data: QuotesAbcCustomersData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const filter = this.getCustomerFilter(parameters.customerFilter ?? CustomerFilter.All);\n const mappedData = ['A', 'B', 'C'].map((category, i) => {\n const entries = data.filter((entry) => entry.category === category && filter(entry));\n return {\n value: entries.map((entry) => entry.converted_amount).reduce((a, b) => a + b, 0),\n name: category,\n path: category,\n itemStyle: {\n color: getColor(i, 0),\n },\n children: entries.map((entry) => ({\n value: entry.converted_amount,\n name: entry.name,\n selection: {\n id: entry.no_,\n name: entry.name,\n },\n path: `${category}/${entry.name}`,\n })),\n };\n });\n return {\n title: {\n show: false,\n },\n series: [\n {\n name: '/',\n type: 'treemap',\n leafDepth: 3,\n breadcrumb: {\n show: true,\n top: 0,\n bottom: 'auto',\n },\n itemStyle: {\n borderColor: '#fff',\n },\n levels: [\n {\n itemStyle: {\n borderWidth: 0,\n gapWidth: 5,\n },\n },\n {\n itemStyle: {\n gapWidth: 1,\n },\n },\n {\n colorSaturation: [0.35, 0.5],\n itemStyle: {\n gapWidth: 1,\n borderColorSaturation: 0.6,\n },\n },\n ],\n data: mappedData,\n },\n ],\n };\n }\n\n override getMockData(): QuotesAbcCustomersData[] | null {\n return mockQuotesAbcCustomersData();\n }\n\n private getCustomerFilter(filter: CustomerFilter): (d: QuotesAbcCustomersData) => boolean {\n switch (filter) {\n case CustomerFilter.New:\n return (d) => d.new_customer;\n case CustomerFilter.BestRates:\n return (d) => d.conversion_rate > 0.75;\n case CustomerFilter.WorstRates:\n return (d) => d.conversion_rate < 0.25;\n case CustomerFilter.Overdue:\n return (d) => d.overdue;\n case CustomerFilter.All:\n default:\n return () => true;\n }\n }\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-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=style&index=0&id=7b217849&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport WidgetDefinition, { deserializeWidgetDefinition } from '@/models/Charts/widgetDefinition';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { WidgetEnum } from '../enums/WidgetEnum';\nimport { LayoutSlot, TOTAL_COLUMNS, TOTAL_ROWS } from '@/views/dashboard/layout-grid';\n\n// Rows by columns\nexport enum DashboardLayout {\n OneByOne = 1,\n OneByTwo = 2,\n TwoByTwo = 3,\n TwoByThree = 4,\n BCOverviewLike = 5, // One 2x2 widget on the left, two 1x1 widgets on the right\n InvertedBCOverviewLike = 6, // One 2x2 widget on the right, two 1x1 widgets on the left\n TwoByOne = 7, // Two rows, one column\n TwoByThreeMergeTopRight = 8,\n TwoByThreeMergeTopLeft = 9,\n TwoByThreeMergeBottomRight = 10,\n TwoByThreeMergeRight = 11,\n TwoByThreeMergeLeft = 12,\n TwoByThreeAlternatingDoubleSingle = 13,\n}\n\nexport const availableDashboardLayouts: Record = {\n // Not all possible constants have been used because it ends up looking\n // cumbersome. However, if you think some way or another is better, feel free\n // to add more or remove the ones used.\n [DashboardLayout.OneByOne]: [{ column: 0, row: 0, width: TOTAL_COLUMNS, height: TOTAL_ROWS }],\n [DashboardLayout.OneByTwo]: [\n { column: 0, row: 0, width: 6, height: TOTAL_ROWS },\n { column: 6, row: 0, width: 6, height: TOTAL_ROWS },\n ],\n [DashboardLayout.TwoByTwo]: [\n { column: 0, row: 0, width: 6, height: TOTAL_ROWS / 2 },\n { column: 6, row: 0, width: 6, height: TOTAL_ROWS / 2 },\n { column: 0, row: 4, width: 6, height: TOTAL_ROWS / 2 },\n { column: 6, row: 4, width: 6, height: TOTAL_ROWS / 2 },\n ],\n [DashboardLayout.TwoByThree]: [\n { column: 0, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 4, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 8, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 0, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n { column: 4, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n { column: 8, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n ],\n [DashboardLayout.BCOverviewLike]: [\n { column: 0, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 0, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n { column: 4, row: 0, width: 8, height: TOTAL_ROWS },\n ],\n [DashboardLayout.InvertedBCOverviewLike]: [\n { column: 0, row: 0, width: 8, height: TOTAL_ROWS },\n { column: 8, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 8, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n ],\n [DashboardLayout.TwoByOne]: [\n { column: 0, row: 0, width: TOTAL_COLUMNS, height: TOTAL_ROWS / 2 },\n { column: 0, row: 4, width: TOTAL_COLUMNS, height: TOTAL_ROWS / 2 },\n ],\n [DashboardLayout.TwoByThreeMergeTopRight]: [\n { column: 0, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 4, row: 0, width: 8, height: TOTAL_ROWS / 2 },\n { column: 0, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n { column: 4, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n { column: 8, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n ],\n [DashboardLayout.TwoByThreeMergeTopLeft]: [\n { column: 0, row: 0, width: 8, height: TOTAL_ROWS / 2 },\n { column: 8, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 0, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n { column: 4, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n { column: 8, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n ],\n [DashboardLayout.TwoByThreeMergeBottomRight]: [\n { column: 0, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 4, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 8, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 0, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n { column: 4, row: 4, width: 8, height: TOTAL_ROWS / 2 },\n ],\n [DashboardLayout.TwoByThreeMergeRight]: [\n { column: 0, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 4, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 8, row: 0, width: 4, height: TOTAL_ROWS },\n { column: 0, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n { column: 4, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n ],\n [DashboardLayout.TwoByThreeMergeLeft]: [\n { column: 0, row: 0, width: 4, height: TOTAL_ROWS },\n { column: 4, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 8, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 4, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n { column: 8, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n ],\n [DashboardLayout.TwoByThreeAlternatingDoubleSingle]: [\n { column: 0, row: 0, width: 8, height: TOTAL_ROWS / 2 },\n { column: 8, row: 0, width: 4, height: TOTAL_ROWS / 2 },\n { column: 0, row: 4, width: 4, height: TOTAL_ROWS / 2 },\n { column: 4, row: 4, width: 8, height: TOTAL_ROWS / 2 },\n ],\n};\n\nexport default class DashboardDefinition {\n static defaultDashboard(): DashboardDefinition {\n const wd = new WidgetDefinition(\n WidgetEnum.FactoryOverview,\n '',\n FilterTimeSpanEnum.None,\n [],\n undefined,\n );\n wd.index = 0;\n return new DashboardDefinition('Factory', [wd], DashboardLayout.OneByOne);\n }\n\n constructor(\n public name: string,\n public widgetDefinitions: WidgetDefinition[],\n public layout: DashboardLayout,\n ) {}\n\n static GetCopy(definition: DashboardDefinition): DashboardDefinition {\n return new DashboardDefinition(\n definition.name,\n [\n ...definition.widgetDefinitions.map((wd, index) =>\n !!wd.getCopy ? wd.getCopy({}) : deserializeWidgetDefinition(wd, index),\n ),\n ],\n definition.layout,\n );\n }\n\n deleteWidget(index: number): void {\n this.widgetDefinitions = [...this.widgetDefinitions.filter((wd) => wd.index !== index)];\n }\n\n addWidget(wd: WidgetDefinition): void {\n this.widgetDefinitions = [...this.widgetDefinitions, wd];\n }\n\n clearWidgets(): void {\n this.widgetDefinitions = [];\n }\n\n clone(): DashboardDefinition {\n return new DashboardDefinition(this.name, this.widgetDefinitions, this.layout);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { Color } from '@/utils/color';\nimport i18n from '@/i18n';\nimport { decimalFormatter } from '@/utils/number';\nimport { LaserProductivityData } from './chartsData';\nimport { DefaultLabelFormatterCallbackParams, EChartsOption } from 'echarts';\nimport { mockLaserProductivityData } from './mockWidgetSelectorData';\nimport { GeneratorParams } from './generatorParams';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class PieChartGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n },\n this.controller,\n );\n }\n\n setOpacity(hex: string, alpha: number): string {\n return `${hex}${Math.floor(alpha * 255).toString(16)}`;\n }\n\n override updateOptions(\n data: any[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const primaryPosition: number | undefined = this.findPrimaryPosition(data);\n const secondaryPosition: number | undefined = this.findSecondaryPosition(data, primaryPosition);\n const greenTransparent = this.setOpacity(Color.Green, 0.5);\n const redTransparent = this.setOpacity(Color.PinkRed, 0.5);\n const currentProd =\n primaryPosition !== undefined\n ? data[primaryPosition].work / (data[primaryPosition].rest + data[primaryPosition].work)\n : 0.0;\n const previousProd =\n secondaryPosition !== undefined\n ? data[secondaryPosition].work /\n (data[secondaryPosition].rest + data[secondaryPosition].work)\n : 0.0;\n const dpr: number = window.devicePixelRatio;\n const fontSizePerc = dpr > 1 ? '13' : '15';\n const currentSeriesOuterRadius = dpr > 1 ? '49%' : '54%';\n const previousSeriesOuterRadius = dpr > 1 ? '25%' : '27%';\n\n return {\n tooltip: {\n trigger: 'item',\n extraCssText: 'z-index: 1',\n confine: true,\n valueFormatter: decimalFormatter,\n },\n legend: {\n top: '88%',\n left: 'center',\n },\n series: [\n {\n name: i18n.t('report.current').toString(),\n type: 'pie' as const,\n radius: ['32%', currentSeriesOuterRadius],\n markPoint: {\n tooltip: { show: false },\n label: {\n formatter: (params: any) =>\n isNaN(currentProd)\n ? '━'\n : i18n.n(params.value * 100, { maximumFractionDigits: 2 }) + ' %',\n show: true,\n color: Color.Black,\n fontSize: fontSizePerc,\n fontWeight: 'bold',\n },\n data: [\n {\n name: '', // defined as required\n value: isNaN(currentProd) ? 0.0 : currentProd,\n itemStyle: { color: 'transparent' },\n x: '20%',\n y: '25%',\n },\n ],\n },\n avoidLabelOverlap: true,\n\n labelLayout: {\n align: 'center' as const,\n hideOverlap: true,\n moveOverlap: 'shiftX' as const,\n },\n labelLine: {\n show: true,\n length2: 5,\n lineStyle: {\n color: '#bbb',\n },\n },\n data: [\n {\n value: primaryPosition !== undefined ? data[primaryPosition].work : 0.0,\n name: i18n.t('report.work_time').toString(),\n label: {\n show: true,\n formatter: (params: any) =>\n i18n.n(params.data.value, { maximumFractionDigits: 2 }) + parameters.unit,\n minMargin: 10,\n position: 'top' as const,\n },\n itemStyle: {\n color: Color.Green,\n },\n },\n {\n value: primaryPosition !== undefined ? data[primaryPosition].rest : 0.0,\n name: i18n.t('report.unproductive').toString(),\n label: {\n show: true,\n formatter: (params: any) =>\n i18n.n(params.data.value, { maximumFractionDigits: 2 }) + parameters.unit,\n minMargin: 10,\n position: 'top' as const,\n },\n itemStyle: {\n color: Color.PinkRed,\n },\n },\n ],\n },\n {\n name: i18n.t('report.previous').toString(),\n type: 'pie' as const,\n radius: ['15%', previousSeriesOuterRadius],\n markPoint: {\n tooltip: { show: false },\n label: {\n formatter: (params: DefaultLabelFormatterCallbackParams) => {\n const arrowSymbol = currentProd > previousProd ? '▲' : '▼';\n return isNaN(currentProd - previousProd)\n ? '━'\n : i18n.n(Math.abs(Number(params.value)) * 100, { maximumFractionDigits: 2 }) +\n ' % ' +\n arrowSymbol;\n },\n show: true,\n color: isNaN(currentProd - previousProd)\n ? Color.Black\n : currentProd > previousProd\n ? Color.Green\n : Color.PinkRed,\n fontSize: fontSizePerc,\n fontWeight: 'bold',\n },\n data: [\n {\n name: '', // defined as required\n value: currentProd - previousProd,\n itemStyle: { color: 'transparent' },\n x: '80%',\n y: '25%',\n },\n ],\n },\n avoidLabelOverlap: false,\n\n labelLayout: {\n align: 'center' as const,\n hideOverlap: true,\n moveOverlap: 'shiftX' as const,\n },\n labelLine: {\n show: true,\n length2: 5,\n lineStyle: {\n color: '#bbb',\n },\n },\n data: [\n {\n value: secondaryPosition !== undefined ? data[secondaryPosition].work : 0.0,\n name: i18n.t('report.work_time').toString(),\n label: {\n show: true,\n formatter: (params: any) =>\n i18n.n(params.data.value, { maximumFractionDigits: 2 }) + parameters.unit,\n minMargin: 10,\n position: 'top' as const,\n },\n itemStyle: {\n color: greenTransparent,\n },\n },\n {\n value: secondaryPosition !== undefined ? data[secondaryPosition].rest : 0.0,\n name: i18n.t('report.unproductive').toString(),\n label: {\n formatter: (params: any) =>\n i18n.n(params.data.value, { maximumFractionDigits: 2 }) + parameters.unit,\n minMargin: 10,\n position: 'top' as const,\n },\n itemStyle: {\n color: redTransparent,\n },\n },\n ],\n },\n ],\n };\n }\n\n override getMockData(): LaserProductivityData[] | null {\n return mockLaserProductivityData();\n }\n\n private findPrimaryPosition(data: LaserProductivityData[]): number | undefined {\n const positions = [0, 1].slice(0, data.length);\n return positions.find((pos: number) => data[pos].isprimary);\n }\n\n private findSecondaryPosition(\n data: LaserProductivityData[],\n primaryPosition: number | undefined,\n ): number | undefined {\n if (primaryPosition !== undefined && data.length === 2) {\n return 1 - primaryPosition;\n } else if (primaryPosition === undefined && data.length === 1) {\n return 0;\n } else {\n return undefined;\n }\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport i18n from '@/i18n';\nimport { EChartsOption } from 'echarts';\nimport { WidgetEnum } from '../enums/WidgetEnum';\nimport { mockLaserCuttingTimeData, mockLaserOeeData } from './mockWidgetSelectorData';\nimport { Logger } from '@/utils/logger';\nimport { GeneratorParams } from './generatorParams';\nimport { metricsService } from '@/services/metrics.service';\nimport { DataWithTimeSpan } from './chartsData';\n\n/*\n Extra options:\n formatter: function or string | formatter for the value display\n maxValue: number | maximum value for the gauge\n valueName: string | metric's name\n*/\nexport class GaugeChartGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: T[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const primaryPosition: number | undefined = this.findPrimaryPosition(data);\n const secondaryPosition: number | undefined = this.findSecondaryPosition(data, primaryPosition);\n const dpr: number = window.devicePixelRatio;\n const fontSizeInner = dpr > 1 ? 13 : 16;\n const fontSizeDetail = dpr > 1 ? 15 : 18;\n const fontSizeTitle = dpr > 1 ? 10 : 13;\n const gaugeWidth = dpr > 1 ? 25 : 35;\n const offsetCenterDprY1 = dpr > 1 ? '60%' : '55%';\n const offsetCenterDprY2 = dpr > 1 ? '95%' : '90%';\n\n const currentData =\n primaryPosition !== undefined ? data[primaryPosition][parameters.valueName! as keyof T] : 0.0;\n const previousData =\n secondaryPosition !== undefined\n ? data[secondaryPosition][parameters.valueName! as keyof T]\n : 0.0;\n\n const ratio: number | undefined =\n 'clientWidth' in parameters ? parameters.clientWidth! / parameters.clientHeight! : undefined;\n const hideInIpad: boolean =\n /iPad/.test(navigator.userAgent) &&\n window.innerWidth === 1024 &&\n window.innerWidth > window.innerHeight;\n const radius: string = !!ratio && ratio < 1 && !hideInIpad ? '59%' : '76%';\n\n return {\n series: [\n {\n splitNumber: 5,\n type: 'gauge',\n radius,\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n max: parameters.maxValue,\n anchor: {\n show: false,\n },\n pointer: {\n show: false,\n },\n progress: {\n show: true,\n overlap: false,\n roundCap: true,\n },\n axisLine: {\n roundCap: true,\n lineStyle: {\n width: gaugeWidth,\n dashOffset: 13,\n },\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n distance: -55,\n length: 0,\n },\n data: [\n {\n value: currentData,\n name: i18n.t('report.current').toString(),\n title: { offsetCenter: ['0%', '40%'] },\n detail: { fontSize: fontSizeInner, offsetCenter: ['0%', offsetCenterDprY1] },\n },\n {\n value: previousData,\n name: i18n.t('report.previous').toString(),\n title: { offsetCenter: ['0%', '75%'] },\n detail: { fontSize: fontSizeInner, offsetCenter: ['0%', offsetCenterDprY2] },\n },\n ],\n detail: {\n width: 30,\n height: 10,\n fontSize: fontSizeDetail,\n color: 'inherit',\n borderColor: 'inherit',\n borderRadius: 0,\n borderWidth: 0,\n formatter: (value: number) =>\n i18n.n(value, { maximumFractionDigits: 2 }) + parameters.unit,\n },\n title: {\n fontSize: fontSizeTitle,\n },\n },\n (parameters.targets && {\n type: 'gauge',\n radius,\n pointer: { show: true, length: '100%' },\n max: parameters.maxValue,\n axisTick: { show: false },\n splitLine: { show: false },\n axisLabel: { show: false },\n axisLine: { show: false },\n data: [{ value: parameters.targets[0], detail: { show: false } }],\n }) ||\n (undefined as any),\n ],\n title: {\n show: false,\n },\n grid: {\n left: '3%',\n right: '15%',\n bottom: '10%',\n containLabel: true,\n },\n };\n }\n\n override getMockData(): T[] | null {\n switch (this.procedure) {\n case WidgetEnum.LaserOee:\n case WidgetEnum.TubeOee:\n return mockLaserOeeData() as any;\n case WidgetEnum.LaserCuttingTime:\n case WidgetEnum.TubeCuttingTime:\n return mockLaserCuttingTimeData() as any;\n default:\n Logger.error(`Missing mock data for ${this.procedure}`);\n return null;\n }\n }\n\n private findPrimaryPosition(data: T[]): number | undefined {\n const positions = [0, 1].slice(0, data.length);\n return positions.find((pos: number) => data[pos].isprimary === 1);\n }\n\n private findSecondaryPosition(\n data: any,\n primaryPosition: number | undefined,\n ): number | undefined {\n if (primaryPosition !== undefined && data.length === 2) {\n return 1 - primaryPosition;\n } else if (primaryPosition === undefined && data.length === 1) {\n return 0;\n } else {\n return undefined;\n }\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport i18n from '@/i18n';\nimport { getColor } from '@/utils/color';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { WidgetEnum } from '../enums/WidgetEnum';\nimport { mockBendingTimeBetweenBendData, mockBendingTopPartsData } from './mockWidgetSelectorData';\nimport { Logger } from '@/utils/logger';\nimport { GeneratorParams } from './generatorParams';\nimport { metricsService } from '@/services/metrics.service';\n\n/*\n Extra options:\n isPrimaryOnly: boolean | whether there is one single series or not\n groupKey: string | name of the key for grouping e.g. 'category_name'\n valueKey: string | name of value holder e.g. 'time_between_bends'\n metricName: string | legend name when isPrimaryOnly (instead of current/previous)\n*/\nexport class GroupedBarChartGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: any[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const series: SeriesOption[] = [];\n const yAxisTitles = new Set();\n const primaryValues = new Map();\n const secondaryValues = new Map();\n\n data.forEach((dataset: any) => {\n const groupName: string = dataset[parameters.groupKey!];\n if (!yAxisTitles.has(groupName)) {\n yAxisTitles.add(groupName);\n }\n if (dataset.isprimary === 1) {\n primaryValues.set(groupName, dataset[parameters.valueKey!]);\n } else {\n secondaryValues.set(groupName, dataset[parameters.valueKey!]);\n }\n });\n\n const primaryValuesArray: number[] = [];\n const secondaryValuesArray: number[] = [];\n\n yAxisTitles.forEach((x) => {\n primaryValuesArray.push(primaryValues.get(x) ?? 0);\n secondaryValuesArray.push(secondaryValues.get(x) ?? 0);\n });\n\n series.push({\n name: parameters.isPrimaryOnly\n ? i18n.t(`report.${parameters.metricName}`).toString()\n : i18n.t('report.current').toString(),\n type: 'bar' as const,\n data: primaryValuesArray,\n label: parameters.isPrimaryOnly\n ? {\n position: [5, '50%'],\n verticalAlign: 'middle',\n textBorderWidth: -1,\n formatter: '{b}',\n show: true,\n }\n : undefined,\n // Use green for better text contrast when we've got only one series\n color: parameters.isPrimaryOnly ? getColor(1, 0) : undefined,\n });\n if (!parameters.isPrimaryOnly) {\n series.push({\n name: i18n.t('report.previous').toString(),\n type: 'bar' as const,\n data: secondaryValuesArray,\n });\n }\n const legend = parameters.isPrimaryOnly\n ? [i18n.t(`report.${parameters.metricName}`).toString()]\n : this.getLegend(data, primaryValues, secondaryValues);\n\n return {\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow',\n },\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: (params: any) => {\n let html = `

${this.yAxisLabelFormatter(params[0].axisValueLabel)}

`;\n params.forEach((item: any) => {\n if (!isNaN(item.value)) {\n html +=\n `

${item.marker} ${item.seriesName}:` +\n `${i18n.n(item.value, {\n maximumFractionDigits: 2,\n })}

`;\n }\n });\n return html;\n },\n },\n legend: {\n bottom: 0,\n data: legend,\n selectedMode: series.length === 1 ? false : 'multiple',\n },\n grid: {\n top: 16,\n bottom: 40,\n left: 8,\n containLabel: true,\n },\n xAxis: {\n type: 'value',\n boundaryGap: [0, 0.01],\n name: parameters.xAxisName ?? '',\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n },\n yAxis: {\n type: 'category',\n data: Array.from(yAxisTitles),\n axisLabel: {\n show: !parameters.isPrimaryOnly,\n formatter: this.yAxisLabelFormatter.bind(this),\n },\n axisTick: {\n show: !parameters.isPrimaryOnly,\n },\n },\n series,\n };\n }\n\n override getMockData(): any[] | null {\n switch (this.procedure) {\n case WidgetEnum.BendingTimeBetweenBend:\n return mockBendingTimeBetweenBendData();\n case WidgetEnum.BendingTopParts:\n return mockBendingTopPartsData();\n default:\n Logger.error(`Missing mock data for ${this.procedure}`);\n return null;\n }\n }\n\n private getLegend(\n data: any[],\n primaryValues: Map,\n secondaryValues: Map,\n ) {\n const legend: string[] = [];\n if (primaryValues.size > 0) {\n legend.push(i18n.t('report.current').toString());\n }\n if (secondaryValues.size > 0) {\n legend.push(i18n.t('report.previous').toString());\n }\n return legend;\n }\n\n private yAxisLabelFormatter(name: string): string {\n if (this.procedure === WidgetEnum.BendingTimeBetweenBend) {\n return i18n.t(`report.${name}`).toString();\n } else {\n return name;\n }\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { WidgetEnum } from '../enums/WidgetEnum';\nimport i18n from '@/i18n';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport {\n mockBendingAvailabilityData,\n mockLaserAvailabilityData,\n mockLaserStarveBlockData,\n} from './mockWidgetSelectorData';\nimport { Logger } from '@/utils/logger';\nimport { GeneratorParams } from './generatorParams';\nimport { isEmpty } from '@/utils/misc';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class HorizontalBarChartGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: any,\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow',\n },\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: (params: any) => {\n const filteredParams = params.filter((param: any) => param.axisDim !== 'x');\n let tooltipHtml: string = `

${filteredParams[0]?.axisValueLabel}

`;\n filteredParams.forEach((item: any) => {\n if (!isNaN(item.value)) {\n tooltipHtml +=\n `

${item.marker} ${item.seriesName}:` +\n `${i18n.n(item.value, {\n maximumFractionDigits: 2,\n })}

`;\n }\n });\n return tooltipHtml;\n },\n },\n legend: {\n bottom: 0,\n data: this.generateLegend(data),\n },\n grid: {\n top: 16,\n bottom: 40,\n left: 8,\n containLabel: true,\n },\n xAxis: {\n type: 'value',\n boundaryGap: [0, 0.01],\n name: parameters.xAxisName ?? '',\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n hideOverlap: true,\n },\n axisLine: { show: false },\n axisTick: { show: false },\n },\n yAxis: this.getYaxis(data, parameters.targets),\n series: this.getSeries(data, parameters.targets),\n };\n }\n\n override getMockData(): any[] | null {\n switch (this.procedure) {\n case WidgetEnum.LaserAvailability:\n case WidgetEnum.TubeAvailability:\n return mockLaserAvailabilityData();\n case WidgetEnum.LaserStarveBlock:\n case WidgetEnum.TubeStarveBlock:\n return mockLaserStarveBlockData();\n case WidgetEnum.BendingAvailability:\n return mockBendingAvailabilityData();\n default:\n Logger.error(`Missing mock data for ${this.procedure}`);\n return null;\n }\n }\n\n private getSeries(data: any, targets: number[] | undefined): SeriesOption[] {\n return (this.procedure !== WidgetEnum.LaserStarveBlock &&\n this.procedure !== WidgetEnum.TubeStarveBlock) ||\n targets == null\n ? this.series(data)\n : [\n ...this.series(data, !targets),\n {\n // NOTE: this is a support series to draw the targets lines\n yAxisIndex: 1,\n type: 'line',\n name: 'Target',\n lineStyle: {\n type: 'dotted',\n color: 'red',\n width: 1,\n borderType: 40,\n shadowColor: 'rgba(0, 0, 0, 0.5)',\n opacity: 200,\n curveness: 200,\n },\n symbol: 'none',\n data: [[targets[0], 5], [targets[0], 45], null, [targets[1], 55], [targets[1], 95]],\n },\n ];\n }\n\n private getYaxis(data: any, targets: number[] | undefined) {\n return (this.procedure !== WidgetEnum.LaserStarveBlock &&\n this.procedure !== WidgetEnum.TubeStarveBlock) ||\n !targets\n ? {\n type: 'category' as const,\n data: this.yAxisTitles(data),\n }\n : [\n {\n type: 'category' as const,\n data: this.yAxisTitles(data),\n },\n {\n show: false,\n type: 'value' as const,\n min: 0,\n max: 100,\n splitLine: {\n show: false,\n },\n },\n ];\n }\n\n private yAxisTitles(data: any) {\n if (isEmpty(data)) {\n return [];\n }\n return Object.keys(data[0])\n .slice(0, -1)\n .map((name) => i18n.t('report.' + name).toString());\n }\n\n private series(data: any, targets?: any) {\n let existsPrimary: boolean = false;\n const series: any[] = [];\n data.forEach((dataset: any) => {\n if (dataset.isprimary) {\n existsPrimary = true;\n }\n });\n\n if (!existsPrimary) {\n series.push(this.generateSeries({ isprimary: true }, targets));\n }\n\n if (isEmpty(data)) {\n return series;\n }\n\n data.forEach((dataset: any) => {\n series.push(this.generateSeries(dataset, targets));\n });\n for (let i = 0; i < 2 - data.length; ++i) {\n series.push(\n new Object({\n type: 'bar',\n data: null,\n }),\n );\n }\n return series;\n }\n\n private generateSeries(dataset: any, targets: any) {\n const serie: any = {};\n serie.type = 'bar';\n serie.name = this.currentPrevTranslation(dataset.isprimary);\n serie.label = {\n show: true,\n position: 'right',\n formatter: (params: any) => i18n.n(params.value, { maximumFractionDigits: 2 }),\n };\n\n serie.data = Object.values(dataset).slice(0, -1);\n return serie;\n }\n\n private generateLegend(data: any[]) {\n const legendTitles: string[] = [];\n data.forEach((element) => {\n legendTitles.push(this.currentPrevTranslation(element.isprimary));\n });\n return legendTitles;\n }\n\n private currentPrevTranslation(isprimary: boolean) {\n return isprimary ? i18n.t('report.current').toString() : i18n.t('report.previous').toString();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { decimalFormatter } from '@/utils/number';\nimport moment from 'moment/moment';\nimport { isNil } from '@/utils/misc';\n\nexport const AXIS_DIMENSION_X = 'x';\nexport const AXIS_DIMENSION_Y = 'y';\n\nexport class AxisPointerLabelFormatter {\n constructor(\n private dateGrouping: FilterTimeAxisSpanEnum | undefined,\n private isCategoryAxis: boolean,\n private roundValues = false,\n ) {}\n\n get() {\n return (params: any) => this.format(new LabelParamsHelper(params));\n }\n\n private format(params: LabelParamsHelper): string {\n if (params.isYAxis()) {\n if (this.roundValues) {\n return decimalFormatter(params.getValue(), 0);\n }\n return decimalFormatter(params.getValue());\n } else {\n // 'x' axis dimension\n return this.formatXAxisLabel(params);\n }\n }\n\n private formatXAxisLabel(params: LabelParamsHelper) {\n switch (this.dateGrouping) {\n case FilterTimeAxisSpanEnum.Hour:\n return moment(params.getValue()).format('YYYY-MM-DD HH:mm');\n case FilterTimeAxisSpanEnum.Day:\n case FilterTimeAxisSpanEnum.Week:\n case FilterTimeAxisSpanEnum.Month:\n case FilterTimeAxisSpanEnum.Quarter:\n default:\n return this.isCategoryAxis ? params.getValue() : params.getTimeSeriesAxisLabel();\n }\n }\n}\n\nclass LabelParamsHelper {\n constructor(private params: any) {}\n\n isYAxis(): boolean {\n return this.params.axisDimension === AXIS_DIMENSION_Y;\n }\n\n getValue(): any {\n return this.params.value;\n }\n\n getTimeSeriesAxisLabel(): any {\n // Not sure why this happens but, when zooming in too much, Echarts sends\n // undefined here\n if (isNil(this.params.seriesData?.[0]?.value)) {\n return '';\n }\n\n return this.params.seriesData[0].value[0];\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport i18n from '@/i18n';\nimport { Color, getStateColour } from '@/utils/color';\nimport { WidgetEnum } from '../enums/WidgetEnum';\nimport { Tenant } from '../tenant';\nimport {\n EChartsOption,\n LineSeriesOption,\n MarkAreaComponentOption as MarkAreaOption,\n MarkLineComponentOption as MarkLineOption,\n XAXisComponentOption as XAXisOption,\n} from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { Logger } from '@/utils/logger';\nimport { LineChartMode } from '../enums/LineChartMode';\nimport {\n mockLaserAvailabilityHistData,\n mockLaserProductivityHistData,\n mockLaserOeeHistData,\n mockLaserCuttingTimeHistData,\n mockLaserStarveBlockHistData,\n mockBendingPerformancePartData,\n mockBendingAvailabilityHistData,\n mockBendingTimeBetweenBendHistData,\n mockBendingPerformancePartHistData,\n mockBendingPerformanceHistData,\n mockBendingNumberOfBendsTimelineData,\n} from './mockWidgetSelectorData';\nimport { isEmpty } from '@/utils/misc';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { abbreviateNumber } from '@/utils/number';\nimport { TooltipFormatter } from '@/models/Charts/tooltipFormatter';\nimport { AxisPointerLabelFormatter } from '@/models/Charts/axisPointerLabelFormatter';\nimport { areArraysEqual } from '@/utils/array';\nimport { metricsService } from '@/services/metrics.service';\nimport { tenantsService } from '@/services/tenants.service';\nimport { Aggregate } from '@/models/metrics/aggregates';\n\n/**\n * Generic chart generator for line and bar (stacked columns) charts.\n *\n * Although the name implies it's only for line charts, it's also used for\n * stacked bar charts. Usually charts that can switch between the two modes,\n * like the Availability chart in Work center console > Cut > Trends.\n *\n * Returns Echarts options to draw a line/bar chart with different parameters\n * that change how it is drawn:\n *\n * - connectNulls: boolean. Links nearby line dots (symbols) when true.\n * Otherwise, the line is drawn with a gap when a null is found.\n * - xAxisName: Name (title) to show on the x-axis.\n * - yAxisName: Name (title) to show on the y-axis.\n * - dateKey: Name of the key from the data structure to get the date for the\n * x-axis (`data[dateKey]`).\n * - roundValues: boolean. Rounds the numeric values shown in the tooltip when\n * true.\n * - timeAxisSpan: FilterTimeAxisSpanEnum. Defines the date grouping used.\n * - aggregates: string[]. Aggregates to show in the chart. Possible values:\n * 'Max', 'Min', 'Average'.\n * - targets: Defines targets to show in the chart as Echart's mark line or area.\n */\nexport class LineChartGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n ) {\n if (Array.isArray(timeSpan)) {\n if (this.procedure === WidgetEnum.CareCuttingHeadTemperatures) {\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n selectedDevices[0],\n {\n dateFrom: timeSpan[0],\n dateTo: timeSpan[1],\n dateGrouping: timeAxisSpan,\n },\n this.controller,\n );\n } else {\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n startDate: timeSpan[0],\n endDate: timeSpan[1],\n timeAxisSpan,\n },\n this.controller,\n );\n }\n } else {\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n timeSpan,\n },\n this.controller,\n );\n }\n }\n\n marker(\n targets: number[],\n key: string,\n index: number,\n ): { markLine?: MarkLineOption; markArea?: MarkAreaOption } {\n switch (this.procedure) {\n case WidgetEnum.LaserStarveBlockHist:\n case WidgetEnum.LaserProductivityHist:\n case WidgetEnum.TubeStarveBlockHist:\n case WidgetEnum.TubeProductivityHist: {\n const targetIndex = key === 'starve' || key === 'productivity' ? 0 : 1;\n return {\n markLine: {\n data: [{ yAxis: targets[targetIndex] }],\n lineStyle: { type: 'dotted' },\n symbol: 'none',\n },\n };\n }\n case WidgetEnum.LaserOeeHist:\n case WidgetEnum.LaserCuttingTimeHist:\n case WidgetEnum.TubeOeeHist:\n case WidgetEnum.TubeCuttingTimeHist:\n return index === 0\n ? {\n markArea: {\n itemStyle: {\n color: Color.Green,\n opacity: 0.1,\n },\n data: [\n [\n {\n yAxis: targets[0],\n },\n {\n yAxis: Number.MAX_SAFE_INTEGER,\n },\n ],\n ],\n },\n }\n : {};\n default:\n return {};\n }\n }\n\n override updateOptions(\n data: any[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const dateKey = parameters.dateKey ?? 'date';\n const series: LineSeriesOption[] = [];\n const keys: string[] = Object.keys(data[0]);\n const seriesNames: string[] = keys.filter((x) => x !== dateKey);\n\n const roundValues = parameters.roundValues ?? false;\n\n const lineChartMode = parameters.paramValues?.mode ?? LineChartMode.NonStackedLines;\n const type =\n lineChartMode === LineChartMode.StackedColumns ? ('bar' as const) : ('line' as const);\n const stack = lineChartMode === LineChartMode.StackedColumns ? 'total' : undefined;\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n\n const averageMark: any[] = [];\n const markPointData: any[] = [];\n\n if (parameters.aggregates) {\n for (const aggregate of parameters.aggregates) {\n if (aggregate === Aggregate.Max || aggregate === Aggregate.Min) {\n markPointData.push({ name: '', type: aggregate });\n } else {\n averageMark.push({ type: 'average' });\n }\n }\n }\n\n const seriesName = (key: string) => {\n if (this.procedure === WidgetEnum.LaserCuttingTimeHist) {\n if (\n data.every(\n (x) =>\n x.channel0 === null &&\n x.channel1 === null &&\n x.channel2 === null &&\n x.channel3 === null,\n )\n ) {\n return i18n.t('report.cutting_time').toString();\n }\n return Tenant.gasName(this.tenant, key);\n } else if (this.procedure === WidgetEnum.TubeCuttingTimeHist) {\n if (data.every((x) => areArraysEqual(Object.keys(x), ['date', 'unknown']))) {\n return i18n.t('report.cutting_time').toString();\n } else {\n return key === 'Unknown' ? i18n.t('report.unknown').toString() : key;\n }\n } else {\n return i18n.t(`report.${key}`).toString();\n }\n };\n seriesNames.forEach((key: string, index: number) => {\n const marker: { markLine?: MarkLineOption; markArea?: MarkAreaOption } = parameters.targets\n ? this.marker(parameters.targets, key, index)\n : {};\n if (!isEmpty(averageMark) && marker.markLine !== undefined) {\n marker.markLine.data!.push(averageMark[0]);\n }\n\n series.push({\n data: this.getSeriesData(key, dateKey, data, isCategoryAxis),\n type: type as any,\n stack,\n connectNulls: parameters.connectNulls,\n name: seriesName(key),\n emphasis: { focus: 'series' },\n markPoint: {\n data: markPointData,\n label: {\n formatter: (params: any) => i18n.n(params.value, { maximumFractionDigits: 2 }),\n },\n },\n markLine: {\n data: averageMark,\n label: {\n formatter: (params: any) => i18n.n(params.value, { maximumFractionDigits: 2 }),\n },\n },\n itemStyle:\n this.procedure !== WidgetEnum.LaserAvailabilityHist &&\n this.procedure !== WidgetEnum.TubeAvailabilityHist\n ? undefined\n : {\n color: getStateColour(key),\n },\n ...marker,\n });\n });\n\n return {\n title: {\n show: false,\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'cross',\n label: {\n backgroundColor: '#6a7985',\n formatter: new AxisPointerLabelFormatter(\n parameters.timeAxisSpan,\n isCategoryAxis,\n roundValues,\n ).get(),\n },\n animation: false,\n },\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: TooltipFormatter.build(parameters.timeAxisSpan, roundValues)\n .withSeriesTranslationPrefix(undefined)\n .get(),\n },\n legend: {\n bottom: 0,\n type: 'scroll',\n selectedMode: series.length === 1 ? false : 'multiple',\n },\n axisPointer: {\n link: [{ xAxisIndex: 'all' }],\n },\n dataZoom: [\n {\n show: false,\n realtime: true,\n height: '2',\n top: '95%',\n },\n {\n show: true,\n type: 'inside',\n realtime: true,\n },\n ],\n grid: {\n top: 50,\n bottom: 40,\n left: 5,\n containLabel: true,\n },\n xAxis: {\n type: isCategoryAxis ? 'category' : 'time',\n data: isCategoryAxis ? data.map((x: any) => x[dateKey]) : undefined,\n name: parameters.xAxisName ?? '',\n axisLabel: {\n hideOverlap: true,\n },\n } as XAXisOption, // type=category doesn't have data property\n yAxis: {\n type: 'value',\n name: parameters.yAxisName ?? '',\n nameTextStyle: {\n // Avoid long names being cut\n align: (parameters.yAxisName?.length ?? 0) > 3 ? 'left' : undefined,\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: '#f4f4f4',\n width: 1,\n },\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n series,\n };\n }\n\n override getMockData(): any[] | null {\n switch (this.procedure) {\n case WidgetEnum.LaserAvailabilityHist:\n case WidgetEnum.TubeAvailabilityHist:\n return mockLaserAvailabilityHistData();\n case WidgetEnum.LaserProductivityHist:\n case WidgetEnum.TubeProductivityHist:\n return mockLaserProductivityHistData();\n case WidgetEnum.LaserOeeHist:\n case WidgetEnum.TubeOeeHist:\n return mockLaserOeeHistData();\n case WidgetEnum.LaserCuttingTimeHist:\n case WidgetEnum.TubeCuttingTimeHist:\n return mockLaserCuttingTimeHistData();\n case WidgetEnum.LaserStarveBlockHist:\n case WidgetEnum.TubeStarveBlockHist:\n return mockLaserStarveBlockHistData();\n case WidgetEnum.BendingPerformancePart:\n return mockBendingPerformancePartData();\n case WidgetEnum.BendingAvailabilityHist:\n return mockBendingAvailabilityHistData();\n case WidgetEnum.BendingTimeBetweenBendHist:\n return mockBendingTimeBetweenBendHistData();\n case WidgetEnum.BendingPerformancePartHist:\n return mockBendingPerformancePartHistData();\n case WidgetEnum.BendingPerformanceHist:\n return mockBendingPerformanceHistData();\n case WidgetEnum.BendingNumberOfBendsTimeline:\n return mockBendingNumberOfBendsTimelineData();\n default:\n Logger.error(`Missing mock data for ${this.procedure}`);\n return null;\n }\n }\n\n private getSeriesData(key: string, dateKey: string, dataArray: any[], isCategoryAxis: boolean) {\n return isCategoryAxis\n ? dataArray.map((x: any) => x[key])\n : dataArray.map((x: any) => [x[dateKey], x[key]]);\n }\n\n private get tenant() {\n return tenantsService.store.current()!;\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { abbreviateNumber } from '@/utils/number';\nimport i18n from '@/i18n';\nimport { LaserOutputScrapData } from './chartsData';\nimport { EChartsOption } from 'echarts';\nimport { mockLaserOutputScrapData } from './mockWidgetSelectorData';\nimport { GeneratorParams } from './generatorParams';\nimport { TooltipFormatter } from '@/models/Charts/tooltipFormatter';\nimport { getUnitTransform } from '@/utils/measurement';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class OutputScrapChartGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: LaserOutputScrapData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const currentOutputs: Map = new Map();\n const currentOutputsList: number[] = [];\n const currentScraps: Map = new Map();\n const currentScrapsList: number[] = [];\n const previousOutputs: Map = new Map();\n const previousOutputsList: number[] = [];\n const previousScraps: Map = new Map();\n const previousScrapsList: number[] = [];\n const materialGroups: Set = new Set();\n\n const unitTransform: (x: number) => number = getUnitTransform(!!parameters.convertToLbs);\n\n data.forEach((element) => {\n if (!materialGroups.has(element.group_name)) {\n materialGroups.add(element.group_name);\n }\n if (element.isprimary === 1) {\n currentOutputs.set(element.group_name, unitTransform(element.output));\n currentScraps.set(element.group_name, unitTransform(element.scrap));\n } else {\n previousOutputs.set(element.group_name, unitTransform(element.output));\n previousScraps.set(element.group_name, unitTransform(element.scrap));\n }\n });\n materialGroups.forEach((key: string) => {\n if (currentOutputs.has(key)) {\n currentOutputsList.push(currentOutputs.get(key)!);\n } else {\n currentOutputsList.push(0);\n }\n if (currentScraps.has(key)) {\n currentScrapsList.push(currentScraps.get(key)!);\n } else {\n currentScrapsList.push(0);\n }\n if (previousOutputs.has(key)) {\n previousOutputsList.push(previousOutputs.get(key)!);\n } else {\n previousOutputsList.push(0);\n }\n if (previousScraps.has(key)) {\n previousScrapsList.push(previousScraps.get(key)!);\n } else {\n previousScrapsList.push(0);\n }\n });\n const materialGroupsList = Array.from(materialGroups);\n\n return {\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow',\n },\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: TooltipFormatter.build(parameters.timeAxisSpan)\n .withSeriesTranslationPrefix(undefined)\n .withTextOnMissingValue('-')\n .get(),\n },\n legend: {\n top: '91%',\n type: 'scroll',\n data: [\n i18n.t('report.output'),\n i18n.t('report.scrap'),\n i18n.t('report.previousoutput'),\n i18n.t('report.previousscrap'),\n ],\n },\n grid: {\n left: '3%',\n right: '10%',\n bottom: '10%',\n containLabel: true,\n },\n xAxis: [\n {\n type: 'category',\n data: materialGroupsList,\n axisLabel: {\n hideOverlap: true,\n },\n },\n ],\n yAxis: [\n {\n type: 'value',\n name: parameters.yAxisName ?? '',\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n ],\n series: [\n {\n name: i18n.t('report.output').toString(),\n type: 'bar' as const,\n stack: 'Current',\n emphasis: {\n focus: 'series' as const,\n },\n data: currentOutputsList,\n },\n {\n name: i18n.t('report.scrap').toString(),\n type: 'bar' as const,\n stack: 'Current',\n emphasis: {\n focus: 'series' as const,\n },\n data: currentScrapsList,\n },\n {\n name: i18n.t('report.previousoutput').toString(),\n type: 'bar' as const,\n stack: 'Previous',\n emphasis: {\n focus: 'series' as const,\n },\n data: previousOutputsList,\n },\n {\n name: i18n.t('report.previousscrap').toString(),\n type: 'bar' as const,\n stack: 'Previous',\n emphasis: {\n focus: 'series' as const,\n },\n data: previousScrapsList,\n },\n ],\n };\n }\n\n override getMockData(): LaserOutputScrapData[] | null {\n return mockLaserOutputScrapData();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { Color, getStateColour } from '@/utils/color';\nimport moment from 'moment';\nimport { FactoryOverviewData } from './chartsData';\nimport { DefaultLabelFormatterCallbackParams, EChartsOption } from 'echarts';\nimport { mockFactoryOverviewData } from './mockWidgetSelectorData';\nimport { GeneratorParams } from './generatorParams';\nimport { metricsService } from '@/services/metrics.service';\nimport { devicesService } from '@/services/devices.service';\n\nexport class FactoryOverviewGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n ): Promise {\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n shifts: selectedShifts,\n deviceIds: [],\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: FactoryOverviewData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const clientWidth = 'clientWidth' in parameters ? parameters.clientWidth ?? 300 : 300;\n const clientHeight = 'clientHeight' in parameters ? parameters.clientHeight ?? 300 : 300;\n const devices = devicesService.store.get();\n const deviceNames: Map = new Map();\n const activeDevs = devices.map((d) => d.deviceId);\n const filteredActiveDevsInData = data.filter((dev) => activeDevs.includes(dev.deviceid));\n for (const dev of devices) {\n deviceNames.set(dev.deviceId, dev.name);\n }\n return {\n tooltip: {\n confine: true,\n formatter: (params: any) => ('state' in params.data ? params.data.state ?? '' : ''),\n extraCssText: 'z-index: 1',\n },\n series: {\n type: 'sunburst',\n data: this.getSeriesData(filteredActiveDevsInData, deviceNames),\n radius: [Math.min(90, clientHeight / 20, clientWidth / 20), '90%'],\n itemStyle: {\n borderRadius: 0,\n borderWidth: 2,\n },\n levels: [\n {},\n {\n label: {\n formatter: (params: DefaultLabelFormatterCallbackParams) => params.name,\n rotate: 0,\n },\n itemStyle: {\n color: '#C0C0C0',\n },\n },\n {\n label: {\n formatter: (params: any) => {\n const timeMsg: string = moment(`${params.data.lastTs}+00:00`).format('HH:mm:ss');\n const deviceName = deviceNames.get(params.name) as string;\n if (deviceName.length <= 10) {\n return deviceName + '\\n' + timeMsg;\n } else {\n return (\n deviceName.substring(0, 4) +\n '...' +\n deviceName.substring(deviceName.length - 3) +\n '\\n' +\n timeMsg\n );\n }\n },\n rotate: 'tangential',\n },\n },\n {\n label: {\n formatter: (params: DefaultLabelFormatterCallbackParams) => params.name,\n rotate: 'tangential',\n },\n itemStyle: {\n color: '#C0C0C0',\n },\n },\n {\n label: {\n formatter: (params: any) =>\n i18n.n(params.value * 100, { maximumFractionDigits: 2 }) + '%',\n rotate: 'tangential',\n },\n },\n ],\n },\n };\n }\n\n override getMockData(): FactoryOverviewData[] | null {\n return mockFactoryOverviewData();\n }\n\n private getSeriesData(data: FactoryOverviewData[], deviceNames: Map) {\n data.sort((a, b) => {\n const nameA: string = deviceNames.get(a.deviceid) ?? '';\n const nameB: string = deviceNames.get(b.deviceid) ?? '';\n\n if (nameA < nameB) {\n return -1;\n } else if (nameA > nameB) {\n return 1;\n } else {\n return 0;\n }\n });\n return [\n {\n name: i18n.t('report.laser_label').toString(),\n children: data\n .filter((dataItem) => dataItem.deviceid.startsWith('L-'))\n .map(\n (dataItem) =>\n new Object({\n name: dataItem.deviceid,\n children: [\n {\n name: i18n.t('report.productivity_abbr').toString(),\n value: 1,\n state: i18n.t('report.productivity').toString(),\n children: [\n {\n value: dataItem.productivity,\n itemStyle: { color: this.getValueColour(dataItem.productivity) },\n },\n ],\n },\n {\n name: i18n.t('report.availability_abbr').toString(),\n value: 1,\n state: i18n.t('report.availability').toString(),\n children: [\n {\n value: dataItem.availability,\n itemStyle: { color: this.getValueColour(dataItem.availability) },\n },\n ],\n },\n ],\n itemStyle: {\n color: getStateColour(dataItem.state),\n },\n lastTs: dataItem.timestamp_utc,\n state: i18n.t('report.' + dataItem.state),\n }),\n ),\n },\n {\n name: i18n.t('report.bending_label').toString(),\n children: data\n .filter((dataItem) => dataItem.deviceid.startsWith('B-'))\n .map(\n (dataItem) =>\n new Object({\n name: dataItem.deviceid,\n children: [\n {\n name: i18n.t('report.productivity_abbr').toString(),\n value: 1,\n state: i18n.t('report.productivity').toString(),\n children: [\n {\n value: dataItem.productivity,\n itemStyle: { color: this.getValueColour(dataItem.productivity) },\n },\n ],\n },\n {\n name: i18n.t('report.availability_abbr').toString(),\n value: 1,\n state: i18n.t('report.availability').toString(),\n children: [\n {\n value: dataItem.availability,\n itemStyle: { color: this.getValueColour(dataItem.availability) },\n },\n ],\n },\n ],\n itemStyle: {\n color: getStateColour(dataItem.state),\n },\n lastTs: dataItem.timestamp_utc,\n state: i18n.t('report.' + dataItem.state),\n }),\n ),\n },\n {\n name: i18n.t('report.tubes_label').toString(),\n children: data\n .filter((dataItem) => dataItem.deviceid.startsWith('T-'))\n .map(\n (dataItem) =>\n new Object({\n name: dataItem.deviceid,\n children: [\n {\n name: i18n.t('report.productivity_abbr').toString(),\n value: 1,\n state: i18n.t('report.productivity').toString(),\n children: [\n {\n value: dataItem.productivity,\n itemStyle: { color: this.getValueColour(dataItem.productivity) },\n },\n ],\n },\n {\n name: i18n.t('report.availability_abbr').toString(),\n value: 1,\n state: i18n.t('report.availability').toString(),\n children: [\n {\n value: dataItem.availability,\n itemStyle: { color: this.getValueColour(dataItem.availability) },\n },\n ],\n },\n ],\n itemStyle: {\n color: getStateColour(dataItem.state),\n },\n lastTs: dataItem.timestamp_utc,\n state: i18n.t('report.' + dataItem.state),\n }),\n ),\n },\n ];\n }\n\n private getValueColour(value: number) {\n if (value < 0.66) {\n return value > 0.33 ? Color.Orange : Color.Red;\n } else {\n return Color.Green;\n }\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport moment from 'moment';\nimport { EChartsOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { MachineType } from '../enums/MachineType';\nimport { metricsService } from '@/services/metrics.service';\nimport { devicesService } from '@/services/devices.service';\n\nexport class CumulativeLinesGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(selectedDevices: string[], selectedShifts: number[]) {\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n timeSpan: FilterTimeSpanEnum.Day,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: any[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const devices = devicesService.store.get();\n const deviceType: MachineType = parameters.deviceType ?? MachineType.Cut;\n const activeDevices = devices.filter((d) => d.getType() === deviceType).map((d) => d.deviceId);\n const filteredActiveDevices = data.filter((dev) => activeDevices.includes(dev.deviceid));\n const lines = filteredActiveDevices\n .map((x) => x.deviceid)\n .filter((el, index, list) => list.indexOf(el) === index);\n const names = lines.map((line) => devices.find((d) => d.deviceId === line)!.name);\n const series = lines.map((key, index) => ({\n type: 'line' as const,\n name: names[index],\n symbolSize: 2,\n data: filteredActiveDevices\n .filter((d) => d.deviceid === key)\n .flatMap((d) => {\n const ts = d.timestamp;\n return [[ts, d.cut_time]];\n }),\n }));\n return {\n grid: {\n top: 70,\n containLabel: true,\n },\n title: {\n text: parameters.title,\n textStyle: {\n fontWeight: 'normal',\n fontFamily: 'Inter',\n },\n },\n xAxis: {\n type: 'time',\n },\n yAxis: {\n type: 'value',\n name: parameters.yAxisName ?? '',\n },\n tooltip: {\n show: true,\n confine: true,\n formatter(params: any) {\n const dateStr = moment(params.value[0]).format('YYYY-MM-DD HH:mm:SS');\n const cumTime = i18n.n(params.value[1], { maximumFractionDigits: 2 });\n const label =\n i18n.t('report.cum_cut_time').toString()[0].toUpperCase() +\n i18n.t('report.cum_cut_time').toString().slice(1).toLowerCase();\n return !!cumTime ? `${params.marker}${dateStr}

${label}: ${cumTime}h

` : '';\n },\n },\n legend: {\n show: true,\n bottom: 0,\n type: 'scroll',\n data: names,\n },\n series,\n };\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator } from './abstract/chartGenerator';\nimport { EChartsOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\n\ninterface Data {\n good: number;\n bad: number;\n}\n\nexport default class DummyChartGenerator extends ChartGenerator {\n override getData() {\n const good = Math.round(Math.random() * 10);\n const bad = Math.round(Math.random() * 4);\n return Promise.resolve([\n {\n good,\n bad,\n },\n ]);\n }\n\n override updateOptions(\n data: Data[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n tooltip: {\n trigger: 'item',\n },\n legend: {\n top: '5%',\n left: 'center',\n },\n series: [\n {\n name: 'Karma types',\n type: 'pie',\n radius: ['40%', '70%'],\n avoidLabelOverlap: true,\n label: {\n show: false,\n },\n data: [\n { value: data[0].bad, name: 'Bad' },\n { value: data[0].good, name: 'Good' },\n ],\n },\n ],\n };\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { abbreviateNumber } from '@/utils/number';\nimport { Color } from '@/utils/color';\nimport { EChartsOption, LineSeriesOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { WidgetEnum } from '../enums/WidgetEnum';\nimport {\n mockQuotesConvertedAmountTimelineData,\n mockSalesTimelineData,\n} from './mockWidgetSelectorData';\nimport { Logger } from '@/utils/logger';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { TooltipFormatter } from '@/models/Charts/tooltipFormatter';\nimport { AxisPointerLabelFormatter } from '@/models/Charts/axisPointerLabelFormatter';\nimport { metricsService } from '@/services/metrics.service';\n\nexport default class BusinessLineChartGenerator extends ChartGenerator {\n private timeAxisSpan: FilterTimeAxisSpanEnum | undefined;\n\n constructor(procedure: ProcedureName, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n this.timeAxisSpan = timeAxisSpan;\n\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n {\n startDate,\n endDate,\n axisTimespan: timeAxisSpan,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: any[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const dates = data.map((d: any) => d.date);\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n\n return {\n title: {\n show: false,\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'cross',\n label: {\n backgroundColor: '#6a7985',\n formatter: new AxisPointerLabelFormatter(parameters.timeAxisSpan, isCategoryAxis).get(),\n },\n },\n confine: true,\n formatter: TooltipFormatter.build(parameters.timeAxisSpan)\n .withSeriesTranslationPrefix('report.business_console.')\n .get(),\n },\n legend: {\n formatter: (name: string) => i18n.t(`report.business_console.${name}`).toString(),\n bottom: 0,\n type: 'scroll',\n },\n dataZoom: [\n {\n show: false,\n realtime: true,\n height: '2',\n top: '95%',\n },\n {\n show: true,\n type: 'inside',\n realtime: true,\n },\n ],\n grid: {\n containLabel: true,\n left: '3%',\n right: '4%',\n bottom: 40,\n top: 32,\n },\n xAxis: [\n {\n type: isCategoryAxis ? 'category' : 'time',\n boundaryGap: false,\n data: isCategoryAxis ? dates : undefined,\n },\n ],\n yAxis: [\n {\n type: 'value',\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n ],\n series: this.generateSeries(data, parameters.targets, isCategoryAxis),\n };\n }\n\n override getMockData(): any {\n switch (this.procedure) {\n case WidgetEnum.QuotesConvertedAmountTimeline:\n return mockQuotesConvertedAmountTimelineData();\n case WidgetEnum.SalesTimeline:\n return mockSalesTimelineData();\n default:\n Logger.error(`Missing mock data for ${this.procedure}`);\n return null;\n }\n }\n\n private generateSeries(\n data: any[],\n targets: number[] | undefined,\n isCategoryAxis: boolean,\n ): LineSeriesOption[] {\n const targetAmount = this.getSoldAmountTarget(targets);\n\n return Object.keys(data[0])\n .filter((field) => field !== 'date')\n .map((fieldName: string) => ({\n name: fieldName,\n type: 'line',\n areaStyle: {},\n emphasis: {\n focus: 'series',\n },\n markArea: !targetAmount\n ? undefined\n : {\n itemStyle: {\n color: Color.Green,\n opacity: 0.1,\n },\n data: [\n [\n {\n yAxis: targetAmount,\n },\n {\n yAxis: Number.MAX_SAFE_INTEGER,\n },\n ],\n ],\n },\n data: isCategoryAxis\n ? data.map((d: any) => d[fieldName])\n : data.map((d: any) => [d.date, d[fieldName]]),\n }));\n }\n\n private getSoldAmountTarget(targets: number[] | undefined): number | undefined {\n if (targets?.length !== 3) {\n return undefined;\n }\n const timeSpanFactor = this.getTimeSpanFactor();\n // Targets for SalesTimeline chart\n const [monthlyPaidTarget, r3Target, r4Target] = targets;\n return (monthlyPaidTarget * timeSpanFactor) / r3Target / r4Target;\n }\n\n private getTimeSpanFactor(): number {\n switch (this.timeAxisSpan) {\n case FilterTimeAxisSpanEnum.Day:\n // mean of days per year / months\n return 1 / (365.25 / 12);\n case FilterTimeAxisSpanEnum.Week:\n // (mean of days per year / months) * days per week\n return (1 / (365.25 / 12)) * 7;\n case FilterTimeAxisSpanEnum.Month:\n return 1;\n case FilterTimeAxisSpanEnum.Quarter:\n return 3;\n case FilterTimeAxisSpanEnum.Year:\n return 12;\n default:\n Logger.error('Invalid time axis span', this.timeAxisSpan);\n return 1;\n }\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { QuotesConversionRatesData } from './chartsData';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockQuotesConversionRatesData } from './mockWidgetSelectorData';\nimport { GeneratorParams } from './generatorParams';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class QuotesConversionRatesGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n customerNo?: string,\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n { startDate, endDate, axisTimespan: timeAxisSpan, customerNo },\n this.controller,\n );\n }\n\n override updateOptions(\n data: QuotesConversionRatesData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n // To show the y-axis from A (top) to C (bottom)\n const reversedData = data.slice().reverse();\n\n return {\n legend: {\n bottom: 0,\n },\n grid: {\n top: 16,\n bottom: 40,\n left: 8,\n containLabel: true,\n },\n xAxis: {\n type: 'value',\n boundaryGap: [0, 0.01],\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n },\n yAxis: {\n data: reversedData.map((dataItem) => Object.values(dataItem)[0]),\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow',\n },\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: (params: any) => {\n let tooltipMarkdown: string = `

${params[0].axisValueLabel}

`;\n params.forEach((item: any) => {\n if (!isNaN(item.value)) {\n tooltipMarkdown +=\n `

${item.marker} ${item.seriesName}:` +\n `${i18n.n(item.value, {\n maximumFractionDigits: 2,\n })}

`;\n }\n });\n return tooltipMarkdown;\n },\n },\n series: this.generateSeries(reversedData),\n };\n }\n\n private generateSeries(data: QuotesConversionRatesData[]): SeriesOption[] {\n return Object.keys(data[0])\n .filter((key) => key !== 'category')\n .map((key) => ({\n name: i18n.t(`report.business_console.${key}`).toString(),\n type: 'bar',\n data: data.map((item) => item[key as keyof QuotesConversionRatesData]),\n }));\n }\n\n override getMockData(): QuotesConversionRatesData[] | null {\n return mockQuotesConversionRatesData();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { getColor } from '@/utils/color';\nimport { abbreviateNumber } from '@/utils/number';\nimport { QuotesMaterialsData } from './chartsData';\nimport { EChartsOption, SeriesOption, XAXisComponentOption as XAXisOption } from 'echarts';\nimport { weightUnit } from '@/utils/measurement';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockQuotesMaterialsData } from './mockWidgetSelectorData';\nimport { GeneratorParams } from './generatorParams';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { TooltipFormatter } from '@/models/Charts/tooltipFormatter';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class TopQuotedMaterialsTimelineGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public customerIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n customerNo?: string,\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.customerIdDh,\n { startDate, endDate, axisTimespan: timeAxisSpan, customerNo },\n this.controller,\n );\n }\n\n override updateOptions(\n data: QuotesMaterialsData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const xAxisData = this.xAxisData(data);\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, xAxisData.length);\n const matKey: string = 'mat_group';\n let materials: string[] = data.map((x: any) => x[matKey]);\n materials = [...new Set(materials)];\n return {\n tooltip: {\n trigger: 'axis',\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: TooltipFormatter.build(parameters.timeAxisSpan)\n .withSeriesTranslationPrefix(undefined)\n .get(),\n },\n legend: {\n bottom: 0,\n type: 'scroll',\n },\n axisPointer: {\n link: [{ xAxisIndex: 'all' }],\n },\n dataZoom: [\n {\n show: false,\n realtime: true,\n height: '2',\n top: '95%',\n },\n {\n show: true,\n type: 'inside',\n realtime: true,\n },\n ],\n grid: {\n containLabel: true,\n left: '3%',\n right: '4%',\n bottom: 40,\n top: 32,\n },\n xAxis: {\n type: isCategoryAxis ? ('category' as const) : ('time' as const),\n data: isCategoryAxis ? xAxisData : undefined,\n } as XAXisOption, // only type=category has data property\n yAxis: {\n type: 'value',\n name: weightUnit(),\n splitLine: {\n show: true,\n lineStyle: {\n color: '#f4f4f4',\n width: 1,\n },\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n series: this.series(data, materials),\n };\n }\n\n override getMockData(): QuotesMaterialsData[] | null {\n return mockQuotesMaterialsData();\n }\n\n private series(data: QuotesMaterialsData[], materials: string[]) {\n const series: SeriesOption[] = [];\n materials.forEach((material: string, index: number) => {\n series.push({\n name:\n this.formatName(material) +\n ' ' +\n i18n.t('report.business_console.materials_converted').toString().toLowerCase(),\n type: 'bar',\n stack: material,\n data: this.convWeightData(data, material),\n itemStyle: {\n color: getColor(index, 0),\n },\n });\n series.push({\n name:\n this.formatName(material) +\n ' ' +\n i18n.t('report.business_console.materials_non_converted').toString().toLowerCase(),\n type: 'bar',\n stack: material,\n data: this.nonConvWeightData(data, material),\n itemStyle: {\n color: getColor(index, 45),\n },\n });\n });\n return series;\n }\n\n private convWeightData(data: QuotesMaterialsData[], material: string) {\n const seriesData: any[] = [];\n data.map((dataItem) => {\n if (dataItem.mat_group === material) {\n seriesData.push([dataItem.date.toString(), dataItem.converted_weight]);\n }\n });\n return seriesData;\n }\n\n private nonConvWeightData(data: QuotesMaterialsData[], material: string) {\n const seriesData: any[] = [];\n data.map((dataItem) => {\n if (dataItem.mat_group === material) {\n seriesData.push([dataItem.date.toString(), dataItem.weight - dataItem.converted_weight]);\n }\n });\n return seriesData;\n }\n\n private xAxisData(data: QuotesMaterialsData[]): string[] {\n const xAxisData: string[] = data.map((x) => x.date);\n return [...new Set(xAxisData)];\n }\n\n private formatName(name: string) {\n if (name === 'OTHERS') {\n return i18n.t('report.others').toString();\n } else {\n return name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();\n }\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { abbreviateNumber } from '@/utils/number';\nimport { QuotesCustomerEvolutionData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockQuotesCustomerEvolutionData } from './mockWidgetSelectorData';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { XAXisOption } from 'echarts/types/dist/shared';\nimport { metricsService } from '@/services/metrics.service';\n\nexport const NON_CONVERTED_COLOR = '#5470c6';\nexport const CONVERTED_COLOR = '#91cc75';\n\nexport default class QuotesCustomerEvolutionGenerator extends ChartGenerator<\n QuotesCustomerEvolutionData[]\n> {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n customerNo?: string,\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n { startDate, endDate, axisTimespan: timeAxisSpan, customerNo },\n this.controller,\n );\n }\n\n override updateOptions(\n data: QuotesCustomerEvolutionData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const dates = data.map((d) => d.date);\n const uniqueDates = dates\n .filter((date, index) => dates.indexOf(date) === index)\n .sort((a, b) => a.localeCompare(b));\n\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n const customers = data.map((d) => d.bill_to_customer_no_);\n const uniqueCustomers = customers.filter((c, index) => customers.indexOf(c) === index);\n\n return {\n tooltip: {\n show: true,\n confine: true,\n formatter: (params: any) => {\n const [dataType, customer] = params.seriesId.split('-');\n const isConverted = dataType === 'converted';\n const date = isCategoryAxis ? params.name : params.value[0];\n const dataPoint = data.find(\n (point) => point.bill_to_customer_no_ === customer && point.date === date,\n )!;\n return `\n
\n

${date}

\n
\n
\n \n \n ${!isConverted ? '' : ''}${i18n.t(\n 'report.business_console.non_converted_amount',\n )}${!isConverted ? '' : ''}:\n \n
\n
\n ${i18n.n(dataPoint.amount - dataPoint.converted_amount)}\n
\n
\n
\n
\n \n \n ${isConverted ? '' : ''}\n ${i18n.t('report.business_console.converted_amount')}\n ${isConverted ? '' : ''}:\n \n
\n
\n ${i18n.n(dataPoint.converted_amount)}\n
\n
\n
\n
\n ${i18n.t('report.business_console.total_amount')}:\n
\n
\n ${i18n.n(dataPoint.amount)}\n
\n
\n
\n `;\n },\n },\n\n legend: {\n bottom: 0,\n type: 'scroll',\n },\n\n grid: {\n containLabel: true,\n left: '3%',\n right: '4%',\n bottom: 40,\n top: 32,\n },\n\n xAxis: {\n type: isCategoryAxis ? 'category' : 'time',\n data: isCategoryAxis ? uniqueDates : undefined,\n axisLabel: {\n hideOverlap: true,\n },\n } as XAXisOption, // type=category doesn't have data property\n\n yAxis: {\n type: 'value',\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n\n dataZoom: [\n {\n show: false,\n realtime: true,\n height: '2',\n top: '95%',\n },\n {\n show: true,\n type: 'inside',\n realtime: true,\n },\n ],\n\n series: uniqueCustomers.flatMap((customer) => {\n const customerDataItems = data.filter(\n (dataItem) => dataItem.bill_to_customer_no_ === customer,\n );\n const mappedObjects = uniqueDates\n .map((date) => customerDataItems.find((dataItem) => dataItem.date === date)!)\n .filter((dataItem) => !!dataItem);\n return [\n {\n id: `converted-${customer}`,\n type: 'bar' as const,\n name: `${i18n.t('report.business_console.converted')}`,\n data: isCategoryAxis\n ? mappedObjects.map((dataItem) => dataItem?.converted_amount)\n : mappedObjects.map((dataItem) => [dataItem.date, dataItem?.converted_amount]),\n connectNulls: true,\n stack: customer,\n itemStyle: {\n color: CONVERTED_COLOR,\n },\n },\n {\n id: `nonconverted-${customer}`,\n type: 'bar' as const,\n name: `${i18n.t('report.business_console.non_converted')}`,\n data: isCategoryAxis\n ? mappedObjects.map((dataItem) =>\n dataItem ? dataItem.amount - dataItem.converted_amount : dataItem,\n )\n : mappedObjects.map((dataItem) =>\n dataItem\n ? [dataItem.date, dataItem.amount - dataItem.converted_amount]\n : dataItem,\n ),\n connectNulls: true,\n stack: customer,\n itemStyle: {\n color: NON_CONVERTED_COLOR,\n },\n },\n ];\n }),\n };\n }\n\n override getMockData(): QuotesCustomerEvolutionData[] | null {\n return mockQuotesCustomerEvolutionData();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { GeneratorParams } from './generatorParams';\nimport { getColor } from '@/utils/color';\nimport moment from 'moment';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport { SalesCustomerGroupsData } from './chartsData';\nimport { EChartsOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockSalesCustomerGroupsData } from './mockWidgetSelectorData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport default class SalesCustomerGroupsGenerator extends ChartGenerator<\n SalesCustomerGroupsData[]\n> {\n private readonly levels = [\n {\n itemStyle: {\n gapWidth: 5,\n },\n },\n {\n itemStyle: {\n gapWidth: 1,\n },\n },\n ];\n\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n { date: moment().format('YYYY-MM-DD'), startDate, endDate },\n this.controller,\n );\n }\n\n override updateOptions(\n data: SalesCustomerGroupsData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const categories = ['A', 'B', 'C'];\n return {\n title: {\n show: false,\n },\n legend: {\n show: true,\n type: 'scroll',\n itemStyle: {\n color: '#5e5e5e',\n },\n bottom: 0,\n data: [\n i18n.t('report.business_console.sold_amt'),\n i18n.t('report.business_console.invoiced_amt'),\n i18n.t('report.business_console.paid_amt'),\n ],\n selectedMode: 'single',\n },\n tooltip: {\n confine: true,\n formatter: (params: any) => {\n if (!params.data?.path) {\n // root node doesn't have a path\n return '';\n }\n\n const { name, path } = params.data;\n const [category] = path.split('/');\n return `\n ${name} \n ${i18n.t('report.category', { category })}\n \n `;\n },\n },\n series: [\n {\n name: i18n.t('report.business_console.sold_amt').toString(),\n type: 'treemap',\n levels: this.levels,\n breadcrumb: {\n top: 0,\n bottom: 'auto',\n },\n leafDepth: 3,\n data: categories.map((category, i) => ({\n name: category,\n path: category,\n children: data\n .filter((entry) => entry.category_sales === category)\n .map((entry) => ({\n value: entry.sales,\n name: entry.customer,\n path: `${category}/${entry.customer}`,\n })),\n itemStyle: {\n color: getColor(i, 0),\n },\n })),\n },\n {\n name: i18n.t('report.business_console.invoiced_amt').toString(),\n type: 'treemap',\n levels: this.levels,\n breadcrumb: {\n top: 0,\n bottom: 'auto',\n },\n data: categories.map((category, i) => ({\n name: category,\n path: category,\n children: data\n .filter((entry) => entry.category_invoice === category)\n .map((entry) => ({\n value: entry.sales_invoiced,\n name: entry.customer,\n path: `${category}/${entry.customer}`,\n })),\n itemStyle: {\n color: getColor(i, 0),\n },\n })),\n },\n {\n name: i18n.t('report.business_console.paid_amt').toString(),\n type: 'treemap',\n levels: this.levels,\n breadcrumb: {\n top: 0,\n bottom: 'auto',\n },\n data: categories.map((category, i) => ({\n name: category,\n path: category,\n children: data\n .filter((entry) => entry.category_paid === category)\n .map((entry) => ({\n value: entry.invoices_paid,\n name: entry.customer,\n path: `${category}/${entry.customer}`,\n })),\n itemStyle: {\n color: getColor(i, 0),\n },\n })),\n },\n ],\n };\n }\n\n override getMockData(): SalesCustomerGroupsData[] | null {\n return mockSalesCustomerGroupsData();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { abbreviateNumber } from '@/utils/number';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport { SalesTopBySalesData } from './chartsData';\nimport { EChartsOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockTopSalespeopleData } from './mockWidgetSelectorData';\nimport { GeneratorParams } from './generatorParams';\nimport { metricsService } from '@/services/metrics.service';\n\nexport const DEFAULT_TOP_NUMBER = 3;\n\nexport default class SalesTopBySalesGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n customerNo?: string,\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n const topNumber = params?.topNumber || DEFAULT_TOP_NUMBER;\n const kpiName = this.procedure.replace('_detailed', '');\n return metricsService.getSMBSMetricsBC(\n kpiName,\n this.tenantIdDh,\n {\n startDate,\n endDate,\n customerNo,\n paramNumber: topNumber,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: SalesTopBySalesData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const customerNo = parameters.customerNo;\n const max = Math.max(\n data\n .map((entry) => entry.total_converted)\n .reduce((a, b) => (a > b ? a : b), Number.MIN_VALUE),\n data.map((entry) => entry.total_sales).reduce((a, b) => (a > b ? a : b), Number.MIN_VALUE),\n !customerNo\n ? data\n .map((entry) => entry.total_invoice)\n .reduce((a, b) => (a > b ? a : b), Number.MIN_VALUE)\n : Number.MIN_VALUE,\n );\n const { length } = data;\n const gridHeight = (2 * 83) / (length + (length % 2));\n return {\n legend: {\n show: true,\n type: 'scroll',\n bottom: 0,\n },\n tooltip: {\n confine: true,\n formatter: (tooltipData: any) => {\n const entry =\n tooltipData.name !== i18n.t('report.others')\n ? data.find((e) => e.Salesperson === tooltipData.name)!\n : data[data.length - 1];\n let tooltip = `\n
\n

${tooltipData.name}

\n
\n
\n ${\n tooltipData.seriesName === i18n.t('report.business_console.converted_amount')\n ? ''\n : ''\n }\n ${i18n.t('report.business_console.converted_amount')}\n ${\n tooltipData.seriesName === i18n.t('report.business_console.converted_amount')\n ? ''\n : ''\n }\n
\n
\n ${i18n.n(entry.total_converted)}\n
\n
\n
\n
\n ${\n tooltipData.seriesName === i18n.t('report.business_console.sales_amount')\n ? ''\n : ''\n }\n ${i18n.t('report.business_console.sales_amount')}\n ${\n tooltipData.seriesName === i18n.t('report.business_console.sales_amount')\n ? ''\n : ''\n }\n
\n
\n ${i18n.n(entry.total_sales)}\n
\n
\n `;\n if (!customerNo) {\n tooltip =\n tooltip.concat(`
\n
\n ${\n tooltipData.seriesName === i18n.t('report.business_console.invoiced_amount')\n ? ''\n : ''\n }\n ${i18n.t('report.business_console.invoiced_amount')}\n ${\n tooltipData.seriesName === i18n.t('report.business_console.invoiced_amount')\n ? ''\n : ''\n }\n
\n
\n ${i18n.n(entry.total_invoice)}\n
`);\n }\n return tooltip.concat(`\n
\n
\n `);\n },\n },\n xAxis: [...new Array(length).keys()].map((n) => ({\n splitNumber: 3,\n interval: (Math.ceil(max / 100) * 100) / 3,\n type: 'value' as const,\n gridIndex: n,\n max,\n axisLabel: {\n show: this.showXAxisLabels(length, n),\n margin: 4,\n formatter: (value: number) => abbreviateNumber(value),\n fontSize: parameters.clientWidth! < 357 ? 10 : 12,\n },\n })),\n yAxis: [...new Array(length).keys()].map((n) => ({\n type: 'category' as const,\n inverse: true,\n data: [n !== length - 1 ? data[n].Salesperson : i18n.t('report.others')],\n gridIndex: n,\n axisLabel: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n })),\n grid: [...new Array(length).keys()].map((n) => ({\n top: `${gridHeight * (n % ((length + (length % 2)) / 2))}%`,\n height: `${gridHeight}%`,\n right: n >= length / 2 ? '5%' : '54%',\n left: n < length / 2 ? '5%' : '54%',\n })),\n series: [...new Array(length).keys()].flatMap((n) =>\n [\n {\n name: i18n.t('report.business_console.converted_amount').toString(),\n data: [data[n].total_converted],\n label: {\n position: [5, '50%'],\n verticalAlign: 'middle' as const,\n textBorderWidth: -1,\n formatter: '{b}',\n show: true,\n },\n },\n {\n name: i18n.t('report.business_console.sales_amount').toString(),\n data: [data[n].total_sales],\n },\n !customerNo && {\n name: i18n.t('report.business_console.invoiced_amount').toString(),\n data: [data[n].total_invoice],\n },\n ]\n .filter((d) => !!d)\n .map((d) => ({\n ...d,\n type: 'bar' as const,\n xAxisIndex: n,\n yAxisIndex: n,\n z: 0,\n })),\n ),\n };\n }\n\n override getMockData(): SalesTopBySalesData[] | null {\n return mockTopSalespeopleData();\n }\n\n private showXAxisLabels(length: number, index: number): boolean {\n if (length % 2 === 0) {\n return (index + 1) % (length / 2) === 0;\n } else {\n return (index + 1) % Math.ceil(length / 2) === 0 || index + 1 === length;\n }\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { GeneratorParams } from './generatorParams';\nimport moment from 'moment';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport { SalesFunnelData } from './chartsData';\nimport { EChartsOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockSalesFunnelData } from './mockWidgetSelectorData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport default class SalesFunnelGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n const date = moment().format('YYYY-MM-DD');\n const basedOnHistoricalData = params?.ratio ?? false;\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n { date, startDate, endDate, axisTimespan: timeAxisSpan, basedOnHistoricalData },\n this.controller,\n );\n }\n\n override updateOptions(\n data: SalesFunnelData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const [datum] = data;\n const noTarget = this.targetIsNull(datum);\n const currentIsZero = this.currentIsZero(datum);\n const max = Object.values(datum).reduce((a, b) => (a > b ? a : b), Number.MIN_VALUE);\n const currentData = {\n name: 'current',\n type: 'funnel' as const,\n left: '10%',\n width: '80%',\n sort: 'none' as const,\n data: [\n {\n value: datum.quotes,\n name: i18n.t('report.quotes').toString(),\n itemStyle: {\n color: '#5470c6',\n },\n },\n {\n value: datum.quotes_converted,\n name: i18n.t('report.business_console.converted').toString(),\n itemStyle: {\n color: '#91cc75',\n },\n },\n {\n value: datum.sold,\n name: i18n.t('report.sales').toString(),\n itemStyle: {\n color: '#fac858',\n },\n },\n {\n value: datum.invoiced,\n name: i18n.t('report.business_console.invoiced_amt').toString(),\n itemStyle: {\n color: '#ee6666',\n },\n },\n {\n value: datum.paid,\n name: i18n.t('report.business_console.paid_amt').toString(),\n itemStyle: {\n color: '#73c0de',\n },\n },\n ],\n z: this.currentZIndex(datum),\n itemStyle: {\n opacity: 1,\n borderColor: '#fff',\n borderWidth: 2,\n },\n label: { show: false },\n labelLine: {\n show: false,\n },\n emphasis: {\n label: {\n show: false,\n },\n },\n top: 0,\n bottom: '12%',\n max,\n };\n const targetData = {\n name: 'target',\n type: 'funnel' as const,\n left: '10%',\n width: '80%',\n sort: 'none' as const,\n data: [\n {\n value: datum.quotes_target,\n name: i18n.t('report.quotes').toString(),\n itemStyle: {\n color: '#90a2da',\n },\n },\n {\n value: datum.quotes_converted_target,\n name: i18n.t('report.business_console.converted').toString(),\n itemStyle: {\n color: '#b7dea5',\n },\n },\n {\n value: datum.sold_target,\n name: i18n.t('report.sales').toString(),\n itemStyle: {\n color: '#fbdb92',\n },\n },\n {\n value: datum.invoiced_target,\n name: i18n.t('report.business_console.invoiced_amt').toString(),\n itemStyle: {\n color: '#f49b9b',\n },\n },\n {\n value: datum.paid_target,\n name: i18n.t('report.business_console.paid_amt').toString(),\n itemStyle: {\n color: '#a4d6e9',\n },\n },\n ],\n label: { show: false },\n labelLine: {\n show: false,\n },\n emphasis: {\n label: {\n show: false,\n },\n },\n z: this.targetZIndex(datum),\n top: 0,\n bottom: '12%',\n max,\n };\n\n const series = [];\n\n if (!currentIsZero) {\n series.push(currentData);\n }\n\n if (!noTarget) {\n series.push(targetData);\n }\n\n return {\n title: {\n show: false,\n },\n legend: {\n data: [\n i18n.t('report.quotes'),\n i18n.t('report.business_console.converted'),\n i18n.t('report.sales'),\n i18n.t('report.business_console.invoiced_amt'),\n i18n.t('report.business_console.paid_amt'),\n ],\n type: 'scroll',\n bottom: 0,\n top: 'auto',\n },\n tooltip: {\n trigger: 'item',\n confine: true,\n formatter: (params: any) => {\n const { seriesName, name } = params;\n const expectedTooltip = `\n
\n
\n ${seriesName === 'target' ? '' : ''}\n ${i18n.t('report.business_console.expected')}\n ${seriesName === 'target' ? '' : ''}\n
\n
${i18n.n(\n Math.round(this.getExpectedValue(datum, name) * 100) / 100,\n )}
\n
\n `;\n const currentTooltip = `\n
\n
\n ${seriesName === 'current' ? '' : ''}\n ${i18n.t('report.current')}\n ${seriesName === 'current' ? '' : ''}\n
\n
${i18n.n(\n Math.round(this.getCurrentValue(datum, name) * 100) / 100,\n )}
\n
\n `;\n return `\n

${name}

\n ${noTarget ? '' : expectedTooltip}\n ${currentIsZero ? '' : currentTooltip}\n `;\n },\n },\n series,\n };\n }\n\n override getMockData(): SalesFunnelData[] | null {\n return mockSalesFunnelData();\n }\n\n private targetIsNull(data: SalesFunnelData): boolean {\n return [\n data.paid_target,\n data.invoiced_target,\n data.sold_target,\n data.quotes_converted_target,\n data.quotes_target,\n ].every((t) => t === null);\n }\n\n private currentIsZero(data: SalesFunnelData): boolean {\n return [data.paid, data.invoiced, data.sold, data.quotes_converted, data.quotes].every(\n (t) => t === 0,\n );\n }\n\n private getExpectedValue(data: SalesFunnelData, key: string): number {\n switch (key) {\n case i18n.t('report.quotes'):\n return data.quotes_target;\n case i18n.t('report.business_console.converted'):\n return data.quotes_converted_target;\n case i18n.t('report.sales'):\n return data.sold_target;\n case i18n.t('report.business_console.invoiced_amt'):\n return data.invoiced_target;\n case i18n.t('report.business_console.paid_amt'):\n return data.paid_target;\n default:\n return 0;\n }\n }\n\n private getCurrentValue(data: SalesFunnelData, key: string): number {\n switch (key) {\n case i18n.t('report.quotes'):\n return data.quotes;\n case i18n.t('report.business_console.converted'):\n return data.quotes_converted;\n case i18n.t('report.sales'):\n return data.sold;\n case i18n.t('report.business_console.invoiced_amt'):\n return data.invoiced;\n case i18n.t('report.business_console.paid_amt'):\n return data.paid;\n default:\n return 0;\n }\n }\n\n private targetZIndex(data: SalesFunnelData) {\n return this.isTargetAbove(data) ? 100 : 0;\n }\n\n private currentZIndex(data: SalesFunnelData) {\n return this.isTargetAbove(data) ? 0 : 100;\n }\n\n private isTargetAbove(data: SalesFunnelData): boolean {\n return (\n [\n data.quotes - data.quotes_target,\n data.quotes_converted - data.quotes_converted_target,\n data.sold - data.sold_target,\n data.invoiced - data.invoiced_target,\n data.paid - data.paid_target,\n ].reduce((a, b) => a + b, 0) >= 0\n );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport i18n from '@/i18n';\nimport { Tenant } from '../tenant';\nimport { CuttingTimePerGasData } from './chartsData';\nimport { EChartsOption, BarSeriesOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { DetailedViewEnum } from '../enums/WidgetEnum';\nimport { metricsService } from '@/services/metrics.service';\nimport { tenantsService } from '@/services/tenants.service';\n\nexport class CuttingTimePerGasGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: CuttingTimePerGasData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const seriesName = (key: string) => {\n if (data.every((x) => x.gas_type === null)) {\n return i18n.t('report.cutting_time').toString();\n } else if (this.procedure === DetailedViewEnum.LaserTodaysGas) {\n return Tenant.gasName(this.tenant, key);\n } else if (this.procedure === DetailedViewEnum.TubesCuttingTimePerGas && key !== null) {\n return key;\n }\n return i18n.t('report.unknown').toString();\n };\n\n const barSeries: BarSeriesOption[] = data\n .filter((d) => d.cutting_time !== 0)\n .map((d) => ({\n type: 'bar',\n name: seriesName(d.gas_type),\n data: [d.cutting_time],\n emphasis: {\n focus: 'series',\n },\n }));\n\n return {\n legend: {\n bottom: 0,\n selectedMode: barSeries.length !== 1,\n },\n title: {\n text: parameters.title,\n textStyle: {\n fontWeight: 'normal',\n fontFamily: 'Inter',\n },\n },\n tooltip: {\n trigger: 'axis',\n showContent: false,\n confine: true,\n },\n xAxis: {\n type: 'category',\n data: [i18n.t('today').toString()],\n axisPointer: {\n type: 'none',\n },\n },\n yAxis: {\n gridIndex: 0,\n name: parameters.yAxisName ?? '',\n },\n grid: { right: '50%' },\n series: [\n ...barSeries,\n {\n type: 'pie',\n id: 'pie',\n radius: '50%',\n center: ['75%', '50%'],\n emphasis: {\n focus: 'self',\n },\n label: {\n formatter: '{b}: {@value}h\\n{d}%',\n },\n data: data\n .filter((d) => d.cutting_time !== 0)\n .map((d) => ({\n name: seriesName(d.gas_type),\n value: d.cutting_time,\n })),\n },\n ],\n };\n }\n\n private get tenant(): Tenant {\n return tenantsService.store.current()!;\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport moment from 'moment';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport { getStateColour } from '@/utils/color';\nimport { CutStatesIntradayData } from './chartsData';\nimport { EChartsOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { metricsService } from '@/services/metrics.service';\n\nexport default class CutStatesIntradayGenerator extends ChartGenerator {\n private readonly states: string[] = ['wait', 'error', 'idle', 'stop', 'offline', 'work'];\n\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n },\n this.controller,\n );\n }\n\n updateLegend() {\n return this.onlyLegend();\n }\n\n override updateOptions(\n data: CutStatesIntradayData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const device = parameters.device;\n const omittedStates = parameters.omittedStates;\n\n return {\n textStyle: {\n fontFamily: 'Inter',\n },\n title: {\n text: device,\n top: 'bottom',\n textAlign: 'center',\n left: 'middle',\n textStyle: {\n fontSize: 15,\n fontWeight: 'normal',\n },\n },\n grid: [\n {\n top: '8%',\n left: '8%',\n right: '8%',\n bottom: '20%',\n },\n ],\n xAxis: {\n type: 'time',\n axisLabel: {\n show: true,\n },\n show: data.length !== 0,\n },\n yAxis: {\n type: 'value',\n },\n tooltip: {\n trigger: 'axis',\n confine: true,\n formatter: (params: any) => {\n return `\n
\n ${moment(params[0].axisValue).format('HH:mm')}\n
\n `.concat(\n ...params.map(\n (series: any) => `\n
\n
${series.marker} ${series.seriesName}
\n
${Math.round(series.value[1] * 100) / 100}
\n
\n `,\n ),\n );\n },\n },\n legend: {\n show: false,\n },\n series: this.states\n .filter((state) => !omittedStates!.includes(i18n.t(`report.${state}`).toString()))\n .map((state) => ({\n name: i18n.t(`report.${state}`).toString(),\n type: 'line',\n symbol: 'none',\n itemStyle: {\n color: getStateColour(state),\n },\n data: data.flatMap((entry) =>\n entry.last\n ? [\n [entry.timestamp, (entry as any)[`${state}_time`]],\n [moment(entry.timestamp).add(1, 'second').toISOString(), null],\n [moment(entry.timestamp).add(2, 'seconds').toISOString(), 0],\n ]\n : [[entry.timestamp, (entry as any)[`${state}_time`]]],\n ),\n })),\n graphic:\n data.length === 0\n ? {\n elements: [\n {\n type: 'text',\n top: 'middle',\n left: 'center',\n style: {\n text: 'No data',\n font: '1rem Inter',\n },\n },\n ],\n }\n : undefined,\n };\n }\n\n private onlyLegend() {\n return {\n textStyle: {\n fontFamily: 'Inter',\n },\n xAxis: {\n show: false,\n },\n yAxis: {\n show: false,\n },\n legend: {\n top: 0,\n type: 'scroll' as const,\n },\n series: this.states.map((state) => ({\n name: i18n.t(`report.${state}`).toString(),\n type: 'line' as const,\n symbol: 'none',\n itemStyle: {\n color: getStateColour(state),\n },\n })),\n };\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { currency } from '@/utils/currency';\nimport { userTargetsService } from '@/services/userTargets.service';\nimport { TargetsMetric } from '../enums/TargetsMetric';\nimport { abbreviateNumber, numberWithCurrency } from '@/utils/number';\nimport { UnpaidSalesDistributionData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport moment from 'moment';\nimport { mockSalesUnpaidDistributionData } from './mockWidgetSelectorData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class SalesUnpaidDistributionGenerator extends ChartGenerator<\n UnpaidSalesDistributionData[]\n> {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n const target =\n userTargetsService.store.get(TargetsMetric.SalesUnpaidDistribution)?.target1 ?? 0;\n const belowTarget = params?.belowTarget ?? false;\n const date = moment().format('YYYY-MM-DD');\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n { target, belowTarget, date, startDate, endDate },\n this.controller,\n );\n }\n\n override updateOptions(\n data: UnpaidSalesDistributionData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow',\n },\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: this.formatter(data),\n },\n legend: {\n bottom: 0,\n type: 'scroll',\n },\n grid: [\n {\n left: parameters.clientWidth! > 350 ? '7%' : '13%',\n right: '5%',\n bottom: 42,\n top: 32,\n },\n {\n left: parameters.clientWidth! > 350 ? '7%' : '13%',\n right: '5%',\n bottom: 42,\n top: 32,\n },\n ],\n xAxis: [\n {\n type: 'category',\n show: false,\n },\n {\n name: currency(),\n type: 'value',\n show: true,\n position: 'bottom',\n splitLine: {\n show: false,\n },\n splitNumber: 8,\n min: data[0].bin_start,\n max: data[6].bin_end,\n interval: data[0].bin_end - data[0].bin_start,\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n ],\n yAxis: [\n {\n type: 'value',\n splitLine: {\n show: true,\n lineStyle: {\n color: '#f4f4f4',\n width: 1,\n },\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n },\n {\n gridIndex: 1,\n type: 'value',\n show: false,\n },\n ],\n series: this.series(data),\n };\n }\n\n override getMockData(): UnpaidSalesDistributionData[] | null {\n return mockSalesUnpaidDistributionData();\n }\n\n private formatter(data: UnpaidSalesDistributionData[]) {\n return (params: any) => {\n const bin = data.filter((_, index: number) => index === params[0].dataIndex);\n let res = `

${numberWithCurrency(bin[0].bin_start)}\n - ${numberWithCurrency(bin[0].bin_end)}

`;\n res += params\n .map((item: any) => {\n return (\n `

${item.marker} ${item.seriesName}:` +\n `${i18n.n(item.data, {\n maximumFractionDigits: 2,\n })}

`\n );\n })\n .join('');\n res +=\n `

${i18n.t('report.business_console.total_sales_orders')}:` +\n `${i18n.n(\n bin[0].freq_not_invoiced +\n bin[0].freq_not_paid_not_expired +\n bin[0].freq_not_paid_expired,\n {\n maximumFractionDigits: 2,\n },\n )}

`;\n res +=\n `

${i18n.t('report.business_console.max_expired_days')}:` +\n `${i18n.n(bin[0].expired_days, {\n maximumFractionDigits: 2,\n })}

`;\n return res;\n };\n }\n\n private series(data: UnpaidSalesDistributionData[]) {\n return [\n {\n name: i18n.t('report.business_console.freq_not_invoiced').toString(),\n type: 'bar' as const,\n stack: 'one',\n data: this.data(data, 'freq_not_invoiced'),\n barWidth: '100%',\n },\n {\n name: i18n.t('report.business_console.freq_not_paid_not_expired').toString(),\n type: 'bar' as const,\n stack: 'one',\n data: this.data(data, 'freq_not_paid_not_expired'),\n barWidth: '100%',\n },\n {\n name: i18n.t('report.business_console.freq_not_paid_expired').toString(),\n type: 'bar' as const,\n stack: 'one',\n data: this.data(data, 'freq_not_paid_expired'),\n barWidth: '100%',\n color: '#ee6666',\n },\n ];\n }\n\n private data(data: UnpaidSalesDistributionData[], dataName: keyof UnpaidSalesDistributionData) {\n return data.map((item) => item[dataName]);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport moment from 'moment';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport { OpenSalesFunnelData } from './chartsData';\nimport { EChartsOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockOpenSalesFunnelData } from './mockWidgetSelectorData';\nimport { GeneratorParams } from './generatorParams';\nimport { metricsService } from '@/services/metrics.service';\n\nexport default class OpenSalesFunnelGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n ) {\n const startDate = this.getStartDateOrUndefined(timeSpan);\n const endDate = this.getEndDateOrUndefined(timeSpan);\n const date = moment().format('YYYY-MM-DD');\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n { date, startDate, endDate, axisTimespan: timeAxisSpan },\n this.controller,\n );\n }\n\n override updateOptions(\n data: OpenSalesFunnelData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const datum = data[0];\n const noTotal = this.totalIsNull(datum);\n const openIsZero = this.openIsZero(datum);\n const max = Object.values(datum).reduce((a, b) => (a > b ? a : b), Number.MIN_VALUE);\n const openData = {\n name: 'open',\n type: 'funnel' as const,\n left: '10%',\n width: '80%',\n sort: 'none' as const,\n data: [\n {\n value: datum.open_quotes,\n name: i18n.t('report.quotes').toString(),\n itemStyle: {\n color: '#5470c6',\n },\n },\n {\n value: datum.open_sold,\n name: i18n.t('report.business_console.nSalesOrders').toString(),\n itemStyle: {\n color: '#fac858',\n },\n },\n {\n value: datum.open_invoiced,\n name: i18n.t('report.business_console.invoices').toString(),\n itemStyle: {\n color: '#ee6666',\n },\n },\n ],\n z: this.currentZIndex(datum),\n itemStyle: {\n opacity: 1,\n borderColor: '#fff',\n borderWidth: 2,\n },\n label: { show: false },\n labelLine: {\n show: false,\n },\n emphasis: {\n label: {\n show: false,\n },\n },\n top: 0,\n bottom: '12%',\n max,\n };\n const totalData = {\n name: 'total',\n type: 'funnel' as const,\n left: '10%',\n width: '80%',\n sort: 'none' as const,\n data: [\n {\n value: datum.quotes,\n name: i18n.t('report.quotes').toString(),\n itemStyle: {\n color: '#90a2da',\n },\n },\n {\n value: datum.sold,\n name: i18n.t('report.business_console.nSalesOrders').toString(),\n itemStyle: {\n color: '#fbdb92',\n },\n },\n {\n value: datum.invoiced,\n name: i18n.t('report.business_console.invoices').toString(),\n itemStyle: {\n color: '#f49b9b',\n },\n },\n ],\n label: { show: false },\n labelLine: {\n show: false,\n },\n emphasis: {\n label: {\n show: false,\n },\n },\n z: this.targetZIndex(datum),\n top: 0,\n bottom: '12%',\n max,\n };\n\n const series = [];\n\n if (!openIsZero) {\n series.push(openData);\n }\n\n if (!noTotal) {\n series.push(totalData);\n }\n\n return {\n title: {\n show: false,\n },\n legend: {\n data: [\n i18n.t('report.quotes'),\n i18n.t('report.business_console.nSalesOrders'),\n i18n.t('report.business_console.invoices'),\n ],\n type: 'scroll',\n bottom: 0,\n top: 'auto',\n },\n tooltip: {\n trigger: 'item',\n confine: true,\n formatter: (params: any) => {\n const { seriesName, name } = params;\n const expectedTooltip = `\n
\n
\n ${seriesName === 'target' ? '' : ''}\n ${i18n.t('report.business_console.open')}\n ${seriesName === 'target' ? '' : ''}\n
\n
${i18n.n(\n Math.round(this.getOpenValue(datum, name) * 100) / 100,\n )}
\n
\n `;\n const currentTooltip = `\n
\n
\n ${seriesName === 'current' ? '' : ''}\n ${i18n.t('report.business_console.total')}\n ${seriesName === 'current' ? '' : ''}\n
\n
${i18n.n(\n Math.round(this.getTotalValue(datum, name) * 100) / 100,\n )}
\n
\n `;\n return `\n

${name}

\n ${noTotal ? '' : expectedTooltip}\n ${openIsZero ? '' : currentTooltip}\n `;\n },\n },\n series,\n };\n }\n\n override getMockData(): OpenSalesFunnelData[] | null {\n return mockOpenSalesFunnelData();\n }\n\n private totalIsNull(data: OpenSalesFunnelData): boolean {\n return [data.quotes, data.sold, data.invoiced].every((t) => t === null);\n }\n\n private openIsZero(data: OpenSalesFunnelData): boolean {\n return [data.open_quotes, data.open_sold, data.open_invoiced].every((t) => t === 0);\n }\n\n private getOpenValue(data: OpenSalesFunnelData, key: string): number {\n switch (key) {\n case i18n.t('report.quotes'):\n return data.open_quotes;\n case i18n.t('report.business_console.nSalesOrders'):\n return data.open_sold;\n case i18n.t('report.business_console.invoices'):\n return data.open_invoiced;\n default:\n return 0;\n }\n }\n\n private getTotalValue(data: OpenSalesFunnelData, key: string): number {\n switch (key) {\n case i18n.t('report.quotes'):\n return data.quotes;\n case i18n.t('report.business_console.nSalesOrders'):\n return data.sold;\n case i18n.t('report.business_console.invoices'):\n return data.invoiced;\n default:\n return 0;\n }\n }\n\n private targetZIndex(data: OpenSalesFunnelData) {\n return this.isTargetAbove(data) ? 100 : 0;\n }\n\n private currentZIndex(data: OpenSalesFunnelData) {\n return this.isTargetAbove(data) ? 0 : 100;\n }\n\n private isTargetAbove(data: OpenSalesFunnelData): boolean {\n return (\n [\n data.open_quotes - data.quotes,\n data.open_sold - data.sold,\n data.open_invoiced - data.invoiced,\n ].reduce((a, b) => a + b, 0) >= 0\n );\n }\n\n private getStartDateOrUndefined(\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): string | undefined {\n return (timeSpan as [string, string])?.[0];\n }\n\n private getEndDateOrUndefined(\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): string | undefined {\n return (timeSpan as [string, string])?.[1];\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { poStatusToColor } from '@/utils/color';\nimport { WidgetEnum } from '../enums/WidgetEnum';\nimport { POTreemapData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport {\n mockManufacturingReleasedPOStatus,\n mockManufacturingPOStatusData,\n} from './mockWidgetSelectorData';\nimport { Logger } from '@/utils/logger';\nimport { metricsService } from '@/services/metrics.service';\n\nconst levels = ['status', 'routing'];\nconst STATUS_LEVEL = 1;\n\nexport class POTreemapGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSMBSMetricsSFC(\n this.procedure,\n this.tenantIdDh,\n { startDate, endDate },\n this.controller,\n );\n }\n\n override updateOptions(\n data: POTreemapData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const dimensionSpecifier = (info: any, index: number) => {\n const levelText: string = i18n.t(`report.shop_floor_console.${levels[index]}`).toString();\n return `\n

${levelText}\n ${info.name}

`;\n };\n\n return {\n tooltip: {\n show: true,\n confine: true,\n formatter: (params: any) => {\n return (\n params.treeAncestors.slice(1).map(dimensionSpecifier).join('\\n') +\n `\n

${i18n.t('report.shop_floor_console.estimated_time')}\n ${i18n.n(params.value, {\n maximumFractionDigits: 2,\n })}h

`\n );\n },\n },\n series: [\n {\n type: 'treemap',\n breadcrumb: {\n show: true,\n top: 0,\n bottom: 'auto',\n },\n leafDepth: 1,\n data: this.recursion(0, '', data).children ?? [],\n levels: [\n {\n colorSaturation: [0.3, 0.6],\n itemStyle: {\n borderColorSaturation: 0.7,\n gapWidth: 2,\n borderWidth: 2,\n },\n },\n {\n colorSaturation: [0.3, 0.5],\n itemStyle: {\n borderColorSaturation: 0.6,\n gapWidth: 1,\n },\n },\n {\n colorSaturation: [0.3, 0.5],\n },\n ],\n },\n ],\n };\n }\n\n override getMockData(): POTreemapData[] | null {\n switch (this.procedure) {\n case WidgetEnum.ManufacturingPOStatus:\n return mockManufacturingPOStatusData();\n case WidgetEnum.ManufacturingReleasedPOStatus:\n return mockManufacturingReleasedPOStatus();\n default:\n Logger.error(`Missing mock data for ${this.procedure}`);\n return null;\n }\n }\n\n private recursion(level: number, distinctValue: string, data: POTreemapData[]) {\n if (level === levels.length) {\n return {\n name: (data[0] as any)[levels[levels.length - 1]],\n value: data[0].estimated_time,\n nPOs: data[0].nPOs,\n nPOLs: data[0].nPOLs,\n };\n }\n const dimension: string = levels[level];\n interface Child {\n name: string;\n value: number;\n nPOs: number;\n nPOLs: number;\n children?: Child[];\n label?: any;\n }\n const children: Child[] = [];\n const distinctValues: string[] = [...new Set(data.map((x: any) => x[dimension]))];\n distinctValues.forEach((distinctValueEntry: string) => {\n const obj = this.recursion(\n level + 1,\n distinctValueEntry,\n data.filter((dataItem: any) => dataItem[dimension] === distinctValueEntry),\n );\n children.push(obj);\n });\n let value: number = 0;\n let nPOs: number = 0;\n let nPOLs: number = 0;\n children.forEach((c: Child) => {\n value += c.value;\n nPOs += c.nPOs;\n nPOLs += c.nPOLs;\n });\n return {\n name:\n level === STATUS_LEVEL\n ? i18n\n .t(`report.shop_floor_console.${distinctValue.toLowerCase().replaceAll(' ', '_')}`)\n .toString()\n : distinctValue,\n value,\n nPOs,\n nPOLs,\n children,\n itemStyle: {\n color: level === STATUS_LEVEL ? poStatusToColor(distinctValue) : undefined,\n },\n label: {\n show: true,\n position: 'insideTopLeft',\n formatter: (params: any) =>\n this.procedure === WidgetEnum.ManufacturingReleasedPOStatus\n ? `${params.name}\\n{hr|}\\n${i18n.n(params.data.nPOLs)}{label|${i18n.t(\n 'report.manufacturing_console.orders',\n )}}`\n : [\n `${params.name}\\n{hr|}\\n${i18n.n(params.data.nPOs)}{label|${i18n.t(\n 'report.manufacturing_console.orders',\n )}}`,\n `${i18n.n(params.data.nPOLs)}{label|${i18n.t(\n 'report.manufacturing_console.lines',\n )}}`,\n ].join('\\n'),\n rich: {\n budget: {\n fontSize: 22,\n lineHeight: 30,\n color: 'yellow',\n },\n household: {\n fontSize: 14,\n color: '#fff',\n },\n label: {\n fontSize: 9,\n backgroundColor: 'rgba(0,0,0,0.3)',\n color: '#fff',\n borderRadius: 2,\n padding: [2, 4],\n lineHeight: 25,\n align: 'right',\n },\n name: {\n fontSize: 12,\n color: '#fff',\n },\n hr: {\n width: '100%',\n borderColor: 'rgba(255,255,255,0.2)',\n borderWidth: 0.5,\n height: 0,\n lineHeight: 10,\n },\n },\n },\n };\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport moment from 'moment';\nimport { currency } from '@/utils/currency';\nimport i18n from '@/i18n';\nimport { getColor } from '@/utils/color';\nimport { abbreviateNumber, numberWithCurrency } from '@/utils/number';\nimport { QuotesSizeData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockQuotesSizeData } from './mockWidgetSelectorData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class QuotesSizeGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n private getLimits(\n params: Record | undefined,\n ): [number, number] | [undefined, undefined] {\n if (!params?.amountFilter) {\n return [undefined, undefined];\n }\n const keys = [...Object.keys(params.amountFilter).map((x) => Number(x))];\n const startAmountIndex = Math.min(...keys);\n const endAmountIndex = Math.max(...keys);\n return [params.amountFilter[startAmountIndex], params.amountFilter[endAmountIndex]];\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n const groupNumber = params?.groupNumber || 5;\n const date = moment().format('YYYY-MM-DD');\n const [startAmount, endAmount] = this.getLimits(params);\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n {\n startDate,\n endDate,\n groupNumber,\n date,\n startAmount,\n endAmount,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: QuotesSizeData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow',\n },\n extraCssText: 'z-index:1',\n confine: true,\n formatter: this.formatter(data),\n },\n legend: {\n bottom: 0,\n type: 'scroll',\n },\n grid: [\n {\n left: '9%',\n right: '5%',\n bottom: 42,\n top: 32,\n },\n {\n left: '9%',\n right: '5%',\n bottom: 42,\n top: 32,\n },\n ],\n xAxis: [\n {\n type: 'category',\n show: false,\n },\n {\n name: currency(),\n type: 'value',\n show: true,\n position: 'bottom',\n splitLine: {\n show: false,\n },\n splitNumber: 30,\n min: data[0].bin_start,\n max: data[29].bin_end,\n interval: (data[0].bin_end - data[0].bin_start) * 3,\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n ],\n yAxis: [\n {\n type: 'value',\n splitLine: {\n show: true,\n lineStyle: {\n color: '#f4f4f4',\n width: 1,\n },\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n },\n {\n gridIndex: 1,\n type: 'value',\n show: false,\n },\n ],\n series: this.series(data),\n };\n }\n\n override getMockData(): QuotesSizeData[] | null {\n return mockQuotesSizeData();\n }\n\n private formatter(data: QuotesSizeData[]) {\n return (params: any) => {\n const bin = data.filter((_, index: number) => index === params[0].dataIndex);\n let res = `\n
${numberWithCurrency(bin[0].bin_start)}\n - ${numberWithCurrency(bin[0].bin_end)}
`;\n res += params\n .map((item: any) => {\n return `
\n
${item.marker} ${\n item.seriesName\n }:
\n
${i18n.n(item.data, { maximumFractionDigits: 2 })}
\n
`;\n })\n .join('');\n res += `
\n
${i18n.t(\n 'report.business_console.total_quotes',\n )}:
\n
${i18n.n(bin[0].not_open_quotes + bin[0].open_quotes, {\n maximumFractionDigits: 2,\n })}
\n
`;\n return res;\n };\n }\n\n private series(data: QuotesSizeData[]) {\n return [\n {\n name: i18n.t('report.business_console.not_open_quotes').toString(),\n type: 'bar' as const,\n stack: 'one',\n data: this.data(data, 'not_open_quotes'),\n barWidth: '100%',\n itemStyle: {\n color: getColor(0, 0),\n },\n },\n {\n name: i18n.t('report.business_console.open_quotes').toString(),\n type: 'bar' as const,\n stack: 'one',\n data: this.data(data, 'open_quotes'),\n barWidth: '100%',\n itemStyle: {\n color: getColor(0, 45),\n },\n },\n {\n type: 'line' as const,\n xAxisIndex: 1,\n markLine: {\n data: this.divisors(data, 'divisor'),\n symbol: 'none' as const,\n lineStyle: {\n width: 2,\n },\n label: {\n show: false,\n },\n },\n itemStyle: {\n color: getColor(1, 0),\n },\n },\n ];\n }\n\n private data(data: QuotesSizeData[], dataName: keyof QuotesSizeData) {\n return data.map((item) => item[dataName] as number);\n }\n\n private divisors(data: QuotesSizeData[], dataName: keyof QuotesSizeData) {\n return data\n .filter((item) => item[dataName] !== null)\n .map((item) => new Object({ xAxis: item[dataName] }));\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { versionIsGreaterThanOrEqualTo } from '@/utils/version';\nimport { CuttingHeadVersionInformation } from './chartsData';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { isCategoryAxisDateGrouping, isCategoryXAxis } from '@/utils/charts';\nimport { isNil, valueOrDefault } from '@/utils/misc';\nimport i18n from '@/i18n';\nimport { ScatterDataItemOption } from 'echarts/types/src/chart/scatter/ScatterSeries';\nimport { uniq } from '@/utils/array';\n\nexport const CUTTING_HEAD_VERSION_CHANGE_SYMBOL =\n 'path://M 26.79,25.50 C 26.79,25.50 37.23,25.50 37.23,25.50 37.23,25.50 37.23,26.86 37.23,26.86 37.23,27.59 36.94,28.28 36.43,28.79 36.43,28.79 32.21,33.03 32.21,33.03 32.10,33.13 31.92,33.13 31.82,33.03 31.82,33.03 27.59,28.80 27.59,28.80 27.08,28.28 26.79,27.59 26.79,26.86 26.79,26.86 26.79,25.50 26.79,25.50 Z M 29.59,35.25 C 29.84,35.50 30.13,35.69 30.44,35.85 30.44,35.85 30.44,39.10 30.44,39.10 30.44,39.97 31.14,40.67 32.01,40.67 32.88,40.67 33.58,39.97 33.58,39.10 33.58,39.10 33.58,35.86 33.58,35.86 33.89,35.70 34.18,35.50 34.43,35.25 34.43,35.25 38.66,31.01 38.66,31.01 39.76,29.90 40.37,28.43 40.37,26.86 40.37,26.86 40.37,14.83 40.37,14.83 40.37,13.96 39.67,13.26 38.80,13.26 37.93,13.26 37.23,13.96 37.23,14.83 37.23,14.83 37.23,22.35 37.23,22.35 37.23,22.35 26.79,22.35 26.79,22.35 26.79,22.35 26.79,14.83 26.79,14.83 26.79,13.96 26.09,13.26 25.22,13.26 24.35,13.26 23.65,13.96 23.65,14.83 23.65,14.83 23.65,26.86 23.65,26.86 23.65,28.43 24.26,29.90 25.37,31.02 25.37,31.02 29.59,35.25 29.59,35.25 Z M 50.30,35.82 C 50.30,35.82 42.13,30.52 42.13,30.52 41.71,31.43 41.14,32.27 40.41,33.00 40.41,33.00 40.32,33.09 40.32,33.09 40.32,33.09 46.56,37.14 46.56,37.14 46.56,37.14 32.20,46.44 32.20,46.44 32.20,46.44 17.51,37.14 17.51,37.14 17.51,37.14 23.78,33.17 23.78,33.17 23.78,33.17 23.61,33.00 23.61,33.00 22.91,32.29 22.35,31.49 21.93,30.62 21.93,30.62 13.73,35.81 13.73,35.81 13.28,36.10 13.00,36.60 13.00,37.14 13.00,37.68 13.28,38.18 13.73,38.46 13.73,38.46 31.37,49.63 31.37,49.63 31.63,49.80 31.92,49.88 32.21,49.88 32.51,49.88 32.81,49.79 33.07,49.62 33.07,49.62 50.30,38.46 50.30,38.46 50.75,38.16 51.02,37.67 51.02,37.14 51.02,36.60 50.75,36.11 50.30,35.82';\n\nexport const FIELD_MARKING_HEAD_VERSION_CHANGE: keyof CuttingHeadVersionInformation =\n 'cuttingHeadSoftwareVersion';\n\nexport const HEAD_VERSION_CHANGE_MARK_VALUE = 0;\n\nexport function doesAllDataComeFromNewerCuttingHeadSoftware(data: CuttingHeadVersionInformation[]) {\n const historyVersions = data\n .filter((d) => !!d.cuttingHeadSoftwareVersion)\n .map((d) => d.cuttingHeadSoftwareVersion!);\n return (\n historyVersions.length > 0 &&\n historyVersions.every((d) => versionIsGreaterThanOrEqualTo('4.0', d))\n );\n}\n\nexport function cuttingHeadDataHasCategoryAxis(\n timeAxisSpan: FilterTimeAxisSpanEnum | undefined,\n data: Array,\n) {\n return isCategoryXAxis(timeAxisSpan, uniq(data.map((x) => x.bucket)).length);\n}\n\nexport function doesAnyDataComeFromNewerCuttingHeadSoftware(data: CuttingHeadVersionInformation[]) {\n return data.some(\n (d) =>\n !!d.cuttingHeadSoftwareVersion &&\n versionIsGreaterThanOrEqualTo('4.0', d.cuttingHeadSoftwareVersion),\n );\n}\n\nexport function getChartTitleTooltipHtml(translationKey: string) {\n return `\n
\n ${i18n.t(`technology_console.widget_info_text.${translationKey}`)}\n
\n `;\n}\n\nexport function isHeadVersionChangeTooltipParamItem(paramItem: any) {\n return paramItem.seriesType === 'scatter';\n}\n\nexport function getHeadVersionChangeDataHtml(\n paramItem: any,\n data: CuttingHeadVersionInformation[],\n dateGrouping: FilterTimeAxisSpanEnum,\n): string {\n let dataItem: CuttingHeadVersionInformation | null = null;\n if (isCategoryAxisDateGrouping(dateGrouping)) {\n dataItem = data[paramItem.dataIndex];\n\n if (isNil(dataItem.cuttingHeadSoftwareVersion)) {\n return '';\n }\n } else {\n const cuttingHeadVersionChangeData = data.filter(\n (dataItem) => !isNil(dataItem.cuttingHeadSoftwareVersion),\n );\n\n if (cuttingHeadVersionChangeData.length <= paramItem.dataIndex) {\n return '';\n }\n\n dataItem = cuttingHeadVersionChangeData[paramItem.dataIndex];\n }\n\n return (\n `\n ${getChartTitleTooltipHtml('cutting_head_version_change_data')}\n
\n \n ${i18n.t('report.tenant_technology_devices_table.cuttingHeadType_long')}\n :\n \n ${valueOrDefault(dataItem ? dataItem.cuttingHeadType : null, '-')}\n \n
\n
\n \n ${i18n.t('report.tenant_technology_devices_table.cuttingHeadSoftwareVersion')}\n :\n \n ${valueOrDefault(dataItem ? dataItem.cuttingHeadSoftwareVersion : null, '-')}\n \n
\n
\n \n ${i18n.t('report.tenant_technology_devices_table.cuttingHeadSerialNumber')}\n :\n \n ${valueOrDefault(dataItem ? dataItem.cuttingHeadSerialNumber : null, '-')}\n \n
\n
\n \n ${i18n.t('report.tenant_technology_devices_table.cuttingHeadBaseProductNumber')}\n :\n \n ${valueOrDefault(dataItem ? dataItem.cuttingHeadBaseProductNumber : null, '-')}\n \n
\n ` +\n (dataItem &&\n !isNil(dataItem.cuttingHeadVersionChangesCount) &&\n dataItem.cuttingHeadVersionChangesCount > 1\n ? `\n
\n \n ${i18n.t('report.cutting_head_version_changes_count')}\n :\n \n ${dataItem.cuttingHeadVersionChangesCount}\n \n
\n `\n : '') +\n (dataItem &&\n !isNil(dataItem.cuttingHeadTypeChangesCount) &&\n dataItem.cuttingHeadTypeChangesCount > 1\n ? `\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t${i18n.t('report.cutting_head_type_changes_count')}\n\t\t\t\t\t\t:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t${dataItem.cuttingHeadTypeChangesCount}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t`\n : '') +\n (dataItem &&\n !isNil(dataItem.equipmentNumberChangesCount) &&\n dataItem.equipmentNumberChangesCount > 1\n ? `\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t${i18n.t('report.equipment_number_changes_count')}\n\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t${dataItem.equipmentNumberChangesCount}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t`\n : '')\n );\n}\n\nexport function getHeadVersionChangeSeriesData(\n data: (CuttingHeadVersionInformation & { bucket: string })[],\n isCategoryAxis: boolean,\n): ScatterDataItemOption[] {\n // We don't want to show any specific value, just show a mark when it happens\n return (\n isCategoryAxis\n ? data.map((dataItem) =>\n isNil(dataItem[FIELD_MARKING_HEAD_VERSION_CHANGE])\n ? null\n : HEAD_VERSION_CHANGE_MARK_VALUE,\n )\n : data\n .filter((dataItem) => !isNil(dataItem[FIELD_MARKING_HEAD_VERSION_CHANGE]))\n .map((dataItem) => [dataItem.bucket, HEAD_VERSION_CHANGE_MARK_VALUE])\n ) as ScatterDataItemOption[];\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { TemperaturesData } from './chartsData';\nimport { decimalFormatter } from '@/utils/number';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { getTooltipTitle } from '@/utils/charts';\nimport { isNil } from '@/utils/misc';\nimport {\n getChartTitleTooltipHtml,\n getHeadVersionChangeDataHtml,\n isHeadVersionChangeTooltipParamItem,\n} from './cuttingHeadCommons';\n\nexport function tooltipFormatter(\n params: any,\n data: TemperaturesData[],\n dateGrouping: FilterTimeAxisSpanEnum,\n isCategoryAxis: boolean,\n): string {\n let absoluteTemperatureChartHtml = '';\n let temperatureDifferenceChartHtml = '';\n let cuttingHeadVersionChangeHtml = '';\n\n params.forEach((paramItem: any) => {\n if (isAbsoluteTemperatureTooltipParamItem(paramItem)) {\n absoluteTemperatureChartHtml += getNumericValueTooltipHtml(paramItem);\n } else if (isTemperatureDifferenceTooltipParamItem(paramItem)) {\n temperatureDifferenceChartHtml += getNumericValueTooltipHtml(paramItem);\n } else if (isHeadVersionChangeTooltipParamItem(paramItem)) {\n cuttingHeadVersionChangeHtml += getHeadVersionChangeDataHtml(paramItem, data, dateGrouping);\n }\n });\n\n return `\n
\n ${getTooltipTitle(params[0].axisValue, dateGrouping, isCategoryAxis)}\n
\n \n ${getChartTitleTooltipHtml('absolute_temperature')}\n ${absoluteTemperatureChartHtml}\n \n ${getChartTitleTooltipHtml('temperature_difference')}\n ${temperatureDifferenceChartHtml}\n ${cuttingHeadVersionChangeHtml}\n `;\n}\n\nfunction isAbsoluteTemperatureTooltipParamItem(paramItem: any) {\n return paramItem.seriesType === 'line';\n}\n\nfunction isTemperatureDifferenceTooltipParamItem(paramItem: any) {\n return paramItem.seriesType === 'bar';\n}\n\nfunction getNumericValueTooltipHtml(seriesParam: any): string {\n // ['ISO date', value] or value depending on the date grouping\n const value = Array.isArray(seriesParam.value) ? seriesParam.value?.[1] : seriesParam.value;\n const unit = i18n.t('celsius_degrees_abbreviation');\n const formattedValue = isNil(value) ? `- ${unit}` : `${decimalFormatter(value)} ${unit}`;\n\n return getValueTooltipHtml(seriesParam, formattedValue);\n}\n\nfunction getValueTooltipHtml(seriesParam: any, value: string): string {\n return `\n
\n
\n ${seriesParam.marker}\n ${i18n.t(`report.${seriesParam.seriesName}`)}\n
\n
\n ${value}\n
\n
\n `;\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { TemperaturesData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { uniq } from '@/utils/array';\nimport { XAXisOption } from 'echarts/types/dist/shared';\nimport { metricsService } from '@/services/metrics.service';\nimport { tooltipFormatter } from './temperaturesChartTooltipFormatter';\nimport {\n CUTTING_HEAD_VERSION_CHANGE_SYMBOL,\n FIELD_MARKING_HEAD_VERSION_CHANGE,\n getHeadVersionChangeSeriesData,\n} from './cuttingHeadCommons';\n\nconst DIFFERENCE_SERIES_SUFFIX = 'Difference';\n\nexport const ABSOLUTE_TEMPERATURE_X_AXIS_INDEX = 0;\nexport const TEMPERATURE_DIFFERENCE_X_AXIS_INDEX = 1;\n\nexport const HEAD_VERSION_CHANGES_Y_AXIS_INDEX = 1;\nexport const ABSOLUTE_TEMPERATURE_Y_AXIS_INDEX = 0;\nexport const TEMPERATURE_DIFFERENCE_Y_AXIS_INDEX = 2;\n\nexport class TemperaturesChartGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n params: { [key: string]: any },\n ) {\n const deviceId = selectedDevices[0];\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom: timeSpan[0],\n dateTo: timeSpan[1],\n dateGrouping: timeAxisSpan,\n aggregate: params.aggregate,\n versionInformation: true,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: TemperaturesData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n const uniqueDates = uniq(data.map((dataItem) => dataItem.bucket));\n\n return {\n title: {\n show: false,\n },\n legend: {\n icon: 'roundRect',\n type: 'scroll',\n bottom: 0,\n formatter: (name) => i18n.t(`report.${name}`).toString(),\n },\n axisPointer: {\n link: [{ xAxisIndex: 'all' }],\n },\n dataZoom: [\n {\n type: 'slider',\n filterMode: 'weakFilter',\n xAxisIndex: [ABSOLUTE_TEMPERATURE_X_AXIS_INDEX, TEMPERATURE_DIFFERENCE_X_AXIS_INDEX],\n bottom: 40,\n labelFormatter: '',\n },\n {\n type: 'inside',\n filterMode: 'weakFilter',\n xAxisIndex: [ABSOLUTE_TEMPERATURE_X_AXIS_INDEX, TEMPERATURE_DIFFERENCE_X_AXIS_INDEX],\n },\n ],\n grid: [\n {\n top: 10,\n left: 40,\n right: 10,\n height: '38%',\n },\n {\n left: 40,\n right: 10,\n bottom: 100,\n height: '38%',\n },\n ],\n xAxis: [\n {\n gridIndex: 0,\n type: isCategoryAxis ? 'category' : 'time',\n data: isCategoryAxis ? uniqueDates : undefined,\n axisLabel: {\n show: true,\n hideOverlap: true,\n },\n axisTick: { show: false },\n },\n {\n gridIndex: 1,\n type: isCategoryAxis ? 'category' : 'time',\n data: isCategoryAxis ? uniqueDates : undefined,\n },\n ] as XAXisOption[],\n yAxis: [\n // Temperatures on absolute temperatures sub-chart\n {\n gridIndex: 0,\n type: 'value',\n scale: true,\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n },\n // Cutting head version changes on absolute temperatures sub-chart\n {\n gridIndex: 0,\n type: 'value',\n show: false,\n },\n // Temperatures difference sub-chart\n {\n gridIndex: 1,\n type: 'value',\n max: (value: any) => value.max + 0.1,\n min: (value: any) => value.min - 0.1,\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n },\n ],\n series: this.generateSeries(data, isCategoryAxis),\n tooltip: {\n trigger: 'axis',\n confine: true,\n formatter: (params: any) =>\n tooltipFormatter(params, data, parameters.timeAxisSpan!, isCategoryAxis),\n },\n };\n }\n\n private generateSeries(data: TemperaturesData[], isCategoryAxis: boolean): SeriesOption[] {\n // Adds directly the series name because those names dont always come in the first bucket, like did previously.\n return [\n 'capacitiveTemperature',\n 'capacitiveTemperatureDifference',\n 'controllerConnectionTemperature',\n 'controllerConnectionTemperatureDifference',\n 'mirrorConnectionRHTTemperature',\n 'mirrorConnectionRHTTemperatureDifference',\n 'opticsModuleTemperature',\n 'opticsModuleTemperatureDifference',\n 'cuttingHeadSoftwareVersion',\n ].map((name) =>\n this.isHeadVersionChangeField(name)\n ? {\n data: getHeadVersionChangeSeriesData(data, isCategoryAxis),\n type: 'scatter',\n // FIXME: We should be able to load the image like below, but for some\n // reason it looks blurry.\n // symbol: 'image:///images/cutting-head-version-change-mark.svg',\n symbol: CUTTING_HEAD_VERSION_CHANGE_SYMBOL,\n symbolSize: 15,\n symbolOffset: [0, '-50%'],\n color: '#000000',\n xAxisIndex: ABSOLUTE_TEMPERATURE_X_AXIS_INDEX,\n yAxisIndex: HEAD_VERSION_CHANGES_Y_AXIS_INDEX,\n z: 3, // Make the symbol appear above the rest of the series\n }\n : {\n data: this.getSeriesData(name as keyof TemperaturesData, data, isCategoryAxis),\n type: this.getChartType(name),\n name: this.getSeriesName(name),\n emphasis: { focus: 'series' },\n xAxisIndex: this.getXAxisIndex(name),\n yAxisIndex: this.getYAxisIndex(name),\n },\n );\n }\n\n private getChartType(fieldName: string): 'line' | 'bar' {\n return this.isAbsoluteTemperatureField(fieldName) ? 'line' : 'bar';\n }\n\n private getSeriesName(fieldName: string): string {\n const normalizedFieldName = fieldName.replace(DIFFERENCE_SERIES_SUFFIX, '');\n return normalizedFieldName.toString();\n }\n\n private getXAxisIndex(fieldName: string): number {\n return this.isAbsoluteTemperatureField(fieldName)\n ? ABSOLUTE_TEMPERATURE_X_AXIS_INDEX\n : TEMPERATURE_DIFFERENCE_X_AXIS_INDEX;\n }\n\n private getYAxisIndex(fieldName: string): number {\n return this.isAbsoluteTemperatureField(fieldName)\n ? ABSOLUTE_TEMPERATURE_Y_AXIS_INDEX\n : TEMPERATURE_DIFFERENCE_Y_AXIS_INDEX;\n }\n\n private isAbsoluteTemperatureField(fieldName: string): boolean {\n return fieldName.endsWith('Temperature');\n }\n\n private isHeadVersionChangeField(fieldName: string): boolean {\n return fieldName === FIELD_MARKING_HEAD_VERSION_CHANGE;\n }\n\n private getSeriesData(\n fieldName: keyof TemperaturesData,\n data: TemperaturesData[],\n isCategoryAxis: boolean,\n ): any {\n return isCategoryAxis\n ? data.map((dataItem) => dataItem[fieldName])\n : data.map((dataItem) => [dataItem.bucket, dataItem[fieldName]]);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { DrawerInformationTimelineData } from './chartsData';\nimport { abbreviateNumber } from '@/utils/number';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { getTooltipTitle } from '@/utils/charts';\nimport { Logger } from '@/utils/logger';\nimport { isNil } from '@/utils/misc';\nimport {\n LOWER_DRAWER_CHART_INDEX,\n PD_SERIES,\n POWER_AMPLITUDE_SERIES,\n REMOVED_SECONDS_SERIES,\n UPPER_DRAWER_CHART_INDEX,\n} from '@/models/Charts/drawerInformationTimelineGenerator';\n\nexport function tooltipFormatter(\n params: any,\n data: DrawerInformationTimelineData[],\n dateGrouping: FilterTimeAxisSpanEnum,\n isCategoryAxis: boolean,\n): string {\n let html = `\n
\n ${getTooltipTitle(params[0].axisValue, dateGrouping, isCategoryAxis)}\n
\n `;\n\n html += getChartTitleTooltipHtml('lower-drawer');\n html += getNumericValueTooltipHtml(\n params,\n LOWER_DRAWER_CHART_INDEX,\n REMOVED_SECONDS_SERIES,\n data,\n );\n html += getNumericValueTooltipHtml(params, LOWER_DRAWER_CHART_INDEX, PD_SERIES, data);\n html += getNumericValueTooltipHtml(\n params,\n LOWER_DRAWER_CHART_INDEX,\n POWER_AMPLITUDE_SERIES,\n data,\n );\n\n html += getChartTitleTooltipHtml('upper-drawer');\n html += getNumericValueTooltipHtml(\n params,\n UPPER_DRAWER_CHART_INDEX,\n REMOVED_SECONDS_SERIES,\n data,\n );\n html += getNumericValueTooltipHtml(params, UPPER_DRAWER_CHART_INDEX, PD_SERIES, data);\n html += getNumericValueTooltipHtml(\n params,\n UPPER_DRAWER_CHART_INDEX,\n POWER_AMPLITUDE_SERIES,\n data,\n );\n\n return html;\n}\n\nfunction getChartTitleTooltipHtml(deviceKey: string): string {\n return `\n
\n ${i18n.t(`report.${deviceKey}`)}:\n
\n `;\n}\n\nfunction getNumericValueTooltipHtml(\n params: any[],\n chartIndex: number,\n seriesName: string,\n data: DrawerInformationTimelineData[],\n): string {\n const seriesParam = getSeriesParam(params, chartIndex, seriesName);\n if (!seriesParam) {\n // The series may have been disabled by the user\n return '';\n }\n const unit = getSeriesUnit(seriesName);\n // ['ISO date', value] or value depending on the date grouping\n const value = Array.isArray(seriesParam.value) ? seriesParam.value?.[1] : seriesParam.value;\n let formattedValue = isNil(value) ? `- ${unit}` : `${abbreviateNumber(value)} ${unit}`;\n\n if (seriesName === REMOVED_SECONDS_SERIES) {\n formattedValue = addCycles(formattedValue, data, seriesParam);\n }\n return getValueTooltipHtml(seriesParam, formattedValue);\n}\n\nfunction addCycles(\n formattedValue: string,\n data: DrawerInformationTimelineData[],\n seriesParam: any,\n) {\n const removedTimesField = getRemovedTimesField(seriesParam);\n const cycles = data[seriesParam.dataIndex][removedTimesField] as number | null;\n\n if (isNil(cycles)) {\n return `${formattedValue} (${i18n.t('report.no_cycles')})`;\n }\n return `${formattedValue} (${cycles} ${i18n.tc('report.cycles', cycles)})`;\n}\n\nfunction getRemovedTimesField(seriesParam: any): keyof DrawerInformationTimelineData {\n switch (seriesParam.seriesIndex) {\n case 0:\n return 'lowerDrawerRemovedTimes';\n case 3:\n return 'upperDrawerRemovedTimes';\n default:\n Logger.error('Invalid seriesIndex:', seriesParam.seriesIndex);\n return 'bucket';\n }\n}\n\nfunction getSeriesUnit(seriesName: string) {\n switch (seriesName) {\n case REMOVED_SECONDS_SERIES:\n return 's';\n case PD_SERIES:\n return ''; // no unit\n case POWER_AMPLITUDE_SERIES:\n return 'W';\n }\n}\n\nfunction getValueTooltipHtml(seriesParam: any, value: string): string {\n return `\n \n
\n ${seriesParam.marker}\n ${i18n.t(`report.drawer_information_timeline.${seriesParam.seriesName}`)}\n
\n
${value}
\n \n `;\n}\n\nfunction getSeriesParam(params: any[], chartIndex: number, seriesName: string) {\n return params\n .filter((param: any) => param.axisIndex === chartIndex)\n .find((param: any) => param.seriesName === seriesName);\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { Color } from '@/utils/color';\nimport { DrawerInformationTimelineData } from './chartsData';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { abbreviateNumber } from '@/utils/number';\nimport { GeneratorParams } from './generatorParams';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { iterable, uniq } from '@/utils/array';\nimport { tooltipFormatter } from './drawerInformationTimelineTooltipFormatter';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class DrawerInformationTimelineGenerator extends ChartGenerator<\n DrawerInformationTimelineData[]\n> {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n params: { [key: string]: any },\n ) {\n const deviceId = selectedDevices[0];\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom: timeSpan[0],\n dateTo: timeSpan[1],\n dateGrouping: timeAxisSpan,\n aggregate: params.aggregate,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: DrawerInformationTimelineData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n const uniqueDates = uniq(data.map((dataItem) => dataItem.bucket));\n\n const showRemovedSeconds = parameters.removedSecondsSelected ?? true;\n const showPD = parameters.pdSelected ?? true;\n const showPowerAmplitude = parameters.powerAmplitudeSelected ?? true;\n\n return {\n title: [\n {\n top: '-1%',\n left: 'center',\n text: i18n.t('report.lower-drawer').toString(),\n textStyle: {\n fontSize: 18,\n },\n },\n {\n top: '44%',\n left: 'center',\n text: i18n.t('report.upper-drawer').toString(),\n textStyle: {\n fontSize: 18,\n },\n },\n ],\n legend: {\n icon: 'roundRect',\n formatter: (name: string) =>\n i18n.t(`report.drawer_information_timeline.${name}`).toString(),\n bottom: 0,\n selected: {\n [REMOVED_SECONDS_SERIES]: showRemovedSeconds,\n [PD_SERIES]: showPD,\n [POWER_AMPLITUDE_SERIES]: showPowerAmplitude,\n },\n },\n tooltip: {\n trigger: 'axis',\n confine: true,\n formatter: (params: any) =>\n tooltipFormatter(params, data, parameters.timeAxisSpan!, isCategoryAxis),\n },\n axisPointer: {\n link: [{ xAxisIndex: 'all' }],\n },\n dataZoom: [\n {\n type: 'slider',\n filterMode: 'weakFilter',\n xAxisIndex: [LOWER_DRAWER_X_AXIS_INDEX, UPPER_DRAWER_X_AXIS_INDEX],\n bottom: '8%',\n labelFormatter: '',\n height: '3%',\n },\n {\n type: 'inside',\n filterMode: 'weakFilter',\n xAxisIndex: [LOWER_DRAWER_X_AXIS_INDEX, UPPER_DRAWER_X_AXIS_INDEX],\n },\n ],\n grid: [\n {\n top: '5%',\n left: 40,\n right: 80,\n height: '35%',\n },\n {\n top: '50%',\n left: 40,\n right: 80,\n height: '35%',\n },\n ],\n xAxis: iterable(TOTAL_CHARTS).map((index) => ({\n gridIndex: index,\n type: isCategoryAxis ? 'category' : 'time',\n data: isCategoryAxis ? uniqueDates : undefined,\n axisLabel: {\n show: index === LAST_CHART_INDEX,\n hideOverlap: true,\n },\n axisTick: { show: index === LAST_CHART_INDEX },\n })),\n yAxis: iterable(TOTAL_CHARTS)\n .map((i) => [\n {\n gridIndex: i,\n name: 's',\n type: 'value' as const,\n scale: true,\n axisLine: {\n show: true,\n lineStyle: {\n color: REMOVED_COLOR,\n },\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n show: showRemovedSeconds,\n },\n {\n gridIndex: i,\n name: i === 0 ? i18n.t('report.drawer_information_timeline.pd').toString() : '',\n nameTextStyle: {\n align: 'left' as const,\n lineHeight: 0,\n },\n type: 'value' as const,\n position: 'right' as const,\n scale: true,\n // Round to the next tens value (22 -> 30)\n max: (value: any) => Math.ceil(value.max / 10) * 10,\n axisLine: {\n show: true,\n lineStyle: {\n color: PD_COLOR,\n },\n },\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n show: showPD,\n },\n {\n gridIndex: i,\n name:\n i === 0\n ? i18n\n .t('report.drawer_information_timeline.power_amplitude_abbreviation')\n .toString()\n : '',\n nameTextStyle: {\n align: 'left' as const,\n lineHeight: 0,\n },\n type: 'value' as const,\n position: 'right' as const,\n offset: showPD ? 40 : 0,\n // Round to the next tens value (22 -> 30)\n max: (value: any) => Math.ceil(value.max / 10) * 10,\n axisLine: {\n show: true,\n lineStyle: {\n color: POWER_AMPLITUDE_COLOR,\n },\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n show: showPowerAmplitude,\n },\n ])\n .flat(),\n series: this.generateSeries(data, isCategoryAxis),\n media: [\n {\n query: {\n maxWidth: 350,\n },\n option: {\n title: [\n {\n textStyle: {\n fontSize: 14,\n },\n },\n {\n textStyle: {\n fontSize: 14,\n },\n },\n ],\n },\n },\n ],\n };\n }\n\n private generateSeries(\n data: DrawerInformationTimelineData[],\n isCategoryAxis: boolean,\n ): SeriesOption[] {\n const powerAmplitudeData = this.getSeriesData('powerAmplitude', data, isCategoryAxis);\n\n return [\n {\n data: this.getSeriesData('lowerDrawerRemovedSeconds', data, isCategoryAxis),\n type: 'bar',\n name: REMOVED_SECONDS_SERIES,\n emphasis: { focus: 'series' },\n color: REMOVED_COLOR,\n xAxisIndex: LOWER_DRAWER_X_AXIS_INDEX,\n yAxisIndex: LOWER_DRAWER_Y_AXIS_REMOVED_INDEX,\n },\n {\n data: this.getSeriesData('lowerDrawerPD', data, isCategoryAxis),\n type: 'line',\n name: PD_SERIES,\n emphasis: { focus: 'series' },\n color: PD_COLOR,\n xAxisIndex: LOWER_DRAWER_X_AXIS_INDEX,\n yAxisIndex: LOWER_DRAWER_Y_AXIS_PD_INDEX,\n connectNulls: true,\n },\n {\n data: powerAmplitudeData,\n type: 'line',\n name: POWER_AMPLITUDE_SERIES,\n emphasis: { focus: 'series' },\n color: POWER_AMPLITUDE_COLOR,\n areaStyle: {\n opacity: 0.4,\n },\n lineStyle: {\n width: 0,\n },\n xAxisIndex: LOWER_DRAWER_X_AXIS_INDEX,\n yAxisIndex: LOWER_DRAWER_Y_AXIS_POWER_AMPLITUDE_INDEX,\n connectNulls: true,\n },\n {\n data: this.getSeriesData('upperDrawerRemovedSeconds', data, isCategoryAxis),\n type: 'bar',\n name: REMOVED_SECONDS_SERIES,\n emphasis: { focus: 'series' },\n color: REMOVED_COLOR,\n xAxisIndex: UPPER_DRAWER_X_AXIS_INDEX,\n yAxisIndex: UPPER_DRAWER_Y_AXIS_REMOVED_INDEX,\n },\n {\n data: this.getSeriesData('upperDrawerPD', data, isCategoryAxis),\n type: 'line',\n name: PD_SERIES,\n emphasis: { focus: 'series' },\n color: PD_COLOR,\n xAxisIndex: UPPER_DRAWER_X_AXIS_INDEX,\n yAxisIndex: UPPER_DRAWER_Y_AXIS_PD_INDEX,\n connectNulls: true,\n },\n {\n data: powerAmplitudeData,\n type: 'line',\n name: POWER_AMPLITUDE_SERIES,\n emphasis: { focus: 'series' },\n color: POWER_AMPLITUDE_COLOR,\n areaStyle: {\n opacity: 0.4,\n },\n lineStyle: {\n width: 0,\n },\n xAxisIndex: UPPER_DRAWER_X_AXIS_INDEX,\n yAxisIndex: UPPER_DRAWER_Y_AXIS_POWER_AMPLITUDE_INDEX,\n connectNulls: true,\n },\n ] as SeriesOption[]; // null values aren't defined in types but they work\n }\n\n private getSeriesData(\n fieldName: keyof DrawerInformationTimelineData,\n data: DrawerInformationTimelineData[],\n isCategoryAxis: boolean,\n ) {\n return isCategoryAxis\n ? data.map((dataItem) => dataItem[fieldName])\n : data.map((dataItem) => [dataItem.bucket, dataItem[fieldName]]);\n }\n}\n\nconst TOTAL_CHARTS = 2;\nconst LAST_CHART_INDEX = TOTAL_CHARTS - 1;\n\nexport const REMOVED_COLOR = Color.Purple;\nexport const PD_COLOR = Color.Blue;\nexport const POWER_AMPLITUDE_COLOR = Color.Orange;\n\nexport const REMOVED_SECONDS_SERIES = 'removed_seconds';\nexport const PD_SERIES = 'pd';\nexport const POWER_AMPLITUDE_SERIES = 'power_amplitude';\n\nexport const LOWER_DRAWER_CHART_INDEX = 0;\nexport const UPPER_DRAWER_CHART_INDEX = 1;\n\nexport const LOWER_DRAWER_X_AXIS_INDEX = LOWER_DRAWER_CHART_INDEX;\nexport const UPPER_DRAWER_X_AXIS_INDEX = UPPER_DRAWER_CHART_INDEX;\n\nexport const LOWER_DRAWER_Y_AXIS_REMOVED_INDEX = 0;\nexport const UPPER_DRAWER_Y_AXIS_REMOVED_INDEX = 3;\n\nexport const LOWER_DRAWER_Y_AXIS_PD_INDEX = 1;\nexport const UPPER_DRAWER_Y_AXIS_PD_INDEX = 4;\n\nexport const LOWER_DRAWER_Y_AXIS_POWER_AMPLITUDE_INDEX = 2;\nexport const UPPER_DRAWER_Y_AXIS_POWER_AMPLITUDE_INDEX = 5;\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\n\nexport class DrawerCycleTimesTooltipFormatter {\n constructor(private data: any) {}\n\n get() {\n return (params: any) => this.format(params);\n }\n\n private format(params: any): string {\n const unit = this.isCuttingSeries(params) ? ` h` : ` s`;\n const cycles = this.getCyclesText(params);\n const formattedValue = `${i18n.n(params.value, { maximumFractionDigits: 2 })}${unit}${cycles}`;\n\n return this.getValueHtml(params, formattedValue);\n }\n\n private isCuttingSeries(seriesParam: any): boolean {\n return seriesParam.seriesName.includes('cutting');\n }\n\n private getCyclesText(seriesParam: any): string {\n if (seriesParam.name !== 'average') {\n // There's always 1 cycle for 'current'/'last', so it makes no sense to show it\n return '';\n }\n\n const seriesCycleFieldMap: any = {\n 'lower-drawer-cutting': 'lower_drawer_inserted_cycles',\n 'upper-drawer-cutting': 'upper_drawer_inserted_cycles',\n\n 'lower-drawer-removed': 'lower_drawer_removed_cycles',\n 'upper-drawer-removed': 'upper_drawer_removed_cycles',\n };\n\n const cyclesField = seriesCycleFieldMap[seriesParam.seriesName];\n const cycles = this.data[cyclesField];\n return ` (${cycles} ${i18n.tc('report.cycles', cycles)})`;\n }\n\n private getValueHtml(seriesParam: any, value: string): string {\n return `\n \n
\n ${seriesParam.marker}\n \n \n ${i18n.t(`report.${seriesParam.name}`)}\n \n
\n
\n ${value}\n
\n \n `;\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { DrawerCycleTimesData } from './chartsData';\nimport { BarSeriesOption, EChartsOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { DrawerCycleTimesTooltipFormatter } from '@/models/Charts/drawerCycleTimesTooltipFormatter';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class DrawerCycleTimesGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string],\n ) {\n const deviceId = selectedDevices[0];\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom: timeSpan[0],\n dateTo: timeSpan[1],\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: DrawerCycleTimesData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const chartDimensions = {\n width: '45%',\n height: '40%',\n };\n\n return {\n title: [\n // lower drawer\n {\n top: parameters.clientWidth! > 350 ? '2%' : '1%',\n left: 'center',\n text: i18n.t('report.lower-drawer').toString(),\n textStyle: {\n fontSize: parameters.clientWidth! > 350 ? 18 : 14,\n },\n },\n {\n top: parameters.clientWidth! > 350 ? '1%' : '-1%',\n left: parameters.clientWidth! > 350 ? '25%' : '28%',\n textAlign: 'center',\n text: ' ',\n subtext: i18n.t('report.cutting_cycle_times').toString(),\n subtextStyle: {\n fontSize: parameters.clientWidth! > 350 ? 13 : 10.5,\n },\n },\n {\n top: parameters.clientWidth! > 350 ? '1%' : '-1%',\n left: parameters.clientWidth! > 350 ? '70%' : '65%',\n textAlign: 'center',\n text: ' ',\n subtext: i18n.t('report.removed_cycle_times').toString(),\n subtextStyle: {\n fontSize: parameters.clientWidth! > 350 ? 13 : 10.5,\n },\n },\n // upper drawer\n {\n top: parameters.clientWidth! > 350 ? '52%' : '51%',\n left: 'center',\n text: i18n.t('report.upper-drawer').toString(),\n textStyle: {\n fontSize: parameters.clientWidth! > 350 ? 18 : 14,\n },\n },\n {\n top: parameters.clientWidth! > 350 ? '51%' : '49%',\n left: parameters.clientWidth! > 350 ? '25%' : '28%',\n textAlign: 'center',\n text: ' ',\n subtext: i18n.t('report.cutting_cycle_times').toString(),\n subtextStyle: {\n fontSize: parameters.clientWidth! > 350 ? 13 : 10.5,\n },\n },\n {\n top: parameters.clientWidth! > 350 ? '51%' : '49%',\n left: parameters.clientWidth! > 350 ? '70%' : '65%',\n textAlign: 'center',\n text: ' ',\n subtext: i18n.t('report.removed_cycle_times').toString(),\n subtextStyle: {\n fontSize: parameters.clientWidth! > 350 ? 13 : 10.5,\n },\n },\n ],\n grid: [\n {\n top: '8%',\n left: 0,\n ...chartDimensions,\n containLabel: true,\n },\n {\n top: '8%',\n right: 40,\n ...chartDimensions,\n containLabel: true,\n },\n {\n top: '55%',\n left: 0,\n ...chartDimensions,\n containLabel: true,\n },\n {\n top: '55%',\n right: 40,\n ...chartDimensions,\n containLabel: true,\n },\n ],\n tooltip: {\n confine: true,\n formatter: new DrawerCycleTimesTooltipFormatter(data[0]).get(),\n },\n xAxis: Array(4)\n .fill(0)\n .map((_, i) => ({\n gridIndex: i,\n type: 'category',\n data:\n parameters.clientWidth! > 350\n ? [\n 'average',\n // Left column -> Cutting cycles (current)\n // Right column -> Cycles in removed state (last)\n i % 2 === 0 ? 'current_cycle' : 'last_cycle',\n ]\n : ['average_abbr', i % 2 === 0 ? 'current_abbr' : 'last'],\n axisLabel: {\n fontSize: parameters.clientWidth! > 350 ? 13 : 10.5,\n formatter: (value: any) => i18n.t(`report.${value}`),\n },\n })),\n yAxis: Array(4)\n .fill(0)\n .map((_, i) => ({\n gridIndex: i,\n type: 'value',\n show: false,\n })),\n series: this.generateSeries(data, parameters.clientWidth!),\n };\n }\n\n private generateSeries(data: DrawerCycleTimesData[], clientWidth: number): BarSeriesOption[] {\n return [\n { drawer: 'lower', status: 'cutting', unit: 'hour' },\n { drawer: 'lower', status: 'removed', unit: 'second' },\n { drawer: 'upper', status: 'cutting', unit: 'hour' },\n { drawer: 'upper', status: 'removed', unit: 'second' },\n ].map(({ drawer, status, unit }, i) => ({\n data: this.getSeriesData(drawer, status, unit, data[0]),\n type: 'bar' as const,\n name: `${drawer}-drawer-${status}`,\n label: {\n show: true,\n fontSize: clientWidth > 350 ? 13 : 10,\n fontWeight: 400,\n position: clientWidth > 350 ? ('inside' as const) : ('insideBottomRight' as const),\n rotate: clientWidth > 350 ? 0 : 90,\n align: clientWidth > 350 ? 'center' : 'left',\n formatter: DrawerCycleTimesGenerator.labelFormatter.bind(null, unit),\n },\n xAxisIndex: i,\n yAxisIndex: i,\n }));\n }\n\n private getSeriesData(\n drawer: string,\n status: string,\n unit: string,\n dataItem: DrawerCycleTimesData,\n ) {\n const averageField = `${drawer}_drawer_${status}_${unit}_avg` as keyof DrawerCycleTimesData;\n const currentField = `${drawer}_drawer_${status}_${unit}s` as keyof DrawerCycleTimesData;\n\n return [\n {\n value: dataItem[averageField],\n itemStyle: {\n color: status === 'cutting' ? '#22b14c' : '#a349a4',\n },\n },\n {\n value: dataItem[currentField],\n itemStyle: {\n color: status === 'cutting' ? '#b4e61c' : '#c5bbe6',\n },\n },\n ];\n }\n\n private static labelFormatter(unit: string, params: any): string {\n const formattedTime = i18n.n(params.data.value).toString();\n return i18n.t(`report.${unit}s_value`).toString().replace('%1', formattedTime);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { decimalFormatter, formatPercentage } from '@/utils/number';\nimport { LaserUsedVsNotUsedTimesData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class LaserUsedVSNotUsedTimesGenerator extends ChartGenerator<\n LaserUsedVsNotUsedTimesData[]\n> {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n const deviceId = selectedDevices[0];\n const dateRange = timeSpan as [string, string];\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom: dateRange[0],\n dateTo: dateRange[1],\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: LaserUsedVsNotUsedTimesData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const totalHours = data[0].totalHours;\n\n return {\n title: {\n text: `${i18n.t('report.total_time', { totalTimeHours: decimalFormatter(totalHours) })}`,\n right: 0,\n textStyle: {\n fontSize: parameters.clientWidth! < 332 ? 12 : 16,\n fontWeight: 'normal',\n },\n },\n legend: {\n bottom: 0,\n },\n tooltip: {\n valueFormatter: (value: any) => formatPercentage((value / totalHours) * 100),\n },\n series: [\n {\n type: 'pie',\n radius: ['18%', '68%'],\n top: '-15%',\n emphasis: {\n focus: 'self',\n },\n label: {\n formatter: (params: any) => `${decimalFormatter(params.data.value)} h`,\n position: 'inside',\n },\n labelLine: {\n show: false,\n },\n data: [\n {\n name: i18n.t('report.used').toString(),\n value: data[0].cuttingHours,\n },\n {\n name: i18n.t(`report.not_used`).toString(),\n value: data[0].totalHours - data[0].cuttingHours,\n },\n ],\n },\n ],\n };\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport i18n from '@/i18n';\nimport { powerLevelColors } from '@/utils/color';\nimport { LaserPowerUtilizationTimesData } from './chartsData';\nimport { EChartsOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class LaserPowerUtilizationTimesGenerator extends ChartGenerator<\n LaserPowerUtilizationTimesData[]\n> {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n const deviceId = selectedDevices[0];\n const dateRange = timeSpan as [string, string];\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom: dateRange[0],\n dateTo: dateRange[1],\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: LaserPowerUtilizationTimesData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n grid: {\n top: 30,\n bottom: 20,\n left: 10,\n right: 8,\n containLabel: true,\n },\n xAxis: {\n type: 'category',\n data: this.generateSeriesData(data).map((dataItem) => dataItem.name),\n axisLabel: {\n formatter: LaserPowerUtilizationTimesGenerator.legendFormatter,\n },\n },\n yAxis: {\n type: 'value' as const,\n name: parameters.yAxisName ?? '',\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow',\n },\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: (p: any) => {\n let tooltipMarkdown: string = ``;\n p.forEach((item: any) => {\n tooltipMarkdown += `\n

\n ${item.marker} ${this.translateSeriesName(item.name)} :\n \n ${i18n.n(item.value)} h\n `;\n });\n return tooltipMarkdown;\n },\n },\n series: [\n {\n type: 'bar',\n data: this.generateSeriesData(data),\n },\n ],\n };\n }\n\n private generateSeriesData(data: LaserPowerUtilizationTimesData[]) {\n return data\n .sort((dataItem1, dataItem2) => dataItem1.kPower - dataItem2.kPower)\n .map((dataItem, i: number) => ({\n name: `k${dataItem.kPower}_power`,\n value: dataItem.hours,\n itemStyle: {\n color: powerLevelColors[dataItem.kPower],\n },\n }));\n }\n\n private static legendFormatter(seriesName: string): string {\n // k15 -> kx\n const normalizedName = seriesName.replace(/\\d+/, 'x');\n // k15 -> 15\n const seriesNumber = seriesName.match(/\\d+/)![0];\n return i18n.t(`report.${normalizedName}`, [seriesNumber]).toString();\n }\n\n private translateSeriesName(name: string) {\n return LaserPowerUtilizationTimesGenerator.legendFormatter(name);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { DriveCurrentTimelineData } from './chartsData';\nimport { getTooltipTitle } from '@/utils/charts';\nimport { GeneratorParams } from './generatorParams';\nimport {\n getChartTitleTooltipHtml,\n getHeadVersionChangeDataHtml,\n isHeadVersionChangeTooltipParamItem,\n} from './cuttingHeadCommons';\n\nexport function tooltipFormatter(\n params: any,\n parameters: GeneratorParams,\n isCategoryAxis: boolean,\n data: DriveCurrentTimelineData[],\n): string {\n let driveCurrentChartHtml = '';\n let tempCapacitiveChartHtml = '';\n let cuttingHeadVersionChangeHtml = '';\n let diffDriveCurrentChartHtml = '';\n\n const dateGrouping = parameters.timeAxisSpan!;\n\n params.forEach((paramItem: any) => {\n if (isDriveCurrentTooltipParamItem(paramItem)) {\n driveCurrentChartHtml += getNumericValueTooltipHtml(paramItem);\n } else if (isTemperatureCapacitiveTooltipParamItem(paramItem)) {\n tempCapacitiveChartHtml += getNumericValueTooltipHtml(paramItem);\n } else if (isHeadVersionChangeTooltipParamItem(paramItem)) {\n cuttingHeadVersionChangeHtml += getHeadVersionChangeDataHtml(paramItem, data, dateGrouping);\n } else if (isDriveCurrentDifferenceTooltipParamItem(paramItem)) {\n diffDriveCurrentChartHtml += getNumericValueTooltipHtml(paramItem);\n }\n });\n\n const title =\n driveCurrentChartHtml + tempCapacitiveChartHtml + diffDriveCurrentChartHtml === ''\n ? ''\n : getChartTitleTooltipHtml('drive_current');\n\n return `\n

\n ${getTooltipTitle(params[0].axisValue, dateGrouping, isCategoryAxis)}\n
\n\n\t\t${title}\n ${driveCurrentChartHtml}\n ${tempCapacitiveChartHtml}\n ${diffDriveCurrentChartHtml}\n ${cuttingHeadVersionChangeHtml}\n `;\n}\n\nfunction isDriveCurrentTooltipParamItem(paramItem: any) {\n return paramItem.seriesName === 'drive_current';\n}\n\nfunction isTemperatureCapacitiveTooltipParamItem(paramItem: any) {\n return paramItem.seriesName === 'capacitive_temperature';\n}\n\nfunction isDriveCurrentDifferenceTooltipParamItem(paramItem: any) {\n return paramItem.seriesName === 'current_difference';\n}\n\nfunction getNumericValueTooltipHtml(seriesParam: any): string {\n const value: number = seriesParam.value[1]; // ['ISO date', value]\n const unit = seriesParam.seriesName === 'capacitive_temperature' ? 'ºC' : 'mA';\n const formattedValue = `${i18n.n(value, { maximumFractionDigits: 2 })} ${unit}`;\n return getValueTooltipHtml(seriesParam, formattedValue);\n}\n\nfunction getValueTooltipHtml(seriesParam: any, value: string): string {\n return `\n \n
\n ${seriesParam.marker}\n ${i18n.t(`report.${seriesParam.seriesName}`)}\n
\n
${value}
\n \n `;\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { DriveCurrentTimelineData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { XAXisOption } from 'echarts/types/dist/shared';\nimport { metricsService } from '@/services/metrics.service';\nimport { tooltipFormatter } from './driveCurrentTimelineGeneratorTooltipFormatter';\nimport {\n CUTTING_HEAD_VERSION_CHANGE_SYMBOL,\n cuttingHeadDataHasCategoryAxis,\n doesAllDataComeFromNewerCuttingHeadSoftware,\n getHeadVersionChangeSeriesData,\n} from './cuttingHeadCommons';\nimport { isNil } from '@/utils/misc';\nimport { last } from '@/utils/array';\n\nexport class DriveCurrentTimelineGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const deviceId = selectedDevices[0];\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom: timeSpan[0],\n dateTo: timeSpan[1],\n dateGrouping: timeAxisSpan,\n aggregate: params?.aggregate,\n versionInformation: true,\n interruptIfV4: true,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: DriveCurrentTimelineData[],\n parameters: GeneratorParams = {},\n ): EChartsOption {\n if (doesAllDataComeFromNewerCuttingHeadSoftware(data)) {\n return {\n title: {\n text: i18n.t('widget_info_text.no_data_for_ch').toString(),\n left: 'center',\n top: 'center',\n },\n };\n }\n\n // Only regular linear data must be taken into account to decide if the chart must\n // be treated as categorical or not, so version history data is omitted.\n const isCategoryAxis = cuttingHeadDataHasCategoryAxis(parameters.timeAxisSpan, data);\n\n const xAxisData = data.map((x) => x.bucket);\n return {\n legend: {\n icon: 'roundRect',\n type: 'scroll',\n bottom: 0,\n formatter: (name: string) => i18n.t(`report.${name}`).toString(),\n },\n axisPointer: {\n link: [{ xAxisIndex: 'all' }],\n },\n dataZoom: [\n {\n type: 'slider',\n filterMode: 'weakFilter',\n xAxisIndex: [0, 1],\n bottom: 40,\n labelFormatter: '',\n },\n {\n type: 'inside',\n filterMode: 'weakFilter',\n xAxisIndex: [0, 1],\n },\n ],\n tooltip: {\n trigger: 'axis',\n confine: true,\n formatter: (params: any) => tooltipFormatter(params, parameters, isCategoryAxis, data),\n },\n grid: [\n {\n top: '10%',\n left: 40,\n right: 40,\n height: '29%',\n },\n {\n top: '45%',\n left: 40,\n right: 40,\n height: '29%',\n },\n ],\n xAxis: [\n {\n gridIndex: 0,\n type: isCategoryAxis ? 'category' : 'time',\n axisLabel: { show: false },\n axisTick: { show: false },\n splitLine: {\n show: false,\n },\n data: isCategoryAxis ? xAxisData : undefined,\n min: xAxisData[0],\n max: last(xAxisData),\n },\n {\n gridIndex: 1,\n type: isCategoryAxis ? 'category' : 'time',\n axisLabel: {\n show: true,\n hideOverlap: true,\n },\n axisTick: { show: true },\n splitLine: {\n show: false,\n },\n data: isCategoryAxis ? xAxisData : undefined,\n min: xAxisData[0],\n max: last(xAxisData),\n },\n ] as [XAXisOption, XAXisOption],\n yAxis: [\n {\n gridIndex: 0,\n name: i18n.t('milliampere_abbreviation').toString(),\n type: 'value',\n scale: true,\n axisLine: {\n show: true,\n },\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n },\n {\n gridIndex: 0,\n name: i18n.t('celsius_degrees_abbreviation').toString(),\n type: 'value',\n position: 'right',\n scale: true,\n axisLine: {\n show: true,\n },\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n },\n // Cutting head version changes on absolute temperatures sub-chart\n {\n gridIndex: 0,\n type: 'value',\n show: false,\n },\n {\n gridIndex: 1,\n type: 'value',\n scale: true,\n axisLine: {\n show: true,\n },\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n },\n ],\n series: this.generateSeries(data, isCategoryAxis),\n };\n }\n\n private generateSeries(\n data: DriveCurrentTimelineData[],\n isCategoryAxis: boolean,\n ): SeriesOption[] {\n const currentDifferenceData = this.getSeriesData('diff_DriveCurrent', data, isCategoryAxis);\n const headVersionChangeSeriesData = getHeadVersionChangeSeriesData(\n data,\n isCategoryAxis,\n ) as Array<[string, number]>;\n return [\n {\n name: `drive_current`,\n data: this.getSeriesData('DriveCurrent', data, isCategoryAxis),\n type: 'line',\n emphasis: { focus: 'series' },\n xAxisIndex: 0,\n yAxisIndex: 0,\n },\n {\n name: 'capacitive_temperature',\n data: this.getSeriesData('TempCapacitive', data, isCategoryAxis),\n type: 'line',\n emphasis: { focus: 'series' },\n xAxisIndex: 0,\n yAxisIndex: 1,\n },\n {\n data: getHeadVersionChangeSeriesData(data, isCategoryAxis),\n type: 'scatter',\n // FIXME: We should be able to load the image like below, but for some\n // reason it looks blurry.\n // symbol: 'image:///images/cutting-head-version-change-mark.svg',\n symbol: CUTTING_HEAD_VERSION_CHANGE_SYMBOL,\n symbolSize: 15,\n symbolOffset: [0, '-50%'],\n color: '#000000',\n xAxisIndex: 0,\n yAxisIndex: 2,\n z: 4, // Make the symbol appear above the rest of the series\n },\n {\n name: 'current_difference',\n data:\n currentDifferenceData.length === 0\n ? [\n [headVersionChangeSeriesData[0][0], null],\n [last(headVersionChangeSeriesData)![0], null],\n ]\n : currentDifferenceData,\n type: 'line',\n emphasis: { focus: 'series' },\n xAxisIndex: 1,\n yAxisIndex: 3,\n },\n ];\n }\n\n private getSeriesData(\n fieldName: keyof DriveCurrentTimelineData,\n dataArray: DriveCurrentTimelineData[],\n isCategoryAxis: boolean,\n ): any[] {\n if (isCategoryAxis) {\n return dataArray\n .filter((dataItem) => !isNil(dataItem[fieldName]))\n .map((dataItem) => [dataItem.bucket, dataItem[fieldName]]);\n }\n return dataArray\n .filter((dataItem) => !isNil(dataItem[fieldName]))\n .map((dataItem) => [dataItem.bucket, dataItem[fieldName]]);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { DriveCurrentDifferenceHistogramData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { metricsService } from '@/services/metrics.service';\nimport { doesAnyDataComeFromNewerCuttingHeadSoftware } from './cuttingHeadCommons';\n\nexport class DriveCurrentDifferenceHistogramGenerator extends ChartGenerator<\n DriveCurrentDifferenceHistogramData[]\n> {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string],\n ) {\n const deviceId = selectedDevices[0];\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom: timeSpan[0],\n dateTo: timeSpan[1],\n versionInformation: true,\n interruptIfV4: true,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: DriveCurrentDifferenceHistogramData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n if (doesAnyDataComeFromNewerCuttingHeadSoftware(data)) {\n return {\n graphic: [\n {\n type: 'text',\n left: 'center',\n top: 'center',\n style: {\n text: i18n.t('widget_info_text.no_data_for_ch').toString(),\n overflow: 'break',\n width: 300,\n fontSize: '18px',\n fontFamily: 'Inter',\n fontWeight: 'bold',\n textAlign: 'center',\n } as any,\n },\n ],\n };\n }\n const sortedData = data\n .filter((x) => !x.cuttingHeadSoftwareVersion)\n .sort((a, b) => a.k_diffs - b.k_diffs);\n return {\n grid: {\n top: '4%',\n bottom: 30,\n left: 8,\n right: 8,\n containLabel: true,\n },\n legend: {\n show: true,\n bottom: 0,\n selectedMode: false,\n },\n tooltip: {\n trigger: 'axis',\n show: true,\n confine: true,\n },\n xAxis: {\n type: 'category',\n data: this.getValues(sortedData),\n },\n yAxis: {\n type: 'value',\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n },\n series: this.series(sortedData),\n };\n }\n\n private series(dataArray: DriveCurrentDifferenceHistogramData[]): SeriesOption[] {\n return [\n {\n name: i18n.t(`report.difference_frequency`).toString(),\n type: 'bar',\n emphasis: {\n focus: 'series',\n },\n data: this.getValueFrequencies(dataArray),\n },\n ];\n }\n\n private getValues(dataArray: DriveCurrentDifferenceHistogramData[]) {\n return dataArray.map((valueItem) => valueItem.k_diffs);\n }\n\n private getValueFrequencies(dataArray: DriveCurrentDifferenceHistogramData[]) {\n return dataArray.map((valueItem) => valueItem.counts);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { getTooltipTitle } from '@/utils/charts';\nimport { DriveAccumulatedCurrentDifferenceData } from './chartsData';\nimport {\n getHeadVersionChangeDataHtml,\n isHeadVersionChangeTooltipParamItem,\n} from './cuttingHeadCommons';\nimport { GeneratorParams } from './generatorParams';\nimport i18n from '@/i18n';\n\nexport function tooltipFormatter(\n params: any,\n parameters: GeneratorParams,\n isCategoryAxis: boolean,\n data: DriveAccumulatedCurrentDifferenceData[],\n): string {\n let driveCurrentDifferenceHtml = '';\n let cuttingHeadVersionChangeHtml = '';\n\n const dateGrouping = parameters.timeAxisSpan!;\n\n params.forEach((paramItem: any) => {\n if (isDriveCurrentDifferenceTooltipParamItem(paramItem)) {\n driveCurrentDifferenceHtml += getNumericValueTooltipHtml(paramItem);\n } else if (isHeadVersionChangeTooltipParamItem(paramItem)) {\n cuttingHeadVersionChangeHtml += getHeadVersionChangeDataHtml(paramItem, data, dateGrouping);\n }\n });\n\n return `\n
\n ${getTooltipTitle(params[0].axisValue, dateGrouping, isCategoryAxis)}\n
\n\n ${driveCurrentDifferenceHtml}\n ${cuttingHeadVersionChangeHtml}\n `;\n}\n\nfunction isDriveCurrentDifferenceTooltipParamItem(paramItem: any) {\n return paramItem.seriesType === 'line';\n}\n\nfunction getNumericValueTooltipHtml(seriesParam: any): string {\n const value: number = seriesParam.value[1]; // ['ISO date', value]\n const unit = seriesParam.seriesName === 'capacitive_temperature' ? 'ºC' : 'mA';\n const formattedValue = `${i18n.n(value, { maximumFractionDigits: 2 })} ${unit}`;\n return getValueTooltipHtml(seriesParam, formattedValue);\n}\n\nfunction getValueTooltipHtml(seriesParam: any, value: string): string {\n return `\n \n
\n ${seriesParam.marker}\n ${i18n.t(`report.${seriesParam.seriesName}`)}\n
\n
${value}
\n \n `;\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { DriveAccumulatedCurrentDifferenceData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption, LineSeriesOption, SeriesOption } from 'echarts';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { XAXisOption } from 'echarts/types/dist/shared';\nimport { uniq } from '@/utils/array';\nimport { metricsService } from '@/services/metrics.service';\nimport {\n CUTTING_HEAD_VERSION_CHANGE_SYMBOL,\n cuttingHeadDataHasCategoryAxis,\n doesAllDataComeFromNewerCuttingHeadSoftware,\n getHeadVersionChangeSeriesData,\n} from './cuttingHeadCommons';\nimport { tooltipFormatter } from './driveAccumulatedCurrentDifferenceTimelineTooltipFormatter';\n\nexport class DriveAccumulatedCurrentDifferenceTimelineGenerator extends ChartGenerator<\n DriveAccumulatedCurrentDifferenceData[]\n> {\n constructor(procedure: ProcedureName, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n ) {\n const deviceId = selectedDevices[0];\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom: timeSpan[0],\n dateTo: timeSpan[1],\n dateGrouping: timeAxisSpan,\n versionInformation: true,\n interruptIfV4: true,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: DriveAccumulatedCurrentDifferenceData[],\n parameters: GeneratorParams = {},\n ): EChartsOption {\n if (doesAllDataComeFromNewerCuttingHeadSoftware(data)) {\n return {\n graphic: [\n {\n type: 'text',\n left: 'center',\n top: 'center',\n style: {\n text: i18n.t('widget_info_text.no_data_for_ch').toString(),\n overflow: 'break',\n width: 300,\n fontSize: '18px',\n fontFamily: 'Inter',\n fontWeight: 'bold',\n textAlign: 'center',\n } as any,\n },\n ],\n };\n }\n\n // Only regular linear data must be taken into account to decide if the chart must\n // be treated as categorical or not, so version history data is omitted.\n const isCategoryAxis = cuttingHeadDataHasCategoryAxis(parameters.timeAxisSpan, data);\n\n return {\n legend: {\n icon: 'roundRect',\n bottom: 0,\n selectedMode: false,\n formatter: (name: string) => i18n.t(`report.${name}`).toString(),\n },\n dataZoom: [\n {\n type: 'inside',\n filterMode: 'weakFilter',\n },\n ],\n tooltip: {\n trigger: 'axis',\n confine: true,\n formatter: (params: any) => tooltipFormatter(params, parameters, isCategoryAxis, data),\n },\n grid: {\n top: '4%',\n left: 7,\n right: 20,\n bottom: 30,\n containLabel: true,\n },\n xAxis: {\n type: isCategoryAxis ? 'category' : 'time',\n data: isCategoryAxis ? uniq(data.map((dataItem) => dataItem.bucket)) : undefined,\n splitLine: {\n show: false,\n },\n axisLabel: {\n hideOverlap: true,\n },\n } as XAXisOption,\n yAxis: {\n type: 'value',\n scale: true,\n axisLine: {\n show: true,\n },\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n },\n series: this.generateSeries(data, isCategoryAxis),\n };\n }\n\n private generateSeries(\n data: DriveAccumulatedCurrentDifferenceData[],\n isCategoryAxis: boolean,\n ): SeriesOption[] {\n const lineChartSeries: LineSeriesOption = {\n name: 'accumulated_difference',\n data: this.getSeriesData(\n 'accumulated_diff',\n data.filter((x) => !!x.accumulated_diff),\n isCategoryAxis,\n ),\n type: 'line',\n };\n const headVersionChangeSeriesData = getHeadVersionChangeSeriesData(data, isCategoryAxis);\n // This returns true if the array is empty or if all values are null\n if (headVersionChangeSeriesData.every((x) => x === null)) {\n return [lineChartSeries];\n }\n return [\n lineChartSeries,\n {\n data: headVersionChangeSeriesData,\n type: 'scatter',\n // FIXME: We should be able to load the image like below, but for some\n // reason it looks blurry.\n // symbol: 'image:///images/cutting-head-version-change-mark.svg',\n symbol: CUTTING_HEAD_VERSION_CHANGE_SYMBOL,\n symbolSize: 15,\n symbolOffset: [0, '-50%'],\n color: '#000000',\n z: 4, // Make the symbol appear above the rest of the series\n },\n ];\n }\n\n private getSeriesData(\n fieldName: keyof DriveAccumulatedCurrentDifferenceData,\n data: DriveAccumulatedCurrentDifferenceData[],\n isCategoryAxis: boolean,\n ) {\n return isCategoryAxis\n ? data.map((dataItem) => dataItem[fieldName]!)\n : data.map((dataItem) => [dataItem.bucket, dataItem[fieldName]!]);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport { getColor } from '@/utils/color';\nimport { abbreviateNumber } from '@/utils/number';\nimport { FinishedPOData } from './chartsData';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockFinishedPOEstimatedVsActualPOLData } from './mockWidgetSelectorData';\nimport { GeneratorParams } from './generatorParams';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { TooltipFormatter } from '@/models/Charts/tooltipFormatter';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class FinishedPOEstimatedVsActualPOLGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSMBSMetricsSFC(\n this.procedure,\n this.tenantIdDh,\n { startDate, endDate, axisTimespan: timeAxisSpan },\n this.controller,\n );\n }\n\n override updateOptions(\n data: FinishedPOData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n return {\n dataZoom: {\n type: 'inside',\n },\n tooltip: {\n trigger: 'axis',\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: TooltipFormatter.build(parameters.timeAxisSpan)\n .withSeriesTranslationPrefix('')\n .get(),\n },\n legend: {\n bottom: 0,\n type: 'scroll',\n },\n grid: {\n containLabel: true,\n left: '3%',\n right: '4%',\n bottom: 40,\n top: 32,\n },\n xAxis: {\n type: isCategoryAxis ? 'category' : 'time',\n ...(isCategoryAxis && {\n data: this.xAxisData(data),\n }),\n },\n yAxis: {\n type: 'value',\n name: 'h',\n splitLine: {\n show: true,\n lineStyle: {\n color: '#f4f4f4',\n width: 1,\n },\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n series: this.series(data),\n };\n }\n\n override getMockData(): FinishedPOData[] | null {\n return mockFinishedPOEstimatedVsActualPOLData();\n }\n\n private series(data: FinishedPOData[]): SeriesOption[] {\n const mainSeries: SeriesOption[] = this.getSeriesNames(data).map(\n (name: keyof FinishedPOData) => ({\n name: i18n.t(`report.business_console.${name}`).toString(),\n type: 'bar',\n data: data.map((item) => [item.date, item[name]]),\n itemStyle: {\n color: this.barToColor(name),\n },\n barGap: '0%',\n }),\n );\n\n const capacitySeries: SeriesOption = {\n name: i18n.t('report.capacity').toString(),\n type: 'line',\n data: data.map((dataItem) => [dataItem.date, dataItem.capacity]),\n lineStyle: {\n color: 'rgb(160, 197, 242)',\n type: 'dashed',\n },\n connectNulls: true,\n };\n\n return [...mainSeries, capacitySeries];\n }\n\n private getSeriesNames(data: FinishedPOData[]): Array {\n return Object.keys(data[0]).filter(this.isSeriesField) as Array;\n }\n\n private isSeriesField(fieldName: string): boolean {\n return fieldName !== 'date' && fieldName !== 'capacity';\n }\n\n private xAxisData(data: FinishedPOData[]) {\n const xAxisData: string[] = data.map((item) => item.date);\n return [...new Set(xAxisData)];\n }\n\n private barToColor(key: string) {\n let index: number;\n if (key === 'estimated_time_hours') {\n index = 1;\n } else {\n index = 3;\n }\n return getColor(index, 0);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\n\nexport class DrawerOverviewCycleTimesTooltipFormatter {\n constructor(private data: any) {}\n\n get() {\n return (params: any) => this.format(params);\n }\n\n private format(params: any): string {\n const unit = this.isCuttingSeries(params) ? ` h` : ` s`;\n const cycles = this.getCyclesText(params);\n const formattedValue = `${i18n.n(params.value, { maximumFractionDigits: 2 })}${unit}${cycles}`;\n\n return this.getValueHtml(params, formattedValue);\n }\n\n private isCuttingSeries(seriesParam: any): boolean {\n return seriesParam.name.includes('cutting');\n }\n\n private getCyclesText(seriesParam: any): string {\n if (seriesParam.seriesName !== 'average') {\n // There's always 1 cycle for 'current'/'last', so it makes no sense to show it\n return '';\n }\n\n const seriesCycleFieldMap: any = {\n 'lower-drawer-cutting': 'lower_drawer_inserted_cycles',\n 'upper-drawer-cutting': 'upper_drawer_inserted_cycles',\n\n 'lower-drawer-removed': 'lower_drawer_removed_cycles',\n 'upper-drawer-removed': 'upper_drawer_removed_cycles',\n };\n\n const normalizedName = seriesParam.name.replace(/cutting_|removal_/, '').replace('_', '-');\n const cycleType = seriesParam.name.includes('cutting') ? 'cutting' : 'removed';\n const key = `${normalizedName}-${cycleType}`;\n const cyclesField = seriesCycleFieldMap[key];\n const cycles = this.data[cyclesField];\n // FIXME: the report.cycles should include '{n}' to show the number instead\n // of using concatenation.\n return ` (${cycles} ${i18n.tc('report.cycles', cycles)})`;\n }\n\n private getValueHtml(seriesParam: any, value: string): string {\n return `\n \n
\n ${seriesParam.marker}\n \n \n ${i18n.t(`report.${seriesParam.seriesName}`)}\n \n
\n
\n ${value}\n
\n \n `;\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { DrawerCycleTimesData } from './chartsData';\nimport { DefaultLabelFormatterCallbackParams, EChartsOption, SeriesOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { WidgetEnum } from '../enums/WidgetEnum';\nimport { DrawerOverviewCycleTimesTooltipFormatter } from '@/models/Charts/drawerOverviewCycleTimesTooltipFormatter';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class DrawerOverviewCycleTimesGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ) {\n const deviceId = selectedDevices[0];\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSSCMetrics(\n WidgetEnum.TechnologyDrawerCycleTimes,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom,\n dateTo,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: DrawerCycleTimesData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const chartDimensions = {\n width: '45%',\n height: '72%',\n };\n\n return {\n title: [\n {\n top: 0,\n left: '22%',\n textAlign: 'center',\n text: i18n.t('report.cutting_cycle_times').toString(),\n textStyle: {\n fontSize: parameters.clientWidth! > 350 ? 13 : 10,\n },\n },\n {\n top: 0,\n left: '74%',\n textAlign: 'center',\n text: i18n.t('report.removed_cycle_times').toString(),\n textStyle: {\n fontSize: parameters.clientWidth! > 350 ? 13 : 10,\n },\n },\n ],\n legend: {\n bottom: 0,\n formatter: (name: string) =>\n name === 'current'\n ? i18n.t(`report.${name}_last`).toString()\n : i18n.t(`report.${name}`).toString(),\n },\n grid: [\n {\n top: 30,\n left: 0,\n ...chartDimensions,\n containLabel: true,\n },\n {\n top: 30,\n right: 0,\n ...chartDimensions,\n containLabel: true,\n },\n ],\n tooltip: {\n confine: true,\n formatter: new DrawerOverviewCycleTimesTooltipFormatter(data[0]).get(),\n },\n xAxis: [\n {\n type: 'category',\n axisTick: { show: false },\n data: ['cutting_lower_drawer', 'cutting_upper_drawer'],\n axisLabel: {\n formatter: DrawerOverviewCycleTimesGenerator.getXAxisLabelFormatter(parameters),\n fontSize: parameters.clientWidth! > 350 ? 13 : 10,\n },\n gridIndex: 0,\n },\n {\n type: 'category',\n axisTick: { show: false },\n data: ['removal_lower_drawer', 'removal_upper_drawer'],\n axisLabel: {\n formatter: DrawerOverviewCycleTimesGenerator.getXAxisLabelFormatter(parameters),\n fontSize: parameters.clientWidth! > 350 ? 13 : 10,\n },\n gridIndex: 1,\n },\n ],\n yAxis: Array(2)\n .fill(0)\n .map((_, i) => ({\n gridIndex: i,\n type: 'value',\n show: false,\n axisLabel: { show: false },\n })),\n series: this.generateSeries(data, parameters.clientWidth!),\n };\n }\n\n private generateSeries(data: DrawerCycleTimesData[], clientWidth: number): SeriesOption[] {\n return [\n ['cutting', 'hour_avg'],\n ['cutting', 'hours'],\n ['removed', 'second_avg'],\n ['removed', 'seconds'],\n ].map(([status, field]) => ({\n data: this.getSeriesData(status, field as keyof DrawerCycleTimesData, data[0]),\n type: 'bar',\n name: field === 'hour_avg' || field === 'second_avg' ? 'average' : 'current',\n label: {\n show: true,\n fontSize: clientWidth > 350 ? 13 : 10,\n position: 'insideBottom',\n rotate: 90,\n align: 'left',\n verticalAlign: 'middle',\n formatter: DrawerOverviewCycleTimesGenerator.labelFormatter.bind(null, status),\n },\n xAxisIndex: status === 'cutting' ? 0 : 1,\n yAxisIndex: status === 'cutting' ? 0 : 1,\n }));\n }\n\n private getSeriesData(\n status: string,\n field: keyof DrawerCycleTimesData,\n dataItem: DrawerCycleTimesData,\n ) {\n return ['lower', 'upper'].flatMap((drawer: string) => {\n const fieldName = `${drawer}_drawer_${status}_${field}` as keyof DrawerCycleTimesData;\n return dataItem[fieldName];\n });\n }\n\n private static labelFormatter(\n status: string,\n params: DefaultLabelFormatterCallbackParams,\n ): string {\n const unit = status === 'cutting' ? 'hours' : 'seconds';\n const formattedHours = i18n.n(params.data as number).toString();\n return i18n.t(`report.${unit}_value`).toString().replace('%1', formattedHours);\n }\n\n private static getXAxisLabelFormatter(parameters: GeneratorParams) {\n return (name: string) => {\n // Warning: Although we remove these prefixes here, they can't be omitted\n // from the name in xAxis.data, as they're used by the tooltip formatter\n // to detect whether it's the cutting or removal chart.\n const normalizedName = name.replace(/cutting_|removal_/, '');\n return parameters.clientWidth! > 350\n ? i18n.t(`report.${normalizedName}_label`).toString()\n : i18n.t(`report.${normalizedName}_label_abbr`).toString();\n };\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { abbreviateNumber } from '@/utils/number';\nimport { CuttingHoursTimelineData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption, LineSeriesOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { XAXisOption } from 'echarts/types/dist/shared';\nimport { TooltipFormatter } from '@/models/Charts/tooltipFormatter';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class CuttingHoursTimelineGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n ) {\n const deviceId = selectedDevices[0];\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom,\n dateTo,\n dateGrouping: timeAxisSpan,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: CuttingHoursTimelineData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n\n return {\n legend: {\n icon: 'roundRect',\n type: 'scroll',\n bottom: 0,\n selectedMode: false,\n },\n dataZoom: [\n {\n type: 'inside',\n filterMode: 'weakFilter',\n },\n ],\n tooltip: {\n trigger: 'axis',\n confine: true,\n formatter: TooltipFormatter.build(parameters.timeAxisSpan)\n .withSeriesTranslationPrefix(undefined)\n .get(),\n },\n grid: [\n {\n top: 10,\n left: 10,\n right: 20,\n bottom: 30,\n containLabel: true,\n },\n ],\n xAxis: {\n type: isCategoryAxis ? 'category' : 'time',\n axisLabel: {\n show: true,\n hideOverlap: true,\n },\n axisTick: { show: true },\n splitLine: {\n show: false,\n },\n data: isCategoryAxis ? (data.map((dataItem) => dataItem.bucket) as any[]) : undefined,\n } as XAXisOption,\n yAxis: {\n name: i18n.t('hours_abbreviation').toString(),\n nameTextStyle: {\n align: 'left',\n },\n type: 'value',\n scale: true,\n axisLine: {\n show: true,\n },\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n series: this.generateSeries(data, isCategoryAxis),\n };\n }\n\n private generateSeries(\n data: CuttingHoursTimelineData[],\n isCategoryAxis: boolean,\n ): LineSeriesOption[] {\n const seriesData = this.getSeriesData('cuttingHours', data, isCategoryAxis);\n\n return [\n {\n data: seriesData,\n type: 'line',\n name: i18n.t('report.cutting_hours').toString(),\n emphasis: { focus: 'series' },\n },\n ];\n }\n\n private getSeriesData(\n fieldName: keyof CuttingHoursTimelineData,\n dataArray: CuttingHoursTimelineData[],\n isCategoryAxis: boolean,\n ) {\n return isCategoryAxis\n ? dataArray.map((dataItem) => dataItem[fieldName])\n : dataArray.map((dataItem) => [`${dataItem.bucket}`, dataItem[fieldName]]);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { powerLevelColors } from '@/utils/color';\nimport { SeriesOption } from 'echarts';\nimport { LaserConsumptionTimelineData } from './chartsData';\nimport { uniq } from '@/utils/array';\n\nexport abstract class LaserConsumptionKxSeriesGeneratorHelper {\n protected constructor(\n protected data: LaserConsumptionTimelineData[],\n protected axesIndex: number,\n protected isCategoryAxis: boolean,\n ) {}\n\n generate(): SeriesOption[] {\n const uniqueDates = uniq(this.data.map((dataItem) => dataItem.bucket));\n\n return this.getPowerLevels().map((powerLevel: number) => ({\n data: this.getSeriesData(powerLevel, uniqueDates),\n type: 'line',\n name: `k${powerLevel}_consumption`,\n emphasis: { focus: 'series' },\n xAxisIndex: this.axesIndex,\n yAxisIndex: this.axesIndex,\n itemStyle: {\n color: powerLevelColors[powerLevel],\n },\n }));\n }\n\n private getPowerLevels(): number[] {\n // It sorts as strings by default, use custom comparator\n return uniq(this.data.map((item) => item.kPower)).sort((a, b) => a - b);\n }\n\n protected abstract getSeriesData(powerLevel: number, uniqueDates: string[]): any[];\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { LaserConsumptionTimelineData } from './chartsData';\nimport { LaserConsumptionKxSeriesGeneratorHelper } from '@/models/Charts/laserConsumptionKxSeriesGeneratorHelper';\n\nexport class LaserAccumulatedConsumptionKxSeriesGeneratorHelper extends LaserConsumptionKxSeriesGeneratorHelper {\n constructor(data: LaserConsumptionTimelineData[], axesIndex: number, isCategoryAxis: boolean) {\n super(data, axesIndex, isCategoryAxis);\n }\n\n protected getSeriesData(powerLevel: number, uniqueDates: string[]): any[] {\n const powerFilteredData = this.data.filter((d) => d.kPower === powerLevel);\n\n let index = 0;\n let lastValue = 0;\n\n return uniqueDates.map((date) => {\n while (index < powerFilteredData.length && powerFilteredData[index].bucket <= date) {\n lastValue = powerFilteredData[index].kPowerConsumptionKwh;\n ++index;\n }\n\n return this.isCategoryAxis ? lastValue : [date, lastValue];\n });\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { LaserAccumulatedConsumptionKxSeriesGeneratorHelper } from './laserAccumulatedConsumptionKxSeriesGeneratorHelper';\nimport { abbreviateNumber } from '@/utils/number';\nimport { LaserConsumptionTimelineData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { WidgetEnum } from '../enums/WidgetEnum';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { TooltipFormatter } from '@/models/Charts/tooltipFormatter';\nimport { XAXisOption } from 'echarts/types/dist/shared';\nimport { uniq } from '@/utils/array';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class LaserConsumptionOverviewTimelineGenerator extends ChartGenerator<\n LaserConsumptionTimelineData[]\n> {\n constructor(procedure: ProcedureName, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n ) {\n const deviceId = selectedDevices[0];\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSSCMetrics(\n WidgetEnum.TechnologyLaserConsumptionTimeline,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom,\n dateTo,\n dateGrouping: timeAxisSpan,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: LaserConsumptionTimelineData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n\n return {\n legend: {\n icon: 'roundRect',\n type: 'scroll',\n bottom: 0,\n formatter: LaserConsumptionOverviewTimelineGenerator.legendFormatter,\n },\n axisPointer: {\n link: [{ xAxisIndex: 'all' }],\n },\n dataZoom: [\n {\n type: 'inside',\n filterMode: 'weakFilter',\n },\n ],\n tooltip: {\n trigger: 'axis',\n confine: true,\n formatter: TooltipFormatter.build(parameters.timeAxisSpan)\n .withSeriesNameGenerator(LaserConsumptionOverviewTimelineGenerator.translateSeriesName)\n .withSuffix('kWh')\n .get(),\n },\n grid: {\n top: 10,\n left: 10,\n right: 20,\n bottom: 30,\n containLabel: true,\n },\n xAxis: {\n type: isCategoryAxis ? 'category' : 'time',\n axisLabel: {\n show: true,\n hideOverlap: true,\n },\n axisTick: { show: true },\n splitLine: {\n show: false,\n },\n data: isCategoryAxis ? uniq(data.map((dataItem) => dataItem.bucket)) : undefined,\n } as XAXisOption,\n yAxis: {\n name: i18n.t('report.kwh').toString(),\n nameTextStyle: {\n align: 'left',\n },\n type: 'value',\n scale: true,\n max: (value) => value.max * 1.2,\n axisLine: {\n show: true,\n },\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n series: this.generateSeries(data, isCategoryAxis),\n };\n }\n\n private generateSeries(\n data: LaserConsumptionTimelineData[],\n isCategoryAxis: boolean,\n ): SeriesOption[] {\n return new LaserAccumulatedConsumptionKxSeriesGeneratorHelper(\n data,\n 0,\n isCategoryAxis,\n ).generate();\n }\n\n private static legendFormatter(seriesName: string): string {\n return LaserConsumptionOverviewTimelineGenerator.translateSeriesName(seriesName);\n }\n\n private static translateSeriesName(seriesName: string): string {\n const powerLevel = seriesName.match(/\\d+/)![0];\n return i18n.t(`report.kx_power`, [powerLevel]).toString();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { formatPercentage as formatPercentage } from '@/utils/number';\nimport { EChartsOption } from 'echarts';\nimport { ProcedureName } from './abstract/chartGenerator';\nimport { QuotesAbcCustomersData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport QuotesAbcCustomersGenerator from './quotesAbcCustomersGenerator';\n\nexport default class QuotesAbcCustomersOverviewGenerator extends QuotesAbcCustomersGenerator {\n constructor(procedure: ProcedureName, tenantIdDh: number) {\n super(procedure, tenantIdDh);\n }\n\n override updateOptions(\n data: QuotesAbcCustomersData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const options = super.updateOptions(data, parameters, prevOptions);\n\n return {\n ...options,\n tooltip: {\n confine: true,\n formatter: (info: any) => {\n if (!info.data.selection?.id) {\n // non-leaf nodes don't have the selection field\n return '';\n }\n const category = info.data.path.split('/')[0];\n const customer = data.find((el) => el.no_ === info.data.selection.id)!;\n const formattedRatio = formatPercentage(\n (100 * customer.converted_amount) / customer.amount,\n );\n\n return `\n
\n
\n

${info.name}

\n

${info.marker}${i18n.t(\n 'widget_info_text.quotes_abc_customers_tooltip_category',\n {\n category,\n },\n )}

\n
\n
\n

${i18n.t(\n 'widget_info_text.quotes_abc_customers_tooltip_amount',\n {},\n )}:

\n

${i18n.n(customer.amount)}

\n
\n
\n

${i18n.t(\n 'widget_info_text.quotes_abc_customers_tooltip_converted_amount',\n )}:

\n

${i18n.n(info.value)}

\n
\n
\n

${i18n.t(\n 'widget_info_text.quotes_abc_customers_tooltip_number_quotes',\n )}:

\n

${i18n.n(customer.n_quotes)}

\n
\n
\n

${i18n.t(\n 'widget_info_text.quotes_abc_customers_tooltip_number_converted_quotes',\n )}:

\n

${i18n.n(customer.n_accepted)}

\n
\n
\n

${i18n.t(\n 'widget_info_text.quotes_abc_customers_tooltip_ratio',\n )}:

\n

${formattedRatio}

\n
\n
\n `;\n },\n },\n };\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { abbreviateNumber, decimalFormatter } from '@/utils/number';\nimport { QuotedMaterialsListData } from './chartsData';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { EChartsOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { YAXisOption } from 'echarts/types/dist/shared';\nimport { weightUnit } from '@/utils/measurement';\nimport { mockQuotesMaterialsListData } from './mockWidgetSelectorData';\nimport { metricsService } from '@/services/metrics.service';\n\nconst OTHERS_NAME = 'OTHERS';\n\nexport class QuotedMaterialsListGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public customerIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const numberOfMaterials = params?.numberOfMaterials ?? 6;\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.customerIdDh,\n { paramNumber: numberOfMaterials, startDate, endDate },\n this.controller,\n );\n }\n\n override updateOptions(\n data: QuotedMaterialsListData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const reorderedMaterials = this.moveOthersItemToTheEnd(data);\n return {\n legend: {\n bottom: 0,\n type: 'scroll',\n },\n dataZoom: [\n {\n show: true,\n type: 'inside',\n realtime: true,\n },\n ],\n tooltip: {\n trigger: 'axis',\n confine: true,\n extraCssText: 'z-index: 1',\n valueFormatter: decimalFormatter,\n },\n grid: {\n containLabel: true,\n left: 8,\n right: 30,\n bottom: 40,\n top: 8,\n },\n xAxis: {\n type: 'value',\n name: weightUnit(),\n splitLine: {\n show: true,\n lineStyle: {\n color: '#f4f4f4',\n width: 1,\n },\n },\n axisLabel: {\n formatter: abbreviateNumber,\n },\n },\n yAxis: {\n type: 'category',\n data: this.getMaterialNames(reorderedMaterials),\n inverse: true,\n axisLabel: {\n interval: 0,\n overflow: 'truncate' as const,\n width: 95,\n } as YAXisOption, // overflow=truncate not recognized,\n },\n series: this.generateSeries(reorderedMaterials),\n };\n }\n\n override getMockData(): QuotedMaterialsListData[] | null {\n return mockQuotesMaterialsListData();\n }\n\n private moveOthersItemToTheEnd(data: QuotedMaterialsListData[]): QuotedMaterialsListData[] {\n const nonOthersItems = data.filter((item) => item.mat_group !== OTHERS_NAME);\n const othersItem = data.find((item) => item.mat_group === OTHERS_NAME);\n\n if (!othersItem) {\n return nonOthersItems;\n }\n\n return [...nonOthersItems, othersItem];\n }\n\n private generateSeries(data: QuotedMaterialsListData[]) {\n return [\n {\n name: i18n.t('report.business_console.materials_converted').toString(),\n type: 'bar' as const,\n stack: 'total',\n data: this.getConvertedValues(data),\n },\n {\n name: i18n.t('report.business_console.materials_non_converted').toString(),\n type: 'bar' as const,\n stack: 'total',\n data: this.getNonConvertedValues(data),\n },\n ];\n }\n\n private getConvertedValues(data: QuotedMaterialsListData[]): number[] {\n return data.map((materialEntry) => materialEntry.converted_weight);\n }\n\n private getNonConvertedValues(data: QuotedMaterialsListData[]): number[] {\n return data.map((materialEntry) => materialEntry.weight - materialEntry.converted_weight);\n }\n\n private getMaterialNames(data: QuotedMaterialsListData[]): string[] {\n return this.removeDuplicates(data.map((item) => this.formatName(item.mat_group)));\n }\n\n private formatName(name: string) {\n return name === OTHERS_NAME\n ? i18n.t('report.others').toString()\n : name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();\n }\n\n private removeDuplicates(names: string[]) {\n return [...new Set(names)];\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport i18n from '@/i18n';\nimport { EChartsOption } from 'echarts';\nimport { abbreviateNumber } from '@/utils/number';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { LineChartMode } from '../enums/LineChartMode';\nimport { LaserOutputScrapHistoricalData } from './chartsData';\nimport { mockLaserOutputScrapHistData } from './mockWidgetSelectorData';\nimport { GeneratorParams } from './generatorParams';\nimport { isCategoryXAxis, getTooltipTitle } from '@/utils/charts';\nimport { uniq } from '@/utils/array';\nimport { groupByDate } from '@/utils/dates';\nimport { AxisPointerLabelFormatter } from '@/models/Charts/axisPointerLabelFormatter';\nimport { getUnitTransform } from '@/utils/measurement';\nimport { metricsService } from '@/services/metrics.service';\nimport { Aggregate } from '@/models/metrics/aggregates';\n\n/*\n Extra options:\n upperLineName: string\n lowerLineName: string\n groupKey: string\n*/\nexport class MultiLineChartGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan: FilterTimeAxisSpanEnum | number,\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n startDate,\n endDate,\n timeAxisSpan,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: any[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const groups: string[] = Array.from(new Set(data.map((x: any) => x[parameters.groupKey!])));\n\n const stackedColumns = parameters.paramValues?.mode === LineChartMode.StackedColumns;\n const type = stackedColumns ? 'bar' : ('line' as const);\n const stack = stackedColumns ? ('total' as const) : undefined;\n\n const yAxisUnit = 'yAxisName' in parameters ? ' ('.concat(parameters.yAxisName!, ')') : '';\n\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n\n let xAxisValues: string[] = isCategoryAxis ? data.map((x) => x.date) : [];\n xAxisValues = [...new Set(xAxisValues)];\n\n const upperLineName = parameters.upperLineName!;\n const lowerLineName = parameters.lowerLineName!;\n\n const byDateData = groupByDate(\n data,\n this.getDates(data),\n (sourceValuesObject, currentItem) => ({\n ...sourceValuesObject,\n [currentItem.group_name]: {\n [upperLineName]: currentItem[upperLineName],\n [lowerLineName]: currentItem[lowerLineName],\n },\n }),\n );\n\n const averageMark: any[] = [];\n const markPointData: any[] = [];\n\n if (parameters.aggregates) {\n for (const aggregate of parameters.aggregates) {\n if (aggregate === Aggregate.Max || aggregate === Aggregate.Min) {\n markPointData.push({ name: '', type: aggregate });\n } else {\n averageMark.push({ type: 'average', itemStyle: { color: 'rgba(207, 90, 90, 1)' } });\n }\n }\n }\n return {\n title: {\n show: false,\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'cross',\n label: {\n backgroundColor: '#6a7985',\n formatter: new AxisPointerLabelFormatter(parameters.timeAxisSpan, isCategoryAxis).get(),\n },\n animation: false,\n },\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: this.formatter(parameters.timeAxisSpan!, isCategoryAxis),\n },\n legend: {\n top: '91%',\n type: 'scroll',\n data: groups,\n // Avoid overriding enabled legend items if updateOptions is called on legend change\n selected: parameters.legendParams?.selected ?? {},\n },\n axisPointer: {\n link: [{ xAxisIndex: 'all' }],\n label: {\n fontSize: 5,\n },\n },\n dataZoom: [\n {\n show: false,\n realtime: true,\n height: '2',\n xAxisIndex: [0, 1],\n top: '95%',\n },\n {\n type: 'inside',\n realtime: true,\n xAxisIndex: [0, 1],\n },\n ],\n grid: [\n {\n left: '50',\n right: '50',\n top: '30',\n bottom: '55%',\n },\n {\n left: '50',\n right: '50',\n top: '58%',\n bottom: '50',\n },\n ],\n xAxis: [\n {\n type: isCategoryAxis ? 'category' : 'time',\n data: isCategoryAxis ? xAxisValues : undefined,\n name: 'xAxisName' in parameters ? parameters.xAxisName : '',\n boundaryGap: false,\n axisLine: { onZero: true },\n axisLabel: { margin: 17 },\n },\n {\n gridIndex: 1,\n type: isCategoryAxis ? 'category' : 'time',\n data: isCategoryAxis ? xAxisValues : undefined,\n boundaryGap: false,\n axisLine: { onZero: true },\n axisLabel: { show: false },\n },\n ],\n yAxis: [\n {\n name: `Output${yAxisUnit}`,\n type: 'value',\n splitLine: {\n show: true,\n lineStyle: {\n color: '#f4f4f4', // default #ccc\n width: 1,\n },\n },\n nameTextStyle: {\n fontWeight: 'bold',\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n {\n gridIndex: 1,\n name: `Scrap${yAxisUnit}`,\n type: 'value',\n inverse: true,\n splitLine: {\n show: true,\n lineStyle: {\n color: '#f4f4f4',\n shadowColor: '#efefef',\n width: 1,\n },\n },\n nameTextStyle: {\n fontWeight: 'bold',\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n ],\n series: groups\n .sort((a, b) => a.localeCompare(b))\n .flatMap((group: string) => [\n // Upper half series\n {\n name: group,\n type,\n stack,\n symbolSize: 8,\n data: this.getGroupData(\n byDateData,\n group,\n upperLineName,\n isCategoryAxis,\n parameters.convertToLbs,\n ),\n markPoint: {\n data: markPointData,\n label: {\n formatter: (params: any) => i18n.n(params.value, { maximumFractionDigits: 2 }),\n },\n },\n markLine: {\n data: averageMark,\n label: {\n formatter: (params: any) => i18n.n(params.value, { maximumFractionDigits: 2 }),\n },\n },\n },\n // Lower half series\n {\n name: group,\n type,\n stack: stack ? `${stack}_1` : undefined,\n xAxisIndex: 1,\n yAxisIndex: 1,\n symbolSize: 8,\n data: this.getGroupData(\n byDateData,\n group,\n lowerLineName,\n isCategoryAxis,\n parameters.convertToLbs,\n ),\n markPoint: {\n data: markPointData,\n label: {\n formatter: (params: any) => i18n.n(params.value, { maximumFractionDigits: 2 }),\n },\n },\n markLine: {\n data: averageMark,\n label: {\n formatter: (params: any) => i18n.n(params.value, { maximumFractionDigits: 2 }),\n },\n },\n },\n ]),\n };\n }\n\n private getGroupData(\n byDateData: any[],\n group: string,\n valueKey: string,\n isCategoryAxis: boolean,\n convertToLbs: boolean = false,\n ) {\n const unitTransform: (x: number) => number = getUnitTransform(convertToLbs);\n if (isCategoryAxis) {\n return byDateData.map((item) => unitTransform(item[group]?.[valueKey] ?? 0));\n } else {\n return byDateData.map((item) => [item.date, unitTransform(item[group]?.[valueKey] ?? 0)]);\n }\n }\n\n private getDates(data: any[]): string[] {\n return uniq(data.map((item) => item.date));\n }\n\n override getMockData(): LaserOutputScrapHistoricalData[] | null {\n return mockLaserOutputScrapHistData();\n }\n\n private formatter(timeAxisSpan: FilterTimeAxisSpanEnum, isCategoryAxis: boolean) {\n return (params: any) => {\n const res = `

${getTooltipTitle(params[0].axisValue, timeAxisSpan, isCategoryAxis)}

`;\n let output: boolean = false;\n let scrap: boolean = false;\n let outputPart = `

${i18n.t('report.output')}

`;\n let scrapPart = `

${i18n.t('report.scrap')}

`;\n params.forEach((item: any) => {\n if (item.value !== undefined) {\n const value = isNaN(item.value[1]) ? item.value : item.value[1];\n if (item.axisIndex === 0) {\n output = true;\n outputPart +=\n `

${item.marker} ${item.seriesName}:` +\n `${i18n.n(value, {\n maximumFractionDigits: 2,\n })}

`;\n } else {\n scrap = true;\n scrapPart +=\n `

${item.marker} ${item.seriesName}:` +\n `${i18n.n(value, {\n maximumFractionDigits: 2,\n })}

`;\n }\n }\n });\n return `${res}${output ? outputPart : ''}${scrap ? scrapPart : ''}`;\n };\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { LaserOutputScrapHistoricalData } from './chartsData';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { XAXisOption } from 'echarts/types/dist/shared';\nimport { getUnitTransform, weightUnit } from '@/utils/measurement';\nimport { abbreviateNumber } from '@/utils/number';\nimport { GeneratorParams } from './generatorParams';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { uniq } from '@/utils/array';\nimport { groupByDate } from '@/utils/dates';\nimport { TooltipFormatter } from '@/models/Charts/tooltipFormatter';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class RawMaterialUtilizationTimelineGenerator extends ChartGenerator<\n LaserOutputScrapHistoricalData[]\n> {\n private readonly utilizationSeriesName = i18n.t('report.utilization_percentage').toString();\n\n constructor(procedure: ProcedureName, public customerIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n ) {\n const startDate = (timeSpan as [string, string])[0];\n const endDate = (timeSpan as [string, string])[1];\n\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.customerIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n startDate,\n endDate,\n timeAxisSpan,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: LaserOutputScrapHistoricalData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n const disabledMaterials = this.getDisabledMaterials(parameters);\n const dates = this.getDates(data);\n\n return {\n grid: {\n top: 28,\n bottom: 40,\n left: 8,\n right: 12,\n containLabel: true,\n },\n legend: {\n show: true,\n bottom: 0,\n type: 'scroll',\n // Avoid overriding enabled legend items if updateOptions is called on legend change\n selected: parameters.legendParams?.selected ?? {},\n },\n xAxis: {\n type: isCategoryAxis ? 'category' : 'time',\n data: isCategoryAxis ? dates : undefined,\n } as XAXisOption, // type=category doesn't have data property,\n yAxis: [\n {\n name: weightUnit(),\n type: 'value',\n axisLabel: {\n formatter: abbreviateNumber,\n },\n },\n {\n name: '%',\n type: 'value',\n splitLine: {\n show: false,\n },\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n },\n ],\n dataZoom: [\n {\n type: 'inside',\n },\n ],\n tooltip: {\n trigger: 'axis',\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: TooltipFormatter.build(parameters.timeAxisSpan)\n .withSeriesTranslationPrefix(undefined)\n .get(),\n },\n series: this.series(data, dates, isCategoryAxis, disabledMaterials, parameters.convertToLbs),\n };\n }\n\n private series(\n data: LaserOutputScrapHistoricalData[],\n dates: string[],\n isCategoryAxis: boolean,\n disabledMaterials: string[],\n convertToLbs: boolean = false,\n ): SeriesOption[] {\n const materialSeries = this.generateMaterialSeries(data, dates, isCategoryAxis, convertToLbs);\n const utilizationSeries = this.generateUtilizationSeries(data, dates, disabledMaterials);\n\n return [...materialSeries, utilizationSeries];\n }\n\n private generateMaterialSeries(\n data: LaserOutputScrapHistoricalData[],\n dates: string[],\n isCategoryAxis: boolean,\n convertToLbs: boolean,\n ) {\n const unitTransform = getUnitTransform(convertToLbs);\n const byDateData = groupByDate(data, dates, (sourceValuesObject, currentItem) => ({\n ...sourceValuesObject,\n [currentItem.group_name]: {\n output: unitTransform(currentItem.output),\n scrap: unitTransform(currentItem.scrap),\n },\n }));\n\n return this.getMaterialNames(data).map((materialName) => ({\n type: 'bar' as const,\n name: materialName,\n emphasis: {\n focus: 'series' as const,\n },\n stack: 'total',\n yAxisIndex: 0,\n data: this.getMaterialData(byDateData, materialName, isCategoryAxis),\n }));\n }\n\n private getDates(data: LaserOutputScrapHistoricalData[]): string[] {\n return uniq(data.map((item) => item.date));\n }\n\n private generateUtilizationSeries(\n data: LaserOutputScrapHistoricalData[],\n dates: string[],\n disabledMaterials: string[],\n ) {\n const seriesData = dates.map((date) => {\n const enabledMaterialsForDate = data\n .filter((dataItem) => dataItem.date === date)\n .filter((dataItem) => !disabledMaterials.includes(dataItem.group_name));\n const materialUtilizationSum = enabledMaterialsForDate.reduce(\n (previousValue, currentDataItem) =>\n previousValue + this.calculateMaterialUtilization(currentDataItem),\n 0,\n );\n\n const percentage = enabledMaterialsForDate.length\n ? materialUtilizationSum / enabledMaterialsForDate.length\n : 0;\n return [date, percentage];\n });\n\n return {\n type: 'line' as const,\n name: this.utilizationSeriesName,\n yAxisIndex: 1,\n emphasis: {\n focus: 'series' as const,\n },\n data: seriesData,\n };\n }\n\n private calculateMaterialUtilization(dataItem: LaserOutputScrapHistoricalData): number {\n if (dataItem.output + dataItem.scrap === 0) {\n return 0;\n }\n return (dataItem.output / (dataItem.output + dataItem.scrap)) * 100;\n }\n\n private getMaterialNames(data: LaserOutputScrapHistoricalData[]): string[] {\n return uniq(data.map((item) => item.group_name));\n }\n\n private getMaterialData(byDateData: any[], materialName: string, isCategoryAxis: boolean) {\n if (isCategoryAxis) {\n return byDateData.map(\n (item) => (item[materialName]?.output ?? 0) + (item[materialName]?.scrap ?? 0),\n );\n } else {\n return byDateData.map((item) => [\n item.date,\n (item[materialName]?.output ?? 0) + (item[materialName]?.scrap ?? 0),\n ]);\n }\n }\n\n private getDisabledMaterials(parameters: GeneratorParams): string[] {\n if (!parameters.legendParams?.selected) {\n return [];\n }\n\n return Object.keys(parameters.legendParams?.selected)\n .filter((key) => key !== this.utilizationSeriesName)\n .filter((key) => !parameters.legendParams.selected[key]);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { EChartsOption } from 'echarts';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { LaserOutputAndScrapTimelineChartMode } from '@/models/enums/LaserOutputAndScrapTimelineChartMode';\nimport { MultiLineChartGenerator } from './multiLineChartGenerator';\nimport { RawMaterialUtilizationTimelineGenerator } from './rawMaterialUtilizationTimelineGenerator';\nimport { WidgetEnum } from '../enums/WidgetEnum';\nimport { GeneratorParams } from './generatorParams';\nimport { mockLaserOutputScrapHistData } from './mockWidgetSelectorData';\nimport { LaserOutputScrapHistoricalData } from './chartsData';\n\nexport class LaserOutputAndScrapTimelineGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const generator = this.getGeneratorForMode(\n params?.mode ?? LaserOutputAndScrapTimelineChartMode.NonStackedLines,\n );\n return generator.getData(selectedDevices, selectedShifts, timeSpan, timeAxisSpan);\n }\n\n override updateOptions(\n data: any,\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const generator = this.getGeneratorForMode(\n parameters.paramValues?.mode ?? LaserOutputAndScrapTimelineChartMode.NonStackedLines,\n );\n return generator.updateOptions(data, parameters, prevOptions);\n }\n\n override getMockData(): LaserOutputScrapHistoricalData[] | null {\n return mockLaserOutputScrapHistData();\n }\n\n private getGeneratorForMode(mode: LaserOutputAndScrapTimelineChartMode): ChartGenerator {\n switch (mode) {\n case LaserOutputAndScrapTimelineChartMode.NonStackedLines:\n case LaserOutputAndScrapTimelineChartMode.StackedColumns:\n return new MultiLineChartGenerator(this.procedure, this.tenantIdDh);\n case LaserOutputAndScrapTimelineChartMode.RawMaterialUtilization:\n return new RawMaterialUtilizationTimelineGenerator(this.procedure, this.tenantIdDh);\n default:\n return new MultiLineChartGenerator(WidgetEnum.LaserOutputAndScrapTimeline, this.tenantIdDh);\n }\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport i18n from '@/i18n';\nimport { getColor } from '@/utils/color';\nimport { abbreviateNumber, decimalFormatter } from '@/utils/number';\nimport { GeneratorParams } from './generatorParams';\nimport { ManufacturingPOFinishedDueDateData } from './chartsData';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockPOFinishedDueDateData } from './mockWidgetSelectorData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport const DEFAULT_DAYS_PER_INTERVAL = 5;\n\nexport class POFinishedDueDateGenerator extends ChartGenerator<\n ManufacturingPOFinishedDueDateData[]\n> {\n constructor(procedure: ProcedureName, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSMBSMetricsSFC(\n this.procedure,\n this.tenantIdDh,\n { paramNumber: params?.daysPerInterval ?? DEFAULT_DAYS_PER_INTERVAL, startDate, endDate },\n this.controller,\n );\n }\n\n override getMockData(): ManufacturingPOFinishedDueDateData[] | null {\n return mockPOFinishedDueDateData();\n }\n\n override updateOptions(\n data: ManufacturingPOFinishedDueDateData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow',\n },\n confine: true,\n extraCssText: 'z-index: 1',\n valueFormatter: decimalFormatter,\n },\n legend: {\n bottom: 0,\n selectedMode: false,\n },\n grid: {\n top: 28,\n bottom: 40,\n left: 15,\n right: 8,\n containLabel: true,\n },\n xAxis: {\n type: 'category',\n axisLabel: { rotate: 60 },\n },\n yAxis: {\n type: 'value',\n name: i18n.t('hours_abbreviation').toString(),\n splitLine: {\n show: true,\n lineStyle: {\n color: '#f4f4f4',\n width: 1,\n },\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n series: this.series(data),\n };\n }\n\n private series(data: ManufacturingPOFinishedDueDateData[]): SeriesOption {\n return {\n name: i18n.t(`report.shop_floor_console.finished`).toString(),\n type: 'bar',\n data: this.getSeriesData(data),\n itemStyle: {\n color: getColor(3, 0),\n },\n };\n }\n\n private getSeriesData(data: ManufacturingPOFinishedDueDateData[]): Array<[string, number]> {\n return data.map((dataItem) => [\n this.generateRangeLabel(dataItem.range_start, dataItem.range_end),\n dataItem.estimated_time_hours,\n ]);\n }\n\n private generateRangeLabel(start: number, end: number) {\n return start === end ? start.toString() : `[${start}, ${end}]`;\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport i18n from '@/i18n';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { SalesTopBySalesData } from './chartsData';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { mockTopSalespeopleData } from './mockWidgetSelectorData';\nimport { YAXisOption } from 'echarts/types/dist/shared';\nimport { DEFAULT_TOP_NUMBER } from './salesTopBySalesGenerator';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class AmountVsNumberOfQuotesBySalespeopleGenerator extends ChartGenerator<\n SalesTopBySalesData[]\n> {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n return metricsService.getCachedTopSalespeopleData(\n this.tenantIdDh,\n params?.topNumber || DEFAULT_TOP_NUMBER,\n startDate,\n endDate,\n this.controller,\n );\n }\n\n override updateOptions(\n data: SalesTopBySalesData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n legend: {\n show: true,\n type: 'scroll',\n bottom: 0,\n },\n tooltip: {\n confine: true,\n },\n xAxis: {\n type: 'value' as const,\n axisLabel: {\n margin: 4,\n fontSize: parameters.clientWidth! < 357 ? 10 : 12,\n },\n },\n yAxis: {\n type: 'category' as const,\n inverse: true,\n data: this.getSalespeopleNames(data),\n axisLabel: {\n overflow: 'truncate',\n width: 130,\n },\n } as YAXisOption, // overflow=truncate not recognized\n grid: {\n top: 16,\n bottom: 40,\n left: 8,\n containLabel: true,\n },\n series: this.generateSeries(data),\n };\n }\n\n private getSalespeopleNames(data: SalesTopBySalesData[]): string[] {\n return data.map((dataItem) => dataItem.Salesperson);\n }\n\n private generateSeries(data: SalesTopBySalesData[]): SeriesOption[] {\n return ['amount_conversion', 'quotes_conversion'].map((field) => ({\n type: 'bar' as const,\n name: i18n.t(`report.business_console.${field}`).toString(),\n data: this.generateSeriesData(data, field as keyof SalesTopBySalesData),\n }));\n }\n\n private generateSeriesData(\n data: SalesTopBySalesData[],\n field: keyof SalesTopBySalesData,\n ): number[] {\n return data.map(\n (dataItem) => dataItem[field] as number, // we only get numeric fields\n );\n }\n\n override getMockData(): SalesTopBySalesData[] {\n return mockTopSalespeopleData();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { Category, SalesPerSalespersonTimelineData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { mockSalesPerSalespersonTimelineData } from './mockWidgetSelectorData';\nimport { abbreviateNumber } from '@/utils/number';\nimport { DEFAULT_TOP_NUMBER } from './salesTopBySalesGenerator';\nimport { getColor } from '@/utils/color';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class SalesPerSalespersonTimelineGenerator extends ChartGenerator<\n SalesPerSalespersonTimelineData[]\n> {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n {\n paramNumber: params?.topNumber || DEFAULT_TOP_NUMBER,\n startDate,\n endDate,\n axisTimespan: timeAxisSpan,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: SalesPerSalespersonTimelineData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n title: [\n {\n top: -5,\n left: 'center',\n text: Category.A,\n textStyle: {\n fontSize: parameters.clientWidth! > 350 ? 18 : 14,\n },\n },\n {\n top: '30%',\n left: 'center',\n text: Category.B,\n textStyle: {\n fontSize: parameters.clientWidth! > 350 ? 18 : 14,\n },\n },\n {\n top: '62%',\n left: 'center',\n text: Category.C,\n textStyle: {\n fontSize: parameters.clientWidth! > 350 ? 18 : 14,\n },\n },\n ],\n tooltip: {\n show: true,\n },\n legend: {\n icon: 'roundRect',\n type: 'scroll',\n bottom: 0,\n },\n axisPointer: {\n link: [{ xAxisIndex: 'all' }],\n },\n dataZoom: [\n {\n type: 'inside',\n filterMode: 'weakFilter',\n xAxisIndex: [0, 1, 2],\n },\n ],\n grid: [\n {\n top: 25,\n left: 50,\n right: 10,\n height: '22%',\n },\n {\n left: 50,\n right: 10,\n top: '36%',\n height: '22%',\n },\n {\n left: 50,\n right: 10,\n bottom: 50,\n height: '22%',\n },\n ],\n xAxis: Object.values(Category).map((category, i) => ({\n gridIndex: i,\n type: 'category',\n axisLabel: { show: i === 2 },\n axisTick: { show: i === 2 },\n data: this.getCategoryDates(data, category),\n })),\n yAxis: Object.keys(Category).map((_, i) => ({\n gridIndex: i,\n type: 'value',\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: abbreviateNumber,\n },\n })),\n series: this.generateSeries(data),\n };\n }\n\n private getCategoryDates(data: SalesPerSalespersonTimelineData[], category: Category): string[] {\n return this.removeDuplicates(\n data.filter((dataItem) => dataItem.category === category).map((dataItem) => dataItem.date),\n );\n }\n\n private generateSeries(data: SalesPerSalespersonTimelineData[]): SeriesOption[] {\n // Sort salespeople to ensure generateSalespersonPerCategorySeries assigns\n // the same color as in SalesHorizontalBarChartGenerator charts.\n return this.getSalespeopleNames(data)\n .sort((a, b) => a.localeCompare(b))\n .map((salesPersonName, salespersonIndex) =>\n this.generateSalespersonPerCategorySeries(data, salesPersonName, salespersonIndex),\n )\n .flat();\n }\n\n private getSalespeopleNames(data: SalesPerSalespersonTimelineData[]): string[] {\n return this.removeDuplicates(data.map((dataItem) => dataItem.salesperson));\n }\n\n private generateSalespersonPerCategorySeries(\n data: SalesPerSalespersonTimelineData[],\n salespersonName: string,\n salespersonIndex: number,\n ): SeriesOption[] {\n // Skip two first colors used in \"Amount vs. Nº of quotes conversion by\n // salesperson\" chart to make clear they aren't related.\n const salespersonColor = getColor(salespersonIndex + 2, 0);\n\n return Object.values(Category).map((category) => ({\n data: this.getSeriesData(data, salespersonName, category),\n type: 'bar' as const,\n name: salespersonName,\n emphasis: { focus: 'series' as const },\n color: salespersonColor,\n showSymbol: false,\n xAxisIndex: Object.values(Category).indexOf(category),\n yAxisIndex: Object.values(Category).indexOf(category),\n }));\n }\n\n private getDates(data: SalesPerSalespersonTimelineData[]): string[] {\n return this.removeDuplicates(data.map((dataItem) => dataItem.date));\n }\n\n private removeDuplicates(items: any[]) {\n return [...new Set(items)];\n }\n\n private getSeriesData(\n data: SalesPerSalespersonTimelineData[],\n salesPersonName: string,\n category: Category,\n ) {\n return this.getDates(data).map((date) => {\n const matchingDataItem = data.find(\n (dataItem) =>\n dataItem.date === date &&\n dataItem.category === category &&\n dataItem.salesperson === salesPersonName,\n );\n return matchingDataItem?.amount ?? 0;\n });\n }\n\n override getMockData(): SalesPerSalespersonTimelineData[] {\n return mockSalesPerSalespersonTimelineData();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport i18n from '@/i18n';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { SalesTopBySalesData } from './chartsData';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { mockTopSalespeopleData } from './mockWidgetSelectorData';\nimport { abbreviateNumber } from '@/utils/number';\nimport { YAXisOption } from 'echarts/types/dist/shared';\nimport { DEFAULT_TOP_NUMBER } from './salesTopBySalesGenerator';\nimport { getColor } from '@/utils/color';\nimport { metricsService } from '@/services/metrics.service';\n\nexport const OTHERS_SALESPERSON = 'Others';\n\ninterface SeriesDataItem {\n value: number;\n itemStyle: { color: string | undefined };\n}\n\nexport class TopSalespeopleDetailGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n return metricsService.getCachedTopSalespeopleData(\n this.tenantIdDh,\n params?.topNumber || DEFAULT_TOP_NUMBER,\n startDate,\n endDate,\n this.controller,\n );\n }\n\n override updateOptions(\n data: SalesTopBySalesData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n legend: {\n show: true,\n type: 'scroll',\n bottom: 0,\n },\n tooltip: {\n confine: true,\n },\n xAxis: {\n type: 'value' as const,\n axisLabel: {\n margin: 4,\n formatter: abbreviateNumber,\n fontSize: parameters.clientWidth! < 357 ? 10 : 12,\n },\n },\n yAxis: {\n type: 'category' as const,\n inverse: true,\n data: this.getSalespeopleNames(data),\n axisLabel: {\n overflow: 'truncate',\n width: 130,\n },\n } as YAXisOption, // overflow=truncate not recognized\n grid: {\n top: 16,\n bottom: 40,\n left: 8,\n containLabel: true,\n },\n series: this.generateSeries(data, parameters.valueKey as keyof SalesTopBySalesData),\n };\n }\n\n private getSalespeopleNames(data: SalesTopBySalesData[]): string[] {\n return data.map((dataItem) => dataItem.Salesperson);\n }\n\n private generateSeries(\n data: SalesTopBySalesData[],\n field: keyof SalesTopBySalesData,\n ): SeriesOption[] {\n return [\n {\n type: 'bar' as const,\n name: i18n.t(`report.business_console.${field}`).toString(),\n data: this.generateSeriesData(data, field),\n },\n ];\n }\n\n private generateSeriesData(\n data: SalesTopBySalesData[],\n field: keyof SalesTopBySalesData,\n ): SeriesDataItem[] {\n return data.map((dataItem, i) => ({\n value: dataItem[field] as number, // we only get numeric fields\n itemStyle: {\n // The data item index (i) corresponds to the salesperson index.\n // We have one data item per salesperson.\n color: this.getSalespersonColor(data, i),\n },\n }));\n }\n\n private getSalespersonColor(data: SalesTopBySalesData[], salespersonIndex: number): string {\n const salespersonName = this.getSalespeopleNames(data)[salespersonIndex];\n // Sort salespeople to ensure they get the same color as in\n // SalesPerSalespersonTimelineGenerator chart.\n const sortedSalespeopleNames = this.getColorSortedSalespeopleNames(data);\n const salespersonSortedIndex = sortedSalespeopleNames.indexOf(salespersonName);\n // Skip two first colors used in \"Amount vs. Nº of quotes conversion by\n // salesperson\" chart to make clear they aren't related.\n return getColor(salespersonSortedIndex + 2, 0);\n }\n\n /**\n * Returns sorted salespeople names but with 'Others' at the end.\n *\n * We need charts from this generator and from\n * SalesPerSalespersonTimelineGenerator to assign the same colors to\n * salespeople. Given that the other generator doesn't receive 'Others'\n * salesperson, here we have to move it to the end to avoid color mismatches.\n */\n private getColorSortedSalespeopleNames(data: SalesTopBySalesData[]): string[] {\n const sortedWithoutOthers = this.getSalespeopleNames(data)\n .filter((name) => name !== OTHERS_SALESPERSON)\n .sort((a, b) => a.localeCompare(b));\n return sortedWithoutOthers.concat(OTHERS_SALESPERSON);\n }\n\n override getMockData(): SalesTopBySalesData[] {\n return mockTopSalespeopleData();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport {\n ByModuleEventsData,\n ImportantMessageLevel,\n EventTypeByTimeData,\n} from '@/models/Charts/chartsData';\nimport { dateWithGroupingTitleGenerator } from '@/models/Charts/tooltipFormatter';\nimport i18n from '@/i18n';\nimport { formatPercentage } from '@/utils/number';\nimport { isNil } from '@/utils/misc';\n\nexport const MAX_MODULES_COUNT = 5;\n\nexport function tooltipFormatter(\n params: any,\n data: EventTypeByTimeData[],\n dateGrouping: FilterTimeAxisSpanEnum,\n): string {\n return getTitleHtml(params, dateGrouping) + getBodyHtml(params, data);\n}\n\nfunction getTitleHtml(params: any, dateGrouping: FilterTimeAxisSpanEnum) {\n return `\n
\n ${dateWithGroupingTitleGenerator(params, dateGrouping)}\n
\n `;\n}\n\nfunction getBodyHtml(params: any, data: EventTypeByTimeData[]) {\n // Depending on the date grouping\n const date = params[0].value?.[0] ?? params[0].axisValueLabel;\n\n const tooltipEntries: string[] = [];\n\n if (isSeriesEnabledForType(ImportantMessageLevel.Error, params)) {\n const errorsItem = getDataItemByDateAndType(date, data, ImportantMessageLevel.Error);\n const errorMarker = getMarker(params, ImportantMessageLevel.Error);\n const errorTooltipEntries = (errorsItem?.byModule ?? []).map((moduleItem) =>\n getNumericValueHtml(errorMarker, moduleItem, errorsItem?.count),\n );\n tooltipEntries.push(...errorTooltipEntries);\n }\n\n if (isSeriesEnabledForType(ImportantMessageLevel.Warning, params)) {\n const warningsItem = getDataItemByDateAndType(date, data, ImportantMessageLevel.Warning);\n const warningMarker = getMarker(params, ImportantMessageLevel.Warning);\n const warningTooltipEntries = (warningsItem?.byModule ?? []).map((moduleItem) =>\n getNumericValueHtml(warningMarker, moduleItem, warningsItem?.count),\n );\n tooltipEntries.push(...warningTooltipEntries);\n }\n\n return tooltipEntries.slice(0, MAX_MODULES_COUNT).join('\\n');\n}\n\nfunction getDataItemByDateAndType(\n date: string,\n data: EventTypeByTimeData[],\n type: ImportantMessageLevel,\n): EventTypeByTimeData | undefined {\n return data.find((dataItem) => dataItem.date === date && dataItem.type === type.toString());\n}\n\nfunction getMarker(params: any, type: ImportantMessageLevel): string {\n return getTypeParam(params, type)?.marker ?? '';\n}\n\nfunction isSeriesEnabledForType(type: ImportantMessageLevel, params: any): any {\n return !isNil(getTypeParam(params, type));\n}\n\nfunction getTypeParam(params: any, type: ImportantMessageLevel): any | undefined {\n return params.find((seriesParam: any) => seriesParam.seriesName === type.toString());\n}\n\nfunction getNumericValueHtml(\n marker: string,\n moduleItem: ByModuleEventsData,\n totalEvents = 0,\n): string {\n const percentage = totalEvents !== 0 ? (moduleItem.count / totalEvents) * 100 : 0;\n\n const valueString = `\n \n ${i18n.n(moduleItem.count, { maximumFractionDigits: 2 })}\n \n \n (${formatPercentage(percentage)})\n \n `;\n return getValueHtml(marker, moduleItem.name, valueString);\n}\n\nfunction getValueHtml(marker: string, name: string, value: string): string {\n return `\n
\n
\n ${marker}\n \n \n ${name}\n \n
\n
\n ${value}\n
\n
\n `;\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { ImportantMessageLevel, EventTypeByTimeData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { BarSeriesOption, EChartsOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { XAXisOption } from 'echarts/types/dist/shared';\nimport { isEmpty } from '@/utils/misc';\nimport { uniq } from '@/utils/array';\nimport { EventColor } from '@/utils/color';\nimport { tooltipFormatter } from '@/models/Charts/eventTypeByTimeTooltipFormatter';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class EventTypeByTimeGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n const eventType = metricsService.getEventTypeParameter(params?.eventTypes);\n\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n selectedDevices[0],\n {\n // These are optional:\n dateFrom,\n dateTo,\n dateGrouping: timeAxisSpan,\n messageLevel: eventType,\n modules: params?.eventModules,\n eventCodes: params?.eventCodes,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: EventTypeByTimeData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n const selectedEventTypes = this.getSelectedEventTypes(parameters.paramValues?.eventTypes);\n\n const dates = uniq(data.map((item: EventTypeByTimeData) => item.date));\n\n return {\n grid: {\n top: 8,\n bottom: 40,\n left: 8,\n right: 8,\n containLabel: true,\n },\n legend: {\n show: true,\n bottom: 0,\n selectedMode: selectedEventTypes.length > 1,\n formatter: (name: string) => this.translateSeriesName(name),\n },\n dataZoom: [\n {\n type: 'inside',\n },\n ],\n xAxis: {\n type: isCategoryAxis ? 'category' : 'time',\n axisLabel: {\n hideOverlap: true,\n },\n data: isCategoryAxis ? dates : undefined,\n } as XAXisOption, // type=category doesn't have data property\n yAxis: {\n minInterval: 1,\n boundaryGap: [0, 0.01],\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n },\n tooltip: {\n trigger: 'axis',\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: (params: any) => tooltipFormatter(params, data, parameters.timeAxisSpan!),\n },\n series: this.series(data, isCategoryAxis, selectedEventTypes),\n };\n }\n\n private getSelectedEventTypes(eventTypes?: ImportantMessageLevel[]): ImportantMessageLevel[] {\n return eventTypes === undefined || isEmpty(eventTypes)\n ? Object.values(ImportantMessageLevel) // all by default\n : eventTypes;\n }\n\n private series(\n data: EventTypeByTimeData[],\n isCategoryAxis: boolean,\n selectedEventTypes: ImportantMessageLevel[],\n ): BarSeriesOption[] {\n const eventTypeColors = {\n [ImportantMessageLevel.Warning]: EventColor.Warning,\n [ImportantMessageLevel.Error]: EventColor.Error,\n };\n\n return selectedEventTypes.map((eventType) => ({\n type: 'bar',\n name: eventType,\n color: eventTypeColors[eventType],\n emphasis: {\n focus: 'series',\n },\n stack: 'total',\n data: this.getTypeEventData(data, eventType, isCategoryAxis),\n }));\n }\n\n private getTypeEventData(\n data: EventTypeByTimeData[],\n type: string,\n isCategoryAxis: boolean,\n ): Array<[string, number] | number> {\n return data\n .filter((item, index) => {\n // Avoid having two data points for different types and same date.\n // See 'Override test' unit test to better understand this.\n const currentItemOverridesPrevious =\n item.date === data?.[index - 1]?.date && type !== item.type;\n const currentItemOverridesNext =\n item.date === data?.[index + 1]?.date && type !== item.type;\n return !currentItemOverridesPrevious && !currentItemOverridesNext;\n })\n .map((item) => {\n // Avoids the area continuing up until the next data point\n const eventsCount = item.type === type ? item.count : 0;\n\n return isCategoryAxis ? eventsCount : [item.date, eventsCount];\n });\n }\n\n private translateSeriesName(name: string) {\n return i18n.t(`report.${name.toLowerCase()}_plural`).toString();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nexport enum Measurements {\n Unknown = 0,\n Metric = 1,\n Imperial = 2,\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport i18n from '@/i18n';\nimport { abbreviateNumber } from '@/utils/number';\nimport { LaserConsumptionTimelineData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { getTooltipTitle, isCategoryAxisDateGrouping, isCategoryXAxis } from '@/utils/charts';\nimport { uniq } from '@/utils/array';\nimport { XAXisOption } from 'echarts/types/dist/shared';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { groupByDate } from '@/utils/dates';\nimport { metricsService } from '@/services/metrics.service';\n\nexport const TOTAL_CONSUMPTION_SERIES_NAME = 'totalConsumption';\n\nexport abstract class LaserConsumptionTimelineGenerator extends ChartGenerator<\n LaserConsumptionTimelineData[]\n> {\n protected constructor(procedure: ProcedureName, protected tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n ) {\n const deviceId = selectedDevices[0];\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom,\n dateTo,\n dateGrouping: timeAxisSpan,\n last24h: true,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: LaserConsumptionTimelineData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n const uniqueDates = uniq(data.map((item: LaserConsumptionTimelineData) => item.bucket));\n\n return {\n legend: {\n icon: 'roundRect',\n type: 'scroll',\n formatter: LaserConsumptionTimelineGenerator.getLegendFormatter(this.procedure),\n bottom: 0,\n },\n axisPointer: {\n link: [{ xAxisIndex: 'all' }],\n },\n dataZoom: [\n {\n type: 'slider',\n filterMode: 'weakFilter',\n xAxisIndex: [0, 1],\n bottom: 40,\n labelFormatter: '',\n },\n {\n type: 'inside',\n filterMode: 'weakFilter',\n xAxisIndex: [0, 1],\n },\n ],\n tooltip: {\n trigger: 'axis',\n confine: true,\n formatter: LaserConsumptionTimelineGenerator.getTooltipFormatter(\n this.procedure,\n parameters.timeAxisSpan,\n isCategoryAxis,\n ),\n },\n grid: [\n {\n top: '10%',\n left: 40,\n right: 20,\n height: '29%',\n },\n {\n top: '43%',\n left: 40,\n right: 20,\n height: '29%',\n },\n ],\n xAxis: [\n {\n gridIndex: 0,\n type: isCategoryAxis ? 'category' : 'time',\n data: isCategoryAxis ? uniqueDates : undefined,\n axisLabel: { show: false },\n axisTick: { show: false },\n splitLine: {\n show: false,\n },\n } as XAXisOption,\n {\n gridIndex: 1,\n type: isCategoryAxis ? 'category' : 'time',\n data: isCategoryAxis ? uniqueDates : undefined,\n axisLabel: {\n show: true,\n hideOverlap: true,\n },\n axisTick: { show: true },\n splitLine: {\n show: false,\n },\n } as XAXisOption,\n ],\n yAxis: [\n {\n gridIndex: 0,\n name: i18n.t('report.kwh').toString(),\n nameTextStyle: {\n align: 'left',\n },\n type: 'value',\n scale: true,\n axisLine: {\n show: true,\n },\n max(value) {\n return value.max * 1.2;\n },\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n {\n gridIndex: 1,\n type: 'value',\n scale: true,\n axisLine: {\n show: true,\n },\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: (value: number) => abbreviateNumber(value),\n },\n },\n ],\n series: this.generateSeries(data, uniqueDates, isCategoryAxis),\n };\n }\n\n private generateSeries(\n data: LaserConsumptionTimelineData[],\n uniqueDates: string[],\n isCategoryAxis: boolean,\n ): SeriesOption[] {\n return [\n {\n data: this.getSeriesData(data, uniqueDates, isCategoryAxis),\n type: 'line',\n name: TOTAL_CONSUMPTION_SERIES_NAME,\n emphasis: { focus: 'series' },\n xAxisIndex: 0,\n yAxisIndex: 0,\n },\n ...this.generateKxSeries(data, isCategoryAxis),\n ];\n }\n\n protected getSeriesData(\n data: LaserConsumptionTimelineData[],\n uniqueDates: string[],\n isCategoryAxis: boolean,\n ) {\n return groupByDate(\n data,\n uniqueDates,\n (_, currentDataItem) => ({\n bucket: currentDataItem.bucket,\n totalConsumptionKwh: currentDataItem.totalConsumptionKwh,\n }),\n 'bucket',\n ).map((dataItem: LaserConsumptionTimelineData) =>\n isCategoryAxis\n ? dataItem.totalConsumptionKwh\n : [dataItem.bucket, dataItem.totalConsumptionKwh],\n );\n }\n\n protected abstract generateKxSeries(\n data: LaserConsumptionTimelineData[],\n isCategoryAxis: boolean,\n ): SeriesOption[];\n\n private static getLegendFormatter(procedure: ProcedureName) {\n return (seriesName: string) =>\n LaserConsumptionTimelineGenerator.translateSeriesName(seriesName, procedure);\n }\n\n private static translateSeriesName(seriesName: string, procedure: ProcedureName): string {\n if (seriesName === TOTAL_CONSUMPTION_SERIES_NAME) {\n const translationKey =\n procedure === WidgetEnum.TechnologyLaserConsumptionTimeline\n ? 'accumulated_power'\n : 'power_consumption';\n return i18n.t(`report.${translationKey}`).toString();\n } else {\n // kx_consumption series, where x is the power\n const powerValue = seriesName.match(/\\d+/)![0];\n return i18n.t(`report.kx_power`, [powerValue]).toString();\n }\n }\n\n private static getTooltipFormatter(\n procedure: ProcedureName,\n timeAxisSpan: FilterTimeAxisSpanEnum | undefined,\n isCategoryAxis: boolean,\n ) {\n return (params: any) =>\n LaserConsumptionTimelineGenerator.tooltipFormatter(\n params,\n procedure,\n timeAxisSpan ?? FilterTimeAxisSpanEnum.Hour,\n isCategoryAxis,\n );\n }\n\n private static tooltipFormatter(\n params: any,\n procedure: ProcedureName,\n timeAxisSpan: FilterTimeAxisSpanEnum,\n isCategoryAxis: boolean,\n ): string {\n let html = `\n
\n ${getTooltipTitle(params[0].axisValue, timeAxisSpan, isCategoryAxis)}\n
\n `;\n\n const accumulatedPowerParam = params.find(\n (param: any) => param.seriesName === TOTAL_CONSUMPTION_SERIES_NAME,\n );\n html += LaserConsumptionTimelineGenerator.getNumericValueTooltipHtml(\n accumulatedPowerParam,\n procedure,\n timeAxisSpan,\n );\n\n html += '
'; // chart values separator\n\n params\n .filter((paramItem: any) => paramItem.seriesName !== TOTAL_CONSUMPTION_SERIES_NAME)\n .forEach(\n (paramItem: any) =>\n (html += LaserConsumptionTimelineGenerator.getNumericValueTooltipHtml(\n paramItem,\n procedure,\n timeAxisSpan,\n )),\n );\n\n return html;\n }\n\n private static getNumericValueTooltipHtml(\n seriesParam: any,\n procedure: ProcedureName,\n timeAxisSpan: FilterTimeAxisSpanEnum,\n ): string {\n const value = isCategoryAxisDateGrouping(timeAxisSpan)\n ? seriesParam.value\n : seriesParam.value[1]; // ['ISO date', value]\n const formattedValue = `${i18n.n(value, { maximumFractionDigits: 2 })} ${i18n.t('report.kwh')}`;\n return LaserConsumptionTimelineGenerator.getValueTooltipHtml(\n seriesParam,\n formattedValue,\n procedure,\n );\n }\n\n private static getValueTooltipHtml(\n seriesParam: any,\n value: string,\n procedure: ProcedureName,\n ): string {\n const translatedSeriesName = LaserConsumptionTimelineGenerator.translateSeriesName(\n seriesParam.seriesName,\n procedure,\n );\n\n return `\n \n
\n ${seriesParam.marker}\n ${translatedSeriesName}\n
\n
${value}
\n \n `;\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { LaserConsumptionTimelineData } from './chartsData';\nimport { LaserConsumptionKxSeriesGeneratorHelper } from '@/models/Charts/laserConsumptionKxSeriesGeneratorHelper';\n\nexport class LaserInstantConsumptionKxSeriesGeneratorHelper extends LaserConsumptionKxSeriesGeneratorHelper {\n constructor(data: LaserConsumptionTimelineData[], axesIndex: number, isCategoryAxis: boolean) {\n super(data, axesIndex, isCategoryAxis);\n }\n\n protected getSeriesData(powerLevel: number, uniqueDates: string[]): any[] {\n const powerFilteredData = this.data.filter((d) => d.kPower === powerLevel);\n\n let index = 0;\n\n return uniqueDates.map((date) => {\n while (index < powerFilteredData.length && powerFilteredData[index].bucket < date) {\n ++index;\n }\n\n const value =\n powerFilteredData[index]?.bucket === date\n ? powerFilteredData[index].kPowerConsumptionKwh\n : 0;\n\n return this.isCategoryAxis ? value : [date, value];\n });\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { LaserConsumptionTimelineData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { LaserConsumptionTimelineGenerator } from '@/models/Charts/laserConsumptionTimelineGenerator';\nimport { LaserInstantConsumptionKxSeriesGeneratorHelper } from '@/models/Charts/laserInstantConsumptionKxSeriesGeneratorHelper';\n\nexport class LaserInstantConsumptionTimelineGenerator extends LaserConsumptionTimelineGenerator {\n constructor(procedure: ProcedureName, tenantIdDh: number) {\n super(procedure, tenantIdDh);\n }\n\n override updateOptions(\n data: LaserConsumptionTimelineData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const options = super.updateOptions(data, parameters, prevOptions);\n delete options.dataZoom;\n options.grid = [\n {\n top: '7%',\n left: 40,\n right: 20,\n height: '38%',\n },\n {\n top: '52%',\n left: 40,\n right: 20,\n height: '38%',\n },\n ];\n\n return options;\n }\n\n protected generateKxSeries(\n data: LaserConsumptionTimelineData[],\n isCategoryAxis: boolean,\n ): SeriesOption[] {\n return new LaserInstantConsumptionKxSeriesGeneratorHelper(data, 1, isCategoryAxis).generate();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport i18n from '@/i18n';\nimport { abbreviateNumber, decimalFormatter, formatPercentage } from '@/utils/number';\nimport { LaserAvailableVsUsedTimelineData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption, LineSeriesOption } from 'echarts';\nimport { XAXisOption } from 'echarts/types/dist/shared';\nimport { getTooltipTitle, isCategoryXAxis } from '@/utils/charts';\nimport { metricsService } from '@/services/metrics.service';\n\nexport const AVAILABLE_SERIES_NAME = 'available';\nexport const USED_SERIES_NAME = 'used';\n\nexport class LaserAvailableVsUsedTimelineGenerator extends ChartGenerator<\n LaserAvailableVsUsedTimelineData[]\n> {\n constructor(procedure: ProcedureName, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n ) {\n const deviceId = selectedDevices[0];\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom,\n dateTo,\n dateGrouping: timeAxisSpan,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: LaserAvailableVsUsedTimelineData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n\n return {\n legend: {\n icon: 'roundRect',\n type: 'scroll',\n bottom: 0,\n formatter: (name) => i18n.t(`report.${name}`).toString(),\n },\n grid: {\n top: 28,\n left: 10,\n right: 20,\n bottom: 30,\n containLabel: true,\n },\n tooltip: {\n trigger: 'axis',\n confine: true,\n formatter: LaserAvailableVsUsedTimelineGenerator.getTooltipFormatter(\n parameters.timeAxisSpan,\n isCategoryAxis,\n ),\n },\n xAxis: {\n type: isCategoryAxis ? 'category' : 'time',\n axisLabel: {\n hideOverlap: true,\n },\n data: isCategoryAxis ? data.map((item) => item.bucket) : undefined,\n } as XAXisOption, // type=category doesn't have data property\n yAxis: {\n name: 'kWh',\n axisLabel: {\n formatter: abbreviateNumber,\n },\n },\n series: this.generateSeries(data, isCategoryAxis),\n };\n }\n\n private generateSeries(\n data: LaserAvailableVsUsedTimelineData[],\n isCategoryAxis: boolean,\n ): LineSeriesOption[] {\n return [\n { name: AVAILABLE_SERIES_NAME, valueKey: 'availablePowerKwh' },\n { name: USED_SERIES_NAME, valueKey: 'usedPowerKwh' },\n ].map((seriesObject) => ({\n name: seriesObject.name,\n type: 'line',\n areaStyle: {},\n emphasis: { focus: 'series' },\n data: this.getSeriesData(\n data,\n seriesObject.valueKey as keyof LaserAvailableVsUsedTimelineData,\n isCategoryAxis,\n ),\n }));\n }\n\n private getSeriesData(\n data: LaserAvailableVsUsedTimelineData[],\n valueKey: keyof LaserAvailableVsUsedTimelineData,\n isCategoryAxis: boolean,\n ) {\n return isCategoryAxis\n ? data.map((item) => item[valueKey])\n : data.map((item) => [item.bucket, item[valueKey]]);\n }\n\n private static getTooltipFormatter(\n dateGrouping: FilterTimeAxisSpanEnum | undefined,\n isCategoryAxis: boolean,\n ) {\n return (params: any) =>\n LaserAvailableVsUsedTimelineGenerator.tooltipFormatter(\n params,\n dateGrouping ?? FilterTimeAxisSpanEnum.Hour,\n isCategoryAxis,\n );\n }\n\n private static tooltipFormatter(\n params: any,\n dateGrouping: FilterTimeAxisSpanEnum,\n isCategoryAxis: boolean,\n ): string {\n let html = `\n
\n ${getTooltipTitle(params[0].axisValue, dateGrouping, isCategoryAxis)}\n
\n `;\n\n html += '
'; // chart values separator\n\n const availableParam = LaserAvailableVsUsedTimelineGenerator.getSeriesTooltipParam(\n params,\n AVAILABLE_SERIES_NAME,\n );\n html += LaserAvailableVsUsedTimelineGenerator.getNumericValueTooltipHtml(availableParam);\n\n const usedParam = LaserAvailableVsUsedTimelineGenerator.getSeriesTooltipParam(\n params,\n USED_SERIES_NAME,\n );\n html += LaserAvailableVsUsedTimelineGenerator.getPercentageValueTooltipHtml(\n usedParam,\n availableParam.value?.[1] ?? availableParam.value,\n );\n\n return html;\n }\n\n private static getSeriesTooltipParam(params: any[], seriesName: string): any {\n return params.find((paramItem) => paramItem.seriesName === seriesName);\n }\n\n private static getNumericValueTooltipHtml(seriesParam: any): string {\n // ['ISO date', value] or value depending on the date grouping\n const value = seriesParam.value?.[1] ?? seriesParam.value;\n const formattedValue = `${i18n.n(value, { maximumFractionDigits: 2 })} ${i18n.t('report.kwh')}`;\n return LaserAvailableVsUsedTimelineGenerator.getValueTooltipHtml(seriesParam, formattedValue);\n }\n\n private static getPercentageValueTooltipHtml(seriesParam: any, total: number): string {\n const value = seriesParam.value?.[1] ?? seriesParam.value;\n const percentage = total !== 0 ? (value / total) * 100 : 0;\n const valueString = `${decimalFormatter(value)} kWh (${formatPercentage(percentage)})`;\n\n return LaserAvailableVsUsedTimelineGenerator.getValueTooltipHtml(seriesParam, valueString);\n }\n\n private static getValueTooltipHtml(seriesParam: any, value: string): string {\n return `\n \n
\n ${seriesParam.marker}\n ${i18n.t(`report.${seriesParam.seriesName}`).toString()}\n
\n
${value}
\n \n `;\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { LaserConsumptionTimelineData } from './chartsData';\nimport { SeriesOption } from 'echarts';\nimport { LaserConsumptionTimelineGenerator } from '@/models/Charts/laserConsumptionTimelineGenerator';\nimport { LaserAccumulatedConsumptionKxSeriesGeneratorHelper } from '@/models/Charts/laserAccumulatedConsumptionKxSeriesGeneratorHelper';\n\nexport class LaserAccumulatedConsumptionTimelineGenerator extends LaserConsumptionTimelineGenerator {\n constructor(procedure: ProcedureName, tenantIdDh: number) {\n super(procedure, tenantIdDh);\n }\n\n protected generateKxSeries(\n data: LaserConsumptionTimelineData[],\n isCategoryAxis: boolean,\n ): SeriesOption[] {\n return new LaserAccumulatedConsumptionKxSeriesGeneratorHelper(\n data,\n 1,\n isCategoryAxis,\n ).generate();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { EventTypeByModuleData, ImportantMessageLevel, MessageType } from './chartsData';\nimport { BarSeriesOption, EChartsOption, XAXisComponentOption as XAXisOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { isEmpty } from '@/utils/misc';\nimport { EventColor } from '@/utils/color';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class EventTypeByModuleGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n const eventType = metricsService.getEventTypeParameter(params?.eventTypes);\n\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n selectedDevices[0],\n {\n // These are optional:\n dateFrom,\n dateTo,\n messageLevel: eventType,\n modules: params?.eventModules,\n eventCodes: params?.eventCodes,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: EventTypeByModuleData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const selectedMessageTypes = this.getSelectedMessageTypes(parameters.paramValues?.eventTypes);\n\n return {\n grid: {\n top: 8,\n bottom: 20,\n left: 10,\n right: 8,\n containLabel: true,\n },\n legend: {\n show: true,\n bottom: 0,\n formatter: (name: string) => this.translateSeriesName(name),\n },\n xAxis: {\n type: 'category',\n data: this.getModuleNames(data),\n axisLabel: {\n interval: 0,\n rotate: 60,\n overflow: 'truncate',\n width: 90,\n },\n } as XAXisOption, // overflow=truncate not recognized\n yAxis: {\n type: 'value',\n boundaryGap: [0, 0.01],\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow',\n },\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: (params: any) => {\n let tooltipMarkdown: string = `

${params[0].axisValueLabel}

`;\n params.forEach((item: any) => {\n if (!isNaN(item.value)) {\n tooltipMarkdown += `\n

\n ${item.marker} ${this.translateSeriesName(item.seriesName)}:\n \n ${i18n.n(item.value, { maximumFractionDigits: 2 })}\n \n

\n `;\n }\n });\n return tooltipMarkdown;\n },\n },\n series: this.series(data, selectedMessageTypes),\n };\n }\n\n private getSelectedMessageTypes(eventTypes?: ImportantMessageLevel[]): ImportantMessageLevel[] {\n return eventTypes === undefined || isEmpty(eventTypes)\n ? Object.values(ImportantMessageLevel) // all by default\n : eventTypes;\n }\n\n private series(\n data: EventTypeByModuleData[],\n selectedMessageTypes: ImportantMessageLevel[],\n ): BarSeriesOption[] {\n const messageTypeColors = {\n [ImportantMessageLevel.Warning]: EventColor.Warning,\n [ImportantMessageLevel.Error]: EventColor.Error,\n };\n\n // HACK: This grouping is to be implemented later in SQL function\n // get_error_tab_bars\n const byModuleData = this.getModuleNames(data).map((module) => {\n const warningsItem = data.find(\n (item) => item.module === module && item.type === MessageType.Warning,\n );\n const errorsItem = data.find(\n (item) => item.module === module && item.type === MessageType.Error,\n );\n\n return {\n module,\n warnings: warningsItem?.count ?? 0,\n errors: errorsItem?.count ?? 0,\n };\n });\n\n return selectedMessageTypes.map((messageType) => ({\n type: 'bar',\n name: messageType,\n color: messageTypeColors[messageType],\n emphasis: {\n focus: 'series',\n },\n stack: 'total',\n data: this.getLevelMessageCounts(byModuleData, messageType),\n }));\n }\n\n private getLevelMessageCounts(byModuleData: any[], level: string): number[] {\n return byModuleData.map((item) =>\n level === MessageType.Warning ? item.warnings : item.errors,\n );\n }\n\n private getModuleNames(data: EventTypeByModuleData[]): string[] {\n return this.removeDuplicates(\n data.map((item) => item.module).sort((a, b) => a.localeCompare(b)),\n );\n }\n\n private removeDuplicates(names: string[]): string[] {\n return [...new Set(names)];\n }\n\n private translateSeriesName(name: string) {\n return i18n.t(`report.${name.toLowerCase()}_plural`).toString();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { DataRetriever, ProcedureName } from '../abstract/chartGenerator';\nimport { DeviceElementHealthData } from '../chartsData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class HealthIndicatorsRetriever extends DataRetriever {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): Promise {\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n selectedDevices[0],\n {\n dateFrom,\n dateTo,\n },\n this.controller,\n );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { DiodesAndDrawerCyclesTimelineData } from './chartsData';\nimport { GeneratorParams } from './generatorParams';\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { isCategoryXAxis } from '@/utils/charts';\nimport { abbreviateNumber } from '@/utils/number';\nimport { iterable } from '@/utils/array';\nimport { dateWithGroupingTitleGenerator } from '@/models/Charts/tooltipFormatter';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class DiodesAndDrawerCyclesTimelineGenerator extends ChartGenerator<\n DiodesAndDrawerCyclesTimelineData[]\n> {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n params: { [key: string]: any },\n ) {\n const deviceId = selectedDevices[0];\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom: timeSpan[0],\n dateTo: timeSpan[1],\n dateGrouping: timeAxisSpan,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: DiodesAndDrawerCyclesTimelineData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const isCategoryAxis = isCategoryXAxis(parameters.timeAxisSpan, data.length);\n const allDates = data.map((dataItem) => dataItem.date);\n\n return {\n title: [\n {\n top: 0,\n text: i18n.t('widget.ssc_diodes').toString(),\n textStyle: {\n fontSize: parameters.clientWidth! > 350 ? 18 : 14,\n fontWeight: 'normal',\n },\n },\n {\n top: '48%',\n text: i18n.t('widget.care_health_drawer_cycles').toString(),\n textStyle: {\n fontSize: parameters.clientWidth! > 350 ? 18 : 14,\n fontWeight: 'normal',\n },\n },\n ],\n legend: {\n icon: 'roundRect',\n type: 'scroll',\n bottom: 0,\n selected: {\n // We don't want these series enabled by default\n mirrorPD: false,\n },\n formatter: (name) => i18n.t(`report.${name}`).toString(),\n },\n axisPointer: {\n link: [{ xAxisIndex: 'all' }],\n },\n grid: [\n {\n top: 55,\n left: 40,\n right: 14,\n height: '35%',\n },\n {\n left: 40,\n right: 14,\n bottom: 50,\n height: '35%',\n },\n ],\n xAxis: iterable(2).map((index) => ({\n gridIndex: index,\n type: isCategoryAxis ? 'category' : 'time',\n axisLabel: {\n hideOverlap: true,\n },\n data: isCategoryAxis ? allDates : undefined,\n })),\n yAxis: iterable(2).map((index) => ({\n name: index === 0 ? 'PD' : 's',\n gridIndex: index,\n type: 'value',\n splitLine: {\n show: true,\n },\n axisLabel: {\n formatter: abbreviateNumber,\n },\n })),\n tooltip: {\n trigger: 'axis',\n confine: true,\n formatter: (params: any) => {\n const titleHtml = `\n
\n ${dateWithGroupingTitleGenerator(params, parameters.timeAxisSpan)}\n
\n `;\n const valueHtml: string[] = params.map((seriesParam: any) => {\n const value = Array.isArray(seriesParam.value)\n ? seriesParam.value?.[1]\n : seriesParam.value;\n return `\n \n
\n ${seriesParam.marker}\n\n \n ${i18n.t(`report.${seriesParam.seriesName}`)}\n \n
\n
\n ${i18n.n(value, { maximumFractionDigits: 2 })} ${this.getSuffix(seriesParam, data)}\n
\n \n `;\n });\n return titleHtml + valueHtml.reduce((a, b) => a + b, '');\n },\n },\n series: this.generateSeries(data, parameters.timeAxisSpan!),\n };\n }\n\n private generateSeries(\n data: DiodesAndDrawerCyclesTimelineData[],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n ): SeriesOption[] {\n // Assign the same series names to these pairs, so they share legend\n // items and colors.\n const namesMap: any = {\n lowerProtectiveGlassPD: 'lowerDrawerRemovedSeconds',\n topProtectiveGlassPD: 'upperDrawerRemovedSeconds',\n };\n\n return this.getSeriesFieldNames(data).map((name) => ({\n name: namesMap?.[name] ?? name,\n data: this.getSeriesData(name as keyof DiodesAndDrawerCyclesTimelineData, data, timeAxisSpan),\n type: this.getChartType(name),\n emphasis: { focus: 'series' },\n xAxisIndex: this.getAxisIndex(name),\n yAxisIndex: this.getAxisIndex(name),\n }));\n }\n\n private getSeriesFieldNames(data: DiodesAndDrawerCyclesTimelineData[]): string[] {\n return Object.keys(data[0]).filter((key: string) => this.isSeriesField(key));\n }\n\n private isSeriesField(fieldName: string): boolean {\n return this.isDiodesChartField(fieldName) || this.isDrawerCyclesChartField(fieldName);\n }\n\n private getChartType(fieldName: string) {\n return this.isDiodesChartField(fieldName) ? 'line' : 'bar';\n }\n\n private getAxisIndex(fieldName: string): number {\n return this.isDiodesChartField(fieldName) ? 0 : 1;\n }\n\n private isDiodesChartField(fieldName: string): boolean {\n return fieldName.includes('PD');\n }\n\n private isDrawerCyclesChartField(fieldName: string): boolean {\n return fieldName.includes('Seconds');\n }\n\n private getSeriesData(\n fieldName: keyof DiodesAndDrawerCyclesTimelineData,\n data: DiodesAndDrawerCyclesTimelineData[],\n timeAxisSpan: FilterTimeAxisSpanEnum,\n ) {\n const isCategoryAxis = isCategoryXAxis(timeAxisSpan, data.length);\n\n return data.map((dataItem) =>\n isCategoryAxis ? dataItem[fieldName] ?? 0 : [dataItem.date, dataItem[fieldName] ?? 0],\n );\n }\n\n private getSuffix(params: any, data: DiodesAndDrawerCyclesTimelineData[]) {\n if (params.seriesType === 'line') {\n return 'PD';\n } else {\n // drawer cycles field\n // lowerDrawerRemovedSeconds -> lowerDrawerRemovedTimes\n const removedTimesFieldName = params.seriesName.replace(\n 'Seconds',\n 'Times',\n ) as keyof DiodesAndDrawerCyclesTimelineData;\n const removedTimes = data[params.dataIndex][removedTimesFieldName] ?? 0;\n return `s (${removedTimes} ${i18n.tc('report.cycles', removedTimes as number)})`;\n }\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { DataRetriever, ProcedureName } from '../abstract/chartGenerator';\nimport { metricsService } from '@/services/metrics.service';\nimport { BendPerformanceData } from '../chartsData';\n\nexport class BendPerformanceRetriever extends DataRetriever {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): Promise {\n const selectedTimeSpan = timeSpan as FilterTimeSpanEnum;\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n timeSpan: selectedTimeSpan,\n },\n this.controller,\n );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { AlertOccurrence } from '@/models/alertOccurrence';\nimport { DataRetriever, ProcedureName } from '../abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class AlertOccurrenceTableRetriever extends DataRetriever {\n constructor(procedure: ProcedureName) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): Promise {\n const dateRange = timeSpan as [string, string];\n return metricsService.getAlertOccurrences(\n selectedDevices[0],\n dateRange[0],\n dateRange[1],\n this.controller,\n );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { DeviceVersion, metricsService } from '@/services/metrics.service';\nimport { DataRetriever } from '../abstract/chartGenerator';\n\nexport class CareDeviceOverviewRetriever extends DataRetriever {\n constructor(procedure: WidgetEnum, private tenantIdDh: number) {\n super(procedure);\n }\n\n override async getData(selectedDevices: string[]): Promise {\n const response = await metricsService.getDevicesMetrics<[DeviceVersion] | null>(\n 'device_versions',\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices.slice(0, 1),\n },\n this.controller,\n );\n return response === null ? response : response[0];\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { DataRetriever, ProcedureName } from '../abstract/chartGenerator';\nimport { CareOverviewHealthData } from '../chartsData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class CareOverviewHealthIndicatorsRetriever extends DataRetriever {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum | undefined,\n params?: { [key: string]: any } | undefined,\n customerNo?: string | undefined,\n ): Promise {\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n selectedDevices[0],\n {\n dateFrom,\n dateTo,\n },\n this.controller,\n );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { DataRetriever } from '../abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { ModuleEventsIndicatorData } from '@/models/Charts/chartsData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class CareOverviewModuleEventsIndicatorsRetriever extends DataRetriever<\n ModuleEventsIndicatorData[]\n> {\n constructor(procedure: WidgetEnum, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum | undefined,\n params?: { [key: string]: any } | undefined,\n customerNo?: string | undefined,\n ): Promise {\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n selectedDevices[0],\n {\n dateFrom,\n dateTo,\n },\n this.controller,\n );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport i18n from '@/i18n';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { powerLevelColors } from '@/utils/color';\nimport { LaserPowerUtilizationTimesData } from './chartsData';\nimport { EChartsOption } from 'echarts';\nimport { GeneratorParams } from './generatorParams';\nimport { iterable } from '@/utils/array';\nimport { abbreviateNumber } from '@/utils/number';\nimport { metricsService } from '@/services/metrics.service';\n\nexport const TOTAL_POWER_LEVELS = 30;\n\nexport class LaserPowerUtilizationHistogramGenerator extends ChartGenerator<\n LaserPowerUtilizationTimesData[]\n> {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ) {\n const deviceId = selectedDevices[0];\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n deviceId,\n {\n dateFrom,\n dateTo,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: LaserPowerUtilizationTimesData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n grid: {\n top: 30,\n bottom: 10,\n left: 10,\n right: 38,\n containLabel: true,\n },\n xAxis: {\n type: 'category',\n name: 'kW',\n axisTick: {\n interval: 0,\n },\n axisLabel: {\n interval: 0,\n rotate: 90,\n hideOverlap: true,\n },\n data: this.powerLevels(),\n },\n yAxis: {\n type: 'value',\n name: 'h',\n axisLabel: {\n formatter: abbreviateNumber,\n },\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow',\n },\n confine: true,\n extraCssText: 'z-index: 1',\n formatter: LaserPowerUtilizationHistogramGenerator.tooltipFormatter,\n },\n series: [\n {\n type: 'bar',\n data: this.generateSeriesData(data),\n },\n ],\n };\n }\n\n private generateSeriesData(data: LaserPowerUtilizationTimesData[]) {\n return iterable(TOTAL_POWER_LEVELS).map((index) => {\n const powerLevel = index + 1;\n const dataItem = data.find((item) => item.kPower === powerLevel);\n\n return {\n name: `k${powerLevel}_power`, // Used by the tooltip formatter\n value: dataItem?.hours ?? 0,\n itemStyle: {\n color: powerLevelColors[powerLevel],\n },\n };\n });\n }\n\n private powerLevels() {\n return iterable(TOTAL_POWER_LEVELS).map((index) => index + 1);\n }\n\n private static tooltipFormatter(params: any): string {\n return `\n
\n
\n ${params[0].marker}\n \n \n ${LaserPowerUtilizationHistogramGenerator.translateCategoryName(params[0].name)}:\n \n
\n
\n ${i18n.n(params[0].value)} h\n
\n
\n `;\n }\n\n private static translateCategoryName(name: string) {\n // k15 -> kx\n const normalizedName = name.replace(/\\d+/, 'x');\n // k15 -> 15\n const seriesNumber = name.match(/\\d+/)![0];\n return i18n.t(`report.${normalizedName}`, [seriesNumber]).toString();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport i18n from '@/i18n';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { QuotesConversionRatesData } from './chartsData';\nimport { EChartsOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockQuotesConversionRatesData } from './mockWidgetSelectorData';\nimport { GeneratorParams } from './generatorParams';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class QuotesConversionRatesDetailedGenerator extends ChartGenerator<\n QuotesConversionRatesData[]\n> {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n customerNo?: string,\n ) {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n const kpiName = this.procedure.replace('_gauge', '');\n return metricsService.getSMBSMetricsBC(\n kpiName,\n this.tenantIdDh,\n { startDate, endDate, axisTimespan: timeAxisSpan, customerNo },\n this.controller,\n );\n }\n\n override updateOptions(\n data: QuotesConversionRatesData[],\n parameters: GeneratorParams = {},\n prevOptions?: EChartsOption,\n ): EChartsOption {\n const pixelRatio = window.devicePixelRatio;\n const fontSizeInner = pixelRatio > 1 ? 13 : 16;\n const offsetCenterDprY1 = pixelRatio > 1 ? '60%' : '55%';\n const offsetCenterDprY2 = pixelRatio > 1 ? '95%' : '90%';\n\n // Without a customerNo we'd get 3 items, one for each A/B/C category.\n // The client belongs to one category, so we just get one item.\n const ratio =\n 'clientWidth' in parameters ? parameters.clientWidth! / parameters.clientHeight! : undefined;\n const hideInIpad =\n /iPad/.test(navigator.userAgent) &&\n window.innerWidth === 1024 &&\n window.innerWidth > window.innerHeight;\n const radius = !!ratio && ratio < 1 && !hideInIpad ? '60%' : '80%';\n\n return {\n title: {\n show: false,\n },\n grid: {\n left: '3%',\n right: '15%',\n bottom: '10%',\n containLabel: true,\n },\n series: [\n {\n splitNumber: 5,\n type: 'gauge',\n radius,\n axisLabel: {\n formatter: (value: number) => i18n.n(value),\n },\n max: parameters.maxValue,\n anchor: {\n show: false,\n },\n pointer: {\n show: false,\n },\n progress: {\n show: true,\n overlap: false,\n roundCap: true,\n },\n axisLine: {\n roundCap: true,\n lineStyle: {\n width: pixelRatio > 1 ? 25 : 35,\n dashOffset: 13,\n },\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n distance: -37,\n length: 0,\n },\n data: [\n {\n value: data[0].amount_conv_rate * 100,\n name: i18n.t('report.business_console.amount_conv_rate').toString(),\n title: { offsetCenter: ['0%', '40%'] },\n detail: {\n fontSize: fontSizeInner,\n offsetCenter: ['0%', offsetCenterDprY1],\n },\n },\n {\n value: data[0].quotes_conv_rate * 100,\n name: i18n.t('report.business_console.quotes_conv_rate').toString(),\n title: { offsetCenter: ['0%', '75%'] },\n detail: {\n fontSize: fontSizeInner,\n offsetCenter: ['0%', offsetCenterDprY2],\n },\n },\n ],\n detail: {\n width: 30,\n height: 10,\n fontSize: pixelRatio > 1 ? 15 : 18,\n color: 'inherit',\n borderColor: 'inherit',\n borderRadius: 0,\n borderWidth: 0,\n formatter: (value: number) =>\n i18n.n(value, { maximumFractionDigits: 2 }) + parameters.unit,\n },\n title: {\n fontSize: pixelRatio > 1 ? 10 : 13,\n },\n },\n {\n type: 'gauge',\n radius,\n pointer: { show: true, length: '100%' },\n max: parameters.maxValue,\n axisTick: { show: false },\n splitLine: { show: false },\n axisLabel: { show: false },\n axisLine: { show: false },\n data: [\n {\n value: 70,\n detail: { show: false },\n },\n ],\n },\n ],\n };\n }\n\n override getMockData(): QuotesConversionRatesData[] | null {\n return mockQuotesConversionRatesData();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\n// tslint:disable: member-access\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { DataRetriever } from '../abstract/chartGenerator';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { mockQuotesFiguresData } from '../mockWidgetSelectorData';\nimport { QuotesFiguresData } from '../chartsData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class QuotesFiguresRetriever extends DataRetriever {\n constructor(procedure: WidgetEnum, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string] | FilterTimeSpanEnum,\n timeAxisSpan?: FilterTimeAxisSpanEnum | undefined,\n params?: { [key: string]: any } | undefined,\n customerNo?: string | undefined,\n ): Promise {\n const [startDate, endDate] = timeSpan as [string, string];\n return metricsService.getSMBSMetricsBC(\n WidgetEnum.QuotesFigures,\n this.tenantIdDh,\n {\n startDate,\n endDate,\n customerNo,\n },\n this.controller,\n );\n }\n\n override getMockData(): QuotesFiguresData | null {\n return mockQuotesFiguresData();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\n// tslint:disable: member-access\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { DataRetriever } from '../abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { mockManufacturingFiguresData } from '../mockWidgetSelectorData';\nimport { ManufacturingFiguresData } from '../chartsData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class ManufacturingFiguresRetriever extends DataRetriever {\n constructor(procedure: WidgetEnum, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string] | FilterTimeSpanEnum,\n ): Promise {\n const [startDate, endDate] = timeSpan as [string, string];\n return metricsService.getSMBSMetricsSFC(\n this.procedure,\n this.tenantIdDh,\n {\n startDate,\n endDate,\n },\n this.controller,\n );\n }\n\n override getMockData(): ManufacturingFiguresData | null {\n return mockManufacturingFiguresData();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\n// tslint:disable: member-access\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { DataRetriever } from '../abstract/chartGenerator';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { metricsService } from '@/services/metrics.service';\n\nexport interface TechnologyOverviewFigures {\n HourCutting: number;\n HourICP: number;\n HourPowerOn: number;\n MinuteGlassRemoved: number;\n ProtGlassCycles: number;\n ProtGlasTopCycles: number; // This is not a typo\n ProtGlasTopRemovedMins: number; // This isn't a typo either\n}\n\nexport class TechnologyOverviewFiguresRetriever extends DataRetriever {\n constructor(procedure: WidgetEnum, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string] | FilterTimeSpanEnum,\n ): Promise {\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSSCMetrics(\n this.procedure,\n this.tenantIdDh,\n selectedDevices[0],\n {\n dateFrom,\n dateTo,\n },\n this.controller,\n );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\n// tslint:disable: member-access\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { DataRetriever } from '../abstract/chartGenerator';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport moment from 'moment';\nimport { mockBusinessOverviewFiguresData } from '../mockWidgetSelectorData';\nimport { BusinessOverviewFiguresData } from '../chartsData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class BusinessFiguresRetriever extends DataRetriever {\n constructor(procedure: WidgetEnum, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string] | FilterTimeSpanEnum,\n ): Promise {\n const [startDate, endDate] = timeSpan as [string, string];\n const date = moment().format('YYYY-MM-DD');\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n {\n startDate,\n endDate,\n date,\n },\n this.controller,\n );\n }\n\n override getMockData(): BusinessOverviewFiguresData | null {\n return mockBusinessOverviewFiguresData();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\n// tslint:disable: member-access\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { DataRetriever } from '../abstract/chartGenerator';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport moment from 'moment';\nimport { mockSalesFiguresData } from '../mockWidgetSelectorData';\nimport { SalesFiguresData } from '../chartsData';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class SalesFiguresRetriever extends DataRetriever {\n constructor(procedure: WidgetEnum, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string] | FilterTimeSpanEnum,\n ): Promise {\n const [startDate, endDate] = timeSpan as [string, string];\n const date = moment().format('YYYY-MM-DD');\n return metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n {\n startDate,\n endDate,\n date,\n },\n this.controller,\n );\n }\n\n override getMockData(): SalesFiguresData | null {\n return mockSalesFiguresData();\n }\n}\n","// tslint:disable:member-access\n// Copyright (C) 2021 Bystronic Laser AG\n\nimport {\n BendStatusMetrics,\n CutStatusMetrics,\n TubeStatusMetrics,\n} from '@/models/deviceStatusMetrics';\nimport { DataRetriever } from '../abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport {\n mockBendStatusData,\n mockCutStatusData,\n mockTubeStatusData,\n} from '../mockWidgetSelectorData';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { metricsService } from '@/services/metrics.service';\n\ntype StatusMetricsTypes = CutStatusMetrics | BendStatusMetrics | TubeStatusMetrics;\n\nexport class DeviceStatusRetriever extends DataRetriever {\n constructor(procedure: WidgetEnum, private tenantIdDh: number) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): Promise {\n return metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.tenantIdDh,\n deviceIds: selectedDevices,\n },\n this.controller,\n );\n }\n\n override getMockData(): T | null {\n switch (this.procedure) {\n case WidgetEnum.CutStatus:\n return mockCutStatusData() as T;\n case WidgetEnum.BendStatus:\n return mockBendStatusData() as T;\n case WidgetEnum.TubeStatus:\n return mockTubeStatusData() as T;\n }\n return null;\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { gradient } from '@/utils/color';\nimport MapGenerator, { MapData, NoDataException } from './mapGenerator';\nimport { numberWithCurrency } from '@/utils/number';\nimport { SMBSMapData } from './mapsData';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { mockSMBSMapData } from '@/models/Charts/mockWidgetSelectorData';\nimport { isEmpty } from '@/utils/misc';\nimport { metricsService } from '@/services/metrics.service';\nimport { ProcedureName } from '../Charts/abstract/chartGenerator';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\n\nexport default class QuotesMapGenerator extends MapGenerator {\n constructor(\n procedure: ProcedureName,\n private tenantIdDh: number,\n private field: 'amount' | 'converted_amount' = 'amount',\n ) {\n super(procedure);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n customerNo?: string,\n ): Promise {\n const startDate = (timeSpan as [string, string])?.[0];\n const endDate = (timeSpan as [string, string])?.[1];\n const data = await metricsService.getSMBSMetricsBC(\n this.procedure,\n this.tenantIdDh,\n { startDate, endDate },\n this.controller,\n );\n if (isEmpty(data)) {\n throw new NoDataException();\n }\n const customers = data!.filter((customer) => !!customer.latitude && !!customer.longitude);\n if (\n !!customerNo &&\n !customers.some((customer) => customer.bill_to_customer_no_ === customerNo)\n ) {\n throw new NoDataException();\n }\n return this.generateMapSettings(customers, customerNo);\n }\n\n override getMockData(): MapData {\n const data = mockSMBSMapData();\n return this.generateMapSettings(data);\n }\n\n private generateMapSettings(customers: SMBSMapData[], customerNo?: string): MapData {\n const minAmount: number = customers\n .map((customer) => customer[this.field])\n .reduce((a, b) => (a < b ? a : b), Number.MAX_SAFE_INTEGER);\n const maxAmount = customers\n .map((customer) => customer[this.field])\n .reduce((a, b) => (a > b ? a : b), Number.MIN_SAFE_INTEGER);\n const amountDiff = maxAmount - minAmount;\n const maxRadius = 10;\n\n const extrapolateRadius = (amount: number) => {\n return Math.floor(1 + ((maxRadius - 1) * (amount - minAmount)) / amountDiff);\n };\n\n return {\n markers: customers.map((customer) => {\n const radius = extrapolateRadius(customer[this.field]);\n return {\n coordinates: [customer.latitude, customer.longitude],\n radius: Math.ceil(radius * 0.7 + 3),\n color: this.getColor(customer, radius - 1, customerNo),\n zIndexOffset: customer.bill_to_customer_no_ !== customerNo ? -1000 : 1000,\n tooltip: () => `\n

${customer.name}

\n
\n
${i18n.t(\n `report.business_console.${this.field}`,\n )}
\n
${numberWithCurrency(customer[this.field])}
\n
\n `,\n };\n }),\n };\n }\n\n private getColor(customer: SMBSMapData, index: number, customerNo?: string): string {\n if (!!customerNo) {\n if (customer.bill_to_customer_no_ === customerNo!) {\n if (this.field === 'amount') {\n return '#5470c6';\n } else {\n return '#91cc75';\n }\n } else {\n return '#7f7f7f';\n }\n } else {\n return gradient[index];\n }\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { metricsService } from '@/services/metrics.service';\nimport { isEmpty } from '@/utils/misc';\nimport { devicesService } from '@/services/devices.service';\nimport { DataRetriever, ProcedureName } from '../abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { CutDeviceCurrentWorkloadData } from '../chartsData';\nimport { PlanState } from '@/models/enums/PlanState';\n\nexport class CutCurrentWorkloadTableDataRetriever extends DataRetriever<\n CutDeviceCurrentWorkloadData[]\n> {\n constructor(procedure: ProcedureName, private tenantIdDh: number) {\n super(procedure);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string] | FilterTimeSpanEnum,\n ): Promise {\n const deviceIds = isEmpty(selectedDevices)\n ? devicesService.store.cutDevicesIds()\n : selectedDevices;\n\n return metricsService.getDevicesCurrentWorkload(\n deviceIds,\n this.tenantIdDh,\n [PlanState.Started, PlanState.Inactive],\n this.controller,\n );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { DataRetriever, ProcedureName } from '../abstract/chartGenerator';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { metricsService } from '@/services/metrics.service';\nimport { Paged } from '@/services/pagination';\nimport { EventData } from '@/models/Charts/chartsData';\nimport moment from 'moment/moment';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { SortOrder } from '@/models/enums/SortOrder';\n\nexport class EventsTableRetriever extends DataRetriever> {\n constructor(procedure: ProcedureName) {\n super(procedure);\n }\n\n override getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum | undefined,\n params?: { [key: string]: any } | undefined,\n customerNo?: string | undefined,\n ): Promise | null> {\n const dateFrom = (timeSpan as [string, string])?.[0];\n const dateTo = (timeSpan as [string, string])?.[1];\n\n return metricsService.getSSCMetrics>(\n this.procedure,\n params?.customerIdDh,\n selectedDevices[0],\n {\n dateFrom: moment(dateFrom).local().format('YYYY-MM-DDTHH:mm:ss'),\n dateTo: moment(dateTo).local().format('YYYY-MM-DDTHH:mm:ss'),\n modules: params?.modules,\n dateGrouping: timeAxisSpan,\n messageLevel: metricsService.getEventTypeParameter(params?.eventTypes),\n eventCodes: params?.eventCodes,\n pageNumber: params?.page ?? 1,\n rowsPerPage: params?.rowsPerPage ?? 10,\n sortField: params?.sortField ?? 'timestamp',\n sortOrder: params?.sortOrder ?? SortOrder.Descending,\n },\n this.controller,\n );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { DataRetriever, ProcedureName } from '../abstract/chartGenerator';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport {\n BendIntradayDeviceData,\n BendFlowSpeedStatus,\n BendProductionModeStatus,\n FlowSpeedGanttItem,\n ProductionModeGanttItem,\n} from '../chartsData';\nimport { metricsService } from '@/services/metrics.service';\nimport { responseHandler } from '@/services/response.handler';\nimport { getDefaultZoomValues } from '@/utils/gantt';\nimport { last } from '@/utils/array';\nimport { isEmpty } from '@/utils/misc';\nimport moment from 'moment';\n\nexport class BendIntradayAvailabilityTableDataRetriever extends DataRetriever<\n BendIntradayDeviceData[]\n> {\n constructor(procedure: ProcedureName, private customerIdDh: number) {\n super(procedure);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string] | FilterTimeSpanEnum,\n timeAxisSpan?: FilterTimeAxisSpanEnum | undefined,\n params?: { [key: string]: any } | undefined,\n customerNo?: string | undefined,\n ): Promise {\n const data = await metricsService.getBendingDevicesMetrics(\n this.procedure,\n {\n customerIdDh: this.customerIdDh,\n deviceStringIds: selectedDevices,\n shiftIds: selectedShifts,\n },\n this.controller,\n );\n\n // To avoid having an empty gap at the end of the production mode Gantt (due\n // to the data not having yet arrived from the device, because it's being\n // processed), fill it with a \"processing\" interval.\n data\n .filter((deviceEntry) => !isEmpty(deviceEntry.productionModeData))\n .forEach((deviceEntry) => {\n const endOfLastItem = moment(last(deviceEntry.productionModeData)!.endTimestamp);\n const chartEndTime = moment(getDefaultZoomValues()[1]);\n\n if (chartEndTime.isAfter(endOfLastItem)) {\n const ganttItem: ProductionModeGanttItem = {\n startTimestamp: moment(endOfLastItem).add(1, 'second').toDate(),\n endTimestamp: chartEndTime.toDate(),\n value: BendProductionModeStatus.Processing,\n };\n deviceEntry.productionModeData.push(ganttItem);\n }\n });\n\n // Same for flow speed Gantt\n data\n .filter((deviceEntry) => !isEmpty(deviceEntry.flowSpeedData))\n .forEach((deviceEntry) => {\n const endOfLastItem = moment(last(deviceEntry.flowSpeedData)!.endTimestamp);\n const chartEndTime = moment(getDefaultZoomValues()[1]);\n\n if (chartEndTime.isAfter(endOfLastItem)) {\n const ganttItem: FlowSpeedGanttItem = {\n startTimestamp: moment(endOfLastItem).add(1, 'second').toDate(),\n endTimestamp: chartEndTime.toDate(),\n value: BendFlowSpeedStatus.Processing,\n flowSpeed: 0,\n };\n deviceEntry.flowSpeedData.push(ganttItem);\n }\n });\n\n return responseHandler.handleDates(data);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { EChartsOption, SeriesOption } from 'echarts';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { GeneratorParams } from './generatorParams';\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport {\n BendFlowSpeedStatus,\n BendProductionModeStatus,\n BendStateDurationData,\n BendStateOverview,\n BendStatesOverviewData,\n} from '@/models/Charts/chartsData';\nimport { getBendFlowSpeedColor, getBendStateColor } from '@/utils/color';\nimport { formatPercentage } from '@/utils/number';\nimport Color from 'color';\nimport { metricsService } from '@/services/metrics.service';\n\n/**\n * Chart generator for the 'Status overview' widget.\n *\n * Returns Echarts options to draw a one-dimensional heatmap chart where each\n * square represents the value for a certain date.\n *\n * The colors of the squares range from lighter (higher values) to darker (lower\n * values).\n */\nexport default class BendStatusOverviewChartGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, private customerIdDh: number) {\n super(procedure);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): Promise {\n return metricsService.getBendingDevicesMetrics(\n this.procedure,\n {\n customerIdDh: this.customerIdDh,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n shiftIds: selectedShifts,\n deviceStringIds: selectedDevices,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: BendStatesOverviewData,\n parameters: GeneratorParams = { paramValues: { chart: BendStateOverview } },\n ): EChartsOption {\n return {\n title: {\n show: false,\n },\n grid: {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: '#f6f8fc',\n borderWidth: 0,\n show: true,\n },\n xAxis: {\n type: 'value',\n show: false,\n },\n yAxis: {\n type: 'category',\n show: false,\n },\n tooltip: {\n show: false,\n },\n series: this.generateSeries(data, parameters.paramValues.chart),\n };\n }\n\n private generateSeries(data: BendStatesOverviewData, chart: BendStateOverview): SeriesOption[] {\n if (chart === BendStateOverview.ProductionMode) {\n return this.createSeries(\n data.productionMode.filter((x) => !x.isPrevious),\n getBendStateColor,\n );\n }\n return this.createSeries(\n data.flowMode.filter((x) => !x.isPrevious),\n getBendFlowSpeedColor,\n );\n }\n\n private createSeries(\n statesData: BendStateDurationData[],\n getColor: (state: T) => string,\n ): SeriesOption[] {\n return statesData.map((item) => {\n const color = new Color(getColor(item.status)).fade(0.25).hexa();\n return {\n type: 'bar' as const,\n name: item.status.toString(),\n stack: 'total',\n color,\n label: {\n // 8 was chosen by eye after running some tests in the Echarts editor.\n // From 8%, the bar gives enough space to the label.\n show: item.percentage > 8,\n fontWeight: 'bold',\n position: 'insideLeft',\n distance: 5,\n formatter: (params: any) => formatPercentage(params.value),\n },\n barWidth: '100%',\n data: [item.percentage],\n } as SeriesOption;\n });\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { abbreviateNumberWithUnit, formatPercentage } from '@/utils/number';\nimport { EChartsOption } from 'echarts';\nimport { KpiWidgetData } from '../chartsData';\nimport { GeneratorParams } from '../generatorParams';\nimport { devicesService } from '@/services/devices.service';\nimport { PieDataItemOption } from 'echarts/types/src/chart/pie/PieSeries';\nimport { ChartGenerator, ProcedureName } from '@/models/Charts/abstract/chartGenerator';\nimport { generatePalette } from '@/components/bend/kpiWidgetUtils';\n\nexport abstract class PieChartKpiWidgetGenerator extends ChartGenerator {\n constructor(\n procedure: ProcedureName,\n protected tenantIdDh: number,\n protected mainColor: string,\n private readonly _unit?: string,\n ) {\n super(procedure);\n }\n\n override updateOptions(\n data: KpiWidgetData[],\n parameters: GeneratorParams,\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n tooltip: {\n formatter: (params: any) => {\n const { name, value, percent } = params;\n return `\n ${name}: ${abbreviateNumberWithUnit(value, this.unit, 2)}\n (${formatPercentage(percent)})\n `;\n },\n },\n series: [\n {\n type: 'pie',\n radius: ['55%', '85%'],\n avoidLabelOverlap: false,\n label: {\n show: false,\n position: 'center',\n },\n labelLine: {\n show: false,\n },\n data: this.getSeriesData(data),\n },\n ],\n graphic: [\n {\n type: 'group',\n top: 'center',\n left: 'center',\n children: [\n {\n type: 'text',\n bottom: '80%',\n left: 'center',\n style: {\n text: abbreviateNumberWithUnit(this.getMaxValue(data), this.unit, undefined),\n font: '20px Arial',\n },\n },\n {\n type: 'text',\n top: '80%',\n left: 'center',\n style: {\n text: 'Top 1',\n fill: this.mainColor,\n font: 'bold 16px Inter',\n },\n },\n ],\n },\n ],\n };\n }\n\n private getMaxValue(data: KpiWidgetData[]): number {\n return Math.max(...data.map((dataItem) => dataItem.currentValue));\n }\n\n private getSeriesData(data: KpiWidgetData[]): PieDataItemOption[] {\n const palette = generatePalette(this.mainColor, data.length);\n\n return data.map((dataItem, index) => ({\n name: devicesService.store.findByStringId(dataItem.deviceStringId)!.name,\n value: dataItem.currentValue,\n itemStyle: {\n color: palette[index],\n },\n }));\n }\n\n private get unit(): string {\n return this._unit ?? '';\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { metricsService } from '@/services/metrics.service';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { PieChartKpiWidgetGenerator } from './abstract/pieChartKpiWidgetGenerator';\nimport { KpiWidgetData } from './chartsData';\nimport { ProcedureName } from './abstract/chartGenerator';\nimport { BEND_SUMMARY_BASE_COLOR } from '@/utils/color';\n\n/**\n * Chart generator for the 'Number of bends' widget.\n *\n * This widget is placed in Work center console > Bend > Summary.\n *\n * Returns Echarts options to draw a pie chart with a segment for each device\n * representing the percentage of bends for the specified time period.\n *\n * The number of bends of device with more bends is shown in the center.\n */\nexport class NumberOfBendsWidgetGenerator extends PieChartKpiWidgetGenerator {\n constructor(procedure: ProcedureName, customerIdDh: number) {\n const mainColor = BEND_SUMMARY_BASE_COLOR;\n super(procedure, customerIdDh, mainColor);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n customerNo?: string,\n ): Promise {\n return await metricsService.getBendingDevicesMetrics(\n this.procedure,\n {\n customerIdDh: this.tenantIdDh,\n deviceStringIds: selectedDevices,\n shiftIds: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n },\n this.controller,\n );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { BEND_SUMMARY_BASE_COLOR } from '@/utils/color';\nimport { ChartGenerator, ProcedureName } from './abstract/chartGenerator';\nimport { PeakHourlyBendingData } from './chartsData';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { metricsService } from '@/services/metrics.service';\nimport { devicesService } from '@/services/devices.service';\nimport { GeneratorParams } from '@/models/Charts/generatorParams';\nimport { BarSeriesOption, EChartsOption } from 'echarts';\nimport { abbreviateNumber } from '@/utils/number';\nimport { iterable } from '@/utils/array';\nimport { formatDateWithTimeOnCustomerTimeZone } from '@/utils/dates';\nimport { generatePalette } from '@/components/bend/kpiWidgetUtils';\n\n/**\n * Chart generator for the 'Peak hourly bending' widget.\n *\n * This widget is placed in Work center console > Bend > Summary.\n *\n * Returns Echarts options to draw a bar chart with the 5 best bends/hour peaks\n * for each device for the specified time period.\n */\nexport class PeakHourlyBendingWidgetGenerator extends ChartGenerator {\n constructor(procedure: ProcedureName, private customerIdDh: number) {\n super(procedure);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n customerNo?: string,\n ): Promise {\n return metricsService.getBendingDevicesMetrics(\n this.procedure,\n {\n customerIdDh: this.customerIdDh,\n deviceStringIds: selectedDevices,\n shiftIds: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n },\n this.controller,\n );\n }\n\n override updateOptions(\n data: PeakHourlyBendingData,\n parameters: GeneratorParams,\n prevOptions?: EChartsOption,\n ): EChartsOption {\n return {\n tooltip: {\n formatter: this.getTooltipFormatter(data),\n },\n grid: {\n top: 0,\n bottom: 20,\n left: 0,\n right: 0,\n },\n xAxis: {\n type: 'category',\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n data: iterable(PEAKS_COUNT)\n .map((x) => x + 1)\n .reverse(),\n },\n yAxis: {\n type: 'value',\n show: false,\n },\n series: {\n type: 'bar',\n itemStyle: {\n borderRadius: 48,\n },\n barWidth: 16,\n data: this.getSeriesData(data),\n },\n };\n }\n\n private getSeriesData(data: PeakHourlyBendingData): BarSeriesOption[] {\n const palette = generatePalette(BEND_SUMMARY_BASE_COLOR, data.currentPeriodBestPeaks.length);\n\n return this.addFillerEntriesUpToPeaksCount(\n data.currentPeriodBestPeaks.map((dataItem, index) => ({\n name: devicesService.store.findByStringId(dataItem.deviceStringId)!.name,\n value: dataItem.value,\n itemStyle: {\n color: palette[index],\n },\n })),\n );\n }\n\n /**\n * Adds filler series entries so the chart has always PEAKS_COUNT bars.\n *\n * This might happen when there are fewer data.currentPeriodBestPeaks entries\n * than PEAKS_COUNT.\n *\n * @param seriesData Series data generated from real data.\n */\n private addFillerEntriesUpToPeaksCount(seriesData: any[]): BarSeriesOption[] {\n const fillerEntries = iterable(PEAKS_COUNT - seriesData.length).map(() => ({\n name: FILLER_ENTRY_NAME,\n value: 0.1,\n itemStyle: {\n color: FILLER_BAR_COLOR,\n },\n }));\n\n return fillerEntries.concat(seriesData);\n }\n\n private getTooltipFormatter(data: PeakHourlyBendingData) {\n return (params: any) => {\n if (params.name === FILLER_ENTRY_NAME) {\n return '';\n }\n\n const fillerBarsCount = PEAKS_COUNT - data.currentPeriodBestPeaks.length;\n // If there are fewer entries in data.currentPeriodBestPeaks that\n // PEAKS_COUNT, there will be filler series entries (to fill up to\n // PEAKS_COUNT entries), so params.dataIndex has to be adjusted to\n // data.currentPeriodBestPeaks length.\n const adjustedIndex = params.dataIndex - fillerBarsCount;\n const date = new Date(data.currentPeriodBestPeaks[adjustedIndex].dateTime);\n\n return `\n \n ${formatDateWithTimeOnCustomerTimeZone(date)}\n \n
\n ${params.name}:\n \n ${abbreviateNumber(params.value, 2)}\n \n `;\n };\n }\n}\n\nexport const PEAKS_COUNT = 5;\nexport const FILLER_ENTRY_NAME = '##filler-bar-entry##';\nexport const FILLER_BAR_COLOR = '#afafaf';\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { BEND_SUMMARY_BASE_COLOR } from '@/utils/color';\nimport { ProcedureName } from './abstract/chartGenerator';\nimport { PieChartKpiWidgetGenerator } from './abstract/pieChartKpiWidgetGenerator';\nimport { KpiWidgetData } from './chartsData';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { metricsService } from '@/services/metrics.service';\n\nexport class BendingToolChangesKpiWidgetGenerator extends PieChartKpiWidgetGenerator {\n constructor(procedure: ProcedureName, tenantIdDh: number) {\n const mainColor = BEND_SUMMARY_BASE_COLOR;\n super(procedure, tenantIdDh, mainColor);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): Promise {\n return await metricsService.getBendingDevicesMetrics(\n this.procedure,\n {\n customerIdDh: this.tenantIdDh,\n deviceStringIds: selectedDevices,\n shiftIds: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n },\n this.controller,\n );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { BEND_SUMMARY_BASE_COLOR } from '@/utils/color';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { ProcedureName } from './abstract/chartGenerator';\nimport { PieChartKpiWidgetGenerator } from './abstract/pieChartKpiWidgetGenerator';\nimport { KpiWidgetData } from './chartsData';\nimport { metricsService } from '@/services/metrics.service';\nimport { weightUnit } from '@/utils/measurement';\n\n/**\n * Chart generator for the 'Production output' widget.\n *\n * This widget is placed in Work center console > Bend > Summary.\n *\n * Returns Echarts options to draw a pie chart with a segment for each device\n * representing the percentage of produced weight for the specified time period.\n *\n * The produced weight of device with more produced weight is shown in the center.\n *\n * The weights are shown in the unit configured by the customer.\n */\nexport class BendProductionOutputWidgetGenerator extends PieChartKpiWidgetGenerator {\n constructor(procedure: ProcedureName, customerIdDh: number) {\n const mainColor = BEND_SUMMARY_BASE_COLOR;\n super(procedure, customerIdDh, mainColor, weightUnit());\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): Promise {\n return await metricsService.getBendingDevicesMetrics(\n this.procedure,\n {\n customerIdDh: this.tenantIdDh,\n deviceStringIds: selectedDevices,\n shiftIds: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n },\n this.controller,\n );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { DataRetriever, ProcedureName } from '../abstract/chartGenerator';\nimport { BendShiftStatisticsData, ShiftStatistics } from '../chartsData';\nimport { mockBendShiftStatisticsData } from '../mockWidgetSelectorData';\nimport { isEmpty } from '@/utils/misc';\n\nexport class BendShiftsStatisticsRetriever extends DataRetriever {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): Promise {\n const data = await mockBendShiftStatisticsData(\n selectedDevices,\n selectedShifts,\n timeSpan as FilterTimeSpanEnum,\n );\n if (isEmpty(data)) {\n return null;\n }\n return this.calculateTotals(data!);\n\n // Pending implementation in the backend.\n // return metricsService.getDevicesMetrics(\n // this.procedure,\n // {\n // tenantIdDh: this.tenantIdDh,\n // deviceIds: selectedDevices,\n // shifts: selectedShifts,\n // timeSpan: timeSpan as FilterTimeSpanEnum,\n // },\n // this.controller,\n // );\n }\n\n private calculateTotals(data: BendShiftStatisticsData[]): BendShiftStatisticsData[] {\n return data.map((shift) => {\n const initialStatistics: ShiftStatistics = {\n toolChanges: 0,\n weight: 0,\n weightHandled: 0,\n bendsHour: 0,\n highFlow: 0,\n lowFlow: 0,\n noFlow: 0,\n automatic: 0,\n semiAutomatic: 0,\n nonProductive: 0,\n highFlowPercent: 0,\n lowFlowPercent: 0,\n noFlowPercent: 0,\n automaticPercent: 0,\n semiAutomaticPercent: 0,\n nonProductivePercent: 0,\n };\n\n const deviceStatisticsTotals: ShiftStatistics = shift.deviceStatistics.reduce(\n (acc, device) => {\n Object.keys(acc).forEach((key) => {\n acc[key as keyof ShiftStatistics] += device[key as keyof ShiftStatistics];\n });\n return acc;\n },\n { ...initialStatistics },\n );\n\n const adjustPercentages = (fields: (keyof ShiftStatistics)[], total: number) => {\n if (total > 0) {\n fields.forEach((field) => {\n deviceStatisticsTotals[field] = (deviceStatisticsTotals[field] * 100) / total;\n });\n }\n };\n\n const bendingFlowFields: (keyof ShiftStatistics)[] = [\n 'highFlowPercent',\n 'lowFlowPercent',\n 'noFlowPercent',\n ];\n const totalBendingFlowPercent = bendingFlowFields.reduce(\n (sum, field) => sum + deviceStatisticsTotals[field],\n 0,\n );\n adjustPercentages(bendingFlowFields, totalBendingFlowPercent);\n\n const productionModeFields: (keyof ShiftStatistics)[] = [\n 'automaticPercent',\n 'semiAutomaticPercent',\n 'nonProductivePercent',\n ];\n const totalProductionModePercent = productionModeFields.reduce(\n (sum, field) => sum + deviceStatisticsTotals[field],\n 0,\n );\n adjustPercentages(productionModeFields, totalProductionModePercent);\n\n return {\n ...shift,\n deviceStatisticsTotals,\n };\n });\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { DataRetriever, ProcedureName } from '../abstract/chartGenerator';\nimport { RankingDataOfBendPart } from '../chartsData';\nimport { mockBendRankingOfPartsData } from '../mockWidgetSelectorData';\nimport { devicesService } from '@/services/devices.service';\n\nexport class BendRankingOfPartsRetriever extends DataRetriever {\n constructor(procedure: ProcedureName, public tenantIdDh: number) {\n super(procedure);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): Promise {\n return await mockBendRankingOfPartsData(\n selectedDevices.length === 0\n ? devicesService.store.bendDevices().map((b) => b.deviceId)\n : selectedDevices,\n );\n // Pending implementation in the backend.\n // return metricsService.getDevicesMetrics(\n // this.procedure,\n // {\n // tenantIdDh: this.tenantIdDh,\n // deviceIds: selectedDevices,\n // shifts: selectedShifts,\n // timeSpan: timeSpan as FilterTimeSpanEnum,\n // },\n // this.controller,\n // );\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { CutOrTubesIntradayAvailabilityDeviceData } from '../chartsData';\nimport { metricsService } from '@/services/metrics.service';\nimport { DataRetriever, ProcedureName } from '../abstract/chartGenerator';\nimport { isEmpty } from '@/utils/misc';\nimport { devicesService } from '@/services/devices.service';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\n\n/**\n * Retrieves data for either of the two 'Intraday availability' tables of Work\n * center console's Cut and Tubes.\n */\nexport class CutOrTubesIntradayAvailabilityTableRetriever extends DataRetriever<\n CutOrTubesIntradayAvailabilityDeviceData[]\n> {\n constructor(procedure: ProcedureName, private customerIdDh: number) {\n super(procedure);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: [string, string] | FilterTimeSpanEnum,\n timeAxisSpan?: FilterTimeAxisSpanEnum | undefined,\n params?: { [key: string]: any } | undefined,\n customerNo?: string | undefined,\n ): Promise {\n return await metricsService.getCutOrTubesIntradayAvailabilityData(\n this.procedure,\n {\n tenantIdDh: this.customerIdDh,\n deviceIds: this.selectedDeviceIds(selectedDevices),\n shifts: selectedShifts,\n },\n this.controller,\n );\n }\n\n private selectedDeviceIds(selectedDevices: string[]): string[] {\n if (isEmpty(selectedDevices)) {\n return this.procedure === WidgetEnum.LaserIntradayAvailabilityTable\n ? devicesService.store.cutDevicesIds()\n : devicesService.store.tubeDevicesIds();\n }\n\n return selectedDevices;\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { PieChartGenerator } from './pieChartGenerator';\nimport { DetailedViewEnum, WidgetEnum } from '../enums/WidgetEnum';\nimport { ChartGenerator, DataRetriever } from './abstract/chartGenerator';\nimport { GaugeChartGenerator } from './gaugeChartGenerator';\nimport { GroupedBarChartGenerator } from './groupedBarChartGenerator';\nimport { HorizontalBarChartGenerator } from './horizontalBarChartGenerator';\nimport { LineChartGenerator } from './lineChartGenerator';\nimport { OutputScrapChartGenerator } from './outputScrapChartGenerator';\nimport { FactoryOverviewGenerator } from './factoryOverviewGenerator';\nimport { GanttChartGenerator } from './ganttChartGenerator';\nimport { CumulativeLinesGenerator } from './cumulativeLinesGenerator';\nimport DummyChartGenerator from './dummyChartGenerator';\nimport BusinessLineChartGenerator from './businessLineChartGenerator';\nimport { QuotesConversionRatesGenerator } from './quotesConversionRatesGenerator';\nimport { TopQuotedMaterialsTimelineGenerator } from './topQuotedMaterialsTimelineGenerator';\nimport QuotesCustomerEvolutionGenerator from './quotesCustomerEvolutionGenerator';\nimport SalesCustomerGroupsGenerator from './salesCustomerGroupsGenerator';\nimport SalesTopBySalesGenerator from './salesTopBySalesGenerator';\nimport SalesFunnelGenerator from './salesFunnelGenerator';\nimport { CuttingTimePerGasGenerator } from './cuttingTimePerGasGenerator';\nimport CutStatesIntradayGenerator from './cutStatesIntradayGenerator';\nimport { SalesUnpaidDistributionGenerator } from './salesUnpaidDistributionGenerator';\nimport OpenSalesFunnelGenerator from './openSalesFunnelGenerator';\nimport { POTreemapGenerator } from './poTreeMapGenerator';\nimport { QuotesSizeGenerator } from './quotesSizeGenerator';\nimport { TemperaturesChartGenerator } from './temperaturesChartGenerator';\nimport { DrawerInformationTimelineGenerator } from './drawerInformationTimelineGenerator';\nimport { DrawerCycleTimesGenerator } from './drawerCycleTimesGenerator';\nimport { LaserUsedVSNotUsedTimesGenerator } from './laserUsedVSNotUsedTimesGenerator';\nimport { LaserPowerUtilizationTimesGenerator } from './laserPowerUtilizationTimesGenerator';\nimport { DriveCurrentTimelineGenerator } from './driveCurrentTimelineGenerator';\nimport { DriveCurrentDifferenceHistogramGenerator } from './driveCurrentDifferenceHistogramGenerator';\nimport { DriveAccumulatedCurrentDifferenceTimelineGenerator } from './driveAccumulatedCurrentDifferenceTimelineGenerator';\nimport { POLStatusDueDateGenerator } from './polStatusDueDateGenerator';\nimport { FinishedPOEstimatedVsActualPOLGenerator } from './finishedPOEstimatedVsActualPOLGenerator';\nimport { DrawerOverviewCycleTimesGenerator } from './drawerOverviewCycleTimesGenerator';\nimport { CuttingHoursTimelineGenerator } from './cuttingHoursTimelineGenerator';\nimport { LaserConsumptionOverviewTimelineGenerator } from './laserConsumptionOverviewTimelineGenerator';\nimport QuotesAbcCustomersOverviewGenerator from './quotesAbcCustomersOverviewGenerator';\nimport { QuotedMaterialsListGenerator } from './quotedMaterialsListGenerator';\nimport { getCustomerMeasurementId, weightUnit } from '@/utils/measurement';\nimport { GeneratorParams } from './generatorParams';\nimport { LaserOutputAndScrapTimelineGenerator } from './laserOutputAndScrapTimelineGenerator';\nimport { POFinishedDueDateGenerator } from './poFinishedDueDateGenerator';\nimport { AmountVsNumberOfQuotesBySalespeopleGenerator } from './amountVsNumberOfQuotesBySalespeopleGenerator';\nimport { LaserCuttingTimeData, LaserOEEData, SalesTopBySalesData } from './chartsData';\nimport { Logger } from '@/utils/logger';\nimport { SalesPerSalespersonTimelineGenerator } from './salesPerSalespersonTimelineGenerator';\nimport { TopSalespeopleDetailGenerator } from './topSalespeopleDetailGenerator';\nimport { EventTypeByTimeGenerator } from './eventTypeByTimeGenerator';\nimport { LaserInstantConsumptionTimelineGenerator } from '@/models/Charts/laserInstantConsumptionTimelineGenerator';\nimport { LaserAvailableVsUsedTimelineGenerator } from '@/models/Charts/laserAvailableVsUsedTimelineGenerator';\nimport { LaserAccumulatedConsumptionTimelineGenerator } from '@/models/Charts/laserAccumulatedConsumptionTimelineGenerator';\nimport { Measurements } from '../enums/Measurement';\nimport { MachineType } from '../enums/MachineType';\nimport { EventTypeByModuleGenerator } from './eventTypeByModuleGenerator';\nimport { HealthTimelineGenerator } from '@/models/Charts/healthTimelineGenerator';\nimport { HealthIndicatorsRetriever } from '@/models/Charts/slotted/healthIndicatorsRetriever';\nimport { DiodesAndDrawerCyclesTimelineGenerator } from '@/models/Charts/diodesAndDrawerCyclesTimelineGenerator';\nimport { BendPerformanceRetriever } from './slotted/bendPerformanceRetriever';\nimport { AlertOccurrenceTableRetriever } from './slotted/alertOccurrenceTableRetriever';\nimport { CareDeviceOverviewRetriever } from './slotted/careDeviceOverviewRetriever';\nimport { CareOverviewHealthIndicatorsRetriever } from '@/models/Charts/slotted/CareOverviewHealthIndicatorsRetriever';\nimport { CareOverviewModuleEventsIndicatorsRetriever } from '@/models/Charts/slotted/careOverviewModuleEventsIndicatorsRetriever';\nimport { LaserPowerUtilizationHistogramGenerator } from '@/models/Charts/laserPowerUtilizationHistogramGenerator';\nimport { QuotesConversionRatesDetailedGenerator } from '@/models/Charts/quotesConversionRatesDetailedGenerator';\nimport { QuotesFiguresRetriever } from './slotted/quotesFiguresRetriever';\nimport { ManufacturingFiguresRetriever } from './slotted/manufacturingFiguresRetriever';\nimport { TechnologyOverviewFiguresRetriever } from './slotted/technologyOverviewFiguresRetriever';\nimport { BusinessFiguresRetriever } from './slotted/businessFiguresRetriever';\nimport { SalesFiguresRetriever } from './slotted/salesFiguresRetriever';\nimport { DeviceStatusRetriever } from './slotted/deviceStatusRetriever';\nimport QuotesMapGenerator from '../Maps/quotesMapGenerator';\nimport MapGenerator from '../Maps/mapGenerator';\nimport { CutCurrentWorkloadTableDataRetriever } from './slotted/cutCurrentWorkloadTableDataRetriever';\nimport { EventsTableRetriever } from './slotted/eventsTableRetriever';\nimport { BendIntradayAvailabilityTableDataRetriever } from './gantt/bendIntradayAvailabilityTableDataRetriever';\nimport BendProductivityFiguresChartGenerator from '@/models/Charts/bendProductivityFiguresChartGenerator';\nimport BendStatusOverviewChartGenerator from './bendStatusOverviewChartGenerator';\nimport { NumberOfBendsWidgetGenerator } from './numberOfBendsWidgetGenerator';\nimport { PeakHourlyBendingWidgetGenerator } from './peakHourlyBendingWidgetGenerator';\nimport { BendingToolChangesKpiWidgetGenerator } from './bendingToolChangesKpiWidgetGenerator';\nimport { BendProductionOutputWidgetGenerator } from './bendProductionOutputWidgetGenerator';\nimport { BendShiftsStatisticsRetriever } from './slotted/bendShiftsStatisticsRetriever';\nimport { BendRankingOfPartsRetriever } from './slotted/bendRankingOfPartsRetriever';\nimport { CutOrTubesIntradayAvailabilityTableRetriever } from '@/models/Charts/gantt/cutOrTubesIntradayAvailabilityTableRetriever';\n\nexport default class WidgetFactory {\n static createGenerator(\n widget: WidgetEnum | DetailedViewEnum,\n tenantIdDh: number,\n ): ChartGenerator {\n switch (widget) {\n // Dashboard exclusive widgets\n case WidgetEnum.FactoryOverview:\n return new FactoryOverviewGenerator(widget, tenantIdDh);\n\n // Work center console > Cut\n case WidgetEnum.LaserAvailability:\n return new HorizontalBarChartGenerator(widget, tenantIdDh);\n case WidgetEnum.LaserProductivity:\n return new PieChartGenerator(widget, tenantIdDh);\n case WidgetEnum.LaserProductivityHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.LaserOee:\n return new GaugeChartGenerator(widget, tenantIdDh);\n case WidgetEnum.LaserStarveBlock:\n return new HorizontalBarChartGenerator(widget, tenantIdDh);\n case WidgetEnum.LaserOutputScrap:\n return new OutputScrapChartGenerator(widget, tenantIdDh);\n case WidgetEnum.LaserCuttingTime:\n return new GaugeChartGenerator(widget, tenantIdDh);\n case WidgetEnum.LaserAvailabilityHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.LaserOeeHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.LaserCuttingTimeHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.LaserStarveBlockHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.LaserOutputAndScrapTimeline:\n return new LaserOutputAndScrapTimelineGenerator(widget, tenantIdDh);\n\n // Work center console > Cut > Detailed views\n case DetailedViewEnum.CutStatesIntraday:\n return new CutStatesIntradayGenerator(widget, tenantIdDh);\n case DetailedViewEnum.IntradayOeeTime:\n return new GanttChartGenerator(widget, tenantIdDh);\n case DetailedViewEnum.CumulativeCuttingTime:\n return new CumulativeLinesGenerator(widget, tenantIdDh);\n case DetailedViewEnum.CumulativeCuttingTimePerShift:\n return new CumulativeLinesGenerator(widget, tenantIdDh);\n case DetailedViewEnum.LaserTodaysGas:\n return new CuttingTimePerGasGenerator(widget, tenantIdDh);\n\n // Work center console > Bend\n case WidgetEnum.BendingAvailability:\n return new HorizontalBarChartGenerator(widget, tenantIdDh);\n case WidgetEnum.BendingTimeBetweenBend:\n return new GroupedBarChartGenerator(widget, tenantIdDh);\n case WidgetEnum.BendingTopParts:\n return new GroupedBarChartGenerator(widget, tenantIdDh);\n case WidgetEnum.BendingPerformancePart:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.BendingAvailabilityHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.BendingTimeBetweenBendHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.BendingPerformancePartHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.BendingPerformanceHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.BendingNumberOfBendsTimeline:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.BendProductivityFigures:\n return new BendProductivityFiguresChartGenerator(widget, tenantIdDh);\n case WidgetEnum.BendStatusOverview:\n return new BendStatusOverviewChartGenerator(widget, tenantIdDh);\n case WidgetEnum.NumberOfBendsWidget:\n return new NumberOfBendsWidgetGenerator(widget, tenantIdDh);\n case WidgetEnum.PeakHourlyBendingWidget:\n return new PeakHourlyBendingWidgetGenerator(widget, tenantIdDh);\n case WidgetEnum.BendToolChangesWidget:\n return new BendingToolChangesKpiWidgetGenerator(widget, tenantIdDh);\n case WidgetEnum.BendProductionOutputWidget:\n return new BendProductionOutputWidgetGenerator(widget, tenantIdDh);\n\n // Work center console > Tube\n case WidgetEnum.TubeAvailability:\n return new HorizontalBarChartGenerator(widget, tenantIdDh);\n case WidgetEnum.TubeProductivity:\n return new PieChartGenerator(widget, tenantIdDh);\n case WidgetEnum.TubeOee:\n return new GaugeChartGenerator(widget, tenantIdDh);\n case WidgetEnum.TubeStarveBlock:\n return new HorizontalBarChartGenerator(widget, tenantIdDh);\n case WidgetEnum.TubeOutputScrap:\n return new OutputScrapChartGenerator(widget, tenantIdDh);\n case WidgetEnum.TubeCuttingTime:\n return new GaugeChartGenerator(widget, tenantIdDh);\n case WidgetEnum.TubeAvailabilityHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.TubeProductivityHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.TubeOeeHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.TubeCuttingTimeHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.TubeStarveBlockHist:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.TubeOutputScrapHist:\n return new LaserOutputAndScrapTimelineGenerator(widget, tenantIdDh);\n\n // Work center console > Tube > Detailed views\n case DetailedViewEnum.TubesCuttingTimePerGas:\n return new CuttingTimePerGasGenerator(widget, tenantIdDh);\n case DetailedViewEnum.TubesCumulativeCuttingTime:\n return new CumulativeLinesGenerator(widget, tenantIdDh);\n case DetailedViewEnum.TubesCumulativeCuttingTimePerShift:\n return new CumulativeLinesGenerator(widget, tenantIdDh);\n\n // Technology console\n case WidgetEnum.TechnologyOverviewCuttingHoursTimeline:\n return new CuttingHoursTimelineGenerator(widget, tenantIdDh);\n case WidgetEnum.TechnologyOverviewLaserConsumptionTimeline:\n return new LaserConsumptionOverviewTimelineGenerator(widget, tenantIdDh);\n case WidgetEnum.TechnologyOverviewDrawerCycleTimes:\n return new DrawerOverviewCycleTimesGenerator(widget, tenantIdDh);\n case WidgetEnum.TechnologyTemperatures:\n return new TemperaturesChartGenerator(widget, tenantIdDh);\n case WidgetEnum.TechnologyDrawerInformationTimeline:\n return new DrawerInformationTimelineGenerator(widget, tenantIdDh);\n case WidgetEnum.TechnologyDrawerCycleTimes:\n return new DrawerCycleTimesGenerator(widget, tenantIdDh);\n case WidgetEnum.TechnologyLaserConsumptionTimeline:\n return new LaserAccumulatedConsumptionTimelineGenerator(widget, tenantIdDh);\n case WidgetEnum.TechnologyLaserUsedVsNotUsedTimes:\n return new LaserUsedVSNotUsedTimesGenerator(widget, tenantIdDh);\n case WidgetEnum.TechnologyLaserPowerUtilizationTimes:\n return new LaserPowerUtilizationTimesGenerator(widget, tenantIdDh);\n case WidgetEnum.TechnologyDriveCurrentTimeline:\n return new DriveCurrentTimelineGenerator(widget, tenantIdDh);\n case WidgetEnum.TechnologyDriveCurrentDifferenceHistogram:\n return new DriveCurrentDifferenceHistogramGenerator(widget, tenantIdDh);\n case WidgetEnum.TechnologyDriveAccumulatedCurrentDifferenceTimeline:\n return new DriveAccumulatedCurrentDifferenceTimelineGenerator(widget, tenantIdDh);\n\n // Care console\n case WidgetEnum.CareHealthTimeline:\n return new HealthTimelineGenerator(widget, tenantIdDh);\n case WidgetEnum.CareEventsTimeline:\n return new EventTypeByTimeGenerator(widget, tenantIdDh);\n case WidgetEnum.CareEventsByModule:\n return new EventTypeByModuleGenerator(widget, tenantIdDh);\n case WidgetEnum.CareCuttingHeadDiodesAndDrawerCyclesTimeline:\n return new DiodesAndDrawerCyclesTimelineGenerator(widget, tenantIdDh);\n case WidgetEnum.CareCuttingHeadEventsTimeline:\n return new EventTypeByTimeGenerator(WidgetEnum.CareEventsTimeline, tenantIdDh);\n case WidgetEnum.CareCuttingHeadTemperatures:\n return new LineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.CareLaserConsumptionTimeline:\n return new LaserInstantConsumptionTimelineGenerator(widget, tenantIdDh);\n case WidgetEnum.CareLaserConsumptionPowerUtilizationTimeline:\n return new LaserPowerUtilizationHistogramGenerator(\n WidgetEnum.TechnologyLaserPowerUtilizationTimes,\n tenantIdDh,\n );\n case WidgetEnum.CareLaserConsumptionAvailableVsUsedTimeline:\n return new LaserAvailableVsUsedTimelineGenerator(widget, tenantIdDh);\n\n // Business console > Overview\n case WidgetEnum.OpenSalesFunnel:\n return new OpenSalesFunnelGenerator(widget, tenantIdDh);\n\n // Business console > Quotes\n case WidgetEnum.QuotesConvertedAmountTimeline:\n return new BusinessLineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.QuotesAbcCustomers:\n return new QuotesAbcCustomersOverviewGenerator(widget, tenantIdDh);\n case WidgetEnum.QuotesConversionRates:\n return new QuotesConversionRatesGenerator(widget, tenantIdDh);\n case WidgetEnum.QuotesConversionRatesGauge:\n return new QuotesConversionRatesDetailedGenerator(widget, tenantIdDh);\n case WidgetEnum.QuotesCustomerEvolution:\n return new QuotesCustomerEvolutionGenerator(widget, tenantIdDh);\n case WidgetEnum.QuotesSize:\n return new QuotesSizeGenerator(widget, tenantIdDh);\n case WidgetEnum.QuotesTopQuotedMaterialsTimeline:\n return new TopQuotedMaterialsTimelineGenerator(widget, tenantIdDh);\n case WidgetEnum.QuotesQuotedMaterialsList:\n return new QuotedMaterialsListGenerator(widget, tenantIdDh);\n case WidgetEnum.QuotesTopSalespeopleDetailed:\n // It's the same chart that appears in Sales, so same generator and procedure.\n return new SalesTopBySalesGenerator(WidgetEnum.SalesTopSalespeople, tenantIdDh);\n\n // Business console > Sales\n case WidgetEnum.SalesCustomerGroups:\n return new SalesCustomerGroupsGenerator(widget, tenantIdDh);\n case WidgetEnum.SalesTopSalespeople:\n return new SalesTopBySalesGenerator(widget, tenantIdDh);\n case WidgetEnum.AmountVsNumberOfQuotesBySalesperson:\n return new AmountVsNumberOfQuotesBySalespeopleGenerator(\n WidgetEnum.SalesTopSalespeople, // Uses the same procedure\n tenantIdDh,\n );\n case WidgetEnum.SalesAmountBySalesperson:\n case WidgetEnum.SalesItemChangesBySalesperson:\n case WidgetEnum.NumberOfSalesBySalesperson:\n return new TopSalespeopleDetailGenerator(\n WidgetEnum.SalesTopSalespeople, // All use the same procedure\n tenantIdDh,\n );\n case WidgetEnum.SalesPerSalespersonTimeline:\n return new SalesPerSalespersonTimelineGenerator(widget, tenantIdDh);\n case WidgetEnum.SalesFunnel:\n return new SalesFunnelGenerator(widget, tenantIdDh);\n\n case WidgetEnum.SalesTimeline:\n return new BusinessLineChartGenerator(widget, tenantIdDh);\n case WidgetEnum.SalesUnpaidDistribution:\n return new SalesUnpaidDistributionGenerator(widget, tenantIdDh);\n\n // Shop floor console > Manufacturing\n case WidgetEnum.ManufacturingPOStatus:\n return new POTreemapGenerator(widget, tenantIdDh);\n case WidgetEnum.ManufacturingReleasedPOStatus:\n return new POTreemapGenerator(widget, tenantIdDh);\n case WidgetEnum.ManufacturingPOFinishedDueDate:\n return new POFinishedDueDateGenerator(widget, tenantIdDh);\n case WidgetEnum.ManufacturingPOLStatusDueDate:\n return new POLStatusDueDateGenerator(widget, tenantIdDh);\n case WidgetEnum.ManufacturingFinishedPOEstimatedVsActualPOL:\n return new FinishedPOEstimatedVsActualPOLGenerator(widget, tenantIdDh);\n\n // Dummy\n case WidgetEnum.Dummy:\n return new DummyChartGenerator(widget);\n\n default:\n throw new Error(`Generator not found for widget key: ${widget}`);\n }\n }\n\n static createMapGenerator(\n widget: WidgetEnum | DetailedViewEnum,\n tenantIdDh: number,\n ): MapGenerator {\n switch (widget) {\n case WidgetEnum.QuotesMap:\n case WidgetEnum.SalesMap:\n return new QuotesMapGenerator(widget, tenantIdDh);\n case WidgetEnum.QuotesConvertedMap:\n return new QuotesMapGenerator(WidgetEnum.QuotesMap, tenantIdDh, 'converted_amount');\n default:\n throw new Error(`Map generator not found for widget key: ${widget}`);\n }\n }\n\n static createDataRetriever(\n widget: WidgetEnum | DetailedViewEnum,\n tenantIdDh: number,\n ): DataRetriever {\n switch (widget) {\n // Work center console > Cut\n case WidgetEnum.CutStatus:\n return new DeviceStatusRetriever(widget, tenantIdDh);\n case WidgetEnum.LaserCurrentWorkload:\n return new CutCurrentWorkloadTableDataRetriever(widget, tenantIdDh);\n case WidgetEnum.LaserIntradayAvailabilityTable:\n return new CutOrTubesIntradayAvailabilityTableRetriever(widget, tenantIdDh);\n\n // Work center console > Bend\n case WidgetEnum.BendStatus:\n return new DeviceStatusRetriever(widget, tenantIdDh);\n case WidgetEnum.BendIntradayAvailabilityTable:\n return new BendIntradayAvailabilityTableDataRetriever(widget, tenantIdDh);\n case WidgetEnum.BendingPerformance:\n return new BendPerformanceRetriever(widget, tenantIdDh);\n case WidgetEnum.BendShiftStatistics:\n return new BendShiftsStatisticsRetriever(widget, tenantIdDh);\n case WidgetEnum.BendRankingOfParts:\n return new BendRankingOfPartsRetriever(widget, tenantIdDh);\n\n // Work center console > Tube\n case WidgetEnum.TubeStatus:\n return new DeviceStatusRetriever(widget, tenantIdDh);\n case WidgetEnum.TubeIntradayAvailabilityTable:\n return new CutOrTubesIntradayAvailabilityTableRetriever(widget, tenantIdDh);\n\n // Business console > Overview\n case WidgetEnum.BusinessOverviewFigures:\n return new BusinessFiguresRetriever(widget, tenantIdDh);\n\n // Business console > Quotes\n case WidgetEnum.QuotesFigures:\n case WidgetEnum.QuotesFiguresDetailed:\n return new QuotesFiguresRetriever(widget, tenantIdDh);\n\n // Business console > Sales\n case WidgetEnum.SalesFigures:\n return new SalesFiguresRetriever(widget, tenantIdDh);\n\n // Shop floor console > Manufacturing\n case WidgetEnum.ManufacturingFigures:\n return new ManufacturingFiguresRetriever(widget, tenantIdDh);\n\n // Care console\n case WidgetEnum.CareHealthIndicators:\n return new HealthIndicatorsRetriever(widget, tenantIdDh);\n case WidgetEnum.CareOverviewDevice:\n return new CareDeviceOverviewRetriever(widget, tenantIdDh);\n case WidgetEnum.CareOverviewHealthIndicators:\n return new CareOverviewHealthIndicatorsRetriever(widget, tenantIdDh);\n case WidgetEnum.CareOverviewModuleEventsIndicators:\n return new CareOverviewModuleEventsIndicatorsRetriever(widget, tenantIdDh);\n case WidgetEnum.CareAlertOccurrencesTable:\n return new AlertOccurrenceTableRetriever(widget);\n\n // Technology console\n case WidgetEnum.EventsTable:\n return new EventsTableRetriever(widget);\n case WidgetEnum.EventsTableExpandedView:\n return new EventsTableRetriever(WidgetEnum.EventsTable);\n case WidgetEnum.TechnologyOverviewSscFigures:\n return new TechnologyOverviewFiguresRetriever(widget, tenantIdDh);\n default: {\n // To avoid repeating all cases from createGenerator here, we just call\n // it and ensure the returned object is really a DataRetriever.\n\n const providers = [this.createGenerator, this.createMapGenerator];\n\n for (const provider of providers) {\n try {\n const dataRetriever = provider(widget, tenantIdDh);\n if (this.isDataRetriever(dataRetriever)) {\n return dataRetriever;\n }\n } catch (e) {\n // Do nothing for the time being\n Logger.info(`Running provider for widget ${widget} failed`);\n continue;\n }\n }\n\n // If no generator or map generator is found, then we definitely did something wrong.\n // So better throw an exception\n Logger.error(`No DataRetriever has been found for ${widget}`);\n throw Error(`No DataRetriever has been found for ${widget}`);\n }\n }\n }\n\n private static isDataRetriever(object: any): object is DataRetriever {\n return 'getData' in object && 'getMockData' in object && 'abort' in object;\n }\n\n static createOptions(widget: WidgetEnum | DetailedViewEnum): GeneratorParams {\n switch (widget) {\n case WidgetEnum.LaserAvailability:\n case WidgetEnum.TubeAvailability:\n case WidgetEnum.BendingAvailability:\n return {\n xAxisName: 'h',\n };\n case WidgetEnum.TubeProductivity:\n case WidgetEnum.LaserProductivity:\n return {\n unit: ' h',\n };\n case WidgetEnum.TubeProductivityHist:\n case WidgetEnum.LaserProductivityHist:\n case WidgetEnum.LaserOeeHist:\n case WidgetEnum.TubeOeeHist:\n return {\n connectNulls: false,\n isLineChart: true,\n yAxisName: '%',\n };\n case WidgetEnum.QuotesConversionRatesGauge:\n return {\n unit: '%',\n maxValue: 100,\n };\n case WidgetEnum.LaserOee:\n case WidgetEnum.TubeOee:\n return {\n unit: '%',\n valueName: 'oee',\n maxValue: 100,\n };\n case WidgetEnum.LaserCuttingTime:\n case WidgetEnum.TubeCuttingTime:\n return {\n unit: ' h',\n valueName: 'cutting_time',\n maxValue: 100,\n };\n case WidgetEnum.LaserStarveBlock:\n case WidgetEnum.TubeStarveBlock:\n return {\n xAxisName: 'min',\n };\n case WidgetEnum.LaserOutputScrap:\n return {\n yAxisName: weightUnit(),\n // In BVC, the source data is already in the tenant's measurement system\n convertToLbs: false,\n };\n case WidgetEnum.TubeOutputScrap:\n return {\n yAxisName: weightUnit(),\n convertToLbs: getCustomerMeasurementId() === Measurements.Imperial,\n };\n case WidgetEnum.BendingTimeBetweenBend:\n return {\n isPrimaryOnly: false,\n groupKey: 'category_name',\n valueKey: 'time_between_bend',\n xAxisName: 's',\n };\n case WidgetEnum.BendingTopParts:\n return {\n isPrimaryOnly: true,\n groupKey: 'PartName',\n valueKey: 'PartCount',\n metricName: 'top_parts',\n };\n case WidgetEnum.BendingPerformancePart:\n return {\n connectNulls: true,\n yAxisName: 'min/part',\n };\n case WidgetEnum.LaserAvailabilityHist:\n case WidgetEnum.TubeAvailabilityHist:\n case WidgetEnum.LaserCuttingTimeHist:\n case WidgetEnum.TubeCuttingTimeHist:\n case WidgetEnum.BendingAvailabilityHist:\n return {\n connectNulls: false,\n isLineChart: true,\n yAxisName: 'h',\n };\n case WidgetEnum.LaserStarveBlockHist:\n case WidgetEnum.TubeStarveBlockHist:\n return {\n connectNulls: false,\n isLineChart: true,\n yAxisName: 'min',\n };\n case WidgetEnum.LaserOutputAndScrapTimeline:\n return {\n upperLineName: 'output',\n lowerLineName: 'scrap',\n groupKey: 'group_name',\n isLineChart: true,\n yAxisName: weightUnit(),\n // In BVC, data is displayed in tenant's preferred system\n convertToLbs: false,\n };\n case WidgetEnum.TubeOutputScrapHist:\n return {\n upperLineName: 'output',\n lowerLineName: 'scrap',\n groupKey: 'group_name',\n isLineChart: true,\n yAxisName: weightUnit(),\n // In Tubes, unlike Cut, data is always sent in kgs\n convertToLbs: getCustomerMeasurementId() === Measurements.Imperial,\n };\n case WidgetEnum.BendingTimeBetweenBendHist:\n return {\n connectNulls: false,\n isLineChart: true,\n yAxisName: 's',\n };\n case WidgetEnum.BendingPerformancePartHist:\n return {\n connectNulls: false,\n isLineChart: true,\n yAxisName: 'min/part',\n };\n case WidgetEnum.BendingPerformanceHist:\n return {\n connectNulls: false,\n isLineChart: true,\n };\n case WidgetEnum.BendingNumberOfBendsTimeline:\n return {\n isLineChart: true,\n };\n case DetailedViewEnum.CumulativeCuttingTime:\n return {\n isLineChart: true,\n yAxisName: 'h',\n valueKey: 'cut_time',\n title: i18n.t('report.cumulative_cutting_time_today').toString(),\n };\n case DetailedViewEnum.TubesCumulativeCuttingTime:\n return {\n isLineChart: true,\n yAxisName: 'h',\n valueKey: 'cut_time',\n title: i18n.t('report.cumulative_cutting_time_today').toString(),\n deviceType: MachineType.Tube,\n };\n case DetailedViewEnum.CumulativeCuttingTimePerShift:\n return {\n isLineChart: true,\n yAxisName: 'h',\n valueKey: 'cut_time',\n title: i18n.t('report.cumulative_cutting_time_by_shift_today').toString(),\n };\n case DetailedViewEnum.TubesCumulativeCuttingTimePerShift:\n return {\n isLineChart: true,\n yAxisName: 'h',\n valueKey: 'cut_time',\n title: i18n.t('report.cumulative_cutting_time_by_shift_today').toString(),\n deviceType: MachineType.Tube,\n };\n case DetailedViewEnum.LaserTodaysGas:\n case DetailedViewEnum.TubesCuttingTimePerGas:\n return {\n yAxisName: 'h',\n title: i18n.t('report.cutting_time_per_gas').toString(),\n };\n case WidgetEnum.CareCuttingHeadTemperatures:\n return {\n yAxisName: 'ºC',\n };\n case WidgetEnum.SalesAmountBySalesperson:\n return {\n valueKey: 'total_sales' as keyof SalesTopBySalesData,\n };\n case WidgetEnum.SalesItemChangesBySalesperson:\n return {\n valueKey: 'sales_item_changes' as keyof SalesTopBySalesData,\n };\n case WidgetEnum.NumberOfSalesBySalesperson:\n return {\n valueKey: 'number_of_sales' as keyof SalesTopBySalesData,\n };\n case WidgetEnum.TechnologyLaserPowerUtilizationTimes:\n return {\n yAxisName: 'h',\n };\n default:\n return {};\n }\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HealthIndicator.vue?vue&type=style&index=0&id=7d97f9b4&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceImage.vue?vue&type=style&index=0&id=33f2f4e3&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserCreationDropdown.vue?vue&type=style&index=0&id=2de29fa7&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryDetail.vue?vue&type=style&index=0&id=f9d0e4f4&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=style&index=0&id=751ef727&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Overview.vue?vue&type=style&index=0&id=a6e0bb6e&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutGrid.vue?vue&type=style&index=0&id=79f1e318&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nexport enum UserType {\n None = 0,\n\n GlobalAdmin = 10,\n\n SubsidiaryAdmin = 20,\n CustomerAdmin = 25,\n CustomerUser = 26,\n\n TechnologyUser = 31,\n\n ServiceGlobal = 40,\n ServiceUser = 41,\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarLayout.vue?vue&type=style&index=0&id=3a7e5088&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { localeChanged } from 'vee-validate';\nimport moment from 'moment/moment';\nimport { usePersistentStore } from '@/store/persistent';\n\n/**\n * Handles the locale of the application.\n */\n// export needed for mocking on unit tests\nexport class LocaleService {\n store = new (class {\n get currentLocale(): string {\n return usePersistentStore().locale;\n }\n\n async setCurrentLocale(locale: string) {\n usePersistentStore().setLocale(locale);\n }\n })();\n\n /**\n * Returns a list of the application's available locales.\n *\n * The locales are represented as two-letter language codes (ISO 639-1).\n */\n get availableLocales(): string[] {\n return i18n.availableLocales;\n }\n\n /**\n * Returns the two-letter language code (ISO 639-1) of the user's currently\n * selected language.\n *\n * For example, 'en' for English.\n */\n get currentLocale(): string {\n return i18n.locale;\n }\n\n /**\n * Sets the locale to be used by the application.\n *\n * @param locale two-letter language code (ISO 639-1). For example, 'en' for\n * English.\n */\n async setCurrentLocale(locale: string) {\n i18n.locale = locale;\n moment.locale(locale);\n await this.store.setCurrentLocale(locale);\n localeChanged();\n }\n\n /**\n * Returns the two-letter language code (ISO 639-1) of the user's currently\n * selected language on the browser.\n *\n * For example, 'en' for English.\n */\n get browserCurrentLocale(): string {\n // Returns the 'en' in 'en-US'\n return window.navigator.language.split('-')[0];\n }\n}\n\nexport const localeService = new LocaleService();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableColumnActionsWrapper.vue?vue&type=style&index=0&id=11877f32&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport axios from 'axios';\nimport { BaseUrl } from '@/models/constants';\nimport { Tenant } from '@/models/tenant';\nimport { responseHandler } from './response.handler';\nimport { User } from '@/models/user';\nimport { CustomerReport } from '@/models/customerReport';\nimport { CustomerCutConfig } from '@/models/customerCutConfig';\nimport { UserData, usersService } from '@/services/users.service';\nimport { BillingInfo } from '@/models/billingInfo';\nimport { downloadUrl } from '@/utils/misc';\nimport { CustomerEServiceData } from '@/views/careConsole/commons/model';\nimport { usePersistentStore } from '@/store/persistent';\n\ntype TenantWithReportUsers = Tenant & { reportUserEmails?: string[] };\n\nexport type RestrictedTenant = {\n id: number;\n name: string;\n};\n\nclass TenantsService {\n store = new (class {\n current(): Tenant | null {\n return usePersistentStore().tenant;\n }\n\n currentIdDh(): number | undefined {\n return this.current()?.tenantIdDh;\n }\n\n async update(tenant: Tenant | null) {\n usePersistentStore().setTenant(tenant);\n }\n })();\n\n async get(): Promise {\n const response = await axios.get(`${BaseUrl}/tenants`);\n responseHandler.handleDates(response.data);\n return response.data.map((tenant) => TenantsService.deserialize(tenant));\n }\n\n async getRestricted(): Promise {\n return await axios\n .get(`${BaseUrl}/tenants/restricted`)\n .then((response) => response.data);\n }\n\n async getReportUsers(tenantId: number): Promise {\n const response = await axios.get(`${BaseUrl}/tenants/${tenantId}/report-users`);\n return response.data;\n }\n\n async updateReport(customerReport: CustomerReport): Promise {\n return axios.put(`${BaseUrl}/tenants/report`, customerReport);\n }\n\n async updateCutConfig(customerCutConfig: CustomerCutConfig): Promise {\n return axios.put(`${BaseUrl}/tenants/cut-config`, customerCutConfig);\n }\n\n async getBillingInfo(excel: boolean, date: string): Promise {\n if (excel) {\n const response: any = await axios.get(`${BaseUrl}/tenants/control-list/${date}/excel`, {\n responseType: 'arraybuffer',\n });\n const url = window.URL.createObjectURL(\n new Blob([response.data], {\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n }),\n );\n downloadUrl(url, `ControlList.xlsx`);\n return response;\n } else {\n const response: any = await axios.get(`${BaseUrl}/tenants/control-list/${date}`);\n responseHandler.handleDates(response.data);\n return response.data;\n }\n }\n\n async getById(id: number | null): Promise {\n const response: any = await axios.get(`${BaseUrl}/tenants/${id}`);\n responseHandler.handleDates(response.data);\n return TenantsService.deserialize(response.data);\n }\n\n async getByIdDh(tenantIdDh: number | null): Promise {\n const response: any = await axios.get(`${BaseUrl}/tenants/dh/${tenantIdDh}`);\n responseHandler.handleDates(response.data);\n return TenantsService.deserialize(response.data);\n }\n\n async delete(id: number): Promise {\n const response: any = await axios.delete(`${BaseUrl}/tenants/${id}`);\n return response.data;\n }\n\n async update(tenant: TenantWithReportUsers): Promise {\n return axios.put(`${BaseUrl}/tenants/`, tenant).then(() => {\n if (this.isCurrentTenant(tenant)) {\n this.store.update(tenant);\n }\n });\n }\n\n async create(tenant: Tenant) {\n const response: any = await axios.post(`${BaseUrl}/tenants/`, tenant);\n return response.data;\n }\n\n async getUsers(id: number): Promise {\n const response = await axios.get(`${BaseUrl}/tenants/${id}/users`);\n return response.data.map((user) => usersService.deserializeUser(user));\n }\n\n async getBlobStorageSAS(tenantId: number) {\n const response: any = await axios.get(`${BaseUrl}/tenants/${tenantId}/blobstoragesas`);\n return response.data;\n }\n\n private isCurrentTenant(tenant: Tenant) {\n return this.store.current()?.id === tenant.id;\n }\n\n private static deserialize(tenant: Tenant) {\n return Tenant.GetCopy(tenant);\n }\n\n async getEServiceCenterData(): Promise {\n // /tenants/e-service-center\n const response = await axios.get(`${BaseUrl}/tenants/e-service-center`);\n return response.data;\n }\n}\n\nconst tenantsService = new TenantsService();\nexport { tenantsService, tenantsService as customersService };\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { Measurement } from '@/models/measurement';\nimport { mastersService } from '@/services/masters.service';\nimport { customersService } from '@/services/tenants.service';\nimport { Measurements } from '@/models/enums/Measurement';\n\nexport function weightUnit(): string {\n const measurement = getCustomerMeasurement();\n\n switch (measurement?.name) {\n case 'Metric':\n return 'kg';\n case 'Imperial':\n return 'lb';\n default:\n return '';\n }\n}\n\nexport function lengthUnit(): string {\n const measurement = getCustomerMeasurement();\n\n switch (measurement?.name) {\n case 'Metric':\n return 'mm';\n case 'Imperial':\n return 'in';\n default:\n return '';\n }\n}\n\nfunction getCustomerMeasurement(): Measurement | undefined {\n const customerMeasurementId = getCustomerMeasurementId();\n return getAvailableMeasurements()?.find(\n (measurement) => customerMeasurementId === measurement.id,\n );\n}\n\nfunction getAvailableMeasurements(): Measurement[] {\n return mastersService.store.getMeasurementUnits();\n}\n\nexport function getCustomerMeasurementId(): Measurements | null {\n return customersService.store.current()?.measurement ?? null;\n}\n\nconst KILOGRAMS_TO_POUNDS_CONVERSION_FACTOR = 2.20462262185;\n\n/**\n * Returns the value in kilograms converted to the unit defined by the\n * customer.\n */\nexport function kilogramsToCustomerUnit(valueKilograms: number): number {\n return weightUnit() === 'kg' ? valueKilograms : kilogramsToPounds(valueKilograms);\n}\n\n/** Returns the value in kilograms converted to pounds. */\nfunction kilogramsToPounds(valueKilograms: number) {\n return valueKilograms * KILOGRAMS_TO_POUNDS_CONVERSION_FACTOR;\n}\n\nexport function getUnitTransform(convertToLbs: boolean): (x: number) => number {\n return convertToLbs ? kilogramsToPounds : (x: number) => x;\n}\n\nconst MILLIMETERS_TO_INCHES_CONVERSION_FACTOR = 25.4;\n\n/** Returns the value in millimeters converted to inches. */\n// Public for use on unit tests\nexport function millimetersToInches(valueMillimeters: number) {\n return valueMillimeters / MILLIMETERS_TO_INCHES_CONVERSION_FACTOR;\n}\n\n/**\n * Returns the value in millimeters converted to the unit defined by the\n * customer.\n */\nexport function millimetersToCustomerUnit(valueMillimeters: number): number {\n return lengthUnit() === 'mm' ? valueMillimeters : millimetersToInches(valueMillimeters);\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFormModal.vue?vue&type=style&index=0&id=8f964ff4&prod&lang=scss&scoped=true\"","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!./WidgetHelp.vue?vue&type=style&index=1&id=5eb81103&prod&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HealthBar.vue?vue&type=style&index=0&id=0313bccc&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=style&index=0&id=8211f9cc&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewDeviceCardKpi.vue?vue&type=style&index=0&id=dd466542&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=style&index=0&id=511d975b&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerCutGasTypeConfig.vue?vue&type=style&index=0&id=f94d574e&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerShiftModels.vue?vue&type=style&index=0&id=f0459f26&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableActionsList.vue?vue&type=style&index=0&id=7deade06&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { isEmpty } from '@/utils/misc';\n\nexport function keys(enumeration: Record): string[] {\n return Object.keys(enumeration).filter((value) => !isNumeric(value));\n}\n\nexport function values(enumeration: Record): any[] {\n const objectKeys = Object.keys(enumeration).filter((value) => isNumeric(value));\n\n return isEmpty(objectKeys)\n ? (Object.values(enumeration) as string[])\n : objectKeys.map((value) => +value);\n}\n\nfunction isNumeric(value: string) {\n return !isNaN(+value);\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CareConsoleAlerts.vue?vue&type=style&index=0&id=629a3402&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModuleEventsIndicator.vue?vue&type=style&index=0&id=9e22fed8&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSelectorModal.vue?vue&type=style&index=1&id=2d4e7afe&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertFilters.vue?vue&type=style&index=0&id=7bb4033a&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport Vue from 'vue';\nimport VueI18n from 'vue-i18n';\n\nVue.use(VueI18n);\n\nconst languages = [\n 'en',\n 'es',\n 'de',\n 'cs',\n 'da',\n 'fi',\n 'fr',\n 'hu',\n 'it',\n 'ja',\n 'ko',\n 'nl',\n 'pl',\n 'pt-BR',\n 'ru',\n 'sv',\n 'tr',\n 'zh',\n 'zh-HANT',\n];\n\nexport const messages = Object.fromEntries(\n languages.map((language) => {\n const underscoreLang = language.replace('-', '_');\n const langMessages = require(`./locale/${underscoreLang}/${underscoreLang}.json`);\n return [\n language,\n {\n ...langMessages,\n ...require(`./locale/${underscoreLang}/timezones.${underscoreLang}.json`),\n ...require('./locale/currencies.json'),\n validation: {\n ...require(`vee-validate/dist/locale/${\n ['zh', 'zh-HANT'].includes(language) ? 'zh_CN' : underscoreLang\n }.json`).messages,\n ...(langMessages.validation ?? []),\n },\n },\n ];\n }),\n);\n\nconst navigatorLanguage = window.navigator.language || 'en';\nconst navigatorCode = navigatorLanguage.split('-');\n\nexport default new VueI18n({\n locale: (navigatorCode[0] || process.env.VUE_APP_I18N_LOCALE) ?? 'en',\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE ?? 'en',\n messages,\n});\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { isEmpty } from '@/utils/misc';\nimport { SubscribedUser } from './model';\nimport moment from 'moment';\n\nconst MAX_USER_NAME_LENGTH = 12;\n\nexport function formatUserNames(users: SubscribedUser[]): string {\n if (isEmpty(users)) {\n return '';\n }\n\n return truncateIfLong(users[0].name);\n}\n\nexport function truncateIfLong(name: string): string {\n if (name.length <= MAX_USER_NAME_LENGTH) {\n return name;\n }\n\n return name.slice(0, MAX_USER_NAME_LENGTH) + '…';\n}\n\nexport function defaultDateRange(): [Date, Date] {\n const oneWeekAgo = moment().subtract(1, 'week').toDate();\n return [oneWeekAgo, new Date()];\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShiftFormModal.vue?vue&type=style&index=0&id=7481fb9f&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerEmailReport.vue?vue&type=style&index=0&id=5c1838a0&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport axios from 'axios';\nimport { BaseUrl } from '@/models/constants';\nimport { Shift } from '@/models/shift';\nimport { Device } from '@/models/device';\nimport { devicesService } from '@/services/devices.service';\nimport { usePersistentStore } from '@/store/persistent';\n\nclass ShiftsService {\n store = new (class {\n get(): Shift[] {\n return usePersistentStore().shifts;\n }\n\n getById(id: number): Shift | undefined {\n return this.get().find((shift) => shift.id === id);\n }\n\n getNameById(shiftId: number) {\n const shift = this.getById(shiftId);\n return shift ? shift.name : '';\n }\n\n getMatchingIds(shifts: number[]): Shift[] {\n return this.get().filter((shift) => shifts.includes(shift.id));\n }\n\n getAllByDeviceIds(deviceIds: string[]) {\n const allDevices = devicesService.store.get();\n\n return this.get().filter((shift) =>\n shift.relatedDevices.some((deviceId) =>\n deviceIds.includes(Device.GetHubDeviceIdFromEntityDeviceId(deviceId, allDevices)!),\n ),\n );\n }\n\n getAllByShiftModelId(shiftModelId: number): Shift[] {\n return this.get().filter((shift) => shift.shiftModelId === shiftModelId);\n }\n\n async update(shift: Shift) {\n const index = this.get().findIndex((shiftItem) => shiftItem.id === shift.id);\n\n await this.setAll([...this.get().slice(0, index), shift, ...this.get().slice(index + 1)]);\n }\n\n async add(shift: Shift) {\n usePersistentStore().addShift(shift);\n }\n\n async setAll(shifts: Shift[]) {\n usePersistentStore().setShifts(shifts);\n }\n\n async delete(id: number) {\n usePersistentStore().deleteShift(id);\n }\n\n exists(shiftId: number): boolean {\n return this.get().some((shift) => shift.id === shiftId);\n }\n\n async clear() {\n usePersistentStore().setShifts([]);\n }\n })();\n\n async getByTenantId(tenantId: number | null): Promise {\n const response = await axios.get(`${BaseUrl}/shifts?tenantId=${tenantId}`);\n await this.store.setAll(response.data);\n return response.data;\n }\n\n async create(shift: Shift): Promise {\n await axios.post(`${BaseUrl}/shifts/`, shift);\n\n await this.store.add(shift);\n }\n\n update(shift: Shift): Promise {\n return axios.put(`${BaseUrl}/shifts`, shift);\n }\n\n async delete(id: number): Promise {\n await axios.delete(`${BaseUrl}/shifts/${id}`);\n\n if (this.store.exists(id)) {\n await this.store.delete(id);\n }\n }\n}\n\nexport const shiftsService = new ShiftsService();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EServiceCenterInbox.vue?vue&type=style&index=0&id=16ff0aa6&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n/* eslint-disable no-console */\n\nimport environment from '@/utils/environment';\n\nexport class Logger {\n public static error(message?: any, ...optionalParams: any[]) {\n if (!environment.isProductionEnvironment()) {\n console.error(message, ...optionalParams);\n }\n }\n\n public static warn(message?: any, ...optionalParams: any[]) {\n if (!environment.isProductionEnvironment()) {\n console.warn(message, ...optionalParams);\n }\n }\n\n public static info(message?: any, ...optionalParams: any[]) {\n if (!environment.isProductionEnvironment()) {\n console.info(message, ...optionalParams);\n }\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { isNil } from '@/utils/misc';\nimport moment from 'moment/moment';\nimport { Measurements } from '@/models/enums/Measurement';\n\nclass Tenant {\n constructor(\n public id: number,\n public name: string,\n public tenantIdDh: number,\n public email: string | null,\n public foreName: string | null,\n public lastName: string | null,\n public sapNumber: string | null, // required\n public currencyCode: string | null, // non-nullable in database\n public measurement: Measurements | null, // non-nullable in database\n public timeZone: string,\n public subsidiaryId: number | null, // non-nullable in database\n public startAt: Date | null,\n public endAt: Date | null,\n public bystronicOrderNumber: string | null,\n public bystronicOrderPerson: string | null,\n public customerOrderNumber: string | null,\n public customerOrderPerson: string | null,\n public subsidiary: string | null,\n public subsidiaryCode: number | null,\n public hasDatahub: boolean,\n public hasSmbs: boolean,\n public channel0Name: string,\n public channel1Name: string,\n public channel2Name: string,\n public channel3Name: string,\n public hasDailyReport: boolean,\n public hasWeeklyReport: boolean,\n public hasMonthlyReport: boolean,\n public hasQuarterlyReport: boolean,\n public hasAnnualReport: boolean,\n public maxDataPlatformVersion: string | null,\n ) {}\n\n static gasName(tenant: Tenant, channel: number | string | null) {\n switch (channel) {\n case 0:\n case 'channel0':\n return tenant.channel0Name;\n case 1:\n case 'channel1':\n return tenant.channel1Name;\n case 2:\n case 'channel2':\n return tenant.channel2Name;\n case 3:\n case 'channel3':\n return tenant.channel3Name;\n default:\n return i18n.t('report.unknown').toString();\n }\n }\n\n hasExpired(): boolean {\n return moment(this.endAt).isBefore();\n }\n\n get hasDataPlatform(): boolean {\n return !isNil(this.maxDataPlatformVersion);\n }\n\n static GetEmpty(): Tenant {\n return new Tenant(\n 0,\n '',\n 0,\n null,\n null,\n null,\n null,\n null,\n null,\n 'UTC',\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n false,\n false,\n 'channel 0',\n 'channel 1',\n 'channel 2',\n 'channel 3',\n false,\n false,\n false,\n false,\n false,\n null,\n );\n }\n\n static GetCopy(original: Tenant): Tenant {\n return new Tenant(\n original.id,\n original.name,\n original.tenantIdDh,\n original.email,\n original.foreName,\n original.lastName,\n original.sapNumber,\n original.currencyCode,\n original.measurement,\n original.timeZone,\n original.subsidiaryId,\n original.startAt,\n original.endAt,\n original.bystronicOrderNumber,\n original.bystronicOrderPerson,\n original.customerOrderNumber,\n original.customerOrderPerson,\n original.subsidiary,\n original.subsidiaryCode,\n original.hasDatahub,\n original.hasSmbs,\n original.channel0Name,\n original.channel1Name,\n original.channel2Name,\n original.channel3Name,\n original.hasDailyReport,\n original.hasWeeklyReport,\n original.hasMonthlyReport,\n original.hasQuarterlyReport,\n original.hasAnnualReport,\n original.maxDataPlatformVersion,\n );\n }\n}\n\nexport { Tenant, Tenant as Customer };\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalDataWizardStep.vue?vue&type=style&index=0&id=104ec89b&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('click-menu',{staticClass:\"event-module-filter\",attrs:{\"iconPack\":\"bys-icon\",\"icon\":\"wave\",\"ids\":_vm.modules,\"names\":_vm.modules,\"title\":_vm.$t('report.event_modules'),\"type\":\"multiple\",\"position\":_vm.position,\"value\":_vm.value},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { mastersService } from '@/services/masters.service';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { ClickMenu } from './menu';\n\n@Component({\n components: {\n ClickMenu,\n },\n})\nexport default class EventModuleFilter extends Vue {\n @Prop({ default: () => [] })\n private value!: string[];\n\n @Prop({ default: 'is-bottom-left' })\n private position!: string;\n\n private get modules(): string[] {\n return mastersService.store.getEventModules();\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventModuleFilter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventModuleFilter.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./EventModuleFilter.vue?vue&type=template&id=11fa2c66\"\nimport script from \"./EventModuleFilter.vue?vue&type=script&lang=ts\"\nexport * from \"./EventModuleFilter.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nexport enum Aggregate {\r\n Max = 'max',\r\n Min = 'min',\r\n Average = 'average',\r\n}\r\n\r\n/*\r\n Saving the array of strings in the widget definitions led\r\n to reactivity and memory issues, hence it is easier to simply\r\n encode the selection of the aggregates as a number with this\r\n bit of bitwise logic\r\n*/\r\nexport function arrayToNumber(aggregates: Aggregate[]): number {\r\n let serializedAggregates = 0;\r\n\r\n if (aggregates.indexOf(Aggregate.Max) !== -1) {\r\n serializedAggregates += 4;\r\n }\r\n if (aggregates.indexOf(Aggregate.Min) !== -1) {\r\n serializedAggregates += 2;\r\n }\r\n if (aggregates.indexOf(Aggregate.Average) !== -1) {\r\n serializedAggregates += 1;\r\n }\r\n\r\n return serializedAggregates;\r\n}\r\n\r\nexport function numberToArray(n: number | undefined) {\r\n const aggregates: Aggregate[] = [];\r\n\r\n /* eslint-disable no-bitwise */\r\n if (((n ?? 0) & 4) !== 0) {\r\n aggregates.push(Aggregate.Max);\r\n }\r\n if (((n ?? 0) & 2) !== 0) {\r\n aggregates.push(Aggregate.Min);\r\n }\r\n if (((n ?? 0) & 1) !== 0) {\r\n aggregates.push(Aggregate.Average);\r\n }\r\n\r\n /* eslint-enable no-bitwise */\r\n return aggregates;\r\n}\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceCard.vue?vue&type=style&index=0&id=44a3e5a8&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-dropdown',{staticClass:\"widget-help\",attrs:{\"position\":_vm.position},scopedSlots:_vm._u([{key:\"trigger\",fn:function({ active }){return [_c('b-button',{class:['toolbar-button', { open: active }],attrs:{\"icon-pack\":\"bys-icon\",\"icon-right\":\"information\",\"size\":\"is-small\"},on:{\"click\":function($event){return _setup.onDropdownTriggerClicked()}}})]}}])},[_c('div',{staticClass:\"text-holder\"},[_c('div',{staticClass:\"html-info\"},[_c('b-button',{attrs:{\"icon-pack\":\"bys-icon\",\"icon-right\":\"menu\",\"size\":\"is-small\"},on:{\"click\":function($event){return _setup.openCloseAll()}}}),_c(_setup.componentHelp[_vm.widget],{tag:\"component\",attrs:{\"data-testid\":\"simple-widget-help\"}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { defineAsyncComponent } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'WidgetHelp',\n props: {\n widget: null,\n position: { default: 'is-bottom-right' }\n },\n setup(__props: any) {\n\n\n\nfunction openCloseAll() {\n document.body\n .querySelectorAll('details')\n .forEach((e) =>\n e.hasAttribute('open') ? e.removeAttribute('open') : e.setAttribute('open', 'true'),\n );\n}\n\nfunction onDropdownTriggerClicked() {\n document.body\n .querySelectorAll('details')\n .forEach((e) => (e.hasAttribute('open') ? e.removeAttribute('open') : ''));\n}\n\nconst componentHelp: Record = {\n /* WCC */\n // Cut\n [WidgetEnum.LaserAvailability]: defineAsyncComponent(\n () => import('./widgetHelp/LaserAvailabilityHelp.vue'),\n ),\n [WidgetEnum.LaserAvailabilityHist]: defineAsyncComponent(\n () => import('./widgetHelp/LaserAvailabilityHistHelp.vue'),\n ),\n [WidgetEnum.LaserProductivity]: defineAsyncComponent(\n () => import('./widgetHelp/LaserProductivityHelp.vue'),\n ),\n [WidgetEnum.LaserProductivityHist]: defineAsyncComponent(\n () => import('./widgetHelp/LaserProductivityHistHelp.vue'),\n ),\n [WidgetEnum.LaserStarveBlock]: defineAsyncComponent(\n () => import('./widgetHelp/LaserStarveBlockHelp.vue'),\n ),\n [WidgetEnum.LaserOutputScrap]: defineAsyncComponent(\n () => import('./widgetHelp/LaserOutputScrapHelp.vue'),\n ),\n [WidgetEnum.LaserOee]: defineAsyncComponent(() => import('./widgetHelp/LaserOeeHelp.vue')),\n [WidgetEnum.LaserCuttingTime]: defineAsyncComponent(\n () => import('./widgetHelp/LaserCuttingTimeHelp.vue'),\n ),\n [WidgetEnum.LaserOeeHist]: defineAsyncComponent(\n () => import('./widgetHelp/LaserOeeHistHelp.vue'),\n ),\n [WidgetEnum.LaserCuttingTimeHist]: defineAsyncComponent(\n () => import('./widgetHelp/LaserCuttingTimeHistHelp.vue'),\n ),\n [WidgetEnum.LaserStarveBlockHist]: defineAsyncComponent(\n () => import('./widgetHelp/LaserStarveBlockHistHelp.vue'),\n ),\n [WidgetEnum.LaserOutputAndScrapTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/LaserOutputAndScrapTimelineHelp.vue'),\n ),\n [WidgetEnum.CutStatus]: defineAsyncComponent(() => import('./widgetHelp/CutStatusHelp.vue')),\n [WidgetEnum.LaserIntradayAvailabilityTable]: defineAsyncComponent(\n () => import('./widgetHelp/LaserStatesGanttTableHelp.vue'),\n ),\n [WidgetEnum.LaserCurrentWorkload]: defineAsyncComponent(\n () => import('./widgetHelp/LaserCurrentWorkloadHelp.vue'),\n ),\n\n // Care\n [WidgetEnum.CareOverviewHealthIndicators]: defineAsyncComponent(\n () => import('./widgetHelp/CareOverviewHealthIndicatorsHelp.vue'),\n ),\n [WidgetEnum.CareOverviewModuleEventsIndicators]: defineAsyncComponent(\n () => import('./widgetHelp/CareOverviewModuleEventsIndicatorsHelp.vue'),\n ),\n [WidgetEnum.CareHealthTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/CareHealthTimelineHelp.vue'),\n ),\n [WidgetEnum.CareHealthIndicators]: defineAsyncComponent(\n () => import('./widgetHelp/CareHealthIndicatorsHelp.vue'),\n ),\n [WidgetEnum.CareLaserConsumptionTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/CareLaserConsumptionTimelineHelp.vue'),\n ),\n [WidgetEnum.CareLaserConsumptionPowerUtilizationTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/CareLaserConsumptionPowerUtilizationTimelineHelp.vue'),\n ),\n [WidgetEnum.CareLaserConsumptionAvailableVsUsedTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/CareLaserConsumptionAvailableVsUsedTimelineHelp.vue'),\n ),\n [WidgetEnum.CareEventsTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/CareEventsTimelineHelp.vue'),\n ),\n [WidgetEnum.CareCuttingHeadDiodesAndDrawerCyclesTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/CareCuttingHeadDiodesAndDrawerCyclesTimelineHelp.vue'),\n ),\n [WidgetEnum.CareCuttingHeadEventsTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/CareCuttingHeadEventsTimelineHelp.vue'),\n ),\n [WidgetEnum.CareEventsByModule]: defineAsyncComponent(\n () => import('./widgetHelp/CareEventsByModuleHelp.vue'),\n ),\n [WidgetEnum.CareAlertOccurrencesTable]: defineAsyncComponent(\n () => import('./widgetHelp/CareAlertOccurrencesTableHelp.vue'),\n ),\n [WidgetEnum.CareCuttingHeadTemperatures]: defineAsyncComponent(\n () => import('./widgetHelp/CareCuttingHeadTemperaturesHelp.vue'),\n ),\n [WidgetEnum.EventsTableExpandedView]: defineAsyncComponent(\n () => import('./widgetHelp/EventsTableExpandedViewHelp.vue'),\n ),\n\n // Technology\n [WidgetEnum.TechnologyOverviewCuttingHoursTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyOverviewCuttingHoursTimelineHelp.vue'),\n ),\n [WidgetEnum.TechnologyOverviewLaserConsumptionTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyOverviewLaserConsumptionTimelineHelp.vue'),\n ),\n [WidgetEnum.TechnologyOverviewSscFigures]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyOverviewSscFiguresHelp.vue'),\n ),\n [WidgetEnum.TechnologyTemperatures]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyTemperaturesHelp.vue'),\n ),\n [WidgetEnum.TechnologyDriveCurrentTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyDriveCurrentTimelineHelp.vue'),\n ),\n [WidgetEnum.TechnologyDriveCurrentDifferenceHistogram]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyDriveCurrentDifferenceHistogramHelp.vue'),\n ),\n [WidgetEnum.TechnologyDriveAccumulatedCurrentDifferenceTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyDriveAccumulatedCurrentDifferenceTimelineHelp.vue'),\n ),\n [WidgetEnum.TechnologyDrawerInformationTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyDrawerInformationTimelineHelp.vue'),\n ),\n [WidgetEnum.TechnologyDrawerCycleTimes]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyDrawerCycleTimesHelp.vue'),\n ),\n [WidgetEnum.TechnologyOverviewDrawerCycleTimes]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyDrawerCycleTimesHelp.vue'), // Both use the same help widget\n ),\n [WidgetEnum.TechnologyLaserConsumptionTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyLaserConsumptionTimelineHelp.vue'),\n ),\n [WidgetEnum.TechnologyLaserUsedVsNotUsedTimes]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyLaserUsedVsNotUsedTimesHelp.vue'),\n ),\n [WidgetEnum.TechnologyLaserPowerUtilizationTimes]: defineAsyncComponent(\n () => import('./widgetHelp/TechnologyLaserPowerUtilizationTimesHelp.vue'),\n ),\n\n // Bend\n [WidgetEnum.BendingAvailability]: defineAsyncComponent(\n () => import('./widgetHelp/BendingAvailabilityHelp.vue'),\n ),\n [WidgetEnum.BendingTimeBetweenBend]: defineAsyncComponent(\n () => import('./widgetHelp/BendingTimeBetweenBendHelp.vue'),\n ),\n [WidgetEnum.BendingTopParts]: defineAsyncComponent(\n () => import('./widgetHelp/BendingTopPartsHelp.vue'),\n ),\n [WidgetEnum.BendingPerformancePart]: defineAsyncComponent(\n () => import('./widgetHelp/BendingPerformancePartHelp.vue'),\n ),\n [WidgetEnum.BendingAvailabilityHist]: defineAsyncComponent(\n () => import('./widgetHelp/BendingAvailabilityHistHelp.vue'),\n ),\n [WidgetEnum.BendingTimeBetweenBendHist]: defineAsyncComponent(\n () => import('./widgetHelp/BendingTimeBetweenBendHistHelp.vue'),\n ),\n [WidgetEnum.BendingPerformancePartHist]: defineAsyncComponent(\n () => import('./widgetHelp/BendingPerformancePartHistHelp.vue'),\n ),\n [WidgetEnum.BendingPerformanceHist]: defineAsyncComponent(\n () => import('./widgetHelp/BendingPerformanceHistHelp.vue'),\n ),\n [WidgetEnum.BendingPerformance]: defineAsyncComponent(\n () => import('./widgetHelp/BendingPerformanceHelp.vue'),\n ),\n [WidgetEnum.BendStatus]: defineAsyncComponent(() => import('./widgetHelp/BendStatusHelp.vue')),\n [WidgetEnum.BendingNumberOfBendsTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/BendingNumberOfBendsTimelineHelp.vue'),\n ),\n [WidgetEnum.BendIntradayAvailabilityTable]: defineAsyncComponent(\n () => import('./widgetHelp/BendStatesGanttTableHelp.vue'),\n ),\n\n // Tube\n [WidgetEnum.TubeAvailability]: defineAsyncComponent(\n () => import('./widgetHelp/TubeAvailabilityHelp.vue'),\n ),\n [WidgetEnum.TubeAvailabilityHist]: defineAsyncComponent(\n () => import('./widgetHelp/LaserAvailabilityHistHelp.vue'), // Both use the same help widget\n ),\n [WidgetEnum.TubeStarveBlock]: defineAsyncComponent(\n () => import('./widgetHelp/TubeStarveBlockHelp.vue'),\n ),\n [WidgetEnum.TubeOutputScrap]: defineAsyncComponent(\n () => import('./widgetHelp/TubeOutputScrapHelp.vue'),\n ),\n [WidgetEnum.TubeOee]: defineAsyncComponent(() => import('./widgetHelp/TubeOeeHelp.vue')),\n [WidgetEnum.TubeCuttingTime]: defineAsyncComponent(\n () => import('./widgetHelp/TubeCuttingTimeHelp.vue'),\n ),\n [WidgetEnum.TubeOeeHist]: defineAsyncComponent(() => import('./widgetHelp/TubeOeeHistHelp.vue')),\n [WidgetEnum.TubeCuttingTimeHist]: defineAsyncComponent(\n () => import('./widgetHelp/TubeCuttingTimeHistHelp.vue'),\n ),\n [WidgetEnum.TubeStarveBlockHist]: defineAsyncComponent(\n () => import('./widgetHelp/TubeStarveBlockHistHelp.vue'),\n ),\n [WidgetEnum.TubeOutputScrapHist]: defineAsyncComponent(\n () => import('./widgetHelp/TubeOutputScrapHistHelp.vue'),\n ),\n [WidgetEnum.TubeStatus]: defineAsyncComponent(() => import('./widgetHelp/TubeStatusHelp.vue')),\n [WidgetEnum.TubeProductivity]: defineAsyncComponent(\n () => import('./widgetHelp/LaserProductivityHelp.vue'), // Both use the same help widget\n ),\n [WidgetEnum.TubeProductivityHist]: defineAsyncComponent(\n () => import('./widgetHelp/LaserProductivityHistHelp.vue'), // Both use the same help widget\n ),\n [WidgetEnum.TubeIntradayAvailabilityTable]: defineAsyncComponent(\n () => import('./widgetHelp/LaserStatesGanttTableHelp.vue'), // Both use the same help widget\n ),\n\n // Generic\n [WidgetEnum.CameraView]: defineAsyncComponent(() => import('./widgetHelp/CameraViewHelp.vue')),\n [WidgetEnum.FactoryOverview]: defineAsyncComponent(\n () => import('./widgetHelp/FactoryOverviewHelp.vue'),\n ),\n\n /* BC */\n // Overview\n [WidgetEnum.SalesMap]: defineAsyncComponent(() => import('./widgetHelp/SalesMapHelp.vue')),\n [WidgetEnum.QuotesMap]: defineAsyncComponent(() => import('./widgetHelp/QuotesMapHelp.vue')),\n [WidgetEnum.OpenSalesFunnel]: defineAsyncComponent(\n () => import('./widgetHelp/OpenSalesFunnelHelp.vue'),\n ),\n [WidgetEnum.BusinessOverviewFigures]: defineAsyncComponent(\n () => import('./widgetHelp/BusinessOverviewFiguresHelp.vue'),\n ),\n\n // Quotes\n [WidgetEnum.QuotesConversionRates]: defineAsyncComponent(\n () => import('./widgetHelp/QuotesConversionRatesHelp.vue'),\n ),\n [WidgetEnum.QuotesConversionRatesGauge]: defineAsyncComponent(\n () => import('./widgetHelp/QuotesConversionRatesGaugeHelp.vue'),\n ),\n [WidgetEnum.QuotesAbcCustomers]: defineAsyncComponent(\n () => import('./widgetHelp/QuotesAbcCustomersHelp.vue'),\n ),\n [WidgetEnum.QuotesFigures]: defineAsyncComponent(\n () => import('./widgetHelp/QuotesFiguresHelp.vue'),\n ),\n [WidgetEnum.QuotesFiguresDetailed]: defineAsyncComponent(\n () => import('./widgetHelp/QuotesFiguresDetailedHelp.vue'),\n ),\n [WidgetEnum.QuotesCustomerEvolution]: defineAsyncComponent(\n () => import('./widgetHelp/QuotesCustomerEvolutionHelp.vue'),\n ),\n [WidgetEnum.QuotesTopQuotedMaterialsTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/QuotesTopQuotedMaterialsTimelineHelp.vue'),\n ),\n [WidgetEnum.QuotesQuotedMaterialsList]: defineAsyncComponent(\n () => import('./widgetHelp/QuotesQuotedMaterialsListHelp.vue'),\n ),\n [WidgetEnum.QuotesConvertedAmountTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/QuotesConvertedAmountTimelineHelp.vue'),\n ),\n [WidgetEnum.QuotesSize]: defineAsyncComponent(() => import('./widgetHelp/QuotesSizeHelp.vue')),\n [WidgetEnum.QuotesConvertedMap]: defineAsyncComponent(\n () => import('./widgetHelp/QuotesConvertedMapHelp.vue'),\n ),\n [WidgetEnum.QuotesTopSalespeopleDetailed]: defineAsyncComponent(\n () => import('./widgetHelp/QuotesTopSalespeopleDetailedHelp.vue'),\n ),\n\n // Sales\n [WidgetEnum.SalesFunnel]: defineAsyncComponent(() => import('./widgetHelp/SalesFunnelHelp.vue')),\n [WidgetEnum.SalesCustomerGroups]: defineAsyncComponent(\n () => import('./widgetHelp/SalesCustomerGroupsHelp.vue'),\n ),\n [WidgetEnum.SalesFigures]: defineAsyncComponent(\n () => import('./widgetHelp/SalesFiguresHelp.vue'),\n ),\n [WidgetEnum.SalesTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/SalesTimelineHelp.vue'),\n ),\n [WidgetEnum.SalesTopSalespeople]: defineAsyncComponent(\n () => import('./widgetHelp/SalesTopSalespeopleHelp.vue'),\n ),\n [WidgetEnum.AmountVsNumberOfQuotesBySalesperson]: defineAsyncComponent(\n () => import('./widgetHelp/SalesAmountVsNumberOfQuotesBySalespersonHelp.vue'),\n ),\n [WidgetEnum.SalesAmountBySalesperson]: defineAsyncComponent(\n () => import('./widgetHelp/SalesAmountBySalespersonHelp.vue'),\n ),\n [WidgetEnum.SalesItemChangesBySalesperson]: defineAsyncComponent(\n () => import('./widgetHelp/SalesItemChangesBySalespersonHelp.vue'),\n ),\n [WidgetEnum.NumberOfSalesBySalesperson]: defineAsyncComponent(\n () => import('./widgetHelp/NumberOfSalesBySalespersonHelp.vue'),\n ),\n [WidgetEnum.SalesPerSalespersonTimeline]: defineAsyncComponent(\n () => import('./widgetHelp/SalesPerSalespersonTimelineHelp.vue'),\n ),\n [WidgetEnum.SalesUnpaidDistribution]: defineAsyncComponent(\n () => import('./widgetHelp/SalesUnpaidDistributionHelp.vue'),\n ),\n\n /* SFC */\n // Manufacturing\n [WidgetEnum.ManufacturingReleasedPOStatus]: defineAsyncComponent(\n () => import('./widgetHelp/ManufacturingReleasedPOStatusHelp.vue'),\n ),\n [WidgetEnum.ManufacturingPOStatus]: defineAsyncComponent(\n () => import('./widgetHelp/ManufacturingPOStatusHelp.vue'),\n ),\n [WidgetEnum.ManufacturingPOLStatusDueDate]: defineAsyncComponent(\n () => import('./widgetHelp/ManufacturingPOLStatusDueDateHelp.vue'),\n ),\n [WidgetEnum.ManufacturingPOFinishedDueDate]: defineAsyncComponent(\n () => import('./widgetHelp/ManufacturingPOFinishedDueDateHelp.vue'),\n ),\n [WidgetEnum.ManufacturingFinishedPOEstimatedVsActualPOL]: defineAsyncComponent(\n () => import('./widgetHelp/ManufacturingFinishedPOEstimatedVsActualPOLHelp.vue'),\n ),\n [WidgetEnum.ManufacturingFigures]: defineAsyncComponent(\n () => import('./widgetHelp/ManufacturingFiguresHelp.vue'),\n ),\n /**\n * The following widgets do not have a corresponding widget help.\n * Still, the compiler requires us to add all WidgetEnums to this record, so all of them are set to undefined\n */\n [WidgetEnum.CareOverviewDevice]: undefined,\n [WidgetEnum.EventsTable]: undefined,\n [WidgetEnum.CareErrorsAndWarningsBarChart]: undefined,\n [WidgetEnum.BendSheetPartsGanttTable]: undefined,\n [WidgetEnum.BendProductivityFigures]: undefined,\n [WidgetEnum.BendShiftStatistics]: undefined,\n [WidgetEnum.BendRankingOfParts]: undefined,\n [WidgetEnum.BendFlowSpeedStatesGanttTable]: undefined,\n [WidgetEnum.BendStatusOverview]: undefined,\n [WidgetEnum.OverviewData]: undefined,\n [WidgetEnum.QuotesSizeFilter]: undefined,\n [WidgetEnum.Dummy]: undefined,\n [WidgetEnum.NumberOfBendsWidget]: undefined,\n [WidgetEnum.PeakHourlyBendingWidget]: undefined,\n [WidgetEnum.BendToolChangesWidget]: undefined,\n [WidgetEnum.BendProductionOutputWidget]: undefined,\n};\n\nreturn { __sfc: true,openCloseAll, onDropdownTriggerClicked, componentHelp }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetHelp.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetHelp.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./WidgetHelp.vue?vue&type=template&id=5eb81103&scoped=true\"\nimport script from \"./WidgetHelp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WidgetHelp.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./WidgetHelp.vue?vue&type=style&index=0&id=5eb81103&prod&lang=scss&scoped=true\"\nimport style1 from \"./WidgetHelp.vue?vue&type=style&index=1&id=5eb81103&prod&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 \"5eb81103\",\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nexport enum DeviceStatusEnum {\r\n None = 0,\r\n Healthy = 1,\r\n Unhealthy = 2,\r\n}\r\n","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nimport { DeviceStatusEnum } from './enums/DeviceStatusEnum';\r\n\r\nexport class DeviceStatus {\r\n static GetEmpty(): DeviceStatus {\r\n return new DeviceStatus('0', DeviceStatusEnum.None, '', '', undefined);\r\n }\r\n constructor(\r\n public deviceId: string,\r\n public status: DeviceStatusEnum,\r\n public lastSeenAgoText: string,\r\n public statusText: string,\r\n public lastSeen?: Date,\r\n ) {}\r\n}\r\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { DeviceStatus } from './deviceStatus';\nimport { MachineType } from './enums/MachineType';\nimport { DeviceStatusEnum } from '@/models/enums/DeviceStatusEnum';\n\nexport class Device {\n constructor(\n public id: number,\n public deviceId: string,\n public name: string,\n public tenantId: number,\n public tenantName: string,\n public deviceBaseModelId: string,\n public deviceBaseModelName: string,\n public ip: string,\n public equipmentId: string,\n public hasWCC: boolean,\n public locationId: number,\n public hasCare: boolean,\n public hasTechnology: boolean,\n public billable = true,\n public cameraIp?: string,\n public sscIp?: string,\n public startDate?: Date,\n public endDate?: Date | null,\n public technologyStartDate?: Date,\n public technologyEndDate?: Date | null,\n public careStartDate?: Date,\n public careEndDate?: Date | null,\n public status?: DeviceStatus,\n public shiftModelId?: number | null,\n ) {\n this.fixInconsistencies();\n }\n\n static GetEmpty(): Device {\n return new Device(0, '', '', 0, '', '', '', '', '', false, 0, false, false, true, '', '');\n }\n\n static GetCopy(original: Device): Device {\n return new Device(\n original.id,\n original.deviceId,\n original.name,\n original.tenantId,\n original.tenantName,\n original.deviceBaseModelId,\n original.deviceBaseModelName,\n original.ip,\n original.equipmentId,\n original.hasWCC,\n original.locationId,\n original.hasCare,\n original.hasTechnology,\n original.billable,\n original.cameraIp,\n original.sscIp,\n original.startDate,\n original.endDate,\n original.technologyStartDate,\n original.technologyEndDate,\n original.careStartDate,\n original.careEndDate,\n original.status,\n original.shiftModelId,\n );\n }\n\n static GetMachineType(device: Device): MachineType {\n return this.GetMachineTypeById(device.deviceId);\n }\n\n static GetMachineTypeById(deviceId: string) {\n switch (deviceId.substring(0, 2)) {\n case 'L-':\n return MachineType.Cut;\n case 'B-':\n return MachineType.Bend;\n case 'F-':\n return MachineType.FactoryOverview;\n case 'T-':\n return MachineType.Tube;\n default:\n return MachineType.Undefined;\n }\n }\n\n static GetHubDeviceIdFromEntityDeviceId(id: number, allDevices: Device[]) {\n return allDevices.find((d) => d.id === id)?.deviceId;\n }\n\n private fixInconsistencies() {\n if (!this.hasWCC) {\n this.cameraIp = undefined;\n this.startDate = undefined;\n this.endDate = undefined;\n }\n\n if (!this.hasTechnology) {\n this.technologyStartDate = undefined;\n this.technologyEndDate = undefined;\n }\n\n if (!this.hasCare) {\n this.careStartDate = undefined;\n this.careEndDate = undefined;\n }\n }\n\n getType(): MachineType {\n return Device.GetMachineTypeById(this.deviceId);\n }\n\n isCut(): boolean {\n return this.getType() === MachineType.Cut;\n }\n\n isBend(): boolean {\n return this.getType() === MachineType.Bend;\n }\n\n isTube(): boolean {\n return this.getType() === MachineType.Tube;\n }\n\n setStatusToNotAvailable() {\n this.status = new DeviceStatus(this.deviceId, DeviceStatusEnum.None, 'n/a', 'n/a');\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableActionButton.vue?vue&type=style&index=0&id=b975b8d6&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport axios from 'axios';\nimport { BaseUrl } from '@/models/constants';\nimport { Measurement } from '@/models/measurement';\nimport { CurrencyCode } from '@/models/currencyCode';\nimport { TimeZone } from '@/models/timeZone';\nimport { usePersistentStore } from '@/store/persistent';\n\nclass MastersService {\n store = new (class {\n getCurrencyCodes(): CurrencyCode[] {\n return usePersistentStore().currencyCodes;\n }\n\n updateCurrencyCodes(currencyCodes: CurrencyCode[]) {\n usePersistentStore().setCurrencyCodes(currencyCodes);\n }\n\n getMeasurementUnits(): Measurement[] {\n return usePersistentStore().measurements;\n }\n\n updateMeasurementUnits(measurementUnits: Measurement[]) {\n usePersistentStore().setMeasurements(measurementUnits);\n }\n\n getTimezones(): TimeZone[] {\n return usePersistentStore().timezones;\n }\n\n updateTimezones(timezones: TimeZone[]) {\n usePersistentStore().setTimezones(timezones);\n }\n\n getEventModules(): string[] {\n return usePersistentStore().eventModules;\n }\n\n updateEventModules(eventModules: string[]) {\n usePersistentStore().setEventModules(eventModules);\n }\n\n getEventCodes(): string[] {\n return usePersistentStore().eventCodes;\n }\n\n updateEventCodes(eventCodes: string[]) {\n usePersistentStore().setEventCodes(eventCodes);\n }\n })();\n\n async getCurrencyCodes(): Promise {\n const currencyCodes = await axios\n .get(`${BaseUrl}/masters/currency-codes`)\n .then((response) => response.data);\n this.store.updateCurrencyCodes(currencyCodes);\n return currencyCodes;\n }\n\n async getMeasurementUnits(): Promise {\n const measurementUnits = await axios\n .get(`${BaseUrl}/masters/measurement-units`)\n .then((response) => response.data);\n this.store.updateMeasurementUnits(measurementUnits);\n return measurementUnits;\n }\n\n async getTimezones(): Promise {\n const timezones = await axios\n .get(`${BaseUrl}/masters/timezones`)\n .then((response) => response.data);\n this.store.updateTimezones(timezones);\n return timezones;\n }\n\n async getEventSources(): Promise {\n return axios\n .get(`${BaseUrl}/masters/event-sources`)\n .then((response) => response.data);\n }\n\n async getEventModules(): Promise {\n const eventModules = await axios\n .get(`${BaseUrl}/masters/event-modules`)\n .then((response) => response.data.slice().sort((a, b) => a.localeCompare(b)));\n this.store.updateEventModules(eventModules);\n return eventModules;\n }\n\n async getEventCodes(): Promise {\n const eventCodes = await axios\n .get(`${BaseUrl}/masters/event-codes`)\n .then((response) => response.data);\n this.store.updateEventCodes(eventCodes);\n return eventCodes;\n }\n}\n\nexport const mastersService = new MastersService();\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-modal',{ref:\"modal\",attrs:{\"programmatic\":\"\",\"width\":_vm.width,\"has-modal-card\":_vm.hasModalCard,\"can-cancel\":_vm.canCancel,\"on-cancel\":_vm.onCancel,\"trap-focus\":_vm.trapFocus,\"custom-class\":_vm.customClass,\"destroy-on-hide\":_vm.destroyOnHide},on:{\"close\":function($event){return _vm.$emit('close', $event)}}},[_c(_vm.component,_vm._g(_vm._b({tag:\"component\",on:{\"close\":_vm.onClose}},'component',_vm.props,false),_vm.listeners))],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { BModalComponent } from 'buefy/types/components';\nimport { ComponentPublicInstance, defineComponent, PropType } from 'vue';\n\n/**\n * This wrapper component allows us to open modals from components written in Composition API.\n * The issue is that opening a Buefy modal programmatically requires us to specify a parent\n * element, which usually is set to \"this\". But \"this\" does not exist in Composition API.\n *\n * The ModalWrapper, along with the implementation of the modalService.compositionApi.open helper\n * function, fools the Buefy modal into thinking it's been opened using the old way. It basically\n * works as a reimplementation of Buefy's BModal component, by being basically a proxy between the\n * component with the modal's content and BModal itself.\n */\nexport default defineComponent({\n props: {\n component: {\n type: [Function, Object] as PropType,\n required: true,\n },\n props: {\n type: Object as PropType,\n },\n events: {\n type: Object as PropType,\n },\n width: {\n type: Number,\n },\n hasModalCard: {\n type: Boolean,\n default: true,\n },\n canCancel: {\n type: [Array, Boolean] as PropType,\n },\n onCancel: {\n type: Function as PropType<() => void>,\n },\n trapFocus: {\n type: Boolean,\n default: true,\n },\n customClass: {\n type: String,\n },\n destroyOnHide: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n /**\n * Returns all event listeners except for \"close\", which is proxied through BModal.\n * This is required because BModal automatically handles its unmounting and the animation.\n */\n listeners(): object {\n return Object.fromEntries(\n Object.entries(this.events).filter(([eventName, _]) => eventName !== 'close'),\n );\n },\n },\n methods: {\n onClose() {\n const ref = this.$refs.modal! as ComponentPublicInstance;\n ref.close();\n },\n },\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalWrapper.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalWrapper.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ModalWrapper.vue?vue&type=template&id=0c82e9c0\"\nimport script from \"./ModalWrapper.vue?vue&type=script&lang=ts\"\nexport * from \"./ModalWrapper.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ModalProgrammatic } from 'buefy';\nimport { BModalComponent, BModalConfig } from 'buefy/types/components';\nimport Vue, { DefineComponent } from 'vue';\nimport ModalWrapper from '@/components/ModalWrapper.vue';\n\ntype CompositionApiModalConfig = Omit & {\n // I know how this looks but the amount of `any`s is really not random\n component: typeof Vue | DefineComponent;\n};\n\nclass ModalService {\n /**\n * Helper function that opens a Buefy modal from a regular, class-based component.\n * How the modal component is written is irrelevant.\n * @param params\n * @returns the modal instance\n */\n open(params: BModalConfig): BModalComponent {\n return ModalProgrammatic.open({\n hasModalCard: true,\n trapFocus: true,\n ...params,\n });\n }\n\n /**\n * Singleton class containing helper functions to handle modals in components written in\n * Composition API\n */\n compositionApi = new (class {\n /**\n * Helper function that opens a Buefy modal from a component written in Composition API.\n * How the modal component is written is irrelevant.\n * @param params\n * @param app The Vue app instance, as returned by the getCurrentInstance() function\n */\n open(params: CompositionApiModalConfig, app: { proxy: Vue } | null): void {\n const div = document.createElement('div');\n document.body.appendChild(div);\n const modalApp = new Vue({\n render(h) {\n return h(ModalWrapper, {\n props: {\n component: params.component,\n customClass: params.customClass,\n hasModalCard: params.hasModalCard ?? true,\n trapFocus: params.trapFocus ?? true,\n canCancel: params.canCancel,\n props: params.props,\n events: {\n ...params.events,\n close() {\n modalApp.$destroy();\n params.events?.close();\n params.onCancel?.();\n },\n },\n },\n });\n },\n provide: {\n spinner: Vue.prototype.$spinner,\n auth: Vue.prototype.$auth,\n signalr: Vue.prototype.$signalr,\n },\n });\n // Opening the new instance requires some context copying. I'm afraid we will what needs to\n // be copied when we run into issues.\n // For the time being, if _i18n is not manually copied, localization does not work in modal\n // components.\n (modalApp as any)._i18n = (app!.proxy as any)._i18n;\n modalApp.$mount(div);\n }\n })();\n}\n\nexport const modalService = new ModalService();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardsCarousel.vue?vue&type=style&index=1&id=75eb9a42&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport {\n widgets,\n Widget,\n WidgetEnum,\n ModalConfiguration,\n Params,\n ParamValue,\n} from '@/models/enums/WidgetEnum';\nimport moment from 'moment';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { WidgetType } from '../enums/WidgetType';\nimport { CompositeWidgetDefinition } from '@/models/Charts/compositeWidgetDefinition';\nimport { isNil } from '@/utils/misc';\n\nexport interface CopyParams {\n widget?: WidgetEnum;\n deviceId?: string | string[];\n timeFilter?: FilterTimeSpanEnum | [string, string];\n shifts?: number[];\n target?: number[];\n axisSpan?: FilterTimeAxisSpanEnum;\n aggregates?: number;\n paramValues?: ParamValues;\n index?: number;\n}\n\nexport interface ParamValues {\n [key: string]: ParamValue | null | undefined;\n}\n\nexport interface PersistableWidgetDefinition {\n widget: WidgetEnum;\n deviceId: string | string[];\n timeFilter?: FilterTimeSpanEnum | [string, string];\n shifts: number[];\n target: number[] | undefined;\n axisSpan: FilterTimeAxisSpanEnum | undefined;\n aggregates: number | undefined;\n paramValues?: ParamValues;\n index?: number;\n}\n\nexport interface AbstractWidgetDefinition {\n isComposite: () => this is CompositeWidgetDefinition;\n withIndex: (index: number) => ThisType;\n}\n\nexport default class WidgetDefinition implements AbstractWidgetDefinition {\n private widgetInstance: Widget;\n private newTimeFilter?: FilterTimeSpanEnum | [string, string];\n\n showTitle = true;\n showInfo = true;\n\n constructor(\n public widget: WidgetEnum,\n public deviceId: string | string[],\n private initialTimeFilter: FilterTimeSpanEnum | [string, string] = FilterTimeSpanEnum.None,\n public shifts: number[] = [],\n public target?: number[] | undefined,\n public axisSpan?: FilterTimeAxisSpanEnum | undefined,\n public aggregates?: number | undefined,\n public paramValues: ParamValues = {},\n public index?: number,\n public beta?: boolean,\n ) {\n this.widgetInstance = widgets[widget];\n if (this.hasDatepicker && !Array.isArray(this.timeFilter)) {\n this.initialTimeFilter = this.widgetInstance.defaultDatepickerInterval;\n } else if (this.initialTimeFilter === FilterTimeSpanEnum.None) {\n if (this.hasDatepicker) {\n this.initialTimeFilter = [\n moment().subtract(6, 'days').format('YYYY-MM-DD'),\n moment().format('YYYY-MM-DD'),\n ];\n } else if (this.hasTimeMenu) {\n this.initialTimeFilter = FilterTimeSpanEnum.Day;\n }\n }\n if (this.hasAxisSpanFilter && !this.axisSpan) {\n this.axisSpan = FilterTimeAxisSpanEnum.Day;\n }\n }\n\n get timeFilter(): FilterTimeSpanEnum | [string, string] {\n return this.newTimeFilter ?? this.initialTimeFilter;\n }\n\n // Returns timeFilter value if it's a FilterTimeSpanEnum, undefined otherwise.\n get timeFilterEnumValue(): FilterTimeSpanEnum | undefined {\n return Array.isArray(this.timeFilter) ? undefined : this.timeFilter;\n }\n\n get params(): Params {\n return this.widgetInstance.params;\n }\n\n get quickSearchFunction(): (() => Promise>) | undefined {\n if (!isNil(this.widgetInstance.quickSearchMethod)) {\n return async () => await this.widgetInstance.quickSearchMethod!(this);\n } else {\n return undefined;\n }\n }\n\n get deviceIds(): string[] {\n if (!this.deviceId) {\n return [];\n }\n\n if (Array.isArray(this.deviceId)) {\n return this.deviceId;\n }\n\n return [this.deviceId];\n }\n\n withParams(params: Params): this {\n this.widgetInstance.withParams(params);\n return this;\n }\n\n withIndex(index: number) {\n this.index = index;\n return this;\n }\n\n isBeta(value = true) {\n this.beta = value;\n return this;\n }\n\n updateParamValue(name: string, value: any): WidgetDefinition {\n return this.getCopy({\n paramValues: {\n ...this.paramValues,\n [name]: value,\n },\n });\n }\n\n hideTitle(): this {\n this.showTitle = false;\n return this;\n }\n\n hideInfo(): this {\n this.showInfo = false;\n return this;\n }\n\n initializeParamValues(definition: CompatibleWidgetDefinition) {\n const paramValues: ParamValues = {};\n for (const [paramName, paramConfig] of Object.entries(this.params)) {\n if (!isNil(definition.paramValues?.[paramName])) {\n paramValues[paramName] = definition.paramValues![paramName];\n } else {\n const retrocompatibilityMap = paramConfig.retrocompatibilityMap ?? (() => undefined);\n paramValues[paramName] = retrocompatibilityMap(definition);\n }\n }\n this.paramValues = paramValues;\n }\n\n canExpand(): boolean {\n return this.widgetInstance.isExpandableFn(this);\n }\n\n getModalConfiguration(): ModalConfiguration | undefined {\n return this.widgetInstance.modalConfiguration;\n }\n\n getDblClickModalConfiguration(): ModalConfiguration | undefined {\n return this.widgetInstance.dblClickModalConfiguration;\n }\n\n getQuickSearchModalConfiguration(): ModalConfiguration | undefined {\n return this.widgetInstance.quickSearchModalConfiguration;\n }\n\n canExpandOnDblClick() {\n return !!this.widgetInstance.dblClickModalConfiguration;\n }\n\n canExpandOnQuickSearch() {\n return (\n !!this.widgetInstance.quickSearchModalConfiguration && !!this.widgetInstance.quickSearchMethod\n );\n }\n\n serialize(): PersistableWidgetDefinition {\n const {\n widget,\n deviceId,\n timeFilter,\n shifts,\n target,\n axisSpan,\n aggregates,\n paramValues,\n index,\n } = this;\n return {\n widget,\n deviceId,\n timeFilter,\n shifts,\n target,\n axisSpan,\n aggregates,\n index,\n ...(Object.keys(paramValues).length > 0 && { paramValues }),\n };\n }\n\n get isEcharts(): boolean {\n return this.widgetInstance.isEcharts;\n }\n\n get isMap(): boolean {\n return this.widgetInstance.isMap;\n }\n\n get isSlot(): boolean {\n return this.widgetInstance.isSlot;\n }\n\n get widgetType(): WidgetType {\n return this.widgetInstance.widgetType;\n }\n\n get hasDatepicker(): boolean {\n return this.widgetInstance.hasDatepicker;\n }\n\n get hasTimeMenu(): boolean {\n return this.widgetInstance.hasTimeMenu;\n }\n\n get hasShiftMenu(): boolean {\n return this.widgetInstance.hasShiftMenu;\n }\n\n get hasAxisSpanFilter(): boolean {\n return this.widgetInstance.hasAxisSpanFilter;\n }\n\n get hasDownload(): boolean {\n return this.widgetInstance.hasDownload;\n }\n\n get hasAggregates(): boolean {\n return this.widgetInstance.hasAggregates;\n }\n\n /**\n * Returns the minimum height defined by the widget.\n *\n * The value can be any valid CSS min-height value with unit.\n */\n get minHeight(): string {\n return this.widgetInstance.minHeight;\n }\n\n get isDeviceDependent(): boolean {\n return this.widgetInstance.isDeviceDependent;\n }\n\n getCopy({\n widget,\n deviceId,\n timeFilter,\n shifts,\n target,\n axisSpan,\n aggregates,\n paramValues,\n index,\n }: CopyParams): WidgetDefinition {\n const wd = new WidgetDefinition(\n widget ?? this.widget,\n deviceId ?? this.deviceId,\n this.initialTimeFilter,\n shifts ?? this.shifts,\n target ?? this.target,\n axisSpan ?? this.axisSpan,\n aggregates ?? this.aggregates,\n paramValues ?? this.paramValues,\n index ?? this.index,\n this.beta,\n );\n\n wd.showTitle = this.showTitle;\n wd.showInfo = this.showInfo;\n\n if (!isNil(timeFilter)) {\n wd.newTimeFilter = timeFilter;\n } else if (!isNil(this.newTimeFilter)) {\n wd.newTimeFilter = this.newTimeFilter;\n }\n return wd;\n }\n\n isComposite(): this is CompositeWidgetDefinition {\n return false;\n }\n}\n\n// Old structure of WidgetDefinition. The database may still have widgets with this structure.\nexport interface CompatibleWidgetDefinition {\n widget: WidgetEnum;\n deviceId: string | string[];\n timeFilter: FilterTimeSpanEnum | [string, string];\n shifts: number[];\n target?: number[];\n axisSpan?: FilterTimeAxisSpanEnum;\n aggregates?: number;\n stackedColumns?: boolean;\n paramValues?: ParamValues;\n index?: number;\n}\n\nexport function deserializeWidgetDefinition(\n widgetDefinitionObject: CompatibleWidgetDefinition,\n index?: number,\n): WidgetDefinition {\n const wd = new WidgetDefinition(\n widgetDefinitionObject.widget,\n widgetDefinitionObject.deviceId,\n widgetDefinitionObject.timeFilter,\n widgetDefinitionObject.shifts,\n widgetDefinitionObject.target,\n widgetDefinitionObject.axisSpan,\n widgetDefinitionObject.aggregates,\n widgetDefinitionObject.paramValues,\n widgetDefinitionObject.index ?? index,\n );\n wd.initializeParamValues(widgetDefinitionObject);\n return wd;\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OldTimeZoneIndicator.vue?vue&type=style&index=0&id=506b310f&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryUsers.vue?vue&type=style&index=0&id=2012e75f&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\n/**\n * Defines the date grouping (aggregation) across time of the data.\n *\n * For example, if we have data for a period of a week (7 values), with Day\n * grouping we'd get these 7 values, but with Week grouping we'd get just one\n * value that would be the sum of the 7.\n */\nexport enum FilterTimeAxisSpanEnum {\n None = 0,\n Hour = 6,\n Day = 1,\n Week = 2,\n Month = 3,\n Quarter = 4,\n Year = 5,\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Bend.vue?vue&type=style&index=0&id=6b311ccc&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AggregatesMenu.vue?vue&type=style&index=0&id=b763b0f0&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordResetModal.vue?vue&type=style&index=0&id=588d7f0c&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetCard.vue?vue&type=style&index=0&id=4b692177&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerUsers.vue?vue&type=style&index=0&id=4b8c1ca0&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetContainer.vue?vue&type=style&index=0&id=c51b47c6&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EquipmentListSelectorWizardStep.vue?vue&type=style&index=0&id=f24d3b46&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tubes.vue?vue&type=style&index=0&id=4f6372b9&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nexport const BaseUrl = process.env.VUE_APP_API_URL;\r\nexport const ProductionMode =\r\n process.env.VUE_APP_DEBUG === 'false' || process.env.VUE_APP_DEBUG === undefined;\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Alerts.vue?vue&type=style&index=0&id=155e41ce&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('click-menu',{staticClass:\"event-type-filter\",attrs:{\"iconPack\":\"bys-icon\",\"icon\":\"alarm\",\"ids\":_vm.ids,\"names\":_vm.names,\"title\":_vm.$t('report.event_types'),\"type\":\"multiple\",\"position\":_vm.position,\"value\":_vm.value},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport ClickMenu from '@/components/menu/ClickMenu.vue';\nimport { ImportantMessageLevel } from '@/models/Charts/chartsData';\nimport i18n from '@/i18n';\n\n@Component({\n components: {\n 'click-menu': ClickMenu,\n },\n})\nexport default class EventTypeFilter extends Vue {\n @Prop({ default: [] })\n private value!: ImportantMessageLevel[];\n\n @Prop({ default: 'is-bottom-left' })\n private position!: string;\n\n private ids = Object.values(ImportantMessageLevel);\n\n private get names(): string[] {\n return Object.values(ImportantMessageLevel).map((messageLevel) =>\n i18n.t(`report.${messageLevel.toLowerCase()}`).toString(),\n );\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventTypeFilter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventTypeFilter.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./EventTypeFilter.vue?vue&type=template&id=188d582c\"\nimport script from \"./EventTypeFilter.vue?vue&type=script&lang=ts\"\nexport * from \"./EventTypeFilter.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('click-menu',{staticClass:\"date-grouping-filter\",attrs:{\"ids\":_vm.ids,\"names\":_vm.names,\"value\":_vm.value,\"type\":\"single\",\"position\":_vm.position,\"iconPack\":\"bys-icon\",\"icon\":\"groupof\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('i18n',{attrs:{\"path\":\"report.group_by_value\"},scopedSlots:_vm._u([{key:\"groupingValue\",fn:function(){return [_c('span',{staticClass:\"trigger-selected-value\"},[_vm._v(\" \"+_vm._s(_vm.translateFilterTimeAxisSpanEnum(_vm.value))+\" \")])]},proxy:true}])})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport ClickMenu from '@/components/menu/ClickMenu.vue';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { translateFilterTimeAxisSpanEnum } from '@/utils/i18n';\n\n@Component({\n methods: {\n translateFilterTimeAxisSpanEnum,\n },\n components: {\n 'click-menu': ClickMenu,\n },\n})\nexport default class DateGroupingFilter extends Vue {\n @Prop({ default: FilterTimeAxisSpanEnum.Day })\n private value!: FilterTimeAxisSpanEnum;\n\n @Prop({ default: 'is-bottom-left' })\n private position!: string;\n\n @Prop({ default: false, type: Boolean })\n private hasNoneOption!: boolean;\n\n @Prop({ default: false, type: Boolean })\n private hasHourOption!: boolean;\n\n private mounted() {\n if (\n (!this.hasNoneOption && this.value === FilterTimeAxisSpanEnum.None) ||\n (!this.hasHourOption && this.value === FilterTimeAxisSpanEnum.Hour)\n ) {\n this.$emit('input', FilterTimeAxisSpanEnum.Day);\n }\n }\n\n @Watch('hasNoneOption')\n private watchHasNoneOption() {\n if (!this.hasNoneOption && this.value === FilterTimeAxisSpanEnum.None) {\n this.$emit('input', FilterTimeAxisSpanEnum.Day);\n }\n }\n\n @Watch('hasHourOption')\n private watchHasHourOption() {\n if (!this.hasHourOption && this.value === FilterTimeAxisSpanEnum.Hour) {\n this.$emit('input', FilterTimeAxisSpanEnum.Day);\n }\n }\n\n private get ids(): FilterTimeAxisSpanEnum[] {\n return Object.values(FilterTimeAxisSpanEnum)\n .filter((value) => !isNaN(Number(value)))\n .filter(\n (value) =>\n value !== FilterTimeAxisSpanEnum.None ||\n (value === FilterTimeAxisSpanEnum.None && this.hasNoneOption),\n )\n .filter(\n (value) =>\n value !== FilterTimeAxisSpanEnum.Hour ||\n (value === FilterTimeAxisSpanEnum.Hour && this.hasHourOption),\n )\n .map(Number);\n }\n\n private get names(): string[] {\n return this.ids.map((id) => translateFilterTimeAxisSpanEnum(id));\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateGroupingFilter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateGroupingFilter.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DateGroupingFilter.vue?vue&type=template&id=43537878&scoped=true\"\nimport script from \"./DateGroupingFilter.vue?vue&type=script&lang=ts\"\nexport * from \"./DateGroupingFilter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DateGroupingFilter.vue?vue&type=style&index=0&id=43537878&prod&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 \"43537878\",\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nexport enum TargetsMetric {\n None = 0,\n LaserOee = 1,\n LaserStarveBlock = 2,\n LaserCuttingTime = 3,\n SalesFunnelMonthlyPaid = 4,\n SalesFunnelR1 = 5,\n SalesFunnelR2 = 6,\n SalesFunnelR3 = 7,\n SalesFunnelR4 = 8,\n SalesUnpaidDistribution = 9,\n LaserProductivityHist = 10,\n TubeStarveBlock = 11,\n TubeCuttingTime = 12,\n TubeOee = 13,\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShiftModelFormModal.vue?vue&type=style&index=0&id=341d251e&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nexport class RequestCanceledError extends Error {}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlList.vue?vue&type=style&index=0&id=51a7838d&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailsTagInput.vue?vue&type=style&index=0&id=a6e7743e&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlledSidebar.vue?vue&type=style&index=0&id=4030892c&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { SignalrService } from '@/library-services/signalr.service';\nimport { SpinnerPluginService } from '@/library-services/spinner.service';\nimport AuthService from '@/services/auth.service';\nimport { isNil } from '@/utils/misc';\nimport { inject, onBeforeMount, onBeforeUnmount, onMounted, ref } from 'vue';\n\nexport function useSpinner(): SpinnerPluginService {\n const spinner = inject('spinner');\n if (isNil(spinner)) {\n throw new Error('SpinnerPluginService is not provided');\n }\n return spinner;\n}\n\nexport function useAuth(): AuthService {\n const auth = inject('auth');\n if (isNil(auth)) {\n throw new Error('AuthService is not provided');\n }\n return auth;\n}\n\nexport function useSignalR(): SignalrService {\n const signalr = inject('signalr');\n if (isNil(signalr)) {\n throw new Error('SignalrService is not provided');\n }\n return signalr;\n}\n\nfunction useAutoRemovedEventListener(\n eventType: string,\n listener: EventListenerOrEventListenerObject,\n) {\n onBeforeMount(() => {\n window.addEventListener(eventType, listener);\n });\n\n onBeforeUnmount(() => {\n window.removeEventListener(eventType, listener);\n });\n}\n\nexport function useAutoRemovedResizeListener(listener: EventListenerOrEventListenerObject) {\n useAutoRemovedEventListener('resize', listener);\n}\n\nexport function useInterval(callback: () => void, intervalSeconds: number) {\n let handle = -1;\n\n onMounted(() => {\n if (handle === -1) {\n handle = window.setInterval(callback, intervalSeconds * 1000);\n }\n });\n\n onBeforeUnmount(() => {\n if (handle !== -1) {\n window.clearInterval(handle);\n }\n });\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"cut-cell-control-active-messages-modal modal-card\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('cut_current_workload_table.modal.title'))+\" \")])]),_c('section',{staticClass:\"modal-card-body\"},[_c('table-with-actions2',{attrs:{\"data\":_vm.cellControlMessages,\"defaultSort\":['type', 'desc']}},[_c('b-table-column',{attrs:{\"field\":\"sourceCategory\",\"label\":_vm.$t('cut_current_workload_table.modal.columns.source'),\"sortable\":\"\",\"custom-search\":_vm.sourceAndCategoryCustomSearch},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: message }){return [_c('b-tooltip',{attrs:{\"label\":`${_vm.$t('source_category.' + message.sourceCategory)} (${message.source})`,\"type\":\"is-black\",\"append-to-body\":\"\"}},[_c('img',{staticClass:\"source-category-icon\",attrs:{\"src\":_vm.getSourceCategoryIcon(message.sourceCategory),\"alt\":`${_vm.$t('source_category.' + message.sourceCategory)} (${message.source})`}})])]}}])}),_c('b-table-column',{attrs:{\"field\":\"type\",\"label\":_vm.$t('cut_current_workload_table.modal.columns.type'),\"sortable\":\"\",\"custom-sort\":_vm.messageTypeSorter,\"td-attrs\":() => ({ class: 'message-type-column-cell' }),\"custom-search\":_vm.generateLocalizedCustomSearch(\n 'type',\n (l) => `cut_current_workload_table.modal.type_values.${l}`,\n ),\"th-attrs\":_vm.addDataTestIdAttributeToTh('type-column-header')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: message }){return [_c('b-tag',{attrs:{\"type\":message.tagType}},[_vm._v(\" \"+_vm._s(_vm.$t(`cut_current_workload_table.modal.type_values.${message.type}`))+\" \")])]}}])}),_c('b-table-column',{attrs:{\"field\":\"text\",\"label\":_vm.$t('cut_current_workload_table.modal.columns.message'),\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: message }){return [_vm._v(\" \"+_vm._s(message.text)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"time\",\"label\":_vm.$t('cut_current_workload_table.modal.columns.time'),\"sortable\":\"\",\"custom-search\":() => false,\"width\":\"180px\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: message }){return [_vm._v(\" \"+_vm._s(_vm.formatTimestamp(message.time))+\" \")]}}])})],1)],1),_c('footer',{staticClass:\"modal-card-foot\"},[_c('b-button',{on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.close'))+\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { CutCurrentWorkloadDataMessage, MessageType } from '@/models/Charts/chartsData';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport TableWithActions2 from '../tableWithActions/TableWithActions2.vue';\nimport moment from 'moment';\nimport {\n addDataTestIdAttributeToTh,\n generateLocalizedCustomSearch,\n matchIgnoringCase,\n} from '@/utils/table';\nimport { values } from '@/utils/enum';\n\n@Component({\n components: {\n TableWithActions2,\n },\n methods: {\n addDataTestIdAttributeToTh,\n generateLocalizedCustomSearch,\n },\n})\nexport default class CutCellControlActiveMessagesModal extends Vue {\n @Prop({ required: true })\n private messages!: CutCurrentWorkloadDataMessage[];\n\n private get cellControlMessages(): CutCellControlMessage[] {\n return this.messages.map((message) => ({\n source: message.messageSource,\n sourceCategory: this.getSourceCategoryKey(message.messageSource),\n text: message.messageText,\n type: message.messageLevel,\n tagType: this.getTagType(message.messageLevel),\n time: message.timestamp,\n }));\n }\n\n private getSourceCategoryKey(source: string): string {\n return sourceToCategoryKeyMap.get(source) ?? 'unknown';\n }\n\n private getSourceCategoryIcon(sourceCategory: string): string {\n return `images/icons/source-category/${sourceCategory}.svg`;\n }\n\n private getTagType(type: MessageType) {\n if (type === MessageType.Error) {\n return 'is-danger';\n }\n if (type === MessageType.Warning) {\n return 'is-warning';\n }\n return 'is-info';\n }\n\n private messageTypeSorter(\n messageA: CutCellControlMessage,\n messageB: CutCellControlMessage,\n isAscending: boolean,\n ): number {\n return isAscending\n ? values(MessageType).indexOf(messageB.type) - values(MessageType).indexOf(messageA.type)\n : values(MessageType).indexOf(messageA.type) - values(MessageType).indexOf(messageB.type);\n }\n\n private formatTimestamp(timestamp: Date): string {\n return moment(timestamp).format('YYYY-MM-DD HH:mm:ss');\n }\n\n private sourceAndCategoryCustomSearch(\n message: CutCellControlMessage,\n searchText: string,\n ): boolean {\n return (\n matchIgnoringCase(message.source, searchText) ||\n matchIgnoringCase(message.sourceCategory, searchText)\n );\n }\n}\n\ninterface CutCellControlMessage {\n source: CutCurrentWorkloadDataMessage['messageSource'];\n sourceCategory: CutCurrentWorkloadDataMessage['messageSource'];\n text: CutCurrentWorkloadDataMessage['messageText'];\n type: CutCurrentWorkloadDataMessage['messageLevel'];\n tagType: string;\n time: CutCurrentWorkloadDataMessage['timestamp'];\n}\n\nconst sourceToCategoryKeyMap = new Map([\n ['Nozzle Changer', 'nozzle-changer'],\n ['Rotary Axis', 'rotary-axis'],\n ['Kühlgerät', 'cooling-unit'],\n ['PLC Tablechange', 'table-change'],\n ['BySort', 'suction-big-part'],\n\n ...['HMI', 'PCS'].map((source) => [source, 'admin'] as [string, string]),\n\n ...[\n 'CNC',\n 'Edge Detection',\n 'Axis',\n 'Beam Path',\n 'EtherCAT',\n 'Gas Con',\n 'Auto Focus CO2',\n 'Capacitive sensing',\n 'Capacitive sens',\n 'Cut Control',\n 'Regulated Pulsed Piercing',\n 'PLC',\n 'TwinSAFE',\n 'Inbetriebnahmeassistent Antriebe',\n 'CircularFormingTest',\n 'Cross Jet',\n 'Memory Terminal',\n 'Dynamische Abnahme',\n 'SlotMachine',\n ].map((source) => [source, 'machine'] as [string, string]),\n\n ...[\n 'Lens Protection',\n 'Cutting Head Fiber',\n 'Auto Focus Fiber',\n 'CuttingHead CO2',\n 'Automatic Nozzle Centering',\n 'Automatic Nozzl',\n 'SSC',\n 'Magnifications-Station',\n 'Grundeinstellung Fokuslage',\n ].map((source) => [source, 'cutting-head'] as [string, string]),\n\n ...['CO2 Laser', 'Fiber Laser', 'ByLaser', 'Laser'].map(\n (source) => [source, 'laser'] as [string, string],\n ),\n\n ...[\n 'ByTrans',\n 'ByTower',\n 'ByCross',\n 'Byloader',\n 'TransTower',\n 'Handling Extern',\n 'PartMarker',\n 'PartMarkerOpcUaClient',\n 'Automation',\n ].map((source) => [source, 'automation'] as [string, string]),\n\n ...['ThreadCuttingOpcUaClient', 'ThreadingControl', 'BZTCNC', 'ThreadCutting'].map(\n (source) => [source, 'thread-cutting'] as [string, string],\n ),\n ['ICP', 'vision'],\n]);\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CutCellControlActiveMessagesModal.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CutCellControlActiveMessagesModal.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CutCellControlActiveMessagesModal.vue?vue&type=template&id=07220e79&scoped=true\"\nimport script from \"./CutCellControlActiveMessagesModal.vue?vue&type=script&lang=ts\"\nexport * from \"./CutCellControlActiveMessagesModal.vue?vue&type=script&lang=ts\"\nimport style0 from \"./CutCellControlActiveMessagesModal.vue?vue&type=style&index=0&id=07220e79&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"07220e79\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"custom-table-filters\",on:{\"submit\":function($event){$event.preventDefault();return _vm.$emit('submit')}}},[_c('h2',{staticClass:\"custom-table-filters-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('e_service_center.filters'))+\" \")]),_c('div',{staticClass:\"custom-table-filters-slot\"},[_vm._t(\"default\")],2),_c('footer',[_c('b-button',{staticClass:\"apply-button form-button\",attrs:{\"native-type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.$t('table_with_actions2.custom_table_filters.apply_filters'))+\" \")]),_c('b-button',{staticClass:\"clear-all-button form-button\",attrs:{\"native-type\":\"reset\"},on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('reset')}}},[_vm._v(\" \"+_vm._s(_vm.$t('table_with_actions2.custom_table_filters.clear_filters'))+\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class CustomTableFilters extends Vue {}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomTableFilters.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomTableFilters.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CustomTableFilters.vue?vue&type=template&id=10a44914&scoped=true\"\nimport script from \"./CustomTableFilters.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomTableFilters.vue?vue&type=script&lang=ts\"\nimport style0 from \"./CustomTableFilters.vue?vue&type=style&index=0&id=10a44914&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"10a44914\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KpiSelectionFormWizardStep.vue?vue&type=style&index=0&id=6edae5ce&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TermsAgreementModal.vue?vue&type=style&index=0&id=9d4868e8&prod&lang=scss&scoped=true\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SummaryWizardStep.vue?vue&type=style&index=0&id=4e1d241c&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HealthIndicators.vue?vue&type=style&index=0&id=3683a4b8&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertOccurrencesTable.vue?vue&type=style&index=0&id=03aa855e&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nexport enum PlanState {\n Inactive = 0,\n Started = 1,\n Completed = 2,\n PartiallyCompleted = 3,\n Failed = 4,\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport i18n from '@/i18n';\nimport { currencyCode } from '@/utils/currency';\nimport { currentLocale } from '@/utils/i18n';\n\nexport function decimalFormatter(value: any, maximumFractionDigits = 2) {\n return i18n.n(value, { maximumFractionDigits });\n}\n\n/**\n * Returns a compact representation of value by reducing the digits with an\n * abbreviation.\n *\n * Example: 1200 -> 1.2K\n *\n * @param value Number to format in abbreviated form.\n * @param maximumFractionDigits The maximum number of decimal places to return.\n */\nexport function abbreviateNumber(value: number, maximumFractionDigits?: number): string {\n return new Intl.NumberFormat(currentLocale(), {\n notation: 'compact',\n maximumFractionDigits,\n }).format(value);\n}\n\nexport function abbreviateNumberWithCurrency(n: number): string {\n return new Intl.NumberFormat(currentLocale(), {\n notation: 'compact',\n style: 'currency',\n currency: currencyCode(),\n }).format(n);\n}\n\nexport function numberWithCurrency(n: number): string {\n return new Intl.NumberFormat(currentLocale(), {\n style: 'currency',\n currency: currencyCode(),\n }).format(n);\n}\n\nexport function formatPercentage(percentage: number, maximumFractionDigits: number = 2): string {\n const adjustedPercentage =\n percentage < 0 && percentage > -1 // avoid -0 %\n ? 0\n : percentage;\n\n return new Intl.NumberFormat(currentLocale(), {\n style: 'percent',\n maximumFractionDigits,\n // percent style expects a fraction of one, so we have to divide by 100\n }).format(adjustedPercentage / 100);\n}\n\nexport function abbreviateNumberWithUnit(\n value: number,\n unit: string | null | undefined,\n maximumFractionDigits?: number,\n) {\n return `${abbreviateNumber(value, maximumFractionDigits)}${unit ? ' ' + unit : ''}`;\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_vm.isEmpty(_vm.shiftNumbers))?_c('click-menu',{staticClass:\"shift-filter\",attrs:{\"ids\":_vm.shiftNumbers,\"names\":_vm.shiftNames,\"value\":_vm.value,\"title\":_vm.$t('report.shift'),\"type\":\"multiple\",\"position\":_vm.position,\"iconPack\":\"bys-icon\",\"icon\":\"clock\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}}}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Device } from '@/models/device';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport ClickMenu from '@/components/menu/ClickMenu.vue';\nimport { MachineType } from '@/models/enums/MachineType';\nimport { Shift } from '@/models/shift';\nimport { isEmpty, isNil } from '@/utils/misc';\nimport { devicesService } from '@/services/devices.service';\nimport { shiftsService } from '@/services/shifts.service';\nimport { areArraysEqual } from '@/utils/array';\n\n@Component({\n methods: { isEmpty },\n components: {\n ClickMenu,\n },\n})\nexport default class ShiftFilter extends Vue {\n @Prop()\n private machineType?: MachineType;\n\n @Prop({ required: true })\n private selectedDeviceIds!: string[];\n\n @Prop({ default: 'is-bottom-left' })\n private position!: string;\n\n @Prop({ required: true })\n private value!: number[];\n\n private deviceIdDhs: string[] = [];\n\n private mounted() {\n this.loadDeviceIdDhs();\n }\n\n private loadDeviceIdDhs() {\n this.deviceIdDhs = isEmpty(this.selectedDeviceIds)\n ? devicesService.store\n .get()\n .filter(\n (device: Device) =>\n !isNil(this.machineType) && Device.GetMachineType(device) === this.machineType,\n )\n .map((x: Device) => x.deviceId)\n : this.selectedDeviceIds;\n }\n\n private get shifts(): Shift[] {\n return shiftsService.store.getAllByDeviceIds(this.deviceIdDhs);\n }\n\n @Watch('selectedDeviceIds')\n private watchChange(newValue: string[], oldValue: string[]) {\n if (!areArraysEqual(oldValue, newValue)) {\n this.loadDeviceIdDhs();\n const newShiftIds = this.shifts.map((shift) => shift.id);\n this.$emit(\n 'input',\n this.value.filter((selectedShiftId) => newShiftIds.includes(selectedShiftId)),\n );\n }\n }\n\n private get shiftNumbers(): number[] {\n return this.shifts.map((shift: Shift) => shift.id);\n }\n\n private get shiftNames(): string[] {\n return this.shifts.map((shift: Shift) => shift.name);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShiftFilter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShiftFilter.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ShiftFilter.vue?vue&type=template&id=17caa572&scoped=true\"\nimport script from \"./ShiftFilter.vue?vue&type=script&lang=ts\"\nexport * from \"./ShiftFilter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ShiftFilter.vue?vue&type=style&index=0&id=17caa572&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"17caa572\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewDeviceCard.vue?vue&type=style&index=0&id=45d16bdb&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nexport enum LaserOutputAndScrapTimelineChartMode {\n NonStackedLines = 'NonStackedLines',\n StackedColumns = 'StackedColumns',\n RawMaterialUtilization = 'RawMaterialUtilization',\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('click-menu',{staticClass:\"time-span-filter\",attrs:{\"value\":_vm.value,\"ids\":_vm.ids,\"names\":_vm.names,\"size\":_vm.size,\"type\":\"single\",\"icon\":\"calendar\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('i18n',{attrs:{\"path\":\"report.time_span_value\"},scopedSlots:_vm._u([{key:\"value\",fn:function(){return [_c('span',{staticClass:\"trigger-selected-value\"},[_vm._v(\" \"+_vm._s(_vm.translateFilterTimeSpanEnum(_vm.value))+\" \")])]},proxy:true}])})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport ClickMenu from '@/components/menu/ClickMenu.vue';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { translateFilterTimeSpanEnum } from '@/utils/i18n';\nimport { values } from '@/utils/enum';\n\n@Component({\n methods: { translateFilterTimeSpanEnum },\n components: {\n ClickMenu,\n },\n})\nexport default class TimeSpanFilter extends Vue {\n @Prop({ default: FilterTimeSpanEnum.Day })\n private value!: FilterTimeSpanEnum;\n\n @Prop({ default: '' })\n private size!: string;\n\n private get ids(): FilterTimeSpanEnum[] {\n return values(FilterTimeSpanEnum).filter((value) => value !== FilterTimeSpanEnum.None);\n }\n\n private get names(): string[] {\n return this.ids.map((x: FilterTimeSpanEnum) => translateFilterTimeSpanEnum(x));\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeSpanFilter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeSpanFilter.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TimeSpanFilter.vue?vue&type=template&id=19969687&scoped=true\"\nimport script from \"./TimeSpanFilter.vue?vue&type=script&lang=ts\"\nexport * from \"./TimeSpanFilter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TimeSpanFilter.vue?vue&type=style&index=0&id=19969687&prod&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 \"19969687\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerCreationModal.vue?vue&type=style&index=0&id=fec3b76c&prod&lang=scss\"","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!./TimeSpanFilter.vue?vue&type=style&index=0&id=19969687&prod&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerFilters.vue?vue&type=style&index=0&id=221e3b32&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationRecipientSelectionWizardStep.vue?vue&type=style&index=0&id=018070f4&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewNewBendDeviceCard.vue?vue&type=style&index=0&id=982c00e2&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InboxFilters.vue?vue&type=style&index=0&id=4fbd9985&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AsyncComponentLoader.vue?vue&type=style&index=0&id=fbf37a3c&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nexport function listenersWithPrefix(\n prefix: string,\n _this: Vue,\n // eslint-disable-next-line @typescript-eslint/ban-types\n): Record {\n const _prefix = prefix.endsWith(':') ? prefix : `${prefix}:`;\n return Object.fromEntries(\n Object.entries(_this.$listeners)\n .filter(([ev]) => ev.startsWith(_prefix))\n .map(([ev, fn]) => [ev.replace(_prefix, ''), fn]),\n );\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Wizard.vue?vue&type=style&index=0&id=7a0d5a42&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport axios from 'axios';\nimport { BaseUrl } from '@/models/constants';\nimport { ShiftModel } from '@/models/shiftModel';\nimport { shiftsService } from '@/services/shifts.service';\n\nclass ShiftModelsService {\n get(tenantId?: number | null): Promise {\n return axios\n .get(`${BaseUrl}/shift-models/` + (tenantId ? tenantId : ''))\n .then((response) => response.data);\n }\n\n create(shiftModel: ShiftModel): Promise {\n return axios.post(`${BaseUrl}/shift-models/`, shiftModel);\n }\n\n update(shiftModel: ShiftModel): Promise {\n return axios.put(`${BaseUrl}/shift-models/`, shiftModel);\n }\n\n delete(id: number): Promise {\n return axios.delete(`${BaseUrl}/shift-models/${id}`);\n }\n\n // Temporary. To be removed once we have Device.shiftModelId\n getIdByDeviceId(deviceId: string): number {\n return shiftsService.store.getAllByDeviceIds([deviceId])[0]?.shiftModelId;\n }\n}\n\nexport const shiftModelsService = new ShiftModelsService();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoplayInterval.vue?vue&type=style&index=0&id=21ff572c&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShiftFilter.vue?vue&type=style&index=0&id=17caa572&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Overview.vue?vue&type=style&index=0&id=5069e96c&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sales.vue?vue&type=style&index=0&id=f1a784a0&prod&lang=scss&scoped=true\"","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { Customer } from '@/models/tenant';\nimport { User } from '@/models/user';\nimport { UserType } from '@/models/userType';\nimport { usersService } from '@/services/users.service';\nimport { customersService } from '@/services/tenants.service';\n\nexport function hasCurrentUserPermission(accessLevel: UserType): boolean {\n if (currentUser().isGlobalAdmin) {\n return true;\n }\n\n switch (accessLevel) {\n case UserType.SubsidiaryAdmin:\n return currentUser().isSubsidiaryAdmin;\n case UserType.CustomerAdmin:\n return currentUser().isSubsidiaryAdmin || currentUser().isCustomerAdmin;\n case UserType.CustomerUser:\n return (\n currentUser().isSubsidiaryAdmin ||\n currentUser().isCustomerAdmin ||\n currentUser().isCustomerUser\n );\n case UserType.ServiceGlobal:\n return currentUser().isServiceGlobal;\n case UserType.ServiceUser:\n return currentUser().isServiceUserType;\n case UserType.TechnologyUser:\n return currentUser().isTechnologyUser;\n default:\n return false;\n }\n}\n\nexport function canAccessWorkCenterConsole(): boolean {\n const user = currentUser();\n return (\n user?.consoles.includes(ConsoleEnum.WCC) &&\n currentCustomer()?.hasDatahub === true &&\n !user.isTechnologyUser &&\n !user.isServiceUserType\n );\n}\n\nexport function canAccessBusinessConsole(): boolean {\n const user = currentUser();\n return (\n user?.consoles.includes(ConsoleEnum.BC) &&\n currentCustomer()?.hasSmbs === true &&\n !user.isTechnologyUser &&\n !user.isServiceUserType\n );\n}\n\nexport function canAccessShopFloorConsole(): boolean {\n // TODO: True if customer has SMBS or Plant Manager\n const user = currentUser();\n const consoles = user?.consoles ?? [];\n return (\n consoles.includes(ConsoleEnum.SFC) &&\n currentCustomer()?.hasSmbs === true &&\n !user.isTechnologyUser &&\n !user.isServiceUserType\n );\n}\n\nexport function canAccessTechnologyConsole(): boolean {\n return currentUser().isTechnologyUser;\n}\n\nexport function canAccessEServiceCenter(): boolean {\n return currentUser().isServiceUserType;\n}\n\nexport function canAccessCareConsoleAlerts(): boolean {\n return hasCurrentUserPermission(UserType.ServiceUser);\n}\n\nexport function canAccessControlList(): boolean {\n return currentUser().isSubsidiaryAdmin || currentUser().isGlobalAdmin;\n}\n\nexport function canAccessDataPlatforms(): boolean {\n return hasCurrentUserPermission(UserType.SubsidiaryAdmin);\n}\n\nexport function canAccessCareConsoleSettingsMenu(): boolean {\n return hasCurrentUserPermission(UserType.ServiceUser);\n}\n\nexport function canDownloadDataPlatform(): boolean {\n return hasCurrentUserPermission(UserType.SubsidiaryAdmin);\n}\n\nexport function currentUser(): User {\n return usersService.store.current();\n}\n\nexport function currentCustomer(): Customer | null {\n return customersService.store.current();\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { Component } from 'vue-property-decorator';\n\nComponent.registerHooks(['beforeRouteEnter', 'beforeRouteUpdate', 'beforeRouteLeave']);\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"app-section\"},[_c(_setup.SidebarLayout,{ref:\"sidebarRef\"}),_c('div',{class:['wrapper', { 'no-overflow': _setup.showSidebar }],attrs:{\"id\":\"wrapper\"}},[_c(_setup.HeaderLayout,{on:{\"toggle:sidebar\":_setup.toggleSidebar,\"toggle:beta\":_setup.toggleBeta}}),_c('router-view',{staticClass:\"app__content\"}),_c(_setup.Spinner)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"left-header\"},[_c('i',{staticClass:\"mdi mdi-dots-vertical dots menu-mobile\",on:{\"click\":function($event){return _setup.emit('toggle:sidebar')}}}),_c('i',{staticClass:\"mdi mdi-dots-vertical dots menu-desktop\",on:{\"click\":function($event){return _setup.emit('toggle:sidebar')}}}),_c('div',{staticClass:\"breadcrumbs\",attrs:{\"id\":\"breadcrumbs\"}},[_vm._v(\" \"+_vm._s(_setup.breadcrumb)+\" \")])]),_c('div',{staticClass:\"right-header\"},[(_setup.showInfoButton)?_c(_setup.InformationMenu):_vm._e(),_c(_setup.NotificationsMenu),(_setup.showSettings)?_c(_setup.SettingsMenu):_vm._e(),(_setup.showEServiceCenterSettingsMenu)?_c(_setup.CareConsoleSettingsMenu,{attrs:{\"data-testid\":\"care-console-settings-menu\"}}):_vm._e(),_c(_setup.UserMenu,{on:{\"toggle:beta\":function($event){return _setup.emit('toggle:beta')}}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { isNil } from '@/utils/misc';\nimport { getCurrentInstance, Ref, shallowRef, watch } from 'vue';\nimport { Route } from 'vue-router';\n\n/* When we migrate to Vue 3, this file will be deleted and we will replace the composables imports to own composables of Vue */\nexport function useRouter() {\n const instance = getCurrentInstance();\n\n if (isNil(instance)) {\n throw new Error('useRouter must be called within a setup function');\n }\n\n return instance.proxy?.$router;\n}\n\nexport function useRoute(): Ref {\n const instance = getCurrentInstance();\n\n if (isNil(instance)) {\n throw new Error('useRoute must be called within a setup function');\n }\n\n const route = shallowRef(instance.proxy.$route);\n watch(\n () => instance.proxy.$route,\n () => {\n route.value = instance.proxy.$route;\n },\n );\n\n return route;\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nexport enum Mode {\n Create = 'create',\n Edit = 'edit',\n View = 'view',\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-dropdown',{staticClass:\"information-menu\",attrs:{\"aria-role\":\"list\",\"position\":\"is-bottom-left\",\"mobile-modal\":false},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('b-icon',{attrs:{\"type\":\"is-black\",\"icon\":\"information\",\"size\":\"is-small\",\"position\":\"is-bottom-left\"}})]},proxy:true}])},[_c('b-dropdown-item',{staticClass:\"menu-item-with-icon\",on:{\"click\":_setup.downloadTermsAndConditions}},[_c('span',{staticClass:\"ellipsis\"},[_vm._v(_vm._s(_vm.$t('terms.terms_and_conditions')))]),_c('b-icon',{attrs:{\"icon\":\"file-edit\",\"size\":\"is-small\"}})],1),_c('b-dropdown-item',{staticClass:\"menu-item-with-icon-and-link\",attrs:{\"has-link\":\"\",\"data-testid\":\"online-help\"}},[_c('a',{attrs:{\"href\":_setup.onlineHelpLink,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t('help'))+\" \"),_c('b-icon',{attrs:{\"icon\":\"help\",\"size\":\"is-small\"}})],1)]),_c('b-dropdown-item',{staticClass:\"menu-item-with-icon-and-link\",attrs:{\"has-link\":\"\"}},[_c('router-link',{attrs:{\"to\":\"/about\"}},[_vm._v(\" \"+_vm._s(_vm.$t('report.about'))+\" \"),_c('b-icon',{attrs:{\"icon\":\"license\",\"size\":\"is-small\"}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { useSpinner } from '@/composables/misc';\nimport { localeService } from '@/library-services/locale.service';\nimport { downloadTermsAndConditionsPdf } from '@/utils/misc';\nimport { computed } from 'vue';\n\n\n/**\n * Menu in the page header to access information about the application.\n */\nconst __default__ = {};\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n __name: 'InformationMenu',\n setup(__props) {\n\nconst spinner = useSpinner();\n\nasync function downloadTermsAndConditions() {\n spinner.showSpinner();\n await downloadTermsAndConditionsPdf().finally(() => spinner.removeSpinner());\n}\n\nconst onlineHelpLink = computed(\n () =>\n `https://onlinehelp.bystronic.com/BySoft_Insight/${languageCode.value}/Content/Home.htm?apikey=148ad74c-384b-4471-8abb-87cba0b9f24e`,\n);\n\nconst languageCode = computed(() => {\n switch (localeService.currentLocale) {\n case 'da':\n case 'de':\n case 'es':\n case 'fr':\n case 'it':\n case 'ko':\n case 'pl':\n return localeService.currentLocale;\n case 'zh':\n return 'zh-cn';\n default:\n return 'en-us';\n }\n});\n\nreturn { __sfc: true,spinner, downloadTermsAndConditions, onlineHelpLink, languageCode }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InformationMenu.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InformationMenu.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./InformationMenu.vue?vue&type=template&id=14429f3f&scoped=true\"\nimport script from \"./InformationMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./InformationMenu.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./InformationMenu.vue?vue&type=style&index=0&id=14429f3f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"14429f3f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-dropdown',{staticClass:\"notification-dropdown\",attrs:{\"aria-role\":\"list\",\"position\":\"is-bottom-left\",\"mobile-modal\":true},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('b-icon',{class:{ 'notifications-icon': !_setup.isEmpty(_setup.notifications) },attrs:{\"pack\":\"bys-icon\",\"icon\":\"notifications\",\"size\":\"is-small\",\"data-notifications-count\":_setup.notifications.length > 99 ? 99 : _setup.notifications.length,\"position\":\"is-bottom-left\"}})]},proxy:true}])},[_c('div',{staticClass:\"text-holder\"},[(!_setup.isEmpty(_setup.notifications))?_c('b-dropdown-item',{staticClass:\"notification-card-title\",on:{\"click\":function($event){return _setup.dismissAllNotifications()}}},[_vm._v(\" \"+_vm._s(_vm.$t('alert.mark_all_as_read'))+\" \")]):_vm._e(),_vm._l((_setup.notifications),function(notification,index){return _c(_setup.NotificationCard,{key:index,attrs:{\"notification\":notification},on:{\"click\":function($event){return _setup.onNotificationClicked(notification)}}})})],2),(_setup.isEmpty(_setup.notifications))?_c('b-dropdown-item',{staticClass:\"no-notifications-message\"},[_vm._v(\" \"+_vm._s(_vm.$t('alert.default_message'))+\" \")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nimport { AlertMetric, AlertOperator } from './enums/AlertsEnums';\r\n\r\nexport class UserAlertStatus {\r\n constructor(\r\n public id: number,\r\n public deviceName: string,\r\n public metric: AlertMetric,\r\n public operator: AlertOperator,\r\n public thresholdValue: number,\r\n public currentValue: number,\r\n public timestampNotification: string,\r\n ) {}\r\n}\r\n","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nimport { AlertAction } from '@/models/enums/AlertsEnums';\r\n\r\nexport class UserCustomNotificationStatus {\r\n constructor(public id: number, public messageTxt: string, public timestampNotification: string) {}\r\n}\r\n\r\nexport class CustomNotification {\r\n constructor(\r\n public message: string,\r\n public subject: string | undefined,\r\n public tenantIds: number[],\r\n public subsidiaryIds: number[],\r\n public sendToAll: boolean,\r\n public action: AlertAction,\r\n ) {}\r\n}\r\n","// Copyright (C) 2021 Bystronic Laser AG\n\n/**\n * Notification sent by the backend when a new alert workflow has been created.\n *\n * When an equipment's alert is triggered a new alert workflow is created, if it\n * hasn't been done already. It's only when the alert workflow is created that\n * this type of notifications is sent.\n */\nexport class AlertWorkflowNotification {\n constructor(\n public deviceId: number,\n public deviceName: string,\n public customerName: string,\n public timestampNotification: string,\n ) {}\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport axios from 'axios';\nimport { BaseUrl } from '@/models/constants';\nimport { UserAlertStatus } from '@/models/userAlertStatus';\nimport { CustomNotification, UserCustomNotificationStatus } from '@/models/customNotifications';\nimport moment from 'moment';\nimport { AlertWorkflowNotification } from '@/models/AlertWorkflowNotification';\nimport { Notification, usePersistentStore } from '@/store/persistent';\nimport { UserType } from '@/models/userType';\nimport { hasCurrentUserPermission } from '@/utils/permissionUtils';\n\nclass NotificationsService {\n store = new (class {\n /** Returns all notifications of all types present in the store. */\n getAll(): Notification[] {\n return usePersistentStore().notifications;\n }\n\n update(notifications: Notification[]) {\n usePersistentStore().setNotifications(notifications);\n }\n })();\n\n async get(): Promise {\n const [alertNotifications, alertWorkflowNotifications, customNotifications] = await Promise.all(\n [\n this.getUserAlertStatus(),\n this.getAlertWorkflowNotifications(),\n this.getUserCustomNotificationStatus(),\n ],\n );\n\n const sortedNotifications = [\n ...alertNotifications,\n ...alertWorkflowNotifications,\n ...customNotifications,\n ].sort((a, b) => moment(b.timestampNotification).diff(moment(a.timestampNotification)));\n this.store.update(sortedNotifications);\n return sortedNotifications;\n }\n\n private async getUserAlertStatus(): Promise {\n if (!hasCurrentUserPermission(UserType.CustomerAdmin)) {\n return [];\n }\n return axios.get(`${BaseUrl}/notifications`).then((response: any) => {\n return response.data.map(\n (x: any) =>\n new UserAlertStatus(\n x.id,\n x.deviceName,\n x.metric,\n x.operator,\n x.thresholdValue,\n x.currentValue,\n x.timestampNotification,\n ),\n );\n });\n }\n\n private async getAlertWorkflowNotifications(): Promise {\n if (!hasCurrentUserPermission(UserType.ServiceUser)) {\n return [];\n }\n return axios\n .get(`${BaseUrl}/notifications/care`)\n .then((response) =>\n response.data.map(\n (notificationData: any) =>\n new AlertWorkflowNotification(\n notificationData.deviceId,\n notificationData.deviceName,\n notificationData.customerName,\n notificationData.timestampNotification,\n ),\n ),\n );\n }\n\n private getUserCustomNotificationStatus(): Promise {\n return axios\n .get(`${BaseUrl}/notifications/custom`)\n .then((response: any) => {\n return response.data.map(\n (x: any) => new UserCustomNotificationStatus(x.id, x.messageTxt, x.timestampNotification),\n );\n });\n }\n\n async createCustomNotification(customNotification: CustomNotification) {\n const response = await axios.post(`${BaseUrl}/notifications/custom`, customNotification);\n return response.data;\n }\n\n dismiss(notificationId: number, isCustomNotification: boolean) {\n return axios\n .delete(`${BaseUrl}/notifications/${notificationId}/${isCustomNotification}`)\n .then((response: any) => {\n return response.data;\n });\n }\n\n dismissAll() {\n return axios.delete(`${BaseUrl}/notifications/`).then((response: any) => {\n return response.data;\n });\n }\n}\n\nexport const notificationsService = new NotificationsService();\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"notification-card-vue-container\"},[_c('b-dropdown-item',{staticClass:\"notification-card\",attrs:{\"aria-role\":\"listitem\"},on:{\"click\":function($event){return _setup.emit('click', _vm.notification)}}},[_c('span',{staticClass:\"timestamp\"},[_vm._v(\" \"+_vm._s(_setup.formatTimestamp(_vm.notification.timestampNotification))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_setup.notificationMessage)+\" \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { UserAlertStatus } from '@/models/userAlertStatus';\nimport { UserCustomNotificationStatus } from '@/models/customNotifications';\nimport moment from 'moment';\nimport { Notification } from '@/store/persistent/index';\nimport { computed } from 'vue';\nimport { TranslateResult } from 'vue-i18n';\nimport { useI18n } from '@/composables/i18n';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'NotificationCard',\n props: {\n notification: null\n },\n emits: [\"click\"],\n setup(__props: any, { emit }: { emit: ((e: 'click', value: Notification) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as {\n notification: Notification;\n};\n\n\n\n\n\nconst i18n = useI18n();\n\nfunction getUserAlertStatusNotificationMessage(notification: UserAlertStatus) {\n const params: Record = {\n metric: i18n.t(`alert.metric.${notification.metric}`),\n operator: i18n.t(`alert.operator.${notification.operator}`),\n thresholdValue: notification.thresholdValue,\n device: notification.deviceName ?? i18n.t('alert.all_devices'),\n currentValue: i18n.n(notification.currentValue, { maximumFractionDigits: 2 }),\n };\n\n return i18n.t('alert.message', params);\n}\n\nfunction formatTimestamp(wrongTimestamp: string) {\n // It's 'wrong' because the timezone is missing\n const date = moment(`${wrongTimestamp}+00:00`);\n return date.format('YYYY-MM-DD, HH:mm:ss');\n}\n\nconst notificationMessage = computed(() => {\n if (props.notification instanceof UserAlertStatus) {\n return getUserAlertStatusNotificationMessage(props.notification);\n } else if (props.notification instanceof UserCustomNotificationStatus) {\n return props.notification.messageTxt;\n } else {\n // instanceof AlertWorkflowNotification\n return i18n.t('alert.alert_workflow_notification_message', {\n deviceName: props.notification.deviceName,\n customerName: props.notification.customerName,\n });\n }\n});\n\nreturn { __sfc: true,props, emit, i18n, getUserAlertStatusNotificationMessage, formatTimestamp, notificationMessage }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationCard.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationCard.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./NotificationCard.vue?vue&type=template&id=7086bd3f&scoped=true\"\nimport script from \"./NotificationCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotificationCard.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./NotificationCard.vue?vue&type=style&index=0&id=7086bd3f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7086bd3f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"devices\"},[_c('b-field',{staticClass:\"actions\",attrs:{\"grouped\":\"\"}},[(_setup.canCreateAndDeleteEquipment && !!_vm.customer)?_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"plus\",\"data-testid\":\"new-device-button\"},on:{\"click\":function($event){return _setup.openDeviceFormModal(_setup.Mode.Create)}}},[_vm._v(\" \"+_vm._s(_vm.$t('device.title_new'))+\" \")]):_vm._e(),(_setup.canGetSmbsSas && !!_vm.customer && _vm.customer.hasSmbs)?_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"link\",\"data-testid\":\"get-sas-button\"},on:{\"click\":_setup.getSas}},[_vm._v(\" \"+_vm._s(_vm.$t('tenant.get_smbs_sas'))+\" \")]):_vm._e()],1),_c(_setup.TableWithActions,{attrs:{\"data\":_setup.devices,\"defaultSort\":\"deviceId\",\"loading\":_setup.isLoading},scopedSlots:_vm._u([{key:\"actions\",fn:function({ row: device }){return [_c(_setup.TableActionButton,{attrs:{\"icon\":_setup.canEditEquipment ? 'pencil' : 'eye-outline'},on:{\"click\":function($event){return _setup.openDeviceFormModal(_setup.Mode.Edit, device)}}},[_vm._v(\" \"+_vm._s(_setup.canEditEquipment ? _vm.$t('action.edit') : _vm.$t('action.view'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"trash-can-outline\",\"disabled\":!_setup.canCreateAndDeleteEquipment},on:{\"click\":function($event){return _setup.confirmDelete(device)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.delete'))+\" \")])]}}])},[_c('b-table-column',{attrs:{\"field\":\"deviceId\",\"label\":_vm.$t('device.id'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: device }){return [_vm._v(\" \"+_vm._s(device.deviceId)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":_vm.$t('form.name'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: device }){return [_vm._v(\" \"+_vm._s(device.name)+\" \")]}}])}),_c('b-table-column',{attrs:{\"visible\":!_vm.customer,\"field\":\"tenantName\",\"label\":_vm.$t('tenant.name'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: device }){return [_vm._v(\" \"+_vm._s(device.tenantName)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"deviceBaseModelName\",\"label\":_vm.$t('device.baseModelName'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: device }){return [_vm._v(\" \"+_vm._s(device.deviceBaseModelName)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"locationId\",\"label\":_vm.$t('device.location'),\"sortable\":\"\",\"searchable\":\"\",\"custom-search\":_setup.matchesLocation},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: device }){return [_vm._v(\" \"+_vm._s(_setup.getLocationName(device.locationId))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"shiftModelId\",\"label\":_vm.$t('device.shift_model'),\"sortable\":\"\",\"searchable\":\"\",\"custom-search\":_setup.matchesShiftModel},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: device }){return [(device.shiftModelId)?[_vm._v(\" \"+_vm._s(_setup.getShiftModelName(device.shiftModelId))+\" \")]:[_c('span',{staticClass:\"unassigned\"},[_vm._v(_vm._s(_vm.$t('shift_model.unassigned')))])]]}}])}),_c('b-table-column',{attrs:{\"field\":\"status\",\"label\":_vm.$t('device.last_update'),\"sortable\":\"\",\"searchable\":\"\",\"custom-sort\":_setup.sortByLastStatus,\"custom-search\":_setup.searchLastStatus},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: device }){return [(!device.status)?_c('b-progress',{attrs:{\"size\":\"is-small\"}}):_c('span',{class:[\n 'tag',\n { 'is-na': device.status.status === 0 },\n { 'is-success': device.status.status === 1 },\n { 'is-danger': device.status.status === 2 },\n ],attrs:{\"title\":device.status.lastSeen}},[_vm._v(\" \"+_vm._s(device.status.lastSeenAgoText)+\" \")])]}}])}),_c('b-table-column',{attrs:{\"field\":\"statusText\",\"label\":_vm.$t('device.last_status'),\"sortable\":\"\",\"searchable\":\"\",\"custom-sort\":_setup.sortByLastStatusText,\"custom-search\":_setup.searchLastStatusText},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: device }){return [(!device.status)?_c('b-progress',{attrs:{\"size\":\"is-small\"}}):_c('span',{class:['tag']},[_vm._v(\" \"+_vm._s(device.status.statusText)+\" \")])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nimport axios from 'axios';\r\nimport { BaseUrl } from '@/models/constants';\r\nimport { Location } from '@/models/location';\r\nimport { usePersistentStore } from '@/store/persistent';\r\n\r\nclass LocationsService {\r\n store = new (class {\r\n getAll(): Location[] {\r\n return usePersistentStore().locations;\r\n }\r\n\r\n findById(locationId: number): Location | undefined {\r\n return this.getAll().find((x) => x.id === locationId);\r\n }\r\n\r\n updateAll(locations: Location[]) {\r\n usePersistentStore().setLocations(locations);\r\n }\r\n })();\r\n\r\n async create(location: Location) {\r\n await axios.post(`${BaseUrl}/locations`, location).then((response: any) => {\r\n return response.data;\r\n });\r\n }\r\n\r\n async get(tenantId?: number | null): Promise {\r\n const locations = await axios\r\n .get(`${BaseUrl}/locations/` + (tenantId ? tenantId : ''))\r\n .then((response: any) => {\r\n return response.data;\r\n });\r\n this.store.updateAll(locations);\r\n return locations;\r\n }\r\n\r\n async update(location: Location) {\r\n await axios.put(`${BaseUrl}/locations`, location).then((response: any) => {\r\n return response.data;\r\n });\r\n }\r\n\r\n async delete(id: number) {\r\n await axios.delete(`${BaseUrl}/locations/${id}`).then((response: any) => {\r\n return response.data;\r\n });\r\n }\r\n\r\n async getApiKey(locationId: number): Promise {\r\n const response = await axios.get<{ apiKey: string }>(\r\n `${BaseUrl}/locations/api-key/${locationId}`,\r\n );\r\n return response.data.apiKey;\r\n }\r\n}\r\n\r\nexport const locationsService = new LocationsService();\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"device-form-modal\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"modal-card\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\" \"+_vm._s(_setup.actionTitle)+\" \")])]),_c('section',{staticClass:\"modal-card-body\"},[_c(_setup.RequiredFieldsHint),_c('b-field',{attrs:{\"label\":_vm.$t('device.id')}},[_vm._v(\" \"+_vm._s(_setup.calculatedDeviceId)+\" \")]),_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t('device.device_name'),\"label-for\":\"name\",\"type\":{ 'is-danger': _setup.v$.formData.name.$error },\"message\":_vm.$t('form.input_validation_max_chars')}},[_c('b-input',{attrs:{\"id\":\"name\",\"name\":\"name\",\"type\":\"text\",\"placeholder\":`${_vm.$t('device.name')} ${_vm.$t('form.name')}`,\"disabled\":!_setup.canEditEquipmentNameAndShift},on:{\"blur\":_setup.v$.formData.name.$touch},model:{value:(_setup.state.formData.name),callback:function ($$v) {_vm.$set(_setup.state.formData, \"name\", $$v)},expression:\"state.formData.name\"}})],1),_c('b-field',[_c(_setup.TenantsSelect,{attrs:{\"validationRules\":_setup.validations.formData.tenantId,\"disabled\":!!_vm.customer || !_setup.isCreateMode || !_setup.canEditEquipment},model:{value:(_setup.state.formData.tenantId),callback:function ($$v) {_vm.$set(_setup.state.formData, \"tenantId\", $$v)},expression:\"state.formData.tenantId\"}})],1),_c('b-field',[_c(_setup.LocationsSelect,{attrs:{\"value\":_setup.state.formData.locationId > 0 ? _setup.state.formData.locationId : null,\"validationRules\":_setup.validations.formData.locationId,\"disabled\":!_setup.canEditEquipment,\"customerId\":_setup.state.formData.tenantId},on:{\"input\":_setup.onLocationInput}})],1),_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t('device.baseModelName'),\"label-for\":\"deviceBaseModelId\",\"type\":{ 'is-danger': _setup.v$.formData.deviceBaseModelId.$error },\"message\":_setup.getErrorMessage('deviceBaseModelId')}},[_c('b-select',{attrs:{\"id\":\"deviceBaseModelId\",\"name\":\"deviceBaseModelId\",\"placeholder\":_vm.$t('device.baseModelName'),\"expanded\":\"\",\"disabled\":!_setup.isCreateMode || !_setup.canEditEquipment},on:{\"input\":_setup.handleDeviceBaseModelIdSelected,\"blur\":_setup.v$.formData.deviceBaseModelId.$touch},model:{value:(_setup.state.formData.deviceBaseModelId),callback:function ($$v) {_vm.$set(_setup.state.formData, \"deviceBaseModelId\", $$v)},expression:\"state.formData.deviceBaseModelId\"}},_vm._l((_setup.deviceModelTypes),function(modelType){return _c('optgroup',{key:modelType,attrs:{\"label\":_vm.$t(`deviceModels.${modelType}`)}},_vm._l((_setup.getDeviceModelsByType(modelType)),function(model){return _c('option',{key:model.deviceBaseModelId,domProps:{\"value\":model.deviceBaseModelId}},[_vm._v(\" \"+_vm._s(model.name)+\" \")])}),0)}),0)],1),_c('b-field',[_c(_setup.ShiftModelSelect,{attrs:{\"customerId\":_setup.state.formData.tenantId,\"disabled\":!_setup.canEditEquipmentNameAndShift},model:{value:(_setup.state.formData.shiftModelId),callback:function ($$v) {_vm.$set(_setup.state.formData, \"shiftModelId\", $$v)},expression:\"state.formData.shiftModelId\"}})],1),(_setup.canToggleBillable)?_c('b-field',{staticClass:\"field-margin-top-10 switch-group\",attrs:{\"label\":_vm.$t('user.additional_configuration')}},[_c('b-switch',{attrs:{\"name\":\"billable\",\"type\":\"is-success\"},model:{value:(_setup.state.formData.billable),callback:function ($$v) {_vm.$set(_setup.state.formData, \"billable\", $$v)},expression:\"state.formData.billable\"}},[_vm._v(\" \"+_vm._s(_vm.$t('user.billable'))+\" \")])],1):_vm._e(),_c('b-field',{staticClass:\"switch-group\",attrs:{\"label\":_vm.$t('device.consoles'),\"grouped\":\"\"}},[_c('b-tooltip',{staticClass:\"switch-tooltip\",attrs:{\"active\":!_setup.canToggleWorkCenterConsole,\"label\":!_setup.canEditEquipment\n ? _vm.$t('device.disabled_because_is_read_only')\n : _vm.$t('device.disabled_because_care_is_enabled'),\"triggers\":['hover', 'focus'],\"append-to-body\":\"\",\"position\":\"is-top\",\"multilined\":\"\",\"type\":\"is-dark\"}},[_c('b-switch',{attrs:{\"name\":\"hasWCC\",\"disabled\":!_setup.canToggleWorkCenterConsole},on:{\"input\":function($event){return _setup.onWorkCenterSwitchChanged($event)}},model:{value:(_setup.state.formData.hasWCC),callback:function ($$v) {_vm.$set(_setup.state.formData, \"hasWCC\", $$v)},expression:\"state.formData.hasWCC\"}},[_vm._v(\" \"+_vm._s(_vm.$t('device.work_center'))+\" \")])],1),_c('b-tooltip',{staticClass:\"switch-tooltip\",attrs:{\"active\":!_setup.canEditEquipment || !_setup.isBvcDevice,\"label\":!_setup.canEditEquipment\n ? _vm.$t('device.disabled_because_is_read_only')\n : _vm.$t('device.disabled_because_no_BVC_device'),\"triggers\":['hover', 'focus'],\"position\":\"is-top\",\"multilined\":\"\",\"type\":\"is-dark\"}},[(_setup.canEnableTechnologyConsole)?_c('b-switch',{attrs:{\"name\":\"hasTechnology\",\"disabled\":!_setup.canEditEquipment || !_setup.isBvcDevice},on:{\"input\":function($event){return _setup.onTechnologySwitchChanged($event)}},model:{value:(_setup.state.formData.hasTechnology),callback:function ($$v) {_vm.$set(_setup.state.formData, \"hasTechnology\", $$v)},expression:\"state.formData.hasTechnology\"}},[_vm._v(\" \"+_vm._s(_vm.$t('report.technology'))+\" \")]):_vm._e()],1),_c('b-tooltip',{staticClass:\"switch-tooltip\",attrs:{\"active\":!_setup.canEditEquipment || !_setup.isBvcDevice,\"label\":!_setup.canEditEquipment\n ? _vm.$t('device.disabled_because_is_read_only')\n : _vm.$t('device.disabled_because_no_BVC_device'),\"triggers\":['hover', 'focus'],\"position\":\"is-top\",\"multilined\":\"\",\"type\":\"is-dark\"}},[(_setup.canEnableCareConsole)?_c('b-switch',{attrs:{\"name\":\"hasCare\",\"disabled\":!_setup.canEditEquipment || !_setup.isBvcDevice},on:{\"input\":function($event){return _setup.onCareSwitchChanged($event)}},model:{value:(_setup.state.formData.hasCare),callback:function ($$v) {_vm.$set(_setup.state.formData, \"hasCare\", $$v)},expression:\"state.formData.hasCare\"}},[_vm._v(\" \"+_vm._s(_vm.$t('care.name'))+\" \")]):_vm._e()],1)],1),_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t('device.ip'),\"label-for\":\"ip\",\"type\":{ 'is-danger': _setup.v$.formData.ip.$error },\"message\":_setup.getErrorMessage('ip')}},[_c('b-input',{attrs:{\"id\":\"ip\",\"name\":\"ip\",\"type\":\"text\",\"placeholder\":_vm.$t('device.ip'),\"disabled\":!_setup.canEditEquipment,\"has-counter\":false},on:{\"blur\":_setup.v$.formData.ip.$touch},model:{value:(_setup.state.formData.ip),callback:function ($$v) {_vm.$set(_setup.state.formData, \"ip\", $$v)},expression:\"state.formData.ip\"}})],1),(_setup.isBvcDevice)?_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t('device.ssc_ip'),\"label-for\":\"sscIp\",\"type\":{ 'is-danger': _setup.v$.formData.sscIp.$error },\"message\":_setup.getErrorMessage('sscIp')}},[_c('b-input',{attrs:{\"id\":\"sscIp\",\"name\":\"sscIp\",\"placeholder\":_vm.$t('device.ssc_ip'),\"disabled\":!_setup.canEditEquipment,\"has-counter\":false},on:{\"blur\":_setup.v$.formData.sscIp.$touch},model:{value:(_setup.state.formData.sscIp),callback:function ($$v) {_vm.$set(_setup.state.formData, \"sscIp\", $$v)},expression:\"state.formData.sscIp\"}})],1):_vm._e(),_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t('device.equipmentId'),\"label-for\":\"equipmentId\",\"type\":{ 'is-danger': _setup.v$.formData.equipmentId.$error },\"message\":_setup.getErrorMessage('equipmentId')}},[_c('b-input',{attrs:{\"id\":\"equipmentId\",\"name\":\"equipmentId\",\"placeholder\":_vm.$t('device.equipmentId'),\"disabled\":!_setup.canEditEquipment,\"has-counter\":false},on:{\"blur\":_setup.v$.formData.equipmentId.$touch},model:{value:(_setup.state.formData.equipmentId),callback:function ($$v) {_vm.$set(_setup.state.formData, \"equipmentId\", $$v)},expression:\"state.formData.equipmentId\"}})],1),(_setup.state.formData.hasWCC)?_c('b-field',{attrs:{\"label\":_vm.$t('device.cameraIp'),\"label-for\":\"cameraIp\",\"type\":{ 'is-danger': _setup.v$.formData.cameraIp.$error },\"message\":_setup.getErrorMessage('cameraIp')}},[_c('b-input',{attrs:{\"id\":\"cameraIp\",\"name\":\"cameraIp\",\"placeholder\":_vm.$t('device.cameraIp'),\"has-counter\":false,\"disabled\":!_setup.canEditEquipment},on:{\"blur\":_setup.v$.formData.cameraIp.$touch},model:{value:(_setup.state.formData.cameraIp),callback:function ($$v) {_vm.$set(_setup.state.formData, \"cameraIp\", $$v)},expression:\"state.formData.cameraIp\"}})],1):_vm._e(),(_setup.state.formData.hasWCC)?_c('b-field',{attrs:{\"label\":_vm.$t('device.workCenterStartDate'),\"label-for\":\"startDate\"}},[_c('b-datepicker',{attrs:{\"id\":\"startDate\",\"name\":\"startDate\",\"value\":_setup.state.formData.startDate,\"placeholder\":_vm.$t('device.workCenterStartDate'),\"icon\":\"calendar-today\",\"position\":'is-top-right',\"disabled\":\"\"}})],1):_vm._e(),(_setup.state.formData.hasWCC)?_c('b-field',{attrs:{\"label\":_vm.$t('device.workCenterEndDate'),\"label-for\":\"workCenterEndDate\"}},[_c('b-datepicker',{attrs:{\"id\":\"workCenterEndDate\",\"name\":\"endDate\",\"min-date\":new Date(),\"max-date\":new Date('2500-12-31'),\"placeholder\":_vm.$t('device.workCenterEndDate'),\"years-range\":[-500, 10],\"icon\":\"calendar-today\",\"disabled\":!_setup.canEditEquipment,\"position\":'is-top-right',\"editable\":\"\",\"mobile-native\":false,\"icon-right\":_setup.canClearEndDate ? 'close-circle' : '',\"icon-right-clickable\":_setup.canClearEndDate},on:{\"input\":function($event){return _setup.onDateInput($event, 'endDate')},\"icon-right-click\":function($event){_setup.state.formData.endDate = null}},model:{value:(_setup.state.formData.endDate),callback:function ($$v) {_vm.$set(_setup.state.formData, \"endDate\", $$v)},expression:\"state.formData.endDate\"}})],1):_vm._e(),(_setup.state.formData.hasTechnology && _setup.canEnableTechnologyConsole)?_c('b-field',{attrs:{\"label\":_vm.$t('device.technologyStartDate'),\"label-for\":\"technologyStartDate\"}},[_c('b-datepicker',{attrs:{\"id\":\"technologyStartDate\",\"name\":\"technologyStartDate\",\"value\":_setup.state.formData.technologyStartDate,\"placeholder\":_vm.$t('device.technologyStartDate'),\"icon\":\"calendar-today\",\"position\":\"is-top-right\",\"disabled\":\"\"}})],1):_vm._e(),(_setup.state.formData.hasTechnology && _setup.canEnableTechnologyConsole)?_c('b-field',{attrs:{\"label\":_vm.$t('device.technologyEndDate'),\"label-for\":\"technologyEndDate\"}},[_c('b-datepicker',{attrs:{\"id\":\"technologyEndDate\",\"name\":\"technologyEndDate\",\"min-date\":new Date(),\"max-date\":new Date('2500-12-31'),\"placeholder\":_vm.$t('device.technologyEndDate'),\"years-range\":[-500, 10],\"icon\":\"calendar-today\",\"disabled\":!_setup.canEditEquipment,\"position\":\"is-top-right\",\"editable\":\"\",\"mobile-native\":false,\"icon-right\":_setup.canClearTechnologyEndDate ? 'close-circle' : '',\"icon-right-clickable\":_setup.canClearTechnologyEndDate},on:{\"input\":function($event){return _setup.onDateInput($event, 'technologyEndDate')},\"icon-right-click\":function($event){_setup.state.formData.technologyEndDate = null}},model:{value:(_setup.state.formData.technologyEndDate),callback:function ($$v) {_vm.$set(_setup.state.formData, \"technologyEndDate\", $$v)},expression:\"state.formData.technologyEndDate\"}})],1):_vm._e(),(_setup.state.formData.hasCare && _setup.canEnableCareConsole)?_c('b-field',{attrs:{\"label\":_vm.$t('device.careStartDate'),\"label-for\":\"careStartDate\"}},[_c('b-datepicker',{attrs:{\"id\":\"careStartDate\",\"name\":\"careStartDate\",\"value\":_setup.state.formData.careStartDate,\"placeholder\":_vm.$t('device.careStartDate'),\"icon\":\"calendar-today\",\"position\":\"is-top-right\",\"disabled\":\"\"}})],1):_vm._e(),(_setup.state.formData.hasCare && _setup.canEnableCareConsole)?_c('b-field',{attrs:{\"label\":_vm.$t('device.careEndDate'),\"label-for\":\"careEndDate\"}},[_c('b-datepicker',{attrs:{\"id\":\"careEndDate\",\"name\":\"careEndDate\",\"min-date\":new Date(),\"max-date\":new Date('2500-12-31'),\"placeholder\":_vm.$t('device.careEndDate'),\"years-range\":[-500, 10],\"icon\":\"calendar-today\",\"disabled\":!_setup.canEditEquipment,\"position\":\"is-top-right\",\"editable\":\"\",\"mobile-native\":false,\"icon-right\":_setup.canClearCareEndDate ? 'close-circle' : '',\"icon-right-clickable\":_setup.canClearCareEndDate},on:{\"input\":function($event){return _setup.onDateInput($event, 'careEndDate')},\"icon-right-click\":function($event){_setup.state.formData.careEndDate = null}},model:{value:(_setup.state.formData.careEndDate),callback:function ($$v) {_vm.$set(_setup.state.formData, \"careEndDate\", $$v)},expression:\"state.formData.careEndDate\"}})],1):_vm._e()],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":function($event){return _setup.emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),_c('b-tooltip',{attrs:{\"active\":_setup.v$.$invalid,\"label\":_vm.$t('form.form_invalid_submit_tooltip'),\"triggers\":['hover', 'focus'],\"position\":\"is-left\",\"multilined\":\"\",\"type\":\"is-dark\"}},[(_setup.canEditEquipmentNameAndShift)?_c('b-button',{attrs:{\"type\":\"is-success\",\"native-type\":\"submit\",\"data-testid\":\"save-button\",\"loading\":_setup.isSubmitting,\"disabled\":_setup.v$.$invalid},on:{\"click\":_setup.onSubmit}},[_vm._v(\" \"+_vm._s(_setup.actionTitle)+\" \")]):_vm._e()],1)],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-message',{attrs:{\"type\":\"is-info\",\"size\":\"is-small\"}},[_c('i18n',{attrs:{\"path\":\"form.required_fields_hint\"},scopedSlots:_vm._u([{key:\"symbol\",fn:function(){return [_c('span',{staticClass:\"symbol\"},[_vm._v(\"*\")])]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./RequiredFieldsHint.vue?vue&type=template&id=ba47dc50&scoped=true\"\nvar script = {}\nimport style0 from \"./RequiredFieldsHint.vue?vue&type=style&index=0&id=ba47dc50&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ba47dc50\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.ValidationProvider,{attrs:{\"rules\":_vm.rules,\"name\":\"inputs.shift_model_select.label\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{class:[{ required: _setup.required }, 'shift-model-select'],attrs:{\"label\":_vm.$t('inputs.shift_model_select.label'),\"type\":{ 'is-danger': errors[0] },\"message\":errors,\"label-for\":`shift-model-select-${_setup.componentId}`}},[_c('b-dropdown',{attrs:{\"id\":`shift-model-select-${_setup.componentId}`,\"name\":\"shift-model\",\"value\":_vm.value,\"disabled\":_vm.disabled,\"expanded\":\"\"},on:{\"change\":function($event){return _setup.emit('input', $event)}},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('b-button',{class:{ 'is-showing-placeholder': _setup.isNil(_vm.value) },attrs:{\"label\":_setup.triggerLabel,\"loading\":_setup.isLoading,\"expanded\":\"\"}})]},proxy:true}],null,true)},[_vm._l((_setup.shiftModels),function(shiftModel){return _c('b-dropdown-item',{key:shiftModel.id,attrs:{\"value\":shiftModel.id}},[_c('div',{staticClass:\"shift-model-name\"},[_vm._v(\" \"+_vm._s(shiftModel.name)+\" \")]),_c('div',{staticClass:\"shifts\"},_vm._l((_setup.getShifts(shiftModel.id)),function(shift){return _c('span',{key:shift.id,staticClass:\"shift\"},[_c('span',{staticClass:\"shift-name\"},[_vm._v(\" \"+_vm._s(shift.name)+\" \")]),_c('span',{staticClass:\"shift-range\"},[_vm._v(\" (\"+_vm._s(shift.timeFromHh.toString().padStart(2, '0'))+\":\"+_vm._s(shift.timeFromMm.toString().padStart(2, '0'))+\" - \"+_vm._s(shift.timeToHh.toString().padStart(2, '0'))+\":\"+_vm._s(shift.timeToMm.toString().padStart(2, '0'))+\")\")])])}),0)])}),_c('b-dropdown-item',{staticClass:\"shift-model-name\",attrs:{\"value\":_setup.ShiftModel.NONE_ID}},[_vm._v(\" \"+_vm._s(_vm.$t('inputs.shift_model_select.no_shift_model'))+\" \")])],2)],1)]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { Shift } from './shift';\n\nexport class ShiftModel {\n static readonly NONE_ID = -1;\n\n static GetEmpty(): ShiftModel {\n return new ShiftModel(0, '', 0, []);\n }\n constructor(\n public id: number,\n public name: string,\n public tenantId: number,\n public shifts: Shift[],\n ) {}\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\n/**\n * Defines available beta features that can be assigned to a user.\n */\nexport enum BetaFeature {\n WorkCenterConsoleCutCurrentWorkload = 'work-center-console-cut-current-workload',\n WorkCenterConsoleBendSummary = 'work-center-console-bend-summary',\n WorkCenterConsoleBendIntradayStates = 'work-center-console-bend-intraday-states',\n BackOfficeDeviceBillable = 'back-office-device-billable',\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { customersService } from '@/services/tenants.service';\nimport { ValidationProvider } from 'vee-validate';\nimport { shiftModelsService } from '@/services/shiftModels.service';\nimport { ShiftModel } from '@/models/shiftModel';\nimport { Logger } from '@/utils/logger';\nimport { useI18n } from '@/composables/i18n';\nimport { isNil, uniqueId } from '@/utils/misc';\nimport { Shift } from '@/models/shift';\nimport { shiftsService } from '@/services/shifts.service';\nimport { computed, onMounted, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ShiftModelSelect',\n props: {\n value: null,\n customerId: null,\n rules: { default: () => ({}) },\n disabled: { type: Boolean, default: false }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', value: number) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value?: number, customerId?: number, rules: any, disabled: boolean };\n\n\n\n\n\nconst i18n = useI18n();\nconst componentId = uniqueId();\nconst shiftModels = ref([]);\nconst isLoading = ref(false);\n\nonMounted(async () => {\n shiftModels.value = await fetchShiftModels();\n});\n\nasync function fetchShiftModels(): Promise {\n isLoading.value = true;\n\n try {\n const customerId = props.customerId ?? customersService.store.current()!.id;\n return await shiftModelsService.get(customerId);\n } catch (e) {\n Logger.error('Error loading shift models', e);\n return [];\n } finally {\n isLoading.value = false;\n }\n}\n\nfunction getShifts(shiftModelId: number): Shift[] {\n return shiftsService.store.getAllByShiftModelId(shiftModelId);\n}\n\nconst triggerLabel = computed((): string => {\n if (isNil(props.value)) {\n return i18n.t('inputs.shift_model_select.placeholder').toString();\n }\n\n if (props.value === ShiftModel.NONE_ID) {\n return i18n.t('inputs.shift_model_select.no_shift_model').toString();\n }\n\n return selectedShiftModel.value?.name ?? '';\n});\n\nconst selectedShiftModel = computed((): ShiftModel | undefined =>\n shiftModels.value.find((shiftModel) => shiftModel.id === props.value),\n);\n\nconst required = computed(() => 'required' in props.rules);\n\nreturn { __sfc: true,props, emit, i18n, componentId, shiftModels, isLoading, fetchShiftModels, getShifts, triggerLabel, selectedShiftModel, required, ValidationProvider, ShiftModel, isNil }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShiftModelSelect.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShiftModelSelect.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./ShiftModelSelect.vue?vue&type=template&id=021767d8&scoped=true\"\nimport script from \"./ShiftModelSelect.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ShiftModelSelect.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./ShiftModelSelect.vue?vue&type=style&index=0&id=021767d8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"021767d8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-field',{staticClass:\"tenants-select\",class:{ required: _setup.isRequired },attrs:{\"label\":_vm.showLabel ? _vm.$t('inputs.customers_select.label') : undefined,\"type\":{ 'is-danger': _setup.v$.tenantId.$error },\"message\":_setup.getErrorMessage(),\"label-for\":\"tenant\"}},[_c('b-select',{attrs:{\"id\":\"tenant\",\"name\":\"tenant\",\"value\":_setup.state.tenantId,\"validation-message\":_vm.$t('inputs.customers_select.required_validation'),\"required\":_setup.isRequired,\"disabled\":_vm.disabled,\"expanded\":\"\",\"data-testid\":\"tenants-select\",\"loading\":_setup.isLoading},on:{\"input\":_setup.handleSelect,\"blur\":_setup.v$.tenantId.$touch}},_vm._l((_setup.tenants),function(tenant){return _c('option',{key:tenant.id,domProps:{\"value\":tenant.id}},[_vm._v(\" \"+_vm._s(tenant.name)+\" \")])}),0)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { Tenant } from '@/models/tenant';\nimport { RestrictedTenant, tenantsService } from '@/services/tenants.service';\nimport { ValidationRules } from '@/utils/validation';\nimport { isNil } from '@/utils/misc';\nimport useVuelidate from '@vuelidate/core';\nimport { computed, onBeforeMount, reactive, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'TenantsSelect2',\n props: {\n value: null,\n validationRules: { default: () => ({}) },\n disabled: { type: Boolean, default: false },\n showLabel: { type: Boolean, default: false },\n restricted: { type: Boolean, default: false }\n },\n emits: [\"input:name\", \"input\"],\n setup(__props: any, { emit }: { emit: ({\n (e: 'input:name', name: string): void;\n (e: 'input', id: number): void;\n}), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value: number, validationRules: ValidationRules, disabled: boolean, showLabel: boolean, restricted: boolean };\n\n\n\n\nconst tenants = ref>([]);\nconst isLoading = ref(false);\n\nconst state = reactive({\n tenantId: props.value,\n});\nconst validations = {\n tenantId: props.validationRules,\n};\nconst v$ = useVuelidate(validations, state);\n\nonBeforeMount(() => {\n fetchTenants();\n});\n\nasync function fetchTenants() {\n isLoading.value = true;\n try {\n if (props.restricted) {\n tenants.value = await tenantsService.getRestricted();\n } else {\n tenants.value = await tenantsService.get();\n }\n if (!isNil(props.value) && props.value > 0) {\n emit('input:name', getTenantById(props.value)!.name);\n }\n } finally {\n isLoading.value = false;\n }\n}\n\nfunction handleSelect(tenantId: number) {\n state.tenantId = tenantId;\n const tenant = getTenantById(tenantId)!;\n emit('input:name', tenant.name);\n emit('input', tenantId!);\n}\n\nfunction getTenantById(id: number) {\n return tenants.value.find((x) => x.id === id);\n}\n\nfunction getErrorMessage() {\n return v$.value.tenantId.$errors?.[0]?.$message;\n}\n\nconst isRequired = computed(() => 'required' in props.validationRules);\n\nreturn { __sfc: true,props, emit, tenants, isLoading, state, validations, v$, fetchTenants, handleSelect, getTenantById, getErrorMessage, isRequired }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TenantsSelect2.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TenantsSelect2.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./TenantsSelect2.vue?vue&type=template&id=eddd097a\"\nimport script from \"./TenantsSelect2.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TenantsSelect2.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-field',{class:['locations-select', { required: _setup.required }],attrs:{\"label\":_vm.$t('inputs.locations_select.label'),\"label-for\":\"location\",\"type\":{ 'is-danger': _setup.v$.locationId.$error },\"message\":_setup.getErrorMessage()}},[_c('b-select',{attrs:{\"id\":\"location\",\"name\":\"location\",\"placeholder\":_vm.$t('inputs.locations_select.placeholder'),\"disabled\":_vm.disabled,\"expanded\":\"\",\"loading\":_setup.isLoading},on:{\"blur\":_setup.v$.locationId.$touch},model:{value:(_setup.state.locationId),callback:function ($$v) {_vm.$set(_setup.state, \"locationId\", $$v)},expression:\"state.locationId\"}},_vm._l((_setup.locations),function(location){return _c('option',{key:location.id,domProps:{\"value\":location.id}},[_vm._v(\" \"+_vm._s(location.name)+\" \")])}),0)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { Location } from '@/models/location';\nimport { locationsService } from '@/services/locations.service';\nimport { ValidationRules } from '@/utils/validation';\nimport useVuelidate from '@vuelidate/core';\nimport { computed, onBeforeMount, reactive, ref, watch } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LocationsSelect',\n props: {\n value: null,\n validationRules: { default: () => ({}) },\n disabled: { type: Boolean, default: false },\n customerId: null\n },\n emits: [\"input\", \"change\"],\n setup(__props: any, { emit }: { emit: ((e: 'input' | 'change', locationId: number | undefined) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value?: number, validationRules: ValidationRules, disabled: boolean, customerId: number };\n\n\n\n\nconst locations = ref([]);\nconst isLoading = ref(false);\n\nconst state = reactive({\n locationId: props.value,\n});\nconst validations = {\n locationId: props.validationRules,\n};\nconst v$ = useVuelidate(validations, state);\n\nonBeforeMount(() => {\n fetchLocations();\n});\n\nasync function fetchLocations() {\n isLoading.value = true;\n locations.value = await locationsService\n .get(props.customerId)\n .finally(() => (isLoading.value = false));\n}\n\nfunction getErrorMessage() {\n return v$.value.locationId.$errors?.[0]?.$message;\n}\n\nwatch(\n () => state.locationId,\n (locationId: number | undefined) => {\n emit('input', locationId);\n emit('change', locationId);\n },\n);\n\nconst required = computed(() => 'required' in props.validationRules);\n\nreturn { __sfc: true,props, emit, locations, isLoading, state, validations, v$, fetchLocations, getErrorMessage, required }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationsSelect.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationsSelect.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./LocationsSelect.vue?vue&type=template&id=f006ddd8\"\nimport script from \"./LocationsSelect.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LocationsSelect.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nimport {\n ValidationRuleWithParams,\n ValidatorFn,\n ValidationRule,\n ValidationRuleWithoutParams,\n} from '@vuelidate/core';\nimport { ValidationRule as VeeValidateValidationRule } from 'vee-validate/dist/types/types';\nimport { User, UserAuthenticationType } from '@/models/user';\nimport i18n from '@/i18n';\nimport { createI18nMessage, helpers, TranslationFunction } from '@vuelidate/validators';\nimport * as validators from '@vuelidate/validators';\nimport { isEmpty, isNil } from './misc';\nimport { Ref, unref } from 'vue';\n\nexport const password_repeat: VeeValidateValidationRule = {\n validate: (value, args) => (args as any[])[0] === value,\n};\n\nconst t = i18n.t.bind(i18n) as typeof TranslationFunction;\nconst withI18nMessage = createI18nMessage({\n t,\n messagePath: ({ $validator }) => `validation.${$validator}`,\n});\n\nexport const required = withI18nMessage(validators.required);\nexport const maxLength = withI18nMessage(validators.maxLength, { withArguments: true });\nexport const minLength = withI18nMessage(validators.minLength, { withArguments: true });\nexport const email = withI18nMessage(validators.email);\nexport const sameAs = withI18nMessage(validators.sameAs, { withArguments: true });\nexport const or = withI18nMessage(validators.or, { withArguments: true });\nexport const requiredIf = withI18nMessage(validators.requiredIf, { withArguments: true });\nexport const numeric = withI18nMessage(validators.numeric);\nexport const minValue = withI18nMessage(validators.minValue, { withArguments: true });\nexport const maxValue = withI18nMessage(validators.maxValue, { withArguments: true });\n\nexport type ValidationRules = Record>;\n\nexport const withLocalizedValidators = (\n key: string,\n validators: ValidationRules,\n): ValidationRules => {\n return Object.fromEntries(\n Object.entries(validators).map(([name, validator]) => [\n name,\n helpers.withParams({ fieldName: i18n.t(key).toString() }, validator),\n ]),\n );\n};\n\nexport function passwordsMatch(otherPassword: Ref | string): ValidationRuleWithParams {\n const $validator: ValidatorFn = (value, siblings) => {\n return (\n (!isNil(siblings.authenticationType) &&\n siblings.authenticationType !== UserAuthenticationType.Local) ||\n (unref(value) === unref(otherPassword) && !isEmpty(value))\n );\n };\n return {\n $validator,\n $message: () => i18n.t('validation.password_repeat').toString(),\n $params: {\n otherPassword,\n },\n };\n}\n\nexport function optional(\n validator: ValidationRuleWithParams | ValidationRuleWithoutParams,\n): ValidationRule {\n const $params = {\n ...('$params' in validator ? validator.$params : {}),\n validator,\n };\n return {\n ...validator,\n $validator: (value, siblings, vm) => {\n if (!helpers.req(value)) {\n return true;\n }\n return validator.$validator(value, siblings, vm);\n },\n $params,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, onBeforeMount, reactive, ref } from 'vue';\nimport RequiredFieldsHint from '../forms/RequiredFieldsHint.vue';\nimport ShiftModelSelect from '@/components/inputs/ShiftModelSelect.vue';\nimport TenantsSelect from '@/components/inputs/TenantsSelect2.vue';\nimport LocationsSelect from '@/components/inputs/LocationsSelect.vue';\nimport { Customer } from '@/models/tenant';\nimport { Device } from '@/models/device';\nimport { Mode } from '@/models/enums/Mode';\nimport { UserType } from '@/models/userType';\nimport { hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport { devicesService } from '@/services/devices.service';\nimport { isNil } from '@/utils/misc';\nimport { DeviceBaseModel, DeviceModelType } from '@/models/deviceBaseModel';\nimport moment from 'moment';\nimport { usersService } from '@/services/users.service';\nimport { today } from '@/utils/dates';\nimport useVuelidate from '@vuelidate/core';\nimport { withLocalizedValidators, maxLength, required, requiredIf } from '@/utils/validation';\nimport { helpers } from '@vuelidate/validators';\nimport { useI18n } from '@/composables/i18n';\nimport { BetaFeature } from '@/models/enums/BetaFeature';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DeviceFormModal',\n props: {\n mode: null,\n customer: null,\n deviceIn: null\n },\n emits: [\"save\", \"close\"],\n setup(__props: any, { emit }: { emit: ((e: 'save' | 'close') => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as {\n mode: Mode;\n customer?: Customer;\n deviceIn?: Device;\n};\n\n\n\n\n\nconst i18n = useI18n();\n\nconst isSubmitting = ref(false);\nconst state = reactive({\n // Nesting formData here is the only way to make the assignment of Device.GetCopy to work.\n // Otherwise, it's preferable not to nest stuff in a reactive property\n formData: {\n id: 0,\n name: '',\n deviceId: '',\n tenantId: 0,\n locationId: 0,\n deviceBaseModelId: undefined,\n billable: true,\n hasWCC: false,\n hasTechnology: false,\n hasCare: false,\n ip: '',\n sscIp: '',\n equipmentId: '',\n cameraIp: '',\n startDate: undefined,\n endDate: undefined,\n technologyStartDate: undefined,\n technologyEndDate: undefined,\n careStartDate: undefined,\n careEndDate: undefined,\n shiftModelId: undefined,\n } as Partial,\n});\nconst sameDeviceBaseModelCount = ref(0);\nconst dateTimeSegment = ref(null);\n\nconst IP_WITH_OPTIONAL_PORT_REGEX =\n /^((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)(?::(\\d|[1-9]\\d{1,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5]))?$/;\nconst ipWithOptionalPort = helpers.regex(IP_WITH_OPTIONAL_PORT_REGEX);\nconst validations = {\n formData: {\n name: withLocalizedValidators('device.device_name', {\n required,\n nameRegex: helpers.regex(/^[\\w\\p{L} .,-]{1,80}$/u),\n }),\n tenantId: withLocalizedValidators('inputs.customers_select.label', { required }),\n locationId: withLocalizedValidators('inputs.locations_select.label', { required }),\n deviceBaseModelId: withLocalizedValidators('device.baseModelName', { required }),\n ip: withLocalizedValidators('device.ip', { required, ipWithOptionalPort }),\n sscIp: withLocalizedValidators('device.ssc_ip', {\n required: requiredIf(() => isBvcDevice.value),\n ipWithOptionalPort,\n }),\n equipmentId: withLocalizedValidators('device.equipmentId', {\n required,\n maxLength: maxLength(15),\n }),\n cameraIp: withLocalizedValidators('device.cameraIp', {\n ipWithOptionalPort: (value) => !helpers.req(value) || ipWithOptionalPort(value),\n }),\n },\n};\nconst v$ = useVuelidate(validations, state);\n\nonBeforeMount(() => {\n if (!isNil(props.deviceIn)) {\n state.formData = Device.GetCopy(props.deviceIn) as any;\n state.formData.shiftModelId ??= -1;\n } else if (isCreateMode.value) {\n state.formData.id = 0; // FIXME: this shouldn't be needed\n // !: Creation is only allowed from Devices tab from a tenant, so\n // this.tenant must be defined.\n state.formData.tenantId = props.customer!.id;\n }\n});\n\nasync function onSubmit() {\n const isFormValid = await v$.value.$validate();\n if (!isFormValid) {\n return;\n }\n\n if (!isBvcDevice.value) {\n state.formData.sscIp = undefined;\n }\n\n const device = createDeviceFromFormData(state.formData);\n\n isSubmitting.value = true;\n if (isCreateMode.value) {\n device.deviceId = calculatedDeviceId.value;\n\n devicesService\n .create(device)\n .then(() => {\n emit('save');\n emit('close');\n })\n .finally(() => (isSubmitting.value = false));\n } else if (isEditMode.value) {\n devicesService\n .update(device)\n .then(() => {\n emit('save');\n emit('close');\n })\n .finally(() => (isSubmitting.value = false));\n }\n}\n\nasync function handleDeviceBaseModelIdSelected(modelId: string) {\n sameDeviceBaseModelCount.value = await devicesService.getDeviceBaseModelCount(\n state.formData.deviceBaseModelId!,\n );\n\n if (!devicesService.store.isBVC(modelId)) {\n state.formData.hasTechnology = false;\n state.formData.hasCare = false;\n }\n}\n\nfunction onWorkCenterSwitchChanged(isEnabled: boolean) {\n if (isEnabled) {\n state.formData.endDate = null;\n state.formData.startDate = today();\n }\n}\n\nfunction onTechnologySwitchChanged(isEnabled: boolean) {\n if (isEnabled) {\n state.formData.technologyEndDate = null;\n state.formData.technologyStartDate = today();\n }\n}\n\nfunction onLocationInput(locationId: number) {\n state.formData.locationId = locationId;\n}\n\nfunction onCareSwitchChanged(isEnabled: boolean) {\n if (isEnabled) {\n state.formData.careEndDate = null;\n state.formData.careStartDate = today();\n enableWorkCenterConsole();\n }\n}\n\nfunction enableWorkCenterConsole() {\n state.formData.hasWCC = true;\n onWorkCenterSwitchChanged(true);\n}\n\nfunction createDeviceFromFormData(data: Partial): Device {\n return new Device(\n data.id!, // Not from the form, but from deviceIn\n data.deviceId!,\n data.name!,\n data.tenantId!,\n data.tenantName!, // Not from the form, but from deviceIn\n data.deviceBaseModelId!,\n data.deviceBaseModelName!, // Not from the form, but from deviceIn\n data.ip!,\n data.equipmentId!,\n data.hasWCC!,\n data.locationId!,\n data.hasCare!,\n data.hasTechnology!,\n data.billable,\n data.cameraIp,\n data.sscIp,\n data.startDate,\n data.endDate,\n data.technologyStartDate,\n data.technologyEndDate,\n data.careStartDate,\n data.careEndDate,\n data.status, // Not from the form, but from deviceIn\n data.shiftModelId === -1 ? null : data.shiftModelId,\n );\n}\n\nfunction removeTimezoneOffset(date: Date) {\n return moment(date).subtract(date.getTimezoneOffset(), 'minutes').toDate();\n}\n\nfunction onDateInput(date: Date | null, field: keyof Device) {\n if (!date) {\n return;\n }\n\n (state.formData as any)[field] = removeTimezoneOffset(date);\n}\n\nfunction getDeviceModelsByType(value: DeviceModelType): DeviceBaseModel[] {\n switch (value) {\n case DeviceModelType.Laser:\n return devicesService.store.laserModels();\n case DeviceModelType.Bending:\n return devicesService.store.bendModels();\n case DeviceModelType.Tubes:\n return devicesService.store.tubeModels();\n default:\n return [];\n }\n}\n\nfunction getErrorMessage(key: keyof typeof state.formData): string | undefined {\n return v$.value.formData[key].$errors?.[0]?.$message;\n}\n\nconst isEditMode = computed(() => props.mode === Mode.Edit);\nconst isCreateMode = computed(() => props.mode === Mode.Create);\nconst canEditEquipmentNameAndShift = computed(() =>\n hasCurrentUserPermission(UserType.CustomerAdmin),\n);\nconst actionTitle = computed(() => {\n if (isCreateMode.value) {\n return i18n.t('action.create').toString();\n } else if (isEditMode.value) {\n if (!canEditEquipmentNameAndShift.value) {\n return i18n.t('action.view').toString();\n } else {\n return i18n.t('action.save').toString();\n }\n } else {\n return i18n.t('action.close').toString();\n }\n});\nconst storeDeviceBaseModels = computed(() => devicesService.store.models());\nconst calculatedDeviceId = computed(() => {\n if (isCreateMode.value && !isNil(props.customer)) {\n let selectedDeviceBaseModel: DeviceBaseModel | undefined;\n let typePrefix = '';\n if (state.formData.deviceBaseModelId) {\n selectedDeviceBaseModel = storeDeviceBaseModels.value.find(\n (dm) => dm.deviceBaseModelId === state.formData.deviceBaseModelId,\n );\n typePrefix = selectedDeviceBaseModel?.type.charAt(0).toUpperCase() + '-';\n }\n let tenantPrefix = '';\n if (state.formData.tenantId !== undefined && state.formData.tenantId > 0) {\n tenantPrefix = props.customer.tenantIdDh.toString().padStart(4, '0').substring(0, 4) + '-';\n }\n\n dateTimeSegment.value = dateTimeSegment.value ?? moment().format('YYYYMMDDHHmm-');\n\n return (\n typePrefix +\n tenantPrefix +\n dateTimeSegment.value +\n (sameDeviceBaseModelCount.value + 1).toString().padStart(3, '0')\n );\n } else if (isEditMode.value) {\n return state.formData.deviceId!;\n } else {\n return i18n.t('device.name').toString();\n }\n});\nconst isBvcDevice = computed(() => devicesService.store.isBVC(state.formData.deviceBaseModelId!));\nconst canEditEquipment = computed(() => hasCurrentUserPermission(UserType.SubsidiaryAdmin));\nconst canToggleWorkCenterConsole = computed(\n () => canEditEquipment.value && !state.formData.hasCare,\n);\nconst canEnableCareConsole = computed(() => hasCurrentUserPermission(UserType.SubsidiaryAdmin));\nconst canEnableTechnologyConsole = computed(() => canEnableCareConsole.value);\nconst currentUser = computed(() => usersService.store.current());\nconst deviceModelTypes = computed(() => Object.values(DeviceModelType));\nconst canClearEndDate = computed(() => !isNil(state.formData.endDate) && canEditEquipment.value);\nconst canClearTechnologyEndDate = computed(\n () => !isNil(state.formData.technologyEndDate) && canEditEquipment.value,\n);\nconst canClearCareEndDate = computed(\n () => !isNil(state.formData.careEndDate) && canEditEquipment.value,\n);\nconst canToggleBillable = computed(\n () =>\n currentUser.value.isGlobalAdmin &&\n currentUser.value.hasBetaFeature(BetaFeature.BackOfficeDeviceBillable),\n);\n\nreturn { __sfc: true,props, emit, i18n, isSubmitting, state, sameDeviceBaseModelCount, dateTimeSegment, IP_WITH_OPTIONAL_PORT_REGEX, ipWithOptionalPort, validations, v$, onSubmit, handleDeviceBaseModelIdSelected, onWorkCenterSwitchChanged, onTechnologySwitchChanged, onLocationInput, onCareSwitchChanged, enableWorkCenterConsole, createDeviceFromFormData, removeTimezoneOffset, onDateInput, getDeviceModelsByType, getErrorMessage, isEditMode, isCreateMode, canEditEquipmentNameAndShift, actionTitle, storeDeviceBaseModels, calculatedDeviceId, isBvcDevice, canEditEquipment, canToggleWorkCenterConsole, canEnableCareConsole, canEnableTechnologyConsole, currentUser, deviceModelTypes, canClearEndDate, canClearTechnologyEndDate, canClearCareEndDate, canToggleBillable, RequiredFieldsHint, ShiftModelSelect, TenantsSelect, LocationsSelect }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFormModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFormModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./DeviceFormModal.vue?vue&type=template&id=8f964ff4&scoped=true\"\nimport script from \"./DeviceFormModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DeviceFormModal.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./DeviceFormModal.vue?vue&type=style&index=0&id=8f964ff4&prod&lang=scss&scoped=true\"\nimport style1 from \"./DeviceFormModal.vue?vue&type=style&index=1&id=8f964ff4&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8f964ff4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.GenericKeyCopyModal,{staticClass:\"device-sas-modal\",attrs:{\"title\":\"SAS BySoft Business\",\"loading\":_setup.loading,\"value\":_setup.sas},on:{\"close\":function($event){return _setup.emit('close')}}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { customersService } from '@/services/tenants.service';\nimport GenericKeyCopyModal from '@/components/GenericKeyCopyModal.vue';\nimport { onMounted, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DeviceSASModal',\n props: {\n customerId: null\n },\n emits: ['close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n customerId: number;\n};\n\n\n\n\n\nconst loading = ref(false);\nconst sas = ref(null);\n\nonMounted(async () => {\n loading.value = true;\n try {\n sas.value = await customersService.getBlobStorageSAS(props.customerId);\n } catch (e) {\n emit('close');\n } finally {\n loading.value = false;\n }\n});\n\nreturn { __sfc: true,props, emit, loading, sas, GenericKeyCopyModal }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceSASModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceSASModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./DeviceSASModal.vue?vue&type=template&id=e7606f82\"\nimport script from \"./DeviceSASModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DeviceSASModal.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-table',{staticClass:\"table-with-actions\",class:[\n 'buttoned-row',\n {\n 'has-actions': _vm.actionsWereDeclared,\n 'has-custom-title': !!_vm.titleField,\n 'is-hoverable': _vm.hoverable,\n },\n ],attrs:{\"hoverable\":_vm.hoverable,\"data\":_vm.data,\"paginated\":_vm.paginated,\"per-page\":_vm.rowsPerPage,\"pagination-simple\":_vm.paginationSimple,\"pagination-position\":_vm.paginationPosition,\"default-sort-direction\":_vm.defaultSortDirection,\"sort-icon\":_vm.sortIcon,\"sort-icon-size\":_vm.sortIconSize,\"default-sort\":_vm.defaultSort,\"loading\":_vm.loading,\"detailed\":_vm.detailed,\"detail-key\":_vm.detailKey,\"aria-next-label\":_vm.$t('next_page'),\"aria-previous-label\":_vm.$t('previous_page'),\"aria-page-label\":_vm.$t('page'),\"aria-current-label\":_vm.$t('current_page')},on:{\"click\":function($event){return _vm.$emit('click', $event)}},scopedSlots:_vm._u([(!_vm.loading)?{key:\"empty\",fn:function(){return [_c('div',{staticClass:\"empty-text\"},[_vm._t(\"empty\",function(){return [_vm._v(\" \"+_vm._s(_vm.$t('report.no_elements'))+\" \")]})],2)]},proxy:true}:null,(_vm.hasBottomLeftSlot || _vm.paginated)?{key:\"bottom-left\",fn:function(){return [_vm._t(\"bottom-left\",function(){return [_c('b-select',{model:{value:(_vm.rowsPerPage),callback:function ($$v) {_vm.rowsPerPage=$$v},expression:\"rowsPerPage\"}},_vm._l(([5, 10, 15, 20]),function(option){return _c('option',{key:option,domProps:{\"value\":option}},[_vm._v(\" \"+_vm._s(_vm.$t('per_page', { count: option }))+\" \")])}),0)]})]},proxy:true}:null,(_vm.hasDetailsSlot)?{key:\"detail\",fn:function(props){return [_vm._t(\"detail\",null,null,props)]}}:null],null,true)},[_c('b-table-column',{attrs:{\"visible\":!!_vm.titleField,\"field\":_vm.titleField,\"label\":_vm.titleLabel || _vm.defaultTitleLabel,\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('span',[_vm._v(_vm._s(props.row[_vm.titleField]))]),(_vm.actionsWereDeclared)?[_c('table-actions-list',[_vm._t(\"actions\",null,{\"row\":props.row})],2)]:_vm._e()]}}],null,true)}),_vm._t(\"default\"),_c('b-table-column',{attrs:{\"visible\":_vm.actionsWereDeclared,\"cell-class\":\"actions-cell\",\"width\":\"1%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('table-actions-list',[_vm._t(\"actions\",null,{\"row\":props.row})],2)]}}],null,true)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport TableActionsList from '@/components/tableWithActions/TableActionsList.vue';\nimport { SortOrder } from '@/models/enums/SortOrder';\n\ntype PaginationPosition = 'top' | 'bottom';\ntype SortIconSize = 'is-small' | 'is-medium' | 'is-large' | '';\n\n/**\n * @deprecated: To be replaced by TableWithActions2 in the (near, I hope) future.\n */\n@Component({\n components: {\n TableActionsList,\n },\n})\nexport default class TableWithActions extends Vue {\n @Prop({ required: true })\n private data!: any[];\n\n @Prop({ default: true, type: Boolean })\n private paginated!: boolean;\n\n @Prop({ default: 10 })\n private rowsPerPage!: number;\n\n @Prop({ default: false, type: Boolean })\n private paginationSimple!: boolean;\n\n @Prop({ default: 'bottom' })\n private paginationPosition!: PaginationPosition;\n\n @Prop({ default: SortOrder.Ascending })\n private defaultSortDirection!: SortOrder;\n\n @Prop({ default: 'arrow-up' })\n private sortIcon!: string;\n\n @Prop({ default: 'is-small' })\n private sortIconSize!: SortIconSize;\n\n @Prop({ required: false })\n private defaultSort?: string | string[];\n\n @Prop({ required: false })\n private titleField?: string;\n\n @Prop({ required: false })\n private titleLabel?: string;\n\n @Prop({ default: false, type: Boolean })\n private loading!: boolean;\n\n @Prop({ default: false, type: Boolean })\n private hoverable!: boolean;\n\n @Prop({ default: false, type: Boolean })\n private detailed!: boolean;\n\n @Prop()\n private detailKey?: string;\n\n private get actionsWereDeclared(): boolean {\n return !!this.$scopedSlots.actions;\n }\n\n private get defaultTitleLabel(): string {\n return this.$t('form.name').toString();\n }\n\n private get hasBottomLeftSlot(): boolean {\n return 'bottom-left' in this.$slots || 'bottom-left' in this.$scopedSlots;\n }\n\n private get hasDetailsSlot(): boolean {\n return 'detail' in this.$slots || 'detail' in this.$scopedSlots;\n }\n}\n\nexport function truncatedValueColumnEllipsisTitle(row: any, column: any) {\n return {\n title: row[column.field],\n };\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableWithActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableWithActions.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TableWithActions.vue?vue&type=template&id=03cf5760&scoped=true\"\nimport script from \"./TableWithActions.vue?vue&type=script&lang=ts\"\nexport * from \"./TableWithActions.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TableWithActions.vue?vue&type=style&index=0&id=03cf5760&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"03cf5760\",\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { Device } from '@/models/device';\nimport { devicesService } from '@/services/devices.service';\nimport { currentUser } from '@/utils/permissionUtils';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { customersService } from '@/services/tenants.service';\n\nexport async function getAllDevices(): Promise {\n if (canCurrentUserHaveDevices()) {\n return await devicesService.getAll();\n } else {\n devicesService.store.updateAll([]);\n return Promise.resolve([]);\n }\n}\n\nexport async function getAllDevicesByCustomerId(customerId: number): Promise {\n if (canCurrentUserHaveDevices()) {\n const devices = await devicesService.getAllByCustomerId(customerId);\n if (customersService.store.current()?.id === customerId) {\n devicesService.store.updateAll(devices);\n }\n return devices;\n } else {\n devicesService.store.updateAll([]);\n return Promise.resolve([]);\n }\n}\n\nfunction canCurrentUserHaveDevices() {\n return (\n currentUser().consoles.includes(ConsoleEnum.WCC) ||\n currentUser().isGlobalAdmin ||\n currentUser().isServiceUserType ||\n currentUser().isTechnologyUser\n );\n}\n","var render, staticRenderFns\nimport script from \"./SlotComponent.vue?vue&type=script&lang=ts\"\nexport * from \"./SlotComponent.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { isNil } from '@/utils/misc';\nimport { DialogProgrammatic } from 'buefy';\nimport { BComponent, BDialogConfig } from 'buefy/types/components';\n\ntype DialogMethod = (params: BDialogConfig) => BComponent;\n\nclass DialogService {\n private openWithPromise(method: DialogMethod, params: BDialogConfig) {\n return method({\n hasIcon: true,\n ...params,\n closeOnConfirm: false,\n onConfirm: async (value, dialog) => {\n const { cancelLoading, close, startLoading } = dialog;\n if (isNil(params.onConfirm)) {\n close();\n return;\n }\n startLoading();\n try {\n await params.onConfirm(value, dialog);\n close();\n } finally {\n cancelLoading();\n }\n },\n });\n }\n\n confirmWithPromise(params: BDialogConfig): BComponent {\n return this.openWithPromise(DialogProgrammatic.confirm, params);\n }\n}\n\nexport const dialogService = new DialogService();\n","import { defineComponent as _defineComponent } from 'vue'\nimport { Device } from '@/models/device';\nimport { devicesService } from '@/services/devices.service';\nimport { Customer } from '@/models/tenant';\nimport { Mode } from '@/models/enums/Mode';\nimport { UserType } from '@/models/userType';\nimport { hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport { locationsService } from '@/services/locations.service';\nimport { Location } from '@/models/location';\nimport DeviceFormModal from '@/components/devices/DeviceFormModal.vue';\nimport DeviceSASModal from '@/components/devices/DeviceSASModal.vue';\nimport TableActionButton from '@/components/tableWithActions/TableActionButton.vue';\nimport TableWithActions from '@/components/tableWithActions/TableWithActions.vue';\nimport { matchIgnoringCase } from '@/utils/table';\nimport { ShiftModel } from '@/models/shiftModel';\nimport { shiftModelsService } from '@/services/shiftModels.service';\nimport moment from 'moment';\nimport { getAllDevices, getAllDevicesByCustomerId } from '@/use-cases/devices';\nimport { modalService } from '@/library-services/modal.service';\nimport { dialogService } from '@/library-services/dialog.service';\nimport { computed, getCurrentInstance, onBeforeMount, ref } from 'vue';\nimport { useI18n } from '@/composables/i18n';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Devices',\n props: {\n customer: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n /**\n This customer will be undefined when the table is accessed directly\n through the cog menu\n */\n customer?: Customer;\n};\n\n\n\nconst app = getCurrentInstance();\nconst i18n = useI18n();\nconst devices = ref([]);\nconst locations = ref([]);\nconst shiftModels = ref([]);\n\nconst isLoading = ref(false);\n\nonBeforeMount(async () => {\n // I set isLoading to true here because I don't want the table to be usable until all data has been loaded.\n // However, I don't want to set isLoading to false here because updateDevices() gets called in another place too,\n // and I want updateDevices() to handle isLoading in those cases\n isLoading.value = true;\n\n shiftModels.value = await shiftModelsService.get(props.customer?.id);\n locations.value = await locationsService.get(props.customer?.id);\n\n await updateDevices();\n});\n\nasync function getWithStatuses() {\n const deviceStatuses = await devicesService.getDevicesStatus(props.customer?.id);\n\n devices.value = devices.value.map((device) => {\n const deviceStatus = deviceStatuses.find((status) => device.deviceId === status.deviceId);\n\n if (deviceStatus) {\n device.status = deviceStatus;\n } else {\n device.setStatusToNotAvailable();\n }\n\n return device;\n });\n}\n\nasync function openDeviceFormModal(mode: Mode, deviceToEdit?: Device) {\n modalService.compositionApi.open(\n {\n component: DeviceFormModal,\n events: {\n save: () => updateDevices(),\n },\n props: {\n mode,\n customer: props.customer,\n deviceIn: deviceToEdit,\n },\n },\n app,\n );\n}\n\nasync function updateDevices() {\n isLoading.value = true;\n\n try {\n devices.value = props.customer?.id\n ? await getAllDevicesByCustomerId(props.customer?.id)\n : await getAllDevices();\n } finally {\n isLoading.value = false;\n }\n\n await getWithStatuses();\n}\n\nasync function deleteDevice(id: number) {\n await devicesService.delete(id).then(() => {\n devices.value = devices.value.filter((x) => x.id !== id);\n devicesService.store.updateAll(devices.value as Device[]);\n });\n}\n\nfunction confirmDelete(device: Device): void {\n dialogService.confirmWithPromise({\n title: i18n.t('dialog.confirm_delete_title').toString(),\n message: i18n\n .t('confirmation.message', {\n action: i18n.t('action.delete').toString().toLowerCase(),\n entity: i18n.t('device.name').toString().toLowerCase(),\n name: device.deviceId,\n })\n .toString(),\n confirmText: i18n.t('dialog.confirm_delete').toString(),\n cancelText: i18n.t(`dialog.confirm_cancel`).toString(),\n type: 'is-danger',\n onConfirm: async () => await deleteDevice(device.id),\n });\n}\n\nasync function getSas() {\n modalService.compositionApi.open(\n {\n component: DeviceSASModal,\n canCancel: ['outside'],\n props: {\n customerId: props.customer!.id,\n },\n },\n app,\n );\n}\n\nfunction getLocationName(locationId: number): string {\n const location = locations.value.find((location) => location.id === locationId);\n\n return location!.name;\n}\n\nfunction getShiftModelName(shiftModelId?: number): string {\n const shiftModel = shiftModels.value.find((shiftModel) => shiftModel.id === shiftModelId);\n\n return shiftModel!.name;\n}\n\nfunction matchesLocation(device: Device, searchText: string): boolean {\n return matchIgnoringCase(getLocationName(device.locationId), searchText);\n}\n\nfunction matchesShiftModel(device: Device, searchText: string): boolean {\n if (!device.shiftModelId) {\n return matchIgnoringCase(i18n.t('shift_model.unassigned').toString(), searchText);\n }\n return matchIgnoringCase(getShiftModelName(device.shiftModelId), searchText);\n}\n\nfunction searchLastStatus(device: Device, filter: string) {\n return matchIgnoringCase(device.status ? device.status.lastSeenAgoText : '', filter);\n}\n\nfunction sortByLastStatus(a: Device, b: Device, isAsc: boolean) {\n if (a.status && a.status.lastSeen && b.status && b.status.lastSeen) {\n const dateA = moment(a.status.lastSeen);\n const dateB = moment(b.status.lastSeen);\n if (dateA.isBefore(dateB)) {\n return isAsc ? -1 : 1;\n } else if (dateA.isAfter(dateB)) {\n return isAsc ? 1 : -1;\n }\n }\n return 0;\n}\n\nfunction searchLastStatusText(device: Device, filter: string) {\n return matchIgnoringCase(device.status ? device.status.statusText : '', filter);\n}\n\nfunction sortByLastStatusText(a: Device, b: Device, isAsc: boolean) {\n const translatedTypeA: string = a.status ? a.status.statusText : '';\n const translatedTypeB: string = b.status ? b.status.statusText : '';\n return isAsc\n ? translatedTypeA.localeCompare(translatedTypeB)\n : translatedTypeB.localeCompare(translatedTypeA);\n}\n\nconst canCreateAndDeleteEquipment = computed(() =>\n hasCurrentUserPermission(UserType.SubsidiaryAdmin),\n);\nconst canEditEquipment = computed(\n () => canCreateAndDeleteEquipment.value || hasCurrentUserPermission(UserType.CustomerAdmin),\n);\nconst canGetSmbsSas = computed(() => hasCurrentUserPermission(UserType.SubsidiaryAdmin));\n\nreturn { __sfc: true,props, app, i18n, devices, locations, shiftModels, isLoading, getWithStatuses, openDeviceFormModal, updateDevices, deleteDevice, confirmDelete, getSas, getLocationName, getShiftModelName, matchesLocation, matchesShiftModel, searchLastStatus, sortByLastStatus, searchLastStatusText, sortByLastStatusText, canCreateAndDeleteEquipment, canEditEquipment, canGetSmbsSas, Mode, TableActionButton, TableWithActions }\n}\n\n})","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Devices.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Devices.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./Devices.vue?vue&type=template&id=58b173a3&scoped=true\"\nimport script from \"./Devices.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Devices.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./Devices.vue?vue&type=style&index=0&id=58b173a3&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58b173a3\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"subsidiaries\"},[_c('b-field',{attrs:{\"grouped\":\"\"}},[(_setup.canCreateOrDeleteSubsidiaries)?_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"plus\"},on:{\"click\":function($event){return _setup.createSubsidiary()}}},[_vm._v(\" \"+_vm._s(_vm.$t('subsidiary.title_new'))+\" \")]):_vm._e()],1),_c(_setup.TableWithActions,{attrs:{\"data\":_setup.subsidiaries,\"defaultSort\":\"id\",\"loading\":_setup.isLoading},scopedSlots:_vm._u([{key:\"actions\",fn:function(props){return [_c(_setup.TableActionButton,{attrs:{\"icon\":_setup.canEditSubsidiaries ? 'pencil' : 'eye-outline'},on:{\"click\":function($event){return _setup.startEdit(props.row)}}},[_vm._v(\" \"+_vm._s(_setup.canEditSubsidiaries ? _vm.$t('action.edit') : _vm.$t('action.view'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"trash-can-outline\",\"disabled\":!_setup.canCreateOrDeleteSubsidiaries},on:{\"click\":function($event){return _setup.confirmDelete(props.row)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.delete'))+\" \")])]}}])},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":_vm.$t('form.name'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.name)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"code\",\"label\":_vm.$t('subsidiary.number'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.code)+\" \")]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nimport axios from 'axios';\nimport { BaseUrl } from '@/models/constants';\nimport { Subsidiary } from '@/models/subsidiary';\nimport { User } from '@/models/user';\n\nexport type RestrictedSubsidiary = {\n id: number;\n name: string;\n};\n\nclass SubsidiariesService {\n async get(): Promise {\n const response: any = await axios.get(`${BaseUrl}/subsidiaries`);\n return response.data;\n }\n\n getById(id: number | null): Promise {\n return axios.get(`${BaseUrl}/subsidiaries/${id}`).then((response: any) => {\n return response.data;\n });\n }\n\n getNameById(id: number): Promise {\n return this.getById(id).then((subsidiary) => subsidiary.name);\n }\n\n async getRestricted(): Promise {\n return await axios\n .get(`${BaseUrl}/subsidiaries/restricted`)\n .then((response) => response.data);\n }\n\n delete(id: number): Promise {\n return axios.delete(`${BaseUrl}/subsidiaries/${id}`).then((response: any) => {\n return response.data;\n });\n }\n\n update(subsidiary: Subsidiary) {\n return axios.put(`${BaseUrl}/subsidiaries/`, subsidiary).then((response: any) => {\n return response.data;\n });\n }\n\n create(subsidiary: Subsidiary) {\n return axios.post(`${BaseUrl}/subsidiaries/`, subsidiary).then((response: any) => {\n return response.data;\n });\n }\n\n getUsers(id: number): Promise {\n return axios.get(`${BaseUrl}/subsidiaries/${id}/users`).then((response) => {\n return response.data.map((user) => User.GetCopy(user));\n });\n }\n}\n\nexport const subsidiariesService = new SubsidiariesService();\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{ref:\"formRef\",staticClass:\"subsidiary-creation-modal\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"modal-card\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\" \"+_vm._s(_vm.$t(`subsidiary.title_create`))+\" \")])]),_c('section',{staticClass:\"modal-card-body\"},[_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t(`form.name`)}},[_c('b-input',{attrs:{\"name\":\"name\",\"placeholder\":_vm.$t(`form.name`),\"required\":\"\",\"maxlength\":\"256\",\"validation-message\":_vm.$t('form.input_validation'),\"has-counter\":false},model:{value:(_setup.subsidiary.name),callback:function ($$v) {_vm.$set(_setup.subsidiary, \"name\", $$v)},expression:\"subsidiary.name\"}})],1),_c('b-field',{staticClass:\"field-margin-top-10 required\",attrs:{\"label\":_vm.$t(`subsidiary.code`)}},[_c('b-input',{attrs:{\"name\":\"code\",\"type\":\"number\",\"placeholder\":_vm.$t(`subsidiary.code`),\"required\":\"\",\"min\":\"1\",\"max\":\"2147483000\",\"maxlength\":\"10\",\"validation-message\":_vm.$t('form.input_validation'),\"has-counter\":false},model:{value:(_setup.subsidiary.code),callback:function ($$v) {_vm.$set(_setup.subsidiary, \"code\", $$v)},expression:\"subsidiary.code\"}})],1)],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":function($event){return _setup.emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),_c('b-button',{attrs:{\"type\":\"is-success\",\"disabled\":!_setup.isEnabled,\"loading\":_setup.isSubmitting,\"data-testid\":\"submit-button\"},on:{\"click\":_setup.onSubmit}},[_vm._v(\" \"+_vm._s(_vm.$t('action.create'))+\" \")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nexport class Subsidiary {\n static GetEmpty(): Subsidiary {\n return new Subsidiary(0, '', 0);\n }\n static GetCopy(original: Subsidiary): Subsidiary {\n return new Subsidiary(original.id, original.name, original.code);\n }\n constructor(public id: number, public name: string, public code: number) {}\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { reactive, ref, watch } from 'vue';\nimport { Subsidiary } from '../../models/subsidiary';\nimport { subsidiariesService } from '@/services/subsidiaries.service';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SubsidiaryCreationModal',\n emits: ['save', 'close'],\n setup(__props, { emit }) {\n\n\n\nconst formRef = ref();\nconst subsidiary = reactive(Subsidiary.GetEmpty());\nconst isSubmitting = ref(false);\nconst isEnabled = ref(false);\n\nasync function onSubmit() {\n isSubmitting.value = true;\n subsidiariesService\n .create(subsidiary)\n .then(() => {\n emit('save');\n emit('close');\n })\n .finally(() => (isSubmitting.value = false));\n}\n\nwatch(\n subsidiary,\n () => {\n isEnabled.value = formRef.value?.checkValidity() ?? false;\n },\n { deep: true },\n);\n\nreturn { __sfc: true,emit, formRef, subsidiary, isSubmitting, isEnabled, onSubmit }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryCreationModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryCreationModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SubsidiaryCreationModal.vue?vue&type=template&id=2e164073&scoped=true\"\nimport script from \"./SubsidiaryCreationModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SubsidiaryCreationModal.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./SubsidiaryCreationModal.vue?vue&type=style&index=0&id=2e164073&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e164073\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { Subsidiary } from '@/models/subsidiary';\nimport { subsidiariesService } from '@/services/subsidiaries.service';\nimport { Routes } from '@/router/routes';\nimport SubsidiaryCreationModal from '@/components/subsidiaries/SubsidiaryCreationModal.vue';\nimport { UserType } from '@/models/userType';\nimport TableActionButton from '@/components/tableWithActions/TableActionButton.vue';\nimport TableWithActions from '@/components/tableWithActions/TableWithActions.vue';\nimport { usersService } from '@/services/users.service';\nimport { hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport { modalService } from '@/library-services/modal.service';\nimport { dialogService } from '@/library-services/dialog.service';\nimport { computed, getCurrentInstance, onBeforeMount, ref } from 'vue';\nimport { useI18n } from '@/composables/i18n';\nimport { useRouter } from '@/composables/router';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Subsidiaries',\n setup(__props) {\n\nconst i18n = useI18n();\nconst app = getCurrentInstance();\nconst router = useRouter();\n\nconst subsidiaries = ref([]);\nconst isLoading = ref(false);\n\nonBeforeMount(async () => {\n await getSubsidiaries();\n});\n\nfunction confirmDelete(subsidiary: Subsidiary): void {\n dialogService.confirmWithPromise({\n title: i18n.t('dialog.confirm_delete_title').toString(),\n message: `${i18n\n .t('confirmation.message', {\n action: i18n.t('action.delete').toString().toLowerCase(),\n entity: i18n.t('subsidiary.name').toString().toLowerCase(),\n name: subsidiary.name,\n })\n .toString()}\n\t\t\t\t${i18n.t('subsidiary.msg_delete').toString()}`,\n confirmText: i18n.t('dialog.confirm_delete').toString(),\n cancelText: i18n.t(`dialog.confirm_cancel`).toString(),\n type: 'is-danger',\n onConfirm: async () => await deleteSubsidiary(subsidiary.id),\n });\n}\n\nasync function startEdit(subsidiary: Subsidiary) {\n router.push({ name: Routes.SubsidiaryDetail, params: { id: subsidiary.id.toString() } });\n}\n\nfunction createSubsidiary() {\n modalService.compositionApi.open(\n {\n component: SubsidiaryCreationModal,\n events: {\n save: async () => await getSubsidiaries(),\n },\n },\n app,\n );\n}\n\nasync function getSubsidiaries() {\n isLoading.value = true;\n subsidiaries.value = await subsidiariesService.get().finally(() => (isLoading.value = false));\n}\n\nasync function deleteSubsidiary(id: number) {\n await subsidiariesService.delete(id).then(() => {\n subsidiaries.value = subsidiaries.value.filter((x) => x.id !== id);\n });\n}\n\nconst canEditSubsidiaries = computed(() => hasCurrentUserPermission(UserType.SubsidiaryAdmin));\nconst canCreateOrDeleteSubsidiaries = computed(() => usersService.store.current().isGlobalAdmin);\n\nreturn { __sfc: true,i18n, app, router, subsidiaries, isLoading, confirmDelete, startEdit, createSubsidiary, getSubsidiaries, deleteSubsidiary, canEditSubsidiaries, canCreateOrDeleteSubsidiaries, TableActionButton, TableWithActions }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Subsidiaries.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Subsidiaries.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./Subsidiaries.vue?vue&type=template&id=160f0688\"\nimport script from \"./Subsidiaries.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Subsidiaries.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"main subsidiary-detail\"},[_c('div',{staticClass:\"tags has-addons\"},[_c('span',{staticClass:\"tag\"},[_vm._v(_vm._s(_vm.$t('subsidiary.name')))]),_c('span',{staticClass:\"tag is-primary\"},[_vm._v(_vm._s(_setup.subsidiary.name))])]),_c('b-tabs',[_c('b-tab-item',{attrs:{\"label\":_vm.$t(`subsidiary.details`)}},[(_setup.subsidiary.id > 0)?_c(_setup.SubsidiaryProperties,{attrs:{\"subsidiary\":_setup.subsidiary}}):_vm._e()],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t(`subsidiary.users`)}},[(_setup.subsidiary.id > 0)?_c(_setup.SubsidiaryUsers,{attrs:{\"subsidiary\":_setup.subsidiary}}):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"subsidiary-properties\"},[_c('form',{ref:\"formRef\",staticClass:\"required\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('b-field',{attrs:{\"label\":_vm.$t(`form.name`)}},[_c('b-input',{attrs:{\"name\":\"name\",\"placeholder\":_vm.$t(`form.name`),\"required\":\"\",\"maxlength\":\"256\",\"validation-message\":_vm.$t('form.input_validation')},model:{value:(_setup.editSubsidiary.name),callback:function ($$v) {_vm.$set(_setup.editSubsidiary, \"name\", $$v)},expression:\"editSubsidiary.name\"}})],1),_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t(`subsidiary.code`)}},[_c('b-input',{attrs:{\"name\":\"code\",\"placeholder\":_vm.$t(`subsidiary.code`),\"required\":\"\",\"type\":\"number\",\"min\":\"0\",\"max\":\"2147483000\",\"validation-message\":_vm.$t('form.input_validation')},model:{value:(_setup.editSubsidiary.code),callback:function ($$v) {_vm.$set(_setup.editSubsidiary, \"code\", $$v)},expression:\"editSubsidiary.code\"}})],1),_c('footer',{staticClass:\"buttons is-right\"},[_c('b-button',{attrs:{\"native-type\":\"submit\",\"disabled\":!_setup.isEnabled,\"loading\":_setup.isSubmitting,\"data-testid\":\"submit-button\"},on:{\"click\":_setup.onSubmit}},[_vm._v(\" \"+_vm._s(_vm.$t('action.save'))+\" \")])],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { subsidiariesService } from '@/services/subsidiaries.service';\nimport { Subsidiary } from '@/models/subsidiary';\nimport { toastService } from '@/library-services/toast.service';\nimport { reactive, ref, watch } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SubsidiaryProperties',\n props: {\n subsidiary: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n subsidiary: Subsidiary;\n};\n\n\n\nconst formRef = ref();\nconst editSubsidiary = reactive(Subsidiary.GetCopy(props.subsidiary));\nconst isSubmitting = ref(false);\nconst isEnabled = ref(false);\n\nasync function onSubmit() {\n isSubmitting.value = true;\n subsidiariesService\n .update(editSubsidiary)\n .then(() => toastService.success('changes_saved'))\n .finally(() => (isSubmitting.value = false));\n}\n\nwatch(\n editSubsidiary,\n () => {\n isEnabled.value = formRef.value?.checkValidity() ?? false;\n },\n { deep: true },\n);\n\nreturn { __sfc: true,props, formRef, editSubsidiary, isSubmitting, isEnabled, onSubmit }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryProperties.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryProperties.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SubsidiaryProperties.vue?vue&type=template&id=d8b84cc2&scoped=true\"\nimport script from \"./SubsidiaryProperties.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SubsidiaryProperties.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./SubsidiaryProperties.vue?vue&type=style&index=0&id=d8b84cc2&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d8b84cc2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"subsidiary-users\"},[_c('div',{staticClass:\"actions\"},[_c(_setup.UserCreationDropdown,{attrs:{\"allowedTypes\":[_setup.UserType.SubsidiaryAdmin, _setup.UserType.ServiceUser],\"subsidiaryId\":_vm.subsidiary.id},on:{\"close\":function($event){return _setup.onUserFormClosed()}}})],1),_c(_setup.TableWithActions,{attrs:{\"data\":_setup.users,\"defaultSort\":\"id\",\"loading\":_setup.isLoading},scopedSlots:_vm._u([{key:\"actions\",fn:function({ row: user }){return [_c(_setup.TableActionButton,{attrs:{\"disabled\":!_setup.canResetPasswordOn(user),\"icon\":\"key-variant\"},on:{\"click\":function($event){return _setup.resetPassword(user)}}},[_vm._v(\" \"+_vm._s(_vm.$t('user.reset_password'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"pencil\",\"disabled\":!_setup.canEdit(user)},on:{\"click\":function($event){return _setup.editUser(user)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.edit'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"trash-can-outline\",\"disabled\":_setup.currentUser().equals(user) || !_setup.canEdit(user)},on:{\"click\":function($event){return _setup.confirmDelete(user.id, user.name)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.delete'))+\" \")])]}}])},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":_vm.$t('form.name'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: user }){return [_vm._v(\" \"+_vm._s(user.name)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"email\",\"label\":_vm.$t('user.email'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: user }){return [_vm._v(\" \"+_vm._s(user.email)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"userType\",\"label\":_vm.$t('user.type'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: user }){return [_vm._v(\" \"+_vm._s(_vm.$t(`user.user_type.${user.userType}`))+\" \")]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"password-reset-modal\",on:{\"submit\":function($event){$event.preventDefault();return _setup.onSubmit()}}},[_c('div',{staticClass:\"modal-card\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\" \"+_vm._s(_vm.$t(`user.reset_password`))+\" \")])]),_c('section',{staticClass:\"modal-card-body\"},[_c('b-field',{staticClass:\"field-margin-top-10\",attrs:{\"data-testid\":\"email-field\",\"label\":_vm.$t(`user.email`)}},[_c('b-input',{attrs:{\"name\":\"email\",\"disabled\":\"\",\"value\":_vm.email}})],1),_c('b-field',{staticClass:\"field-margin-top-10\",attrs:{\"label\":_vm.$t(`user.password`),\"type\":{ 'is-danger': _setup.v$.password.$error },\"message\":_setup.validationMessage,\"label-for\":\"password\",\"data-testid\":\"password-field\"}},[_c('b-input',{attrs:{\"name\":\"password\",\"id\":\"password\",\"type\":\"password\",\"required\":\"\",\"password-reveal\":\"\",\"placeholder\":_vm.$t(`user.password`)},on:{\"blur\":_setup.v$.password.$touch},model:{value:(_setup.state.password),callback:function ($$v) {_vm.$set(_setup.state, \"password\", $$v)},expression:\"state.password\"}})],1),_c('b-field',{staticClass:\"field-margin-top-10\",attrs:{\"label-for\":\"password-2\",\"data-testid\":\"password-2-field\",\"label\":_vm.$t('user.repeat_password')}},[_c('b-input',{attrs:{\"type\":\"password\",\"id\":\"password-2\",\"required\":\"\",\"password-reveal\":\"\",\"placeholder\":_vm.$t(`user.password`)},on:{\"blur\":_setup.v$.password.$touch},model:{value:(_setup.otherPassword),callback:function ($$v) {_setup.otherPassword=$$v},expression:\"otherPassword\"}})],1)],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":function($event){return _setup.closeModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),_c('b-button',{attrs:{\"type\":\"is-success\",\"native-type\":\"submit\",\"disabled\":_setup.v$.$invalid,\"loading\":_setup.isSubmitting}},[_vm._v(\" \"+_vm._s(_vm.$t('action.save'))+\" \")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, reactive, ref } from 'vue';\nimport { usersService } from '@/services/users.service';\nimport { maxLength, passwordsMatch, required, withLocalizedValidators } from '@/utils/validation';\nimport useVuelidate from '@vuelidate/core';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'PasswordResetModal',\n props: {\n id: null,\n email: null\n },\n emits: ['close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n id: number;\n email: string;\n};\n\n\n\n\nconst isSubmitting = ref(false);\nconst otherPassword = ref('');\n\nconst state = reactive({\n password: '',\n});\nconst validations = {\n password: withLocalizedValidators('user.password', {\n required,\n maxLength: maxLength(256),\n password_repeat: passwordsMatch(otherPassword),\n }),\n};\nconst v$ = useVuelidate(validations, state);\n\nasync function onSubmit() {\n isSubmitting.value = true;\n usersService\n .changePassword(props.id, props.email, state.password)\n .then(() => closeModal())\n .finally(() => (isSubmitting.value = false));\n}\n\nfunction closeModal() {\n emit('close');\n}\n\nconst validationMessage = computed(() => v$.value.password.$errors[0]?.$message);\n\nreturn { __sfc: true,props, emit, isSubmitting, otherPassword, state, validations, v$, onSubmit, closeModal, validationMessage }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordResetModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordResetModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./PasswordResetModal.vue?vue&type=template&id=588d7f0c&scoped=true\"\nimport script from \"./PasswordResetModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordResetModal.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./PasswordResetModal.vue?vue&type=style&index=0&id=588d7f0c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"588d7f0c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-dropdown',{staticClass:\"user-creation-dropdown\",scopedSlots:_vm._u([{key:\"trigger\",fn:function({ active }){return [_c('b-button',{staticClass:\"action-button\",attrs:{\"label\":_vm.$t('user.title_new'),\"icon-right\":active ? 'menu-up' : 'menu-down'}})]}}])},[(_setup.isTypeEnabled(_setup.UserType.GlobalAdmin) && _setup.canCreateGlobalAdmin)?_c('b-dropdown-item',{on:{\"click\":function($event){return _setup.openGlobalAdminWizard()}}},[_vm._v(\" \"+_vm._s(_vm.$t('user.types.global_admin.name'))+\" \")]):_vm._e(),(_setup.isTypeEnabled(_setup.UserType.SubsidiaryAdmin) && _setup.canCreateSubsidiaryAdmin)?_c('b-dropdown-item',{on:{\"click\":function($event){return _setup.openSubsidiaryAdminWizard()}}},[_vm._v(\" \"+_vm._s(_vm.$t('user.types.subsidiary_admin.name'))+\" \")]):_vm._e(),(_setup.isTypeEnabled(_setup.UserType.CustomerUser) && _setup.canCreateCustomer)?_c('b-dropdown-item',{on:{\"click\":function($event){return _setup.openCustomerWizard()}}},[_vm._v(\" \"+_vm._s(_vm.$t('user.types.customer.name'))+\" \")]):_vm._e(),(_setup.isTypeEnabled(_setup.UserType.ServiceGlobal) && _setup.canCreateGlobalAdmin)?_c('b-dropdown-item',{on:{\"click\":function($event){return _setup.openServiceGlobalWizard()}}},[_vm._v(\" \"+_vm._s(_vm.$t('user.types.global_e_service.name'))+\" \")]):_vm._e(),(_setup.isTypeEnabled(_setup.UserType.ServiceUser) && _setup.canCreateEService)?_c('b-dropdown-item',{on:{\"click\":function($event){return _setup.openServiceWizard()}}},[_vm._v(\" \"+_vm._s(_vm.$t('user.types.e_service.name'))+\" \")]):_vm._e(),(_setup.isTypeEnabled(_setup.UserType.TechnologyUser) && _setup.canCreateTechnology)?_c('b-dropdown-item',{on:{\"click\":function($event){return _setup.openTechnologyWizard()}}},[_vm._v(\" \"+_vm._s(_vm.$t('user.types.technology.name'))+\" \")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.Wizard,{staticClass:\"global-admin-wizard\",attrs:{\"onSubmit\":_setup.onSubmit,\"title\":_vm.$t(`user.types.global_admin.${_setup.isEdit ? 'edit' : 'create'}`)},on:{\"close\":function($event){return _setup.emit('close')}}},[_c(_setup.PersonalDataWizardStep,{attrs:{\"isEdit\":_setup.isEdit},model:{value:(_setup.userCopy),callback:function ($$v) {_setup.userCopy=$$v},expression:\"userCopy\"}}),_c(_setup.SummaryWizardStep,{attrs:{\"user\":_setup.userCopy}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"modal-card wizard\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}]},[_vm._t(\"default\")],2),_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(_vm._s(_vm.title))])]),_c('section',{staticClass:\"modal-card-body\"},[_c('b-breadcrumb',{attrs:{\"align\":\"is-left\",\"size\":\"is-small\",\"separator\":\"has-succeeds-separator\"}},_vm._l((_setup.nonHiddenSteps),function(step,index){return _c(_setup.NumberedBreadcrumbItem,{key:index,attrs:{\"index\":index,\"active\":index === _setup.currentStep,\"disabled\":_setup.currentStep < index,\"slim\":_setup.nonHiddenSteps.length > 3}},[_vm._v(\" \"+_vm._s(step.title)+\" \")])}),1),_c('hr'),_c('b-carousel',{attrs:{\"value\":_setup.currentStep,\"indicator\":false,\"autoplay\":false,\"arrow\":false,\"repeat\":false}},[_vm._l((_setup.steps),function(slot,index){return [(slot.hidden === false)?_c('b-carousel-item',{key:index},[_c('form',{staticClass:\"wizard-step-slot\",on:{\"submit\":function($event){$event.preventDefault();_setup.isLastStep ? _setup.onSubmit() : _setup.goToNextStep()}}},[_c('b-loading',{attrs:{\"is-full-page\":false,\"active\":slot.loading}}),_c(_setup.SlotComponent,{attrs:{\"component\":_setup.getSlotComponentInstance(index)}})],1)]):_vm._e()]})],2)],1),_c('footer',{staticClass:\"modal-card-foot is-right\"},[_c('b-button',{staticClass:\"mobile-shrink\",attrs:{\"disabled\":_setup.isFirstStep,\"icon-left\":\"chevron-left\"},on:{\"click\":function($event){return _setup.goToPreviousStep()}}},[_vm._v(\" \"+_vm._s(_vm.$t('wizards.back'))+\" \")]),_c('div',{staticClass:\"right-footer-side\"},[_c('b-button',{attrs:{\"type\":\"is-danger\"},on:{\"click\":function($event){return _setup.emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t('wizards.cancel'))+\" \")]),(_setup.isLastStep)?_c('b-button',{attrs:{\"type\":\"is-success\",\"disabled\":!_setup.isNextButtonEnabled,\"data-testid\":\"submit-button\",\"loading\":_setup.isSubmitting},on:{\"click\":function($event){return _setup.onSubmit()}}},[_vm._v(\" \"+_vm._s(_vm.$t('wizards.save'))+\" \")]):_c('b-button',{staticClass:\"mobile-shrink\",attrs:{\"disabled\":!_setup.isNextButtonEnabled,\"icon-right\":\"chevron-right\",\"data-testid\":\"next-button\",\"loading\":_setup.isLeaving},on:{\"click\":function($event){return _setup.goToNextStep()}}},[_vm._v(\" \"+_vm._s(_vm.$t('wizards.next'))+\" \")])],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { isVueComponent } from '@/utils/misc';\nimport { getCurrentInstance, h, onBeforeMount, onBeforeUnmount, PropType } from 'vue';\n\nexport default {\n props: {\n component: {\n type: Object as PropType,\n },\n name: {\n type: String,\n default: 'default',\n },\n scoped: {\n type: Boolean,\n default: false,\n },\n props: {\n type: Object as PropType>,\n },\n tag: {\n type: String,\n default: 'div',\n },\n event: {\n type: String,\n default: 'hook:updated', // vue:updated in Vue 3\n },\n },\n // Typescript and ESLint seem to be conspiring against me.\n // The IDE infers the type of props just fine but typescript doesn't, so it shows an error.\n // Ignoring this error with ts-ignore shows another eslint error.\n // Hopefully disabling the eslint rule will work :/\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Parameter 'props' implicitly has an 'any' type\n setup(props) {\n const instance = getCurrentInstance();\n\n function refresh() {\n instance?.proxy?.$forceUpdate();\n }\n\n onBeforeMount(() => {\n if (isVueComponent(props.component)) {\n props.component!.$on(props.event, refresh);\n }\n });\n\n onBeforeUnmount(() => {\n if (isVueComponent(props.component)) {\n props.component!.$off(props.event, refresh);\n }\n });\n\n return function render() {\n if (isVueComponent(props.component)) {\n return h(\n props.tag,\n {},\n props.scoped\n ? props.component!.$scopedSlots[props.name]!(props.props)\n : props.component!.$slots[props.name],\n );\n }\n return h();\n };\n },\n};\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotComponent.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotComponent.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-breadcrumb-item',{class:{ 'breadcrumb-disabled': _vm.disabled }},[_c('div',{class:['breadcrumb-index', { active: _vm.active }]},[_vm._v(_vm._s(_vm.index + 1))]),(!_vm.slim || _vm.active)?_c('p',{class:['breadcrumb-content', { active: _vm.active }]},[_vm._t(\"default\")],2):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'NumberedBreadcrumbItem',\n props: {\n active: { type: Boolean },\n disabled: { type: Boolean },\n index: null,\n slim: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\n\n\nreturn { __sfc: true, }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberedBreadcrumbItem.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberedBreadcrumbItem.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./NumberedBreadcrumbItem.vue?vue&type=template&id=25b258f0&scoped=true\"\nimport script from \"./NumberedBreadcrumbItem.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NumberedBreadcrumbItem.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./NumberedBreadcrumbItem.vue?vue&type=style&index=0&id=25b258f0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"25b258f0\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport Vue, { computed, onMounted, provide, ref, shallowRef, useSlots, VNode } from 'vue';\nimport SlotComponent from './SlotComponent.vue';\nimport { isEmpty, isNil, isVueComponent } from '@/utils/misc';\nimport NumberedBreadcrumbItem from './NumberedBreadcrumbItem.vue';\nimport { type WizardStep } from './WizardStep.vue';\nimport { TranslateResult } from 'vue-i18n';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Wizard',\n props: {\n title: null,\n onSubmit: { type: Function, default: () => async () => {} }\n },\n emits: [\"submit\", \"close\"],\n setup(__props: any, { emit }: { emit: ((e: 'submit' | 'close') => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { title: string | TranslateResult, onSubmit: () => Promise };\n\n\n\n\n\nconst $slots = useSlots().default?.();\nprovide('refreshSteps', refreshSteps);\n\nconst currentStep = ref(0);\nconst isLeaving = ref(false);\nconst isSubmitting = ref(false);\nconst steps = shallowRef>([]);\n\nonMounted(() => {\n refreshSteps();\n});\n\nfunction isWizardStep($vnode: VNode | undefined): boolean {\n return ($vnode?.componentInstance as any | undefined)?.isWizardStep === true;\n}\n\nfunction getDefaultSlotsRecursively(component: Vue | undefined): Vue[] {\n if (!component) {\n return [];\n }\n const slotsAndChildren: VNode[] = [\n ...(component.$slots.default ?? []),\n ...(component.$children as Vue[]).filter((x) => isVueComponent(x)).map((x) => x.$vnode),\n ].filter((x) => !isNil(x.componentInstance));\n\n if (!isEmpty(slotsAndChildren)) {\n const wizardSteps = slotsAndChildren.filter((x) => isWizardStep(x));\n const nonWizardSteps = slotsAndChildren.filter((x) => !isWizardStep(x));\n\n return [\n component,\n ...wizardSteps.map((x) => x.componentInstance!),\n ...nonWizardSteps.flatMap((x) => getDefaultSlotsRecursively(x.componentInstance)),\n ];\n }\n\n return [component];\n}\n\nfunction getWizardSteps() {\n const slots = ($slots ?? []).flatMap((x) => getDefaultSlotsRecursively(x.componentInstance));\n const wizardSteps = slots.filter((x) => isWizardStep(x.$vnode));\n return wizardSteps.map((slot) => slot.$vnode.componentInstance! as WizardStep);\n}\n\nfunction refreshSteps() {\n steps.value = getWizardSteps();\n if (!isEmpty(steps.value)) {\n steps.value[0].enter(true);\n }\n}\n\nfunction goToPreviousStep() {\n if (isFirstStep.value) {\n return;\n }\n\n nonHiddenSteps.value[currentStep.value].leave(true);\n currentStep.value--;\n nonHiddenSteps.value[currentStep.value].enter(false);\n}\n\nasync function goToNextStep() {\n if (isLastStep.value) {\n return;\n }\n\n const onLeaveResult = nonHiddenSteps.value[currentStep.value].onLeave();\n let canLeave = false;\n if (onLeaveResult instanceof Promise) {\n isLeaving.value = true;\n canLeave = await onLeaveResult;\n isLeaving.value = false;\n } else {\n canLeave = onLeaveResult;\n }\n\n if (!canLeave) {\n return;\n }\n\n nonHiddenSteps.value[currentStep.value].leave(false);\n currentStep.value++;\n nonHiddenSteps.value[currentStep.value].enter(true);\n}\n\nasync function onSubmit() {\n isSubmitting.value = true;\n await props\n .onSubmit()\n .then(() => emit('submit'))\n .finally(() => (isSubmitting.value = false));\n}\n\nfunction getSlotComponentInstance(index: number) {\n return steps.value[index];\n}\n\nconst nonHiddenSteps = computed(() => {\n return steps.value.filter((slot) => slot.hidden === false);\n});\n\nconst isFirstStep = computed(() => currentStep.value === 0);\n\nconst isLastStep = computed(() => currentStep.value === nonHiddenSteps.value.length - 1);\n\nconst isNextButtonEnabled = computed(() => {\n if (isEmpty(steps.value)) {\n return false;\n }\n\n return nonHiddenSteps.value[currentStep.value].allowNextIf;\n});\n\nreturn { __sfc: true,props, emit, $slots, currentStep, isLeaving, isSubmitting, steps, isWizardStep, getDefaultSlotsRecursively, getWizardSteps, refreshSteps, goToPreviousStep, goToNextStep, onSubmit, getSlotComponentInstance, nonHiddenSteps, isFirstStep, isLastStep, isNextButtonEnabled, SlotComponent, NumberedBreadcrumbItem }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Wizard.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Wizard.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./Wizard.vue?vue&type=template&id=7a0d5a42&scoped=true\"\nimport script from \"./Wizard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Wizard.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./Wizard.vue?vue&type=style&index=0&id=7a0d5a42&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a0d5a42\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.WizardStep,{attrs:{\"title\":_vm.$t('wizards.user_creation.common'),\"onLeave\":_setup.onLeave,\"allowNextIf\":!_setup.v$.$invalid}},[_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t('form.name'),\"type\":{ 'is-danger': _setup.v$.name.$error },\"message\":_setup.getErrorMessage('name'),\"data-testid\":\"name-field\",\"label-for\":\"name-field\"}},[_c('b-input',{attrs:{\"name\":\"name\",\"id\":\"name-field\"},on:{\"input\":_setup.onInput,\"blur\":_setup.v$.name.$touch},model:{value:(_vm.value.name),callback:function ($$v) {_vm.$set(_vm.value, \"name\", $$v)},expression:\"value.name\"}})],1),_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t('user.email'),\"type\":{ 'is-danger': _setup.v$.email.$error },\"message\":_setup.getErrorMessage('email'),\"data-testid\":\"email-field\",\"label-for\":\"email-field\"}},[_c('b-input',{attrs:{\"name\":\"email\",\"id\":\"email-field\",\"disabled\":_vm.isEdit},on:{\"input\":_setup.onEmailInput,\"blur\":_setup.v$.email.$touch},model:{value:(_vm.value.email),callback:function ($$v) {_vm.$set(_vm.value, \"email\", $$v)},expression:\"value.email\"}})],1),_c('b-field',{staticClass:\"required radio-group\",attrs:{\"label\":_vm.$t('user_authentication_type.label'),\"type\":{ 'is-danger': _setup.v$.authenticationType.$error },\"message\":_setup.getErrorMessage('authenticationType'),\"data-testid\":\"auth-type-field\",\"label-for\":\"auth-type-field\"}},[(!_setup.canChooseAuthenticationType)?_vm._l((_setup.authenticationTypes),function(authenticationType){return _c('b-tooltip',{key:authenticationType,attrs:{\"label\":_setup.authenticationTypeDisabledReason,\"active\":\"\",\"type\":\"is-dark\",\"append-to-body\":\"\"}},[_c('b-radio',{attrs:{\"name\":\"type\",\"disabled\":\"\",\"native-value\":authenticationType},model:{value:(_vm.value.authenticationType),callback:function ($$v) {_vm.$set(_vm.value, \"authenticationType\", $$v)},expression:\"value.authenticationType\"}},[_vm._v(\" \"+_vm._s(_vm.$t(`user_authentication_type.${authenticationType}`))+\" \")])],1)}):_vm._l((_setup.authenticationTypes),function(authenticationType){return _c('b-radio',{key:authenticationType,attrs:{\"name\":\"type\",\"native-value\":authenticationType,\"disabled\":_vm.isEdit || !_setup.canChooseAuthenticationType,\"title\":_setup.authenticationTypeDisabledReason},on:{\"blur\":_setup.v$.authenticationType.$touch},model:{value:(_vm.value.authenticationType),callback:function ($$v) {_vm.$set(_vm.value, \"authenticationType\", $$v)},expression:\"value.authenticationType\"}},[_vm._v(\" \"+_vm._s(_vm.$t(`user_authentication_type.${authenticationType}`))+\" \")])})],2),(!_vm.isEdit)?_c('div',{staticClass:\"two-inputs-in-row\"},[_c('b-field',{class:{ required: _setup.passwordRequired },attrs:{\"label\":_vm.$t(`user.password`),\"type\":{ 'is-danger': _setup.v$.password.$error },\"message\":_setup.getErrorMessage('password'),\"data-testid\":\"password-field\",\"label-for\":\"password-field\"}},[_c('b-input',{attrs:{\"name\":\"password\",\"id\":\"password-field\",\"type\":\"password\",\"disabled\":!_setup.passwordRequired,\"password-reveal\":_setup.passwordRequired},on:{\"input\":_setup.onInput,\"blur\":_setup.v$.password.$touch},model:{value:(_vm.value.password),callback:function ($$v) {_vm.$set(_vm.value, \"password\", $$v)},expression:\"value.password\"}})],1),_c('b-field',{class:{ required: _setup.passwordRequired },attrs:{\"label\":_vm.$t(`user.repeat_password`),\"data-testid\":\"password-repeat-field\",\"label-for\":\"password-repeat-field\"}},[_c('b-input',{attrs:{\"name\":\"repeat-password\",\"id\":\"password-repeat-field\",\"type\":\"password\",\"disabled\":!_setup.passwordRequired,\"password-reveal\":_setup.passwordRequired},on:{\"blur\":_setup.v$.password.$touch},model:{value:(_setup.repeatPassword),callback:function ($$v) {_setup.repeatPassword=$$v},expression:\"repeatPassword\"}})],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"wizard-step\"},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, inject, onBeforeMount, onBeforeUnmount } from 'vue';\nimport { TranslateResult } from 'vue-i18n';\n\ntype OnLeaveFunction = () => boolean | Promise;\n\nexport type WizardStep = Vue & {\n title: string;\n allowNextIf: boolean;\n onLeave: OnLeaveFunction;\n hidden: boolean;\n loading: boolean;\n enter: (fromPreviousPage: boolean) => void;\n leave: (toPreviousPage: boolean) => void;\n};\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'WizardStep',\n props: {\n title: null,\n allowNextIf: { type: Boolean, default: true },\n onLeave: { type: Function, default: () => () => true },\n hidden: { type: Boolean, default: false },\n loading: { type: Boolean, default: false }\n },\n emits: [\"enter\", \"leave\"],\n setup(__props: any, { expose, emit }: { emit: ((e: 'enter' | 'leave', fromPreviousPage: boolean) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { title: string | TranslateResult, allowNextIf: boolean, onLeave: () => boolean | Promise, hidden: boolean, loading: boolean };\n\n\n\n\n\nconst refreshSteps = inject<() => void>('refreshSteps');\n\nonBeforeMount(() => {\n refreshSteps?.();\n});\n\nonBeforeUnmount(() => {\n refreshSteps?.();\n});\n\nfunction enter(fromPreviousPage: boolean) {\n emit('enter', fromPreviousPage);\n}\n\nfunction leave(toPreviousPage: boolean) {\n emit('leave', toPreviousPage);\n}\n\nconst title = computed(() => props.title);\nconst allowNextIf = computed(() => props.allowNextIf);\nconst onLeave = computed(() => props.onLeave);\nconst hidden = computed(() => props.hidden);\nconst loading = computed(() => props.loading);\n\nexpose({\n title,\n allowNextIf,\n onLeave,\n hidden,\n loading,\n enter,\n leave,\n isWizardStep: true,\n});\n\n\nreturn { __sfc: true,props, emit, refreshSteps, enter, leave, title, allowNextIf, onLeave, hidden, loading }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WizardStep.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WizardStep.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./WizardStep.vue?vue&type=template&id=9017f41c\"\nimport script from \"./WizardStep.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WizardStep.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport WizardStep from '@/components/wizard/WizardStep.vue';\nimport { User, UserAuthenticationType } from '@/models/user';\nimport { computed, ref, watch } from 'vue';\nimport useVuelidate from '@vuelidate/core';\nimport {\n email,\n maxLength,\n or,\n required,\n requiredIf,\n sameAs,\n withLocalizedValidators,\n passwordsMatch,\n optional,\n} from '@/utils/validation';\nimport { usersService } from '@/services/users.service';\nimport { useI18n } from '@/composables/i18n';\n\n\n/**\n * User creation wizard step to enter data like name, email, password...\n */\nconst __default__ = {};\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n __name: 'PersonalDataWizardStep',\n props: {\n value: null,\n isEdit: { type: Boolean, default: false }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', user: User) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value: User, isEdit: boolean };\n\n\n\n\n\nconst i18n = useI18n();\n\nconst repeatPassword = ref('');\nconst authenticationTypes = [UserAuthenticationType.Local, UserAuthenticationType.Microsoft];\n\nconst validations = {\n name: withLocalizedValidators('user.name', { required }),\n email: withLocalizedValidators('user.email', { required, email }),\n authenticationType: withLocalizedValidators('user_authentication_type.label', {\n required,\n oneOf: or(sameAs(UserAuthenticationType.Microsoft), sameAs(UserAuthenticationType.Local)),\n }),\n password: withLocalizedValidators('user.password', {\n required: requiredIf(\n () => props.value.authenticationType === UserAuthenticationType.Local && !props.isEdit,\n ),\n // These validation rules only needs to pass if the password is required\n maxLength: optional(maxLength(256)),\n password_repeat: optional(passwordsMatch(repeatPassword)),\n }),\n};\nconst $externalResults = ref({});\nconst v$ = useVuelidate(validations, props.value, { $externalResults });\n\nasync function onLeave() {\n v$.value.$clearExternalResults();\n const isFormValid = await v$.value.$validate();\n if (!isFormValid) {\n return false;\n }\n\n if (props.isEdit) {\n // The email can't be edited, so it'll always exist\n return true;\n }\n\n const emailExists = await usersService.emailExists(props.value.email);\n if (emailExists) {\n $externalResults.value = {\n email: i18n.t('validation_message.email_exists'),\n };\n }\n return !emailExists;\n}\n\nfunction onEmailInput() {\n v$.value.$clearExternalResults();\n onInput();\n}\n\nfunction onInput() {\n emit('input', props.value);\n}\n\nfunction getErrorMessage(key: keyof typeof props.value): string | undefined {\n return v$.value[key].$errors?.[0]?.$message;\n}\n\nwatch(\n () => props.value.authenticationType,\n (value) => {\n if (value === UserAuthenticationType.Microsoft) {\n props.value.password = undefined;\n repeatPassword.value = '';\n }\n },\n);\n\nconst passwordRequired = computed(\n () => props.value.authenticationType === UserAuthenticationType.Local,\n);\n\nconst canChooseAuthenticationType = computed(\n () => !props.value.isServiceUserType && !props.value.isTechnologyUser,\n);\n\nconst authenticationTypeDisabledReason = computed(() => {\n const prefix = 'wizards.user_creation.personal_data.user_authentication_type';\n\n if (props.isEdit) {\n return i18n.t(`${prefix}.disabled_because_editing`);\n }\n\n if (!canChooseAuthenticationType.value) {\n return i18n.t(`${prefix}.disabled_because_of_user_type`);\n }\n\n return undefined;\n});\n\nreturn { __sfc: true,props, emit, i18n, repeatPassword, authenticationTypes, validations, $externalResults, v$, onLeave, onEmailInput, onInput, getErrorMessage, passwordRequired, canChooseAuthenticationType, authenticationTypeDisabledReason, WizardStep, email }\n}\n\n})","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalDataWizardStep.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalDataWizardStep.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./PersonalDataWizardStep.vue?vue&type=template&id=104ec89b&scoped=true\"\nimport script from \"./PersonalDataWizardStep.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PersonalDataWizardStep.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./PersonalDataWizardStep.vue?vue&type=style&index=0&id=104ec89b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"104ec89b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.WizardStep,{attrs:{\"title\":_vm.$t('wizards.user_creation.summary.title'),\"loading\":_setup.isLoadingLocations},on:{\"enter\":function($event){return _setup.onEnter()}}},[_c('div',{staticClass:\"summary\"},[_c('div',{staticClass:\"row\",attrs:{\"data-testid\":\"name\"}},[_c('div',{staticClass:\"row-label\"},[_vm._v(_vm._s(_vm.$t('user.name')))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.user.name))])]),_c('div',{staticClass:\"row\",attrs:{\"data-testid\":\"auth-type\"}},[_c('div',{staticClass:\"row-label\"},[_vm._v(_vm._s(_vm.$t('user_authentication_type.label')))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.$t(`user_authentication_type.${_vm.user.authenticationType}`)))])]),_c('div',{staticClass:\"row\",attrs:{\"data-testid\":\"email\"}},[_c('div',{staticClass:\"row-label\"},[_vm._v(_vm._s(_vm.$t('user.email')))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.user.email))])]),(_vm.showSubsidiaryMembership)?_c('div',{staticClass:\"row\",attrs:{\"data-testid\":\"subsidiary\"}},[_c('div',{staticClass:\"row-label\"},[_vm._v(_vm._s(_vm.$t('subsidiary.name')))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.user.subsidiaryName))])]):_vm._e(),(!_setup.isEmpty(_vm.user.otherMemberships))?[_c('hr'),_c(_setup.OtherMembershipsSummarySection,{attrs:{\"memberships\":_vm.user.otherMemberships}})]:_vm._e(),(_vm.showCustomerMembership)?[_c('div',{staticClass:\"row\",attrs:{\"data-testid\":\"tenant\"}},[_c('div',{staticClass:\"row-label\"},[_vm._v(_vm._s(_vm.$t('tenant.name')))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.user.tenantName))])]),_c('hr'),_c('div',{staticClass:\"row\",attrs:{\"data-testid\":\"role\"}},[_c('div',{staticClass:\"row-label\"},[_vm._v(_vm._s(_vm.$t('user.role')))]),_c('div',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.$t(`user.types.customer.roles.${_vm.user.userType}`)))])]),(_setup.userHasEnabledWCC)?_c('div',{staticClass:\"row\",attrs:{\"data-testid\":\"locations\"}},[_c('div',{staticClass:\"row-label\"},[_vm._v(_vm._s(_vm.$t('user.locations')))]),_c('div',{staticClass:\"value\"},[(!_setup.isLoadingLocations)?_c('b-taglist',_vm._l((_setup.allowedLocations),function(location){return _c('b-tag',{key:location},[_vm._v(\" \"+_vm._s(_setup.getLocationName(location))+\" \")])}),1):_vm._e()],1)]):_vm._e()]:_vm._e(),_c('hr'),_c('div',{staticClass:\"row\",attrs:{\"data-testid\":\"consoles\"}},[_c('div',{staticClass:\"row-label\"},[_vm._v(\" \"+_vm._s(_vm.$t('wizards.user_creation.summary.consoles'))+\" \")]),_c('div',{staticClass:\"value\"},[(_vm.showCustomerMembership)?_vm._l((_setup.consoles),function(console){return _c('b-taglist',{key:console,attrs:{\"attached\":\"\"}},[_c('b-tag',{staticClass:\"console-tag\"},[_vm._v(\" \"+_vm._s(_vm.$t(`wizards.user_creation.summary.console_list.${console}`))+\" \")]),_c('b-tag',{attrs:{\"type\":\"is-info is-light\"}},[_vm._v(\" \"+_vm._s(_setup.getFormattedConsoleDateRange(console))+\" \")])],1)}):_c('b-taglist',_vm._l((_setup.consoles),function(console){return _c('b-tag',{key:console},[_vm._v(\" \"+_vm._s(_vm.$t(`wizards.user_creation.summary.console_list.${console}`))+\" \")])}),1)],2)])],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"other-memberships-summary-section\"},[_c('h3',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.$t('wizards.user_creation.summary.other_memberships'))+\" \")]),(_setup.hasSubsidiaryMemberships)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"row-label\"},[_vm._v(_vm._s(_vm.$t('subsidiary.plural')))]),_c('div',{staticClass:\"value\"},[_c('b-taglist',{staticClass:\"subsidiaries\"},_vm._l((_setup.subsidiaryMemberships),function(membership){return _c('b-tag',{key:`${membership.type}${membership.id}`},[_vm._v(\" \"+_vm._s(membership.name)+\" \")])}),1)],1)]):_vm._e(),(_setup.hasCustomerMemberships)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"row-label\"},[_vm._v(_vm._s(_vm.$t('tenant.plural')))]),_c('div',{staticClass:\"value\"},[_c('b-taglist',{staticClass:\"customers\"},_vm._l((_setup.customerMemberships),function(membership){return _c('b-tag',{key:`${membership.type}${membership.id}`},[_vm._v(\" \"+_vm._s(membership.name)+\" \")])}),1)],1)]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { Membership, MembershipType } from '@/models/user';\nimport { isEmpty } from '@/utils/misc';\nimport { computed } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'OtherMembershipsSummarySection',\n props: {\n memberships: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n memberships: Membership[];\n};\n\n\n\nfunction getMembershipsOfType(type: MembershipType): Membership[] {\n return props.memberships.filter((membership) => membership.type === type);\n}\n\nconst subsidiaryMemberships = computed(() => getMembershipsOfType(MembershipType.Subsidiary));\n\nconst customerMemberships = computed(() => getMembershipsOfType(MembershipType.Customer));\n\nconst hasSubsidiaryMemberships = computed(() => !isEmpty(subsidiaryMemberships.value));\n\nconst hasCustomerMemberships = computed(() => !isEmpty(customerMemberships.value));\n\nreturn { __sfc: true,props, getMembershipsOfType, subsidiaryMemberships, customerMemberships, hasSubsidiaryMemberships, hasCustomerMemberships }\n}\n\n})","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OtherMembershipsSummarySection.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OtherMembershipsSummarySection.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./OtherMembershipsSummarySection.vue?vue&type=template&id=59c2a910&scoped=true\"\nimport script from \"./OtherMembershipsSummarySection.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./OtherMembershipsSummarySection.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./OtherMembershipsSummarySection.vue?vue&type=style&index=0&id=59c2a910&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"59c2a910\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport WizardStep from '@/components/wizard/WizardStep.vue';\nimport OtherMembershipsSummarySection from './OtherMembershipsSummarySection.vue';\nimport { isEmpty, isNil } from '@/utils/misc';\nimport { User } from '@/models/user';\nimport { computed, ref } from 'vue';\nimport { Location } from '@/models/location';\nimport { locationsService } from '@/services/locations.service';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport moment from 'moment';\nimport { UserType } from '@/models/userType';\nimport { useI18n } from '@/composables/i18n';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SummaryWizardStep',\n props: {\n user: null,\n showSubsidiaryMembership: { type: Boolean, default: false },\n showCustomerMembership: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: User, showSubsidiaryMembership: boolean, showCustomerMembership: boolean };\n\n\n\nconst i18n = useI18n();\n\nconst locations = ref([]);\nconst isLoadingLocations = ref(false);\n\nconst DATE_FORMAT = 'D/M/YYYY';\n\nasync function onEnter() {\n if (props.showCustomerMembership) {\n await loadLocations();\n }\n}\n\nfunction getFormattedConsoleDateRange(console: ConsoleEnum): string {\n const from = moment(props.user.getConsoleActivationDate(console)).format(DATE_FORMAT);\n const toDate = props.user.getConsoleEndDate(console);\n if (isNil(toDate)) {\n return i18n.t('wizards.user_creation.summary.console_from', { from }).toString();\n } else {\n const to = moment(toDate).format(DATE_FORMAT);\n return i18n.t('wizards.user_creation.summary.console_from_to', { from, to }).toString();\n }\n}\n\nasync function loadLocations() {\n isLoadingLocations.value = true;\n try {\n locations.value = await locationsService.get(props.user.customerId);\n } finally {\n isLoadingLocations.value = false;\n }\n}\n\nfunction hasAccessToLocation(id: number) {\n return locations.value.some((x) => x.id === id);\n}\n\nfunction getLocationName(id: number) {\n return locations.value.find((x) => x.id === id)?.name;\n}\n\nconst allowedLocations = computed(() =>\n props.user.locations.filter((location) => hasAccessToLocation(location)),\n);\n\nconst consoles = computed(() => {\n if (props.showCustomerMembership) {\n return props.user.consoles;\n }\n\n switch (props.user.userType) {\n case UserType.TechnologyUser:\n return [ConsoleEnum.Technology];\n case UserType.ServiceGlobal:\n case UserType.ServiceUser:\n return [ConsoleEnum.WCC, ConsoleEnum.Care];\n default:\n return [\n ConsoleEnum.WCC,\n ConsoleEnum.BC,\n ConsoleEnum.SFC,\n ConsoleEnum.Care,\n ConsoleEnum.Technology,\n ];\n }\n});\n\nconst userHasEnabledWCC = computed(() => props.user.consoles.includes(ConsoleEnum.WCC));\n\nreturn { __sfc: true,props, i18n, locations, isLoadingLocations, DATE_FORMAT, onEnter, getFormattedConsoleDateRange, loadLocations, hasAccessToLocation, getLocationName, allowedLocations, consoles, userHasEnabledWCC, WizardStep, OtherMembershipsSummarySection, isEmpty }\n}\n\n})","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SummaryWizardStep.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SummaryWizardStep.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SummaryWizardStep.vue?vue&type=template&id=4e1d241c&scoped=true\"\nimport script from \"./SummaryWizardStep.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SummaryWizardStep.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./SummaryWizardStep.vue?vue&type=style&index=0&id=4e1d241c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4e1d241c\",\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { User } from '@/models/user';\nimport { usersService, UserUpdate } from '@/services/users.service';\nimport { isNil } from '@/utils/misc';\nimport { computed, onBeforeMount, PropsWithDefaults, ref } from 'vue';\nimport { EmitFn } from 'vue/types/v3-setup-context';\n\ntype UserWizardProps = PropsWithDefaults<\n Readonly,\n { user: null }\n>;\ntype UserWizardEmit = EmitFn<('save' | 'close')[]>;\n\nexport function useUserWizard(\n props: UserWizardProps,\n emit: UserWizardEmit,\n defaultUser: User,\n onBeforeMountCallback?: () => void | Promise,\n) {\n const userCopy = ref(null);\n\n onBeforeMount(() => {\n userCopy.value = props.user ?? defaultUser;\n\n onBeforeMountCallback?.();\n });\n\n async function submit(authorizedConsoles?: ConsoleEnum[]) {\n if (isEdit.value) {\n const updateUser: UserUpdate = User.GetCopy(userCopy.value! as User);\n updateUser.isAcceptedTermsOfAgreement = undefined;\n updateUser.isAutoplay = undefined;\n updateUser.autoplayPeriod = undefined;\n updateUser.dashboards = undefined;\n await usersService.update(updateUser, authorizedConsoles);\n } else {\n await usersService.create(userCopy.value! as User);\n }\n emit('save');\n emit('close');\n }\n\n const isEdit = computed(() => {\n return !isNil(props.user);\n });\n\n return { userCopy, submit, isEdit };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport Wizard from '@/components/wizard/Wizard.vue';\nimport PersonalDataWizardStep from './steps/PersonalDataWizardStep.vue';\nimport SummaryWizardStep from './steps/SummaryWizardStep.vue';\nimport { User } from '@/models/user';\nimport { useUserWizard } from './user-wizard-utils';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'GlobalAdminWizard',\n props: {\n user: { default: null }\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { user: User | null };\n\n\n\n\n\nconst { userCopy, submit: onSubmit, isEdit } = useUserWizard(props, emit, User.emptyGlobalAdmin());\n\nreturn { __sfc: true,props, emit, userCopy, onSubmit, isEdit, Wizard, PersonalDataWizardStep, SummaryWizardStep }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GlobalAdminWizard.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GlobalAdminWizard.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./GlobalAdminWizard.vue?vue&type=template&id=7b48c41e\"\nimport script from \"./GlobalAdminWizard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./GlobalAdminWizard.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.Wizard,{staticClass:\"subsidiary-admin-wizard\",attrs:{\"onSubmit\":_setup.onSubmit,\"title\":_vm.$t(`user.types.subsidiary_admin.${_setup.isEdit ? 'edit' : 'create'}`)},on:{\"close\":function($event){return _setup.emit('close')}}},[_c(_setup.PersonalDataWizardStep,{attrs:{\"isEdit\":_setup.isEdit},model:{value:(_setup.userCopy),callback:function ($$v) {_setup.userCopy=$$v},expression:\"userCopy\"}}),_c(_setup.SubsidiaryMembershipWizardStep,{attrs:{\"hidden\":_setup.shouldHideMembershipStep},model:{value:(_setup.userCopy),callback:function ($$v) {_setup.userCopy=$$v},expression:\"userCopy\"}}),_c(_setup.SummaryWizardStep,{attrs:{\"user\":_setup.userCopy,\"showSubsidiaryMembership\":\"\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.WizardStep,{attrs:{\"title\":_vm.$t('wizards.user_creation.membership.title'),\"allowNextIf\":_vm.value.hasSubsidiary,\"hidden\":_vm.hidden}},[_c('div',{staticClass:\"subsidiary-membership-wizard-step\"},[_c(_setup.SubsidiariesSelect,{attrs:{\"required\":\"\"},on:{\"input\":function($event){return _vm.$emit('input', _vm.value)},\"input:name\":function($event){_vm.value.subsidiaryName = $event}},model:{value:(_vm.value.subsidiaryId),callback:function ($$v) {_vm.$set(_vm.value, \"subsidiaryId\", $$v)},expression:\"value.subsidiaryId\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.ValidationProvider,{ref:\"validationProviderRef\",attrs:{\"rules\":_vm.rules,\"name\":_vm.validationProviderName,\"slim\":_vm.slim},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{class:[{ required: _setup.isRequired }, 'subsidiaries-select'],attrs:{\"label\":_vm.showLabel ? _vm.$t('inputs.subsidiaries_select.label') : undefined,\"type\":{ 'is-danger': errors[0] },\"message\":errors,\"label-for\":`subsidiaries-select-${_setup.componentId}`}},[_c('b-select',{attrs:{\"id\":`subsidiaries-select-${_setup.componentId}`,\"name\":\"subsidiary\",\"value\":_vm.value,\"disabled\":_vm.disabled,\"expanded\":\"\",\"data-testid\":\"subsidiaries-select\",\"loading\":_setup.isLoading},on:{\"input\":_setup.handleSelect}},_vm._l((_setup.subsidiaries),function(option){return _c('option',{key:option.id,domProps:{\"value\":option.id}},[_vm._v(\" \"+_vm._s(option.name)+\" \")])}),0)],1)]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { RestrictedSubsidiary, subsidiariesService } from '@/services/subsidiaries.service';\nimport { Subsidiary } from '@/models/subsidiary';\nimport { ValidationProvider } from 'vee-validate';\nimport { isNil, uniqueId } from '@/utils/misc';\nimport { computed, nextTick, onMounted, ref, watch } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SubsidiariesSelect',\n props: {\n value: null,\n rules: { default: () => ({}) },\n required: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n showLabel: { type: Boolean, default: true },\n slim: { type: Boolean, default: false },\n validationProviderName: { default: 'inputs.subsidiaries_select.label' },\n restricted: { type: Boolean, default: false }\n },\n emits: [\"input\", \"input:name\"],\n setup(__props: any, { emit }: { emit: ({\n (e: 'input', value: number): void;\n (e: 'input:name', value: string): void;\n}), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value?: number | null, rules: any, required: boolean, disabled: boolean, showLabel: boolean, slim: boolean, validationProviderName: string, restricted: boolean };\n\n\n\n\n\nconst componentId = uniqueId();\nconst validationProviderRef = ref>();\n\nconst subsidiaries = ref>([]);\nconst isLoading = ref(false);\n\nonMounted(async () => {\n await getSubsidiaries();\n if (!isNil(props.value)) {\n emit('input:name', getSubsidiaryById(props.value)!.name);\n }\n});\n\nasync function getSubsidiaries() {\n isLoading.value = true;\n try {\n if (props.restricted) {\n subsidiaries.value = await subsidiariesService.getRestricted();\n } else {\n subsidiaries.value = await subsidiariesService.get();\n }\n } finally {\n isLoading.value = false;\n }\n}\n\nfunction getSubsidiaryById(id: number): Subsidiary | RestrictedSubsidiary | undefined {\n return subsidiaries.value.find((x) => x.id === id);\n}\n\nfunction handleSelect(value: number) {\n const subsidiary = getSubsidiaryById(value)!;\n emit('input:name', subsidiary.name);\n emit('input', value);\n}\n\nwatch(\n () => props.rules,\n async () => {\n await nextTick();\n if (validationProviderRef.value) {\n validationProviderRef.value.validate();\n }\n },\n);\n\nconst isRequired = computed(() => 'required' in props.rules);\n\nreturn { __sfc: true,props, emit, componentId, validationProviderRef, subsidiaries, isLoading, getSubsidiaries, getSubsidiaryById, handleSelect, isRequired, ValidationProvider }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiariesSelect.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiariesSelect.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SubsidiariesSelect.vue?vue&type=template&id=16c66f44\"\nimport script from \"./SubsidiariesSelect.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SubsidiariesSelect.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport WizardStep from '@/components/wizard/WizardStep.vue';\nimport SubsidiariesSelect from '@/components/inputs/SubsidiariesSelect.vue';\nimport { User } from '@/models/user';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SubsidiaryMembershipWizardStep',\n props: {\n value: null,\n hidden: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\n\n\nreturn { __sfc: true,WizardStep, SubsidiariesSelect }\n}\n\n})","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryMembershipWizardStep.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryMembershipWizardStep.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SubsidiaryMembershipWizardStep.vue?vue&type=template&id=e427ac0a\"\nimport script from \"./SubsidiaryMembershipWizardStep.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SubsidiaryMembershipWizardStep.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport Wizard from '@/components/wizard/Wizard.vue';\nimport PersonalDataWizardStep from './steps/PersonalDataWizardStep.vue';\nimport SubsidiaryMembershipWizardStep from './steps/SubsidiaryMembershipWizardStep.vue';\nimport SummaryWizardStep from './steps/SummaryWizardStep.vue';\nimport { User } from '@/models/user';\nimport { useUserWizard } from './user-wizard-utils';\nimport { subsidiariesService } from '@/services/subsidiaries.service';\nimport { currentUser } from '@/utils/permissionUtils';\nimport { computed } from 'vue';\nimport { isNil } from '@/utils/misc';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SubsidiaryAdminWizard',\n props: {\n user: { default: null },\n subsidiaryId: null\n },\n emits: ['close', 'save'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { user: User | null, subsidiaryId?: number };\n\n\n\n\n\nconst {\n userCopy,\n isEdit,\n submit: onSubmit,\n} = useUserWizard(props, emit, User.emptySubsidiaryAdmin(), async () => {\n if (!isNil(props.subsidiaryId)) {\n userCopy.value!.subsidiaryId = props.subsidiaryId;\n userCopy.value!.subsidiaryName = await subsidiariesService.getNameById(props.subsidiaryId);\n } else if (currentUser().isSubsidiaryAdmin) {\n userCopy.value!.subsidiaryId = currentUser().subsidiaryId;\n userCopy.value!.subsidiaryName = await subsidiariesService.getNameById(\n currentUser().subsidiaryId!,\n );\n }\n});\n\nconst shouldHideMembershipStep = computed(\n () =>\n isHandlingUserFromSubsidiaryUserList.value ||\n isUserEditingItself.value ||\n currentUser().isSubsidiaryAdmin,\n);\n\nconst isHandlingUserFromSubsidiaryUserList = computed(() => !isNil(props.subsidiaryId));\n\nconst isUserEditingItself = computed(() => currentUser().id === props.user?.id);\n\nreturn { __sfc: true,props, emit, userCopy, isEdit, onSubmit, shouldHideMembershipStep, isHandlingUserFromSubsidiaryUserList, isUserEditingItself, Wizard, PersonalDataWizardStep, SubsidiaryMembershipWizardStep, SummaryWizardStep }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryAdminWizard.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryAdminWizard.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SubsidiaryAdminWizard.vue?vue&type=template&id=364e69db\"\nimport script from \"./SubsidiaryAdminWizard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SubsidiaryAdminWizard.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.Wizard,{staticClass:\"customer-user-wizard\",attrs:{\"onSubmit\":_setup.onSubmit,\"title\":_vm.$t(`user.types.customer.${_setup.isEdit ? 'edit' : 'create'}`)},on:{\"close\":function($event){return _setup.emit('close')}}},[_c(_setup.PersonalDataWizardStep,{attrs:{\"isEdit\":_setup.isEdit},model:{value:(_setup.userCopy),callback:function ($$v) {_setup.userCopy=$$v},expression:\"userCopy\"}}),_c(_setup.CustomerMembershipWizardStep,{attrs:{\"hidden\":_setup.shouldHideMembershipStep},on:{\"leave\":function($event){return _setup.onLeaveCustomerMembershipWizardStep($event)}},model:{value:(_setup.userCopy),callback:function ($$v) {_setup.userCopy=$$v},expression:\"userCopy\"}}),_c(_setup.ConsolesWizardStep,{attrs:{\"hidden\":_setup.shouldHideConsoleStep,\"authorizedConsoles\":_setup.authorizedConsoles,\"loading\":_setup.isCustomerLoading},model:{value:(_setup.userCopy),callback:function ($$v) {_setup.userCopy=$$v},expression:\"userCopy\"}}),_c(_setup.PermissionsWizardStep,{attrs:{\"hidden\":_setup.shouldHidePermissionsStep,\"isEdit\":_setup.isEdit},model:{value:(_setup.userCopy),callback:function ($$v) {_setup.userCopy=$$v},expression:\"userCopy\"}}),_c(_setup.SummaryWizardStep,{attrs:{\"user\":_setup.userCopy,\"showCustomerMembership\":\"\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.WizardStep,{attrs:{\"title\":_vm.$t('wizards.user_creation.membership.title'),\"allowNextIf\":_vm.value.hasCustomer,\"hidden\":_vm.hidden},on:{\"leave\":function($event){return _setup.emit('leave', $event)}}},[_c('div',{staticClass:\"customer-membership-wizard-step\"},[_c(_setup.TenantsSelect,{attrs:{\"required\":\"\"},on:{\"input\":_setup.onInput,\"input:name\":function($event){_vm.value.tenantName = $event}},model:{value:(_vm.value.customerId),callback:function ($$v) {_vm.$set(_vm.value, \"customerId\", $$v)},expression:\"value.customerId\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('validation-provider',{attrs:{\"rules\":_vm.rules,\"name\":_vm.validationProviderName,\"slim\":_vm.slim},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"tenants-select\",class:{ required: _vm.isRequired },attrs:{\"label\":_vm.showLabel ? _vm.$t('inputs.customers_select.label') : undefined,\"type\":{ 'is-danger': errors[0] },\"message\":errors,\"label-for\":\"tenant\"}},[_c('b-select',{attrs:{\"id\":\"tenant\",\"name\":\"tenant\",\"value\":_vm.value,\"validation-message\":_vm.$t('inputs.customers_select.required_validation'),\"required\":_vm.isRequired,\"disabled\":_vm.disabled,\"expanded\":\"\",\"data-testid\":\"tenants-select\",\"loading\":_vm.isLoading},on:{\"input\":_vm.handleSelect}},_vm._l((_vm.tenants),function(tenant){return _c('option',{key:tenant.id,domProps:{\"value\":tenant.id}},[_vm._v(\" \"+_vm._s(tenant.name)+\" \")])}),0)],1)]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { Tenant } from '@/models/tenant';\nimport { RestrictedTenant, tenantsService } from '@/services/tenants.service';\nimport { ValidationProvider } from 'vee-validate';\nimport { isNil } from '@/utils/misc';\n\n@Component({\n components: {\n ValidationProvider,\n },\n})\nexport default class TenantsSelect extends Vue {\n @Prop()\n public value?: number;\n\n @Prop({ default: undefined })\n public rules?: any;\n\n /** @deprecated Use rules with value 'required' or { required: true } instead. */\n @Prop({ default: false, type: Boolean })\n public required!: boolean;\n\n @Prop({ default: false, type: Boolean })\n public disabled!: boolean;\n\n @Prop({ default: true, type: Boolean })\n public showLabel!: boolean;\n\n @Prop({ default: 'inputs.customers_select.label' })\n private validationProviderName!: string;\n\n @Prop({ default: false, type: Boolean })\n private slim!: boolean;\n\n @Prop({ default: false, type: Boolean })\n private restricted!: boolean;\n\n private tenants: Array = [];\n\n private isLoading = false;\n\n private mounted(): void {\n this.fetchTenants();\n }\n\n private async fetchTenants() {\n this.isLoading = true;\n try {\n if (this.restricted) {\n this.tenants = await tenantsService.getRestricted();\n } else {\n this.tenants = await tenantsService.get();\n }\n if (!isNil(this.value) && this.value > 0) {\n this.$emit('input:name', this.getTenantById(this.value)!.name);\n }\n } finally {\n this.isLoading = false;\n }\n }\n\n private getTenantById(id: number): Tenant | RestrictedTenant | undefined {\n return this.tenants.find((x) => x.id === id);\n }\n\n private handleSelect(tenantId: number) {\n const tenant = this.getTenantById(tenantId)!;\n this.$emit('input:name', tenant.name);\n this.$emit('input', tenantId);\n }\n\n private get isRequired(): boolean {\n return this.required || this.rules?.required || this.rules?.includes?.('required');\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TenantsSelect.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TenantsSelect.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TenantsSelect.vue?vue&type=template&id=31e91b20\"\nimport script from \"./TenantsSelect.vue?vue&type=script&lang=ts\"\nexport * from \"./TenantsSelect.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport WizardStep from '@/components/wizard/WizardStep.vue';\nimport TenantsSelect from '@/components/inputs/TenantsSelect.vue';\nimport { User } from '@/models/user';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerMembershipWizardStep',\n props: {\n value: null,\n hidden: { type: Boolean, default: false }\n },\n emits: [\"input\", \"leave\"],\n setup(__props: any, { emit }: { emit: ({\n (e: 'input', value: User): void;\n (e: 'leave', toPreviousPage: boolean): void;\n}), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value: User, hidden: boolean };\n\n\n\n\n\nfunction onInput() {\n emit('input', props.value);\n}\n\nreturn { __sfc: true,props, emit, onInput, WizardStep, TenantsSelect }\n}\n\n})","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerMembershipWizardStep.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerMembershipWizardStep.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerMembershipWizardStep.vue?vue&type=template&id=6c9e9ffc\"\nimport script from \"./CustomerMembershipWizardStep.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerMembershipWizardStep.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.WizardStep,{attrs:{\"title\":_vm.$t('wizards.user_creation.consoles.title'),\"hidden\":_vm.hidden,\"allowNextIf\":!_setup.isEmpty(_vm.value.consoles) && _setup.isValid,\"loading\":_vm.loading}},[_c('b-table',{attrs:{\"data\":_vm.authorizedConsoles}},[_c('b-table-column',{scopedSlots:_vm._u([{key:\"default\",fn:function({ row: console }){return [_c('b-switch',{attrs:{\"value\":_setup.isConsoleEnabled(console),\"disabled\":!_setup.isToggleEnabled(console),\"data-testid\":`${console}-console-switch`},on:{\"input\":function($event){return _setup.toggleConsole(console)}}})]}}])}),_c('b-table-column',{attrs:{\"label\":_vm.$t('wizards.user_creation.consoles.title')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: console }){return [_vm._v(\" \"+_vm._s(_vm.$t(`wizards.user_creation.summary.console_list.${console}`))+\" \")]}}])}),_c('b-table-column',{attrs:{\"label\":_vm.$t('wizards.user_creation.consoles.activation_date')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: console }){return [_c('b-datepicker',{attrs:{\"value\":_setup.getConsoleActivationDate(console),\"disabled\":!_setup.isConsoleEnabled(console),\"append-to-body\":\"\",\"mobile-native\":false,\"icon\":\"calendar-today\",\"data-testid\":`${console}-console-activation-date`},on:{\"input\":function($event){return _setup.setConsoleActivationDate(console, $event)}}})]}}])}),_c('b-table-column',{attrs:{\"label\":_vm.$t('wizards.user_creation.consoles.end_date')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: console }){return [_c('b-datepicker',{attrs:{\"value\":_setup.getConsoleEndDate(console),\"disabled\":!_setup.isConsoleEnabled(console),\"icon-right\":_setup.getConsoleEndDate(console) ? 'close-circle' : '',\"icon-right-clickable\":\"\",\"min-date\":_setup.getConsoleMinimumEndDate(console),\"focused-date\":_setup.getConsoleMinimumEndDate(console),\"append-to-body\":\"\",\"mobile-native\":false,\"icon\":\"calendar-today\",\"data-testid\":`${console}-console-end-date`},on:{\"input\":function($event){return _setup.setConsoleEndDate(console, $event)},\"icon-right-click\":function($event){return _setup.setConsoleEndDate(console, null)}}})]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport WizardStep from '@/components/wizard/WizardStep.vue';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { User } from '@/models/user';\nimport { lastDayOfNextMonth } from '@/utils/dates';\nimport { isEmpty, isNil } from '@/utils/misc';\nimport moment from 'moment';\nimport { computed } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ConsolesWizardStep',\n props: {\n value: null,\n authorizedConsoles: null,\n hidden: { type: Boolean, default: false },\n loading: { type: Boolean, default: false }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', value: User) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value: User, authorizedConsoles: ConsoleEnum[], hidden: boolean, loading: boolean };\n\n\n\n\n\nfunction toggleConsole(console: ConsoleEnum) {\n if (props.value.consoles.includes(console)) {\n props.value.consoles = props.value.consoles.filter((x) => x !== console);\n setConsoleActivationDate(console, null);\n setConsoleEndDate(console, null);\n if (console === ConsoleEnum.BC && props.value.consoles.includes(ConsoleEnum.SFC)) {\n // Clean SFC values when BC is cleaned\n props.value.consoles = props.value.consoles.filter((x) => x !== ConsoleEnum.SFC);\n setConsoleActivationDate(ConsoleEnum.SFC, null);\n setConsoleEndDate(ConsoleEnum.SFC, null);\n }\n } else {\n props.value.consoles = [...props.value.consoles, console];\n setConsoleActivationDate(console, new Date());\n if ([ConsoleEnum.BC, ConsoleEnum.SFC].includes(console)) {\n setConsoleEndDate(console, moment().endOf('year').toDate());\n }\n }\n emitNewValue();\n}\n\nfunction getConsoleMinimumEndDate(console: ConsoleEnum): Date | null {\n const activationDate = getConsoleActivationDate(console);\n if (activationDate === null) {\n return null;\n }\n return lastDayOfNextMonth(activationDate);\n}\n\nfunction setConsoleActivationDate(console: ConsoleEnum, date: Date | null): void {\n props.value.setConsoleActivationDate(console, date);\n emitNewValue();\n}\n\nfunction setConsoleEndDate(console: ConsoleEnum, date: Date | null): void {\n props.value.setConsoleEndDate(console, date);\n emitNewValue();\n}\n\nfunction emitNewValue() {\n emit('input', props.value);\n}\n\nfunction isToggleEnabled(console: ConsoleEnum): boolean {\n if (console === ConsoleEnum.SFC) {\n return props.value.consoles.includes(ConsoleEnum.BC);\n }\n return true;\n}\n\nfunction isConsoleEnabled(console: ConsoleEnum): boolean {\n return props.value.consoles.includes(console);\n}\n\nfunction getConsoleActivationDate(console: ConsoleEnum): Date | null {\n return props.value.getConsoleActivationDate(console);\n}\n\nfunction getConsoleEndDate(console: ConsoleEnum): Date | null {\n return props.value.getConsoleEndDate(console);\n}\n\nconst isValid = computed(\n () =>\n (!props.value.consoles.includes(ConsoleEnum.WCC) ||\n (props.value.consoles.includes(ConsoleEnum.WCC) && !isNil(props.value.wccActivationDate))) &&\n (!props.value.consoles.includes(ConsoleEnum.BC) ||\n (props.value.consoles.includes(ConsoleEnum.BC) && !isNil(props.value.bcActivationDate))) &&\n (!props.value.consoles.includes(ConsoleEnum.SFC) ||\n (props.value.consoles.includes(ConsoleEnum.SFC) && !isNil(props.value.sfcActivationDate))),\n);\n\nreturn { __sfc: true,props, emit, toggleConsole, getConsoleMinimumEndDate, setConsoleActivationDate, setConsoleEndDate, emitNewValue, isToggleEnabled, isConsoleEnabled, getConsoleActivationDate, getConsoleEndDate, isValid, WizardStep, isEmpty }\n}\n\n})","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConsolesWizardStep.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConsolesWizardStep.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./ConsolesWizardStep.vue?vue&type=template&id=5879dca2&scoped=true\"\nimport script from \"./ConsolesWizardStep.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ConsolesWizardStep.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./ConsolesWizardStep.vue?vue&type=style&index=0&id=5879dca2&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5879dca2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.WizardStep,{attrs:{\"title\":_vm.$t('wizards.user_creation.permissions.title'),\"hidden\":_vm.hidden,\"allowNextIf\":!(_setup.isEmpty(_vm.value.locations) && _setup.userHasEnabledWCC) && !_setup.userTypeIsNone,\"loading\":_setup.isLoading},on:{\"enter\":function($event){return _setup.loadLocations()}}},[_c('div',{staticClass:\"permissions-wizard-step\"},[_c('b-field',{staticClass:\"field-margin-top-10 required\",attrs:{\"label\":_vm.$t('user_role.label')}},[_c('b-select',{attrs:{\"name\":\"role\",\"required\":\"\",\"expanded\":\"\",\"disabled\":_setup.userTypeDisabled,\"data-testid\":\"role-select\"},on:{\"input\":_setup.onInput},model:{value:(_vm.value.userType),callback:function ($$v) {_vm.$set(_vm.value, \"userType\", $$v)},expression:\"value.userType\"}},_vm._l((_setup.availableUserTypes),function(userType){return _c('option',{key:userType,domProps:{\"value\":userType}},[_vm._v(\" \"+_vm._s(_vm.$t(`user.types.customer.roles.${userType}`))+\" \")])}),0)],1),(_setup.userHasEnabledWCC && _setup.canEditLocations)?[_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t('user.locations'),\"data-testid\":\"locations-select\"}},[(_setup.isEmpty(_setup.customerLocations) && !_setup.isLoading)?[_vm._v(\" \"+_vm._s(_vm.$t('wizards.user_creation.permissions.no_locations'))+\" \")]:_vm._l((_setup.customerLocations),function(location,index){return _c('b-switch',{key:index,staticClass:\"location-switch\",attrs:{\"type\":\"is-success\",\"native-value\":location.id,\"data-testid\":`${location.id}-location-switch`},on:{\"input\":_setup.onInput},model:{value:(_vm.value.locations),callback:function ($$v) {_vm.$set(_vm.value, \"locations\", $$v)},expression:\"value.locations\"}},[_vm._v(\" \"+_vm._s(location.name)+\" \")])})],2)]:_vm._e()],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport WizardStep from '@/components/wizard/WizardStep.vue';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { Location } from '@/models/location';\nimport { User } from '@/models/user';\nimport { UserType } from '@/models/userType';\nimport { locationsService } from '@/services/locations.service';\nimport { isEmpty } from '@/utils/misc';\nimport { currentUser, hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport { computed, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'PermissionsWizardStep',\n props: {\n value: null,\n hidden: { type: Boolean },\n isEdit: { type: Boolean }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', value: User) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as {\n value: User;\n /**\n * `true` to hide the step\n */\n hidden: boolean;\n /**\n * `true` to set the form in edition mode\n */\n isEdit: boolean;\n};\n\n\n\n\n\nconst customerLocations = ref([]);\nconst isLoading = ref(false);\n\nconst availableUserTypes = [UserType.CustomerUser, UserType.CustomerAdmin];\n\nasync function loadLocations() {\n if (!userHasEnabledWCC.value) {\n return;\n }\n isLoading.value = true;\n try {\n customerLocations.value = await locationsService.get(props.value.customerId);\n } finally {\n isLoading.value = false;\n }\n}\n\nfunction onInput() {\n emit('input', props.value);\n}\n\nconst userHasEnabledWCC = computed(() => props.value.consoles.includes(ConsoleEnum.WCC));\n\nconst userTypeIsNone = computed(() => props.value.userType === UserType.None);\n\nconst isEditingUser = computed(() => props.value.id > 0);\n\nconst userTypeDisabled = computed(\n () => isEditingUser.value && !(currentUser().isGlobalAdmin || currentUser().isSubsidiaryAdmin),\n);\n\n/**\n * **Global and Subsidiary Admin:** can always edit Customer Admin/User locations\n *\n * **Customer Admin:** can only edit Customer Admin/User locations when creating the user (not editing it)\n */\nconst canEditLocations = computed(\n () => !props.isEdit || hasCurrentUserPermission(UserType.SubsidiaryAdmin),\n);\n\nreturn { __sfc: true,props, emit, customerLocations, isLoading, availableUserTypes, loadLocations, onInput, userHasEnabledWCC, userTypeIsNone, isEditingUser, userTypeDisabled, canEditLocations, WizardStep, isEmpty }\n}\n\n})","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PermissionsWizardStep.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PermissionsWizardStep.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./PermissionsWizardStep.vue?vue&type=template&id=6b907140\"\nimport script from \"./PermissionsWizardStep.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PermissionsWizardStep.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport Wizard from '@/components/wizard/Wizard.vue';\nimport PersonalDataWizardStep from './steps/PersonalDataWizardStep.vue';\nimport CustomerMembershipWizardStep from './steps/CustomerMembershipWizardStep.vue';\nimport ConsolesWizardStep from './steps/ConsolesWizardStep.vue';\nimport PermissionsWizardStep from './steps/PermissionsWizardStep.vue';\nimport SummaryWizardStep from './steps/SummaryWizardStep.vue';\nimport { User } from '@/models/user';\nimport { Customer } from '@/models/tenant';\nimport { computed, ref } from 'vue';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { useUserWizard } from './user-wizard-utils';\nimport { isNil } from '@/utils/misc';\nimport { customersService } from '@/services/tenants.service';\nimport { areArraysEqual } from '@/utils/array';\nimport { dialogService } from '@/library-services/dialog.service';\nimport { currentUser, hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport { UserType } from '@/models/userType';\nimport { useI18n } from '@/composables/i18n';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerUserWizard',\n props: {\n user: { default: null },\n customer: { default: null }\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { user: User | null, customer: Customer | null };\n\n\n\n\n\nconst i18n = useI18n();\n\nconst customerCopy = ref(null);\nconst originalConsoles = ref([]);\nconst originalLocations = ref([]);\nconst isCustomerLoading = ref(false);\n\nconst {\n userCopy,\n submit: applyChanges,\n isEdit,\n} = useUserWizard(props, emit, User.empty(), async () => {\n customerCopy.value = props.customer;\n\n if (isEdit.value) {\n originalConsoles.value = userCopy.value!.consoles;\n originalLocations.value = userCopy.value!.locations;\n\n if (isOpenedFromUsersPage.value) {\n await loadCustomer();\n }\n } else if (isOpenedFromCustomerUsersList.value) {\n userCopy.value!.customerId = props.customer!.id;\n userCopy.value!.tenantName = props.customer!.name;\n }\n});\n\nasync function onSubmit() {\n if (isDashboardResetNeeded.value) {\n dialogService.confirmWithPromise({\n title: i18n.t('dialog.confirm_title').toString(),\n message: i18n.t('user.update').toString(),\n confirmText: i18n.t('dialog.confirm_save').toString(),\n cancelText: i18n.t(`dialog.confirm_cancel`).toString(),\n type: 'is-primary',\n onConfirm: async () => await applyChanges(authorizedConsoles.value),\n });\n } else {\n await applyChanges(authorizedConsoles.value);\n }\n}\n\nasync function loadCustomer() {\n if (customerCopy.value?.id === userCopy.value?.customerId) {\n return;\n }\n isCustomerLoading.value = true;\n try {\n customerCopy.value = await customersService.getById(userCopy.value!.customerId);\n } finally {\n isCustomerLoading.value = false;\n }\n}\n\nfunction onLeaveCustomerMembershipWizardStep(toPreviousPage: boolean) {\n if (!toPreviousPage) {\n loadCustomer();\n }\n}\n\nconst authorizedConsoles = computed(() => {\n const consoles = [];\n if (customerCopy.value?.hasDatahub) {\n consoles.push(ConsoleEnum.WCC);\n }\n if (customerCopy.value?.hasSmbs && currentUser().isGlobalAdmin) {\n consoles.push(ConsoleEnum.BC, ConsoleEnum.SFC);\n }\n return consoles;\n});\n\nconst isDashboardResetNeeded = computed(() => {\n if (!isEdit.value) {\n return false;\n }\n return (\n !areArraysEqual(userCopy.value!.consoles, originalConsoles.value) ||\n !areArraysEqual(userCopy.value!.locations, originalLocations.value)\n );\n});\n\n/**\n * Only show when a new user is being created from the Users view\n */\nconst shouldHideMembershipStep = computed(\n () => isEdit.value || isOpenedFromCustomerUsersList.value,\n);\n\n/**\n * Do not show when a Customer Admin is editing another Customer Admin/User\n */\nconst shouldHideConsoleStep = computed(\n () => isEdit.value && !hasCurrentUserPermission(UserType.SubsidiaryAdmin),\n);\n\n/**\n * Do not show to Customer Users\n */\nconst shouldHidePermissionsStep = computed(() => !hasCurrentUserPermission(UserType.CustomerAdmin));\n\nconst isOpenedFromUsersPage = computed(() => !isOpenedFromCustomerUsersList.value);\n\nconst isOpenedFromCustomerUsersList = computed(() => !isNil(props.customer));\n\nreturn { __sfc: true,props, emit, i18n, customerCopy, originalConsoles, originalLocations, isCustomerLoading, userCopy, applyChanges, isEdit, onSubmit, loadCustomer, onLeaveCustomerMembershipWizardStep, authorizedConsoles, isDashboardResetNeeded, shouldHideMembershipStep, shouldHideConsoleStep, shouldHidePermissionsStep, isOpenedFromUsersPage, isOpenedFromCustomerUsersList, Wizard, PersonalDataWizardStep, CustomerMembershipWizardStep, ConsolesWizardStep, PermissionsWizardStep, SummaryWizardStep }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerUserWizard.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerUserWizard.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerUserWizard.vue?vue&type=template&id=644fa0be\"\nimport script from \"./CustomerUserWizard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerUserWizard.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.Wizard,{staticClass:\"global-e-service-wizard\",attrs:{\"onSubmit\":_setup.onSubmit,\"title\":_vm.$t(`user.types.global_e_service.${_setup.isEdit ? 'edit' : 'create'}`)},on:{\"close\":function($event){return _setup.emit('close')}}},[_c(_setup.PersonalDataWizardStep,{attrs:{\"isEdit\":_setup.isEdit},model:{value:(_setup.userCopy),callback:function ($$v) {_setup.userCopy=$$v},expression:\"userCopy\"}}),_c(_setup.SummaryWizardStep,{attrs:{\"user\":_setup.userCopy}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport Wizard from '@/components/wizard/Wizard.vue';\nimport PersonalDataWizardStep from './steps/PersonalDataWizardStep.vue';\nimport SummaryWizardStep from './steps/SummaryWizardStep.vue';\nimport { User } from '@/models/user';\nimport { useUserWizard } from './user-wizard-utils';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ServiceGlobalWizard',\n props: {\n user: { default: null }\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { user: User | null };\n\n\n\n\n\nconst {\n userCopy,\n submit: onSubmit,\n isEdit,\n} = useUserWizard(props, emit, User.emptyServiceGlobal());\n\nreturn { __sfc: true,props, emit, userCopy, onSubmit, isEdit, Wizard, PersonalDataWizardStep, SummaryWizardStep }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceGlobalWizard.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceGlobalWizard.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./ServiceGlobalWizard.vue?vue&type=template&id=51927576\"\nimport script from \"./ServiceGlobalWizard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ServiceGlobalWizard.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.Wizard,{staticClass:\"e-service-wizard\",attrs:{\"title\":_vm.$t(`user.types.e_service.${_setup.isEdit ? 'edit' : 'create'}`),\"onSubmit\":_setup.onSubmit},on:{\"close\":function($event){return _vm.$emit('close')}}},[_c(_setup.PersonalDataWizardStep,{attrs:{\"isEdit\":_setup.isEdit},model:{value:(_setup.userCopy),callback:function ($$v) {_setup.userCopy=$$v},expression:\"userCopy\"}}),_c(_setup.ServiceMembershipWizardStep,{attrs:{\"fixedSubsidiary\":_setup.isSubsidiaryMembershipFixed},model:{value:(_setup.userCopy),callback:function ($$v) {_setup.userCopy=$$v},expression:\"userCopy\"}}),_c(_setup.SummaryWizardStep,{attrs:{\"user\":_setup.userCopy,\"showSubsidiaryMembership\":\"\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.ValidationObserver,{scopedSlots:_vm._u([{key:\"default\",fn:function({ valid: isValidationObserverDataValid }){return [_c(_setup.WizardStep,{attrs:{\"allowNextIf\":_setup.isLocalFormDataValid && isValidationObserverDataValid,\"title\":_vm.$t('wizards.user_creation.membership.title')},on:{\"leave\":function($event){return _setup.onLeave()}}},[_c('div',{staticClass:\"e-service-membership-wizard-step\"},[_c(_setup.SubsidiariesSelect,{attrs:{\"required\":\"\",\"disabled\":_vm.fixedSubsidiary},on:{\"input:name\":function($event){_setup.formData.subsidiaryName = $event}},model:{value:(_setup.formData.subsidiaryId),callback:function ($$v) {_vm.$set(_setup.formData, \"subsidiaryId\", $$v)},expression:\"formData.subsidiaryId\"}}),_c('h3',{staticClass:\"other-memberships-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('wizards.user_creation.membership.other.title'))+\" \")]),_c('b-button',{staticClass:\"add-subsidiary-membership-button\",attrs:{\"label\":_vm.$t('wizards.user_creation.membership.other.add_subsidiary'),\"data-testid\":\"add-subsidiary-membership-button\"},on:{\"click\":function($event){return _setup.addSubsidiaryMembership()}}}),_c('b-button',{attrs:{\"label\":_vm.$t('wizards.user_creation.membership.other.add_customer'),\"data-testid\":\"add-customer-membership-button\"},on:{\"click\":function($event){return _setup.addCustomerMembership()}}}),_c('b-table',{class:{ 'empty-membership-table': _setup.isEmpty(_setup.formData.otherMemberships) },attrs:{\"data\":_setup.formData.otherMemberships,\"sticky-header\":\"\"}},[_c('b-table-column',{attrs:{\"label\":_vm.$t('wizards.user_creation.membership.other.type'),\"td-attrs\":() => ({ class: 'membership-type-column' }),\"width\":\"150px\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: membership }){return [_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(`membership_type.${_setup.MembershipType[membership.type].toLowerCase()}`))+\" \")])]}}],null,true)}),_c('b-table-column',{attrs:{\"label\":_vm.$t('wizards.user_creation.membership.title')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: membership, index }){return [_c('div',{staticClass:\"membership-settings-column\"},[(membership.type === _setup.MembershipType.Subsidiary)?_c(_setup.SubsidiariesSelect,{attrs:{\"showLabel\":false,\"rules\":_setup.validationRules.other_subsidiary,\"slim\":\"\",\"validationProviderName\":`inputs.subsidiaries_select.label_${index}`,\"restricted\":_setup.isCurrentUserSubsidiaryAdmin},on:{\"input:name\":function($event){membership.name = $event}},model:{value:(membership.id),callback:function ($$v) {_vm.$set(membership, \"id\", $$v)},expression:\"membership.id\"}}):(membership.type === _setup.MembershipType.Customer)?_c(_setup.TenantsSelect,{attrs:{\"showLabel\":false,\"rules\":_setup.validationRules.other_customer,\"slim\":\"\",\"validationProviderName\":`inputs.customers_select.label_${index}`,\"restricted\":_setup.isCurrentUserSubsidiaryAdmin},on:{\"input:name\":function($event){membership.name = $event}},model:{value:(membership.id),callback:function ($$v) {_vm.$set(membership, \"id\", $$v)},expression:\"membership.id\"}}):_vm._e(),_c('b-button',{attrs:{\"data-testid\":`remove-membership-button-${index}`,\"icon-left\":\"trash-can-outline\",\"title\":_vm.$t('wizards.user_creation.membership.other.remove')},on:{\"click\":function($event){return _setup.removeMembership(index)}}})],1)]}}],null,true)})],1)],1)])]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport WizardStep from '@/components/wizard/WizardStep.vue';\nimport SubsidiariesSelect from '@/components/inputs/SubsidiariesSelect.vue';\nimport TenantsSelect from '@/components/inputs/TenantsSelect.vue';\nimport { extend, ValidationObserver } from 'vee-validate';\nimport { isEmpty, isNil, Nullable } from '@/utils/misc';\nimport { Membership, MembershipType, User } from '@/models/user';\nimport { computed, reactive, watch } from 'vue';\nimport { currentUser } from '@/utils/permissionUtils';\nimport { useI18n } from '@/composables/i18n';\n\ninterface FormData {\n subsidiaryId: number | null;\n subsidiaryName: string;\n otherMemberships: Nullable[];\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ServiceMembershipWizardStep',\n props: {\n value: null,\n fixedSubsidiary: { type: Boolean, default: false }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', user: User) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value: User, fixedSubsidiary: boolean };\n\n\n\n\n\nconst i18n = useI18n();\n\nconst formData: FormData = reactive({\n subsidiaryId: null,\n subsidiaryName: '',\n otherMemberships: [],\n});\n\nconst EMPTY_SUBSIDIARY_MEMBERSHIP = Object.freeze({\n type: MembershipType.Subsidiary,\n id: null,\n name: null,\n} as Nullable);\n\nconst EMPTY_CUSTOMER_MEMBERSHIP = Object.freeze({\n type: MembershipType.Customer,\n id: null,\n name: null,\n} as Nullable);\n\nfunction onLeave() {\n const modifiedUser = User.GetCopy(props.value);\n modifiedUser.subsidiaryId = formData.subsidiaryId;\n modifiedUser.subsidiaryName = formData.subsidiaryName;\n modifiedUser.otherMemberships = getValidMemberships();\n\n emit('input', modifiedUser);\n}\n\nfunction getValidMemberships() {\n return formData.otherMemberships.filter((membership) => !isNil(membership.id)) as Membership[];\n}\n\nfunction isMainSubsidiarySelectedAsOtherSubsidiaryToo() {\n return formData.otherMemberships\n .filter((membership) => membership.type === MembershipType.Subsidiary)\n .some((membership) => membership.id === formData.subsidiaryId);\n}\n\nfunction addSubsidiaryMembership() {\n formData.otherMemberships.push({ ...EMPTY_SUBSIDIARY_MEMBERSHIP });\n}\n\nfunction addCustomerMembership() {\n formData.otherMemberships.push({ ...EMPTY_CUSTOMER_MEMBERSHIP });\n}\n\nfunction removeMembership(index: number) {\n formData.otherMemberships.splice(index, 1);\n}\n\nwatch(\n () => props.value,\n () => {\n formData.subsidiaryId = props.value.subsidiaryId;\n formData.subsidiaryName = props.value.subsidiaryName;\n formData.otherMemberships = [...props.value.otherMemberships];\n },\n { immediate: true },\n);\n\nconst isCurrentUserSubsidiaryAdmin = computed(() => currentUser().isSubsidiaryAdmin);\n\nconst validationRules = computed(() => ({\n other_subsidiary: {\n different_value: [formData.subsidiaryId],\n duplicated_subsidiaries: [\n formData.otherMemberships.filter(\n (membership) => membership.type === MembershipType.Subsidiary,\n ),\n ],\n },\n other_customer: {\n duplicated_customers: [\n formData.otherMemberships.filter((membership) => membership.type === MembershipType.Customer),\n ],\n },\n}));\n\nconst isLocalFormDataValid = computed(\n () =>\n !isNil(formData.subsidiaryId) &&\n // HACK: Because of the use of slots for wizard steps we haven't managed\n // to make validation-observer work properly, so we have to validate here\n // again by hand.\n !isMainSubsidiarySelectedAsOtherSubsidiaryToo(),\n);\n\nextend('different_value', {\n params: ['main_value'],\n validate(value: any, { main_value }: any) {\n return value !== main_value;\n },\n message: i18n.t('validation.different_subsidiary').toString(),\n});\n\nextend('duplicated_subsidiaries', {\n params: ['values'],\n validate(value: any, { values }: any) {\n return (values as Membership[]).filter((membership) => membership.id === value).length === 1;\n },\n message: i18n.t('validation.duplicated_subsidiaries').toString(),\n});\n\nextend('duplicated_customers', {\n params: ['values'],\n validate(value: any, { values }: any) {\n return (values as Membership[]).filter((membership) => membership.id === value).length === 1;\n },\n message: i18n.t('validation.duplicated_customers').toString(),\n});\n\nreturn { __sfc: true,props, emit, i18n, formData, EMPTY_SUBSIDIARY_MEMBERSHIP, EMPTY_CUSTOMER_MEMBERSHIP, onLeave, getValidMemberships, isMainSubsidiarySelectedAsOtherSubsidiaryToo, addSubsidiaryMembership, addCustomerMembership, removeMembership, isCurrentUserSubsidiaryAdmin, validationRules, isLocalFormDataValid, WizardStep, SubsidiariesSelect, TenantsSelect, ValidationObserver, isEmpty, MembershipType }\n}\n\n})","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceMembershipWizardStep.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceMembershipWizardStep.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./ServiceMembershipWizardStep.vue?vue&type=template&id=1394d944&scoped=true\"\nimport script from \"./ServiceMembershipWizardStep.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ServiceMembershipWizardStep.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./ServiceMembershipWizardStep.vue?vue&type=style&index=0&id=1394d944&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1394d944\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport Wizard from '@/components/wizard/Wizard.vue';\nimport PersonalDataWizardStep from './steps/PersonalDataWizardStep.vue';\nimport SummaryWizardStep from './steps/SummaryWizardStep.vue';\nimport ServiceMembershipWizardStep from './steps/ServiceMembershipWizardStep.vue';\nimport { User } from '@/models/user';\nimport { useUserWizard } from './user-wizard-utils';\nimport { computed } from 'vue';\nimport { isNil } from '@/utils/misc';\nimport { currentUser } from '@/utils/permissionUtils';\nimport { subsidiariesService } from '@/services/subsidiaries.service';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ServiceUserWizard',\n props: {\n user: { default: null },\n subsidiaryId: null\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { user: User | null, subsidiaryId?: number };\n\n\n\n\n\nconst {\n userCopy,\n submit: onSubmit,\n isEdit,\n} = useUserWizard(props, emit, User.emptyServiceUser(), async () => {\n if (isOpenedFromSubsidiaryUsersList.value) {\n userCopy.value!.subsidiaryId = props.subsidiaryId!;\n userCopy.value!.subsidiaryName = await subsidiariesService.getNameById(props.subsidiaryId!);\n } else if (currentUser().isSubsidiaryAdmin) {\n // opened from Users page\n userCopy.value!.subsidiaryId = currentUser().subsidiaryId;\n }\n});\n\nconst isSubsidiaryMembershipFixed = computed(() => {\n if (isEdit.value) {\n if (currentUser().isSubsidiaryAdmin) {\n return true;\n }\n return isOpenedFromSubsidiaryUsersList.value;\n } else {\n return userCopy.value?.hasSubsidiary === true;\n }\n});\n\nconst isOpenedFromSubsidiaryUsersList = computed(() => !isNil(props.subsidiaryId));\n\nreturn { __sfc: true,props, emit, userCopy, onSubmit, isEdit, isSubsidiaryMembershipFixed, isOpenedFromSubsidiaryUsersList, Wizard, PersonalDataWizardStep, SummaryWizardStep, ServiceMembershipWizardStep }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceUserWizard.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceUserWizard.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./ServiceUserWizard.vue?vue&type=template&id=55f13c37\"\nimport script from \"./ServiceUserWizard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ServiceUserWizard.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.Wizard,{staticClass:\"technology-wizard\",attrs:{\"onSubmit\":_setup.onSubmit,\"title\":_vm.$t(`user.types.technology.${_setup.isEdit ? 'edit' : 'create'}`)},on:{\"close\":function($event){return _setup.emit('close')}}},[_c(_setup.PersonalDataWizardStep,{attrs:{\"isEdit\":_setup.isEdit},model:{value:(_setup.userCopy),callback:function ($$v) {_setup.userCopy=$$v},expression:\"userCopy\"}}),_c(_setup.SummaryWizardStep,{attrs:{\"user\":_setup.userCopy}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport Wizard from '@/components/wizard/Wizard.vue';\nimport PersonalDataWizardStep from './steps/PersonalDataWizardStep.vue';\nimport SummaryWizardStep from './steps/SummaryWizardStep.vue';\nimport { User } from '@/models/user';\nimport { useUserWizard } from './user-wizard-utils';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'TechnologyWizard',\n props: {\n user: { default: null }\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { user: User | null };\n\n\n\n\n\nconst { userCopy, submit: onSubmit, isEdit } = useUserWizard(props, emit, User.emptyTechnology());\n\nreturn { __sfc: true,props, emit, userCopy, onSubmit, isEdit, Wizard, PersonalDataWizardStep, SummaryWizardStep }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TechnologyWizard.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TechnologyWizard.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./TechnologyWizard.vue?vue&type=template&id=5a0ab940\"\nimport script from \"./TechnologyWizard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TechnologyWizard.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { User, UserAuthenticationType } from '@/models/user';\nimport { Customer } from '@/models/tenant';\nimport GlobalAdminWizard from '@/components/users/wizards/GlobalAdminWizard.vue';\nimport SubsidiaryAdminWizard from '@/components/users/wizards/SubsidiaryAdminWizard.vue';\nimport { customersService } from '@/services/tenants.service';\nimport CustomerUserWizard from '@/components/users/wizards/CustomerUserWizard.vue';\nimport i18n from '@/i18n';\nimport ServiceGlobalWizard from '@/components/users/wizards/ServiceGlobalWizard.vue';\nimport ServiceUserWizard from '@/components/users/wizards/ServiceUserWizard.vue';\nimport TechnologyWizard from '@/components/users/wizards/TechnologyWizard.vue';\nimport { currentUser } from '@/utils/permissionUtils';\nimport { modalService } from '@/library-services/modal.service';\nimport { Vue } from 'vue-property-decorator';\nimport { DialogProgrammatic } from 'buefy';\n\nexport function openUserWizard(\n app: { proxy: Vue } | null,\n component: any,\n user: User | null,\n subsidiaryId: number | null = null,\n customer: Customer | null = null,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose = () => {},\n) {\n modalService.compositionApi.open(\n {\n component,\n hasModalCard: true,\n trapFocus: true,\n canCancel: ['x'],\n props: {\n user,\n subsidiaryId,\n customer,\n },\n events: {\n save: () => onClose(),\n },\n },\n app,\n );\n}\n\nexport function openGlobalAdminWizard(\n app: { proxy: Vue } | null,\n user: User | null = null,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose = () => {},\n) {\n openUserWizard(app, GlobalAdminWizard, user, null, null, onClose);\n}\n\nexport async function openSubsidiaryAdminWizard(\n app: { proxy: Vue } | null,\n user: User | null = null,\n subsidiaryId: number | null = null,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose = () => {},\n) {\n openUserWizard(app, SubsidiaryAdminWizard, user, subsidiaryId, null, onClose);\n}\n\nexport async function openCustomerUserWizard(\n app: { proxy: Vue } | null,\n user: User | null = null,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose = () => {},\n) {\n let customer: Customer | null = null;\n if (currentUser().isCustomerAdmin && currentUser().customerId) {\n customer = await customersService.getById(currentUser().customerId);\n }\n openUserWizard(app, CustomerUserWizard, user, null, customer, onClose);\n}\n\nexport function openServiceGlobalUserWizard(\n app: { proxy: Vue } | null,\n user: User | null = null,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose = () => {},\n) {\n if (user?.authenticationType === UserAuthenticationType.Local) {\n DialogProgrammatic.alert({\n message: i18n.t('user_migrated_from_local_to_microsoft_message').toString(),\n onConfirm: () => {\n const fixedUser = User.GetCopy(user);\n fixedUser.authenticationType = UserAuthenticationType.Microsoft;\n return openUserWizard(app, ServiceGlobalWizard, fixedUser, null, null, onClose);\n },\n });\n } else {\n openUserWizard(app, ServiceGlobalWizard, user, null, null, onClose);\n }\n}\n\nexport async function openServiceUserWizard(\n app: { proxy: Vue } | null,\n user: User | null = null,\n subsidiaryId: number | null = null,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose = () => {},\n) {\n if (user?.authenticationType === UserAuthenticationType.Local) {\n DialogProgrammatic.alert({\n message: i18n.t('user_migrated_from_local_to_microsoft_message').toString(),\n onConfirm: () => {\n const fixedUser = User.GetCopy(user);\n fixedUser.authenticationType = UserAuthenticationType.Microsoft;\n openUserWizard(app, ServiceUserWizard, fixedUser, subsidiaryId, null, onClose);\n },\n });\n } else {\n openUserWizard(app, ServiceUserWizard, user, subsidiaryId, null, onClose);\n }\n}\n\nexport function openTechnologyUserWizard(\n app: { proxy: Vue } | null,\n user: User | null = null,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose = () => {},\n) {\n if (user?.authenticationType === UserAuthenticationType.Local) {\n DialogProgrammatic.alert({\n message: i18n.t('user_migrated_from_local_to_microsoft_message').toString(),\n onConfirm: () => {\n const fixedUser = User.GetCopy(user);\n fixedUser.authenticationType = UserAuthenticationType.Microsoft;\n openUserWizard(app, TechnologyWizard, fixedUser, null, null, onClose);\n },\n });\n } else {\n openUserWizard(app, TechnologyWizard, user, null, null, onClose);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nexport enum ShiftOverflowEnum {\r\n Unspecified = 0,\r\n NextDay = 1,\r\n PreviousDay = 2,\r\n}\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { UserType } from '@/models/userType';\nimport { hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport * as modals from './modals';\nimport { values } from '@/utils/enum';\nimport { computed, getCurrentInstance } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserCreationDropdown',\n props: {\n allowedTypes: { default: () => values(UserType) as UserType[] },\n subsidiaryId: null\n },\n emits: ['close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { allowedTypes: UserType[], subsidiaryId?: number };\n\n\n\n\n\nconst app = getCurrentInstance();\n\nfunction isTypeEnabled(type: UserType): boolean {\n return props.allowedTypes!.includes(type);\n}\n\nfunction openGlobalAdminWizard() {\n modals.openGlobalAdminWizard(app, null, onWizardClosed);\n}\n\nasync function openSubsidiaryAdminWizard() {\n await modals.openSubsidiaryAdminWizard(app, null, props.subsidiaryId, onWizardClosed);\n}\n\nasync function openCustomerWizard() {\n await modals.openCustomerUserWizard(app, null, onWizardClosed);\n}\n\nfunction openServiceGlobalWizard() {\n modals.openServiceGlobalUserWizard(app, null, onWizardClosed);\n}\n\nasync function openServiceWizard() {\n await modals.openServiceUserWizard(app, null, props.subsidiaryId, onWizardClosed);\n}\n\nfunction openTechnologyWizard() {\n modals.openTechnologyUserWizard(app, null, onWizardClosed);\n}\n\nfunction onWizardClosed() {\n emit('close');\n}\n\nconst canCreateGlobalAdmin = computed(() => hasCurrentUserPermission(UserType.GlobalAdmin));\nconst canCreateSubsidiaryAdmin = computed(() => hasCurrentUserPermission(UserType.SubsidiaryAdmin));\nconst canCreateCustomer = computed(() => hasCurrentUserPermission(UserType.CustomerAdmin));\nconst canCreateEService = computed(() => hasCurrentUserPermission(UserType.SubsidiaryAdmin));\nconst canCreateTechnology = computed(() => hasCurrentUserPermission(UserType.GlobalAdmin));\n\nreturn { __sfc: true,props, emit, app, isTypeEnabled, openGlobalAdminWizard, openSubsidiaryAdminWizard, openCustomerWizard, openServiceGlobalWizard, openServiceWizard, openTechnologyWizard, onWizardClosed, canCreateGlobalAdmin, canCreateSubsidiaryAdmin, canCreateCustomer, canCreateEService, canCreateTechnology, UserType }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserCreationDropdown.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserCreationDropdown.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./UserCreationDropdown.vue?vue&type=template&id=2de29fa7&scoped=true\"\nimport script from \"./UserCreationDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserCreationDropdown.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./UserCreationDropdown.vue?vue&type=style&index=0&id=2de29fa7&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2de29fa7\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { User, UserAuthenticationType } from '@/models/user';\nimport { usersService } from '@/services/users.service';\nimport { Subsidiary } from '@/models/subsidiary';\nimport { subsidiariesService } from '@/services/subsidiaries.service';\nimport PasswordResetModal from '@/components/users/PasswordResetModal.vue';\nimport TableActionButton from '@/components/tableWithActions/TableActionButton.vue';\nimport TableWithActions from '@/components/tableWithActions/TableWithActions.vue';\nimport i18n from '@/i18n';\nimport { UserType } from '@/models/userType';\nimport UserCreationDropdown from '@/components/users/wizards/UserCreationDropdown.vue';\nimport { currentUser, hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport {\n openServiceUserWizard,\n openSubsidiaryAdminWizard,\n} from '@/components/users/wizards/modals';\nimport { dialogService } from '@/library-services/dialog.service';\nimport { computed, getCurrentInstance, onBeforeMount, ref } from 'vue';\nimport { modalService } from '@/library-services/modal.service';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SubsidiaryUsers',\n props: {\n subsidiary: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n subsidiary: Subsidiary;\n};\n\n\n\nconst app = getCurrentInstance();\nconst users = ref([]);\nconst isLoading = ref(false);\n\nonBeforeMount(async () => {\n await getUsers();\n});\n\nasync function getUsers() {\n isLoading.value = true;\n users.value = await subsidiariesService\n .getUsers(props.subsidiary.id)\n .finally(() => (isLoading.value = false));\n}\n\nasync function editUser(user: User) {\n if (user.isSubsidiaryAdmin) {\n await openSubsidiaryAdminWizard(app, user, props.subsidiary.id, onUserFormClosed);\n } else if (user.isServiceUser) {\n await openServiceUserWizard(app, user, props.subsidiary.id, onUserFormClosed);\n }\n}\n\nfunction confirmDelete(id: number, name: string) {\n dialogService.confirmWithPromise({\n title: i18n.t('dialog.confirm_delete_title').toString(),\n message: i18n\n .t('confirmation.message', {\n action: i18n.t('action.delete').toString().toLowerCase(),\n entity: i18n.t('user.name').toString().toLowerCase(),\n name,\n })\n .toString(),\n confirmText: i18n.t('dialog.confirm_delete').toString(),\n cancelText: i18n.t(`dialog.confirm_cancel`).toString(),\n type: 'is-danger',\n onConfirm: async () => await deleteUser(id),\n });\n}\n\nasync function deleteUser(id: number) {\n await usersService.delete(id).then(() => {\n users.value = users.value.filter((x) => x.id !== id);\n });\n}\n\nfunction resetPassword(user: User) {\n modalService.compositionApi.open(\n {\n component: PasswordResetModal,\n hasModalCard: true,\n trapFocus: true,\n props: {\n id: user.id,\n email: user.email,\n },\n },\n app,\n );\n}\n\nasync function onUserFormClosed() {\n await getUsers();\n}\n\nfunction canEdit(editingUser: User): boolean {\n return (\n hasCurrentUserPermission(UserType.GlobalAdmin) ||\n editingUser.isServiceUserType ||\n currentUser().equals(editingUser)\n );\n}\n\nfunction canResetPasswordOn(user: User): boolean {\n return (\n (canResetPasswords.value || user.id === currentUser().id) &&\n user.authenticationType === UserAuthenticationType.Local\n );\n}\n\nconst canResetPasswords = computed(() => hasCurrentUserPermission(UserType.GlobalAdmin));\n\nreturn { __sfc: true,props, app, users, isLoading, getUsers, editUser, confirmDelete, deleteUser, resetPassword, onUserFormClosed, canEdit, canResetPasswordOn, canResetPasswords, TableActionButton, TableWithActions, UserType, UserCreationDropdown, currentUser }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryUsers.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryUsers.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SubsidiaryUsers.vue?vue&type=template&id=2012e75f&scoped=true\"\nimport script from \"./SubsidiaryUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SubsidiaryUsers.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./SubsidiaryUsers.vue?vue&type=style&index=0&id=2012e75f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2012e75f\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { Subsidiary } from '@/models/subsidiary';\nimport { subsidiariesService } from '@/services/subsidiaries.service';\nimport SubsidiaryProperties from './SubsidiaryProperties.vue';\nimport SubsidiaryUsers from './SubsidiaryUsers.vue';\nimport { onBeforeMount, reactive } from 'vue';\nimport { useSpinner } from '@/composables/misc';\nimport { useRoute } from '@/composables/router';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SubsidiaryDetail',\n setup(__props) {\n\nconst route = useRoute();\nconst spinner = useSpinner();\n\nconst subsidiary = reactive(Subsidiary.GetEmpty());\n\nonBeforeMount(async () => {\n Object.assign(subsidiary, await fetchSubsidiary(+route.value.params.id));\n});\n\nasync function fetchSubsidiary(id: number): Promise {\n spinner.showSpinner();\n try {\n return await subsidiariesService.getById(id);\n } finally {\n spinner.removeSpinner();\n }\n}\n\nreturn { __sfc: true,route, spinner, subsidiary, fetchSubsidiary, SubsidiaryProperties, SubsidiaryUsers }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryDetail.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubsidiaryDetail.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SubsidiaryDetail.vue?vue&type=template&id=f9d0e4f4&scoped=true\"\nimport script from \"./SubsidiaryDetail.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SubsidiaryDetail.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./SubsidiaryDetail.vue?vue&type=style&index=0&id=f9d0e4f4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f9d0e4f4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"customers\"},[_c('div',{staticClass:\"actions\"},[(_setup.canEditCustomers)?_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"plus\"},on:{\"click\":function($event){return _setup.createCustomer()}}},[_vm._v(\" \"+_vm._s(_vm.$t('tenant.title_new'))+\" \")]):_vm._e()],1),_c(_setup.TableWithActions,{attrs:{\"data\":_setup.customers,\"defaultSort\":\"id\",\"loading\":_setup.isLoading},scopedSlots:_vm._u([{key:\"actions\",fn:function({ row: customer }){return [_c(_setup.TableActionButton,{attrs:{\"icon\":!_setup.canEditCustomers ? 'eye-outline' : 'pencil'},on:{\"click\":function($event){return _setup.editCustomer(customer)}}},[_vm._v(\" \"+_vm._s(!_setup.canEditCustomers ? _vm.$t('action.view') : _vm.$t('action.edit'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"trash-can-outline\",\"disabled\":_setup.canEditCustomers === false},on:{\"click\":function($event){return _setup.confirmDelete(customer)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.delete'))+\" \")])]}}])},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":_vm.$t('form.name'),\"header-class\":\"flexible-column\",\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: customer }){return [_vm._v(\" \"+_vm._s(customer.name)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"tenantIdDh\",\"label\":_vm.$t('tenant.tenant_id'),\"custom-search\":_setup.filterCustomerIdDh,\"width\":\"5rem\",\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: customer }){return [_vm._v(\" \"+_vm._s(customer.tenantIdDh)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"subsidiary\",\"label\":_vm.$t('tenant.subsidiary_name'),\"header-class\":\"flexible-column\",\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: customer }){return [_vm._v(\" \"+_vm._s(customer.subsidiary)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"bystronicOrderNumber\",\"label\":_vm.$t('tenant.bystronicOrderNumber'),\"header-class\":\"order-column\",\"cell-class\":\"order-column\",\"td-attrs\":_setup.orderColumnEllipsisTitle,\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: customer }){return [_vm._v(\" \"+_vm._s(customer.bystronicOrderNumber)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"bystronicOrderPerson\",\"label\":_vm.$t('tenant.bystronicOrderPerson'),\"cell-class\":\"order-column\",\"header-class\":\"order-column\",\"td-attrs\":_setup.orderColumnEllipsisTitle,\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: customer }){return [_vm._v(\" \"+_vm._s(customer.bystronicOrderPerson)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"customerOrderNumber\",\"label\":_vm.$t('tenant.customerOrderNumber'),\"cell-class\":\"order-column\",\"header-class\":\"order-column\",\"td-attrs\":_setup.orderColumnEllipsisTitle,\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: customer }){return [_vm._v(\" \"+_vm._s(customer.customerOrderNumber)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"customerOrderPerson\",\"label\":_vm.$t('tenant.customerOrderPerson'),\"cell-class\":\"order-column\",\"header-class\":\"order-column\",\"td-attrs\":_setup.orderColumnEllipsisTitle,\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: customer }){return [_vm._v(\" \"+_vm._s(customer.customerOrderPerson)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"endAt\",\"label\":_vm.$t('tenant.endAt'),\"width\":\"8rem\",\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: customer }){return [_vm._v(\" \"+_vm._s(_setup.formatDateWithTime(customer.endAt))+\" \")]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.ValidationObserver,{scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit, invalid }){return [_c('form',{staticClass:\"customer-creation-modal\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_setup.onSubmit)}}},[_c('div',{staticClass:\"modal-card\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(_vm._s(_vm.$t(`tenant.title_create`)))])]),_c('section',{staticClass:\"modal-card-body\"},[_c(_setup.RequiredFieldsHint),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.name,\"name\":\"tenant.tenant_name\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t(`tenant.tenant_name`),\"label-for\":\"name\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"name\",\"name\":\"name\",\"has-counter\":false},model:{value:(_setup.customer.name),callback:function ($$v) {_vm.$set(_setup.customer, \"name\", $$v)},expression:\"customer.name\"}})],1)]}}],null,true)}),_c(_setup.SubsidiariesSelect,{staticClass:\"field-margin-top-10\",attrs:{\"rules\":_setup.validationRules.subsidiaryId},model:{value:(_setup.customer.subsidiaryId),callback:function ($$v) {_vm.$set(_setup.customer, \"subsidiaryId\", $$v)},expression:\"customer.subsidiaryId\"}}),_c(_setup.CustomerSourcesSelect,{on:{\"datahubChange\":function($event){_setup.customer.hasDatahub = $event},\"smbsChange\":function($event){_setup.customer.hasSmbs = $event}}}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.email,\"name\":\"tenant.email\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"field-margin-top-10\",attrs:{\"label\":_vm.$t(`tenant.email`),\"label-for\":\"email\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"email\",\"name\":\"email\",\"type\":\"email\",\"has-counter\":false},model:{value:(_setup.customer.email),callback:function ($$v) {_vm.$set(_setup.customer, \"email\", $$v)},expression:\"customer.email\"}})],1)]}}],null,true)}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.foreName,\"name\":\"tenant.foreName\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"field-margin-top-10\",attrs:{\"label\":_vm.$t(`tenant.foreName`),\"label-for\":\"foreName\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"foreName\",\"name\":\"foreName\",\"has-counter\":false},model:{value:(_setup.customer.foreName),callback:function ($$v) {_vm.$set(_setup.customer, \"foreName\", $$v)},expression:\"customer.foreName\"}})],1)]}}],null,true)}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.lastName,\"name\":\"tenant.lastName\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"field-margin-top-10\",attrs:{\"label\":_vm.$t(`tenant.lastName`),\"label-for\":\"lastName\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"lastName\",\"name\":\"lastName\",\"has-counter\":false},model:{value:(_setup.customer.lastName),callback:function ($$v) {_vm.$set(_setup.customer, \"lastName\", $$v)},expression:\"customer.lastName\"}})],1)]}}],null,true)}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.sapNumber,\"name\":\"tenant.sapNumber\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"required field-margin-top-10\",attrs:{\"label\":_vm.$t(`tenant.sapNumber`),\"label-for\":\"sapNumber\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"sapNumber\",\"name\":\"sapNumber\",\"has-counter\":false},model:{value:(_setup.customer.sapNumber),callback:function ($$v) {_vm.$set(_setup.customer, \"sapNumber\", $$v)},expression:\"customer.sapNumber\"}})],1)]}}],null,true)}),_c(_setup.CurrencyCodesSelect,{staticClass:\"field-margin-top-10\",attrs:{\"rules\":_setup.validationRules.currencyCode},model:{value:(_setup.customer.currencyCode),callback:function ($$v) {_vm.$set(_setup.customer, \"currencyCode\", $$v)},expression:\"customer.currencyCode\"}}),_c(_setup.MeasurementsSelect,{staticClass:\"field-margin-top-10\",attrs:{\"rules\":_setup.validationRules.measurement},model:{value:(_setup.customer.measurement),callback:function ($$v) {_vm.$set(_setup.customer, \"measurement\", $$v)},expression:\"customer.measurement\"}}),_c(_setup.TimezonesSelect,{staticClass:\"field-margin-top-10\",attrs:{\"rules\":_setup.validationRules.timeZone},model:{value:(_setup.customer.timeZone),callback:function ($$v) {_vm.$set(_setup.customer, \"timeZone\", $$v)},expression:\"customer.timeZone\"}}),_c('b-field',{staticClass:\"field-margin-top-10\",attrs:{\"label\":_vm.$t(`tenant.startAt`)}},[_c('b-datetimepicker',{attrs:{\"id\":\"startAt\",\"name\":\"startAt\",\"icon\":\"calendar-today\",\"disabled\":\"\"},model:{value:(_setup.customer.startAt),callback:function ($$v) {_vm.$set(_setup.customer, \"startAt\", $$v)},expression:\"customer.startAt\"}})],1),_c('b-field',{staticClass:\"field-margin-top-10\",attrs:{\"label\":_vm.$t(`tenant.endAt`)}},[_c('b-datetimepicker',{attrs:{\"id\":\"endAt\",\"name\":\"endAt\",\"icon\":\"calendar-today\",\"disabled\":\"\"},model:{value:(_setup.customer.endAt),callback:function ($$v) {_vm.$set(_setup.customer, \"endAt\", $$v)},expression:\"customer.endAt\"}})],1),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.bystronicOrderNumber,\"name\":\"tenant.bystronicOrderNumber\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"field-margin-top-10\",class:{ required: _setup.validationRules.bystronicOrderNumber.required },attrs:{\"label\":_vm.$t(`tenant.bystronicOrderNumber`),\"label-for\":\"bystronicOrderNumber\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"bystronicOrderNumber\",\"name\":\"bystronicOrderNumber\",\"has-counter\":false},model:{value:(_setup.customer.bystronicOrderNumber),callback:function ($$v) {_vm.$set(_setup.customer, \"bystronicOrderNumber\", $$v)},expression:\"customer.bystronicOrderNumber\"}})],1)]}}],null,true)}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.bystronicOrderPerson,\"name\":\"tenant.bystronicOrderPerson\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"field-margin-top-10\",class:{ required: _setup.validationRules.bystronicOrderPerson.required },attrs:{\"label\":_vm.$t(`tenant.bystronicOrderPerson`),\"label-for\":\"bystronicOrderPerson\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"bystronicOrderPerson\",\"name\":\"bystronicOrderPerson\",\"has-counter\":false},model:{value:(_setup.customer.bystronicOrderPerson),callback:function ($$v) {_vm.$set(_setup.customer, \"bystronicOrderPerson\", $$v)},expression:\"customer.bystronicOrderPerson\"}})],1)]}}],null,true)}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.customerOrderNumber,\"name\":\"tenant.customerOrderNumber\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"field-margin-top-10\",attrs:{\"label\":_vm.$t(`tenant.customerOrderNumber`),\"label-for\":\"customerOrderNumber\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"name\":\"customerOrderNumber\",\"has-counter\":false},model:{value:(_setup.customer.customerOrderNumber),callback:function ($$v) {_vm.$set(_setup.customer, \"customerOrderNumber\", $$v)},expression:\"customer.customerOrderNumber\"}})],1)]}}],null,true)}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.customerOrderPerson,\"name\":\"tenant.customerOrderPerson\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"field-margin-top-10\",attrs:{\"label\":_vm.$t(`tenant.customerOrderPerson`),\"label-for\":\"customerOrderPerson\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"customerOrderPerson\",\"name\":\"customerOrderPerson\",\"has-counter\":false},model:{value:(_setup.customer.customerOrderPerson),callback:function ($$v) {_vm.$set(_setup.customer, \"customerOrderPerson\", $$v)},expression:\"customer.customerOrderPerson\"}})],1)]}}],null,true)})],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":function($event){return _setup.emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),_c('b-tooltip',{attrs:{\"active\":invalid,\"label\":_vm.$t('form.form_invalid_submit_tooltip'),\"triggers\":['hover', 'focus'],\"position\":\"is-left\",\"multilined\":\"\",\"type\":\"is-dark\"}},[_c('b-button',{attrs:{\"type\":\"is-success\",\"native-type\":\"submit\",\"disabled\":invalid,\"loading\":_setup.isSubmitting,\"data-testid\":\"submit-button\"}},[_vm._v(\" \"+_vm._s(_vm.$t('action.create'))+\" \")])],1)],1)])])]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.ValidationProvider,{attrs:{\"rules\":_vm.rules,\"name\":\"inputs.timezones_select.label\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{class:[{ required: _setup.required }, 'timezones-select'],attrs:{\"label\":_vm.$t('inputs.timezones_select.label'),\"type\":{ 'is-danger': errors[0] },\"message\":errors,\"label-for\":`timezones-select-${_setup.componentId}`}},[_c('b-select',{attrs:{\"id\":`timezones-select-${_setup.componentId}`,\"name\":\"timezone\",\"value\":_vm.value,\"disabled\":_vm.disabled,\"expanded\":\"\"},on:{\"input\":function($event){return _setup.emit('input', $event)}}},_vm._l((_setup.timezones),function(option){return _c('option',{key:option.id,domProps:{\"value\":option.id}},[_vm._v(\" \"+_vm._s(option.name)+\" \")])}),0)],1)]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { useI18n } from '@/composables/i18n';\nimport { TimeZone } from '@/models/timeZone';\nimport { mastersService } from '@/services/masters.service';\nimport { computed } from 'vue';\nimport { ValidationProvider } from 'vee-validate';\nimport { uniqueId } from '@/utils/misc';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'TimezonesSelect',\n props: {\n value: null,\n rules: { default: () => ({}) },\n disabled: { type: Boolean, default: false }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', timezone: string) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value?: string, rules: any, disabled: boolean };\n\n\n\n\nconst i18n = useI18n();\nconst componentId = uniqueId();\n\nconst timezones = computed((): TimeZone[] => {\n const timezones = mastersService.store.getTimezones();\n const translatedTimezones = timezones.map((timezone) => ({\n ...timezone,\n name: i18n.t('timezone.' + timezone.id).toString(),\n }));\n return translatedTimezones.sort((a, b) => a.name.localeCompare(b.name));\n});\n\nconst required = computed(() => 'required' in props.rules);\n\nreturn { __sfc: true,props, emit, i18n, componentId, timezones, required, ValidationProvider }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimezonesSelect.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimezonesSelect.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./TimezonesSelect.vue?vue&type=template&id=3a068eb9\"\nimport script from \"./TimezonesSelect.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezonesSelect.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.ValidationProvider,{attrs:{\"rules\":_vm.rules,\"name\":\"inputs.currencycodes_select.label\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{class:[{ required: _setup.required }, 'currency-codes-select'],attrs:{\"label\":_vm.$t('inputs.currencycodes_select.label'),\"type\":{ 'is-danger': errors[0] },\"message\":errors,\"label-for\":`currency-code-${_setup.componentId}`}},[_c('b-select',{attrs:{\"id\":`currency-code-${_setup.componentId}`,\"name\":\"currency-code\",\"value\":_vm.value,\"disabled\":_vm.disabled,\"expanded\":\"\"},on:{\"input\":function($event){return _setup.emit('input', $event)}}},_vm._l((_setup.currencyCodes),function(option){return _c('option',{key:option.id,domProps:{\"value\":option.id}},[_vm._v(\" \"+_vm._s(_vm.$t(`currency.${option.id}`))+\" \")])}),0)],1)]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { CurrencyCode } from '@/models/currencyCode';\nimport { mastersService } from '@/services/masters.service';\nimport { ValidationProvider } from 'vee-validate';\nimport { uniqueId } from '@/utils/misc';\nimport { computed } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CurrencyCodesSelect',\n props: {\n value: null,\n rules: { default: () => ({}) },\n disabled: { type: Boolean, default: false }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', value: string) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value?: string | null, rules: any, disabled: boolean };\n\n\n\n\n\nconst componentId = uniqueId();\n\nconst currencyCodes = computed((): CurrencyCode[] => mastersService.store.getCurrencyCodes());\n\nconst required = computed(() => 'required' in props.rules);\n\nreturn { __sfc: true,props, emit, componentId, currencyCodes, required, ValidationProvider }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CurrencyCodesSelect.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CurrencyCodesSelect.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CurrencyCodesSelect.vue?vue&type=template&id=fc13152c\"\nimport script from \"./CurrencyCodesSelect.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CurrencyCodesSelect.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.ValidationProvider,{attrs:{\"rules\":_vm.rules,\"name\":\"inputs.measurements_select.label\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{class:[{ required: _setup.required }, 'measurements-select'],attrs:{\"label\":_vm.$t('inputs.measurements_select.label'),\"type\":{ 'is-danger': errors[0] },\"message\":errors,\"label-for\":`measurement-select-${_setup.componentId}`}},[_c('b-select',{attrs:{\"id\":`measurement-select-${_setup.componentId}`,\"name\":\"measurement\",\"value\":_vm.value,\"disabled\":_vm.disabled,\"expanded\":\"\"},on:{\"input\":function($event){return _setup.emit('input', $event)}}},_vm._l((_setup.measurements),function(option){return _c('option',{key:option.id,domProps:{\"value\":option.id}},[_vm._v(\" \"+_vm._s(_vm.$t(`measurement.${option.id}`))+\" \")])}),0)],1)]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ValidationProvider } from 'vee-validate';\nimport { mastersService } from '@/services/masters.service';\nimport { computed } from 'vue';\nimport { uniqueId } from '@/utils/misc';\nimport { Measurements } from '@/models/enums/Measurement';\nimport { Measurement } from '@/models/measurement';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MeasurementsSelect',\n props: {\n value: null,\n rules: { default: () => ({}) },\n disabled: { type: Boolean, default: false }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', value: Measurements) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value?: Measurements | null, rules: any, disabled: boolean };\n\n\n\n\n\nconst componentId = uniqueId();\n\nconst measurements = computed((): Measurement[] => mastersService.store.getMeasurementUnits());\n\nconst required = computed(() => 'required' in props.rules);\n\nreturn { __sfc: true,props, emit, componentId, measurements, required, ValidationProvider }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeasurementsSelect.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeasurementsSelect.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./MeasurementsSelect.vue?vue&type=template&id=3af7eed3\"\nimport script from \"./MeasurementsSelect.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./MeasurementsSelect.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"tenant-sources-select\"},[_c('b-field',{attrs:{\"label\":_vm.$t('inputs.tenantservices_select.label'),\"label-for\":`data-hub-switch-${_setup.componentId}`}},[_c('b-field',[_c('b-switch',{attrs:{\"id\":`data-hub-switch-${_setup.componentId}`,\"name\":\"data-hub\",\"disabled\":_vm.disabled,\"value\":_vm.hasDatahub,\"data-testid\":\"datahub\"},on:{\"input\":function($event){return _setup.emit('datahubChange', $event)}}},[_vm._v(\" Device Data Acquisition Platform \")])],1),_c('b-field',[_c('b-switch',{attrs:{\"id\":`smbs-switch-${_setup.componentId}`,\"name\":\"smbs\",\"disabled\":_vm.disabled,\"value\":_vm.hasSmbs,\"data-testid\":\"by-soft-business\"},on:{\"input\":function($event){return _setup.emit('smbsChange', $event)}}},[_vm._v(\" BySoft Business \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { uniqueId } from '@/utils/misc';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerSourcesSelect',\n props: {\n hasDatahub: { type: Boolean, default: false },\n hasSmbs: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false }\n },\n emits: [\"datahubChange\", \"smbsChange\"],\n setup(__props: any, { emit }: { emit: ((e: 'datahubChange' | 'smbsChange', hasValue: boolean) => void), expose: any, slots: any, attrs: any }) {\n\n\n\n\n\nconst componentId = uniqueId();\n\nreturn { __sfc: true,emit, componentId }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerSourcesSelect.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerSourcesSelect.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerSourcesSelect.vue?vue&type=template&id=12e3edba\"\nimport script from \"./CustomerSourcesSelect.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerSourcesSelect.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { customersService } from '@/services/tenants.service';\nimport { Customer } from '@/models/tenant';\nimport TimezonesSelect from '../inputs/TimezonesSelect.vue';\nimport CurrencyCodesSelect from '../inputs/CurrencyCodesSelect.vue';\nimport MeasurementsSelect from '../inputs/MeasurementsSelect.vue';\nimport SubsidiariesSelect from '../inputs/SubsidiariesSelect.vue';\nimport CustomerSourcesSelect from '../inputs/CustomerSourcesSelect.vue';\nimport { ValidationObserver, ValidationProvider } from 'vee-validate';\nimport RequiredFieldsHint from '../forms/RequiredFieldsHint.vue';\nimport { computed, reactive, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerCreationModal',\n emits: ['save', 'close'],\n setup(__props, { emit }) {\n\n\n\nconst customer = reactive(Customer.GetEmpty());\nconst isSubmitting = ref(false);\n\nasync function onSubmit() {\n isSubmitting.value = true;\n customersService\n .create(customer)\n .then(() => {\n emit('save');\n emit('close');\n })\n .finally(() => (isSubmitting.value = false));\n}\n\nconst validationRules = computed(() => ({\n name: {\n required: true,\n max: 256,\n },\n subsidiaryId: { required: true },\n email: {\n email: true,\n max: 256,\n },\n foreName: {\n max: 256,\n },\n lastName: {\n max: 256,\n },\n sapNumber: {\n required: true,\n max: 256,\n },\n currencyCode: { required: true },\n measurement: { required: true },\n timeZone: { required: true },\n bystronicOrderNumber: {\n required: customer.hasDatahub || customer.hasSmbs,\n max: 1024,\n },\n bystronicOrderPerson: {\n required: customer.hasDatahub || customer.hasSmbs,\n max: 1024,\n },\n customerOrderNumber: {\n max: 1024,\n },\n customerOrderPerson: {\n max: 1024,\n },\n}));\n\nreturn { __sfc: true,emit, customer, isSubmitting, onSubmit, validationRules, TimezonesSelect, CurrencyCodesSelect, MeasurementsSelect, SubsidiariesSelect, CustomerSourcesSelect, ValidationObserver, ValidationProvider, RequiredFieldsHint }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerCreationModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerCreationModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerCreationModal.vue?vue&type=template&id=fec3b76c\"\nimport script from \"./CustomerCreationModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerCreationModal.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./CustomerCreationModal.vue?vue&type=style&index=0&id=fec3b76c&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { Customer } from '@/models/tenant';\nimport { customersService } from '@/services/tenants.service';\nimport { Routes } from '@/router/routes';\nimport CustomerCreationModal from '../../components/customers/CustomerCreationModal.vue';\nimport { UserType } from '@/models/userType';\nimport { hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport TableActionButton from '@/components/tableWithActions/TableActionButton.vue';\nimport TableWithActions from '@/components/tableWithActions/TableWithActions.vue';\nimport { formatDateWithTime } from '../../utils/table';\nimport { modalService } from '@/library-services/modal.service';\nimport { computed, getCurrentInstance, onMounted, ref } from 'vue';\nimport { useI18n } from '@/composables/i18n';\nimport { useRouter } from '@/composables/router';\nimport { dialogService } from '@/library-services/dialog.service';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Customers',\n setup(__props) {\n\nconst i18n = useI18n();\nconst router = useRouter();\n\nconst customers = ref([]);\nconst isLoading = ref(false);\nconst app = getCurrentInstance();\n\nonMounted(async () => {\n await getCustomers();\n});\n\nfunction confirmDelete(customer: Customer): void {\n dialogService.confirmWithPromise({\n title: i18n.t('dialog.confirm_delete_title').toString(),\n message: i18n\n .t('confirmation.message', {\n action: i18n.t('action.delete').toString().toLowerCase(),\n entity: i18n.t('tenant.name').toString().toLowerCase(),\n name: customer.name,\n })\n .toString(),\n confirmText: i18n.t('dialog.confirm_delete').toString(),\n cancelText: i18n.t(`dialog.confirm_cancel`).toString(),\n type: 'is-danger',\n onConfirm: async () => await deleteCustomer(customer.id),\n });\n}\n\nasync function editCustomer(customer: Customer) {\n await router.push({\n name: Routes.TenantDetail,\n params: { id: customer.id.toString() },\n });\n}\n\nasync function getCustomers() {\n isLoading.value = true;\n customers.value = await customersService.get().finally(() => (isLoading.value = false));\n}\n\nfunction createCustomer() {\n modalService.compositionApi.open(\n {\n component: CustomerCreationModal,\n events: {\n save: async () => await getCustomers(),\n },\n },\n app,\n );\n}\n\nasync function deleteCustomer(id: number) {\n await customersService.delete(id).then(() => {\n customers.value = customers.value.filter((x) => x.id !== id);\n });\n}\n\nfunction filterCustomerIdDh(customer: Customer, filter: string) {\n return customer.tenantIdDh.toString().includes(filter.toLowerCase());\n}\n\nfunction orderColumnEllipsisTitle(row: any, column: any) {\n if (column.rootClasses.indexOf('order-column') !== -1) {\n return {\n title: row[column.field],\n };\n }\n}\n\nconst canEditCustomers = computed(() => hasCurrentUserPermission(UserType.SubsidiaryAdmin));\n\nreturn { __sfc: true,i18n, router, customers, isLoading, app, confirmDelete, editCustomer, getCustomers, createCustomer, deleteCustomer, filterCustomerIdDh, orderColumnEllipsisTitle, canEditCustomers, TableActionButton, TableWithActions, formatDateWithTime }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Customers.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Customers.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./Customers.vue?vue&type=template&id=92940b2a&scoped=true\"\nimport script from \"./Customers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Customers.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./Customers.vue?vue&type=style&index=0&id=92940b2a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"92940b2a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"control-list\"},[_c('div',{staticClass:\"filter\"},[_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"cloud-download-outline\",\"loading\":_setup.isPreparingDownload},on:{\"click\":_setup.confirmDownload}},[_vm._v(\" \"+_vm._s(_vm.$t('device.download_device_per_tenant_and_year'))+\" \")])],1),_c('div',{staticClass:\"filter-buttons\"},[_c('b-datepicker',{ref:\"datepickerRef\",attrs:{\"icon\":\"calendar-today\",\"size\":\"is-small\",\"position\":\"is-bottom-left\",\"mobile-native\":false},on:{\"input\":_setup.getBillingInfo},model:{value:(_setup.viewOnDate),callback:function ($$v) {_setup.viewOnDate=$$v},expression:\"viewOnDate\"}}),_c('div',{staticClass:\"mobile-datepicker\",on:{\"click\":_setup.toggleDatepicker}},[_c('b-icon',{staticClass:\"ipad-btns\",attrs:{\"icon\":\"calendar-today\"}})],1)],1)],1),_c(_setup.TableWithActions,{attrs:{\"data\":_setup.billingInfo,\"loading\":_setup.isLoading}},[_c('b-table-column',{attrs:{\"field\":\"sapNumberCustomer\",\"width\":\"120\",\"label\":_vm.$t('control_list.sapNumberCustomer'),\"sortable\":\"\",\"searchable\":\"\",\"th-attrs\":() => ({ 'data-testid': 'sap-number-customer-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.sapNumberCustomer)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"sapNameCustomer\",\"width\":\"120\",\"label\":_vm.$t('control_list.sapNameCustomer'),\"sortable\":\"\",\"searchable\":\"\",\"sticky\":\"\",\"th-attrs\":() => ({ 'data-testid': 'sap-name-customer-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.sapNameCustomer)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"sapNumberSubsidiary\",\"width\":\"120\",\"label\":_vm.$t('control_list.sapNumberSubsidiary'),\"sortable\":\"\",\"searchable\":\"\",\"custom-search\":_setup.searchByField('sapNumberSubsidiary'),\"th-attrs\":() => ({ 'data-testid': 'sap-number-subsidiary-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.sapNumberSubsidiary)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"sapNameSubsidiary\",\"width\":\"120\",\"label\":_vm.$t('control_list.sapNameSubsidiary'),\"sortable\":\"\",\"searchable\":\"\",\"th-attrs\":() => ({ 'data-testid': 'sap-name-subsidiary-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.sapNameSubsidiary)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"type\",\"width\":\"120\",\"label\":_vm.$t('control_list.type'),\"sortable\":\"\",\"searchable\":\"\",\"custom-search\":_setup.generateLocalizedCustomSearch('type', (s) => `${s}.name`),\"th-attrs\":() => ({ 'data-testid': 'sap-name-subsidiary-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm.$t(`${props.row.type}.name`))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"deviceType\",\"width\":\"120\",\"label\":_vm.$t('control_list.device_type'),\"sortable\":\"\",\"searchable\":\"\",\"custom-search\":_setup.generateLocalizedCustomSearch('deviceType', (s) => `deviceModels.${s}`),\"th-attrs\":() => ({ 'data-testid': 'device-type-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.deviceType != null ? _vm.$t(`deviceModels.${props.row.deviceType}`) : '')+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"licenseSubject\",\"width\":\"250\",\"label\":_vm.$t('control_list.licenseSubject'),\"sortable\":\"\",\"searchable\":\"\",\"th-attrs\":() => ({ 'data-testid': 'license-subject-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.licenseSubject)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"productSapNumber\",\"width\":\"120\",\"label\":_vm.$t('control_list.productSapNumber'),\"sortable\":\"\",\"searchable\":\"\",\"custom-search\":_setup.searchByField('productSapNumber'),\"th-attrs\":() => ({ 'data-testid': 'product-sap-number-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.productSapNumber)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"productSapName\",\"width\":\"250\",\"label\":_vm.$t('control_list.productSapName'),\"sortable\":\"\",\"searchable\":\"\",\"th-attrs\":() => ({ 'data-testid': 'product-sap-name-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.productSapName)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"startDate\",\"width\":\"120\",\"label\":_vm.$t('control_list.startDate'),\"sortable\":\"\",\"searchable\":\"\",\"custom-search\":_setup.searchByDateField('startDate'),\"th-attrs\":() => ({ 'data-testid': 'start-date-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_setup.formatDate(props.row.startDate))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"invoiceDate\",\"width\":\"120\",\"label\":_vm.$t('control_list.invoiceDate'),\"sortable\":\"\",\"searchable\":\"\",\"custom-search\":_setup.searchByDateField('invoiceDate'),\"th-attrs\":() => ({ 'data-testid': 'invoice-date-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_setup.formatDate(props.row.invoiceDate))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"renewalDate\",\"width\":\"120\",\"label\":_vm.$t('control_list.renewalDate'),\"sortable\":\"\",\"searchable\":\"\",\"custom-search\":_setup.searchByDateField('renewalDate'),\"th-attrs\":() => ({ 'data-testid': 'renewal-date-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(!_setup.isNil(props.row.renewalDate) ? _setup.formatDate(props.row.renewalDate) : _vm.$t('control_list.noRenewalDate'))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"endDate\",\"width\":\"120\",\"label\":_vm.$t('control_list.endDate'),\"sortable\":\"\",\"searchable\":\"\",\"custom-search\":_setup.searchByDateField('endDate'),\"th-attrs\":() => ({ 'data-testid': 'end-date-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_setup.formatDate(props.row.endDate))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"monthsToBeInvoiced\",\"width\":\"120\",\"label\":_vm.$t('control_list.monthsToBeInvoiced'),\"sortable\":\"\",\"searchable\":\"\",\"custom-search\":_setup.searchByField('monthsToBeInvoiced'),\"th-attrs\":() => ({ 'data-testid': 'months-to-be-invoiced-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.monthsToBeInvoiced)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"bystronicOrderNumber\",\"width\":\"120\",\"label\":_vm.$t('control_list.bystronicOrderNumber'),\"sortable\":\"\",\"searchable\":\"\",\"th-attrs\":() => ({ 'data-testid': 'bystronic-order-number-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.bystronicOrderNumber)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"bystronicOrderPerson\",\"width\":\"120\",\"label\":_vm.$t('control_list.bystronicOrderPerson'),\"sortable\":\"\",\"searchable\":\"\",\"th-attrs\":() => ({ 'data-testid': 'bystronic-order-person-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.bystronicOrderPerson)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"customerOrderNumber\",\"width\":\"120\",\"label\":_vm.$t('control_list.customerOrderNumber'),\"sortable\":\"\",\"searchable\":\"\",\"th-attrs\":() => ({ 'data-testid': 'customer-order-number-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.customerOrderNumber)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"customerOrderPerson\",\"width\":\"120\",\"label\":_vm.$t('control_list.customerOrderPerson'),\"sortable\":\"\",\"searchable\":\"\",\"th-attrs\":() => ({ 'data-testid': 'customer-order-person-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.customerOrderPerson)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"customerEmail\",\"width\":\"250\",\"label\":_vm.$t('control_list.customerEmail'),\"sortable\":\"\",\"searchable\":\"\",\"th-attrs\":() => ({ 'data-testid': 'customer-email-column' })},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.customerEmail)+\" \")]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { BillingInfo } from '@/models/billingInfo';\nimport { customersService } from '@/services/tenants.service';\nimport { isEmpty, isNil } from '@/utils/misc';\nimport { generateLocalizedCustomSearch, matchIgnoringCase } from '@/utils/table';\nimport moment from 'moment';\nimport TableWithActions from '@/components/tableWithActions/TableWithActions.vue';\nimport { computed, onBeforeMount, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ControlList',\n setup(__props) {\n\nconst viewOnDate = ref(new Date());\nconst billingInfo = ref([]);\nconst isLoading = ref(false);\nconst isPreparingDownload = ref(false);\n\nconst datepickerRef = ref(null);\n\nonBeforeMount(async () => {\n await getBillingInfo();\n});\n\nasync function confirmDownload() {\n isPreparingDownload.value = true;\n await customersService\n .getBillingInfo(true, dateString.value)\n .finally(() => (isPreparingDownload.value = false));\n}\n\nfunction formatDate(date: Date | null) {\n if (date instanceof Date) {\n return moment(date).format('YYYY-MM-DD');\n }\n}\n\nasync function getBillingInfo() {\n isLoading.value = true;\n try {\n billingInfo.value = await customersService.getBillingInfo(false, dateString.value);\n } finally {\n isLoading.value = false;\n }\n}\n\nfunction toggleDatepicker() {\n datepickerRef.value?.toggle();\n}\n\nfunction searchByDateField(key: string): (item: any, searchTerm: string) => boolean {\n return (item, searchTerm) => {\n if (isEmpty(formatDate(item[key]))) {\n return false;\n }\n return matchIgnoringCase(formatDate(item[key])!, searchTerm);\n };\n}\n\nfunction searchByField(key: string): (item: any, searchTerm: string) => boolean {\n return (item, searchTerm) => {\n if (isEmpty(item[key])) {\n return false;\n }\n return matchIgnoringCase(String(item[key]), searchTerm);\n };\n}\n\nconst dateString = computed((): string => {\n return moment(viewOnDate.value)\n .subtract(viewOnDate.value.getTimezoneOffset(), 'minutes')\n .format('YYYY-MM-DD');\n});\n\nreturn { __sfc: true,viewOnDate, billingInfo, isLoading, isPreparingDownload, datepickerRef, confirmDownload, formatDate, getBillingInfo, toggleDatepicker, searchByDateField, searchByField, dateString, isNil, generateLocalizedCustomSearch, TableWithActions }\n}\n\n})","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlList.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlList.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./ControlList.vue?vue&type=template&id=51a7838d&scoped=true\"\nimport script from \"./ControlList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ControlList.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./ControlList.vue?vue&type=style&index=0&id=51a7838d&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"51a7838d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"main customer-detail\"},[_c('div',{staticClass:\"tags has-addons\"},[_c('span',{staticClass:\"tag\"},[_vm._v(_vm._s(_vm.$t('tenant.name')))]),_c('span',{staticClass:\"tag is-primary\"},[_vm._v(_vm._s(_setup.customer.name))])]),_c('b-tabs',{attrs:{\"multiline\":\"\"},model:{value:(_setup.selectedTab),callback:function ($$v) {_setup.selectedTab=$$v},expression:\"selectedTab\"}},[_c('b-tab-item',{attrs:{\"label\":_vm.$t(`tenant.details`)}},[(_setup.selectedTab === _setup.Tab.Properties && _setup.customer.id > 0)?_c(_setup.CustomerProperties,{attrs:{\"customer\":_setup.customer},on:{\"update\":function($event){return _setup.onCustomerUpdate($event)}}}):_vm._e()],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t(`tenant.devices`),\"visible\":_setup.wccEnabled}},[(_setup.selectedTab === _setup.Tab.Devices && _setup.customer.id > 0)?_c(_setup.CustomerDevices,{attrs:{\"customer\":_setup.customer}}):_vm._e()],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t(`tenant.users`)}},[(_setup.selectedTab === _setup.Tab.Users && _setup.customer.id > 0)?_c(_setup.CustomerUsers,{attrs:{\"customer\":_setup.customer,\"data-testid\":\"users-tab-content\"}}):_vm._e()],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t('tenant.locations'),\"visible\":_setup.wccEnabled}},[(_setup.selectedTab === _setup.Tab.Locations && _setup.customer.id > 0)?_c(_setup.CustomerLocations,{attrs:{\"customer\":_setup.customer}}):_vm._e()],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t(`tenant.shift_models`),\"visible\":_setup.canAccessShifts}},[(_setup.selectedTab === _setup.Tab.ShiftModels)?_c(_setup.CustomerShiftModels,{attrs:{\"customer\":_setup.customer}}):_vm._e()],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t(`tenant.cut_gas_category`),\"visible\":_setup.canAccessCutConfiguration}},[(_setup.selectedTab === _setup.Tab.CutGas)?_c(_setup.CustomerCutGasTypeConfig,{attrs:{\"customer\":_setup.customer},on:{\"update\":function($event){return _setup.onCustomerUpdate($event)}}}):_vm._e()],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t(`tenant.bend_part_category`),\"visible\":_setup.canAccessCategoryConfiguration}},[(_setup.selectedTab === _setup.Tab.BendPartCategory)?_c(_setup.CustomerBendPartCategoryConfig,{attrs:{\"customer\":_setup.customer}}):_vm._e()],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t(`tenant.material_groups`),\"visible\":_setup.canAccessMaterialGroups}},[(_setup.selectedTab === _setup.Tab.MaterialGroups)?_c(_setup.CustomerMaterialGroups,{attrs:{\"customer\":_setup.customer}}):_vm._e()],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t(`tenant.alerts`),\"visible\":_setup.canAccessAlerts}},[(_setup.selectedTab === _setup.Tab.Alerts)?_c(_setup.CustomerAlerts,{attrs:{\"customer\":_setup.customer}}):_vm._e()],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t(`tenant.targets`),\"visible\":_setup.canAccessTargets}},[(_setup.selectedTab === _setup.Tab.Targets)?_c(_setup.CustomerTarget,{attrs:{\"customer\":_setup.customer}}):_vm._e()],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t(`tenant.email_reports`),\"visible\":_setup.canAccessEmailReports}},[(_setup.selectedTab === _setup.Tab.EmailReports)?_c(_setup.CustomerEmailReport,{attrs:{\"customer\":_setup.customer},on:{\"update\":function($event){return _setup.onCustomerUpdate($event)}}}):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"customer-properties\"},[_c(_setup.ValidationObserver,{scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit, invalid }){return [_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _setup.onSubmit()}}},[_c(_setup.RequiredFieldsHint),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.name,\"name\":\"tenant.name\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t(`tenant.tenant_name`),\"label-for\":\"name\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"name\",\"name\":\"name\",\"placeholder\":_vm.$t(`tenant.tenant_name`),\"disabled\":!_setup.canEditCustomer,\"has-counter\":false},model:{value:(_setup.editCustomer.name),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"name\", $$v)},expression:\"editCustomer.name\"}})],1)]}}],null,true)}),(_setup.canEditCustomer)?_c(_setup.SubsidiariesSelect,{attrs:{\"rules\":_setup.validationRules.subsidiaryId},model:{value:(_setup.editCustomer.subsidiaryId),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"subsidiaryId\", $$v)},expression:\"editCustomer.subsidiaryId\"}}):_c('b-field',{attrs:{\"label\":_vm.$t(`inputs.subsidiaries_select.label`)}},[_c('b-input',{attrs:{\"id\":\"subsidiary\",\"name\":\"subsidiary\",\"disabled\":\"\"},model:{value:(_setup.editCustomer.subsidiary),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"subsidiary\", $$v)},expression:\"editCustomer.subsidiary\"}})],1),_c(_setup.CustomerSourcesSelect,{attrs:{\"disabled\":!_setup.canEditCustomer,\"hasDatahub\":_setup.editCustomer.hasDatahub,\"hasSmbs\":_setup.editCustomer.hasSmbs},on:{\"datahubChange\":function($event){_setup.editCustomer.hasDatahub = $event},\"smbsChange\":function($event){_setup.editCustomer.hasSmbs = $event}}}),_c('b-field',{attrs:{\"label\":_vm.$t(`tenant.tenant_id`)}},[_c('b-input',{attrs:{\"id\":\"tenantIdDh\",\"name\":\"tenantIdDh\",\"disabled\":\"\"},model:{value:(_setup.editCustomer.tenantIdDh),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"tenantIdDh\", $$v)},expression:\"editCustomer.tenantIdDh\"}})],1),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.email,\"name\":\"tenant.email\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{attrs:{\"label\":_vm.$t(`tenant.email`),\"label-for\":\"email\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"email\",\"name\":\"email\",\"type\":\"email\",\"placeholder\":_vm.$t(`tenant.email`),\"disabled\":!_setup.canEditCustomer,\"has-counter\":false},model:{value:(_setup.editCustomer.email),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"email\", $$v)},expression:\"editCustomer.email\"}})],1)]}}],null,true)}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.foreName,\"name\":\"tenant.foreName\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{attrs:{\"label\":_vm.$t(`tenant.foreName`),\"label-for\":\"foreName\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"foreName\",\"name\":\"foreName\",\"placeholder\":_vm.$t(`tenant.foreName`),\"disabled\":!_setup.canEditCustomer,\"has-counter\":false},model:{value:(_setup.editCustomer.foreName),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"foreName\", $$v)},expression:\"editCustomer.foreName\"}})],1)]}}],null,true)}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.lastName,\"name\":\"tenant.lastName\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{attrs:{\"label\":_vm.$t(`tenant.lastName`),\"label-for\":\"lastName\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"lastName\",\"name\":\"lastName\",\"placeholder\":_vm.$t(`tenant.lastName`),\"disabled\":!_setup.canEditCustomer,\"has-counter\":false},model:{value:(_setup.editCustomer.lastName),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"lastName\", $$v)},expression:\"editCustomer.lastName\"}})],1)]}}],null,true)}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.sapNumber,\"name\":\"tenant.sapNumber\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t(`tenant.sapNumber`),\"label-for\":\"sapNumber\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"sapNumber\",\"name\":\"sapNumber\",\"placeholder\":_vm.$t(`tenant.sapNumber`),\"disabled\":!_setup.canEditCustomer,\"has-counter\":false},model:{value:(_setup.editCustomer.sapNumber),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"sapNumber\", $$v)},expression:\"editCustomer.sapNumber\"}})],1)]}}],null,true)}),_c(_setup.CurrencyCodesSelect,{attrs:{\"disabled\":!_setup.canEditCustomer,\"rules\":_setup.validationRules.currencyCode},model:{value:(_setup.editCustomer.currencyCode),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"currencyCode\", $$v)},expression:\"editCustomer.currencyCode\"}}),_c(_setup.MeasurementsSelect,{attrs:{\"disabled\":!_setup.canEditCustomer,\"rules\":_setup.validationRules.measurement},model:{value:(_setup.editCustomer.measurement),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"measurement\", $$v)},expression:\"editCustomer.measurement\"}}),_c(_setup.TimezonesSelect,{attrs:{\"disabled\":!_setup.canEditCustomer,\"rules\":_setup.validationRules.timeZone},model:{value:(_setup.editCustomer.timeZone),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"timeZone\", $$v)},expression:\"editCustomer.timeZone\"}}),_c('b-field',{attrs:{\"label\":_vm.$t(`tenant.startAt`)}},[_c('b-datepicker',{attrs:{\"id\":\"startAt\",\"name\":\"startAt\",\"icon\":\"calendar-today\",\"disabled\":\"\"},model:{value:(_setup.editCustomer.startAt),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"startAt\", $$v)},expression:\"editCustomer.startAt\"}})],1),_c('b-field',{attrs:{\"label\":_vm.$t(`tenant.endAt`)}},[_c('b-datepicker',{attrs:{\"id\":\"endAt\",\"name\":\"endAt\",\"icon\":\"calendar-today\",\"disabled\":\"\"},model:{value:(_setup.editCustomer.endAt),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"endAt\", $$v)},expression:\"editCustomer.endAt\"}})],1),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.bystronicOrderNumber,\"name\":\"tenant.bystronicOrderNumber\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{class:{ required: _setup.validationRules.bystronicOrderNumber.required },attrs:{\"label\":_vm.$t(`tenant.bystronicOrderNumber`),\"label-for\":\"bystronicOrderNumber\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"bystronicOrderNumber\",\"name\":\"bystronicOrderNumber\",\"placeholder\":_vm.$t(`tenant.bystronicOrderNumber`),\"disabled\":!_setup.canEditCustomer,\"has-counter\":false},model:{value:(_setup.editCustomer.bystronicOrderNumber),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"bystronicOrderNumber\", $$v)},expression:\"editCustomer.bystronicOrderNumber\"}})],1)]}}],null,true)}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.bystronicOrderPerson,\"name\":\"tenant.bystronicOrderPerson\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{class:{ required: _setup.validationRules.bystronicOrderPerson.required },attrs:{\"label\":_vm.$t(`tenant.bystronicOrderPerson`),\"label-for\":\"bystronicOrderPerson\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"bystronicOrderPerson\",\"name\":\"bystronicOrderPerson\",\"placeholder\":_vm.$t(`tenant.bystronicOrderPerson`),\"disabled\":!_setup.canEditCustomer,\"has-counter\":false},model:{value:(_setup.editCustomer.bystronicOrderPerson),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"bystronicOrderPerson\", $$v)},expression:\"editCustomer.bystronicOrderPerson\"}})],1)]}}],null,true)}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.customerOrderNumber,\"name\":\"tenant.customerOrderNumber\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{attrs:{\"label\":_vm.$t(`tenant.customerOrderNumber`),\"label-for\":\"customerOrderNumber\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"customerOrderNumber\",\"name\":\"customerOrderNumber\",\"placeholder\":_vm.$t(`tenant.customerOrderNumber`),\"disabled\":!_setup.canEditCustomer,\"has-counter\":false},model:{value:(_setup.editCustomer.customerOrderNumber),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"customerOrderNumber\", $$v)},expression:\"editCustomer.customerOrderNumber\"}})],1)]}}],null,true)}),_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.customerOrderPerson,\"name\":\"tenant.customerOrderPerson\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{attrs:{\"label\":_vm.$t(`tenant.customerOrderPerson`),\"label-for\":\"customerOrderPerson\",\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-input',{attrs:{\"id\":\"customerOrderPerson\",\"name\":\"customerOrderPerson\",\"placeholder\":_vm.$t(`tenant.customerOrderPerson`),\"disabled\":!_setup.canEditCustomer,\"has-counter\":false},model:{value:(_setup.editCustomer.customerOrderPerson),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"customerOrderPerson\", $$v)},expression:\"editCustomer.customerOrderPerson\"}})],1)]}}],null,true)}),_c('footer',{staticClass:\"buttons is-right\"},[_c('b-tooltip',{attrs:{\"active\":invalid,\"label\":_vm.$t('form.form_invalid_submit_tooltip'),\"triggers\":['hover', 'focus'],\"position\":\"is-left\",\"multilined\":\"\",\"type\":\"is-dark\"}},[(_setup.canEditCustomer)?_c('b-button',{staticClass:\"action-button\",attrs:{\"native-type\":\"submit\",\"disabled\":invalid,\"loading\":_setup.isSubmitting,\"data-testid\":\"submit-button\"}},[_vm._v(\" \"+_vm._s(_vm.$t('action.save'))+\" \")]):_vm._e()],1)],1)],1)]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { customersService } from '@/services/tenants.service';\nimport { Customer } from '@/models/tenant';\nimport TimezonesSelect from '@/components/inputs/TimezonesSelect.vue';\nimport CurrencyCodesSelect from '@/components/inputs/CurrencyCodesSelect.vue';\nimport MeasurementsSelect from '@/components/inputs/MeasurementsSelect.vue';\nimport SubsidiariesSelect from '@/components/inputs/SubsidiariesSelect.vue';\nimport CustomerSourcesSelect from '@/components/inputs/CustomerSourcesSelect.vue';\nimport { UserType } from '@/models/userType';\nimport { hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport { usersService } from '@/services/users.service';\nimport { ValidationObserver, ValidationProvider } from 'vee-validate';\nimport RequiredFieldsHint from '@/components/forms/RequiredFieldsHint.vue';\nimport { computed, reactive, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerProperties',\n props: {\n customer: null\n },\n emits: [\"update\"],\n setup(__props: any, { emit }: { emit: ((e: 'update', value: Customer) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as {\n customer: Customer;\n};\n\n\n\n\n\nconst editCustomer = reactive(props.customer);\nconst isSubmitting = ref(false);\n\nasync function onSubmit() {\n isSubmitting.value = true;\n customersService\n .update(editCustomer)\n .then(async () => {\n emit('update', editCustomer);\n await usersService.me();\n })\n .finally(() => {\n isSubmitting.value = false;\n });\n}\n\nconst validationRules = computed((): any => ({\n name: {\n required: true,\n max: 256,\n },\n subsidiaryId: { required: true },\n email: {\n email: true,\n max: 256,\n },\n foreName: {\n max: 256,\n },\n lastName: {\n max: 256,\n },\n sapNumber: {\n required: true,\n max: 256,\n },\n currencyCode: { required: true },\n measurement: { required: true },\n timeZone: { required: true },\n bystronicOrderNumber: {\n required: editCustomer.hasDatahub || editCustomer.hasSmbs,\n max: 1024,\n },\n bystronicOrderPerson: {\n required: editCustomer.hasDatahub || editCustomer.hasSmbs,\n max: 1024,\n },\n customerOrderNumber: {\n max: 1024,\n },\n customerOrderPerson: {\n max: 1024,\n },\n}));\n\nconst canEditCustomer = computed(() => hasCurrentUserPermission(UserType.SubsidiaryAdmin));\n\nreturn { __sfc: true,props, emit, editCustomer, isSubmitting, onSubmit, validationRules, canEditCustomer, TimezonesSelect, CurrencyCodesSelect, MeasurementsSelect, SubsidiariesSelect, CustomerSourcesSelect, ValidationObserver, ValidationProvider, RequiredFieldsHint }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerProperties.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerProperties.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerProperties.vue?vue&type=template&id=70a09180&scoped=true\"\nimport script from \"./CustomerProperties.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerProperties.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./CustomerProperties.vue?vue&type=style&index=0&id=70a09180&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"70a09180\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"customer-users\"},[_c('div',{staticClass:\"actions\"},[(_setup.canCreateCustomerUsers)?_c('b-button',{staticClass:\"action-button\",attrs:{\"data-testid\":\"create-user-button\",\"icon-left\":\"plus\"},on:{\"click\":function($event){return _setup.openCustomerWizard()}}},[_vm._v(\" \"+_vm._s(_vm.$t('user.title_new'))+\" \")]):_vm._e()],1),_c(_setup.TableWithActions,{attrs:{\"data\":_setup.users,\"defaultSort\":\"id\",\"loading\":_setup.isLoading},scopedSlots:_vm._u([{key:\"actions\",fn:function({ row: user }){return [_c(_setup.TableActionButton,{attrs:{\"disabled\":!_setup.canResetPasswordOn(user),\"icon\":\"key-variant\"},on:{\"click\":function($event){return _setup.openResetPasswordForm(user)}}},[_vm._v(\" \"+_vm._s(_vm.$t('user.reset_password'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"pencil\",\"disabled\":!_setup.canEdit(user)},on:{\"click\":function($event){return _setup.openCustomerWizard(user)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.edit'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"trash-can-outline\",\"disabled\":_setup.currentUser.equals(user) || !_setup.canEdit(user)},on:{\"click\":function($event){return _setup.confirmDelete(user.id, user.name)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.delete'))+\" \")])]}}])},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":_vm.$t('form.name'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: user }){return [_vm._v(\" \"+_vm._s(user.name)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"email\",\"label\":_vm.$t('user.email'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: user }){return [_vm._v(\" \"+_vm._s(user.email)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"userType\",\"label\":_vm.$t('user.type'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: user }){return [_vm._v(\" \"+_vm._s(_vm.$t(`user.user_type.${user.userType}`))+\" \")]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { User, UserAuthenticationType } from '@/models/user';\nimport { UserType } from '@/models/userType';\nimport { Customer } from '@/models/tenant';\nimport { usersService } from '@/services/users.service';\nimport { customersService } from '@/services/tenants.service';\nimport PasswordResetModal from '@/components/users/PasswordResetModal.vue';\nimport { hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport TableActionButton from '@/components/tableWithActions/TableActionButton.vue';\nimport TableWithActions from '@/components/tableWithActions/TableWithActions.vue';\nimport CustomerUserWizard from '@/components/users/wizards/CustomerUserWizard.vue';\nimport { modalService } from '@/library-services/modal.service';\nimport { computed, getCurrentInstance, onBeforeMount, ref } from 'vue';\nimport { useI18n } from '@/composables/i18n';\nimport { dialogService } from '@/library-services/dialog.service';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerUsers',\n props: {\n customer: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n customer: Customer;\n};\n\n\n\nconst i18n = useI18n();\n\nconst users = ref([]);\nconst isLoading = ref(false);\nconst app = getCurrentInstance();\n\nonBeforeMount(async () => {\n await getUsers();\n});\n\nasync function getUsers() {\n isLoading.value = true;\n\n users.value = await customersService\n .getUsers(props.customer.id)\n .finally(() => (isLoading.value = false));\n}\n\nfunction openResetPasswordForm(user: User) {\n modalService.compositionApi.open(\n {\n component: PasswordResetModal,\n props: {\n id: user.id,\n email: user.email,\n },\n },\n app,\n );\n}\n\nasync function onFormModalClosed() {\n if (canCreateOrEditCustomerUsers.value) {\n await getUsers();\n }\n}\n\nfunction confirmDelete(id: number, name: string) {\n dialogService.confirmWithPromise({\n title: i18n.t('dialog.confirm_delete_title').toString(),\n message: i18n\n .t('confirmation.message', {\n action: i18n.t('action.delete').toString().toLowerCase(),\n entity: i18n.t('user.name').toString().toLowerCase(),\n name,\n })\n .toString(),\n confirmText: i18n.t('dialog.confirm_delete').toString(),\n cancelText: i18n.t(`dialog.confirm_cancel`).toString(),\n type: 'is-danger',\n onConfirm: async () => await deleteUser(id),\n });\n}\n\nasync function deleteUser(id: number) {\n await usersService.delete(id).then(() => {\n users.value = users.value.filter((x) => x.id !== id);\n });\n}\n\nfunction canResetPasswordOn(user: User): boolean {\n return (\n (canResetPasswords.value || currentUser.value.equals(user)) &&\n user.authenticationType === UserAuthenticationType.Local\n );\n}\n\nfunction canEdit(editingUser: User): boolean {\n if (currentUser.value.equals(editingUser)) {\n return true;\n }\n\n if (!canEditCustomerUsers.value) {\n return false;\n }\n\n return true;\n}\n\nfunction openCustomerWizard(user: User | null = null) {\n modalService.compositionApi.open(\n {\n component: CustomerUserWizard,\n canCancel: ['x'],\n props: {\n user,\n customer: props.customer,\n },\n events: {\n save: async () => await onFormModalClosed(),\n },\n },\n app,\n );\n}\n\nconst canCreateOrEditCustomerUsers = computed(\n () => canCreateCustomerUsers.value || canEditCustomerUsers.value,\n);\nconst currentUser = computed((): User => usersService.store.current());\nconst canEditCustomerUsers = computed(() => hasCurrentUserPermission(UserType.CustomerAdmin));\nconst canCreateCustomerUsers = computed(() => hasCurrentUserPermission(UserType.CustomerAdmin));\nconst canResetPasswords = computed(() => hasCurrentUserPermission(UserType.CustomerAdmin));\n\nreturn { __sfc: true,props, i18n, users, isLoading, app, getUsers, openResetPasswordForm, onFormModalClosed, confirmDelete, deleteUser, canResetPasswordOn, canEdit, openCustomerWizard, canCreateOrEditCustomerUsers, currentUser, canEditCustomerUsers, canCreateCustomerUsers, canResetPasswords, TableActionButton, TableWithActions }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerUsers.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerUsers.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerUsers.vue?vue&type=template&id=4b8c1ca0&scoped=true\"\nimport script from \"./CustomerUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerUsers.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./CustomerUsers.vue?vue&type=style&index=0&id=4b8c1ca0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4b8c1ca0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"customer-shift-models\"},[_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"plus\"},on:{\"click\":function($event){return _setup.openShiftModelForm()}}},[_vm._v(\" \"+_vm._s(_vm.$t('shift_model.title_new'))+\" \")])],1),_c(_setup.TableWithActions,{staticClass:\"shift-models-table\",attrs:{\"data\":_setup.shiftModels,\"detailed\":\"\",\"detailKey\":\"name\",\"loading\":_setup.isLoading},scopedSlots:_vm._u([{key:\"actions\",fn:function({ row: shiftModel }){return [_c(_setup.TableActionButton,{attrs:{\"icon\":\"plus\"},on:{\"click\":function($event){return _setup.openShiftCreationForm(shiftModel)}}},[_vm._v(\" \"+_vm._s(_vm.$t('shift_model.actions.shift_create'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"pencil\"},on:{\"click\":function($event){return _setup.openShiftModelForm(shiftModel)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.edit'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"trash-can-outline\"},on:{\"click\":function($event){return _setup.confirmDeleteShiftModel(shiftModel.id, shiftModel.name)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.delete'))+\" \")])]}},{key:\"detail\",fn:function({ row: shiftModel }){return [_c(_setup.TableWithActions,{attrs:{\"data\":shiftModel.shifts,\"paginated\":false},scopedSlots:_vm._u([{key:\"actions\",fn:function({ row: shift }){return [_c(_setup.TableActionButton,{attrs:{\"icon\":\"pencil\"},on:{\"click\":function($event){return _setup.openShiftEditionForm(shift)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.edit'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"trash-can-outline\"},on:{\"click\":function($event){return _setup.confirmDeleteShift(shift.id, shift.name)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.delete'))+\" \")])]}}],null,true)},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":_vm.$t('shift_model.shift.name_field')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: shift }){return [_vm._v(\" \"+_vm._s(shift.name)+\" \")]}}],null,true)}),_c('b-table-column',{attrs:{\"field\":\"timeFrom\",\"label\":_vm.$t('shift_model.shift.time_from')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: shift }){return [_vm._v(\" \"+_vm._s(shift.timeFromHh.toString().padStart(2, '0') + ':' + shift.timeFromMm.toString().padStart(2, '0'))+\" \")]}}],null,true)}),_c('b-table-column',{attrs:{\"field\":\"timeTo\",\"label\":_vm.$t('shift_model.shift.time_to')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: shift }){return [_vm._v(\" \"+_vm._s(shift.timeToHh.toString().padStart(2, '0') + ':' + shift.timeToMm.toString().padStart(2, '0'))+\" \")]}}],null,true)}),_c('b-table-column',{attrs:{\"field\":\"overflow\",\"label\":_vm.$t('shift_model.shift.overflow.label')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: shift }){return [_vm._v(\" \"+_vm._s(shift.overflow ? _vm.$t(`shift_model.shift.overflow.option${shift.overflow}`) : '')+\" \")]}}],null,true)})],1)]}}])},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":_vm.$t('shift_model.name'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: shiftModel }){return [_vm._v(\" \"+_vm._s(shiftModel.name)+\" \")]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"shift-form-modal\",on:{\"submit\":function($event){$event.preventDefault();return _setup.onSubmit.apply(null, arguments)}}},[_c('div',{staticClass:\"modal-card\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\" \"+_vm._s(_setup.actionTitle + ' ' + _vm.$t(`shift_model.shift.name`))+\" \")])]),_c('section',{staticClass:\"modal-card-body\"},[_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t(`shift_model.shift.name_field`),\"type\":{ 'is-danger': _setup.v$.name.$error },\"message\":_setup.getErrorMessage('name')}},[_c('b-input',{attrs:{\"name\":\"name\",\"placeholder\":_vm.$t(`shift_model.shift.name_field`),\"has-counter\":false},on:{\"blur\":_setup.v$.name.$touch},model:{value:(_setup.editableShift.name),callback:function ($$v) {_vm.$set(_setup.editableShift, \"name\", $$v)},expression:\"editableShift.name\"}})],1),_c('b-field',{staticClass:\"field-margin-top-10\",attrs:{\"label\":_vm.$t(`shift_model.shift.time_from`)}},[_c('b-timepicker',{attrs:{\"name\":\"timeFromDate\",\"icon\":\"calendar-today\",\"horizontal-time-picker\":\"\",\"hour-format\":\"24\",\"value\":_setup.timeFromDate,\"placeholder\":_vm.$t('shift_model.shift.time_from'),\"increment-minutes\":15,\"data-testid\":\"from-field\"},on:{\"input\":function($event){return _setup.handleTimeFromChange($event)}}})],1),_c('b-field',{staticClass:\"field-margin-top-10\",attrs:{\"label\":_vm.$t(`shift_model.shift.time_to`)}},[_c('b-timepicker',{attrs:{\"name\":\"timeToDate\",\"icon\":\"calendar-today\",\"horizontal-time-picker\":\"\",\"hour-format\":\"24\",\"value\":_setup.timeToDate,\"placeholder\":_vm.$t('shift_model.shift.time_to'),\"increment-minutes\":15,\"data-testid\":\"to-field\"},on:{\"input\":function($event){return _setup.handleTimeToChange($event)}}})],1),(_setup.requiresOverflowConfiguration)?_c('b-field',{staticClass:\"field-margin-top-10 required\",attrs:{\"label\":_vm.$t(`shift_model.shift.overflow.label`),\"type\":{ 'is-danger': _setup.v$.overflow.$error }}},[_c('b-select',{attrs:{\"name\":\"overflow\",\"data-format\":\"number\",\"expanded\":\"\",\"has-counter\":false},on:{\"blur\":_setup.v$.overflow.$touch},model:{value:(_setup.editableShift.overflow),callback:function ($$v) {_vm.$set(_setup.editableShift, \"overflow\", $$v)},expression:\"editableShift.overflow\"}},_vm._l((_setup.overflowTypes),function(option){return _c('option',{key:option,domProps:{\"value\":option}},[_vm._v(\" \"+_vm._s(_vm.$t(`shift_model.shift.overflow.option${option}`))+\" \")])}),0)],1):_vm._e()],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":function($event){return _setup.emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),_c('b-button',{attrs:{\"type\":\"is-success\",\"native-type\":\"submit\",\"loading\":_setup.isSubmitting,\"disabled\":_setup.v$.$invalid,\"data-testid\":\"submit-button\"}},[_vm._v(\" \"+_vm._s(_setup.isEditMode ? _vm.$t('action.save') : _setup.actionTitle)+\" \")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { ShiftOverflowEnum } from './enums/ShiftOverflowEnum';\n\nexport class Shift {\n static GetEmpty(): Shift {\n return new Shift(0, 0, '', 0, 0, 0, 0, null, []);\n }\n static GetCopy(shift: Shift): Shift {\n return new Shift(\n shift.id,\n shift.shiftModelId,\n shift.name,\n shift.timeFromHh,\n shift.timeFromMm,\n shift.timeToHh,\n shift.timeToMm,\n shift.overflow,\n shift.relatedDevices,\n );\n }\n constructor(\n public id: number,\n public shiftModelId: number,\n public name: string,\n public timeFromHh: number,\n public timeFromMm: number,\n public timeToHh: number,\n public timeToMm: number,\n public overflow: ShiftOverflowEnum | null,\n public relatedDevices: number[],\n ) {}\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { Mode } from '@/models/enums/Mode';\nimport { ShiftModel } from '@/models/shiftModel';\nimport { shiftsService } from '@/services/shifts.service';\nimport { Shift } from '@/models/shift';\nimport { ShiftOverflowEnum } from '@/models/enums/ShiftOverflowEnum';\nimport { Customer } from '@/models/tenant';\nimport { customersService } from '@/services/tenants.service';\nimport i18n from '@/i18n';\nimport { computed, onMounted, reactive, ref } from 'vue';\nimport { values } from '@/utils/enum';\nimport useVuelidate from '@vuelidate/core';\nimport { maxLength, required, withLocalizedValidators } from '@/utils/validation';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ShiftFormModal',\n props: {\n customer: null,\n shiftModel: null,\n mode: null,\n shift: null\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n customer: Customer;\n shiftModel: ShiftModel;\n mode: Mode;\n shift: Shift;\n};\n\n\n\n\n\nconst isSubmitting = ref(false);\nconst editableShift = reactive(Shift.GetEmpty());\nconst overflowTypes = values(ShiftOverflowEnum).filter(\n (value) => value !== ShiftOverflowEnum.Unspecified,\n);\n\nconst validations = {\n name: withLocalizedValidators('shift_model.shift.name_field', {\n required,\n maxLength: maxLength(256),\n }),\n overflow: withLocalizedValidators('shift_model.shift.overflow.label', {\n required: (value: ShiftOverflowEnum) =>\n !requiresOverflowConfiguration.value ||\n [ShiftOverflowEnum.NextDay, ShiftOverflowEnum.PreviousDay].includes(value),\n }),\n};\nconst v$ = useVuelidate(validations, editableShift);\n\nonMounted(() => {\n if (isCreateMode.value) {\n editableShift.shiftModelId = props.shiftModel.id;\n } else {\n Object.assign(editableShift, props.shift);\n }\n});\n\nfunction handleTimeFromChange(value: Date): void {\n editableShift.timeFromHh = value.getHours();\n editableShift.timeFromMm = value.getMinutes();\n updateOverflow();\n}\n\nfunction handleTimeToChange(value: Date): void {\n editableShift.timeToHh = value.getHours();\n editableShift.timeToMm = value.getMinutes();\n updateOverflow();\n}\n\nfunction updateOverflow() {\n if (!requiresOverflowConfiguration.value) {\n editableShift.overflow = ShiftOverflowEnum.Unspecified;\n }\n}\n\nasync function onSubmit() {\n if (editableShift.overflow === null) {\n editableShift.overflow = ShiftOverflowEnum.Unspecified;\n }\n isSubmitting.value = true;\n try {\n if (isCreateMode.value) {\n await shiftsService.create(editableShift).then(async () => {\n if (props.customer.id === customersService.store.current()?.id) {\n // When will this be false?\n await shiftsService.getByTenantId(customersService.store.current()!.id);\n }\n });\n } else if (isEditMode.value) {\n await shiftsService.update(editableShift).then(async () => {\n if (props.customer.id === customersService.store.current()?.id) {\n await shiftsService.store.update(editableShift);\n }\n });\n }\n emit('save');\n emit('close');\n } finally {\n isSubmitting.value = false;\n }\n}\n\nfunction getErrorMessage(key: keyof typeof editableShift) {\n return v$.value[key].$errors?.[0]?.$message;\n}\n\nconst requiresOverflowConfiguration = computed((): boolean => {\n if (editableShift.timeToHh === 0 && editableShift.timeToMm === 0) {\n return false;\n }\n return (\n editableShift.timeFromHh > editableShift.timeToHh ||\n (editableShift.timeFromHh === editableShift.timeToHh &&\n editableShift.timeFromMm > editableShift.timeToMm)\n );\n});\n\nconst isEditMode = computed((): boolean => props.mode === Mode.Edit);\nconst isCreateMode = computed((): boolean => props.mode === Mode.Create);\n\nconst timeFromDate = computed((): Date => {\n const date = new Date();\n date.setHours(editableShift.timeFromHh);\n date.setMinutes(editableShift.timeFromMm);\n return date;\n});\n\nconst timeToDate = computed((): Date => {\n const date = new Date();\n date.setHours(editableShift.timeToHh);\n date.setMinutes(editableShift.timeToMm);\n return date;\n});\n\nconst actionTitle = computed(() => {\n if (isCreateMode.value) {\n return i18n.t('action.create').toString();\n } else if (isEditMode.value) {\n return i18n.t('action.edit').toString();\n } else {\n return i18n.t('action.close').toString();\n }\n});\n\nreturn { __sfc: true,props, emit, isSubmitting, editableShift, overflowTypes, validations, v$, handleTimeFromChange, handleTimeToChange, updateOverflow, onSubmit, getErrorMessage, requiresOverflowConfiguration, isEditMode, isCreateMode, timeFromDate, timeToDate, actionTitle }\n}\n\n})","import { defineComponent as _defineComponent } from 'vue'\nimport { Customer } from '@/models/tenant';\nimport { Routes } from '@/router/routes';\nimport { customersService } from '@/services/tenants.service';\nimport CustomerProperties from './CustomerProperties.vue';\nimport CustomerUsers from './CustomerUsers.vue';\nimport CustomerDevices from '@/views/Devices.vue';\nimport CustomerShiftModels from '@/views/customers/CustomerShiftModels.vue';\nimport { User } from '@/models/user';\nimport { UserType } from '@/models/userType';\nimport CustomerBendPartCategoryConfig from '@/views/customers/CustomerBendPartCategoryConfig.vue';\nimport CustomerCutGasTypeConfig from '@/views/customers/CustomerCutGasTypeConfig.vue';\nimport CustomerAlerts from './CustomerAlerts.vue';\nimport CustomerMaterialGroups from '@/views/customers/CustomerMaterialGroups.vue';\nimport CustomerTarget from './CustomerTarget.vue';\nimport CustomerLocations from './CustomerLocations.vue';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport CustomerEmailReport from './CustomerEmailReport.vue';\nimport { usersService } from '@/services/users.service';\nimport { Logger } from '@/utils/logger';\nimport { hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport { toastService } from '@/library-services/toast.service';\nimport { computed, onBeforeMount, reactive, ref } from 'vue';\nimport { useRoute, useRouter } from '@/composables/router';\nimport { useSpinner } from '@/composables/misc';\n\nenum Tab {\n Properties,\n Devices,\n Users,\n Locations,\n ShiftModels,\n CutGas,\n BendPartCategory,\n MaterialGroups,\n Alerts,\n Targets,\n EmailReports,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerDetail',\n setup(__props) {\n\nconst route = useRoute();\nconst router = useRouter();\nconst spinner = useSpinner();\n\nconst customer = reactive(Customer.GetEmpty());\nconst selectedTab = ref(Tab.Properties);\n\nonBeforeMount(async () => {\n await redirectToCustomersPageIfRouteParameterIsMissing('id');\n Object.assign(customer, await fetchCustomer(+route.value.params.id));\n});\n\nasync function fetchCustomer(id: number): Promise {\n spinner.showSpinner();\n try {\n return await customersService.getById(id);\n } finally {\n spinner.removeSpinner();\n }\n}\n\nfunction onCustomerUpdate(updatedCustomer: Customer) {\n Object.assign(customer, updatedCustomer);\n}\n\nasync function redirectToCustomersPageIfRouteParameterIsMissing(parameter: string) {\n if (!route.value.params[parameter]) {\n Logger.error(`Missing '${parameter}' route parameter. Redirecting to Tenants...`);\n toastService.error(`Missing '${parameter}' route parameter`);\n await router.push({ name: Routes.Tenants });\n throw Error(`Missing '${parameter}' route parameter. Redirecting to Tenants...`);\n }\n}\n\nconst canAccessShifts = computed(\n () => hasCurrentUserPermission(UserType.CustomerAdmin) && wccEnabled.value,\n);\nconst canAccessCategoryConfiguration = computed(\n () => hasCurrentUserPermission(UserType.CustomerAdmin) && wccEnabled.value,\n);\nconst canAccessCutConfiguration = computed(\n () => hasCurrentUserPermission(UserType.CustomerAdmin) && wccEnabled.value,\n);\nconst canAccessMaterialGroups = computed(\n () => hasCurrentUserPermission(UserType.CustomerAdmin) && wccEnabled.value,\n);\nconst canAccessAlerts = computed(\n () => hasCurrentUserPermission(UserType.CustomerAdmin) && wccEnabled.value,\n);\nconst canAccessTargets = computed(\n () => hasCurrentUserPermission(UserType.CustomerAdmin) && (wccEnabled.value || bcEnabled.value),\n);\nconst canAccessEmailReports = computed(\n () => hasCurrentUserPermission(UserType.CustomerAdmin) && wccEnabled.value,\n);\nconst wccEnabled = computed(\n () => !!user.value?.consoles.includes(ConsoleEnum.WCC) && customer.hasDatahub,\n);\nconst bcEnabled = computed(\n () =>\n customer.hasSmbs &&\n (user.value?.consoles.includes(ConsoleEnum.BC) || user.value?.isGlobalAdmin),\n);\nconst user = computed((): User => usersService.store.current());\n\nreturn { __sfc: true,Tab, route, router, spinner, customer, selectedTab, fetchCustomer, onCustomerUpdate, redirectToCustomersPageIfRouteParameterIsMissing, canAccessShifts, canAccessCategoryConfiguration, canAccessCutConfiguration, canAccessMaterialGroups, canAccessAlerts, canAccessTargets, canAccessEmailReports, wccEnabled, bcEnabled, user, CustomerProperties, CustomerUsers, CustomerDevices, CustomerShiftModels, CustomerBendPartCategoryConfig, CustomerCutGasTypeConfig, CustomerAlerts, CustomerMaterialGroups, CustomerTarget, CustomerLocations, CustomerEmailReport }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShiftFormModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShiftFormModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./ShiftFormModal.vue?vue&type=template&id=7481fb9f&scoped=true\"\nimport script from \"./ShiftFormModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ShiftFormModal.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./ShiftFormModal.vue?vue&type=style&index=0&id=7481fb9f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7481fb9f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"shift-model-form-modal\",on:{\"submit\":function($event){$event.preventDefault();return _setup.onSubmit()}}},[_c('div',{staticClass:\"modal-card\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\" \"+_vm._s(_setup.actionTitle)+\" \")])]),_c('section',{staticClass:\"modal-card-body\"},[_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t(`form.name`),\"type\":{ 'is-danger': _setup.v$.name.$error },\"message\":_setup.getErrorMessage('name')}},[_c('b-input',{attrs:{\"name\":\"name\",\"placeholder\":_vm.$t(`form.name`),\"has-counter\":false},on:{\"blur\":_setup.v$.name.$touch},model:{value:(_setup.editableShiftModel.name),callback:function ($$v) {_vm.$set(_setup.editableShiftModel, \"name\", $$v)},expression:\"editableShiftModel.name\"}})],1)],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":function($event){return _setup.emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),_c('b-button',{attrs:{\"type\":\"is-success\",\"loading\":_setup.isSubmitting,\"disabled\":_setup.v$.$invalid,\"data-testid\":\"submit-button\"},on:{\"click\":function($event){return _setup.onSubmit()}}},[_vm._v(\" \"+_vm._s(_setup.isEditMode ? _vm.$t('action.save') : _setup.actionTitle)+\" \")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { Customer } from '@/models/tenant';\nimport { Mode } from '@/models/enums/Mode';\nimport { ShiftModel } from '@/models/shiftModel';\nimport { shiftModelsService } from '@/services/shiftModels.service';\nimport i18n from '@/i18n';\nimport { computed, onMounted, reactive, ref, watch } from 'vue';\nimport { maxLength, required, withLocalizedValidators } from '@/utils/validation';\nimport useVuelidate from '@vuelidate/core';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ShiftModelFormModal',\n props: {\n customer: null,\n mode: null,\n shiftModel: null\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n customer: Customer;\n mode: Mode;\n shiftModel: ShiftModel;\n};\n\n\n\n\n\nconst editableShiftModel = reactive(ShiftModel.GetEmpty());\nconst isSubmitting = ref(false);\n\nconst validations = {\n name: withLocalizedValidators('form.name', {\n required,\n maxLength: maxLength(256),\n }),\n};\nconst v$ = useVuelidate(validations, editableShiftModel);\n\nonMounted(() => {\n if (isCreateMode.value) {\n editableShiftModel.tenantId = props.customer.id;\n } else {\n Object.assign(editableShiftModel, props.shiftModel);\n }\n});\n\nasync function onSubmit() {\n isSubmitting.value = true;\n try {\n if (isCreateMode.value) {\n await shiftModelsService.create(editableShiftModel);\n } else {\n await shiftModelsService.update(editableShiftModel);\n }\n emit('save');\n emit('close');\n } finally {\n isSubmitting.value = false;\n }\n}\n\nfunction getErrorMessage(key: keyof typeof editableShiftModel) {\n return v$.value[key].$errors?.[0]?.$message;\n}\n\nconst isEditMode = computed((): boolean => props.mode === Mode.Edit);\nconst isCreateMode = computed((): boolean => props.mode === Mode.Create);\n\nconst actionTitle = computed(() => {\n if (isCreateMode.value) {\n return i18n.t('action.create').toString();\n } else if (isEditMode.value) {\n return i18n.t('action.edit').toString();\n } else {\n return i18n.t('action.close').toString();\n }\n});\n\nreturn { __sfc: true,props, emit, editableShiftModel, isSubmitting, validations, v$, onSubmit, getErrorMessage, isEditMode, isCreateMode, actionTitle }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShiftModelFormModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShiftModelFormModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./ShiftModelFormModal.vue?vue&type=template&id=341d251e&scoped=true\"\nimport script from \"./ShiftModelFormModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ShiftModelFormModal.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./ShiftModelFormModal.vue?vue&type=style&index=0&id=341d251e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"341d251e\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { shiftModelsService } from '@/services/shiftModels.service';\nimport { Customer } from '@/models/tenant';\nimport { Mode } from '@/models/enums/Mode';\nimport { ShiftModel } from '@/models/shiftModel';\nimport ShiftFormModal from '@/components/shiftModels/ShiftFormModal.vue';\nimport ShiftModelFormModal from '@/components/shiftModels/ShiftModelFormModal.vue';\nimport { Shift } from '@/models/shift';\nimport TableActionButton from '@/components/tableWithActions/TableActionButton.vue';\nimport TableWithActions from '@/components/tableWithActions/TableWithActions.vue';\nimport { shiftsService } from '@/services/shifts.service';\nimport { modalService } from '@/library-services/modal.service';\nimport { dialogService } from '@/library-services/dialog.service';\nimport { getCurrentInstance, onBeforeMount, ref } from 'vue';\nimport { useI18n } from '@/composables/i18n';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerShiftModels',\n props: {\n customer: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n customer: Customer;\n};\n\n\n\nconst i18n = useI18n();\n\nconst shiftModels = ref([]);\nconst isLoading = ref(false);\nconst app = getCurrentInstance();\n\nonBeforeMount(async () => {\n await fetchShiftModels();\n});\n\nasync function fetchShiftModels() {\n isLoading.value = true;\n shiftModels.value = await shiftModelsService\n .get(props.customer.id)\n .finally(() => (isLoading.value = false));\n}\n\nfunction openShiftModelForm(shiftModel?: ShiftModel) {\n modalService.compositionApi.open(\n {\n component: ShiftModelFormModal,\n props: {\n customer: props.customer,\n shiftModel: shiftModel ?? ShiftModel.GetEmpty(),\n mode: shiftModel ? Mode.Edit : Mode.Create,\n },\n events: {\n save: async () => await fetchShiftModels(),\n },\n },\n app,\n );\n}\n\nasync function openShiftCreationForm(shiftModel: ShiftModel) {\n openShiftForm({\n customer: props.customer,\n shiftModel,\n shift: Shift.GetEmpty(),\n mode: Mode.Create,\n });\n}\n\nasync function openShiftEditionForm(shift: Shift) {\n openShiftForm({\n customer: props.customer,\n shiftModel: shiftModels.value.find((sm) => sm.id === shift.shiftModelId)!,\n shift,\n mode: Mode.Edit,\n });\n}\n\nfunction openShiftForm(props: any) {\n modalService.compositionApi.open(\n {\n component: ShiftFormModal,\n props,\n events: {\n save: async () => await fetchShiftModels(),\n },\n },\n app,\n );\n}\n\nfunction confirmDeleteShift(shiftId: number, name: string) {\n openDeleteEntityConfirmationDialog(\n name,\n i18n.t('shift_model.shift.name').toString().toLowerCase(),\n async () => await deleteShift(shiftId),\n );\n}\n\nfunction confirmDeleteShiftModel(shiftModelId: number, name: string) {\n openDeleteEntityConfirmationDialog(\n name,\n i18n.t('shift_model.name').toString().toLowerCase(),\n async () => await deleteShiftModel(shiftModelId),\n );\n}\n\nfunction openDeleteEntityConfirmationDialog(\n name: string,\n entity: string,\n onConfirm: () => Promise,\n) {\n dialogService.confirmWithPromise({\n title: i18n.t('dialog.confirm_delete_title').toString(),\n message: i18n\n .t('confirmation.message', {\n action: i18n.t('action.delete').toString().toLowerCase(),\n entity,\n name,\n })\n .toString(),\n confirmText: i18n.t('dialog.confirm_delete').toString(),\n cancelText: i18n.t(`dialog.confirm_cancel`).toString(),\n type: 'is-danger',\n onConfirm,\n });\n}\nasync function deleteShift(id: number) {\n await shiftsService.delete(id).then(async () => await fetchShiftModels());\n}\n\nasync function deleteShiftModel(id: number) {\n await shiftModelsService.delete(id).then(async () => await fetchShiftModels());\n}\n\nreturn { __sfc: true,props, i18n, shiftModels, isLoading, app, fetchShiftModels, openShiftModelForm, openShiftCreationForm, openShiftEditionForm, openShiftForm, confirmDeleteShift, confirmDeleteShiftModel, openDeleteEntityConfirmationDialog, deleteShift, deleteShiftModel, TableActionButton, TableWithActions }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerShiftModels.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerShiftModels.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerShiftModels.vue?vue&type=template&id=f0459f26&scoped=true\"\nimport script from \"./CustomerShiftModels.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerShiftModels.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./CustomerShiftModels.vue?vue&type=style&index=0&id=f0459f26&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f0459f26\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"customer-bend-part-category-config\"},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _setup.onSubmit()}}},[_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"pencil\",\"disabled\":!_setup.isReadOnly,\"data-testid\":\"edit-button\"},on:{\"click\":function($event){return _setup.startEdit()}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.edit'))+\" \")])],1),_c('section',{staticClass:\"modal-card-body\"},[_c('b-loading',{attrs:{\"is-full-page\":false,\"active\":_setup.isLoading}}),_c('div',{staticClass:\"config-wrapper\"},[_c('b-field',{staticClass:\"slider-field\",attrs:{\"type\":{ 'is-danger': _setup.v$.$error },\"message\":_setup.validationMessage}},[_c('b-slider',{attrs:{\"indicator\":\"\",\"ticks\":\"\",\"value\":_setup.sliderValue,\"disabled\":_setup.isReadOnly,\"min\":0,\"max\":20,\"step\":1,\"tooltip\":false},on:{\"input\":function($event){_setup.sliderValue = $event},\"dragend\":_setup.v$.$touch}},[_c('b-slider-tick',{attrs:{\"value\":0}},[_vm._v(\"0\")]),_c('b-slider-tick',{attrs:{\"value\":20}},[_vm._v(\"20\")])],1)],1),_c('b-table',{attrs:{\"data\":_setup.tableData}},[_c('b-table-column',{attrs:{\"field\":\"category\",\"label\":_vm.$t('bend_part_category.category')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row }){return [_vm._v(\" \"+_vm._s(_vm.$t(`bend_part_category.${row.category}`))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"bendsFrom\",\"label\":_vm.$t('bend_part_category.from_number_bend')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row }){return [_vm._v(\" \"+_vm._s(row.bendsFrom)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"bendsTo\",\"label\":_vm.$t('bend_part_category.to_number_bend')},scopedSlots:_vm._u([{key:\"default\",fn:function({ row }){return [_vm._v(\" \"+_vm._s(row.bendsTo)+\" \")]}}])})],1)],1)],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[(!_setup.isReadOnly)?[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":_setup.cancelEdition}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),_c('b-button',{attrs:{\"type\":\"is-success\",\"native-type\":\"submit\",\"loading\":_setup.isSubmitting,\"disabled\":_setup.v$.$invalid,\"data-testid\":\"save-button\"}},[_vm._v(\" \"+_vm._s(_vm.$t('action.save'))+\" \")])]:_vm._e()],2)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { BendPartCategory } from '@/models/bendPartCategory';\nimport { BaseUrl } from '@/models/constants';\nimport axios from 'axios';\n\nclass BendPartCategoryService {\n get(tenantId: number): Promise {\n return axios\n .get(`${BaseUrl}/bendpartcategories/getbytenant/${tenantId}`)\n .then((response: any) => {\n return response.data;\n });\n }\n\n update(bendPartCategory: BendPartCategory) {\n return axios.put(`${BaseUrl}/bendpartcategories/`, bendPartCategory).then((response: any) => {\n return response.data;\n });\n }\n}\n\nexport const bendPartCategoryService = new BendPartCategoryService();\n","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nexport class BendPartCategory {\r\n static GetEmpty(): BendPartCategory {\r\n return new BendPartCategory(0, 0, null, null);\r\n }\r\n constructor(\r\n public id: number,\r\n public tenantId: number,\r\n public simpleTo: number | null,\r\n public mediumTo: number | null,\r\n ) {}\r\n}\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { bendPartCategoryService } from '@/services/bendPartCategory.service';\nimport { Customer } from '@/models/tenant';\nimport { BendPartCategory } from '@/models/bendPartCategory';\nimport { computed, onMounted, reactive, ref } from 'vue';\nimport useVuelidate from '@vuelidate/core';\nimport { maxValue, minValue } from '@/utils/validation';\nimport { useI18n } from '@/composables/i18n';\nimport { helpers } from '@vuelidate/validators';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerBendPartCategoryConfig',\n props: {\n customer: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n customer: Customer;\n};\n\n\n\nconst bendPartCategory = reactive(BendPartCategory.GetEmpty());\nconst bendPartCategoryInitial = reactive(BendPartCategory.GetEmpty());\nconst isReadOnly = ref(true);\nconst isLoading = ref(false);\nconst isSubmitting = ref(false);\n\nconst i18n = useI18n();\n\nconst simpleToMaxValue = computed(() => bendPartCategory.mediumTo! - 1);\nconst mediumToMinValue = computed(() => bendPartCategory.simpleTo! + 1);\n\nconst validations = {\n simpleTo: {\n minValue: helpers.withMessage(\n () => i18n.t('bend_part_category.validation_error').toString(),\n minValue(1),\n ),\n maxValue: helpers.withMessage(\n () => i18n.t('bend_part_category.validation_error').toString(),\n maxValue(simpleToMaxValue),\n ),\n },\n mediumTo: {\n minValue: helpers.withMessage(\n () => i18n.t('bend_part_category.validation_error').toString(),\n minValue(mediumToMinValue),\n ),\n },\n};\nconst v$ = useVuelidate(validations, bendPartCategory);\n\nonMounted(async () => {\n await loadData();\n});\n\nasync function loadData() {\n isLoading.value = true;\n bendPartCategoryService\n .get(props.customer.id)\n .then((bendPartCat) => {\n Object.assign(bendPartCategory, bendPartCat);\n Object.assign(bendPartCategoryInitial, bendPartCat);\n })\n .finally(() => (isLoading.value = false));\n}\n\nasync function onSubmit() {\n isSubmitting.value = true;\n bendPartCategoryService\n .update(bendPartCategory)\n .then(() => {\n isReadOnly.value = true;\n Object.assign(bendPartCategoryInitial, bendPartCategory);\n })\n .finally(() => (isSubmitting.value = false));\n}\n\nfunction startEdit() {\n isReadOnly.value = false;\n}\n\nfunction cancelEdition() {\n isReadOnly.value = true;\n Object.assign(bendPartCategory, bendPartCategoryInitial);\n}\n\nconst sliderValue = computed({\n get(): [number, number] {\n return [bendPartCategory.simpleTo ?? 0, bendPartCategory.mediumTo ?? 0];\n },\n set(newValue: [number, number]) {\n bendPartCategory.simpleTo = newValue[0];\n bendPartCategory.mediumTo = newValue[1];\n },\n});\n\nconst tableData = computed(() => [\n {\n category: 'simple',\n bendsFrom: 0,\n bendsTo: bendPartCategory.simpleTo!,\n },\n {\n category: 'medium',\n bendsFrom: bendPartCategory.simpleTo! + 1,\n bendsTo: bendPartCategory.mediumTo!,\n },\n {\n category: 'complex',\n bendsFrom: bendPartCategory.mediumTo! + 1,\n bendsTo: '∞',\n },\n]);\n\nconst validationMessage = computed(() => v$.value.$errors[0]?.$message);\n\nreturn { __sfc: true,props, bendPartCategory, bendPartCategoryInitial, isReadOnly, isLoading, isSubmitting, i18n, simpleToMaxValue, mediumToMinValue, validations, v$, loadData, onSubmit, startEdit, cancelEdition, sliderValue, tableData, validationMessage }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerBendPartCategoryConfig.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerBendPartCategoryConfig.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerBendPartCategoryConfig.vue?vue&type=template&id=169a4dca&scoped=true\"\nimport script from \"./CustomerBendPartCategoryConfig.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerBendPartCategoryConfig.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./CustomerBendPartCategoryConfig.vue?vue&type=style&index=0&id=169a4dca&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"169a4dca\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"customer-cut-gas-type-config\",on:{\"submit\":function($event){$event.preventDefault();return _setup.onSubmit()}}},[_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"pencil\",\"disabled\":_setup.isEditMode,\"data-testid\":\"edit-button\"},on:{\"click\":function($event){return _setup.startEdit()}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.edit'))+\" \")])],1),_c('table',{staticClass:\"table buttoned-row\"},[_c('tr',{staticClass:\"th\"},[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t('tenant.cut_gas_channel'))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t('tenant.cut_gas_name'))+\" \")])]),_c('tr',[_c('td',{staticClass:\"channel-id-column\"},[_vm._v(\"0\")]),_c('td',{staticClass:\"gas-name-column\"},[_c('b-field',{attrs:{\"type\":{ 'is-danger': _setup.v$.channel0Name.$error },\"message\":_setup.getValidationMessage('channel0Name')}},[_c('b-input',{attrs:{\"name\":\"gasChannel0\",\"type\":\"text\",\"disabled\":_setup.isViewMode || _setup.isSubmitting},on:{\"blur\":_setup.v$.channel0Name.$touch},model:{value:(_setup.editCustomer.channel0Name),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"channel0Name\", $$v)},expression:\"editCustomer.channel0Name\"}})],1)],1)]),_c('tr',[_c('td',{staticClass:\"channel-id-column\"},[_vm._v(\"1\")]),_c('td',{staticClass:\"gas-name-column\"},[_c('b-field',{attrs:{\"type\":{ 'is-danger': _setup.v$.channel1Name.$error },\"message\":_setup.getValidationMessage('channel1Name')}},[_c('b-input',{attrs:{\"name\":\"gasChannel1\",\"type\":\"text\",\"disabled\":_setup.isViewMode || _setup.isSubmitting},on:{\"blur\":_setup.v$.channel1Name.$touch},model:{value:(_setup.editCustomer.channel1Name),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"channel1Name\", $$v)},expression:\"editCustomer.channel1Name\"}})],1)],1)]),_c('tr',[_c('td',{staticClass:\"channel-id-column\"},[_vm._v(\"2\")]),_c('td',{staticClass:\"gas-name-column\"},[_c('b-field',{attrs:{\"type\":{ 'is-danger': _setup.v$.channel2Name.$error },\"message\":_setup.getValidationMessage('channel2Name')}},[_c('b-input',{attrs:{\"name\":\"gasChannel2\",\"type\":\"text\",\"disabled\":_setup.isViewMode || _setup.isSubmitting},on:{\"blur\":_setup.v$.channel2Name.$touch},model:{value:(_setup.editCustomer.channel2Name),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"channel2Name\", $$v)},expression:\"editCustomer.channel2Name\"}})],1)],1)]),_c('tr',[_c('td',{staticClass:\"channel-id-column\"},[_vm._v(\"3\")]),_c('td',{staticClass:\"gas-name-column\"},[_c('b-field',{attrs:{\"type\":{ 'is-danger': _setup.v$.channel3Name.$error },\"message\":_setup.getValidationMessage('channel3Name')}},[_c('b-input',{attrs:{\"name\":\"gasChannel3\",\"type\":\"text\",\"disabled\":_setup.isViewMode || _setup.isSubmitting},on:{\"blur\":_setup.v$.channel3Name.$touch},model:{value:(_setup.editCustomer.channel3Name),callback:function ($$v) {_vm.$set(_setup.editCustomer, \"channel3Name\", $$v)},expression:\"editCustomer.channel3Name\"}})],1)],1)])]),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[(_setup.isEditMode)?[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":function($event){return _setup.cancelEdition()}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),_c('b-button',{attrs:{\"type\":\"is-success\",\"native-type\":\"submit\",\"disabled\":_setup.v$.$invalid,\"loading\":_setup.isSubmitting,\"data-testid\":\"save-button\"}},[_vm._v(\" \"+_vm._s(_vm.$t('action.save'))+\" \")])]:_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nexport class CustomerCutConfig {\n constructor(\n public id: number,\n public channel0Name: string,\n public channel1Name: string,\n public channel2Name: string,\n public channel3Name: string,\n ) {}\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { customersService } from '@/services/tenants.service';\nimport { Customer } from '@/models/tenant';\nimport { Mode } from '@/models/enums/Mode';\nimport { CustomerCutConfig } from '@/models/customerCutConfig';\nimport { computed, reactive, ref } from 'vue';\nimport useVuelidate from '@vuelidate/core';\nimport { required } from '@/utils/validation';\nimport { helpers, maxLength } from '@vuelidate/validators';\nimport { useI18n } from '@/composables/i18n';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerCutGasTypeConfig',\n props: {\n customer: null\n },\n emits: [\"update\"],\n setup(__props: any, { emit }: { emit: ((e: 'update', value: Customer) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as {\n customer: Customer;\n};\n\n\n\n\n\nconst editCustomer = reactive(Customer.GetCopy(props.customer));\nconst editCustomerInitial = reactive(Customer.GetCopy(props.customer));\nconst mode = ref(Mode.View);\nconst isSubmitting = ref(false);\n\nconst i18n = useI18n();\n\nconst channelRegexValidator = helpers.withMessage(\n () => i18n.t('form.input_validation_allowed_chars').toString(),\n helpers.regex(/^[\\w\\p{L} .,\\-]{1,16}$/u),\n);\nconst validations = {\n channel0Name: {\n required,\n maxLength: maxLength(16),\n regex: channelRegexValidator,\n },\n channel1Name: {\n required,\n maxLength: maxLength(16),\n regex: channelRegexValidator,\n },\n channel2Name: {\n required,\n maxLength: maxLength(16),\n regex: channelRegexValidator,\n },\n channel3Name: {\n required,\n maxLength: maxLength(16),\n regex: channelRegexValidator,\n },\n};\nconst v$ = useVuelidate(validations, editCustomer);\n\nfunction startEdit() {\n mode.value = Mode.Edit;\n}\n\nasync function onSubmit() {\n isSubmitting.value = true;\n if (isEditMode.value) {\n await customersService\n .updateCutConfig(\n new CustomerCutConfig(\n editCustomer.id,\n editCustomer.channel0Name,\n editCustomer.channel1Name,\n editCustomer.channel2Name,\n editCustomer.channel3Name,\n ),\n )\n .then(async () => {\n await customersService.store.update(editCustomer);\n emit('update', editCustomer);\n Object.assign(editCustomerInitial, editCustomer);\n })\n .finally(() => (isSubmitting.value = false));\n }\n mode.value = Mode.View;\n}\n\nfunction cancelEdition() {\n Object.assign(editCustomer, editCustomerInitial);\n mode.value = Mode.View;\n}\n\nfunction getValidationMessage(fieldName: keyof typeof editCustomer) {\n return v$.value[fieldName].$errors[0]?.$message;\n}\n\nconst isEditMode = computed((): boolean => mode.value === Mode.Edit);\nconst isViewMode = computed((): boolean => mode.value === Mode.View);\n\nreturn { __sfc: true,props, emit, editCustomer, editCustomerInitial, mode, isSubmitting, i18n, channelRegexValidator, validations, v$, startEdit, onSubmit, cancelEdition, getValidationMessage, isEditMode, isViewMode }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerCutGasTypeConfig.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerCutGasTypeConfig.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerCutGasTypeConfig.vue?vue&type=template&id=f94d574e&scoped=true\"\nimport script from \"./CustomerCutGasTypeConfig.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerCutGasTypeConfig.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./CustomerCutGasTypeConfig.vue?vue&type=style&index=0&id=f94d574e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f94d574e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"customer-alerts\"},[_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"plus\"},on:{\"click\":function($event){return _setup.createAlert()}}},[_vm._v(\" \"+_vm._s(_vm.$t('alert.title_new'))+\" \")])],1),_c(_setup.TableWithActions,{attrs:{\"data\":_setup.alerts,\"defaultSort\":\"deviceId\",\"loading\":_setup.isLoading},scopedSlots:_vm._u([{key:\"actions\",fn:function({ row: alert }){return [_c(_setup.TableActionButton,{attrs:{\"icon\":\"pencil\"},on:{\"click\":function($event){return _setup.updateAlert(alert)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.edit'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"trash-can-outline\"},on:{\"click\":function($event){return _setup.confirmDelete(alert)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.delete'))+\" \")])]}}])},[_c('b-table-column',{attrs:{\"field\":\"deviceName\",\"label\":_vm.$t('device.name'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: alert }){return [_vm._v(\" \"+_vm._s(_setup.getDeviceName(alert))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"metric\",\"label\":_vm.$t('alert.metric_title'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: alert }){return [_vm._v(\" \"+_vm._s(_setup.getMetric(alert))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"operator\",\"label\":_vm.$t('alert.operator_title'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: alert }){return [_vm._v(\" \"+_vm._s(_setup.getOperator(alert))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"threshold\",\"label\":_vm.$t('alert.value_title'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: alert }){return [_vm._v(\" \"+_vm._s(alert.threshold)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"action\",\"label\":_vm.$t('alert.action_title'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: alert }){return [_vm._v(\" \"+_vm._s(_setup.getAction(alert))+\" \")]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"alert-form-modal\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"modal-card\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\" \"+_vm._s(_setup.modalTitle)+\" \")])]),_c('section',{staticClass:\"modal-card-body\"},[_c(_setup.DevicesSelect,{attrs:{\"includeAll\":\"\",\"customerId\":_vm.customer.id,\"deviceType\":_setup.DeviceModelType.Laser,\"validationRules\":_setup.validations.deviceId},model:{value:(_setup.editAlert.deviceId),callback:function ($$v) {_vm.$set(_setup.editAlert, \"deviceId\", $$v)},expression:\"editAlert.deviceId\"}}),_c(_setup.AlertsMetricsSelect,{attrs:{\"flatten\":\"\",\"console\":_setup.ConsoleEnum.WCC,\"value\":_setup.selectedKpi,\"validationRules\":_setup.validations.metric},on:{\"input\":function($event){_setup.editAlert.metric = $event.kpi}}}),_c(_setup.AlertsOperatorsSelect,{attrs:{\"validationRules\":_setup.validations.operator},model:{value:(_setup.editAlert.operator),callback:function ($$v) {_vm.$set(_setup.editAlert, \"operator\", $$v)},expression:\"editAlert.operator\"}}),_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t('alert.threshold_value.name'),\"type\":{ 'is-danger': _setup.v$.threshold.$error },\"message\":_setup.thresholdValidationMessage}},[_c('b-input',{attrs:{\"required\":\"\",\"name\":\"threshold\"},on:{\"blur\":_setup.v$.threshold.$touch},model:{value:(_setup.editAlert.threshold),callback:function ($$v) {_vm.$set(_setup.editAlert, \"threshold\", $$v)},expression:\"editAlert.threshold\"}})],1),_c(_setup.AlertsActionsSelect,{attrs:{\"value\":_setup.actionOrDefault,\"validationRules\":_setup.validations.action},on:{\"input\":_setup.onActionInput}}),(_setup.editAlert.action === _setup.AlertAction.WebAndEmail)?_c(_setup.EmailsTagInput,{attrs:{\"value\":_setup.defaultEmails,\"loading\":_setup.defaultEmailsAreLoading,\"customerId\":_vm.customer.id,\"validationRules\":_setup.validations.recipients},on:{\"input\":_setup.onEmailSelectionChanged}}):_vm._e()],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":function($event){return _setup.emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),_c('b-button',{attrs:{\"type\":\"is-success\",\"native-type\":\"submit\",\"loading\":_setup.isSubmitting,\"disabled\":_setup.v$.$invalid,\"data-testid\":\"submit-button\"},on:{\"click\":_setup.onSubmit}},[_vm._v(\" \"+_vm._s(_setup.actionTitle)+\" \")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-field',{class:['devices-select', { required: _setup.required }],attrs:{\"label\":_vm.$t('inputs.devices_select.label'),\"label-for\":`device-select-${_setup.componentId}`,\"type\":{ 'is-danger': _setup.v$.device.$error },\"message\":_setup.validationMessage}},[_c('b-select',{attrs:{\"expanded\":\"\",\"name\":\"device\",\"id\":`device-select-${_setup.componentId}`,\"value\":_setup.state.device,\"placeholder\":_vm.$t('inputs.devices_select.placeholder'),\"validation-message\":_vm.$t('inputs.devices_select.required_validation'),\"required\":_setup.required,\"disabled\":_vm.disabled,\"loading\":_setup.isLoading},on:{\"input\":_setup.onInput,\"blur\":_setup.v$.device.$touch}},[(_vm.includeAll)?_c('option',{domProps:{\"value\":0}},[_vm._v(\" \"+_vm._s(_vm.$t('inputs.devices_select.all'))+\" \")]):_vm._e(),_vm._l((_setup.items),function(option){return _c('option',{key:option.id,domProps:{\"value\":option.id}},[_vm._v(\" \"+_vm._s(option.name)+\" \")])})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { Device } from '@/models/device';\nimport { DeviceModelType } from '@/models/deviceBaseModel';\nimport { getAllDevicesByCustomerId } from '@/use-cases/devices';\nimport { uniqueId } from '@/utils/misc';\nimport { ValidationRules } from '@/utils/validation';\nimport useVuelidate from '@vuelidate/core';\nimport { computed, onMounted, reactive, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DevicesSelect',\n props: {\n customerId: null,\n value: null,\n disabled: { type: Boolean, default: false },\n includeAll: { type: Boolean, default: false },\n deviceType: null,\n validationRules: { default: () => ({}) }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', value: number) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { customerId: number, value?: number | null, disabled: boolean, includeAll: boolean, deviceType?: DeviceModelType, validationRules: ValidationRules };\n\n\n\n\n\nconst componentId = uniqueId();\nconst items = ref([]);\nconst isLoading = ref(false);\n\nconst state = reactive({\n device: props.value,\n});\nconst validations = {\n device: props.validationRules,\n};\nconst v$ = useVuelidate(validations, state);\n\nonMounted(() => {\n getItems();\n});\n\nasync function getItems() {\n isLoading.value = true;\n try {\n const devices = await getAllDevicesByCustomerId(props.customerId);\n switch (props.deviceType) {\n case DeviceModelType.Laser:\n items.value = devices.filter((x) => x.isCut());\n break;\n case DeviceModelType.Bending:\n items.value = devices.filter((x) => x.isBend());\n break;\n case DeviceModelType.Tubes:\n items.value = devices.filter((x) => x.isTube());\n break;\n default:\n items.value = devices;\n break;\n }\n } finally {\n isLoading.value = false;\n }\n}\n\nfunction onInput(deviceId: number) {\n state.device = deviceId;\n emit('input', deviceId);\n}\n\nconst required = computed(() => 'required' in props.validationRules);\n\nconst validationMessage = computed(() => v$.value.device.$errors[0]?.$message);\n\nreturn { __sfc: true,props, emit, componentId, items, isLoading, state, validations, v$, getItems, onInput, required, validationMessage }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicesSelect.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicesSelect.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./DevicesSelect.vue?vue&type=template&id=7a5ef481\"\nimport script from \"./DevicesSelect.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DevicesSelect.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-field',{class:['alerts-metrics-select', { required: _setup.required }],attrs:{\"label\":_vm.$t('inputs.alerts_metrics_select.label'),\"label-for\":`alerts-metric-select-${_setup.componentId}`,\"type\":{ 'is-danger': _setup.v$.metric.$error },\"message\":_setup.validationMessage}},[_c('b-select',{attrs:{\"name\":\"metric\",\"expanded\":\"\",\"id\":`alerts-metric-select-${_setup.componentId}`,\"placeholder\":_vm.$t('inputs.alerts_metrics_select.placeholder'),\"required\":_setup.required,\"disabled\":_vm.disabled,\"data-testid-selected\":_setup.selectedKpiOrDefault},on:{\"blur\":_setup.v$.metric.$touch},model:{value:(_setup.metric),callback:function ($$v) {_setup.metric=$$v},expression:\"metric\"}},[(_vm.flatten)?[_vm._l((_setup.groups),function(group){return _vm._l((group.alertKpis),function(kpi){return _c('option',{key:`${group.name}-${kpi.kpi}`,domProps:{\"value\":kpi}},[_vm._v(\" \"+_vm._s(_vm.$t(`alert.metric.${kpi.kpi}`))+\" \")])})})]:_vm._l((_setup.groups),function(group){return _c('optgroup',{key:group.name,attrs:{\"label\":_vm.$t(`alert.group.${group.name}`).toString()}},_vm._l((group.alertKpis),function(kpi){return _c('option',{key:`${group.name}-${kpi.kpi}`,domProps:{\"value\":kpi}},[_vm._v(\" \"+_vm._s(_vm.$t(`alert.metric.${kpi.kpi}`))+\" \")])}),0)})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { AlertKPI, AlertKPIGroup } from '@/models/enums/AlertsEnums';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { alertsService } from '@/services/alerts.service';\nimport { computed } from 'vue';\nimport { isNil, uniqueId } from '@/utils/misc';\nimport { ValidationRules } from '@/utils/validation';\nimport useVuelidate from '@vuelidate/core';\n\n\n/**\n * Field to select an alert KPI (metric).\n *\n * Emits 'input' and 'change' events with the selected value when the selection\n * changes.\n */\nconst __default__ = {};\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n __name: 'AlertsMetricsSelect',\n props: {\n value: null,\n console: null,\n disabled: { type: Boolean, default: false },\n flatten: { type: Boolean, default: false },\n validationRules: { default: () => ({}) }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', value: AlertKPI) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value?: AlertKPI | null, console: ConsoleEnum, disabled: boolean, flatten: boolean, validationRules: ValidationRules };\n\n\n\n\n\nconst componentId = uniqueId();\n\nconst metric = computed({\n get() {\n return isNil(props.value) ? undefined : props.value;\n },\n set(newValue) {\n emit('input', newValue!);\n },\n});\n\nconst validations = {\n metric: props.validationRules,\n};\nconst v$ = useVuelidate(validations, { metric });\n\nconst selectedKpiOrDefault = computed(() => metric.value?.kpi);\n\nconst groups = computed((): AlertKPIGroup[] =>\n alertsService.store.getKpiGroupsByConsole(props.console),\n);\n\nconst required = computed(() => 'required' in props.validationRules);\n\nconst validationMessage = computed(() => v$.value.metric.$errors[0]?.$message);\n\nreturn { __sfc: true,props, emit, componentId, metric, validations, v$, selectedKpiOrDefault, groups, required, validationMessage }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertsMetricsSelect.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertsMetricsSelect.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./AlertsMetricsSelect.vue?vue&type=template&id=00f3ad65\"\nimport script from \"./AlertsMetricsSelect.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertsMetricsSelect.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-field',{class:['alerts-operators-select', { required: _setup.required }],attrs:{\"label\":_vm.$t('inputs.alerts_operators_select.label'),\"label-for\":`operator-select-${_setup.componentId}`,\"type\":{ 'is-danger': _setup.v$.operator.$error },\"message\":_setup.validationMessage}},[_c('b-select',{attrs:{\"expanded\":\"\",\"name\":\"operator\",\"id\":`operator-select-${_setup.componentId}`,\"value\":_setup.valueOrDefault,\"placeholder\":_vm.$t('inputs.alerts_operators_select.placeholder'),\"validation-message\":_vm.$t('inputs.alerts_operators_select.required_validation'),\"required\":_setup.required,\"disabled\":_vm.disabled},on:{\"input\":_setup.onInput,\"blur\":_setup.v$.operator.$touch}},_vm._l((_setup.alertOperatorItems),function(operator){return _c('option',{key:operator,domProps:{\"value\":operator}},[_vm._v(\" \"+_vm._s(_vm.$t(`alert_operators.${_setup.AlertOperator[operator]}`))+\" \")])}),0)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { AlertOperator } from '@/models/enums/AlertsEnums';\nimport { values } from '@/utils/enum';\nimport { uniqueId } from '@/utils/misc';\nimport { ValidationRules } from '@/utils/validation';\nimport useVuelidate from '@vuelidate/core';\nimport { computed, reactive } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AlertsOperatorsSelect',\n props: {\n value: null,\n disabled: { type: Boolean, default: false },\n validationRules: { default: () => ({}) }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', value: AlertOperator) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value?: AlertOperator, disabled: boolean, validationRules: ValidationRules };\n\n\n\n\n\nconst componentId = uniqueId();\n\nconst state = reactive({\n operator: props.value,\n});\nconst validations = {\n operator: props.validationRules,\n};\nconst v$ = useVuelidate(validations, state);\n\nfunction onInput(operator: AlertOperator) {\n state.operator = operator;\n emit('input', operator);\n}\n\n// It's necessary because the default value of operator is None, but not is not an allowed option.\n// This also caused the placeholder to not be shown\nconst valueOrDefault = computed(() =>\n state.operator === AlertOperator.None ? undefined : state.operator,\n);\n\nconst alertOperatorItems = values(AlertOperator).filter(\n (alertOperator) => alertOperator !== AlertOperator.None,\n);\n\nconst required = computed(() => 'required' in props.validationRules);\n\nconst validationMessage = computed(() => v$.value.operator.$errors[0]?.$message);\n\nreturn { __sfc: true,props, emit, componentId, state, validations, v$, onInput, valueOrDefault, alertOperatorItems, required, validationMessage, AlertOperator }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertsOperatorsSelect.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertsOperatorsSelect.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./AlertsOperatorsSelect.vue?vue&type=template&id=0bac260a\"\nimport script from \"./AlertsOperatorsSelect.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertsOperatorsSelect.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-field',{class:['alerts-actions-select', { required: _setup.isRequired }],attrs:{\"label\":_vm.$t('inputs.alerts_actions_select.label'),\"label-for\":`action-select-${_setup.componentId}`,\"type\":{ 'is-danger': _setup.v$.action.$error },\"message\":_setup.validationMessage}},[_c('b-select',{attrs:{\"expanded\":\"\",\"name\":\"action\",\"id\":`action-select-${_setup.componentId}`,\"value\":_setup.valueOrDefault,\"placeholder\":_vm.$t('inputs.alerts_actions_select.placeholder'),\"required\":_setup.isRequired,\"disabled\":_vm.disabled},on:{\"input\":_setup.onInput,\"blur\":_setup.v$.action.$touch}},_vm._l((_setup.alertActionItems),function(action){return _c('option',{key:action,domProps:{\"value\":action}},[_vm._v(\" \"+_vm._s(_vm.$t(`inputs.alerts_actions_select.option.${_setup.AlertAction[action]}`))+\" \")])}),0)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { AlertAction } from '@/models/enums/AlertsEnums';\nimport { values } from '@/utils/enum';\nimport { uniqueId } from '@/utils/misc';\nimport { ValidationRules } from '@/utils/validation';\nimport useVuelidate from '@vuelidate/core';\nimport { computed, reactive } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AlertsActionsSelect',\n props: {\n value: null,\n disabled: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n validationRules: { default: () => ({}) }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', value: number) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value?: AlertAction, disabled: boolean, required: boolean, validationRules: ValidationRules };\n\n\n\n\n\nconst componentId = uniqueId();\n\nconst state = reactive({\n action: props.value,\n});\nconst validations = {\n action: props.validationRules,\n};\nconst v$ = useVuelidate(validations, state);\n\nfunction onInput(action: AlertAction) {\n state.action = action;\n emit('input', action);\n}\n\n// It's necessary because the default value of action is None, but not is not an allowed option.\n// This also caused the placeholder to not be shown\nconst valueOrDefault = computed(() =>\n state.action === AlertAction.None ? undefined : state.action,\n);\n\nconst isRequired = computed(() => props.required || 'required' in props.validationRules);\n\nconst validationMessage = computed(() => v$.value.action.$errors[0]?.$message);\n\nconst alertActionItems = values(AlertAction).filter((action) => action !== AlertAction.None);\n\nreturn { __sfc: true,props, emit, componentId, state, validations, v$, onInput, valueOrDefault, isRequired, validationMessage, alertActionItems, AlertAction }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertsActionsSelect.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertsActionsSelect.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./AlertsActionsSelect.vue?vue&type=template&id=54307cbd\"\nimport script from \"./AlertsActionsSelect.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertsActionsSelect.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"emails-tag-input\"},[_c('b-field',{class:{ required: _setup.required },attrs:{\"label\":_setup.label,\"label-for\":`emails-tag-input-${_setup.componentId}`,\"type\":{ 'is-danger': _setup.v$.emails.$error },\"message\":_setup.validationMessage}},[_c('b-taginput',{attrs:{\"name\":\"email\",\"autocomplete\":\"\",\"open-on-focus\":\"\",\"append-to-body\":\"\",\"field\":\"user.first_name\",\"icon\":\"label\",\"id\":`emails-tag-input-${_setup.componentId}`,\"data\":_setup.nonSelectedEmails,\"allow-new\":false,\"placeholder\":_vm.$t('inputs.alerts_email_select.placeholder'),\"disabled\":_vm.disabled,\"loading\":_setup.isLoading},on:{\"typing\":_setup.updateNonSelectedEmails,\"input\":_setup.onSelectionChanged,\"blur\":_setup.v$.emails.$touch},model:{value:(_setup.state.emails),callback:function ($$v) {_vm.$set(_setup.state, \"emails\", $$v)},expression:\"state.emails\"}})],1),_c('div',{staticClass:\"actions\"},[_c('b-button',{staticClass:\"action-button\",attrs:{\"disabled\":_vm.disabled,\"data-testid\":\"clear-all-button\"},on:{\"click\":function($event){return _setup.clearAll()}}},[_vm._v(\" \"+_vm._s(_vm.$t('alert.clear_all'))+\" \")]),_c('b-button',{staticClass:\"action-button\",attrs:{\"disabled\":_vm.disabled,\"data-testid\":\"select-all-button\"},on:{\"click\":function($event){return _setup.selectAll()}}},[_vm._v(\" \"+_vm._s(_vm.$t('alert.select_all'))+\" \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { User } from '@/models/user';\nimport { customersService } from '@/services/tenants.service';\nimport { isEmpty, isNil, uniqueId } from '@/utils/misc';\nimport { Logger } from '@/utils/logger';\nimport { useI18n } from '@/composables/i18n';\nimport { currentUser } from '@/utils/permissionUtils';\nimport { computed, onMounted, reactive, ref, watch } from 'vue';\nimport { EmailEntry } from '@/models/EmailEntry';\nimport { ValidationRules } from '@/utils/validation';\nimport useVuelidate from '@vuelidate/core';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'EmailsTagInput',\n props: {\n value: { default: () => [] },\n disabled: { type: Boolean, default: false },\n customerId: null,\n showLabel: { type: Boolean, default: true },\n selectAllInit: { type: Boolean, default: false },\n filterUsers: { type: Function, default: () => () => true },\n loading: { type: Boolean, default: false },\n validationRules: { default: () => ({}) }\n },\n emits: [\"input\"],\n setup(__props: any, { expose, emit }: { emit: ((e: 'input', value: EmailEntry[]) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { value: string[], disabled: boolean, customerId?: number, showLabel: boolean, selectAllInit: boolean, filterUsers: (user: User, index?: number, array?: User[]) => boolean, loading: boolean, validationRules: ValidationRules };\n\n\n\n\n\nconst i18n = useI18n();\nconst componentId = uniqueId();\n\nconst users = ref([]);\nconst availableEmails = ref([]);\nconst nonSelectedEmails = ref([]);\n\nconst areFilteredCustomersLoading = ref(false);\n\nconst state = reactive({\n emails: props.value,\n});\nconst validations = {\n emails: props.validationRules,\n};\nconst v$ = useVuelidate(validations, state);\n\nonMounted(async () => {\n initializeTag();\n await loadData();\n if (props.selectAllInit) {\n selectAll();\n }\n});\n\nasync function loadData() {\n areFilteredCustomersLoading.value = true;\n users.value = await getFilteredCustomerUsers().finally(\n () => (areFilteredCustomersLoading.value = false),\n );\n availableEmails.value = users.value.map((user) => user.email);\n nonSelectedEmails.value = availableEmails.value.filter(\n (option) => !state.emails.includes(option),\n );\n}\n\nasync function getFilteredCustomerUsers(): Promise {\n const customerId = currentUser().customerId ?? props.customerId;\n if (isNil(customerId)) {\n Logger.error('Missing customer id from which to get its users');\n throw new Error('Missing customer id from which to get its users');\n }\n return (await customersService.getUsers(customerId)).filter(props.filterUsers);\n}\n\nfunction initializeTag() {\n state.emails = valueOrDefault.value;\n}\n\nfunction selectAll() {\n state.emails = [...availableEmails.value];\n onSelectionChanged();\n}\n\nfunction clearAll() {\n state.emails = [];\n onSelectionChanged();\n}\n\nfunction updateNonSelectedEmails(text: string) {\n nonSelectedEmails.value = availableEmails.value.filter((option) => {\n return option.toLowerCase().includes(text.toLowerCase()) && !state.emails.includes(option);\n });\n}\n\nfunction onSelectionChanged() {\n emit(\n 'input',\n state.emails.map(\n (email) =>\n ({\n userId: users.value.find((user) => user.email === email)!.id,\n email,\n } as EmailEntry),\n ),\n );\n}\n\nconst valueOrDefault = computed(() => props.value ?? []);\n\nwatch(valueOrDefault, () => {\n initializeTag();\n});\n\nconst label = computed((): string | undefined => {\n if (!props.showLabel) {\n return undefined;\n }\n\n return i18n.t('inputs.alerts_email_select.label').toString();\n});\n\nconst areTagsEmpty = computed(() => isEmpty(state.emails));\n\nconst isLoading = computed((): boolean => props.loading || areFilteredCustomersLoading.value);\n\nconst required = computed(() => 'required' in props.validationRules);\n\nconst validationMessage = computed(() => v$.value.emails.$errors[0]?.$message);\n\nexpose({ initializeTag });\n\nreturn { __sfc: true,props, emit, i18n, componentId, users, availableEmails, nonSelectedEmails, areFilteredCustomersLoading, state, validations, v$, loadData, getFilteredCustomerUsers, initializeTag, selectAll, clearAll, updateNonSelectedEmails, onSelectionChanged, valueOrDefault, label, areTagsEmpty, isLoading, required, validationMessage }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailsTagInput.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailsTagInput.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./EmailsTagInput.vue?vue&type=template&id=a6e7743e&scoped=true\"\nimport script from \"./EmailsTagInput.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./EmailsTagInput.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./EmailsTagInput.vue?vue&type=style&index=0&id=a6e7743e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a6e7743e\",\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { AlertAction, AlertMetric, AlertOperator } from './enums/AlertsEnums';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\n\nexport class Alert {\n static GetEmpty(): Alert {\n return new Alert(null, 0, null, AlertMetric.None, AlertOperator.None, 0, AlertAction.None, []);\n }\n\n static GetCopy(original: Alert): Alert {\n return new Alert(\n original.id,\n original.tenantId,\n original.deviceId,\n original.metric,\n original.operator,\n original.threshold,\n original.action,\n [...(original.recipients ?? [])],\n original.dateGrouping,\n original.deviceName,\n original.variable,\n );\n }\n\n constructor(\n public id: number | null,\n public tenantId: number | null,\n public deviceId: number | null,\n public metric: AlertMetric,\n public operator: AlertOperator,\n public threshold: number,\n public action: AlertAction | null,\n public recipients: number[],\n // Only needed for Care alerts (required)\n public dateGrouping?: FilterTimeAxisSpanEnum,\n // Received when requesting an alerts list\n public deviceName?: string,\n public variable?: string,\n // Used when metric is ErrorCountBySource or WarningCountBySource\n public eventSources?: string[],\n // Used when metric is ErrorCount or WarningCount\n public eventCodes?: string[],\n // Received when requesting an alerts list\n public tenantName?: string,\n ) {}\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport DevicesSelect from '../inputs/DevicesSelect.vue';\nimport AlertsMetricsSelect from '../inputs/AlertsMetricsSelect.vue';\nimport AlertsOperatorsSelect from '../inputs/AlertsOperatorsSelect.vue';\nimport AlertsActionsSelect from '../inputs/AlertsActionsSelect.vue';\nimport EmailsTagInput from '../inputs/EmailsTagInput.vue';\nimport { computed, onBeforeMount, onMounted, reactive, ref } from 'vue';\nimport { useI18n } from '@/composables/i18n';\nimport { Customer } from '@/models/tenant';\nimport { Alert } from '@/models/alert';\nimport { isNil } from '@/utils/misc';\nimport { alertsService } from '@/services/alerts.service';\nimport { DeviceModelType } from '@/models/deviceBaseModel';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { AlertAction, AlertKPI, AlertMetric, AlertOperator } from '@/models/enums/AlertsEnums';\nimport { EmailEntry } from '@/models/EmailEntry';\nimport useVuelidate from '@vuelidate/core';\nimport { numeric, required, requiredIf, sameAs, withLocalizedValidators } from '@/utils/validation';\nimport { helpers, not } from '@vuelidate/validators';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AlertFormModal',\n props: {\n customer: null,\n alert: null\n },\n emits: [\"close\", \"save\"],\n setup(__props: any, { emit }: { emit: ((e: 'close' | 'save') => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as {\n customer: Customer;\n alert?: Alert;\n};\n\n\n\n\n\nconst editAlert = reactive(isNil(props.alert) ? Alert.GetEmpty() : Alert.GetCopy(props.alert));\n\nconst isSubmitting = ref(false);\nconst defaultEmails = ref([]);\nconst defaultEmailsAreLoading = ref(false);\n\nconst i18n = useI18n();\n\nconst validations = {\n deviceId: withLocalizedValidators('inputs.devices_select.label', {\n required,\n }),\n metric: {\n required: helpers.withMessage(\n () => i18n.t('form.select_validation').toString(),\n (value: AlertKPI) => value.kpi !== AlertMetric.None,\n ),\n },\n operator: {\n required: helpers.withMessage(\n () => i18n.t('form.select_validation').toString(),\n not(sameAs(AlertOperator.None)),\n ),\n },\n threshold: withLocalizedValidators('alert.threshold_value.name', {\n required,\n numeric,\n }),\n action: withLocalizedValidators('inputs.alerts_actions_select.label', {\n required: helpers.withMessage(\n () => i18n.t('form.select_validation').toString(),\n not(sameAs(AlertAction.None)),\n ),\n }),\n recipients: withLocalizedValidators('inputs.alerts_email_select.label', {\n required: requiredIf(() => editAlert.action === AlertAction.WebAndEmail),\n }),\n};\nconst v$ = useVuelidate(validations, editAlert);\n\nonBeforeMount(() => {\n if (isEdit.value && isNil(props.alert?.deviceId)) {\n editAlert.deviceId = 0;\n }\n});\n\nonMounted(() => {\n loadDefaultEmails();\n});\n\nasync function onSubmit() {\n isSubmitting.value = true;\n try {\n const alertToSubmit = Alert.GetCopy(editAlert);\n alertToSubmit.tenantId = props.customer.id;\n if (alertToSubmit.deviceId === 0) {\n alertToSubmit.deviceId = null;\n }\n if (isEdit.value) {\n await alertsService.update(alertToSubmit);\n } else {\n await alertsService.create(alertToSubmit);\n }\n emit('save');\n emit('close');\n } finally {\n isSubmitting.value = false;\n }\n}\n\nfunction onActionInput(action: AlertAction) {\n editAlert.action = action;\n if (editAlert.action !== AlertAction.WebAndEmail) {\n editAlert.recipients = [];\n }\n}\n\nasync function loadDefaultEmails() {\n if (!isEdit.value) {\n return;\n }\n defaultEmailsAreLoading.value = true;\n await alertsService\n .getAlertEmail(props.alert!.id!)\n .then((data) => (defaultEmails.value = data))\n .finally(() => (defaultEmailsAreLoading.value = false));\n}\n\nfunction onEmailSelectionChanged(entries: EmailEntry[]) {\n editAlert.recipients = entries.map((item) => item.userId);\n}\n\nconst modalTitle = computed(() => {\n if (isEdit.value) {\n return i18n.t(`alert.title_edit`);\n }\n return i18n.t('alert.title_create');\n});\n\nconst actionTitle = computed(() => {\n if (isEdit.value) {\n return i18n.t('action.save');\n }\n return i18n.t('action.create');\n});\n\nconst isEdit = computed(() => !isNil(props.alert));\n\nconst selectedKpi = computed(() => alertsService.store.getAlertKpiByMetric(editAlert.metric));\n\nconst actionOrDefault = computed(() => (isNil(editAlert.action) ? undefined : editAlert.action));\n\nconst thresholdValidationMessage = computed(() => v$.value.threshold.$errors[0]?.$message);\n\nreturn { __sfc: true,props, emit, editAlert, isSubmitting, defaultEmails, defaultEmailsAreLoading, i18n, validations, v$, onSubmit, onActionInput, loadDefaultEmails, onEmailSelectionChanged, modalTitle, actionTitle, isEdit, selectedKpi, actionOrDefault, thresholdValidationMessage, DevicesSelect, AlertsMetricsSelect, AlertsOperatorsSelect, AlertsActionsSelect, EmailsTagInput, DeviceModelType, ConsoleEnum, AlertAction }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertFormModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertFormModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./AlertFormModal.vue?vue&type=template&id=0d4fe52d\"\nimport script from \"./AlertFormModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertFormModal.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { alertsService } from '@/services/alerts.service';\nimport { Customer } from '@/models/tenant';\nimport { Alert } from '@/models/alert';\nimport { AlertOperator } from '@/models/enums/AlertsEnums';\nimport TableActionButton from '@/components/tableWithActions/TableActionButton.vue';\nimport TableWithActions from '@/components/tableWithActions/TableWithActions.vue';\nimport { dialogService } from '@/library-services/dialog.service';\nimport { modalService } from '@/library-services/modal.service';\nimport { getCurrentInstance, onBeforeMount, ref } from 'vue';\nimport { useI18n } from '@/composables/i18n';\nimport AlertFormModal from '@/components/alerts/AlertFormModal.vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerAlerts',\n props: {\n customer: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n customer: Customer;\n};\n\n\n\nconst i18n = useI18n();\n\nconst app = getCurrentInstance();\nconst alerts = ref([]);\nconst isLoading = ref(false);\n\nonBeforeMount(async () => {\n await getAlerts();\n});\n\nasync function getAlerts() {\n isLoading.value = true;\n alertsService\n .getWorkCenterConsoleAlerts(props.customer.id)\n .then((response) => (alerts.value = response))\n .finally(() => (isLoading.value = false));\n}\n\nfunction confirmDelete(alert: Alert): void {\n dialogService.confirmWithPromise({\n title: i18n.t('dialog.confirm_title').toString(),\n message:\n i18n.t('action.delete').toString() +\n ` ${i18n.t(`alert.metric.${alert.metric}`)} ${i18n.t(\n `alert_operators.${AlertOperator[alert.operator]}`,\n )} ${alert.threshold} ${alert.deviceName ?? i18n.t(`alert.all_devices`)}?`,\n confirmText: i18n.t('dialog.confirm_delete').toString(),\n cancelText: i18n.t(`dialog.confirm_cancel`).toString(),\n type: 'is-danger',\n onConfirm: async () => await deleteAlert(alert.id!),\n });\n}\n\nasync function createAlert() {\n modalService.compositionApi.open(\n {\n component: AlertFormModal,\n props: {\n customer: props.customer,\n },\n events: {\n save: () => getAlerts(),\n },\n },\n app,\n );\n}\n\nasync function updateAlert(alert: Alert) {\n modalService.compositionApi.open(\n {\n component: AlertFormModal,\n props: {\n alert,\n customer: props.customer,\n },\n events: {\n save: () => getAlerts(),\n },\n },\n app,\n );\n}\n\nasync function deleteAlert(alertId: number) {\n await alertsService.delete(alertId).then(() => {\n alerts.value = alerts.value.filter((alert) => alert.id !== alertId);\n });\n}\n\nfunction getDeviceName(alert: Alert) {\n return alert.deviceName ?? i18n.t(`alert.all_devices`);\n}\n\nfunction getMetric(alert: Alert) {\n return i18n.t(`alert.metric.${alert.metric}`);\n}\n\nfunction getOperator(alert: Alert) {\n return i18n.t(`alert_operators.${AlertOperator[alert.operator]}`);\n}\n\nfunction getAction(alert: Alert) {\n return i18n.t(`alert.action.${alert.action}`);\n}\n\nreturn { __sfc: true,props, i18n, app, alerts, isLoading, getAlerts, confirmDelete, createAlert, updateAlert, deleteAlert, getDeviceName, getMetric, getOperator, getAction, TableActionButton, TableWithActions }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerAlerts.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerAlerts.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerAlerts.vue?vue&type=template&id=d9b1648c&scoped=true\"\nimport script from \"./CustomerAlerts.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerAlerts.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./CustomerAlerts.vue?vue&type=style&index=0&id=d9b1648c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d9b1648c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"customer-material-groups\"},[_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"plus\"},on:{\"click\":function($event){return _setup.createMaterialGroup()}}},[_vm._v(\" \"+_vm._s(_vm.$t('material_group.title_new'))+\" \")])],1),_c('section',[_c('b-collapse',{attrs:{\"open\":false,\"position\":\"is-top\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return [_c('a',{attrs:{\"aria-controls\":\"contentIdForA11y1\"}},[_c('b-icon',{attrs:{\"icon\":!props.open ? 'menu-down' : 'menu-up'}}),_vm._v(\" \"+_vm._s(props.open ? _vm.$t('material_group.hide_unassigned_materials') : _vm.$t('material_group.show_unassigned_materials'))+\" \")],1)]}}])},[_c(_setup.TableWithActions,{staticClass:\"unassigned-material-table\",attrs:{\"data\":_setup.unassignedMaterials,\"defaultSort\":\"deviceId\",\"loading\":_setup.isLoadingMaterials},scopedSlots:_vm._u([{key:\"actions\",fn:function({ row: material }){return [_c(_setup.TableActionButton,{attrs:{\"icon\":\"pencil-plus\"},on:{\"click\":function($event){return _setup.startAssignMaterialToGroup(material)}}},[_vm._v(\" \"+_vm._s(_vm.$t('material_group.actions.assign_material'))+\" \")])]}}])},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":_vm.$t('material.name'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: material }){return [_vm._v(\" \"+_vm._s(material.name)+\" \")]}}])})],1)],1),_c('div',{staticClass:\"is-divider\",attrs:{\"data-content\":\"\"}}),_c(_setup.TableWithActions,{staticClass:\"material-group-table\",attrs:{\"data\":_setup.knownMaterialGroups,\"defaultSort\":\"name\",\"loading\":_setup.isLoadingMaterialGroups},scopedSlots:_vm._u([{key:\"actions\",fn:function({ row: materialGroup }){return [_c(_setup.TableActionButton,{attrs:{\"icon\":\"toy-brick-plus-outline\"},on:{\"click\":function($event){return _setup.manageMaterialGroup(materialGroup.id)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.manage'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"trash-can-outline\",\"disabled\":materialGroup.relatedTenantCount > 0 ||\n materialGroup.relatedKpiCount > 0 ||\n materialGroup.isDefault},on:{\"click\":function($event){return _setup.confirmDelete(materialGroup.id, materialGroup.name)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.delete'))+\" \")])]}}])},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":_vm.$t('material_group.name'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: materialGroup }){return [_vm._v(\" \"+_vm._s(materialGroup.name)+\" \")]}}])})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"modal-card material-group-creation-modal\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\" \"+_vm._s(_vm.$t(`material_group.title_new`))+\" \")])]),_c('section',{staticClass:\"modal-card-body\"},[_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t(`form.name`)}},[_c('b-input',{attrs:{\"name\":\"name\",\"placeholder\":_vm.$t(`form.name`),\"required\":\"\",\"maxlength\":\"256\",\"validation-message\":_vm.$t('form.input_validation')},model:{value:(_setup.materialGroup.name),callback:function ($$v) {_vm.$set(_setup.materialGroup, \"name\", $$v)},expression:\"materialGroup.name\"}})],1)],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":_setup.closeModal}},[_vm._v(\" \"+_vm._s(_vm.$t('action.close'))+\" \")]),_c('b-button',{attrs:{\"type\":\"is-success\",\"disabled\":!_setup.canSubmit,\"loading\":_setup.isSubmitting,\"data-testid\":\"submit-button\"},on:{\"click\":_setup.onSubmit}},[_vm._v(\" \"+_vm._s(_vm.$t('action.save'))+\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nimport { Material } from './material';\r\n\r\nexport class MaterialGroup {\r\n static GetEmpty(): MaterialGroup {\r\n return new MaterialGroup(0, '', 0, false);\r\n }\r\n static GetCopy(original: MaterialGroup): MaterialGroup {\r\n return new MaterialGroup(original.id, original.name, original.tenantId, original.isUnknown);\r\n }\r\n materials: Material[] = [];\r\n constructor(\r\n public id: number,\r\n public name: string,\r\n public tenantId: number,\r\n public isUnknown: boolean,\r\n ) {}\r\n}\r\n","// Copyright (C) 2021 Bystronic Laser AG\n\nimport axios from 'axios';\nimport { BaseUrl } from '@/models/constants';\nimport { responseHandler } from './response.handler';\nimport { MaterialGroup } from '@/models/materialGroup';\n\nclass MaterialGroupsService {\n get(tenantId?: number): Promise {\n return axios\n .get(`${BaseUrl}/materialgroups` + (tenantId ? '?tenantId=' + tenantId : ''))\n .then((response: any) => {\n responseHandler.handleDates(response.data);\n return response.data;\n });\n }\n\n getDetails(id: number): Promise {\n return axios\n .get(`${BaseUrl}/materialgroups/getdetails/${id}`)\n .then((response: any) => {\n responseHandler.handleDates(response.data);\n return response.data;\n });\n }\n\n create(materialGroup: MaterialGroup) {\n return axios.post(`${BaseUrl}/materialgroups/`, materialGroup).then((response: any) => {\n return response.data;\n });\n }\n\n delete(id: number): Promise {\n return axios.delete(`${BaseUrl}/materialgroups/${id}`).then((response: any) => {\n return response.data;\n });\n }\n}\n\nexport const materialGroupsService = new MaterialGroupsService();\n","import { defineComponent as _defineComponent } from 'vue'\nimport { MaterialGroup } from '@/models/materialGroup';\nimport { materialGroupsService } from '@/services/materialGroups.service';\nimport { Customer } from '@/models/tenant';\nimport { isEmpty } from '@/utils/misc';\nimport { computed, reactive, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MaterialGroupCreationModal',\n props: {\n customer: null\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n customer: Customer;\n};\n\n\n\n\n\nconst materialGroup = reactive(MaterialGroup.GetEmpty());\n\nconst isSubmitting = ref(false);\n\nfunction onSubmit() {\n isSubmitting.value = true;\n materialGroup.tenantId = props.customer.id;\n\n materialGroupsService\n .create(materialGroup)\n .then(() => {\n emit('save');\n closeModal();\n })\n .finally(() => (isSubmitting.value = false));\n}\n\nfunction closeModal() {\n emit('close');\n}\n\nconst canSubmit = computed(() => !isEmpty(materialGroup.name));\n\nreturn { __sfc: true,props, emit, materialGroup, isSubmitting, onSubmit, closeModal, canSubmit }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MaterialGroupCreationModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MaterialGroupCreationModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./MaterialGroupCreationModal.vue?vue&type=template&id=311cba5a\"\nimport script from \"./MaterialGroupCreationModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./MaterialGroupCreationModal.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"modal-card material-group-modal\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(_vm._s(_vm.$t('action.manage'))+\" \"+_vm._s(_setup.materialGroup.name))])]),_c('section',{staticClass:\"modal-card-body\"},[_c(_setup.TableWithActions,{staticClass:\"materials-table\",attrs:{\"data\":_setup.materialGroup.materials,\"defaultSort\":\"name\",\"loading\":_setup.isLoading},scopedSlots:_vm._u([{key:\"actions\",fn:function(props){return [_c(_setup.TableActionButton,{attrs:{\"icon\":\"trash-can-outline\",\"disabled\":props.row.isDefault},on:{\"click\":function($event){return _setup.confirmUnassign(props.row.id, props.row.name)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.unassign'))+\" \")])]}}])},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":_vm.$t('material.name'),\"sortable\":\"\",\"searchable\":\"\",\"cell-class\":\"has-text-left\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.name)+\" \")]}}])})],1)],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"type\":\"is-primary\"},on:{\"click\":function($event){return _setup.closeModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.close'))+\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nimport axios from 'axios';\r\nimport { BaseUrl } from '@/models/constants';\r\nimport { Material } from '@/models/material';\r\n\r\nclass MaterialsService {\r\n async get(tenantId?: number): Promise {\r\n return axios\r\n .get(`${BaseUrl}/materials` + (tenantId ? '?tenantId=' + tenantId : ''))\r\n .then((response: any) => {\r\n return response.data;\r\n });\r\n }\r\n\r\n async update(material: Material) {\r\n await axios.put(`${BaseUrl}/materials/`, material);\r\n }\r\n\r\n async unassign(id: number) {\r\n await axios.put(`${BaseUrl}/materials/unassign`, { id });\r\n }\r\n}\r\n\r\nexport const materialsService = new MaterialsService();\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { materialGroupsService } from '@/services/materialGroups.service';\nimport { MaterialGroup } from '@/models/materialGroup';\nimport { Customer } from '@/models/tenant';\nimport { materialsService } from '@/services/materials.service';\nimport TableActionButton from '@/components/tableWithActions/TableActionButton.vue';\nimport TableWithActions from '@/components/tableWithActions/TableWithActions.vue';\nimport { dialogService } from '@/library-services/dialog.service';\nimport { onMounted, reactive, ref } from 'vue';\nimport { useI18n } from '@/composables/i18n';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MaterialGroupModal',\n props: {\n customer: null,\n materialGroups: null,\n materialGroupId: null,\n disabled: { type: Boolean, default: false }\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { customer: Customer, materialGroups: MaterialGroup[], materialGroupId: number, disabled: boolean };\n\n\n\n\n\nconst i18n = useI18n();\nconst materialGroup = reactive(MaterialGroup.GetEmpty());\nconst isLoading = ref(false);\n\nonMounted(() => {\n refreshData();\n});\n\nfunction closeModal() {\n emit('close');\n}\n\nasync function refreshData() {\n isLoading.value = true;\n materialGroupsService\n .getDetails(props.materialGroupId)\n .then((data: MaterialGroup) => {\n Object.assign(materialGroup, data);\n })\n .finally(() => (isLoading.value = false));\n}\n\nfunction confirmUnassign(id: number, name: string): void {\n dialogService.confirmWithPromise({\n title: i18n.t('dialog.confirm_title').toString(),\n message: i18n.t('material.dialog.unassign').toString() + ` ${name}?`,\n confirmText: i18n.t('dialog.confirm_unassign').toString(),\n cancelText: i18n.t(`dialog.confirm_cancel`).toString(),\n type: 'is-danger',\n onConfirm: async () => await unassignMaterial(id),\n });\n}\n\nasync function unassignMaterial(id: number) {\n await materialsService.unassign(id).then(() => {\n materialGroup.materials = materialGroup.materials.filter((x) => x.id !== id);\n });\n}\n\nreturn { __sfc: true,props, emit, i18n, materialGroup, isLoading, closeModal, refreshData, confirmUnassign, unassignMaterial, TableActionButton, TableWithActions }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MaterialGroupModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MaterialGroupModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./MaterialGroupModal.vue?vue&type=template&id=281796ed\"\nimport script from \"./MaterialGroupModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./MaterialGroupModal.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"modal-card material-group-assignment-modal\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('material_group.actions.assign_material'))+\" \")])]),_c('section',{staticClass:\"modal-card-body\"},[_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t(`material.name`) + ' ' + _vm.$t(`form.name`)}},[_c('b-input',{attrs:{\"name\":\"name\",\"value\":_vm.material.name,\"required\":\"\",\"disabled\":\"\",\"has-counter\":false,\"maxlength\":\"100\"}})],1),_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t('material_group.name')}},[_c('b-select',{attrs:{\"name\":\"materialGroupId\",\"placeholder\":_vm.$t('form.select_validation'),\"data-format\":\"number\",\"validation-message\":_vm.$t('form.select_validation'),\"required\":\"\",\"expanded\":\"\"},model:{value:(_setup.materialGroupId),callback:function ($$v) {_setup.materialGroupId=$$v},expression:\"materialGroupId\"}},_vm._l((_vm.materialGroups),function(option){return _c('option',{key:option.id,domProps:{\"value\":option.id}},[_vm._v(\" \"+_vm._s(option.name)+\" \")])}),0)],1)],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":function($event){return _setup.emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),_c('b-button',{attrs:{\"type\":\"is-success\",\"disabled\":_setup.materialGroupId == 0,\"loading\":_setup.isSubmitting},on:{\"click\":_setup.onSubmit}},[_vm._v(\" \"+_vm._s(_vm.$t('material_group.actions.assign_material'))+\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { MaterialGroup } from '@/models/materialGroup';\nimport { materialsService } from '@/services/materials.service';\nimport { Material } from '@/models/material';\nimport { ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MaterialGroupAssignmentModal',\n props: {\n materialGroups: null,\n material: null\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n materialGroups: MaterialGroup[];\n material: Material;\n};\n\n\n\n\n\nconst materialGroupId = ref(0);\nconst isSubmitting = ref(false);\n\nasync function onSubmit() {\n props.material.materialGroupId = materialGroupId.value;\n\n isSubmitting.value = true;\n materialsService\n .update(props.material)\n .then(() => {\n emit('save');\n emit('close');\n })\n .finally(() => (isSubmitting.value = false));\n}\n\nreturn { __sfc: true,props, emit, materialGroupId, isSubmitting, onSubmit }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MaterialGroupAssignmentModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MaterialGroupAssignmentModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./MaterialGroupAssignmentModal.vue?vue&type=template&id=5b8599a8\"\nimport script from \"./MaterialGroupAssignmentModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./MaterialGroupAssignmentModal.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport MaterialGroupCreationModal from '@/components/materialGroups/MaterialGroupCreationModal.vue';\nimport MaterialGroupModal from '@/components/materialGroups/MaterialGroupModal.vue';\nimport { materialsService } from '@/services/materials.service';\nimport { MaterialGroup } from '@/models/materialGroup';\nimport { Customer } from '@/models/tenant';\nimport { materialGroupsService } from '@/services/materialGroups.service';\nimport { Material } from '@/models/material';\nimport MaterialGroupAssignmentModal from '@/components/materialGroups/MaterialGroupAssignmentModal.vue';\nimport TableActionButton from '@/components/tableWithActions/TableActionButton.vue';\nimport TableWithActions from '@/components/tableWithActions/TableWithActions.vue';\nimport { dialogService } from '@/library-services/dialog.service';\nimport { computed, getCurrentInstance, onBeforeMount, ref } from 'vue';\nimport { useI18n } from '@/composables/i18n';\nimport { modalService } from '@/library-services/modal.service';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerMaterialGroups',\n props: {\n customer: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n customer: Customer;\n};\n\n\n\nconst i18n = useI18n();\n\nconst materialGroups = ref([]);\nconst materials = ref([]);\nconst isLoadingMaterials = ref(false);\nconst isLoadingMaterialGroups = ref(false);\nconst app = getCurrentInstance();\n\nonBeforeMount(() => {\n refreshData();\n});\n\nasync function refreshData() {\n await getMaterialGroups();\n await getMaterials();\n}\n\nasync function startAssignMaterialToGroup(material: Material) {\n modalService.compositionApi.open(\n {\n component: MaterialGroupAssignmentModal,\n props: {\n materialGroups: knownMaterialGroups.value,\n material,\n },\n events: {\n save: () => refreshData(),\n },\n },\n app,\n );\n}\n\nfunction confirmDelete(id: number, name: string): void {\n dialogService.confirmWithPromise({\n title: i18n.t('dialog.confirm_delete_title').toString(),\n message: i18n\n .t('confirmation.message', {\n action: i18n.t('action.delete').toString().toLowerCase(),\n entity: i18n.t('material_group.name').toString().toLowerCase(),\n name,\n })\n .toString(),\n confirmText: i18n.t('dialog.confirm_delete').toString(),\n cancelText: i18n.t(`dialog.confirm_cancel`).toString(),\n type: 'is-danger',\n onConfirm: async () => await deleteMaterialGroup(id),\n });\n}\n\nfunction createMaterialGroup() {\n modalService.compositionApi.open(\n {\n component: MaterialGroupCreationModal,\n props: {\n customer: props.customer,\n },\n events: {\n save: async () => getMaterialGroups(),\n },\n },\n app,\n );\n}\n\nasync function deleteMaterialGroup(id: number) {\n await materialGroupsService.delete(id).then(async () => {\n materialGroups.value = materialGroups.value.filter((x) => x.id !== id);\n await getMaterials();\n });\n}\n\nasync function getMaterialGroups() {\n isLoadingMaterialGroups.value = true;\n materialGroups.value = await materialGroupsService\n .get(props.customer.id)\n .finally(() => (isLoadingMaterialGroups.value = false));\n}\n\nasync function getMaterials() {\n isLoadingMaterials.value = true;\n materials.value = await materialsService\n .get(props.customer.id)\n .finally(() => (isLoadingMaterials.value = false));\n}\n\nfunction manageMaterialGroup(materialGroupId: number) {\n modalService.compositionApi.open(\n {\n component: MaterialGroupModal,\n props: {\n customer: props.customer,\n materialGroupId,\n materialGroups: materialGroups.value,\n },\n events: {\n close: async () => await getMaterials(),\n },\n },\n app,\n );\n}\n\nconst unassignedMaterials = computed((): Material[] => {\n const unassignedGroupsIds = materialGroups.value.filter((g) => g.isUnknown).map((g) => g.id);\n return materials.value.filter((m) => unassignedGroupsIds.includes(m.materialGroupId));\n});\n\nconst knownMaterialGroups = computed((): MaterialGroup[] => {\n return materialGroups.value.filter((group) => !group.isUnknown);\n});\n\nreturn { __sfc: true,props, i18n, materialGroups, materials, isLoadingMaterials, isLoadingMaterialGroups, app, refreshData, startAssignMaterialToGroup, confirmDelete, createMaterialGroup, deleteMaterialGroup, getMaterialGroups, getMaterials, manageMaterialGroup, unassignedMaterials, knownMaterialGroups, TableActionButton, TableWithActions }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerMaterialGroups.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerMaterialGroups.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerMaterialGroups.vue?vue&type=template&id=bdae11ca\"\nimport script from \"./CustomerMaterialGroups.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerMaterialGroups.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"customer-target\"},[(_setup.hasWCC)?_c(_setup.Targets,{attrs:{\"console\":_setup.ConsoleEnum.WCC,\"tenant\":_vm.customer,\"data-testid\":\"wcc-target\"}}):_vm._e(),(_setup.hasBC)?_c(_setup.Targets,{staticClass:\"target\",attrs:{\"console\":_setup.ConsoleEnum.BC,\"tenant\":_vm.customer,\"data-testid\":\"bc-target\"}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"targets\"},[_c('b-field',{attrs:{\"label\":_setup.consoleName}}),_c('b-field',{staticClass:\"actions\"},[_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"plus\"},on:{\"click\":function($event){return _setup.createNewTarget()}}},[_vm._v(\" \"+_vm._s(_vm.$t('target.title_new'))+\" \")])],1),_c(_setup.TableWithActions,{attrs:{\"data\":_setup.userTargets,\"defaultSort\":\"id\",\"loading\":_setup.isLoading},scopedSlots:_vm._u([{key:\"actions\",fn:function({ row: userTarget }){return [_c(_setup.TableActionButton,{attrs:{\"icon\":\"pencil\"},on:{\"click\":function($event){return _setup.editTarget(userTarget)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.edit'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"icon\":\"trash-can-outline\"},on:{\"click\":function($event){return _setup.confirmDelete(userTarget)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.delete'))+\" \")])]}}])},[_c('b-table-column',{attrs:{\"field\":\"targetMetric\",\"label\":_vm.$t('target.spName_title'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: userTarget }){return [_vm._v(\" \"+_vm._s(_setup.translateMetric(userTarget.targetMetric))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"target1\",\"label\":_vm.$t('target.value_title'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: userTarget }){return [_vm._v(\" \"+_vm._s(userTarget.target2 !== null ? userTarget.target1 + ' & ' + userTarget.target2 : userTarget.target1)+\" \")]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"target-form-modal\",on:{\"submit\":function($event){$event.preventDefault();return _setup.onSubmit.apply(null, arguments)}}},[_c('div',{staticClass:\"modal-card\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\" \"+_vm._s(_setup.modalTitle)+\" \")])]),_c('section',{staticClass:\"modal-card-body\"},[_c('b-field',[_c(_setup.TargetsMetricSelect,{attrs:{\"console\":_setup.props.console,\"validationRules\":_setup.validations.targetMetric,\"disabled\":_setup.isEdit},model:{value:(_setup.editedUserTarget.targetMetric),callback:function ($$v) {_vm.$set(_setup.editedUserTarget, \"targetMetric\", $$v)},expression:\"editedUserTarget.targetMetric\"}})],1),_c('b-field',{staticClass:\"required\",attrs:{\"label\":_setup.hasMultipleTargetValues\n ? _vm.$t('target.target_value.starve')\n : _vm.$t('target.target_value.label'),\"type\":{ 'is-danger': _setup.v$.target1.$error },\"message\":_setup.getErrorMessage('target1')}},[_c('b-input',{attrs:{\"name\":\"target-value\",\"type\":\"number\"},on:{\"blur\":_setup.v$.target1.$touch},model:{value:(_setup.editedUserTarget.target1),callback:function ($$v) {_vm.$set(_setup.editedUserTarget, \"target1\", $$v)},expression:\"editedUserTarget.target1\"}})],1),(_setup.hasMultipleTargetValues)?_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t('target.target_value.block'),\"type\":{ 'is-danger': _setup.v$.target2.$error },\"message\":_setup.getErrorMessage('target2')}},[_c('b-input',{attrs:{\"name\":\"target-value-2\",\"type\":\"number\"},on:{\"blur\":_setup.v$.target2.$touch},model:{value:(_setup.editedUserTarget.target2),callback:function ($$v) {_vm.$set(_setup.editedUserTarget, \"target2\", $$v)},expression:\"editedUserTarget.target2\"}})],1):_vm._e()],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":function($event){return _setup.emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),_c('b-button',{attrs:{\"type\":\"is-success\",\"native-type\":\"submit\",\"loading\":_setup.isSubmitting,\"disabled\":_setup.v$.$invalid,\"data-testid\":\"submit-button\"}},[_vm._v(\" \"+_vm._s(_setup.actionTitle)+\" \")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-field',{class:[{ required: _setup.required }, 'targets-metric-select'],attrs:{\"label\":_vm.$t('inputs.targets_chart_select.label'),\"label-for\":`targets-metric-select-${_setup.componentId}`,\"type\":{ 'is-danger': _setup.v$.targetMetric.$error },\"message\":_setup.validationMessage}},[_c('b-select',{attrs:{\"name\":\"targets-metric\",\"expanded\":\"\",\"id\":`targets-metric-select-${_setup.componentId}`,\"value\":_setup.state.targetMetric === _setup.TargetsMetric.None ? undefined : _setup.state.targetMetric,\"placeholder\":_vm.$t('inputs.targets_chart_select.placeholder'),\"validation-message\":_vm.$t('inputs.targets_chart_select.required_validation'),\"required\":_setup.required,\"disabled\":_vm.disabled},on:{\"input\":function($event){_setup.state.targetMetric = $event},\"blur\":_setup.v$.targetMetric.$touch}},_vm._l((_setup.targetsMetric),function(target){return _c('option',{key:target,domProps:{\"value\":target}},[_vm._v(\" \"+_vm._s(_vm.$t(`target.targetMetric.${target}`))+\" \")])}),0)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { Target } from '@/models/target';\nimport { TargetsMetric } from '@/models/enums/TargetsMetric';\nimport { userTargetsService } from '@/services/userTargets.service';\nimport { uniqueId } from '@/utils/misc';\nimport { computed, reactive, watch } from 'vue';\nimport { ValidationRules } from '@/utils/validation';\nimport useVuelidate from '@vuelidate/core';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'TargetsMetricSelect',\n props: {\n console: null,\n value: null,\n disabled: { type: Boolean, default: false },\n validationRules: { default: () => ({}) }\n },\n emits: [\"input\"],\n setup(__props: any, { emit }: { emit: ((e: 'input', value: TargetsMetric) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as { console: ConsoleEnum, value: TargetsMetric, disabled: boolean, validationRules: ValidationRules };\n\n\n\n\n\nconst componentId = uniqueId();\n\nconst state = reactive({\n targetMetric: props.value,\n});\nconst validations = {\n targetMetric: props.validationRules,\n};\nconst v$ = useVuelidate(validations, state);\n\nconst targetsMetric = computed((): TargetsMetric[] =>\n userTargetsService.store\n .getAllTargets()\n .filter((t: Target) => t.consoleId === props.console)\n .map((t: Target) => t.targetMetric),\n);\n\nconst required = computed(() => 'required' in props.validationRules);\n\nconst validationMessage = computed(() => v$.value.targetMetric.$errors[0]?.$message);\n\nwatch(\n () => state.targetMetric,\n () => {\n emit('input', state.targetMetric);\n },\n);\n\nreturn { __sfc: true,props, emit, componentId, state, validations, v$, targetsMetric, required, validationMessage, TargetsMetric }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetsMetricSelect.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetsMetricSelect.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./TargetsMetricSelect.vue?vue&type=template&id=fd88034e\"\nimport script from \"./TargetsMetricSelect.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TargetsMetricSelect.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport TargetsMetricSelect from '../inputs/TargetsMetricSelect.vue';\nimport { useI18n } from '@/composables/i18n';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { TargetsMetric } from '@/models/enums/TargetsMetric';\nimport { Customer } from '@/models/tenant';\nimport { CreateUserTarget, UserTarget } from '@/models/userTarget';\nimport { userTargetsService } from '@/services/userTargets.service';\nimport { isNil } from '@/utils/misc';\nimport {\n minValue,\n numeric,\n required,\n requiredIf,\n sameAs,\n withLocalizedValidators,\n} from '@/utils/validation';\nimport useVuelidate from '@vuelidate/core';\nimport { helpers, not } from '@vuelidate/validators';\nimport { computed, reactive, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'TargetFormModal',\n props: {\n console: null,\n customer: null,\n userTarget: null\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n console: ConsoleEnum;\n customer: Customer;\n userTarget?: UserTarget;\n};\n\n\n\n\n\nconst i18n = useI18n();\n\nconst editedUserTarget = reactive({\n tenantId: props.customer.id,\n targetMetric: props.userTarget?.targetMetric ?? TargetsMetric.None,\n target1: props.userTarget?.target1 ?? null,\n target2: props.userTarget?.target2 ?? null,\n});\nconst isSubmitting = ref(false);\n\nconst MAX_VALUE_OEE = 100;\n\nconst validations = {\n targetMetric: withLocalizedValidators('inputs.targets_chart_select.label', {\n required,\n notNone: helpers.withMessage(\n () => i18n.t('form.select_validation').toString(),\n not(sameAs(TargetsMetric.None)),\n ),\n }),\n target1: withLocalizedValidators('target.target_value.label', {\n required,\n numeric,\n minValue: minValue(0),\n maxValue: helpers.withMessage(\n (props) =>\n i18n\n .t('validation.maxValue', {\n fieldName: props.$params.fieldName,\n maxValue: MAX_VALUE_OEE,\n })\n .toString(),\n (value: number) =>\n ![TargetsMetric.LaserOee, TargetsMetric.TubeOee].includes(editedUserTarget.targetMetric) ||\n value <= MAX_VALUE_OEE,\n ),\n }),\n target2: withLocalizedValidators('target.target_value.label', {\n required: requiredIf(() => hasMultipleTargetValues.value),\n numeric,\n minValue: minValue(0),\n }),\n};\nconst v$ = useVuelidate(validations, editedUserTarget);\n\nasync function onSubmit() {\n isSubmitting.value = true;\n try {\n if (isEdit.value) {\n await userTargetsService.update(props.userTarget!.id!, editedUserTarget);\n } else {\n await userTargetsService.create(editedUserTarget);\n }\n emit('save');\n emit('close');\n } finally {\n isSubmitting.value = false;\n }\n}\n\nfunction getErrorMessage(key: keyof typeof editedUserTarget): string | undefined {\n return v$.value[key].$errors?.[0]?.$message;\n}\n\nconst numberOfTargetValues = computed((): number =>\n userTargetsService.store.getMetricNumberOfTargetValues(editedUserTarget.targetMetric),\n);\n\nconst hasMultipleTargetValues = computed(() => numberOfTargetValues.value > 1);\n\nconst isEdit = computed(() => !isNil(props.userTarget));\n\nconst modalTitle = computed(() => {\n if (isEdit.value) {\n return i18n.t('action.edit').toString();\n } else {\n return i18n.t('action.create').toString();\n }\n});\n\nconst actionTitle = computed(() => {\n if (isEdit.value) {\n return i18n.t('action.save').toString();\n } else {\n return i18n.t('action.create').toString();\n }\n});\n\nreturn { __sfc: true,props, emit, i18n, editedUserTarget, isSubmitting, MAX_VALUE_OEE, validations, v$, onSubmit, getErrorMessage, numberOfTargetValues, hasMultipleTargetValues, isEdit, modalTitle, actionTitle, TargetsMetricSelect }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetFormModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TargetFormModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./TargetFormModal.vue?vue&type=template&id=600588c2\"\nimport script from \"./TargetFormModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TargetFormModal.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { userTargetsService } from '@/services/userTargets.service';\nimport { Customer } from '@/models/tenant';\nimport { UserTarget } from '@/models/userTarget';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { TargetsMetric } from '@/models/enums/TargetsMetric';\nimport { isNil } from '@/utils/misc';\nimport TableActionButton from '@/components/tableWithActions/TableActionButton.vue';\nimport TableWithActions from '@/components/tableWithActions/TableWithActions.vue';\nimport { dialogService } from '@/library-services/dialog.service';\nimport { computed, getCurrentInstance, onMounted, ref } from 'vue';\nimport { useI18n } from '@/composables/i18n';\nimport { modalService } from '@/library-services/modal.service';\nimport TargetFormModal from './TargetFormModal.vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Targets',\n props: {\n console: null,\n tenant: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n console: ConsoleEnum;\n tenant: Customer;\n};\n\n\n\nconst i18n = useI18n();\nconst app = getCurrentInstance();\n\nconst userTargets = ref([]);\nconst showCreateOption = ref(true);\nconst isLoading = ref(false);\n\nonMounted(async () => {\n await getTargets();\n});\n\nasync function getTargets() {\n isLoading.value = true;\n try {\n await userTargetsService.getForTenant(props.tenant.id);\n userTargets.value = userTargetsService.store.getConsoleUserTargets(props.console);\n } finally {\n isLoading.value = false;\n }\n}\n\nfunction createNewTarget() {\n modalService.compositionApi.open(\n {\n component: TargetFormModal,\n props: {\n console: props.console,\n customer: props.tenant,\n },\n events: {\n save: () => getTargets(),\n },\n },\n app,\n );\n}\n\nfunction confirmDelete(target: UserTarget): void {\n const translatedTargetMetric = i18n.t(`target.targetMetric.${target.targetMetric}`);\n const message = !isNil(target.target2)\n ? translatedTargetMetric + ' (' + target.target1 + ', ' + target.target2 + ')'\n : translatedTargetMetric + ' (' + target.target1 + ')';\n\n dialogService.confirmWithPromise({\n title: i18n.t('dialog.confirm_title').toString(),\n message: i18n.t('action.delete').toString() + ` ${message} ?`,\n confirmText: i18n.t('dialog.confirm_delete').toString(),\n cancelText: i18n.t(`dialog.confirm_cancel`).toString(),\n type: 'is-danger',\n onConfirm: async () => await deleteTarget(target.id!),\n });\n}\n\nasync function deleteTarget(userTargetId: number) {\n await userTargetsService.delete(userTargetId).then(() => {\n userTargets.value = userTargets.value.filter((userTarget) => userTarget.id !== userTargetId);\n });\n}\n\nasync function editTarget(userTarget: UserTarget) {\n modalService.compositionApi.open(\n {\n component: TargetFormModal,\n props: {\n console: props.console,\n customer: props.tenant,\n userTarget,\n },\n events: {\n save: () => getTargets(),\n },\n },\n app,\n );\n}\n\nfunction translateMetric(targetMetric: TargetsMetric) {\n return i18n.t(`target.targetMetric.${targetMetric}`);\n}\n\nconst consoleName = computed(() => i18n.t(`category_menu.${ConsoleEnum[props.console]}`));\n\nreturn { __sfc: true,props, i18n, app, userTargets, showCreateOption, isLoading, getTargets, createNewTarget, confirmDelete, deleteTarget, editTarget, translateMetric, consoleName, TableActionButton, TableWithActions }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Targets.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Targets.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./Targets.vue?vue&type=template&id=45b3600a&scoped=true\"\nimport script from \"./Targets.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Targets.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./Targets.vue?vue&type=style&index=0&id=45b3600a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"45b3600a\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport Targets from '@/components/targets/Targets.vue';\nimport { Customer } from '@/models/tenant';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { usersService } from '@/services/users.service';\nimport { computed } from 'vue';\nimport { currentUser } from '@/utils/permissionUtils';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerTarget',\n props: {\n customer: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n customer: Customer;\n};\n\n\n\nconst hasWCC = computed(\n (): boolean =>\n props.customer.hasDatahub &&\n (usersService.store.current().isGlobalAdmin ||\n currentUser().consoles.includes(ConsoleEnum.WCC)),\n);\n\nconst hasBC = computed(\n (): boolean =>\n props.customer.hasSmbs &&\n (usersService.store.current().isGlobalAdmin || currentUser().consoles.includes(ConsoleEnum.BC)),\n);\n\nreturn { __sfc: true,props, hasWCC, hasBC, Targets, ConsoleEnum }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerTarget.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerTarget.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerTarget.vue?vue&type=template&id=50c8da4e&scoped=true\"\nimport script from \"./CustomerTarget.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerTarget.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./CustomerTarget.vue?vue&type=style&index=0&id=50c8da4e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"50c8da4e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"customer-locations\"},[_c('b-field',{attrs:{\"grouped\":\"\"}},[(_setup.canManageLocations)?_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"plus\",\"data-testid\":\"create-location-button\"},on:{\"click\":function($event){return _setup.createLocation()}}},[_vm._v(\" \"+_vm._s(_vm.$t('location.title_new'))+\" \")]):_vm._e(),(_setup.canDownloadDataPlatform())?_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"cloud-download-outline\",\"loading\":_setup.isPreparingDataPlatformDownload,\"data-testid\":\"download-data-platform-button\"},on:{\"click\":function($event){return _setup.downloadDataPlatform()}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.download_dataplatform'))+\" \")]):_vm._e()],1),_c(_setup.TableWithActions,{attrs:{\"data\":_setup.locations,\"defaultSort\":\"id\",\"titleField\":\"name\",\"loading\":_setup.isLoading},scopedSlots:_vm._u([{key:\"actions\",fn:function({ row }){return [_c(_setup.TableActionButton,{attrs:{\"icon\":_setup.canManageLocations ? 'pencil' : 'eye-outline',\"data-testid\":\"view-edit-location-action\"},on:{\"click\":function($event){return _setup.startEdit(row)}}},[_vm._v(\" \"+_vm._s(_setup.canManageLocations ? _vm.$t('action.edit') : _vm.$t('action.view'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"hidden\":!_setup.canManageLocations,\"icon\":\"trash-can-outline\",\"data-testid\":\"delete-location-action\"},on:{\"click\":function($event){return _setup.confirmDelete(row)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.delete'))+\" \")]),_c(_setup.TableActionButton,{attrs:{\"hidden\":!_setup.canManageLocations,\"icon\":\"key-wireless\",\"data-testid\":\"get-connection-string-action\"},on:{\"click\":function($event){return _setup.openConnectionStringDialog(row)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.get_connection_string'))+\" \")])]}}])},[_c('b-table-column',{attrs:{\"field\":\"address\",\"label\":_vm.$t('location.address'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: location }){return [_vm._v(\" \"+_vm._s(location.address)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"zipCode\",\"label\":_vm.$t('location.zipCode'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: location }){return [_vm._v(\" \"+_vm._s(location.zipCode)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"country\",\"label\":_vm.$t('location.country'),\"sortable\":\"\",\"searchable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ row: location }){return [_vm._v(\" \"+_vm._s(location.country)+\" \")]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.GenericKeyCopyModal,{attrs:{\"title\":\"DataPlatform\",\"loading\":_setup.loading,\"value\":_setup.connectionString},on:{\"close\":function($event){return _setup.emit('close')}}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { Location } from '@/models/location';\nimport GenericKeyCopyModal from '@/components/GenericKeyCopyModal.vue';\nimport { locationsService } from '@/services/locations.service';\nimport { onMounted, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ConnectionStringModal',\n props: {\n location: null\n },\n emits: ['close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n location: Location;\n};\n\n\n\n\n\nconst loading = ref(false);\nconst connectionString = ref('');\n\nonMounted(async () => {\n loading.value = true;\n try {\n const apiKey = await locationsService.getApiKey(props.location.id);\n connectionString.value = [\n `Endpoint=${window.location.host}`,\n `LocationId=${props.location.id}`,\n `ApiKey=${apiKey}`,\n ].join(';');\n } catch (e) {\n emit('close');\n } finally {\n loading.value = false;\n }\n});\n\nreturn { __sfc: true,props, emit, loading, connectionString, GenericKeyCopyModal }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionStringModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionStringModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./ConnectionStringModal.vue?vue&type=template&id=59b521d6\"\nimport script from \"./ConnectionStringModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ConnectionStringModal.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { BaseUrl } from '@/models/constants';\nimport {\n DataPlatformActionsDetailsTableData,\n DataPlatformCreateAction,\n DataPlatformDetailedTableData,\n DataPlatformTableEntry,\n} from '@/models/dataPlatform';\nimport axios, { AxiosResponse } from 'axios';\nimport { responseHandler } from './response.handler';\n\nclass DataPlatformService {\n async getInstallerUrl(): Promise {\n const response = await axios.get(`${BaseUrl}/dataplatform/installerUrl`);\n return response.data;\n }\n\n private getFileName(response: AxiosResponse): string {\n const disposition = response.headers?.['content-disposition'];\n const matches = /filename=(BystronicDataPlatform-(\\d+\\.\\d+\\.\\d+)\\.exe)/.exec(disposition);\n return matches?.[1] ?? 'BystronicDataPlatform.exe';\n }\n\n async get(): Promise {\n return axios.get(`${BaseUrl}/dataplatform`).then((response) => {\n responseHandler.handleDates(response.data);\n return response.data;\n });\n }\n\n async getDetail(dataPlatformId: number): Promise {\n return axios\n .get(`${BaseUrl}/dataplatform/${dataPlatformId}/details`)\n .then((response) => response.data);\n }\n\n async getActionsDetails(dataPlatformId: number): Promise {\n return axios\n .get(\n `${BaseUrl}/dataplatform/${dataPlatformId}/actions`,\n )\n .then((response) => response.data);\n }\n\n async createAction(dataplatformCreateAction: DataPlatformCreateAction) {\n return axios\n .post(`${BaseUrl}/dataplatform/actions`, dataplatformCreateAction)\n .then((response: any) => {\n return response.data;\n });\n }\n\n async delete(id: number): Promise {\n return await axios.delete(`${BaseUrl}/dataplatform/${id}`);\n }\n}\n\nexport const dataPlatformService = new DataPlatformService();\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"location-form-modal\",on:{\"submit\":function($event){$event.preventDefault();return _setup.onSubmit.apply(null, arguments)}}},[_c('div',{staticClass:\"modal-card\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[(!_setup.isEdit)?[_vm._v(\" \"+_vm._s(_vm.$t('location.title_create'))+\" \")]:(_setup.canEditLocation)?[_vm._v(\" \"+_vm._s(_vm.$t('location.title_edit'))+\" \")]:[_vm._v(\" \"+_vm._s(_vm.$t('action.view'))+\" \")]],2)]),_c('section',{staticClass:\"modal-card-body\"},[_c('b-field',{staticClass:\"required\",attrs:{\"label\":_vm.$t('form.name'),\"type\":{ 'is-danger': _setup.v$.name.$error },\"message\":_setup.getErrorMessage('name')}},[_c('b-input',{attrs:{\"name\":\"name\",\"required\":\"\",\"maxlength\":\"256\",\"placeholder\":_vm.$t('form.name'),\"validation-message\":_vm.$t('form.input_validation'),\"has-counter\":false,\"disabled\":!_setup.canEditLocation},on:{\"blur\":_setup.v$.name.$touch},model:{value:(_setup.editedLocation.name),callback:function ($$v) {_vm.$set(_setup.editedLocation, \"name\", $$v)},expression:\"editedLocation.name\"}})],1),_c('b-field',{staticClass:\"field-margin-top-10 required\",attrs:{\"label\":_vm.$t('inputs.customers_select.label')}},[_c('b-select',{attrs:{\"name\":\"customer\",\"value\":_vm.customer.id,\"required\":\"\",\"disabled\":\"\",\"expanded\":\"\"}},[_c('option',{domProps:{\"value\":_vm.customer.id}},[_vm._v(\" \"+_vm._s(_vm.customer.name)+\" \")])])],1),_c('b-field',{staticClass:\"field-margin-top-10 required\",attrs:{\"label\":_vm.$t('location.address'),\"type\":{ 'is-danger': _setup.v$.address.$error },\"message\":_setup.getErrorMessage('address')}},[_c('b-input',{attrs:{\"name\":\"address\",\"required\":\"\",\"maxlength\":\"256\",\"placeholder\":_vm.$t('location.address'),\"validation-message\":_vm.$t('form.input_validation'),\"has-counter\":false,\"disabled\":!_setup.canEditLocation},on:{\"blur\":_setup.v$.address.$touch},model:{value:(_setup.editedLocation.address),callback:function ($$v) {_vm.$set(_setup.editedLocation, \"address\", $$v)},expression:\"editedLocation.address\"}})],1),_c('b-field',{staticClass:\"field-margin-top-10 required\",attrs:{\"label\":_vm.$t('location.zipCode'),\"type\":{ 'is-danger': _setup.v$.zipCode.$error },\"message\":_setup.getErrorMessage('zipCode')}},[_c('b-input',{attrs:{\"name\":\"zipCode\",\"required\":\"\",\"maxlength\":\"256\",\"placeholder\":_vm.$t('location.zipCode'),\"validation-message\":_vm.$t('form.input_validation'),\"has-counter\":false,\"disabled\":!_setup.canEditLocation},on:{\"blur\":_setup.v$.zipCode.$touch},model:{value:(_setup.editedLocation.zipCode),callback:function ($$v) {_vm.$set(_setup.editedLocation, \"zipCode\", $$v)},expression:\"editedLocation.zipCode\"}})],1),_c('b-field',{staticClass:\"field-margin-top-10 required\",attrs:{\"label\":_vm.$t('location.country'),\"type\":{ 'is-danger': _setup.v$.country.$error },\"message\":_setup.getErrorMessage('country')}},[_c('b-input',{attrs:{\"name\":\"country\",\"required\":\"\",\"maxlength\":\"256\",\"placeholder\":_vm.$t('location.country'),\"validation-message\":_vm.$t('form.input_validation'),\"has-counter\":false,\"disabled\":!_setup.canEditLocation},on:{\"blur\":_setup.v$.country.$touch},model:{value:(_setup.editedLocation.country),callback:function ($$v) {_vm.$set(_setup.editedLocation, \"country\", $$v)},expression:\"editedLocation.country\"}})],1)],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('b-button',{attrs:{\"disabled\":_setup.isSubmitting},on:{\"click\":function($event){return _setup.emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),(!_setup.isEdit || _setup.canEditLocation)?_c('b-button',{attrs:{\"type\":\"is-success\",\"native-type\":\"submit\",\"loading\":_setup.isSubmitting,\"disabled\":_setup.v$.$invalid,\"data-testid\":\"submit-button\"}},[(_setup.isEdit)?[_vm._v(\" \"+_vm._s(_vm.$t('action.save'))+\" \")]:[_vm._v(\" \"+_vm._s(_vm.$t('action.create'))+\" \")]],2):_vm._e()],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\r\n\r\nexport class Location {\r\n static GetEmpty(): Location {\r\n return new Location(0, '', 0, '', '', '', false);\r\n }\r\n\r\n static GetCopy(original: Location): Location {\r\n return new Location(\r\n original.id,\r\n original.name,\r\n original.tenantId,\r\n original.address,\r\n original.zipCode,\r\n original.country,\r\n original.hasApiKey,\r\n );\r\n }\r\n\r\n constructor(\r\n public id: number,\r\n public name: string,\r\n public tenantId: number,\r\n public address: string,\r\n public zipCode: string,\r\n public country: string,\r\n public hasApiKey: boolean,\r\n ) {}\r\n}\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { Location } from '@/models/location';\nimport { Customer } from '@/models/tenant';\nimport { UserType } from '@/models/userType';\nimport { locationsService } from '@/services/locations.service';\nimport { isNil } from '@/utils/misc';\nimport { hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport { required, withLocalizedValidators } from '@/utils/validation';\nimport useVuelidate from '@vuelidate/core';\nimport { computed, onMounted, reactive, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LocationFormModal',\n props: {\n location: null,\n customer: null\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n location?: Location;\n customer: Customer;\n};\n\n\n\n\n\nconst editedLocation = reactive(Location.GetCopy(props.location ?? Location.GetEmpty()));\nconst isSubmitting = ref(false);\n\nconst validations = {\n name: withLocalizedValidators('form.name', {\n required,\n }),\n address: withLocalizedValidators('location.address', {\n required,\n }),\n zipCode: withLocalizedValidators('location.zipCode', {\n required,\n }),\n country: withLocalizedValidators('location.country', {\n required,\n }),\n};\nconst v$ = useVuelidate(validations, editedLocation);\n\nonMounted(() => {\n if (!isEdit.value) {\n editedLocation.tenantId = props.customer.id;\n }\n});\n\nasync function onSubmit() {\n isSubmitting.value = true;\n try {\n if (isEdit.value) {\n await locationsService.update(editedLocation);\n } else {\n await locationsService.create(editedLocation);\n }\n emit('save');\n emit('close');\n } finally {\n isSubmitting.value = false;\n }\n}\n\nfunction getErrorMessage(key: keyof typeof editedLocation): string | undefined {\n return v$.value[key].$errors?.[0]?.$message;\n}\n\nconst canEditLocation = computed((): boolean => hasCurrentUserPermission(UserType.SubsidiaryAdmin));\n\nconst isEdit = computed(() => !isNil(props.location));\n\nreturn { __sfc: true,props, emit, editedLocation, isSubmitting, validations, v$, onSubmit, getErrorMessage, canEditLocation, isEdit }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationFormModal.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationFormModal.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./LocationFormModal.vue?vue&type=template&id=4f8277bc\"\nimport script from \"./LocationFormModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LocationFormModal.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { UserType } from '@/models/userType';\nimport { Location } from '@/models/location';\nimport { locationsService } from '@/services/locations.service';\nimport { Customer } from '@/models/tenant';\nimport TableActionButton from '@/components/tableWithActions/TableActionButton.vue';\nimport ConnectionStringModal from '@/components/locations/ConnectionStringModal.vue';\nimport TableWithActions from '@/components/tableWithActions/TableWithActions.vue';\nimport { canDownloadDataPlatform, hasCurrentUserPermission } from '@/utils/permissionUtils';\nimport { dataPlatformService } from '@/services/dataplatform.service';\nimport { downloadUrl } from '@/utils/misc';\nimport { modalService } from '@/library-services/modal.service';\nimport { dialogService } from '@/library-services/dialog.service';\nimport { computed, getCurrentInstance, onBeforeMount, ref } from 'vue';\nimport { DialogProgrammatic } from 'buefy';\nimport { useI18n } from '@/composables/i18n';\nimport LocationFormModal from '@/components/locations/LocationFormModal.vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerLocations',\n props: {\n customer: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n customer: Customer;\n};\n\n\n\nconst i18n = useI18n();\n\nconst locations = ref([]);\nconst isPreparingDataPlatformDownload = ref(false);\nconst isLoading = ref(false);\nconst app = getCurrentInstance();\n\nonBeforeMount(async () => {\n await fetchLocations();\n});\n\nasync function fetchLocations() {\n isLoading.value = true;\n locations.value = await locationsService\n .get(props.customer.id)\n .finally(() => (isLoading.value = false));\n}\n\nfunction createLocation() {\n modalService.compositionApi.open(\n {\n component: LocationFormModal,\n props: {\n customer: props.customer,\n },\n events: {\n save: async () => await fetchLocations(),\n },\n },\n app,\n );\n}\n\nasync function downloadDataPlatform() {\n isPreparingDataPlatformDownload.value = true;\n const url = await dataPlatformService\n .getInstallerUrl()\n .finally(() => (isPreparingDataPlatformDownload.value = false));\n downloadUrl(url);\n}\n\nfunction startEdit(location: Location) {\n modalService.compositionApi.open(\n {\n component: LocationFormModal,\n props: {\n location,\n customer: props.customer,\n },\n events: {\n save: async () => await fetchLocations(),\n },\n },\n app,\n );\n}\n\nfunction confirmDelete(location: Location) {\n dialogService.confirmWithPromise({\n title: i18n.t('dialog.confirm_delete_title').toString(),\n message: location.hasApiKey\n ? i18n.t('location.dialog.delete_connection_string', { name: location.name }).toString()\n : i18n\n .t('confirmation.message', {\n action: i18n.t('action.delete').toString().toLowerCase(),\n entity: i18n.t('location.name').toString().toLowerCase(),\n name: location.name,\n })\n .toString(),\n confirmText: i18n.t('dialog.confirm_delete').toString(),\n cancelText: i18n.t('dialog.confirm_cancel').toString(),\n type: 'is-danger',\n onConfirm: async () => await deleteLocation(location.id),\n });\n}\n\nasync function deleteLocation(id: number) {\n await locationsService\n .delete(id)\n .then(() => (locations.value = locations.value.filter((x) => x.id !== id)));\n}\n\nfunction openConnectionStringDialog(location: Location) {\n DialogProgrammatic.confirm({\n message: i18n.t('location.dialog.confirm_connection_string').toString(),\n onConfirm: () => {\n modalService.compositionApi.open(\n {\n component: ConnectionStringModal,\n canCancel: ['outside'],\n props: {\n location,\n },\n },\n app,\n );\n },\n });\n}\n\nconst canManageLocations = computed((): boolean =>\n hasCurrentUserPermission(UserType.SubsidiaryAdmin),\n);\n\nreturn { __sfc: true,props, i18n, locations, isPreparingDataPlatformDownload, isLoading, app, fetchLocations, createLocation, downloadDataPlatform, startEdit, confirmDelete, deleteLocation, openConnectionStringDialog, canManageLocations, TableActionButton, TableWithActions, canDownloadDataPlatform }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerLocations.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerLocations.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerLocations.vue?vue&type=template&id=33a37ff0\"\nimport script from \"./CustomerLocations.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerLocations.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"customer-email-report\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-content\"},[_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-switch',{attrs:{\"rounded\":\"\",\"data-testid\":\"daily-report\"},model:{value:(_setup.hasDailyReport),callback:function ($$v) {_setup.hasDailyReport=$$v},expression:\"hasDailyReport\"}},[_vm._v(\" \"+_vm._s(_vm.$t('email_report.daily'))+\" \")])],1),_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-switch',{attrs:{\"rounded\":\"\",\"data-testid\":\"weekly-report\"},model:{value:(_setup.hasWeeklyReport),callback:function ($$v) {_setup.hasWeeklyReport=$$v},expression:\"hasWeeklyReport\"}},[_vm._v(\" \"+_vm._s(_vm.$t('email_report.weekly'))+\" \")])],1),_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-switch',{attrs:{\"rounded\":\"\",\"data-testid\":\"monthly-report\"},model:{value:(_setup.hasMonthlyReport),callback:function ($$v) {_setup.hasMonthlyReport=$$v},expression:\"hasMonthlyReport\"}},[_vm._v(\" \"+_vm._s(_vm.$t('email_report.monthly'))+\" \")])],1),_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-switch',{attrs:{\"rounded\":\"\",\"data-testid\":\"quarterly-report\"},model:{value:(_setup.hasQuarterlyReport),callback:function ($$v) {_setup.hasQuarterlyReport=$$v},expression:\"hasQuarterlyReport\"}},[_vm._v(\" \"+_vm._s(_vm.$t('email_report.quarterly'))+\" \")])],1),_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-switch',{attrs:{\"rounded\":\"\",\"data-testid\":\"annual-report\"},model:{value:(_setup.hasAnnualReport),callback:function ($$v) {_setup.hasAnnualReport=$$v},expression:\"hasAnnualReport\"}},[_vm._v(\" \"+_vm._s(_vm.$t('email_report.annual'))+\" \")])],1),_c(_setup.EmailsTagInput,{ref:\"emailsTagInput\",attrs:{\"customerId\":_vm.customer.id,\"value\":_setup.originalEmails,\"disabled\":_setup.noReportActivated,\"filterUsers\":_setup.filterUsersWithoutWCC},on:{\"input\":_setup.onEmailInput}}),_c('div',{staticClass:\"buttons\"},[_c('b-button',{attrs:{\"type\":\"is-danger\",\"disabled\":!_setup.changesOccurred,\"data-testid\":\"undo-button\"},on:{\"click\":_setup.undo}},[_vm._v(\" \"+_vm._s(_vm.$t('action.undo'))+\" \")]),_c('b-button',{attrs:{\"type\":\"is-primary\",\"disabled\":!_setup.changesOccurred || !_setup.formIsValid,\"data-testid\":\"save-button\"},on:{\"click\":_setup.save}},[_vm._v(\" \"+_vm._s(_vm.$t('action.save'))+\" \")])],1)],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nexport class CustomerReport {\n constructor(\n public id: number,\n public hasDailyReport: boolean,\n public hasWeeklyReport: boolean,\n public hasMonthlyReport: boolean,\n public hasQuarterlyReport: boolean,\n public hasAnnualReport: boolean,\n public reportUserEmails?: string[],\n ) {}\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { Customer } from '@/models/tenant';\nimport EmailsTagInput from '@/components/inputs/EmailsTagInput.vue';\nimport { customersService } from '@/services/tenants.service';\nimport { User } from '@/models/user';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { isEmpty } from '@/utils/misc';\nimport { CustomerReport } from '@/models/customerReport';\nimport { EmailEntry } from '@/models/EmailEntry';\nimport { computed, onMounted, ref } from 'vue';\nimport { LoadingProgrammatic } from 'buefy';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomerEmailReport',\n props: {\n customer: null\n },\n emits: [\"update\"],\n setup(__props: any, { emit }: { emit: ((e: 'update', value: Customer) => void), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as {\n customer: Customer;\n};\n\n\n\n\n\nconst emailsTagInput = ref>();\nconst hasDailyReport = ref(false);\nconst hasWeeklyReport = ref(false);\nconst hasMonthlyReport = ref(false);\nconst hasQuarterlyReport = ref(false);\nconst hasAnnualReport = ref(false);\nconst originalEmails = ref([]);\nconst selectedEmails = ref([]);\n\nonMounted(() => {\n initializeValues();\n const loading = LoadingProgrammatic.open({\n container: emailsTagInput.value?.$el,\n });\n customersService\n .getReportUsers(props.customer.id)\n .then((users) => {\n const emails = users.map((user) => user.email);\n originalEmails.value = [...emails];\n selectedEmails.value = [...emails];\n })\n .finally(() => loading.close());\n});\n\nfunction onEmailInput(emails: EmailEntry[]) {\n selectedEmails.value = [...emails.map((email) => email.email)];\n}\n\nfunction initializeValues() {\n hasDailyReport.value = props.customer.hasDailyReport;\n hasWeeklyReport.value = props.customer.hasWeeklyReport;\n hasMonthlyReport.value = props.customer.hasMonthlyReport;\n hasQuarterlyReport.value = props.customer.hasQuarterlyReport;\n hasAnnualReport.value = props.customer.hasAnnualReport;\n selectedEmails.value = [...originalEmails.value];\n}\n\nfunction undo() {\n initializeValues();\n emailsTagInput.value?.initializeTag();\n}\n\nfunction save() {\n const selectedEmailsToSave = noReportActivated.value ? [] : selectedEmails.value;\n customersService\n .updateReport(\n new CustomerReport(\n props.customer.id,\n hasDailyReport.value,\n hasWeeklyReport.value,\n hasMonthlyReport.value,\n hasQuarterlyReport.value,\n hasAnnualReport.value,\n selectedEmailsToSave,\n ),\n )\n .then(async () => {\n if (noReportActivated.value) {\n selectedEmails.value = [];\n }\n originalEmails.value = [...selectedEmailsToSave];\n props.customer.hasDailyReport = hasDailyReport.value;\n props.customer.hasWeeklyReport = hasWeeklyReport.value;\n props.customer.hasMonthlyReport = hasMonthlyReport.value;\n props.customer.hasQuarterlyReport = hasQuarterlyReport.value;\n props.customer.hasAnnualReport = hasAnnualReport.value;\n await customersService.store.update(props.customer);\n emit('update', props.customer);\n });\n}\n\nfunction filterUsersWithoutWCC(user: User): boolean {\n return user.consoles.includes(ConsoleEnum.WCC) || user.isGlobalAdmin;\n}\n\nconst noReportActivated = computed((): boolean => {\n return !(\n hasDailyReport.value ||\n hasWeeklyReport.value ||\n hasMonthlyReport.value ||\n hasQuarterlyReport.value ||\n hasAnnualReport.value\n );\n});\n\nconst changesOccurred = computed((): boolean => {\n const smallerList =\n selectedEmails.value.length < originalEmails.value.length\n ? selectedEmails.value\n : originalEmails.value;\n const largerList =\n selectedEmails.value.length >= originalEmails.value.length\n ? selectedEmails.value\n : originalEmails.value;\n // Low complexity email cross check\n const emailHash = Object.fromEntries(smallerList.map((e) => [e, 1]));\n let emailsHaveChanged = false;\n for (const e of largerList) {\n if (!(e in emailHash)) {\n emailsHaveChanged = true;\n break;\n }\n }\n return (\n props.customer.hasDailyReport !== hasDailyReport.value ||\n props.customer.hasWeeklyReport !== hasWeeklyReport.value ||\n props.customer.hasMonthlyReport !== hasMonthlyReport.value ||\n props.customer.hasQuarterlyReport !== hasQuarterlyReport.value ||\n props.customer.hasAnnualReport !== hasAnnualReport.value ||\n emailsHaveChanged\n );\n});\n\nconst formIsValid = computed(() => {\n if (noReportActivated.value) {\n return true;\n } else {\n return !isEmpty(selectedEmails.value);\n }\n});\n\nreturn { __sfc: true,props, emit, emailsTagInput, hasDailyReport, hasWeeklyReport, hasMonthlyReport, hasQuarterlyReport, hasAnnualReport, originalEmails, selectedEmails, onEmailInput, initializeValues, undo, save, filterUsersWithoutWCC, noReportActivated, changesOccurred, formIsValid, EmailsTagInput }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerEmailReport.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerEmailReport.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerEmailReport.vue?vue&type=template&id=5c1838a0&scoped=true\"\nimport script from \"./CustomerEmailReport.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerEmailReport.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./CustomerEmailReport.vue?vue&type=style&index=0&id=5c1838a0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c1838a0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerDetail.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerDetail.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./CustomerDetail.vue?vue&type=template&id=8930851c&scoped=true\"\nimport script from \"./CustomerDetail.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomerDetail.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./CustomerDetail.vue?vue&type=style&index=0&id=8930851c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8930851c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"main dashboard-index\"},[(_vm.hasTenant && _vm.loadedInfoUser && _vm.termsAccepted)?_c('dashboards-carousel',{ref:\"dashboard\"}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-carousel',{key:_vm.user.dashboards.length,staticClass:\"dashboards-carousel\",class:{ 'carousel-edit-mode': _vm.isEditorEnabled },attrs:{\"has-drag\":false,\"autoplay\":_vm.autoplay,\"repeat\":_vm.autoplay,\"interval\":_vm.autoplayInterval,\"arrow-hover\":false,\"arrow\":_vm.mode === _vm.Mode.Normal,\"indicator\":_vm.mode === _vm.Mode.Normal,\"indicator-background\":false,\"animated\":\"fade\"},scopedSlots:_vm._u([{key:\"indicators\",fn:function({ i }){return [_c('b-tooltip',{staticClass:\"dashboard-tooltip\",attrs:{\"label\":_vm.user.dashboards[i].name,\"position\":\"is-top\",\"type\":\"is-dark\"}},[_c('a',{class:['indicator-item', { disabled: _vm.isEditorEnabled }],on:{\"!click\":function($event){return _vm.onIndicatorClick.apply(null, arguments)}}},[_c('span',{staticClass:\"indicator-style is-dots\"})])]),_c('a',{class:['indicator-item', 'dashboard-indicator-mobile', { disabled: _vm.isEditorEnabled }],on:{\"!click\":function($event){return _vm.onIndicatorClick.apply(null, arguments)}}},[_c('span',{staticClass:\"indicator-style is-dots\"})])]}}]),model:{value:(_vm.carouselIndex),callback:function ($$v) {_vm.carouselIndex=$$v},expression:\"carouselIndex\"}},_vm._l((_vm.user.dashboards),function(dashboardDefinition,index){return _c('b-carousel-item',{key:index},[_c('div',{staticClass:\"handle-swipe\",on:{\"touchstart\":function($event){return _vm.onTouchStart($event)},\"touchend\":function($event){return _vm.onTouchEnd($event)}}},[_c('custom-dashboard',{ref:\"dashboard\",refInFor:true,attrs:{\"dashboardDefinition\":dashboardDefinition,\"currentView\":_vm.carouselIndex === index,\"dashboardsCount\":_vm.user.dashboards.length,\"mode\":_vm.mode,\"autoplay\":_vm.autoplay},on:{\"autoplay\":_vm.toggleAutoplay,\"edit-autoplay-interval\":function($event){return _vm.editAutoplayInterval()},\"save-dashboard\":function($event){return _vm.saveDashboard(index, $event)},\"delete-dashboard\":function($event){return _vm.deleteDashboard(index)},\"cancel-dashboard\":function($event){return _vm.cancelDashboard(index)},\"mode-update\":function($event){_vm.mode = $event}}}),(_vm.carouselIndex === _vm.user.dashboards.length - 1 && _vm.mode === _vm.Mode.Normal)?_c('b-button',{staticClass:\"add-custom-dashboard-button\",attrs:{\"title\":_vm.$t('action.add_custom_dashboard'),\"size\":\"is-small\",\"icon-left\":\"plus\",\"hovered\":\"\"},on:{\"click\":_vm.addCustomDashboard}}):_vm._e()],1)])}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"custom-dashboard\",class:{ 'edit-mode': _vm.isEditorEnabled }},[_c('div',{staticClass:\"dashboard-header\"},[_c('div',{attrs:{\"id\":\"name-and-autoplay\"}},[(_vm.mode === _vm.Mode.Normal)?_c('div',{staticClass:\"dashboard-name\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.name)+\" \")]),_c('b-button',{attrs:{\"icon-left\":_vm.autoplay ? 'pause' : 'play-box-multiple-outline',\"title\":_vm.$t('action.autoplay')},on:{\"click\":function($event){return _vm.$emit('autoplay', !_vm.autoplay)}}})],1):_c('div',{staticClass:\"dashboard-name\"},[_c('b-field',{nativeOn:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.saveDashboard.apply(null, arguments)}}},[_c('b-input',{attrs:{\"maxlength\":\"80\"},model:{value:(_vm.editName),callback:function ($$v) {_vm.editName=$$v},expression:\"editName\"}})],1)],1)]),(!_vm.autoplay)?_c('div',{staticClass:\"edit-buttons\"},[(_vm.mode === _vm.Mode.Creation)?[_c('layout-dropdown',{staticClass:\"layout-dropdown\",attrs:{\"value\":_vm.dashboardDefinition.layout},on:{\"input\":_vm.onLayoutChanged}}),_c('div',{staticClass:\"vertical-separator\"})]:_vm._e(),(_vm.mode === _vm.Mode.Normal)?_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"pencil\",\"data-testid\":\"edit-button\"},on:{\"click\":_vm.edit}},[_vm._v(\" \"+_vm._s(_vm.$t('action.edit'))+\" \")]):_vm._e(),(_vm.isEditorEnabled)?[_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"play-speed\",\"data-testid\":\"edit-autoplay-interval-button\"},on:{\"click\":function($event){return _vm.$emit('edit-autoplay-interval')}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.edit_autoplay'))+\" \")]),_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"content-save\",\"data-testid\":\"save-button\"},on:{\"click\":_vm.saveDashboard}},[_vm._v(\" \"+_vm._s(_vm.$t('action.save'))+\" \")]),(_vm.notUniqueView)?_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"delete\",\"data-testid\":\"delete-button\"},on:{\"click\":_vm.confirmDeleteDashboard}},[_vm._v(\" \"+_vm._s(_vm.$t('view.delete_view'))+\" \")]):_vm._e(),_c('b-button',{staticClass:\"action-button\",attrs:{\"icon-left\":\"close\",\"data-testid\":\"cancel-button\"},on:{\"click\":_vm.promptCancelEdition}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")])]:_vm._e()],2):_vm._e()]),_c('layout-grid',{key:`${_vm.dashboardDefinition.layout}-${_vm.nWidgets}`,staticClass:\"dashboard-grid\",attrs:{\"layout\":_vm.gridLayout,\"editMode\":_vm.isEditorEnabled},on:{\"delete\":function($event){return _vm.onDeleteWidget($event)},\"add\":function($event){return _vm.onAddWidget($event)},\"edit\":function($event){return _vm.onEditWidget($event)}},scopedSlots:_vm._u([_vm._l((_vm.widgetDefinitions),function(wd,index){return {key:`widget-${wd.index}`,fn:function(){return [_c('div',{key:`widget-container-${index}`,staticClass:\"widget-container-wrapper\"},[(_vm.currentView)?_c('widget-container',{attrs:{\"widgetDefinition\":wd,\"selfManagedFilters\":true,\"threeDotsInnerPosition\":_vm.threeDotsInnerPosition(index),\"widgetHelpPosition\":_vm.widgetHelpPosition(index)},on:{\"change\":function($event){return _vm.onChange($event, index)},\"param-update\":function($event){return _vm.doParamUpdate()}}}):_vm._e()],1)]},proxy:true}})],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"widget-selector\"},[_c('div',{staticClass:\"modal-card-body\"},[_c('div',{staticClass:\"ws-header\"},[_c('div',{staticClass:\"console-selector\"},[_c('b-field',{attrs:{\"id\":\"desktop-console-selector\"}},_vm._l((_vm.userConsoles),function(console,index){return _c('b-radio-button',{key:index,attrs:{\"value\":_vm.selectedConsole,\"native-value\":console},on:{\"input\":_vm.onSelectedConsoleInput}},[_c('span',[_vm._v(_vm._s(_vm.consoleName(console)))])])}),1),_c('b-field',{attrs:{\"id\":\"mobile-console-selector\"}},[_c('b-select',{attrs:{\"value\":_vm.selectedConsole},on:{\"input\":_vm.onSelectedConsoleInput}},_vm._l((_vm.userConsoles),function(console,index){return _c('option',{key:index,domProps:{\"value\":console}},[_c('span',[_vm._v(_vm._s(_vm.consoleName(console)))])])}),0)],1)],1),(_vm.selectedConsole === _vm.ConsoleEnum.WCC)?_c('div',{staticClass:\"device-selector\"},[_c('b-field',[_c('b-select',{attrs:{\"placeholder\":\"Select a device\",\"value\":_vm.selectedDevice},on:{\"input\":_vm.onSelectedDeviceInput}},[_c('option',{attrs:{\"value\":\"F-overview\"}},[_vm._v(\" \"+_vm._s(_vm.$t('widget.factory_overview'))+\" \")]),(_vm.hasLaser)?_c('optgroup',{attrs:{\"label\":_vm.$t('report.laser_label')}},[_c('option',{attrs:{\"value\":\"L-overview\"}},[_vm._v(_vm._s(_vm.$t('device.cut_overview')))]),_vm._l((_vm.laserDevices),function(device){return _c('option',{key:device.deviceId,domProps:{\"value\":device.deviceId}},[_vm._v(\" \"+_vm._s(device.name)+\" \")])})],2):_vm._e(),(_vm.hasBending)?_c('optgroup',{attrs:{\"label\":_vm.$t('report.bending_label')}},[_c('option',{attrs:{\"value\":\"B-overview\"}},[_vm._v(_vm._s(_vm.$t('device.bend_overview')))]),_vm._l((_vm.bendingDevices),function(device){return _c('option',{key:device.deviceId,domProps:{\"value\":device.deviceId}},[_vm._v(\" \"+_vm._s(device.name)+\" \")])})],2):_vm._e(),(_vm.hasTubes)?_c('optgroup',{attrs:{\"label\":_vm.$t('report.tubes_label')}},[_c('option',{attrs:{\"value\":\"T-overview\"}},[_vm._v(_vm._s(_vm.$t('device.tubes_overview')))]),_vm._l((_vm.tubesDevices),function(device){return _c('option',{key:device.deviceId,domProps:{\"value\":device.deviceId}},[_vm._v(\" \"+_vm._s(device.name)+\" \")])})],2):_vm._e()])],1)],1):_vm._e()]),_c('hr'),_c('div',{staticClass:\"ws-widget\"},[_c('div',{staticClass:\"ws-widget-sidebar\"},[_c('b-menu',{attrs:{\"id\":\"ws-widget-sidebar-menu\"}},_vm._l((Object.entries(_vm.widgetDefinitions)),function([label, widgetList]){return _c('b-menu-list',{key:label,attrs:{\"label\":_vm.$t(label)}},_vm._l((widgetList),function(wd,index){return _c('b-menu-item',{key:index,attrs:{\"label\":_vm.$t(`widget.${wd.widget}`),\"active\":_vm.selectedWidgetDefinition === wd},on:{\"click\":function($event){return _vm.onSelectedWidgetClick(wd)}}})}),1)}),1),_c('b-field',{attrs:{\"id\":\"ws-widget-sidebar-select\"}},[_c('b-select',{attrs:{\"value\":_vm.selectedWidgetDefinition},on:{\"input\":_vm.onSelectedWidgetClick}},[_vm._l((Object.entries(_vm.widgetDefinitions)),function([label, widgetList]){return [(label === '')?_vm._l((widgetList),function(wd){return _c('option',{key:wd.widget,domProps:{\"value\":wd}},[_vm._v(\" \"+_vm._s(_vm.$t(`widget.${wd.widget}`))+\" \")])}):_c('optgroup',{key:label,attrs:{\"label\":label}},_vm._l((widgetList),function(wd){return _c('option',{key:wd.widget,domProps:{\"value\":wd}},[_vm._v(\" \"+_vm._s(_vm.$t(`widget.${wd.widget}`))+\" \")])}),0)]})],2)],1)],1),_c('div',{staticClass:\"ws-widget-content\"},[_c('div',{staticClass:\"chart-holder\"},[_c('div',[(!!_vm.selectedWidgetDefinition)?_c('widget-container',{key:_vm.selectedWidgetDefinition.widget,attrs:{\"widgetDefinition\":_vm.selectedWidgetDefinition,\"selfManagedFilters\":false,\"isWidgetSelector\":true,\"autorefresh\":false}}):_vm._e()],1)])])])]),_c('div',{staticClass:\"modal-card-foot\"},[_c('div',{staticClass:\"warning\"},[(_vm.showFactoryOverviewWarning)?[_c('b-icon',{attrs:{\"icon\":\"cancel\",\"type\":\"is-warning\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('widget.factory_overview_size')))])]:(_vm.showGanttChartWarning)?[_c('b-icon',{attrs:{\"icon\":\"cancel\",\"type\":\"is-warning\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('widget.gantt_size')))])]:_vm._e()],2),_c('div',{staticClass:\"button-container\"},[_c('b-button',{attrs:{\"label\":_vm.$t('action.close')},on:{\"click\":function($event){return _vm.$emit('close')}}}),_c('b-button',{attrs:{\"type\":\"is-primary\",\"disabled\":_vm.isAcceptButtonDisabled,\"label\":_vm.$t('action.add'),\"data-testid\":\"add-button\"},on:{\"click\":_vm.onAddWidget}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport WidgetDefinition from '@/models/Charts/widgetDefinition';\nimport { Device } from '@/models/device';\nimport { ConsoleEnum } from '@/models/enums/ConsoleEnum';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { Logger } from '@/utils/logger';\nimport { isEmpty } from '@/utils/misc';\nimport { LocaleMessage } from 'vue-i18n';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport WidgetContainer from './widgetContainer/WidgetContainer.vue';\nimport { devicesService } from '@/services/devices.service';\nimport { usersService } from '@/services/users.service';\nimport { tenantsService } from '@/services/tenants.service';\nimport i18n from '@/i18n';\nimport { LayoutSlot, TOTAL_COLUMNS, TOTAL_ROWS } from '@/views/dashboard/layout-grid';\n\nexport interface AddWidgetPayload {\n widget: WidgetEnum;\n deviceId?: string;\n}\n\ntype GroupedWidgets = Record;\ntype GroupedWidgetDefinitions = Record;\n\n@Component({\n computed: {\n ConsoleEnum: () => ConsoleEnum,\n },\n components: {\n WidgetContainer,\n },\n})\nexport default class WidgetSelector extends Vue {\n @Prop({ required: true })\n private selectedSlot!: LayoutSlot;\n\n private selectedWidgetDefinition: WidgetDefinition | null = null;\n private selectedDevice: string | null = null;\n private selectedConsole = ConsoleEnum.WCC;\n\n private get userConsoles(): ConsoleEnum[] {\n const currentUser = usersService.store.current();\n const currentTenant = tenantsService.store.current()!;\n const consoles: ConsoleEnum[] = [];\n if (currentTenant.hasDatahub) {\n if (currentUser.consoles.includes(ConsoleEnum.WCC) || currentUser.isGlobalAdmin) {\n consoles.push(ConsoleEnum.WCC);\n }\n }\n if (currentTenant.hasSmbs) {\n if (currentUser.consoles.includes(ConsoleEnum.BC) || currentUser.isGlobalAdmin) {\n consoles.push(ConsoleEnum.BC);\n }\n if (currentUser.consoles.includes(ConsoleEnum.SFC) || currentUser.isGlobalAdmin) {\n consoles.push(ConsoleEnum.SFC);\n }\n }\n return consoles;\n }\n\n private get laserDevices(): Device[] {\n return devicesService.store.cutDevices();\n }\n\n private get bendingDevices(): Device[] {\n return devicesService.store.bendDevices();\n }\n\n private get tubesDevices(): Device[] {\n return devicesService.store.tubeDevices();\n }\n\n private get hasLaser(): boolean {\n return !isEmpty(this.laserDevices);\n }\n\n private get hasBending(): boolean {\n return !isEmpty(this.bendingDevices);\n }\n\n private get hasTubes(): boolean {\n return !isEmpty(this.tubesDevices);\n }\n\n private get specificDeviceNotOverview(): boolean {\n return this.selectedDevice?.substring(2) !== 'overview';\n }\n\n private get slotAllowsBigWidget(): boolean {\n return this.selectedSlot.height === TOTAL_ROWS && this.selectedSlot.width >= TOTAL_COLUMNS / 2;\n }\n\n private get showFactoryOverviewWarning(): boolean {\n return (\n !this.slotAllowsBigWidget &&\n this.selectedWidgetDefinition?.widget === WidgetEnum.FactoryOverview\n );\n }\n\n private get showGanttChartWarning(): boolean {\n return (\n !this.slotAllowsBigWidget &&\n (this.selectedWidgetDefinition?.widget === WidgetEnum.LaserIntradayAvailabilityTable ||\n this.selectedWidgetDefinition?.widget === WidgetEnum.TubeIntradayAvailabilityTable)\n );\n }\n\n private get isAcceptButtonDisabled(): boolean {\n return (\n !this.slotAllowsBigWidget &&\n (this.selectedWidgetDefinition?.widget === WidgetEnum.FactoryOverview ||\n this.selectedWidgetDefinition?.widget === WidgetEnum.LaserIntradayAvailabilityTable ||\n this.selectedWidgetDefinition?.widget === WidgetEnum.TubeIntradayAvailabilityTable)\n );\n }\n\n private get wccCutWidgets(): GroupedWidgets {\n const commonWidgets = {\n '': [WidgetEnum.CutStatus],\n 'report.comparative_data': [\n WidgetEnum.LaserAvailability,\n WidgetEnum.LaserProductivity,\n WidgetEnum.LaserOee,\n WidgetEnum.LaserStarveBlock,\n WidgetEnum.LaserOutputScrap,\n WidgetEnum.LaserCuttingTime,\n ],\n 'report.historic_data': [\n WidgetEnum.LaserAvailabilityHist,\n WidgetEnum.LaserProductivityHist,\n WidgetEnum.LaserOeeHist,\n WidgetEnum.LaserCuttingTimeHist,\n WidgetEnum.LaserStarveBlockHist,\n WidgetEnum.LaserOutputAndScrapTimeline,\n ],\n };\n if (this.selectedDevice === 'L-overview') {\n return {\n ...commonWidgets,\n '': [...commonWidgets[''], WidgetEnum.LaserIntradayAvailabilityTable],\n };\n } else {\n return {\n ...commonWidgets,\n '': [...commonWidgets[''], WidgetEnum.CameraView],\n };\n }\n }\n\n private get wccBendWidgets(): GroupedWidgets {\n const commons = {\n '': [WidgetEnum.BendStatus],\n 'report.comparative_data': [\n WidgetEnum.BendingAvailability,\n WidgetEnum.BendingTimeBetweenBend,\n WidgetEnum.BendingPerformancePart,\n WidgetEnum.BendingTopParts,\n ],\n 'report.historic_data': [\n WidgetEnum.BendingAvailabilityHist,\n WidgetEnum.BendingTimeBetweenBendHist,\n WidgetEnum.BendingPerformancePartHist,\n WidgetEnum.BendingPerformanceHist,\n WidgetEnum.BendingNumberOfBendsTimeline,\n ],\n };\n\n if (this.selectedDevice === 'B-overview') {\n return commons;\n } else {\n return {\n ...commons,\n '': [...commons[''], WidgetEnum.CameraView],\n };\n }\n }\n\n private get wccTubeWidgets(): GroupedWidgets {\n const commonWidgets = {\n '': [WidgetEnum.TubeStatus],\n 'report.comparative_data': [\n WidgetEnum.TubeAvailability,\n WidgetEnum.TubeProductivity,\n WidgetEnum.TubeOee,\n WidgetEnum.TubeStarveBlock,\n WidgetEnum.TubeOutputScrap,\n WidgetEnum.TubeCuttingTime,\n ],\n 'report.historic_data': [\n WidgetEnum.TubeAvailabilityHist,\n WidgetEnum.TubeProductivityHist,\n WidgetEnum.TubeOeeHist,\n WidgetEnum.TubeCuttingTimeHist,\n WidgetEnum.TubeStarveBlockHist,\n WidgetEnum.TubeOutputScrapHist,\n ],\n };\n\n if (this.selectedDevice === 'T-overview') {\n return {\n ...commonWidgets,\n '': [...commonWidgets[''], WidgetEnum.TubeIntradayAvailabilityTable],\n };\n } else {\n return {\n ...commonWidgets,\n '': [...commonWidgets[''], WidgetEnum.CameraView],\n };\n }\n }\n\n private get wccWidgets(): GroupedWidgets {\n if (!this.selectedDevice) {\n return { '': [] };\n } else if (this.selectedDevice === 'F-overview') {\n return { '': [WidgetEnum.FactoryOverview] };\n } else if (this.selectedDevice!.startsWith('L-')) {\n return this.wccCutWidgets;\n } else if (this.selectedDevice!.startsWith('B-')) {\n return this.wccBendWidgets;\n } else if (this.selectedDevice!.startsWith('T-')) {\n return this.wccTubeWidgets;\n } else {\n Logger.error('Unknown device type found');\n return { '': [] };\n }\n }\n\n private get bcWidgets(): GroupedWidgets {\n return {\n 'report.overview': [\n WidgetEnum.SalesMap,\n WidgetEnum.QuotesMap,\n WidgetEnum.OpenSalesFunnel,\n WidgetEnum.BusinessOverviewFigures,\n ],\n 'report.quotes': [\n WidgetEnum.QuotesAbcCustomers,\n WidgetEnum.QuotesConvertedAmountTimeline,\n WidgetEnum.QuotesConversionRates,\n WidgetEnum.QuotesSize,\n WidgetEnum.QuotesFigures,\n WidgetEnum.QuotesTopQuotedMaterialsTimeline,\n WidgetEnum.QuotesQuotedMaterialsList,\n WidgetEnum.QuotesConvertedMap,\n ],\n 'report.sales': [\n WidgetEnum.SalesCustomerGroups,\n WidgetEnum.SalesTopSalespeople,\n WidgetEnum.SalesFunnel,\n WidgetEnum.SalesFigures,\n WidgetEnum.SalesTimeline,\n WidgetEnum.SalesUnpaidDistribution,\n ],\n };\n }\n\n private get sfcWidgets(): GroupedWidgets {\n return {\n 'report.manufacturing': [\n WidgetEnum.ManufacturingPOStatus,\n WidgetEnum.ManufacturingFinishedPOEstimatedVsActualPOL,\n WidgetEnum.ManufacturingReleasedPOStatus,\n WidgetEnum.ManufacturingPOLStatusDueDate,\n WidgetEnum.ManufacturingFigures,\n WidgetEnum.ManufacturingPOFinishedDueDate,\n ],\n };\n }\n\n private get widgets(): GroupedWidgets {\n switch (this.selectedConsole) {\n case ConsoleEnum.WCC:\n return this.wccWidgets;\n case ConsoleEnum.BC:\n return this.bcWidgets;\n case ConsoleEnum.SFC:\n return this.sfcWidgets;\n default:\n Logger.error('Unknown console received in Widget Selector', this.selectedConsole);\n return { '': [] };\n }\n }\n\n private get widgetDefinitions(): GroupedWidgetDefinitions {\n return Object.fromEntries(\n Object.entries(this.widgets).map(([label, widgets]) => [\n label,\n widgets.map((widget) => {\n return new WidgetDefinition(\n widget,\n this.specificDeviceNotOverview ? [this.selectedDevice!] : [],\n FilterTimeSpanEnum.None,\n [],\n );\n }),\n ]),\n );\n }\n\n private mounted() {\n this.selectedConsole = this.userConsoles[0] ?? ConsoleEnum.WCC;\n this.selectedDevice = this.getDefaultConsoleDevice(this.selectedConsole);\n this.selectedWidgetDefinition = Object.values(this.widgetDefinitions)[0][0];\n }\n\n private onSelectedConsoleInput(console: ConsoleEnum) {\n this.selectedConsole = console;\n this.selectedDevice = this.getDefaultConsoleDevice(this.selectedConsole);\n this.selectedWidgetDefinition = Object.values(this.widgetDefinitions)[0][0];\n }\n\n private onSelectedDeviceInput(device: string) {\n this.selectedDevice = device;\n this.selectedWidgetDefinition = Object.values(this.widgetDefinitions)[0][0];\n }\n\n private onSelectedWidgetClick(wd: WidgetDefinition) {\n this.selectedWidgetDefinition = wd;\n }\n\n private getDefaultConsoleDevice(console: ConsoleEnum): string | null {\n switch (console) {\n case ConsoleEnum.WCC:\n return 'F-overview';\n default:\n return null;\n }\n }\n\n private onAddWidget() {\n if (!this.selectedWidgetDefinition) {\n return;\n }\n const widget = this.selectedWidgetDefinition!.widget;\n if (\n (widget === WidgetEnum.FactoryOverview ||\n widget === WidgetEnum.LaserIntradayAvailabilityTable ||\n widget === WidgetEnum.TubeIntradayAvailabilityTable) &&\n !this.slotAllowsBigWidget\n ) {\n return;\n }\n if (this.selectedConsole === ConsoleEnum.WCC) {\n this.$emit('add-widget', {\n widget,\n deviceId: this.specificDeviceNotOverview ? this.selectedDevice : '',\n });\n } else {\n this.$emit('add-widget', {\n widget,\n });\n }\n this.$emit('close');\n }\n\n private consoleName(console: ConsoleEnum): LocaleMessage {\n switch (console) {\n case ConsoleEnum.BC:\n return i18n.t('category_menu.BC');\n case ConsoleEnum.SFC:\n return i18n.t('category_menu.SFC');\n case ConsoleEnum.WCC:\n return i18n.t('category_menu.WCC');\n default:\n return '';\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetSelector.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetSelector.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./WidgetSelector.vue?vue&type=template&id=56ab8738&scoped=true\"\nimport script from \"./WidgetSelector.vue?vue&type=script&lang=ts\"\nexport * from \"./WidgetSelector.vue?vue&type=script&lang=ts\"\nimport style0 from \"./WidgetSelector.vue?vue&type=style&index=0&id=56ab8738&prod&lang=scss&scoped=true\"\nimport style1 from \"./WidgetSelector.vue?vue&type=style&index=1&id=56ab8738&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"56ab8738\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('click-menu',{attrs:{\"type\":\"single\",\"icon\":\"apps\",\"names\":_vm.names,\"title\":_vm.$t('dashboard.layout'),\"ids\":_vm.ids,\"value\":_vm.value,\"itemIcons\":_vm.itemIcons,\"itemIconPack\":\"dashboard-icons\",\"size\":\"is-small\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport ClickMenu from '@/components/menu/ClickMenu.vue';\nimport { DashboardLayout } from '@/models/Charts/dashboardDefinition';\n\n@Component({\n components: {\n ClickMenu,\n },\n})\nexport default class LayoutDropdown extends Vue {\n @Prop({ required: true })\n private value!: DashboardLayout;\n\n private get names(): string[] {\n return this.ids.map(() => '');\n }\n\n private get ids(): number[] {\n return Object.keys(DashboardLayout)\n .filter((x) => !isNaN(Number(x)))\n .map((x) => Number(x))\n .slice(0, this.itemIcons.length);\n // The slice hides the two new layouts, which don't have an icon\n }\n\n private get itemIcons(): string[] {\n return [\n '1x1',\n '1x2',\n '2x2',\n '2x3',\n 'bc-overview-like',\n 'inverse-bc-overview-like',\n '2x1',\n '2x3-merge-top-right',\n '2x3-merge-top-left',\n '2x3-merge-bottom-right',\n '2x3-merge-right',\n '2x3-merge-left',\n '2x3-two-double-two-single',\n ];\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nexport enum DashboardMode {\n Normal = 'Normal',\n Edition = 'Edition',\n Creation = 'Creation',\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutDropdown.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutDropdown.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./LayoutDropdown.vue?vue&type=template&id=53dbabe4&scoped=true\"\nimport script from \"./LayoutDropdown.vue?vue&type=script&lang=ts\"\nexport * from \"./LayoutDropdown.vue?vue&type=script&lang=ts\"\nimport style0 from \"./LayoutDropdown.vue?vue&type=style&index=0&id=53dbabe4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"53dbabe4\",\n null\n \n)\n\nexport default component.exports","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport WidgetContainer from '@/components/Charts/widgetContainer/WidgetContainer.vue';\nimport WidgetSelector, { AddWidgetPayload } from '@/components/Charts/WidgetSelector.vue';\nimport DashboardDefinition, {\n availableDashboardLayouts,\n DashboardLayout,\n} from '@/models/Charts/dashboardDefinition';\nimport WidgetDefinition from '@/models/Charts/widgetDefinition';\nimport { getWidgetMachineType } from '@/models/widgetMachineType';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { MachineType } from '@/models/enums/MachineType';\nimport { areArraysEqual } from '@/utils/array';\nimport LayoutGrid from './LayoutGrid.vue';\nimport { addAutoRemovedEventListener, isEmpty } from '@/utils/misc';\nimport LayoutDropdown from './LayoutDropdown.vue';\nimport { LayoutSlot } from '@/views/dashboard/layout-grid';\nimport { DashboardMode as Mode } from '@/views/dashboard/dashboardMode';\nimport i18n from '@/i18n';\nimport { DialogProgrammatic as Dialog } from 'buefy';\n\n@Component({\n computed: {\n Mode: () => Mode,\n },\n components: {\n WidgetContainer,\n LayoutGrid,\n LayoutDropdown,\n },\n methods: {\n isEmpty,\n },\n})\nexport default class CustomDashboard extends Vue {\n @Prop({ required: true })\n private dashboardDefinition!: DashboardDefinition;\n\n @Prop({ required: true })\n private dashboardsCount!: number;\n\n @Prop({ default: false })\n private currentView!: boolean;\n\n @Prop({ default: Mode.Normal })\n private mode!: Mode;\n\n @Prop({ default: false, type: Boolean })\n private autoplay!: boolean;\n\n private dashboardDefinitionCopy!: DashboardDefinition;\n private editName = '';\n private notUniqueView = true;\n private nWidgets = 0;\n\n private mounted() {\n this.editName = this.dashboardDefinition.name;\n this.nWidgets = this.dashboardDefinition.widgetDefinitions.length;\n addAutoRemovedEventListener(this, 'beforeunload', this.onBeforeUnload);\n }\n\n private confirmDeleteDashboard(): void {\n this.$buefy.dialog.confirm({\n title: this.$i18n.t('dialog.confirm_title').toString(),\n message: this.$i18n.t('view.delete_prompt').toString(),\n confirmText: this.$i18n.t('dialog.confirm_delete').toString(),\n cancelText: this.$i18n.t('dialog.confirm_cancel').toString(),\n type: 'is-danger white-font',\n onConfirm: () => this.deleteDashboard(),\n });\n }\n\n private deleteDashboard() {\n this.$emit('delete-dashboard');\n }\n\n private onLayoutChanged(layout: DashboardLayout): void {\n const dashboardDefinition = this.dashboardDefinition.clone();\n dashboardDefinition.layout = layout;\n dashboardDefinition.clearWidgets();\n this.dashboardDefinition = dashboardDefinition;\n }\n\n private onAddWidget(index: number) {\n if (!this.areThereFreeSlots) {\n this.$buefy.dialog.alert({\n message: this.$i18n.t('widget.limit_exceeded').toString(),\n confirmText: 'OK',\n });\n return;\n }\n\n this.openWidgetSelector(index);\n }\n\n private onEditWidget(index: number) {\n this.openWidgetSelector(index, true);\n }\n\n private openWidgetSelector(index: number, isReplacingWidget = false) {\n this.$buefy.modal.open({\n parent: this,\n component: WidgetSelector,\n hasModalCard: false,\n canCancel: ['escape'],\n props: {\n selectedSlot: this.layout[index],\n },\n events: {\n 'add-widget': (addWidgetPayload: AddWidgetPayload) => {\n if (isReplacingWidget) {\n this.onDeleteWidget(index);\n }\n this.addWidget(addWidgetPayload, index);\n },\n },\n });\n }\n\n private addWidget(payload: AddWidgetPayload, index: number) {\n const { widget, deviceId } = payload;\n const newWd = new WidgetDefinition(\n widget,\n deviceId ?? '',\n getWidgetMachineType(widget) === MachineType.FactoryOverview\n ? FilterTimeSpanEnum.None\n : FilterTimeSpanEnum.Day,\n [],\n );\n newWd.index = index;\n const dashboardDefinition = this.dashboardDefinition.clone();\n dashboardDefinition.addWidget(newWd);\n this.dashboardDefinition = dashboardDefinition;\n ++this.nWidgets;\n }\n\n private onDeleteWidget(index: number) {\n const dashboardDefinition = this.dashboardDefinition.clone();\n dashboardDefinition.deleteWidget(index);\n this.dashboardDefinition = dashboardDefinition;\n --this.nWidgets;\n }\n\n private edit() {\n this.dashboardDefinitionCopy = this.dashboardDefinition.clone();\n this.$emit('mode-update', Mode.Edition);\n if (this.dashboardsCount === 1) {\n this.notUniqueView = false;\n }\n }\n\n private saveDashboard() {\n if (this.dashboardDefinition.widgetDefinitions.length === 0) {\n this.showErrorDialog('dashboard.alert_zero_widget');\n } else if (isEmpty(this.editName)) {\n this.showErrorDialog('dashboard.alert_no_title');\n } else {\n this.$emit('mode-update', Mode.Normal);\n this.dashboardDefinition.name = this.editName;\n this.persistDashboard();\n }\n }\n\n private persistDashboard() {\n this.$emit('save-dashboard', this.dashboardDefinition);\n }\n\n private onChange(wd: WidgetDefinition, index: number) {\n this.$set(this.dashboardDefinition.widgetDefinitions, index, wd);\n this.persistDashboard();\n }\n\n private doParamUpdate() {\n this.persistDashboard();\n }\n\n private showErrorDialog(textKey: string): void {\n this.$buefy.dialog.alert({\n title: this.$i18n.t('dashboard.alert_title').toString(),\n message: this.$i18n.t(textKey).toString(),\n confirmText: this.$i18n.t('dashboard.alert_confirm').toString(),\n type: 'is-primary white-font',\n });\n }\n\n private get isDashboardModified(): boolean {\n if (this.mode === Mode.Normal) {\n return false;\n }\n if (this.mode === Mode.Creation) {\n return this.dashboardDefinition.widgetDefinitions.length > 0;\n }\n if (!this.dashboardDefinitionCopy) {\n return false;\n }\n return (\n !areArraysEqual(\n this.dashboardDefinition.widgetDefinitions,\n this.dashboardDefinitionCopy.widgetDefinitions,\n ) || this.name !== this.editName\n );\n }\n\n private async promptCancelEdition() {\n if (this.isDashboardModified) {\n if (!(await this.confirmEditionCancellation())) {\n return;\n }\n }\n this.cancelEdition();\n }\n\n private confirmEditionCancellation(): Promise {\n return new Promise((resolve) => {\n Dialog.confirm({\n title: this.$t('dashboard.cancel_dialog.title').toString(),\n message: this.$t('dashboard.cancel_dialog.text').toString(),\n cancelText: this.$t('dashboard.cancel_dialog.continue').toString(),\n confirmText: this.$t('dashboard.cancel_dialog.exit').toString(),\n type: 'is-success',\n onConfirm: () => resolve(true),\n onCancel: () => resolve(false),\n });\n });\n }\n\n private cancelEdition() {\n if (this.mode === Mode.Edition) {\n this.editName = this.name;\n this.dashboardDefinition.widgetDefinitions = [\n ...this.dashboardDefinitionCopy.widgetDefinitions,\n ];\n this.nWidgets = this.dashboardDefinition.widgetDefinitions.length;\n }\n this.$emit('cancel-dashboard');\n this.$emit('mode-update', Mode.Normal);\n }\n\n private async toggleAutoplay() {\n this.$emit('autoplay', !this.autoplay);\n }\n\n private async onBeforeUnload(event: Event) {\n if (this.isDashboardModified) {\n event.preventDefault();\n event.returnValue = false;\n return i18n.t('dashboard.cancel_edition_text').toString();\n }\n }\n\n async onBeforeRouteLeave(): Promise {\n if (this.isDashboardModified) {\n const hasConfirmedCancellation = await this.confirmEditionCancellation();\n if (hasConfirmedCancellation) {\n this.cancelEdition();\n }\n return false;\n } else {\n if (this.mode === Mode.Creation) {\n this.cancelEdition();\n }\n return true;\n }\n }\n\n private get gridLayout(): LayoutSlot[] {\n return availableDashboardLayouts[this.dashboardDefinition.layout];\n }\n\n private get widgetDefinitions(): WidgetDefinition[] {\n return this.dashboardDefinition.widgetDefinitions;\n }\n\n private get name(): string {\n return !!this.dashboardDefinition ? this.dashboardDefinition.name : '';\n }\n\n private get layout(): LayoutSlot[] {\n return availableDashboardLayouts[this.dashboardDefinition.layout];\n }\n\n private get areThereFreeSlots(): boolean {\n return this.dashboardDefinition.widgetDefinitions.length < this.layout.length;\n }\n\n private threeDotsInnerPosition(index: number): string {\n switch (this.getCardsLayoutType()) {\n case 'one-times-one':\n return 'is-left';\n case 'one-times-two':\n return index === 1 ? 'is-left' : 'is-right';\n case 'two-times-two':\n return index === 1 || index === 3 ? 'is-left' : 'is-right';\n case 'two-times-three':\n return index === 2 || index === 5 ? 'is-left' : 'is-right';\n default:\n return 'is-right';\n }\n }\n\n private widgetHelpPosition(index: number): string {\n switch (this.getCardsLayoutType()) {\n case 'one-times-one':\n return 'is-bottom-right';\n case 'one-times-two':\n return index === 1 ? 'is-bottom-left' : 'is-bottom-right';\n case 'two-times-two':\n return index === 1 || index === 3 ? 'is-bottom-left' : 'is-bottom-right';\n case 'two-times-three':\n return index === 2 || index === 5 ? 'is-bottom-left' : 'is-bottom-right';\n default:\n return 'is-bottom-right';\n }\n }\n\n private getCardsLayoutType() {\n const n = this.widgetDefinitions.length;\n if (n === 1) {\n return 'one-times-one';\n } else if (n >= 0 && n <= 2) {\n return 'one-times-two';\n } else if (n >= 3 && n <= 4) {\n return 'two-times-two';\n } else {\n return 'two-times-three';\n }\n }\n\n private get isEditorEnabled() {\n return [Mode.Creation, Mode.Edition].includes(this.mode);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomDashboard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomDashboard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CustomDashboard.vue?vue&type=template&id=5b63beab&scoped=true\"\nimport script from \"./CustomDashboard.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomDashboard.vue?vue&type=script&lang=ts\"\nimport style0 from \"./CustomDashboard.vue?vue&type=style&index=0&id=5b63beab&prod&lang=scss&scoped=true\"\nimport style1 from \"./CustomDashboard.vue?vue&type=style&index=1&id=5b63beab&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5b63beab\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.ValidationObserver,{scopedSlots:_vm._u([{key:\"default\",fn:function({ handleSubmit, invalid }){return [_c('form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_setup.onSubmit)}}},[_c('div',{staticClass:\"modal-card\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title autoplay\"},[_vm._v(\" \"+_vm._s(_vm.$t(`dashboard.edit_autoplay_title`))+\" \")])]),_c('section',{staticClass:\"modal-card-body\"},[_c(_setup.ValidationProvider,{attrs:{\"rules\":_setup.validationRules.interval,\"name\":\"dashboard.edit_autoplay_title\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors }){return [_c('b-field',{staticClass:\"required\",attrs:{\"type\":{ 'is-danger': errors[0] },\"message\":errors}},[_c('b-numberinput',{attrs:{\"step\":\"5\",\"min\":_setup.MIN,\"max\":_setup.MAX,\"controls-rounded\":\"\"},model:{value:(_setup.enteredInterval),callback:function ($$v) {_setup.enteredInterval=$$v},expression:\"enteredInterval\"}})],1)]}}],null,true)})],1),_c('footer',{staticClass:\"modal-card-foot buttons is-right\"},[_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _setup.closeModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.cancel'))+\" \")]),_c('button',{staticClass:\"button is-success\",attrs:{\"disabled\":_setup.enteredInterval === _vm.autoplayInterval || invalid,\"data-testid\":\"save-button\"},on:{\"click\":function($event){$event.preventDefault();return handleSubmit(_setup.onSubmit)}}},[_vm._v(\" \"+_vm._s(_vm.$t('action.save'))+\" \")])])])])]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { onMounted, Ref, ref } from 'vue';\nimport { ValidationObserver, ValidationProvider } from 'vee-validate';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AutoplayInterval',\n props: {\n autoplayInterval: null\n },\n emits: ['save', 'close'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n autoplayInterval: number;\n};\n\n\n\n\n\nconst MIN = 15;\nconst MAX = 300;\nconst validationRules = {\n interval: {\n required: true,\n min_value: MIN,\n max_value: MAX,\n },\n};\n\nconst enteredInterval: Ref = ref(null);\n\nonMounted(() => {\n enteredInterval.value = props.autoplayInterval;\n});\n\nasync function onSubmit() {\n emit('save', enteredInterval.value);\n closeModal();\n}\n\nfunction closeModal() {\n emit('close');\n}\n\nreturn { __sfc: true,props, emit, MIN, MAX, validationRules, enteredInterval, onSubmit, closeModal, ValidationObserver, ValidationProvider }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoplayInterval.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoplayInterval.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./AutoplayInterval.vue?vue&type=template&id=21ff572c&scoped=true\"\nimport script from \"./AutoplayInterval.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AutoplayInterval.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AutoplayInterval.vue?vue&type=style&index=0&id=21ff572c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21ff572c\",\n null\n \n)\n\nexport default component.exports","\nimport { Component, Vue } from 'vue-property-decorator';\nimport { User } from '@/models/user';\nimport CustomDashboard from './CustomDashboard.vue';\nimport DashboardDefinition, { DashboardLayout } from '@/models/Charts/dashboardDefinition';\nimport { usersService } from '@/services/users.service';\nimport i18n from '@/i18n';\nimport AutoplayInterval from '@/components/inputs/AutoplayInterval.vue';\nimport { DashboardMode as Mode } from '@/views/dashboard/dashboardMode';\n\n@Component({\n computed: {\n Mode: () => Mode,\n },\n components: {\n CustomDashboard,\n },\n})\nexport default class DashboardsCarousel extends Vue {\n private mode = Mode.Normal;\n private carouselIndex = 0;\n private touchStartX = 0;\n private touchEndX = 0;\n\n private addCustomDashboard() {\n const dashboards: DashboardDefinition[] = [\n ...this.user.dashboards,\n new DashboardDefinition(\n `${i18n.t('view.name')} ${this.user.dashboards.length + 1}`,\n [],\n DashboardLayout.OneByOne,\n ),\n ];\n this.mode = Mode.Creation;\n this.updateDefinitions(dashboards, true);\n this.carouselIndex = this.user.dashboards.length - 1;\n }\n\n private saveDashboard(index: number, dashboardDefinition: DashboardDefinition) {\n const dashboards: DashboardDefinition[] = [...this.user.dashboards];\n dashboards[index].name = dashboardDefinition.name;\n dashboards[index].widgetDefinitions = dashboardDefinition.widgetDefinitions;\n dashboards[index].layout = dashboardDefinition.layout;\n this.updateDefinitions(dashboards);\n this.mode = Mode.Normal;\n }\n\n private deleteDashboard(index: number) {\n const dashboards: DashboardDefinition[] = [...this.user.dashboards];\n dashboards.splice(index, 1);\n this.updateDefinitions(dashboards, false);\n this.mode = Mode.Normal;\n }\n\n private async updateDefinitions(\n newDefinitions: DashboardDefinition[],\n isTemporal: boolean = false,\n ) {\n const user = User.GetCopy(this.user);\n user.dashboards = newDefinitions;\n await usersService.store.update(user);\n if (!isTemporal) {\n usersService.updateDashboards();\n }\n }\n\n private cancelDashboard(index: number) {\n if (this.mode === Mode.Creation) {\n this.deleteDashboard(index);\n }\n }\n\n private async toggleAutoplay() {\n const user = User.GetCopy(this.user);\n user.isAutoplay = !this.autoplay;\n await usersService.update(user);\n }\n\n private editAutoplayInterval() {\n this.$buefy.modal.open({\n parent: this,\n component: AutoplayInterval,\n hasModalCard: true,\n trapFocus: true,\n props: {\n autoplayInterval: this.user.autoplayPeriod,\n },\n events: {\n save: async (newInterval: number) => {\n const user = User.GetCopy(this.user);\n user.autoplayPeriod = newInterval;\n await usersService.update(user);\n },\n },\n });\n }\n\n private onIndicatorClick(event: Event) {\n if (this.isEditorEnabled) {\n event.stopPropagation();\n }\n }\n\n private onTouchStart(event: TouchEvent) {\n this.touchStartX = event.changedTouches[0].screenX;\n }\n\n private onTouchEnd(event: TouchEvent) {\n this.touchEndX = event.changedTouches[0].screenX;\n if (Math.abs(this.touchEndX - this.touchStartX) < 75 || this.isEditorEnabled) {\n return;\n }\n if (this.touchEndX > this.touchStartX) {\n if (this.carouselIndex !== 0) {\n this.carouselIndex -= 1;\n }\n } else if (this.carouselIndex !== this.user.dashboards.length - 1) {\n this.carouselIndex += 1;\n } else if (\n this.carouselIndex === this.user.dashboards.length - 1 &&\n window.matchMedia('only screen and (hover: none)').matches &&\n !this.autoplay\n ) {\n this.addCustomDashboard();\n }\n }\n\n // Called by Index\n async onBeforeRouteLeave(): Promise {\n const dashboards = this.$refs.dashboard as CustomDashboard[] | undefined;\n const dashboard = dashboards?.[this.carouselIndex];\n return (await dashboard?.onBeforeRouteLeave()) ?? true;\n }\n\n private get isEditorEnabled() {\n return [Mode.Creation, Mode.Edition].includes(this.mode);\n }\n\n private get autoplay(): boolean {\n return this.user?.isAutoplay;\n }\n\n private get autoplayInterval(): number {\n return this.user.autoplayPeriod * 1000;\n }\n\n private get user() {\n return usersService.store.current();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardsCarousel.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardsCarousel.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DashboardsCarousel.vue?vue&type=template&id=75eb9a42&scoped=true\"\nimport script from \"./DashboardsCarousel.vue?vue&type=script&lang=ts\"\nexport * from \"./DashboardsCarousel.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DashboardsCarousel.vue?vue&type=style&index=0&id=75eb9a42&prod&lang=scss&scoped=true\"\nimport style1 from \"./DashboardsCarousel.vue?vue&type=style&index=1&id=75eb9a42&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"75eb9a42\",\n null\n \n)\n\nexport default component.exports","\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { User } from '@/models/user';\nimport { Tenant } from '@/models/tenant';\nimport DashboardsCarousel from './dashboard/DashboardsCarousel.vue';\nimport { Route } from 'vue-router';\nimport { Routes } from '@/router/routes';\nimport { useRootStore } from '@/store';\nimport { tenantsService } from '@/services/tenants.service';\nimport { isNil } from '@/utils/misc';\nimport { usersService } from '@/services/users.service';\n\n@Component({\n components: {\n DashboardsCarousel,\n },\n})\nexport default class Index extends Vue {\n private mounted() {\n this.go();\n }\n\n @Watch('loadedInfoUser')\n @Watch('isTechnologyUser')\n @Watch('isSupportUser')\n private go() {\n if (!this.loadedInfoUser) {\n return;\n }\n\n if (this.isTechnologyUser) {\n this.$router.replace({\n name: Routes.TechnologyConsole,\n });\n } else if (this.isSupportUser) {\n this.$router.replace({\n name: Routes.EServiceCenter,\n });\n }\n }\n\n private get loadedInfoUser(): boolean {\n return useRootStore().userInfoLoaded;\n }\n\n private get termsAccepted(): boolean {\n return this.user.isAcceptedTermsOfAgreement || useRootStore().termsAcceptedSession;\n }\n\n private get hasTenant(): boolean {\n return !isNil(this.tenant);\n }\n\n private get isTechnologyUser(): boolean {\n return this.user.isTechnologyUser;\n }\n\n private get isSupportUser(): boolean {\n return this.user.isServiceUserType;\n }\n\n private get tenant(): Tenant | null {\n return tenantsService.store.current();\n }\n\n private get user(): User {\n return usersService.store.current();\n }\n\n private async beforeRouteLeave(to: Route, from: Route, next: (r?: boolean) => void) {\n const dashboardsCarousel = this.$refs.dashboard as DashboardsCarousel | undefined;\n const continueRoute = (await dashboardsCarousel?.onBeforeRouteLeave()) ?? true;\n next(continueRoute);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Index.vue?vue&type=template&id=511d975b&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=ts\"\nexport * from \"./Index.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Index.vue?vue&type=style&index=0&id=511d975b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"511d975b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"work-center-console-overview main\"},[_c('div',{staticClass:\"filter\"},[_c('div',{staticClass:\"selected-filter-values\"},[(!_setup.isEmpty(_setup.selectedShiftIds))?_c('b-taglist',{attrs:{\"attached\":\"\"}},_vm._l((_setup.selectedShiftIds),function(id){return _c('b-tag',{key:id,attrs:{\"type\":\"is-warning\"}},[_vm._v(\" \"+_vm._s(_setup.getShiftName(id))+\" \")])}),1):_vm._e()],1),_c('div',{staticClass:\"filter-buttons\"},[_c('b-switch',{staticClass:\"compact-mode-switch\",model:{value:(_setup.compactMode),callback:function ($$v) {_setup.compactMode=$$v},expression:\"compactMode\"}},[_vm._v(\" \"+_vm._s(_vm.$t('report.compact_mode'))+\" \")]),_c(_setup.TimeSpanFilter,{on:{\"input\":function($event){return _setup.updateStatuses()}},model:{value:(_setup.selectedTimespan),callback:function ($$v) {_setup.selectedTimespan=$$v},expression:\"selectedTimespan\"}}),_c(_setup.ShiftFilter,{attrs:{\"selectedDeviceIds\":_setup.deviceIds},on:{\"input\":function($event){return _setup.updateStatuses()}},model:{value:(_setup.selectedShiftIds),callback:function ($$v) {_setup.selectedShiftIds=$$v},expression:\"selectedShiftIds\"}})],1)]),_c('div',{class:['device-list', { 'is-compact': _setup.compactMode }]},[_vm._l((_setup.devicesInSelectedShifts),function(device){return [(device.isCut() || device.isTube())?_c(_setup.OverviewLaserTubeDeviceCard,{key:device.deviceId,attrs:{\"device\":device,\"now\":_setup.now,\"deviceState\":_setup.getLaserTubeDeviceState(device),\"loading\":_setup.loading,\"isFirstLoad\":_setup.isFirstLoad},on:{\"click\":function($event){return _setup.goToDevice(device)}}}):(device.isBend())?[(_setup.shouldShowNewBendDeviceCard)?_c(_setup.OverviewNewBendDeviceCard,{key:device.deviceId,attrs:{\"device\":device,\"deviceState\":_setup.getBendDeviceState(device)},on:{\"click\":function($event){return _setup.goToDevice(device)}}}):_c(_setup.OverviewBendDeviceCard,{key:device.deviceId,attrs:{\"device\":device,\"deviceState\":_setup.getBendDeviceState(device)},on:{\"click\":function($event){return _setup.goToDevice(device)}}})]:_vm._e()]})],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { metricsService } from '@/services/metrics.service';\nimport { LaserTubeDeviceStateData } from '../deviceStateData';\nimport { FilterTimeAxisSpanEnum } from '../enums/FilterTimeAxisSpanEnum';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { DataRetriever, ProcedureName } from './abstract/chartGenerator';\n\nexport class WorkCenterConsoleOverviewStateDataRetriever extends DataRetriever<\n LaserTubeDeviceStateData[]\n> {\n constructor(procedure: ProcedureName, private customerIdDh: number) {\n super(procedure);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n timeAxisSpan?: FilterTimeAxisSpanEnum,\n params?: { [key: string]: any },\n ): Promise {\n return await metricsService.getDevicesMetrics(\n this.procedure,\n {\n tenantIdDh: this.customerIdDh,\n deviceIds: selectedDevices,\n shifts: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n statesOnly: params?.statesOnly,\n },\n this.controller,\n );\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.OverviewDeviceCard,{staticClass:\"overview-bend-device-card\",attrs:{\"device\":_vm.device,\"deviceState\":_vm.deviceState},scopedSlots:_vm._u([{key:\"state\",fn:function(){return [(_setup.hasState)?_c('span',{style:(_setup.stateStyle)},[_vm._v(\" \"+_vm._s(_vm.$t(`report.${_vm.deviceState.lastState}`))+\" \")]):_vm._e()]},proxy:true},{key:\"kpi-left\",fn:function(){return [_c(_setup.OverviewDeviceCardStateKpi,{attrs:{\"label\":_vm.$t('report.bend_time'),\"deviceState\":_vm.deviceState,\"metric\":\"metric0\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ value: bendTime }){return [_vm._v(\" \"+_vm._s(_setup.abbreviateNumberWithUnit(bendTime, 'h'))+\" \")]}}])}),_c(_setup.OverviewDeviceCardStateKpi,{attrs:{\"label\":_vm.$t('report.total_bends'),\"deviceState\":_vm.deviceState,\"metric\":\"metric1\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ value: totalBends }){return [_vm._v(\" \"+_vm._s(_setup.abbreviateNumber(totalBends))+\" \")]}}])}),_c(_setup.OverviewDeviceCardStateKpi,{attrs:{\"label\":_vm.$t('report.bend_time_part_overview'),\"deviceState\":_vm.deviceState,\"metric\":\"metric2\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ value: bendTimePart }){return [_vm._v(\" \"+_vm._s(_setup.abbreviateNumberWithUnit(bendTimePart, 'm'))+\" \")]}}])})]},proxy:true},{key:\"actions\",fn:function(){return [_c('b-tooltip',{attrs:{\"type\":\"is-dark\",\"label\":_vm.$t('wcc.overview.actions.open_console')}},[_c('b-button',{attrs:{\"icon-right\":\"bending-color\",\"icon-pack\":\"bys-icon\"},on:{\"click\":function($event){return _setup.emit('click')}}})],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('article',{class:['device-card', { 'is-compact': _setup.compactMode }]},[(!_setup.compactMode)?_c(_setup.DeviceImage,{attrs:{\"device\":_vm.device}}):_vm._e(),_c('div',{staticClass:\"device-card-content\"},[_c('b-loading',{attrs:{\"is-full-page\":false,\"active\":_setup.isFirstLoad,\"data-testid\":\"big-loading\"}}),_c('header',{staticClass:\"device-card-header\"},[_c('div',{staticClass:\"device-card-main-info\"},[_c('div',{staticClass:\"device-card-title\"},[_vm._v(\" \"+_vm._s(_vm.device.name)+\" \")]),_c('div',{staticClass:\"device-card-subtitle-container\"},[_c('span',{staticClass:\"device-card-subtitle-item\",attrs:{\"data-testid\":\"device-model\"}},[_vm._v(\" \"+_vm._s(_vm.device.deviceBaseModelName)+\" \")]),_c('span',{staticClass:\"device-card-subtitle-item\",attrs:{\"data-testid\":\"device-location\"}},[_vm._v(\" \"+_vm._s(_setup.locationName)+\" \")])])]),_c('div',{staticClass:\"device-card-state-wrapper\"},[(_setup.hasStateSlot)?[_c('div',{staticClass:\"device-card-state\"},[_vm._t(\"state\")],2),_c('div',{staticClass:\"device-card-last-update\"},[_vm._v(_vm._s(_setup.getDeviceMessage()))])]:(!_setup.isFirstLoad)?_c('div',{staticClass:\"device-card-state no-communication-state\",attrs:{\"data-testid\":\"device-no-comm\"}},[_vm._v(\" \"+_vm._s(_vm.$t('report.no_communication'))+\" \")]):[_vm._t(\"state-loader\",function(){return [_c('b-skeleton',{attrs:{\"width\":\"30%\"}}),_c('b-skeleton',{attrs:{\"width\":\"50%\"}})]})]],2)]),_c('hr'),_c('div',{class:['device-card-kpis', { 'two-columns': _vm.twoKpiGroups }]},[_c('section',{staticClass:\"device-card-main-kpi-container\",attrs:{\"data-testid\":\"left-kpis\"}},[_vm._t(\"kpi-left\")],2),_c('section',{staticClass:\"device-card-right-kpi-container\"},[_vm._t(\"kpi-right\")],2)]),_c('footer',{staticClass:\"device-card-action-container\"},[_vm._t(\"actions\")],2)],1),_c('div',{staticClass:\"little-loading\"},[_c('b-loading',{attrs:{\"is-full-page\":false,\"active\":_setup.loading && !_setup.isFirstLoad}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-image',{key:_vm.device.deviceBaseModelId,staticClass:\"device-image\",attrs:{\"src\":`https://${_vm.blobStorageName}.blob.core.windows.net/images/${_vm.device.deviceBaseModelId}.webp`,\"src-fallback\":\"images/no-image.png\",\"ratio\":_vm.ratio},scopedSlots:_vm._u([{key:\"placeholder\",fn:function(){return [_c('b-skeleton',{staticClass:\"placeholder\",attrs:{\"height\":\"100%\"}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Device } from '@/models/device';\nimport environment from '@/utils/environment';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class DeviceImage extends Vue {\n @Prop({ required: true })\n private device!: Device;\n\n @Prop({ required: false, default: '3by1' })\n private ratio!: string;\n\n private get blobStorageName(): string {\n return environment.getDataStorageBlobName();\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nexport enum CutLayoutTab {\n CutOverview,\n CutCurrentWorkload,\n CutIntradayStates,\n CutTrends,\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceImage.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceImage.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DeviceImage.vue?vue&type=template&id=33f2f4e3&scoped=true\"\nimport script from \"./DeviceImage.vue?vue&type=script&lang=ts\"\nexport * from \"./DeviceImage.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DeviceImage.vue?vue&type=style&index=0&id=33f2f4e3&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"33f2f4e3\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport DeviceImage from '../devices/DeviceImage.vue';\nimport { Device } from '@/models/device';\nimport { DeviceStateData } from '@/models/deviceStateData';\nimport { computed, inject, ref, Ref, useSlots } from 'vue';\nimport { isNil } from '@/utils/misc';\nimport { locationsService } from '@/services/locations.service';\nimport { formatTimeAgo } from '@/utils/dates';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'OverviewDeviceCard',\n props: {\n device: null,\n deviceState: null,\n twoKpiGroups: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n device: Device;\n deviceState: DeviceStateData | undefined;\n twoKpiGroups: boolean;\n};\n\n\n\nconst now = inject>('now', () => ref(new Date()), true);\nconst loading = inject>('loading', () => ref(false), true);\nconst isFirstLoad = inject>('isFirstLoad', () => ref(false), true);\nconst compactMode = inject>('compactMode', () => ref(false), true);\n\nfunction getDeviceMessage(): string {\n if (isNil(props.deviceState?.lastTimestampUtc)) {\n return '';\n }\n\n const lastSeenUtc = new Date(props.deviceState.lastTimestampUtc);\n return formatTimeAgo(lastSeenUtc, now.value);\n}\n\nconst hasStateSlot = computed(() => !isNil(useSlots().state?.()));\n\nconst locationName = computed(() =>\n locationsService.store.findById(props.device.locationId)!.name,\n);\n\nreturn { __sfc: true,props, now, loading, isFirstLoad, compactMode, getDeviceMessage, hasStateSlot, locationName, DeviceImage }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewDeviceCard.vue?vue&type=script&setup=true&lang=ts&generic=T\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewDeviceCard.vue?vue&type=script&setup=true&lang=ts&generic=T\"","import { render, staticRenderFns } from \"./OverviewDeviceCard.vue?vue&type=template&id=45d16bdb&scoped=true\"\nimport script from \"./OverviewDeviceCard.vue?vue&type=script&setup=true&lang=ts&generic=T\"\nexport * from \"./OverviewDeviceCard.vue?vue&type=script&setup=true&lang=ts&generic=T\"\nimport style0 from \"./OverviewDeviceCard.vue?vue&type=style&index=0&id=45d16bdb&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"45d16bdb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.OverviewDeviceCardKpi,{attrs:{\"label\":_vm.label}},[(_setup.isMetricNil)?[_vm._v(\" - \")]:[_vm._t(\"default\",null,{\"value\":_setup.nonNullAssertedMetricValue})]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"device-card-kpi\"},[_c('span',{staticClass:\"device-kpi-title\"},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]),_c('span',{staticClass:\"device-kpi-value\"},[(_setup.isFirstLoad)?_c('b-skeleton',{attrs:{\"width\":\"15%\"}}):_vm._t(\"default\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { inject, Ref, ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'OverviewDeviceCardKpi',\n props: {\n label: null\n },\n setup(__props: any) {\n\n\n\nconst isFirstLoad = inject>('isFirstLoad', () => ref(true), true);\n\nreturn { __sfc: true,isFirstLoad }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewDeviceCardKpi.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewDeviceCardKpi.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./OverviewDeviceCardKpi.vue?vue&type=template&id=dd466542&scoped=true\"\nimport script from \"./OverviewDeviceCardKpi.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./OverviewDeviceCardKpi.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./OverviewDeviceCardKpi.vue?vue&type=style&index=0&id=dd466542&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dd466542\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { DeviceStateData } from '@/models/deviceStateData';\nimport OverviewDeviceCardKpi from './OverviewDeviceCardKpi.vue';\nimport { isNil } from '@/utils/misc';\nimport { computed, inject, ref, Ref } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'OverviewDeviceCardStateKpi',\n props: {\n label: null,\n deviceState: null,\n metric: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n label: string;\n deviceState: DeviceStateData | undefined;\n metric: keyof DeviceStateData;\n};\n\n\n\nconst metricValue = computed(() => props.deviceState?.[props.metric] as number | null);\n\nconst isMetricNil = computed(() => isNil(metricValue.value));\n\n// The compiler won't let me use the TS non null assertion (!) so I had to create this computed property :(\nconst nonNullAssertedMetricValue = computed(() => metricValue.value!);\n\nreturn { __sfc: true,props, metricValue, isMetricNil, nonNullAssertedMetricValue, OverviewDeviceCardKpi }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewDeviceCardStateKpi.vue?vue&type=script&setup=true&lang=ts&generic=T\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewDeviceCardStateKpi.vue?vue&type=script&setup=true&lang=ts&generic=T\"","import { render, staticRenderFns } from \"./OverviewDeviceCardStateKpi.vue?vue&type=template&id=5485712d\"\nimport script from \"./OverviewDeviceCardStateKpi.vue?vue&type=script&setup=true&lang=ts&generic=T\"\nexport * from \"./OverviewDeviceCardStateKpi.vue?vue&type=script&setup=true&lang=ts&generic=T\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport OverviewDeviceCard from './OverviewDeviceCard.vue';\nimport OverviewDeviceCardStateKpi from './OverviewDeviceCardStateKpi.vue';\nimport { Device } from '@/models/device';\nimport { LaserTubeDeviceStateData } from '@/models/deviceStateData';\nimport { getStateCss } from '@/utils/color';\nimport { isNil } from '@/utils/misc';\nimport { abbreviateNumber, abbreviateNumberWithUnit } from '@/utils/number';\nimport { computed } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'OverviewBendDeviceCard',\n props: {\n device: null,\n deviceState: null\n },\n emits: ['click'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n device: Device;\n /**\n * Object containing the information about state and metrics of the device.\n * Can be undefined if there is no data for the device.\n */\n deviceState: LaserTubeDeviceStateData | undefined; // This old card still uses the old SP and thus its model/schema\n};\n\n\n\n\n\nconst hasState = computed(() => !isNil(props.deviceState?.lastState));\n\nconst stateStyle = computed(() => getStateCss(props.deviceState!.lastState!));\n\nreturn { __sfc: true,props, emit, hasState, stateStyle, OverviewDeviceCard, OverviewDeviceCardStateKpi, abbreviateNumber, abbreviateNumberWithUnit }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewBendDeviceCard.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewBendDeviceCard.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./OverviewBendDeviceCard.vue?vue&type=template&id=5fe4e076\"\nimport script from \"./OverviewBendDeviceCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./OverviewBendDeviceCard.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.OverviewDeviceCard,{staticClass:\"overview-new-bend-device-card\",attrs:{\"device\":_vm.device,\"deviceState\":_vm.deviceState,\"twoKpiGroups\":\"\"},scopedSlots:_vm._u([{key:\"state\",fn:function(){return [(_setup.hasState)?_c('p',[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('new_bend_overview_card.last_bend'))+\": \")]),_c('span',{staticClass:\"last-bend-message\"},[_vm._v(_vm._s(_setup.lastBendMessage))])]):_vm._e()]},proxy:true},{key:\"state-loader\",fn:function(){return [_c('b-skeleton',{attrs:{\"width\":\"80%\"}}),_c('b-skeleton',{attrs:{\"width\":\"30%\"}})]},proxy:true},{key:\"kpi-left\",fn:function(){return [_c(_setup.OverviewDeviceCardStateKpi,{attrs:{\"label\":_vm.$t('new_bend_overview_card.high_flow_time'),\"deviceState\":_vm.deviceState,\"metric\":\"metric0\",\"data-testid\":\"high-flow-time\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ value: highFlowTime }){return [_vm._v(\" \"+_vm._s(_setup.abbreviateNumberWithUnit(highFlowTime, 'h'))+\" \")]}}])}),_c(_setup.OverviewDeviceCardStateKpi,{attrs:{\"label\":_vm.$t('new_bend_overview_card.total_bends'),\"deviceState\":_vm.deviceState,\"metric\":\"metric1\",\"data-testid\":\"total-bends\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ value: totalBends }){return [_vm._v(\" \"+_vm._s(_setup.abbreviateNumber(totalBends))+\" \")]}}])}),_c(_setup.OverviewDeviceCardStateKpi,{attrs:{\"label\":_vm.$t('new_bend_overview_card.bends_per_hour'),\"deviceState\":_vm.deviceState,\"metric\":\"metric2\",\"data-testid\":\"bends-per-hour\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ value: bendsPerHour }){return [_vm._v(\" \"+_vm._s(_setup.abbreviateNumber(bendsPerHour))+\" \")]}}])})]},proxy:true},(_setup.shouldShowCurrentPlan)?{key:\"kpi-right\",fn:function(){return [_c('div',{staticClass:\"device-card-plans-container\"},[_c(_setup.OverviewDeviceCardKpi,{attrs:{\"loading\":_setup.isCurrentPlanLoading && _setup.isFirstCurrentPlanLoad,\"label\":_vm.$t('new_bend_overview_card.part_plan'),\"width\":\"80%\",\"data-testid\":\"current-plan-name\"}},[_vm._v(\" \"+_vm._s(_setup.currentPlan?.name)+\" \")]),_c(_setup.OverviewDeviceCardKpiList,{attrs:{\"loading\":_setup.isCurrentPlanLoading && _setup.isFirstCurrentPlanLoad,\"width\":\"70%\",\"leftLabel\":_vm.$t('new_bend_overview_card.current_plan_bend_count'),\"rightLabel\":_vm.$t('new_bend_overview_card.current_plan_part_count')},scopedSlots:_vm._u([{key:\"left\",fn:function(){return [_c('span',{attrs:{\"data-testid\":\"current-plan-bend-count\"}},[_vm._v(\" \"+_vm._s(_setup.currentPlan?.bendCount)+\" \")])]},proxy:true},{key:\"right\",fn:function(){return [_c('span',{attrs:{\"data-testid\":\"current-plan-part-count\"}},[_vm._v(\" \"+_vm._s(_setup.currentPlan?.partCount)+\" \")])]},proxy:true}],null,false,282415762)})],1)]},proxy:true}:null,{key:\"actions\",fn:function(){return [_c('b-tooltip',{attrs:{\"type\":\"is-dark\",\"label\":_vm.$t('wcc.overview.actions.open_console')}},[_c('b-button',{attrs:{\"icon-right\":\"bending-color\",\"icon-pack\":\"bys-icon\"},on:{\"click\":function($event){return _setup.emit('click')}}})],1)]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { metricsService } from '@/services/metrics.service';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { WidgetEnum } from '../enums/WidgetEnum';\nimport { DataRetriever } from './abstract/chartGenerator';\nimport { CurrentBendPlanData } from '@/models/deviceStateData';\n\n/**\n * Used by (new) bend device cards to retrieve data about the current plan.\n */\nexport class CurrentBendPlanDataRetriever extends DataRetriever\n{\n constructor(private customerIdDh: number) {\n super(WidgetEnum.OverviewBendCurrentPlan);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): Promise {\n return await metricsService.getBendingDevicesMetrics(\n this.procedure,\n {\n customerIdDh: this.customerIdDh,\n deviceStringIds: selectedDevices,\n },\n this.controller,\n );\n }\n\n async getDataForDevice(device: string): Promise {\n // We get the current plan, independently of the shift and time span\n return this.getData([device], [], FilterTimeSpanEnum.None);\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"device-card-kpi device-card-kpi-list\"},[(_setup.isFirstLoad)?_c('b-skeleton',{attrs:{\"width\":_vm.width}}):[_c(_setup.OverviewDeviceCardKpi,{staticClass:\"device-card-kpi-list-item\",attrs:{\"label\":_vm.leftLabel,\"width\":\"0\"}},[_vm._t(\"left\")],2),_c(_setup.OverviewDeviceCardKpi,{attrs:{\"label\":_vm.rightLabel,\"width\":\"0\"}},[_vm._t(\"right\")],2)]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { inject, Ref, ref } from 'vue';\nimport OverviewDeviceCardKpi from './OverviewDeviceCardKpi.vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'OverviewDeviceCardKpiList',\n props: {\n width: null,\n leftLabel: null,\n rightLabel: null\n },\n setup(__props: any) {\n\n\n\nconst isFirstLoad = inject>('isFirstLoad', () => ref(true), true);\n\nreturn { __sfc: true,isFirstLoad, OverviewDeviceCardKpi }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewDeviceCardKpiList.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewDeviceCardKpiList.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./OverviewDeviceCardKpiList.vue?vue&type=template&id=2baaa972&scoped=true\"\nimport script from \"./OverviewDeviceCardKpiList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./OverviewDeviceCardKpiList.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./OverviewDeviceCardKpiList.vue?vue&type=style&index=0&id=2baaa972&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2baaa972\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport OverviewDeviceCard from './OverviewDeviceCard.vue';\nimport OverviewDeviceCardStateKpi from './OverviewDeviceCardStateKpi.vue';\nimport { Device } from '@/models/device';\nimport { BendDeviceStateData, CurrentBendPlanData } from '@/models/deviceStateData';\nimport { isNil } from '@/utils/misc';\nimport { abbreviateNumber, abbreviateNumberWithUnit } from '@/utils/number';\nimport { computed, inject, onMounted, Ref, ref } from 'vue';\nimport { formatTimeAgo } from '@/utils/dates';\nimport { currentCustomer } from '@/utils/permissionUtils';\nimport { CurrentBendPlanDataRetriever } from '@/models/Charts/currentBendPlanDataRetriever';\nimport OverviewDeviceCardKpiList\n from '@/components/workCenterConsole/OverviewDeviceCardKpiList.vue';\nimport OverviewDeviceCardKpi from '@/components/workCenterConsole/OverviewDeviceCardKpi.vue';\nimport { useInterval } from '@/composables/misc';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'OverviewNewBendDeviceCard',\n props: {\n device: null,\n deviceState: null\n },\n emits: ['click'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n device: Device;\n /**\n * Object containing the information about state and metrics of the device.\n * Can be undefined if there is no data for the device.\n */\n deviceState: BendDeviceStateData | undefined;\n};\n\n\n\n\n\nconst currentPlan = ref(null);\nconst isCurrentPlanLoading = ref(false);\nconst isFirstCurrentPlanLoad = ref(true);\nconst currentPlanDataRetriever = new CurrentBendPlanDataRetriever(currentCustomer()!.tenantIdDh);\n\nconst now = inject>('now', () => ref(new Date()), true);\n\nconst hasCustomerDataPlatform = computed(\n () => currentCustomer()!.hasDataPlatform,\n);\n\nif (hasCustomerDataPlatform.value) {\n useInterval(updateCurrentPlanData, 30);\n}\n\nonMounted(async () => {\n if (hasCustomerDataPlatform.value) {\n await updateCurrentPlanData();\n isFirstCurrentPlanLoad.value = false;\n }\n});\n\nasync function updateCurrentPlanData() {\n try {\n currentPlanDataRetriever.abort();\n isCurrentPlanLoading.value = true;\n\n currentPlan.value = await currentPlanDataRetriever.getDataForDevice(props.device.deviceId);\n } finally {\n isCurrentPlanLoading.value = false;\n }\n}\n\nconst lastBendMessage = computed(() => {\n if (!hasState) {\n return '';\n }\n\n const lastSeenUtc = new Date(props.deviceState!.lastState!);\n return formatTimeAgo(lastSeenUtc, now.value);\n});\n\nconst hasState = computed(() => !isNil(props.deviceState?.lastState));\n\nconst shouldShowCurrentPlan = computed(\n () =>\n hasCustomerDataPlatform.value &&\n (!isNil(currentPlan.value) || isCurrentPlanLoading.value),\n);\n\nreturn { __sfc: true,props, emit, currentPlan, isCurrentPlanLoading, isFirstCurrentPlanLoad, currentPlanDataRetriever, now, hasCustomerDataPlatform, updateCurrentPlanData, lastBendMessage, hasState, shouldShowCurrentPlan, OverviewDeviceCard, OverviewDeviceCardStateKpi, abbreviateNumber, abbreviateNumberWithUnit, OverviewDeviceCardKpiList, OverviewDeviceCardKpi }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewNewBendDeviceCard.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewNewBendDeviceCard.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./OverviewNewBendDeviceCard.vue?vue&type=template&id=982c00e2&scoped=true\"\nimport script from \"./OverviewNewBendDeviceCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./OverviewNewBendDeviceCard.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./OverviewNewBendDeviceCard.vue?vue&type=style&index=0&id=982c00e2&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"982c00e2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.OverviewDeviceCard,{staticClass:\"overview-laser-tube-device-card\",attrs:{\"device\":_vm.device,\"deviceState\":_vm.deviceState,\"twoKpiGroups\":_vm.device.isCut()},scopedSlots:_vm._u([{key:\"state\",fn:function(){return [(_setup.hasState)?_c('span',{style:(_setup.stateStyle)},[_vm._v(\" \"+_vm._s(_vm.$t(`report.${_vm.deviceState.lastState}`))+\" \")]):_vm._e()]},proxy:true},{key:\"kpi-left\",fn:function(){return [_c(_setup.OverviewDeviceCardStateKpi,{attrs:{\"label\":_vm.$t('report.laser_label'),\"deviceState\":_vm.deviceState,\"metric\":\"metric0\",\"data-testid\":\"cutting-time\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ value: cuttingTime }){return [_vm._v(\" \"+_vm._s(_setup.abbreviateNumberWithUnit(cuttingTime, 'h'))+\" \")]}}])}),_c(_setup.OverviewDeviceCardStateKpi,{attrs:{\"label\":_vm.$t('report.work'),\"deviceState\":_vm.deviceState,\"metric\":\"metric1\",\"data-testid\":\"working-time\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ value: workingTime }){return [_vm._v(\" \"+_vm._s(_setup.abbreviateNumberWithUnit(workingTime, 'h'))+\" \")]}}])}),_c(_setup.OverviewDeviceCardStateKpi,{attrs:{\"label\":_vm.$t('report.oee'),\"deviceState\":_vm.deviceState,\"metric\":\"metric2\",\"data-testid\":\"oee-percentage\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ value: oee }){return [_vm._v(\" \"+_vm._s(_setup.formatPercentage(oee))+\" \")]}}])})]},proxy:true},(_setup.showWorkload)?{key:\"kpi-right\",fn:function(){return [_c('div',{staticClass:\"device-card-plans-container\"},[_c(_setup.OverviewDeviceCardKpi,{attrs:{\"label\":_vm.$t('report.plan'),\"width\":\"80%\",\"data-testid\":\"cutting-plan-name\"}},[_vm._v(\" \"+_vm._s(_setup.currentPlan.name)+\" \")]),_c(_setup.OverviewDeviceCardKpiList,{attrs:{\"width\":\"70%\",\"leftLabel\":_vm.$t('report.runs'),\"rightLabel\":_vm.$t('report.parts')},scopedSlots:_vm._u([{key:\"left\",fn:function(){return [_c('span',{attrs:{\"data-testid\":\"cutting-plan-runs\"}},[_vm._v(\" \"+_vm._s(_setup.currentPlan.completedRuns)+\"/\"+_vm._s(_setup.currentPlan.totalRuns)+\" \")])]},proxy:true},{key:\"right\",fn:function(){return [_c('span',{attrs:{\"data-testid\":\"cutting-plan-parts\"}},[_vm._v(\" \"+_vm._s(_setup.currentPlan.completedParts)+\"/\"+_vm._s(_setup.currentPlan.totalParts)+\" \")])]},proxy:true}],null,false,1786347436)}),_c(_setup.OverviewDeviceCardKpi,{attrs:{\"label\":_vm.$t('report.progress'),\"width\":\"50%\",\"data-testid\":\"cutting-plan-progress\"}},[_vm._v(\" \"+_vm._s(_setup.formatPercentage(_setup.currentPlan.progress * 100, 0))+\" \")])],1)]},proxy:true}:null,{key:\"actions\",fn:function(){return [_c('b-tooltip',{attrs:{\"type\":\"is-dark\",\"label\":_vm.$t('wcc.overview.actions.open_console')}},[_c('b-button',{attrs:{\"icon-right\":_setup.navigationButtonIcon,\"icon-pack\":\"bys-icon\"},on:{\"click\":function($event){return _setup.emit('click')}}})],1),(_setup.showMessagesIcon)?_c('b-tooltip',{attrs:{\"type\":\"is-dark\",\"label\":_vm.$t('wcc.overview.actions.see_messages')}},[_c(_setup.ActionBubble,{staticClass:\"messages-button\",attrs:{\"active\":!_setup.isNil(_setup.workloadData) && !_setup.isEmpty(_setup.workloadData.currentMessages),\"label\":_setup.bubbleLabel,\"type\":_setup.bubbleType}},[_c('b-button',{attrs:{\"icon-right\":\"message\"},on:{\"click\":function($event){return _setup.openMessageModal()}}})],1)],1):_vm._e()]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { metricsService } from '@/services/metrics.service';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { WidgetEnum } from '../enums/WidgetEnum';\nimport { DataRetriever } from './abstract/chartGenerator';\nimport { CutDeviceCurrentWorkloadData } from './chartsData';\n\nexport class WorkCenterConsoleOverviewLaserWorkloadDataRetriever extends DataRetriever {\n constructor(private tenantIdDh: number) {\n super(WidgetEnum.OverviewLaserWorkload);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): Promise {\n return await metricsService.getDeviceCurrentWorkload(\n selectedDevices[0],\n this.tenantIdDh,\n this.controller,\n );\n }\n\n async getDataForDevice(selectedDevice: string) {\n return this.getData([selectedDevice], [], FilterTimeSpanEnum.None);\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport ActionBubble, { BubbleType } from '../ActionBubble.vue';\nimport OverviewDeviceCardKpi from './OverviewDeviceCardKpi.vue';\nimport OverviewDeviceCardKpiList from './OverviewDeviceCardKpiList.vue';\nimport OverviewDeviceCard from './OverviewDeviceCard.vue';\nimport OverviewDeviceCardStateKpi from './OverviewDeviceCardStateKpi.vue';\nimport { Device } from '@/models/device';\nimport { LaserTubeDeviceStateData } from '@/models/deviceStateData';\nimport { computed, getCurrentInstance, onBeforeUnmount, onMounted, ref } from 'vue';\nimport {\n CutCurrentWorkloadDataPlanInfo,\n CutDeviceCurrentWorkloadData,\n MessageType,\n} from '@/models/Charts/chartsData';\nimport { WorkCenterConsoleOverviewLaserWorkloadDataRetriever } from '@/models/Charts/workCenterConsoleOverviewLaserWorkloadDataRetriever';\nimport { currentCustomer, currentUser } from '@/utils/permissionUtils';\nimport { modalService } from '@/library-services/modal.service';\nimport CutCellControlActiveMessagesModal from '../cut/CutCellControlActiveMessagesModal.vue';\nimport { BetaFeature } from '@/models/enums/BetaFeature';\nimport { isEmpty, isNil } from '@/utils/misc';\nimport { getStateCss } from '@/utils/color';\nimport { abbreviateNumberWithUnit, formatPercentage } from '@/utils/number';\nimport { useInterval } from '@/composables/misc';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'OverviewLaserTubeDeviceCard',\n props: {\n device: null,\n deviceState: null\n },\n emits: ['click'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n device: Device;\n /**\n * Object containing the information about state and metrics of the device.\n * Can be undefined if there is no data for the device.\n */\n deviceState: LaserTubeDeviceStateData | undefined;\n};\n\n\n\n\n\nconst workloadData = ref(null);\nconst workloadLoading = ref(false);\nconst isFirstWorkloadLoad = ref(true);\n\nconst workloadRetriever = new WorkCenterConsoleOverviewLaserWorkloadDataRetriever(\n currentCustomer()!.tenantIdDh,\n);\n\nif (props.device.isCut()) {\n useInterval(getWorkloadData, 30);\n}\n\nonMounted(async () => {\n if (\n hasCurrentWorkloadBetaFeature.value &&\n customerHasDataPlatform.value &&\n props.device.isCut()\n ) {\n await getWorkloadData();\n isFirstWorkloadLoad.value = false;\n }\n});\n\nasync function getWorkloadData() {\n try {\n workloadRetriever.abort();\n workloadLoading.value = true;\n workloadData.value = await workloadRetriever.getDataForDevice(props.device.deviceId);\n } finally {\n workloadLoading.value = false;\n }\n}\n\nconst app = getCurrentInstance();\nasync function openMessageModal() {\n modalService.compositionApi.open(\n {\n component: CutCellControlActiveMessagesModal,\n props: {\n messages: workloadData.value?.currentMessages,\n },\n },\n app,\n );\n}\n\nconst hasCuttingPlans = computed(\n () => props.device.isCut() && !isEmpty(workloadData.value?.cuttingPlanInfo),\n);\n\nconst currentPlan = computed(\n () =>\n workloadData.value?.cuttingPlanInfo.find((plan) => plan.progress < COMPLETED_PROGRESS_VALUE) ??\n workloadData.value?.cuttingPlanInfo[0] ??\n CUTTING_PLAN_INFO_NULL_OBJECT,\n);\n\nconst hasCurrentWorkloadBetaFeature = computed(() =>\n currentUser().hasBetaFeature(BetaFeature.WorkCenterConsoleCutCurrentWorkload),\n);\n\nconst customerHasDataPlatform = computed(() => currentCustomer()?.hasDataPlatform ?? false);\n\nconst showWorkload = computed(\n () =>\n hasCurrentWorkloadBetaFeature.value &&\n customerHasDataPlatform.value &&\n (hasCuttingPlans.value || workloadLoading.value),\n);\n\nconst bubbleLabel = computed(() => {\n if (isEmpty(workloadData.value?.currentMessages)) {\n return undefined;\n }\n return workloadData.value?.currentMessages.length.toString();\n});\n\nconst bubbleType = computed(() => {\n if (isEmpty(workloadData.value?.currentMessages)) {\n return undefined;\n }\n if (workloadData.value?.currentMessages.some((x) => x.messageLevel === MessageType.Error)) {\n return 'is-danger';\n }\n if (workloadData.value?.currentMessages.some((x) => x.messageLevel === MessageType.Warning)) {\n return 'is-warning';\n }\n return 'is-info';\n});\n\nconst navigationButtonIcon = computed(() => {\n if (props.device.isCut()) {\n return 'cutting-color';\n }\n if (props.device.isTube()) {\n return 'tube-color';\n }\n return '';\n});\n\nconst showMessagesIcon = computed(\n () =>\n hasCurrentWorkloadBetaFeature.value && customerHasDataPlatform.value && props.device.isCut(),\n);\n\nconst hasState = computed(() => !isNil(props.deviceState?.lastState));\n\nconst stateStyle = computed(() => getStateCss(props.deviceState!.lastState!));\n\nonBeforeUnmount(() => {\n workloadRetriever.abort();\n});\n\nconst COMPLETED_PROGRESS_VALUE = 1;\nconst CUTTING_PLAN_INFO_NULL_OBJECT: CutCurrentWorkloadDataPlanInfo = {\n name: '',\n totalParts: 1,\n completedParts: 0,\n totalRuns: 1,\n completedRuns: 0,\n progress: 0,\n} as CutCurrentWorkloadDataPlanInfo;\n\nreturn { __sfc: true,props, emit, workloadData, workloadLoading, isFirstWorkloadLoad, workloadRetriever, getWorkloadData, app, openMessageModal, hasCuttingPlans, currentPlan, hasCurrentWorkloadBetaFeature, customerHasDataPlatform, showWorkload, bubbleLabel, bubbleType, navigationButtonIcon, showMessagesIcon, hasState, stateStyle, COMPLETED_PROGRESS_VALUE, CUTTING_PLAN_INFO_NULL_OBJECT, ActionBubble, OverviewDeviceCardKpi, OverviewDeviceCardKpiList, OverviewDeviceCard, OverviewDeviceCardStateKpi, isEmpty, isNil, abbreviateNumberWithUnit, formatPercentage }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewLaserTubeDeviceCard.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewLaserTubeDeviceCard.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./OverviewLaserTubeDeviceCard.vue?vue&type=template&id=3d40a59e&scoped=true\"\nimport script from \"./OverviewLaserTubeDeviceCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./OverviewLaserTubeDeviceCard.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./OverviewLaserTubeDeviceCard.vue?vue&type=style&index=0&id=3d40a59e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d40a59e\",\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { metricsService } from '@/services/metrics.service';\nimport { BendDeviceStateData } from '../deviceStateData';\nimport { FilterTimeSpanEnum } from '../enums/FilterTimeSpanEnum';\nimport { DataRetriever, ProcedureName } from './abstract/chartGenerator';\n\nexport default class WorkCenterConsoleOverviewBendingDevicesStateDataRetriever extends DataRetriever<\n BendDeviceStateData[]\n> {\n constructor(procedure: ProcedureName, private customerIdDh: number) {\n super(procedure);\n }\n\n override async getData(\n selectedDevices: string[],\n selectedShifts: number[],\n timeSpan: FilterTimeSpanEnum | [string, string],\n ): Promise {\n return await metricsService.getBendingDevicesMetrics(\n this.procedure,\n {\n customerIdDh: this.customerIdDh,\n deviceStringIds: selectedDevices,\n shiftIds: selectedShifts,\n timeSpan: timeSpan as FilterTimeSpanEnum,\n // TODO statesOnly?\n },\n this.controller,\n );\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { useRouter } from '@/composables/router';\nimport { localStorageService } from '@/library-services/localStorage.service';\nimport { WorkCenterConsoleOverviewStateDataRetriever } from '@/models/Charts/workCenterConsoleOverviewStateDataRetriever';\nimport { Device } from '@/models/device';\nimport { BendDeviceStateData, LaserTubeDeviceStateData } from '@/models/deviceStateData';\nimport { BetaFeature } from '@/models/enums/BetaFeature';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { MachineType } from '@/models/enums/MachineType';\nimport { Routes } from '@/router/routes';\nimport { devicesService } from '@/services/devices.service';\nimport { locationsService } from '@/services/locations.service';\nimport { shiftsService } from '@/services/shifts.service';\nimport { customersService } from '@/services/tenants.service';\nimport { Logger } from '@/utils/logger';\nimport { isEmpty, isNil } from '@/utils/misc';\nimport { versionIsGreaterThanOrEqualTo } from '@/utils/version';\nimport { computed, onBeforeUnmount, onMounted, provide, ref, watch } from 'vue';\nimport TimeSpanFilter from '@/components/TimeSpanFilter.vue';\nimport ShiftFilter from '@/components/ShiftFilter.vue';\nimport OverviewBendDeviceCard from '@/components/workCenterConsole/OverviewBendDeviceCard.vue';\nimport OverviewNewBendDeviceCard from '@/components/workCenterConsole/OverviewNewBendDeviceCard.vue';\nimport OverviewLaserTubeDeviceCard from '@/components/workCenterConsole/OverviewLaserTubeDeviceCard.vue';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { useInterval } from '@/composables/misc';\nimport { currentCustomer, currentUser } from '@/utils/permissionUtils';\nimport WorkCenterConsoleOverviewBendingDevicesStateDataRetriever from '@/models/Charts/workCenterConsoleOverviewBendingDevicesStateDataRetriever';\nimport { Customer } from '@/models/tenant';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'WorkCenterConsoleOverview',\n setup(__props) {\n\nconst compactMode = ref(localStorageService.compactMode);\nprovide('compactMode', compactMode);\n\nconst now = ref(new Date());\nprovide('now', now);\n\nconst loading = ref(false);\nprovide('loading', loading);\n\nconst isFirstLoad = ref(true);\nprovide('isFirstLoad', isFirstLoad);\n\nconst laserTubeDeviceStates = ref([]);\nconst bendDeviceStates = ref([]);\n\nconst selectedTimespan = ref(FilterTimeSpanEnum.Day);\nconst selectedShiftIds = ref([]);\n\nconst statesDataRetriever = new WorkCenterConsoleOverviewStateDataRetriever(\n WidgetEnum.OverviewData,\n currentCustomer()!.tenantIdDh,\n);\nconst bendingDevicesStatesDataRetriever =\n new WorkCenterConsoleOverviewBendingDevicesStateDataRetriever(\n WidgetEnum.OverviewData,\n currentCustomer()!.tenantIdDh,\n );\n\nconst router = useRouter();\n\nuseInterval(updateStatuses, 30);\nuseInterval(() => (now.value = new Date()), 1);\n\nonMounted(() => {\n // This mustn't be awaited. Otherwise, the setInterval calls might be done\n // after the clean-up in beforeDestroy. This can happen if the user\n // navigates away before this call returns.\n updateStatuses(true);\n});\n\nasync function updateStatuses(isFirstExec = false) {\n loading.value = true;\n statesDataRetriever.abort();\n\n try {\n laserTubeDeviceStates.value = await retrieveLaserTubeDeviceStates(isFirstExec);\n bendDeviceStates.value = await retrieveBendDeviceStates(isFirstExec);\n } finally {\n loading.value = false;\n isFirstLoad.value = false;\n }\n\n if (isFirstExec) {\n updateStatuses();\n }\n}\n\nasync function retrieveLaserTubeDeviceStates(\n isFirstExec: boolean,\n): Promise {\n return await retrieveStatesData(laserTubeDeviceIds.value, isFirstExec);\n}\n\nasync function retrieveBendDeviceStates(\n isFirstExec: boolean,\n): Promise {\n if (shouldShowNewBendDeviceCard.value) {\n return await bendingDevicesStatesDataRetriever.getData(\n bendDeviceIds.value,\n selectedShiftIds.value,\n selectedTimespan.value,\n );\n }\n return await retrieveStatesData(bendDeviceIds.value, isFirstExec);\n}\n\nasync function retrieveStatesData(\n deviceIds: string[],\n isFirstExec: boolean,\n): Promise {\n return await statesDataRetriever.getData(\n deviceIds,\n selectedShiftIds.value,\n selectedTimespan.value,\n undefined,\n {\n statesOnly: isFirstExec,\n },\n );\n}\n\n// FIXME: Code duplication with Chart.onClickEvent\nfunction goToDevice(device: Device) {\n let route: Routes;\n\n switch (device.getType()) {\n case MachineType.Cut:\n route = Routes.Cut;\n break;\n case MachineType.Bend:\n route = Routes.Bend;\n break;\n case MachineType.Tube:\n route = Routes.Tubes;\n break;\n default:\n Logger.error('Wrong device type', device.getType());\n return;\n }\n\n router.push({\n name: route,\n // FIXME: Use URL query parameters instead\n params: {\n selectedDeviceStringId: device.deviceId,\n },\n });\n}\n\nfunction getLaserTubeDeviceState(device: Device): LaserTubeDeviceStateData | undefined {\n return laserTubeDeviceStates.value.find((state) => state.deviceStringId === device.deviceId);\n}\n\nfunction getBendDeviceState(\n device: Device,\n): LaserTubeDeviceStateData | BendDeviceStateData | undefined {\n return bendDeviceStates.value.find((state) => state.deviceStringId === device.deviceId);\n}\n\nfunction getLocationName(device: Device): string {\n return locationsService.store.findById(device.locationId)!.name;\n}\n\nfunction getShiftName(shiftId: number): string {\n return shiftsService.store.getNameById(shiftId);\n}\n\nwatch(compactMode, () => {\n localStorageService.compactMode = compactMode.value;\n});\n\nwatch(\n () => currentUser().isBetaEnabled,\n () => {\n isFirstLoad.value = true;\n laserTubeDeviceStates.value = [];\n bendDeviceStates.value = [];\n updateStatuses();\n },\n);\n\nconst devices = computed(() => {\n if (isEmpty(locationsService.store.getAll())) {\n return [];\n }\n return devicesService.store\n .get()\n .sort(\n (a: Device, b: Device) =>\n (getLocationName(a).localeCompare(getLocationName(b)) ?? 0) ||\n a.deviceId[0].localeCompare(b.deviceId[0]) ||\n a.name.localeCompare(b.name),\n );\n});\n\nconst devicesInSelectedShifts = computed(() => {\n if (isEmpty(selectedShiftIds.value)) {\n return devices.value;\n }\n const shifts = shiftsService.store.getMatchingIds(selectedShiftIds.value);\n const relatedDevices = shifts.flatMap((shift) => shift.relatedDevices);\n return devices.value.filter((device) => relatedDevices.includes(device.id));\n});\n\nconst shouldShowNewBendDeviceCard = computed(\n () =>\n !isNil(customer.value.maxDataPlatformVersion) &&\n versionIsGreaterThanOrEqualTo('1.3.0', customer.value.maxDataPlatformVersion) &&\n currentUser().hasBetaFeature(BetaFeature.WorkCenterConsoleBendSummary),\n);\n\nconst deviceIds = computed(() => devices.value.map((device) => device.deviceId));\n\nconst bendDeviceIds = computed(() =>\n devicesService.store.bendDevices().map((device) => device.deviceId),\n);\n\nconst laserTubeDeviceIds = computed(() =>\n [...devicesService.store.cutDevices(), ...devicesService.store.tubeDevices()].map(\n (device) => device.deviceId,\n ),\n);\n\nconst customer = computed(() => customersService.store.current()!);\n\nonBeforeUnmount(() => {\n statesDataRetriever.abort();\n});\n\nreturn { __sfc: true,compactMode, now, loading, isFirstLoad, laserTubeDeviceStates, bendDeviceStates, selectedTimespan, selectedShiftIds, statesDataRetriever, bendingDevicesStatesDataRetriever, router, updateStatuses, retrieveLaserTubeDeviceStates, retrieveBendDeviceStates, retrieveStatesData, goToDevice, getLaserTubeDeviceState, getBendDeviceState, getLocationName, getShiftName, devices, devicesInSelectedShifts, shouldShowNewBendDeviceCard, deviceIds, bendDeviceIds, laserTubeDeviceIds, customer, isEmpty, TimeSpanFilter, ShiftFilter, OverviewBendDeviceCard, OverviewNewBendDeviceCard, OverviewLaserTubeDeviceCard }\n}\n\n})","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WorkCenterConsoleOverview.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WorkCenterConsoleOverview.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./WorkCenterConsoleOverview.vue?vue&type=template&id=73635e12&scoped=true\"\nimport script from \"./WorkCenterConsoleOverview.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkCenterConsoleOverview.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./WorkCenterConsoleOverview.vue?vue&type=style&index=0&id=73635e12&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"73635e12\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"main\"},[_c('div',{staticClass:\"filter\"},[_c('multiple-selection-filters-header',{attrs:{\"selectedEquipment\":_vm.activeDevices,\"selectedShifts\":_vm.activeShifts,\"showShifts\":_vm.showShiftFilter}}),_c('div',{staticClass:\"filter-buttons\"},[(_vm.showDateRangeFilter)?_c('b-datepicker',{ref:\"dateRangePicker\",attrs:{\"position\":\"is-bottom-left\",\"placeholder\":_vm.$t('report.select_date'),\"icon\":\"calendar-range\",\"size\":\"is-small\",\"range\":\"\",\"mobile-native\":false,\"data-testid\":\"date-range-filter\"},model:{value:(_vm.dateRangeSelection),callback:function ($$v) {_vm.dateRangeSelection=$$v},expression:\"dateRangeSelection\"}}):_vm._e(),(_vm.showDateRangeFilter)?_c('div',{staticClass:\"mobile-datepicker\",on:{\"click\":_vm.toggleDatepicker}},[_c('b-icon',{staticClass:\"ipad-btns\",attrs:{\"icon\":\"calendar-range\"}})],1):_vm._e(),(_vm.showDateGroupingFilter)?_c('date-grouping-filter',{attrs:{\"data-testid\":\"date-grouping-filter\"},model:{value:(_vm.selectedTimeAxisSpan),callback:function ($$v) {_vm.selectedTimeAxisSpan=$$v},expression:\"selectedTimeAxisSpan\"}}):_vm._e(),(_vm.showTimeSpanFilter)?_c('time-span-filter',{model:{value:(_vm.selectedTimespan),callback:function ($$v) {_vm.selectedTimespan=$$v},expression:\"selectedTimespan\"}}):_vm._e(),(_vm.showShiftFilter)?_c('shift-filter',{attrs:{\"selectedDeviceIds\":_vm.selectedDeviceIds,\"machineType\":_vm.MachineType.Cut},model:{value:(_vm.selectedShiftIds),callback:function ($$v) {_vm.selectedShiftIds=$$v},expression:\"selectedShiftIds\"}}):_vm._e(),_c('equipment-filter',{attrs:{\"type\":_vm.MachineType.Cut},model:{value:(_vm.selectedDeviceIds),callback:function ($$v) {_vm.selectedDeviceIds=$$v},expression:\"selectedDeviceIds\"}})],1)],1),_c('cut-layout',{attrs:{\"activeTab\":_vm.activeTab,\"selectedDevices\":_vm.activeDeviceIds,\"dateRange\":_vm.dateRangeSelection,\"selectedTimespan\":_vm.selectedTimespan,\"selectedShifts\":_vm.selectedShiftIds,\"selectedTimeAxisSpan\":_vm.selectedTimeAxisSpan},on:{\"change:tab\":function($event){return _vm.onActiveTabChanged($event)}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.areWidgetDefinitionsReady)?_c('b-tabs',{staticClass:\"cut-layout\",on:{\"input\":function($event){return _vm.onTabChanged($event)}},model:{value:(_vm.activeTabInternal),callback:function ($$v) {_vm.activeTabInternal=$$v},expression:\"activeTabInternal\"}},[_c('b-tab-item',{attrs:{\"label\":_vm.$t('report.overview')}},[(_vm.activeTabInternal === _vm.CutLayoutTab.CutOverview)?_c('layout-grid',{attrs:{\"layout\":_vm.gridLayout},scopedSlots:_vm._u([_vm._l((_vm.widgetDefinitions),function(wd,i){return {key:`widget-${wd.index}`,fn:function(){return [_c('widget-container',{key:`cut-overview-${wd.index}`,attrs:{\"widgetDefinition\":wd,\"threeDotsInnerPosition\":wd.index === 2 || wd.index === 5 ? 'is-left' : 'is-right',\"widgetHelpPosition\":wd.index === 2 || wd.index === 5 ? 'is-bottom-left' : 'is-bottom-right'},on:{\"aggregate-change\":function($event){return _vm.updateAggregate(i, $event)},\"change\":function($event){return _vm.updateWidgetDefinition(i, $event)}}})]},proxy:true}})],null,true)}):_vm._e()],1),_c('b-tab-item',{attrs:{\"visible\":_vm.hasCurrentWorkloadBetaFeature && _vm.customerHasDataPlatform,\"headerClass\":\"current-workload-tab\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('span',{staticClass:\"beta-tab\"},[_vm._v(_vm._s(_vm.$t('report.current_workload'))+\" \"),_c('new-feature-badge')],1)]},proxy:true}],null,false,3727069040)},[(_vm.activeTabInternal === _vm.CutLayoutTab.CutCurrentWorkload)?_c('layout-grid',{attrs:{\"layout\":_vm.tableViewLayout},scopedSlots:_vm._u([{key:\"widget-0\",fn:function(){return [_c('widget-container',{attrs:{\"widgetDefinition\":_vm.cutCurrentWorkloadWidgetDefinition}})]},proxy:true}],null,false,230578495)}):_c('div')],1),_c('b-tab-item',{attrs:{\"headerClass\":\"intraday-states-tab\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.$t('report.intraday_states'))+\" \")])]},proxy:true}],null,false,3130068905)},[(_vm.activeTabInternal === _vm.CutLayoutTab.CutIntradayStates)?_c('layout-grid',{attrs:{\"layout\":_vm.tableViewLayout},scopedSlots:_vm._u([{key:\"widget-0\",fn:function(){return [_c('widget-container',{attrs:{\"widgetDefinition\":_vm.intradayAvailabilityWidgetDefinition,\"autorefresh\":false}})]},proxy:true}],null,false,2359979367)}):_c('div')],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t('report.trends')}},[(_vm.activeTabInternal === _vm.CutLayoutTab.CutTrends)?_c('layout-grid',{attrs:{\"layout\":_vm.gridLayout,\"data-testid\":\"trends-tab\"},scopedSlots:_vm._u([_vm._l((_vm.widgetDefinitions),function(wd,i){return {key:`widget-${wd.index}`,fn:function(){return [_c('widget-container',{attrs:{\"widgetDefinition\":wd,\"threeDotsInnerPosition\":wd.index === 2 || wd.index === 5 ? 'is-left' : 'is-right',\"widgetHelpPosition\":wd.index === 2 || wd.index === 5 ? 'is-bottom-left' : 'is-bottom-right'},on:{\"aggregate-change\":function($event){return _vm.updateAggregate(i, $event)},\"change\":function($event){return _vm.updateWidgetDefinition(i, $event)}}})]},proxy:true}})],null,true)}):_vm._e()],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport LayoutGrid from '@/views/dashboard/LayoutGrid.vue';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport WidgetContainer from '../Charts/widgetContainer/WidgetContainer.vue';\nimport WidgetDefinition from '@/models/Charts/widgetDefinition';\nimport { availableDashboardLayouts, DashboardLayout } from '@/models/Charts/dashboardDefinition';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { indexedWidgetDefinitions } from '@/utils/misc';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport { dateRangeToDateStrings } from '@/utils/dates';\nimport NewFeatureBadge from '../NewFeatureBadge.vue';\nimport { CutLayoutTab } from './CutLayoutTab';\nimport { BetaFeature } from '@/models/enums/BetaFeature';\nimport { currentCustomer, currentUser } from '@/utils/permissionUtils';\nimport { Aggregate, arrayToNumber } from '@/models/metrics/aggregates';\n\n/**\n * Tabs containing widgets for cutting devices.\n *\n * To be reused in Work center console > Cut and in a device's page in the\n * eService center.\n */\n@Component({\n computed: {\n CutLayoutTab: () => CutLayoutTab,\n },\n components: {\n LayoutGrid,\n NewFeatureBadge,\n WidgetContainer,\n },\n})\nexport default class CutLayout extends Vue {\n /** Sets the currently active tab. */\n @Prop({ required: true })\n private activeTab!: CutLayoutTab;\n\n /** Devices from which the widgets will show information. */\n @Prop({ required: true })\n private selectedDevices!: string[];\n\n /**\n * Start and end dates (inclusive) defining a period for which the widgets\n * will show information.\n *\n * Only used on the Trends tab.\n */\n @Prop({ required: true })\n private dateRange!: [Date, Date];\n\n /**\n * Periods of time (day, week...) for which the widgets will show\n * previous/current information.\n *\n * For example, for Week time span it will show data from the last week (up to\n * today) and from the previous one.\n *\n * Only used on the Overview tab.\n */\n @Prop({ required: true })\n private selectedTimespan!: FilterTimeSpanEnum;\n\n /** Work shifts for which the widgets will show information. */\n @Prop({ required: true })\n private selectedShifts!: number[];\n\n /**\n * Date grouping that will be applied to the data.\n *\n * Only used on the Trends tab.\n */\n @Prop({ required: true })\n private selectedTimeAxisSpan!: FilterTimeAxisSpanEnum;\n\n private activeTabInternal = CutLayoutTab.CutOverview;\n private tableViewLayout = availableDashboardLayouts[DashboardLayout.OneByOne];\n private gridLayout = availableDashboardLayouts[DashboardLayout.TwoByThree];\n // HACK: This shouldn't be needed but, without it, when we navigate\n // (not reload) to the Cut page, the widgets aren't rendered. It looks like\n // the dashboard-card elements aren't recreated after updating\n // widgetDefinition.\n private areWidgetDefinitionsReady = false;\n\n private widgetDefinitions: WidgetDefinition[] = [];\n\n @Watch('activeTab', { immediate: true })\n private updateActiveTabInternal() {\n this.activeTabInternal = this.activeTab;\n if (this.activeTab === CutLayoutTab.CutCurrentWorkload && !this.hasCurrentWorkloadBetaFeature) {\n this.activeTabInternal = CutLayoutTab.CutOverview;\n }\n this.widgetDefinitions = this.createWidgetDefinitions();\n this.areWidgetDefinitionsReady = true;\n }\n\n private onTabChanged(tab: CutLayoutTab) {\n this.$emit('change:tab', tab);\n this.widgetDefinitions = this.createWidgetDefinitions();\n }\n\n @Watch('hasCurrentWorkloadBetaFeature')\n private async onBetaToggled(isBetaEnabled: boolean, wasBetaEnabled: boolean) {\n if (wasBetaEnabled && !isBetaEnabled) {\n if (this.activeTab === CutLayoutTab.CutCurrentWorkload) {\n this.changeTabToOverview();\n }\n }\n }\n\n private changeTabToOverview() {\n this.activeTabInternal = CutLayoutTab.CutOverview;\n this.onTabChanged(CutLayoutTab.CutOverview);\n }\n\n private createWidgetDefinitions(): WidgetDefinition[] {\n const initialTimeFilter = this.isTrendsTabActive ? this.dateRangeString : this.selectedTimespan;\n\n return indexedWidgetDefinitions([\n new WidgetDefinition(\n this.isTrendsTabActive ? WidgetEnum.LaserAvailabilityHist : WidgetEnum.LaserAvailability,\n this.selectedDevices,\n initialTimeFilter,\n this.selectedShifts,\n undefined,\n this.selectedTimeAxisSpan,\n ),\n this.isTrendsTabActive\n ? new WidgetDefinition(\n WidgetEnum.LaserProductivityHist,\n this.selectedDevices,\n FilterTimeSpanEnum.None,\n this.selectedShifts,\n undefined,\n this.selectedTimeAxisSpan,\n arrayToNumber([Aggregate.Max, Aggregate.Min, Aggregate.Average]),\n )\n : new WidgetDefinition(WidgetEnum.CutStatus, this.selectedDevices, undefined, []),\n new WidgetDefinition(\n this.isTrendsTabActive ? WidgetEnum.LaserOeeHist : WidgetEnum.LaserOee,\n this.selectedDevices,\n initialTimeFilter,\n this.selectedShifts,\n undefined,\n this.selectedTimeAxisSpan,\n ),\n new WidgetDefinition(\n this.isTrendsTabActive ? WidgetEnum.LaserStarveBlockHist : WidgetEnum.LaserStarveBlock,\n this.selectedDevices,\n initialTimeFilter,\n this.selectedShifts,\n undefined,\n this.selectedTimeAxisSpan,\n ),\n new WidgetDefinition(\n this.isTrendsTabActive\n ? WidgetEnum.LaserOutputAndScrapTimeline\n : WidgetEnum.LaserOutputScrap,\n this.selectedDevices,\n initialTimeFilter,\n this.selectedShifts,\n undefined,\n this.selectedTimeAxisSpan,\n ),\n new WidgetDefinition(\n this.isTrendsTabActive ? WidgetEnum.LaserCuttingTimeHist : WidgetEnum.LaserCuttingTime,\n this.selectedDevices,\n initialTimeFilter,\n this.selectedShifts,\n undefined,\n this.selectedTimeAxisSpan,\n ),\n ]);\n }\n\n private get intradayAvailabilityWidgetDefinition(): WidgetDefinition {\n return new WidgetDefinition(\n WidgetEnum.LaserIntradayAvailabilityTable,\n this.selectedDevices,\n undefined,\n this.selectedShifts,\n undefined,\n this.selectedTimeAxisSpan,\n );\n }\n\n private get cutCurrentWorkloadWidgetDefinition(): WidgetDefinition {\n return new WidgetDefinition(WidgetEnum.LaserCurrentWorkload, this.selectedDevices);\n }\n\n private updateAggregate(index: number, aggregates: number): void {\n this.$set(this.widgetDefinitions, index, this.widgetDefinitions[index].getCopy({ aggregates }));\n }\n\n private updateWidgetDefinition(index: number, widgetDefinition: WidgetDefinition) {\n this.$set(this.widgetDefinitions, index, widgetDefinition);\n }\n\n @Watch('selectedDevices')\n @Watch('dateRangeString')\n @Watch('selectedTimespan')\n @Watch('selectedShifts')\n @Watch('selectedTimeAxisSpan')\n private updateFilterOnWidgetDefinitions() {\n this.widgetDefinitions = this.widgetDefinitions.map((widgetDefinition) =>\n widgetDefinition.getCopy({\n deviceId: this.selectedDevices,\n timeFilter: this.isTrendsTabActive ? this.dateRangeString : this.selectedTimespan,\n shifts: this.selectedShifts,\n axisSpan: this.selectedTimeAxisSpan,\n }),\n );\n }\n\n private get isTrendsTabActive(): boolean {\n return this.activeTabInternal === CutLayoutTab.CutTrends;\n }\n\n private get dateRangeString(): [string, string] {\n return dateRangeToDateStrings(this.dateRange);\n }\n\n private get hasCurrentWorkloadBetaFeature() {\n return currentUser().hasBetaFeature(BetaFeature.WorkCenterConsoleCutCurrentWorkload);\n }\n\n private get customerHasDataPlatform(): boolean {\n return currentCustomer()?.hasDataPlatform ?? false;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CutLayout.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CutLayout.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CutLayout.vue?vue&type=template&id=8b66b4fa&scoped=true\"\nimport script from \"./CutLayout.vue?vue&type=script&lang=ts\"\nexport * from \"./CutLayout.vue?vue&type=script&lang=ts\"\nimport style0 from \"./CutLayout.vue?vue&type=style&index=0&id=8b66b4fa&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8b66b4fa\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('header',{staticClass:\"multiple-selection-filters-header\"},[_c('h1',{staticClass:\"selected-equipment\"},[(_vm.selectedEquipment.length === 1)?_c('span',[_vm._v(\" \"+_vm._s(_vm.selectedEquipment[0].name)+\" \")]):_c('i18n',{attrs:{\"path\":\"multiple_selection_filters_header.multiple_equipment_selected\"},scopedSlots:_vm._u([{key:\"count\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.selectedEquipment.length)+\" \")]},proxy:true}])})],1),_c('div',{staticClass:\"secondary-data-container list-subtitle-container\"},[(!_vm.isNil(_vm.customer))?_c('div',{staticClass:\"secondary-data-item\",attrs:{\"data-testid\":\"customer\"}},[_vm._v(\" \"+_vm._s(_vm.customer.name)+\" \")]):_vm._e(),(!_vm.isNil(_vm.timeZone))?_c('time-zone-indicator',{staticClass:\"secondary-data-item list-subtitle-item\",attrs:{\"timeZone\":_vm.timeZone,\"data-testid\":\"time-zone\"}}):_vm._e(),(_vm.showShifts && !_vm.isNil(_vm.selectedShifts))?_c('div',{staticClass:\"secondary-data-item list-subtitle-item\",attrs:{\"data-testid\":\"selected-shifts\"}},[(_vm.isEmpty(_vm.selectedShifts))?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('multiple_selection_filters_header.no_shifts'))+\" \")]):(_vm.selectedShifts.length === 1)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('shift_model.shift.name'))+\": \"+_vm._s(_vm.selectedShifts[0].name)+\" \")]):_c('i18n',{attrs:{\"path\":\"multiple_selection_filters_header.multiple_shifts_selected\"},scopedSlots:_vm._u([{key:\"count\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.selectedShifts.length)+\" \")]},proxy:true}],null,false,1835075963)})],1):_vm._e(),_c('div',{staticClass:\"secondary-data-item empty\"},[_vm._v(\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"time-zone-indicator\"},[_c('span',{staticClass:\"name\"},[_vm._v(\" \"+_vm._s(_vm.name)+\" \")]),_c('span',{staticClass:\"time\"},[_vm._v(\" \"+_vm._s(_vm.time)+\" \")])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { isNil } from '@/utils/misc';\n\n@Component({})\nexport default class TimeZoneIndicator extends Vue {\n @Prop({ required: true, default: null })\n private timeZone!: string | null;\n\n private now = new Date();\n private timeIntervalHandle = -1;\n\n private mounted() {\n this.setUpTimeUpdater();\n }\n\n private get name() {\n return this.timeZone ?? '-';\n }\n\n private get time() {\n if (isNil(this.timeZone)) {\n return '-';\n }\n\n return Intl.DateTimeFormat(\n undefined, // browser default\n { hour: 'numeric', minute: 'numeric', timeZone: this.timeZone },\n ).format(this.now);\n }\n\n private setUpTimeUpdater() {\n if (this.timeIntervalHandle !== -1) {\n return;\n }\n\n this.timeIntervalHandle = window.setInterval(\n () => (this.now = new Date()),\n 60 * 1000, // every minute\n );\n\n this.$once('hook:beforeDestroy', () => clearInterval(this.timeIntervalHandle));\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeZoneIndicator.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeZoneIndicator.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TimeZoneIndicator.vue?vue&type=template&id=73f2f44c\"\nimport script from \"./TimeZoneIndicator.vue?vue&type=script&lang=ts\"\nexport * from \"./TimeZoneIndicator.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { Device } from '@/models/device';\nimport { isEmpty, isNil } from '@/utils/misc';\nimport { Shift } from '@/models/shift';\nimport { Customer } from '@/models/tenant';\nimport TimeZoneIndicator from '@/components/TimeZoneIndicator.vue';\n\n/**\n * Shows information about selected element in page filters allowing multiple\n * selection and other useful context information.\n *\n * Props:\n * - selectedEquipment: List of selected devices. When the list is empty, it's\n * interpreted as if all the devices where selected (if not filtering, show\n * all).\n * - customer: Current customer. When set the customer name is shown.\n * - timeZone: IANA time zone name. Shows the time zone name and its current\n * time when set.\n * - selectedShifts: List of selected shifts. When the list is empty, it's\n * interpreted as if no shift were selected. This differs from\n * `selectedEquipment` because in this case, selecting all shifts doesn't\n * include the case in which a device isn't assigned to any turn.\n * - showShifts: Enables showing selected shifts when set to `true`.\n */\n@Component({\n components: { TimeZoneIndicator },\n methods: { isNil, isEmpty },\n})\nexport default class MultipleSelectionFiltersHeader extends Vue {\n @Prop({ required: true })\n private selectedEquipment!: Device[];\n\n @Prop()\n private customer?: Customer | null;\n\n @Prop()\n private timeZone?: string | null;\n\n @Prop()\n private selectedShifts?: Shift[];\n\n @Prop({ default: true, type: Boolean })\n private showShifts!: boolean;\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleSelectionFiltersHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleSelectionFiltersHeader.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./MultipleSelectionFiltersHeader.vue?vue&type=template&id=22448bd6&scoped=true\"\nimport script from \"./MultipleSelectionFiltersHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./MultipleSelectionFiltersHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./MultipleSelectionFiltersHeader.vue?vue&type=style&index=0&id=22448bd6&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"22448bd6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('click-menu',{staticClass:\"equipment-filter\",attrs:{\"value\":_vm.value,\"ids\":_vm.deviceIds,\"names\":_vm.deviceNames,\"title\":_vm.$t('report.devices'),\"type\":_vm.single ? 'single' : 'multiple',\"icon\":\"cutting\",\"iconPack\":\"bys-icon\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Device } from '@/models/device';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport ClickMenu from '@/components/menu/ClickMenu.vue';\nimport { MachineType } from '@/models/enums/MachineType';\nimport { isEmpty } from '@/utils/misc';\nimport { devicesService } from '@/services/devices.service';\n\n@Component({\n methods: { isEmpty },\n components: {\n ClickMenu,\n },\n})\nexport default class EquipmentFilter extends Vue {\n @Prop({ default: () => [] })\n private value!: string[];\n\n @Prop({ required: true })\n private type!: MachineType;\n\n @Prop({ default: false, type: Boolean })\n private single!: boolean;\n\n private get deviceIds(): string[] {\n return this.devices.map((device) => device.deviceId);\n }\n\n private get deviceNames(): string[] {\n return this.devices.map((device) => device.name);\n }\n\n private get devices(): Device[] {\n return devicesService.store.get().filter((device) => device.getType() === this.type);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EquipmentFilter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EquipmentFilter.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./EquipmentFilter.vue?vue&type=template&id=69de12ca\"\nimport script from \"./EquipmentFilter.vue?vue&type=script&lang=ts\"\nexport * from \"./EquipmentFilter.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Copyright (C) 2021 Bystronic Laser AG\n\nimport { Shift } from '@/models/shift';\nimport { shiftsService } from '@/services/shifts.service';\nimport { Device } from '@/models/device';\nimport { isEmpty } from '@/utils/misc';\n\nexport function getActiveShifts(\n selectedShiftIds: number[],\n selectedDeviceIds: string[],\n devices: Device[],\n) {\n const deviceIds = devices.map((device: Device) => device.deviceId);\n\n return isEmpty(selectedShiftIds)\n ? []\n : getShiftsFromActiveDevices(selectedDeviceIds, deviceIds).filter((shift) =>\n selectedShiftIds.includes(shift.id),\n );\n}\n\nfunction getShiftsFromActiveDevices(selectedDeviceIds: string[], deviceIds: string[]): Shift[] {\n return shiftsService.store.getAllByDeviceIds(getActiveDeviceIds(selectedDeviceIds, deviceIds));\n}\n\nfunction getActiveDeviceIds(selectedDeviceIds: string[], deviceIds: string[]): string[] {\n return selectedDeviceIds.length !== 0 ? selectedDeviceIds : deviceIds;\n}\n","\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport { Device } from '@/models/device';\nimport { FilterTimeSpanEnum } from '@/models/enums/FilterTimeSpanEnum';\nimport ShiftFilter from '@/components/ShiftFilter.vue';\nimport { MachineType } from '@/models/enums/MachineType';\nimport { FilterTimeAxisSpanEnum } from '@/models/enums/FilterTimeAxisSpanEnum';\nimport TimeSpanFilter from '@/components/TimeSpanFilter.vue';\nimport DateGroupingFilter from '@/components/DateGroupingFilter.vue';\nimport { Shift } from '@/models/shift';\nimport moment from 'moment';\nimport { devicesService } from '@/services/devices.service';\nimport CutLayout from '@/components/common/CutLayout.vue';\nimport MultipleSelectionFiltersHeader from '@/components/MultipleSelectionFiltersHeader.vue';\nimport { isEmpty, isNil } from '@/utils/misc';\nimport EquipmentFilter from '@/components/EquipmentFilter.vue';\nimport { Route } from 'vue-router';\nimport { CutLayoutTab } from '@/components/common/CutLayoutTab';\nimport { getActiveShifts } from '@/utils/page-filters';\n\n@Component({\n computed: {\n MachineType: () => MachineType,\n },\n components: {\n EquipmentFilter,\n MultipleSelectionFiltersHeader,\n ShiftFilter,\n DateGroupingFilter,\n TimeSpanFilter,\n CutLayout,\n },\n})\nexport default class Cut extends Vue {\n @Prop()\n private selectedDeviceStringId?: string;\n\n private activeTab = CutLayoutTab.CutOverview;\n private dateRangeSelection: [Date, Date] = [moment().subtract(6, 'days').toDate(), new Date()];\n private selectedTimeAxisSpan = FilterTimeAxisSpanEnum.Day;\n private selectedTimespan = FilterTimeSpanEnum.Day;\n private selectedShiftIds: number[] = [];\n private selectedDeviceIds: string[] = [];\n\n @Ref('dateRangePicker')\n private dateRangePicker: any;\n\n // Updates the active tab when the hash changes by pasting a new URL or editing it\n private beforeRouteUpdate(to: Route, from: Route, next: () => void) {\n // .substring removes initial '#' from hash\n const hash = to.hash?.substring(1);\n if (hash !== CutLayoutTab[this.activeTab]) {\n this.activeTab = CutLayoutTab[hash as keyof typeof CutLayoutTab];\n }\n return next();\n }\n\n private async created() {\n this.selectedDeviceIds = this.selectedDeviceStringId ? [this.selectedDeviceStringId] : [];\n await this.syncActiveTabWithRouteHash();\n }\n\n private get showTimeSpanFilter(): boolean {\n return this.activeTab === CutLayoutTab.CutOverview;\n }\n\n private get showDateRangeFilter(): boolean {\n return this.activeTab === CutLayoutTab.CutTrends;\n }\n\n private get showDateGroupingFilter(): boolean {\n return this.activeTab === CutLayoutTab.CutTrends;\n }\n\n private get showShiftFilter(): boolean {\n return this.activeTab !== CutLayoutTab.CutCurrentWorkload;\n }\n\n private async syncActiveTabWithRouteHash() {\n if (isEmpty(this.$route.hash)) {\n await this.updateRouteHashWithActiveTab();\n } else {\n this.activeTab = CutLayoutTab[this.$route.hash.substring(1) as keyof typeof CutLayoutTab];\n\n if (isNil(this.activeTab)) {\n this.activeTab = CutLayoutTab.CutOverview;\n await this.updateRouteHashWithActiveTab();\n }\n }\n }\n\n private async updateRouteHashWithActiveTab() {\n await this.$router.replace({\n hash: CutLayoutTab[this.activeTab],\n });\n }\n\n private async onActiveTabChanged(tab: CutLayoutTab) {\n this.activeTab = tab;\n\n // Avoid 'redundant navigation' error on page reload\n if (!this.$route.hash.includes(CutLayoutTab[this.activeTab])) {\n await this.updateRouteHashWithActiveTab();\n }\n }\n\n private get activeDeviceIds(): string[] {\n return this.selectedDeviceIds.length !== 0 ? this.selectedDeviceIds : this.deviceIds;\n }\n\n private get activeDevices(): Device[] {\n return this.devices.filter((device) => this.activeDeviceIds.includes(device.deviceId));\n }\n\n private get activeShifts(): Shift[] {\n return getActiveShifts(this.selectedShiftIds, this.selectedDeviceIds, this.devices);\n }\n\n private toggleDatepicker() {\n this.dateRangePicker.toggle();\n }\n\n private get isTrendsTabActive(): boolean {\n return this.$route.hash.toLowerCase().includes('trends');\n }\n\n private get devices(): Device[] {\n return devicesService.store.cutDevices();\n }\n\n private get deviceIds(): string[] {\n return this.devices.map((device: Device) => device.deviceId);\n }\n}\n","// Copyright (C) 2021 Bystronic Laser AG\n\nexport enum BendLayoutTab {\n BendOverview,\n BendSummary,\n BendIntradayAvailability,\n BendTrends,\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cut.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cut.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Cut.vue?vue&type=template&id=5ebb1d08&scoped=true\"\nimport script from \"./Cut.vue?vue&type=script&lang=ts\"\nexport * from \"./Cut.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Cut.vue?vue&type=style&index=0&id=5ebb1d08&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5ebb1d08\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"main\"},[_c('div',{staticClass:\"filter\"},[_c('multiple-selection-filters-header',{attrs:{\"selectedEquipment\":_vm.activeDevices,\"selectedShifts\":_vm.activeShifts}}),_c('div',{staticClass:\"filter-buttons\"},[(_vm.showDateRangeFilter)?_c('b-datepicker',{ref:\"dateRangePicker\",attrs:{\"position\":\"is-bottom-left\",\"placeholder\":_vm.$t('report.select_date'),\"icon\":\"calendar-range\",\"size\":\"is-small\",\"range\":\"\",\"mobile-native\":false,\"data-testid\":\"date-range-filter\"},model:{value:(_vm.dateRangeSelection),callback:function ($$v) {_vm.dateRangeSelection=$$v},expression:\"dateRangeSelection\"}}):_vm._e(),(_vm.showDateRangeFilter)?_c('div',{staticClass:\"mobile-datepicker\",on:{\"click\":_vm.toggleDatepicker}},[_c('b-icon',{staticClass:\"ipad-btns\",attrs:{\"icon\":\"calendar-range\"}})],1):_vm._e(),(_vm.showDateGroupingFilter)?_c('date-grouping-filter',{attrs:{\"data-testid\":\"date-grouping-filter\"},model:{value:(_vm.selectedTimeAxisSpan),callback:function ($$v) {_vm.selectedTimeAxisSpan=$$v},expression:\"selectedTimeAxisSpan\"}}):_vm._e(),(_vm.showTimeSpanFilter)?_c('time-span-filter',{model:{value:(_vm.selectedTimespan),callback:function ($$v) {_vm.selectedTimespan=$$v},expression:\"selectedTimespan\"}}):_vm._e(),_c('shift-filter',{attrs:{\"selectedDeviceIds\":_vm.selectedDevices,\"machineType\":_vm.MachineType.Bend},model:{value:(_vm.selectedShifts),callback:function ($$v) {_vm.selectedShifts=$$v},expression:\"selectedShifts\"}}),_c('equipment-filter',{attrs:{\"type\":_vm.MachineType.Bend},model:{value:(_vm.selectedDevices),callback:function ($$v) {_vm.selectedDevices=$$v},expression:\"selectedDevices\"}})],1)],1),_c('bend-layout',{attrs:{\"activeTab\":_vm.activeTab,\"selectedDevices\":_vm.activeDeviceIds,\"dateRange\":_vm.dateRangeSelection,\"selectedTimespan\":_vm.selectedTimespan,\"selectedShifts\":_vm.selectedShifts,\"selectedTimeAxisSpan\":_vm.selectedTimeAxisSpan},on:{\"change:tab\":function($event){return _vm.onActiveTabChanged($event)}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.areWidgetDefinitionsReady)?_c('b-tabs',{staticClass:\"bend-layout\",on:{\"input\":function($event){return _vm.onTabChanged($event)}},model:{value:(_vm.activeTabInternal),callback:function ($$v) {_vm.activeTabInternal=$$v},expression:\"activeTabInternal\"}},[_c('b-tab-item',{attrs:{\"label\":_vm.$t('report.overview'),\"visible\":!_vm.hasSummaryBetaFeature,\"headerClass\":\"overview-tab\"}},[(_vm.activeTabInternal === _vm.BendLayoutTab.BendOverview)?_c('layout-grid',{attrs:{\"layout\":_vm.gridLayout},scopedSlots:_vm._u([_vm._l((_vm.widgetDefinitions),function(wd,i){return {key:`widget-${wd.index}`,fn:function(){return [_c('widget-container',{key:`bend-overview-${wd.index}`,attrs:{\"widgetDefinition\":wd,\"threeDotsInnerPosition\":wd.index === 2 || wd.index === 5 ? 'is-left' : 'is-right',\"widgetHelpPosition\":wd.index === 2 || wd.index === 5 ? 'is-bottom-left' : 'is-bottom-right'},on:{\"aggregate-change\":function($event){return _vm.updateAggregate(i, $event)},\"change\":function($event){return _vm.updateWidgetDefinition(i, $event)}}})]},proxy:true}})],null,true)}):_vm._e()],1),_c('b-tab-item',{attrs:{\"visible\":_vm.hasSummaryBetaFeature,\"headerClass\":\"summary-tab\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('span',{staticClass:\"beta-tab\"},[_vm._v(\" \"+_vm._s(_vm.$t('report.summary'))+\" \"),_c('new-feature-badge')],1)]},proxy:true}],null,false,2976459110)},[(_vm.activeTabInternal === _vm.BendLayoutTab.BendSummary)?_c('bend-summary',{attrs:{\"selectedDevices\":_vm.selectedDevices,\"selectedTimespan\":_vm.selectedTimespan,\"selectedShifts\":_vm.selectedShifts,\"selectedTimeAxisSpan\":_vm.selectedTimeAxisSpan}}):_c('div')],1),_c('b-tab-item',{attrs:{\"visible\":_vm.hasBendIntradayStatesBetaFeature,\"headerClass\":\"bend-intraday-states-tab\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('span',{staticClass:\"beta-tab\"},[_vm._v(\" \"+_vm._s(_vm.$t('report.intraday_states'))+\" \"),_c('new-feature-badge',{attrs:{\"text\":_vm.$t('new')}})],1)]},proxy:true}],null,false,436316817)},[(_vm.activeTabInternal === _vm.BendLayoutTab.BendIntradayAvailability)?_c('layout-grid',{attrs:{\"layout\":_vm.tableViewLayout},scopedSlots:_vm._u([{key:\"widget-0\",fn:function(){return [_c('widget-container',{attrs:{\"widgetDefinition\":_vm.intradayAvailabilityWidgetDefinition,\"autorefresh\":false}})]},proxy:true}],null,false,2359979367)}):_c('div')],1),_c('b-tab-item',{attrs:{\"label\":_vm.$t('report.trends'),\"visible\":_vm.hasTrendsTab,\"headerClass\":\"bend-trends-tab\"}},[(_vm.activeTabInternal === _vm.BendLayoutTab.BendTrends)?_c('layout-grid',{attrs:{\"layout\":_vm.gridLayout,\"data-testid\":\"trends-tab\"},scopedSlots:_vm._u([_vm._l((_vm.widgetDefinitions),function(wd,i){return {key:`widget-${wd.index}`,fn:function(){return [_c('widget-container',{key:`bend-trends-${wd.index}`,attrs:{\"widgetDefinition\":wd,\"threeDotsInnerPosition\":wd.index === 2 || wd.index === 5 ? 'is-left' : 'is-right',\"widgetHelpPosition\":wd.index === 2 || wd.index === 5 ? 'is-bottom-left' : 'is-bottom-right'},on:{\"aggregate-change\":function($event){return _vm.updateAggregate(i, $event)},\"change\":function($event){return _vm.updateWidgetDefinition(i, $event)}}})]},proxy:true}})],null,true)}):_vm._e()],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.areWidgetDefinitionsReady)?_c('flexible-layout-grid',{attrs:{\"layout\":_vm.gridLayout},scopedSlots:_vm._u([_vm._l((_vm.widgetDefinitions),function(widgetDefinition){return {key:`widget-${widgetDefinition.index}`,fn:function(){return [_c('widget-container',{key:`bend-summary-${widgetDefinition.index}`,attrs:{\"widgetDefinition\":widgetDefinition}})]},proxy:true}})],null,true)}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (C) 2021 Bystronic Laser AG\n\nexport type GridRow = number[];\n\n/**\n * Defines a grid layout by specifying rows with the number of columns per slot.\n */\nexport class FlexibleLayoutGridDefinition {\n private static readonly MAX_COLUMNS = 12;\n\n /**\n * Creates a new FlexibleLayoutGridDefinition from the definition in\n * `rowDefinitions`.\n *\n * @param rowDefinitions array of `GridRow`s, where each GridRow is just the\n * number of columns for that slot.\n * @throws Error if some of the row definitions exceeds `MAX_COLUMNS` columns.\n */\n constructor(private readonly rowDefinitions: GridRow[]) {\n this.validateRowDefinitions();\n }\n\n private validateRowDefinitions() {\n for (const row of this.rowDefinitions) {\n const totalColumns = row.reduce(\n (totalWidth, currentColumnWidth) => totalWidth + currentColumnWidth,\n 0,\n );\n\n if (totalColumns > FlexibleLayoutGridDefinition.MAX_COLUMNS) {\n throw new Error(\n `Row definition exceeds the maximum number of columns (${FlexibleLayoutGridDefinition.MAX_COLUMNS}): ${row}`,\n );\n }\n }\n }\n\n /**\n * Returns a copy of the array of `GridRows` defined.\n */\n get rows(): GridRow[] {\n return [...this.rowDefinitions];\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"grid-layout\"},_vm._l((_vm.layout.rows),function(row,rowIndex){return _c('div',{key:`row-${rowIndex}`,staticClass:\"columns is-desktop\"},_vm._l((row),function(columnWidth,columnIndex){return _c('div',{key:`column-${columnIndex}`,staticClass:\"column\",class:`is-${columnWidth}-desktop`},[_vm._t(`widget-${_vm.getWidgetIndex(rowIndex, columnIndex)}`)],2)}),0)}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, ProvideReactive, Vue } from 'vue-property-decorator';\nimport { FlexibleLayoutGridDefinition } from '@/views/dashboard/flexible-layout-grid';\n\n/**\n * Defines a grid layout with rows and columns as specified in `layout`.\n *\n * The grid has 12 columns with a fixed column and row gap. It can have any\n * number of rows and has no height limit.\n *\n * `layout` is an array of row definitions, which are just and array of columns\n * widths. It only applies to desktop devices. On tablet and mobile devices it\n * will stack the elements in a single column spanning the full width.\n *\n * Slots:\n * - `widget-N`, where N = {0, 1, 2, ...}\n *\n * Example:\n * ```\n * const layout = [\n * [4, 8],\n * [12],\n * ];\n *\n * \n *