{"version":3,"sources":["webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///./src/views/App/ServiceAndUpdates/ScheduleConfiguration/ScheduleConfigurationComponent.vue?4df3","webpack:///./src/views/App/ServiceAndUpdates/ScheduleConfiguration/ScheduleConfigurationComponent.vue","webpack:///./src/views/App/ServiceAndUpdates/ScheduleConfiguration/ScheduleConfigurationComponent.vue?4505","webpack:///./src/views/App/ServiceAndUpdates/ScheduleConfiguration/ScheduleConfigurationComponent.vue?547e","webpack:///./src/model/data/scheduleSettings/ScheduleFrequencyEnum.ts","webpack:///./src/model/data/scheduleSettings/InstallationScheduleSettings.ts","webpack:///./src/model/communication/scheduleConfiguration/FetchInstallationsScheduleConfigurationResponse.ts","webpack:///./src/model/communication/scheduleConfiguration/FetchInstallationsScheduleConfigurationCommand.ts","webpack:///./src/model/communication/status/FetchInstallationsStatusResponse.ts","webpack:///./src/model/communication/status/FetchInstallationsStatusCommand.ts","webpack:///./src/views/App/ServiceAndUpdates/ScheduleConfiguration/EditSchedule.vue?f03c","webpack:///./src/model/communication/ClientRequestData.ts","webpack:///./src/model/communication/scheduleConfiguration/SaveInstallationsScheduleConfigurationRequestData.ts","webpack:///./src/model/communication/scheduleConfiguration/SaveInstallationsScheduleConfigurationCommand.ts","webpack:///./src/views/App/ServiceAndUpdates/ScheduleConfiguration/EditSchedule.vue","webpack:///./src/views/App/ServiceAndUpdates/ScheduleConfiguration/EditSchedule.vue?ae30","webpack:///./src/views/App/ServiceAndUpdates/ScheduleConfiguration/EditSchedule.vue?7c15","webpack:///./src/model/data/status/InstallationStatus.ts","webpack:///./src/components/TableHeaderFilters/TableFiltersRow.vue?57ba","webpack:///./src/components/TableHeaderFilters/TableFiltersRow.vue","webpack:///./src/components/TableHeaderFilters/TableFiltersRow.vue?ce06","webpack:///./src/components/TableHeaderFilters/TableFiltersRow.vue?98cb","webpack:///./src/model/communication/scheduleConfiguration/FetchInstallationsScheduleConfigurationRequestData.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///./src/model/data/scheduleSettings/DayOfWeek.ts","webpack:///./src/model/data/InstallationBranchMoving.ts","webpack:///./src/model/communication/branch/GetInstallationBranchHistoryCommand.ts","webpack:///./src/model/data/scheduleSettings/ScheduleConfiguration.ts","webpack:///./src/model/communication/updatesStatus/FetchInstallationUpdatesStatusResponse.ts","webpack:///./src/model/communication/updatesStatus/FetchInstallationUpdatesStatusCommand.ts","webpack:///./src/model/communication/updatesStatus/FetchInstallationsUpdatesStatusRequestData.ts","webpack:///./src/views/App/Tools/InstallationDetails/StatusAndUpdatesSection.vue?9ab1","webpack:///./src/components/Cards/Model/InstallationUpdatesStatusCard.vue?7e7c","webpack:///./src/components/Cards/Model/InstallationUpdatesStatusCard.vue","webpack:///./src/components/Cards/Model/InstallationUpdatesStatusCard.vue?7675","webpack:///./src/components/Cards/Model/InstallationUpdatesStatusCard.vue?2dfa","webpack:///./src/components/Cards/Model/MachineStatusAndUpdatesCard.vue?a49a","webpack:///./src/components/Cards/Model/MachineStatusAndUpdatesCard.vue","webpack:///./src/components/Cards/Model/MachineStatusAndUpdatesCard.vue?f1ee","webpack:///./src/components/Cards/Model/MachineStatusAndUpdatesCard.vue?6d42","webpack:///./src/views/App/Tools/InstallationDetails/StatusAndUpdatesSection.vue","webpack:///./src/views/App/Tools/InstallationDetails/StatusAndUpdatesSection.vue?9654","webpack:///./src/views/App/Tools/InstallationDetails/StatusAndUpdatesSection.vue?d327","webpack:///./src/components/TableHeaderFilters/UpdateTypeFilter.vue?5440","webpack:///./src/components/TableHeaderFilters/UpdateTypeFilter.vue","webpack:///./src/components/TableHeaderFilters/UpdateTypeFilter.vue?271b","webpack:///./src/components/TableHeaderFilters/UpdateTypeFilter.vue?bdec","webpack:///./src/model/data/status/MachineStatus.ts","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineLogAnalysisCharts.vue?72c0","webpack:///../../../src/mixins/button-group/index.ts","webpack:///../../../src/components/VBtnToggle/VBtnToggle.ts","webpack:///./src/model/data/scheduleSettings/ScheduleTypeEnum.ts","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/index.vue?212b","webpack:///./src/model/data/updates/UpdatePackageAssociationEnum.ts","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/PackageAssociationCard.vue?d80b","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/UpdatePackageAssociationCheckbox.vue?bb75","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/UpdatePackageAssociationCheckbox.vue","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/UpdatePackageAssociationCheckbox.vue?7cfe","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/UpdatePackageAssociationCheckbox.vue?8cea","webpack:///./src/model/data/updates/UpdatePackageAssociation.ts","webpack:///./src/model/communication/updatePackages/fetchAssociatedUpdatePackages/FetchAssociatedUpdatePackagesResData.ts","webpack:///./src/model/communication/updatePackages/fetchAssociatedUpdatePackages/FetchAssociatedUpdatePackagesCommand.ts","webpack:///./src/model/communication/updatePackages/fetchAssociatedUpdatePackages/FetchAssociatedUpdatePackagesReqData.ts","webpack:///./src/model/communication/updatePackages/setInstallationsPackages/SetInstallationsPackagesCommand.ts","webpack:///./src/model/communication/updatePackages/setInstallationsPackages/SetInstallationsPackagesReqData.ts","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/PackageAssociationCard.vue","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/PackageAssociationCard.vue?0040","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/PackageAssociationCard.vue?e91c","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/index.vue","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/index.vue?649f","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/index.vue?75e8","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/InstallationLogAnalysis.vue?9748","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineLogAnalysisCharts.vue?83b8","webpack:///./src/model/data/logAnalysis/Reject.ts","webpack:///./src/model/communication/logAnalysis/GetMachineRejectsResData.ts","webpack:///./src/model/communication/logAnalysis/GetMachineRejectsCommand.ts","webpack:///./src/model/data/logAnalysis/ProcessedCash.ts","webpack:///./src/model/communication/logAnalysis/GetProcessedCashResData.ts","webpack:///./src/model/communication/logAnalysis/GetProcessedCashCommand.ts","webpack:///./src/model/data/logAnalysis/MachineException.ts","webpack:///./src/model/communication/logAnalysis/GetMachineExceptionsResData.ts","webpack:///./src/model/communication/logAnalysis/GetMachineExceptionsCommand.ts","webpack:///./src/model/data/logAnalysis/SensorCalibration.ts","webpack:///./src/model/communication/logAnalysis/GetSensorsCalibrationResData.ts","webpack:///./src/model/communication/logAnalysis/GetSensorCalibrationsCommand.ts","webpack:///./src/model/data/logAnalysis/CServiceLogon.ts","webpack:///./src/model/communication/logAnalysis/GetCServiceLogonResData.ts","webpack:///./src/model/communication/logAnalysis/GetCServiceLogonCommand.ts","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineExceptionCard.vue?76a6","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineExceptionCard.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineExceptionCard.vue?1c92","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineExceptionCard.vue?89a7","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/SensorCalibrationCard.vue?4ef4","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/SensorCalibrationCard.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/SensorCalibrationCard.vue?4ace","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/SensorCalibrationCard.vue?ed3a","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/ProcessedCashCard.vue?5a57","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/ProcessedCashCard.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/ProcessedCashCard.vue?c142","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/ProcessedCashCard.vue?b9ce","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/RejectCard.vue?4493","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/RejectCard.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/RejectCard.vue?c305","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/RejectCard.vue?171b","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/CServiceLogonCard.vue?8c6b","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/CServiceLogonCard.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/CServiceLogonCard.vue?2d76","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/CServiceLogonCard.vue?d44f","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineLogAnalysisCharts.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineLogAnalysisCharts.vue?26ce","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineLogAnalysisCharts.vue?8808","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/InstallationLogAnalysis.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/InstallationLogAnalysis.vue?95dd","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/InstallationLogAnalysis.vue?d3f1","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///./src/model/data/enums/LogsFamilyEnum.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/DetailsSection/InstalledSoftwaresTable.vue?90fe","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/DetailsSection/InstalledSoftwaresTable.vue","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/DetailsSection/InstalledSoftwaresTable.vue?4167","webpack:///./src/views/App/ServiceAndUpdates/UpdatesManagement/DetailsSection/InstalledSoftwaresTable.vue?4704","webpack:///./src/components/TableHeaderFilters/UpdateTypeFilter.vue?ea14","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/MainSection.vue?e2df","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/DownloadLogsOnDemandProgressCard.vue?58e2","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/DownloadLogsOnDemandProgressCard.vue","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/DownloadLogsOnDemandProgressCard.vue?75a1","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/DownloadLogsOnDemandProgressCard.vue?d017","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/LogAnalysisOnDemandCard.vue?a9b8","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/LogAnalysisOnDemandCard.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/LogAnalysisOnDemandCard.vue?7b2e","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/LogAnalysisOnDemandCard.vue?d194","webpack:///./src/model/data/enums/LogsTypeEnum.ts","webpack:///./src/model/communication/downloadLogs/DownloadLogsIfExistCommand.ts","webpack:///./src/model/communication/downloadLogs/DownloadLogsReqData.ts","webpack:///./src/model/communication/downloadLogs/DownloadLogsProgress.ts","webpack:///./src/model/communication/downloadLogs/DownloadLogsProgressResData.ts","webpack:///./src/model/communication/downloadLogs/ForceLogsDownloadOnDemandCommand.ts","webpack:///./src/model/communication/downloadLogs/GetDownloadOnDemandProgressCommand.ts","webpack:///./src/model/communication/logAnalysis/AnalyzeLogNowCommand.ts","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/MainSection.vue","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/MainSection.vue?5901","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/MainSection.vue?9535","webpack:///./src/views/App/Tools/InstallationDetails/index.vue?8e08","webpack:///./src/views/App/Tools/InstallationDetails/index.vue","webpack:///./src/views/App/Tools/InstallationDetails/index.vue?0ae4","webpack:///./src/views/App/Tools/InstallationDetails/index.vue?7fdf","webpack:///./node_modules/core-js/modules/es7.object.entries.js"],"names":["name","provide","expansionPanels","this","props","accordion","disabled","flat","hover","focusable","inset","popout","readonly","tile","Boolean","computed","classes","created","$attrs","hasOwnProperty","Array","value","length","methods","updateItem","getValue","item","nextValue","index","toggleMethod","render","_vm","_h","$createElement","_c","_self","domProps","_s","scheduleText","staticRenderFns","extend","currentSchedule","schedule","frequency","ScheduleFrequencyEnum","Daily","$t","time","undefined","format","userTimeFormat","timeFormat","Weekly","dayOfTheWeek","getDayOfWeekText","days","Monthly","monthOccurence","getMonthOccurenceText","Object","dayOfWeek","DayOfWeek","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday","component","schedulesConfigurations","obj","ScheduleConfigurations","forEach","e","ms","ScheduleConfiguration","parse","push","Installation","response","installationsList","data","Payload","ResultList","inst","PaginatedServiceResponseData","ENDPOINT","payload","endPoint","httpVerb","executeCommand","res","Command","totalCountByStatus","filteredTotalCountByStatus","totalCountByConnectivityStatus","filteredTotalCountByConnectivityStatus","totalInstallationsCount","DevicesStatus","InstallationStatus","TotalDeviceStatusCount","TotalCountByStatus","entries","pair","values","InstallationStatusEnum","includes","FilteredTotalCountByStatus","TotalCountByConnectivityStatus","ConnectivityStatusEnum","FilteredTotalCountByConnectivityStatus","ApiGenericResponse","installationStatus","total","installationNames","folderIds","branchNames","queryLimit","offset","orderBy","orderByDescending","globalStatusFilter","connectivityStatusFilter","installationLastMessageDateRange","agentLastMessageDateRange","machineModels","tagValues","maintenanceStatusList","_b","attrs","isInstallationsScheduleSaving","loading","installations","$tc","availableScheduleTypeOptions","on","preselectSchedule","model","callback","$$v","$set","expression","availableFrequencyOptions","availableDaysOFWeekOptions","_e","availableMonthOccurenceOptions","pickerFormat","staticClass","_v","filter","v","scheduleType","text","hideCancel","onCancelClick","save","installationNameList","ServiceResponseData","components","ScheduleConfigurationComponent","NotSet","licenseData","state","license","licenseModules","authUser","authMod","currentUser","ret","isAvailable","LicenseModuleEnum","ServiceAndUpdatesManagement","authUserHasPrivilege","UpdatesManagement","ScheduleTypeEnum","Update","DownloadLogs","Logs","SecurityManagement","SecurityScheduleWrite","Config","CaosConfigurationManagement","CaosConfigurationBackup","type","default","initialSchedule","Number","watch","handler","newValue","oldValue","immediate","existingsSchedule","s","reqData","FetchInstallationsScheduleConfigurationRequestData","FetchInstallationsScheduleConfigurationCommand","execute","responseStatus","ApiResponseStatusEnum","Success","installationConfiguration","console","error","map","c","scheduleConfiguration","$emit","forceRefresh","VAlert","VBtn","VCard","VCardActions","VCardText","VCardTitle","VCol","VRow","VSelect","VSpacer","VTimePicker","statusMachines","agentInfo","maintenanceStatus","Regular","StatusMachines","AgentInfo","MaintenanceStatus","NextMaintenance","nextMaintenance","_l","h","key","class","align","filters","cf","headerValue","tag","description","customAttrs","ignoreFilterChanges","headers","computedFilters","required","newFilters","deep","mounted","baseMixins","isActive","expansionPanel","beforeDestroy","showLazyContent","directives","Id","id","InstallationName","installationName","DestinationBranchName","destinationBranchName","MovingDateTime","movingDateTime","Username","username","params","installationBranchMovingList","isArray","InstallationBranchMovingList","installationBranchMoving","moving","ScheduleType","Frequency","Time","Days","MonthOccurence","DevicesUpdateStatus","entry","InstallationUpdate","PaginatedTotalItems","FetchInstallationsUpdatesStatusRequestData","GetServerFetchInstallationsUpdatesStatusReqData","req","softwareVersionFilterList","reqProps","keys","prop","softwareFilter","sw","updateType","ThirdPartySoftware","version","staticStyle","installation","installationUpdate","$event","machine","machineSerialNumber","cm","serialNumber","updateMachines","hasAgent","installedSoftwaresVersions","availableSoftwareVersionsToUpgrade","associatedCustomActions","availableCustomActions","AgentInfoPropsList","InstalledSoftwaresTable","u","UpdateTypeEnum","CustomAction","concat","hideStatus","machineStatus","extension","scopedSlots","_u","fn","ref","_g","supportedCashType","machineUpdate","MachineStatusPropsList","DiagnosticImageCard","VDialog","InstallationUpdatesStatusCard","MachineStatusAndUpdatesCard","MODULE_COLORS","splittedVersion","split","gte","VSkeletonLoader","lastSelectedItemsLength","openMenu","toString","toLowerCase","search","availableData","selectedItems","isUpdatePackagesListFetching","updatePackages","updatePackagesList","array","indexOf","selected","sort","a","b","localeCompare","GetI18nStringFromUpdateType","VBadge","VMenu","VProgressCircular","VSheet","VTextField","VTreeview","MachineStatus","machineInstallationName","globalStatus","Unknown","status","cleaningStatus","doorStatus","coverStatus","bagStatus","bundlerStatus","blockedStocks","lastUpdate","maintenanceRequired","lastMaintenanceForecastsUpdate","MachineInstallationName","MachineSerialNumber","GlobalStatus","Status","CleaningStatus","DoorStatus","CoverStatus","BagStatus","BundlerStatus","BlockedStocks","Extension","LastUpdate","MaintenanceRequired","Date","LastMaintenanceForecastsUpdate","btnToggle","genData","mixins","backgroundColor","borderless","dense","group","rounded","shaped","themeClasses","setTextColor","setBackgroundColor","ScheduleTypeEnumToI18n","val","UpdatePackageAssociationEnum","tab","profile","privileges","and","ClientPrivileges","$vuetify","breakpoint","PackagesManagement","DevicesManagement","toLocaleLowerCase","updatePackageListFiltered","options","filterChanged","SERVICE_AND_UPDATES","VersionObfuscator","obfuscate","moment","utc","local","fetchAssociatedUpdatePackages","internalIndeterminate","internalCheck","emitEvent","all","none","partial","VSimpleCheckbox","UpdatePackage","associationPackages","FullAssociatedPackages","up","association","NoAssociatedPackages","PartiallyAssociatedPackages","enabledPackageIds","disabledPackageIds","UpdatePackageAssociationCheckbox","TableFiltersRow","originalAssociationPackages","sortable","filterKey","UpdateTypeFilter","currentSelections","updateTypeFilter","areAllChangesSaved","isEqual","filteredUpdatePackages","backToTheFirst","splice","log","resData","cloneDeep","updateFilter","f","page","ignoreOptionsChanges","debug","VChip","VDataTable","EditSchedule","PackageAssociationCard","TagAssociationCard","MainSection","canClose","VTab","VTabItem","VTabs","VTabsItems","VTooltip","startDate","endDate","hideDaysToogle","daysButton","pc","logIntervalString","processedCashList","me","machineExceptionList","dateListString","troubleshooting","componentLabelMap","unitLabelMap","imagesLegend","nDays","reject","rejectPercentage","toFixed","rejectList","rejectCauseMap","rejectsFamilyMap","familyLabelMap","seriesPCTrendList","seriesPCTypeList","isDepositMachine","CashTypeEnum","Coin","sensorCalibrationList","sensorsLabels","sc","csl","cserviceLogonList","interventionsCount","dateTime","cause","count","DateTime","Cause","Count","familyLabelToIndex","Map","Rejects","rejects","element","RejectsCause","rejectsCause","RejectsFamily","rejectsFamily","FamilyLabel","familyLabel","assign","dateStart","dateEnd","deposited","withdrawn","Deposited","Withdrawn","ProcessedCash","processedCash","area","code","unitId","hwId","hwType","category","resolved","restoreAttemps","processType","Code","Area","UnitId","HwId","HwType","Category","Resolved","RestoreAttemps","ProcessType","toUpperCase","padStart","MachineExceptions","machineExceptions","ComponentsLabelMap","UnitLabelMap","Troubleshooting","ImagesLegend","set","sensorNum","averageCalibrationLevel","averageCommThr","stdCalibrationLevel","cleanThr","SensorNum","AverageCalibrationLevel","AverageCommThr","STDCalibrationLevel","CleanThr","SensorsCalibration","sensorCalibration","SensorsLabels","userKId","cServiceVersion","UserKId","CServiceVersion","CServiceLogon","cserviceLogon","chartMachineExceptionsTrend","series","exceptionTableHeader","exceptionTableData","xs","setRowStyle","stopPropagation","openImageDialog","header","slot","totalRowExceptionDataTable","showImageDialog","selectedException","areaDescr","compDescr","codeDescr","procType","timestamp","longDateFormat","descr","troub","loadingImage","image","legend","String","seriesMETrendList","maxYValue","userTheme","userConfig","theme","mode","chart","stacked","height","zoom","enabled","animations","plotOptions","bar","borderRadius","horizontal","grid","xaxis","lines","show","dataLabels","categories","tickPlacement","yaxis","labels","formatter","max","troubGuide","solution","regExp","RegExp","causeOrSolutionWords","match","word","replace","exc","timestamps","getMachineImage","toHash","excHash","hashCode","JSON","stringify","$store","logAnalysis","cachedImages","has","date","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","dispatch","get","str","ch","seed","h1","h2","i","charCodeAt","Math","imul","reset","machineExceptionTrendMap","codes","Set","getHexCode","fill","codeDescription","excDescription","excDict","meTableDataMap","exceptionMapIndexes","utcDate","dayIndex","floor","getTime","keyArr","title","formattedCode","number","percentage","maxValue","keyLabel","parseInt","every","VContainer","VImg","chartSensorCalibrationTrend","seriesSCTrendList","stroke","curve","row","colors","opacity","tooltip","shared","y","markers","size","strokeColors","strokeWidth","strokeOpacity","strokeDashArray","fillOpacity","discrete","shape","radius","offsetX","offsetY","onClick","onDblClick","showNullDataPoints","sensorCalibrationMap","chartProcessedCashType","mdAndUp","chartProcessedCashTrend","barHeight","Intl","NumberFormat","navigator","language","rejectTableHeader","rejectTableData","totalRowRejectDataTable","chartRejectType","chartRejectTrend","rejectLegendHeader","rejectLegendData","seriesList","rejectTypeList","seriesTypeList","seriesTable","causes","rejectCausebyFamily","fillerList","keyCause","from","totalReject","rejectTypeMap","totalDepositedAndReject","reduce","accumulator","curr","r","acc","family","join","chartCServiceLogonTrend","logon","seriesCSLTrendList","logonTableData","cserviceLogonTrendMap","VTimeline","VTimelineItem","MachineExceptionCard","SensorCalibrationCard","ProcessedCashCard","RejectCard","CServiceLogonCard","startDateProps","endDateProps","t","getData","computeStartEndDate","getRejectData","getMachineExceptionData","getSensorsCalibration","getCServiceLogon","subtractDays","ceil","dateList","addDays","userDateFormat","getProcessedCashData","pcTrendList","initialDate","finalDate","exceptDayList","slice","newDate","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","setUTCDate","VBtnToggle","VExpansionPanel","VExpansionPanelContent","VExpansionPanelHeader","VExpansionPanels","MachineLogAnalysisCharts","availableMachines","machines","m","ripple","disableIconRotate","expandIcon","hideActions","hasMousedown","isDisabled","isReadonly","genIcon","icon","tabindex","click","mousedown","mouseup","open","LogsFamilyEnum","logsFamilyEnumLabel","Application","Machine","getName","content","nextIsActive","groupClasses","registerContent","unregisterContent","registerHeader","vm","unregisterHeader","toggle","isBooted","getSoftwareColor","getSoftwareIcon","getSoftwareTooltipMessage","isCustomActionTable","printableVersion","proxy","sws","asws","findAvailableSoftwareNotAssociated","find","isUpToDate","availableSw","availableVersion","printableAvailableVersion","VSimpleTable","radioSelection","d","i18nLabel","sortedDateRangeFormatted","errorMessage","dateRange","containerWidth","logsTypeRadio","downloadBtnHintLabel","onDownloadLogsButton_loading","analysisLoading","onDownloadLogsButton","sendRequestDownloadAndAnalyzeNow","alertType","alertMessage","downloadLogsProgress","analysisLogsProgress","analysisError","analysisLicenseError","analysisNotSupportedError","showAnalyzeDialog","showOnDemandAlertDialog","downloadOnlyFromDb","selectedMachineSNsForDownloadOnDemand","forceLogsDownloadOnDemand","PREDICTIVE_MAINTENANCE","analysisInstallation","smAndDown","style","rerender","analysisStartDate","analysisEndDate","progress","machineSerialNumbers","logsFamily","agentVersion","isDownloadCompleted","trueProgress","downloadedDays","daysToDownload","showProgressBar","startsWith","VListItem","VListItemContent","VList","VListItemSubtitle","VListItemTitle","VProgressLinear","VToolbar","VToolbarTitle","notSupportedError","$i18n","VFaIcon","LogsTypeEnum","responseType","getLogTypesFromLogsFamily","resultList","AgentLogs","CaosLogs","CaosConnectorLogs","CHWebApiLogs","CHMonitorLogs","Firmware","logTypes","ignoreMissingEntries","MachineSerialNumbers","StartDate","EndDate","DaysToDownload","LogsFamily","LogTypes","IgnoreMissingEntries","DownloadedDays","IsDownloadCompleted","AgentVersion","maxDaysRange","DownloadLogsOnDemandProgressCard","InstallationLogAnalysis","LogAnalysisOnDemandCard","selectedInstallations","showAlert","isPollingEnabled","analyzeAfterDownload","defaultDateRanges","isMounted","isMobileDevice","formatted","sortedDateRange","dt","date1","date2","diffTime","abs","diffDays","logAnalysisEnabled","LogAnalysis","downloadOnlyDbEnabled","$refs","containerDownload","clientWidth","installationsProp","deviceTreeSelectedObjectItems","resetVariables","DeviceTreeNodeTypeEnum","Device","document","querySelector","overflowY","startDateTemp","endDateTemp","subtract","stopPolling","showGenericErrorAlert","fromForce","at","message","CReqExecutionResultEnum","InvalidRequest","dateOffset","setTime","ServerError","OperationNotAvailable","createDownloadLogsReqData","sn","GetInstallationsCommand","GetInstallationsReqData","installedSoftwares","Agent","downloadLogsIfExist","resStatus","now","formattedDate","fileName","fileLink","createElement","href","window","URL","createObjectURL","setAttribute","body","appendChild","AgentOffline","AgentNotInstalled","DeviceLocked","startProgressPolling","request","getDownloadLogsReqData","timeout","Promise","setTimeout","VCheckbox","VDatePicker","VDivider","VIcon","VRadio","VRadioGroup","VToolbarItems","isOperationsBtnNotAvailable","showSettingsDialog","windowHeight","reload","StatusAndUpdatesSection","BulkUpdatesWizard","InstallationTreePath","innerHeight","getInstallationBranchMovingList","$route","getInstallationInfo","getInstallationStatus","getInstallationUpdate","location","path","routes","router","FetchInstallationsStatusCommand","reqToServer","FetchInstallationUpdatesStatusCommand","GetInstallationBranchHistoryCommand","VCardSubtitle","$export","$entries","S","it"],"mappings":"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","file":"js/chunk_app_installation_details_view.7e2c990d.js","sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--flat': this.flat,\n 'v-expansion-panels--hover': this.hover,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n 'v-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{domProps:{\"textContent\":_vm._s(_vm.scheduleText)}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ScheduleConfiguration } from \"@/model/data/scheduleSettings/ScheduleConfiguration\";\r\nimport { ScheduleFrequencyEnum } from \"@/model/data/scheduleSettings/ScheduleFrequencyEnum\";\r\nimport { DayOfWeek } from \"@/model/data/scheduleSettings/DayOfWeek\";\r\nimport moment from \"moment\";\r\nimport { mapGetters } from \"vuex\";\r\n\r\nexport default Vue.extend({\r\n computed: {\r\n ...mapGetters([\"userTimeFormat\"]),\r\n scheduleText() {\r\n var currentSchedule = this.schedule as ScheduleConfiguration;\r\n switch (currentSchedule.frequency) {\r\n case ScheduleFrequencyEnum.Daily: {\r\n return this.$t(\"scheduleConfiguration.dailyAt\", {\r\n time:\r\n currentSchedule.time == null || currentSchedule.time == undefined\r\n ? \"\"\r\n : moment(currentSchedule.time as string, \"HH:mm\").format(this.userTimeFormat.timeFormat),\r\n });\r\n }\r\n case ScheduleFrequencyEnum.Weekly: {\r\n return this.$t(\"scheduleConfiguration.everyDayOfTheWeekAt\", {\r\n dayOfTheWeek: this.getDayOfWeekText(currentSchedule.days),\r\n time:\r\n currentSchedule.time == null || currentSchedule.time == undefined\r\n ? \"\"\r\n : moment(currentSchedule.time as string, \"HH:mm\").format(this.userTimeFormat.timeFormat),\r\n });\r\n }\r\n case ScheduleFrequencyEnum.Monthly: {\r\n return this.$t(\"scheduleConfiguration.occurenceOfDayOfWeekOfEveryMonthAt\", {\r\n monthOccurence: this.getMonthOccurenceText(currentSchedule.monthOccurence),\r\n dayOfTheWeek: this.getDayOfWeekText(currentSchedule.days),\r\n time:\r\n currentSchedule.time == null || currentSchedule.time == undefined\r\n ? \"\"\r\n : moment(currentSchedule.time as string, \"HH:mm\").format(this.userTimeFormat.timeFormat),\r\n });\r\n }\r\n default:\r\n return this.$t(\"scheduleConfiguration.noScheduleConfiguration\");\r\n }\r\n },\r\n },\r\n props: {\r\n schedule: Object as () => ScheduleConfiguration,\r\n },\r\n methods: {\r\n getDayOfWeekText(dayOfWeek: DayOfWeek) {\r\n switch (dayOfWeek) {\r\n case DayOfWeek.Monday:\r\n return this.$t(\"common.dayOfWeek.monday\");\r\n case DayOfWeek.Tuesday:\r\n return this.$t(\"common.dayOfWeek.tuesday\");\r\n case DayOfWeek.Wednesday:\r\n return this.$t(\"common.dayOfWeek.wednesday\");\r\n case DayOfWeek.Thursday:\r\n return this.$t(\"common.dayOfWeek.thursday\");\r\n case DayOfWeek.Friday:\r\n return this.$t(\"common.dayOfWeek.friday\");\r\n case DayOfWeek.Saturday:\r\n return this.$t(\"common.dayOfWeek.saturday\");\r\n case DayOfWeek.Sunday:\r\n return this.$t(\"common.dayOfWeek.sunday\");\r\n default:\r\n return this.$t(\"common.unknown\");\r\n }\r\n },\r\n getMonthOccurenceText(monthOccurence: number) {\r\n switch (monthOccurence) {\r\n case 0:\r\n return this.$t(\"common.cardinal.first\");\r\n case 1:\r\n return this.$t(\"common.cardinal.second\");\r\n case 2:\r\n return this.$t(\"common.cardinal.third\");\r\n case 3:\r\n return this.$t(\"common.cardinal.fourth\");\r\n case 4:\r\n return this.$t(\"common.cardinal.last\");\r\n }\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScheduleConfigurationComponent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScheduleConfigurationComponent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ScheduleConfigurationComponent.vue?vue&type=template&id=3582bdf9&\"\nimport script from \"./ScheduleConfigurationComponent.vue?vue&type=script&lang=ts&\"\nexport * from \"./ScheduleConfigurationComponent.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export enum ScheduleFrequencyEnum {\r\n NotSet = 0,\r\n Daily = 1,\r\n Weekly = 2,\r\n Monthly = 3,\r\n}\r\n\r\nexport function ScheduleFrequencyEnumToI18n(val: ScheduleFrequencyEnum): string {\r\n console.log(val);\r\n switch (val) {\r\n case ScheduleFrequencyEnum.Daily:\r\n return \"scheduleconfiguration.daily\";\r\n case ScheduleFrequencyEnum.Weekly:\r\n return \"scheduleconfiguration.weekly\";\r\n case ScheduleFrequencyEnum.Monthly:\r\n return \"scheduleconfiguration.monthly\";\r\n default:\r\n return \"common.notSet\";\r\n }\r\n}\r\n","import { Installation } from \"../Installation\";\r\nimport { ScheduleConfiguration } from \"./ScheduleConfiguration\";\r\n\r\nexport class InstallationScheduleConfiguration extends Installation {\r\n schedulesConfigurations: ScheduleConfiguration[] = [];\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public parse(obj: any) {\r\n super.parse(obj);\r\n\r\n if (obj.ScheduleConfigurations && obj.ScheduleConfigurations.length > 0) {\r\n obj.ScheduleConfigurations.forEach((e) => {\r\n var ms: ScheduleConfiguration = new ScheduleConfiguration();\r\n ms.parse(e);\r\n this.schedulesConfigurations.push(ms);\r\n });\r\n }\r\n }\r\n}\r\n","import { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { InstallationScheduleConfiguration } from \"@/model/data/scheduleSettings/InstallationScheduleSettings\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { PaginatedServiceResponseData } from \"../PaginatedServiceResponseData\";\r\n\r\nexport class FetchInstallationsScheduleConfigurationResponse extends PaginatedServiceResponseData {\r\n installationsList: InstallationScheduleConfiguration[] = [];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.ResultList && obj.ResultList.length > 0) {\r\n obj.ResultList.forEach((e) => {\r\n var inst = new InstallationScheduleConfiguration();\r\n inst.parse(e);\r\n this.installationsList.push(inst);\r\n });\r\n }\r\n }\r\n}\r\n","import { Command, API_PREFIX, API_VERSION, HttpVerbType } from \"../Command\";\r\nimport { FetchInstallationsScheduleConfigurationRequestData } from \"./FetchInstallationsScheduleConfigurationRequestData\";\r\nimport { FetchInstallationsScheduleConfigurationResponse } from \"./FetchInstallationsScheduleConfigurationResponse\";\r\n\r\nconst ENDPOINT = \"/schedules\";\r\n\r\nexport class FetchInstallationsScheduleConfigurationCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n payload: FetchInstallationsScheduleConfigurationRequestData;\r\n\r\n constructor(payload: FetchInstallationsScheduleConfigurationRequestData) {\r\n super();\r\n this.payload = payload;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.payload);\r\n return new FetchInstallationsScheduleConfigurationResponse(res);\r\n }\r\n}\r\n","import { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { InstallationStatus } from \"@/model/data/status/InstallationStatus\";\r\nimport { InstallationStatusEnum } from \"@/model/data/status/InstallationStatusEnum\";\r\nimport { ConnectivityStatusEnum } from \"@/model/data/status/ConnectivityStatusEnum\";\r\n\r\nexport class FetchInstallationsStatusResponse extends ApiGenericResponse {\r\n installationsList: InstallationStatus[];\r\n totalInstallationsCount: number;\r\n totalCountByStatus: TotalByStatus[] = [];\r\n filteredTotalCountByStatus: TotalByStatus[] = [];\r\n totalCountByConnectivityStatus: TotalByConnectivityStatus[] = [];\r\n filteredTotalCountByConnectivityStatus: TotalByConnectivityStatus[] = [];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n this.installationsList = [];\r\n this.totalInstallationsCount = 0;\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.DevicesStatus && obj.DevicesStatus.length > 0) {\r\n obj.DevicesStatus.forEach((e) => {\r\n let inst = new InstallationStatus();\r\n inst.parse(e);\r\n this.installationsList.push(inst);\r\n });\r\n }\r\n if (obj.TotalDeviceStatusCount) this.totalInstallationsCount = obj.TotalDeviceStatusCount;\r\n\r\n if (obj.TotalCountByStatus) {\r\n Object.entries(obj.TotalCountByStatus).forEach((pair: any) => {\r\n if (Object.values(InstallationStatusEnum).includes(pair[0])) this.totalCountByStatus.push(new TotalByStatus(pair[0], pair[1]));\r\n });\r\n }\r\n\r\n if (obj.FilteredTotalCountByStatus) {\r\n Object.entries(obj.FilteredTotalCountByStatus).forEach((pair: any) => {\r\n if (Object.values(InstallationStatusEnum).includes(pair[0])) this.filteredTotalCountByStatus.push(new TotalByStatus(pair[0], pair[1]));\r\n });\r\n }\r\n\r\n if (obj.TotalCountByConnectivityStatus) {\r\n Object.entries(obj.TotalCountByConnectivityStatus).forEach((pair: any) => {\r\n if (Object.values(ConnectivityStatusEnum).includes(pair[0])) this.totalCountByConnectivityStatus.push(new TotalByConnectivityStatus(pair[0], pair[1]));\r\n });\r\n }\r\n\r\n if (obj.FilteredTotalCountByConnectivityStatus) {\r\n Object.entries(obj.FilteredTotalCountByConnectivityStatus).forEach((pair: any) => {\r\n if (Object.values(ConnectivityStatusEnum).includes(pair[0])) this.filteredTotalCountByConnectivityStatus.push(new TotalByConnectivityStatus(pair[0], pair[1]));\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport class TotalByStatus {\r\n installationStatus: InstallationStatusEnum;\r\n total: number;\r\n\r\n constructor(installationStatus: string, total: number) {\r\n this.installationStatus = InstallationStatusEnum[installationStatus];\r\n this.total = total;\r\n }\r\n}\r\n\r\nexport class TotalByConnectivityStatus {\r\n installationStatus: ConnectivityStatusEnum;\r\n total: number;\r\n\r\n constructor(installationStatus: string, total: number) {\r\n this.installationStatus = ConnectivityStatusEnum[installationStatus];\r\n this.total = total;\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { FetchInstallationsStatusResponse } from \"./FetchInstallationsStatusResponse\";\r\nimport { GlobalStatusEnum } from \"@/model/data/status/GlobalStatusEnum\";\r\nimport { IFilterInstallations } from \"../supportObjects/IFilterInstallations\";\r\nimport { IPaginationFilter } from \"../supportObjects/IPaginationFilter\";\r\nimport { TagValues } from \"@/model/data/Tag\";\r\nimport { MaintenanceStatusEnum } from \"@/model/data/status/MaintenanceStatusEnum\";\r\nimport { ConnectivityStatusEnum } from \"@/model/data/status/ConnectivityStatusEnum\";\r\n\r\nconst ENDPOINT = \"/device_status\";\r\n\r\nexport class FetchInstallationsStatusCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n payload: GetDevicesStatusReqData;\r\n\r\n constructor(payload: GetDevicesStatusReqData) {\r\n super();\r\n this.payload = payload;\r\n }\r\n\r\n public async execute(): Promise {\r\n let res = await this.executeCommand(this.payload);\r\n return new FetchInstallationsStatusResponse(res);\r\n }\r\n}\r\n\r\nexport class GetDevicesStatusReqData implements IFilterInstallations, IPaginationFilter {\r\n // FilterInstallations\r\n installationNames: string[] = null;\r\n folderIds: number[] = null;\r\n branchNames: string[] = [];\r\n\r\n // PaginationFilters\r\n queryLimit: number = 0;\r\n offset: number = 0;\r\n orderBy: string[] = null;\r\n orderByDescending: boolean[] = null;\r\n\r\n // Other filters\r\n globalStatusFilter: GlobalStatusEnum[] = [];\r\n connectivityStatusFilter: ConnectivityStatusEnum[] = [];\r\n installationLastMessageDateRange: string[] = [];\r\n agentLastMessageDateRange: string[] = [];\r\n machineModels: string[] = null;\r\n tagValues: TagValues = null;\r\n maintenanceStatusList: MaintenanceStatusEnum[] = [];\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',_vm._b({attrs:{\"loading\":_vm.isInstallationsScheduleSaving || _vm.loading}},'v-card',_vm.$attrs,false),[(_vm.installations.length == 1)?_c('v-card-title',[_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('scheduleConfiguration.editInstallationSchedules', _vm.installations[0]))}})]):_c('v-card-title',[_c('span',{domProps:{\"textContent\":_vm._s(_vm.$tc('scheduleConfiguration.editCountSchedules', _vm.installations.length))}})]),_c('v-card-text',[_c('v-row',[_c('v-col',[_c('v-select',{attrs:{\"items\":_vm.availableScheduleTypeOptions,\"label\":_vm.$t('scheduleConfiguration.scheduleType')},on:{\"change\":_vm.preselectSchedule},model:{value:(_vm.currentSchedule.scheduleType),callback:function ($$v) {_vm.$set(_vm.currentSchedule, \"scheduleType\", $$v)},expression:\"currentSchedule.scheduleType\"}}),_c('v-select',{attrs:{\"items\":_vm.availableFrequencyOptions,\"label\":_vm.$t('common.frequency')},model:{value:(_vm.currentSchedule.frequency),callback:function ($$v) {_vm.$set(_vm.currentSchedule, \"frequency\", $$v)},expression:\"currentSchedule.frequency\"}}),(_vm.currentSchedule.frequency == _vm.ScheduleFrequencyEnum.Weekly || _vm.currentSchedule.frequency == _vm.ScheduleFrequencyEnum.Monthly)?_c('v-select',{attrs:{\"items\":_vm.availableDaysOFWeekOptions,\"label\":_vm.$t('scheduleConfiguration.dayOfWeek')},model:{value:(_vm.currentSchedule.days),callback:function ($$v) {_vm.$set(_vm.currentSchedule, \"days\", $$v)},expression:\"currentSchedule.days\"}}):_vm._e(),(_vm.currentSchedule.frequency == _vm.ScheduleFrequencyEnum.Monthly)?_c('v-select',{attrs:{\"items\":_vm.availableMonthOccurenceOptions,\"label\":_vm.$t('scheduleConfiguration.monthOccurence')},model:{value:(_vm.currentSchedule.monthOccurence),callback:function ($$v) {_vm.$set(_vm.currentSchedule, \"monthOccurence\", $$v)},expression:\"currentSchedule.monthOccurence\"}}):_vm._e()],1),_c('v-col',[_c('v-time-picker',{attrs:{\"format\":_vm.userTimeFormat.pickerFormat},model:{value:(_vm.currentSchedule.time),callback:function ($$v) {_vm.$set(_vm.currentSchedule, \"time\", $$v)},expression:\"currentSchedule.time\"}})],1)],1),_c('v-row',[_c('v-col',[_c('v-alert',{attrs:{\"color\":\"primary\",\"colored-border\":\"\",\"border\":\"right\",\"elevation\":\"2\",\"icon\":\"fa-history\"}},[_c('div',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.availableScheduleTypeOptions.filter(function (v) { return v.value == _vm.currentSchedule.scheduleType; })[0].text)+\" \")]),_c('div',[_c('schedule-configuration-component',{attrs:{\"schedule\":_vm.currentSchedule}})],1)])],1)],1)],1),_c('v-card-actions',[_c('v-spacer'),(!_vm.hideCancel)?_c('v-btn',{attrs:{\"color\":\"error\"},on:{\"click\":_vm.onCancelClick}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"times\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.cancel'))}})],1):_vm._e(),_c('v-btn',{attrs:{\"color\":\"success\",\"outlined\":\"\"},on:{\"click\":_vm.save}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"save\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.save'))}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class ClientRequestData { }\r\n","import { ClientRequestData } from \"../ClientRequestData\";\r\nimport { ScheduleConfiguration } from \"@/model/data/scheduleSettings/ScheduleConfiguration\";\r\n\r\nexport class SaveInstallationsScheduleConfigurationRequestData extends ClientRequestData {\r\n installationNameList: string[] = null;\r\n scheduleConfiguration: ScheduleConfiguration;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import { Command, API_PREFIX, API_VERSION, HttpVerbType } from \"../Command\";\r\nimport { SaveInstallationsScheduleConfigurationRequestData } from \"./SaveInstallationsScheduleConfigurationRequestData\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\n\r\nconst ENDPOINT = \"/schedules/create\";\r\n\r\nexport class SaveInstallationsScheduleConfigurationCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n payload: SaveInstallationsScheduleConfigurationRequestData;\r\n\r\n constructor(payload: SaveInstallationsScheduleConfigurationRequestData) {\r\n super();\r\n this.payload = payload;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.payload);\r\n return new ServiceResponseData(res);\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vuex\r\nimport { mapGetters, mapState } from \"vuex\";\r\nimport { RootState } from \"@/store\";\r\n\r\n// Vue components\r\nimport ScheduleConfigurationComponent from \"./ScheduleConfigurationComponent.vue\";\r\n\r\n// Model\r\nimport { SaveInstallationsScheduleConfigurationRequestData } from \"@/model/communication/scheduleConfiguration/SaveInstallationsScheduleConfigurationRequestData\";\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { LicenseModuleEnum } from \"@/model/data/License/LicenseModuleEnum\";\r\nimport { InstallationScheduleConfiguration } from \"@/model/data/scheduleSettings/InstallationScheduleSettings\";\r\nimport { ScheduleConfiguration } from \"@/model/data/scheduleSettings/ScheduleConfiguration\";\r\nimport { ScheduleFrequencyEnum } from \"@/model/data/scheduleSettings/ScheduleFrequencyEnum\";\r\nimport { ScheduleTypeEnum } from \"@/model/data/scheduleSettings/ScheduleTypeEnum\";\r\nimport { DayOfWeek } from \"@/model/data/scheduleSettings/DayOfWeek\";\r\nimport { FetchInstallationsScheduleConfigurationRequestData } from \"@/model/communication/scheduleConfiguration/FetchInstallationsScheduleConfigurationRequestData\";\r\nimport { FetchInstallationsScheduleConfigurationCommand } from \"@/model/communication/scheduleConfiguration/FetchInstallationsScheduleConfigurationCommand\";\r\nimport { FetchInstallationsScheduleConfigurationResponse } from \"@/model/communication/scheduleConfiguration/FetchInstallationsScheduleConfigurationResponse\";\r\nimport { LicenseData } from \"@/model/data/License/LicenseData\";\r\nimport { ClientPrivileges } from \"@/model/data/authentication/ClientPrivilegesEnum\";\r\nimport { SaveInstallationsScheduleConfigurationCommand } from \"@/model/communication/scheduleConfiguration/SaveInstallationsScheduleConfigurationCommand\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ScheduleConfigurationComponent,\r\n },\r\n data() {\r\n return {\r\n isInstallationsScheduleSaving: false,\r\n currentSchedule: new ScheduleConfiguration(),\r\n loading: false,\r\n ScheduleFrequencyEnum,\r\n\r\n availableFrequencyOptions: [\r\n {\r\n text: this.$t(\"common.notSet\"),\r\n value: ScheduleFrequencyEnum.NotSet,\r\n },\r\n {\r\n text: this.$t(\"scheduleConfiguration.daily\"),\r\n value: ScheduleFrequencyEnum.Daily,\r\n },\r\n {\r\n text: this.$t(\"scheduleConfiguration.weekly\"),\r\n value: ScheduleFrequencyEnum.Weekly,\r\n },\r\n {\r\n text: this.$t(\"scheduleConfiguration.monthly\"),\r\n value: ScheduleFrequencyEnum.Monthly,\r\n },\r\n ],\r\n\r\n availableDaysOFWeekOptions: [\r\n {\r\n text: this.$t(\"common.dayOfWeek.monday\"),\r\n value: DayOfWeek.Monday,\r\n },\r\n {\r\n text: this.$t(\"common.dayOfWeek.tuesday\"),\r\n value: DayOfWeek.Tuesday,\r\n },\r\n {\r\n text: this.$t(\"common.dayOfWeek.wednesday\"),\r\n value: DayOfWeek.Wednesday,\r\n },\r\n {\r\n text: this.$t(\"common.dayOfWeek.thursday\"),\r\n value: DayOfWeek.Thursday,\r\n },\r\n {\r\n text: this.$t(\"common.dayOfWeek.friday\"),\r\n value: DayOfWeek.Friday,\r\n },\r\n {\r\n text: this.$t(\"common.dayOfWeek.saturday\"),\r\n value: DayOfWeek.Saturday,\r\n },\r\n {\r\n text: this.$t(\"common.dayOfWeek.sunday\"),\r\n value: DayOfWeek.Sunday,\r\n },\r\n ],\r\n\r\n availableMonthOccurenceOptions: [\r\n {\r\n text: this.$t(\"common.cardinal.first\"),\r\n value: 0,\r\n },\r\n {\r\n text: this.$t(\"common.cardinal.second\"),\r\n value: 1,\r\n },\r\n {\r\n text: this.$t(\"common.cardinal.third\"),\r\n value: 2,\r\n },\r\n {\r\n text: this.$t(\"common.cardinal.fourth\"),\r\n value: 3,\r\n },\r\n {\r\n text: this.$t(\"common.cardinal.last\"),\r\n value: 4,\r\n },\r\n ],\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n licenseData: (state: RootState): any => state.license.licenseModules,\r\n authUser: (state: RootState) => state.authMod.currentUser,\r\n }),\r\n ...mapGetters([\"userTimeFormat\", \"authUserHasPrivilege\"]),\r\n availableScheduleTypeOptions() {\r\n let ret = [];\r\n\r\n if ((this.licenseData as LicenseData).isAvailable(LicenseModuleEnum.ServiceAndUpdatesManagement)) {\r\n if (this.authUserHasPrivilege(ClientPrivileges.UpdatesManagement))\r\n ret.push({\r\n text: this.$t(\"scheduleConfiguration.updateSettings\"),\r\n value: ScheduleTypeEnum.Update,\r\n });\r\n\r\n if (this.authUserHasPrivilege(ClientPrivileges.DownloadLogs))\r\n ret.push({\r\n text: this.$t(\"scheduleConfiguration.logDownload\"),\r\n value: ScheduleTypeEnum.Logs,\r\n });\r\n }\r\n\r\n if ((this.licenseData as LicenseData).isAvailable(LicenseModuleEnum.SecurityManagement)) {\r\n if (this.authUserHasPrivilege(ClientPrivileges.SecurityManagement) || this.authUserHasPrivilege(ClientPrivileges.SecurityScheduleWrite))\r\n ret.push({\r\n text: this.$t(\"scheduleConfiguration.securitySettings\"),\r\n value: ScheduleTypeEnum.Config,\r\n });\r\n }\r\n\r\n if ((this.licenseData as LicenseData).isAvailable(LicenseModuleEnum.SecurityManagement)) {\r\n if (this.authUserHasPrivilege(ClientPrivileges.CaosConfigurationManagement))\r\n ret.push({\r\n text: this.$t(\"scheduleConfiguration.caosConfigurationBackup\"),\r\n value: ScheduleTypeEnum.CaosConfigurationBackup,\r\n });\r\n }\r\n return ret;\r\n },\r\n },\r\n props: {\r\n installations: Array as () => InstallationScheduleConfiguration[],\r\n hideCancel: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n initialSchedule: {\r\n type: Number as () => ScheduleTypeEnum,\r\n },\r\n },\r\n watch: {\r\n installations: {\r\n handler(newValue, oldValue) {\r\n if (newValue == null || newValue == undefined || newValue.length == 0) return;\r\n if (this.initialSchedule) this.currentSchedule.scheduleType = this.initialSchedule;\r\n else {\r\n if (this.authUserHasPrivilege(ClientPrivileges.UpdatesManagement)) this.currentSchedule.scheduleType = ScheduleTypeEnum.Update;\r\n else if (this.authUserHasPrivilege(ClientPrivileges.DownloadLogs)) this.currentSchedule.scheduleType = ScheduleTypeEnum.Logs;\r\n else if (this.authUserHasPrivilege(ClientPrivileges.SecurityManagement)) this.currentSchedule.scheduleType = ScheduleTypeEnum.Config;\r\n else if (this.authUserHasPrivilege(ClientPrivileges.CaosConfigurationManagement)) this.currentSchedule.scheduleType = ScheduleTypeEnum.CaosConfigurationBackup;\r\n }\r\n\r\n if (oldValue == null || oldValue == undefined || oldValue.length == 0 || (newValue.length && oldValue.length && oldValue[0] != newValue[0])) {\r\n this.preselectSchedule();\r\n }\r\n },\r\n immediate: true,\r\n },\r\n },\r\n methods: {\r\n async preselectSchedule() {\r\n let existingsSchedule = null;\r\n if (\r\n (this.installations[0] as InstallationScheduleConfiguration).schedulesConfigurations != null &&\r\n (this.installations[0] as InstallationScheduleConfiguration).schedulesConfigurations.filter((s) => s.scheduleType == this.currentSchedule.scheduleType).length\r\n ) {\r\n existingsSchedule = (this.installations[0] as InstallationScheduleConfiguration).schedulesConfigurations.filter(\r\n (s) => s.scheduleType == this.currentSchedule.scheduleType\r\n )[0];\r\n } // provo a richiedere la configurazione della prima installazione per coerenza con la pagina di schedule\r\n else {\r\n try {\r\n let reqData: FetchInstallationsScheduleConfigurationRequestData = new FetchInstallationsScheduleConfigurationRequestData();\r\n reqData.installationNames = [this.installations[0].name];\r\n reqData.queryLimit = 1;\r\n\r\n this.loading = true;\r\n let res: FetchInstallationsScheduleConfigurationResponse = await new FetchInstallationsScheduleConfigurationCommand(reqData).execute();\r\n this.loading = false;\r\n if (res.responseStatus == ApiResponseStatusEnum.Success && res.installationsList != null && res.installationsList.length > 0) {\r\n let installationConfiguration: InstallationScheduleConfiguration = res.installationsList[0] as InstallationScheduleConfiguration;\r\n\r\n if (\r\n installationConfiguration.schedulesConfigurations != null &&\r\n installationConfiguration.schedulesConfigurations.filter((s) => s.scheduleType == this.currentSchedule.scheduleType).length\r\n )\r\n existingsSchedule = installationConfiguration.schedulesConfigurations.filter((s) => s.scheduleType == this.currentSchedule.scheduleType)[0];\r\n }\r\n } catch (e) {\r\n this.loading = false;\r\n console.error(\"Exception: \", e);\r\n }\r\n }\r\n if (existingsSchedule) {\r\n this.currentSchedule.frequency = existingsSchedule.frequency;\r\n this.currentSchedule.time = existingsSchedule.time;\r\n this.currentSchedule.days = existingsSchedule.days;\r\n this.currentSchedule.monthOccurence = existingsSchedule.monthOccurence;\r\n } else {\r\n this.currentSchedule.frequency = ScheduleFrequencyEnum.NotSet;\r\n this.currentSchedule.time = null;\r\n this.currentSchedule.days = DayOfWeek.Monday;\r\n this.currentSchedule.monthOccurence = null;\r\n }\r\n },\r\n async save() {\r\n let reqData: SaveInstallationsScheduleConfigurationRequestData = new SaveInstallationsScheduleConfigurationRequestData();\r\n reqData.installationNameList = this.installations.map((c) => c.name);\r\n reqData.scheduleConfiguration = this.currentSchedule;\r\n\r\n this.isInstallationsScheduleSaving = true;\r\n let res = await new SaveInstallationsScheduleConfigurationCommand(reqData).execute();\r\n this.isInstallationsScheduleSaving = false;\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.$emit(\"close\", { forceRefresh: true });\r\n }\r\n this.$emit(\"data-reload\");\r\n },\r\n onCancelClick() {\r\n this.$emit(\"close\", { forceRefresh: false });\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditSchedule.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditSchedule.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditSchedule.vue?vue&type=template&id=3b47e9a2&\"\nimport script from \"./EditSchedule.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditSchedule.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTimePicker } from 'vuetify/lib/components/VTimePicker';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VRow,VSelect,VSpacer,VTimePicker})\n","import { Installation } from \"../Installation\";\r\nimport { MachineStatus } from \"./MachineStatus\";\r\nimport { AgentInfo } from \"../agent/AgentInfo\";\r\nimport { MaintenanceStatusEnum } from \"./MaintenanceStatusEnum\";\r\n\r\nexport class InstallationStatus extends Installation {\r\n /** Lista di machine status, informazioni specifiche sullo stato di ogni macchina */\r\n statusMachines: MachineStatus[] = [];\r\n\r\n /** Informazioni sull'agent */\r\n agentInfo: AgentInfo = null;\r\n\r\n /** Stato della manutenzione calcolato sulla base dello stato di manutenzione delle singole macchine */\r\n maintenanceStatus: MaintenanceStatusEnum = MaintenanceStatusEnum.Regular;\r\n\r\n /** Data di prossima manutenzione relativamente all'installazione: corrisponde alla data di prossima manutenzione più piccola tra tutte le macchine*/\r\n nextMaintenance: Date;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public parse(obj: any) {\r\n super.parse(obj);\r\n\r\n if (obj.StatusMachines && obj.StatusMachines.length > 0) {\r\n obj.StatusMachines.forEach((e) => {\r\n var ms: MachineStatus = new MachineStatus();\r\n ms.parse(e);\r\n this.statusMachines.push(ms);\r\n });\r\n }\r\n\r\n if (obj.AgentInfo) {\r\n this.agentInfo = new AgentInfo();\r\n this.agentInfo.parse(obj.AgentInfo);\r\n }\r\n\r\n if (obj.MaintenanceStatus != null && Object.values(MaintenanceStatusEnum).includes(obj.MaintenanceStatus)) this.maintenanceStatus = obj.MaintenanceStatus;\r\n if (obj.NextMaintenance != null) this.nextMaintenance = obj.NextMaintenance;\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',_vm._l((_vm.headers),function(h){return _c('td',{key:h.value},[_c('v-col',{class:h.align == 'center' ? 'pa-0 text-center' : 'pa-0'},[(_vm.filters.filter(function (cf) { return cf.headerValue == h.value; }).length > 0)?_c(_vm.filters.filter(function (cf) { return cf.headerValue == h.value; })[0].component,{tag:\"component\",attrs:{\"description\":_vm.filters.filter(function (cf) { return cf.headerValue == h.value; })[0].description,\"customAttrs\":_vm.filters.filter(function (cf) { return cf.headerValue == h.value; })[0].customAttrs},model:{value:(_vm.filters.filter(function (cf) { return cf.headerValue == h.value; })[0].currentSelections),callback:function ($$v) {_vm.$set(_vm.filters.filter(function (cf) { return cf.headerValue == h.value; })[0], \"currentSelections\", $$v)},expression:\"filters.filter((cf) => cf.headerValue == h.value)[0].currentSelections\"}}):_vm._e()],1)],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n filters: [],\r\n ignoreFilterChanges: false,\r\n };\r\n },\r\n props: {\r\n headers: Array,\r\n computedFilters: { required: true },\r\n },\r\n watch: {\r\n filters: {\r\n handler(newFilters) {\r\n if (!this.ignoreFilterChanges) this.$emit(\"filters-changed\", newFilters);\r\n else this.ignoreFilterChanges = false;\r\n },\r\n deep: true,\r\n },\r\n },\r\n mounted() {\r\n this.ignoreFilterChanges = true;\r\n this.filters = this.computedFilters;\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableFiltersRow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableFiltersRow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TableFiltersRow.vue?vue&type=template&id=2754d0f4&\"\nimport script from \"./TableFiltersRow.vue?vue&type=script&lang=ts&\"\nexport * from \"./TableFiltersRow.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol})\n","import { TagValues } from \"@/model/data/Tag\";\r\nimport { IFilterInstallations } from \"../supportObjects/IFilterInstallations\";\r\nimport { IPaginationFilter } from \"../supportObjects/IPaginationFilter\";\r\n\r\nexport class FetchInstallationsScheduleConfigurationRequestData implements IFilterInstallations, IPaginationFilter {\r\n // FilterInstallations\r\n installationNames: string[] = null;\r\n folderIds: number[] = null;\r\n branchNames: string[] = null;\r\n\r\n // PaginationFilter\r\n queryLimit: number = 0;\r\n offset: number = 0;\r\n orderBy: string[] = null;\r\n orderByDescending: boolean[] = null;\r\n\r\n // Other filters\r\n tagValues: TagValues = null;\r\n\r\n constructor() {}\r\n}\r\n","// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n expansionPanel: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-content',\n\n computed: {\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (h): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-content',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this)),\n ]),\n ]))\n },\n})\n","export enum DayOfWeek {\r\n Sunday = 0,\r\n Monday = 1,\r\n Tuesday = 2,\r\n Wednesday = 3,\r\n Thursday = 4,\r\n Friday = 5,\r\n Saturday = 6,\r\n}\r\n","export class InstallationBranchMoving {\r\n id: number;\r\n installationName: string;\r\n destinationBranchName: string;\r\n movingDateTime: Date;\r\n username: string;\r\n\r\n constructor() {}\r\n\r\n public parse(obj: any) {\r\n if (obj.Id != null) this.id = obj.Id;\r\n if (obj.InstallationName != null) this.installationName = obj.InstallationName;\r\n if (obj.DestinationBranchName != null) this.destinationBranchName = obj.DestinationBranchName;\r\n if (obj.MovingDateTime != null) this.movingDateTime = obj.MovingDateTime;\r\n if (obj.Username != null) this.username = obj.Username;\r\n }\r\n}\r\n","import { InstallationBranchMoving } from \"@/model/data/InstallationBranchMoving\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\n\r\nconst ENDPOINT = \"/branch/history\";\r\n\r\nexport class GetInstallationBranchHistoryCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: any;\r\n\r\n constructor(installationName: string) {\r\n super();\r\n this.params = { installationName: installationName };\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new GetBranchInstallationsResData(res);\r\n }\r\n}\r\n\r\nexport class GetBranchInstallationsResData extends ApiGenericResponse {\r\n installationBranchMovingList: InstallationBranchMoving[];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n this.installationBranchMovingList = [];\r\n\r\n if (\r\n response.data &&\r\n response.data.Payload &&\r\n Array.isArray(response.data.Payload.InstallationBranchMovingList) &&\r\n response.data.Payload.InstallationBranchMovingList.length\r\n )\r\n this.parse(response.data.Payload.InstallationBranchMovingList);\r\n }\r\n\r\n public parse(installationBranchMovingList: any) {\r\n installationBranchMovingList.forEach((installationBranchMoving) => {\r\n var moving: InstallationBranchMoving = new InstallationBranchMoving();\r\n moving.parse(installationBranchMoving);\r\n if (moving) this.installationBranchMovingList.push(moving);\r\n });\r\n }\r\n}\r\n","import { ScheduleTypeEnum } from \"./ScheduleTypeEnum\";\r\nimport { ScheduleFrequencyEnum } from \"./ScheduleFrequencyEnum\";\r\nimport { DayOfWeek } from \"./DayOfWeek\";\r\n\r\nexport class ScheduleConfiguration {\r\n scheduleType: ScheduleTypeEnum = ScheduleTypeEnum.Update;\r\n\r\n frequency: ScheduleFrequencyEnum = ScheduleFrequencyEnum.NotSet;\r\n\r\n time: String = null;\r\n\r\n days: DayOfWeek = DayOfWeek.Monday;\r\n\r\n monthOccurence: Number = null;\r\n\r\n constructor() {}\r\n\r\n public parse(obj: any) {\r\n if (obj.ScheduleType != null || obj.ScheduleType != undefined) this.scheduleType = obj.ScheduleType;\r\n if (obj.Frequency != null || obj.Frequency != undefined) this.frequency = obj.Frequency;\r\n if (obj.Time != null || obj.Time != undefined) this.time = obj.Time;\r\n if (obj.Days != null || obj.Days != undefined) this.days = obj.Days;\r\n if (obj.MonthOccurence != null || obj.MonthOccurence != undefined) this.monthOccurence = obj.MonthOccurence;\r\n }\r\n}\r\n","import { AxiosResponse } from \"axios\";\r\nimport { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { InstallationUpdate } from \"@/model/data/updates/InstallationUpdate\";\r\nimport { PaginatedServiceResponseData } from \"../PaginatedServiceResponseData\";\r\n\r\nexport class FetchInstallationUpdatesStatusResponse extends PaginatedServiceResponseData {\r\n installationsList: InstallationUpdate[] = [];\r\n totalInstallationsCount: number;\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n if (response.data && response.data.Payload) {\r\n const data = response.data.Payload;\r\n\r\n data.DevicesUpdateStatus.forEach((v: any) => {\r\n var entry = new InstallationUpdate();\r\n entry.parse(v);\r\n this.installationsList.push(entry);\r\n });\r\n\r\n this.totalInstallationsCount = data.PaginatedTotalItems;\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { FetchInstallationUpdatesStatusResponse } from \"./FetchInstallationUpdatesStatusResponse\";\r\nimport { FetchInstallationsUpdatesStatusServerReqData } from \"./FetchInstallationsUpdatesStatusRequestData\";\r\n\r\nconst ENDPOINT = \"/device_update\";\r\n\r\nexport class FetchInstallationUpdatesStatusCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n payload: FetchInstallationsUpdatesStatusServerReqData;\r\n\r\n constructor(payload: FetchInstallationsUpdatesStatusServerReqData) {\r\n super();\r\n this.payload = payload;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand({ ...this.payload });\r\n return new FetchInstallationUpdatesStatusResponse(res);\r\n }\r\n}\r\n","import { UpdateTypeEnum } from \"@/model/data/enums/UpdateTypeEnum\";\r\nimport { InstalledSoftware } from \"@/model/data/InstalledSoftware\";\r\nimport { GlobalStatusEnum } from \"@/model/data/status/GlobalStatusEnum\";\r\nimport { TagValues } from \"@/model/data/Tag\";\r\nimport { IsNamedSoftwareVersion, NamedSoftwareVersion } from \"@/model/data/updates/NamedSoftwareVersion\";\r\nimport { IFilterInstallations } from \"../supportObjects/IFilterInstallations\";\r\nimport { IPaginationFilter } from \"../supportObjects/IPaginationFilter\";\r\nimport { ConnectivityStatusEnum } from \"@/model/data/status/ConnectivityStatusEnum\";\r\n\r\nexport class FetchInstallationsUpdatesStatusRequestData implements IFilterInstallations, IPaginationFilter {\r\n // FilterInstallations\r\n installationNames: string[] = null;\r\n folderIds: number[] = null;\r\n branchNames: string[] = [];\r\n\r\n // PaginationFilters\r\n queryLimit: number = 0;\r\n offset: number = 0;\r\n orderBy: string[] = null;\r\n orderByDescending: boolean[] = null;\r\n\r\n // Other filters\r\n globalStatusFilter: GlobalStatusEnum[] = [];\r\n connectivityStatusFilter: ConnectivityStatusEnum[] = [];\r\n installationLastMessageDateRange: string[] = [];\r\n agentLastMessageDateRange: string[] = [];\r\n machineModels: string[] = null;\r\n tagValues: TagValues = null;\r\n}\r\n\r\nexport class FetchInstallationsUpdatesStatusServerReqData implements IFilterInstallations, IPaginationFilter {\r\n // FilterInstallations\r\n installationNames: string[] = null;\r\n folderIds: number[] = null;\r\n branchNames: string[] = [];\r\n\r\n // PaginationFilters\r\n queryLimit: number = 0;\r\n offset: number = 0;\r\n orderBy: string[] = null;\r\n orderByDescending: boolean[] = null;\r\n\r\n // Other filters\r\n globalStatusFilter: GlobalStatusEnum[] = [];\r\n connectivityStatusFilter: ConnectivityStatusEnum[] = [];\r\n installationLastMessageDateRange: string[] = [];\r\n agentLastMessageDateRange: string[] = [];\r\n machineModels: string[] = null;\r\n tagValues: TagValues = null;\r\n softwareVersionFilterList: InstalledSoftware[] = [];\r\n}\r\n\r\nexport function GetServerFetchInstallationsUpdatesStatusReqData(req: FetchInstallationsUpdatesStatusRequestData): FetchInstallationsUpdatesStatusServerReqData {\r\n let softwareVersionFilterList: InstalledSoftware[] = [];\r\n let reqProps = Object.keys(req);\r\n\r\n reqProps.forEach((prop) => {\r\n if (Array.isArray(req[prop]) && IsNamedSoftwareVersion(req[prop][0])) {\r\n req[prop].forEach((softwareFilter: NamedSoftwareVersion) => {\r\n let sw = new InstalledSoftware();\r\n\r\n if (Object.keys(UpdateTypeEnum).includes(softwareFilter.name)) sw.updateType = UpdateTypeEnum[softwareFilter.name];\r\n else sw.updateType = UpdateTypeEnum.ThirdPartySoftware;\r\n\r\n sw.name = softwareFilter.name;\r\n sw.version = softwareFilter.version;\r\n softwareVersionFilterList.push(sw);\r\n });\r\n }\r\n });\r\n\r\n let res: FetchInstallationsUpdatesStatusServerReqData = {\r\n installationNames: req.installationNames,\r\n folderIds: req.folderIds,\r\n branchNames: req.branchNames,\r\n globalStatusFilter: req.globalStatusFilter,\r\n connectivityStatusFilter: req.connectivityStatusFilter,\r\n queryLimit: req.queryLimit,\r\n offset: req.offset,\r\n orderBy: req.orderBy,\r\n orderByDescending: req.orderByDescending,\r\n installationLastMessageDateRange: req.installationLastMessageDateRange,\r\n agentLastMessageDateRange: req.agentLastMessageDateRange,\r\n machineModels: req.machineModels,\r\n tagValues: req.tagValues,\r\n softwareVersionFilterList: softwareVersionFilterList,\r\n };\r\n\r\n return res;\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"d-flex\",staticStyle:{\"flex-direction\":\"column\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"card\",\"loading\":_vm.loading}},[_c('InstallationUpdatesStatusCard',_vm._b({staticClass:\"flex-grow-1\",attrs:{\"installation\":_vm.installation,\"installationUpdate\":_vm.installationUpdate,\"withLink\":false},on:{\"data-reload\":function($event){return _vm.$emit('data-reload')}}},'InstallationUpdatesStatusCard',_vm.$attrs,false))],1)],1),_vm._l((_vm.installation.machines),function(machine){return _c('v-col',{key:machine.machineSerialNumber,staticClass:\"d-flex\",staticStyle:{\"flex-direction\":\"column\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"card\",\"loading\":_vm.loading}},[_c('MachineStatusAndUpdatesCard',{staticClass:\"flex-grow-1\",attrs:{\"machine\":machine,\"machineStatus\":_vm.installationStatus && _vm.installationStatus.statusMachines\n ? _vm.installationStatus.statusMachines.filter(function (cm) { return cm.machineSerialNumber == machine.serialNumber; })[0]\n : null,\"machineUpdate\":_vm.installationUpdate && _vm.installationUpdate.updateMachines\n ? _vm.installationUpdate.updateMachines.filter(function (cm) { return cm.machineSerialNumber == machine.serialNumber; })[0]\n : null,\"hideStatus\":true,\"hasAgent\":_vm.hasAgent}})],1)],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('installation-card',_vm._b({attrs:{\"installation\":_vm.installationUpdate ? _vm.installationUpdate : _vm.installation},on:{\"data-reload\":function($event){return _vm.$emit('data-reload')}}},'installation-card',_vm.$attrs,false),[(_vm.installationUpdate)?_c('span',[(_vm.installedSoftwaresVersions.length > 0)?_c('InstalledSoftwaresTable',{staticClass:\"my-2\",attrs:{\"sws\":_vm.installedSoftwaresVersions,\"asws\":_vm.availableSoftwareVersionsToUpgrade}}):_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('device_update_status.updatesStatusNotAvailable'))}}),(_vm.associatedCustomActions.length > 0 || _vm.availableCustomActions.length > 0)?_c('InstalledSoftwaresTable',{staticClass:\"mt-3\",attrs:{\"sws\":_vm.associatedCustomActions,\"asws\":_vm.availableCustomActions,\"isCustomActionTable\":true}}):_vm._e()],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Model\r\nimport InstalledSoftwaresTable from \"@/views/App/ServiceAndUpdates/UpdatesManagement/DetailsSection/InstalledSoftwaresTable.vue\";\r\nimport AgentInfoPropsList from \"@/components/PropsLists/AgentInfoPropsList.vue\";\r\nimport { UpdateTypeEnum } from \"@/model/data/enums/UpdateTypeEnum\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AgentInfoPropsList,\r\n InstalledSoftwaresTable,\r\n },\r\n props: [\"installation\", \"installationUpdate\"],\r\n computed: {\r\n installedSoftwaresVersions() {\r\n if (this.installationUpdate.installedSoftwaresVersions.length > 0)\r\n return this.installationUpdate.installedSoftwaresVersions.filter((u) => u.updateType != UpdateTypeEnum.CustomAction);\r\n return [];\r\n },\r\n availableSoftwareVersionsToUpgrade() {\r\n if (this.installationUpdate.availableSoftwareVersionsToUpgrade.length > 0)\r\n return this.installationUpdate.availableSoftwareVersionsToUpgrade.filter((u) => u.updateType != UpdateTypeEnum.CustomAction);\r\n return [];\r\n },\r\n associatedCustomActions() {\r\n if (this.installationUpdate.installedSoftwaresVersions.length > 0)\r\n return this.installationUpdate.installedSoftwaresVersions.filter((u) => u.updateType == UpdateTypeEnum.CustomAction).concat(this.availableCustomActions);\r\n return [];\r\n },\r\n availableCustomActions() {\r\n if (this.installationUpdate.availableSoftwareVersionsToUpgrade.length > 0)\r\n return this.installationUpdate.availableSoftwareVersionsToUpgrade.filter((u) => u.updateType == UpdateTypeEnum.CustomAction);\r\n return [];\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstallationUpdatesStatusCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstallationUpdatesStatusCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InstallationUpdatesStatusCard.vue?vue&type=template&id=7d536f82&\"\nimport script from \"./InstallationUpdatesStatusCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./InstallationUpdatesStatusCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('machine-card',{attrs:{\"machine\":_vm.machine,\"showResetButton\":false,\"hasAgent\":_vm.hasAgent}},[(_vm.machineStatus)?_c('span',[(!_vm.hideStatus)?_c('MachineStatusPropsList',{attrs:{\"machineStatus\":_vm.machineStatus,\"model\":_vm.machine.model}}):_vm._e(),(!_vm.hideStatus && _vm.machineStatus.extension && _vm.machineStatus.extension.includes('AREA'))?_c('v-dialog',{attrs:{\"max-width\":\"900\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',_vm._g({attrs:{\"block\":\"\",\"outlined\":\"\",\"color\":\"error\"}},on),[_c('v-fa-icon',{staticClass:\"mx-2\",attrs:{\"color\":\"error\",\"icon\":\"exclamation-circle\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('device_status.blocking_area'))}})],1)],1)],1)]}}],null,false,4073334365)},[_c('DiagnosticImageCard',{attrs:{\"model\":_vm.machine.model,\"supportedCashType\":_vm.machine.supportedCashType,\"errorMessage\":_vm.machineStatus.extension}})],1):_vm._e()],1):_vm._e(),(_vm.machineUpdate && _vm.machineUpdate.installedSoftwaresVersions.length > 0)?_c('InstalledSoftwaresTable',{staticClass:\"mt-6\",attrs:{\"sws\":_vm.machineUpdate.installedSoftwaresVersions,\"asws\":_vm.machineUpdate.availableSoftwareVersionsToUpgrade}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vue components\r\nimport MachineStatusPropsList from \"@/components/PropsLists/MachineStatusPropsList.vue\";\r\nimport DiagnosticImageCard from \"@/views/App/Components/DiagnosticImageCard.vue\";\r\nimport InstalledSoftwaresTable from \"@/views/App/ServiceAndUpdates/UpdatesManagement/DetailsSection/InstalledSoftwaresTable.vue\";\r\n\r\n// Model\r\n\r\nexport default Vue.extend({\r\n components: {\r\n MachineStatusPropsList,\r\n DiagnosticImageCard,\r\n InstalledSoftwaresTable,\r\n },\r\n props: [\"machine\", \"machineStatus\", \"machineUpdate\", \"hideStatus\", \"hasAgent\"],\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MachineStatusAndUpdatesCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MachineStatusAndUpdatesCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MachineStatusAndUpdatesCard.vue?vue&type=template&id=6632da1a&\"\nimport script from \"./MachineStatusAndUpdatesCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./MachineStatusAndUpdatesCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VDialog,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport semver from \"semver\";\r\n\r\n// Components\r\nimport InstallationUpdatesStatusCard from \"@/components/Cards/Model/InstallationUpdatesStatusCard.vue\";\r\nimport MachineStatusAndUpdatesCard from \"@/components/Cards/Model/MachineStatusAndUpdatesCard.vue\";\r\n\r\n// Model\r\nimport { MODULE_COLORS } from \"@/utility/Constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n InstallationUpdatesStatusCard,\r\n MachineStatusAndUpdatesCard,\r\n },\r\n data() {\r\n return { MODULE_COLORS };\r\n },\r\n props: [\"installation\", \"installationStatus\", \"installationUpdate\", \"loading\"],\r\n computed: {\r\n hasAgent() {\r\n try {\r\n if (this.installation && this.installation.agentInfo && this.installation.agentInfo.version) {\r\n let splittedVersion = this.installation.agentInfo.version.split(\".\");\r\n if (splittedVersion && splittedVersion.length >= 3) return semver.gte(`${splittedVersion[0]}.${splittedVersion[1]}.${splittedVersion[2]}`, \"7.1.0\");\r\n }\r\n } catch {\r\n console.error(\"Cannot parse agent version\");\r\n }\r\n return false;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusAndUpdatesSection.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusAndUpdatesSection.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StatusAndUpdatesSection.vue?vue&type=template&id=04040b98&\"\nimport script from \"./StatusAndUpdatesSection.vue?vue&type=script&lang=ts&\"\nexport * from \"./StatusAndUpdatesSection.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VCol,VRow,VSkeletonLoader})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isUpdatePackagesListFetching)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":16,\"width\":\"3\",\"color\":\"primary\"}}):_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-badge',{attrs:{\"overlap\":\"\",\"content\":_vm.lastSelectedItemsLength,\"value\":_vm.lastSelectedItemsLength > 0}},[_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"icon\":\"\"}},on),[_c('v-fa-icon',{attrs:{\"small\":\"\",\"icon\":\"filter\"}})],1)],1)]}}]),model:{value:(_vm.openMenu),callback:function ($$v) {_vm.openMenu=$$v},expression:\"openMenu\"}},[_c('v-card',{attrs:{\"max-width\":\"550\"}},[_c('v-sheet',{staticClass:\"pa-4 info lighten-1\"},[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',{staticClass:\"py-0\"},[_c('v-text-field',{attrs:{\"label\":((_vm.$t('common.search')) + \" \" + (_vm.$t('update_packages.update_type').toString().toLowerCase())),\"dark\":\"\",\"flat\":\"\",\"solo-inverted\":\"\",\"hide-details\":\"\",\"clearable\":\"\",\"clear-icon\":\"fas fa-times\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-col',{staticClass:\"ml-2\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{staticStyle:{\"color\":\"#c9e6ff\",\"min-height\":\"48px\"},attrs:{\"color\":\"info\",\"elevation\":\"0\",\"large\":\"\"},on:{\"click\":_vm.filter}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.filter\"))+\" \")])],1)],1)],1),_c('v-treeview',{staticClass:\"pa-2 remove-left-padding\",staticStyle:{\"max-height\":\"300px\",\"overflow\":\"auto\"},attrs:{\"items\":_vm.availableData,\"selectable\":\"\",\"dense\":\"\",\"item-text\":\"name\",\"item-key\":\"value\",\"search\":_vm.search},model:{value:(_vm.selectedItems),callback:function ($$v) {_vm.selectedItems=$$v},expression:\"selectedItems\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { RootState } from \"@/store\";\r\nimport { GetI18nStringFromUpdateType, UpdateTypeEnum } from \"@/model/data/enums/UpdateTypeEnum\";\r\nimport { UpdatePackageInstallationsCount } from \"@/model/data/updates/UpdatePackageInstallationsCount\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n selectedItems: [],\r\n lastSelectedItemsLength: 0,\r\n search: \"\",\r\n openMenu: false,\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n isUpdatePackagesListFetching: (state: RootState) => state.updatePackages.isUpdatePackagesListFetching,\r\n updatePackagesList: (state: RootState): UpdatePackageInstallationsCount[] => state.updatePackages.updatePackagesList,\r\n }),\r\n availableData() {\r\n let data = [];\r\n this.updatePackagesList\r\n .map((u) => u.updateType)\r\n .filter((value, index, array) => array.indexOf(value) === index)\r\n .forEach((type) => {\r\n data.push({ name: this.$t(GetI18nStringFromUpdateType(type as UpdateTypeEnum)), value: type, selected: this.selectedItems.includes(type) ? 1 : 0 });\r\n });\r\n data.sort((a, b) => {\r\n return b.selected - a.selected || a.name.localeCompare(b.name);\r\n });\r\n return data;\r\n },\r\n },\r\n methods: {\r\n GetI18nStringFromUpdateType,\r\n filter() {\r\n this.$emit(\"input\", this.selectedItems);\r\n this.lastSelectedItemsLength = this.selectedItems.length;\r\n this.openMenu = false;\r\n this.search = \"\";\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateTypeFilter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateTypeFilter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UpdateTypeFilter.vue?vue&type=template&id=72dac005&scoped=true&\"\nimport script from \"./UpdateTypeFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./UpdateTypeFilter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UpdateTypeFilter.vue?vue&type=style&index=0&id=72dac005&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 \"72dac005\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTreeview } from 'vuetify/lib/components/VTreeview';\ninstallComponents(component, {VBadge,VBtn,VCard,VCol,VMenu,VProgressCircular,VRow,VSheet,VTextField,VTreeview})\n","import { CleaningStatusTypeEnum } from \"./CleaningStatusTypeEnum\";\r\nimport { DoorStatusTypeEnum } from \"./DoorStatusTypeEnum\";\r\nimport { CoverStatusTypeEnum } from \"./CoverStatusTypeEnum\";\r\nimport { BagStatusTypeEnum } from \"./BagStatusTypeEnum\";\r\nimport { BundlerStatusTypeEnum } from \"./BundlerStatusTypeEnum\";\r\nimport { StatusEnum } from \"./StatusEnum\";\r\nimport { GlobalStatusEnum } from \"./GlobalStatusEnum\";\r\nimport { CloseToMaintenanceDays, MaintenanceStatusEnum } from \"./MaintenanceStatusEnum\";\r\nimport { CashTypeEnum } from \"../enums/CashTypeEnum\";\r\n\r\nexport class MachineStatus {\r\n /** Nome dell'installazione a cui appartiene la macchina di cui si sta definendo lo stato*/\r\n machineInstallationName: string;\r\n\r\n /** Serial number della macchina a cui ci si sta riferendo */\r\n machineSerialNumber: string;\r\n\r\n /** Machine globalStatus\r\n * Ok, Ko, Unknown */\r\n globalStatus: GlobalStatusEnum;\r\n\r\n /** Machine status\r\n * Unknown, Busy, Online, Offline, OutOfService, Full */\r\n status: StatusEnum;\r\n\r\n /** Stato di pulizia\r\n * Unknown, NotNecessary, Necessary */\r\n cleaningStatus: CleaningStatusTypeEnum;\r\n\r\n /** Stato della porta della cassaforte\r\n * Unknown, Open, Closed */\r\n doorStatus: DoorStatusTypeEnum;\r\n\r\n /** Stato della cover\r\n * Unknown, Open, Closed */\r\n coverStatus: CoverStatusTypeEnum;\r\n\r\n /** Stato della sacca\r\n * Unsupported, Unknown, Empty, Full, Ok, Closed, Blocked, WrongPosition, NotPresent, Miscount, MiscountOverridden, FullSensorCoveredAndBagEmpty*/\r\n bagStatus: BagStatusTypeEnum;\r\n\r\n /** Bundler stutus\r\n * Unsupported, Unknown, Ok, Blocked, PaperNearEnd, PaperFinished */\r\n bundlerStatus: BundlerStatusTypeEnum;\r\n\r\n /** Magazzini bloccati, lista dei magazzini bloccati, partendo a contare da 1, */\r\n blockedStocks: number[];\r\n\r\n /** Error field */\r\n extension: string;\r\n\r\n /** Ultimo aggiornamento dello stato di questa macchina */\r\n lastUpdate: Date;\r\n\r\n /** This prop indicates if this machine has at least one mechanical component with a processed pieces counter over the CIMA suggested threshold */\r\n maintenanceRequired: boolean;\r\n\r\n /** This prop indicates the closest date for the next forecasted maintenance */\r\n nextMaintenance: Date;\r\n\r\n /** Last update of maintenance forecasts */\r\n lastMaintenanceForecastsUpdate: Date;\r\n\r\n maintenanceStatus: MaintenanceStatusEnum;\r\n\r\n constructor() {\r\n this.machineInstallationName = null;\r\n this.machineSerialNumber = null;\r\n this.globalStatus = GlobalStatusEnum.Unknown;\r\n this.status = StatusEnum.Unknown;\r\n this.cleaningStatus = CleaningStatusTypeEnum.Unknown;\r\n this.doorStatus = DoorStatusTypeEnum.Unknown;\r\n this.coverStatus = CoverStatusTypeEnum.Unknown;\r\n this.bagStatus = BagStatusTypeEnum.Unknown;\r\n this.bundlerStatus = BundlerStatusTypeEnum.Unknown;\r\n this.blockedStocks = [];\r\n this.extension = null;\r\n this.lastUpdate = null;\r\n this.maintenanceRequired = false;\r\n this.nextMaintenance = null;\r\n this.lastMaintenanceForecastsUpdate = null;\r\n this.maintenanceStatus = MaintenanceStatusEnum.Regular;\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.MachineInstallationName) this.machineInstallationName = obj.MachineInstallationName;\r\n if (obj.MachineSerialNumber) this.machineSerialNumber = obj.MachineSerialNumber;\r\n if (Object.values(GlobalStatusEnum).includes(obj.GlobalStatus)) this.globalStatus = obj.GlobalStatus;\r\n if (Object.values(StatusEnum).includes(obj.Status)) this.status = obj.Status;\r\n if (Object.values(CleaningStatusTypeEnum).includes(obj.CleaningStatus)) this.cleaningStatus = obj.CleaningStatus;\r\n if (Object.values(DoorStatusTypeEnum).includes(obj.DoorStatus)) this.doorStatus = obj.DoorStatus;\r\n if (Object.values(CoverStatusTypeEnum).includes(obj.CoverStatus)) this.coverStatus = obj.CoverStatus;\r\n if (Object.values(BagStatusTypeEnum).includes(obj.BagStatus)) this.bagStatus = obj.BagStatus;\r\n if (Object.values(BundlerStatusTypeEnum).includes(obj.BundlerStatus)) this.bundlerStatus = obj.BundlerStatus;\r\n if (obj.BlockedStocks && obj.BlockedStocks.length > 0)\r\n obj.BlockedStocks.forEach((e: number) => {\r\n this.blockedStocks.push(e);\r\n });\r\n if (obj.Extension) this.extension = obj.Extension;\r\n if (obj.LastUpdate) this.lastUpdate = obj.LastUpdate;\r\n if (obj.MaintenanceRequired != null) this.maintenanceRequired = obj.MaintenanceRequired;\r\n if (obj.NextMaintenance) this.nextMaintenance = new Date(obj.NextMaintenance);\r\n if (obj.LastMaintenanceForecastsUpdate) this.lastMaintenanceForecastsUpdate = new Date(obj.LastMaintenanceForecastsUpdate);\r\n if (obj.MaintenanceStatus != null && Object.values(MaintenanceStatusEnum).includes(obj.MaintenanceStatus)) this.maintenanceStatus = obj.MaintenanceStatus;\r\n }\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!./MachineLogAnalysisCharts.vue?vue&type=style&index=0&id=20fb1247&prod&lang=css&\"","// Extensions\nimport { BaseItemGroup } from '../../components/VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'button-group',\n\n provide (): object {\n return {\n btnToggle: this,\n }\n },\n\n computed: {\n classes (): object {\n return BaseItemGroup.options.computed.classes.call(this)\n },\n },\n\n methods: {\n // Isn't being passed down through types\n genData: BaseItemGroup.options.methods.genData,\n },\n})\n","// Styles\nimport './VBtnToggle.sass'\n\n// Mixins\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n ButtonGroup,\n Colorable\n).extend({\n name: 'v-btn-toggle',\n\n props: {\n backgroundColor: String,\n borderless: Boolean,\n dense: Boolean,\n group: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...ButtonGroup.options.computed.classes.call(this),\n 'v-btn-toggle': true,\n 'v-btn-toggle--borderless': this.borderless,\n 'v-btn-toggle--dense': this.dense,\n 'v-btn-toggle--group': this.group,\n 'v-btn-toggle--rounded': this.rounded,\n 'v-btn-toggle--shaped': this.shaped,\n 'v-btn-toggle--tile': this.tile,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genData () {\n const data = this.setTextColor(this.color, {\n ...ButtonGroup.options.methods.genData.call(this),\n })\n\n if (this.group) return data\n\n return this.setBackgroundColor(this.backgroundColor, data)\n },\n },\n})\n","export enum ScheduleTypeEnum {\r\n Update = 1,\r\n Config = 2,\r\n Logs = 3,\r\n // LogAnalysis = 4,\r\n CaosConfigurationBackup = 5,\r\n}\r\n\r\nexport function ScheduleTypeEnumToI18n(val: ScheduleTypeEnum) {\r\n switch (val) {\r\n case ScheduleTypeEnum.Update:\r\n return \"scheduleConfiguration.updateSettings\";\r\n case ScheduleTypeEnum.Config:\r\n return \"scheduleConfiguration.securitySettings\";\r\n case ScheduleTypeEnum.Logs:\r\n return \"scheduleConfiguration.logDownload\";\r\n // case ScheduleTypeEnum.LogAnalysis:\r\n // return \"scheduleConfiguration.logAnalysis\";\r\n case ScheduleTypeEnum.CaosConfigurationBackup:\r\n return \"scheduleConfiguration.caosConfigurationBackup\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',_vm._b({},'v-card',_vm.$attrs,false),[_c('v-card-text',{staticClass:\"pt-1\"},[_c('v-row',[_c('v-col',{staticClass:\"grow pa-0\"},[_c('v-tabs',{attrs:{\"show-arrows\":\"\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[(_vm.authUser.profile.privileges.and(_vm.ClientPrivileges.UpdatesManagement) == _vm.ClientPrivileges.UpdatesManagement)?_c('v-tab',[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"clock\",\"color\":_vm.tab == 0 ? 'primary' : ''}}),(_vm.$vuetify.breakpoint.mdAndUp)?_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('scheduleConfiguration.pageTitle'))}}):_vm._e()],1):_vm._e(),(_vm.authUser.profile.privileges.and(_vm.ClientPrivileges.PackagesManagement) == _vm.ClientPrivileges.PackagesManagement)?_c('v-tab',[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"file-download\",\"color\":_vm.tab == 1 ? 'primary' : ''}}),(_vm.$vuetify.breakpoint.mdAndUp)?_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('update_packages.page_title'))}}):_vm._e()],1):_vm._e(),(_vm.authUser.profile.privileges.and(_vm.ClientPrivileges.DevicesManagement) == _vm.ClientPrivileges.DevicesManagement)?_c('v-tab',[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"tags\",\"color\":_vm.tab == 2 ? 'primary' : ''}}),(_vm.$vuetify.breakpoint.mdAndUp)?_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.editTags'))}}):_vm._e()],1):_vm._e(),(_vm.authUser.profile.privileges.and(_vm.ClientPrivileges.DownloadLogs) == _vm.ClientPrivileges.DownloadLogs)?_c('v-tab',[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"download\",\"color\":_vm.tab == 3 ? 'primary' : ''}}),(_vm.$vuetify.breakpoint.mdAndUp)?_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('downloadLogs.pageTitle'))}}):_vm._e()],1):_vm._e()],1)],1),(_vm.canClose)?_c('v-col',{staticClass:\"shrink\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"color\":\"error\"},on:{\"click\":function($event){return _vm.$emit('close')}}},on),[_c('v-fa-icon',{attrs:{\"icon\":\"times\"}})],1)]}}],null,false,3028982356)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"common.close\")))])])],1):_vm._e()],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('v-tabs-items',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[(_vm.authUser.profile.privileges.and(_vm.ClientPrivileges.UpdatesManagement) == _vm.ClientPrivileges.UpdatesManagement)?_c('v-tab-item',[_c('EditSchedule',{attrs:{\"flat\":\"\",\"hideCancel\":\"\",\"installations\":_vm.installations},on:{\"data-reload\":function($event){return _vm.$emit('data-reload')}}})],1):_vm._e(),(_vm.authUser.profile.privileges.and(_vm.ClientPrivileges.PackagesManagement) == _vm.ClientPrivileges.PackagesManagement)?_c('v-tab-item',[_c('PackageAssociationCard',{attrs:{\"flat\":\"\",\"hideCancel\":\"\",\"installations\":_vm.installations},on:{\"data-reload\":function($event){return _vm.$emit('data-reload')}}})],1):_vm._e(),(_vm.authUser.profile.privileges.and(_vm.ClientPrivileges.DevicesManagement) == _vm.ClientPrivileges.DevicesManagement)?_c('v-tab-item',[_c('TagAssociationCard',{attrs:{\"flat\":\"\",\"hideCancel\":\"\",\"installations\":_vm.installations},on:{\"data-reload\":function($event){return _vm.$emit('data-reload')}}})],1):_vm._e(),(_vm.authUser.profile.privileges.and(_vm.ClientPrivileges.DownloadLogs) == _vm.ClientPrivileges.DownloadLogs)?_c('v-tab-item',[_c('MainSection',{key:_vm.installations && _vm.installations.length ? _vm.installations[0].name : 'empty',attrs:{\"installationsProp\":_vm.installations ? _vm.installations : []}})],1):_vm._e()],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export enum UpdatePackageAssociationEnum {\r\n all,\r\n partial,\r\n none,\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',_vm._b({attrs:{\"loading\":_vm.loading}},'v-card',_vm.$attrs,false),[_c('v-card-title',[_c('v-row',{attrs:{\"align\":\"end\",\"no-gutters\":\"\"}},[_c('v-col',[(_vm.installations.length == 1)?_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('update_packages.editInstallationPackages', _vm.installations[0]))}}):_c('span',{domProps:{\"textContent\":_vm._s(_vm.$tc('update_packages.editCountPackages', _vm.installations.length))}})]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"lg\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":((_vm.$t('common.search')) + \" \" + (_vm.$t('update_packages.page_title').toLocaleLowerCase())),\"single-line\":\"\",\"hide-details\":\"\",\"clearable\":\"\",\"append-icon\":\"fas fa-search\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1)],1)],1),_c('v-card-text',[_c('v-skeleton-loader',{attrs:{\"loading\":_vm.loading,\"type\":\"article\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.updatePackageListFiltered,\"search\":_vm.search,\"options\":_vm.options},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([(_vm.$vuetify.breakpoint.smAndUp)?{key:\"body.prepend\",fn:function(ref){\nvar headers = ref.headers;\nreturn [_c('TableFiltersRow',{ref:\"tableFiltersRow\",attrs:{\"headers\":headers,\"computedFilters\":_vm.filters},on:{\"filters-changed\":_vm.filterChanged}})]}}:null,(_vm.$vuetify.breakpoint.smAndUp)?{key:\"item.packageIcon\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.updateType == _vm.UpdateTypeEnum.CustomAction)?_c('v-fa-icon',{staticClass:\"ml-2\",attrs:{\"large\":\"\",\"color\":_vm.MODULE_COLORS.SERVICE_AND_UPDATES,\"icon\":\"file-code\"}}):_c('v-fa-icon',{staticClass:\"ml-2\",attrs:{\"large\":\"\",\"color\":_vm.MODULE_COLORS.SERVICE_AND_UPDATES,\"icon\":\"file-archive\"}})]}}:null,{key:\"item.association\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('UpdatePackageAssociationCheckbox',{model:{value:(item.association),callback:function ($$v) {_vm.$set(item, \"association\", $$v)},expression:\"item.association\"}})]}},{key:\"item.updateType\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('v-chip',{attrs:{\"outlined\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.GetI18nStringFromUpdateType(value))))])]}},{key:\"item.version\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('span',{domProps:{\"textContent\":_vm._s(_vm.VersionObfuscator.obfuscate(value))}})]}},{key:\"item.uploadTimestamp\",fn:function(ref){\nvar value = ref.value;\nreturn [(value)?_c('date-moment-tooltip',{attrs:{\"date\":_vm.moment.utc(value).local().format()}}):_c('span',{domProps:{\"textContent\":_vm._s('-')}})]}}],null,true)})],1)],1)],1)],1),_c('v-card-actions',[_c('v-btn',{attrs:{\"disabled\":_vm.loading,\"color\":\"success\",\"icon\":\"\"},on:{\"click\":_vm.fetchAssociatedUpdatePackages}},[_c('v-fa-icon',{attrs:{\"icon\":\"sync\"}})],1),_c('v-spacer'),(!_vm.hideCancel)?_c('v-btn',{attrs:{\"color\":\"error\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"times\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.cancel'))}})],1):_vm._e(),_c('v-skeleton-loader',{attrs:{\"loading\":_vm.loading,\"type\":\"button\"}},[(_vm.areAllChangesSaved)?_c('v-btn',{attrs:{\"color\":\"success\",\"outlined\":\"\"}},[_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.allChangesAreSaved'))}})]):_c('v-btn',{attrs:{\"outlined\":\"\",\"color\":\"success\",\"disabled\":_vm.loading},on:{\"click\":_vm.save}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"save\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.save'))}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-simple-checkbox',{attrs:{\"color\":\"primary\",\"indeterminate\":_vm.internalIndeterminate,\"ripple\":false},model:{value:(_vm.internalCheck),callback:function ($$v) {_vm.internalCheck=$$v},expression:\"internalCheck\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nimport { UpdatePackageAssociationEnum } from \"@/model/data/updates/UpdatePackageAssociationEnum\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n internalCheck: false,\r\n internalIndeterminate: false,\r\n };\r\n },\r\n props: {\r\n value: {\r\n type: Number,\r\n required: true,\r\n },\r\n },\r\n watch: {\r\n internalCheck() {\r\n this.internalIndeterminate = false;\r\n this.emitEvent();\r\n },\r\n },\r\n methods: {\r\n emitEvent() {\r\n if (this.internalCheck == true) this.$emit(\"input\", UpdatePackageAssociationEnum.all);\r\n else this.$emit(\"input\", UpdatePackageAssociationEnum.none);\r\n\r\n // non andrò mai ad scatenare l'evento di questo tipo\r\n /* if (this.internalIndeterminate == true) this.$emit('input', UpdatePackageAssociationEnum.partial); */\r\n },\r\n },\r\n mounted() {\r\n if ((this.value as UpdatePackageAssociationEnum) == UpdatePackageAssociationEnum.all) {\r\n this.internalCheck = true;\r\n this.internalIndeterminate = false;\r\n } else if ((this.value as UpdatePackageAssociationEnum) == UpdatePackageAssociationEnum.partial) {\r\n this.internalCheck = false;\r\n this.internalIndeterminate = true;\r\n } else if ((this.value as UpdatePackageAssociationEnum) == UpdatePackageAssociationEnum.none) {\r\n this.internalCheck = false;\r\n this.internalIndeterminate = false;\r\n }\r\n },\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePackageAssociationCheckbox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePackageAssociationCheckbox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UpdatePackageAssociationCheckbox.vue?vue&type=template&id=7b9d3774&\"\nimport script from \"./UpdatePackageAssociationCheckbox.vue?vue&type=script&lang=ts&\"\nexport * from \"./UpdatePackageAssociationCheckbox.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSimpleCheckbox } from 'vuetify/lib/components/VCheckbox';\ninstallComponents(component, {VSimpleCheckbox})\n","import { UpdatePackage } from \"./UpdatePackage\";\r\nimport { UpdatePackageAssociationEnum } from \"./UpdatePackageAssociationEnum\";\r\n\r\nexport class UpdatePackageAssociation extends UpdatePackage {\r\n public association: UpdatePackageAssociationEnum;\r\n\r\n public parse(obj: any) {\r\n super.parse(obj);\r\n }\r\n}\r\n","import { UpdatePackage } from \"@/model/data/updates/UpdatePackage\";\r\nimport { UpdatePackageAssociation } from \"@/model/data/updates/UpdatePackageAssociation\";\r\nimport { UpdatePackageAssociationEnum } from \"@/model/data/updates/UpdatePackageAssociationEnum\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { ServiceResponseData } from \"../../ServiceResponseData\";\r\n\r\nexport class FetchAssociatedUpdatePackagesResData extends ServiceResponseData {\r\n associationPackages: UpdatePackageAssociation[];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n this.associationPackages = [];\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n parse(data) {\r\n if (data.FullAssociatedPackages) {\r\n data.FullAssociatedPackages.forEach((v) => {\r\n var up = new UpdatePackageAssociation();\r\n up.parse(v);\r\n up.association = UpdatePackageAssociationEnum.all;\r\n this.associationPackages.push(up);\r\n });\r\n }\r\n\r\n if (data.NoAssociatedPackages) {\r\n data.NoAssociatedPackages.forEach((v) => {\r\n var up = new UpdatePackageAssociation();\r\n up.parse(v);\r\n up.association = UpdatePackageAssociationEnum.none;\r\n this.associationPackages.push(up);\r\n });\r\n }\r\n\r\n if (data.PartiallyAssociatedPackages) {\r\n data.PartiallyAssociatedPackages.forEach((v) => {\r\n var up = new UpdatePackageAssociation();\r\n up.parse(v);\r\n up.association = UpdatePackageAssociationEnum.partial;\r\n this.associationPackages.push(up);\r\n });\r\n }\r\n }\r\n}\r\n","import { API_PREFIX, API_VERSION, Command, HttpVerbType } from \"../../Command\";\r\nimport { FetchAssociatedUpdatePackagesReqData } from \"./FetchAssociatedUpdatePackagesReqData\";\r\nimport { FetchAssociatedUpdatePackagesResData } from \"./FetchAssociatedUpdatePackagesResData\";\r\n\r\nconst ENDPOINT = \"/device_update/associated_package\";\r\n\r\nexport class FetchAssociatedUpdatePackagesCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n\r\n payload: FetchAssociatedUpdatePackagesReqData;\r\n\r\n constructor(payload: FetchAssociatedUpdatePackagesReqData) {\r\n super();\r\n this.payload = payload;\r\n }\r\n\r\n public async execute(): Promise {\r\n let res = await this.executeCommand({ ...this.payload });\r\n return new FetchAssociatedUpdatePackagesResData(res);\r\n }\r\n}\r\n","export class FetchAssociatedUpdatePackagesReqData {\r\n installationNames: string[] = null;\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../../Command\";\r\nimport { ServiceResponseData } from \"../../ServiceResponseData\";\r\nimport { SetInstallationsPackagesReqData } from \"./SetInstallationsPackagesReqData\";\r\n\r\nconst ENDPOINT = \"/device_update/associated_package\";\r\n\r\nexport class SetInstallationsPackagesCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"patch\";\r\n\r\n payload: SetInstallationsPackagesReqData;\r\n\r\n constructor(payload: SetInstallationsPackagesReqData) {\r\n super();\r\n this.payload = payload;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.payload);\r\n return new ServiceResponseData(res);\r\n }\r\n}\r\n","export class SetInstallationsPackagesReqData {\r\n installationNames: string[] = [];\r\n enabledPackageIds: number[] = [];\r\n disabledPackageIds: number[] = [];\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport _ from \"lodash\";\r\nimport * as a from \"@/store/modules/UpdatePackagesModule/actions\";\r\nimport { mapActions } from \"vuex\";\r\nimport moment from \"moment\";\r\n\r\nimport { MODULE_COLORS } from \"@/utility/Constants\";\r\nimport { GetI18nStringFromUpdateType, UpdateTypeEnum } from \"@/model/data/enums/UpdateTypeEnum\";\r\n\r\n// UI Component\r\nimport UpdatePackageAssociationCheckbox from \"./UpdatePackageAssociationCheckbox.vue\";\r\nimport TableFiltersRow from \"@/components/TableHeaderFilters/TableFiltersRow.vue\";\r\nimport UpdateTypeFilter from \"@/components/TableHeaderFilters/UpdateTypeFilter.vue\";\r\n\r\n// Model\r\nimport { Installation } from \"@/model/data/Installation\";\r\nimport { VersionObfuscator } from \"@/model/data/updates/VersionObfuscator\";\r\nimport { UpdatePackageAssociationEnum } from \"@/model/data/updates/UpdatePackageAssociationEnum\";\r\nimport { FetchAssociatedUpdatePackagesCommand } from \"@/model/communication/updatePackages/fetchAssociatedUpdatePackages/FetchAssociatedUpdatePackagesCommand\";\r\nimport { FetchAssociatedUpdatePackagesReqData } from \"@/model/communication/updatePackages/fetchAssociatedUpdatePackages/FetchAssociatedUpdatePackagesReqData\";\r\nimport { SetInstallationsPackagesCommand } from \"@/model/communication/updatePackages/setInstallationsPackages/SetInstallationsPackagesCommand\";\r\nimport { SetInstallationsPackagesReqData } from \"@/model/communication/updatePackages/setInstallationsPackages/SetInstallationsPackagesReqData\";\r\nimport { UpdatePackageAssociation } from \"@/model/data/updates/UpdatePackageAssociation\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n UpdatePackageAssociationCheckbox,\r\n TableFiltersRow,\r\n },\r\n props: {\r\n installations: Array as () => Installation[],\r\n hideCancel: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n data() {\r\n return {\r\n moment,\r\n UpdateTypeEnum,\r\n loading: false,\r\n MODULE_COLORS,\r\n VersionObfuscator,\r\n UpdatePackageAssociationEnum,\r\n tab: 0,\r\n originalAssociationPackages: [],\r\n associationPackages: [],\r\n headers: [\r\n { text: \"\", value: \"packageIcon\", sortable: false },\r\n { text: \"\", value: \"association\", sortable: false },\r\n { text: this.$t(\"common.file_name\"), value: \"fileName\" },\r\n {\r\n text: this.$t(\"update_packages.update_type\"),\r\n value: \"updateType\",\r\n },\r\n {\r\n text: this.$t(\"update_packages.version\"),\r\n value: \"version\",\r\n sortable: false,\r\n },\r\n {\r\n text: this.$t(\"update_packages.uploadedAt\"),\r\n value: \"uploadTimestamp\",\r\n sortable: true,\r\n align: \"center\",\r\n },\r\n ],\r\n filters: [\r\n {\r\n headerValue: \"updateType\",\r\n filterKey: \"updateTypeFilter\",\r\n component: UpdateTypeFilter,\r\n currentSelections: [],\r\n },\r\n ],\r\n search: \"\",\r\n options: {},\r\n updateTypeFilter: [],\r\n };\r\n },\r\n computed: {\r\n areAllChangesSaved() {\r\n return _.isEqual(\r\n this.associationPackages.map((c) => c.association),\r\n this.originalAssociationPackages.map((c) => c.association)\r\n );\r\n },\r\n updatePackageListFiltered() {\r\n let filteredUpdatePackages = this.associationPackages;\r\n if (this.updateTypeFilter && this.updateTypeFilter.length) {\r\n filteredUpdatePackages = filteredUpdatePackages.filter((u: UpdatePackageAssociation) => this.updateTypeFilter.includes(u.updateType));\r\n }\r\n return filteredUpdatePackages;\r\n },\r\n },\r\n watch: {\r\n installations() {\r\n this.fetchAssociatedUpdatePackages();\r\n this.options = {};\r\n this.backToTheFirst();\r\n },\r\n },\r\n methods: {\r\n ...mapActions([a.ON_UPDATE_PACKAGE_PAGE_LOAD, a.FETCH_UPDATE_PACKAGES_LIST]),\r\n GetI18nStringFromUpdateType,\r\n async save() {\r\n this.loading = true;\r\n\r\n let reqData = new SetInstallationsPackagesReqData();\r\n reqData.installationNames.splice(0, reqData.installationNames.length, ...this.installations.map((c) => c.name));\r\n reqData.enabledPackageIds.splice(\r\n 0,\r\n reqData.enabledPackageIds.length,\r\n ...this.associationPackages.filter((c) => c.association == UpdatePackageAssociationEnum.all).map((c) => c.id)\r\n );\r\n reqData.disabledPackageIds.splice(\r\n 0,\r\n reqData.disabledPackageIds.length,\r\n ...this.associationPackages.filter((c) => c.association == UpdatePackageAssociationEnum.none).map((c) => c.id)\r\n );\r\n\r\n await new SetInstallationsPackagesCommand(reqData).execute();\r\n\r\n this.loading = false;\r\n\r\n await this.fetchAssociatedUpdatePackages();\r\n\r\n this.$emit(\"data-reload\");\r\n },\r\n async fetchAssociatedUpdatePackages() {\r\n console.log(\"fetchAssociatedUpdatePackages called\");\r\n this.loading = true;\r\n\r\n // svuoto l'array così viene verranno renderizzati i nuovi componenti\r\n this.associationPackages.splice(0, this.associationPackages.length);\r\n this.originalAssociationPackages.splice(0, this.originalAssociationPackages.length);\r\n\r\n let reqData = new FetchAssociatedUpdatePackagesReqData();\r\n reqData.installationNames = this.installations.map((c) => c.name);\r\n\r\n let resData = await new FetchAssociatedUpdatePackagesCommand(reqData).execute();\r\n\r\n // inserisco i nuovi risultati nell'array associationPackages\r\n this.associationPackages.splice(0, this.associationPackages.length, ..._.cloneDeep(resData.associationPackages));\r\n this.originalAssociationPackages.splice(0, this.originalAssociationPackages.length, ..._.cloneDeep(resData.associationPackages));\r\n\r\n this.loading = false;\r\n },\r\n filterChanged(filters) {\r\n this.backToTheFirst();\r\n let updateFilter = filters.filter((f) => f.filterKey == \"updateTypeFilter\");\r\n if (updateFilter.length == 1) {\r\n this.updateTypeFilter = updateFilter[0].currentSelections;\r\n }\r\n },\r\n backToTheFirst() {\r\n if (this.options.page != 1) {\r\n this.ignoreOptionsChanges = true;\r\n this.options.page = 1;\r\n console.debug(\"backToTheFirst, this.options: \", this.options);\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.fetchAssociatedUpdatePackages();\r\n this[a.ON_UPDATE_PACKAGE_PAGE_LOAD]();\r\n this[a.FETCH_UPDATE_PACKAGES_LIST]();\r\n },\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PackageAssociationCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PackageAssociationCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PackageAssociationCard.vue?vue&type=template&id=00083dcd&\"\nimport script from \"./PackageAssociationCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./PackageAssociationCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VChip,VCol,VDataTable,VRow,VSkeletonLoader,VSpacer,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vuex\r\nimport { mapState } from \"vuex\";\r\nimport { RootState } from \"@/store\";\r\n\r\n// Vue components\r\nimport EditSchedule from \"@/views/App/ServiceAndUpdates/ScheduleConfiguration/EditSchedule.vue\";\r\nimport PackageAssociationCard from \"./PackageAssociationCard.vue\";\r\nimport TagAssociationCard from \"./TagAssociationCard.vue\";\r\nimport MainSection from \"@/views/App/ServiceAndUpdates/DownloadLogs/MainSection.vue\";\r\n\r\n// Model\r\nimport { Installation } from \"@/model/data/Installation\";\r\nimport { ClientUser } from \"@/model/data/authentication/ClientUser\";\r\nimport { ClientPrivileges } from \"@/model/data/authentication/ClientPrivilegesEnum\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n EditSchedule,\r\n PackageAssociationCard,\r\n TagAssociationCard,\r\n MainSection,\r\n },\r\n data() {\r\n return {\r\n ClientPrivileges,\r\n tab: 0,\r\n };\r\n },\r\n props: {\r\n installations: Array as () => Installation[],\r\n canClose: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n computed: {\r\n ...mapState({\r\n authUser: (state: RootState) => state.authMod.currentUser,\r\n }),\r\n },\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-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--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-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=8c41c2d0&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VRow,VTab,VTabItem,VTabs,VTabsItems,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticStyle:{\"width\":\"90% !important\"},attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"ma-0 pa-0\"},[_c('v-card',_vm._l((_vm.availableMachines),function(machine){return _c('MachineLogAnalysisCharts',{key:machine.serialNumber,attrs:{\"machine\":machine,\"installationName\":_vm.installation.name,\"startDateProps\":_vm.startDate,\"endDateProps\":_vm.endDate,\"hideDaysToogle\":_vm.hideDaysToogle}})}),1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"py-0 pb-2\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"jutify\":\"space-between\",\"align\":\"center\"}},[_c('v-col',{class:_vm.hideDaysToogle ? 'mt-2' : 'my-md-0 py-md-0',attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('span',{staticClass:\"text-h5\"},[_vm._v(_vm._s(_vm.machine.serialNumber))])]),(!_vm.hideDaysToogle)?_c('v-col',{staticClass:\"my-0 py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-col',{staticClass:\"d-flex justify-md-end justify-center\"},[_c('v-btn-toggle',{staticClass:\"flex-wrap\",attrs:{\"color\":\"deep-purple accent-3\",\"shaped\":\"\"},model:{value:(_vm.daysButton),callback:function ($$v) {_vm.daysButton=$$v},expression:\"daysButton\"}},[_c('v-btn',[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.last7Days\")))])]),_c('v-btn',[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.last15Days\")))])]),_c('v-btn',[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.last30Days\")))])])],1)],1)],1)],1):_vm._e()],1),_c('v-row',{staticClass:\"mt-2\",attrs:{\"justify\":\"center\"}},[_c('v-col',{staticClass:\"ma-md-0 pa-md-0 text-center\"},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item\",\"loading\":_vm.loading.pc}},[_c('span',{staticClass:\"text-h5\",staticStyle:{\"white-space\":\"pre-line\"}},[_vm._v(_vm._s(_vm.logIntervalString))])])],1)],1),_c('v-skeleton-loader',{attrs:{\"type\":\"image\",\"loading\":_vm.loading.pc}},[_c('v-row',[_c('v-col',[(_vm.processedCashList && _vm.processedCashList.length)?_c('v-expansion-panels',{staticClass:\"my-3\",attrs:{\"flat\":\"\",\"multiple\":\"\"}},[_c('v-expansion-panel',{staticStyle:{\"border\":\"thin solid rgba(0, 0, 0, 0.12)\"}},[_c('v-expansion-panel-header',{staticClass:\"pl-4 title\"},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item\",\"loading\":_vm.loading.me || _vm.loading.pc}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.exceptions\")))]),(_vm.machineExceptionList && _vm.processedCashList && _vm.processedCashList.length)?_c('span',{class:_vm.machineExceptionList.length == 0 ? 'success--text' : 'warning--text'},[_vm._v(\" \"+_vm._s(_vm.machineExceptionList.length)+\" \")]):_c('span',{staticClass:\"success--text\"},[_vm._v(\" 0 \")])])],1),_c('v-expansion-panel-content',[_c('machine-exception-card',{attrs:{\"loading\":_vm.loading.me || _vm.loading.pc,\"processedCashList\":_vm.processedCashList,\"dateListString\":_vm.dateListString,\"machineExceptionList\":_vm.machineExceptionList,\"troubleshooting\":_vm.troubleshooting,\"componentLabelMap\":_vm.componentLabelMap,\"unitLabelMap\":_vm.unitLabelMap,\"imagesLegend\":_vm.imagesLegend,\"startDate\":_vm.startDate,\"machine\":_vm.machine,\"installationName\":_vm.installationName,\"nDays\":_vm.nDays}})],1)],1),_c('v-expansion-panel',{staticClass:\"mt-2\",staticStyle:{\"border\":\"thin solid rgba(0, 0, 0, 0.12)\"}},[_c('v-expansion-panel-header',{staticClass:\"pl-4 title\"},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item\",\"loading\":_vm.loading.reject || _vm.loading.pc}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.rejects\")))]),(_vm.rejectPercentage)?_c('span',{class:_vm.rejectPercentage < 5 ? 'success--text' : 'warning--text'},[_vm._v(\" \"+_vm._s(_vm.rejectPercentage.toFixed(2))+\"% \")]):_c('span',{staticClass:\"ml-2 success--text\"},[_vm._v(\"0%\")])])],1),_c('v-expansion-panel-content',[_c('reject-card',{attrs:{\"machine\":_vm.machine,\"processedCashList\":_vm.processedCashList,\"nDays\":_vm.nDays,\"dateListString\":_vm.dateListString,\"loading\":_vm.loading.reject || _vm.loading.pc,\"rejectList\":_vm.rejectList,\"rejectCauseMap\":_vm.rejectCauseMap,\"rejectsFamilyMap\":_vm.rejectsFamilyMap,\"familyLabelMap\":_vm.familyLabelMap,\"startDate\":_vm.startDate,\"seriesPCTrendList\":_vm.seriesPCTrendList}})],1)],1),_c('v-expansion-panel',{staticClass:\"mt-2\",staticStyle:{\"border\":\"thin solid rgba(0, 0, 0, 0.12)\"}},[_c('v-expansion-panel-header',{staticClass:\"pl-4 title\"},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item\",\"loading\":_vm.loading.pc}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.processed\")))]),(_vm.seriesPCTypeList && _vm.seriesPCTypeList.length == 1 && _vm.seriesPCTypeList[0].data)?_c('span',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('span',_vm._g(_vm._b({staticClass:\"ml-2\"},'span',attrs,false),on),[_c('v-fa-icon',{attrs:{\"icon\":\"arrow-down\",\"color\":\"success\"}}),_vm._v(\" \"+_vm._s(_vm.seriesPCTypeList[0].data[0])+\" \")],1)]}}],null,false,2522759251)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"predictiveMaintenance.deposited\")))])]),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [(!_vm.isDepositMachine)?_c('span',_vm._g(_vm._b({staticClass:\"ml-2\"},'span',attrs,false),on),[_c('v-fa-icon',{attrs:{\"icon\":\"arrow-up\",\"color\":\"success\"}}),_vm._v(\" \"+_vm._s(_vm.seriesPCTypeList[0].data[1])+\" \")],1):_vm._e()]}}],null,false,3812631220)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"predictiveMaintenance.withdrawn\")))])])],1):_vm._e()])],1),_c('v-expansion-panel-content',[_c('processed-cash-card',{attrs:{\"machine\":_vm.machine,\"nDays\":_vm.nDays,\"processedCashList\":_vm.processedCashList,\"dateListString\":_vm.dateListString,\"loading\":_vm.loading.pc,\"seriesPCTrendList\":_vm.seriesPCTrendList,\"seriesPCTypeList\":_vm.seriesPCTypeList}})],1)],1),(_vm.machine.supportedCashType != _vm.CashTypeEnum.Coin)?_c('v-expansion-panel',{staticClass:\"mt-2\",staticStyle:{\"border\":\"thin solid rgba(0, 0, 0, 0.12)\"}},[_c('v-expansion-panel-header',{staticClass:\"pl-4\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.sensorsCalibration\")))])]),_c('v-expansion-panel-content',[_c('sensor-calibration-card',{attrs:{\"sensorCalibrationList\":_vm.sensorCalibrationList,\"sensorsLabels\":_vm.sensorsLabels,\"loading\":_vm.loading.sc,\"startDate\":_vm.startDate,\"dateListString\":_vm.dateListString,\"nDays\":_vm.nDays}})],1)],1):_vm._e(),_c('v-expansion-panel',{staticClass:\"mt-2\",staticStyle:{\"border\":\"thin solid rgba(0, 0, 0, 0.12)\"}},[_c('v-expansion-panel-header',{staticClass:\"pl-4 title\"},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item\",\"loading\":_vm.loading.csl || _vm.loading.pc}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.cserviceLogon\")))]),(_vm.cserviceLogonList && _vm.processedCashList && _vm.processedCashList.length)?_c('span',{class:_vm.interventionsCount == 0 ? 'success--text' : 'warning--text'},[_vm._v(\" \"+_vm._s(_vm.interventionsCount)+\" \")]):_c('span',{staticClass:\"success--text\"},[_vm._v(\" 0 \")])])],1),_c('v-expansion-panel-content',[_c('c-service-logon-card',{attrs:{\"cserviceLogonList\":_vm.cserviceLogonList,\"processedCashList\":_vm.processedCashList,\"loading\":_vm.loading.csl,\"startDate\":_vm.startDate,\"dateListString\":_vm.dateListString,\"nDays\":_vm.nDays}})],1)],1)],1):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class Reject {\r\n machineSerialNumber: string;\r\n machineInstallationName: string;\r\n dateTime: Date;\r\n cause: string;\r\n count: number;\r\n\r\n constructor() {\r\n this.machineSerialNumber = null;\r\n this.machineInstallationName = null;\r\n this.dateTime = null;\r\n this.cause = null;\r\n this.count = 0;\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.MachineSerialNumber) this.machineSerialNumber = obj.MachineSerialNumber;\r\n if (obj.MachineInstallationName) this.machineInstallationName = obj.MachineInstallationName;\r\n if (obj.DateTime) this.dateTime = new Date(obj.DateTime);\r\n if (obj.Cause) this.cause = obj.Cause;\r\n if (obj.Count) this.count = obj.Count;\r\n }\r\n}\r\n\r\nexport const familyLabelToIndex = new Map([\r\n [\"REJECT_FAMILY_FILTER\", 0],\r\n [\"REJECT_FAMILY_USER\", 1],\r\n [\"REJECT_FAMILY_SENSOR\", 2],\r\n [\"REJECT_FAMILY_MACHINE\", 3],\r\n [\"REJECT_FAMILY_BANKNOTE\", 4],\r\n [\"REJECT_FAMILY_COIN\", 5],\r\n [\"REJECT_FAMILY_OTHER\", 6],\r\n]);\r\n","import { InstallationPredictedStatusEnum } from \"@/model/data/predictiveMaintenance/InstallationPredictedStatusEnum\";\r\nimport { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { Reject } from \"@/model/data/logAnalysis/Reject\";\r\n\r\nexport class GetMachineRejectsResData extends ApiGenericResponse {\r\n rejects: Reject[];\r\n rejectsCause: Map;\r\n rejectsFamily: Map;\r\n familyLabel: Map;\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.Rejects) {\r\n this.rejects = new Array();\r\n obj.Rejects.forEach((element) => {\r\n let reject = new Reject();\r\n reject.parse(element);\r\n this.rejects.push(reject);\r\n });\r\n }\r\n\r\n if (obj.RejectsCause) {\r\n this.rejectsCause = obj.RejectsCause;\r\n }\r\n if (obj.RejectsFamily) {\r\n this.rejectsFamily = new Map(Object.entries(obj.RejectsFamily));\r\n }\r\n if (obj.FamilyLabel) {\r\n this.familyLabel = new Map(Object.entries(obj.FamilyLabel));\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { GetMachineRejectsResData } from \"./GetMachineRejectsResData\";\r\n\r\nconst ENDPOINT = \"/log_analysis/reject\"\r\n\r\nexport class GetMachineRejectsCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: GetMachineRejectsReqData = null;\r\n\r\n constructor(params: GetMachineRejectsReqData) {\r\n super();\r\n this.params = Object.assign({}, params);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new GetMachineRejectsResData(res);\r\n }\r\n}\r\n\r\nexport class GetMachineRejectsReqData {\r\n // FilterInstallations\r\n installationName: string = null;\r\n serialNumber: string = null;\r\n dateStart: Date = null;\r\n dateEnd: Date = null;\r\n\r\n constructor(installationName: string, serialNumber: string, dateStart: Date, dateEnd: Date) {\r\n this.installationName = installationName;\r\n this.serialNumber = serialNumber;\r\n this.dateStart = dateStart;\r\n this.dateEnd = dateEnd;\r\n }\r\n}\r\n","export class ProcessedCash {\r\n machineSerialNumber: string;\r\n machineInstallationName:string;\r\n dateTime: Date;\r\n deposited: Number;\r\n withdrawn: Number;\r\n\r\n constructor() {\r\n this.machineSerialNumber = null;\r\n this.machineInstallationName = null;\r\n this.dateTime = null;\r\n this.deposited = 0;\r\n this.withdrawn = 0\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.MachineSerialNumber) this.machineSerialNumber = obj.MachineSerialNumber;\r\n if (obj.MachineInstallationName) this.machineInstallationName = obj.MachineInstallationName;\r\n if (obj.DateTime) this.dateTime = new Date(obj.DateTime);\r\n if (obj.Deposited) this.deposited = obj.Deposited;\r\n if (obj.Withdrawn) this.withdrawn = obj.Withdrawn;\r\n }\r\n}","import { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { ProcessedCash } from \"@/model/data/logAnalysis/ProcessedCash\";\r\n\r\nexport class GetProcessedCashResData extends ApiGenericResponse {\r\n processedCash: ProcessedCash[];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.ProcessedCash) {\r\n this.processedCash = new Array()\r\n obj.ProcessedCash.forEach(element => {\r\n let pc = new ProcessedCash();\r\n pc.parse(element);\r\n this.processedCash.push(pc);\r\n }); \r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { GetProcessedCashResData } from \"./GetProcessedCashResData\";\r\n\r\nconst ENDPOINT = \"/log_analysis/processedcash\";\r\n\r\nexport class GetProcessedCashCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: GetProcessedCashReqData = null;\r\n\r\n constructor(params: GetProcessedCashReqData) {\r\n super();\r\n this.params = Object.assign({}, params);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new GetProcessedCashResData(res);\r\n }\r\n}\r\n\r\nexport class GetProcessedCashReqData {\r\n // FilterInstallations\r\n installationName: string = null;\r\n serialNumber: string = null;\r\n dateStart: Date = null;\r\n dateEnd: Date = null;\r\n\r\n constructor(installationName: string, serialNumber: string, dateStart: Date, dateEnd: Date) {\r\n this.installationName = installationName;\r\n this.serialNumber = serialNumber;\r\n this.dateStart = dateStart;\r\n this.dateEnd = dateEnd;\r\n }\r\n}\r\n","export class MachineException {\r\n id: number;\r\n machineSerialNumber: string;\r\n machineInstallationName: string;\r\n dateTime: Date;\r\n code: number;\r\n area: number;\r\n unitId: number;\r\n hwId: number;\r\n hwType: number;\r\n category: number;\r\n resolved: Date;\r\n restoreAttemps: number;\r\n processType: number;\r\n\r\n constructor() {\r\n this.id = null;\r\n this.machineSerialNumber = null;\r\n this.machineInstallationName = null;\r\n this.dateTime = null;\r\n this.area = null;\r\n this.code = null;\r\n this.unitId = null;\r\n this.hwId = null;\r\n this.hwType = null;\r\n this.category = null;\r\n this.resolved = null;\r\n this.restoreAttemps = null;\r\n this.processType = null;\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.Id) this.id = obj.Id;\r\n if (obj.MachineSerialNumber) this.machineSerialNumber = obj.MachineSerialNumber;\r\n if (obj.MachineInstallationName) this.machineInstallationName = obj.MachineInstallationName;\r\n if (obj.DateTime) this.dateTime = new Date(obj.DateTime);\r\n if (obj.Code != null && obj.Code != undefined) this.code = obj.Code;\r\n if (obj.Area != null && obj.Area != undefined) this.area = obj.Area;\r\n if (obj.UnitId != null && obj.UnitId != undefined) this.unitId = obj.UnitId;\r\n if (obj.HwId != null && obj.HwId != undefined) this.hwId = obj.HwId;\r\n if (obj.HwType != null && obj.HwType != undefined) this.hwType = obj.HwType;\r\n if (obj.Category != null && obj.Category != undefined) this.category = obj.Category;\r\n if (obj.Resolved) this.resolved = obj.Resolved;\r\n if (obj.RestoreAttemps != null && obj.RestoreAttemps != undefined) this.restoreAttemps = obj.RestoreAttemps;\r\n if (obj.ProcessType && obj.ProcessType >= 0 && obj.ProcessType < 20) this.processType = obj.ProcessType;\r\n }\r\n\r\n public getHexCode() {\r\n return this.code.toString(16).toUpperCase().padStart(3, \"0\");\r\n }\r\n}\r\n","import { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { MachineException } from \"@/model/data/logAnalysis/MachineException\";\r\n\r\nexport class GetMachineExceptionsResData extends ApiGenericResponse {\r\n machineExceptions: MachineException[];\r\n componentLabelMap: Map;\r\n unitLabelMap: Map;\r\n troubleshooting: Map>;\r\n imagesLegend: Map;\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.MachineExceptions) {\r\n this.machineExceptions = new Array();\r\n obj.MachineExceptions.forEach((element) => {\r\n let me = new MachineException();\r\n me.parse(element);\r\n this.machineExceptions.push(me);\r\n });\r\n }\r\n if (obj.ComponentsLabelMap) {\r\n this.componentLabelMap = obj.ComponentsLabelMap;\r\n }\r\n if (obj.UnitLabelMap) {\r\n this.unitLabelMap = obj.UnitLabelMap;\r\n }\r\n if (obj.Troubleshooting) {\r\n this.troubleshooting = obj.Troubleshooting;\r\n }\r\n if (obj.ImagesLegend) {\r\n this.imagesLegend = new Map();\r\n Object.entries(obj.ImagesLegend).forEach((pair: any) => {\r\n this.imagesLegend.set(pair[0], pair[1]);\r\n });\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { GetMachineExceptionsResData } from \"./GetMachineExceptionsResData\";\r\n\r\nconst ENDPOINT = \"/log_analysis/exception\"\r\n\r\nexport class GetMachineExceptionsCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: GetMachineExceptionsReqData = null;\r\n\r\n constructor(params: GetMachineExceptionsReqData) {\r\n super();\r\n this.params = Object.assign({}, params);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new GetMachineExceptionsResData(res);\r\n }\r\n}\r\n\r\nexport class GetMachineExceptionsReqData {\r\n // FilterInstallations\r\n installationName: string = null;\r\n serialNumber: string = null;\r\n dateStart: Date = null;\r\n dateEnd: Date = null;\r\n\r\n constructor(installationName: string, serialNumber: string, dateStart: Date, dateEnd: Date) {\r\n this.installationName = installationName;\r\n this.serialNumber = serialNumber;\r\n this.dateStart = dateStart;\r\n this.dateEnd = dateEnd;\r\n }\r\n}\r\n","export class SensorCalibration {\r\n machineSerialNumber: string;\r\n machineInstallationName: string;\r\n dateTime: Date;\r\n sensorNum: number;\r\n averageCalibrationLevel: number;\r\n averageCommThr: number;\r\n stdCalibrationLevel: number;\r\n cleanThr: number;\r\n\r\n constructor() {\r\n this.machineSerialNumber = null;\r\n this.machineInstallationName = null;\r\n this.dateTime = null;\r\n this.sensorNum = null;\r\n this.averageCalibrationLevel = null;\r\n this.averageCommThr = null;\r\n this.stdCalibrationLevel = null;\r\n this.cleanThr = null;\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.MachineSerialNumber) this.machineSerialNumber = obj.MachineSerialNumber;\r\n if (obj.MachineInstallationName) this.machineInstallationName = obj.MachineInstallationName;\r\n if (obj.DateTime) this.dateTime = new Date(obj.DateTime);\r\n if (obj.SensorNum) this.sensorNum = obj.SensorNum;\r\n if (obj.AverageCalibrationLevel !== null) this.averageCalibrationLevel = obj.AverageCalibrationLevel;\r\n if (obj.AverageCommThr) this.averageCommThr = obj.AverageCommThr;\r\n if (obj.STDCalibrationLevel) this.stdCalibrationLevel = obj.STDCalibrationLevel;\r\n if (obj.CleanThr) this.cleanThr = obj.CleanThr;\r\n }\r\n}\r\n","import { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { SensorCalibration } from \"@/model/data/logAnalysis/SensorCalibration\";\r\n\r\nexport class GetSensorsCalibrationResData extends ApiGenericResponse {\r\n sensorCalibration: SensorCalibration[];\r\n sensorsLabels: Map;\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.SensorsCalibration) {\r\n this.sensorCalibration = new Array();\r\n obj.SensorsCalibration.forEach((element) => {\r\n let sc = new SensorCalibration();\r\n sc.parse(element);\r\n this.sensorCalibration.push(sc);\r\n });\r\n }\r\n\r\n if (obj.SensorsLabels) {\r\n this.sensorsLabels = new Map();\r\n Object.entries(obj.SensorsLabels).forEach((pair: any) => {\r\n this.sensorsLabels.set(pair[0], pair[1]);\r\n });\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { GetSensorsCalibrationResData } from \"./GetSensorsCalibrationResData\";\r\n\r\nconst ENDPOINT = \"/log_analysis/sensorcalibration\"\r\n\r\nexport class GetSensorsCalibrationCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: GetSensorsCalibrationReqData = null;\r\n\r\n constructor(params: GetSensorsCalibrationReqData) {\r\n super();\r\n this.params = Object.assign({}, params);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new GetSensorsCalibrationResData(res);\r\n }\r\n}\r\n\r\nexport class GetSensorsCalibrationReqData {\r\n // FilterInstallations\r\n installationName: string = null;\r\n serialNumber: string = null;\r\n dateStart: Date = null;\r\n dateEnd: Date = null;\r\n\r\n constructor(installationName: string, serialNumber: string, dateStart: Date, dateEnd: Date) {\r\n this.installationName = installationName;\r\n this.serialNumber = serialNumber;\r\n this.dateStart = dateStart;\r\n this.dateEnd = dateEnd;\r\n }\r\n}\r\n","export class CServiceLogon {\r\n id: number;\r\n machineInstallationName: string;\r\n machineSerialNumber: string;\r\n dateTime: Date;\r\n userKId: string;\r\n cServiceVersion: string;\r\n\r\n constructor() {\r\n this.machineSerialNumber = null;\r\n this.machineInstallationName = null;\r\n this.dateTime = null;\r\n this.userKId = null;\r\n this.cServiceVersion = null;\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.MachineSerialNumber) this.machineSerialNumber = obj.MachineSerialNumber;\r\n if (obj.MachineInstallationName) this.machineInstallationName = obj.MachineInstallationName;\r\n if (obj.DateTime) this.dateTime = new Date(obj.DateTime);\r\n if (obj.UserKId) this.userKId = obj.UserKId;\r\n if (obj.CServiceVersion) this.cServiceVersion = obj.CServiceVersion;\r\n }\r\n}\r\n","import { CServiceLogon } from \"@/model/data/logAnalysis/CServiceLogon\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { ApiGenericResponse } from \"../ApiGenericResponse\";\r\n\r\nexport class GetCServiceLogonResData extends ApiGenericResponse {\r\n cserviceLogon: CServiceLogon[];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.CServiceLogon) {\r\n this.cserviceLogon = new Array();\r\n obj.CServiceLogon.forEach((element) => {\r\n let csl = new CServiceLogon();\r\n csl.parse(element);\r\n this.cserviceLogon.push(csl);\r\n });\r\n }\r\n }\r\n}\r\n","import { API_PREFIX, API_VERSION, Command, HttpVerbType } from \"../Command\";\r\nimport { GetCServiceLogonResData } from \"./GetCServiceLogonResData\";\r\n\r\nconst ENDPOINT = \"/log_analysis/cservicelogon\";\r\n\r\nexport class GetCServiceLogonCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: GetCServiceLogonReqData = null;\r\n\r\n constructor(installationName: string, serialNumber: string, dateStart: Date, dateEnd: Date) {\r\n super();\r\n this.params = new GetCServiceLogonReqData(installationName, serialNumber, dateStart, dateEnd);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new GetCServiceLogonResData(res);\r\n }\r\n}\r\n\r\nexport class GetCServiceLogonReqData {\r\n // FilterInstallations\r\n installationName: string = null;\r\n serialNumber: string = null;\r\n dateStart: Date = null;\r\n dateEnd: Date = null;\r\n\r\n constructor(installationName: string, serialNumber: string, dateStart: Date, dateEnd: Date) {\r\n this.installationName = installationName;\r\n this.serialNumber = serialNumber;\r\n this.dateStart = dateStart;\r\n this.dateEnd = dateEnd;\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"mr-3\",attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.meTrend\")))]),(_vm.chartMachineExceptionsTrend.series && _vm.chartMachineExceptionsTrend.series.length > 0)?_c('v-card-text',[_c('apexchart',{staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":\"350\",\"options\":_vm.chartMachineExceptionsTrend.options,\"series\":_vm.chartMachineExceptionsTrend.series}})],1):(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noException\")))]):(!_vm.processedCashList || _vm.processedCashList.length == 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))]):_vm._e()],1)],1)],1)],1),_c('v-row',[_c('v-col',[_c('v-skeleton-loader',{attrs:{\"type\":\"table\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.meByCAC\")))]),_c('v-card-text',[_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.exceptionTableHeader,\"items\":_vm.exceptionTableData,\"hide-default-footer\":\"\",\"item-class\":_vm.$vuetify.breakpoint.xs ? _vm.setRowStyle : '',\"disable-pagination\":\"\"},scopedSlots:_vm._u([{key:\"item.image\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"pa-0 no-background\",attrs:{\"elevation\":\"0\",\"icon\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.openImageDialog(item)}}},'v-btn',attrs,false),on),[(_vm.$vuetify.breakpoint.smAndDown)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.click\")))]):_vm._e(),_c('v-fa-icon',{attrs:{\"icon\":\"search\",\"small\":\"\",\"dense\":\"\"}})],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"common.currentTabDialog\")))])])]}},{key:\"header.percentage\",fn:function(ref){\nvar header = ref.header;\nreturn [_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_vm._v(_vm._s(header.text)+\" \"),_c('v-fa-icon',{attrs:{\"icon\":\"info-circle\",\"x-small\":\"\"}})],1)]}}],null,true)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.exceptionPercentageTooltip\"))+\" \")])])]}}],null,true)},[(_vm.$vuetify.breakpoint.xs)?_c('template',{slot:\"body.append\"},[_c('tr',[_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(\" Total: \"),_c('span',{staticClass:\"float-right\"},[_vm._v(_vm._s(_vm.totalRowExceptionDataTable))])]),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}})])]):_c('template',{slot:\"body.append\"},[_c('tr',[_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(\"Total\")]),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}}),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}}),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}}),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}}),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(_vm._s(_vm.totalRowExceptionDataTable))])])]),_c('template',{slot:\"no-data\"},[(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noException\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))])])],2)],1)],1)],1),(_vm.selectedException)?_c('v-dialog',{attrs:{\"max-width\":\"1000\"},model:{value:(_vm.showImageDialog),callback:function ($$v) {_vm.showImageDialog=$$v},expression:\"showImageDialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"text-h5 grey lighten-2 title-break\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.exceptionDetails\")))]),_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"align-self\":\"start\",\"justify\":\"start\",\"cols\":\"12\",\"md\":\"\"}},[_c('ul',{staticClass:\"mb-3\"},[_c('li',[_c('strong',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.area'))}}),_c('span',[_vm._v(\": \"+_vm._s(_vm.selectedException.areaDescr))])]),_c('li',[_c('strong',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.component'))}}),_c('span',[_vm._v(\": \"+_vm._s(_vm.selectedException.compDescr))])]),_c('li',[_c('strong',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.exception'))}}),_c('span',[_vm._v(\": \"+_vm._s(_vm.selectedException.codeDescr))])]),(_vm.selectedException.procType)?_c('li',[_c('strong',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.procType'))}}),_c('span',[_vm._v(\": \"+_vm._s(_vm.selectedException.procType))])]):_vm._e(),(_vm.selectedException.timestamps)?_c('li',[_c('strong',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.timestamps'))}}),_vm._v(\": \"),_c('ul',{staticStyle:{\"max-height\":\"200px\",\"overflow\":\"auto\",\"list-style-type\":\"'🕑'\"}},_vm._l((_vm.selectedException.timestamps),function(timestamp,index){return _c('li',{key:index},[_c('span',{staticClass:\"ml-2\"},[_vm._v(_vm._s(_vm.moment(timestamp).format(_vm.longDateFormat(true, false, false, true))))])])}),0)]):_vm._e()]),_c('span',{staticClass:\"text-h5 mt-4\"},[_vm._v(_vm._s(_vm.selectedException.descr))]),(_vm.selectedException.troub.length > 0)?_c('v-card',{staticClass:\"mt-3\",attrs:{\"color\":\"#BEE5EB\",\"light\":\"\",\"elevation\":\"0\"}},[_c('v-card-title',{staticClass:\"text-h5\",staticStyle:{\"background-color\":\"#17a2b8\",\"color\":\"#ffffff\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.troubleshootingGuide\"))+\" \")]),_c('v-card-text',{staticClass:\"text-body-1 mt-2\",staticStyle:{\"white-space\":\"pre-wrap\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.selectedException.troub)}})])],1):_vm._e()],1),_c('v-col',{attrs:{\"align-self\":\"center\",\"justify\":\"end\",\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"image\",\"loading\":_vm.loadingImage}},[_c('v-img',{attrs:{\"src\":'data:image/png;base64,' + _vm.selectedException.image,\"contain\":\"\",\"aspect-ratio\":\"1\"}})],1),(_vm.selectedException.legend)?_c('div',{staticClass:\"px-2 pt-2 mt-2\",staticStyle:{\"border\":\"thin solid rgba(0, 0, 0, 0.12)\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.legend\"))+\" \")]),_c('br'),_c('span',{staticStyle:{\"white-space\":\"pre-line\"}},[_vm._v(\" \"+_vm._s(_vm.selectedException.legend)+\" \")])]):_vm._e()],1)],1)],1)],1)],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { RootState } from \"@/store\";\r\nimport { mapGetters, mapState } from \"vuex\";\r\nimport moment from \"moment\";\r\n\r\nimport { FETCH_EXCEPTION_IMAGE } from \"@/store/modules/LogAnalysisModule/actions\";\r\nimport { Machine } from \"@/model/data/Machine\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n processedCashList: Array,\r\n dateListString: Array,\r\n machineExceptionList: Array,\r\n troubleshooting: Object,\r\n unitLabelMap: Object,\r\n componentLabelMap: Object,\r\n imagesLegend: Map,\r\n startDate: Date,\r\n machine: Object as () => Machine,\r\n installationName: String,\r\n nDays: Number,\r\n },\r\n data() {\r\n return {\r\n showImageDialog: false,\r\n selectedException: undefined,\r\n loadingImage: false,\r\n exceptionTableHeader: [\r\n { text: this.$t(\"logAnalysis.exceptionCode\"), value: \"code\" },\r\n { text: this.$t(\"logAnalysis.exceptionArea\"), value: \"area\" },\r\n { text: this.$t(\"logAnalysis.exceptionComponent\"), value: \"component\" },\r\n { text: this.$t(\"logAnalysis.exceptionDescription\"), value: \"description\", sortable: false },\r\n { text: this.$t(\"logAnalysis.exceptionPercentage\"), value: \"percentage\" },\r\n { text: this.$t(\"logAnalysis.exceptionCount\"), value: \"number\" },\r\n { text: this.$t(\"logAnalysis.exceptionImage\"), value: \"image\" },\r\n ],\r\n exceptionTableData: [],\r\n seriesMETrendList: [],\r\n totalRowExceptionDataTable: 0,\r\n maxYValue: 0,\r\n moment,\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n userTheme: (state: RootState) => state.authMod.currentUser.userConfig.theme,\r\n }),\r\n ...mapGetters([\"longDateFormat\"]),\r\n chartMachineExceptionsTrend() {\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"bar\",\r\n stacked: true,\r\n height: 350,\r\n zoom: {\r\n enabled: false,\r\n },\r\n animations: {\r\n enabled: false,\r\n },\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: false,\r\n },\r\n },\r\n grid: {\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n type: \"category\",\r\n categories: this.dateListString,\r\n tickPlacement: \"on\",\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: (val) => val.toFixed(0),\r\n },\r\n max: this.maxYValue + 1,\r\n },\r\n },\r\n series: this.seriesMETrendList,\r\n };\r\n },\r\n },\r\n methods: {\r\n setRowStyle() {\r\n return \"style-1\";\r\n },\r\n openImageDialog(value) {\r\n this.showImageDialog = true;\r\n let troubGuide = value.troub;\r\n let cause = this.$t(\"logAnalysis.cause\");\r\n let solution = this.$t(\"logAnalysis.solution\");\r\n let regExp = new RegExp(\".*(\" + cause + \"|\" + solution + \").*\", \"ig\");\r\n let causeOrSolutionWords = troubGuide.match(regExp);\r\n if (causeOrSolutionWords != null)\r\n causeOrSolutionWords.forEach((word) => {\r\n troubGuide = troubGuide.replace(word, \"\" + word + \"\");\r\n });\r\n this.selectedException = {\r\n exc: value.exc,\r\n image: \"\",\r\n areaDescr: value.area,\r\n codeDescr: value.code,\r\n compDescr: value.component,\r\n descr: value.description,\r\n procType: value.exc.processType != null ? this.$t(\"logAnalysis.processType_\" + value.exc.processType) : \"\",\r\n troub: troubGuide,\r\n legend: value.legend,\r\n timestamps: value.timestamps,\r\n };\r\n this.getMachineImage();\r\n },\r\n async getMachineImage() {\r\n let toHash = {\r\n area: this.selectedException.exc.area,\r\n unitId: this.selectedException.exc.unitId,\r\n code: this.selectedException.exc.code,\r\n hwId: this.selectedException.exc.hwId,\r\n hwType: this.selectedException.exc.hwType,\r\n model: this.machine.model,\r\n };\r\n let excHash = this.hashCode(JSON.stringify(toHash));\r\n if (!this.$store.state.logAnalysis.cachedImages.has(excHash)) {\r\n this.loadingImage = true;\r\n let date = this.selectedException.exc.dateTime;\r\n this.selectedException.exc.dateTime = new Date(\r\n Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds())\r\n );\r\n await this.$store.dispatch(FETCH_EXCEPTION_IMAGE, {\r\n installationName: this.installationName,\r\n serialNumber: this.machine.serialNumber,\r\n exc: this.selectedException.exc,\r\n excHash: excHash,\r\n });\r\n this.loadingImage = false;\r\n }\r\n this.selectedException.image = this.$store.state.logAnalysis.cachedImages.get(excHash);\r\n },\r\n hashCode(str: string, seed = 0) {\r\n let h1 = 0xdeadbeef ^ seed,\r\n h2 = 0x41c6ce57 ^ seed;\r\n for (let i = 0, ch; i < str.length; i++) {\r\n ch = str.charCodeAt(i);\r\n h1 = Math.imul(h1 ^ ch, 2654435761);\r\n h2 = Math.imul(h2 ^ ch, 1597334677);\r\n }\r\n h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);\r\n h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);\r\n return 4294967296 * (2097151 & h2) + (h1 >>> 0);\r\n },\r\n reset() {\r\n this.seriesMETrendList = [];\r\n this.exceptionTableData = [];\r\n this.totalRowExceptionDataTable = 0;\r\n this.maxYValue = 0;\r\n },\r\n },\r\n watch: {\r\n machineExceptionList: {\r\n handler(value) {\r\n this.reset();\r\n if (value && value.length) {\r\n let machineExceptionTrendMap = new Map>();\r\n let codes = [...new Set(this.machineExceptionList.map((me) => me.getHexCode()))];\r\n codes.forEach((code) => {\r\n machineExceptionTrendMap.set(code, new Array(this.nDays).fill(0));\r\n });\r\n let codeDescription = \"-\";\r\n let excDescription = \"-\";\r\n let excDict = null;\r\n let meTableDataMap = new Map();\r\n let exceptionMapIndexes = new Map();\r\n this.machineExceptionList.forEach((me, i) => {\r\n let utcDate = Date.UTC(me.dateTime.getFullYear(), me.dateTime.getMonth(), me.dateTime.getDate(), 0, 0, 0);\r\n let dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n machineExceptionTrendMap.get(me.getHexCode())[dayIndex] += 1;\r\n let area = me.unitId <= 0 ? me.area : me.unitId;\r\n let key = me.code + \",\" + area.toString(10) + \",\" + me.hwId.toString(10);\r\n if (!meTableDataMap.has(key)) meTableDataMap.set(key, 0);\r\n meTableDataMap.set(key, meTableDataMap.get(key) + 1);\r\n this.totalRowExceptionDataTable += 1;\r\n exceptionMapIndexes.set(key, i);\r\n });\r\n meTableDataMap.forEach((value, key) => {\r\n let keyArr = key.split(\",\");\r\n excDict = this.troubleshooting[keyArr[0]];\r\n if (excDict != null && excDict != undefined) {\r\n codeDescription = excDict.title;\r\n excDescription = excDict.descr;\r\n }\r\n let exc = this.machineExceptionList[exceptionMapIndexes.get(key)];\r\n let formattedCode = \"\";\r\n if (codeDescription.includes(\":\")) formattedCode = codeDescription;\r\n else formattedCode = exc.getHexCode() + \": \" + codeDescription;\r\n let timestamps = this.machineExceptionList\r\n .filter((me) => me.code == keyArr[0] && (me.area == keyArr[1] || me.unitId == keyArr[1]) && me.hwId == keyArr[2])\r\n .map((me) => me.dateTime);\r\n this.exceptionTableData.push({\r\n code: formattedCode,\r\n area: this.unitLabelMap[keyArr[1]],\r\n component: this.componentLabelMap[exc.hwType + \",\" + exc.hwId],\r\n description: excDescription,\r\n number: value,\r\n percentage: ((value * 100) / this.totalRowExceptionDataTable).toFixed(0) + \"%\",\r\n troub: excDict && excDict.troub ? excDict.troub : \"\",\r\n exc: exc,\r\n legend: this.imagesLegend.get(exc.id.toString()),\r\n timestamps: timestamps,\r\n });\r\n });\r\n let maxValue = Array(this.nDays).fill(0);\r\n machineExceptionTrendMap.forEach((value, key) => {\r\n let keyLabel = this.troubleshooting[parseInt(key, 16)].title;\r\n value.forEach((element, i) => {\r\n maxValue[i] += element;\r\n });\r\n if (!value.every((element) => element === 0)) {\r\n this.seriesMETrendList.push({ name: keyLabel && keyLabel.includes(\":\") ? keyLabel.split(\":\")[0] : key, data: value });\r\n }\r\n });\r\n this.maxYValue = Math.max(...maxValue);\r\n }\r\n },\r\n immediate: true,\r\n deep: true,\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MachineExceptionCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MachineExceptionCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MachineExceptionCard.vue?vue&type=template&id=3187e626&\"\nimport script from \"./MachineExceptionCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./MachineExceptionCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VCol,VContainer,VDataTable,VDialog,VImg,VRow,VSkeletonLoader,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.sensorsAvgCalLevel\")))]),(_vm.chartSensorCalibrationTrend.series.length > 0)?_c('v-card-text',[_c('apexchart',{ref:\"scChart\",staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":\"550\",\"options\":_vm.chartSensorCalibrationTrend.options,\"series\":_vm.chartSensorCalibrationTrend.series}})],1):_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { RootState } from \"@/store\";\r\nimport { mapState } from \"vuex\";\r\n\r\nimport { SensorCalibration } from \"@/model/data/logAnalysis/SensorCalibration\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n sensorCalibrationList: Array,\r\n sensorsLabels: Map,\r\n loading: Boolean,\r\n startDate: Date,\r\n dateListString: Array,\r\n nDays: Number,\r\n },\r\n data() {\r\n return {\r\n seriesSCTrendList: [],\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n userTheme: (state: RootState) => state.authMod.currentUser.userConfig.theme,\r\n }),\r\n chartSensorCalibrationTrend() {\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"line\",\r\n zoom: {\r\n enabled: true,\r\n },\r\n animations: {\r\n enabled: false,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: \"straight\",\r\n },\r\n grid: {\r\n row: {\r\n colors: [\"#f3f3f3\", \"transparent\"],\r\n opacity: 0.5,\r\n },\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n xaxis: {\r\n type: \"category\",\r\n categories: this.dateListString,\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: (value) => {\r\n if (value != null) {\r\n return value % 1 == 0 ? value.toFixed(0) : value.toFixed(2);\r\n }\r\n return null;\r\n },\r\n },\r\n },\r\n tooltip: {\r\n shared: false,\r\n y: {\r\n formatter: (value) => (value != null ? value.toFixed(2) : null),\r\n },\r\n },\r\n markers: {\r\n size: 4,\r\n colors: undefined,\r\n strokeColors: \"#fff\",\r\n strokeWidth: 2,\r\n strokeOpacity: 0.9,\r\n strokeDashArray: 0,\r\n fillOpacity: 1,\r\n discrete: [],\r\n shape: \"circle\",\r\n radius: 2,\r\n offsetX: 0,\r\n offsetY: 0,\r\n onClick: undefined,\r\n onDblClick: undefined,\r\n showNullDataPoints: true,\r\n },\r\n },\r\n series: this.seriesSCTrendList,\r\n };\r\n },\r\n },\r\n watch: {\r\n sensorCalibrationList: {\r\n handler(value) {\r\n this.seriesSCTrendList = [];\r\n if (value && value.length) {\r\n let sensorCalibrationMap = new Map>();\r\n this.sensorCalibrationList.forEach((sc) => {\r\n let utcDate = Date.UTC(sc.dateTime.getFullYear(), sc.dateTime.getMonth(), sc.dateTime.getDate(), 0, 0, 0);\r\n let dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n if (!sensorCalibrationMap.has(sc.sensorNum)) sensorCalibrationMap.set(sc.sensorNum, new Array(this.nDays).fill(null));\r\n sensorCalibrationMap.get(sc.sensorNum)[dayIndex] = sc;\r\n });\r\n sensorCalibrationMap.forEach((value, key) => {\r\n let data = [];\r\n value.forEach((sc, i) => {\r\n if (sc == null) {\r\n if (i > 0) data.push(data[i - 1]);\r\n else data.push(null);\r\n } else data.push(sc.averageCalibrationLevel);\r\n });\r\n this.seriesSCTrendList.push({ name: this.sensorsLabels.get(key.toString()), data: data });\r\n });\r\n }\r\n },\r\n deep: true,\r\n immediate: true,\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SensorCalibrationCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SensorCalibrationCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SensorCalibrationCard.vue?vue&type=template&id=8064da56&\"\nimport script from \"./SensorCalibrationCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./SensorCalibrationCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VRow,VSkeletonLoader})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"mr-3\",attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[(_vm.machine.supportedCashType == 1)?_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.pcBanknoteByType\"))+\" \")]):_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.pcCoinByType\"))+\" \")]),(_vm.chartProcessedCashType.series.length > 0)?_c('v-card-text',[_c('apexchart',{staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":_vm.$vuetify.breakpoint.mdAndUp ? '' : '350',\"options\":_vm.chartProcessedCashType.options,\"series\":_vm.chartProcessedCashType.series}})],1):_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))])],1)],1)],1),_c('v-col',{staticClass:\"mr-3\",attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading.pc}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.pcByType\")))]),(_vm.chartProcessedCashTrend.series.length > 0)?_c('v-card-text',[_c('apexchart',{staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":_vm.$vuetify.breakpoint.mdAndUp ? '' : '350',\"options\":_vm.chartProcessedCashTrend.options,\"series\":_vm.chartProcessedCashTrend.series}})],1):_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { RootState } from \"@/store\";\r\n\r\nimport { Machine } from \"@/model/data/Machine\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n machine: Object as () => Machine,\r\n processedCashList: Array,\r\n nDays: Number,\r\n dateListString: Array,\r\n loading: Boolean,\r\n seriesPCTypeList: Array,\r\n seriesPCTrendList: Array,\r\n },\r\n computed: {\r\n ...mapState({\r\n userTheme: (state: RootState) => state.authMod.currentUser.userConfig.theme,\r\n }),\r\n isDepositMachine() {\r\n if (this.machine && this.machine.model) {\r\n if (this.machine.model.match(/SDM (500.*|100.*|50[A-Za-z\\s]+|10[A-Za-z\\s]+)/g)) return true;\r\n }\r\n return false;\r\n },\r\n chartProcessedCashType() {\r\n let categories = [this.$t(\"logAnalysis.deposited\")];\r\n if (!this.isDepositMachine) categories.push(this.$t(\"logAnalysis.withdrawn\"));\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"bar\",\r\n animations: {\r\n enabled: false,\r\n },\r\n },\r\n grid: {\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n barHeight: \"50%\",\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: categories,\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: (value) => new Intl.NumberFormat(navigator.language).format(value),\r\n },\r\n },\r\n },\r\n series: this.seriesPCTypeList,\r\n };\r\n },\r\n chartProcessedCashTrend() {\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"bar\",\r\n stacked: true,\r\n animations: {\r\n enabled: false,\r\n },\r\n zoom: {\r\n enabled: false,\r\n },\r\n },\r\n grid: {\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: false,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n type: \"category\",\r\n categories: this.dateListString,\r\n tickPlacement: \"on\",\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: (value) => new Intl.NumberFormat(navigator.language).format(value),\r\n },\r\n },\r\n },\r\n series: this.seriesPCTrendList,\r\n };\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcessedCashCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcessedCashCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcessedCashCard.vue?vue&type=template&id=b0d7f0ec&\"\nimport script from \"./ProcessedCashCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcessedCashCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VRow,VSkeletonLoader})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',[_c('v-skeleton-loader',{attrs:{\"type\":\"table\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.rejectByFamily\")))]),_c('v-card-text',[_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.rejectTableHeader,\"items\":_vm.rejectTableData,\"hide-default-footer\":\"\",\"item-class\":_vm.$vuetify.breakpoint.xs ? _vm.setRowStyle : ''},scopedSlots:_vm._u([{key:\"header.percentage\",fn:function(ref){\nvar header = ref.header;\nreturn [_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_vm._v(\" \"+_vm._s(header.text)+\" \"),_c('v-fa-icon',{attrs:{\"icon\":\"info-circle\",\"x-small\":\"\"}})],1)]}}],null,true)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.rejectPercentageTooltip\"))+\" \")])])]}}],null,true)},[(_vm.$vuetify.breakpoint.xs)?_c('template',{slot:\"body.append\"},[_c('tr',[_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(\" Total: \"),_c('span',{staticClass:\"float-right\"},[_vm._v(_vm._s(_vm.totalRowRejectDataTable.number))])]),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}})]),_c('tr',[_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(\" Total %: \"),_c('span',{staticClass:\"float-right\"},[_vm._v(_vm._s(_vm.totalRowRejectDataTable.percentage.toFixed(2))+\"%\")])]),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}})])]):_c('template',{slot:\"body.append\"},[_c('tr',[_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(\"Total\")]),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}}),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(_vm._s(_vm.totalRowRejectDataTable.number))]),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(_vm._s(_vm.totalRowRejectDataTable.percentage.toFixed(2))+\"%\")])])]),_c('template',{slot:\"no-data\"},[(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noReject\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))])])],2)],1)],1)],1)],1),_c('v-col',{staticClass:\"mr-3\",attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.rejectByType\")))]),(_vm.chartRejectType.series.length > 0)?_c('v-card-text',[_c('apexchart',{staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":\"350\",\"options\":_vm.chartRejectType.options,\"series\":_vm.chartRejectType.series}})],1):(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noReject\")))]):(!_vm.processedCashList || _vm.processedCashList.length == 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))]):_vm._e()],1)],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading,\"height\":\"100%\"}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.rejectTrendByCause\")))]),(_vm.chartRejectTrend.series.length > 0)?_c('v-card-text',[_c('apexchart',{staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":\"450\",\"options\":_vm.chartRejectTrend.options,\"series\":_vm.chartRejectTrend.series}})],1):(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noReject\")))]):(!_vm.processedCashList || _vm.processedCashList.length == 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))]):_vm._e()],1)],1)],1),_c('v-col',{attrs:{\"md\":\"4\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"table\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.legend\")))]),_c('v-card-text',[_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.rejectLegendHeader,\"items\":_vm.rejectLegendData,\"hide-default-footer\":\"\",\"item-class\":_vm.$vuetify.breakpoint.mdAndUp ? '' : _vm.setRowStyle,\"disable-pagination\":\"\"}},[_c('template',{slot:\"no-data\"},[(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noReject\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))])])],2)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { RootState } from \"@/store\";\r\n\r\nimport { Machine } from \"@/model/data/Machine\";\r\nimport { familyLabelToIndex } from \"@/model/data/logAnalysis/Reject\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n machine: Object as () => Machine,\r\n processedCashList: Array,\r\n nDays: Number,\r\n dateListString: Array,\r\n loading: Boolean,\r\n rejectList: Array,\r\n rejectCauseMap: Object,\r\n rejectsFamilyMap: Map,\r\n familyLabelMap: Map,\r\n startDate: Date,\r\n seriesPCTrendList: Array,\r\n },\r\n data() {\r\n return {\r\n seriesList: [],\r\n rejectTypeList: [],\r\n seriesTypeList: [],\r\n rejectTableData: [],\r\n rejectTableHeader: [\r\n { text: this.$t(\"logAnalysis.rejectFamily\"), value: \"family\", sortable: false },\r\n { text: this.$t(\"logAnalysis.rejectCause\"), value: \"cause\", sortable: false },\r\n { text: this.$t(\"logAnalysis.rejectCount\"), value: \"number\" },\r\n { text: this.$t(\"logAnalysis.rejectPercentage\"), value: \"percentage\" },\r\n ],\r\n rejectLegendHeader: [\r\n { text: this.$t(\"logAnalysis.rejectCause\"), value: \"cause\", sortable: false },\r\n { text: this.$t(\"logAnalysis.rejectDescription\"), value: \"description\", sortable: false },\r\n ],\r\n rejectLegendData: [],\r\n totalRowRejectDataTable: {\r\n number: 0,\r\n percentage: 0,\r\n },\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n userTheme: (state: RootState) => state.authMod.currentUser.userConfig.theme,\r\n }),\r\n chartRejectTrend() {\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"area\",\r\n stacked: true,\r\n zoom: {\r\n enabled: false,\r\n },\r\n animations: {\r\n enabled: false,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: \"straight\",\r\n },\r\n grid: {\r\n row: {\r\n colors: [\"#f3f3f3\", \"transparent\"], // takes an array which will be repeated on columns\r\n opacity: 0.5,\r\n },\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n xaxis: {\r\n type: \"category\",\r\n categories: this.dateListString,\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: (value) => {\r\n if (value != null) {\r\n return (value % 1 == 0 ? value.toFixed(0) : value.toFixed(2)) + \"%\";\r\n }\r\n return null;\r\n },\r\n },\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: (value) => (value != null ? value.toFixed(2) + \"%\" : null),\r\n },\r\n },\r\n },\r\n series: this.seriesList,\r\n };\r\n },\r\n chartRejectType() {\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"bar\",\r\n animations: {\r\n enabled: false,\r\n },\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: this.rejectTypeList,\r\n labels: {\r\n formatter: (value) => value.toFixed(2) + \"%\",\r\n },\r\n },\r\n grid: {\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: (value) => value.toFixed(2) + \"%\",\r\n },\r\n },\r\n },\r\n series: this.seriesTypeList,\r\n };\r\n },\r\n },\r\n watch: {\r\n rejectList: {\r\n handler(value) {\r\n this.seriesList = [];\r\n this.rejectTypeList = [];\r\n this.seriesTypeList = [];\r\n this.rejectTableData = [];\r\n this.rejectLegendData = [];\r\n this.totalRowRejectDataTable = {\r\n number: 0,\r\n percentage: 0,\r\n };\r\n if (value && value.length) {\r\n if (this.rejectCauseMap != null && this.rejectCauseMap != undefined)\r\n Object.keys(this.rejectCauseMap)\r\n .sort((a, b) => a.localeCompare(b))\r\n .forEach((key) => {\r\n this.rejectLegendData.push({ cause: key, description: this.rejectCauseMap[key] });\r\n });\r\n let seriesTable = new Map>();\r\n\r\n let causes = [...new Set(this.rejectList.map((reject) => reject.cause))];\r\n let rejectCausebyFamily = new Map>();\r\n let fillerList = new Array(this.nDays).fill(null);\r\n this.processedCashList.forEach((pc) => {\r\n let utcDate = Date.UTC(pc.dateTime.getFullYear(), pc.dateTime.getMonth(), pc.dateTime.getDate(), 0, 0, 0);\r\n let dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n fillerList[dayIndex] = 0;\r\n });\r\n let keyCause = null;\r\n causes.forEach((cause) => {\r\n seriesTable.set(cause, Array.from(fillerList));\r\n if (this.rejectsFamilyMap.get(cause) == undefined) keyCause = \"default\";\r\n else keyCause = cause;\r\n if (rejectCausebyFamily.has(this.rejectsFamilyMap.get(keyCause))) rejectCausebyFamily.get(this.rejectsFamilyMap.get(keyCause)).push(cause);\r\n else rejectCausebyFamily.set(this.rejectsFamilyMap.get(keyCause), [cause]);\r\n });\r\n\r\n let totalReject = new Array(this.nDays).fill(0);\r\n this.rejectList.forEach((reject) => {\r\n let utcDate = Date.UTC(reject.dateTime.getFullYear(), reject.dateTime.getMonth(), reject.dateTime.getDate(), 0, 0, 0);\r\n let dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n totalReject[dayIndex] += reject.count;\r\n });\r\n let rejectTypeMap = new Map();\r\n this.rejectList.forEach((reject) => {\r\n let utcDate = Date.UTC(reject.dateTime.getFullYear(), reject.dateTime.getMonth(), reject.dateTime.getDate(), 0, 0, 0);\r\n let dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n seriesTable.get(reject.cause)[dayIndex] = (reject.count * 100) / (this.seriesPCTrendList[0].data[dayIndex] + totalReject[dayIndex]);\r\n if (rejectTypeMap.has(reject.cause)) rejectTypeMap.set(reject.cause, rejectTypeMap.get(reject.cause) + reject.count);\r\n else rejectTypeMap.set(reject.cause, reject.count);\r\n });\r\n let totalDepositedAndReject =\r\n this.processedCashList.map((pc) => pc.deposited).reduce((accumulator, curr) => accumulator + curr) +\r\n totalReject.reduce((accumulator, curr) => accumulator + curr);\r\n rejectTypeMap = new Map([...rejectTypeMap.entries()].sort((a, b) => String(a[0]).localeCompare(b[0])));\r\n this.rejectTypeList = Array.from(rejectTypeMap.keys());\r\n this.seriesTypeList = [{ name: \"Reject\", data: Array.from(rejectTypeMap.values()).map((r) => (r * 100) / totalDepositedAndReject) }];\r\n seriesTable.forEach((value, key) => {\r\n this.seriesList.push({ name: key, data: value });\r\n });\r\n rejectCausebyFamily = new Map([...rejectCausebyFamily.entries()].sort((a, b) => familyLabelToIndex.get(a[0]) - familyLabelToIndex.get(b[0])));\r\n rejectCausebyFamily.forEach((value, key) => {\r\n let number = value.map((c) => rejectTypeMap.get(c)).reduce((acc, curr) => acc + curr);\r\n let percentage = (number * 100) / totalDepositedAndReject;\r\n this.totalRowRejectDataTable.number += number;\r\n this.totalRowRejectDataTable.percentage += percentage;\r\n this.rejectTableData.push({ family: this.familyLabelMap.get(key), cause: value.join(\",\"), number: number, percentage: percentage.toFixed(2) + \"%\" });\r\n });\r\n }\r\n },\r\n deep: true,\r\n immediate: true,\r\n },\r\n },\r\n methods: {\r\n setRowStyle() {\r\n return \"style-1\";\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RejectCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RejectCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RejectCard.vue?vue&type=template&id=7d67d0b8&\"\nimport script from \"./RejectCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./RejectCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow,VSkeletonLoader,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"mr-3\",attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.cslTrend\")))]),(_vm.chartCServiceLogonTrend.series && _vm.chartCServiceLogonTrend.series.length > 0)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"8\"}},[_c('apexchart',{staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":\"350\",\"options\":_vm.chartCServiceLogonTrend.options,\"series\":_vm.chartCServiceLogonTrend.series}})],1),_c('v-col',{staticClass:\"mr-2\",attrs:{\"cols\":\"12\",\"lg\":\"\"}},[_c('v-timeline',{staticStyle:{\"max-height\":\"350px\",\"overflow\":\"auto\"},attrs:{\"dense\":\"\"}},_vm._l((_vm.cserviceLogonList),function(logon,index){return _c('v-timeline-item',{key:index,attrs:{\"color\":\"primary\",\"small\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"mr-2\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"primary--text\"},[_vm._v(\" \"+_vm._s(_vm.moment(logon.dateTime).format(_vm.longDateFormat(true, true, true, true)))+\" \")])]),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.technicianId\"))+\": \"+_vm._s(logon.userKId))])])],1)],1)}),1)],1)],1):(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noLogon\")))]):(!_vm.cserviceLogonList || _vm.cserviceLogonList.length == 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))]):_vm._e()],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport moment from \"moment\";\r\nimport { RootState } from \"@/store\";\r\nimport { mapGetters, mapState } from \"vuex\";\r\n\r\nimport { Machine } from \"@/model/data/Machine\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n dateListString: Array,\r\n cserviceLogonList: Array,\r\n processedCashList: Array,\r\n startDate: Date,\r\n machine: Object as () => Machine,\r\n installationName: String,\r\n nDays: Number,\r\n },\r\n data() {\r\n return {\r\n showImageDialog: false,\r\n selectedException: undefined,\r\n loadingImage: false,\r\n seriesCSLTrendList: [],\r\n maxYValue: 0,\r\n moment,\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n userTheme: (state: RootState) => state.authMod.currentUser.userConfig.theme,\r\n }),\r\n ...mapGetters([\"longDateFormat\"]),\r\n chartCServiceLogonTrend() {\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"bar\",\r\n stacked: true,\r\n height: 350,\r\n zoom: {\r\n enabled: false,\r\n },\r\n animations: {\r\n enabled: false,\r\n },\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: false,\r\n },\r\n },\r\n grid: {\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n type: \"category\",\r\n categories: this.dateListString,\r\n tickPlacement: \"on\",\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: (val) => val.toFixed(0),\r\n },\r\n max: this.maxYValue + 1,\r\n },\r\n },\r\n series: this.seriesCSLTrendList,\r\n };\r\n },\r\n },\r\n methods: {\r\n setRowStyle() {\r\n return \"style-1\";\r\n },\r\n reset() {\r\n this.seriesCSLTrendList = [];\r\n this.logonTableData = [];\r\n this.totalRowExceptionDataTable = 0;\r\n this.maxYValue = 0;\r\n },\r\n },\r\n watch: {\r\n cserviceLogonList: {\r\n handler(value) {\r\n this.reset();\r\n if (value && value.length) {\r\n let cserviceLogonTrendMap = new Map>();\r\n this.cserviceLogonList.forEach((csl) => {\r\n let utcDate = Date.UTC(csl.dateTime.getFullYear(), csl.dateTime.getMonth(), csl.dateTime.getDate(), 0, 0, 0);\r\n let dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n if (!cserviceLogonTrendMap.get(csl.userKId)) cserviceLogonTrendMap.set(csl.userKId, new Array(this.nDays).fill(0));\r\n cserviceLogonTrendMap.get(csl.userKId)[dayIndex] += 1;\r\n });\r\n let maxValue = Array(this.nDays).fill(0);\r\n cserviceLogonTrendMap.forEach((value, key) => {\r\n value.forEach((element, i) => {\r\n maxValue[i] += element;\r\n });\r\n this.seriesCSLTrendList.push({ name: key, data: value });\r\n });\r\n this.maxYValue = Math.max(...maxValue);\r\n }\r\n },\r\n immediate: true,\r\n deep: true,\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CServiceLogonCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CServiceLogonCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CServiceLogonCard.vue?vue&type=template&id=b25f2102&\"\nimport script from \"./CServiceLogonCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./CServiceLogonCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VTimeline } from 'vuetify/lib/components/VTimeline';\nimport { VTimelineItem } from 'vuetify/lib/components/VTimeline';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VRow,VSkeletonLoader,VTimeline,VTimelineItem})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue, { PropType } from \"vue\";\r\nimport i18n from \"@/lang\";\r\nimport moment from \"moment\";\r\nimport { mapGetters } from \"vuex\";\r\n\r\n// Model\r\nimport { GetMachineRejectsResData } from \"@/model/communication/logAnalysis/GetMachineRejectsResData\";\r\nimport { GetMachineRejectsCommand, GetMachineRejectsReqData } from \"@/model/communication/logAnalysis/GetMachineRejectsCommand\";\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { GetProcessedCashCommand, GetProcessedCashReqData } from \"@/model/communication/logAnalysis/GetProcessedCashCommand\";\r\nimport { GetProcessedCashResData } from \"@/model/communication/logAnalysis/GetProcessedCashResData\";\r\nimport { Machine } from \"@/model/data/Machine\";\r\nimport { Reject } from \"@/model/data/logAnalysis/Reject\";\r\nimport { GetMachineExceptionsReqData, GetMachineExceptionsCommand } from \"@/model/communication/logAnalysis/GetMachineExceptionsCommand\";\r\nimport { GetMachineExceptionsResData } from \"@/model/communication/logAnalysis/GetMachineExceptionsResData\";\r\nimport { MachineException } from \"@/model/data/logAnalysis/MachineException\";\r\nimport { ProcessedCash } from \"@/model/data/logAnalysis/ProcessedCash\";\r\nimport { GetSensorsCalibrationCommand, GetSensorsCalibrationReqData } from \"@/model/communication/logAnalysis/GetSensorCalibrationsCommand\";\r\nimport { GetSensorsCalibrationResData } from \"@/model/communication/logAnalysis/GetSensorsCalibrationResData\";\r\nimport { GetCServiceLogonCommand } from \"@/model/communication/logAnalysis/GetCServiceLogonCommand\";\r\nimport { GetCServiceLogonResData } from \"@/model/communication/logAnalysis/GetCServiceLogonResData\";\r\nimport { CashTypeEnum } from \"@/model/data/enums/CashTypeEnum\";\r\n\r\nimport MachineExceptionCard from \"./MachineExceptionCard.vue\";\r\nimport SensorCalibrationCard from \"./SensorCalibrationCard.vue\";\r\nimport ProcessedCashCard from \"./ProcessedCashCard.vue\";\r\nimport RejectCard from \"./RejectCard.vue\";\r\nimport CServiceLogonCard from \"./CServiceLogonCard.vue\";\r\n\r\nexport default Vue.extend({\r\n components: { MachineExceptionCard, SensorCalibrationCard, ProcessedCashCard, RejectCard, CServiceLogonCard },\r\n props: {\r\n machine: Object as PropType,\r\n installationName: String,\r\n startDateProps: {\r\n type: Date,\r\n default: null,\r\n },\r\n endDateProps: {\r\n type: Date,\r\n default: null,\r\n },\r\n hideDaysToogle: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n data() {\r\n return {\r\n startDate: null,\r\n endDate: null,\r\n nDays: 15,\r\n rejectList: new Array(),\r\n dateListString: [],\r\n processedCashList: new Array(),\r\n seriesPCTypeList: [],\r\n seriesPCTrendList: [],\r\n machineExceptionList: new Array(),\r\n daysButton: 1,\r\n loading: {\r\n reject: true,\r\n pc: true,\r\n sc: true,\r\n me: true,\r\n csl: true,\r\n },\r\n logIntervalString: i18n.t(\"logAnalysis.noData\"),\r\n CashTypeEnum,\r\n troubleshooting: null,\r\n unitLabelMap: null,\r\n componentLabelMap: null,\r\n imagesLegend: null,\r\n sensorCalibrationList: [],\r\n sensorsLabels: null,\r\n rejectCauseMap: null,\r\n rejectsFamilyMap: null,\r\n familyLabelMap: null,\r\n rejectPercentage: 0,\r\n cserviceLogonList: [],\r\n };\r\n },\r\n computed: {\r\n ...mapGetters([\"userDateFormat\"]),\r\n\r\n isDepositMachine() {\r\n if (this.machine && this.machine.model) {\r\n if (this.machine.model.match(/SDM (500.*|100.*|50[A-Za-z\\s]+|10[A-Za-z\\s]+)/g)) return true;\r\n }\r\n return false;\r\n },\r\n interventionsCount() {\r\n if (this.cserviceLogonList && this.cserviceLogonList.length)\r\n return this.cserviceLogonList.map((c) => moment(c.dateTime).format(\"YYYY-MM-DD\")).filter((v, i, a) => a.indexOf(v) === i).length;\r\n return 0;\r\n },\r\n },\r\n watch: {\r\n daysButton() {\r\n switch (this.daysButton) {\r\n case 0:\r\n this.nDays = 7;\r\n break;\r\n case 1:\r\n this.nDays = 15;\r\n break;\r\n case 2:\r\n this.nDays = 30;\r\n break;\r\n default:\r\n this.nDays = 15;\r\n }\r\n this.reset();\r\n this.getData();\r\n },\r\n machine() {\r\n this.reset();\r\n this.getData();\r\n },\r\n },\r\n created() {\r\n this.getData();\r\n },\r\n methods: {\r\n getData() {\r\n this.computeStartEndDate();\r\n this.getRejectData();\r\n this.getMachineExceptionData();\r\n this.getSensorsCalibration();\r\n this.getCServiceLogon();\r\n },\r\n reset() {\r\n this.startDate = null;\r\n this.endDate = null;\r\n this.rejectList = null;\r\n this.rejectCauseMap = null;\r\n this.rejectsFamilyMap = null;\r\n this.familyLabelMap = null;\r\n this.dateListString = [];\r\n this.processedCashList = null;\r\n this.seriesPCTypeList = [];\r\n this.seriesPCTrendList = [];\r\n this.machineExceptionList = null;\r\n this.loading = {\r\n reject: true,\r\n pc: true,\r\n sc: true,\r\n me: true,\r\n };\r\n this.logIntervalString = i18n.t(\"logAnalysis.noData\");\r\n this.sensorCalibrationList = [];\r\n this.sensorsLabels = null;\r\n this.rejectPercentage = 0;\r\n },\r\n\r\n computeStartEndDate() {\r\n if (this.endDateProps == null) {\r\n this.endDate = new Date();\r\n this.endDate = this.subtractDays(new Date(this.endDate.getFullYear(), this.endDate.getMonth(), this.endDate.getDate()), 1);\r\n this.endDate = new Date(Date.UTC(this.endDate.getFullYear(), this.endDate.getMonth(), this.endDate.getDate(), 23, 59, 59));\r\n } else this.endDate = this.endDateProps;\r\n if (this.startDateProps == null) {\r\n this.startDate = this.subtractDays(new Date(this.endDate.getFullYear(), this.endDate.getMonth(), this.endDate.getDate()), this.nDays);\r\n this.startDate = new Date(Date.UTC(this.startDate.getFullYear(), this.startDate.getMonth(), this.startDate.getDate(), 0, 0, 0));\r\n } else this.startDate = this.startDateProps;\r\n if (this.startDateProps != null && this.endDateProps != null) this.nDays = Math.ceil((this.endDate.getTime() - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n\r\n let dateList = [];\r\n for (let i = 0; i < this.nDays; i++) dateList.push(this.addDays(this.startDate, i));\r\n dateList.forEach((date) => {\r\n this.dateListString.push(moment(date).utc().format(this.userDateFormat));\r\n });\r\n },\r\n async getRejectData() {\r\n try {\r\n this.reqData = new GetMachineRejectsReqData(this.installationName, this.machine.serialNumber, this.startDate, this.endDate);\r\n let response: GetMachineRejectsResData = await new GetMachineRejectsCommand(this.reqData).execute();\r\n await this.getProcessedCashData();\r\n if (response.responseStatus == ApiResponseStatusEnum.Success && response.rejects && response.rejects.length > 0) {\r\n this.rejectList = response.rejects;\r\n this.rejectCauseMap = response.rejectsCause;\r\n this.rejectsFamilyMap = response.rejectsFamily;\r\n this.familyLabelMap = response.familyLabel;\r\n let totalReject = this.rejectList.map((r) => r.count).reduce((accumulator, curr) => accumulator + curr);\r\n let totalDepositedAndReject = this.processedCashList.map((pc) => pc.deposited).reduce((accumulator, curr) => accumulator + curr) + totalReject;\r\n this.rejectPercentage = (totalReject * 100) / totalDepositedAndReject;\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetMachineRejectsCommand request \", e);\r\n }\r\n this.loading.reject = false;\r\n this.loading.pc = false;\r\n },\r\n async getProcessedCashData() {\r\n try {\r\n this.reqData = new GetProcessedCashReqData(this.installationName, this.machine.serialNumber, this.startDate, this.endDate);\r\n let response: GetProcessedCashResData = await new GetProcessedCashCommand(this.reqData).execute();\r\n if (response.responseStatus == ApiResponseStatusEnum.Success && response.processedCash && response.processedCash.length > 0) {\r\n this.processedCashList = response.processedCash;\r\n this.logIntervalString = `${i18n.t(\"logAnalysis.dataAvailable\")} ${i18n.t(\"logAnalysis.from\")} ${moment(this.processedCashList[0].dateTime).format(\r\n this.userDateFormat\r\n )} ${i18n.t(\"logAnalysis.to\")} ${moment(this.processedCashList[this.processedCashList.length - 1].dateTime).format(this.userDateFormat)}`;\r\n\r\n let data = [0];\r\n let pcTrendList = [{ name: i18n.t(\"logAnalysis.deposited\"), data: [] }];\r\n if (!this.isDepositMachine) {\r\n data.push(0);\r\n pcTrendList.push({ name: i18n.t(\"logAnalysis.withdrawn\"), data: [] });\r\n }\r\n\r\n this.seriesPCTypeList = [{ name: this.machine.supportedCashType == 1 ? i18n.t(\"logAnalysis.pcBanknote\") : i18n.t(\"logAnalysis.pcCoin\"), data: data }];\r\n this.seriesPCTrendList = pcTrendList;\r\n this.seriesPCTrendList[0].data = new Array(this.nDays).fill(0);\r\n if (this.seriesPCTrendList.length > 1) this.seriesPCTrendList[1].data = new Array(this.nDays).fill(0);\r\n let dayIndex = null;\r\n let initialDate = this.processedCashList[0].dateTime;\r\n let finalDate = this.processedCashList[this.processedCashList.length - 1].dateTime;\r\n let exceptDayList = this.dateListString.slice(\r\n Math.floor((Date.UTC(initialDate.getFullYear(), initialDate.getMonth(), initialDate.getDate(), 0, 0, 0) - this.startDate.getTime()) / (1000 * 3600 * 24)),\r\n Math.floor((Date.UTC(finalDate.getFullYear(), finalDate.getMonth(), finalDate.getDate(), 0, 0, 0) - this.startDate.getTime()) / (1000 * 3600 * 24) + 1)\r\n );\r\n this.processedCashList.forEach((pc) => {\r\n this.seriesPCTypeList[0].data[0] += pc.deposited;\r\n if (!this.isDepositMachine) this.seriesPCTypeList[0].data[1] += pc.withdrawn;\r\n let utcDate = Date.UTC(pc.dateTime.getFullYear(), pc.dateTime.getMonth(), pc.dateTime.getDate(), 0, 0, 0);\r\n dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n this.seriesPCTrendList[0].data[dayIndex] = pc.deposited;\r\n if (!this.isDepositMachine) this.seriesPCTrendList[1].data[dayIndex] = pc.withdrawn;\r\n delete exceptDayList[\r\n Math.floor((utcDate - Date.UTC(initialDate.getFullYear(), initialDate.getMonth(), initialDate.getDate(), 0, 0, 0)) / (1000 * 3600 * 24))\r\n ];\r\n });\r\n if (exceptDayList && exceptDayList.filter((a) => a).length) {\r\n this.logIntervalString += `\\n ${i18n.t(\"logAnalysis.dataMissing\")}`;\r\n exceptDayList.forEach((date) => {\r\n this.logIntervalString += ` ${date},`;\r\n });\r\n this.logIntervalString = this.logIntervalString.slice(0, -1);\r\n }\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetProcessedCashCommand request \", e);\r\n }\r\n this.loading.pc = false;\r\n },\r\n async getMachineExceptionData() {\r\n try {\r\n this.reqData = new GetMachineExceptionsReqData(this.installationName, this.machine.serialNumber, this.startDate, this.endDate);\r\n let response: GetMachineExceptionsResData = await new GetMachineExceptionsCommand(this.reqData).execute();\r\n\r\n if (response.responseStatus == ApiResponseStatusEnum.Success && response.machineExceptions && response.machineExceptions.length > 0) {\r\n this.machineExceptionList = response.machineExceptions;\r\n this.troubleshooting = response.troubleshooting;\r\n this.componentLabelMap = response.componentLabelMap;\r\n this.unitLabelMap = response.unitLabelMap;\r\n this.imagesLegend = response.imagesLegend;\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetMachineExceptionsCommand request \", e);\r\n }\r\n this.loading.me = false;\r\n },\r\n async getSensorsCalibration() {\r\n try {\r\n this.reqData = new GetSensorsCalibrationReqData(this.installationName, this.machine.serialNumber, this.startDate, this.endDate);\r\n let response: GetSensorsCalibrationResData = await new GetSensorsCalibrationCommand(this.reqData).execute();\r\n\r\n if (response.responseStatus == ApiResponseStatusEnum.Success && response.sensorCalibration && response.sensorCalibration.length > 0) {\r\n this.sensorCalibrationList = response.sensorCalibration;\r\n this.sensorsLabels = response.sensorsLabels;\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetSensorsCalibrationCommand request \", e);\r\n }\r\n this.loading.sc = false;\r\n },\r\n async getCServiceLogon() {\r\n try {\r\n let response: GetCServiceLogonResData = await new GetCServiceLogonCommand(this.installationName, this.machine.serialNumber, this.startDate, this.endDate).execute();\r\n\r\n if (response.responseStatus == ApiResponseStatusEnum.Success && response.cserviceLogon && response.cserviceLogon.length > 0) {\r\n this.cserviceLogonList = response.cserviceLogon;\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetSensorsCalibrationCommand request \", e);\r\n }\r\n this.loading.csl = false;\r\n },\r\n addDays(date: Date, days: number) {\r\n let newDate = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()));\r\n newDate.setUTCDate(date.getDate() + days);\r\n return newDate;\r\n },\r\n subtractDays(date: Date, days: number) {\r\n let newDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()));\r\n newDate.setUTCDate(date.getDate() - days);\r\n return newDate;\r\n },\r\n setRowStyle() {\r\n return \"style-1\";\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MachineLogAnalysisCharts.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MachineLogAnalysisCharts.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MachineLogAnalysisCharts.vue?vue&type=template&id=20fb1247&\"\nimport script from \"./MachineLogAnalysisCharts.vue?vue&type=script&lang=ts&\"\nexport * from \"./MachineLogAnalysisCharts.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MachineLogAnalysisCharts.vue?vue&type=style&index=0&id=20fb1247&prod&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 null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VBtnToggle,VCol,VContainer,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VRow,VSkeletonLoader,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue, { PropType } from \"vue\";\r\n\r\n// Model\r\nimport { InstallationPredictedStatus } from \"@/model/data/predictiveMaintenance/InstallationPredictedStatus\";\r\nimport MachineLogAnalysisCharts from \"./MachineLogAnalysisCharts.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n installation: Object as PropType,\r\n startDate: {\r\n type: Date,\r\n default: null,\r\n },\r\n endDate: {\r\n type: Date,\r\n default: null,\r\n },\r\n hideDaysToogle: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n components: { MachineLogAnalysisCharts },\r\n computed: {\r\n availableMachines() {\r\n if (this.installation && this.installation.machines) return this.installation.machines.filter((m) => m.model != \"DropVault\");\r\n return [];\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstallationLogAnalysis.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstallationLogAnalysis.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InstallationLogAnalysis.vue?vue&type=template&id=585819cc&\"\nimport script from \"./InstallationLogAnalysis.vue?vue&type=script&lang=ts&\"\nexport * from \"./InstallationLogAnalysis.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCol,VContainer,VRow})\n","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n expansionPanel: InstanceType\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions') ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n","export enum LogsFamilyEnum {\r\n Application = 0,\r\n Machine = 1,\r\n}\r\n\r\nexport function logsFamilyEnumLabel(value: LogsFamilyEnum): string {\r\n switch (value) {\r\n case LogsFamilyEnum.Application:\r\n return \"downloadLogs.applicationLogs\";\r\n case LogsFamilyEnum.Machine:\r\n return \"downloadLogs.machinesLogs\";\r\n default:\r\n return \"common.unknown\";\r\n }\r\n}\r\n\r\nexport function getName(value: LogsFamilyEnum): string {\r\n switch (value) {\r\n case LogsFamilyEnum.Application:\r\n return \"application\";\r\n case LogsFamilyEnum.Machine:\r\n return \"machine\";\r\n default:\r\n return \"common.unknown\";\r\n }\r\n}\r\n","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType\ntype VExpansionPanelContentInstance = InstanceType\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n /* istanbul ignore else */\n if (this.content) this.content.isBooted = true\n this.$nextTick(() => this.$emit('change'))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-expansion-panel',\n class: this.classes,\n attrs: {\n 'aria-expanded': String(this.isActive),\n },\n }, getSlot(this))\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\",\"outlined\":\"\"}},[_c('v-simple-table',{attrs:{\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[(_vm.isCustomActionTable)?_c('tr',[_c('th',{attrs:{\"scope\":\"col\"}}),_c('th',{attrs:{\"scope\":\"col\"},domProps:{\"textContent\":_vm._s(_vm.$t('common.type'))}}),_c('th',{attrs:{\"scope\":\"col\"},domProps:{\"textContent\":_vm._s(_vm.$t('device_update_status.version'))}}),_c('th',{attrs:{\"scope\":\"col\"},domProps:{\"textContent\":_vm._s(_vm.$t('common.description'))}})]):_c('tr',[_c('th',{attrs:{\"scope\":\"col\"}}),_c('th',{attrs:{\"scope\":\"col\"},domProps:{\"textContent\":_vm._s(_vm.$t('common.name'))}}),_c('th',{attrs:{\"scope\":\"col\"},domProps:{\"textContent\":_vm._s(_vm.$t('device_update_status.version'))}})])]),_c('tbody',_vm._l((_vm.sws),function(sw,id){return _c('tr',{key:id},[_c('td',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_c('v-fa-icon',{attrs:{\"color\":_vm.getSoftwareColor(sw),\"icon\":_vm.getSoftwareIcon(sw),\"small\":\"\"}})],1)]}}],null,true)},[_c('span',{domProps:{\"textContent\":_vm._s(_vm.getSoftwareTooltipMessage(sw))}})])],1),(!_vm.isCustomActionTable)?_c('td',[_vm._v(\" \"+_vm._s(sw.updateType != _vm.UpdateTypeEnum.ThirdPartySoftware && sw.updateType != _vm.UpdateTypeEnum.Unknown ? _vm.$t(_vm.GetI18nStringFromUpdateType(sw.updateType)) : sw.name)+\" \")]):_c('td',[_vm._v(_vm._s(_vm.$t(\"enum.update_type.custom_action\")))]),_c('td',[_vm._v(_vm._s(sw.printableVersion))]),(_vm.isCustomActionTable)?_c('td',[_vm._v(_vm._s(sw.description))]):_vm._e()])}),0)]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { GetI18nStringFromUpdateType, UpdateTypeEnum } from \"@/model/data/enums/UpdateTypeEnum\";\r\nimport { UpdateVersionInfo } from \"@/model/data/updates/UpdateVersionInfo\";\r\nimport { VersionObfuscator } from \"@/model/data/updates/VersionObfuscator\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n UpdateTypeEnum,\r\n };\r\n },\r\n props: {\r\n sws: Array,\r\n asws: Array,\r\n isCustomActionTable: Boolean,\r\n },\r\n methods: {\r\n GetI18nStringFromUpdateType,\r\n\r\n findAvailableSoftwareNotAssociated(sw: UpdateVersionInfo): UpdateVersionInfo {\r\n return (this.asws as UpdateVersionInfo[]).find((c) => c.updateType == sw.updateType && c.version == sw.version);\r\n },\r\n\r\n getSoftwareColor(sw: UpdateVersionInfo): string {\r\n if (this.isCustomActionTable) return \"warning\";\r\n if (sw.isUpToDate) {\r\n if (this.findAvailableSoftwareNotAssociated(sw)) {\r\n return \"warning\";\r\n } else {\r\n return \"success\";\r\n }\r\n } else {\r\n return \"warning\";\r\n }\r\n },\r\n getSoftwareIcon(sw: UpdateVersionInfo): string {\r\n if (this.isCustomActionTable) {\r\n if (this.findAvailableSoftwareNotAssociated(sw)) return \"exclamation-triangle\";\r\n else return \"cloud-download-alt\";\r\n }\r\n if (sw.isUpToDate) {\r\n if (this.findAvailableSoftwareNotAssociated(sw)) {\r\n return \"exclamation-triangle\";\r\n } else {\r\n return \"check\";\r\n }\r\n } else {\r\n return \"cloud-download-alt\";\r\n }\r\n },\r\n getSoftwareTooltipMessage(sw: UpdateVersionInfo): string {\r\n let type = this.isCustomActionTable ? this.$t(\"enum.update_type.custom_action\") : this.$t(\"device_update_status.version\");\r\n if (this.isCustomActionTable) {\r\n const availableSw: UpdateVersionInfo = this.findAvailableSoftwareNotAssociated(sw);\r\n if (availableSw)\r\n return this.$t(\"device_update_status.available_version_not_associated\", { type: type, version: VersionObfuscator.obfuscate(availableSw.availableVersion) });\r\n else return this.$t(\"device_update_status.available_version_to_update\", { type: type, version: VersionObfuscator.obfuscate(sw.printableAvailableVersion) });\r\n }\r\n if (sw.isUpToDate) {\r\n const availableSw: UpdateVersionInfo = this.findAvailableSoftwareNotAssociated(sw);\r\n\r\n if (availableSw) {\r\n return this.$t(\"device_update_status.available_version_not_associated\", { type: type, version: VersionObfuscator.obfuscate(availableSw.availableVersion) });\r\n } else {\r\n return this.$t(\"device_update_status.up_to_date\");\r\n }\r\n } else {\r\n return this.$t(\"device_update_status.available_version_to_update\", { type: type, version: VersionObfuscator.obfuscate(sw.printableAvailableVersion) });\r\n }\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstalledSoftwaresTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstalledSoftwaresTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InstalledSoftwaresTable.vue?vue&type=template&id=40d8b068&\"\nimport script from \"./InstalledSoftwaresTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./InstalledSoftwaresTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCard,VSimpleTable,VTooltip})\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!./UpdateTypeFilter.vue?vue&type=style&index=0&id=72dac005&prod&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card',{staticClass:\"mt-3\"},[_c('v-toolbar',{staticClass:\"mb-4\"},[_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"filter\",\"medium\":\"\",\"color\":\"primary\"}}),_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"downloadLogs.filters\"))+\" \")])],1),_c('v-container',{ref:\"containerDownload\"},[_c('v-row',{staticClass:\"mx-3\",attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"auto\"}},[_c('v-radio-group',{attrs:{\"row\":\"\"},model:{value:(_vm.radioSelection),callback:function ($$v) {_vm.radioSelection=$$v},expression:\"radioSelection\"}},_vm._l((_vm.defaultDateRanges),function(d){return _c('v-radio',{key:d.id,staticClass:\"py-1\",attrs:{\"label\":_vm.$t(d.i18nLabel),\"value\":d.value},scopedSlots:_vm._u([(d.id == 'customDateRange')?{key:\"label\",fn:function(){return [_c('v-menu',{attrs:{\"close-on-content-click\":false,\"offset-y\":\"\",\"max-width\":290},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g({attrs:{\"value\":_vm.sortedDateRangeFormatted.join('~'),\"label\":_vm.$t('common.selectDateRange'),\"readonly\":\"\",\"error-messages\":_vm.errorMessage,\"disabled\":_vm.radioSelection != 3}},on))]}}],null,true)},[_c('v-date-picker',{attrs:{\"range\":\"\",\"scrollable\":\"\",\"no-title\":\"\",\"allowed-dates\":function (v) { return new Date() > new Date(v); }},model:{value:(_vm.dateRange),callback:function ($$v) {_vm.dateRange=$$v},expression:\"dateRange\"}})],1)]},proxy:true}:null],null,true)})}),1)],1),(_vm.containerWidth > 700)?_c('v-divider',{staticClass:\"mx-2\",attrs:{\"vertical\":\"\"}}):_vm._e(),_c('v-col',{staticClass:\"pt-0\",attrs:{\"cols\":\"12\",\"sm\":\"auto\"}},[_c('v-radio-group',{attrs:{\"row\":\"\"},model:{value:(_vm.logsTypeRadio),callback:function ($$v) {_vm.logsTypeRadio=$$v},expression:\"logsTypeRadio\"}},[_c('v-radio',{staticClass:\"py-1\",attrs:{\"label\":_vm.$t('downloadLogs.applicationLogs')}}),_c('v-radio',{staticClass:\"py-1\",attrs:{\"label\":_vm.$t('downloadLogs.machinesLogs')}})],1)],1)],1),_c('v-row',{staticClass:\"mx-3 mt-2\",attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"\",\"lg\":\"4\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":_vm.downloadBtnHintLabel != null || _vm.onDownloadLogsButton_loading || _vm.analysisLoading,\"block\":\"\"},on:{\"click\":function($event){return _vm.onDownloadLogsButton()}}},[(_vm.onDownloadLogsButton_loading)?_c('v-progress-circular',{staticClass:\"mr-3\",attrs:{\"indeterminate\":\"\",\"size\":24,\"width\":\"4\"}}):_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"download\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.download'))}})],1)],1),(_vm.logAnalysisEnabled)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"\",\"lg\":\"4\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":_vm.logsTypeRadio == 0 || _vm.downloadBtnHintLabel != null || _vm.onDownloadLogsButton_loading || _vm.analysisLoading,\"block\":\"\"},on:{\"click\":function($event){return _vm.sendRequestDownloadAndAnalyzeNow(false)}}},[(_vm.analysisLoading)?_c('v-progress-circular',{staticClass:\"mr-3\",attrs:{\"indeterminate\":\"\",\"size\":24,\"width\":\"4\"}}):_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"microscope\"}}),_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.downloadAndAnalyzeNow\")))])],1)],1):_vm._e()],1),_c('v-row',{staticClass:\"mt-2 mx-3\",attrs:{\"no-gutters\":\"\",\"justify\":\"center\"}},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"\",\"lg\":\"4\"}},[_c('span',{staticClass:\"ma-0 pa-0\",staticStyle:{\"color\":\"red\"},domProps:{\"textContent\":_vm._s(_vm.downloadBtnHintLabel)}})])],1)],1)],1),(_vm.showAlert)?_c('v-alert',{staticClass:\"my-3\",attrs:{\"dense\":\"\",\"text\":\"\",\"border\":\"left\",\"type\":_vm.alertType}},[_vm._v(\" \"+_vm._s(_vm.alertMessage)+\" \")]):_vm._e(),(_vm.downloadLogsProgress.installationName)?_c('DownloadLogsOnDemandProgressCard',{attrs:{\"downloadLogsProgress\":_vm.downloadLogsProgress}}):_vm._e(),(_vm.analysisLogsProgress.installationName)?_c('LogAnalysisOnDemandCard',{attrs:{\"analysisLogsProgress\":_vm.analysisLogsProgress,\"loading\":_vm.analysisLoading,\"error\":_vm.analysisError,\"licenseError\":_vm.analysisLicenseError,\"notSupportedError\":_vm.analysisNotSupportedError},on:{\"open-analysis\":function($event){_vm.showAnalyzeDialog = true}}}):_vm._e(),_c('v-dialog',{attrs:{\"width\":\"500\"},model:{value:(_vm.showOnDemandAlertDialog),callback:function ($$v) {_vm.showOnDemandAlertDialog=$$v},expression:\"showOnDemandAlertDialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"text-h5 grey lighten-2\"},[_c('v-fa-icon',{staticClass:\"mr-4\",attrs:{\"icon\":\"exclamation-triangle\",\"color\":\"error\",\"large\":\"\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('downloadLogs.onDemandConfirmationDialog_title'))}})],1),_c('v-card-text',{staticClass:\"mt-3 mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"downloadLogs.onDemandConfirmationDialog_text\"))+\". \"),_c('br'),(_vm.downloadOnlyDbEnabled)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"downloadLogs.downloadOnlyFromDbPrefix\"))+\" \"),_c('a',{staticStyle:{\"cursor\":\"pointer\",\"text-decoration\":\"underline\"},on:{\"click\":_vm.downloadOnlyFromDb}},[_vm._v(\" \"+_vm._s(_vm.$t(\"downloadLogs.downloadOnlyFromDb\"))+\" \")])]):_vm._e()]),(_vm.availableMachines.length > 0)?_c('v-card-text',{staticClass:\"mb-2 pb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"downloadLogs.selectMachines\"))+\" \")]):_vm._e(),_vm._l((_vm.availableMachines),function(machine){return _c('v-checkbox',{key:machine.serialNumber,staticClass:\"ml-12 mr-6 my-1 pa-0\",attrs:{\"value\":machine.serialNumber,\"label\":machine.model + ' (' + machine.serialNumber + ')',\"hide-details\":true},model:{value:(_vm.selectedMachineSNsForDownloadOnDemand),callback:function ($$v) {_vm.selectedMachineSNsForDownloadOnDemand=$$v},expression:\"selectedMachineSNsForDownloadOnDemand\"}})}),_c('v-divider',{staticClass:\"mt-5\"}),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"error\",\"text\":\"\"},on:{\"click\":function($event){_vm.showOnDemandAlertDialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.cancel\"))+\" \")]),_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":_vm.availableMachines.length > 1 && _vm.selectedMachineSNsForDownloadOnDemand.length < 1},on:{\"click\":function($event){return _vm.forceLogsDownloadOnDemand()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.confirm\"))+\" \")])],1)],2)],1),(_vm.analysisInstallation)?_c('v-dialog',{attrs:{\"fullscreen\":\"\",\"hide-overlay\":\"\",\"transition\":\"dialog-bottom-transition\"},model:{value:(_vm.showAnalyzeDialog),callback:function ($$v) {_vm.showAnalyzeDialog=$$v},expression:\"showAnalyzeDialog\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":_vm.MODULE_COLORS.PREDICTIVE_MAINTENANCE,\"elevation\":\"0\"}},[_c('v-toolbar-title',{staticClass:\"ml-2 text-h5\"},[_vm._v(_vm._s(_vm.analysisInstallation.name))]),_c('v-spacer'),_c('v-toolbar-items',[_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\"},on:{\"click\":function($event){_vm.showAnalyzeDialog = false}}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"times\"}})],1)],1)],1),_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',[_c('v-col',[_c('div',{class:_vm.$vuetify.breakpoint.smAndDown ? 'text-h4 text-center' : 'display-2 text-center',style:('color:' + _vm.MODULE_COLORS.PREDICTIVE_MAINTENANCE)},[(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-icon',{staticClass:\"mr-2\",attrs:{\"x-large\":\"\",\"color\":_vm.MODULE_COLORS.PREDICTIVE_MAINTENANCE}},[_vm._v(\" fa-microscope \")]):_vm._e(),_c('span',{staticStyle:{\"display\":\"inline-block\",\"vertical-align\":\"middle\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.pageTitle\"))+\" \")])],1)])],1)],1),_c('InstallationLogAnalysis',{key:_vm.rerender,attrs:{\"installation\":_vm.analysisInstallation,\"startDate\":_vm.analysisStartDate,\"endDate\":_vm.analysisEndDate,\"hideDaysToogle\":true}})],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"mt-4\"},[_c('v-toolbar',{staticClass:\"mb-4\"},[(_vm.progress != 100)?_c('v-progress-circular',{staticClass:\"mr-3\",attrs:{\"indeterminate\":\"\",\"size\":24,\"width\":\"4\",\"color\":\"primary\"}}):_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"check-circle\",\"color\":\"primary\"}}),_c('v-toolbar-title',{domProps:{\"textContent\":_vm._s(_vm.$t('downloadLogs.downloadProgress'))}})],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.installation'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.downloadLogsProgress.installationName)}})],1)],1),_c('v-list-item',{attrs:{\"two-line\":\"\"}},[(_vm.downloadLogsProgress.machineSerialNumbers)?_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.machinesSerialNumbers'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.downloadLogsProgress.machineSerialNumbers.join(', '))}})],1):_vm._e()],1)],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.startDate'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.moment(_vm.downloadLogsProgress.startDate).format(this.userDateFormat))}})],1),_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.endDate'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.moment(_vm.downloadLogsProgress.endDate).format(this.userDateFormat))}})],1)],1),_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('downloadLogs.logsType'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.$t(_vm.logsFamilyEnumLabel(_vm.downloadLogsProgress.logsFamily)))}})],1),_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.agent_version'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.downloadLogsProgress.agentVersion)}})],1)],1)],1)],1),(_vm.showProgressBar)?_c('v-card',{staticClass:\"px-12\",attrs:{\"flat\":\"\"}},[_c('v-progress-linear',{attrs:{\"value\":_vm.progress,\"height\":\"25\",\"color\":\"success\"}},[_c('strong',[_vm._v(_vm._s(_vm.progress)+\"%\")])])],1):_vm._e(),_c('v-card-text',{domProps:{\"textContent\":_vm._s(_vm.$t('downloadLogs.automaticDownload'))}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport moment from \"moment\";\r\nimport { logsFamilyEnumLabel, LogsFamilyEnum } from \"@/model/data/enums/LogsFamilyEnum\";\r\nimport { DownloadLogsProgress } from \"@/model/communication/downloadLogs/DownloadLogsProgress\";\r\nimport { mapGetters } from \"vuex\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return { moment, LogsFamilyEnum };\r\n },\r\n props: [\"downloadLogsProgress\"],\r\n computed: {\r\n ...mapGetters([\"userDateFormat\"]),\r\n progress() {\r\n if ((this.downloadLogsProgress as DownloadLogsProgress).isDownloadCompleted) return 100;\r\n else {\r\n var trueProgress = Math.ceil(\r\n ((this.downloadLogsProgress as DownloadLogsProgress).downloadedDays.length * 100) / (this.downloadLogsProgress as DownloadLogsProgress).daysToDownload.length\r\n );\r\n return trueProgress < 1 ? trueProgress : trueProgress - 1;\r\n }\r\n },\r\n showProgressBar() {\r\n if (this.downloadLogsProgress.logsFamily == LogsFamilyEnum.Machine) return false;\r\n if (this.downloadLogsProgress.agentVersion.startsWith(\"5\")) return false;\r\n return true;\r\n },\r\n },\r\n methods: {\r\n logsFamilyEnumLabel,\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadLogsOnDemandProgressCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadLogsOnDemandProgressCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DownloadLogsOnDemandProgressCard.vue?vue&type=template&id=43e0f685&\"\nimport script from \"./DownloadLogsOnDemandProgressCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./DownloadLogsOnDemandProgressCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VListItem,VListItemContent,VListItemSubtitle,VListItemTitle,VProgressCircular,VProgressLinear,VRow,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"mt-4\"},[_c('v-toolbar',{staticClass:\"mb-4\"},[(_vm.loading)?_c('v-progress-circular',{staticClass:\"mr-3\",attrs:{\"indeterminate\":\"\",\"size\":24,\"width\":\"4\",\"color\":\"primary\"}}):(!_vm.loading && !_vm.error && !_vm.notSupportedError)?_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"check-circle\",\"color\":\"primary\"}}):(!_vm.loading && (_vm.error || _vm.notSupportedError))?_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"exclamation-circle\",\"color\":\"primary\"}}):_vm._e(),_c('v-toolbar-title',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.analysisTask'))}})],1),(_vm.licenseError)?_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',[_c('v-col',[_c('v-alert',{staticClass:\"mb-0\",attrs:{\"outlined\":\"\",\"type\":\"warning\"}},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.analysisLicenseError\"))+\" \")])],1)],1)],1):_vm._e(),(_vm.error)?_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',[_c('v-col',[_c('v-alert',{staticClass:\"mb-0\",attrs:{\"outlined\":\"\",\"type\":\"error\"}},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.analysisError\"))+\" \")])],1)],1)],1):_vm._e(),(_vm.notSupportedError)?_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',[_c('v-col',[_c('v-alert',{staticClass:\"mb-0\",attrs:{\"outlined\":\"\",\"type\":\"warning\"}},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.analysisNotSupportedError\"))+\" \")])],1)],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.installation'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.analysisLogsProgress.installationName)}})],1)],1),_c('v-list-item',{attrs:{\"two-line\":\"\"}},[(_vm.analysisLogsProgress.machineSerialNumbers)?_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.machinesSerialNumbers'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.analysisLogsProgress.machineSerialNumbers.join(', '))}})],1):_vm._e()],1)],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.startDate'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.moment(_vm.analysisLogsProgress.startDate).utc().format(this.userDateFormat))}})],1),_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.endDate'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.moment(_vm.analysisLogsProgress.endDate).utc().format(this.userDateFormat))}})],1)],1)],1)],1),(!_vm.error)?_c('v-card-text',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.automaticAnalysis'))}}):_vm._e(),(!_vm.error)?_c('v-card-actions',[_c('v-btn',{attrs:{\"disabled\":_vm.loading,\"color\":\"success\",\"title\":_vm.$i18n.t('logAnalysis.click')},on:{\"click\":function($event){return _vm.$emit('open-analysis')}}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"search\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.openAnalysisDialog\"))+\" \")],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport moment from \"moment\";\r\nimport { mapGetters } from \"vuex\";\r\nimport { MODULE_COLORS } from \"@/utility/Constants\";\r\nimport VFaIcon from \"@/components/VFaIcon.vue\";\r\n\r\nexport default Vue.extend({\r\n components: { VFaIcon },\r\n data() {\r\n return { moment, MODULE_COLORS };\r\n },\r\n props: [\"analysisLogsProgress\", \"loading\", \"error\", \"licenseError\", \"notSupportedError\"],\r\n computed: {\r\n ...mapGetters([\"userDateFormat\"]),\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LogAnalysisOnDemandCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LogAnalysisOnDemandCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LogAnalysisOnDemandCard.vue?vue&type=template&id=5ed6faef&\"\nimport script from \"./LogAnalysisOnDemandCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./LogAnalysisOnDemandCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardText,VCol,VContainer,VListItem,VListItemContent,VListItemSubtitle,VListItemTitle,VProgressCircular,VRow,VToolbar,VToolbarTitle})\n","import { LogsFamilyEnum } from \"./LogsFamilyEnum\";\r\n\r\nexport enum LogsTypeEnum {\r\n Unknown = 0,\r\n Firmware = 1,\r\n AgentLogs = 2,\r\n CaosLogs = 3,\r\n CaosConnectorLogs = 4,\r\n CHWebApiLogs = 5,\r\n CHMonitorLogs = 6,\r\n}\r\n\r\nexport function getLogTypesFromLogsFamily(value: LogsFamilyEnum): LogsTypeEnum[] {\r\n var resultList = [];\r\n switch (value) {\r\n case LogsFamilyEnum.Application:\r\n resultList.push(LogsTypeEnum.AgentLogs);\r\n resultList.push(LogsTypeEnum.CaosLogs);\r\n resultList.push(LogsTypeEnum.CaosConnectorLogs);\r\n resultList.push(LogsTypeEnum.CHWebApiLogs);\r\n resultList.push(LogsTypeEnum.CHMonitorLogs);\r\n break;\r\n case LogsFamilyEnum.Machine:\r\n resultList.push(LogsTypeEnum.Firmware);\r\n break;\r\n }\r\n return resultList;\r\n}\r\n","import { AxiosResponse } from \"axios\";\r\nimport { API_PREFIX, API_VERSION, Command, HttpVerbType } from \"../Command\";\r\nimport { DownloadLogsReqData } from \"./DownloadLogsReqData\";\r\n\r\nconst ENDPOINT = \"/download_logs/if_exist\";\r\n\r\nexport class DownloadLogsIfExistCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n params: DownloadLogsReqData = null;\r\n\r\n constructor(params: DownloadLogsReqData) {\r\n super();\r\n this.responseType = \"blob\";\r\n this.params = params;\r\n }\r\n\r\n public execute(): Promise {\r\n // console.debug(\"GetInstallationsCommand.execute() with params: \", this.params);\r\n return this.executeCommand(this.params);\r\n }\r\n}\r\n","import { LogsFamilyEnum } from \"@/model/data/enums/LogsFamilyEnum\";\r\nimport { LogsTypeEnum } from \"@/model/data/enums/LogsTypeEnum\";\r\n\r\nexport class DownloadLogsReqData {\r\n installationName: string;\r\n machineSerialNumbers: string[] = [];\r\n startDate: Date;\r\n endDate: Date;\r\n daysToDownload: Date[] = [];\r\n logsFamily: LogsFamilyEnum;\r\n logTypes: LogsTypeEnum[] = [];\r\n ignoreMissingEntries: boolean = false;\r\n\r\n parse(obj: any) {\r\n if (obj.InstallationName) this.installationName = obj.InstallationName;\r\n\r\n if (obj.MachineSerialNumbers && obj.MachineSerialNumbers.length > 0) {\r\n obj.MachineSerialNumbers.forEach((m) => {\r\n this.machineSerialNumbers.push(m);\r\n });\r\n }\r\n\r\n if (obj.StartDate) this.startDate = obj.StartDate;\r\n if (obj.EndDate) this.endDate = obj.EndDate;\r\n\r\n if (obj.DaysToDownload && obj.DaysToDownload.length > 0)\r\n obj.DaysToDownload.forEach((element) => {\r\n this.daysToDownload.push(element);\r\n });\r\n\r\n if (obj.LogsFamily != null && Object.values(LogsFamilyEnum).includes(obj.LogsFamily)) this.logsFamily = obj.LogsFamily;\r\n\r\n if (obj.LogTypes && obj.LogTypes.length > 0) {\r\n obj.LogTypes.forEach((e) => {\r\n if (e != null && Object.values(LogsTypeEnum).includes(e)) this.logTypes.push(e);\r\n });\r\n }\r\n\r\n this.ignoreMissingEntries = obj.IgnoreMissingEntries;\r\n }\r\n}\r\n","import { DownloadLogsReqData } from \"./DownloadLogsReqData\";\r\n\r\nexport class DownloadLogsProgress extends DownloadLogsReqData {\r\n downloadedDays: Date[] = [];\r\n isDownloadCompleted: boolean = false;\r\n agentVersion: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public parse(obj: any) {\r\n super.parse(obj);\r\n\r\n if (obj.DownloadedDays && obj.DownloadedDays.length > 0)\r\n obj.DownloadedDays.forEach((element) => {\r\n this.downloadedDays.push(element);\r\n });\r\n\r\n if (obj.IsDownloadCompleted != null) this.isDownloadCompleted = obj.IsDownloadCompleted;\r\n\r\n if (obj.AgentVersion) this.agentVersion = obj.AgentVersion;\r\n }\r\n\r\n public getDownloadLogsReqData(): DownloadLogsReqData {\r\n var reqData: DownloadLogsReqData = new DownloadLogsReqData();\r\n reqData.installationName = this.installationName;\r\n reqData.machineSerialNumbers = this.machineSerialNumbers;\r\n reqData.startDate = this.startDate;\r\n reqData.endDate = this.endDate;\r\n reqData.logsFamily = this.logsFamily;\r\n reqData.logTypes = [];\r\n this.logTypes.forEach((t) => {\r\n reqData.logTypes.push(t);\r\n });\r\n return reqData;\r\n }\r\n}\r\n","import { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { DownloadLogsProgress } from \"./DownloadLogsProgress\";\r\n\r\nexport class DownloadLogsProgressResData extends ApiGenericResponse {\r\n downloadLogsProgress: DownloadLogsProgress;\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n this.downloadLogsProgress = null;\r\n if (response.data && response.data.Payload) {\r\n this.downloadLogsProgress = new DownloadLogsProgress();\r\n this.downloadLogsProgress.parse(response.data.Payload);\r\n }\r\n }\r\n}\r\n","import { API_PREFIX, API_VERSION, Command, HttpVerbType } from \"../Command\";\r\nimport { DownloadLogsProgressResData } from \"./DownloadLogsProgressResData\";\r\nimport { DownloadLogsReqData } from \"./DownloadLogsReqData\";\r\n\r\nconst ENDPOINT = \"/download_logs/force_on_demand\";\r\n\r\nexport class ForceLogsDownloadOnDemandCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n params: DownloadLogsReqData = null;\r\n\r\n constructor(params: DownloadLogsReqData) {\r\n super();\r\n this.params = params;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.params);\r\n return new DownloadLogsProgressResData(res);\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { DownloadLogsProgressResData } from \"./DownloadLogsProgressResData\";\r\n\r\nconst ENDPOINT = \"/download_logs/progress\";\r\n\r\nexport class GetDownloadOnDemandProgressCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: any;\r\n\r\n constructor(installationName: string) {\r\n super();\r\n this.params = { installationName: installationName };\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new DownloadLogsProgressResData(res);\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\n\r\nconst ENDPOINT = \"/log_analysis/analyze_now\";\r\n\r\nexport class AnalyzeLogNowCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: AnalyzeLogNowReqData = null;\r\n\r\n constructor(params: AnalyzeLogNowReqData) {\r\n super();\r\n this.params = Object.assign({}, params);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new ServiceResponseData(res);\r\n }\r\n}\r\n\r\nexport class AnalyzeLogNowReqData {\r\n installationName: string = null;\r\n startDate: Date;\r\n endDate: Date;\r\n constructor(installationName: string, startDate: Date, endDate: Date) {\r\n this.installationName = installationName;\r\n this.startDate = startDate;\r\n this.endDate = endDate;\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapGetters } from \"vuex\";\r\nimport * as moment from \"moment\";\r\nimport _ from \"lodash\";\r\nimport { AxiosResponse } from \"axios\";\r\n\r\n// Vue Components\r\nimport DownloadLogsOnDemandProgressCard from \"./DownloadLogsOnDemandProgressCard.vue\";\r\nimport InstallationLogAnalysis from \"@/views/App/PredictiveMaintenance/LogAnalysis/InstallationLogAnalysis.vue\";\r\nimport LogAnalysisOnDemandCard from \"@/views/App/PredictiveMaintenance/LogAnalysis/LogAnalysisOnDemandCard.vue\";\r\n\r\n// Model\r\nimport { DeviceTreeNodeTypeEnum } from \"@/model/data/deviceTree/DeviceTreeNodeTypeEnum\";\r\nimport { GetInstallationsReqData } from \"@/model/communication/device/GetInstallationsReqData\";\r\nimport { GetInstallationsResData } from \"@/model/communication/device/GetInstallationsResData\";\r\nimport { GetInstallationsCommand } from \"@/model/communication/device/GetInstallationsCommand\";\r\nimport { DownloadLogsIfExistCommand } from \"@/model/communication/downloadLogs/DownloadLogsIfExistCommand\";\r\nimport { ForceLogsDownloadOnDemandCommand } from \"@/model/communication/downloadLogs/ForceLogsDownloadOnDemandCommand\";\r\nimport { GetDownloadOnDemandProgressCommand } from \"@/model/communication/downloadLogs/GetDownloadOnDemandProgressCommand\";\r\nimport { DownloadLogsReqData } from \"@/model/communication/downloadLogs/DownloadLogsReqData\";\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { getLogTypesFromLogsFamily } from \"@/model/data/enums/LogsTypeEnum\";\r\nimport { getName, LogsFamilyEnum } from \"@/model/data/enums/LogsFamilyEnum\";\r\nimport { DownloadLogsProgressResData } from \"@/model/communication/downloadLogs/DownloadLogsProgressResData\";\r\nimport { CReqExecutionResultEnum } from \"@/model/communication/CReqExecutionResultEnum\";\r\nimport { UpdateTypeEnum } from \"@/model/data/enums/UpdateTypeEnum\";\r\nimport { MODULE_COLORS } from \"@/utility/Constants\";\r\nimport { AnalyzeLogNowCommand, AnalyzeLogNowReqData } from \"@/model/communication/logAnalysis/AnalyzeLogNowCommand\";\r\nimport { ServiceResponseData } from \"@/model/communication/ServiceResponseData\";\r\nimport { ClientPrivileges } from \"@/model/data/authentication/ClientPrivilegesEnum\";\r\n\r\nconst maxDaysRange = 30;\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DownloadLogsOnDemandProgressCard,\r\n InstallationLogAnalysis,\r\n LogAnalysisOnDemandCard,\r\n },\r\n data() {\r\n return {\r\n MODULE_COLORS,\r\n selectedInstallations: [],\r\n selectedMachineSNsForDownloadOnDemand: [],\r\n installation: null,\r\n dateRange: [],\r\n logsTypeRadio: LogsFamilyEnum.Application,\r\n showOnDemandAlertDialog: false,\r\n showAlert: false,\r\n alertType: \"info\",\r\n alertMessage: null,\r\n downloadLogsProgress: {},\r\n analysisLogsProgress: {},\r\n isPollingEnabled: false,\r\n onDownloadLogsButton_loading: false,\r\n showAnalyzeDialog: false,\r\n analysisInstallation: null,\r\n analysisStartDate: null,\r\n analysisEndDate: null,\r\n analyzeAfterDownload: false,\r\n analysisLoading: false,\r\n rerender: 0,\r\n analysisError: false,\r\n analysisNotSupportedError: false,\r\n analysisLicenseError: false,\r\n defaultDateRanges: [\r\n {\r\n id: \"today\",\r\n i18nLabel: \"common.today\",\r\n value: 0,\r\n },\r\n {\r\n id: \"lastWeek\",\r\n i18nLabel: \"common.lastWeek\",\r\n value: 1,\r\n },\r\n {\r\n id: \"last2Weeks\",\r\n i18nLabel: \"common.last2Weeks\",\r\n value: 2,\r\n },\r\n {\r\n id: \"customDateRange\",\r\n i18nLabel: \"\",\r\n value: 3,\r\n },\r\n ],\r\n radioSelection: 0,\r\n isMounted: false,\r\n };\r\n },\r\n props: [\"deviceTreeSelectedObjectItems\", \"installationsProp\"],\r\n computed: {\r\n ...mapGetters([\"userDateFormat\", \"authUserHasPrivilege\"]),\r\n\r\n isMobileDevice() {\r\n return this.$vuetify.breakpoint.smAndDown;\r\n },\r\n sortedDateRangeFormatted() {\r\n let formatted = [];\r\n if (this.sortedDateRange != null && this.sortedDateRange != undefined) this.sortedDateRange.forEach((dt) => formatted.push(moment(dt).format(this.userDateFormat)));\r\n return formatted;\r\n },\r\n sortedDateRange() {\r\n return _(this.dateRange).sort();\r\n },\r\n errorMessage() {\r\n let res = [];\r\n const date1 = new Date(this.dateRange[0]);\r\n const date2 = new Date(this.dateRange[1]);\r\n const diffTime = Math.abs((date2 as any) - (date1 as any));\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n if (diffDays >= maxDaysRange) res.push(this.$t(\"downloadLogs.maxDaysRangeError\", { maxDaysRange: maxDaysRange }));\r\n else if (this.dateRange.length != 2) res.push(this.$t(\"downloadLogs.selectionRangeError\"));\r\n return res;\r\n },\r\n downloadBtnHintLabel() {\r\n if (this.dateRange.length != 2) return this.$t(\"downloadLogs.selectionRangeError\");\r\n const date1 = new Date(this.dateRange[0]);\r\n const date2 = new Date(this.dateRange[1]);\r\n const diffTime = Math.abs((date2 as any) - (date1 as any));\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n if (diffDays >= maxDaysRange) return this.$t(\"downloadLogs.maxDaysRangeError\", { maxDaysRange: maxDaysRange });\r\n if (this.selectedInstallations != null) {\r\n if (this.selectedInstallations.length < 1) return this.$t(\"downloadLogs.selectOneInstallation\");\r\n else if (this.selectedInstallations.length == 1) return null;\r\n else if (this.selectedInstallations.length > 1) return this.$t(\"downloadLogs.selectOnlyOneInstallation\");\r\n else return null;\r\n } else return this.$t(\"downloadLogs.selectOneInstallation\");\r\n },\r\n availableMachines() {\r\n if (this.installation && this.logsTypeRadio == LogsFamilyEnum.Machine && this.installation.machines.length > 1)\r\n return this.installation.machines.filter((m) => m.model != \"DropVault\");\r\n else return [];\r\n },\r\n logAnalysisEnabled() {\r\n return this.authUserHasPrivilege(ClientPrivileges.LogAnalysis);\r\n },\r\n downloadOnlyDbEnabled() {\r\n if (this.dateRange[0] == moment().utc().format(\"YYYY-MM-DD\") && this.dateRange[1] == moment().utc().format(\"YYYY-MM-DD\")) return false;\r\n if (this.radioSelection != 0) return true;\r\n return false;\r\n },\r\n containerWidth() {\r\n if (this.isMounted && this.$refs && this.$refs.containerDownload) return this.$refs.containerDownload.clientWidth;\r\n return 0;\r\n },\r\n },\r\n watch: {\r\n installationsProp(newValue) {\r\n this.selectedInstallations = [];\r\n if (newValue) this.selectedInstallations = newValue.map((c) => c.name);\r\n },\r\n deviceTreeSelectedObjectItems(newValue) {\r\n this.selectedInstallations = [];\r\n if (newValue) {\r\n this.resetVariables();\r\n if (newValue.filter((c) => c.type == DeviceTreeNodeTypeEnum.Device).length > 0)\r\n this.selectedInstallations = newValue.filter((c) => c.type == DeviceTreeNodeTypeEnum.Device).map((c) => c.id);\r\n }\r\n },\r\n showAnalyzeDialog: {\r\n handler(val) {\r\n document.querySelector(\"html\").style.overflowY = val ? \"hidden\" : \"auto\";\r\n },\r\n immediate: true,\r\n },\r\n radioSelection: {\r\n handler(value) {\r\n let startDateTemp = null;\r\n let endDateTemp = moment().utc();\r\n\r\n switch (value) {\r\n case 0:\r\n startDateTemp = moment().utc();\r\n break;\r\n case 1:\r\n endDateTemp = moment().subtract(1, \"day\").utc();\r\n startDateTemp = moment().subtract(1, \"day\").subtract(1, \"weeks\").utc();\r\n break;\r\n case 2:\r\n endDateTemp = moment().subtract(1, \"day\").utc();\r\n startDateTemp = moment().subtract(1, \"day\").subtract(2, \"weeks\").utc();\r\n break;\r\n default:\r\n break;\r\n }\r\n if (value < 3) {\r\n this.dateRange.splice(0);\r\n this.dateRange.push(moment(startDateTemp).format(\"YYYY-MM-DD\"), moment(endDateTemp).format(\"YYYY-MM-DD\"));\r\n }\r\n },\r\n immediate: true,\r\n },\r\n },\r\n methods: {\r\n // metodi per l'interfaccia\r\n stopPolling() {\r\n this.isPollingEnabled = false;\r\n },\r\n resetVariables() {\r\n this.showAlert = false;\r\n this.stopPolling();\r\n this.downloadLogsProgress = {};\r\n this.analysisLogsProgress = {};\r\n this.analysisLoading = false;\r\n this.onDownloadLogsButton_loading = false;\r\n },\r\n showGenericErrorAlert() {\r\n this.alertMessage = this.$t(\"downloadLogs.serverError\");\r\n this.alertType = \"error\";\r\n this.showAlert = true;\r\n },\r\n // metodi con richieste al server\r\n async sendRequestDownloadAndAnalyzeNow(fromForce) {\r\n try {\r\n this.analysisStartDate = new Date(this.sortedDateRange.at(0));\r\n this.analysisStartDate = new Date(Date.UTC(this.analysisStartDate.getFullYear(), this.analysisStartDate.getMonth(), this.analysisStartDate.getDate(), 0, 0, 0));\r\n this.analysisEndDate = new Date(this.sortedDateRange.at(1));\r\n this.analysisEndDate = new Date(Date.UTC(this.analysisEndDate.getFullYear(), this.analysisEndDate.getMonth(), this.analysisEndDate.getDate(), 23, 59, 59));\r\n\r\n if (!fromForce) await this.onDownloadLogsButton();\r\n if (this.showOnDemandAlertDialog) {\r\n this.analyzeAfterDownload = true;\r\n return;\r\n }\r\n this.analysisError = false;\r\n this.analysisLicenseError = false;\r\n this.analysisNotSupportedError = false;\r\n this.analysisInstallation = this.installation;\r\n\r\n this.analysisLogsProgress.startDate = this.analysisStartDate;\r\n this.analysisLogsProgress.endDate = this.analysisEndDate;\r\n this.analysisLogsProgress.installationName = this.analysisInstallation.name;\r\n this.analysisLogsProgress.machineSerialNumbers = this.analysisInstallation.machines.map((m) => m.serialNumber);\r\n\r\n this.analysisLoading = true;\r\n let reqData: AnalyzeLogNowReqData = new AnalyzeLogNowReqData(this.analysisInstallation.name, this.analysisStartDate, this.analysisEndDate);\r\n let res: ServiceResponseData = await new AnalyzeLogNowCommand(reqData).execute();\r\n if (res.message == CReqExecutionResultEnum.InvalidRequest) {\r\n this.analysisLicenseError = true;\r\n let dateOffset = (24 * 60 * 60 * 5 - 1) * 1000;\r\n this.analysisStartDate.setTime(this.analysisEndDate.getTime() - dateOffset);\r\n } else if (res.message == CReqExecutionResultEnum.ServerError) this.analysisError = true;\r\n else if (res.message == CReqExecutionResultEnum.OperationNotAvailable) this.analysisNotSupportedError = true;\r\n this.analysisLoading = false;\r\n this.rerender += 1;\r\n this.analyzeAfterDownload = false;\r\n } catch (error) {\r\n console.error(\"Error in get installations: \", error);\r\n this.showGenericErrorAlert();\r\n this.analysisLoading = false;\r\n return;\r\n }\r\n },\r\n createDownloadLogsReqData(ignoreMissingEntries: boolean = false) {\r\n let reqData: DownloadLogsReqData = new DownloadLogsReqData();\r\n reqData.installationName = this.selectedInstallations.at(0);\r\n if (this.selectedMachineSNsForDownloadOnDemand.length > 0) reqData.machineSerialNumbers = this.selectedMachineSNsForDownloadOnDemand;\r\n else if (this.installation.machines.map((m) => m.serialNumber) != null)\r\n this.installation.machines\r\n .map((m) => m.serialNumber)\r\n .forEach((sn) => {\r\n reqData.machineSerialNumbers.push(sn);\r\n });\r\n reqData.startDate = new Date(this.sortedDateRange.at(0));\r\n reqData.endDate = new Date(this.sortedDateRange.at(1));\r\n reqData.logsFamily = this.logsTypeRadio as LogsFamilyEnum;\r\n reqData.logTypes = getLogTypesFromLogsFamily(this.logsTypeRadio as LogsFamilyEnum);\r\n reqData.ignoreMissingEntries = ignoreMissingEntries;\r\n return reqData;\r\n },\r\n async onDownloadLogsButton() {\r\n try {\r\n this.onDownloadLogsButton_loading = true;\r\n this.selectedMachineSNsForDownloadOnDemand = [];\r\n this.resetVariables();\r\n\r\n // recupero le informazioni per l'installazione selezionata (se è diversa da quella che ho in memoria)\r\n try {\r\n if (this.installation == null || (this.installation != null && this.installation.name != this.selectedInstallations.at(0))) {\r\n let installationNames = [];\r\n installationNames.push(this.selectedInstallations.at(0));\r\n let res: GetInstallationsResData = await new GetInstallationsCommand(new GetInstallationsReqData(installationNames)).execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success)\r\n if (Array.isArray(res.installations) && res.installations.length > 0) this.installation = res.installations[0];\r\n }\r\n } catch (error) {\r\n console.error(\"Error in get installations: \", error);\r\n this.showGenericErrorAlert();\r\n this.onDownloadLogsButton_loading = false;\r\n return;\r\n }\r\n\r\n if (this.installation.installedSoftwares.filter((s) => s.updateType == UpdateTypeEnum.Agent).length > 0)\r\n if (this.installation.installedSoftwares.filter((s) => s.updateType == UpdateTypeEnum.Agent)[0].version.startsWith(\"5\"))\r\n if (this.logsTypeRadio == LogsFamilyEnum.Application) {\r\n this.alertMessage = this.$t(\"downloadLogs.applicationLogsNotAvailableForAgent5\");\r\n this.alertType = \"warning\";\r\n this.showAlert = true;\r\n this.onDownloadLogsButton_loading = false;\r\n return;\r\n }\r\n\r\n // se sto richiedendo log applicativi o log per la giornata odierna (macchina o applicativi), allora verranno chiesti on demand\r\n if (this.logsTypeRadio == LogsFamilyEnum.Application || this.sortedDateRange.at(1) == moment(new Date()).format(\"YYYY-MM-DD\")) {\r\n this.showOnDemandAlertDialog = true;\r\n } else {\r\n // altrimenti controllo sul db, se ci sono li scarico, altrimenti eventulamente li scaricherò on demand\r\n let resStatus = await this.downloadLogsIfExist(null);\r\n if (resStatus == 204) this.showOnDemandAlertDialog = true;\r\n if (this.analyzeAfterDownload && !this.showAlert) {\r\n this.sendRequestDownloadAndAnalyzeNow(true);\r\n }\r\n }\r\n this.onDownloadLogsButton_loading = false;\r\n } catch (error) {\r\n console.error(\"Error in onDownloadLogsButton(): \", error);\r\n this.onDownloadLogsButton_loading = false;\r\n }\r\n },\r\n async downloadLogsIfExist(reqData: DownloadLogsReqData, ignoreMissingEntries: boolean = false) {\r\n try {\r\n this.onDownloadLogsButton_loading = true;\r\n if (reqData == null) reqData = this.createDownloadLogsReqData(ignoreMissingEntries);\r\n let res: AxiosResponse = await new DownloadLogsIfExistCommand(reqData).execute();\r\n if (res.status == 200) {\r\n let now: Date = new Date();\r\n let formattedDate = moment(now).format(\"YYYY-MM-DD_HHmmss\");\r\n let fileName = formattedDate + \"_\" + reqData.installationName + \"_\" + getName(reqData.logsFamily) + \".zip\";\r\n let fileLink = document.createElement(\"a\");\r\n fileLink.href = window.URL.createObjectURL(res.data as Blob);\r\n fileLink.setAttribute(\"download\", fileName);\r\n document.body.appendChild(fileLink);\r\n fileLink.click();\r\n }\r\n this.onDownloadLogsButton_loading = false;\r\n return res.status;\r\n } catch (error) {\r\n console.error(\"downloadLogsIfExist(): \", error);\r\n this.onDownloadLogsButton_loading = false;\r\n return 0;\r\n }\r\n },\r\n async forceLogsDownloadOnDemand() {\r\n this.onDownloadLogsButton_loading = true;\r\n try {\r\n let reqData: DownloadLogsReqData = this.createDownloadLogsReqData();\r\n let res: DownloadLogsProgressResData = await new ForceLogsDownloadOnDemandCommand(reqData).execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n if (res.message) {\r\n switch (res.message) {\r\n case CReqExecutionResultEnum.AgentOffline:\r\n this.alertMessage = this.$t(\"downloadLogs.agentOfflineForInstallation\");\r\n this.alertType = \"warning\";\r\n this.showAlert = true;\r\n break;\r\n case CReqExecutionResultEnum.AgentNotInstalled:\r\n this.alertMessage = this.$t(\"downloadLogs.agentNotInstalled\");\r\n this.alertType = \"error\";\r\n this.showAlert = true;\r\n break;\r\n case CReqExecutionResultEnum.DeviceLocked:\r\n this.alertMessage = this.$t(\"downloadLogs.agentLocked\");\r\n this.alertType = \"warning\";\r\n this.showAlert = true;\r\n break;\r\n case CReqExecutionResultEnum.OperationNotAvailable:\r\n this.alertMessage = this.$t(\"downloadLogs.operationNotAvailable\");\r\n this.alertType = \"info\";\r\n this.showAlert = true;\r\n this.startProgressPolling(reqData.installationName);\r\n break;\r\n case CReqExecutionResultEnum.ServerError:\r\n this.showGenericErrorAlert();\r\n break;\r\n default:\r\n break;\r\n }\r\n this.onDownloadLogsButton_loading = false;\r\n } else {\r\n this.startProgressPolling(reqData.installationName);\r\n }\r\n } else {\r\n console.error(\"RES: \", res);\r\n this.onDownloadLogsButton_loading = false;\r\n }\r\n } catch (error) {\r\n console.error(\"forceLogsDownloadOnDemand(): \", error);\r\n this.onDownloadLogsButton_loading = false;\r\n }\r\n this.showOnDemandAlertDialog = false;\r\n this.selectedMachineSNsForDownloadOnDemand = [];\r\n },\r\n async startProgressPolling(installationName: string) {\r\n console.log(\"START PROGRESS POLLING for installation: \", installationName);\r\n this.isPollingEnabled = true;\r\n let res: DownloadLogsProgressResData;\r\n while (this.isPollingEnabled) {\r\n try {\r\n res = await new GetDownloadOnDemandProgressCommand(installationName).execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.downloadLogsProgress = res.downloadLogsProgress;\r\n // se lo scaricamento on demand ha finito, scarico i log dal database\r\n if (res.downloadLogsProgress.isDownloadCompleted) {\r\n let request: DownloadLogsReqData = res.downloadLogsProgress.getDownloadLogsReqData();\r\n request.ignoreMissingEntries = true; // prendo giù tutto quello che l'agent è riuscito a scaricare\r\n this.stopPolling();\r\n let resStatus = await this.downloadLogsIfExist(request);\r\n if (resStatus == 204) {\r\n this.alertMessage = this.$t(\"downloadLogs.somethingWrong\");\r\n this.alertType = \"warning\";\r\n this.showAlert = true;\r\n }\r\n this.onDownloadLogsButton_loading = false;\r\n if (this.analyzeAfterDownload && (!this.showAlert || (this.showAlert && this.alertType == \"info\"))) {\r\n this.sendRequestDownloadAndAnalyzeNow(true);\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"Errors GetDownloadOnDemandProgressCommand(): \", error);\r\n this.stopPolling();\r\n }\r\n\r\n let timeout = 1000;\r\n if (res.downloadLogsProgress.logsFamily == LogsFamilyEnum.Machine) timeout = 10000;\r\n if (res.downloadLogsProgress.agentVersion.startsWith(\"5\")) timeout = 10000;\r\n\r\n await new Promise((f) => setTimeout(f, timeout));\r\n }\r\n },\r\n downloadOnlyFromDb() {\r\n this.downloadLogsIfExist(null, true);\r\n this.showOnDemandAlertDialog = false;\r\n },\r\n },\r\n async mounted() {\r\n this.dateRange = [moment(new Date()).format(\"YYYY-MM-DD\"), moment(new Date()).format(\"YYYY-MM-DD\")];\r\n if (this.installationsProp) this.selectedInstallations = this.installationsProp.map((c) => c.name);\r\n this.isMounted = true;\r\n },\r\n beforeDestroy() {\r\n document.querySelector(\"html\").style.overflowY = \"auto\";\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainSection.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainSection.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MainSection.vue?vue&type=template&id=1b3461d0&\"\nimport script from \"./MainSection.vue?vue&type=script&lang=ts&\"\nexport * from \"./MainSection.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardText,VCardTitle,VCheckbox,VCol,VContainer,VDatePicker,VDialog,VDivider,VIcon,VMenu,VProgressCircular,VRadio,VRadioGroup,VRow,VSpacer,VTextField,VToolbar,VToolbarItems,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.installation)?_c('v-card',{staticClass:\"px-6\",attrs:{\"flat\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"align-self\":\"center\"}},[_c('v-card-subtitle',{staticClass:\"pb-0\"},[_c('InstallationTreePath',{attrs:{\"installationName\":_vm.installation.name,\"showInstallationName\":false}})],1),_c('v-card-title',{staticClass:\"pt-0 text-h4\"},[_vm._v(\" \"+_vm._s(_vm.installation.name)+\" \")])],1),(!_vm.isOperationsBtnNotAvailable)?_c('v-col',{staticClass:\"py-1 mb-1\",attrs:{\"cols\":\"auto\",\"align-self\":\"end\"}},[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.showSettingsDialog = !_vm.showSettingsDialog}}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"cogs\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"common.operations\"))+\" \")],1)],1):_vm._e()],1),_c('v-divider',{staticClass:\"mb-6\"}),_c('StatusAndUpdatesSection',{attrs:{\"installation\":_vm.installation,\"installationStatus\":_vm.installationStatus,\"installationUpdate\":_vm.installationUpdate,\"installationBranchMovingList\":_vm.installationBranchMovingList,\"showBranchHistoryBtn\":_vm.installationBranchMovingList.length > 0}}),_c('v-dialog',{attrs:{\"scrollable\":\"\",\"width\":\"80%\",\"transition\":\"expand-transition\"},model:{value:(_vm.showSettingsDialog),callback:function ($$v) {_vm.showSettingsDialog=$$v},expression:\"showSettingsDialog\"}},[_c('BulkUpdatesWizard',{attrs:{\"installations\":_vm.installationUpdate ? [_vm.installationUpdate] : [_vm.installation],\"height\":_vm.windowHeight * 0.9},on:{\"data-reload\":function($event){return _vm.reload()},\"close\":function($event){_vm.showSettingsDialog = false}}})],1)],1):_c('v-card',{attrs:{\"flat\":\"\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Routing\r\nimport { RawLocation } from \"vue-router\";\r\nimport router from \"@/router\";\r\nimport * as routes from \"@/router/routes\";\r\n\r\n// Vuex\r\nimport { mapState } from \"vuex\";\r\nimport { RootState } from \"@/store\";\r\n\r\n// Components\r\nimport VFaIcon from \"@/components/VFaIcon.vue\";\r\nimport StatusAndUpdatesSection from \"./StatusAndUpdatesSection.vue\";\r\nimport BulkUpdatesWizard from \"@/views/App/ServiceAndUpdates/UpdatesManagement/BulkUpdatesWizard/index.vue\";\r\nimport InstallationTreePath from \"@/components/InstallationTreePath.vue\";\r\n\r\n// Model\r\nimport _ from \"lodash\";\r\nimport { MODULE_COLORS } from \"@/utility/Constants\";\r\nimport { GetInstallationsReqData } from \"@/model/communication/device/GetInstallationsReqData\";\r\nimport { GetInstallationsResData } from \"@/model/communication/device/GetInstallationsResData\";\r\nimport { GetInstallationsCommand } from \"@/model/communication/device/GetInstallationsCommand\";\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { FetchInstallationsStatusResponse } from \"@/model/communication/status/FetchInstallationsStatusResponse\";\r\nimport { FetchInstallationsStatusCommand, GetDevicesStatusReqData } from \"@/model/communication/status/FetchInstallationsStatusCommand\";\r\nimport { FetchInstallationUpdatesStatusResponse } from \"@/model/communication/updatesStatus/FetchInstallationUpdatesStatusResponse\";\r\nimport {\r\n FetchInstallationsUpdatesStatusRequestData,\r\n GetServerFetchInstallationsUpdatesStatusReqData,\r\n} from \"@/model/communication/updatesStatus/FetchInstallationsUpdatesStatusRequestData\";\r\nimport { FetchInstallationUpdatesStatusCommand } from \"@/model/communication/updatesStatus/FetchInstallationUpdatesStatusCommand\";\r\nimport { GetInstallationBranchHistoryCommand } from \"@/model/communication/branch/GetInstallationBranchHistoryCommand\";\r\nimport { ClientUser } from \"@/model/data/authentication/ClientUser\";\r\nimport { ClientPrivileges } from \"@/model/data/authentication/ClientPrivilegesEnum\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n VFaIcon,\r\n StatusAndUpdatesSection,\r\n BulkUpdatesWizard,\r\n InstallationTreePath,\r\n },\r\n data() {\r\n return {\r\n MODULE_COLORS,\r\n installationName: \"\",\r\n installation: null,\r\n installationStatus: null,\r\n installationUpdate: null,\r\n installationBranchMovingList: [],\r\n windowHeight: window.innerHeight,\r\n showSettingsDialog: false,\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n authUser: (state: RootState) => state.authMod.currentUser,\r\n }),\r\n\r\n isOperationsBtnNotAvailable() {\r\n // se non ho nessuno dei seguenti privilegi allora disabilito il button delle operazioni\r\n if ((this.authUser as ClientUser).profile.privileges.and(ClientPrivileges.UpdatesManagement) == ClientPrivileges.UpdatesManagement) return false;\r\n if ((this.authUser as ClientUser).profile.privileges.and(ClientPrivileges.PackagesManagement) == ClientPrivileges.PackagesManagement) return false;\r\n if ((this.authUser as ClientUser).profile.privileges.and(ClientPrivileges.DevicesManagement) == ClientPrivileges.DevicesManagement) return false;\r\n if ((this.authUser as ClientUser).profile.privileges.and(ClientPrivileges.DownloadLogs) == ClientPrivileges.DownloadLogs) return false;\r\n return true;\r\n },\r\n },\r\n watch: {\r\n installationName() {\r\n this.reload();\r\n this.getInstallationBranchMovingList();\r\n },\r\n\r\n $route() {\r\n this.installationName = this.$route.params.installationName;\r\n },\r\n },\r\n methods: {\r\n reload() {\r\n this.getInstallationInfo();\r\n this.getInstallationStatus();\r\n this.getInstallationUpdate();\r\n },\r\n\r\n async getInstallationInfo() {\r\n try {\r\n let installationNames = [];\r\n installationNames.push(this.installationName);\r\n let res: GetInstallationsResData = await new GetInstallationsCommand(new GetInstallationsReqData(installationNames)).execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n if (Array.isArray(res.installations) && res.installations.length > 0) this.installation = res.installations[0];\r\n else {\r\n let location: RawLocation = {\r\n path: routes.Root,\r\n };\r\n router.replace(location);\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"Error in get installations: \", error);\r\n }\r\n },\r\n\r\n async getInstallationStatus() {\r\n try {\r\n let req: GetDevicesStatusReqData = new GetDevicesStatusReqData();\r\n req.installationNames = [];\r\n req.installationNames.push(this.installationName);\r\n let response: FetchInstallationsStatusResponse = await new FetchInstallationsStatusCommand(req).execute();\r\n\r\n if (response.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.installationStatus = response.installationsList[0];\r\n }\r\n } catch (e) {\r\n console.error(\"Something went wrong sending getInstallationStatus request \", e);\r\n }\r\n },\r\n\r\n async getInstallationUpdate() {\r\n try {\r\n let req: FetchInstallationsUpdatesStatusRequestData = new FetchInstallationsUpdatesStatusRequestData();\r\n req.installationNames = [];\r\n req.installationNames.push(this.installationName);\r\n let reqToServer = GetServerFetchInstallationsUpdatesStatusReqData(req);\r\n let response: FetchInstallationUpdatesStatusResponse = await new FetchInstallationUpdatesStatusCommand(reqToServer).execute();\r\n\r\n if (response.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.installationUpdate = response.installationsList[0];\r\n }\r\n } catch (e) {\r\n console.error(\"Something went wrong sending getInstallationUpdate request \", e);\r\n }\r\n },\r\n\r\n async getInstallationBranchMovingList() {\r\n try {\r\n this.installationBranchMovingList = [];\r\n let res = await new GetInstallationBranchHistoryCommand(this.installationName).execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.installationBranchMovingList = _.orderBy(res.installationBranchMovingList, [\"movingDateTime\"], [\"desc\"]);\r\n } else console.error(\"Error executing getInstallationBranchMovingList\");\r\n } catch (e) {\r\n console.error(\"Something went wrong sending getInstallationBranchMovingList request \", e);\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.installationName = this.$route.params.installationName;\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-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--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-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=7fc9dcde&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardSubtitle,VCardTitle,VCol,VDialog,VDivider,VRow})\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n"],"sourceRoot":""}