{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-timestamp/voyage-vessel-event-timestamp.js","webpack:///./src/assets/images/status/observe.png","webpack:///./src/Scripts/components/vessel-settings/general-settings/general-settings.html","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-name/vessel-access-group-name.html","webpack:///./src/assets/images/widgets/performance-status-widget-illustration-1.png","webpack:///./src/Scripts/components/geo-coordinates/geo-coordinates.html","webpack:///./src/Scripts/bindings/fileUpload.js","webpack:///./src/Scripts/bindings/draggableFile.js","webpack:///./src/Scripts/viewModels/vesselFiles/file.js","webpack:///./src/Scripts/viewModels/vesselFiles/folder.js","webpack:///./src/Scripts/components/vessel-files/vessel-files.js","webpack:///./src/store/index.ts","webpack:///./src/Scripts/components/emission-report/departure-list/departure-list-item/departure-list-item.html","webpack:///./src/components/widgets/TimeSpanDialog.vue?241c","webpack:///./src/components/widgets/TimeSpanDialog.vue","webpack:///./src/components/widgets/TimeSpanDialog.vue?d98a","webpack:///./src/components/widgets/TimeSpanDialog.vue?35c8","webpack:///./src/Scripts/viewModels/user/user.js","webpack:///./src/Scripts/viewModels/user/userList.js","webpack:///./src/Scripts/components/profile/users/users.js","webpack:///./src/utilities/utilities.ts","webpack:///./src/Scripts/clients/emission-report-vessel-events-client.js","webpack:///./src/Scripts/clients/performance-status-widget-client.js","webpack:///./src/store/clients/PerformanceStatusWidget.module.ts","webpack:///./src/Scripts/components/fuel-tank-management/ft-soundings/ft-soundings.html","webpack:///./src/Scripts/bindings/vesselFilesSort.js","webpack:///./src/Scripts/utilities/htmlencode-helper.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels.js","webpack:///./src/Scripts/utilities/log-variable-helper.js","webpack:///./src/services/AuthService.ts","webpack:///./src/store/clients/Auth.module.ts","webpack:///./src/Scripts/components/long-trend-config/long-trend-config.js","webpack:///./src/Scripts/components/vessel-administration/vessel-admin-table/vessel-admin-table.html","webpack:///./src/Scripts/components/flow-meter-management/fm-operations/fm-operations.html","webpack:///./src/Scripts/clients/incidents-client.js","webpack:///./src/Scripts/clients/notification-conditions-client.js","webpack:///./src/store/clients/Incidents.module.ts","webpack:///./src/Scripts/clients/cargo-units-client.js","webpack:///./src/Scripts/clients/log-data-client.js","webpack:///./src/Scripts/clients/vessel-events-client.js","webpack:///./src/assets/images/loading.gif","webpack:///./src/Scripts/viewModels/emission-report/voyageVesselEventCargoDetail.js","webpack:///./src/Scripts/clients/vessels-administrations-client.js","webpack:///./src/Scripts/components/curves/curve-prediction-table/curve-prediction-table.html","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details/compare-vessels-long-trends-details.html","webpack:///./src/store/clients/VesselAccessGroups.module.ts","webpack:///./src/assets/images/kognifai/help/help-preset.webp","webpack:///./src/Scripts/components/fuel-tank-management/ft-operations/ft-operation/ft-operation.html","webpack:///./src/Scripts/components/emission-report/voyage/voyage-chart/voyage-chart.html","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-distance/voyage-vessel-event-distance.html","webpack:///./src/views/account/Login.vue?24bd","webpack:///./src/store/clients/LogVariables.module.ts","webpack:///./src/Scripts/clients/dashboard-client.js","webpack:///./src/store/clients/Dashboard.module.ts","webpack:///./src/Scripts/clients/notification-channels-client.js","webpack:///./src/store/clients/Channels.module.ts","webpack:///./src/Scripts/components/data-import/import-details/import-details.html","webpack:///./src/Scripts/utilities/string-helper.js","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumptions.html","webpack:///./src/Scripts/clients/data-quality-client.js","webpack:///./src/store/clients/DataQuality.module.ts","webpack:///./src/assets/images/widgets/fouling-overview-widget-illustration.png","webpack:///./src/store/clients/MapWidget.module.ts","webpack:///./src/assets/images/eventicon/info-ikon.png","webpack:///./src/Scripts/components/vessel-administration/assign-vessel/assign-vessel.html","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table/compare-vessels-long-trends-details-table.html","webpack:///./src/Scripts/clients/cii-client.js","webpack:///./src/store/clients/Cii.module.ts","webpack:///./src/Scripts/components/company/company-manager/company-manager.html","webpack:///./src/Scripts/components/fuel-tank-management/ft-soundings/ft-sounding/ft-sounding.html","webpack:///./src/assets/images/vessels/red.png","webpack:///./src/Scripts/components/vessel-performance-status-item/vessel-performance-status-item.html","webpack:///./src/Scripts/utilities/url-helper.js","webpack:///./src/Scripts/clients/long-trends-client.js","webpack:///./src/Scripts/components/profile/user-api-key/user-api-key.html","webpack:///./src/Scripts/components/vessel-settings/flow-meters/flow-meters.html","webpack:///./src/store/clients/LongTrendPeriod.module.ts","webpack:///./src/Scripts/clients/users-client.js","webpack:///./src/Scripts/viewModels/taxonomy/taxon.js","webpack:///./src/Scripts/viewModels/taxonomy/category.js","webpack:///./src/Scripts/components/vessel-groups/vessel-groups.html","webpack:///./src/Scripts/components/profile/users/users.html","webpack:///./src/Scripts/clients/benefits-client.js","webpack:///./src/store/clients/Benefits.module.ts","webpack:///./src/store/clients/Announcement.module.ts","webpack:///./src/Scripts/components/curves/tree-select/tree-select.html","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumption-create/fm-fuel-consumption-create.html","webpack:///./src/Scripts/components/flow-meter-management/fm-operations/fm-operation/fm-operation.html","webpack:///./src/Scripts/components/graph-config-time-period/graph-config-time-period.html","webpack:///./src/Scripts/components/fuel-tank-management/fuel-tank-management.html","webpack:///./src/Scripts/components/curves/curves-help/curves-help.html","webpack:///./src/Scripts/clients/import-status-client.js","webpack:///./src/Scripts/clients/import-queue-client.js","webpack:///./src/Scripts/viewModels/dataImport/importEntity.js","webpack:///./src/Scripts/components/data-import/import-status/import-status.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table-row/compare-vessels-long-trends-details-table-row.html","webpack:///./src/Scripts/components/curves/curves-about/curves-about.html","webpack:///./src/Scripts/clients/vessel-groups-client.js","webpack:///./src/assets/images/kognifai/help/help-time-span.webp","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/store/clients/Fouling.module.ts","webpack:///./src/Scripts/utilities/diagnostic-types-helper.js","webpack:///./src/Scripts/components/taxonomy/taxonomy.js","webpack:///./src/Scripts/components/benefits-table/benefits-table.html","webpack:///./src/Scripts/clients/taxonomy-client.js","webpack:///./src/store/clients/Taxonomy.module.ts","webpack:///./src/assets/images/widgets/graph-widget-illustration-1.png","webpack:///./src/store/clients/Snackbar.module.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-voyage/voyage-vessel-event-voyage.js","webpack:///./src/Scripts/viewModels/vessel-access-groups/vesselAccessGroup.js","webpack:///./src/Scripts/viewModels/vessel-access-groups/vesselAccessGroupList.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group.js","webpack:///./src/Scripts/components/vessel-event-icon/vessel-event-icon.html","webpack:///./src/components/VesselTitle.vue?feef","webpack:///./src/Scripts/components/emission-report/departure-list/departure-list.html","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list.html","webpack:///./src/Scripts/components/curves/cp-module-table/cp-module-table.html","webpack:///./src/Scripts/components/emission-report/emission-report.js","webpack:///./src/Scripts/clients/vessel-event-cargo-details-client.js","webpack:///./src/Scripts/components/graph-config-data-interval/graph-config-data-interval.html","webpack:///./src/Scripts/clients/notification-widget-client.js","webpack:///./src/store/clients/NotificationWidget.module.ts","webpack:///./src/Scripts/clients/emission-report-client.js","webpack:///./src/Scripts/components/curves/curve-edit-graph/curve-edit-graph.html","webpack:///./src/Scripts/clients/logging-history-configurations-client.js","webpack:///./src/App.vue?db16","webpack:///./src/Scripts/components/performance-status-icon/performance-status-icon.html","webpack:///./src/Scripts/components/curves/curves-frame/curves-frame.js","webpack:///./src/Scripts/components/vessel-notes/vessel-notes.js","webpack:///./src/Scripts/components/geo-coordinates/geo-coordinates-edit/geo-coordinates-edit.html","webpack:///./src/Scripts/components/vessel-event/vessel-event.html","webpack:///./src/Scripts/clients/fouling-overview-widget-client.js","webpack:///./src/store/clients/FoulingOverviewWidget.module.ts","webpack:///./src/Scripts/components/emission-report/voyages-chart/voyages-chart.html","webpack:///./src/Scripts/components/vessel-settings/fuel-types/fuel-type/fuel-type.html","webpack:///./src/Scripts/components/vessel-settings/fuel-types/fuel-types.html","webpack:///./src/assets/images/status/notok.png","webpack:///./src/Scripts/clients/vessel-types-client.js","webpack:///./src/Scripts/components/component-loading/component-loading.html","webpack:///./src/Scripts/clients/cii-widget-client.js","webpack:///./src/store/clients/CiiWidget.module.ts","webpack:///./src/Scripts/components/data-pie/data-pie.html","webpack:///./src/Scripts/viewModels/curves/curve.js","webpack:///./src/Scripts/components/tooltip/tooltip.html","webpack:///./src/utilities/leaflet-marker-booster.js","webpack:///./src/Scripts/components/company/company-table/company-table.html","webpack:///./src/components/Sidebar.vue?a014","webpack:///./src/Scripts/app/config-emission-report.js","webpack:///./src/assets/images/eventicon sync ^\\.\\/.*\\-ikon\\.png$","webpack:///./src/assets/images/danelec-logos/fleet-insights-white-text_orange-logo.svg","webpack:///./src/Scripts/clients/ISO19030-client.js","webpack:///./src/store/clients/ISO19030.module.ts","webpack:///./src/Scripts/utilities/number-helper.js","webpack:///./src/assets/images/widgets/table-widget-illustration-1.png","webpack:///./src/assets/images/vessels/gray.png","webpack:///./src/Scripts/components/vessel-administration/vessels-menu/vessels-menu.html","webpack:///./src/components/ManageDashboardsDialog.vue?a466","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumption/fm-fuel-consumption.html","webpack:///./src/Scripts/components/vessel-settings/veracity-key/veracity-key.html","webpack:///./src/Scripts/components/feature-not-available/feature-not-available.html","webpack:///./src/Scripts/components/emission-report/emission-report.html","webpack:///./src/Scripts/components/vessel-administration/vessel-admin/vessel-admin.js","webpack:///./src/assets/images/status/benchmarking.png","webpack:///./src/Scripts/components/long-trend-config/long-trend-config.html","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-editor/vessel-access-group-editor.html","webpack:///./src/store/clients/Users.module.ts","webpack:///./src/Scripts/clients/fm-fuel-consumptions-client.js","webpack:///./src/Scripts/clients/curves-client.js","webpack:///./src/assets/images/danelec-logos/danelec-logo-red.svg","webpack:///./src/Scripts/components/data-import/import-status-table/import-status-table.html","webpack:///./src/assets/images/danelec-logos/danelec-logo-orange2.svg","webpack:///./src/store/clients/VesselsAdmin.module.ts","webpack:///./src/Scripts/components/vessel-settings/flow-meters/flow-meter/flow-meter.html","webpack:///./src/Scripts/clients/companies-client.js","webpack:///./src/Scripts/components/vessel-administration/edit-vessel/edit-vessel.html","webpack:///./src/Scripts/components/vessel-settings/vessel-settings.html","webpack:///./src/assets/images/gps-up.png","webpack:///./src/assets/images/kyma-logos/kymalogo-only-blue.svg","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumption/ft-fuel-consumption.html","webpack:///./src/Scripts/utilities/performance-status-helper.js","webpack:///./src/Scripts/components/company/company-form/company-form.html","webpack:///./src/components/Announcement/ShowAnnouncement.vue?b30a","webpack:///./src/assets/images/vessels/green.png","webpack:///./src/store/clients/Companies.module.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-location/voyage-vessel-event-location.html","webpack:///./src/assets/images/kognifai/help/help-starting-page.webp","webpack:///./src/Scripts/clients/shapoli-client.js","webpack:///./src/Scripts/bindings/map.js","webpack:///./src/Scripts/clients/long-trend-configurations-client.js","webpack:///./src/Scripts/components/input-dialog/input-dialog.html","webpack:///./src/Scripts/components/vessel-groups/vessel-groups.js","webpack:///./src/assets/images/eventicon/trend-ikon.png","webpack:///./src/Scripts/components/css-loader/css-loader.html","webpack:///./src/assets/images/widgets/cii-widget-tableview.png","webpack:///./src/Scripts/components/curves/curve-graph/curve-graph.html","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event.html","webpack:///./src/Scripts/components/graph-config-variable-selection/graph-config-variable-selection.html","webpack:///./src/components/ConfirmDialog.vue?1c34","webpack:///./src/components/ConfirmDialog.vue","webpack:///./src/components/ConfirmDialog.vue?654b","webpack:///./src/components/ConfirmDialog.vue?d457","webpack:///./src/Scripts/components/long-trend-benchmark-level-icon/long-trend-benchmark-level-icon.html","webpack:///./src/Scripts/components/vessel-settings/emission-report-template/emission-report-template.html","webpack:///./src/Scripts/components/emission-report/voyage-create/voyage-create.html","webpack:///./src/components/widgets/TimeSpanDialog.vue?28fd","webpack:///./src/Scripts/clients/vessels-client.js","webpack:///./src/Scripts/components/data-import/import-status/import-status.html","webpack:///./src/Scripts/components/long-trend-benchmark-level-settings/long-trend-benchmark-level-settings.html","webpack:///./src/Scripts/clients/emissions-compliance-client.js","webpack:///./src/store/clients/EmissionsCompliance.module.ts","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-graph/compare-vessels-long-trends-graph.html","webpack:///./src/assets/images/kognifai/help/help-curves.webp","webpack:///./src/views/account/ResetPassword.vue?c720","webpack:///./src/Scripts/components/vessel-administration/vessel-admin/vessel-admin.html","webpack:///./src/Scripts/components/curves/curves-frame/curves-frame.html","webpack:///./src/Scripts/components/vessel-info/vessel-info-map/vessel-info-map.html","webpack:///./src/Scripts/app/events.js","webpack:///./src/Scripts/components/benefit-consequence/benefit-consequence.html","webpack:///./src/store/clients/Shapoli.module.ts","webpack:///./src/Scripts/components/compare-vessels/compare-vessels.html","webpack:///./src/Scripts/components/vessel-performance-status/vessel-performance-status.html","webpack:///./src/Scripts/components/logging-history-config/logging-history-config.html","webpack:///./src/Scripts/components/profile/user-form/user-form.html","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table-header/compare-vessels-long-trends-details-table-header.html","webpack:///./src/Scripts/clients/vessel-performance-statuses-client.js","webpack:///./src/Scripts/components/curves/tree-select/tree-select.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group.html","webpack:///./src/assets/images/kognifai/help/help-prediction.webp","webpack:///./src/Scripts/components/fuel-tank-management/ft-operations/ft-operations.html","webpack:///./src/assets/images/vessels/orange.png","webpack:///./src/assets/images/kognifai/help/help-plot.webp","webpack:///./src/assets/images/status/ok.png","webpack:///./src/services/AuthHeader.ts","webpack:///./src/Scripts/clients/vessel-histories-client.js","webpack:///./src/store/clients/VesselsHistories.module.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-port/voyage-vessel-event-port.html","webpack:///./src/views/account/Login.vue?b0fb","webpack:///./src/views/account/Login.vue","webpack:///./src/views/account/Login.vue?9663","webpack:///./src/views/account/Login.vue?8660","webpack:///./src/views/account/ResetPassword.vue?0184","webpack:///./src/views/account/ResetPassword.vue","webpack:///./src/views/account/ResetPassword.vue?a2d3","webpack:///./src/views/account/ResetPassword.vue?cb60","webpack:///./src/router/index.ts","webpack:///./src/Scripts/clients/feature-map-client.js","webpack:///./src/store/clients/FeatureMap.module.ts","webpack:///./src/store/clients/WidgetTypes.module.ts","webpack:///./src/Scripts/utilities/kognifai-variable-tree.js","webpack:///./src/Scripts/clients/Announcement-client.js","webpack:///./src/Scripts/clients/log-variables-client.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage.html","webpack:///./src/Scripts/components/logging-history-config/logging-history-config.js","webpack:///./src/Scripts/extensions/pagination.js","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumption/fm-fuel-consumption.js","webpack:///./src/Scripts/clients/reports-client.js","webpack:///./src/Scripts/clients/report-types-client.js","webpack:///./src/store/clients/Reports.module.ts","webpack:///./src/Scripts/components/fuel-consumption-summary/fuel-consumption-summary.html","webpack:///./src/Scripts/components/vessel-notes/vessel-notes.html","webpack:///./src/Scripts/app/net.js","webpack:///./src/Scripts/clients/consequences-client.js","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tanks.html","webpack:///./src/Scripts/viewModels/graphVariable.js","webpack:///./src/assets/images/widgets/cii-widget-chartview.png","webpack:///./src/Scripts/utilities/date-helper.js","webpack:///./src/Scripts/utilities/curve-prediction-helper.js","webpack:///./src/Scripts/components/company/company-info/company-info.html","webpack:///./src/Scripts/clients/fuel-tanks-client.js","webpack:///./src/App.vue?1a22","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumptions.html","webpack:///./src/class-components-hooks.ts","webpack:///./src/plugins/vuetify.ts","webpack:///./src/App.vue?11bb","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue?a9f1","webpack:///./src/Scripts/components/tooltip/tooltip.js","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue?3a62","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue?7a75","webpack:///./src/components/Sidebar.vue?b1d2","webpack:///./src/components/ManageDashboardsDialog.vue?b23e","webpack:///./src/components/ManageDashboardsDialog.vue","webpack:///./src/components/ManageDashboardsDialog.vue?3885","webpack:///./src/components/ManageDashboardsDialog.vue?8ddb","webpack:///./src/components/Sidebar.vue","webpack:///./src/components/Sidebar.vue?77d5","webpack:///./src/components/Sidebar.vue?9ac7","webpack:///./src/components/VesselTitle.vue?8aff","webpack:///./src/components/PerformanceStatusIcon.vue?58b6","webpack:///./src/components/PerformanceStatusIcon.vue","webpack:///./src/components/PerformanceStatusIcon.vue?37d9","webpack:///./src/components/PerformanceStatusIcon.vue?d5d1","webpack:///./src/components/VesselTitle.vue","webpack:///./src/components/VesselTitle.vue?cebf","webpack:///./src/components/VesselTitle.vue?6a66","webpack:///./src/Scripts/clients/version-client.js","webpack:///./src/components/Announcement/ShowAnnouncement.vue?9656","webpack:///./src/Scripts/utilities/conditionTypeHelper.js","webpack:///./src/components/Announcement/ShowAnnouncement.vue","webpack:///./src/components/Announcement/ShowAnnouncement.vue?6a6c","webpack:///./src/components/Announcement/ShowAnnouncement.vue?9778","webpack:///./src/App.vue","webpack:///./src/App.vue?198c","webpack:///./src/App.vue?1315","webpack:///./src/components/DefaultContainer.vue?9dfe","webpack:///./src/components/DefaultContainer.vue","webpack:///./src/components/DefaultContainer.vue?e1fb","webpack:///./src/components/DefaultContainer.vue?60a2","webpack:///./src/Scripts/app/net-prefilter.js","webpack:///./src/Scripts/components/vessel-info/vessel-info-map/vessel-info-map.js","webpack:///./src/Scripts/components/vessel-performance-status/vessel-performance-status.js","webpack:///./src/Scripts/components/vessel-performance-status-item/vessel-performance-status-item.js","webpack:///./src/Scripts/components/long-trend-benchmark-level-icon/long-trend-benchmark-level-icon.js","webpack:///./src/Scripts/components/performance-status-icon/performance-status-icon.js","webpack:///./src/Scripts/components/component-loading/component-loading.js","webpack:///./src/Scripts/utilities/vessel-event-helper.js","webpack:///./src/Scripts/components/vessel-event/vessel-event.js","webpack:///./src/Scripts/components/vessel-event-icon/vessel-event-icon.js","webpack:///./src/Scripts/components/benefits-table/benefits-table.js","webpack:///./src/Scripts/components/benefit-consequence/benefit-consequence.js","webpack:///./src/Scripts/components/benefit-consequence-result/benefit-consequence-result.js","webpack:///./src/Scripts/components/long-trend-benchmark-level-settings/long-trend-benchmark-level-settings.js","webpack:///./src/Scripts/components/tooltip-text/tooltip-text.js","webpack:///./src/Scripts/viewModels/graphVariableGroup.js","webpack:///./src/Scripts/components/graph-config-variable-selection/graph-config-variable-selection.js","webpack:///./src/Scripts/components/graph-config-time-period/graph-config-time-period.js","webpack:///./src/Scripts/components/graph-config-data-interval/graph-config-data-interval.js","webpack:///./src/Scripts/utilities/color-helper.js","webpack:///./src/Scripts/utilities/highcharts-helper.js","webpack:///./src/Scripts/components/curves/curve-edit-graph/curve-edit-graph.js","webpack:///./src/Scripts/components/curves/curve-graph/curve-graph.js","webpack:///./src/Scripts/components/curves/cp-module-table/cp-module-table.js","webpack:///./src/Scripts/components/curves/curve-prediction-table/curve-prediction-table.js","webpack:///./src/Scripts/components/css-loader/css-loader.js","webpack:///./src/Scripts/components/data-pie/data-pie.js","webpack:///./src/Scripts/components/fuel-consumption-summary/fuel-consumption-summary.js","webpack:///./src/Scripts/components/emission-report/voyages-chart/voyages-chart.js","webpack:///./src/Scripts/components/emission-report/departure-list/departure-list.js","webpack:///./src/Scripts/components/emission-report/departure-list/departure-list-item/departure-list-item.js","webpack:///./src/Scripts/components/emission-report/voyage-create/voyage-create.js","webpack:///./src/Scripts/viewModels/emission-report/voyageVesselEventData.js","webpack:///./src/Scripts/viewModels/emission-report/voyageVesselEvent.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-chart/voyage-chart.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list-item/voyage-vessel-event-list-item.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-cargos/voyage-vessel-event-cargos.js","webpack:///./src/Scripts/clients/vessel-locations-client.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-location/voyage-vessel-event-location.js","webpack:///./src/Scripts/clients/ft-operations-client.js","webpack:///./src/Scripts/components/fuel-tank-management/fuel-tank-management.js","webpack:///./src/Scripts/clients/ft-fuel-consumptions-client.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumptions.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumption/ft-fuel-consumption.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-operations/ft-operations.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-operations/ft-operation/ft-operation.js","webpack:///./src/Scripts/clients/ft-soundings-client.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-soundings/ft-soundings.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-soundings/ft-sounding/ft-sounding.js","webpack:///./src/Scripts/components/flow-meter-management/flow-meter-management.js","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumptions.js","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumption-create/fm-fuel-consumption-create.js","webpack:///./src/Scripts/clients/fm-operations-client.js","webpack:///./src/Scripts/components/flow-meter-management/fm-operations/fm-operations.js","webpack:///./src/Scripts/components/flow-meter-management/fm-operations/fm-operation/fm-operation.js","webpack:///./src/Scripts/components/vessel-settings/vessel-settings.js","webpack:///./src/Scripts/components/vessel-settings/veracity-key/veracity-key.js","webpack:///./src/Scripts/clients/ice-classes-client.js","webpack:///./src/Scripts/components/vessel-settings/general-settings/general-settings.js","webpack:///./src/Scripts/components/vessel-settings/emission-report-template/emission-report-template.js","webpack:///./src/Scripts/clients/fuel-consumption-sources-client.js","webpack:///./src/Scripts/components/vessel-settings/flow-meters/flow-meters.js","webpack:///./src/Scripts/components/vessel-settings/flow-meters/flow-meter/flow-meter.js","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tanks.js","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tank/fuel-tank.js","webpack:///./src/Scripts/components/vessel-settings/fuel-types/fuel-types.js","webpack:///./src/Scripts/components/vessel-settings/fuel-types/fuel-type/fuel-type.js","webpack:///./src/Scripts/components/input-dialog/input-dialog.js","webpack:///./src/Scripts/components/vessel-administration/vessels-menu/vessels-menu.js","webpack:///./src/Scripts/components/vessel-administration/vessel-admin-table/vessel-admin-table.js","webpack:///./src/Scripts/clients/features-client.js","webpack:///./src/Scripts/components/vessel-administration/edit-vessel/edit-vessel.js","webpack:///./src/Scripts/components/vessel-administration/assign-vessel/assign-vessel.js","webpack:///./src/Scripts/components/vessel-administration/vessel-feature/vessel-feature.js","webpack:///./src/Scripts/components/feature-not-available/feature-not-available.js","webpack:///./src/Scripts/viewModels/dataImport/importStatistic.js","webpack:///./src/Scripts/components/data-import/import-details/import-details.js","webpack:///./src/Scripts/components/data-import/import-status-table/import-status-table.js","webpack:///./src/Scripts/components/profile/user-form/user-form.js","webpack:///./src/Scripts/components/profile/user-info/user-info.js","webpack:///./src/Scripts/components/profile/user-list/user-list.js","webpack:///./src/Scripts/components/profile/user-api-key/user-api-key.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends/compare-vessels-long-trends.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-graph/compare-vessels-long-trends-graph.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details/compare-vessels-long-trends-details.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-graph/compare-vessels-long-trends-details-graph.js","webpack:///./src/Scripts/viewModels/compare-vessels/vessel-compare-row-data.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table/compare-vessels-long-trends-details-table.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table-row/compare-vessels-long-trends-details-table-row.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table-header/compare-vessels-long-trends-details-table-header.js","webpack:///./src/Scripts/components/company/company-table/company-table.js","webpack:///./src/Scripts/components/company/company-info/company-info.js","webpack:///./src/Scripts/components/company/company-form/company-form.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-list/vessel-access-group-list.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-editor/vessel-access-group-editor.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-name/vessel-access-group-name.js","webpack:///./src/Scripts/utilities/location-helper.js","webpack:///./src/Scripts/components/geo-coordinates/geo-coordinates.js","webpack:///./src/Scripts/components/geo-coordinates/geo-coordinates-edit/geo-coordinates-edit.js","webpack:///./src/Scripts/components/curves/curves-about/curves-about.js","webpack:///./src/Scripts/components/curves/curves-help/curves-help.js","webpack:///./src/Scripts/bindings/slideToggle.js","webpack:///./src/Scripts/bindings/dateFormat.js","webpack:///./src/Scripts/bindings/highcharts.js","webpack:///./src/Scripts/bindings/numberFormat.js","webpack:///./src/Scripts/bindings/datepicker.js","webpack:///./src/Scripts/bindings/scrollTop.js","webpack:///./src/Scripts/bindings/vesselsTableSort.js","webpack:///./src/Scripts/bindings/time.js","webpack:///./src/Scripts/bindings/clickOutside.js","webpack:///./src/Scripts/bindings/vesselMap.js","webpack:///./src/Scripts/bindings/submitForm.js","webpack:///./src/Scripts/bindings/humanizeDuration.js","webpack:///./src/Scripts/bindings/textWithLineBreaks.js","webpack:///./src/Scripts/bindings/tooltipValidation.js","webpack:///./src/Scripts/bindings/dateTimeFormat.js","webpack:///./src/Scripts/bindings/deleteStylesWithin.js","webpack:///./src/Scripts/bindings/uniqueId.js","webpack:///./src/Scripts/bindings/uniqueFor.js","webpack:///./src/registerKnockoutComponents.ts","webpack:///./src/utilities/leafletIconFix.ts","webpack:///./src/filters/date.ts","webpack:///./src/filters/companyName.ts","webpack:///./src/filters/vesselHistory.ts","webpack:///./src/filters/index.ts","webpack:///./src/main.ts","webpack:///./src/store/clients/LogData.module.ts","webpack:///./src/Scripts/components/profile/user-list/user-list.html","webpack:///./src/types/vesselStatusIcons.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-timestamp/voyage-vessel-event-timestamp.html","webpack:///./src/services/UserService.ts","webpack:///./src/store/clients/User.module.ts","webpack:///./src/Scripts/clients/fouling-client.js","webpack:///./src/components/widgets/DateTimeRangePicker.vue?af47","webpack:///./src/store/clients/VesselGroups.module.ts","webpack:///./src/store/clients/VesselEvents.module.ts","webpack:///./src/assets/images/eventicon/office-ikon.png","webpack:///./src/Scripts/clients/ports-client.js","webpack:///./src/Scripts/clients/vessel-categories-client.js","webpack:///./src/Scripts/bindings/curveTableSort.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-list/vessel-access-group-list.html","webpack:///./src/components/widgets/DateTimeRangePicker.vue?cc3e","webpack:///./src/components/widgets/DateTimeRangePicker.vue","webpack:///./src/components/widgets/DateTimeRangePicker.vue?44d8","webpack:///./src/components/widgets/DateTimeRangePicker.vue?5794","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-voyage/voyage-vessel-event-voyage.html","webpack:///./src/store/clients/Vessels.module.ts","webpack:///./src/assets/images/widgets/notification-widget-illustration.png","webpack:///./src/assets/images/eventicon/vessel-ikon.png","webpack:///./src/assets/images/widgets/map-widget-illustration-1.png","webpack:///./src/Scripts/viewModels/vesselsAdministration/vessel.js","webpack:///./src/Scripts/components/flow-meter-management/flow-meter-management.html","webpack:///./src/Scripts/clients/flow-meters-client.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-distance/voyage-vessel-event-distance.js","webpack:///./src/Scripts/viewModels/curves/curvePoint.js","webpack:///./src/Scripts/components/taxonomy/taxonomy.html","webpack:///./src/Scripts/utilities/time-converter-helper.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list-item/voyage-vessel-event-list-item.html","webpack:///./src/Scripts/components/profile/user-info/user-info.html","webpack:///./src/Scripts/clients/vessel-files-client.js","webpack:///./src/assets/images/vessels/previous2.png","webpack:///./src/assets/images/kyma-logos/kymalogo.svg","webpack:///./src/Scripts/clients/fuel-types-client.js","webpack:///./src/Scripts/clients/long-trend-periods-client.js","webpack:///./src/store/clients/LongTrends.module.ts","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tank/fuel-tank.html","webpack:///./src/Scripts/components/vessel-files/vessel-files.html","webpack:///./src/assets/images/vessels/blue.png","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-cargos/voyage-vessel-event-cargos.html","webpack:///./src/assets/images/kognifai/help/help-exclusion-filters.webp","webpack:///./src/assets/images/status/error.png","webpack:///./src/assets/images/kognifai/help/help-main-window.webp","webpack:///./src/Scripts/viewModels/company/company.js","webpack:///./src/Scripts/viewModels/company/companyList.js","webpack:///./src/Scripts/components/company/company-manager/company-manager.js","webpack:///./src/Scripts/components/tooltip-text/tooltip-text.html","webpack:///./src/Scripts/components/vessel-administration/vessel-feature/vessel-feature.html","webpack:///./src/Scripts/clients/vessel-data-widget-client.js","webpack:///./src/store/clients/VesselDataWidgetConfig.module.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-port/voyage-vessel-event-port.js","webpack:///./src/Scripts/utilities/vessel-map-helper.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-graph/compare-vessels-long-trends-details-graph.html","webpack:///./src/Scripts/components/benefit-consequence-result/benefit-consequence-result.html","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends/compare-vessels-long-trends.html"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","ViewModel","params","self","this","voyageVesselEvent","vesselEvent","isEditing","ko","observable","inputTimestampDate","dateHelper","getFormatedDateString","timestamp","inputTimestampTime","getFormatedTimeString","plotLineDateSelectedBinding","events","plotLineDateSelected","add","selectedDate","isInputTimestampValid","pureComputed","timestampMoment","getDateTime","previousVesselEvent","previousVesselEventMoment","moment","utc","nextVesselEvent","nextVesselEventMoment","dispose","detach","startEditing","vm","$wrapper","$","currentTarget","closest","dateSelectStarted","dispatch","$input","find","focus","select","cancelEditing","dateSelectEnded","save","_","clone","date","time","getSubmitDateString","emissionReportVesselEventsClient","update","done","viewModel","template","updateTempFolders","file","fileName","tempFolders","parentFolders","each","parentFolder","tempFolder","folderPath","remove","bindingHandlers","fileUpload","init","element","valueAccessor","allBindingsAccessor","vesselId","folder","isValidFile","errorMessage","isUploading","filesInCurrentFolder","dropzone","acceptedFiles","dictInvalidFileType","url","process","headers","authHeader","on","vesselFile","vesselFileUploaded","response","isUndefined","fileExists","some","upload","filename","confirm","removeFile","getFilesInFolder","files","filesInFolder","isDescendant","indexOf","childFileName","replace","fileExistsInFolder","updateFile","newFileName","vesselFilesClient","getFile","isTempFolder","draggableFile","isFolder","draggableElement","preventDefault","className","fileNameWithoutPath","existingFile","id","fileEntity","supportedExtensions","excel","word","pdf","elementType","uploadedTime","folderId","binaryFileId","uploadedBy","fileSize","isFileMenuVisible","newName","fileIcon","fileExtension","toLowerCase","extension","split","pop","formattedFileSize","stringHelper","getPrettyFileSize","uploadedText","format","newNameErrorText","rename","endsWith","fileNameWithoutExtension","resetName","nameWithoutExtension","substr","lastIndexOf","getFileNameWithoutPath","showFileMenu","hideFileMenu","arg","folderName","vesselName","vesselname","vesselFileSizeLimitInMB","newFolderHelpText","tooltipHelpText","newFolderName","pdfFileName","vesselFilePdfUrl","elementToDelete","elementToRename","isFilesLoading","isHelpTooltipOpen","sortAscending","sortColumn","isNewFolderDialogVisible","isPdfViewerVisible","isDeleteDialogVisible","isRenameDialogVisible","hasRenameError","hasNewFolderError","observableArray","currentFolder","FolderVM","foldersInCurrentFolder","getFiles","formattedFileSizeLimit","limit","totalFileSize","bytes","parentFolderPath","stop","parentFolderNames","parentFolderName","reverse","sortFiles","deleteText","goToFolder","getFolders","viewPdf","toJS","showDeleteDialog","showRenameDialog","folders","isFile","elements","elementName","without","isInvalid","sourceName","renameFolder","createNewFolder","deleteElement","removeFolder","downloadFile","vesselFileDownload","vesselFileUploadedBinding","fileVM","indexOfExistingFile","FileVM","closeTooltipBinding","closeTooltip","showNewFolderDialog","startsWith","currentFolderPath","fileNameStartsWithPath","newFolderPath","toggleHelpTooltip","showTooltip","text","isWide","hideHelpTooltip","sort","a","b","left","getSortData","right","column","closePdfViewer","closePdf","getTempFoldersInCurrentFolder","childFolderName","folderNames","folderExists","isChildFolder","union","filter","getAll","map","always","Vue","use","Vuex","Store","Auth","Announcement","Benefits","LongTrends","Incidents","User","Users","Vessels","VesselsAdmin","Companies","VesselAccessGroups","VesselGroups","VesselsHistories","Dashboard","MapWidget","Taxonomy","Reports","VesselEvents","LogVariables","LogData","LongTrendPeriod","VesselDataWidgetConfiguration","WidgetTypes","PerformanceStatusWidget","NotificationWidgetConfiguration","CiiWidgetConfiguration","FoulingOverviewWidgetConfiguration","Snackbar","Cii","Shapoli","ISO19030","Channels","Fouling","DataQuality","FeatureMap","EmissionsCompliance","render","_vm","_h","$createElement","_c","_self","attrs","dialogWidth","$event","close","model","callback","$$v","isModalActive","expression","staticClass","_v","_t","selectedCalculationType","slot","hasNotAllowedUnit","scopedSlots","_u","fn","ref","_g","_b","isLastHoursHasError","lastHoursAverage","lastHoursAccumulate","_s","fromAndToDatesCalculationType","widgetDateRange","onWidgetDateRangeChanged","proxy","_e","saveButtonDisabled","syncIsSaveButtonDisabled","staticRenderFns","TimeSpanDialog","infoAccumulatedDialog","accumulatedAllowedUnits","fromDate","startOf","toDate","set","syncColumn","$emit","setSelectedCalculationType","currentState","calculationType","hours","getDatesDiffAsHours","isLastHoursAverageValid","isLastHoursAccumulateValid","logVariables","variable","isUnitAccAllowed","unit","caption","includes","fromToDates","isTimeSpanHoursValid","setTimeSpan","timeSpan","parseInt","Date","subtract","assign","__decorate","PropSync","required","default","Watch","Component","components","DateTimeRangePicker","component","VBtn","VCard","VCardActions","VCardText","VDialog","VIcon","VRadio","VRadioGroup","VSpacer","VTextField","VToolbar","VToolbarTitle","VTooltip","users","original","list","userId","userName","extend","email","validation","async","validator","val","equalsIgnoreCase","exists","title","phoneNumber","apiKey","role","kognifaiTenantId","kognifaiClientId","kognifaiClientSecret","setModel","errors","group","isValid","computed","isNewUser","getOriginalUser","user","client","generateApiKey","clearApiKey","isLoading","load","onCreatedBinding","userOnCreated","newItem","onUpdatedBinding","userOnUpdated","oldItem","updatedItem","item","onRemovedBinding","userOnRemoved","removedItem","getList","match","dialogState","UsersVM","viewBinding","userView","clearError","UserVM","editBinding","userEdit","addBinding","userAdd","apiKeyBinding","userManageApiKey","deleteBinding","userDelete","createUser","newUser","closeDialog","fail","status","userOnCreatedAlreadyExist","userOnCreatedFailed","handleError","removeUser","userOnFailed","editUser","originalUser","updatedUser","responseJSON","Utilities","tagName","parentElement","router","currentRoute","path","stopPropagation","messages","values","modelState","flat","statusText","formattedError","vesselEventUpdatedCallback","vesselEventUpdated","Client","net","findVoyageVesselEvents","departureId","post","vesselEventCreated","put","confirmVoyageInformation","unconfirmVoyageInformation","confirmVoyageData","unconfirmVoyageData","sendEmissionReportToDnvGl","del","vesselEventDeleted","PerformanceStatusWidgetClient","new","perfStatWidgetConfiguration","delete","perfStatWidgetConfigId","_configsExpired","_configs","configs","config","index","findIndex","savedConfig","performanceStatusWidgetClient","context","commit","emptyConfig","vessels","createdConfig","root","vessel","sharedConfig","VuexModule","Mutation","Action","rawError","Module","namespaced","vesselFilesSort","onclick","currentSortIcon","sortIcons","icon","sortedFolders","htmlEncode","el","innerText","innerHTML","findDiagnosticLongTrends","allLongTrends","flatten","pluck","longTrend","diagnosticTypeId","findCommonLongTrendNames","longTrends","vesselCount","commonDiagnosticLongTrendNames","longTrendsGroupedByName","groupBy","CompareGroup","longTrendName","longTrendPeriods","sortOrder","diagnosticTypesHelper","getDiagnosticTypeOrder","diagnosticType","isLoadingLongTrendPeriods","compareGroups","selectedCompareGroup","diagnosticLongTrends","vesselsSubscription","subscribe","allLongTrendIds","commonLongTrends","loadLongTrendPeriods","longTrendPeriodsBinding","commonLongTrendIds","commonLongTrendPeriods","longTrendPeriod","contains","longTrendId","sortBy","compareGroupClickedBinding","compareGroupClicked","compareGroup","deselectCompareGroup","navigateHome","navigatedHome","longTrendIds","longTrendPeriodsClient","findMany","formatValueWithCaption","logVariable","precision","displayPrecision","addCaption","formatMapLocation","latitude","longitude","toFixed","unitCaption","formatLogVariableDisplayName","duplicateLogVariableNames","dupLogVariableNamesArray","Array","isArray","onboardSystem","x","getDuplicateLogVariableNames","logVariablesArray","countOfNames","reduce","acc","curr","idx","arr","entries","AuthService","username","password","localStorage","removeItem","Email","Username","Token","Password","CurrentPassword","NewPassword","warn","storedAccessToken","getItem","storedAccessTokenExpiryDate","storedRememberUser","JSON","parse","loggedIn","accessToken","accessTokenExpiryDate","_isRefreshing","state","setItem","stringify","tokens","access","expiry","login","persist","lostPassword","resetPassword","token","changePassword","currentPassword","newPassword","fetch","logout","getModule","VesselsModule","store","currentVessel","showLastHours","showLastMinutes","showFromTime","showToTime","isVariablesLoading","isConfigLoading","isVoyagesLoading","isUpdateConfigurationLoading","isUpdateConfigurationError","submitError","variables","selectedVariables","selectedTimePeriod","lastDays","lastPeriodValuesValid","voyages","lastVoyage","startDate","endDate","selectedTimeInMinutes","selectedTime","from","getFormatedDateTimeString","to","diff","daysToMinutes","getDate","updateTimePeriod","fromDateTime","toDateTime","submit","endChar","charAt","lastNumberDays","timeConfigurationType","longTrendConfigurationsClient","onSubmit","disableSubmit","displayEmptyVariableSelectionWarning","longTrendsClient","findLongTrendVariables","isLoadError","getByVesselId","vesselsClient","getVesselVoyages","days","Number","isOpen","skip","query","findOpen","findClosed","condition","conditions","_openIncidents","_allOpenIncidents","_allClosedIncidents","_conditions","_incidentsExpired","incidents","currentVesselId","incidentsClient","conditionsClient","rootGetters","groupedByConditionAndTargetKey","incident","conditionId","conditionTargetKey","distinctOpenIncidents","severity","openCriticalIncidents","openWarningIncidents","LogDataClient","getData","deferred","Deferred","logData","continuationFilter","continuedResponse","arguments","findLogData","variableId","granularity","dateTimeFormat","unitName","filterMinMax","filterOutliers","getters","logVariableId","batchFindLogData","variableIds","logVariableIds","fetchAccumulatedCalculatedLogData","payload","fetchAveragedCalculatedLogData","fetchShapoliAveraged","fetchLastReceivedLogData","fetchLastVoyageAccumulated","fetchLastVoyageAveraged","eventTypes","getTrendEventTypes","CreateInfoEvent","vesselInfoEventModel","CreateTrendEvent","vesselTrendEventModel","UpdateInfoEvent","UpdateTrendEvent","DeleteInfoEvent","DeleteTrendEvent","cargoUnit","cargoDetails","vesselEventId","isCreated","cargoDetail","inputCargoCarried","existingCargoDetail","cargoUnitId","hasCargoCarried","isFinite","cargoCarried","initialize","isVesselEventConfirmed","isConfirmed","newCurve","parseFloat","vesselEventCargoDetailsClient","VesselsAdministrationsClient","getVessels","createVessel","getDataReceiverByImoNumber","imoNumber","isDataReceiver","companyId","command","unassign","setAsDataReceiver","unsetAsDataReceiver","archiveVessel","activateVessel","deactivateVessel","deleteVessel","activateFeature","featureId","deactivateFeature","addCargoUnit","removeCargoUnit","getVeracityKey","updateVeracityKey","veracityKey","getVeracityKeyExpirationDate","_vesselAccessGroupsExpired","_vesselAccessGroups","groups","vesselCategoriesClient","refreshVesselAccessGroups","_vesselsLogVariables","_currentVesselLogVariables","_currentVesselShaftPowerLogVariables","logVariableName","vesselVariables","displayName","logVariablesClient","findAll","findVesselLogVariablesTaxa","taxa","forEach","findVesselLogVariablesShaftPower","shaftPowerLogVariables","existedVesselIndex","DashboardClient","dashboard","dashboardId","_dashboards","_activeDashboardIndex","dashboards","_activeDashboardId","$cookies","dash","widgets","widget","widgetData","sequence","updatedDashboardsSequence","stringifiedDashboardListSequence","dashboardListSequence","typeTemplate","newDashboard","createdDashboard","activeDashboard","updatedDashboard","typeName","defaultName","active","_channels","channels","channel","chnlIndex","chnl","ChannelsClient","ch","escapeRegExp","str","replaceAll","RegExp","addSlashes","isNullOrWhiteSpace","isString","isLookingLikeAnEmail","test","stringContains","sizes","Math","floor","log","pow","isCaseInsensitive","getPrettyIMO","prettyIMO","pad","max","toString","str1","str2","areEqual","toUpperCase","localeCompare","DataQualityClient","tags","featureName","_loadingState","_modalLoadingState","_speedLogDataLoadingState","_derivedSpeedThroughWaterState","_speedThroughWaterState","_featureValues","_fleetOverview","_dataAvailability","_dataAvailabilityConfig","_dataOutliers","_companyOutliers","_dataOutliersTakeAction","_dataOutliersViewHistory","_speedLogData","_derivedSpeedThroughWaterData","_speedThroughWaterData","loading","featureValues","fleetOverview","dataAvailability","dataAvailabilityConfig","dataOutliers","companyOutliers","dataOutliersTakeAction","dataOutliersViewHistory","dataQualityClient","getFleetOverview","getDataOutage","getDataOutageConfig","configuration","updateDataOutageConfig","getCompanyOutliers","getFeatureValues","getFeatureConfigs","updateFeatureConfigs","outliers","updateOutliersAcknowledge","updateOutliersRemove","getSpeedLog","getDerivedSpeedThroughWater","getSpeedThroughWater","MapWidgetData","_performanceStatuses","VesselStatusIcons","Ok","Observe","NotOk","BenchMarking","notAvailable","CiiClient","getDays","getYtd","getYear","getVesselBaseUrl","vesselUrlName","encodeURIComponent","baseUrl","getVesselUrl","getVesselSettingsUrl","getVesselNotificationsUrl","getVersionHistoryUrl","getHelpDiagnosticsUrl","LongTrendsClient","isDiagnosticType","findLongTrends","longTrendUpdated","getLongTrendData","downloadExcel","fileDownload","_meta","_longTrendPeriod","_statistics","_trendLimits","LongTrendPeriodsClient","meta","statistics","trendLimits","getOnlineUsers","setCompany","isSuperUser","taxon","highlightedLogVariable","shortName","isHighlighted","any","logVariableTaxon","taxons","orderedTaxons","TaxonVM","BenefitsClient","trendEventId","consequences","_listofAnnouncements","_allAnnoucements","_readByUser","listofAnnouncements","allAnnouncement","readByUser","AnnouncementClient","findByUser","filteredAnnouncement","newAnnouncement","deleteAnnounement","deleteResponse","sendEmail","___HTML_LOADER_GET_SOURCE_FROM_IMPORT___","___HTML_LOADER_IMPORT_0___","___HTML_LOADER_IMPORT_1___","___HTML_LOADER_IMPORT_2___","___HTML_LOADER_IMPORT_3___","___HTML_LOADER_IMPORT_4___","___HTML_LOADER_IMPORT_5___","___HTML_LOADER_IMPORT_6___","___HTML_LOADER_IMPORT_7___","___HTML_LOADER_REPLACEMENT_0___","___HTML_LOADER_REPLACEMENT_1___","___HTML_LOADER_REPLACEMENT_2___","___HTML_LOADER_REPLACEMENT_3___","___HTML_LOADER_REPLACEMENT_4___","___HTML_LOADER_REPLACEMENT_5___","___HTML_LOADER_REPLACEMENT_6___","___HTML_LOADER_REPLACEMENT_7___","ImportStatusClient","getSuccessfulImports","partition","getLastNumberOfImports","recentDays","getFailedImports","getRunningImports","deleteFailedImport","importEntity","deleteRunningImport","getVesselImportStates","imoNumbers","retryAllFailedImports","downloadImportPackage","downloadZipFile","ImportQueueClient","queueName","importPath","ImportEntity","stackTraceSearchReplaces","repl","statuses","imported","running","importDuration","zipPath","stackTrace","webJob","importStatistics","progress","formattedStackTrace","importDurationInSeconds","ticksInSeconds","ticks","startTime","endTime","statusCss","importPathDownloadUrl","zipPathDownloadUrl","retryImport","isEmpty","removeImport","importStatusClient","toggleIsOpen","poller","tableStorageDateFormat","datepickerFormat","queueNames","pendingImports","receivedData","recentDateType","day","timeRange","importDetailsEntity","importDetailsVisible","successfulImportsLoading","failedImportsLoading","realtimePoll","selectedRecentDateType","datepickerValue","imoSearchValue","rowsPerPage","pollIntervall","receivedDataQueueLength","pendingImportsQueueLength","successfulImports","runningImports","failedImports","pollingOptions","numberOfRows","numberOfRecentDays","range","isVesselImportStatesLoading","vesselImportStates","isRetryingAllFailedImports","loadStatus","vesselImportStateModels","activeVesselImportStates","vesselImportState","currentImport","imo","currentImportSetAt","pendingImportPaths","vesselImportStateModel","recentImports","read","recentlyFailedImports","imports","sortByTimestamp","write","getFormattedDate","failedImport","partitionKey","sendImportMessageOnQueue","removeFailedImport","pollFunction","retryImportEvent","removeImportEvent","datePickerValueSubscription","selectedRecentDateTypeSubscription","recentDaysSubscription","runningImportsBinding","loggingHistoryItemsCount","loggingHistoryTableRowCounts","successfulImport","loggingHistoryTableStats","importStatistic","TableName","RowCount","memo","num","totalTimeSpentInHours","totalImportDurationTicks","timeConverterHelper","ticksToHours","logDataTotalTimeSpentInHours","loggingHistoryTableImportDurations","ImportDuration","formattedDate","getNumberOfMessagesInQueue","queueObservable","queueClient","importQueue","isNull","getPreviousDatePartition","newDate","addDaysToDate","getNextDatePartition","daysAdded","currentDate","toggleRealtimePoll","poll","intervall","clearInterval","setInterval","runningImport","errorImport","getImports","vesselGroup","vesselGroupCreated","vesselGroupUpdated","vesselGroupDeleted","addVesselToGroup","cmd","vesselGroupId","removeVesselFromGroup","webpackContext","req","webpackContextResolve","keys","_seaSurfaceTemperature","_speedLossHistory","_speedLossStatistics","_hullCoatingVessel","_hullCoatingType","_hullCoatingManufacturer","_foulingChartConfig","_propulsionCurve","timestamps","valueOf","min","FoulingClient","getSpeedLossHistory","seaSurfaceTemperature","getSeaSurfaceTemperature","getSpeedLossStatistics","getHullCoatingType","getHullCoatingManufacturer","hullCoatingVessel","postHullCoatingVessel","foulingChartConfig","updateFoulingChartConfig","fetchFoulingChartConfig","getPropulsionEfficency","getPropulsionEfficencyCurve","getAddedFuelConsumption","getEventImpact","eventDate","formattedWeatherData","shipSpeed","timeSpent","formattedWeatherDataItem","temperature","latlng","dateA","getTime","dateB","getHelpText","getBenefitText","getInvalidConsequenceHelpText","diagnosticTypeName","param","logVariablesMap","taxonomy","highlightLogVariableId","allTaxa","uniqueTaxa","uniq","orderedUniqueTaxa","groupedTaxa","categories","CategoryVM","downloadTaxonomy","uploadTaxonomy","fd","FormData","append","go","TaxonomyClient","getTaxonomyLogVariables","getAllTaxa","_taxonomyLogVariables","_taxonomyCategories","taxonomyClient","taxonomyLogVariables","taxonomyCategories","_config","_defaultConfig","color","show","closeButton","defaultConfigCopy","snackbarConfig","configEmissionReport","configEmissionReportFactory","voyageTypes","voyage","inputVoyageName","inputVoyageType","inputIsNonCommercial","isNonCommercial","updatedVesselEvent","accessGroups","originalAccessGroup","getOriginalAccessGroup","accessGroup","categoriesClient","items","vesselAccessGroupOnCreated","vesselAccessGroupOnUpdated","onDeletedBinding","vesselAccessGroupOnDeleted","isEditMode","accessGroupList","AccessGroupListVM","vesselAccessGroupAddBinding","vesselAccessGroupAdd","AccessGroupVM","vesselAccessGroupRenameBinding","vesselAccessGroupRename","vesselAccessGroupEditBinding","vesselAccessGroupEdit","vesselAccessGroupDeleteBinding","vesselAccessGroupDelete","closeEdit","errorEvent","createAccessGroup","renameAccessGroup","originalCompany","deleteAccessGroup","gpsSpeedLogVariable","isLoadingGpsSpeedLogVariable","isVesselSettingsVisible","templateErrors","selectedDeparture","deselectDeparture","isLoadingVesselEvents","now","endOfMonth","year","month","queryDates","inputQueryFromDate","inputQueryToDate","allVesselEvents","loadVesselEvents","allSortedVesselEvents","allDepartureVesselEvents","filteredDepartureVesselEvents","vesselEvents","getTimelineData","timelineData","isLoadingGpsSpeedData","gpsSpeedData","loadGpsSpeedData","logDataClient","vesselSettingsUrl","urlHelper","isGeneralVesselSettingsComplete","vesselTypeId","portOfRegistry","homePort","ownerCompanyName","ownerCompanyAddress","operatorCompanyName","operatorCompanyAddress","emissionsContactPersonName","emissionsContactPersonAddress","emissionsContactPersonPhone","emissionsContactPersonEmail","hasFlowMeterOrFuelTank","activeFlowMeters","activeFuelTanks","hasCargoUnits","cargoUnits","isMissingSettings","voyageUpdatedBinding","voyageUpdated","updatedVoyage","vesselEventUpdatedBinding","oldVesselEvent","vesselEventCreatedBinding","createdVesselEvent","vesselEventDeletedBinding","deletedVesselEvent","isLoadingGpsSpeedLogVariableBinding","queryDatesBinding","inputQueryFromDateBinding","inputQueryToDateBinding","currentYear","departureSelectedBinding","departureSelected","departure","showDownloadAnnualEmissionReport","confirmedAnnualDepartureEvents","dataConfirmedAt","uploadVoyageFromTemplate","emissionReportClient","uploadVoyage","responseText","responseJson","downloadMrvAnnualReport","mrvYearly","downloadImoAnnualReport","imoYearly","toggleSettings","navigatePreviousMonth","navigateNextMonth","vesselEventCargoDetail","vesselEventCargoDetailDeleted","NotificationWidgetClient","notificationWidgetConfigId","notificationWidgetConfiguration","NotificationWidget","notificationWidgetClient","updatedConfig","EmissionReportClient","generateExcelTemplate","mrvVoyage","imoVoyage","voyageDnvGl","LoggingHistoryConfigurationsClient","AuthModule","UserModule","showCurves","showAbout","showHelp","showProfile","showExpiredKeyWarning","sortedVessels","sorted","getUser","userEmail","history","back","onpopstate","selectVessel","updateCurrentVessel","pushState","location","toggleAbout","toggleHelp","toggleProfile","logOut","signOut","Router","notes","isSaving","loadVesselNotes","vesselsAdminClient","setError","saveVesselNotes","errorText","FoulingOverviewWidgetClient","foulingOverViewWidgetConfigId","FoulingOverviewWidget","_hullCoatingVessels","_latestSpeedLossStatisticsForVessels","_addedFuelConsumptionForVessels","_foulingConfigs","foulingOverviewWidgetClient","vesselIds","hullCoatingVessels","getLatestSpeedLossStatistics","getAddedFuelConsumptions","foulingChartConfigs","numberKey","CiiWidgetClient","ciiWidgetConfiguration","ciiWidgetConfigId","CiiWidget","ciiWidgetConfigs","ciiWidgetClient","ciiWidgetId","ytd","showTable","ciiWidgetConfig","curve","originalCurve","curvesClient","proto","L","Canvas","prev","_updateCircle","layer","Circle","_drawing","_empty","_point","ctx","_ctx","round","_radius","options","_radiusY","scale","_map","getZoom","PI","boostExp","boostScale","boostType","fill","stroke","weight","grd","createRadialGradient","y","addColorStop","fillColor","beginPath","fillStyle","arc","fillRule","moveTo","lineTo","closePath","_fillStroke","xproto","CircleMarker","xprev","_containsPoint","Point","distanceTo","_clickTolerance","cproto","Layer","cprev","_openPopup","_popup","DomEvent","_source","openPopup","hasLayer","closePopup","pproto","Popup","p_getAnchor","_getAnchor","point","_getPopupAnchor","toIdMap","arrayOfObjectsWithId","ConfigEmissionReport","apiBaseUrl","flowMetersMap","fuelTanksMap","fuelTypesMap","cargoUnitsMap","isLoadingVessel","isLoadingCargoUnits","isLoadingFlowMeters","isLoadingFuelTanks","isLoadingFuelTypes","flowMeter","isDeactivated","fuelTank","activeFuelTypes","fuelType","loadVessel","loadGpsSpeedLogVariable","loadFlowMeters","loadFuelTanks","loadCargoUnits","loadFuelTypes","vesselsAdministrationsClient","findGpsSpeedVariable","flowMetersClient","fuelTanksClient","cargoUnitsClient","fuelTypesClient","configEmissionReportInstance","ISO19030Client","All","AllByVesselId","EventById","eventId","CreateEvent","eventModel","UpdateEvent","patch","DeleteEvent","PerformanceIndicators","_events","_performanceIndicators","decimals","parseLocaleNumber","stringNumber","locale","thousandSeparator","Intl","NumberFormat","formatToParts","decimalSeparator","numericFilter","expect","numericWithNegativeFilter","editVessel","previousMenuItem","menuItem","isUnasssignedVesselsLoading","isCompaniesLoading","unassignedVessels","assignedVessels","archivedVessels","companies","getCompanies","visibleView","arraySortedEvent","vesselArraySorted","array","menuItemClickEvent","menuItemClick","Vessel","findDataReceiver","vesselUpdatedEvent","vesselAdministrationUpdated","updateType","vesselDeletedEvent","vesselDeleted","mapVessels","activeStatus","companiesClient","_usersExpired","_users","_onlineUsers","onlineUsers","usersClient","refreshUsers","usr","voyageFuelConsumption","flowMeterFuelConsumptionDeleted","CurvesClient","curveCreated","curveUpdated","curveDeleted","downloadExcelReport","curvePlotResult","_vesselsExpired","_vesselsAdminAll","_vesselsAdminUnassigned","_vesselsAdminActive","_vesselsAdminInactive","refreshAllVessels","CompaniesClient","company","getPerformanceStatusText","performanceStatus","getPerformanceStatusErrorText","getPerformanceStatusImageSrc","require","getPerformanceStatus","isDiagnosticActivated","enabledLongTrends","useInVesselStatus","longTrendStatuses","join","getSortValue","getPerformanceStatusCssClass","getSortValueByStatus","_CompaniesExpired","_companies","refreshCompanies","ShapoliClient","getBreaches","getBreachDetails","getEvents","getShaftPowerLogVariables","downloadBreachLogData","dates","downloadBreachesYearReport","findMarkerBounds","markers","w","sw","ne","marker","lat","lng","getLatLng","LatLng","LatLngBounds","updateMarkers","markerPopupsIsOpen","openPopups","markersGroup","isPopupOpen","clearLayers","layerGroup","addTo","markerBounds","fitBounds","padding","maxZoom","utils","unwrapObservable","TileLayer","attribution","maxBounds","latLngBounds","latLng","layers","scrollWheelZoom","minZoom","zoom","center","maxBoundsViscosity","initialMarkerPopupsIsOpen","optionsSubscription","newOptions","domNodeDisposal","addDisposeCallback","LongTrendConfigurationsClient","getVesselGroupNameError","isLoadingVesselGroups","isLoadingVessels","isCreatingVesselGroup","isEditingVesselGroup","vesselGroups","selectedVesselGroup","newVesselGroupName","createVesselGroupError","editVesselGroupError","removingVesselGroup","editingVesselGroup","editedVesselGroupName","selectVesselGroup","startEditVesselGroup","$container","doneEditVesselGroup","editedVesselGroup","vesselGroupNameError","vesselGroupsClient","cancelEditVesselGroup","startRemoveVesselGroup","removeVesselGroup","vesselsInSelectedVesselGroup","vesselsNotInSelectedVesselGroup","sortedVesselGroups","vesselGroupCreatedBinding","createdVesselGroup","vesselGroupUpdatedBinding","updatedVesselGroup","oldVesselGroup","vesselGroupDeletedBinding","deletedVesselGroup","loadVessels","loadVesselGroups","createVesselGroup","newVesselGroup","style","zIndex","width","_k","keyCode","cancel","dialog","directives","rawName","domProps","noconfirm","ConfirmDialog","VesselsClient","ignoreCompany","getVesselsByCompanyId","getExtendedVessels","updateVesselDraft","draft","draftMean","updateVessel","EmissionsComplianceClient","vesselid","_loadingEmissionSummaryState","_voyageList","_emissionSummary","getVoyageList","voyageList","getEmissionSummary","emissionSummary","uploadFiles","downloadReport","signals","Signal","repositionTooltip","vesselEventSelected","showModal","closeModal","modalClosed","curvePlotCreated","curvePlotUpdated","curvePlotDeleted","curvePlotSelected","curvePlotSpecified","editCurveStart","editCurveDone","filterGroupEmpty","flowMeterDeleted","flowMeterFuelConsumptionUpdated","flowMeterFuelConsumptionSelected","overlappingFuelConsumptionUpdated","voyageCreated","voyageVesselEventUpdated","fuelTankDeleted","fuelTankSoundingDeleted","fuelTankOperationCreated","fuelTankOperationDeleted","flowMeterOperationDeleted","fuelTypeDeleted","viewReport","curvePredictionUpdated","notificationConditionCreated","notificationConditionUpdated","notificationConditionRemoved","notificationChannelRemoved","filteredVesselsChanged","compareVesselsSelected","companyAdd","companyEdit","companyDelete","companyView","companyViewAs","companyOnCreated","companyOnUpdated","companyOnRemoved","updateLoaderText","presetChanged","createEvent","editEvent","deleteEvent","updateEventList","showDiagnosticsDetails","_breaches","breaches","VesselPerformanceStatusesClient","variableTree","treeMaker","makeTree","unwrap","selectedId","selectedItem","menuOpen","menuVisible","safetyMargin","selected","selectItem","closeMenu","selectedItemName","toggleMenu","positionMenu","$menu","next","menuHeight","height","windowHeight","top","clientY","clientX","difference","styles","css","positionSubMenu","$el","first","windowWidth","rect","getBoundingClientRect","availableHeight","availableBottom","delta","position","children","bottom","acessToken","Authorization","VesselHistoriesClient","getVesselHistoryAdditionals","vesselHistoryId","getVesselHistories","getLatestVesselHistory","_vesselsHistories","vesselHistories","input","timespan","lastExportDate","vesselHistoryAdditionals","forgotPassword","handleLogin","validLogin","class","isUsernameAutofilled","usernameRules","$set","isPasswordAutofilled","showPassword","passwordRules","handleForgotPassword","validResetPassword","emailRules","valid","forgotPasswordEmail","forgotPasswordAlertType","forgotPasswordResponse","submittingEmail","Login","submittedEmail","isLoggedIn","$router","catch","usernameInput","querySelector","passwordInput","checkAutofilledInputs","VAlert","VCardSubtitle","VCardTitle","VCheckbox","VCol","VContainer","VForm","VImg","VRow","incompleteLink","submitting","handleResetPassword","isFormValid","minimumPasswordLength","submittedSuccess","random","passwordsEqualBool","passwordsEqual","repeatPassword","alertType","errorResponse","_l","ResetPassword","submitted","$route","String","formatError","VueRouter","routes","redirect","subTitle","parent","beforeEnter","isKognifai","base","scrollBehavior","savedPosition","beforeEach","publicPages","authRequired","userExpired","afterEach","FeatureMapClient","_featureMapListLoadingState","_featureMapList","featureMapClient","getFeatureMapList","featureMapList","tableWidgetIllustration","graphWidgetIllustration","mapWidgetIllustration","performanceStatusWidgetIllustration","notificationWidgetIllustration","ciiWidgetTableViewIllustration","ciiWidgetChartViewIllustration","foulingWidgetViewIllustration","_startup","defaultWidth","defaultHeight","multiple","description","images","usingConfig","enabled","_VesselDataTable","displayType","_VesselDataGraph","_performanceStatus","_notification","_emissions","_foulingOverview","_allAddable","separator","uniqueItems","levels","makeTreeRecursive","grouped","nextlevel","announcementDetails","announcementId","AcknowledgeIncident","AcknowledgeAllIncidents","openIncidents","LogVariablesClient","unitType","hasLogData","extended","dupNames","logVariableHelper","findAvailableLogVariables","findAvailableLogVariablesExtended","findMassFlowRateVariables","findSpeedVariables","findVesselsLogVariables","filterMinMaxTooltipText","filterOutliersTooltipText","toMinutes","minutes","isFilterMinMaxTooltipOpen","isFilterOutliersTooltipOpen","lastHours","lastMinutes","fromTime","toTime","selectedDataInterval","setPeriodValuesValid","lastNumberHours","lastNumberMinutes","dataInterval","loggingHistoryConfigurationsClient","minDate","logDataMinDate","maxDate","logDataMaxDate","maxMinutes","toggleFilterMinMaxTooltip","tooltipPosition","toggleFilterOutliersTooltip","hideTooltips","factory","define","extenders","paging","pageSize","_pageSize","_preferredSize","_currentPage","newValue","moveFirst","rowsToShow","currentPage","pageCount","ceil","currentPageData","pageIndex","startIndex","endIndex","movePrevious","moveNext","moveLast","getFlowMeterFuelConsumptionSourceColor","fuelConsumption","manualFuelConsumptionSourceColor","isNumber","correctedFuelConsumptionInTon","fuelConsumptionSource","flowMeterFuelConsumption","isSelected","isOverlapped","isRemoving","fuelTypeName","fuelTypeId","hasCorrectedFuelConsumptionInTon","inputFuelConsumptionInTon","flowMeterFuelConsumptionSelectedBinding","selectedFuelConsumption","startAt","endAt","flowMeterId","overlappingFlowMeterFuelConsumptionUpdatedBinding","overlappingFuelConsumption","fuelConsumptionSourceColor","isRemoveable","startEdit","initialInputFuelConsumptionInTon","fuelConsumptionInTon","off","updateFuelConsumptionInTon","fuelConsumptionsClient","ReportsClient","getReportUrl","reportId","onlyUrl","ReportTypesClient","_reportsExpired","_reports","_reportTypes","reports","reportTypes","reportTypeName","reportsClient","refreshReports","reportTypesClient","refreshReportTypes","Net","ajax","method","crossDomain","contentType","processData","traditional","cache","xhrFields","responseType","success","xhr","header","getResponseHeader","filenameRegex","matches","exec","windowUrl","URL","webkitURL","createObjectURL","anchor","download","click","revokeObjectURL","findLatest","benchmarkPeriod","GraphVariable","variableSelectionUpdateTrigger","queue","notifySubscribers","unselect","dateFormat","timeFormat","submitFormat","toSubmitString","submitDate","formatDate","dateTimeString","formatDateTime","dateTime","timeFormatter","dateInMilliseconds","datesDiffAsHours","duration","asHours","durationBetweenDates","diff_s","dur_ms","asMilliseconds","humanizeDuration","humanize","getHumanizeDuration","getDurationBetweenDates","getDateInMilliseconds","getDateFormat","getTimeFormat","getJavascriptDate","isValidTime","timeString","getRegressionData","dataPoints","curveFit","regressionOrder","regressionData","regression","linear","polynomial","order","dataPointsFilteredForPowerRegression","power","exponential","dataPointsFilteredForLogarithmicRegression","logarithmic","getPredictedPoint","predict","getPredictedValue","predictedPoint","getPredictedPoints","increment","upperLimit","graphPoints","getPredictionSerieData","xMin","xMax","points","abs","predictedPoints","getDataArrayFromDataPointObjects","getStandardError","predictedData","SE","N","sqrt","getMean","dataArray","getStd","mean","sumSquaredDifferences","variance","standardDeviation","erf","sign","a1","a2","a3","a4","a5","exp","erfc","isOutlier","std","criterion","threshold","prob","predictRegressionValue","getPredictedDataArray","stdv","registerHooks","Vuetify","theme","customProperties","themes","light","primary","primaryLighten80","primaryLightGrey75","primary2","mainGrey100","secondary","secondary50","secondary2","secondary3","neutralLighten100","lightGrey100","neutralDark50","neutralDark75","darkGrey25","darkGrey75","darkGrey100","accent","accentDarker110","success100","warning100","error100","info","info100","warning","warning50","warning110","userCompanyName","navigateToVersionHistory","ShowAnnouncementPopup","unreadAnnouncementandNotification","staticStyle","notification","closeSnackbar","anchorElement","visible","timeoutHandles","showTooltipBinding","positionOffset","positionTooltip","timeoutHandle","my","at","collision","of","anchorElementSubscription","clearedTimeoutHandles","repositionTooltipBinding","getPosition","TooltipWrapper","instance","koHtmlAndViewModel","applyBindings","cleanNode","onSequenceChanged","sidebarMini","openManageDashboardsDialog","sharedDashboards","isDashboardActive","setActiveDashboard","openGeneralTimespanDialog","setVesselPerformanceStatus","setVesselIconRotation","course","helpCategory","generalTimespanDialog","Boolean","isWidgetHasNotAllowedUnit","generalTimeSpanSettings","onGeneralTimeSpanSettingsSave","closeGeneralTimespanDialog","selectedWidgets","panel","personalDashboardNameHandlers","dashboardNameHandler","editing","updateDashboardName","cancelEditDashboardName","isLastDashboard","deleteDashboard","isCurrentDashboard","onDashboardSharingChange","createNewDashboard","Dash","DashboardModule","SnackbarModule","UsersModule","ManageDashboardsDialog","dashboardNameHandlers","personalDahboards","updatedPersonalDashboardNameHandlers","u","refreshDashboardsList","newDashboardName","showSnackbar","htmlEncoder","confirmDelete","open","confirmed","dashboardToUpdate","dashboardById","updateDashboard","refreshDashboards","userIdsSharedWith","Ref","draggable","VExpansionPanel","VExpansionPanelContent","VExpansionPanelHeader","VExpansionPanels","VList","VListItem","IncidentsModule","VesselDataWidgetConfig","LogDataModule","Sidebar","helpCategories","selectedWidgetsConfigs","columns","fetchCalculatedLogData","updateVesselDataWidgetConfig","refreshVesselDataWidgetConfigs","isInteger","selectedWidgetConfigs","widgetConfig","getConfigById","configId","configsWithNotAllowedUnit","columnHasNotAllowedUnit","widgetsWithError","configsWithUnitError","widgetsWithErrorNameList","isAdmin","isSuperOrAdmin","extendedVessels","features","feature","vesselsLoadingState","userCompanyId","updateDashboardsSequence","transform","performance","manageDashboardsDialog","refreshExtendedVessels","getAllOpenIncidents","initializeDashboard","VDivider","VListGroup","VListItemAction","VListItemContent","VListItemIcon","VListItemTitle","VMenu","VNavigationDrawer","VProgressLinear","VSelect","VSubheader","longTrendDateFormatted","cssClass","iconImageSrc","displayText","PerformanceStatusIcon","cssClassProp","iconImageSrcProp","displayTextProp","setStatusIconProps","performanceStatusHelper","deep","VesselTitle","trendDataMinDate","trendDataMaxDate","vPerformanceStatusIcon","months","getMonth","getFullYear","VersionClient","getVersion","componentKey","tabClickHandler","myNotificationCount","subitem","subindex","getTimeAgo","openVesselEvent","MarkAsAcknowledged","getConditionType","conditionDetails","announcementCount","MarkasRead","publishDate","activeTab","MarkAllAsRead","MarkAllAsAcknowledged","getConditionTypeFromKey","targetKey","AnnouncementModule","ShowAnnouncement","allAnnouncements","userDetails","myNotifications","latest","archived","MINUTE_IN_MS","subitems","$root","$on","fetchData","announcementListByUser","getFleetLevelOpenIncidents","isView","acknowledged","startRefreshTimer","refreshTimer","filterdata","UserEmail","CompanyId","AnnouncementId","announcementReadByUser","Id","utcDate","toLocaleString","localeMatcher","timeZoneName","dateValue","fromNow","conditionType","conditionTypeHelper","VFooter","VTab","VTabItem","VTabs","App","showSidebar","showNewVersionNotification","lastUsedVersion","errorEventBinding","unreadAnnouncementCount","userProfile","announcementlistByUser","$store","delayedRegisterKnockoutComponents","checkIfNewVersion","isTokenValid","unwatchNameChanged","$watch","newVal","unacknowledgedIncidents","unacknowledgedIncidentsCount","currentVersion","heap","addUserProperties","company_id","company_name","is_admin","reload","tooltip","vVesselTitle","VApp","VAppBar","VBadge","VListItemSubtitle","VMain","VSnackbar","containerClass","cardClass","maxWidth","DefaultContainer","Prop","ajaxPrefilter","opts","originalOpts","jqXHR","refreshRequest","dfd","args","expiryDate","rejectWith","current","vesselHistory","polylines","showVesselTrack","vesselMap","vesselMapHelper","addVesselMarker","addVesselTrack","centerOnMarkers","showVesselTrackBinding","removeVesselTrack","RotatedMarker","Marker","angle","rotationOrigin","_setPos","pos","_icon","DomUtil","TRANSFORM","Browser","ie","rad","DEG_TO_RAD","costheta","cos","sintheta","sin","rotatedMarker","addPolyline","addPreviousPositionMarkers","removeMarkers","removePolyline","createPolylines","currentVesselHistory","minPixelDistance","positionMarker","createMarker","postitionMarkerLatLng","positionMakerPoint","latLngToLayerPoint","isInvalidMarker","markerLatLng","markerPoint","getElementById","classList","removeLayer","polyline","getVesselHistoriesInTimeIntervals","timeBetweenVesselHistoriesInHours","someVesselHistories","latestVesselHistory","firstVesselHistory","exportDate","performanceStatusItems","isUpdating","updateError","descriptionLong","useInVesselStatusTooltipText","toggleUseInVesselStatus","showUseInVesselStatusToopltip","closeToopltip","useManualBenchmarkLevel","benchmarkLevelTooltipText","manualBenchmarkLevel","showBenchmarkLevelToopltip","initialPerformanceStatus","showText","longTrendUpdatedBinding","vesselPerformanceStatusesClient","getVesselEventTypeText","getVesselEventSourceText","source","vesselEventType","getVesselEventTypeImageSrc","iconName","getVesselEventSourceImageSrc","sourceText","vesselEventHelper","sourceImageSrc","typeText","typeImageSrc","showNameToopltip","hasSFRBenchmarkingError","benefit","firstConsequence","hasConsequenceResults","results","mcrDisplay","consequence","displayValue","isNaN","valueText","headerName","validationMessages","minManualBenchmarkLevel","maxManualBenchmarkLevel","isObservable","customCssClass","textSubscription","GraphVariableGroup","maxVariables","distinct","graphVariables","variableName","selectedGraphVariables","unselectedGraphVariables","selectedIds","selection","seperator","count","currentGroupIndex","clear","maxGroups","initialVariableSelection","initializeVariableSelection","variableSelection","groupVariableIds","groupName","currentGroup","addGroup","variableSelectionString","initialVariableStrings","removeEmptyLastElementFromArray","getInitialVariableSelectionGroups","getInitialVariableSelectionIds","variableSelectionStrings","initialIds","ids","timeErrorMessage","numberFormatErrorMessage","selectedTimeErrorMessage","setSelectedTimeErrors","lastPeriodError","timeError","setLastPeriodErrorMessage","isValueInvalid","empty","disableLastVoyage","lastVoyageDateString","isLastPeriodInputInvalid","isTimeInputInvalid","focused","selectedTimePeriodSubscriber","selectedTimeInMinutesSubscriber","intervalLimit","intervalInMilliseconds","minutesToMilliseconds","updateSelectedDataInterval","disableSelectedDataInterval","checkIfDataIntervalIsDisabled","incrementSelectedDataInterval","currentVariables","v","isDataIntervalAllowedForDataSize","isDataIntervalAllowedForSampleWindow","intervalMs","every","sampleWindowInMs","selectedTimeBinding","goldenRationConjugate","colorFromHsv","hue","saturation","hi","f","q","Color","g","getDistinctColor","h","string","isInitialized","lastZoomTime","plotlineTempMarkerId","initializeHighcharts","Highcharts","setOptions","chart","zoomType","spacingRight","marginTop","animation","credits","legend","xAxis","gridLineWidth","labels","plotOptions","series","enableMouseTracking","valueDecimals","exporting","sourceHeight","sourceWidth","getDefaultGenericLineChartOptions","yAxis","tickPixelInterval","plotBands","plotLines","chartOptions","getDefaultDiagnosticSplineHighchartsOptions","navigator","userAgent","getTrendLinesSeriesForLongTrendPeriods","trendline","start","end","getTrendLinesSeriesForCompareLongTrendPeriods","longTrendPeriodsGroupedByLongTrendId","longTrendPeriodGroup","vesselIndex","serie","colorHelper","getTrendLinesSeriesForCompareLastLongTrendPeriod","showRelativeYAxis","currentLongTrendPeriod","isCurrent","durationInMonths","valueDifference","startYValue","endYValue","getPlotBandsForLongTrendPeriods","bands","detailsData","toISOString","mouseover","svgElem","attr","mouseout","getPlotBandsForCompareLongTrendPeriods","orderedLongTrendPeriods","minStartLongTrend","maxEndLongTrend","getDataSeriesForLongTrendPeriods","longTrendData","lineWidth","getPlotLineForVesselEvent","html","label","rotation","useHTML","getPlotLinesForVesselEvents","lines","getBenefitPlotLineForVesselEvent","getPlotLineForVoyageEvent","occuredAt","eventName","getDefaultGenericPieChartOptions","pieSlices","plotBackgroundColor","plotBorderWidth","plotShadow","pointFormat","pie","allowPointSelect","cursor","dataLabels","colorByPoint","plotLineDateSelectMousedown","pointer","normalize","toValue","chartX","removePlotLine","addPlotLine","plotLineDateSelectCancel","getRegressionSerie","defaultSerie","isRegressionLine","showInLegend","merge","getScatterDataSerie","symbol","addExporting","curveMode","referenceCurveDataPoints","xAxisLogVariable","yAxisLogVariable","forceTonDayUnit","chartInfo","xAxisVariable","yAxisVariable","referenceCurveRegressionData","curvePredictionHelper","referenceCurveSerieData","referenceCurveSerie","highchartsHelper","XMin","XMax","extendedReferenceCurveSerieData","extendedReferenceCurveSerie","dashStyle","linkedTo","curveDataSerie","yAxisUnitCaption","layout","align","verticalAlign","borderWidth","highchartsOptions","selectedCurve","availableVariables","curveDataPoints","graphSeries","curveDataArray","curveDataStatistics","curveDataXMin","curveDataXMax","referenceCurveXMin","referenceCurveXMax","curveRegressionData","xAxisLogVariableId","yAxisLogVariableId","availableVariable","partitionedForOutliers","filteredDataPoints","outliersSerie","bestFitSerieData","predictionsSerieData","predictedDataArray","standardError","bestFitSerie","predictionsSerie","useHtml","formatter","getTooltipText","chartBinding","processedXData","processedYData","referenceCurveDataPointsBinding","setData","curvePredictionUpdatedBinding","pointX","pointY","isValidPoint","seriesName","predictionSerieName","predictedSerie","predictionSerieColor","addSeries","curvePoint","xAxisTitle","axisTitle","textStr","yAxisTitle","timePeriod","variableDataList","formatedStartDate","formatedEndDate","variableDataElement","isYAxis","average","timePeriods","sumOfActualFuelConsumption","sum","cpModule","actualFuelConsumption","sumOfReferenceFuelConsumption","referenceFuelConsumption","sumOfDifferenceInFuelConsumption","differenceBetweenConsumptions","sumOfDistanceTravelled","distanceTravelled","curveData","inputValue","prediction","isInputValid","predictions","predictionText","inputValueBinding","predictionPoint","removePoint","indexOfCurvePoint","CurveVM","sortedPredictions","addPredictions","isPredictedValueOutlier","predictedValue","hasAnyPredictedOutliers","addPoint","floatValue","pointExists","loaderText","loaderTextBinding","pieChartOptions","FuelConsumptionsByFuelType","flowMeterFuelConsumptions","actualFuelConsumptionInTon","fuelConsumptions","fuelConsumptionsByFuelTypes","groupedByFuelType","fuelConsumptionsByFuelType","enablePlotLineDateSelect","exportTitle","firstPoint","lastPoint","last","isTimelineData","radius","dateSelectStartedBinding","dateSelectEndedBinding","mousedown","departureVesselEvents","isDeleting","canDelete","vesselEventIndex","departureType","isLeftOk","isRightOk","notifySelect","deleteDeparture","isCreating","inputDate","inputTime","newVesselEvent","inputVesselEventDate","inputVesselEventTime","allowedFromMoment","allowedToMoment","sameTimestampVesselEvent","vesselEventTimestampMoment","isSame","leftOfTimestampVesselEventIndex","findLastIndex","leftOfTimestampVesselEvent","rightOfTimestampVesselEvent","getFlowMeterFuelConsumptionSourcePercent","vesselEventDurationInSeconds","flowMeterFuelConsumptionDurationInSeconds","countCorrectedValues","hasCorrectedValue","isVoyageInformationConfirmed","isVoyageDataConfirmed","distance","distanceSailed","hasCorrectedDistance","manualDistanceByGPS","totalDistanceByGPS","loggedDistanceByGPS","estimatedDistanceByGPS","currentDistance","flowMeterFuelConsumptionManualEstimatePercent","flowMeterFuelConsumptionRegressionPercent","flowMeterFuelConsumptionManualPercent","flowMeterFuelConsumptionLogDataPercent","missingFlowMeterFuelConsumptionPercent","roundedMissingFuelConsumptionPercent","missingDistancePercent","hasCorrectedTotalDistanceSailed","loggedDistanceByGPSPercent","estimatedDistanceByGPSPercent","roundedMissingDistancePercent","flowMeterFuelConsumptionPieSlices","distancePieSlices","hasMissingFlowMeterFuelConsumption","isStartOfVoyage","hasMissingDistance","validateVoyageDetails","isEndOfVoyage","validationErrorMessages","validatePortDetails","port","voyageValidationErrorMessages","portValidationErrorMessages","hasCompleteInformation","vesselEventSelectedBinding","canUnconfirm","previousDeparture","isPreviousDepartureLocked","informationConfirmedAt","isEndOfVoyageAndLocked","isConfirming","isUnconfirming","isLoadingFlowMeterFuelConsumptions","loadFlowMeterFuelConsumptions","isVoyageInformationConfirmedBinding","removeAll","activeOrInUseFlowMeters","isActive","isInUse","thisVesselEventIndex","previousVesselEventIndex","nextVesselEventIndex","departureIndex","flowMeterFuelConsumptionUpdatedBinding","updatedFuelConsumption","oldFuelConsumption","flowMeterFuelConsumptionDeletedBinding","deletedFuelConsumption","voyageVesselEventData","VoyageVesselEventData","unconfirm","deleteVesselEvent","flowMeterFuelConsumptionsClient","fuelTanks","isConfirmingVoyageInformation","isUnconfirmingVoyageInformation","isConfirmingVoyageData","isUnconfirmingVoyageData","isSendingEmissionReportToDnvGl","departureTimestampMoment","hasVeracityKey","hasEsgFeature","voyageVesselEvents","initVoyageVesselEvents","VoyageVesselEvent","newVoyageVesselEvent","selectedVoyageVesselEvent","deletedVoyageVesselEvent","isLoadingVoyageVesselEvents","loadUpdatedVoyageVesselEvents","isVoyageVesselEventsConfirmed","endOfVoyageVesselEvent","arrivalVoyageVesselEvent","departureVoyageVesselEvent","voyageVesselEventsByTimestampDescending","vesselEventTypesCount","groupedByType","requireEndBunkering","requireEndAnchoring","requireEndDrifting","requireStartBunkering","requireStartAnchoring","requireStartDrifting","canConfirmVoyageInformation","departureHasCompleteInformation","canConfirmVoyageData","hasMissingFlowMeterFuelConsumptionOrDistance","isMrvVoyage","isMrvPort","downloadEmissionReportUrl","downloadImoEmissionReportUrl","downloadDnvGlEmissionReportUrl","tabs","showDistanceAndFuelTabs","getNewSelectedTab","previousSelectedTab","initialSelectedTab","selectedTab","tabsBinding","newSelectedTab","selectTab","tab","toggleCollapsed","isCollapsed","toggleEditVoyageInformation","isEditingVoyageInformation","downloadMrvVoyageReport","downloadImoVoyageReport","downloadDnvGlVoyageReport","extraQueryDateHours","newQueryDates","drawPlotLines","voyageVesselEventsBinding","voyageVesselEventUpdatedBinding","plotLine","isCreatingVesselEventType","sortedVoyageVesselEvents","sortedVesselEvents","eventType","allowedFromVesselEventIndex","allowedFromVesselEvent","leftEventType","rightEventType","startCreatingVesselEvent","startCreatingDeparture","startCreatingArrival","startCreatingStartBunkering","startCreatingEndBunkering","startCreatingStartAnchoring","startCreatingEndAnchoring","startCreatingStartDrifting","startCreatingEndDrifting","cancelCreatingVesselEvent","createVesselEvent","requireAllCargoDetailsCreated","isAllCargoDetailsCreated","getVoyageVesselEventCargoDetails","vesselCargoUnits","cargoUnitIdsInUse","vesselCargoUnitIds","activeOrInUseCargoUnits","VoyageVesselEventCargoDetail","isAllCargoDetailsCreatedOutput","voyageVesselEventCargoDetails","isLoadingCargoDetails","forceShowCargoDetails","voyageVesselEventCargoDetail","showCargoDetails","createdCargoDetails","vesselEventCargoDetailDeletedBinding","isAllCargoDetailsCreatedBinding","toggleForceShowCargoDetails","nearestLocation","inputGeoCoordinate","loadingFailed","vesselLocations","queryFromDate","queryToDate","vesselEventTimestamp","vesselLocationsClient","sortedByNearness","vesselLocation","firstNearestLocation","equallyNearVesselLocations","vesselEventLocation","logDataLocation","vesselEventsClient","fuelTankId","fuelTankOperation","Tab","componentName","selectedFuelTank","isMissingFuelOperations","departureDate","departureVesselEvent","minFuelOperationInputDate","isLoadingFuelTankOperations","fuelTankOperations","selectedFuelTankBinding","newFuelTank","findFuelTankOperations","sortedFuelTankOperations","fuelOperationsQueryDates","fuelTankOperationDeletedBinding","fuelTankOperationCreatedBinding","isMissingFuelOperationsBinding","fuelTankOperationsClient","fuelTankFuelConsumption","fuelTankFuelConsumptionDeleted","fuelTankFuelConsumptions","sortedFuelTankFuelConsumptions","search","fuelTankFuelConsumptionsClient","fuelAdjustmentTooltipText","inputFuelTypeId","inputFuelDensity","inputFuelAdjustmentInTon","inputSulphurContent","newFuelTankOperation","fuelDensity","fuelAdjustmentInTon","sulphurContent","isNewFuelTankOperationValid","minInputDate","minInputTimestampDate","maxInputTimestamp","maxInputTimestampDate","addFuelTankOperation","showFuelAdjustmentTooltip","fuelTankSounding","fuelTankSoundings","inputFuelAmountInTon","inputFuelAmountInCubicMetres","inputFuelTemperatureInDegreesCelcius","newFuelTankSounding","FuelTankId","fuelAmountInTon","fuelAmountInCubicMetres","fuelTemperatureInDegreesCelcius","isNewFuelTankSoundingValid","sortedFuelTankSoundings","maxInputDate","fuelTankSoundingDeletedBinding","sortedFuelTankSoundingsBinding","lastFuelTankSounding","nextSuggestedTimestamp","addFuelTankSounding","fuelTankSoundingsClient","flowMeters","selectedFlowMeter","missingFlowMeterFuelConsumptions","filteredFlowMeterFuelConsumptions","sailingStartAt","sailingEndAt","timeRanges","uniqueTimeRanges","unique","missingTimeRanges","orderedUniqueTimeRanges","missingFlowMeterFuelConsumption","missingTimeRange1","missingTimeRange","missingFuelConsumption","flowMeterFuelConsumptionSource","sortedFlowMeterFuelConsumptions","showNewFlowMeterFuelConsumption","inputConsumptionStartDate","inputConsumptionStartTime","inputConsumptionEndDate","inputConsumptionEndTime","newFlowMeterFuelConsumption","overlappingFlowMeterFuelConsumption","flowMeterFuelConsumptionStartAt","flowMeterFuelConsumptionEndAt","validationErrorMessage","initializeDates","firstMissingFlowMeterFuelConsumptions","missingFlowMeterFuelConsumptionsBinding","addFlowMeterFuelConsumption","cancelNewFlowMeterFuelConsumption","startNewFlowMeterFuelConsumption","flowMeterOperation","flowMeterOperations","inputEstimatedFuelMassFlowRateInTonDay","newFlowMeterOperation","estimatedFuelMassFlowRateInTonDay","isNewFlowMeterOperationValid","sortedFlowMeterOperations","minInputTimestamp","selectedFlowMeterBinding","newFlowMeter","flowMeterOperationDeletedBinding","addFlowMeterOperation","flowMeterOperationsClient","speedLogVariables","isLoadingSpeedLogVariables","expirationDate","viewVeracityKey","editVeracityKey","isAddingCargoUnit","isRemovingCargoUnit","vesselUnwrapped","inputCargoUnitId","inputVesselTypeId","inputIceClassId","vesselTypes","isLoadingVesselTypes","vesselTypesClient","iceClasses","isLoadingIceClasses","iceClassesClient","iceClassId","inputPortOfRegistry","inputHomePort","inputEnergyEfficiencyDesignIndex","energyEfficiencyDesignIndex","inputEstimatedIndexValue","estimatedIndexValue","inputAuxiliaryEnginesPower","auxiliaryEnginesPower","inputMainPropulsionPower","mainPropulsionPower","inputDeadweight","deadweight","inputNetTonnage","netTonnage","inputGrossTonnage","grossTonnage","inputOwnerCompanyName","inputOwnerCompanyAddress","inputOperatorCompanyName","inputOperatorCompanyAddress","inputEmissionsContactPersonName","inputEmissionsContactPersonAddress","inputEmissionsContactPersonPhone","inputEmissionsContactPersonEmail","hasVesselCargoUnits","availableCargoUnits","vesselCargoUnit","fuelTypes","manualFlowMeters","fuelMassFlowRateLogVariableId","hasFlowMeter","hasFuelTank","isMissingTemplateSettings","fuelConsumptionSources","massFlowRateLogVariables","showNewFlowMeter","hasError","isLoadingFuelConsumptionSources","isLoadingMassFlowRateLogVariables","fuelConsumptionSourcesClient","inputFuelConsumptionSources","inputName","inputFuelMassFlowRateLogVariableId","isNewFlowMeterValid","newFlowMeterExists","newFlowMeterName","activeFlowMeter","flowMeterDeletedBinding","hasActiveFlowMeters","availableMassFlowRateLogVariables","inUseFuelMassFlowRateLogVariableId","massFlowRateLogVariable","addFlowMeter","cancelNewFlowMeter","clearNewFlowMeter","startNewFlowMeter","fuelMassFlowRateLogVariableName","showNewFuelTank","isNewFuelTankValid","newFuelTankExists","fuelTankDeletedBinding","hasActiveFuelTanks","newFuelTankName","activeFuelTank","addFuelTank","cancelNewFuelTank","clearNewFuelTank","startNewFuelTank","showNewFuelType","inputShortName","inputCarbonEmissionFactor","newFuelType","carbonEmissionFactor","isNewFuelTypeValid","fuelTypeDeletedBinding","hasActiveFuelTypes","addFuelType","cancelNewFuelType","startNewFuelType","inputType","cancelFunction","successFunction","dialogVisible","helpText","isConfirmButtonEnabled","isTextInputVisible","successButtonText","isConfirmButtonDisabled","valueBinding","errorValue","isTabSelected","updateMenuTab","FeaturesClient","numberOfShaftsOptions","dataReceiver","getFeatures","getDataReceiverEvent","isVesselEmpty","isImoNumberTaken","companyContainsVesselWithImoNumber","selectedCompany","assignedVessel","isImoNumberInCompany","featuresClient","displayAssignError","assignError","companySubscription","companyContainVesselWithImoNumber","enabledFeatures","isFeatureInitiallyEnabled","isFeatureEnabled","isFeatureEnabledBinding","isEnabled","activate","deactivate","getFeatureText","featureText","ImportStatistic","tableName","rowCount","importDurationText","ticksPerMs","ticksPerSecond","importDurationInMs","returnToStatusPage","ascSort","displayedImports","numberOfPages","pages","changeCurrentPage","page","rowsPerPageSubscription","goToFirst","viewImportDetails","importStatus","sortByDuration","goToLast","nextPage","previousPage","selectedRole","roleAlternatives","canEditRole","userRole","isAdministrator","initialUserSortParameter","cookie","expires","initialUserSortDirection","userSortParameter","userSortDirection","sortedUsers","getUserSortValue","sortParameter","lastActivityDate","isUserOnline","tenMinutesAgo","isAfter","getHeaderSortCssClass","parameter","toggleSortDirection","newUserSortDirection","viewUserClick","editUserClick","deleteUserClick","addUserClick","apiKeyClick","isGenerateApiKeyVisible","isClearApiKeyVisible","hasApiKey","cancelGenerateApiKey","cancelClearApiKey","showGenerateApiKeyDialog","showClearApiKeyDialog","isClearKeyVisible","firstLongTrend","headingText","diagnosticTypeHelpText","isDiagnosticTypeHelpOpen","toggleDiagnosticTypeHelpTooltip","hideDiagnosticTypeHelpTooltip","isZoomedOut","zoomMin","zoomMax","trendLinesSeries","firstLongTrendPeriod","firstPlotBand","yUnit","isRpm","isRpmDiagnostic","yMax","maximumValue","yMin","minimumValue","setExtremes","axis","userOptions","dataMin","dataMax","headerFormat","xDateFormat","valueSuffix","zoomAllHelpText","zoomMinText","zoomMaxText","isZoomAllHelpOpen","zoomAllGraphs","charts","resetZoomButton","showResetZoom","toggleZoomAllHelpTooltip","hideZoomAllHelpTooltip","showLastTrendPeriodOnly","subHeadingText","toggleShowLastTrendPeriodOnly","toggleRelativeYAxis","xUnit","axisType","VesselCompareRowData","lastExportDateText","vesselLongTrend","vesselLongTrendIds","vesselLongTrends","vesselLongTrendPeriods","sortedVesselLongTrendPeriods","lastLongTrendPeriod","lastPeriodStartDate","lastPeriodStartDateText","isBenchmarking","changePerYear","coefficient","benchmarkPointValue","benchmarkPoint","deviationFromBenchmark","vesselCompareRowData","inputMcrPercent","vesselSortParameter","vesselSortDirection","vesselLongTrendRowViewModels","sortedVesselCompareRowDatas","vesselLongTrendRowViewModel","isLoadingConsequences","consequencesMap","consequenceHeaders","allConsequences","allConsequenceResults","distinctHeaderNames","loadConsequences","consequencesClient","getMrcConsequenceIndexFromMcrPercent","mcrPercent","vesselColor","mcrConsequenceIndex","consequenceValues","consequenceResults","consequenceHeader","consequenceResult","headerSortCssClass","tooltipText","isTooltipOpen","newVesselSortDirection","companyList","isLoadingCompanyList","initialCompanySortParameter","initialCompanySortDirection","companySortParameter","companySortDirection","sortedCompanyList","getCompanySortValue","createdDate","subscriptionStatus","newCompanySortDirection","viewCompanyClick","viewAsCompanyClick","editCompanyClick","deleteCompanyClick","addCompanyClick","subscriptionAlternatives","editAccessGroupClick","renameAccessGroupClick","addAccessGroupClick","deleteAccessGroupClick","isLoadingUsers","isCriticalError","vesselsInAccessGroup","vesselsAvailable","usersInAccessGroup","usersAvailable","loadUsers","closeErrorDialog","addVessel","addVesselToCategory","removeVessel","removeVesselFromCategory","addUser","addUserToCategory","removeUserFromCategory","formatLatLongValue","latLongType","coordinateParts","getCoordinateParts","degrees","direction","isLatitude","latLongMinLimit","latLongMaxLimit","absoluteValue","minuteFraction","latLongPositiveSymbol","latLongNegativeSymbol","numberHelper","latitudeText","locationHelper","geoCoordinate","longitudeText","timestampText","inputLatitudeDegrees","inputLatitudeMinutes","inputLatitudeDirection","inputLongitudeDegrees","inputLongitudeMinutes","inputLongitudeDirection","initialLocation","validationErrors","latitudeParts","longitudeParts","currentGeoCoordinate","latitudeMultiplier","longitudeMultiplier","rendered","slideToggle","isVisible","hide","isSliding","complete","slideComplete","callbackContext","slideStart","slideDown","slideUp","defaultFormat","highcharts","Chart","AST","allowedAttributes","allowedReferences","numberFormat","defaultPrecision","formattedValue","undefinedIfEmpty","registerEventHandler","UpdatePickerDateProperty","picker","newDateValue","datepicker","pickadate","formatSubmit","selectYears","selectMonths","firstDay","hiddenSuffix","onSet","onClose","blur","minDateBinding","minDateValue","newMinDate","newMinDateMoment","currentDateMoment","maxDateBinding","maxDateValue","newMaxDate","newMaxDateMoment","scrollTop","div","scrollToElement","animate","offset","compareValues","asc","highlightColumn","tableRows","querySelectorAll","elementIndex","row","child","removeHighlighted","currentIndex","vesselsTableSort","tableHeaderRow","clickOutside","bindingContext","namespace","getNamespace","clickBinding","argsForHandler","makeArray","unshift","arrayLikeObject","mapObj","submitForm","change","something","form","humanizedDuration","textWithLineBreaks","tooltipValidation","validationObservable","isModified","datetimeFormat","datetime","formattedDateTime","deleteStylesWithin","deleteStyles","$elements","removeAttr","uniqueId","prefix","counter","uniqueFor","after","register","curvesFrame","treeSelect","curvesAbout","curvesHelp","importDetails","importStatusTable","longTrendConfig","featureNotAvailable","vesselFeature","assignVessel","vesselAdminTable","vesselsMenu","vesselAdmin","inputDialog","vesselFiles","generalSettings","emissionReportTemplate","vesselSettings","fmOperation","fmOperations","fmFuelConsumption","fmFuelConsumptionCreate","fmFuelConsumptions","flowMeterManagement","ftSounding","ftSoundings","ftOperation","ftOperations","ftFuelConsumption","ftFuelConsumptions","fuelTankManagement","voyageVesselEventLocation","voyageVesselEventDistance","voyageVesselEventCargos","voyageVesselEventPort","voyageVesselEventVoyage","voyageVesselEventTimeStamp","voyageVesselEventListItem","voyageVesselEventList","voyageChart","voyageCreate","departureListItem","departureList","voyagesChart","fuelConsumptionSummary","emissionReport","dataPie","vesselInfoMap","vesselPerformanceStatus","vesselPerformanceStatusItem","longTrendBenchmarkLevelIcon","performanceStatusIcon","componentLoading","vesselEventIcon","benefitsTable","benefitConsequence","benefitConsequenceResult","longTrendBenchmarkLevelSettings","loggingHistoryConfig","graphConfigVariableSelection","graphConfigTimePeriod","graphConfigDataInterval","curveEditGraph","curveGraph","cpModuleTable","curvePredictionTable","cssLoader","userList","userForm","userInfo","userApiKey","compareVessels","compareVesselsLongTrends","compareVesselsLongTrendsGraph","compareVesselsLongTrendsDetails","compareVesselsLongTrendsDetailsGraph","compareVesselsLongTrendsDetailsTable","compareVesselsLongTrendsDetailsTableRow","compareVesselsLongTrendsDetailsTableHeader","companyManager","companyTable","companyInfo","companyForm","vesselNotes","vesselAccessGroup","vesselAccessGroupList","vesselAccessGroupEditor","vesselAccessGroupName","geoCoordinates","geoCoordinatesEdit","Icon","Default","_getIconUrl","mergeOptions","iconRetinaUrl","iconUrl","shadowUrl","DateFilterDMYT","toLocaleDateString","hour","minute","DateFilterDMY","prettyLatitude","prettyLongitude","prettyLogVariable","companyNameFilter","koValidation","registerExtenders","messagesOnModified","insertMessages","parseInputAttributes","messageTemplate","decorateInputElement","errorElementClass","ajaxSetup","productionTip","defaultContainer","VueCookies","vuetify","$mount","green","orange","red","blue","gray","gpsUp","UserService","_user","_userExpired","companyName","newUserData","daysBeforeDataOutdated","_vesselGroupsExpired","_vesselGroups","vesselGroupClient","refreshVesselGroups","_trendEventTypes","_infoEvents","_trendEvents","VesselEventsClient","concat","category","vesselCategoryId","getParentId","table","getDataValues","parentId","getCurveDataValues","getCpModuleValues","getDeviationFromReferenceYAxis","getAverageValueOfVariable","updateSortIcons","otherIcons","getElementsByClassName","curveTableSort","dataValues","disabled","isWidgetFromDateModalActive","$refs","menuFromDate","isWidgetFromTimeModalActive","menuFromTime","isWidgetToDateModalActive","menuToDate","isWidgetToTimeModalActive","menuToTime","syncWidgetDateRange","setSyncWidgetDateRange","VDatePicker","VTimePicker","_currentVessel","_vessels","_extendedVessels","_vesselTypes","_extendedVesselsExpired","_vesselsLoadingState","_currentVesselLoading","currentVesselIndex","types","vesselPerformance","created","ballastDraftHigh","ballastDraftLow","ladenDraftHigh","ladenDraftLow","maxContinuousRating","speedMaxContinuousRating","numberOfShafts","draftMeanErrorMessage","ballastDraftHighErrorMessage","ballastDraftLowErrorMessage","ladenDraftHighErrorMessage","ladenDraftLowErrorMessage","maxContinuousRatingErrorMessage","speedMaxContinuousRatingErrorMessage","imoNumberErrorMessage","nameErrorMessage","isImoNumberValid","isDraftValid","isBallastDraftHighValid","isBallastDraftLowValid","isLadenDraftHighValid","isLadenDraftLowValid","isMaxContinuousRatingValid","isSpeedMaxContinuousRatingValid","isNameValid","getCompany","formattedImoNumber","formattedNumber","formattedCreatedDate","formattedLastExportDate","isVesselValid","nameBinding","getNameErrorMessage","validateField","imoNumberBinding","getImoNumberErrorMessage","draftMeanBinding","getDraftMeanErrorMessage","ballastDraftHighBinding","getBallastDraftHighErrorMessage","ballastDraftLowBinding","getBallastDraftLowErrorMessage","ladenDraftHighBinding","getLadenDraftHighErrorMessage","ladenDraftLowBinding","getLadenDraftLowErrorMessage","maxContinuousRatingBinding","getMaxContinuousRatingErrorMessage","speedMaxContinuousRatingBinding","getSpeedMaxContinuousRatingErrorMessage","errorMessageObservable","fieldValidationObservable","getDraftErrorMessage","draftValue","fieldName","maxContinuousRatingValue","getVessel","existingVessel","draftErrorMessage","imonNumberErrorMessage","doneCallback","archive","reactivate","updateDataReceiver","newIsDataReceiver","actionName","confirmResult","inputManualDistanceByGPS","setInitialInputManualDistanceByGPS","distanceBinding","isNegativeXValueAllowed","isNegativeYValueAllowed","dataPoint","isXValid","isYValid","secondsToMinutes","seconds","secondsToHours","secondsToDays","daysToHours","VesselFilesClient","fileId","getFileUrl","$_vesselLongTrends","updatedLongTrend","contactName","contactPhone","contactEmail","dcMasterDataCompanyId","getOriginalCompany","companyOnCreatedBinding","newCompany","companyOnUpdatedBinding","oldCompany","updatedCompany","companyOnRemovedBinding","removedCompany","CompanyListVM","companyViewBinding","CompanyVM","companyViewAsBinding","viewAsCompany","companyEditBinding","companyAddBinding","companyDeleteBinding","createCompany","removeCompany","editCompany","isCurrentUserInCompany","VesselDataWidgetClient","vesselDataWidgetConfiguration","vesselDataWidgetConfigId","_vesselDataWidgetConfigsExpired","_vesselDataWidgetConfigs","vesselDataWidgetConfigs","configIndex","vesselDataWidgetClient","tableWidgetId","vesselDataWidgetConfig","configurationName","createdVesselDataWidgetConfig","loCode","inputPortName","inputPortIsMrvPort","inputLoCode","isFindingPorts","foundPorts","findPortsTimeout","inputPortNameSubscription","portName","findPorts","selectFoundPort","portsClient","icons","ok","iconSize","popupAnchor","observe","notok","benchmarking","previousPosition","getIcon","vLocation","latSplitted","longSplitted","latDegrees","longDegrees","latRangeOk","longRangeOk","locationAvailable","popup","bubbleContent","voyageName","prettyLogSpeed","prettyGpsSpeed","prettyCourse","prettyDraftMean","prettyTrim","setContent","prettyExportDate","bindPopup","createFrontPageMarker","initialIsPopupOpen","closeOnClick","autoClose","domelem","toggleClass","removeEventListener","markerPopup","getPopup","getElement","findMaxDiffLongitude","x5","x4","x3","x2","latLngLists","latLngs","prevLatitude","prevLongitude","maxDiffLatitude","diffLatitude","diffLongitude","averageLatitude","maxDiffLongitude","latLngListsWithAtLeastTwoItems","latLngList","smoothFactor","opacity","createPolylinesForMapWidget"],"mappings":"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","file":"js/app.e2817840.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-02169837\":\"d3a2b53e\",\"chunk-07965cde\":\"232c958b\",\"chunk-0c5945f8\":\"c3a21af5\",\"chunk-16249eeb\":\"6fb89cc0\",\"chunk-20899cdc\":\"5bfcca96\",\"chunk-2133958b\":\"51903b37\",\"chunk-2d0a516c\":\"d7798d55\",\"chunk-2d0aa253\":\"8de83af4\",\"chunk-2d0b5a52\":\"d0f2714d\",\"chunk-2d0bff1f\":\"400cfd56\",\"chunk-2d0cc20a\":\"be725448\",\"chunk-2d0cc426\":\"41b9a080\",\"chunk-2d0e4eac\":\"980d8062\",\"chunk-2d2375db\":\"add9b36a\",\"chunk-300cb12d\":\"592569c6\",\"chunk-19c6ee56\":\"1f44d2c1\",\"chunk-2d0de5b1\":\"ec86cc38\",\"chunk-3d63cd6f\":\"b94fff46\",\"chunk-4b3a2146\":\"6906b1a0\",\"chunk-4c752948\":\"a120ffd1\",\"chunk-4efa5f98\":\"15cfff51\",\"chunk-510d4593\":\"0b057f00\",\"chunk-032a2cb7\":\"2257d095\",\"chunk-0808c399\":\"cc473cec\",\"chunk-0d989722\":\"18dab0bb\",\"chunk-0ddb924c\":\"c3ffd555\",\"chunk-3e8ced80\":\"936613dc\",\"chunk-4c2f5fd3\":\"03602892\",\"chunk-4ec7a860\":\"51123d7b\",\"chunk-6a8f30a4\":\"0180707f\",\"chunk-6ea5f4e5\":\"3374c834\",\"chunk-73e944a3\":\"356d53d7\",\"chunk-7bd52b73\":\"302d69c8\",\"chunk-2f3159e8\":\"59e7705d\",\"chunk-77fc2c81\":\"6aec4d93\",\"chunk-07184d32\":\"6bfd9466\",\"chunk-d7fbfdee\":\"b571555c\",\"chunk-5c63d312\":\"0cb0ef72\",\"chunk-a68b255c\":\"7973735c\",\"chunk-ab83461a\":\"27a34ca3\",\"chunk-fc7364c2\":\"c178961f\",\"chunk-5b57029d\":\"0ff75b6f\",\"chunk-6341bc74\":\"81b8dfe9\",\"chunk-6524e445\":\"978df2a4\",\"chunk-67bba793\":\"71c661b1\",\"chunk-690b2e57\":\"4b92d956\",\"chunk-6bb13978\":\"801382b3\",\"chunk-73506bde\":\"bfa45681\",\"chunk-76ee0496\":\"505937e8\",\"chunk-77f21870\":\"a5f55731\",\"chunk-afd6cc70\":\"fb2f93e8\",\"chunk-78161a2e\":\"943ebf60\",\"chunk-781a025e\":\"c228c064\",\"chunk-9b066018\":\"99007ca5\",\"chunk-cf6649ce\":\"97f38e25\",\"chunk-2d2101f0\":\"8e604231\",\"chunk-810a2efc\":\"10520a52\",\"chunk-f0ce5e78\":\"255cffcc\",\"chunk-f6fa3efe\":\"53dd1e2d\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-02169837\":1,\"chunk-07965cde\":1,\"chunk-0c5945f8\":1,\"chunk-16249eeb\":1,\"chunk-20899cdc\":1,\"chunk-2133958b\":1,\"chunk-300cb12d\":1,\"chunk-19c6ee56\":1,\"chunk-3d63cd6f\":1,\"chunk-4b3a2146\":1,\"chunk-4c752948\":1,\"chunk-4efa5f98\":1,\"chunk-510d4593\":1,\"chunk-032a2cb7\":1,\"chunk-0808c399\":1,\"chunk-0d989722\":1,\"chunk-0ddb924c\":1,\"chunk-3e8ced80\":1,\"chunk-4c2f5fd3\":1,\"chunk-4ec7a860\":1,\"chunk-6a8f30a4\":1,\"chunk-6ea5f4e5\":1,\"chunk-73e944a3\":1,\"chunk-7bd52b73\":1,\"chunk-2f3159e8\":1,\"chunk-77fc2c81\":1,\"chunk-07184d32\":1,\"chunk-d7fbfdee\":1,\"chunk-5c63d312\":1,\"chunk-a68b255c\":1,\"chunk-ab83461a\":1,\"chunk-fc7364c2\":1,\"chunk-5b57029d\":1,\"chunk-6341bc74\":1,\"chunk-6524e445\":1,\"chunk-67bba793\":1,\"chunk-690b2e57\":1,\"chunk-73506bde\":1,\"chunk-76ee0496\":1,\"chunk-afd6cc70\":1,\"chunk-78161a2e\":1,\"chunk-cf6649ce\":1,\"chunk-810a2efc\":1,\"chunk-f0ce5e78\":1,\"chunk-f6fa3efe\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-02169837\":\"f94b51fb\",\"chunk-07965cde\":\"c052eb5b\",\"chunk-0c5945f8\":\"a2c89e0c\",\"chunk-16249eeb\":\"e581c398\",\"chunk-20899cdc\":\"7f4d469b\",\"chunk-2133958b\":\"70d3f77e\",\"chunk-2d0a516c\":\"31d6cfe0\",\"chunk-2d0aa253\":\"31d6cfe0\",\"chunk-2d0b5a52\":\"31d6cfe0\",\"chunk-2d0bff1f\":\"31d6cfe0\",\"chunk-2d0cc20a\":\"31d6cfe0\",\"chunk-2d0cc426\":\"31d6cfe0\",\"chunk-2d0e4eac\":\"31d6cfe0\",\"chunk-2d2375db\":\"31d6cfe0\",\"chunk-300cb12d\":\"36c2a93f\",\"chunk-19c6ee56\":\"8c8d4213\",\"chunk-2d0de5b1\":\"31d6cfe0\",\"chunk-3d63cd6f\":\"095f49be\",\"chunk-4b3a2146\":\"00311921\",\"chunk-4c752948\":\"b57a440e\",\"chunk-4efa5f98\":\"e7f4b52f\",\"chunk-510d4593\":\"74a66b7e\",\"chunk-032a2cb7\":\"c0613fc6\",\"chunk-0808c399\":\"60c16205\",\"chunk-0d989722\":\"b16bd00c\",\"chunk-0ddb924c\":\"cd088748\",\"chunk-3e8ced80\":\"6df76c8e\",\"chunk-4c2f5fd3\":\"3b6ccabf\",\"chunk-4ec7a860\":\"00a67f71\",\"chunk-6a8f30a4\":\"7de97ee7\",\"chunk-6ea5f4e5\":\"83364229\",\"chunk-73e944a3\":\"46b3c568\",\"chunk-7bd52b73\":\"905851b8\",\"chunk-2f3159e8\":\"e4473b79\",\"chunk-77fc2c81\":\"a40f95aa\",\"chunk-07184d32\":\"4f537bbf\",\"chunk-d7fbfdee\":\"321a583a\",\"chunk-5c63d312\":\"e1682681\",\"chunk-a68b255c\":\"b151524f\",\"chunk-ab83461a\":\"9d01dd8f\",\"chunk-fc7364c2\":\"ec92f6dc\",\"chunk-5b57029d\":\"25dcae29\",\"chunk-6341bc74\":\"7e172116\",\"chunk-6524e445\":\"2995fd6d\",\"chunk-67bba793\":\"2dfb51dd\",\"chunk-690b2e57\":\"f94b51fb\",\"chunk-6bb13978\":\"31d6cfe0\",\"chunk-73506bde\":\"d7b02883\",\"chunk-76ee0496\":\"8faea6ec\",\"chunk-77f21870\":\"31d6cfe0\",\"chunk-afd6cc70\":\"0df05908\",\"chunk-78161a2e\":\"58a6eefa\",\"chunk-781a025e\":\"31d6cfe0\",\"chunk-9b066018\":\"31d6cfe0\",\"chunk-cf6649ce\":\"0fd9fe04\",\"chunk-2d2101f0\":\"31d6cfe0\",\"chunk-810a2efc\":\"597ecc04\",\"chunk-f0ce5e78\":\"06295edc\",\"chunk-f6fa3efe\":\"401aa08f\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import template from \"./voyage-vessel-event-timestamp.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport moment from \"moment\";\r\nimport dateHelper from \"Utilities/date-helper\";\r\nimport events from \"App/events\";\r\nimport emissionReportVesselEventsClient from \"Clients/emission-report-vessel-events-client\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.voyageVesselEvent = params.voyageVesselEvent;\r\n self.vesselEvent = params.voyageVesselEvent.vesselEvent;\r\n self.isEditing = ko.observable(false);\r\n\r\n self.inputTimestampDate = ko.observable(dateHelper.getFormatedDateString(self.vesselEvent().timestamp));\r\n self.inputTimestampTime = ko.observable(dateHelper.getFormatedTimeString(self.vesselEvent().timestamp));\r\n\r\n self.plotLineDateSelectedBinding = events.plotLineDateSelected.add(function(selectedDate) {\r\n self.inputTimestampDate(dateHelper.getFormatedDateString(selectedDate));\r\n self.inputTimestampTime(dateHelper.getFormatedTimeString(selectedDate));\r\n });\r\n\r\n self.isInputTimestampValid = ko.pureComputed(function() {\r\n var inputTimestampDate = self.inputTimestampDate();\r\n var inputTimestampTime = self.inputTimestampTime();\r\n var timestampMoment = dateHelper.getDateTime(inputTimestampDate, inputTimestampTime);\r\n var vesselEvent = self.vesselEvent();\r\n\r\n var previousVesselEvent = self.voyageVesselEvent.previousVesselEvent();\r\n if (previousVesselEvent) {\r\n var previousVesselEventMoment = moment.utc(previousVesselEvent.timestamp);\r\n if (timestampMoment <= previousVesselEventMoment) return false;\r\n }\r\n\r\n var nextVesselEvent = self.voyageVesselEvent.nextVesselEvent();\r\n if (nextVesselEvent) {\r\n var nextVesselEventMoment = moment.utc(nextVesselEvent.timestamp);\r\n if (timestampMoment >= nextVesselEventMoment) return false;\r\n }\r\n\r\n return true;\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function() {\r\n this.plotLineDateSelectedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.startEditing = function(vm, e) {\r\n var $wrapper = $(e.currentTarget).closest(\".edit-wrapper\");\r\n this.isEditing(true);\r\n events.dateSelectStarted.dispatch();\r\n\r\n var $input = $wrapper.find(\"input.timeInput\");\r\n $input.focus();\r\n $input.select();\r\n};\r\n\r\nViewModel.prototype.cancelEditing = function(vm, e) {\r\n this.isEditing(false);\r\n events.dateSelectEnded.dispatch();\r\n};\r\n\r\nViewModel.prototype.save = function() {\r\n var self = this;\r\n var vesselEvent = _.clone(self.vesselEvent());\r\n var date = self.inputTimestampDate();\r\n var time = self.inputTimestampTime();\r\n vesselEvent.timestamp = dateHelper.getSubmitDateString(date, time);\r\n\r\n emissionReportVesselEventsClient.update(vesselEvent).done(function() {\r\n self.cancelEditing();\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAVVJREFUeNpiZMACfi6X0QRSSUDsBsQaQMwGxL+A+AYQ7wLieeyRT66j6/v//z8DI5pB/ECqH4gTgJiRATf4D8QLgLgQaPBHrAYCDZMBUnuBWI2BeHALiJ2Bhj5BMRDqslPYDGPkVfzCwMrzl+H3tz//P98VxmGoGcilIAOZoIL9uFzGbNrJw+q2jZ/FYYkwDleqQfWDARM0AhIYKAMJUHPALkwiEAHEAEaoOWAD3RioA9xgBmpQyUANmIFsVDKQDWbgLyoZCDaHBZqd9HCp+nupm+EfuyCQ8Z2QgTdgLtxFJRfughk4D5o3sQJmvVIGFtu5wATexUAgb88DGwgtNRZQ6LoFsNIHOS+fBmJVjBTLKfGdgYXrH8PfH3//f3vGh8Ww20BsCsvL6KXNPmyG4gEgw5yQSxtY4cAAFTQF4vn4whQpzOZDXfYEPQ9St8QGEdQEAAEGAG9/fxu9UWZNAAAAAElFTkSuQmCC\"","// Module\nvar code = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Please add below what cargo units the vessel is carrying.
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Cargo carried
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/performance-status-widget-illustration-1.65ba6a1d.png\";","// Module\nvar code = \"\\r\\n \\r\\n  \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","import \"dropzone\";\r\n\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport $ from \"jquery\";\r\nimport events from \"App/events\";\r\nimport authHeader from \"@/services/AuthHeader\";\r\n\r\nfunction updateTempFolders(file, fileName, tempFolders, parentFolders) {\r\n _.each(parentFolders(), function(parentFolder) {\r\n var tempFolder = _.find(tempFolders(), function (tempFolder) {\r\n return tempFolder.folderPath() === parentFolder.folderPath();\r\n });\r\n\r\n if (tempFolder) {\r\n tempFolders.remove(tempFolder);\r\n }\r\n });\r\n}\r\n\r\nko.bindingHandlers.fileUpload = {\r\n init: function (element, valueAccessor, allBindingsAccessor) {\r\n var vesselId = valueAccessor().vesselId;\r\n var file = valueAccessor().file;\r\n var folder = valueAccessor().folder;\r\n var isValidFile = valueAccessor().isValidFile;\r\n var errorMessage = valueAccessor().errorMessage;\r\n var isUploading = valueAccessor().isUploading;\r\n var filesInCurrentFolder = valueAccessor().filesInCurrentFolder;\r\n var parentFolders = valueAccessor().parentFolders;\r\n var tempFolders = valueAccessor().tempFolders;\r\n\r\n $(element).dropzone({\r\n acceptedFiles: \"application/pdf, .doc, .docx, .dot, .docm, .dotx, .dotm, .xlsx, .xls, .xlt, .xlm, .xlsm, .xltx, .xltm\",\r\n dictInvalidFileType: \"Files of this type are not supported, you can only upload PDF, Word or Excel files.\",\r\n url: process.env.VUE_APP_API_BASE_URL + \"/VesselFiles/\" + vesselId,\r\n timeout: 6000000,\r\n headers: authHeader(),\r\n init: function () {\r\n this.on(\"success\", function (file, vesselFile) {\r\n updateTempFolders(vesselFile, file.name, tempFolders, parentFolders);\r\n events.vesselFileUploaded.dispatch(vesselFile);\r\n errorMessage(\"\");\r\n }).on(\"error\", function (file, response) {\r\n var message = _.isUndefined(response.message) ? response : response.message;\r\n\r\n errorMessage(message);\r\n isValidFile(false);\r\n }).on(\"addedfile\", function (file) {\r\n var fileName = folder().folderPath() + file.name;\r\n\r\n var fileExists = _.some(filesInCurrentFolder(), function (file) {\r\n return file.fileName() === fileName;\r\n });\r\n\r\n file.upload.filename = fileName;\r\n\r\n if (fileExists) {\r\n if (!confirm(file.name + \" already exists. Do you want to replace it?\")) {\r\n this.removeFile(file);\r\n }\r\n }\r\n }).on(\"sending\", function () {\r\n isUploading(true);\r\n }).on(\"complete\", function () {\r\n isUploading(false);\r\n });\r\n },\r\n });\r\n },\r\n update: function (element, valueAccessor, allBindingsAccessor) {\r\n\r\n },\r\n};\r\n","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport $ from \"jquery\";\r\nimport vesselFilesClient from \"Clients/vessel-files-client\";\r\n\r\nfunction getFilesInFolder(files, folder) {\r\n var folderPath = folder.folderPath();\r\n var filesInFolder = [];\r\n\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var isDescendant = fileName.indexOf(folderPath) === 0;\r\n\r\n if (isDescendant) {\r\n var childFileName = fileName.replace(folderPath, \"\");\r\n var fileExistsInFolder = childFileName.indexOf(\"/\") === -1;\r\n\r\n if (fileExistsInFolder) {\r\n filesInFolder.push(file);\r\n }\r\n }\r\n });\r\n\r\n return filesInFolder;\r\n}\r\n\r\nfunction updateFile(file, newFileName, tempFolders, folder) {\r\n file.fileName(newFileName);\r\n vesselFilesClient.update(file.getFile());\r\n folder.isTempFolder(false);\r\n tempFolders.remove(folder);\r\n}\r\n\r\nko.bindingHandlers.draggableFile = {\r\n init: function (element, valueAccessor, allBindingsAccessor) {\r\n var isFolder = valueAccessor().isFolder;\r\n var draggableElement = valueAccessor().draggableElement;\r\n var data = valueAccessor().data;\r\n var tempFolders = valueAccessor().tempFolders;\r\n var files = valueAccessor().files;\r\n\r\n $(element).on(\"dragstart\", function (event) {\r\n if (!isFolder) {\r\n draggableElement(data);\r\n }\r\n }).on(\"dragenter dragover\", function (event) {\r\n event.preventDefault();\r\n\r\n if (isFolder) {\r\n element.className += \" dragover\";\r\n }\r\n }).on(\"dragleave drop\", function (event) {\r\n if (isFolder) {\r\n element.className = element.className.replace(/(?:^|\\s)dragover(?!\\S)/g, \"\");\r\n }\r\n }).on(\"drop\", function (event) {\r\n event.preventDefault();\r\n\r\n if (isFolder) {\r\n var file = draggableElement();\r\n var fileName = file.fileNameWithoutPath();\r\n var newFileName = data.folderPath() + fileName;\r\n var filesInFolder = getFilesInFolder(files(), data);\r\n var moveFile = true;\r\n\r\n var existingFile = _.find(filesInFolder, function (file) {\r\n return file.fileNameWithoutPath() === fileName;\r\n });\r\n\r\n if (existingFile) {\r\n if (confirm(fileName + \" already exists. Do you want to replace it?\")) {\r\n moveFile = false;\r\n vesselFilesClient.remove(existingFile.id()).done(function () {\r\n files.remove(existingFile);\r\n updateFile(file, newFileName, tempFolders, data);\r\n });\r\n }\r\n } else {\r\n updateFile(file, newFileName, tempFolders, data);\r\n }\r\n }\r\n });\r\n },\r\n update: function (element, valueAccessor, allBindingsAccessor) {\r\n\r\n },\r\n};","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport moment from \"moment\";\r\nimport vesselFilesClient from \"Clients/vessel-files-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function File(fileEntity) {\r\n var self = this;\r\n\r\n self.supportedExtensions = {\r\n excel: [\"xlsx\", \"xls\", \"xlt\", \"xlm\", \"xlsm\", \"xltx\", \"xltm\"],\r\n word: [\"doc\", \"docx\", \"dot\", \"docm\", \"dotx\", \"dotm\"],\r\n pdf: [\"pdf\"],\r\n };\r\n\r\n self.elementType = \"file\";\r\n self.id = ko.observable(fileEntity.id);\r\n self.fileName = ko.observable(fileEntity.fileName);\r\n self.uploadedTime = ko.observable(fileEntity.uploadedTime);\r\n self.vesselId = ko.observable(fileEntity.vesselId);\r\n self.folderId = ko.observable(fileEntity.folderId);\r\n self.binaryFileId = ko.observable(fileEntity.binaryFileId);\r\n self.uploadedBy = ko.observable(fileEntity.uploadedBy);\r\n self.fileSize = ko.observable(fileEntity.fileSize);\r\n self.isFileMenuVisible = ko.observable(false);\r\n self.newName = ko.observable();\r\n\r\n self.fileIcon = ko.pureComputed(function() {\r\n var fileExtension = self.fileExtension().toLowerCase();\r\n var supportedExtensions = self.supportedExtensions;\r\n\r\n if (_.some(supportedExtensions.excel, function(extension) { return extension === fileExtension; })) {\r\n return \"fa fa-file-excel-o fa-2x excelIcon\";\r\n } else if (_.some(supportedExtensions.word, function (extension) { return extension === fileExtension; })) {\r\n return \"fa fa-file-word-o fa-2x wordIcon\";\r\n } else if (_.some(supportedExtensions.pdf, function (extension) { return extension === fileExtension; })) {\r\n return \"fa fa-file-pdf-o fa-2x pdfIcon\";\r\n }\r\n\r\n return \"\";\r\n });\r\n\r\n self.fileExtension = ko.pureComputed(function () {\r\n var fileName = self.fileName();\r\n return fileName.split(\".\").pop();\r\n });\r\n\r\n self.formattedFileSize = ko.pureComputed(function () {\r\n var fileSize = self.fileSize();\r\n return stringHelper.getPrettyFileSize(fileSize);\r\n });\r\n\r\n self.uploadedText = ko.pureComputed(function () {\r\n var uploadedTime = self.uploadedTime();\r\n\r\n return moment(uploadedTime).format(\"DD. MMM, YYYY HH:mm\");\r\n });\r\n\r\n self.newNameErrorText = ko.pureComputed(function () {\r\n var newName = self.newName() + \".\" + self.fileExtension();\r\n return \"A file with the name \" + newName + \" already exists\";\r\n });\r\n\r\n self.rename = function () {\r\n var newName = self.newName();\r\n var fileName = self.fileName();\r\n var fileNameWithoutPath = self.fileNameWithoutPath();\r\n\r\n if (newName === fileNameWithoutPath) {\r\n return;\r\n }\r\n\r\n var fileExtension = \".\" + fileName.split(\".\").pop();\r\n var newNameEndsWithExtension = stringHelper.endsWith(newName, fileExtension, false);\r\n newName += fileExtension;\r\n\r\n fileName = fileName.replace(fileNameWithoutPath, newName);\r\n self.fileName(fileName);\r\n\r\n vesselFilesClient.update(self.getFile());\r\n };\r\n\r\n self.fileNameWithoutPath = ko.pureComputed(function() {\r\n var fileName = self.fileName();\r\n\r\n if (fileName.indexOf(\"/\") === -1) {\r\n return fileName;\r\n } else {\r\n return fileName.split(\"/\").slice(-1)[0];\r\n }\r\n }); \r\n\r\n self.fileNameWithoutExtension = ko.pureComputed(function() {\r\n var fileName = self.fileNameWithoutPath();\r\n var fileExtension = \".\" + self.fileExtension();\r\n return fileName.replace(fileExtension, \"\");\r\n });\r\n\r\n self.resetName = function () {\r\n var fileName = self.fileName();\r\n var nameWithoutExtension = fileName.substr(0, fileName.lastIndexOf(\".\"));\r\n\r\n self.newName(nameWithoutExtension);\r\n };\r\n};\r\n\r\nViewModel.prototype.getFileNameWithoutPath = function(fileName) {\r\n if (fileName.indexOf(\"/\") === -1) {\r\n return fileName;\r\n } else {\r\n return fileName.split(\"/\").slice(-1);\r\n }\r\n};\r\n\r\nViewModel.prototype.showFileMenu = function () {\r\n var isFileMenuVisible = this.isFileMenuVisible();\r\n this.isFileMenuVisible(!isFileMenuVisible);\r\n};\r\n\r\nViewModel.prototype.hideFileMenu = function (arg) {\r\n this.isFileMenuVisible(false);\r\n};\r\n\r\nViewModel.prototype.getFile = function() {\r\n var self = this;\r\n\r\n var file = {\r\n id: self.id(),\r\n fileName: self.fileName(),\r\n fileSize: self.fileSize(),\r\n uploadedTime: self.uploadedTime(),\r\n uploadedBy: self.uploadedBy(),\r\n vesselId: self.vesselId(),\r\n binaryFileId: self.binaryFileId(),\r\n };\r\n\r\n return file;\r\n};\r\n\r\nexport default ViewModel;","import ko from \"knockout\";\r\n\r\nvar ViewModel = function Folder(folderName, folderPath, isTempFolder) {\r\n var self = this;\r\n\r\n self.elementType = \"folder\";\r\n self.folderName = ko.observable(folderName);\r\n self.folderPath = ko.observable(folderPath);\r\n self.isTempFolder = ko.observable(isTempFolder);\r\n\r\n self.isFileMenuVisible = ko.observable(false);\r\n self.newName = ko.observable(folderName);\r\n\r\n self.newNameErrorText = ko.pureComputed(function () {\r\n var newName = self.newName();\r\n return \"A folder with the name \" + newName + \" already exists\";\r\n });\r\n\r\n self.resetName = function () {\r\n var folderName = self.folderName();\r\n self.newName(folderName);\r\n };\r\n};\r\n\r\nViewModel.prototype.showFileMenu = function (element) {\r\n var isFileMenuVisible = this.isFileMenuVisible();\r\n this.isFileMenuVisible(!isFileMenuVisible);\r\n};\r\n\r\nViewModel.prototype.hideFileMenu = function() {\r\n this.isFileMenuVisible(false);\r\n};\r\n\r\nexport default ViewModel;","import \"Bindings/fileUpload\";\r\nimport \"Bindings/draggableFile\";\r\nimport \"Bindings/vesselFilesSort\";\r\n\r\nimport template from \"./vessel-files.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport vesselFilesClient from \"Clients/vessel-files-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\nimport FileVM from \"ViewModels/vesselFiles/file\";\r\nimport FolderVM from \"ViewModels/vesselFiles/folder\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n\r\n self.vesselId = params.vesselId;\r\n self.vesselName = params.vesselname;\r\n //self.vesselFileSizeLimitInMB = params.vesselFileSizeLimitInMB;\r\n //hardcoded value for now. This is same value as in Web.config\r\n self.vesselFileSizeLimitInMB = 1000;\r\n self.newFolderHelpText = \"Note: A folder will not be saved until you upload a file to it.\";\r\n self.tooltipHelpText = \"Here you can store PDF, Word and Excel documents. Please be aware that files you store here are instantly available to other users that can see this vessel.\";\r\n\r\n self.newFolderName = ko.observable();\r\n self.pdfFileName = ko.observable();\r\n self.vesselFilePdfUrl = ko.observable();\r\n self.elementToDelete = ko.observable();\r\n self.elementToRename = ko.observable();\r\n self.draggableElement = ko.observable();\r\n\r\n self.isFilesLoading = ko.observable(true);\r\n self.isValidFile = ko.observable(true);\r\n self.isUploading = ko.observable(false);\r\n self.isHelpTooltipOpen = ko.observable(false);\r\n self.sortAscending = ko.observable(true);\r\n self.sortColumn = ko.observable(\"fileName\");\r\n self.errorMessage = ko.observable();\r\n\r\n self.isNewFolderDialogVisible = ko.observable(false);\r\n self.isPdfViewerVisible = ko.observable(false);\r\n self.isDeleteDialogVisible = ko.observable(false);\r\n self.isRenameDialogVisible = ko.observable(false);\r\n self.hasRenameError = ko.observable(false);\r\n self.hasNewFolderError = ko.observable(false);\r\n\r\n self.files = ko.observableArray([]);\r\n self.currentFolder = ko.observable(new FolderVM(self.vesselName, \"\", false));\r\n self.foldersInCurrentFolder = ko.observableArray([]);\r\n self.tempFolders = ko.observableArray([]);\r\n\r\n self.getFiles();\r\n\r\n self.formattedFileSizeLimit = ko.pureComputed(function () {\r\n var limit = self.vesselFileSizeLimitInMB;\r\n limit = limit * 1000000;\r\n\r\n return stringHelper.getPrettyFileSize(limit);\r\n });\r\n\r\n self.totalFileSize = ko.pureComputed(function() {\r\n var files = self.files();\r\n var bytes = 0;\r\n\r\n _.each(files, function(file) {\r\n bytes += file.fileSize();\r\n });\r\n\r\n return stringHelper.getPrettyFileSize(bytes);\r\n });\r\n\r\n self.parentFolders = ko.pureComputed(function () {\r\n var currentFolder = self.currentFolder();\r\n var folderName = currentFolder.folderName();\r\n var folderPath = currentFolder.folderPath();\r\n var parentFolders = [];\r\n\r\n if (folderPath !== \"\") {\r\n parentFolders.push(currentFolder);\r\n\r\n var parentFolderPath = folderPath.replace(folderName + \"/\", \"\");\r\n var stop = false;\r\n\r\n if (parentFolderPath !== \"\") {\r\n do {\r\n var parentFolderNames = parentFolderPath.split(\"/\");\r\n var parentFolderName = parentFolderNames[parentFolderNames.length - 2];\r\n\r\n\r\n parentFolders.push(new FolderVM(parentFolderName, parentFolderPath));\r\n parentFolderPath = parentFolderPath.replace(parentFolderName + \"/\", \"\");\r\n\r\n stop = parentFolderPath === \"\";\r\n } while (!stop);\r\n }\r\n }\r\n\r\n parentFolders.push(new FolderVM(self.vesselName, \"\"));\r\n parentFolders.reverse();\r\n\r\n return parentFolders;\r\n });\r\n\r\n self.filesInCurrentFolder = ko.pureComputed(function () {\r\n var folderPath = self.currentFolder().folderPath();\r\n var sortColumn = self.sortColumn();\r\n var files = self.files();\r\n var filesInFolder = [];\r\n\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var isDescendant = fileName.indexOf(folderPath) === 0;\r\n\r\n if (isDescendant) {\r\n var childFileName = fileName.replace(folderPath, \"\");\r\n var fileExistsInFolder = childFileName.indexOf(\"/\") === -1;\r\n\r\n if (fileExistsInFolder) {\r\n filesInFolder.push(file);\r\n }\r\n }\r\n });\r\n\r\n self.sortFiles(filesInFolder, sortColumn);\r\n\r\n return filesInFolder;\r\n });\r\n\r\n self.deleteText = ko.pureComputed(function() {\r\n var element = self.elementToDelete();\r\n\r\n if (element instanceof FolderVM) {\r\n return \"Are you sure you want to delete this folder and all of its contents?\";\r\n } else {\r\n return \"Are you sure you want to delete this file?\";\r\n }\r\n });\r\n\r\n self.goToFolder = function (folder) {\r\n self.currentFolder(folder);\r\n self.getFolders();\r\n };\r\n\r\n self.viewPdf = function (file) {\r\n self.pdfFileName(file.fileNameWithoutPath());\r\n\r\n self.isPdfViewerVisible(true);\r\n events.viewPdf.dispatch(ko.toJS(file.getFile()));\r\n };\r\n\r\n self.showDeleteDialog = function (element) {\r\n self.elementToDelete(element);\r\n self.isDeleteDialogVisible(true);\r\n element.isFileMenuVisible(false);\r\n };\r\n\r\n self.showRenameDialog = function (element) {\r\n if (element.elementType === \"file\") {\r\n element.newName(element.fileNameWithoutExtension());\r\n }\r\n\r\n self.elementToRename(element);\r\n self.isRenameDialogVisible(true);\r\n element.isFileMenuVisible(false);\r\n };\r\n\r\n self.rename = function () {\r\n var element = self.elementToRename();\r\n var files = self.filesInCurrentFolder();\r\n var folders = self.foldersInCurrentFolder();\r\n var isFile = element.elementType === \"file\";\r\n\r\n var elements = isFile ? files : folders;\r\n var elementName= isFile ? element.newName() + \".\" + element.fileExtension() : folders;\r\n elements = _.without(elements, element);\r\n\r\n var isInvalid = _.some(elements, function (value) {\r\n var sourceName = isFile ? value.fileNameWithoutPath() : value.folderName();\r\n\r\n return elementName === sourceName;\r\n });\r\n\r\n if (isInvalid) {\r\n self.hasRenameError(true);\r\n } else {\r\n self.hasRenameError(false);\r\n\r\n if (!isFile) {\r\n self.renameFolder(element);\r\n self.sortFiles(folders, \"folderName\");\r\n self.foldersInCurrentFolder(folders);\r\n } else {\r\n element.rename();\r\n }\r\n self.isRenameDialogVisible(false);\r\n }\r\n };\r\n\r\n self.createNewFolder = function () {\r\n var folderName = self.newFolderName();\r\n var folders = self.foldersInCurrentFolder();\r\n var currentFolder = self.currentFolder();\r\n\r\n var isInvalid = _.some(folders, function (folder) {\r\n return folder.folderName() === folderName;\r\n });\r\n\r\n if (isInvalid) {\r\n self.hasNewFolderError(true);\r\n } else {\r\n var folderPath = currentFolder.folderPath() + folderName + \"/\";\r\n self.isNewFolderDialogVisible(false);\r\n self.newFolderName(\"\");\r\n self.hasNewFolderError(false);\r\n\r\n var folder = new FolderVM(folderName, folderPath, true);\r\n folders.push(folder);\r\n self.sortFiles(folders, \"folderName\");\r\n self.foldersInCurrentFolder(folders);\r\n self.tempFolders.push(folder);\r\n }\r\n };\r\n\r\n self.deleteElement = function () {\r\n var element = self.elementToDelete();\r\n\r\n if (element instanceof FolderVM) {\r\n self.removeFolder(element);\r\n } else {\r\n self.removeFile(element);\r\n }\r\n\r\n self.isDeleteDialogVisible(false);\r\n };\r\n\r\n self.downloadFile = function (file) {\r\n events.vesselFileDownload.dispatch(ko.toJS(file.getFile()));\r\n };\r\n\r\n self.vesselFileUploadedBinding = events.vesselFileUploaded.add(function (file) {\r\n var sortColumn = self.sortColumn();\r\n var files = self.files();\r\n var existingFile = _.find(files, function (fileVM) { return fileVM.id() === file.id; });\r\n var currentFolder = self.currentFolder();\r\n\r\n if (existingFile) {\r\n var indexOfExistingFile = _.indexOf(files, existingFile);\r\n files[indexOfExistingFile] = new FileVM(file);\r\n } else {\r\n files.push(new FileVM(file));\r\n }\r\n\r\n self.tempFolders.remove(currentFolder);\r\n\r\n self.sortFiles(files, sortColumn);\r\n self.files(files);\r\n });\r\n\r\n self.closeTooltipBinding = events.closeTooltip.add(function () {\r\n self.isHelpTooltipOpen(false);\r\n });\r\n}\r\n\r\nViewModel.prototype.showNewFolderDialog = function () {\r\n this.isNewFolderDialogVisible(true);\r\n};\r\n\r\nViewModel.prototype.showFileMenu = function (element) {\r\n this.isFileMenuVisible(true);\r\n};\r\n\r\nViewModel.prototype.removeFile = function (file) {\r\n var self = this;\r\n\r\n vesselFilesClient.remove(file.id())\r\n .done(function () {\r\n self.files.remove(file);\r\n });\r\n};\r\n\r\nViewModel.prototype.removeFolder = function (folder) {\r\n var self = this;\r\n var files = self.files();\r\n var folderPath = folder.folderPath();\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var startsWith = fileName.indexOf(folderPath) === 0;\r\n\r\n if (startsWith) {\r\n self.removeFile(file);\r\n self.foldersInCurrentFolder.remove(folder);\r\n }\r\n });\r\n\r\n self.tempFolders.remove(folder);\r\n};\r\n\r\nViewModel.prototype.renameFolder = function (folder) {\r\n var self = this;\r\n\r\n var files = self.files();\r\n var currentFolderPath = self.currentFolder().folderPath();\r\n var folderName = folder.folderName();\r\n var folderPath = folder.folderPath();\r\n var newName = folder.newName();\r\n\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var fileNameStartsWithPath = fileName.indexOf(folderPath) === 0;\r\n\r\n if (fileNameStartsWithPath) {\r\n var newFolderPath = currentFolderPath === \"\"\r\n ? newName + \"/\"\r\n : currentFolderPath + newName + \"/\";\r\n\r\n fileName = fileName.replace(folderPath, newFolderPath);\r\n file.fileName(fileName);\r\n\r\n vesselFilesClient.update(file.getFile());\r\n }\r\n });\r\n\r\n folder.folderName(newName);\r\n folder.folderPath(folderPath.replace(folderName, newName));\r\n};\r\n\r\nViewModel.prototype.toggleHelpTooltip = function (vm, e) {\r\n var isHelpTooltipOpen = this.isHelpTooltipOpen();\r\n if (!isHelpTooltipOpen) {\r\n var element = e.currentTarget;\r\n events.showTooltip.dispatch(\"tooltip-text\", { text: this.tooltipHelpText, isWide: true }, element);\r\n this.isHelpTooltipOpen(true);\r\n } else {\r\n events.closeTooltip.dispatch();\r\n }\r\n};\r\n\r\nViewModel.prototype.hideHelpTooltip = function () {\r\n if (this.isHelpTooltipOpen()) {\r\n this.isHelpTooltipOpen(false);\r\n events.closeTooltip.dispatch();\r\n }\r\n};\r\n\r\nViewModel.prototype.sortFiles = function (files, sortColumn) {\r\n var self = this;\r\n var sortAscending = self.sortAscending();\r\n\r\n files.sort(function (a, b) {\r\n var left = self.getSortData(a, sortColumn);\r\n var right = self.getSortData(b, sortColumn);\r\n\r\n if (left < right) return sortAscending ? - 1 : 1;\r\n if (left > right) return sortAscending ? 1 : -1;\r\n return 0;\r\n });\r\n};\r\n\r\nViewModel.prototype.getSortData = function(element, column) {\r\n if (column === \"fileName\") {\r\n return element.fileNameWithoutPath().toLowerCase();\r\n } else if (column === \"uploadedTime\") {\r\n return element.uploadedTime();\r\n } else if (column === \"uploadedBy\") {\r\n return element.uploadedBy().toLowerCase();\r\n } else if (column === \"fileSize\") {\r\n return element.fileSize();\r\n } else if (column === \"folderName\") {\r\n return element.folderName().toLowerCase();\r\n }\r\n};\r\n\r\nViewModel.prototype.closePdfViewer = function () {\r\n this.isPdfViewerVisible(false);\r\n events.closePdf.dispatch();\r\n};\r\n\r\nViewModel.prototype.getFolders = function() {\r\n var self = this;\r\n\r\n var currentFolderPath = self.currentFolder().folderPath();\r\n var files = self.files();\r\n var folders = [];\r\n var tempFolders = self.getTempFoldersInCurrentFolder();\r\n\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var isDescendant = fileName.indexOf(currentFolderPath) === 0;\r\n\r\n if (isDescendant) {\r\n var childFolderName = fileName.replace(currentFolderPath, \"\");\r\n var folderNames = childFolderName.split(\"/\");\r\n var folderName = folderNames[0];\r\n var folderExists = _.some(folders, function (folder) { return folder.folderName() === folderName; });\r\n var isChildFolder = childFolderName.indexOf(\"/\") !== -1;\r\n\r\n if (!folderExists && isChildFolder) {\r\n var folderPath = currentFolderPath + folderName + \"/\";\r\n folders.push(new FolderVM(folderName, folderPath, false));\r\n }\r\n }\r\n });\r\n\r\n folders = _.union(folders, tempFolders);\r\n self.sortFiles(folders, \"folderName\");\r\n\r\n self.foldersInCurrentFolder(folders);\r\n};\r\n\r\nViewModel.prototype.getTempFoldersInCurrentFolder = function () {\r\n var self = this;\r\n var folders = self.tempFolders();\r\n var currentFolderPath = self.currentFolder().folderPath();\r\n\r\n return _.filter(folders, function(folder) {\r\n return currentFolderPath + folder.folderName() + \"/\" === folder.folderPath();\r\n });\r\n};\r\n\r\nViewModel.prototype.getFiles = function () {\r\n var self = this;\r\n\r\n vesselFilesClient.getAll(self.vesselId).done(function (data) {\r\n self.files(_.map(data, function (file) { return new FileVM(file); }));\r\n self.getFolders();\r\n }).always(function () {\r\n self.isFilesLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.vesselFileUploadedBinding.detach();\r\n this.closeTooltipBinding.detach();\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\nimport Vessels from \"./clients/Vessels.module\";\r\nimport Incidents from \"./clients/Incidents.module\";\r\nimport Auth from \"./clients/Auth.module\";\r\nimport Announcement from \"./clients/Announcement.module\";\r\nimport Benefits from \"./clients/Benefits.module\";\r\nimport LongTrends from \"./clients/LongTrends.module\";\r\nimport User from \"./clients/User.module\";\r\nimport Users from \"./clients/Users.module\";\r\nimport VesselsAdmin from \"./clients/VesselsAdmin.module\";\r\nimport VesselAccessGroups from \"./clients/VesselAccessGroups.module\";\r\nimport VesselEvents from \"./clients/VesselEvents.module\";\r\nimport VesselGroups from \"./clients/VesselGroups.module\";\r\nimport VesselsHistories from \"./clients/VesselsHistories.module\";\r\nimport Companies from \"./clients/Companies.module\";\r\nimport Dashboard from \"./clients/Dashboard.module\";\r\nimport MapWidget from \"./clients/MapWidget.module\";\r\nimport Taxonomy from \"./clients/Taxonomy.module\";\r\nimport Reports from \"./clients/Reports.module\";\r\nimport LogVariables from \"./clients/LogVariables.module\";\r\nimport LogData from \"./clients/LogData.module\";\r\nimport LongTrendPeriod from \"./clients/LongTrendPeriod.module\";\r\nimport VesselDataWidgetConfiguration from \"./clients/VesselDataWidgetConfig.module\";\r\nimport WidgetTypes from \"./clients/WidgetTypes.module\";\r\nimport PerformanceStatusWidget from \"./clients/PerformanceStatusWidget.module\";\r\nimport NotificationWidgetConfiguration from \"./clients/NotificationWidget.module\";\r\nimport CiiWidgetConfiguration from \"./clients/CiiWidget.module\";\r\nimport FoulingOverviewWidgetConfiguration from \"./clients/FoulingOverviewWidget.module\";\r\nimport Snackbar from \"./clients/Snackbar.module\";\r\nimport Cii from \"./clients/Cii.module\";\r\nimport Shapoli from \"./clients/Shapoli.module\";\r\nimport ISO19030 from \"./clients/ISO19030.module\";\r\nimport Channels from \"./clients/Channels.module\";\r\nimport Fouling from \"./clients/Fouling.module\";\r\nimport DataQuality from \"./clients/DataQuality.module\";\r\nimport FeatureMap from \"./clients/FeatureMap.module\";\r\nimport EmissionsCompliance from \"./clients/EmissionsCompliance.module\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n modules: {\r\n Auth,\r\n Announcement,\r\n Benefits,\r\n LongTrends,\r\n Incidents,\r\n User,\r\n Users,\r\n Vessels,\r\n VesselsAdmin,\r\n Companies,\r\n VesselAccessGroups,\r\n VesselGroups,\r\n VesselsHistories,\r\n Dashboard,\r\n MapWidget,\r\n Taxonomy,\r\n Reports,\r\n VesselEvents,\r\n LogVariables,\r\n LogData,\r\n LongTrendPeriod,\r\n VesselDataWidgetConfiguration,\r\n WidgetTypes,\r\n PerformanceStatusWidget,\r\n NotificationWidgetConfiguration,\r\n CiiWidgetConfiguration,\r\n FoulingOverviewWidgetConfiguration,\r\n Snackbar,\r\n Cii,\r\n Shapoli,\r\n ISO19030,\r\n Channels,\r\n Fouling,\r\n DataQuality,\r\n FeatureMap,\r\n EmissionsCompliance\r\n },\r\n});\r\n","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":_vm.dialogWidth,\"content-class\":\"TimeSpanDialog\",\"retain-focus\":false,\"scrollable\":\"\"},on:{\"click:outside\":function($event){return _vm.close()}},model:{value:(_vm.isModalActive),callback:function ($$v) {_vm.isModalActive=$$v},expression:\"isModalActive\"}},[_c('v-card',[_c('v-toolbar',{staticClass:\"font-weight-medium\",attrs:{\"dark\":\"\",\"dense\":\"\",\"color\":\"accentDarker110\"}},[_c('v-toolbar-title',[_vm._v(\" Select time span \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.close()}}},[_c('v-icon',[_vm._v(\"close\")])],1)],1),_c('v-card-text',[_vm._t(\"additional-inputs\"),(_vm.syncColumn)?_c('v-radio-group',{staticClass:\"timespan-radio-group\",attrs:{\"column\":\"\"},model:{value:(_vm.selectedCalculationType),callback:function ($$v) {_vm.selectedCalculationType=$$v},expression:\"selectedCalculationType\"}},[_c('v-radio',{staticClass:\"mb-6\",attrs:{\"value\":\"LastReceived\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Last received value \")])],2),_c('v-radio',{staticClass:\"mb-6\",attrs:{\"value\":\"LastVoyageAveraged\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Average value for the last completed voyage \")])],2),_c('v-radio',{staticClass:\"mb-6\",attrs:{\"disabled\":_vm.hasNotAllowedUnit,\"value\":\"LastVoyageAccumulated\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Accumulated value for the last completed voyage \"),_c('v-tooltip',{attrs:{\"max-width\":\"500px\",\"color\":\"primary\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({staticClass:\"ml-2\",attrs:{\"color\":\"primary\",\"dark\":\"\"}},'v-icon',attrs,false),on),[_vm._v(\" mdi-information-outline \")])]}}],null,false,3186951216)},[_c('span',[_vm._v(\" Accumulated calculation only accepts the following units: \"),_c('br'),_c('i',[_vm._v(\"{ \\\"Rev/Min\\\", \\\"rpm\\\", \\\"MT/hr\\\", \\\"MT/day\\\", \\\"knot\\\", \\\"kW\\\", \\\"kg/hr\\\", \\\"l/hr\\\" }\")])])])],1)],2),_c('v-radio',{staticClass:\"mb-6\",attrs:{\"value\":\"Averaged\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Averaged over the last \"),_c('v-text-field',{staticClass:\"last-hours-input mr-2 ml-8\",attrs:{\"type\":\"number\",\"error\":_vm.isLastHoursHasError(_vm.lastHoursAverage, 'Averaged'),\"hide-details\":\"\",\"min\":\"1\",\"max\":\"300\",\"single-line\":\"\",\"solo\":\"\",\"dense\":\"\"},model:{value:(_vm.lastHoursAverage),callback:function ($$v) {_vm.lastHoursAverage=$$v},expression:\"lastHoursAverage\"}}),_vm._v(\" hours \")],1)],2),_c('v-radio',{staticClass:\"mb-6\",attrs:{\"value\":\"Accumulated\",\"disabled\":_vm.hasNotAllowedUnit}},[_c('template',{slot:\"label\"},[_vm._v(\" Accumulated over the last \"),_c('v-text-field',{staticClass:\"last-hours-input mx-2\",attrs:{\"type\":\"number\",\"disabled\":_vm.hasNotAllowedUnit,\"error\":_vm.isLastHoursHasError(_vm.lastHoursAccumulate, 'Accumulated'),\"hide-details\":\"\",\"min\":\"1\",\"max\":\"300\",\"single-line\":\"\",\"solo\":\"\",\"dense\":\"\"},model:{value:(_vm.lastHoursAccumulate),callback:function ($$v) {_vm.lastHoursAccumulate=$$v},expression:\"lastHoursAccumulate\"}}),_vm._v(\" hours \"),_c('v-tooltip',{attrs:{\"max-width\":\"500px\",\"color\":\"primary\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({staticClass:\"ml-2\",attrs:{\"color\":\"primary\",\"dark\":\"\"}},'v-icon',attrs,false),on),[_vm._v(\" mdi-information-outline \")])]}}],null,false,3186951216)},[_c('span',[_vm._v(\" Accumulated calculation only accepts the following units: \"),_c('br'),_c('i',[_vm._v(\"{ \\\"Rev/Min\\\", \\\"rpm\\\", \\\"MT/hr\\\", \\\"MT/day\\\", \\\"knot\\\", \\\"kW\\\", \\\"kg/hr\\\", \\\"l/hr\\\" }\")])])])],1)],2),_c('v-radio',{staticClass:\"align-start\",attrs:{\"value\":\"FromAndToDates\",\"label\":\"From and to dates\"}},[_c('template',{slot:\"label\"},[_vm._v(\" From and to dates \"),_c('b',{staticClass:\"ml-1\"},[_vm._v(\"[\"+_vm._s(_vm.fromAndToDatesCalculationType)+\"]\")])])],2),_c('div',{staticClass:\"dates-picker d-flex pl-8\"},[_c('DateTimeRangePicker',{attrs:{\"widgetDateRange\":_vm.widgetDateRange,\"disabled\":_vm.selectedCalculationType !== 'FromAndToDates'},on:{\"update:widgetDateRange\":function($event){_vm.widgetDateRange=$event},\"update:widget-date-range\":function($event){_vm.widgetDateRange=$event},\"change\":_vm.onWidgetDateRangeChanged},scopedSlots:_vm._u([{key:\"additional-actions\",fn:function(){return [_c('fieldset',[_c('legend',{staticClass:\"body-2 pb-1\",attrs:{\"align\":\"center\"}},[_vm._v(\"Calculation type\")]),_c('v-radio-group',{staticClass:\"mt-0 d-flex flex-row\",attrs:{\"hide-details\":\"\",\"row\":\"\"},model:{value:(_vm.fromAndToDatesCalculationType),callback:function ($$v) {_vm.fromAndToDatesCalculationType=$$v},expression:\"fromAndToDatesCalculationType\"}},[_c('v-radio',{attrs:{\"value\":\"Averaged\",\"label\":\"Average\"}}),_c('v-radio',{attrs:{\"value\":\"Accumulated\",\"label\":\"Accumulated\",\"disabled\":_vm.hasNotAllowedUnit}})],1)],1)]},proxy:true}],null,false,913206154)})],1)],1):_vm._e(),_c('p',{staticClass:\"red--text\"},[_vm._v(_vm._s(_vm.errorMessage))])],2),_c('v-card-actions',{staticClass:\"justify-end\"},[_c('v-btn',{staticClass:\"font-weight-semibold\",attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.close()}}},[_vm._v(\" Cancel \")]),_c('v-btn',{staticClass:\"font-weight-semibold\",attrs:{\"color\":\"accent\",\"disabled\":_vm.saveButtonDisabled || _vm.syncIsSaveButtonDisabled},on:{\"click\":_vm.save}},[_vm._v(\"Save\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, PropSync, Vue, Watch } from \"vue-property-decorator\";\n// utilities\nimport moment from \"moment\";\nimport dateHelper from \"Utilities/date-helper\";\n// components\nimport DateTimeRangePicker from \"@/components/widgets/DateTimeRangePicker.vue\";\n// types\nimport { VesselDataWidgetColumn } from \"@/types/VesselDataWidgetColumn\";\n\n@Component({\n components: {\n DateTimeRangePicker,\n },\n})\nexport default class TimeSpanDialog extends Vue {\n @PropSync(\"value\", { required: true }) isModalActive!: boolean;\n @PropSync(\"maxWidth\", { default: 1000 }) dialogWidth!: number;\n @PropSync(\"column\", { required: true }) syncColumn!: VesselDataWidgetColumn;\n @PropSync(\"isSaveButtonDisabled\", { default: false }) syncIsSaveButtonDisabled!: boolean;\n\n lastHoursAverage = 24;\n lastHoursAccumulate = 24;\n selectedCalculationType = \"\";\n fromAndToDatesCalculationType = \"Averaged\";\n infoAccumulatedDialog = false;\n accumulatedAllowedUnits = [\"rpm\", \"MT/hr\", \"MT/day\", \"knot\", \"kW\", \"kg/hr\", \"l/hr\"];\n widgetDateRange: { fromDate: string | null; toDate: string | null } = {\n fromDate: moment().startOf(\"year\").format(\"YYYY-MM-DD\"),\n toDate: moment().format(\"YYYY-MM-DD\"),\n };\n\n @Watch(\"fromAndToDatesCalculationType\")\n onFromAndToDatesCalculationTypeChanged(): void {\n if (this.selectedCalculationType === \"FromAndToDates\") {\n Vue.set(this.syncColumn, \"fromAndToDatesCalculationType\", this.fromAndToDatesCalculationType);\n this.$emit(\"change\", this.syncColumn);\n }\n }\n\n @Watch(\"selectedCalculationType\")\n onCalculationTypeChanged(): void {\n this.setSelectedCalculationType();\n this.$emit(\"change\", this.syncColumn);\n }\n\n @Watch(\"isModalActive\")\n onModalActive(currentState: boolean): void {\n if (!currentState) return;\n this.selectedCalculationType = this.syncColumn.calculationType;\n if (!this.syncColumn.fromDate) return;\n\n const hours = dateHelper.getDatesDiffAsHours(this.syncColumn.fromDate, this.syncColumn.toDate);\n if (this.syncColumn.calculationType === \"Averaged\") {\n this.lastHoursAverage = hours;\n this.lastHoursAccumulate = 24;\n } else if (this.syncColumn.calculationType === \"Accumulated\") {\n this.lastHoursAccumulate = hours;\n this.lastHoursAverage = 24;\n } else if (this.syncColumn.calculationType === \"FromAndToDates\") {\n this.fromAndToDatesCalculationType = this.syncColumn.fromAndToDatesCalculationType ?? \"Averaged\";\n this.widgetDateRange = {\n fromDate: this.syncColumn.fromDate,\n toDate: this.syncColumn.toDate,\n };\n } else {\n this.lastHoursAverage = 24;\n this.lastHoursAccumulate = 24;\n }\n }\n\n get isLastHoursAverageValid(): boolean {\n return this.lastHoursAverage > 300 || this.lastHoursAverage < 1;\n }\n\n get isLastHoursAccumulateValid(): boolean {\n return this.lastHoursAccumulate > 300 || this.lastHoursAccumulate < 1;\n }\n\n get isTimeSpanHoursValid(): boolean {\n return !(this.isLastHoursAverageValid || this.isLastHoursAccumulateValid);\n }\n\n get errorMessage(): string {\n if ((this.isLastHoursAverageValid && this.selectedCalculationType === \"Averaged\") || (this.isLastHoursAccumulateValid && this.selectedCalculationType === \"Accumulated\")) {\n return \"Selected hours must be between 1 and 300.\";\n }\n\n return \"\";\n }\n\n get saveButtonDisabled(): boolean {\n return (this.selectedCalculationType === \"Averaged\" && this.isLastHoursAverageValid) || (this.selectedCalculationType === \"Accumulated\" && this.isLastHoursAccumulateValid);\n }\n\n get hasNotAllowedUnit(): boolean {\n if (!this.syncColumn?.logVariables) return false;\n return this.syncColumn.logVariables.some(variable => !this.isUnitAccAllowed(variable.unit?.caption));\n }\n\n open(): void {\n this.isModalActive = true;\n this.$emit(\"open\");\n }\n\n close(): void {\n this.isModalActive = false;\n this.selectedCalculationType = \"\";\n this.$emit(\"close\");\n }\n\n save(): void {\n this.isModalActive = false;\n this.setSelectedCalculationType();\n if (this.selectedCalculationType === \"Accumulated\" || this.selectedCalculationType === \"LastVoyageAccumulated\") this.infoAccumulatedDialog = true;\n this.$emit(\"save\");\n }\n\n isUnitAccAllowed(unit: string): boolean {\n return this.accumulatedAllowedUnits.includes(unit);\n }\n\n onWidgetDateRangeChanged(fromToDates: { fromDate: string; toDate: string }): void {\n this.widgetDateRange = fromToDates;\n }\n\n setSelectedCalculationType(): void {\n if (!this.isTimeSpanHoursValid) return;\n\n switch (this.selectedCalculationType) {\n case \"LastReceived\":\n this.setTimeSpan(\"LastReceived\");\n break;\n case \"LastVoyageAveraged\":\n this.setTimeSpan(\"LastVoyageAveraged\");\n break;\n case \"LastVoyageAccumulated\":\n this.setTimeSpan(\"LastVoyageAccumulated\");\n break;\n case \"Averaged\":\n this.setTimeSpan(this.selectedCalculationType, this.lastHoursAverage);\n break;\n case \"Accumulated\":\n this.setTimeSpan(this.selectedCalculationType, this.lastHoursAccumulate);\n break;\n case \"FromAndToDates\":\n this.setTimeSpan(this.selectedCalculationType, this.widgetDateRange);\n break;\n default:\n break;\n }\n }\n\n setTimeSpan(calculationType: string, value?: number | object): void {\n if (typeof value === \"string\") value = parseInt(value);\n let timeSpan;\n if (typeof value === \"number\") {\n timeSpan = {\n fromDate: moment.utc(new Date(), \"YYYY-MM-DD\").subtract(value, \"hours\").format(),\n toDate: moment.utc(new Date(), \"YYYY-MM-DD\").format(),\n calculationType: calculationType,\n fromAndToDatesCalculationType: \"\",\n };\n } else if (typeof value === \"object\") {\n timeSpan = {\n fromDate: this.widgetDateRange.fromDate,\n toDate: this.widgetDateRange.toDate,\n calculationType: calculationType,\n fromAndToDatesCalculationType: this.fromAndToDatesCalculationType,\n };\n } else {\n timeSpan = { calculationType: calculationType, fromAndToDatesCalculationType: \"\" };\n }\n Object.assign(this.syncColumn, timeSpan);\n }\n\n isLastHoursHasError(value: number, calculationType: string): boolean {\n return (value < 1 || value > 300) && calculationType === this.selectedCalculationType;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeSpanDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeSpanDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeSpanDialog.vue?vue&type=template&id=2d5de5dc&scoped=true&\"\nimport script from \"./TimeSpanDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeSpanDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TimeSpanDialog.vue?vue&type=style&index=0&id=2d5de5dc&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2d5de5dc\",\n null\n \n)\n\nexport default component.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 { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VDialog,VIcon,VRadio,VRadioGroup,VSpacer,VTextField,VToolbar,VToolbarTitle,VTooltip})\n","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport client from \"Clients/users-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function (model, users) {\r\n var self = this;\r\n self.original = undefined;\r\n self.list = users;\r\n\r\n self.userId = ko.observable();\r\n self.userName = ko.observable().extend({\r\n required: true,\r\n email: true,\r\n validation: {\r\n async: true,\r\n validator: function (val, params, callback) {\r\n if ((self.original != null) && (stringHelper.equalsIgnoreCase(val, self.original.email))) {\r\n // Same as \"original name\".\r\n callback(true);\r\n } else {\r\n callback(!self.list.exists(val));\r\n }\r\n },\r\n message: \"A user with that email already exists.\",\r\n },\r\n });\r\n self.name = ko.observable().extend({ required: true });\r\n self.title = ko.observable().extend({ required: true });\r\n self.phoneNumber = ko.observable();\r\n self.apiKey = ko.observable();\r\n self.role = ko.observable();\r\n self.kognifaiTenantId = ko.observable();\r\n self.kognifaiClientId = ko.observable();\r\n self.kognifaiClientSecret = ko.observable();\r\n\r\n self.setModel(model);\r\n\r\n //For accessing validation from the parent component to for example enable/disable \"create/save\" button.\r\n self.errors = ko.validation.group(self);\r\n self.isValid = ko.computed(function () {\r\n return self.errors().length === 0;\r\n });\r\n\r\n self.isNewUser = ko.pureComputed(function () {\r\n var userId = self.userId();\r\n return userId == null || userId === \"00000000-0000-0000-0000-000000000000\";\r\n });\r\n};\r\n\r\nViewModel.prototype.setModel = function (model) {\r\n var self = this;\r\n self.original = model;\r\n\r\n if (model) {\r\n // Edit mode\r\n self.userId(model.id);\r\n self.userName(model.email);\r\n self.name(model.name);\r\n self.title(model.title);\r\n self.phoneNumber(model.phoneNumber);\r\n self.apiKey(model.apiKey);\r\n self.role(model.role);\r\n self.kognifaiTenantId(model.kognifaiTenantId);\r\n self.kognifaiClientId(model.kognifaiClientId);\r\n self.kognifaiClientSecret(model.kognifaiClientSecret);\r\n } else {\r\n // \"New\" mode\r\n self.userId(undefined);\r\n self.userName(undefined);\r\n self.name(undefined);\r\n self.title(undefined);\r\n self.phoneNumber(undefined);\r\n self.apiKey(undefined);\r\n self.role(undefined);\r\n self.kognifaiTenantId(undefined);\r\n self.kognifaiClientId(undefined);\r\n self.kognifaiClientSecret(undefined);\r\n }\r\n};\r\n\r\nViewModel.prototype.getOriginalUser = function () {\r\n return this.original;\r\n};\r\n\r\nViewModel.prototype.save = function () {\r\n var self = this;\r\n var user = _.clone(self.original) || {};\r\n\r\n user.name = self.name();\r\n user.title = self.title();\r\n user.phoneNumber = self.phoneNumber();\r\n user.role = self.role();\r\n user.kognifaiTenantId = self.kognifaiTenantId();\r\n user.kognifaiClientId = self.kognifaiClientId();\r\n user.kognifaiClientSecret = self.kognifaiClientSecret();\r\n\r\n var promise;\r\n if (self.isNewUser()) {\r\n user.email = self.userName();\r\n promise = client.add(user);\r\n } else {\r\n promise = client.update(user);\r\n }\r\n promise.done(function (data) {\r\n self.setModel(data);\r\n });\r\n return promise;\r\n};\r\n\r\nViewModel.prototype.remove = function () {\r\n return client.remove(this.original);\r\n};\r\n\r\nViewModel.prototype.generateApiKey = function () {\r\n var self = this;\r\n var userId = self.userId();\r\n\r\n var promise = client.generateApiKey(userId);\r\n promise.done(function (apiKey) {\r\n self.original.apiKey = apiKey;\r\n self.apiKey(apiKey);\r\n });\r\n return promise;\r\n};\r\n\r\nViewModel.prototype.clearApiKey = function () {\r\n var self = this;\r\n var userId = self.userId();\r\n\r\n var promise = client.clearApiKey(userId);\r\n promise.done(function () {\r\n var apiKey = \"\";\r\n self.original.apiKey = apiKey;\r\n self.apiKey(apiKey);\r\n });\r\n return promise;\r\n};\r\n\r\nexport default ViewModel;","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport client from \"Clients/users-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function () {\r\n var self = this;\r\n self.list = ko.observableArray([]);\r\n self.isLoading = ko.observable(false);\r\n\r\n self.load();\r\n\r\n self.onCreatedBinding = events.userOnCreated.add(function (newItem) {\r\n self.list.push(newItem);\r\n });\r\n\r\n self.onUpdatedBinding = events.userOnUpdated.add(function (oldItem, updatedItem) {\r\n self.list.remove(function (item) {\r\n return item.id === oldItem.id;\r\n });\r\n self.list.push(updatedItem);\r\n });\r\n\r\n self.onRemovedBinding = events.userOnRemoved.add(function (removedItem) {\r\n self.list.remove(function (item) {\r\n return item.id === removedItem.id;\r\n });\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.onUpdatedBinding.detach();\r\n this.onCreatedBinding.detach();\r\n this.onRemovedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.load = function () {\r\n var self = this;\r\n self.list([]);\r\n self.isLoading(true);\r\n\r\n client.getAll().done(function (data) {\r\n self.list(data);\r\n }).always(function () {\r\n self.isLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.getList = function () {\r\n return this.list;\r\n};\r\n\r\nViewModel.prototype.isLoading = function () {\r\n return this.isLoading;\r\n};\r\n\r\nViewModel.prototype.exists = function (userName) {\r\n var match = _.find(this.list(), function (o) {\r\n return stringHelper.equalsIgnoreCase(userName, o.email);\r\n });\r\n\r\n return match !== undefined;\r\n};\r\n\r\nexport default ViewModel;","import template from \"./users.html\";\r\nimport ko from \"knockout\";\r\nimport koValidation from \"knockout.validation\";\r\nimport events from \"App/events\";\r\nimport UserVM from \"ViewModels/user/user\";\r\nimport UsersVM from \"ViewModels/user/userList\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n\r\n self.viewModel = null;\r\n self.dialogState = ko.observable(\"\");\r\n self.users = new UsersVM();\r\n\r\n self.error = ko.observable();\r\n\r\n self.viewBinding = events.userView.add(function (user) {\r\n self.clearError();\r\n self.viewModel = new UserVM(user);\r\n self.dialogState(\"VIEW\");\r\n });\r\n\r\n self.editBinding = events.userEdit.add(function (user) {\r\n self.clearError();\r\n self.viewModel = new UserVM(user, self.users);\r\n self.dialogState(\"EDIT\");\r\n });\r\n\r\n self.addBinding = events.userAdd.add(function () {\r\n self.clearError();\r\n self.viewModel = new UserVM(null, self.users);\r\n self.dialogState(\"ADD\");\r\n });\r\n\r\n self.apiKeyBinding = events.userManageApiKey.add(function (user) {\r\n self.clearError();\r\n self.viewModel = new UserVM(user, self.users);\r\n self.dialogState(\"API\");\r\n });\r\n\r\n self.deleteBinding = events.userDelete.add(function (user) {\r\n self.clearError();\r\n self.viewModel = new UserVM(user);\r\n self.dialogState(\"REMOVE\");\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.viewBinding.detach();\r\n this.editBinding.detach();\r\n this.deleteBinding.detach();\r\n this.addBinding.detach();\r\n this.apiKeyBinding.detach();\r\n};\r\n\r\nViewModel.prototype.createUser = function () {\r\n var self = this;\r\n\r\n self.viewModel.save().done(function (newUser) {\r\n events.userOnCreated.dispatch(newUser);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n if (error.status === 409) {\r\n events.userOnCreatedAlreadyExist.dispatch();\r\n } else {\r\n events.userOnCreatedFailed.dispatch();\r\n }\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.removeUser = function () {\r\n var self = this;\r\n var user = self.viewModel.getOriginalUser();\r\n self.viewModel.remove()\r\n .done(function() {\r\n events.userOnRemoved.dispatch(user);\r\n self.closeDialog();\r\n })\r\n .fail(function(error) {\r\n events.userOnFailed.dispatch(error);\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.editUser = function () {\r\n var self = this;\r\n var originalUser = self.viewModel.getOriginalUser();\r\n self.viewModel.save().done(function (updatedUser) {\r\n events.userOnUpdated.dispatch(originalUser, updatedUser);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n events.userOnFailed.dispatch(error);\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.closeDialog = function () {\r\n this.dialogState(\"\");\r\n};\r\n\r\nViewModel.prototype.clearError = function () {\r\n this.error(null);\r\n};\r\n\r\nViewModel.prototype.handleError = function (error) {\r\n if (error && error.responseJSON && error.responseJSON.message) {\r\n this.error(error.responseJSON.message);\r\n } else {\r\n this.error(\"An error occured. See log for more details.\");\r\n }\r\n console.error(error);\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import router from \"@/router\";\r\nimport { FormattedError } from \"@/types/formattedError\";\r\nclass Utilities {\r\n\r\n /**\r\n * Clicking local urls from within static html/knockout templates are intercepted and handled by vue router\r\n * @param {Event} e mouse or keyboard event\r\n */\r\n public interceptLocalUrl(e: any): void {\r\n let target = e.target;\r\n //return if target was not a link-element\r\n if (target.tagName !== \"A\") {\r\n //clicking a link with more elements inside\r\n if (target.parentElement?.tagName == \"A\") {\r\n target = target.parentElement;\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n const url: string = target.getAttribute(\"href\");\r\n //return if url was not relative or if it was a local anchor\r\n if (url.indexOf(\"://\") > 0 || url.startsWith(\"#\"))\r\n return;\r\n\r\n //return if we are already on the url path\r\n if (router.currentRoute.path === url)\r\n return;\r\n\r\n //at this point we should be at a non-vue local link. Abort browser routing and use vue router\r\n e.preventDefault();\r\n e.stopPropagation();\r\n router.push({ path: url });\r\n }\r\n\r\n /* returns formattedError object containing title (string) and messages (Array)\r\n There can be multiple properties within responseJSON.modelState, each containing an array of messages\r\n This function extracts all the messages into a flattened array*/\r\n public formatError(error: any): FormattedError {\r\n let title;\r\n let messages: any = [];\r\n\r\n if (error.responseJSON) {\r\n title = error.responseJSON.message;\r\n messages = Object.values(error.responseJSON.modelState).flat();\r\n } else {\r\n title = error.statusText;\r\n }\r\n\r\n const formattedError: FormattedError = {\r\n title,\r\n messages,\r\n };\r\n\r\n return formattedError;\r\n }\r\n\r\n}\r\n\r\nexport default new Utilities();\r\n","import net from \"App/net\";\r\nimport events from \"App/events\";\r\n\r\nfunction vesselEventUpdatedCallback(vesselEvent) {\r\n events.vesselEventUpdated.dispatch(vesselEvent);\r\n}\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n return net.get(\"/EmissionReportVesselEvents/Find\", filter);\r\n};\r\n\r\nClient.prototype.findVoyageVesselEvents = function(vesselId, departureId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n departureId: departureId,\r\n };\r\n\r\n return net.get(\"/EmissionReportVesselEvents/FindVoyageVesselEvents\", filter);\r\n};\r\n\r\nClient.prototype.create = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents\", vesselEvent).done(function(data) {\r\n events.vesselEventCreated.dispatch(data);\r\n });\r\n};\r\n\r\nClient.prototype.update = function(vesselEvent) {\r\n return net.put(\"/EmissionReportVesselEvents/\" + vesselEvent.id, vesselEvent).done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.confirmVoyageInformation = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/ConfirmVoyageInformation\").done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.unconfirmVoyageInformation = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/UnconfirmVoyageInformation\").done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.confirmVoyageData = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/ConfirmVoyageData\").done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.unconfirmVoyageData = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/UnconfirmVoyageData\").done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.sendEmissionReportToDnvGl = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/UploadDnvGlVoyageData\");\r\n};\r\n\r\nClient.prototype.remove = function(vesselEvent) {\r\n return net.del(\"/EmissionReportVesselEvents/\" + vesselEvent.id).done(function() {\r\n events.vesselEventDeleted.dispatch(vesselEvent);\r\n });\r\n};\r\n\r\nexport default new Client();","import net from \"App/net\";\r\n\r\nvar PerformanceStatusWidgetClient = function () {\r\n\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.getAll = function () {\r\n return net.get(\"/PerformanceStatusWidgetConfiguration\");\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.get = function (id) {\r\n return net.get(\"PerformanceStatusWidgetConfiguration/\" + id);\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.new = function (perfStatWidgetConfiguration) {\r\n return net.post(\"/PerformanceStatusWidgetConfiguration\", perfStatWidgetConfiguration);\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.update = function (perfStatWidgetConfiguration) {\r\n return net.put(\"/PerformanceStatusWidgetConfiguration\", perfStatWidgetConfiguration);\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.delete = function (perfStatWidgetConfigId) {\r\n return net.del(\"/PerformanceStatusWidgetConfiguration/\" + perfStatWidgetConfigId);\r\n};\r\n\r\nexport default new PerformanceStatusWidgetClient();","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport performanceStatusWidgetClient from \"Clients/performance-status-widget-client\";\r\nimport { PerformanceStatusConfig } from \"@/types/widgetPerformanceStatus\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"PerformanceStatusWidget\" })\r\nclass PerformanceStatusWidget extends VuexModule {\r\n private _configsExpired = true;\r\n private _configs: PerformanceStatusConfig[] = [];\r\n\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIGS(configs: PerformanceStatusConfig[]): void {\r\n this._configs = configs;\r\n this._configsExpired = false;\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIG(config: PerformanceStatusConfig): void {\r\n const index = this._configs.findIndex(savedConfig => savedConfig.id === config.id);\r\n\r\n if (index >= 0) {\r\n this._configs[index] = config;\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET_CONFIG(config: PerformanceStatusConfig): void {\r\n this._configs.push(config);\r\n this._configsExpired = true;\r\n }\r\n\r\n @Mutation\r\n public DELETE_WIDGET_CONFIG(id: number): void {\r\n const index = this._configs.findIndex(config => config.id === id);\r\n\r\n if (index >= 0) {\r\n this._configs.splice(index, 1);\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshConfigs(): Promise {\r\n try {\r\n const configs: PerformanceStatusConfig[] = await performanceStatusWidgetClient.getAll();\r\n this.context.commit(\"SET_WIDGET_CONFIGS\", configs);\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateConfig(config: PerformanceStatusConfig): Promise {\r\n try {\r\n await performanceStatusWidgetClient.update(config);\r\n this.context.commit(\"SET_WIDGET_CONFIG\", config);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async addNewConfig(): Promise {\r\n const emptyConfig = { vessels: [] };\r\n\r\n try {\r\n const createdConfig = await performanceStatusWidgetClient.new(emptyConfig);\r\n this.context.commit(\"ADD_WIDGET_CONFIG\", createdConfig);\r\n return createdConfig;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteWidgetConfig(id: number): Promise {\r\n try {\r\n await performanceStatusWidgetClient.delete(id);\r\n this.context.commit(\"DELETE_WIDGET_CONFIG\", id);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getConfigById(id: number): Promise {\r\n if (this._configsExpired) {\r\n await this.context.dispatch(\"refreshConfigs\");\r\n }\r\n\r\n const config = this._configs.find(config => config.id === id);\r\n\r\n if (config) {\r\n for (let i = 0; i < config.vessels.length; i++) {\r\n const vessel = await this.context.dispatch(\"Vessels/get\", config.vessels[i].id, { root: true });\r\n if (vessel) config.vessels[i] = vessel;\r\n }\r\n\r\n return config;\r\n }\r\n\r\n const sharedConfig: PerformanceStatusConfig = await performanceStatusWidgetClient.get(id);\r\n if (sharedConfig) {\r\n for (let i = 0; i < sharedConfig.vessels.length; i++) {\r\n sharedConfig.vessels[i] = await this.context.dispatch(\"Vessels/get\", sharedConfig.vessels[i].id, { root: true });\r\n }\r\n\r\n return sharedConfig;\r\n }\r\n\r\n else throw ({ message: \"Could not find config\" });\r\n }\r\n\r\n get configs(): PerformanceStatusConfig[] {\r\n return this._configs;\r\n }\r\n\r\n get configsExpired(): boolean {\r\n return this._configsExpired;\r\n }\r\n}\r\n\r\nexport default PerformanceStatusWidget;\r\n","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
TimestampFuel
amount (MT)
Fuel
amount (m3)
Tank
temp. (°C)
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\n\r\nko.bindingHandlers.vesselFilesSort = {\r\n init: function (element, valueAccessor, allBindingsAccessor, viewModel) {\r\n var sortColumn = valueAccessor().sortColumn;\r\n var column = valueAccessor().column;\r\n var sortAscending = valueAccessor().sortAscending;\r\n var folders = valueAccessor().folders;\r\n\r\n element.onclick = function () {\r\n sortAscending(!sortAscending());\r\n sortColumn(column);\r\n\r\n var currentSortIcon = $(element).find(\".fileHeaderSort\")[0];\r\n var sortIcons = $(\".filesHeader\").find(\".fa\");\r\n\r\n _.each(sortIcons, function (icon) {\r\n icon.className = \"fileHeaderSort\";\r\n });\r\n\r\n var className = sortAscending() ? \"fa fa-sort-asc \" : \" fa fa-sort-desc\";\r\n currentSortIcon.className = className + \" fileHeaderSort\";\r\n\r\n if (column === \"fileName\") {\r\n var sortedFolders = folders();\r\n\r\n sortedFolders.sort(function (a, b) {\r\n var left = a.folderName().toLowerCase();\r\n var right = b.folderName().toLowerCase();\r\n \r\n if (left < right) return sortAscending() ? -1 : 1;\r\n if (left > right) return sortAscending() ? 1 : -1;\r\n return 0;\r\n });\r\n\r\n folders(sortedFolders);\r\n }\r\n };\r\n },\r\n};","function htmlEncode(text) {\r\n const el = document.createElement('div');\r\n el.innerText = text;\r\n return el.innerHTML;\r\n}\r\n\r\nexport default {\r\n htmlEncode: function (text) {\r\n return htmlEncode(text);\r\n },\r\n};\r\n","import template from \"./compare-vessels.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport longTrendPeriodsClient from \"Clients/long-trend-periods-client\";\r\nimport diagnosticTypesHelper from \"Utilities/diagnostic-types-helper\";\r\n\r\nfunction findDiagnosticLongTrends(vessels) {\r\n var allLongTrends = _.flatten(_.pluck(vessels, \"longTrends\"));\r\n return _.filter(allLongTrends, function (longTrend) {\r\n return longTrend.diagnosticTypeId;\r\n });\r\n}\r\n\r\nfunction findCommonLongTrendNames(longTrends, vesselCount) {\r\n var commonDiagnosticLongTrendNames = [];\r\n var longTrendsGroupedByName = _.groupBy(longTrends, \"name\");\r\n _.each(longTrendsGroupedByName, function (group, name) {\r\n if (group.length === vesselCount) {\r\n commonDiagnosticLongTrendNames.push(name);\r\n }\r\n });\r\n return commonDiagnosticLongTrendNames;\r\n}\r\n\r\nfunction CompareGroup(vessels, longTrendName, longTrends, longTrendPeriods) {\r\n this.vessels = vessels;\r\n this.longTrendName = longTrendName;\r\n this.longTrends = longTrends;\r\n this.longTrendPeriods = longTrendPeriods;\r\n this.sortOrder = diagnosticTypesHelper.getDiagnosticTypeOrder(longTrends[0].diagnosticType);\r\n}\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.vessels = ko.observable(params.vessels);\r\n self.isLoadingLongTrendPeriods = ko.observable(true);\r\n self.longTrendPeriods = ko.observable();\r\n self.compareGroups = ko.observable();\r\n self.selectedCompareGroup = ko.observable();\r\n\r\n self.diagnosticLongTrends = [];\r\n self.commonDiagnosticLongTrendNames = [];\r\n\r\n self.isLoading = ko.pureComputed(function () {\r\n var isLoadingLongTrendPeriods = self.isLoadingLongTrendPeriods();\r\n return isLoadingLongTrendPeriods;\r\n });\r\n\r\n self.vesselsSubscription = self.vessels.subscribe(function (vessels) {\r\n self.diagnosticLongTrends = findDiagnosticLongTrends(vessels);\r\n self.commonDiagnosticLongTrendNames = findCommonLongTrendNames(self.diagnosticLongTrends, vessels.length);\r\n\r\n var allLongTrendIds = [];\r\n _.each(self.commonDiagnosticLongTrendNames, function (longTrendName) {\r\n var commonLongTrends = _.filter(self.diagnosticLongTrends, function (longTrend) {\r\n return longTrend.name === longTrendName;\r\n });\r\n\r\n allLongTrendIds = _.union(allLongTrendIds, _.pluck(commonLongTrends, \"id\"));\r\n });\r\n self.loadLongTrendPeriods(allLongTrendIds);\r\n });\r\n\r\n self.longTrendPeriodsBinding = self.longTrendPeriods.subscribe(function (longTrendPeriods) {\r\n var compareGroups = [];\r\n _.each(self.commonDiagnosticLongTrendNames, function (longTrendName) {\r\n var commonLongTrends = _.filter(self.diagnosticLongTrends, function (longTrend) {\r\n return longTrend.name === longTrendName;\r\n });\r\n var commonLongTrendIds = _.pluck(commonLongTrends, \"id\");\r\n\r\n var commonLongTrendPeriods = _.filter(longTrendPeriods, function (longTrendPeriod) {\r\n return _.contains(commonLongTrendIds, longTrendPeriod.longTrendId);\r\n });\r\n compareGroups.push(new CompareGroup(self.vessels(), longTrendName, commonLongTrends, commonLongTrendPeriods));\r\n });\r\n self.compareGroups(_.sortBy(compareGroups, \"sortOrder\"));\r\n });\r\n\r\n self.compareGroupClickedBinding = events.compareGroupClicked.add(function (compareGroup) {\r\n self.selectedCompareGroup(compareGroup);\r\n });\r\n\r\n self.load();\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.compareGroupClickedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.load = function () {\r\n var self = this;\r\n var vessels = self.vessels();\r\n self.diagnosticLongTrends = findDiagnosticLongTrends(vessels);\r\n self.commonDiagnosticLongTrendNames = findCommonLongTrendNames(self.diagnosticLongTrends, vessels.length);\r\n\r\n var allLongTrendIds = [];\r\n _.each(self.commonDiagnosticLongTrendNames, function (longTrendName) {\r\n var commonLongTrends = _.filter(self.diagnosticLongTrends, function (longTrend) {\r\n return longTrend.name === longTrendName;\r\n });\r\n\r\n allLongTrendIds = _.union(allLongTrendIds, _.pluck(commonLongTrends, \"id\"));\r\n });\r\n self.loadLongTrendPeriods(allLongTrendIds);\r\n};\r\n\r\nViewModel.prototype.deselectCompareGroup = function () {\r\n this.selectedCompareGroup(null);\r\n};\r\n\r\nViewModel.prototype.navigateHome = function () {\r\n events.navigatedHome.dispatch();\r\n};\r\n\r\nViewModel.prototype.loadLongTrendPeriods = function (longTrendIds) {\r\n var self = this;\r\n longTrendPeriodsClient.findMany(longTrendIds).done(function (data) {\r\n self.longTrendPeriods(data);\r\n })\r\n .always(function () {\r\n self.isLoadingLongTrendPeriods(false);\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import stringHelper from \"Utilities/string-helper\";\r\n\r\nfunction formatValueWithCaption(logVariable, value) {\r\n var precision = logVariable != null ? logVariable.displayPrecision : 5;\r\n\r\n var unit = logVariable != null ? logVariable.unit : null;\r\n return addCaption(value, precision, unit);\r\n}\r\n\r\nfunction formatMapLocation(latitude, longitude) {\r\n if (latitude < -90 || latitude > 90) {\r\n latitude = 0;\r\n }\r\n\r\n if (longitude < -180 || longitude > 180) {\r\n longitude = 0;\r\n }\r\n\r\n return latitude.toFixed(5) + \",\" + longitude.toFixed(5);\r\n}\r\n\r\nfunction addCaption(value, displayPrecision, unit) {\r\n var unitCaption = \"\";\r\n\r\n if (unit != null) {\r\n unitCaption = unit.caption != null ? unit.caption : \"\";\r\n }\r\n\r\n return value.toFixed(displayPrecision) + \" \" + unitCaption;\r\n}\r\n\r\nfunction formatLogVariableDisplayName(logVariable, duplicateLogVariableNames) {\r\n var dupLogVariableNamesArray = [];\r\n if (Array.isArray(duplicateLogVariableNames)) {\r\n dupLogVariableNamesArray = duplicateLogVariableNames;\r\n }\r\n if (typeof duplicateLogVariableNames === \"function\") {\r\n // Support for knockout\r\n dupLogVariableNamesArray = duplicateLogVariableNames();\r\n }\r\n var name = logVariable.name;\r\n if (logVariable.onboardSystem && dupLogVariableNamesArray.some(x => x == name)) {\r\n name += ` (${logVariable.onboardSystem})`;\r\n }\r\n return name;\r\n}\r\n\r\nfunction getDuplicateLogVariableNames(logVariables) {\r\n var logVariablesArray = [];\r\n if (Array.isArray(logVariablesArray)) {\r\n logVariablesArray = logVariables;\r\n }\r\n if (typeof logVariables === \"function\") {\r\n // Support for knockout\r\n logVariablesArray = logVariables();\r\n }\r\n if (!logVariablesArray) {\r\n return [];\r\n }\r\n\r\n var countOfNames = logVariablesArray.reduce((acc, curr, idx, arr) => {\r\n if (!acc[curr.name]) {\r\n acc[curr.name] = 0;\r\n }\r\n acc[curr.name]++;\r\n return acc;\r\n }, {});\r\n return Object.entries(countOfNames).filter(([key, value]) => value > 1).map(([key, value]) => key);\r\n}\r\n\r\nexport default {\r\n formatValueWithCaption: function (logVariable, value) {\r\n return formatValueWithCaption(logVariable, value);\r\n },\r\n formatMapLocation: function (latitude, longitude) {\r\n return formatMapLocation(latitude, longitude);\r\n },\r\n formatLogVariableDisplayName: function (logVariable, duplicateLogVariableNames) {\r\n return formatLogVariableDisplayName(logVariable, duplicateLogVariableNames);\r\n },\r\n getDuplicateLogVariableNames: function (logVariables) {\r\n return getDuplicateLogVariableNames(logVariables);\r\n }\r\n};\r\n","import net from \"App/net\";\r\n\r\nclass AuthService {\r\n login(username: string, password: string) {\r\n return net.post(\"/Authenticate\", {\r\n username,\r\n password,\r\n });\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem(\"ACCESS_TOKEN\");\r\n localStorage.removeItem(\"TOKEN_EXPIRY_DATE\");\r\n }\r\n\r\n lostPassword(Email: string) {\r\n return net.post(\"/Account/LostPassword\", {\r\n Email,\r\n });\r\n }\r\n\r\n resetPassword(Username: string, Token: string, Password: string) {\r\n return net.post(\"/Account/ResetPassword\", {\r\n Username,\r\n Token,\r\n Password,\r\n });\r\n }\r\n\r\n changePassword(Username: string, CurrentPassword: string, NewPassword: string) {\r\n return net.post(\"/Account/ChangePassword\", {\r\n Username,\r\n CurrentPassword,\r\n NewPassword,\r\n });\r\n }\r\n\r\n register(username: string, email: string, password: string) {\r\n console.warn(\"TODO: implement signup\");\r\n }\r\n}\r\n\r\nexport default new AuthService();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport AuthService from \"@/services/AuthService\";\r\nimport { Tokens } from \"@/types/tokens\";\r\nimport { LoginData } from \"@/types/loginData\";\r\nimport { ResetPasswordData } from \"@/types/resetPasswordData\";\r\nimport { ChangePasswordData } from \"@/types/changePasswordData\";\r\nimport authHeader from \"@/services/AuthHeader\";\r\n\r\nconst storedAccessToken = localStorage.getItem(\"ACCESS_TOKEN\");\r\nconst storedAccessTokenExpiryDate = localStorage.getItem(\"TOKEN_EXPIRY_DATE\");\r\nlet storedRememberUser = localStorage.getItem(\"REMEMBER_USER\");\r\nif (storedRememberUser) {\r\n storedRememberUser = JSON.parse(storedRememberUser);\r\n}\r\n\r\n@Module({ namespaced: true, name: \"Auth\" })\r\nclass Auth extends VuexModule {\r\n public status = storedAccessToken ? { loggedIn: true } : { loggedIn: false };\r\n public accessToken = storedAccessToken ? storedAccessToken : null;\r\n public accessTokenExpiryDate: string | null = storedAccessTokenExpiryDate ? storedAccessTokenExpiryDate : null;\r\n public _isRefreshing = false;\r\n\r\n @Mutation\r\n public setAccountPersistence(state: boolean): void {\r\n localStorage.setItem(\"REMEMBER_USER\", JSON.stringify(state));\r\n }\r\n\r\n @Mutation\r\n public loginSuccess(tokens: Tokens): void {\r\n this.status.loggedIn = true;\r\n this.accessToken = tokens.access;\r\n this.accessTokenExpiryDate = tokens.expiry;\r\n localStorage.setItem(\"ACCESS_TOKEN\", tokens.access);\r\n localStorage.setItem(\"TOKEN_EXPIRY_DATE\", tokens.expiry);\r\n\r\n this._isRefreshing = false;\r\n }\r\n\r\n @Mutation\r\n public loginFailure(): void {\r\n this.status.loggedIn = false;\r\n this.accessToken = null;\r\n this.accessTokenExpiryDate = null;\r\n this._isRefreshing = false;\r\n }\r\n\r\n @Mutation\r\n public loadingState(state: boolean): void {\r\n this._isRefreshing = state;\r\n\r\n }\r\n\r\n @Mutation\r\n public logout(): void {\r\n this.status.loggedIn = false;\r\n this.accessToken = null;\r\n this.accessTokenExpiryDate = null;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async login(data: LoginData): Promise {\r\n this.context.commit(\"loadingState\", true);\r\n return await AuthService.login(data.username, data.password).then(\r\n tokens => {\r\n this.context.commit(\"setAccountPersistence\", data.persist);\r\n this.context.commit(\"loginSuccess\", tokens);\r\n return Promise.resolve(tokens);\r\n },\r\n error => {\r\n console.error(error);\r\n this.context.commit(\"loginFailure\");\r\n return Promise.reject(error.responseJSON);\r\n },\r\n );\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async lostPassword(email: string): Promise {\r\n return await AuthService.lostPassword(email).then(\r\n response => {\r\n return Promise.resolve(response);\r\n },\r\n error => {\r\n console.error(error);\r\n return Promise.reject(error);\r\n },\r\n );\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async resetPassword(data: ResetPasswordData): Promise {\r\n return await AuthService.resetPassword(data.username, data.token, data.password).then(\r\n response => {\r\n return Promise.resolve(response);\r\n },\r\n error => {\r\n console.error(error);\r\n return Promise.reject(error);\r\n },\r\n );\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async changePassword(data: ChangePasswordData): Promise {\r\n return await AuthService.changePassword(data.username, data.currentPassword, data.newPassword).then(\r\n response => {\r\n return Promise.resolve(response);\r\n },\r\n error => {\r\n console.error(error);\r\n return Promise.reject(error);\r\n },\r\n );\r\n }\r\n\r\n @Action\r\n public updateTokens(tokens: Tokens): void {\r\n this.context.commit(\"loginSuccess\", tokens);\r\n }\r\n\r\n @Action\r\n public async isTokenValid(): Promise {\r\n const response = await fetch(`${process.env.VUE_APP_API_BASE_URL + \"/Authenticate/TokenCheck\"}`, {\r\n headers: authHeader() as HeadersInit,\r\n });\r\n if (response.status !== 200) return false;\r\n return true;\r\n }\r\n\r\n @Action\r\n public async signOut(): Promise {\r\n await AuthService.logout();\r\n this.context.commit(\"logout\");\r\n this.context.commit(\"User/EXPIRE_USER\", null, { root: true });\r\n }\r\n\r\n get isLoggedIn(): boolean {\r\n return this.status.loggedIn;\r\n }\r\n get isRefreshing(): boolean {\r\n return this._isRefreshing;\r\n }\r\n\r\n get getAccessTokenExpiryDate(): string | null {\r\n return this.accessTokenExpiryDate;\r\n }\r\n\r\n get getAccessToken(): string | null {\r\n return this.accessToken;\r\n }\r\n}\r\n\r\nexport default Auth;\r\n","import template from \"./long-trend-config.html\";\r\nimport ko from \"knockout\";\r\nimport longTrendConfigurationsClient from \"Clients/long-trend-configurations-client\";\r\nimport longTrendsClient from \"Clients/long-trends-client\";\r\nimport vesselsClient from \"@/Scripts/clients/vessels-client\";\r\nimport dateHelper from \"Utilities/date-helper\";\r\nimport store from \"@/store\";\r\nimport { getModule } from \"vuex-module-decorators\";\r\nimport VesselsModule from \"@/store/clients/Vessels.module\";\r\n\r\nconst Vessels = getModule(VesselsModule, store);\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n var vesselId = Vessels.currentVessel.id;\r\n\r\n self.showLastHours = false;\r\n self.showLastMinutes = false;\r\n self.showFromTime = false;\r\n self.showToTime = false;\r\n\r\n self.isVariablesLoading = ko.observable(true);\r\n self.isConfigLoading = ko.observable(true);\r\n self.isVoyagesLoading = ko.observable(true);\r\n self.config = ko.observable();\r\n self.isUpdateConfigurationLoading = ko.observable(false);\r\n self.isUpdateConfigurationError = ko.observable(false);\r\n self.submitError = ko.observable(false);\r\n\r\n self.variables = ko.observable();\r\n self.selectedVariables = ko.observable();\r\n\r\n self.selectedTimePeriod = ko.observable();\r\n self.lastDays = ko.observable();\r\n self.fromDate = ko.observable();\r\n self.toDate = ko.observable();\r\n self.lastPeriodValuesValid = ko.observable(true);\r\n self.voyages = ko.observable();\r\n\r\n self.isLoading = ko.pureComputed(function () {\r\n return self.isConfigLoading() || self.isVoyagesLoading() || self.isVariablesLoading();\r\n });\r\n\r\n self.lastVoyage = ko.pureComputed((function() {\r\n if (self.voyages().length < 1) return null;\r\n\r\n for (let i = self.voyages().length - 1; i >= 0; i--) {\r\n if (self.voyages()[i].startDate !== \"0001-01-01T00:00:00\" && self.voyages()[i].endDate !== \"0001-01-01T00:00:00\") {\r\n return self.voyages()[i];\r\n }\r\n }\r\n\r\n return null;\r\n }));\r\n\r\n self.selectedTimeInMinutes = ko.pureComputed(function () {\r\n var selectedTime = 0;\r\n\r\n if (self.selectedTimePeriod() === \"AllValues\") {\r\n selectedTime = 1;\r\n } else if (self.selectedTimePeriod() === \"LastVoyage\") {\r\n var from = dateHelper.getDateTime(dateHelper.getFormatedDateTimeString(self.lastVoyage().startDate));\r\n var to = dateHelper.getDateTime(dateHelper.getFormatedDateTimeString(self.lastVoyage().endDate));\r\n\r\n selectedTime = to.diff(from, \"minutes\")\r\n } else if (self.selectedTimePeriod() === \"LastPeriod\") {\r\n selectedTime = daysToMinutes(self.lastDays());\r\n } else if (self.selectedTimePeriod() === \"SetPeriod\") {\r\n var from = dateHelper.getDate(self.fromDate());\r\n var to = dateHelper.getDate(self.toDate());\r\n\r\n selectedTime = to.diff(from, \"minutes\");\r\n }\r\n\r\n if (selectedTime <= 0) {\r\n self.submitError(true);\r\n } else {\r\n self.submitError(false);\r\n }\r\n\r\n return selectedTime;\r\n });\r\n\r\n self.updateTimePeriod = function (fromDateTime, toDateTime) {\r\n self.fromDate(dateHelper.getFormatedDateString(fromDateTime));\r\n self.toDate(dateHelper.getFormatedDateString(toDateTime));\r\n self.selectedTimePeriod(\"SetPeriod\");\r\n\r\n self.submit();\r\n };\r\n\r\n self.submit = function () {\r\n var selectedVariables = self.selectedVariables();\r\n var endChar = selectedVariables.charAt(selectedVariables.length - 1);\r\n\r\n if (endChar === \";\") {\r\n selectedVariables = selectedVariables.slice(0, -1);\r\n }\r\n if (self.selectedTimePeriod() === \"LastVoyage\") {\r\n self.fromDate(dateHelper.getFormatedDateString(self.lastVoyage().startDate));\r\n self.toDate(dateHelper.getFormatedDateString(self.lastVoyage().endDate));\r\n }\r\n const config = {\r\n longTrendIds: selectedVariables,\r\n fromDateTime: dateHelper.getSubmitDateString(self.fromDate(), \"00:00\"),\r\n toDateTime: dateHelper.getSubmitDateString(self.toDate(), \"00:00\"),\r\n lastNumberDays: self.lastDays(),\r\n lastVoyage: self.lastVoyage(),\r\n timeConfigurationType: self.selectedTimePeriod(),\r\n id: self.config().id,\r\n userId: self.config().userId,\r\n vesselId: self.config().vesselId,\r\n };\r\n\r\n self.isUpdateConfigurationLoading(true);\r\n\r\n longTrendConfigurationsClient.update(config).done(function () {\r\n self.isUpdateConfigurationError(false);\r\n self.onSubmit(config);\r\n }).fail(function () {\r\n self.isUpdateConfigurationError(true);\r\n }).always(function () {\r\n self.isUpdateConfigurationLoading(false);\r\n });\r\n };\r\n\r\n self.disableSubmit = ko.pureComputed(function () {\r\n return self.selectedVariables() === \"|\" || !self.lastPeriodValuesValid() || self.isUpdateConfigurationLoading() || self.submitError();\r\n });\r\n\r\n self.displayEmptyVariableSelectionWarning = ko.pureComputed(function () {\r\n return self.selectedVariables() === \"|\";\r\n });\r\n\r\n longTrendsClient.findLongTrendVariables(vesselId).done(function (data) {\r\n self.variables(data);\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isVariablesLoading(false);\r\n });\r\n\r\n longTrendConfigurationsClient.getByVesselId(vesselId).done(function (data) {\r\n self.config(data);\r\n self.selectedVariables(data.longTrendIds);\r\n self.selectedTimePeriod(data.timeConfigurationType);\r\n self.lastDays(data.lastNumberDays);\r\n self.fromDate(dateHelper.getFormatedDateString(data.fromDateTime));\r\n self.toDate(dateHelper.getFormatedDateString(data.toDateTime));\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isConfigLoading(false);\r\n });\r\n\r\n vesselsClient.getVesselVoyages(vesselId).done(function (data) {\r\n self.voyages(data);\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isVoyagesLoading(false);\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n};\r\n\r\nfunction daysToMinutes(days) {\r\n days = Number(days);\r\n return days * 24 * 60;\r\n}\r\n\r\nexport default {viewModel: ViewModel, template: template};\r\n","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Id\\r\\n \\r\\n \\r\\n \\r\\n Vessel name\\r\\n \\r\\n \\r\\n \\r\\n Last data sent\\r\\n \\r\\n \\r\\n \\r\\n Created\\r\\n \\r\\n \\r\\n \\r\\n IMO Number\\r\\n \\r\\n \\r\\n \\r\\n Assign to company\\r\\n \\r\\n Company\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Edit\\r\\n \\r\\n Archive\\r\\n Deactivate\\r\\n Activate\\r\\n \\r\\n \\r\\n Reactivate\\r\\n Delete\\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
TimestampFuel typeEstimated fuel
mass flow rate (t/day)
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(isOpen, vesselId, limit, skip) {\r\n var query = {\r\n isOpen: isOpen,\r\n };\r\n\r\n if (vesselId) {\r\n query.vesselId = vesselId;\r\n }\r\n\r\n if (limit) {\r\n query.limit = limit;\r\n }\r\n\r\n if (skip) {\r\n query.skip = skip;\r\n }\r\n\r\n return net.get(\"/Incidents/Find\", query);\r\n};\r\n\r\nClient.prototype.findOpen = function(vesselId) {\r\n return this.find(true);\r\n};\r\n\r\nClient.prototype.findClosed = function(vesselId, limit, skip) {\r\n return this.find(false, vesselId, limit, skip);\r\n};\r\n\r\nexport default new Client();","import net from \"App/net\";\r\n\r\nvar Client = function () {\r\n\r\n};\r\n\r\nClient.prototype.find = function (vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n return net.get(\"/NotificationConditions/Find\", filter);\r\n};\r\n\r\nClient.prototype.fetch = function () {\r\n return net.get(\"/NotificationConditions/Find\");\r\n};\r\n\r\nClient.prototype.create = function (condition) {\r\n return net.post(\"/NotificationConditions\", condition);\r\n};\r\n\r\nClient.prototype.update = function (conditions) {\r\n return net.put(\"/NotificationConditions\", conditions);\r\n};\r\n\r\nClient.prototype.remove = function (condition) {\r\n return net.del(\"/NotificationConditions/\" + condition.id);\r\n};\r\n\r\nexport default new Client();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { Incident, OpenIncident } from \"@/types/incident\";\r\nimport { Condition } from \"@/types/condition\";\r\nimport incidentsClient from \"Clients/incidents-client\";\r\nimport conditionsClient from \"Clients/notification-conditions-client\";\r\nimport _ from \"underscore\";\r\n\r\n@Module({ namespaced: true, name: \"Incidents\" })\r\nclass Incidents extends VuexModule {\r\n _openIncidents: Incident[] = [];\r\n _allOpenIncidents: Incident[] = [];\r\n _allClosedIncidents: Incident[] = [];\r\n _conditions: Condition[] = [];\r\n private _incidentsExpired = true;\r\n\r\n @Mutation\r\n public UPDATE_OPEN_INCIDENTS(incidents: Incident[]): void {\r\n this._openIncidents = incidents;\r\n }\r\n\r\n @Mutation\r\n public SET_ALL_OPEN_INCIDENTS(incidents: Incident[]): void {\r\n this._allOpenIncidents = incidents;\r\n }\r\n\r\n @Mutation\r\n public SET_ALL_CLOSED_INCIDENTS(incidents: Incident[]): void {\r\n this._allClosedIncidents = incidents;\r\n }\r\n\r\n @Mutation\r\n public SET_CONDITIONS(conditions: Condition[]): void {\r\n this._conditions = conditions;\r\n }\r\n\r\n @Mutation\r\n public EXPIRE_DATA(): void {\r\n this._incidentsExpired = true;\r\n }\r\n\r\n @Action\r\n public async updateOpenIncidents(id = this.currentVesselId): Promise {\r\n if (!id) return Promise.reject();\r\n\r\n try {\r\n const data = await incidentsClient.find(true, id);\r\n this.context.commit(\"UPDATE_OPEN_INCIDENTS\", data);\r\n return data;\r\n } catch (error) {\r\n console.warn(error);\r\n return Promise.reject(`Failed to update open incidents: ${error}`);\r\n }\r\n }\r\n\r\n @Action\r\n public async getAllOpenIncidents(): Promise {\r\n try {\r\n const data = await incidentsClient.find(true);\r\n this.context.commit(\"SET_ALL_OPEN_INCIDENTS\", data);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getFleetLevelOpenIncidents(): Promise {\r\n try {\r\n const data = await incidentsClient.find(true);\r\n this.context.commit(\"SET_ALL_OPEN_INCIDENTS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to return response\", error });\r\n }\r\n }\r\n\r\n @Action\r\n public async getAllClosedIncidents(): Promise {\r\n try {\r\n const data = await incidentsClient.find(false);\r\n this.context.commit(\"SET_ALL_CLOSED_INCIDENTS\", data);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action\r\n public async fetchConditionsByVesselId(vesselId: number): Promise {\r\n try {\r\n const data = await conditionsClient.find(vesselId);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to load conditions\", error });\r\n }\r\n }\r\n\r\n @Action\r\n public async fetchConditions(): Promise {\r\n try {\r\n const data = await conditionsClient.find();\r\n this.context.commit(\"SET_CONDITIONS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to load conditions\", error });\r\n }\r\n }\r\n\r\n @Action\r\n public async createConditions(conditions: Condition[]): Promise {\r\n try {\r\n const data = await conditionsClient.create(conditions);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to create conditions\", error });\r\n }\r\n }\r\n\r\n @Action\r\n public async updateCondition(conditions: Condition[]): Promise {\r\n try {\r\n const data = await conditionsClient.update(conditions);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to update condition\", error });\r\n }\r\n }\r\n\r\n private get currentVesselId(): number | undefined {\r\n return this.context.rootGetters[\"Vessels/currentVessel\"]?.id;\r\n }\r\n\r\n public get distinctOpenIncidents(): Incident[] {\r\n const groupedByConditionAndTargetKey = _.groupBy(this._openIncidents, function (incident) {\r\n return incident.conditionId + \"-\" + incident.conditionTargetKey;\r\n });\r\n\r\n return _.map(groupedByConditionAndTargetKey, function (group) {\r\n return _.sortBy(group, \"severity\")[0];\r\n });\r\n }\r\n\r\n public get distinctAllOpenIncidents(): Incident[] {\r\n const groupedByConditionAndTargetKey = _.groupBy(this._allOpenIncidents, function (incident) {\r\n return incident.conditionId + \"-\" + incident.conditionTargetKey;\r\n });\r\n\r\n return _.map(groupedByConditionAndTargetKey, function (group) {\r\n return _.sortBy(group, \"severity\")[0];\r\n });\r\n }\r\n\r\n public get openWarningIncidents(): Incident[] {\r\n return _.filter(this.distinctOpenIncidents, function (incident) {\r\n return incident.severity === \"Warning\";\r\n });\r\n }\r\n\r\n public get openCriticalIncidents(): Incident[] {\r\n return _.filter(this.distinctOpenIncidents, function (incident) {\r\n return incident.severity === \"Critical\";\r\n });\r\n }\r\n\r\n public get openCriticalIncidentsLength(): number {\r\n return this.openCriticalIncidents.length;\r\n }\r\n public get openWarningIncidentsLength(): number {\r\n return this.openWarningIncidents.length;\r\n }\r\n\r\n public get allOpenIncidents(): Incident[] {\r\n return this._allOpenIncidents;\r\n }\r\n\r\n public get allClosedIncidents(): Incident[] {\r\n return this._allClosedIncidents;\r\n }\r\n\r\n public get allIncidents(): Incident[] {\r\n return [...this._allClosedIncidents, ...this._allOpenIncidents];\r\n }\r\n\r\n public get conditions(): Condition[] {\r\n return this._conditions;\r\n }\r\n}\r\n\r\nexport default Incidents;\r\n","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.getAll = function() {\r\n return net.get(\"/CargoUnits\");\r\n};\r\n\r\nexport default new Client();","import net from \"App/net\";\r\nimport Store from \"@/store\";\r\nimport _ from \"underscore\";\r\n\r\nvar LogDataClient = function () {\r\n\r\n};\r\n\r\nfunction getData(filter, url) {\r\n var deferred = $.Deferred();\r\n\r\n var logData = null;\r\n\r\n net.get(url, filter).done(function(response) {\r\n var continuationFilter = response.continuationFilter;\r\n\r\n logData = response;\r\n if (continuationFilter) {\r\n getData(continuationFilter).done(function(continuedResponse) {\r\n _.extend(logData.data, continuedResponse.data);\r\n deferred.resolve(logData);\r\n });\r\n } else {\r\n deferred.resolve(logData);\r\n }\r\n }).fail(function() {\r\n deferred.reject(arguments);\r\n });\r\n\r\n return deferred.promise();\r\n}\r\n\r\nLogDataClient.prototype.findLogData = function (variableId, fromDate, toDate, granularity, dateTimeFormat, \r\n unitName, filterMinMax, filterOutliers) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/LogData\" : \"/LogData/Find\";\r\n\r\n var filter = {\r\n logVariableId: variableId,\r\n granularity: granularity ? granularity : \"minute\",\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n dateTimeFormat: dateTimeFormat,\r\n unitName: unitName,\r\n filterMinMax: filterMinMax,\r\n filterOutliers: filterOutliers,\r\n };\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.batchFindLogData = function (variableIds, fromDate, toDate, granularity, filterMinMax, filterOutliers) {\r\n var url = \"/LogData/BatchFind\";\r\n\r\n var filter = {\r\n logVariableIds: variableIds,\r\n granularity: granularity ? granularity : \"minute\",\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n filterMinMax: filterMinMax,\r\n filterOutliers: filterOutliers,\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchAccumulatedCalculatedLogData = function(payload) {\r\n var url = \"/LogData/Calculated/Accumulated\";\r\n var filter = {\r\n logVariableIds: payload.logVariableIds,\r\n fromDate: payload.fromDate,\r\n toDate: payload.toDate,\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchAveragedCalculatedLogData = function(payload) {\r\n var url = \"/LogData/Calculated/Averaged\";\r\n var filter = {\r\n logVariableIds: payload.logVariableIds,\r\n fromDate: payload.fromDate,\r\n toDate: payload.toDate,\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchShapoliAveraged = function(payload) {\r\n var url = \"/Shapoli/LogData/Average\";\r\n var filter = {\r\n vesselId: payload.vesselId,\r\n fromDate: payload.fromDate,\r\n toDate: payload.toDate,\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchLastReceivedLogData = function(logVariableIds) {\r\n var url = \"/LogData/LastReceived?logVariableIds=\" + logVariableIds;\r\n var filter = {\r\n\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchLastVoyageAccumulated = function(logVariableIds) {\r\n var url = \"/LogData/Calculated/Accumulated/LastVoyage?logVariableIds=\" + logVariableIds;\r\n var filter = {\r\n \r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchLastVoyageAveraged = function(logVariableIds) {\r\n var url = \"/LogData/Calculated/Averaged/LastVoyage?logVariableIds=\" + logVariableIds;\r\n var filter = {\r\n \r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nexport default new LogDataClient();\r\n","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(vesselId, eventTypes) {\r\n var filter = {\r\n vesselId: vesselId,\r\n eventTypes: eventTypes,\r\n };\r\n\r\n return net.get(\"/VesselEvents/Find\", filter);\r\n};\r\n\r\nClient.prototype.getTrendEventTypes = function() {\r\n return net.get(\"/DiagnosticEvents/Trend/Types\");\r\n};\r\n\r\nClient.prototype.update = function(vesselEvent) {\r\n return net.put(\"/VesselEvents/\" + vesselEvent.id, vesselEvent);\r\n};\r\n\r\nClient.prototype.CreateInfoEvent = function(vesselInfoEventModel) {\r\n return net.post(\"/DiagnosticEvents/Info\", vesselInfoEventModel);\r\n};\r\n\r\nClient.prototype.CreateTrendEvent = function(vesselTrendEventModel) {\r\n return net.post(\"/DiagnosticEvents/Trend\", vesselTrendEventModel);\r\n};\r\n\r\nClient.prototype.UpdateInfoEvent = function(vesselInfoEventModel) {\r\n return net.put(\"/DiagnosticEvents/Info/\" + vesselInfoEventModel.id, vesselInfoEventModel);\r\n};\r\n\r\nClient.prototype.UpdateTrendEvent = function(vesselTrendEventModel) {\r\n return net.put(\"/DiagnosticEvents/Trend/\" + vesselTrendEventModel.id, vesselTrendEventModel);\r\n};\r\n\r\nClient.prototype.DeleteInfoEvent = function(id) {\r\n return net.del(\"/DiagnosticEvents/Info/\" + id);\r\n};\r\n\r\nClient.prototype.DeleteTrendEvent = function(id) {\r\n return net.del(\"/DiagnosticEvents/Trend/\" + id);\r\n};\r\n\r\nexport default new Client();\r\n","module.exports = __webpack_public_path__ + \"img/loading.14a0936b.gif\";","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport vesselEventCargoDetailsClient from \"Clients/vessel-event-cargo-details-client\";\r\n\r\nvar ViewModel = function(vesselEvent, cargoUnit, cargoDetails) {\r\n var self = this;\r\n self.vesselEvent = vesselEvent;\r\n self.vesselEventId = vesselEvent().id;\r\n self.cargoUnit = cargoUnit;\r\n\r\n self.isCreated = ko.observable();\r\n self.cargoDetail = ko.observable();\r\n self.inputCargoCarried = ko.observable();\r\n self.isEditing = ko.observable();\r\n\r\n var existingCargoDetail = _.find(cargoDetails,\r\n function(cargoDetail) {\r\n return cargoDetail.cargoUnitId === cargoUnit.id;\r\n });\r\n\r\n self.hasCargoCarried = ko.pureComputed(function() {\r\n var cargoDetail = self.cargoDetail();\r\n return _.isFinite(cargoDetail.cargoCarried);\r\n });\r\n\r\n self.initialize(existingCargoDetail);\r\n};\r\n\r\nViewModel.prototype.initialize = function(existingCargoDetail) {\r\n var self = this;\r\n\r\n var cargoDetail = {\r\n vesselEventId: self.vesselEventId,\r\n cargoUnitId: self.cargoUnit.id,\r\n cargoCarried: existingCargoDetail ? existingCargoDetail.cargoCarried : null,\r\n };\r\n\r\n self.isCreated(existingCargoDetail ? true : false);\r\n self.cargoDetail(cargoDetail);\r\n self.inputCargoCarried(cargoDetail.cargoCarried);\r\n var isVesselEventConfirmed = self.vesselEvent().isConfirmed;\r\n self.isEditing(!_.isFinite(cargoDetail.cargoCarried) && !isVesselEventConfirmed);\r\n};\r\n\r\nViewModel.prototype.dispose = function(newCurve) {\r\n};\r\n\r\nViewModel.prototype.startEditing = function(vm, e) {\r\n var $wrapper = $(e.currentTarget).closest(\".edit-wrapper\");\r\n this.isEditing(true);\r\n\r\n var $input = $wrapper.find(\"input[type=text]\");\r\n $input.focus();\r\n $input.select();\r\n};\r\n\r\nViewModel.prototype.cancelEditing = function(vm, e) {\r\n this.isEditing(false);\r\n};\r\n\r\nViewModel.prototype.save = function() {\r\n var self = this;\r\n var cargoDetail = _.clone(self.cargoDetail());\r\n var inputCargoCarried = self.inputCargoCarried();\r\n if (inputCargoCarried) {\r\n cargoDetail.cargoCarried = parseFloat(inputCargoCarried);\r\n if (!_.isFinite(cargoDetail.cargoCarried)) {\r\n cargoDetail.cargoCarried = 0;\r\n }\r\n vesselEventCargoDetailsClient.create(cargoDetail).done(function(data) {\r\n self.initialize(data);\r\n });\r\n } else if (self.isCreated()) {\r\n vesselEventCargoDetailsClient.remove(cargoDetail).done(function() {\r\n self.initialize(null);\r\n });\r\n }\r\n};\r\n\r\nexport default ViewModel;","import net from \"App/net\";\r\n\r\nvar VesselsAdministrationsClient = function () {\r\n\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.get = function(vesselId) {\r\n return net.get(\"/VesselAdministrations/\" + vesselId);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.getVessels = function () {\r\n return net.get(\"/VesselAdministrations\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.createVessel = function (vessel) {\r\n return net.post(\"/VesselAdministrations\", vessel);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.getDataReceiverByImoNumber = function (imoNumber) {\r\n var filter = {\r\n isDataReceiver: true,\r\n imoNumber: imoNumber,\r\n };\r\n\r\n var deferred = $.Deferred();\r\n\r\n net.get(\"/VesselAdministrations/Find\", filter).done(function (response) {\r\n deferred.resolve(response[0]);\r\n }).fail(function () {\r\n deferred.reject(arguments);\r\n });\r\n\r\n return deferred.promise();\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.assign = function (vesselId, companyId) {\r\n var command = {\r\n vesselId: vesselId,\r\n companyId: companyId,\r\n };\r\n\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/Assign\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.unassign = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/Unassign\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.update = function (vessel) {\r\n return net.put(\"/VesselAdministrations/\" + vessel.id, vessel);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.setAsDataReceiver = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/SetDataReceiver\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.unsetAsDataReceiver = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/UnsetDataReceiver\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.archiveVessel = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/ArchiveVessel\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.activateVessel = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/ActivateVessel\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.deactivateVessel = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/DeactivateVessel\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.deleteVessel = function (vesselId) {\r\n return net.del(\"/VesselAdministrations/\" + vesselId);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.activateFeature = function (vesselId, featureId) {\r\n var command = {\r\n vesselId: vesselId,\r\n featureId: featureId,\r\n };\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/ActivateFeature\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.deactivateFeature = function (vesselId, featureId) {\r\n var command = {\r\n vesselId: vesselId,\r\n featureId: featureId,\r\n };\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/DeactivateFeature\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.addCargoUnit = function(vesselId, cargoUnitId) {\r\n var command = {\r\n vesselId: vesselId,\r\n cargoUnitId: cargoUnitId,\r\n };\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/AddCargoUnit\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.removeCargoUnit = function(vesselId, cargoUnitId) {\r\n var command = {\r\n vesselId: vesselId,\r\n cargoUnitId: cargoUnitId,\r\n };\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/RemoveCargoUnit\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.getVeracityKey = function(vesselId) {\r\n return net.get(\"/VesselAdministrations/\" + vesselId + \"/GetVeracityKey\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.updateVeracityKey = function(vesselId, veracityKey) {\r\n var data = {\r\n vesselId: vesselId,\r\n veracityKey: veracityKey,\r\n };\r\n return net.put(\"/VesselAdministrations/UpdateVeracityKey\", data);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.getVeracityKeyExpirationDate = function(vesselId) {\r\n return net.get(\"/VesselAdministrations/\" + vesselId + \"/GetVeracityKeyExpirationDate\");\r\n};\r\n\r\nexport default new VesselsAdministrationsClient();","// Module\nvar code = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n


\\r\\n \\r\\n \\r\\n
The value must be a number
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

Please be aware, one or more of the predictions have been detected as an outlier in the observed data set. This means that the prediction may not be trustworthy.

\\r\\n

You could try experimenting with different curve fit methods, to see if there is a better fit for this particular data set.

\\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"

\\r\\n \\r\\n

\\r\\n\\r\\n

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { VesselAccessGroup } from \"@/types/vesselAccessGroup\";\r\nimport vesselCategoriesClient from \"Clients/vessel-categories-client\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"VesselAccessGroups\" })\r\nclass VesselAccessGroups extends VuexModule {\r\n private _vesselAccessGroupsExpired = true;\r\n private _vesselAccessGroups: VesselAccessGroup[] = [];\r\n\r\n @Mutation\r\n public REFRESH_GROUPS(groups: VesselAccessGroup[]): void {\r\n this._vesselAccessGroupsExpired = false;\r\n this._vesselAccessGroups = groups;\r\n }\r\n\r\n @Mutation\r\n public EXPIRE_DATA(): void {\r\n this._vesselAccessGroupsExpired = true;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshVesselAccessGroups(): Promise {\r\n let data = [];\r\n try {\r\n data = await vesselCategoriesClient.getAll();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n this.context.commit(\"REFRESH_GROUPS\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getAll(): Promise {\r\n if (!this._vesselAccessGroupsExpired) {\r\n return this._vesselAccessGroups;\r\n } else {\r\n await this.refreshVesselAccessGroups();\r\n return this._vesselAccessGroups;\r\n }\r\n }\r\n\r\n get vesselAccessGroups(): VesselAccessGroup[] {\r\n return this._vesselAccessGroups;\r\n }\r\n get vesselAccessGroupsCount(): number {\r\n return this._vesselAccessGroups.length;\r\n }\r\n}\r\n\r\nexport default VesselAccessGroups;\r\n","module.exports = __webpack_public_path__ + \"img/help-preset.fdf9e4db.webp\";","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n
\\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
\\r\\n
\\r\\n Distance sailed\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n nm\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n nm\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=3fc04f1c&lang=scss&scoped=true&\"","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport logVariablesClient from \"Clients/log-variables-client\";\r\nimport Vue from \"vue\";\r\nimport { LogVariable } from \"@/types/logVariable\";\r\n\r\ninterface VesselLogVariables {\r\n vesselId: number;\r\n logVariables: LogVariable[];\r\n}\r\n\r\n@Module({ namespaced: true, name: \"LogVariables\" })\r\nclass LogVariables extends VuexModule {\r\n private _vesselsLogVariables: VesselLogVariables[] = [];\r\n private _currentVesselLogVariables: LogVariable[] = [];\r\n private _currentVesselShaftPowerLogVariables: LogVariable[] = [];\r\n\r\n public get vesselsLogVariables(): VesselLogVariables[] {\r\n return this._vesselsLogVariables;\r\n }\r\n\r\n public get currentVesselLogVariables(): LogVariable[] {\r\n return this._currentVesselLogVariables;\r\n }\r\n\r\n public get currentVesselShaftPowerLogVariables(): LogVariable[] {\r\n return this._currentVesselShaftPowerLogVariables;\r\n }\r\n\r\n public get logVariableByName() {\r\n return (logVariableName: string): LogVariable => {\r\n return this._currentVesselLogVariables.find(variable => variable.name === logVariableName) ?? {} as LogVariable;\r\n };\r\n }\r\n\r\n public get logVariableById() {\r\n return (id: number): LogVariable => {\r\n return this._currentVesselLogVariables.find(variable => variable.id === id) ?? {} as LogVariable;\r\n };\r\n }\r\n\r\n public get logVariableByVesselId() {\r\n return (id: number): LogVariable[] | undefined => {\r\n return this._vesselsLogVariables.find(variable => variable.vesselId === id)?.logVariables;\r\n };\r\n }\r\n\r\n public get logVariableByNameAndVesselId() {\r\n return (vesselId: number, name: string): LogVariable | undefined => {\r\n const vesselVariables = this._vesselsLogVariables.find(variable => variable.vesselId === vesselId)?.logVariables;\r\n if (!vesselVariables?.length) return;\r\n return vesselVariables.find(variable => variable.displayName === name);\r\n };\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchAllLogVariablesByVesselId(vesselId: number): Promise {\r\n try {\r\n const logVariables: LogVariable[] = await logVariablesClient.findAll(vesselId, undefined, true, true);\r\n const taxa = await logVariablesClient.findVesselLogVariablesTaxa(vesselId);\r\n logVariables.forEach(logVariable => {\r\n logVariable.taxa = taxa[logVariable.id];\r\n });\r\n this.context.commit(\"SET_VESSEL_LOG_VARIABLES\", { logVariables: logVariables, vesselId: vesselId });\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshCurrentVesselLogVariables(vesselId: number): Promise {\r\n try {\r\n const data = await logVariablesClient.findAll(vesselId, null, null, true);\r\n this.context.commit(\"SET_CURRENT_VESSEL_LOG_VARIABLES\", data);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchVesselShaftPowerLogVariables(vesselId: number): Promise {\r\n try {\r\n const shaftPowerLogVariables: LogVariable[] = await logVariablesClient.findVesselLogVariablesShaftPower(vesselId);\r\n this.context.commit(\"SET_SHAFT_POWER_LOG_VARIABLES\", shaftPowerLogVariables);\r\n return shaftPowerLogVariables;\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Mutation\r\n public SET_VESSEL_LOG_VARIABLES(payload: VesselLogVariables): void {\r\n const existedVesselIndex = this._vesselsLogVariables.findIndex(vessel => vessel.vesselId === payload.vesselId);\r\n if (existedVesselIndex >= 0) Vue.set(this._vesselsLogVariables, existedVesselIndex, payload);\r\n else this._vesselsLogVariables.push(payload);\r\n }\r\n\r\n @Mutation\r\n public SET_CURRENT_VESSEL_LOG_VARIABLES(logVariables: LogVariable[]): void {\r\n this._currentVesselLogVariables = logVariables;\r\n }\r\n\r\n @Mutation\r\n public SET_SHAFT_POWER_LOG_VARIABLES(shaftPowerLogVariables: LogVariable[]): void {\r\n this._currentVesselShaftPowerLogVariables = shaftPowerLogVariables;\r\n }\r\n\r\n}\r\n\r\nexport default LogVariables;\r\n","import net from \"App/net\";\r\n\r\nvar DashboardClient = function () {\r\n\r\n};\r\n\r\nDashboardClient.prototype.getAll = function () {\r\n return net.get(\"/Dashboard\");\r\n};\r\n\r\nDashboardClient.prototype.new = function (dashboard) {\r\n return net.post(\"/Dashboard\", dashboard);\r\n};\r\n\r\nDashboardClient.prototype.update = function (dashboard) {\r\n return net.put(\"/Dashboard\", dashboard);\r\n};\r\n\r\nDashboardClient.prototype.delete = function (dashboardId) {\r\n return net.del(\"/Dashboard/\" + dashboardId);\r\n};\r\n\r\nexport default new DashboardClient();","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { Widget } from \"@/types/widget\";\r\nimport { DashboardI } from \"@/types/dashboard\";\r\nimport DashboardClient from \"Clients/dashboard-client\";\r\nimport Vue from \"vue\";\r\n\r\n@Module({ namespaced: true, name: \"Dashboard\" })\r\nclass Dashboard extends VuexModule {\r\n private _dashboards: DashboardI[] = [];\r\n private _activeDashboardId!: number;\r\n private _activeDashboardIndex = 0;\r\n //note2: the user can only edit widgets on the active dashboard\r\n\r\n @Mutation\r\n public SET_DASHBOARDS(dashboards: DashboardI[]): void {\r\n this._dashboards = dashboards;\r\n }\r\n\r\n @Mutation\r\n public SET_ACTIVE_DASHBOARD(dashboardId: number): void {\r\n this._activeDashboardId = dashboardId || parseInt(Vue.$cookies.get(\"activeDashboardId\")) || this._dashboards[0].id;\r\n this._activeDashboardIndex = this._dashboards.findIndex(dashboard => dashboard.id === this._activeDashboardId);\r\n if (this._activeDashboardIndex < 0) this._activeDashboardIndex = 0;\r\n Vue.$cookies.set(\"activeDashboardId\", this._activeDashboardId, \"1y\");\r\n }\r\n\r\n @Mutation\r\n public UPDATE_DASHBOARD(dashboard: DashboardI): void {\r\n const index = this._dashboards.findIndex(dash => dash.id === dashboard.id);\r\n Vue.set(this._dashboards, index, dashboard);\r\n }\r\n\r\n @Mutation\r\n public DELETE_DASHBOARD(dashboardId: number): void {\r\n const index = this._dashboards.findIndex(dashboard => dashboard.id === dashboardId);\r\n this._dashboards.splice(index, 1);\r\n if (this._activeDashboardIndex !== 0) this._activeDashboardIndex -= 1;\r\n }\r\n\r\n @Mutation\r\n public UPDATE_DASHBOARD_LAYOUT(dashboard: DashboardI): void {\r\n this._dashboards[this._activeDashboardIndex].widgets = dashboard.widgets;\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET(widget: Widget): void {\r\n this._dashboards[this._activeDashboardIndex].widgets.push(widget);\r\n }\r\n\r\n @Mutation\r\n public DELETE_WIDGET(index: number): void {\r\n this._dashboards[this._activeDashboardIndex].widgets.splice(index, 1);\r\n }\r\n\r\n @Mutation\r\n public UPDATE_WIDGET(data: { index: number; widgetData: Partial }): void {\r\n Object.assign(this._dashboards[this._activeDashboardIndex].widgets[data.index], data.widgetData);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public setActiveDashboard(dashboardId: number): void {\r\n this.context.commit(\"SET_ACTIVE_DASHBOARD\", dashboardId);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteDashboard(dashboardId: number): Promise {\r\n try {\r\n await DashboardClient.delete(dashboardId);\r\n this.context.commit(\"DELETE_DASHBOARD\", dashboardId);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public updateDashboardsSequence(sequence: { id: number, sequence: number }[]): void {\r\n const userId = this.context.rootGetters[\"User/userId\"];\r\n let updatedDashboardsSequence: DashboardI[] = [];\r\n\r\n this._dashboards.forEach(dashboard => {\r\n if (dashboard.userId === userId) {\r\n dashboard.sequence = sequence.find(item => item.id === dashboard.id)?.sequence;\r\n }\r\n updatedDashboardsSequence.push(dashboard);\r\n });\r\n updatedDashboardsSequence = updatedDashboardsSequence.sort((a: any, b: any) => a.sequence - b.sequence);\r\n\r\n // save personal dashboard sequence\r\n const stringifiedDashboardListSequence: string | null = localStorage.getItem(\"dashboardListSequence\");\r\n if (stringifiedDashboardListSequence == null) {\r\n const dashboardListSequence = updatedDashboardsSequence.filter(d => d.userId === userId).map((d, i) => ({ id: d.id, sequence: i }));\r\n localStorage.setItem(\"dashboardListSequence\", JSON.stringify(dashboardListSequence));\r\n }\r\n // need to commit changes to trigger view update\r\n this.context.commit(\"SET_DASHBOARDS\", updatedDashboardsSequence);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshDashboards(): Promise {\r\n try {\r\n const dashboards: DashboardI[] = await DashboardClient.getAll();\r\n //assigning the correct type object to each widget, as they only save the type-template-name in the database\r\n for (let i = 0; i < dashboards.length; i++) {\r\n for (let j = 0; j < dashboards[i].widgets.length; j++) {\r\n if (dashboards[i].widgets[j].typeTemplate === \"TableWidget\") {\r\n var typeTemplate = this.context.rootGetters[\"WidgetTypes/getTypeByTemplateName\"](\"VesselDataTable\");\r\n } else if (dashboards[i].widgets[j].typeTemplate === \"GraphWidget\") {\r\n var typeTemplate = this.context.rootGetters[\"WidgetTypes/getTypeByTemplateName\"](\"VesselDataGraph\");\r\n } else {\r\n var typeTemplate = this.context.rootGetters[\"WidgetTypes/getTypeByTemplateName\"](dashboards[i].widgets[j].typeTemplate);\r\n }\r\n Vue.set(dashboards[i].widgets[j], \"type\", typeTemplate);\r\n }\r\n }\r\n\r\n this.context.commit(\"SET_DASHBOARDS\", dashboards);\r\n\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh dashboards\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async createNewDashboard(name: string): Promise {\r\n const newDashboard = {\r\n id: 0,\r\n name: name || \"New Dashboard\",\r\n widgets: [],\r\n };\r\n\r\n try {\r\n const createdDashboard = await DashboardClient.new(newDashboard);\r\n await this.context.dispatch(\"refreshDashboards\");\r\n return createdDashboard;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add dashboard\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateDashboard(dashboard: DashboardI): Promise {\r\n try {\r\n await DashboardClient.update(dashboard);\r\n this.context.commit(\"UPDATE_DASHBOARD\", dashboard);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update dashboard\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateDashboardLayout(dashboard: DashboardI): Promise {\r\n try {\r\n await DashboardClient.update(dashboard);\r\n this.context.commit(\"UPDATE_DASHBOARD_LAYOUT\", dashboard);\r\n } catch (error) {\r\n throw ({ message: \"Failed to save updated dashboard layout\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async addWidget(widget: Widget): Promise {\r\n const dashboard = this.activeDashboard;\r\n dashboard.widgets.push(widget);\r\n\r\n try {\r\n const updatedDashboard = await DashboardClient.update(dashboard);\r\n this.context.commit(\"ADD_WIDGET\", widget);\r\n\r\n return updatedDashboard;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add new widget\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateWidget(widgetData: Partial): Promise {\r\n const index = this.activeDashboard.widgets.findIndex(widget => widget.id === widgetData.id);\r\n\r\n if (index >= 0) {\r\n const dashboard = this.activeDashboard;\r\n dashboard.widgets[index] = Object.assign(dashboard.widgets[index], widgetData);\r\n\r\n try {\r\n await DashboardClient.update(dashboard);\r\n this.context.commit(\"UPDATE_WIDGET\", { index, widgetData });\r\n } catch (error) {\r\n throw ({ message: \"Failed to update widget\", error });\r\n }\r\n } else {\r\n throw ({ message: \"Could not find widget to update\" });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteWidget(id: number): Promise {\r\n const index = this.activeDashboard.widgets.findIndex(widget => widget.id === id);\r\n\r\n if (index >= 0) {\r\n const dashboard = this.activeDashboard;\r\n dashboard.widgets.splice(index, 1);\r\n\r\n try {\r\n await DashboardClient.update(dashboard);\r\n this.context.commit(\"DELETE_WIDGET\", index);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget\", error });\r\n }\r\n } else {\r\n throw ({ message: \"Could not find widget to delete\" });\r\n }\r\n }\r\n\r\n //If there are no dashboards, create one\r\n @Action({ rawError: true })\r\n public async initializeDashboard(): Promise {\r\n try {\r\n await this.context.dispatch(\"refreshDashboards\");\r\n\r\n if (!this._dashboards.length) {\r\n await this.context.dispatch(\"createNewDashboard\");\r\n }\r\n\r\n this.context.commit(\"SET_ACTIVE_DASHBOARD\");\r\n } catch (error) {\r\n throw ({ message: \"Failed to initialize dashboard\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public getWidgetsOfSelectedType(typeName: string): Widget[] {\r\n return this._dashboards[this._activeDashboardIndex].widgets.filter(widget => widget.type?.defaultName === typeName);\r\n }\r\n\r\n get activeDashboardWidgets(): Widget[] {\r\n return this._dashboards[this._activeDashboardIndex]?.widgets;\r\n }\r\n\r\n get activeWidgets(): Widget[] {\r\n return this._dashboards[this._activeDashboardIndex].widgets.filter(widget => widget.active);\r\n }\r\n\r\n get dashboards(): DashboardI[] {\r\n return this._dashboards;\r\n }\r\n\r\n get activeDashboard(): DashboardI {\r\n //using JSON to create unlinked, deep copy of the active dashboard.\r\n return JSON.parse(JSON.stringify(this._dashboards[this._activeDashboardIndex]));\r\n }\r\n\r\n get dashboardById() {\r\n return (id: number): DashboardI => {\r\n const dashboard = this._dashboards.find(dashboard => dashboard.id === id);\r\n\r\n if (!dashboard) throw new Error(\"Found no dashboard with id \" + id);\r\n else return dashboard;\r\n };\r\n }\r\n}\r\n\r\nexport default Dashboard;\r\n","import net from \"App/net\";\r\n\r\nvar Client = function () {\r\n\r\n};\r\n\r\nClient.prototype.getAll = function () {\r\n return net.get(\"/NotificationChannels\");\r\n};\r\n\r\nClient.prototype.remove = function (id) {\r\n return net.del(`/NotificationChannels/${id}`);\r\n};\r\n\r\nexport default new Client();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { Channel } from \"@/types/condition\";\r\nimport ChannelsClient from \"Clients/notification-channels-client\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"Channels\" })\r\nclass Channels extends VuexModule {\r\n private _channels: Channel[] = [];\r\n\r\n @Mutation\r\n public SET_CHANNELS(channels: Channel[]): void {\r\n this._channels = channels;\r\n }\r\n\r\n @Mutation\r\n public ADD_CHANNEL(channel: Channel): void {\r\n this._channels.push(channel);\r\n }\r\n\r\n @Mutation\r\n public DELETE_CHANNEL(channel: Channel): void {\r\n const chnlIndex = this._channels.findIndex(chnl => channel.email === chnl.email);\r\n if (chnlIndex !== -1) this._channels.splice(chnlIndex, 1);\r\n }\r\n\r\n\r\n @Action({ rawError: true })\r\n public async fetchChannels(): Promise {\r\n try {\r\n const channels = await ChannelsClient.getAll();\r\n this.context.commit(\"SET_CHANNELS\", channels);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch channels\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteChannel(id: number): Promise {\r\n try {\r\n await ChannelsClient.remove(id);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete channel\", error });\r\n }\r\n }\r\n\r\n get channels(): Channel[] {\r\n return this._channels;\r\n }\r\n get emailChannels(): Channel[] {\r\n return this._channels.filter(ch => ch.email && ch.userId === null);\r\n }\r\n public get getChannelByEmail() {\r\n return (email: string | null): Channel | undefined => {\r\n return this._channels.find(chnl => chnl.email === email);\r\n };\r\n }\r\n}\r\n\r\nexport default Channels;\r\n","// Module\nvar code = \"
\\r\\n \\r\\n

Import details

\\r\\n
\\r\\n
\\r\\n

Import paths

\\r\\n
    \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n

Import duration

\\r\\n \\r\\n
\\r\\n
\\r\\n

Timestamp

\\r\\n \\r\\n
\\r\\n
\\r\\n

IMO Number

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Imported tables

\\r\\n
\\r\\n

Table name

\\r\\n

Import duration

\\r\\n

Number of rows

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";\n// Exports\nmodule.exports = code;","import _ from \"underscore\";\r\n\r\n// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Using_Special_Characters\r\nfunction escapeRegExp(str) {\r\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\");\r\n}\r\n\r\nfunction replaceAll(str, find, replace) {\r\n return str.replace(new RegExp(escapeRegExp(find), \"g\"), replace);\r\n}\r\n\r\nfunction addSlashes(str) {\r\n return (str + \"\").replace(/[\\\\\"']/g, \"\\\\$&\").replace(/\\u0000/g, \"\\\\0\");\r\n}\r\n\r\nfunction isNullOrWhiteSpace(str) {\r\n if (!_.isString(str)) return true;\r\n\r\n return str.replace(/\\s/g, \"\").length < 1;\r\n}\r\n\r\nfunction isLookingLikeAnEmail(str) {\r\n return /(.+)@(.+){2,}\\.(.+){2,}/.test(str);\r\n}\r\n\r\nfunction stringContains(str, value) {\r\n return str.toLowerCase().indexOf(value) !== -1;\r\n\r\n}\r\n\r\nfunction getPrettyFileSize(bytes) {\r\n var sizes = [\"B\", \"KB\", \"MB\", \"GB\"];\r\n if (bytes == 0) return \"0 B\";\r\n var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1000)));\r\n\r\n return (bytes / Math.pow(1000, i)).toFixed(2) + \" \" + sizes[i];\r\n}\r\n\r\nfunction endsWith(str, value, isCaseInsensitive) {\r\n if (isCaseInsensitive) {\r\n str = str.toLowerCase();\r\n value = value.toLowerCase();\r\n }\r\n\r\n return str.slice(-value.length) === value;\r\n}\r\n\r\nfunction getPrettyIMO(imoNumber) {\r\n var prettyIMO = (\"0000000\" + imoNumber).slice(-7);\r\n return \"IMO\" + prettyIMO;\r\n}\r\n\r\nfunction pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? pad(\"0\" + str, max) : str;\r\n}\r\n\r\nfunction equalsIgnoreCase(str1, str2) {\r\n var areEqual = str1 === str2;\r\n if (areEqual) {\r\n return areEqual;\r\n }\r\n\r\n if ((str1 === null) || (str2 === null)) {\r\n return false;\r\n }\r\n\r\n return str1.toUpperCase().localeCompare(str2.toUpperCase()) === 0;\r\n}\r\n\r\nexport default {\r\n replaceAll: function(str, find, replace) {\r\n return replaceAll(str, find, replace);\r\n },\r\n addSlashes: function(str) {\r\n return addSlashes(str);\r\n },\r\n isNullOrWhiteSpace: function(str) {\r\n return isNullOrWhiteSpace(str);\r\n },\r\n isLookingLikeAnEmail: function(str) {\r\n return isLookingLikeAnEmail(str);\r\n },\r\n stringContains: function(str, value) {\r\n return stringContains(str, value);\r\n },\r\n getPrettyFileSize: function(bytes) {\r\n return getPrettyFileSize(bytes);\r\n },\r\n endsWith: function(str, value, isCaseInsensitive) {\r\n return endsWith(str, value, isCaseInsensitive);\r\n },\r\n getPrettyIMO: function(imoNumber) {\r\n return getPrettyIMO(imoNumber);\r\n },\r\n pad: function(str, max) {\r\n return pad(str, max);\r\n },\r\n equalsIgnoreCase: function (str1, str2) {\r\n return equalsIgnoreCase(str1, str2);\r\n },\r\n};","// Module\nvar code = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
StartEndFuel typeFuel
consumption (MT)
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","import net from \"@/Scripts/app/net\";\r\n/* eslint-disable */\r\nclass DataQualityClient {\r\n constructor() { }\r\n getFleetOverview() {\r\n return net.get(\"/DataQuality/FleetOverview\");\r\n }\r\n getDataOutage() {\r\n return net.get(\"/DataQuality/DataOutage\");\r\n }\r\n getDataOutageConfig() {\r\n return net.get(\"/DataQuality/DataOutage/Configuration\");\r\n }\r\n updateDataOutageConfig(config) {\r\n return net.put(\"/DataQuality/DataOutage/Configuration\", config);\r\n }\r\n getCompanyOutliers(query) {\r\n // @params query = { companyId, fromDate?, toDate? };\r\n return net.get(`/DataQuality/CompanyOutliers`, query);\r\n }\r\n getFeatureConfigs(query) {\r\n // @params query = { vesselId };\r\n return net.get(`/DataQuality/Outliers/Config`, query);\r\n }\r\n updateFeatureConfigs(config) {\r\n return net.post(`/DataQuality/Outliers/Config`, config);\r\n }\r\n getFeatureValues() {\r\n return net.get(`/datafeature`);\r\n }\r\n updateOutliersAcknowledge(tags) {\r\n return net.put(\"/DataQuality/Outliers/TakeAction/Acknowledge\", tags);\r\n }\r\n updateOutliersRemove(tags) {\r\n return net.put(\"/DataQuality/Outliers/TakeAction/Delete\", tags);\r\n }\r\n\r\n getSpeedLog(query) {\r\n query.featureName = \"Speed Through Water\";\r\n return net.get(\"/DataQuality/SpeedLog\", query);\r\n }\r\n getDerivedSpeedThroughWater(query) {\r\n return net.get(\"/DataQuality/SpeedLog/DerivedSpeedThroughWater\", query);\r\n }\r\n\r\n getSpeedThroughWater(query) {\r\n return net.get(\"/DataQuality/SpeedLog/SpeedThroughWater\", query);\r\n }\r\n}\r\n\r\nexport default new DataQualityClient();\r\n","import { Action, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\r\nimport dataQualityClient from \"Clients/data-quality-client.js\";\r\nimport { FleetOverviewType } from \"@/types/dataQuality/fleetOverview\";\r\nimport { DataAvailabilityConfiguration, DataAvailabilityType, DataAvailabilityConfig } from \"@/types/dataQuality/dataAvailability\";\r\nimport { DataOutliersTakeActionType, DataOutliersType, DataOutliersViewHistoryType } from \"@/types/dataQuality/dataOutliers\";\r\nimport { SpeedLogSensorQuality } from \"@/types/dataQuality/SpeedLogSensorQuality\";\r\nimport { SpeedThroughWater } from \"@/types/dataQuality/SpeedThroughWater\";\r\nimport { DataOutlier, FeatureConfig } from \"@/types/dataQuality/dataOutliers\";\r\n\r\n@Module({ namespaced: true, name: \"DataQuality\" })\r\nclass DataQuality extends VuexModule {\r\n private _loadingState = false;\r\n private _modalLoadingState = false;\r\n private _speedLogDataLoadingState = false;\r\n private _derivedSpeedThroughWaterState = false;\r\n private _speedThroughWaterState = false;\r\n private _featureValues: any[] = [];\r\n private _fleetOverview: FleetOverviewType[] = [];\r\n private _dataAvailability: DataAvailabilityType[] = [];\r\n private _dataAvailabilityConfig: DataAvailabilityConfig | null = null;\r\n private _dataOutliers: DataOutliersType[] = [];\r\n private _companyOutliers: DataOutliersType[] = [];\r\n private _dataOutliersTakeAction: DataOutliersTakeActionType[] = [];\r\n private _dataOutliersViewHistory: DataOutliersViewHistoryType[] = [];\r\n private _speedLogData: SpeedLogSensorQuality = {} as SpeedLogSensorQuality;\r\n private _derivedSpeedThroughWaterData: SpeedThroughWater = {} as SpeedThroughWater;\r\n private _speedThroughWaterData: SpeedThroughWater = {} as SpeedThroughWater;\r\n\r\n @Mutation\r\n public SET_LOADING_STATE(loading: boolean): void {\r\n this._loadingState = loading;\r\n }\r\n\r\n @Mutation\r\n public SET_MODAL_LOADING_STATE(loading: boolean): void {\r\n this._modalLoadingState = loading;\r\n }\r\n\r\n @Mutation\r\n public SET_FEATURE_VALUES(featureValues: any[]): void {\r\n this._featureValues = featureValues;\r\n }\r\n\r\n @Mutation\r\n public SET_SPEED_LOG_DATA_LOADING_STATE(loading: boolean): void {\r\n this._speedLogDataLoadingState = loading;\r\n }\r\n\r\n @Mutation\r\n public SET_DERIVED_SPEED_THROUGH_WATER_LOADING_STATE(loading: boolean): void {\r\n this._derivedSpeedThroughWaterState = loading;\r\n }\r\n\r\n @Mutation\r\n public SET_SPEED_THROUGH_WATER_LOADING_STATE(loading: boolean): void {\r\n this._speedThroughWaterState = loading;\r\n }\r\n\r\n @Mutation\r\n public REFRESH_FLEET_OVERVIEW(fleetOverview: FleetOverviewType[]): void {\r\n this._fleetOverview = fleetOverview;\r\n }\r\n\r\n @Mutation\r\n public REFRESH_DATA_AVAILABILITY(dataAvailability: DataAvailabilityType[]): void {\r\n this._dataAvailability = dataAvailability;\r\n }\r\n\r\n @Mutation\r\n public REFRESH_DATA_AVAILABILITY_CONFIG(dataAvailabilityConfig: DataAvailabilityConfig): void {\r\n this._dataAvailabilityConfig = dataAvailabilityConfig;\r\n }\r\n\r\n @Mutation\r\n public REFRESH_DATA_OUTLIERS(dataOutliers: DataOutliersType[]): void {\r\n this._dataOutliers = dataOutliers;\r\n }\r\n\r\n @Mutation\r\n public SET_COMPANY_OUTLIERS(companyOutliers: DataOutliersType[]): void {\r\n this._companyOutliers = companyOutliers;\r\n }\r\n\r\n @Mutation\r\n public REFRESH_DATA_OUTLIERS_TAKE_ACTION(dataOutliersTakeAction: DataOutliersTakeActionType[]): void {\r\n this._dataOutliersTakeAction = dataOutliersTakeAction;\r\n }\r\n @Mutation\r\n public REFRESH_DATA_OUTLIERS_VIEW_HISTORY(dataOutliersViewHistory: DataOutliersViewHistoryType[]): void {\r\n this._dataOutliersViewHistory = dataOutliersViewHistory;\r\n }\r\n\r\n @Mutation\r\n public SET_SPEED_LOG_DATA(data: SpeedLogSensorQuality): void {\r\n this._speedLogData = data;\r\n }\r\n\r\n @Mutation\r\n public SET_DERIVED_SPEED_THROUGH_WATER_DATA(data: SpeedThroughWater): void {\r\n this._derivedSpeedThroughWaterData = data;\r\n }\r\n\r\n @Mutation\r\n public SET_SPEED_THROUGH_WATER_DATA(data: SpeedThroughWater): void {\r\n this._speedThroughWaterData = data;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshFleetOverview(): Promise {\r\n let fleetOverview = [];\r\n try {\r\n this.context.commit(\"SET_LOADING_STATE\", true);\r\n fleetOverview = await dataQualityClient.getFleetOverview();\r\n this.context.commit(\"REFRESH_FLEET_OVERVIEW\", fleetOverview);\r\n this.context.commit(\"SET_LOADING_STATE\", false);\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh fleet overview -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshDataAvailability(): Promise {\r\n let dataAvailability = [];\r\n try {\r\n this.context.commit(\"SET_LOADING_STATE\", true);\r\n dataAvailability = await dataQualityClient.getDataOutage();\r\n this.context.commit(\"REFRESH_DATA_AVAILABILITY\", dataAvailability);\r\n this.context.commit(\"SET_LOADING_STATE\", false);\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh data availability -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshDataAvailabilityConfig(): Promise {\r\n let dataAvailabilityConfig = [];\r\n try {\r\n this.context.commit(\"SET_MODAL_LOADING_STATE\", true);\r\n dataAvailabilityConfig = await dataQualityClient.getDataOutageConfig();\r\n this.context.commit(\"REFRESH_DATA_AVAILABILITY_CONFIG\", dataAvailabilityConfig);\r\n this.context.commit(\"SET_MODAL_LOADING_STATE\", false);\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh data availability config -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateDataAvailabilityConfig(configuration: DataAvailabilityConfiguration[]): Promise {\r\n try {\r\n await dataQualityClient.updateDataOutageConfig(configuration);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update Data Availability Config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchCompanyOutliers(query: { companyId: number | null; fromDate?: string; toDate?: string }): Promise {\r\n if (query.companyId === null) return;\r\n try {\r\n this.context.commit(\"SET_LOADING_STATE\", true);\r\n const companyOutliers: DataOutliersType[] = await dataQualityClient.getCompanyOutliers(query);\r\n this.context.commit(\"SET_COMPANY_OUTLIERS\", companyOutliers);\r\n this.context.commit(\"SET_LOADING_STATE\", false);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch features mapping -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchFeatureValues(): Promise {\r\n try {\r\n const featureValues = await dataQualityClient.getFeatureValues();\r\n this.context.commit(\"SET_FEATURE_VALUES\", featureValues);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch feature values -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchFeatureConfigs(vesselId: string): Promise {\r\n try {\r\n return await dataQualityClient.getFeatureConfigs({ vesselId: vesselId });\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch feature config -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateFeatureConfigs(config: FeatureConfig[]): Promise {\r\n try {\r\n return await dataQualityClient.updateFeatureConfigs(config);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update feature config -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateOutliersAcknowledge(outliers: DataOutlier[]): Promise {\r\n try {\r\n await dataQualityClient.updateOutliersAcknowledge(outliers);\r\n } catch (error) {\r\n throw ({ message: \"Failed to acknowledge Data Outliers\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateOutliersRemove(outliers: DataOutlier[]): Promise {\r\n try {\r\n await dataQualityClient.updateOutliersRemove(outliers);\r\n } catch (error) {\r\n throw ({ message: \"Failed to remove Data Outliers\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchSpeedLog(query: { imo: number; from: string; to: string; }): Promise {\r\n try {\r\n this.context.commit(\"SET_SPEED_LOG_DATA_LOADING_STATE\", true);\r\n const response = await dataQualityClient.getSpeedLog(query);\r\n this.context.commit(\"SET_SPEED_LOG_DATA\", response);\r\n this.context.commit(\"SET_SPEED_LOG_DATA_LOADING_STATE\", false);\r\n } catch (error) {\r\n this.context.commit(\"SET_SPEED_LOG_DATA_LOADING_STATE\", false);\r\n throw ({ message: \"Failed to fetch speed log data -> \", error });\r\n }\r\n }\r\n @Action({ rawError: true })\r\n public async fetchDerivedSpeedThroughWater(query: { imoNumber: number; }): Promise {\r\n try {\r\n this.context.commit(\"SET_DERIVED_SPEED_THROUGH_WATER_LOADING_STATE\", true);\r\n const response = await dataQualityClient.getDerivedSpeedThroughWater(query);\r\n this.context.commit(\"SET_DERIVED_SPEED_THROUGH_WATER_DATA\", response);\r\n this.context.commit(\"SET_DERIVED_SPEED_THROUGH_WATER_LOADING_STATE\", false);\r\n } catch (error) {\r\n this.context.commit(\"SET_DERIVED_SPEED_THROUGH_WATER_LOADING_STATE\", false);\r\n throw ({ message: \"Failed to fetch derived speed through water data -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchSpeedThroughWater(query: { imoNumber: number; }): Promise {\r\n try {\r\n this.context.commit(\"SET_SPEED_THROUGH_WATER_LOADING_STATE\", true);\r\n const response = await dataQualityClient.getSpeedThroughWater(query);\r\n this.context.commit(\"SET_SPEED_THROUGH_WATER_DATA\", response);\r\n this.context.commit(\"SET_SPEED_THROUGH_WATER_LOADING_STATE\", false);\r\n } catch (error) {\r\n this.context.commit(\"SET_SPEED_THROUGH_WATER_LOADING_STATE\", false);\r\n throw ({ message: \"Failed to fetch speed through water data -> \", error });\r\n }\r\n }\r\n\r\n\r\n // @Getters\r\n public get fleetOverview(): FleetOverviewType[] {\r\n return this._fleetOverview;\r\n }\r\n\r\n public get featureValues(): any[] {\r\n return this._featureValues;\r\n }\r\n\r\n public get dataAvailability(): DataAvailabilityType[] {\r\n return this._dataAvailability;\r\n }\r\n\r\n public get dataAvailabilityConfig(): DataAvailabilityConfig | null {\r\n return this._dataAvailabilityConfig;\r\n }\r\n\r\n public get companyOutliers(): DataOutliersType[] {\r\n return this._companyOutliers;\r\n }\r\n\r\n public get dataOutliers(): DataOutliersType[] {\r\n return this._dataOutliers;\r\n }\r\n\r\n public get dataOutliersTakeAction(): DataOutliersTakeActionType[] {\r\n return this._dataOutliersTakeAction;\r\n }\r\n\r\n public get dataOutliersViewHistory(): DataOutliersViewHistoryType[] {\r\n return this._dataOutliersViewHistory;\r\n }\r\n\r\n public get loadingState(): boolean {\r\n return this._loadingState;\r\n }\r\n\r\n public get modalLoadingState(): boolean {\r\n return this._modalLoadingState;\r\n }\r\n\r\n public get speedLogDataLoadingState(): boolean {\r\n return this._speedLogDataLoadingState;\r\n }\r\n\r\n public get derivedSpeedThroughWaterLoadingState(): boolean {\r\n return this._derivedSpeedThroughWaterState;\r\n }\r\n\r\n public get speedThroughWaterLoadingState(): boolean {\r\n return this._speedThroughWaterState;\r\n }\r\n\r\n public get speedLogData(): SpeedLogSensorQuality {\r\n return this._speedLogData;\r\n }\r\n\r\n public get derivedSpeedThroughWaterData(): SpeedThroughWater {\r\n return this._derivedSpeedThroughWaterData;\r\n }\r\n\r\n public get speedThroughWaterData(): SpeedThroughWater {\r\n return this._speedThroughWaterData;\r\n }\r\n}\r\n\r\nexport default DataQuality;\r\n","module.exports = __webpack_public_path__ + \"img/fouling-overview-widget-illustration.17f9345c.png\";","import { VuexModule, Module } from \"vuex-module-decorators\";\r\nimport { VesselStatusIcons } from \"@/types/vesselStatusIcons\";\r\n\r\n@Module({ namespaced: true, name: \"MapWidget\" })\r\nclass MapWidgetData extends VuexModule {\r\n private _performanceStatuses = [\r\n {\r\n title: \"Ok\",\r\n value: \"Ok\",\r\n icon: VesselStatusIcons.Ok,\r\n },\r\n {\r\n title: \"Observe\",\r\n value: \"Observe\",\r\n icon: VesselStatusIcons.Observe,\r\n },\r\n {\r\n title: \"Not ok\",\r\n value: \"NotOk\",\r\n icon: VesselStatusIcons.NotOk,\r\n },\r\n {\r\n title: \"Benchmarking\",\r\n value: \"BenchMarking\",\r\n icon: VesselStatusIcons.BenchMarking,\r\n },\r\n {\r\n title: \"Performance status N/A\",\r\n value: \"notAvailable\",\r\n icon: VesselStatusIcons.notAvailable,\r\n },\r\n ]\r\n\r\n get performanceStatuses(): { title: string, value: string, icon: VesselStatusIcons }[] {\r\n return this._performanceStatuses;\r\n }\r\n}\r\n\r\nexport default MapWidgetData;\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABvBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNC0wNS0wOVQwODoxNjo0NC0wNDowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxNC0wNS0wOVQxMjoxNzo1Ni0wNDowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTQtMDUtMDlUMTI6MTc6NTYtMDQ6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjExMzdBRkQyQ0VEQjExRTM5MTNBQkEyM0JCOUMxNEY5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFBQzhBNUNBQ0Y5ODExRTM5MTNBQkEyM0JCOUMxNEY5IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6RDc5OEU0N0FDNTIwNjgxMTg4QzY4MzczMzAwMkU2RTciPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ3OThFNDdBQzUyMDY4MTE4OEM2ODM3MzMwMDJFNkU3IiBzdEV2dDp3aGVuPSIyMDE0LTA1LTA5VDA4OjE2OjQ0LTA0OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpEODk4RTQ3QUM1MjA2ODExODhDNjgzNzMzMDAyRTZFNyIgc3RFdnQ6d2hlbj0iMjAxNC0wNS0wOVQwODoxNzoxNC0wNDowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6RDk5OEU0N0FDNTIwNjgxMTg4QzY4MzczMzAwMkU2RTciIHN0RXZ0OndoZW49IjIwMTQtMDUtMDlUMDg6MTc6MTQtMDQ6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUuMSBNYWNpbnRvc2giIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ5OThFNDdBQzUyMDY4MTE4OEM2ODM3MzMwMDJFNkU3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ3OThFNDdBQzUyMDY4MTE4OEM2ODM3MzMwMDJFNkU3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+QYM+6QAAAYBJREFUeNpi/P//PwM1ASNWUeOZAkCyAIj9gdgATfYCEG8E4gkMZ9M/EDbQeCbIoHogFiDgGJBhjUBDJ+A20HjmfCCZQKIvFwANTYRxmJAM68dnmAAvG8P5ZcEM/8+kMTgYSyFLJUD1IhloPNMBGmY4QYCDAoOBmjCYDaORQAHUDLgL6wn568DZ5wwfPv9iePD8M8OGgw+wKamHhKHxTFAsnqdSqjEEudCBkCpQmM1vcGDYP9MXm3dRlLIQSh79xZYMBZG6cL6BujDDhVtvccYdEz7DQAYpSPLCDQCF4YYDD/D6hgWf5ITll8ERcH9TJJgPYoMMxQeYoCkeJ0jwUYOzG2edJRTcH0AGHsCnIh8afqBkA0vg+FIXEzDbXMBlaIKvGtyAD59/MpxfGoyeS1AMA5kFi5RGbCr87RVQkk5i4wF8kQI2gxnMfL7lAYOULyj5WCCr+PnrLwMHGzPDzLXXwYbhSS6gomwmjUsbEIBIFBKKeaTysBDZMJqU2AABBgAmaYSfdlY7HwAAAABJRU5ErkJggg==\"","// Module\nvar code = \"\\r\\n\\r\\n
\\r\\n A vessel with this IMO number exists in this company\\r\\n
\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
\\r\\n
\\r\\n
\\r\\n

\\r\\n Specifics for the last trend period for each vessel:\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar CiiClient = function () {\r\n\r\n};\r\n\r\nCiiClient.prototype.getDays = function(query) {\r\n return net.get(`/Cii/Day`, query);\r\n};\r\n\r\nCiiClient.prototype.getYtd = function(query) {\r\n return net.get(`/Cii/Ytd`, query);\r\n};\r\n\r\nCiiClient.prototype.getYear = function(query) {\r\n return net.get(`/Cii/Year`, query);\r\n};\r\n\r\nexport default new CiiClient();","import { VuexModule, Module, Action } from \"vuex-module-decorators\";\r\nimport CiiClient from \"Clients/cii-client\";\r\nimport { CiiData } from \"@/types/ciiData\";\r\n\r\n@Module({ namespaced: true, name: \"Cii\" })\r\nclass Cii extends VuexModule {\r\n\r\n @Action({ rawError: true })\r\n public async fetchDays(query: { vesselIds: string | number; start: string; end: string; }): Promise {\r\n try {\r\n return await CiiClient.getDays(query);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch calculations\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchYtd(query: { vesselIds: string }): Promise {\r\n try {\r\n return await CiiClient.getYtd(query);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch calculations\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchYear(query: { vesselIds: string; years: string }): Promise {\r\n try {\r\n return await CiiClient.getYear(query);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch calculations\", error });\r\n }\r\n }\r\n}\r\n\r\nexport default Cii;","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Edit company

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Add company

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Remove company

\\r\\n
\\r\\n
\\r\\n
\\r\\n Are you sure you want to permanently delete the company ''?\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAdCAMAAABL/WaSAAAAqFBMVEUAAADIQjnHQDfglI/GPDPHPjXAKB7or6vlpaHjoZzFOjHGOjHGPjXAKB7VcWrENSvSZF3LTUXGOzLKS0PFOC/GOzLGPDPHQDfGPTTGPjXFOzHGOzLFOTDCMCfBLCLAKB7AKB7AKB7////AKB735OP//PzEMyn++PjUa2TGOjH88/P99vX56ejruLX56un45uXz1tTxzsztw8DptLDejonWdG3UbWbBKyGXeQ1xAAAAInRSTlMA7fD+7qAd/v7+6eW4KPX19PPw7+3a1rOXlYmDc04yFREGO+ld0QAAAJdJREFUGNO90EUWwkAQRdGKG8Hd+WmN4LL/nUGTkwFZAG90BzWo86nVYdZbNe44sr+sue4CcrAx9O0cABvvzUWFQuWIPKJ0BDxeCtz2ybvhKjJRIZhTLKGFFoIXMdlAyRgrAZssNFktc0epp8O/ZpmJ/d1cf6jND0PgGN6jk/l5ekHdeUKpG5odZOBuiXaLxLWsxPN/tnwDs4ceMNCKuKYAAAAASUVORK5CYII=\"","// Module\nvar code = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";\n// Exports\nmodule.exports = code;","import stringHelper from \"Utilities/string-helper\";\r\nimport store from \"@/store\";\r\nimport { getModule } from \"vuex-module-decorators\";\r\nimport VesselsModule from \"@/store/clients/Vessels.module\";\r\n\r\nconst Vessels = getModule(VesselsModule, store);\r\n\r\nfunction getVesselBaseUrl(vessel) {\r\n var vesselUrlName = encodeURIComponent(vessel.name);\r\n\r\n var baseUrl = process.env.VUE_APP_BASE_URL + \"Vessel/\" + vessel.id + \"/\" + vesselUrlName + \"/\";\r\n return baseUrl;\r\n}\r\n\r\nexport default {\r\n getVesselUrl: function(vessel) {\r\n return getVesselBaseUrl(vessel || Vessels.currentVessel);\r\n },\r\n getVesselSettingsUrl: function(vessel) {\r\n var baseUrl = getVesselBaseUrl(vessel || Vessels.currentVessel);\r\n return baseUrl + \"VesselSettings\";\r\n },\r\n getVesselNotificationsUrl: function(vessel) {\r\n var baseUrl = getVesselBaseUrl(vessel || Vessels.currentVessel);\r\n return baseUrl + \"Notifications\";\r\n },\r\n getVersionHistoryUrl: function(vessel) {\r\n return process.env.VUE_APP_BASE_URL + \"Help/VersionHistory\";\r\n },\r\n getHelpDiagnosticsUrl: function() {\r\n return process.env.VUE_APP_BASE_URL + \"Help/Diagnostics\";\r\n }\r\n};\r\n","import net from \"App/net\";\r\nimport events from \"App/events\";\r\n\r\nvar LongTrendsClient = function () {\r\n\r\n};\r\n\r\nLongTrendsClient.prototype.findLongTrendVariables = function (vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n isDiagnosticType: false,\r\n };\r\n\r\n return net.get(\"/LongTrends/Find\", filter);\r\n};\r\n\r\nLongTrendsClient.prototype.findLongTrends = function (vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n isDiagnosticType: true,\r\n };\r\n\r\n return net.get(\"/LongTrends/Find\", filter);\r\n};\r\n\r\nLongTrendsClient.prototype.update = function (longTrend) {\r\n return net.put(\"/LongTrends\", longTrend).done(function (data) {\r\n events.longTrendUpdated.dispatch(data);\r\n });\r\n};\r\n\r\nLongTrendsClient.prototype.getLongTrendData = function (longTrendIds) {\r\n var filter = {\r\n longTrendIds: longTrendIds,\r\n };\r\n\r\n return net.get(\"/LongTrends/Data\", filter);\r\n};\r\n\r\nLongTrendsClient.prototype.downloadExcel = function(vesselId) {\r\n net.fileDownload(\"/LongTrends/Excel?vesselId=\" + vesselId, \"GET\");\r\n};\r\n\r\nexport default new LongTrendsClient();\r\n","// Module\nvar code = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
NameFuel typeFuel consumption sourcesFlow rate log variable
\\r\\n\\r\\n
\\r\\n No flow meters added yet.\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n

Add flow meter

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport LongTrendPeriodsClient from \"Clients/long-trend-periods-client\";\r\nimport { LongTrendPeriodMeta } from \"@/types/longTrendPeriodMeta\";\r\nimport { ILongTrendPeriod } from \"@/types/longTrendPeriod\";\r\nimport { LongTrendPeriodStatistics } from \"@/types/longTrendPeriodStatistics\";\r\nimport { TrendLimit } from \"@/types/trendLimit\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"LongTrendPeriod\" })\r\nclass LongTrendPeriod extends VuexModule {\r\n private _meta: LongTrendPeriodMeta | null = null;\r\n private _longTrendPeriod: ILongTrendPeriod | null = null;\r\n private _statistics: LongTrendPeriodStatistics | null = null;\r\n private _trendLimits: TrendLimit | null = null;\r\n\r\n @Mutation\r\n public SET_META(data: LongTrendPeriodMeta): void {\r\n this._meta = data;\r\n }\r\n\r\n @Mutation\r\n public SET_LONG_TREND_PERIOD(data: ILongTrendPeriod): void {\r\n this._longTrendPeriod = data;\r\n }\r\n\r\n @Mutation\r\n public SET_STATISTICS(data: LongTrendPeriodStatistics): void {\r\n this._statistics = data;\r\n }\r\n\r\n @Mutation\r\n public SET_TREND_LIMITS(data: TrendLimit): void {\r\n this._trendLimits = data;\r\n }\r\n\r\n @Mutation\r\n public DELETE_DATA(): void {\r\n this._meta = null;\r\n this._longTrendPeriod = null;\r\n this._statistics = null;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateMeta(query: LongTrendPeriodMeta): Promise {\r\n let data = [];\r\n try {\r\n data = await LongTrendPeriodsClient.meta(query);\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject();\r\n }\r\n this.context.commit(\"SET_META\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateLongTrendPeriod(query: LongTrendPeriodMeta): Promise {\r\n let data = [];\r\n try {\r\n data = await LongTrendPeriodsClient.longTrendPeriods(query);\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject();\r\n }\r\n this.context.commit(\"SET_LONG_TREND_PERIOD\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateStatistics(query: LongTrendPeriodMeta): Promise {\r\n let data = [];\r\n try {\r\n data = await LongTrendPeriodsClient.statistics(query);\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject();\r\n }\r\n this.context.commit(\"SET_STATISTICS\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateTrendLimits(id: number): Promise {\r\n let data = [];\r\n try {\r\n data = await LongTrendPeriodsClient.trendLimits(id);\r\n } catch (err) {\r\n console.warn(err);\r\n }\r\n this.context.commit(\"SET_TREND_LIMITS\", data);\r\n }\r\n\r\n get meta(): LongTrendPeriodMeta | null {\r\n return this._meta;\r\n }\r\n\r\n get longTrendPeriod(): ILongTrendPeriod | null {\r\n return this._longTrendPeriod;\r\n }\r\n\r\n get statistics(): LongTrendPeriodStatistics | null {\r\n return this._statistics;\r\n }\r\n get trendLimits(): TrendLimit | null {\r\n return this._trendLimits;\r\n }\r\n}\r\n\r\nexport default LongTrendPeriod;\r\n","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n return net.get(\"/Users/Find\", filter);\r\n};\r\n\r\nClient.prototype.getAll = function () {\r\n return net.get(\"/Users/Get\");\r\n};\r\n\r\nClient.prototype.getOnlineUsers = function () {\r\n return net.get(\"/Users/Online\");\r\n};\r\n\r\nClient.prototype.update = function(user) {\r\n return net.put(\"/Users/Put\", user);\r\n};\r\n\r\nClient.prototype.generateApiKey = function (userId) {\r\n var command = {\r\n userId: userId,\r\n };\r\n return net.post(\"/Users/GenerateApiKey\", command);\r\n};\r\n\r\nClient.prototype.clearApiKey = function (userId) {\r\n var command = {\r\n userId: userId,\r\n };\r\n return net.post(\"/Users/ClearApiKey\", command);\r\n};\r\n\r\nClient.prototype.add = function(user) {\r\n return net.post(\"/Users/Post\", user);\r\n};\r\n\r\nClient.prototype.remove = function (user) {\r\n return net.del(\"/Users/\" + user.id);\r\n};\r\n\r\nClient.prototype.setCompany = function (companyId) {\r\n return net.post(\"/Users/SetCompany/\" + companyId);\r\n};\r\n\r\nClient.prototype.isSuperUser = function () {\r\n return net.get(\"/Users/IsSuperUser/\");\r\n};\r\n\r\nexport default new Client();\r\n","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\n\r\nfunction ViewModel(taxon, highlightedLogVariable) {\r\n var self = this;\r\n self.taxon = taxon;\r\n self.shortName = self.taxon.name.split(\":\")[1];\r\n\r\n self.isHighlighted = ko.pureComputed(function() {\r\n var logVariable = highlightedLogVariable();\r\n if (!logVariable) return false;\r\n\r\n return _.any(logVariable.taxa, function(logVariableTaxon) {\r\n return logVariableTaxon.name === self.taxon.name;\r\n });\r\n });\r\n}\r\n\r\nexport default ViewModel;","import _ from \"underscore\";\r\nimport TaxonVM from \"ViewModels/taxonomy/taxon\";\r\n\r\nvar ViewModel = function(name, taxons, highlightedLogVariable) {\r\n this.name = name;\r\n var orderedTaxons = _.sortBy(taxons, \"name\");\r\n this.taxons = _.map(orderedTaxons, function(taxon) {\r\n return new TaxonVM(taxon, highlightedLogVariable);\r\n });\r\n};\r\n\r\nexport default ViewModel;","// Module\nvar code = \"\\r\\n
\\r\\n
\\r\\n You can use vessel groups to filter vessels on the front page.
\\r\\n If you create one now by giving a name and pressing the Add button, it will appear in the Filter on group dropdown list on top of the vessel overview.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Vessel groups

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Vessels in group

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Available vessels

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

User information

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Edit user

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Add user

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Remove user

\\r\\n
\\r\\n
\\r\\n
\\r\\n Are you sure you want to permanently delete the user ''?\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

API Key

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar BenefitsClient = function() {\r\n\r\n};\r\n\r\nBenefitsClient.prototype.find = function(trendEventId, longTrendId) {\r\n var filter = {\r\n trendEventId: trendEventId,\r\n longTrendId: longTrendId,\r\n };\r\n\r\n return net.get(\"/Benefits/Find\", filter);\r\n};\r\n\r\nexport default new BenefitsClient();","import { VuexModule, Module, Action } from \"vuex-module-decorators\";\r\nimport BenefitsClient from \"Clients/benefits-client\";\r\nimport { ITrendBenefit } from \"@/types/trendBenefit\";\r\n\r\n@Module({ namespaced: true, name: \"Benefits\" })\r\nclass Benefits extends VuexModule {\r\n @Action({ rawError: true })\r\n public async fetchBenefit(data: { trendEventId: any, longTrendId: any }): Promise {\r\n try {\r\n const response: ITrendBenefit = await BenefitsClient.find(data.trendEventId, data.longTrendId);\r\n\r\n if (!response.consequences) return Promise.reject(\"Benchmarking\");\r\n else return response;\r\n } catch (error) {\r\n return Promise.reject(`Failed to load benefit: ${error}`);\r\n }\r\n }\r\n}\r\n\r\nexport default Benefits;\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport AnnouncementClient from \"Clients/Announcement-client\";\r\nimport { AnnouncementModel, FilteredAnnouncement } from \"@/types/Announcement\";\r\n\r\n@Module({ namespaced: true, name: \"Announcement\" })\r\nclass Announcement extends VuexModule {\r\n private _listofAnnouncements: Announcement[] = [];\r\n private _allAnnoucements: AnnouncementModel[] = [];\r\n private _readByUser: FilteredAnnouncement[] = [];\r\n\r\n @Mutation\r\n public SET_ANNOUNCEMENTS(listofAnnouncements: Announcement): void {\r\n this._listofAnnouncements.push(listofAnnouncements);\r\n }\r\n\r\n @Mutation\r\n public SET_ALLANNOUNCEMENTS(allAnnouncement: AnnouncementModel): void {\r\n this._allAnnoucements.push(allAnnouncement);\r\n }\r\n\r\n @Mutation\r\n public SET_READANNOUNCEMENTS(readByUser: FilteredAnnouncement): void {\r\n this._readByUser.push(readByUser);\r\n }\r\n\r\n\r\n @Action({ rawError: true })\r\n public async announcementListByUser() {\r\n try {\r\n const listofAnnouncements = await AnnouncementClient.findByUser();\r\n this.context.commit(\"SET_ANNOUNCEMENTS\", listofAnnouncements);\r\n return listofAnnouncements;\r\n } catch (error) {\r\n throw ({ message: \"Failed to return response\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async announcementReadByUser(filteredAnnouncement: FilteredAnnouncement[]): Promise {\r\n try {\r\n const readByUser = await AnnouncementClient.readByUser(filteredAnnouncement);\r\n this.context.commit(\"SET_READANNOUNCEMENTS\", readByUser);\r\n return readByUser;\r\n } catch (error) {\r\n throw ({ message: \"Failed to return response\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchAllAnnouncement() {\r\n try {\r\n const allAnnouncement = await AnnouncementClient.find();\r\n this.context.commit(\"SET_ALLANNOUNCEMENTS\", allAnnouncement);\r\n return allAnnouncement;\r\n } catch (error) {\r\n throw ({ message: \"Failed to return response\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async addNewAnnouncement(newAnnouncement: AnnouncementModel): Promise {\r\n try {\r\n const allAnnouncement = await AnnouncementClient.new(newAnnouncement);\r\n this.context.commit(\"SET_ALLANNOUNCEMENTS\", allAnnouncement);\r\n return allAnnouncement;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add new announcement\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteAnnouncement(id: number) {\r\n try {\r\n const deleteResponse = await AnnouncementClient.deleteAnnounement(id);\r\n return deleteResponse;\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete announcement\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async sendEmail(newAnnouncement: AnnouncementModel): Promise {\r\n try {\r\n const sendEmail = await AnnouncementClient.sendEmail(newAnnouncement);\r\n return sendEmail;\r\n } catch (error) {\r\n throw ({ message: \"Failed to send email\", error });\r\n }\r\n }\r\n\r\n public get getannouncementlistByUser() {\r\n return this._listofAnnouncements;\r\n }\r\n\r\n public get getallAnnouncement() {\r\n return this._allAnnoucements;\r\n }\r\n\r\n public get getReadAnnouncement() {\r\n return this._readByUser;\r\n }\r\n}\r\n\r\nexport default Announcement;\r\n","// Module\nvar code = \"\\r\\n
\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n

    Time period:

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n From date:
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n To date:
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"

    \\r\\n

    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    \\r\\n\\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    Please submit fuel type and density at the start of this voyage.
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"@/assets/images/kognifai/help/help-starting-page.webp\");\nvar ___HTML_LOADER_IMPORT_1___ = require(\"@/assets/images/kognifai/help/help-main-window.webp\");\nvar ___HTML_LOADER_IMPORT_2___ = require(\"@/assets/images/kognifai/help/help-preset.webp\");\nvar ___HTML_LOADER_IMPORT_3___ = require(\"@/assets/images/kognifai/help/help-curves.webp\");\nvar ___HTML_LOADER_IMPORT_4___ = require(\"@/assets/images/kognifai/help/help-time-span.webp\");\nvar ___HTML_LOADER_IMPORT_5___ = require(\"@/assets/images/kognifai/help/help-exclusion-filters.webp\");\nvar ___HTML_LOADER_IMPORT_6___ = require(\"@/assets/images/kognifai/help/help-plot.webp\");\nvar ___HTML_LOADER_IMPORT_7___ = require(\"@/assets/images/kognifai/help/help-prediction.webp\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar ___HTML_LOADER_REPLACEMENT_3___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_3___);\nvar ___HTML_LOADER_REPLACEMENT_4___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_4___);\nvar ___HTML_LOADER_REPLACEMENT_5___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_5___);\nvar ___HTML_LOADER_REPLACEMENT_6___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_6___);\nvar ___HTML_LOADER_REPLACEMENT_7___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_7___);\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    Data Analysis application

    \\r\\n

    \\r\\n The Danelec Data Analysis application generates reports that provide performance insights from vessel data. It does this by comparing key relationships in the data and through the statistical analysis of the logged data points.\\r\\n The Data Analysis application uses the high frequency data, collected via Vessel Insight, to generate reports showing, both numerically and graphically, actual and predicted values extracted from the dataset\\r\\n It provides the user with a tool to highlight actions required to raise ship performance and to assist in making decisions to optimize ship efficiency.\\r\\n The application includes the following features:\\r\\n

    \\r\\n
      \\r\\n
    • \\r\\n The ability to compare the day-on-day values of any data relation against a user-defined reference curve, highlighting any\\r\\n deviation from the expected values. A typical use-case would be in the analysis of Shaft Power vs. Vessel Speed although any\\r\\n combination of filtered data may be analysed.\\r\\n
    • \\r\\n
    • \\r\\n The ability to present the ongoing data in both tabular and graphical form.\\r\\n
    • \\r\\n
    • \\r\\n Functionality to extrapolate predicted performance from the existing data.\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Using the Data Analysis application

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"Starting\\r\\n
    \\r\\n
    \\r\\n

    After using the assigned username and password to log into the application, all the vessels subscribed to the application will be available for analysis.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"Main\\r\\n
    \\r\\n
    \\r\\n

    After a vessel has been selected for analysis, the main application window is displayed.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Preset

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"Preset\\r\\n
    \\r\\n
    \\r\\n

    After an analysis has been performed, the parameters used may be saved as a Preset for future use.

    \\r\\n

    \\r\\n You may use the 'Save/Load Presets' drop-down box to save or to open a previously stored setup.\\r\\n A Preset may contain a selected timespan, exclusion filter or baseline curves.\\r\\n An unlimited number of Presets may be defined in the application.\\r\\n All Presets are user and vessel specific, so different Presets may be defined for different vessels as required.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Curve

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"Curve\\r\\n
    \\r\\n
    \\r\\n

    \\r\\n The first item to be specified is the baseline curve, against which the data will be compared.\\r\\n The curve is set up by entering a number of reference points which the application will then fit a curve of the required type to.\\r\\n As an example, we will consider setting up analysis of Shaft Power vs. Vessel Speed:\\r\\n

    \\r\\n
      \\r\\n
    • \\r\\n

      Name

      \\r\\n

      The first step is to name each curve. In our example we will define one curves for ballast.

      \\r\\n
    • \\r\\n
    • \\r\\n

      Axis

      \\r\\n

      We must specify the parameter that appears on each axis, selecting them from a drop-down list of all the available parameters.

      \\r\\n

      X-axis: For our example we will choose \\\"Ship Speed Log\\\" to be the variable on the x-axis, but it could equally well be \\\"Ship Speed over ground\\\", if that seems more appropriate.

      \\r\\n

      Y-axis: For the y-axis we will select \\\"Shaft Power\\\".

      \\r\\n
    • \\r\\n
    • \\r\\n

      Curve-fit

      \\r\\n

      \\r\\n The available curve types are \\\"Linear\\\", \\\"Power\\\", and \\\"Polynomial\\\". If \\\"Polynomial\\\" is selected, then a 2nd-5th Order curve may be fitted.\\r\\n Any curve type of the three curve types may be chosen, depending on the level of interpolation between each point required, and on the form of the underlying data. For instance, we would expect our Power vs. Speed curve to be best represented by a higher order polynomial.\\r\\n As each parameter is changed, or data points added or removed, the curve will be recalculated and displayed. In this way, it is possible to see how well a given curve type matches the supplied data points and to fine-tune the curve to fit the specific requirements.\\r\\n After setting up the curve, it is possible to edit it later if further data becomes available.\\r\\n It is also possible to delete any curve.\\r\\n

      \\r\\n
    • \\r\\n
    • \\r\\n

      Curve points

      \\r\\n

      Specify the correlation between the X-axis and Y-axis variables in the table, by adding as many curve points as required.

      \\r\\n
    • \\r\\n
    • \\r\\n

      Additional data to display

      \\r\\n

      \\r\\n It is possible to select supplemental parameters that will appear both as additional columns in summary the table and as extra information associated with the graph\\r\\n For instance, if we were to add \\\"Shaft Speed\\\" to our plot then the summary table will show an additional column, containing the average shaft speeds over the corresponding time periods.\\r\\n The appropriate average will also appear as a line in the pop-up box that appears when the mouse pointer is held over one of the points on the graph.\\r\\n

      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Time span

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"Time\\r\\n
    \\r\\n
    \\r\\n

    \\r\\n When all the required curves have been set up, the next step is to specify the time span that the analysis will cover. The period can be expressed\\r\\n either as \\\"the last x days\\\" or as a specific timespan: typically from the start to finish of a voyage.\\r\\n

    \\r\\n

    \\r\\n The next option, \\\"Duration Period\\\", allows the granularity of the output to be changed. The default is 24 hours but it is possible to\\r\\n select, for example, 12-hour periods if required.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Exclusion filters

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"Exclusion\\r\\n
    \\r\\n
    \\r\\n

    \\r\\n The application offers the ability to set up filters to exclude data which was not collected under normal operating conditions and is therefore\\r\\n not representative. Below one example which filters out data collected in high wind (above 15 knots), or in 'Laden' condition (above 12.5 m).\\r\\n

    \\r\\n

    Two types of filter are available:

    \\r\\n
      \\r\\n
    • \\r\\n A time range filter, which will simply exclude all data within the selected time window.\\r\\n
    • \\r\\n
    • \\r\\n A filter group, which excludes data when one or more of the available parameters (draft, cargo size, wind force, ship speed, etc) exceeds its defined threshold-value.\\r\\n In a filter group, data is excluded if any of the individual conditions within the group are met (logical OR operation).\\r\\n The \\\"Continuous\\\" checkbox is used to set up a condition that it is only triggered if the data exceeds the threshold value for an extended period. This could be used, for example, to avoid data being discarded due to wind gusts.\\r\\n
    • \\r\\n
    \\r\\n

    \\r\\n If a logical AND operation is required, for instance \\\"Exclude STW above 20 knots, unless SOG is also above 20 knots\\\", then separate filter groups\\r\\n must be defined for each condition. Then both conditions must be valid before the period is excluded. Note that combining a time range filter with\\r\\n a filter group will result in a set of conditions that apply only within the specified time window.\\r\\n

    \\r\\n

    If the exclusion conditions are met, then the data for that \\\"Duration Period\\\" will not appear in the output.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Plot

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"Plot\\r\\n
    \\r\\n
    \\r\\n

    An example of a plot with the day-by-day summary is shown here.

    \\r\\n

    \\r\\n For zooming into details please use the mouse to drag an area of interest. To restore the graph, click on the 'Reset zoom' button.\\r\\n

    \\r\\n

    \\r\\n Different sections of the plot may be turned on/off by clicking on the legend underneath the graph.\\r\\n

    \\r\\n

    \\r\\n The graph may be printed or exported in different formats (PNG, JPEG, PDF, SVG) by clicking on the menu symbol in the upper right corner.\\r\\n Furthermore, a detailed XLS report is available by clicking on the 'Download Report' button.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Prediction

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"Plot\\r\\n
    \\r\\n
    \\r\\n

    \\r\\n The Data Analysis application also includes an extrapolation/prediction feature where the user may specify a value for the X-axis\\r\\n (in this example the STW), and the system will calculate the predicted Y-axis (here the predicted Shaft Power) based on the time\\r\\n span, exclusion filters and curve fit model selected.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\nimport _ from \"underscore\";\r\n\r\nvar ImportStatusClient = function () {\r\n\r\n};\r\n\r\nImportStatusClient.prototype.getSuccessfulImports = function(partition) {\r\n return net.get(\"/SuccessfulImports/Find/\" + partition);\r\n};\r\n\r\nImportStatusClient.prototype.getLastNumberOfImports = function(recentDays) {\r\n return net.get(\"/SuccessfulImports/GetAll/\" + recentDays);\r\n};\r\n\r\nImportStatusClient.prototype.getFailedImports = function(partition) {\r\n if (_.isUndefined(partition)) {\r\n return net.get(\"/FailedImports\");\r\n } else {\r\n return net.get(\"/FailedImports/Find/\" + partition);\r\n }\r\n};\r\n\r\nImportStatusClient.prototype.getRunningImports = function () {\r\n return net.get(\"/RunningImports\");\r\n};\r\n\r\nImportStatusClient.prototype.deleteFailedImport = function(importEntity) {\r\n return net.del(\"/FailedImports\", importEntity);\r\n};\r\n\r\nImportStatusClient.prototype.deleteRunningImport = function(importEntity) {\r\n return net.del(\"/RunningImports\", importEntity);\r\n};\r\n\r\nImportStatusClient.prototype.getVesselImportStates = function(imoNumbers) {\r\n var filter = {\r\n imoNumbers: imoNumbers,\r\n };\r\n return net.get(\"/VesselImportStates\", filter);\r\n};\r\n\r\nImportStatusClient.prototype.retryAllFailedImports = function() {\r\n return net.post(\"/FailedImports/RetryAll\");\r\n};\r\n\r\nImportStatusClient.prototype.downloadImportPackage = function(path) {\r\n return net.fileDownload(\"/ImportStatus/DownloadImportPackage?path=\" + path);\r\n};\r\n\r\nImportStatusClient.prototype.downloadZipFile = function(path) {\r\n return net.fileDownload(\"/ImportStatus/DownloadZipFile?path=\" + path);\r\n};\r\n\r\nexport default new ImportStatusClient();","import net from \"App/net\";\r\n\r\nvar ImportQueueClient = function () {\r\n\r\n};\r\n\r\nImportQueueClient.prototype.get = function (queueName) {\r\n return net.get(\"/QueueAttributes/\" + queueName);\r\n};\r\n\r\nImportQueueClient.prototype.post = function (queueName, importPath) {\r\n return net.post(\"/Queue/\" + queueName, importPath);\r\n};\r\n\r\nexport default new ImportQueueClient();","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport moment from \"moment\";\r\nimport events from \"App/events\";\r\nimport importStatusClient from \"Clients/import-status-client\";\r\n\r\nvar ImportEntity = function (importEntity, status) {\r\n var self = this;\r\n\r\n self.stackTraceSearchReplaces = [{ find: / in /g, repl: \" in\" }, { find: /\\[Inner exception:/g, repl: \"\\n [Inner exception:\" }];\r\n self.statuses = { imported: 0, error: 1, running: 2 };\r\n self.importEntity = importEntity;\r\n\r\n self.importDuration = ko.observable(importEntity.importDuration);\r\n self.importPath = ko.observable(importEntity.importPath);\r\n self.zipPath = ko.observable(importEntity.zipPath);\r\n self.timestamp = ko.observable(importEntity.timestamp);\r\n self.errorMessage = ko.observable(importEntity.errorMessage);\r\n self.stackTrace = ko.observable(importEntity.stackTrace);\r\n self.status = ko.observable(status);\r\n self.webJob = ko.observable(importEntity.webJob);\r\n\r\n self.isOpen = ko.observable(false);\r\n\r\n importEntity.importStatistics = typeof importEntity.importStatistics !== \"string\" ? \"{}\" : importEntity.importStatistics;\r\n self.importStatistics = ko.observable(JSON.parse(importEntity.importStatistics));\r\n\r\n self.progress = ko.observable(status === self.statuses.running ? importEntity.progress : 100);\r\n\r\n\r\n self.formattedStackTrace = ko.pureComputed(function () {\r\n var stackTrace = self.stackTrace();\r\n\r\n _.each(self.stackTraceSearchReplaces, function (item) {\r\n stackTrace = stackTrace.replace(item.find, item.repl);\r\n });\r\n\r\n return stackTrace;\r\n });\r\n\r\n self.importDurationInSeconds = ko.pureComputed(function () {\r\n var ticksInSeconds = 10000000;\r\n var ticks = self.importDuration();\r\n var importDuration = 0;\r\n\r\n if (_.isUndefined(ticks)) {\r\n var startTime = importEntity.startTime;\r\n\r\n if (!_.isUndefined(startTime)) {\r\n startTime = moment(startTime);\r\n var endTime = moment.utc();\r\n var diff = endTime.diff(startTime, \"seconds\", true);\r\n importDuration = diff;\r\n }\r\n\r\n } else {\r\n importDuration = ticks / ticksInSeconds;\r\n }\r\n return importDuration;\r\n });\r\n\r\n self.statusCss = ko.pureComputed(function () {\r\n var statusCss = \"\";\r\n var statuses = self.statuses;\r\n\r\n if (status === statuses.imported) {\r\n statusCss = \"importStatusOk\";\r\n } else if (status === statuses.error) {\r\n statusCss = \"importStatusFailed\";\r\n } else if (status === statuses.running) {\r\n statusCss = \"importStatusRunning\";\r\n }\r\n\r\n return statusCss;\r\n });\r\n\r\n self.statusText = ko.pureComputed(function () {\r\n var statusText = \"\";\r\n var statuses = self.statuses;\r\n\r\n if (status === statuses.imported) {\r\n statusText = \"Imported\";\r\n } else if (status === statuses.error) {\r\n statusText = \"Failed\";\r\n } else if (status === statuses.running) {\r\n statusText = \"Running\";\r\n }\r\n\r\n return statusText;\r\n });\r\n\r\n self.imoNumber = ko.pureComputed(function() {\r\n var importPath = self.importPath();\r\n\r\n return importPath.split(\"/\")[0];\r\n });\r\n\r\n self.importPathDownloadUrl = ko.pureComputed(function () {\r\n var importPath = self.importPath();\r\n if (importPath.toLowerCase().endsWith(\".zip\")) {\r\n return \"/ImportStatus/DownloadZipFile?path=\" + importPath;\r\n }\r\n return \"/ImportStatus/DownloadImportPackage?path=\" + importPath;\r\n });\r\n\r\n self.zipPathDownloadUrl = ko.pureComputed(function () {\r\n var zipPath = self.zipPath();\r\n return \"/ImportStatus/DownloadZipFile?path=\" + zipPath;\r\n });\r\n};\r\n\r\nImportEntity.prototype.retryImport = function () {\r\n var self = this;\r\n\r\n self.importEntity.importStatistics = _.isEmpty(self.importStatistics()) ? [] : self.importStatistics();\r\n events.retryImport.dispatch(self);\r\n};\r\n\r\nImportEntity.prototype.removeImport = function () {\r\n var self = this;\r\n if (confirm(\"Do you really want to remove this?\")) {\r\n events.removeImport.dispatch(self);\r\n }\r\n};\r\n\r\nImportEntity.prototype.downloadImportPackage = function () {\r\n var self = this;\r\n importStatusClient.downloadImportPackage(self.importPath());\r\n};\r\n\r\nImportEntity.prototype.downloadZipFile = function () {\r\n var self = this;\r\n importStatusClient.downloadZipFile(self.zipPath());\r\n};\r\n\r\nImportEntity.prototype.toggleIsOpen = function () {\r\n this.isOpen(!this.isOpen());\r\n};\r\n\r\nexport default ImportEntity;","import template from \"./import-status.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport moment from \"moment\";\r\nimport events from \"App/events\";\r\nimport importStatusClient from \"Clients/import-status-client\";\r\nimport queueClient from \"Clients/import-queue-client\";\r\nimport ImportEntity from \"ViewModels/dataImport/importEntity\";\r\nimport timeConverterHelper from \"Utilities/time-converter-helper\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n self.poller;\r\n self.tableStorageDateFormat = \"YYYY-MM-DD\";\r\n self.datepickerFormat = \"DD. MMM, YYYY\";\r\n\r\n self.queueNames = { pendingImports: \"pendingimports\", receivedData: \"receiveddata\" };\r\n self.recentDateType = { day: 0, lastDays: 1, timeRange: 2 };\r\n\r\n self.importDetailsEntity = ko.observable();\r\n self.importDetailsVisible = ko.observable(false);\r\n self.successfulImportsLoading = ko.observable(true);\r\n self.failedImportsLoading = ko.observable(true);\r\n self.realtimePoll = ko.observable(false);\r\n\r\n self.selectedRecentDateType = ko.observable(self.recentDateType.day);\r\n self.datepickerValue = ko.observable(moment.utc().format(self.datepickerFormat));\r\n self.imoSearchValue = ko.observable(\"\");\r\n\r\n self.recentDays = ko.observable(2);\r\n self.rowsPerPage = ko.observable(5);\r\n self.pollIntervall = ko.observable(2);\r\n self.receivedDataQueueLength = ko.observable(0);\r\n self.pendingImportsQueueLength = ko.observable(0);\r\n\r\n self.successfulImports = ko.observableArray([]);\r\n self.runningImports = ko.observableArray([]);\r\n self.failedImports = ko.observableArray([]);\r\n self.pollingOptions = ko.observableArray([1, 2, 5, 10, 20]);\r\n self.numberOfRows = ko.observableArray([1, 5, 10, 15, 20]);\r\n self.numberOfRecentDays = ko.observableArray(_.range(1, 31));\r\n\r\n self.isVesselImportStatesLoading = ko.observable(false);\r\n self.vesselImportStates = ko.observable();\r\n self.isRetryingAllFailedImports = ko.observable(false);\r\n\r\n self.loadStatus();\r\n\r\n self.vesselImportStateModels = ko.pureComputed(function() {\r\n var vesselImportStates = self.vesselImportStates();\r\n var activeVesselImportStates = _.filter(vesselImportStates, function(vesselImportState) {\r\n return vesselImportState.currentImport;\r\n });\r\n\r\n var vesselImportStateModels = _.map(activeVesselImportStates, function(vesselImportState) {\r\n var model = {\r\n imo: vesselImportState.imoNumber,\r\n currentImport: vesselImportState.currentImport,\r\n currentImportSetAt: vesselImportState.currentImportSetAt,\r\n };\r\n\r\n model.pendingImportPaths = vesselImportState.pendingImportPaths;\r\n return model;\r\n });\r\n\r\n return _.sortBy(vesselImportStateModels, function(vesselImportStateModel) {\r\n return vesselImportStateModel.pendingImportPaths.length;\r\n }).reverse();\r\n });\r\n\r\n self.recentImports = ko.pureComputed({\r\n read: function () {\r\n var successfulImports = self.successfulImports();\r\n var failedImports = self.recentlyFailedImports();\r\n var imoSearchValue = self.imoSearchValue();\r\n var imports = _.union(successfulImports, failedImports);\r\n\r\n if (imoSearchValue !== \"\") {\r\n imports = _.filter(imports,\r\n function (importEntity) {\r\n return importEntity.imoNumber().indexOf(imoSearchValue) !== -1;\r\n });\r\n }\r\n\r\n self.sortByTimestamp(imports);\r\n\r\n return imports;\r\n },\r\n write: function (value) { },\r\n });\r\n\r\n self.recentlyFailedImports = ko.pureComputed(function () {\r\n var date = self.getFormattedDate();\r\n var failedImports = self.failedImports();\r\n\r\n return _.filter(failedImports, function (failedImport) {\r\n return failedImport.importEntity.partitionKey === date;\r\n });\r\n });\r\n\r\n self.retryImport = function (importEntity) {\r\n var queueNames = self.queueNames;\r\n var statuses = importEntity.statuses;\r\n var status = importEntity.status();\r\n var webJob = importEntity.webJob();\r\n var importPath = importEntity.importPath();\r\n\r\n var queueName = webJob == \"Prepare\" ? queueNames.receivedData : queueNames.pendingImports;\r\n\r\n if (status === statuses.error) {\r\n importStatusClient.deleteFailedImport(importEntity.importEntity).done(function () {\r\n self.failedImports.remove(importEntity);\r\n self.sendImportMessageOnQueue(queueName, importPath);\r\n });\r\n } else if (status === statuses.running) {\r\n importStatusClient.deleteRunningImport(importEntity.importEntity).done(function () {\r\n self.runningImports.remove(importEntity);\r\n self.sendImportMessageOnQueue(queueName, importPath);\r\n });\r\n }\r\n };\r\n\r\n self.removeFailedImport = function (importEntity) {\r\n importStatusClient.deleteFailedImport(importEntity.importEntity).done(function () {\r\n self.failedImports.remove(importEntity);\r\n });\r\n };\r\n\r\n self.pollFunction = function () {\r\n self.loadStatus();\r\n };\r\n\r\n self.retryImportEvent = events.retryImport.add(function (importEntity) {\r\n self.retryImport(importEntity);\r\n });\r\n\r\n self.removeImportEvent = events.removeImport.add(function (importEntity) {\r\n self.removeFailedImport(importEntity);\r\n });\r\n\r\n self.datePickerValueSubscription = self.datepickerValue.subscribe(function () {\r\n self.getSuccessfulImports();\r\n });\r\n\r\n self.selectedRecentDateTypeSubscription = self.selectedRecentDateType.subscribe(function () {\r\n self.getSuccessfulImports();\r\n });\r\n\r\n self.recentDaysSubscription = self.recentDays.subscribe(function () {\r\n var recentDateType = self.selectedRecentDateType();\r\n\r\n if (recentDateType === self.recentDateType.lastDays) {\r\n self.getSuccessfulImports();\r\n }\r\n });\r\n\r\n self.runningImportsBinding = self.runningImports.subscribe(function(runningImports) {\r\n var imoNumbers = _.map(runningImports, function(importEntity) {\r\n return importEntity.imoNumber();\r\n });\r\n self.getVesselImportStates(imoNumbers);\r\n });\r\n\r\n self.loggingHistoryItemsCount = ko.pureComputed(function() {\r\n var successfulImports = self.successfulImports();\r\n var loggingHistoryTableRowCounts = _.map(successfulImports, function(successfulImport) {\r\n var importStatistics = successfulImport.importStatistics();\r\n var loggingHistoryTableStats = _.find(importStatistics, function(importStatistic) {\r\n return importStatistic.TableName === \"KSPDataTab_LoggingHistory\";\r\n });\r\n return loggingHistoryTableStats ? loggingHistoryTableStats.RowCount : 0;\r\n });\r\n return _.reduce(loggingHistoryTableRowCounts, function(memo, num) { return memo + num; }, 0);\r\n });\r\n\r\n self.totalTimeSpentInHours = ko.pureComputed(function() {\r\n var successfulImports = self.successfulImports();\r\n var totalImportDurationTicks = _.reduce(successfulImports, function(memo, successfulImport) { return memo + successfulImport.importEntity.importDuration; }, 0);\r\n return timeConverterHelper.ticksToHours(totalImportDurationTicks);\r\n });\r\n\r\n self.logDataTotalTimeSpentInHours = ko.pureComputed(function() {\r\n var successfulImports = self.successfulImports();\r\n var loggingHistoryTableImportDurations = _.map(successfulImports, function(successfulImport) {\r\n var importStatistics = successfulImport.importStatistics();\r\n var loggingHistoryTableStats = _.find(importStatistics, function(importStatistic) {\r\n return importStatistic.TableName === \"KSPDataTab_LoggingHistory\";\r\n });\r\n return loggingHistoryTableStats ? loggingHistoryTableStats.ImportDuration : 0;\r\n });\r\n var totalImportDurationTicks = _.reduce(loggingHistoryTableImportDurations, function(memo, num) { return memo + num; }, 0);\r\n return timeConverterHelper.ticksToHours(totalImportDurationTicks);\r\n });\r\n}\r\n\r\nViewModel.prototype.sortByTimestamp = function (imports) {\r\n imports.sort(function (a, b) {\r\n return Date.parse(b.timestamp()) - Date.parse(a.timestamp());\r\n });\r\n};\r\n\r\nViewModel.prototype.getFormattedDate = function () {\r\n var self = this;\r\n var datepickerValue = self.datepickerValue();\r\n var formattedDate = moment(datepickerValue, self.datepickerFormat).format(self.tableStorageDateFormat);\r\n\r\n return formattedDate;\r\n};\r\n\r\nViewModel.prototype.loadStatus = function () {\r\n var self = this;\r\n var queueNames = self.queueNames;\r\n\r\n self.getRunningImports();\r\n self.getFailedImports();\r\n self.getSuccessfulImports();\r\n\r\n self.getNumberOfMessagesInQueue(self.receivedDataQueueLength, queueNames.receivedData);\r\n self.getNumberOfMessagesInQueue(self.pendingImportsQueueLength, queueNames.pendingImports);\r\n};\r\n\r\nViewModel.prototype.getNumberOfMessagesInQueue = function (queueObservable, queueName) {\r\n var self = this;\r\n queueClient.get(queueName).done(function (data) {\r\n queueObservable(data);\r\n });\r\n};\r\n\r\nViewModel.prototype.sendImportMessageOnQueue = function (importQueue, importPath) {\r\n var self = this;\r\n var queueNames = self.queueNames;\r\n\r\n importQueue = _.isNull(importQueue) || _.isUndefined(importQueue) ? queueNames.pendingImports : importQueue;\r\n\r\n queueClient.post(importQueue, importPath).done(function (data) {\r\n });\r\n};\r\n\r\nViewModel.prototype.getPreviousDatePartition = function () {\r\n var newDate = this.addDaysToDate(-1);\r\n this.datepickerValue(newDate);\r\n this.selectedRecentDateType(this.recentDateType.day);\r\n};\r\n\r\nViewModel.prototype.getNextDatePartition = function () {\r\n var newDate = this.addDaysToDate(1);\r\n this.datepickerValue(newDate);\r\n this.selectedRecentDateType(this.recentDateType.day);\r\n};\r\n\r\nViewModel.prototype.addDaysToDate = function (daysAdded) {\r\n var self = this;\r\n var currentDate = self.datepickerValue();\r\n var newDate = moment(currentDate, self.datepickerFormat);\r\n\r\n newDate = newDate.add(daysAdded, \"days\").format(self.datepickerFormat);\r\n return newDate;\r\n};\r\n\r\nViewModel.prototype.toggleRealtimePoll = function () {\r\n var self = this;\r\n var poll = self.realtimePoll();\r\n var intervall = self.pollIntervall() * 1000;\r\n self.realtimePoll(!poll);\r\n\r\n if (!poll) {\r\n self.poller = setInterval(self.pollFunction, intervall);\r\n } else {\r\n clearInterval(self.poller);\r\n }\r\n};\r\n\r\nViewModel.prototype.getRunningImports = function () {\r\n var self = this;\r\n\r\n importStatusClient.getRunningImports().done(function (data) {\r\n var runningImports = _.map(data, function (runningImport) {\r\n return new ImportEntity(runningImport, 2);\r\n });\r\n\r\n self.sortByTimestamp(runningImports);\r\n self.runningImports(runningImports);\r\n });\r\n};\r\n\r\nViewModel.prototype.getFailedImports = function () {\r\n var self = this;\r\n importStatusClient.getFailedImports().done(function (data) {\r\n var failedImports = _.map(data, function (errorImport) {\r\n return new ImportEntity(errorImport, 1);\r\n });\r\n self.sortByTimestamp(failedImports);\r\n self.failedImports(failedImports);\r\n }).fail(function () {\r\n }).always(function () {\r\n self.failedImportsLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.getSuccessfulImports = function () {\r\n var self = this;\r\n var selectedRecentDateType = self.selectedRecentDateType();\r\n var getImports = {};\r\n\r\n self.successfulImportsLoading(true);\r\n\r\n if (selectedRecentDateType === self.recentDateType.day) {\r\n var date = self.datepickerValue();\r\n date = moment(date, self.datepickerFormat).format(self.tableStorageDateFormat);\r\n getImports = importStatusClient.getSuccessfulImports(date);\r\n } else if (selectedRecentDateType === self.recentDateType.lastDays) {\r\n var recentDays = self.recentDays();\r\n getImports = importStatusClient.getLastNumberOfImports(recentDays);\r\n }\r\n\r\n getImports.done(function (data) {\r\n self.successfulImports(_.map(data, function (importEntity) {\r\n return new ImportEntity(importEntity, 0);\r\n }));\r\n }).fail(function () {\r\n }).always(function () {\r\n self.successfulImportsLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.getVesselImportStates = function(imoNumbers) {\r\n var self = this;\r\n var getImports = {};\r\n\r\n self.isVesselImportStatesLoading(true);\r\n self.vesselImportStates([]);\r\n if (imoNumbers.length === 0) return;\r\n\r\n importStatusClient.getVesselImportStates(imoNumbers).done(function(data) {\r\n self.vesselImportStates(data);\r\n }).always(function() {\r\n self.isVesselImportStatesLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.retryAllFailedImports = function() {\r\n var self = this;\r\n if (!confirm(\"Do you really want to retry ALL failed imports?\")) {\r\n return;\r\n }\r\n\r\n self.isRetryingAllFailedImports(true);\r\n importStatusClient.retryAllFailedImports().done(function() {\r\n self.loadStatus();\r\n }).always(function() {\r\n self.isRetryingAllFailedImports(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.retryImportEvent.detach();\r\n this.removeImportEvent.detach();\r\n this.datePickerValueSubscription.dispose();\r\n this.selectedRecentDateTypeSubscription.dispose();\r\n this.runningImportsBinding.dispose();\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n %\\r\\n \\r\\n \\r\\n n/a\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n %\\r\\n \\r\\n \\r\\n %\\r\\n \\r\\n \\r\\n \\r\\n n/a\\r\\n n/a\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"@/assets/images/kyma-logos/kymalogo.svg\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    Danelec - Data Analysis

    \\r\\n

    \\r\\n The Danelec Data Analysis application allows for the collection and comparison of vessel performance\\r\\n data by analysing the\\r\\n correlations of key variables. High frequency data is collected from relevant sensors, filtered, compared, and\\r\\n used for reporting.\\r\\n This application will be a vital tool for any shipowner/manager to raise ship performance awareness and identify\\r\\n efficiency issues\\r\\n onboard. Different formats of displaying and extracting data is available. In leveraging your sensor data for\\r\\n comparison and statistical\\r\\n analysis, you operationalize sustainability.\\r\\n

    \\r\\n

    \\r\\n Version:
    \\r\\n 1.0.0\\r\\n

    \\r\\n

    \\r\\n Copyright:
    \\r\\n Kyma AS
    \\r\\n Aasamyrane 88B
    \\r\\n N-5116 ULSET
    \\r\\n NORWAY

    \\r\\n \\\"Kyma
    \\r\\n

    \\r\\n

    \\r\\n E-mail:
    \\r\\n sales@danelec.com
    \\r\\n

    \\r\\n

    \\r\\n Web:
    \\r\\n www.danelec.com
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\nimport events from \"App/events\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.getAll = function() {\r\n return net.get(\"/VesselGroups\");\r\n};\r\n\r\nClient.prototype.create = function(vesselGroup) {\r\n return net.post(\"/VesselGroups\", vesselGroup).done(function(data) {\r\n events.vesselGroupCreated.dispatch(data);\r\n });\r\n};\r\n\r\nClient.prototype.update = function (vesselGroup) {\r\n return net.put(\"/VesselGroups/\" + vesselGroup.id, vesselGroup).done(function(data) {\r\n events.vesselGroupUpdated.dispatch(data);\r\n });\r\n};\r\n\r\nClient.prototype.remove = function(vesselGroup) {\r\n return net.del(\"/VesselGroups/\" + vesselGroup.id).done(function() {\r\n events.vesselGroupDeleted.dispatch(vesselGroup);\r\n });\r\n};\r\n\r\nClient.prototype.addVesselToGroup = function(vessel, vesselGroup) {\r\n var cmd = {\r\n vesselId: vessel.id,\r\n vesselGroupId: vesselGroup.id,\r\n };\r\n return net.post(\"/VesselGroups/AddVessel\", cmd).done(function(data) {\r\n events.vesselGroupUpdated.dispatch(data);\r\n });\r\n};\r\n\r\nClient.prototype.removeVesselFromGroup = function(vessel, vesselGroup) {\r\n var cmd = {\r\n vesselId: vessel.id,\r\n vesselGroupId: vesselGroup.id,\r\n };\r\n return net.post(\"/VesselGroups/RemoveVessel\", cmd).done(function(data) {\r\n events.vesselGroupUpdated.dispatch(data);\r\n });\r\n};\r\nexport default new Client();","module.exports = __webpack_public_path__ + \"img/help-time-span.91a96e78.webp\";","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","import { VuexModule, Module, Action, Mutation } from \"vuex-module-decorators\";\r\nimport moment from \"moment\";\r\nimport FoulingClient from \"Clients/fouling-client\";\r\nimport { SeaSurfaceTemperature } from \"@/types/SeaSurfaceTemperature\";\r\nimport { SpeedLossHistory } from \"@/types/SpeedLossHistory\";\r\nimport { SpeedLossStatistic } from \"@/types/SpeedLossStatistic\";\r\nimport { HullCoating, HullCoatingManufacturer, HullCoatingType } from \"@/types/HullCoating\";\r\nimport { FoulingChartConfig } from \"@/types/FoulingChartConfig\";\r\nimport { FoulingAddedConsumption } from \"@/types/FoulingAddedConsumption\";\r\nimport { FoulingEventImpact } from \"@/types/FoulingEventImpact\";\r\nimport { TempPoint } from \"@/types/TempPoint\";\r\n\r\n@Module({ namespaced: true, name: \"Fouling\" })\r\nclass Fouling extends VuexModule {\r\n private _seaSurfaceTemperature: TempPoint[] = [];\r\n private _speedLossHistory: SpeedLossHistory[] = [];\r\n private _speedLossStatistics: SpeedLossStatistic[] = [];\r\n private _hullCoatingVessel: HullCoating | null = null;\r\n private _hullCoatingType: HullCoatingType[] = [];\r\n private _hullCoatingManufacturer: HullCoatingManufacturer[] = [];\r\n private _foulingChartConfig: FoulingChartConfig = {} as FoulingChartConfig;\r\n private _propulsionCurve: { xValues: number[]; yValues: number[] } = {} as { xValues: number[]; yValues: number[] };\r\n\r\n // @Getters\r\n public get seaSurfaceTemperature(): TempPoint[] {\r\n return this._seaSurfaceTemperature;\r\n }\r\n\r\n public get speedLossHistory(): SpeedLossHistory[] {\r\n return this._speedLossHistory;\r\n }\r\n\r\n public get speedLossStatistics(): SpeedLossStatistic[] {\r\n return this._speedLossStatistics;\r\n }\r\n\r\n public get hullCoatingType(): HullCoatingType[] {\r\n return this._hullCoatingType;\r\n }\r\n\r\n public get hullCoatingManufacturer(): HullCoatingManufacturer[] {\r\n return this._hullCoatingManufacturer;\r\n }\r\n\r\n public get hullCoatingVessel(): HullCoating | null {\r\n return this._hullCoatingVessel;\r\n }\r\n\r\n public get speedHistoryStartYear(): string {\r\n if (!this._speedLossHistory.length) return moment.utc().startOf(\"year\").format(\"YYYY-MM-DD\");\r\n const timestamps = this._speedLossHistory.map(item => (moment.utc(item.timestamp).valueOf()));\r\n return moment.utc(Math.min(...timestamps)).format(\"YYYY-MM-DD\");\r\n }\r\n\r\n public get foulingChartConfig(): FoulingChartConfig {\r\n return this._foulingChartConfig;\r\n }\r\n\r\n public get propulsionCurve(): { xValues: number[]; yValues: number[]; } {\r\n return this._propulsionCurve;\r\n }\r\n\r\n // @Actions\r\n @Action({ rawError: true })\r\n public async fetchSpeedLossHistory(query: { vesselId: number; fromDate?: string | null; toDate?: string | null }): Promise {\r\n try {\r\n const data: SpeedLossHistory[] = await FoulingClient.getSpeedLossHistory(query);\r\n this.context.commit(\"SET_SPEED_LOSS_HISTORY\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch speed loss history\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchSeaSurfaceTemperature(query: { shipId: number; fromDate: string | null; toDate: string | null }): Promise {\r\n try {\r\n if (this.seaSurfaceTemperature.length) return;\r\n const data = await FoulingClient.getSeaSurfaceTemperature(query);\r\n this.context.commit(\"SET_SEA_SURFACE_TEMPERATURE\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch sea surface temperature\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateSeaSurfaceTemperature(query: { shipId: number; fromDate: string | null; toDate: string | null }): Promise {\r\n try {\r\n const data = await FoulingClient.getSeaSurfaceTemperature(query);\r\n this.context.commit(\"SET_SEA_SURFACE_TEMPERATURE\", data);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update sea surface temperature\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchSpeedLossStatistics(vesselId: number): Promise {\r\n try {\r\n const data = await FoulingClient.getSpeedLossStatistics(vesselId);\r\n this.context.commit(\"SET_SPEED_LOSS_STATISTICS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Speed Loss Statistics percentage\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchHullCoatingType(): Promise {\r\n try {\r\n const data = await FoulingClient.getHullCoatingType();\r\n this.context.commit(\"SET_HULL_COATING_TYPE\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Hull Coating Type\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchHullCoatingManufacturer(): Promise {\r\n try {\r\n const data = await FoulingClient.getHullCoatingManufacturer();\r\n this.context.commit(\"SET_HULL_COATING_MANUFACTURER\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Hull Coating Manufacturer\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchHullCoatingVessel(vesselId: number): Promise {\r\n try {\r\n const data: HullCoating = await FoulingClient.hullCoatingVessel(vesselId);\r\n this.context.commit(\"SET_HULL_COATING_VESSEL\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Hull Coating\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async postHullCoatingVessel(payload: HullCoating): Promise {\r\n try {\r\n await FoulingClient.postHullCoatingVessel(payload);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update Hull Coating\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchFoulingChartConfig(vesselId: number): Promise {\r\n try {\r\n const data: FoulingChartConfig = await FoulingClient.foulingChartConfig(vesselId);\r\n this.context.commit(\"SET_FOULING_CHART_CONFIG\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Fouling configuration\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateFoulingChartConfig(payload: FoulingChartConfig): Promise {\r\n try {\r\n if (payload.vesselId) {\r\n await FoulingClient.updateFoulingChartConfig(payload);\r\n await this.fetchFoulingChartConfig(payload.vesselId);\r\n }\r\n } catch (error) {\r\n throw ({ message: \"Failed to update Benchmark\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchPropulsionEfficency(query: { vesselId: number; fromDate?: string | null; toDate?: string | null; condition: string; granularity?: string; }): Promise {\r\n try {\r\n const data = await FoulingClient.getPropulsionEfficency(query);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Propulsion Efficency\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchPropulsionEfficencyCurve(query: { vesselId: number; condition?: string | null; }): Promise {\r\n try {\r\n const data = await FoulingClient.getPropulsionEfficencyCurve(query);\r\n this.context.commit(\"SET_PROPULSION_CURVE\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Propulsion Efficency Curve\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchAddedFuelConsumption(vesselId: number): Promise {\r\n try {\r\n const data = await FoulingClient.getAddedFuelConsumption(vesselId);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Added Fuel Consumption\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchEventImpact(query: { vesselId: number, eventDate: string }): Promise {\r\n try {\r\n const data = await FoulingClient.getEventImpact(query.vesselId, query.eventDate);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch event impact\", error });\r\n }\r\n }\r\n\r\n // @Mutations\r\n @Mutation\r\n public SET_SEA_SURFACE_TEMPERATURE(data: SeaSurfaceTemperature): void {\r\n const formattedWeatherData: TempPoint[] = [];\r\n const entries = Object.entries(data.seaSurfaceTemperature);\r\n\r\n for (let i = 0; i < entries.length; i++) {\r\n const key = entries[i][0];\r\n const value = entries[i][1];\r\n\r\n const latitude = data.latitude[key];\r\n const longitude = data.longitude[key];\r\n if (!latitude || !longitude) continue;\r\n const shipSpeed = data.shipSpeed[key];\r\n const timeSpent = data.timeSpent[key];\r\n const formattedWeatherDataItem = {\r\n timestamp: moment.utc(key).valueOf(),\r\n temperature: value,\r\n latlng: [latitude, longitude],\r\n shipSpeed: shipSpeed,\r\n timeSpent: timeSpent,\r\n };\r\n formattedWeatherData.push(formattedWeatherDataItem);\r\n }\r\n this._seaSurfaceTemperature = formattedWeatherData;\r\n }\r\n\r\n @Mutation\r\n public CLEAR_SEA_SURFACE_TEMPERATURE(): void {\r\n this._seaSurfaceTemperature = [];\r\n }\r\n\r\n @Mutation\r\n public SET_SPEED_LOSS_HISTORY(data: SpeedLossHistory[]): void {\r\n this._speedLossHistory = data.sort((a: SpeedLossHistory, b: SpeedLossHistory): number => {\r\n const dateA = new Date(a.timestamp).getTime();\r\n const dateB = new Date(b.timestamp).getTime();\r\n return dateA - dateB;\r\n });\r\n }\r\n\r\n @Mutation\r\n public SET_SPEED_LOSS_STATISTICS(data: SpeedLossStatistic[]): void {\r\n this._speedLossStatistics = data;\r\n }\r\n\r\n @Mutation\r\n public SET_HULL_COATING_TYPE(data: HullCoatingType[]): void {\r\n this._hullCoatingType = data;\r\n }\r\n\r\n @Mutation\r\n public SET_HULL_COATING_MANUFACTURER(data: HullCoatingManufacturer[]): void {\r\n this._hullCoatingManufacturer = data.sort((a, b) => {\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n @Mutation\r\n public SET_HULL_COATING_VESSEL(data: HullCoating): void {\r\n this._hullCoatingVessel = data;\r\n }\r\n\r\n @Mutation\r\n public SET_FOULING_CHART_CONFIG(data: FoulingChartConfig): void {\r\n this._foulingChartConfig = data;\r\n }\r\n\r\n @Mutation\r\n public SET_PROPULSION_CURVE(data: { xValues: number[]; yValues: number[] }): void {\r\n this._propulsionCurve = data;\r\n }\r\n}\r\n\r\nexport default Fouling;\r\n","function getHelpText(type) {\r\n switch (type) {\r\n case \"speed\":\r\n return \"This graph shows a long trend history of speed loss compared to the baseline used for the vessel. The baseline for the vessel is typically the power vs. speed design curve from the model tank test. A zero (0%) speed loss means that the vessel is performing according to the design curve.\" +\r\n \"A normal trend line for a vessel shows decreasing speed loss over time (negative values), primarily due to hull fouling and reduced propeller efficiency. The system calculates a speed loss percentage for each day by taking an average of all the speed loss measurements calculated from the high frequency data (usually 1 or 15 second granularity) within the 24 hour period.\" +\r\n \"These higher frequency data points are averaged up to a single speed loss percentage for the day which is used to compute a trend line (green line) within the trend period. The system automatically adjusts the calculation for laden and ballast states. Note: the speed loss metric in the Fouling tab may have a different result than in the Diagnostics tab due to different filters applied to the data.\";\r\n case \"rpm\":\r\n return \"This graph shows a long trend overview of the relationship of the main engine power output to the resulting propeller speed (revolutions per minute (rpm)). The graph shows the deviation (+/- 25 %) of rpm over time compared against the value, at the corresponding power, from the propeller curve (power vs rpm). A zero deviation means that the propeller performs according to the propeller curve. The normal trend over time is, however, that the propeller becomes “heavier” (negative trend line), meaning that the power required to turn the propeller increases. The main causes of a heavy propeller are marine growth or a damaged propeller.\";\r\n case \"sfr\":\r\n return \"This graph shows a long trend overview on how the main engine(s) specific fuel consumption rate (sfr) changes over time. The graph shows the deviation (+/- 50 %) of the sfr, compared against the reference curve, measured during the factory shop test. A deviation of zero means that the Main engine is performing in line with the original shop test data for power vs sfr. The normal trend line for any given main engine, however, is that the fuel consumption increases over time (positive trend line); primarily due to the effects of engine wear (higher friction, leakages, etc.).\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nfunction getBenefitText(type) {\r\n switch (type) {\r\n case \"speed\":\r\n return \"* Estimated change in fuel consumption due to speed change, based on ISO corrected Calorific Value.\";\r\n case \"sfr\":\r\n return \"* Estimated change in fuel consumption due to SFR change, based on ISO corrected Calorific Value.\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nfunction getInvalidConsequenceHelpText(type) {\r\n switch (type) {\r\n case \"speed\":\r\n return \"An increased ship speed and fuel savings are expected after a Trend event\";\r\n case \"rpm\":\r\n return \"An increased propeller speed is expected after a Trend event\";\r\n case \"sfr\":\r\n return \"A reduced SFR and fuel savings are expected after a Trend event\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nfunction getDiagnosticTypeOrder(type) {\r\n switch (type) {\r\n case \"speed\":\r\n return 1;\r\n case \"rpm\":\r\n return 2;\r\n case \"sfr\":\r\n return 3;\r\n default:\r\n return 4;\r\n }\r\n}\r\n\r\nexport default {\r\n getHelpText: function (diagnosticType) {\r\n if (!diagnosticType) return \"\";\r\n return getHelpText(diagnosticType.name.toLowerCase());\r\n },\r\n getBenefitText: function (diagnosticType) {\r\n if (!diagnosticType) return \"\";\r\n return getBenefitText(diagnosticType.name.toLowerCase());\r\n },\r\n getInvalidConsequenceHelpText: function (diagnosticTypeName) {\r\n return getInvalidConsequenceHelpText(diagnosticTypeName.toLowerCase());\r\n },\r\n getDiagnosticTypeOrder: function (diagnosticType) {\r\n return getDiagnosticTypeOrder(diagnosticType.name.toLowerCase());\r\n },\r\n};\r\n","import template from \"./taxonomy.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport CategoryVM from \"ViewModels/taxonomy/category\";\r\nimport store from \"@/store\";\r\nimport router from \"@/router\";\r\n\r\nfunction ViewModel(param) {\r\n var self = this;\r\n self.isUploading = ko.observable(false);\r\n self.logVariablesMap = param.taxonomy;\r\n self.logVariables = _.sortBy(_.values(self.logVariablesMap), function(logVariable) {\r\n return logVariable.name.toLowerCase();\r\n });\r\n\r\n self.highlightLogVariableId = ko.observable();\r\n self.highlightedLogVariable = ko.pureComputed(function() {\r\n var highlightLogVariableId = self.highlightLogVariableId();\r\n if (!highlightLogVariableId) return null;\r\n\r\n return self.logVariablesMap.find(x => x.id === highlightLogVariableId);\r\n });\r\n\r\n var allTaxa = _.flatten(_.pluck(self.logVariables, \"taxa\"));\r\n\r\n var uniqueTaxa = _.uniq(allTaxa, function(taxon) {\r\n return taxon.name;\r\n });\r\n\r\n var orderedUniqueTaxa = _.sortBy(uniqueTaxa, \"name\");\r\n var groupedTaxa = _.groupBy(orderedUniqueTaxa, function(taxon) {\r\n return taxon.name.split(\":\")[0];\r\n });\r\n self.categories = _.map(groupedTaxa, function(taxons, name) {\r\n return new CategoryVM(name, taxons, self.highlightedLogVariable);\r\n });\r\n}\r\n\r\nViewModel.prototype.downloadTaxonomy = function () {\r\n return store.dispatch(\"Taxonomy/downloadTaxonomy\");\r\n};\r\n\r\nViewModel.prototype.uploadTaxonomy = function () {\r\n var self = this;\r\n self.isUploading(true);\r\n\r\n var fd = new FormData();\r\n var files = $(\"#taxonomyUploadFile\")[0].files[0];\r\n fd.append(\"file\", files);\r\n\r\n store.dispatch(\"Taxonomy/uploadTaxonomy\", fd)\r\n .then(function() {\r\n router.go();\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","// Module\nvar code = \"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    MCR
    \\r\\n\\r\\n\\r\\n
    \\r\\n

    \\r\\n Consequences cannot be calculated because the vessel-specific code was not found.
    \\r\\n Please contact Danelec at support@danelec.com for assistance.\\r\\n

    \\r\\n
    \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar TaxonomyClient = function() {\r\n\r\n};\r\n\r\nTaxonomyClient.prototype.getTaxonomyLogVariables = function() {\r\n return net.get(\"/Taxonomy\");\r\n};\r\n\r\nTaxonomyClient.prototype.getAllTaxa = function() {\r\n return net.get(\"/Taxonomy/Taxa\");\r\n};\r\n\r\nTaxonomyClient.prototype.downloadTaxonomy = function() {\r\n var url = \"/Taxonomy/Excel\";\r\n return net.fileDownload(url, \"GET\");\r\n};\r\n\r\nTaxonomyClient.prototype.uploadTaxonomy = function(file) {\r\n var url = \"/Taxonomy/Excel\";\r\n return net.fileUpload(url, file);\r\n};\r\n\r\nexport default new TaxonomyClient();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { LogVariable } from \"@/types/logVariable\";\r\nimport taxonomyClient from \"Clients/taxonomy-client\";\r\nimport { Category as TaxonomyCategory } from \"@/types/taxonomy/category\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"Taxonomy\" })\r\nclass Taxonomy extends VuexModule {\r\n private _taxonomyLogVariables: LogVariable[] = [];\r\n private _taxonomyCategories: TaxonomyCategory[] = [];\r\n\r\n @Action({ rawError: true })\r\n public async getTaxonomyLogVariables(): Promise {\r\n try {\r\n const data = await taxonomyClient.getTaxonomyLogVariables();\r\n this.context.commit(\"SET_TAXONOMY_LOG_VARIABLES\", data);\r\n return data;\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getTaxonomyCategories(): Promise {\r\n try {\r\n const data = await taxonomyClient.getAllTaxa();\r\n this.context.commit(\"SET_TAXONOMY_CATEGORIES\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to get taxonomy categories\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public downloadTaxonomy(): void {\r\n try {\r\n return taxonomyClient.downloadTaxonomy();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async uploadTaxonomy(file: FormData): Promise {\r\n try {\r\n await taxonomyClient.uploadTaxonomy(file);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Mutation\r\n public SET_TAXONOMY_LOG_VARIABLES(taxonomyLogVariables: LogVariable[]): void {\r\n this._taxonomyLogVariables = taxonomyLogVariables;\r\n }\r\n\r\n @Mutation\r\n public SET_TAXONOMY_CATEGORIES(taxonomyCategories: TaxonomyCategory[]): void {\r\n this._taxonomyCategories = taxonomyCategories;\r\n }\r\n\r\n public get taxonomyList(): LogVariable[] {\r\n return this._taxonomyLogVariables;\r\n }\r\n\r\n public get categorizedTaxonomyList(): TaxonomyCategory[] {\r\n return this._taxonomyCategories;\r\n }\r\n}\r\n\r\nexport default Taxonomy;\r\n","module.exports = __webpack_public_path__ + \"img/graph-widget-illustration-1.a2fdbe28.png\";","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { SnackbarConfig } from \"@/types/snackbarConfig\";\r\n\r\n@Module({ namespaced: true, name: \"Snackbar\" })\r\nclass Snackbar extends VuexModule {\r\n private _config = {} as SnackbarConfig;\r\n private _defaultConfig: SnackbarConfig = {\r\n text: \"An error occurred.\",\r\n color: \"error\",\r\n timeout: 5000,\r\n show: true,\r\n closeButton: false,\r\n };\r\n\r\n @Action\r\n public showSnackbar(config: Partial): void {\r\n //need to copy the default config, or the show variable will be overwritten when the snackbar is closed.\r\n const defaultConfigCopy = JSON.parse(JSON.stringify(this._defaultConfig));\r\n const snackbarConfig = Object.assign(defaultConfigCopy, config);\r\n \r\n this.context.commit(\"CLEAR_SNACKBAR_CONFIG\");\r\n setTimeout(() => this.context.commit(\"SET_SNACKBAR_CONFIG\", snackbarConfig));\r\n }\r\n\r\n @Action\r\n public close(): void {\r\n this.context.commit(\"CLEAR_SNACKBAR_CONFIG\");\r\n }\r\n\r\n @Mutation\r\n public SET_SNACKBAR_CONFIG(config: SnackbarConfig): void {\r\n this._config = config;\r\n }\r\n\r\n @Mutation\r\n public CLEAR_SNACKBAR_CONFIG(): void {\r\n this._config = { show: false, timeout: -1 } as SnackbarConfig;\r\n }\r\n\r\n public get message(): SnackbarConfig {\r\n return this._config;\r\n }\r\n}\r\n\r\nexport default Snackbar;\r\n","import template from \"./voyage-vessel-event-voyage.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport configEmissionReportFactory from \"App/config-emission-report\";\r\nimport emissionReportVesselEventsClient from \"Clients/emission-report-vessel-events-client\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.configEmissionReport = configEmissionReportFactory.get();\r\n self.vesselEvent = params.vesselEvent;\r\n self.voyageTypes = self.configEmissionReport.voyageTypes;\r\n self.voyage = ko.pureComputed(function() {\r\n var vesselEvent = self.vesselEvent();\r\n return vesselEvent.voyage;\r\n });\r\n\r\n var voyage = self.voyage();\r\n self.inputVoyageName = ko.observable(voyage ? voyage.name : \"\");\r\n self.inputVoyageType = ko.observable(voyage ? voyage.type : \"\");\r\n self.inputIsNonCommercial = ko.observable(voyage ? voyage.isNonCommercial : false);\r\n\r\n self.isEditing = ko.observable(false);\r\n}\r\n\r\nViewModel.prototype.dispose = function() {\r\n};\r\n\r\nViewModel.prototype.startEditing = function(vm, e) {\r\n var $wrapper = $(e.currentTarget).closest(\".edit-wrapper\");\r\n this.isEditing(true);\r\n\r\n var $input = $wrapper.find(\"input[type=text]\");\r\n $input.focus();\r\n $input.select();\r\n};\r\n\r\nViewModel.prototype.cancelEditing = function(vm, e) {\r\n this.isEditing(false);\r\n};\r\n\r\nViewModel.prototype.save = function() {\r\n var self = this;\r\n var vesselEvent = _.clone(self.vesselEvent());\r\n vesselEvent.voyage = vesselEvent.voyage || {};\r\n vesselEvent.voyage.name = self.inputVoyageName();\r\n vesselEvent.voyage.type = self.inputVoyageType();\r\n vesselEvent.voyage.isNonCommercial = self.inputIsNonCommercial();\r\n\r\n emissionReportVesselEventsClient.update(vesselEvent).done(function(updatedVesselEvent) {\r\n self.vesselEvent(updatedVesselEvent);\r\n self.cancelEditing();\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport categoriesClient from \"Clients/vessel-categories-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function (model, accessGroups) {\r\n var self = this;\r\n self.originalAccessGroup = undefined;\r\n self.accessGroups = accessGroups;\r\n self.id = ko.observable();\r\n self.name = ko.observable().extend({\r\n required: true,\r\n validation: {\r\n async: true,\r\n validator: function (val, params, callback) {\r\n if ((self.originalAccessGroup != null) && (stringHelper.equalsIgnoreCase(val, self.originalAccessGroup.name))) {\r\n // Same as \"original name\".\r\n callback(true);\r\n } else {\r\n callback(!self.accessGroups.exists(val));\r\n }\r\n },\r\n message: \"An access group with that name already exists.\",\r\n },\r\n });\r\n self.vessels = ko.observableArray([]);\r\n self.users = ko.observableArray([]);\r\n\r\n self.setModel(model);\r\n\r\n //For accessing validation from the parent component to for example enable/disable \"create/save\" button.\r\n self.errors = ko.validation.group(self);\r\n self.isValid = ko.computed(function () {\r\n return self.errors().length === 0;\r\n });\r\n};\r\n\r\nViewModel.prototype.setModel = function (model) {\r\n var self = this;\r\n self.originalAccessGroup = model;\r\n\r\n if (model) {\r\n // Edit mode\r\n self.id(model.id);\r\n self.name(model.name);\r\n self.vessels(model.vessels);\r\n self.users(model.users);\r\n } else {\r\n // \"New\" mode\r\n self.id(undefined);\r\n self.name(undefined);\r\n self.vessels([]);\r\n self.users([]);\r\n }\r\n};\r\n\r\nViewModel.prototype.getOriginalAccessGroup = function () {\r\n return this.originalAccessGroup;\r\n};\r\n\r\nViewModel.prototype.save = function () {\r\n var self = this;\r\n var accessGroup = _.clone(self.originalAccessGroup) || {};\r\n\r\n accessGroup.name = self.name();\r\n\r\n var promise;\r\n if (accessGroup.id) {\r\n promise = categoriesClient.update(accessGroup);\r\n } else {\r\n promise = categoriesClient.create(accessGroup);\r\n }\r\n promise.done(function (data) {\r\n self.setModel(data);\r\n });\r\n return promise;\r\n};\r\n\r\nViewModel.prototype.delete = function () {\r\n return categoriesClient.delete(this.originalAccessGroup);\r\n};\r\n\r\nexport default ViewModel;","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport vesselCategoriesClient from \"Clients/vessel-categories-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function () {\r\n var self = this;\r\n self.items = ko.observableArray([]);\r\n self.isLoading = ko.observable(false);\r\n self.error = ko.observable();\r\n\r\n self.load();\r\n\r\n self.onCreatedBinding = events.vesselAccessGroupOnCreated.add(function (newItem) {\r\n self.items.push(newItem);\r\n });\r\n\r\n self.onUpdatedBinding = events.vesselAccessGroupOnUpdated.add(function (oldItem, updatedItem) {\r\n self.items.replace(oldItem, updatedItem);\r\n });\r\n\r\n self.onDeletedBinding = events.vesselAccessGroupOnDeleted.add(function (removedItem) {\r\n self.items.remove(function (item) {\r\n return item.id === removedItem.id;\r\n });\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.onCreatedBinding.detach();\r\n this.onUpdatedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.load = function () {\r\n var self = this;\r\n self.error(undefined);\r\n self.items([]);\r\n self.isLoading(true);\r\n\r\n vesselCategoriesClient.getAll()\r\n .done(function (data) {\r\n self.items(data);\r\n })\r\n .fail(function (error) {\r\n console.error(error);\r\n self.error(\"Failed to load list.\");\r\n })\r\n .always(function() {\r\n self.isLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.getList = function () {\r\n return this.items;\r\n};\r\n\r\nViewModel.prototype.isLoading = function () {\r\n return this.isLoading;\r\n};\r\n\r\nViewModel.prototype.exists = function (name) {\r\n var match = _.find(this.items(), function (o) {\r\n return stringHelper.equalsIgnoreCase(name, o.name);\r\n });\r\n return match !== undefined;\r\n};\r\n\r\nexport default ViewModel;\r\n","import template from \"./vessel-access-group.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport AccessGroupVM from \"ViewModels/vessel-access-groups/vesselAccessGroup\";\r\nimport AccessGroupListVM from \"ViewModels/vessel-access-groups/vesselAccessGroupList\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n\r\n self.viewModel = null;\r\n self.error = ko.observable();\r\n self.dialogState = ko.observable(\"\");\r\n self.isEditMode = ko.observable(false);\r\n self.accessGroupList = new AccessGroupListVM();\r\n\r\n self.vesselAccessGroupAddBinding = events.vesselAccessGroupAdd.add(function () {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(null, self.accessGroupList);\r\n self.dialogState(\"ADD\");\r\n });\r\n\r\n self.vesselAccessGroupRenameBinding = events.vesselAccessGroupRename.add(function (accessGroup) {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(accessGroup, self.accessGroupList);\r\n self.dialogState(\"RENAME\");\r\n });\r\n\r\n self.vesselAccessGroupEditBinding = events.vesselAccessGroupEdit.add(function (accessGroup) {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(accessGroup, self.accessGroupList);\r\n self.isEditMode(true);\r\n });\r\n\r\n self.vesselAccessGroupDeleteBinding = events.vesselAccessGroupDelete.add(function (accessGroup) {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(accessGroup, self.accessGroupList);\r\n self.dialogState(\"DELETE\");\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.vesselAccessGroupAddBinding.detach();\r\n this.vesselAccessGroupRenameBinding.detach();\r\n this.vesselAccessGroupEditBinding.detach();\r\n this.vesselAccessGroupDeleteBinding.detach();\r\n};\r\n\r\nViewModel.prototype.closeDialog = function () {\r\n this.dialogState(\"\");\r\n};\r\n\r\nViewModel.prototype.closeEdit = function () {\r\n this.isEditMode(false);\r\n};\r\n\r\nViewModel.prototype.clearError = function () {\r\n this.error(null);\r\n};\r\n\r\nViewModel.prototype.handleError = function (error) {\r\n if (error && error.responseJSON && error.responseJSON.message) {\r\n this.error(error.responseJSON.message);\r\n } else {\r\n this.error(\"An error occurred.\");\r\n }\r\n events.errorEvent.dispatch(error);\r\n};\r\n\r\nViewModel.prototype.createAccessGroup = function () {\r\n var self = this;\r\n self.viewModel.save()\r\n .done(function() {\r\n events.vesselAccessGroupOnCreated.dispatch(self.viewModel.originalAccessGroup);\r\n self.closeDialog();\r\n }).fail(function(error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.renameAccessGroup = function () {\r\n var self = this;\r\n var originalCompany = self.viewModel.originalAccessGroup;\r\n self.viewModel.save()\r\n .done(function (data) {\r\n events.vesselAccessGroupOnUpdated.dispatch(originalCompany, data);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.deleteAccessGroup = function () {\r\n var self = this;\r\n self.viewModel.delete()\r\n .done(function () {\r\n events.vesselAccessGroupOnDeleted.dispatch(self.viewModel.originalAccessGroup);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","// Module\nvar code = \"
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VesselTitle.vue?vue&type=style&index=0&id=f7f08792&scoped=true&lang=scss&\"","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Departed atFrom portVoyage nameCompletedOrigin
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    TimeEvent typeEvent info confirmedDistanceOrigin
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    From date
    To date
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    Summary

    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import template from \"./emission-report.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport moment from \"moment\";\r\nimport configEmissionReportFactory from \"App/config-emission-report\";\r\nimport events from \"App/events\";\r\nimport urlHelper from \"Utilities/url-helper\";\r\nimport dateHelper from \"Utilities/date-helper\";\r\nimport emissionReportClient from \"Clients/emission-report-client\";\r\nimport emissionReportVesselEventsClient from \"Clients/emission-report-vessel-events-client\";\r\nimport logDataClient from \"Clients/log-data-client\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.configEmissionReport = configEmissionReportFactory.get();\r\n self.vessel = self.configEmissionReport.vessel;\r\n self.gpsSpeedLogVariable = self.configEmissionReport.gpsSpeedLogVariable;\r\n self.isLoading = self.configEmissionReport.isLoading;\r\n self.isLoadingGpsSpeedLogVariable = self.configEmissionReport.isLoadingGpsSpeedLogVariable;\r\n\r\n self.isUploading = ko.observable(false);\r\n self.isVesselSettingsVisible = ko.observable(false);\r\n\r\n self.templateErrors = ko.observable();\r\n\r\n self.selectedDeparture = ko.observable();\r\n self.deselectDeparture = function() {\r\n self.selectedDeparture(null);\r\n }.bind(self);\r\n\r\n self.isLoadingVesselEvents = ko.observable(true);\r\n\r\n var now = moment.utc();\r\n var endOfMonth = moment.utc([now.year(), now.month(), 1]).add(1, \"months\");\r\n self.queryDates = ko.observable({\r\n fromDate: endOfMonth.clone().add(-2, \"months\"),\r\n toDate: endOfMonth,\r\n });\r\n\r\n self.inputQueryFromDate = ko.observable(dateHelper.getFormatedDateString(self.queryDates().fromDate));\r\n self.inputQueryToDate = ko.observable(dateHelper.getFormatedDateString(self.queryDates().toDate));\r\n\r\n self.allVesselEvents = ko.observableArray([]);\r\n var loadVesselEvents = function() {\r\n var queryDates = self.queryDates();\r\n\r\n self.isLoadingVesselEvents(true);\r\n emissionReportVesselEventsClient.find(self.configEmissionReport.currentVessel.id).done(self.allVesselEvents).always(function() {\r\n self.isLoadingVesselEvents(false);\r\n });\r\n };\r\n loadVesselEvents();\r\n\r\n self.allSortedVesselEvents = ko.pureComputed(function() {\r\n var allVesselEvents = self.allVesselEvents();\r\n return _.sortBy(allVesselEvents, \"timestamp\");\r\n });\r\n\r\n self.allDepartureVesselEvents = ko.pureComputed(function() {\r\n var allSortedVesselEvents = self.allSortedVesselEvents();\r\n return _.filter(allSortedVesselEvents,\r\n function(vesselEvent) {\r\n return vesselEvent.type === \"Departure\";\r\n });\r\n });\r\n\r\n self.filteredDepartureVesselEvents = ko.pureComputed(function() {\r\n var queryDates = self.queryDates();\r\n var vesselEvents = self.allDepartureVesselEvents();\r\n return _.filter(vesselEvents,\r\n function(vesselEvent) {\r\n var timestamp = moment.utc(vesselEvent.timestamp);\r\n return timestamp >= queryDates.fromDate && timestamp < queryDates.toDate;\r\n });\r\n });\r\n\r\n var getTimelineData = function(queryDates) {\r\n var timelineData = {\r\n data: {},\r\n };\r\n timelineData.data[queryDates.fromDate.valueOf()] = 0;\r\n timelineData.data[queryDates.toDate.valueOf()] = 0;\r\n return timelineData;\r\n };\r\n\r\n self.isLoadingGpsSpeedData = ko.observable(false);\r\n self.gpsSpeedData = ko.observable();\r\n var loadGpsSpeedData = function() {\r\n var queryDates = self.queryDates();\r\n var gpsSpeedLogVariable = self.gpsSpeedLogVariable();\r\n var isLoadingGpsSpeedLogVariable = self.isLoadingGpsSpeedLogVariable();\r\n var isLoadingGpsSpeedData = self.isLoadingGpsSpeedData();\r\n\r\n if (isLoadingGpsSpeedLogVariable || isLoadingGpsSpeedData) return;\r\n\r\n var fromDate = dateHelper.getSubmitDateString(queryDates.fromDate);\r\n var toDate = dateHelper.getSubmitDateString(queryDates.toDate);\r\n\r\n if (gpsSpeedLogVariable) {\r\n self.isLoadingGpsSpeedData(true);\r\n logDataClient.findLogData(gpsSpeedLogVariable.id, fromDate, toDate, \"Hour\", \"UnixEpochMs\")\r\n .done(function(gpsSpeedData) {\r\n if (_.keys(gpsSpeedData.data).length > 0) {\r\n self.gpsSpeedData(gpsSpeedData);\r\n } else {\r\n var timelineData = getTimelineData(queryDates);\r\n self.gpsSpeedData(timelineData);\r\n }\r\n })\r\n .always(function() {\r\n self.isLoadingGpsSpeedData(false);\r\n });\r\n } else {\r\n var timelineData = getTimelineData(queryDates);\r\n self.gpsSpeedData(timelineData);\r\n }\r\n };\r\n\r\n self.vesselSettingsUrl = urlHelper.getVesselSettingsUrl();\r\n self.isGeneralVesselSettingsComplete = ko.pureComputed(function() {\r\n var vessel = self.vessel();\r\n if (!vessel) return false;\r\n\r\n return vessel.vesselTypeId &&\r\n vessel.portOfRegistry &&\r\n vessel.homePort &&\r\n vessel.ownerCompanyName &&\r\n vessel.ownerCompanyAddress &&\r\n vessel.operatorCompanyName &&\r\n vessel.operatorCompanyAddress &&\r\n vessel.emissionsContactPersonName &&\r\n vessel.emissionsContactPersonAddress &&\r\n vessel.emissionsContactPersonPhone &&\r\n vessel.emissionsContactPersonEmail;\r\n });\r\n\r\n self.hasFlowMeterOrFuelTank = ko.pureComputed(function() {\r\n var activeFlowMeters = self.configEmissionReport.activeFlowMeters();\r\n var activeFuelTanks = self.configEmissionReport.activeFuelTanks();\r\n return !(_.isEmpty(activeFlowMeters) && _.isEmpty(activeFuelTanks));\r\n });\r\n\r\n self.hasCargoUnits = ko.pureComputed(function() {\r\n var vessel = self.vessel();\r\n if (!vessel) return false;\r\n\r\n return vessel.cargoUnits.length > 0;\r\n });\r\n\r\n self.isMissingSettings = ko.pureComputed(function() {\r\n var isGeneralVesselSettingsComplete = self.isGeneralVesselSettingsComplete();\r\n var hasFlowMeterOrFuelTank = self.hasFlowMeterOrFuelTank();\r\n var hasCargoUnits = self.hasCargoUnits();\r\n return !isGeneralVesselSettingsComplete || !hasFlowMeterOrFuelTank || !hasCargoUnits;\r\n });\r\n\r\n self.voyageUpdatedBinding = events.voyageUpdated.add(function(updatedVoyage) {\r\n self.voyages.remove(function(voyage) {\r\n return voyage.id === updatedVoyage.id;\r\n });\r\n self.voyages.push(updatedVoyage);\r\n });\r\n\r\n self.vesselEventUpdatedBinding = events.vesselEventUpdated.add(function(updatedVesselEvent) {\r\n var allVesselEvents = self.allVesselEvents();\r\n var oldVesselEvent = _.find(allVesselEvents,\r\n function(vesselEvent) {\r\n return vesselEvent.id === updatedVesselEvent.id;\r\n });\r\n\r\n self.allVesselEvents.replace(oldVesselEvent, updatedVesselEvent);\r\n });\r\n\r\n self.vesselEventCreatedBinding = events.vesselEventCreated.add(function(createdVesselEvent) {\r\n self.allVesselEvents.push(createdVesselEvent);\r\n });\r\n\r\n self.vesselEventDeletedBinding = events.vesselEventDeleted.add(function(deletedVesselEvent) {\r\n self.allVesselEvents.remove(function(voyageVesselEvent) {\r\n return voyageVesselEvent.id === deletedVesselEvent.id;\r\n });\r\n });\r\n\r\n self.isLoadingGpsSpeedLogVariableBinding = self.isLoadingGpsSpeedLogVariable.subscribe(function() {\r\n loadGpsSpeedData();\r\n });\r\n\r\n self.queryDatesBinding = self.queryDates.subscribe(function() {\r\n loadGpsSpeedData();\r\n });\r\n\r\n self.inputQueryFromDateBinding = self.inputQueryFromDate.subscribe(function(newDate) {\r\n var queryDates = self.queryDates();\r\n queryDates.fromDate = dateHelper.getDate(newDate);\r\n self.queryDates(queryDates);\r\n });\r\n\r\n self.inputQueryToDateBinding = self.inputQueryToDate.subscribe(function(newDate) {\r\n var queryDates = self.queryDates();\r\n queryDates.toDate = dateHelper.getDate(newDate);\r\n self.queryDates(queryDates);\r\n });\r\n\r\n self.currentYear = ko.pureComputed(function() {\r\n var queryDates = self.queryDates();\r\n return queryDates.fromDate.year();\r\n });\r\n\r\n self.departureSelectedBinding = events.departureSelected.add(function(departure) {\r\n self.selectedDeparture(departure);\r\n });\r\n\r\n self.showDownloadAnnualEmissionReport = ko.pureComputed(function() {\r\n var vesselEvents = self.allDepartureVesselEvents();\r\n var currentYear = self.currentYear();\r\n var confirmedAnnualDepartureEvents = _.filter(vesselEvents,\r\n function(vesselEvent) {\r\n var timestamp = moment.utc(vesselEvent.timestamp);\r\n return currentYear === timestamp.year() && vesselEvent.voyage && vesselEvent.voyage.dataConfirmedAt;\r\n });\r\n\r\n return confirmedAnnualDepartureEvents.length > 0;\r\n });\r\n}\r\n\r\nViewModel.prototype.uploadVoyageFromTemplate = function () {\r\n var self = this;\r\n self.isUploading(true);\r\n var vesselId = self.configEmissionReport.currentVessel.id;\r\n\r\n var fd = new FormData();\r\n var files = $(\"#voyageUploadFile\")[0].files[0];\r\n fd.append(\"file\", files);\r\n\r\n emissionReportClient.uploadVoyage(vesselId, fd)\r\n .done(function() {\r\n console.log(\"Upload successful\");\r\n })\r\n .always(function() {\r\n self.isUploading(false);\r\n })\r\n .fail(function(response) {\r\n var responseText = response.responseText;\r\n var responseJson = JSON.parse(\"[\" + responseText + \"]\");\r\n self.templateErrors(responseJson);\r\n });\r\n};\r\n\r\nViewModel.prototype.downloadMrvAnnualReport = function () {\r\n var vesselId = this.configEmissionReport.currentVessel.id;\r\n var currentYear = this.currentYear();\r\n return emissionReportClient.mrvYearly(vesselId, currentYear);\r\n};\r\n\r\nViewModel.prototype.downloadImoAnnualReport = function () {\r\n var vesselId = this.configEmissionReport.currentVessel.id;\r\n var currentYear = this.currentYear();\r\n return emissionReportClient.imoYearly(vesselId, currentYear);\r\n};\r\n\r\nViewModel.prototype.toggleSettings = function () {\r\n var isVesselSettingsVisible = this.isVesselSettingsVisible();\r\n\r\n if (isVesselSettingsVisible) {\r\n this.configEmissionReport.load();\r\n }\r\n\r\n this.isVesselSettingsVisible(!isVesselSettingsVisible);\r\n};\r\n\r\nViewModel.prototype.dispose = function() {\r\n this.voyageUpdatedBinding.detach();\r\n this.vesselEventUpdatedBinding.detach();\r\n this.vesselEventCreatedBinding.detach();\r\n this.vesselEventDeletedBinding.detach();\r\n this.departureSelectedBinding.detach();\r\n this.isLoadingGpsSpeedLogVariableBinding.dispose();\r\n this.queryDatesBinding.dispose();\r\n this.inputQueryFromDateBinding.dispose();\r\n this.inputQueryToDateBinding.dispose();\r\n};\r\n\r\nViewModel.prototype.navigatePreviousMonth = function() {\r\n var queryDates = this.queryDates();\r\n queryDates.fromDate = queryDates.fromDate.add(-2, \"months\");\r\n queryDates.toDate = queryDates.toDate.add(-2, \"months\");\r\n this.queryDates(queryDates);\r\n this.inputQueryFromDate(dateHelper.getFormatedDateString(queryDates.fromDate));\r\n this.inputQueryToDate(dateHelper.getFormatedDateString(queryDates.toDate));\r\n};\r\n\r\nViewModel.prototype.navigateNextMonth = function() {\r\n var queryDates = this.queryDates();\r\n queryDates.fromDate = queryDates.fromDate.add(2, \"months\");\r\n queryDates.toDate = queryDates.toDate.add(2, \"months\");\r\n this.queryDates(queryDates);\r\n this.inputQueryFromDate(dateHelper.getFormatedDateString(queryDates.fromDate));\r\n this.inputQueryToDate(dateHelper.getFormatedDateString(queryDates.toDate));\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import net from \"App/net\";\r\nimport events from \"App/events\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(vesselEventId) {\r\n var filter = {\r\n vesselEventId: vesselEventId,\r\n };\r\n\r\n return net.get(\"/VesselEventCargoDetails/Find\", filter);\r\n};\r\n\r\nClient.prototype.create = function(vesselEventCargoDetail) {\r\n return net.post(\"/VesselEventCargoDetails\", vesselEventCargoDetail);\r\n};\r\n\r\nClient.prototype.remove = function(vesselEventCargoDetail) {\r\n return net.del(\"/VesselEventCargoDetails/\" + vesselEventCargoDetail.vesselEventId + \"/\" + vesselEventCargoDetail.cargoUnitId).done(function() {\r\n events.vesselEventCargoDetailDeleted.dispatch(vesselEventCargoDetail);\r\n });\r\n};\r\n\r\nexport default new Client();","// Module\nvar code = \"
    \\r\\n

    Data interval:

    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n Day \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n Hour \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n Quarter \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n Minute \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n Raw \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar NotificationWidgetClient = function () {};\r\n\r\nNotificationWidgetClient.prototype.getAll = function () {\r\n return net.get(\"/NotificationWidgets\");\r\n};\r\n\r\nNotificationWidgetClient.prototype.get = function (notificationWidgetConfigId) {\r\n return net.get(`/NotificationWidgets/${notificationWidgetConfigId}`);\r\n};\r\n\r\nNotificationWidgetClient.prototype.new = function (notificationWidgetConfiguration) {\r\n return net.post(\"/NotificationWidgets\", notificationWidgetConfiguration);\r\n};\r\n\r\nNotificationWidgetClient.prototype.update = function (notificationWidgetConfiguration) {\r\n return net.put(`/NotificationWidgets/${notificationWidgetConfiguration.id}`, notificationWidgetConfiguration);\r\n};\r\n\r\nNotificationWidgetClient.prototype.delete = function (notificationWidgetConfigId) {\r\n return net.del(`/NotificationWidgets/${notificationWidgetConfigId}`);\r\n};\r\n\r\nexport default new NotificationWidgetClient();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport notificationWidgetClient from \"Clients/notification-widget-client\";\r\nimport { NotificationWidgetConfig } from \"@/types/widgetNotification\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"NotificationWidgetConfiguration\" })\r\nclass NotificationWidget extends VuexModule {\r\n private _configsExpired = true;\r\n private _configs: NotificationWidgetConfig[] = [];\r\n\r\n @Action({ rawError: true })\r\n public async addNewConfig(): Promise {\r\n try {\r\n const config = await notificationWidgetClient.new({ vessels: [] });\r\n this.context.commit(\"ADD_WIDGET_CONFIG\", config);\r\n return config;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateConfig(config: NotificationWidgetConfig | undefined): Promise {\r\n if (!config) return;\r\n try {\r\n const updatedConfig = await notificationWidgetClient.update(config);\r\n this.context.commit(\"SET_WIDGET_CONFIG\", updatedConfig);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteWidgetConfig(id: number): Promise {\r\n try {\r\n await notificationWidgetClient.delete(id);\r\n this.context.commit(\"DELETE_WIDGET_CONFIG\", id);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getConfigById(id: number): Promise {\r\n if (this._configsExpired) {\r\n await this.context.dispatch(\"refreshConfigs\");\r\n }\r\n\r\n const config = this._configs.find(config => config.id === id);\r\n\r\n if (config) {\r\n for (let i = 0; i < config.vessels.length; i++) {\r\n const vessel = await this.context.dispatch(\"Vessels/get\", config.vessels[i].id, { root: true });\r\n if (vessel) config.vessels[i] = vessel;\r\n }\r\n\r\n return config;\r\n }\r\n else throw ({ message: \"Could not find config\" });\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshConfigs(): Promise {\r\n try {\r\n const configs: NotificationWidgetConfig[] = await notificationWidgetClient.getAll();\r\n this.context.commit(\"SET_WIDGET_CONFIGS\", configs);\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh widget config\", error });\r\n }\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET_CONFIG(config: NotificationWidgetConfig): void {\r\n this._configs.push(config);\r\n this._configsExpired = true;\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIG(config: NotificationWidgetConfig): void {\r\n const index = this._configs.findIndex(savedConfig => savedConfig.id === config.id);\r\n\r\n if (index >= 0) {\r\n this._configs[index] = config;\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public DELETE_WIDGET_CONFIG(id: number): void {\r\n const index = this._configs.findIndex(config => config.id === id);\r\n\r\n if (index >= 0) {\r\n this._configs.splice(index, 1);\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIGS(configs: NotificationWidgetConfig[]): void {\r\n this._configs = configs;\r\n this._configsExpired = false;\r\n }\r\n}\r\n\r\nexport default NotificationWidget;\r\n","import net from \"App/net\";\r\n\r\nvar EmissionReportClient = function() {\r\n\r\n};\r\n\r\nEmissionReportClient.prototype.generateExcelTemplate = function(data) {\r\n return net.fileDownload(\"/EmissionReport/GenerateExcelTemplate\", \"POST\", data);\r\n};\r\n\r\nEmissionReportClient.prototype.uploadVoyage = function(vesselId, file) {\r\n var url = \"/EmissionReport/Upload/\" + vesselId;\r\n return net.fileUpload(url, file);\r\n};\r\n\r\nEmissionReportClient.prototype.mrvVoyage = function(departureId) {\r\n var url = \"/EmissionReport/MrvVoyage/\" + departureId;\r\n return net.fileDownload(url, \"GET\");\r\n};\r\n\r\nEmissionReportClient.prototype.imoVoyage = function(departureId) {\r\n var url = \"/EmissionReport/ImoVoyage/\" + departureId;\r\n net.fileDownload(url, \"GET\");\r\n};\r\n\r\nEmissionReportClient.prototype.mrvYearly = function(vesselId, year) {\r\n var url = \"/EmissionReport/MrvYearly/\" + vesselId + \"/\" + year;\r\n net.fileDownload(url, \"GET\");\r\n};\r\n\r\nEmissionReportClient.prototype.imoYearly = function(vesselId, year) {\r\n var url = \"/EmissionReport/ImoYearly/\" + vesselId + \"/\" + year;\r\n net.fileDownload(url, \"GET\");\r\n};\r\n\r\nEmissionReportClient.prototype.voyageDnvGl = function(departureId) {\r\n var url = \"/EmissionReport/VoyageDnvGl/\" + departureId;\r\n return net.fileDownload(url, \"GET\");\r\n};\r\n\r\nexport default new EmissionReportClient();","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar LoggingHistoryConfigurationsClient = function() {\r\n \r\n};\r\n\r\nLoggingHistoryConfigurationsClient.prototype.getByVesselId = function(vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n var deferred = $.Deferred();\r\n net.get(\"/LoggingHistoryConfigurations/Find\", filter).done(function (response) {\r\n deferred.resolve(response[0]);\r\n }).fail(function () {\r\n deferred.reject(arguments);\r\n });\r\n return deferred.promise();\r\n};\r\n\r\nLoggingHistoryConfigurationsClient.prototype.update = function(configuration) {\r\n return net.put(\"/LoggingHistoryConfigurations\", configuration);\r\n};\r\n\r\nexport default new LoggingHistoryConfigurationsClient();","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","// Module\nvar code = \"
    \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import template from \"./curves-frame.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport vesselsClient from \"Clients/vessels-client\";\r\nimport Router from \"@/router\";\r\nimport store from \"@/store\";\r\nimport { getModule } from \"vuex-module-decorators\";\r\nimport AuthModule from \"@/store/clients/Auth.module\";\r\nimport UserModule from \"@/store/clients/User.module\";\r\nimport VesselsModule from \"@/store/clients/Vessels.module\";\r\n\r\nconst Auth = getModule(AuthModule, store);\r\nconst User = getModule(UserModule, store);\r\nconst Vessels = getModule(VesselsModule, store);\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n self.vessels = ko.observableArray([]);\r\n self.showCurves = ko.observable(false);\r\n self.loading = ko.observable(false);\r\n self.showAbout = ko.observable(false);\r\n self.showHelp = ko.observable(false);\r\n self.showProfile = ko.observable(false);\r\n self.showExpiredKeyWarning = ko.observable(false);\r\n\r\n vesselsClient.getVessels().done(function(data) {\r\n self.vessels(data);\r\n }).fail(function(response) {\r\n if (response.status === 503) {\r\n self.showExpiredKeyWarning(true);\r\n }\r\n });\r\n\r\n self.sortedVessels = ko.pureComputed(function() {\r\n var vessels = self.vessels();\r\n var sorted = _.sortBy(vessels, function(vessel) {\r\n return vessel.name.toLowerCase();\r\n });\r\n return sorted;\r\n });\r\n\r\n self.userName = ko.pureComputed(function () {\r\n if (!User.getUser()) return \"Username missing\";\r\n return User.userName || \"Username missing\";\r\n });\r\n\r\n self.userEmail = ko.pureComputed(function () {\r\n if (!User.getUser()) return \"Email missing\";\r\n return User.userEmail || \"Email missing\";\r\n });\r\n\r\n self.navigateHome = function() {\r\n self.showCurves(false);\r\n window.history.back();\r\n };\r\n\r\n window.onpopstate = function () {\r\n self.showCurves(false);\r\n };\r\n\r\n self.selectVessel = function(data) {\r\n Vessels.updateCurrentVessel(data);\r\n self.showCurves(true);\r\n window.history.pushState(null, \"\", window.location.href);\r\n };\r\n\r\n self.toggleAbout = function() {\r\n self.showAbout(!self.showAbout());\r\n };\r\n\r\n self.toggleHelp = function() {\r\n self.showHelp(!self.showHelp());\r\n };\r\n self.toggleProfile = function() {\r\n self.showProfile(!self.showProfile());\r\n };\r\n\r\n self.logOut = function() {\r\n Auth.signOut().then(() => {\r\n Router.push(\"/login\");\r\n });\r\n };\r\n}\r\n\r\nViewModel.prototype.dispose = function() {\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import template from \"./vessel-notes.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport vesselsAdminClient from \"Clients/vessels-administrations-client\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n\r\n self.vesselId = params.vesselId;\r\n self.vessel = undefined;\r\n self.notes = ko.observable();\r\n self.error = ko.observable(null);\r\n self.isLoading = ko.observable(false);\r\n self.isSaving = ko.observable(false);\r\n self.loadVesselNotes();\r\n}\r\n\r\nViewModel.prototype.loadVesselNotes = function() {\r\n var self = this;\r\n self.clearError();\r\n\r\n self.isLoading(true);\r\n vesselsAdminClient.get(self.vesselId).done(function(data) {\r\n self.initialize(data);\r\n }).fail(function (data) {\r\n self.setError(\"Failed to load data..\", data);\r\n self.initialize(undefined);\r\n }).always(function() {\r\n self.isLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.saveVesselNotes = function () {\r\n var self = this;\r\n self.clearError();\r\n if (self.notes() !== undefined) {\r\n var vessel = _.clone(self.vessel);\r\n vessel.notes = self.notes();\r\n self.isSaving(true);\r\n vesselsAdminClient.update(vessel).done(function (data) {\r\n self.initialize(data);\r\n }).fail(function (data) {\r\n self.setError(\"Failed to save data..\", data);\r\n }).always(function() {\r\n self.isSaving(false);\r\n });\r\n }\r\n};\r\n\r\nViewModel.prototype.initialize = function (vessel) {\r\n var self = this;\r\n self.vessel = vessel;\r\n if (self.vessel) {\r\n self.notes(self.vessel.notes);\r\n } else {\r\n self.notes(undefined);\r\n }\r\n};\r\n\r\nViewModel.prototype.clearError = function() {\r\n var self = this;\r\n self.error(null);\r\n};\r\n\r\nViewModel.prototype.setError = function (errorText, error) {\r\n var self = this;\r\n self.error(errorText);\r\n console.error(errorText);\r\n console.error(error);\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","// Module\nvar code = \"
    \\r\\n
    \\r\\n Latitude:\\r\\n
    \\r\\n
    \\r\\n \\r\\n °\\r\\n \\r\\n '\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Longitude:\\r\\n
    \\r\\n
    \\r\\n \\r\\n °\\r\\n \\r\\n '\\r\\n \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n Edit\\r\\n Delete\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar FoulingOverviewWidgetClient = function () { };\r\n\r\nFoulingOverviewWidgetClient.prototype.getAll = function () {\r\n return net.get(\"/FoulingOverviewWidget\");\r\n};\r\n\r\nFoulingOverviewWidgetClient.prototype.get = function (foulingOverViewWidgetConfigId) {\r\n return net.get(`/FoulingOverviewWidget/${foulingOverViewWidgetConfigId}`);\r\n};\r\n\r\nFoulingOverviewWidgetClient.prototype.new = function (foulingOverViewWidgetConfigId) {\r\n return net.post(\"/FoulingOverviewWidget\", foulingOverViewWidgetConfigId);\r\n};\r\n\r\nFoulingOverviewWidgetClient.prototype.update = function (foulingOverViewWidgetConfigId) {\r\n return net.put(\"/FoulingOverviewWidget\", foulingOverViewWidgetConfigId);\r\n};\r\n\r\nFoulingOverviewWidgetClient.prototype.delete = function (foulingOverViewWidgetConfigId) {\r\n return net.del(`/FoulingOverviewWidget/${foulingOverViewWidgetConfigId}`);\r\n};\r\n\r\nexport default new FoulingOverviewWidgetClient();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport foulingOverviewWidgetClient from \"Clients/fouling-overview-widget-client\";\r\nimport FoulingClient from \"Clients/fouling-client\";\r\nimport { FoulingOverviewWidgetConfig } from \"@/types/widgetFoulingOverview\";\r\nimport { HullCoating } from \"@/types/HullCoating\";\r\nimport { SpeedLossStatistic } from \"@/types/SpeedLossStatistic\";\r\nimport { FoulingAddedConsumption } from \"@/types/FoulingAddedConsumption\";\r\nimport { FoulingChartConfig } from \"@/types/FoulingChartConfig\";\r\n\r\n@Module({ namespaced: true, name: \"FoulingOverviewWidgetConfiguration\" })\r\nclass FoulingOverviewWidget extends VuexModule {\r\n private _configsExpired = true;\r\n private _configs: FoulingOverviewWidgetConfig[] = [];\r\n private _hullCoatingVessels: Record = [];\r\n private _latestSpeedLossStatisticsForVessels: Record = {};\r\n private _addedFuelConsumptionForVessels: Record = {};\r\n private _foulingConfigs: Record = [];\r\n\r\n public get hullCoatingVessels(): Record {\r\n return this._hullCoatingVessels;\r\n }\r\n\r\n public get latestSpeedLossStatisticsForVessels(): Record {\r\n return this._latestSpeedLossStatisticsForVessels;\r\n }\r\n\r\n public get addedFuelConsumptionForVessels(): Record {\r\n return this._addedFuelConsumptionForVessels;\r\n }\r\n\r\n public get foulingConfigs(): Record {\r\n return this._foulingConfigs;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async addNewConfig(): Promise {\r\n try {\r\n const config = await foulingOverviewWidgetClient.new({ vessels: [] });\r\n this.context.commit(\"ADD_WIDGET_CONFIG\", config);\r\n return config;\r\n } catch (error) {\r\n throw { message: \"Failed to add widget config\", error };\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateConfig(\r\n config: FoulingOverviewWidgetConfig | undefined\r\n ): Promise {\r\n if (!config) return;\r\n try {\r\n const updatedConfig = await foulingOverviewWidgetClient.update(config);\r\n this.context.commit(\"SET_WIDGET_CONFIG\", updatedConfig);\r\n } catch (error) {\r\n throw { message: \"Failed to update widget config\", error };\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteWidgetConfig(id: number): Promise {\r\n try {\r\n await foulingOverviewWidgetClient.delete(id);\r\n this.context.commit(\"DELETE_WIDGET_CONFIG\", id);\r\n } catch (error) {\r\n throw { message: \"Failed to delete widget config\", error };\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getConfigById(id: number): Promise {\r\n if (this._configsExpired) {\r\n await this.context.dispatch(\"refreshConfigs\");\r\n }\r\n\r\n const config = this._configs.find((config) => config.id === id);\r\n\r\n if (config) {\r\n for (let i = 0; i < config.vessels.length; i++) {\r\n const vessel = await this.context.dispatch(\r\n \"Vessels/get\",\r\n config.vessels[i].id,\r\n { root: true }\r\n );\r\n if (vessel) config.vessels[i] = vessel;\r\n }\r\n\r\n return config;\r\n } else throw { message: \"Could not find config\" };\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshConfigs(): Promise {\r\n try {\r\n const configs: FoulingOverviewWidgetConfig[] =\r\n await foulingOverviewWidgetClient.getAll();\r\n this.context.commit(\"SET_WIDGET_CONFIGS\", configs);\r\n } catch (error) {\r\n throw { message: \"Failed to refresh widget config\", error };\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchHullCoatingForVessels(vesselIds: number[]): Promise> {\r\n try {\r\n const result: HullCoating[] = await FoulingClient.hullCoatingVessels(vesselIds);\r\n const data: Record = vesselIds.map((vesselId) => (\r\n {\r\n [vesselId]: result.filter((item) => item.vesselId === vesselId)[0]\r\n })).reduce((acc, val) => ({ ...acc, ...val }), {});\r\n this.context.commit(\"SET_HULL_COATING_FOR_VESSELS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Hull Coatings\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchLatestSpeedLossStatisticsForVessels(vesselIds: number[]): Promise> {\r\n try {\r\n const data: Record = await FoulingClient.getLatestSpeedLossStatistics(vesselIds);\r\n this.context.commit(\"SET_LATEST_SPEED_LOSS_STATISTICS_FOR_VESSELS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Latest Speed Loss Statistics\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchAddedFuelConsumptionForVessels(vesselIds: number[]): Promise> {\r\n try {\r\n const data: Record = await FoulingClient.getAddedFuelConsumptions(vesselIds);\r\n this.context.commit(\"SET_ADDED_FUEL_CONSUMPTION_FOR_VESSELS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Added Fuel Consumption\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchFoulingConfigs(vesselIds: number[]): Promise> {\r\n try {\r\n const data: Record = await FoulingClient.foulingChartConfigs(vesselIds);\r\n this.context.commit(\"SET_FOULING_CONFIGS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch Fouling configurations\", error });\r\n }\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET_CONFIG(config: FoulingOverviewWidgetConfig): void {\r\n this._configs.push(config);\r\n this._configsExpired = true;\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIG(config: FoulingOverviewWidgetConfig): void {\r\n const index = this._configs.findIndex(\r\n (savedConfig) => savedConfig.id === config.id\r\n );\r\n\r\n if (index >= 0) {\r\n this._configs[index] = config;\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public DELETE_WIDGET_CONFIG(id: number): void {\r\n const index = this._configs.findIndex((config) => config.id === id);\r\n\r\n if (index >= 0) {\r\n this._configs.splice(index, 1);\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIGS(configs: FoulingOverviewWidgetConfig[]): void {\r\n this._configs = configs;\r\n this._configsExpired = false;\r\n }\r\n\r\n @Mutation\r\n public SET_HULL_COATING_FOR_VESSELS(data: Record): void {\r\n this._hullCoatingVessels = { ...this._hullCoatingVessels, ...data };\r\n }\r\n\r\n @Mutation\r\n public SET_LATEST_SPEED_LOSS_STATISTICS_FOR_VESSELS(data: Record): void {\r\n this._latestSpeedLossStatisticsForVessels = { ...this._latestSpeedLossStatisticsForVessels, ...data };\r\n }\r\n\r\n @Mutation\r\n public SET_ADDED_FUEL_CONSUMPTION_FOR_VESSELS(data: Record): void {\r\n Object.keys(data).forEach(key => {\r\n const numberKey = Number(key);\r\n this._addedFuelConsumptionForVessels[numberKey] = data[numberKey];\r\n });\r\n }\r\n\r\n @Mutation\r\n public SET_FOULING_CONFIGS(data: Record): void {\r\n this._foulingConfigs = { ...this._foulingConfigs, ...data };\r\n }\r\n}\r\n\r\nexport default FoulingOverviewWidget;\r\n","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    NameShort nameCarbon emission factor
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n

    Add fuel type

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUFJREFUeNpiZMABDmjIGQApByDWB2IFIP4AxBeB+ILDjUcbcOljxGIQyJB6qGG4wAMgngg0eAJeA4GGNUANIxYcAOJAoMEfMAwEGtYPpAoYSAcXgNgRZigT1LAAXIaJ+wf/1V+w4g8Q/8ZhICis58M4TFC6H5f1HDKyzALmlixAzIrHlQHQsGdgAjISoLFIKciHudCfgTogAGagAZUMBCc5Jip5lwE9UqgGWKCpHqcrfz57yvDh1AmiDWQE+ns9LEApBcDEzQjy8kZ8iiQCQxn0F64EYwIAXGAwAU1dAPU2VsAuJc0gYGYBxgTARFgYgkAiEO/Hpurtvt3v/n7+/P3/v7+/8YT1AqDDDqAXDqSWNFgLB/TiKwE5oxMBQOGWiLX4Qiup+4koYBuh4Y+/xEYyWAFqKHq4bQAadAGXPoAAAwAKmmVHfwthPgAAAABJRU5ErkJggg==\"","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.getAll = function() {\r\n return net.get(\"/VesselTypes\");\r\n};\r\n\r\nexport default new Client();","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"@/assets/images/loading.gif\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar CiiWidgetClient = function () {\r\n\r\n};\r\n\r\nCiiWidgetClient.prototype.getAll = function () {\r\n return net.get(\"/CiiWidgetConfigs\");\r\n};\r\n\r\nCiiWidgetClient.prototype.new = function (ciiWidgetConfiguration) {\r\n return net.post(\"/CiiWidgetConfigs\", ciiWidgetConfiguration);\r\n};\r\n\r\nCiiWidgetClient.prototype.update = function (ciiWidgetConfiguration) {\r\n return net.put(`/CiiWidgetConfigs`, ciiWidgetConfiguration);\r\n};\r\n\r\nCiiWidgetClient.prototype.delete = function (ciiWidgetConfigId) {\r\n return net.del(`/CiiWidgetConfigs/${ciiWidgetConfigId}`);\r\n};\r\n\r\nexport default new CiiWidgetClient();","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport ciiWidgetClient from \"Clients/cii-widget-client\";\r\nimport { CiiWidgetConfig } from \"@/types/ciiWidgetConfig\";\r\n\r\n@Module({ namespaced: true, name: \"CiiWidgetConfiguration\" })\r\nclass CiiWidget extends VuexModule {\r\n private _configsExpired = true;\r\n private _configs: CiiWidgetConfig[] = [];\r\n\r\n @Mutation\r\n public SET_EMISSIONS_WIDGET_CONFIGS(ciiWidgetConfigs: CiiWidgetConfig[]): void {\r\n this._configsExpired = false;\r\n this._configs = ciiWidgetConfigs;\r\n }\r\n\r\n @Mutation\r\n public SET_CONFIGS_EXPIRED(value: boolean): void {\r\n this._configsExpired = value;\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET_CONFIG(config: CiiWidgetConfig): void {\r\n this._configs.push(config);\r\n this._configsExpired = true;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshCiiWidgetConfigs(): Promise {\r\n let ciiWidgetConfigs = [];\r\n try {\r\n ciiWidgetConfigs = await ciiWidgetClient.getAll();\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh widget configs\", error });\r\n }\r\n this.context.commit(\"SET_EMISSIONS_WIDGET_CONFIGS\", ciiWidgetConfigs);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getCiiWidgetConfigs(): Promise {\r\n if (!this._configsExpired) {\r\n return this._configs;\r\n } else {\r\n await this.context.dispatch(\"refreshCiiWidgetConfigs\");\r\n return this._configs;\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getCiiWidgetConfigById(ciiWidgetId: number): Promise {\r\n if (this._configsExpired) {\r\n await this.context.dispatch(\"refreshCiiWidgetConfigs\");\r\n }\r\n const config = this._configs.find(config => config.id === ciiWidgetId);\r\n if (config) {\r\n for (let i = 0; i < config.vessels.length; i++) {\r\n const vessel = await this.context.dispatch(\"Vessels/get\", config.vessels[i].id, { root: true });\r\n if (vessel) config.vessels[i] = vessel;\r\n }\r\n\r\n return config;\r\n }\r\n\r\n else throw ({ message: \"Failed to find widget config\" });\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async addNewConfig(): Promise {\r\n try {\r\n const config = await ciiWidgetClient.new({ vessels: [], ytd: true, showTable: true });\r\n this.context.commit(\"ADD_WIDGET_CONFIG\", config);\r\n return config;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async newCiiWidgetConfig(ciiWidgetConfig: CiiWidgetConfig): Promise {\r\n try {\r\n const response = await ciiWidgetClient.new(ciiWidgetConfig);\r\n await this.context.dispatch(\"expireConfig\");\r\n this.context.dispatch(\"refreshCiiWidgetConfigs\");\r\n return response;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add new widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateCiiWidgetConfig(ciiWidgetConfig: CiiWidgetConfig): Promise {\r\n try {\r\n await ciiWidgetClient.update(ciiWidgetConfig);\r\n await this.context.dispatch(\"expireConfig\");\r\n } catch (error) {\r\n throw ({ message: \"Failed to update widget config\", error });\r\n }\r\n this.context.dispatch(\"refreshCiiWidgetConfigs\");\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteCiiWidgetConfig(ciiWidgetConfigId: number): Promise {\r\n try {\r\n await ciiWidgetClient.delete(ciiWidgetConfigId);\r\n await this.context.dispatch(\"expireConfig\");\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget config\", error });\r\n }\r\n this.context.dispatch(\"refreshCiiWidgetConfigs\");\r\n }\r\n\r\n @Action({ rawError: true })\r\n public expireConfig(): void {\r\n this.context.commit(\"SET_CONFIGS_EXPIRED\", true);\r\n }\r\n\r\n get configs(): CiiWidgetConfig[] {\r\n return this._configs;\r\n }\r\n}\r\n\r\nexport default CiiWidget;\r\n","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport curvesClient from \"Clients/curves-client\";\r\nimport store from \"@/store\";\r\nimport { getModule } from \"vuex-module-decorators\";\r\nimport VesselsModule from \"@/store/clients/Vessels.module\";\r\n\r\nconst Vessels = getModule(VesselsModule, store);\r\n\r\nvar ViewModel = function(curve) {\r\n var self = this;\r\n self.curve = ko.observable(curve);\r\n self.name = ko.pureComputed(function() {\r\n var curve = self.curve();\r\n if (!curve) return \"\";\r\n return curve.name;\r\n });\r\n};\r\n\r\nViewModel.prototype.save = function(newCurve) {\r\n var self = this;\r\n var originalCurve = _.clone(self.curve()) || {};\r\n var curve = _.extend(originalCurve, newCurve);\r\n\r\n var promise;\r\n if (curve.id) {\r\n promise = curvesClient.update(curve);\r\n } else {\r\n curve.vesselId = Vessels.currentVessel.id;\r\n promise = curvesClient.create(curve);\r\n }\r\n promise.done(function(data) {\r\n self.curve(data);\r\n });\r\n return promise;\r\n};\r\n\r\nViewModel.prototype.remove = function() {\r\n return curvesClient.remove(this.curve());\r\n};\r\n\r\nexport default ViewModel;","// Module\nvar code = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// override Leaflet implementation for fast symbol rendering\r\n(function () {\r\n\t'use strict';\r\n\r\n\tvar proto = L.Canvas.prototype;\r\n\tvar prev = proto._updateCircle;\r\n\r\n\tproto._updateCircle = function (layer) {\r\n\t\t// only circleMARKER, not the standard circle\r\n\t\tif (layer instanceof L.Circle)\r\n\t\t\treturn prev.call(this, layer);\r\n\r\n\t\tif (!this._drawing || layer._empty()) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar p = layer._point,\r\n\t\t ctx = this._ctx,\r\n\t\t r = Math.max(Math.round(layer._radius), 1),\r\n\t\t s = (Math.max(Math.round(layer._radiusY), 1) || r) / r;\r\n\t\t\r\n\t\tvar options = layer.options;\r\n\r\n\t\tvar scale = Math.pow(2, this._map.getZoom()) * 256 / Math.PI / 6378137;\r\n\t\tscale = Math.pow(scale, options.boostExp) * options.boostScale;\r\n\t\tr = r * scale;\r\n\r\n\t\tif(!options.boostType) {\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(p.x, p.y, r, 0, Math.PI * 2, false);\r\n\t\t\tthis._fillStroke(ctx, layer);\r\n\t\t}\r\n\t\telse switch (options.boostType) {\r\n\t\t\tcase 'ball':\r\n\t\t\t\tif (options.fill) {\r\n\t\t\t\t\tif(options.stroke && options.weight !== 0)\r\n\t\t\t\t\t\tr = r + options.weight * 0.5 * scale;\r\n\t\t\t\t\tvar grd = ctx.createRadialGradient(p.x - r/2, p.y - r/2, 0, p.x, p.y, 1.5 * r);\r\n\t\t\t\t\tgrd.addColorStop(0, options.fillColor);\r\n\t\t\t\t\tgrd.addColorStop(1, options.color);\r\n\t\t\t\t\tctx.beginPath();\r\n\t\t\t\t\tctx.fillStyle = grd;\r\n\t\t\t\t\tctx.arc(p.x, p.y, r, 0, Math.PI * 2, false);\r\n\t\t\t\t\tctx.fill(options.fillRule || 'evenodd');\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'balloon':\r\n\t\t\t\tif (options.fill) {\r\n\t\t\t\t\tif(options.stroke && options.weight !== 0)\r\n\t\t\t\t\t\tr = r + options.weight * 0.5 * scale;\r\n\t\t\t\t\tvar grd = ctx.createRadialGradient(p.x - r/2, p.y - r/2 - 2*r, 0, p.x, p.y - 2*r, 2.5 * r);\r\n\t\t\t\t\tgrd.addColorStop(0, options.fillColor);\r\n\t\t\t\t\tgrd.addColorStop(1, options.color);\r\n\t\t\t\t\tctx.beginPath();\r\n\t\t\t\t\tctx.fillStyle = grd;\r\n\t\t\t\t\tctx.moveTo(p.x, p.y);\r\n\t\t\t\t\tctx.lineTo(p.x - r, p.y-2*r);\r\n\t\t\t\t\tctx.lineTo(p.x + r, p.y-2*r);\r\n\t\t\t\t\tctx.lineTo(p.x, p.y);\r\n\t\t\t\t\tctx.arc(p.x, p.y - 2*r, r, 0, Math.PI * 2, false);\r\n\t\t\t\t\tctx.closePath();\r\n\t\t\t\t\tctx.fill(options.fillRule = 'nonzero');\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tif (options.stroke && options.weight !== 0) {\r\n\t\t\t\t\tctx.beginPath();\r\n\t\t\t\t\tctx.arc(p.x, p.y, r + options.weight * 0.5 * scale, 0, Math.PI * 2, false);\r\n\t\t\t\t\tctx.fillStyle = options.color;\r\n\t\t\t\t\tctx.fill(options.fillRule || 'evenodd');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (options.fill) {\r\n\t\t\t\t\tctx.beginPath();\r\n\t\t\t\t\tctx.arc(p.x, p.y, r - ((options.stroke && options.weight !== 0) ? options.weight * 0.5 * scale : 0), 0, Math.PI * 2, false);\r\n\t\t\t\t\tctx.fillStyle = options.fillColor || options.color;\r\n\t\t\t\t\tctx.fill(options.fillRule || 'evenodd');\r\n\t\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar xproto = L.CircleMarker.prototype;\r\n\tvar xprev = xproto._containsPoint;\r\n\r\n\txproto._containsPoint = function (p) {\r\n\t\tif (this instanceof L.Circle)\r\n\t\t\treturn xprev.call(this, p);\r\n\r\n\t\tvar r = this._radius;\r\n\t\t\r\n\t\tvar options = this.options;\r\n\t\t\r\n\t\tvar scale = Math.pow(2, this._map.getZoom()) * 256 / Math.PI / 6378137;\r\n\t\tscale = Math.pow(scale, options.boostExp) * options.boostScale;\r\n\t\tr = r * scale;\r\n\t\tr = r + (this.options.stroke ? this.options.weight * scale / 2 : 0);\r\n\r\n\t\tif(options.boostType === 'balloon')\r\n\t\t\tp = new L.Point(p.x, p.y + 2 * r);\r\n\r\n\t\treturn p.distanceTo(this._point) <= r + this._clickTolerance();\t\t\r\n\t\t// clickTolerance only for mobile! (seems to be fixed with LL1.4)\r\n\t\t// return p.distanceTo(this._point) <= r + ((L.Browser.touch && L.Browser.mobile) ? 10 : 0);\r\n\t};\r\n\r\n\tvar cproto = L.Layer.prototype;\r\n\tvar cprev = cproto._openPopup;\r\n\tcproto._openPopup = function (e) {\r\n\t\tvar layer = e.layer || e.target;\r\n\r\n\t\tif (!(layer instanceof L.CircleMarker) || (layer instanceof L.Circle))\r\n\t\t\treturn cprev.call(this, e);\r\n\r\n\t\tif (!this._popup || !this._map) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// prevent map click\r\n\t\tL.DomEvent.stop(e);\r\n\r\n\t\tconst target = e.layer || e.target;\r\n\t\tif (this._popup._source === target) {\r\n\t\t\t// treat it like a marker and figure out\r\n\t\t\t// if we should toggle it open/closed\r\n\t\t\tif (this._map.hasLayer(this._popup)) {\r\n\t\t\t\tthis.closePopup();\r\n\t\t\t} else {\r\n\t\t\t\tthis.openPopup(e.latlng);\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis._popup._source = target;\r\n\t\tthis.openPopup(e.latlng);\r\n\t};\r\n\r\n\tvar pproto = L.Popup.prototype;\r\n\tvar p_getAnchor = pproto._getAnchor;\r\n\tpproto._getAnchor = function () {\r\n\t\tif (!(this._source instanceof L.CircleMarker) || this._source instanceof L.Circle) \r\n\t\t\treturn p_getAnchor.call(this);\r\n\r\n\t\tvar r = this._source._radius;\r\n\r\n\t\tvar options = this._source.options;\r\n\r\n\t\tvar zoomScale;\r\n\t\tvar scale = Math.pow(2, this._map.getZoom()) * 256 / Math.PI / 6378137;\r\n\t\tscale = Math.pow(scale, options.boostExp) * options.boostScale;\r\n\r\n\t\tif(options.boostType === 'balloon')\r\n\t\t\tr = 2.5 * r * scale;\r\n\t\telse\r\n\t\t\tr = 0.5 * r * scale;\r\n\r\n\t\t// Where should we anchor the popup on the source layer?\r\n\t\treturn L.point(this._source && this._source._getPopupAnchor ? this._source._getPopupAnchor() : [0, -r]);\r\n\t};\r\n})();","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n Company\\r\\n \\r\\n \\r\\n \\r\\n Created\\r\\n \\r\\n \\r\\n \\r\\n Vessels\\r\\n \\r\\n \\r\\n \\r\\n Subscription status\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n LOADING...\\r\\n \\r\\n \\r\\n No companies exists\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n View\\r\\n Edit\\r\\n View as company \\r\\n \\r\\n Delete\\r\\n \\r\\n
    \\r\\nAdd new company\";\n// Exports\nmodule.exports = code;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=e90b9228&lang=scss&scoped=true&\"","import ko from \"knockout\";\r\nimport vesselsAdministrationsClient from \"Clients/vessels-administrations-client\";\r\nimport logVariablesClient from \"Clients/log-variables-client\";\r\nimport cargoUnitsClient from \"Clients/cargo-units-client\";\r\nimport fuelTypesClient from \"Clients/fuel-types-client\";\r\nimport fuelTanksClient from \"Clients/fuel-tanks-client\";\r\nimport flowMetersClient from \"Clients/flow-meters-client\";\r\nimport _ from \"underscore\";\r\n\r\nimport Store from \"@/store\";\r\n\r\nfunction toIdMap(arrayOfObjectsWithId) {\r\n var map = {};\r\n _.each(arrayOfObjectsWithId,\r\n function(item) {\r\n map[item.id] = item;\r\n });\r\n return map;\r\n}\r\n\r\nvar ConfigEmissionReport = function() {\r\n var self = this;\r\n self.baseUrl = process.env.VUE_APP_BASE_URL;\r\n self.apiBaseUrl = process.env.VUE_APP_API_BASE_URL;\r\n self.currentVessel = Store.getters[\"Vessels/currentVessel\"];\r\n\r\n self.voyageTypes = [\"Laden\", \"Ballast\"];\r\n self.vessel = ko.observable();\r\n self.gpsSpeedLogVariable = ko.observable();\r\n self.flowMetersMap = ko.observable();\r\n self.fuelTanksMap = ko.observable();\r\n self.fuelTypesMap = ko.observable();\r\n self.cargoUnitsMap = ko.observable();\r\n\r\n self.isLoadingVessel = ko.observable(true);\r\n self.isLoadingGpsSpeedLogVariable = ko.observable(true);\r\n self.isLoadingCargoUnits = ko.observable(true);\r\n self.isLoadingFlowMeters = ko.observable(true);\r\n self.isLoadingFuelTanks = ko.observable(true);\r\n self.isLoadingFuelTypes = ko.observable(true);\r\n\r\n self.activeFlowMeters = ko.pureComputed(function() {\r\n var flowMetersMap = self.flowMetersMap();\r\n return _.filter(flowMetersMap, function(flowMeter) {\r\n return !flowMeter.isDeactivated;\r\n });\r\n });\r\n\r\n self.activeFuelTanks = ko.pureComputed(function() {\r\n var fuelTanksMap = self.fuelTanksMap();\r\n return _.filter(fuelTanksMap, function(fuelTank) {\r\n return !fuelTank.isDeactivated;\r\n });\r\n });\r\n\r\n self.activeFuelTypes = ko.pureComputed(function() {\r\n var fuelTypesMap = self.fuelTypesMap();\r\n return _.filter(fuelTypesMap, function(fuelType) {\r\n return !fuelType.isDeactivated;\r\n });\r\n });\r\n\r\n self.isLoading = ko.pureComputed(function() {\r\n var isLoadingVessel = self.isLoadingVessel();\r\n var isLoadingGpsSpeedLogVariable = self.isLoadingGpsSpeedLogVariable();\r\n var isLoadingCargoUnits = self.isLoadingCargoUnits();\r\n var isLoadingFlowMeters = self.isLoadingFlowMeters();\r\n var isLoadingFuelTanks = self.isLoadingFuelTanks();\r\n var isLoadingFuelTypes = self.isLoadingFuelTypes();\r\n\r\n return isLoadingVessel ||\r\n isLoadingGpsSpeedLogVariable ||\r\n isLoadingCargoUnits ||\r\n isLoadingFlowMeters ||\r\n isLoadingFuelTanks ||\r\n isLoadingFuelTypes;\r\n });\r\n\r\n self.load();\r\n};\r\n\r\nConfigEmissionReport.prototype.load = function() {\r\n this.loadVessel();\r\n this.loadGpsSpeedLogVariable();\r\n this.loadFlowMeters();\r\n this.loadFuelTanks();\r\n this.loadCargoUnits();\r\n this.loadFuelTypes();\r\n};\r\n\r\nConfigEmissionReport.prototype.loadVessel = function() {\r\n var self = this;\r\n self.isLoadingVessel(true);\r\n\r\n vesselsAdministrationsClient.get(self.currentVessel.id)\r\n .done(self.vessel)\r\n .always(function() {\r\n self.isLoadingVessel(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadGpsSpeedLogVariable = function () {\r\n var self = this;\r\n self.isLoadingGpsSpeedLogVariable(true);\r\n logVariablesClient.findGpsSpeedVariable(self.currentVessel.id)\r\n .done(self.gpsSpeedLogVariable)\r\n .always(function () {\r\n self.isLoadingGpsSpeedLogVariable(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadFlowMeters = function() {\r\n var self = this;\r\n self.isLoadingFlowMeters(true);\r\n flowMetersClient.find(self.currentVessel.id)\r\n .done(function(data) {\r\n self.flowMetersMap(toIdMap(data));\r\n })\r\n .always(function() {\r\n self.isLoadingFlowMeters(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadFuelTanks = function() {\r\n var self = this;\r\n self.isLoadingFuelTanks(true);\r\n fuelTanksClient.find(self.currentVessel.id)\r\n .done(function(data) {\r\n self.fuelTanksMap(toIdMap(data));\r\n })\r\n .always(function() {\r\n self.isLoadingFuelTanks(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadCargoUnits = function() {\r\n var self = this;\r\n self.isLoadingCargoUnits(true);\r\n cargoUnitsClient.getAll()\r\n .done(function(data) {\r\n self.cargoUnitsMap(toIdMap(data));\r\n })\r\n .always(function() {\r\n self.isLoadingCargoUnits(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadFuelTypes = function() {\r\n var self = this;\r\n self.isLoadingFuelTypes(true);\r\n fuelTypesClient.getAll()\r\n .done(function(data) {\r\n self.fuelTypesMap(toIdMap(data));\r\n })\r\n .always(function() {\r\n self.isLoadingFuelTypes(false);\r\n });\r\n};\r\n\r\nvar configEmissionReportInstance = null;\r\nexport default {\r\n get: function() {\r\n if (!configEmissionReportInstance) {\r\n configEmissionReportInstance = new ConfigEmissionReport();\r\n }\r\n return configEmissionReportInstance;\r\n },\r\n};\r\n","var map = {\n\t\"./info-ikon.png\": \"226e\",\n\t\"./office-ikon.png\": \"dd54\",\n\t\"./trend-ikon.png\": \"92c6\",\n\t\"./vessel-ikon.png\": \"e69d\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"6e63\";","module.exports = __webpack_public_path__ + \"img/fleet-insights-white-text_orange-logo.0c2bdb83.svg\";","import net from \"App/net\";\r\n\r\nvar ISO19030Client = function() {};\r\n\r\n// Events\r\nISO19030Client.prototype.All = function() {\r\n return net.get(\"/Iso19030Events\");\r\n};\r\n\r\nISO19030Client.prototype.AllByVesselId = function(vesselId) {\r\n return net.get(`/Iso19030Events/Vessel/${vesselId}`);\r\n};\r\n\r\nISO19030Client.prototype.EventById = function(eventId) {\r\n return net.get(`/Iso19030Events/${eventId}`);\r\n};\r\n\r\nISO19030Client.prototype.CreateEvent = function(eventModel) {\r\n return net.post(\"/Iso19030Events\", eventModel);\r\n};\r\n\r\nISO19030Client.prototype.UpdateEvent = function(eventModel) {\r\n return net.patch(`/Iso19030Events/${eventModel.id}`, eventModel);\r\n};\r\n\r\nISO19030Client.prototype.DeleteEvent = function(eventId) {\r\n return net.del(`/Iso19030Events/${eventId}`);\r\n};\r\n// PerformanceIndicators\r\nISO19030Client.prototype.PerformanceIndicators = function(vesselId) {\r\n return net.get(`/Iso19030PerformanceIndicators/${vesselId}`);\r\n};\r\n\r\nexport default new ISO19030Client();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { ISO19030Event } from \"@/types/ISO19030Event\";\r\nimport { PerformanceIndicatorPeriod } from \"@/types/PerformanceIndicatorPeriod\";\r\nimport ISO19030Client from \"Clients/ISO19030-client\";\r\n\r\n@Module({ namespaced: true, name: \"ISO19030\" })\r\nclass ISO19030 extends VuexModule {\r\n private _events: ISO19030Event[] = [];\r\n private _performanceIndicators: PerformanceIndicatorPeriod[] = [];\r\n\r\n get events(): ISO19030Event[] {\r\n return this._events;\r\n }\r\n\r\n get eventsByVesselId() {\r\n return (vesselId: number): ISO19030Event[] => {\r\n return this._events.filter(event => event.vesselId === vesselId);\r\n };\r\n }\r\n\r\n get performanceIndicators(): PerformanceIndicatorPeriod[] {\r\n return this._performanceIndicators;\r\n }\r\n\r\n // Events < >\r\n @Action({ rawError: true })\r\n public async fetchEvents(): Promise {\r\n try {\r\n const response = await ISO19030Client.All();\r\n this.context.commit(\"SET_ISO19030_EVENTS\", response);\r\n return response;\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject(`Failed to fetch ISO19030 events: ${err}`);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async createEvent(event: Partial): Promise {\r\n try {\r\n await ISO19030Client.CreateEvent(event);\r\n await this.context.dispatch(\"fetchEvents\");\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject(`Failed to create event: ${err}`);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateEvent(event: ISO19030Event): Promise {\r\n try {\r\n await ISO19030Client.UpdateEvent(event);\r\n await this.context.dispatch(\"fetchEvents\");\r\n } catch (err) {\r\n console.warn(err);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteEvent(eventId: number): Promise {\r\n try {\r\n await ISO19030Client.DeleteEvent(eventId);\r\n await this.context.dispatch(\"fetchEvents\");\r\n } catch (err) {\r\n console.warn(err);\r\n }\r\n }\r\n // Events \r\n\r\n // PerformanceIndicators < >\r\n @Action({ rawError: true })\r\n public async fetchPerformanceIndicators(vesselId: number | string): Promise {\r\n try {\r\n const response = await ISO19030Client.PerformanceIndicators(vesselId);\r\n this.context.commit(\"SET_ISO19030_PERFORMANCE_INDICATORS\", response);\r\n return response;\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject(`Failed to fetch ISO19030 performance indicators: ${err}`);\r\n }\r\n }\r\n // PerformanceIndicators \r\n\r\n @Mutation\r\n public SET_ISO19030_EVENTS(response: ISO19030Event[]): void {\r\n this._events = response;\r\n }\r\n\r\n @Mutation\r\n public SET_ISO19030_PERFORMANCE_INDICATORS(response: PerformanceIndicatorPeriod[]): void {\r\n this._performanceIndicators = response;\r\n }\r\n}\r\n\r\nexport default ISO19030;\r\n","// See: http://www.jacklmoore.com/notes/rounding-in-javascript/\r\nfunction round(value, decimals) {\r\n return Number(Math.round(value + \"e\" + decimals) + \"e-\" + decimals);\r\n}\r\n\r\nfunction parseLocaleNumber(stringNumber, locale) {\r\n if (!stringNumber) return 0;\r\n const thousandSeparator = Intl.NumberFormat(locale).formatToParts(11111)[1].value;\r\n const decimalSeparator = Intl.NumberFormat(locale).formatToParts(1.1)[1].value;\r\n\r\n return parseFloat(stringNumber\r\n .replace(new RegExp(\"\\\\\" + thousandSeparator, \"g\"), \"\")\r\n .replace(new RegExp(\"\\\\\" + decimalSeparator), \".\"),\r\n );\r\n}\r\n\r\nfunction numericFilter(event) {\r\n event = event ? event : window.event;\r\n const expect = event.target.value.toString() + event.key.toString();\r\n return !/^\\d*\\.?\\d*$/.test(expect) ? event.preventDefault() : false;\r\n}\r\n\r\nfunction numericWithNegativeFilter(event) {\r\n event = event ? event : window.event;\r\n const expect = event.target.value.toString() + event.key.toString();\r\n return !/^\\d?\\-?\\d*[.,]?\\d*$/.test(expect) ? event.preventDefault() : false;\r\n}\r\n\r\nexport default {\r\n round: function (value, decimals) {\r\n return round(value, decimals);\r\n },\r\n parseLocaleNumber: parseLocaleNumber,\r\n numericWithNegativeFilter: function (event) {\r\n return numericWithNegativeFilter(event);\r\n },\r\n numericFilter: numericFilter,\r\n};\r\n","module.exports = __webpack_public_path__ + \"img/table-widget-illustration-1.8c4b19bb.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAcCAMAAACAobU3AAAAkFBMVEUAAACVlZKSko/CwsGQkI6SkpCGhoPS0tHKysmQkI2SkpCRkY6GhoPNzcyvr62NjYqoqKabm5iZmZeRkY6RkY+Sko+Sko+SkpCPj42Li4iIiIWGhoOGhoOGhoP///+GhoPw8PD7+/v5+fmsrKqQkI7z8/OMjInX19aNjYro6Ofj4+Pe3t3V1dTLy8qxsa+IiIWMEjxCAAAAHnRSTlMA7u/+56Ad/v7tuIYo/fX19PPw2ta7l5V1TjIVEQgGzgzGAAAAj0lEQVQY073OVw7CMBRE0eeSSui9TdzihL7/3WErQUIsgPt15m8odC6nIxpaCz0bxm4C6Pk+MuUGgCpOwWULYw3yhKhaAM+XhWYpJXfcfO1bZBuSGs67roORxIFGKdUAnBg+sV8La63oreqY+ru1C3Q6OH5+iFzFz6sr+i5LqoqxCdIZPxAdt5IzJpOUvnsDKg0aV8h9B18AAAAASUVORK5CYII=\"","// Module\nvar code = \"
    \\r\\n
      \\r\\n
    • Unassigned vessels
    • \\r\\n
    • Assigned vessels
    • \\r\\n
    • Archived vessels
    • \\r\\n
    • Add vessel
    • \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManageDashboardsDialog.vue?vue&type=style&index=0&id=696cc72e&scoped=true&lang=scss&\"","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n

    Expiration date:

    \\r\\n \\r\\n View key\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    You do not have permission to view this key.

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n Edit key\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n

    Feature not available

    \\r\\n

    \\r\\n We're sorry, the module is not activated for .
    \\r\\n More information about the module is available on www.danelec.com.\\r\\n

    \\r\\n
    Please contact sales@danelec.com for a quotation to activate.
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n Please provide the following information in order to use the emission report module:\\r\\n

      \\r\\n
    • \\r\\n General information about the vessel.\\r\\n
    • \\r\\n
    • \\r\\n Flow meters and/or fuel tanks covering all fuel consumers.\\r\\n
    • \\r\\n
    • \\r\\n Which cargo unit(s) the vessel is typically carrying.\\r\\n
    • \\r\\n
    \\r\\n

    \\r\\n

    \\r\\n This information can be provided under Settings.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    \\r\\n The emission report will be available for download after at least one voyage has been confirmed and completed. Please select a departure to get started.\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n MRV report\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n IMO report\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Upload from template:

    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Sorry, there was an error processing your template:\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n Please review and try again.\\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import template from \"./vessel-admin.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport vesselsAdministrationsClient from \"Clients/vessels-administrations-client\";\r\nimport companiesClient from \"Clients/companies-client\";\r\nimport Vessel from \"ViewModels/vesselsAdministration/vessel\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n\r\n self.editVessel = ko.observable();\r\n self.previousMenuItem = ko.observable();\r\n self.menuItem = ko.observable(\"unassignedVessels\");\r\n self.isUnasssignedVesselsLoading = ko.observable(true);\r\n self.isCompaniesLoading = ko.observable(true);\r\n self.isLoadError = ko.observable(false);\r\n self.unassignedVessels = ko.observableArray([]);\r\n self.assignedVessels = ko.observableArray([]);\r\n self.archivedVessels = ko.observableArray([]);\r\n self.companies = ko.observableArray([]);\r\n\r\n self.getVessels();\r\n self.getCompanies();\r\n\r\n self.vessels = ko.pureComputed(function () {\r\n var menuItem = self.menuItem();\r\n if (menuItem === \"assignedVessels\") {\r\n return self.assignedVessels();\r\n } else if (menuItem === \"archivedVessels\") {\r\n return self.archivedVessels();\r\n }\r\n return self.unassignedVessels();\r\n });\r\n\r\n self.visibleView = ko.pureComputed(function () {\r\n return self.menuItem();\r\n });\r\n\r\n self.arraySortedEvent = events.vesselArraySorted.add(function(array) {\r\n var menuItem = self.menuItem();\r\n if (menuItem === \"assignedVessels\") {\r\n self.assignedVessels(array);\r\n } else if (menuItem === \"archivedVessels\") {\r\n self.archivedVessels(array);\r\n } else {\r\n self.unassignedVessels(array);\r\n }\r\n });\r\n\r\n self.menuItemClickEvent = events.menuItemClick.add(function (menuItem, previousMenuItem, vessel) {\r\n self.menuItem(menuItem);\r\n self.previousMenuItem(previousMenuItem);\r\n if (vessel) {\r\n self.editVessel(vessel);\r\n } else {\r\n self.editVessel(new Vessel());\r\n }\r\n\r\n if (menuItem === \"editVessel\") {\r\n events.findDataReceiver.dispatch();\r\n }\r\n\r\n if (previousMenuItem === \"editVessel\") {\r\n self.getVessels();\r\n }\r\n });\r\n\r\n self.vesselUpdatedEvent = events.vesselAdministrationUpdated.add(function(updateType) {\r\n self.getVessels();\r\n\r\n if (updateType === \"editVessel\" && self.menuItem() === \"editVessel\") {\r\n events.menuItemClick.dispatch(self.previousMenuItem(), self.menuItem());\r\n }\r\n });\r\n\r\n self.vesselDeletedEvent = events.vesselDeleted.add(function() {\r\n self.getVessels();\r\n });\r\n}\r\n\r\nViewModel.prototype.getVessels = function () {\r\n var self = this;\r\n vesselsAdministrationsClient.getVessels().done(function (data) {\r\n self.mapVessels(data);\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isUnasssignedVesselsLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.mapVessels = function(vessels) {\r\n var self = this;\r\n var unassignedVessels = [];\r\n var assignedVessels = [];\r\n var archivedVessels = [];\r\n _.each(vessels, function (vessel) {\r\n var activeStatus = vessel.activeStatus;\r\n if (activeStatus === \"Unassigned\") {\r\n unassignedVessels.push(new Vessel(vessel, self.companies()));\r\n } else if (activeStatus === \"Active\" || activeStatus === \"Assigned\") {\r\n assignedVessels.push(new Vessel(vessel, self.companies()));\r\n } else if (activeStatus === \"Archived\") {\r\n archivedVessels.push(new Vessel(vessel, self.companies()));\r\n }\r\n });\r\n\r\n self.unassignedVessels(unassignedVessels);\r\n self.assignedVessels(assignedVessels);\r\n self.archivedVessels(archivedVessels);\r\n};\r\n\r\nViewModel.prototype.getCompanies = function () {\r\n var self = this;\r\n companiesClient.getAll().done(function (data) {\r\n self.companies(data);\r\n }).fail(function() {\r\n self.isLoadError(true);\r\n }).always(function() {\r\n self.isCompaniesLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.menuItemClickEvent.detach();\r\n this.vesselUpdatedEvent.detach();\r\n this.vesselDeletedEvent.detach();\r\n this.arraySortedEvent.detach();\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAASlJREFUeNpiZMAB5IOrFYBUABDbA7EAktQDIN74cG3rBmz6GLEYBNLcD8QJDPgByOBCdIMZ0QwzAFL70VxECCwAGpoI4zBTaBgIGAho2Sl8vH54I4jDhCQxnwzDYCAB6KAAuIFADii8DEgxYUVjMsODNS1gbKGtCHMQ3IX5DJQDAZDDWKDJA6/rQK4AgRNX7zNE1M/Fp9Qf5EIFBuoBBRQDQWEBC5eCMCdyDDRggiZQaoEPTAzUBReYgKn8ADUNZISmw/XQgoBSYAjz8kQqGHYA6NsLYAOh3p5ASWQAcSJK4QDM3DuBmRyUwDXIMDATFhfMyKJAQ1cCDQUVEBYkuMwTuUxkRlcBdelBaIJXwGNQJxBHAg27gbfExlJ6g4LBAcmgC/iSGkCAAQBEE2FI+Jo9YwAAAABJRU5ErkJggg==\"","// Module\nvar code = \"\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n Please select at least 1 item.
    \\r\\n There was an error when trying to update the configuration.\\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n

    Vessels already in access group

    \\r\\n

    Add or remove vessels from this access group.

    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    Vessel name
    \\r\\n No vessels in access group\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n

    Available vessels

    \\r\\n

    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Vessel name
    \\r\\n \\r\\n LOADING...\\r\\n \\r\\n \\r\\n No available vessels\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n

    Users already in access group

    \\r\\n

    Add or remove users from this access group.

    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    User name
    No users in access group
    \\r\\n \\r\\n
    \\r\\n\\r\\n

    Available Users

    \\r\\n

    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    User name
    \\r\\n \\r\\n LOADING...\\r\\n \\r\\n \\r\\n No available users\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Error

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { UserProfile } from \"@/types/userProfile\";\r\nimport usersClient from \"Clients/users-client\";\r\nimport store from \"@/store/index\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"Users\" })\r\nclass Users extends VuexModule {\r\n private _usersExpired = true;\r\n private _users: UserProfile[] = [];\r\n private _onlineUsers: UserProfile[] = [];\r\n\r\n @Mutation\r\n public REFRESH_USERS(users: UserProfile[]): void {\r\n this._usersExpired = false;\r\n this._users = users;\r\n }\r\n\r\n @Mutation\r\n public REFRESH_ONLINE_USERS(onlineUsers: UserProfile[]): void {\r\n this._onlineUsers = onlineUsers;\r\n }\r\n\r\n @Mutation\r\n public EXPIRE_DATA(): void {\r\n this._usersExpired = true;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshUsers(): Promise {\r\n let data = [];\r\n try {\r\n data = await usersClient.getAll();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n this.context.commit(\"REFRESH_USERS\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshOnlineUsers(): Promise {\r\n let data = [];\r\n try {\r\n data = await usersClient.getOnlineUsers();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n this.context.commit(\"REFRESH_ONLINE_USERS\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getAll(): Promise {\r\n if (!this._usersExpired) {\r\n return this._users;\r\n } else {\r\n await this.refreshUsers();\r\n return this._users;\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async viewAsCompany(companyId: number): Promise {\r\n try {\r\n await usersClient.setCompany(companyId);\r\n store.commit(\"User/EXPIRE_USER\", null, { root: true });\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n get users(): UserProfile[] {\r\n return this._users;\r\n }\r\n public get getUserById() {\r\n return (id: string | null | number): UserProfile | undefined => {\r\n return this._users.find(usr => usr.id === id);\r\n };\r\n }\r\n get usersCount(): number {\r\n return this._users.length;\r\n }\r\n get onlineUsers(): UserProfile[] {\r\n return this._onlineUsers;\r\n }\r\n}\r\n\r\nexport default Users;\r\n","import net from \"App/net\";\r\nimport events from \"App/events\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(vesselEventId) {\r\n var filter = {\r\n vesselEventId: vesselEventId,\r\n };\r\n\r\n return net.get(\"/FlowMeterFuelConsumptions/Find\", filter);\r\n};\r\n\r\nClient.prototype.create = function(voyageFuelConsumption) {\r\n return net.post(\"/FlowMeterFuelConsumptions\", voyageFuelConsumption);\r\n};\r\n\r\nClient.prototype.update = function(voyageFuelConsumption) {\r\n return net.put(\"/FlowMeterFuelConsumptions/\" + voyageFuelConsumption.id, voyageFuelConsumption);\r\n};\r\n\r\nClient.prototype.remove = function(voyageFuelConsumption) {\r\n return net.del(\"/FlowMeterFuelConsumptions/\" + voyageFuelConsumption.id).done(function() {\r\n events.flowMeterFuelConsumptionDeleted.dispatch(voyageFuelConsumption);\r\n });\r\n};\r\n\r\nexport default new Client();","import net from \"App/net\";\r\nimport events from \"App/events\";\r\nimport Store from \"@/store\";\r\n\r\nvar CurvesClient = function() {\r\n\r\n};\r\n\r\nCurvesClient.prototype.find = function(vesselId) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/Curves/Find\" : \"/Curves/Find\";\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n return net.get(url, filter);\r\n};\r\n\r\nCurvesClient.prototype.create = function(curve) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/Curves\" : \"/Curves\";\r\n return net.post(url, curve).done(function(data) {\r\n events.curveCreated.dispatch(data);\r\n });\r\n};\r\n\r\nCurvesClient.prototype.update = function(curve) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/Curves/\" : \"/Curves/\";\r\n\r\n return net.put(url + curve.id, curve).done(function(data) {\r\n events.curveUpdated.dispatch(data);\r\n });\r\n};\r\n\r\nCurvesClient.prototype.remove = function(curve) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/Curves/\" : \"/Curves/\";\r\n\r\n return net.del(url + curve.id).done(function() {\r\n events.curveDeleted.dispatch(curve);\r\n });\r\n};\r\n\r\nCurvesClient.prototype.downloadExcelReport = function(curvePlotResult) {\r\n return net.fileDownload(\"/Curves/Report\", \"POST\", curvePlotResult);\r\n};\r\n\r\nexport default new CurvesClient();\r\n","module.exports = __webpack_public_path__ + \"img/danelec-logo-red.53a4f634.svg\";","// Module\nvar code = \"
    \\r\\n

    Import paths

    \\r\\n

    Timestamp

    \\r\\n

    \\r\\n Duration\\r\\n \\r\\n

    \\r\\n

    Status

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n \\r\\n
    • \\r\\n
    • \\r\\n \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Error

    \\r\\n
    \\r\\n Web job: \\r\\n \\r\\n
    \\r\\n
    \\r\\n Error message:\\r\\n \\r\\n
    \\r\\n Stack trace\\r\\n
    \\r\\n
    \\r\\n        
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    1, click: previousPage\\\">Previous
    \\r\\n
    1
    \\r\\n
    2\\\">...
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Next
    \\r\\n
    1, text: numberOfPages(),\\r\\n css: {'tablePageCurrent': currentPage() === numberOfPages()}, click: goToLast\\\">
    \\r\\n
    ...
    \\r\\n
    \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/danelec-logo-orange2.0f4258a0.svg\";","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { VesselAdmin } from \"@/types/vesselAdmin\";\r\nimport vesselsAdminClient from \"Clients/vessels-administrations-client\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"VesselsAdmin\" })\r\nclass VesselsAdmin extends VuexModule {\r\n private _vesselsExpired = true;\r\n private _vesselsAdminAll: VesselAdmin[] = [];\r\n private _vesselsAdminUnassigned: VesselAdmin[] = [];\r\n private _vesselsAdminActive: VesselAdmin[] = [];\r\n private _vesselsAdminInactive: VesselAdmin[] = [];\r\n\r\n\r\n @Mutation\r\n public REFRESH_VESSELS(vessels: VesselAdmin[]): void {\r\n this._vesselsExpired = false;\r\n this._vesselsAdminAll = vessels;\r\n this._vesselsAdminUnassigned = [];\r\n this._vesselsAdminActive = [];\r\n this._vesselsAdminInactive = [];\r\n\r\n vessels.forEach(vessel => {\r\n const activeStatus = vessel.activeStatus;\r\n switch (activeStatus) {\r\n case \"Unassigned\":\r\n this._vesselsAdminUnassigned.push(vessel);\r\n break;\r\n case \"Active\":\r\n this._vesselsAdminActive.push(vessel);\r\n break;\r\n case \"Assigned\":\r\n this._vesselsAdminInactive.push(vessel);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n @Mutation\r\n public EXPIRE_DATA(): void {\r\n this._vesselsExpired = true;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshAllVessels(): Promise {\r\n let data = [];\r\n try {\r\n data = await vesselsAdminClient.getVessels();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n this.context.commit(\"REFRESH_VESSELS\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getAll(): Promise {\r\n if (!this._vesselsExpired) {\r\n return this._vesselsAdminAll;\r\n } else {\r\n await this.refreshAllVessels();\r\n return this._vesselsAdminAll;\r\n }\r\n }\r\n\r\n get vesselsAdminAll(): VesselAdmin[] {\r\n return this._vesselsAdminAll;\r\n }\r\n get vesselsAdminUnassigned(): VesselAdmin[] {\r\n return this._vesselsAdminUnassigned;\r\n }\r\n get vesselsAdminActive(): VesselAdmin[] {\r\n return this._vesselsAdminActive;\r\n }\r\n get vesselsAdminInactive(): VesselAdmin[] {\r\n return this._vesselsAdminInactive;\r\n }\r\n get UnassignedVesselsCount(): number {\r\n return this._vesselsAdminUnassigned.length;\r\n }\r\n get ActiveVesselsCount(): number {\r\n return this._vesselsAdminActive.length;\r\n }\r\n get InactiveVesselsCount(): number {\r\n return this._vesselsAdminInactive.length;\r\n }\r\n}\r\n\r\nexport default VesselsAdmin;\r\n","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n
      \\r\\n
    • \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar CompaniesClient = function () {\r\n\r\n};\r\n\r\nCompaniesClient.prototype.getAll = function () {\r\n return net.get(\"/Companies\");\r\n};\r\n\r\nCompaniesClient.prototype.create = function (company) {\r\n return net.post(\"/Companies\", company);\r\n};\r\n\r\nCompaniesClient.prototype.update = function (company) {\r\n return net.put(\"/Companies/\" + company.id, company);\r\n};\r\n\r\nCompaniesClient.prototype.remove = function (company) {\r\n return net.del(\"/Companies/\" + company.id);\r\n};\r\n\r\n\r\nexport default new CompaniesClient();","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n A vessel with this IMO number exists in this company\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Current data receiver

    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n Setting this vessel as the current data receiver, will remove this flag from the current data receiver, and\\r\\n all new data entering the system will be stored on this vessel.\\r\\n

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n This vessel is currently the data receiver\\r\\n

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Company

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Features

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n
      \\r\\n
    • \\r\\n General\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \";\n// Exports\nmodule.exports = code;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADfUlEQVR4Xu2aj7EMQRDGvxcBIkAEiAARIAJEgAgQASLgRYAIEAEiQATIQH1qu6q1mb25me6eutqdqlf33u293enf9L/55s6w8XG2cfuxA9g9YOME9hDYuAPsSXAPgckhcGt5/sdZ85jtAW8Wwx9sEcAVAN8Ww68C+D4DwkwPeAbg6WL0cwD8O33MBMDVpxdwcPXpBeljFgDG/Gtj7UMAkhPSQMwC8AGAVAAxlpXgdprly4NmALgO4HPF0BsAvmRCmAGAbn6/YuQ5gNSSmA3g4lL6+Foav5ZkyNeUkQ3gMYAXyrKvy+/X1HtPALxMsR5I3wzp0kcbmfk5dEVILYmZHnAXwFu1sr9NH3BBXbsH4F2GF2QCoEF3lFGvADAkOOjyj9S19wAILHxkAdB9vxil+/9D18NAZAFoWeE1DzlpAKXSV4pxmyNSSmKGB9i+/4dKfnZlWQEuqzfD9wcZANj2sv2VsVbnbZ/AtpjtcdiIBsANDzc+MqT01To9hstPYy03SGGSWTQA2/e39Po9/9PtIZEASqWtZbdX2i2GSWaRALTkxRX6VNAAaitHl7+pLoZJZpEASn1/q+JjK0fY/iAKgDWAya+2Ba55AROl3h+ElMQoAFby6nFhG0IhklkEAK8k1ptEj6oIEQA8y5jnvYpgvAGU+v6RRsY2Uu77A28AtpVd6/tbXdXuD1wlM28AI6WvBiS0JHoCqEleowovw4peECKZeQKIFDRaBJXWkPrnc14AoiWtsPt7AbArdEzf37pydn+gRdXWe/z3OQ8ArZKXfjibJR6PyTEY6z23ymvngiGSmQeAVsmLoMRorRBpMAQgMErJ010y8wBwSPLiWQAhHavzM6kSBs8IZNj9wbBkNgrAdmqc6KVF9JTVPnYXaOOUniBeQQ9wlcxGAdhenRPkhGsuro3jyupvielTo1pS44oTqHy1hp9rkdmqSXIEQKk0HcrGPA2m0fyxMU7DGCr80afFh+7J692S2QgAG4+1iVIMEaNbv/1BDxIYugOsPaNHb/h7rxEAtu+3kxMXHz3lZfIkjLUQ6ZbMegGUvuVFAGsu3uLKa585FCJdklkvAC159bj4KIxSiHRJZj0ARPLycvFRGDpEWs4dhjdDBCDlbnTynv8v5bE10Q4nQc/JT7tXTwhMm2zEg3cAEVRP6Z67B5zSakXMdfeACKqndM8/EHrDQak99E0AAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"img/kymalogo-only-blue.eab47dfc.svg\";","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import _ from \"underscore\";\r\n\r\nfunction getPerformanceStatusText(performanceStatus) {\r\n switch (performanceStatus) {\r\n case \"NotOk\":\r\n return \"Not ok\";\r\n case \"Observe\":\r\n return \"Observe\";\r\n case \"Ok\":\r\n return \"Ok\";\r\n case \"BenchMarking\":\r\n return \"Benchmarking\";\r\n case \"NoDiagnosticTypes\":\r\n return \"No performance parameters\";\r\n case \"NoEnabledLongTrends\":\r\n return \"Performance status disabled by user\";\r\n case \"DiagnosticsNotActivated\":\r\n return \"Diagnostics module not activated\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nfunction getPerformanceStatusErrorText(performanceStatus) {\r\n switch (performanceStatus) {\r\n case \"NoDiagnosticTypes\":\r\n return \"No performance parameters\";\r\n case \"NoEnabledLongTrends\":\r\n return \"Performance status disabled by user\";\r\n case \"DiagnosticsNotActivated\":\r\n return \"Diagnostics module not activated\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\n//Modified with require and new paths so new webpack config can find these files\r\nfunction getPerformanceStatusImageSrc(performanceStatus) {\r\n switch (performanceStatus) {\r\n case \"NotOk\":\r\n return require(\"@/assets/images/status/notok.png\");\r\n case \"Observe\":\r\n return require(\"@/assets/images/status/observe.png\");\r\n case \"Ok\":\r\n return require(\"@/assets/images/status/ok.png\");\r\n case \"BenchMarking\":\r\n return require(\"@/assets/images/status/benchmarking.png\");\r\n case \"NoDiagnosticTypes\":\r\n case \"NoEnabledLongTrends\":\r\n case \"DiagnosticsNotActivated\":\r\n return require(\"@/assets/images/status/error.png\");\r\n default:\r\n return require(\"@/assets/images/loading.gif\");\r\n }\r\n}\r\n\r\nfunction getPerformanceStatus(vessel) {\r\n if (!vessel.isDiagnosticActivated) {\r\n return \"DiagnosticsNotActivated\";\r\n }\r\n\r\n var diagnosticLongTrends = _.filter(vessel.longTrends, function (longTrend) {\r\n return longTrend.diagnosticTypeId;\r\n });\r\n\r\n if (diagnosticLongTrends.length === 0) {\r\n return \"NoDiagnosticTypes\";\r\n }\r\n\r\n var enabledLongTrends = _.filter(diagnosticLongTrends, function (longTrend) {\r\n return longTrend.useInVesselStatus;\r\n });\r\n if (enabledLongTrends.length === 0) {\r\n return \"NoEnabledLongTrends\";\r\n }\r\n\r\n var longTrendStatuses = _.map(enabledLongTrends, function (longTrend) {\r\n return longTrend.performanceStatus;\r\n });\r\n\r\n if (_.contains(longTrendStatuses, \"NotOk\")) {\r\n return \"NotOk\";\r\n }\r\n if (_.contains(longTrendStatuses, \"Observe\")) {\r\n return \"Observe\";\r\n }\r\n if (_.contains(longTrendStatuses, \"BenchMarking\")) {\r\n return \"BenchMarking\";\r\n }\r\n if (_.contains(longTrendStatuses, \"Ok\")) {\r\n return \"Ok\";\r\n }\r\n\r\n throw \"Unexepcted performance statuses: \" + longTrendStatuses.join(\",\");\r\n}\r\n\r\nfunction getSortValue(performanceStatus) {\r\n switch (performanceStatus) {\r\n case \"NotOk\":\r\n return 0;\r\n case \"Observe\":\r\n return 1;\r\n case \"Ok\":\r\n return 2;\r\n case \"BenchMarking\":\r\n return 3;\r\n case \"NoDiagnosticTypes\":\r\n return 4;\r\n case \"NoEnabledLongTrends\":\r\n return 5;\r\n case \"DiagnosticsNotActivated\":\r\n return 6;\r\n default:\r\n throw \"Unexpected performance status \" + performanceStatus;\r\n }\r\n}\r\n\r\nexport default {\r\n getPerformanceStatusText: function (performanceStatus) {\r\n return getPerformanceStatusText(performanceStatus);\r\n },\r\n getPerformanceStatusErrorText: function (performanceStatus) {\r\n return getPerformanceStatusErrorText(performanceStatus);\r\n },\r\n getPerformanceStatusImageSrc: function (performanceStatus) {\r\n return getPerformanceStatusImageSrc(performanceStatus);\r\n },\r\n getPerformanceStatusCssClass: function (performanceStatus) {\r\n return performanceStatus ? performanceStatus : \"loading\";\r\n },\r\n getPerformanceStatus: function (vessel) {\r\n return getPerformanceStatus(vessel);\r\n },\r\n getSortValue: function (vessel) {\r\n return getSortValue(getPerformanceStatus(vessel));\r\n },\r\n getSortValueByStatus: function (performanceStatus) {\r\n return getSortValue(performanceStatus);\r\n },\r\n};\r\n","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShowAnnouncement.vue?vue&type=style&index=0&lang=scss&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAdCAMAAABL/WaSAAAApVBMVEUAAABAjGs+imk6iWY4h2Q7iWcmfFauzsBKk3I3h2M7iWcmfFamybmgxbWVv61vqI8yg19ioIU6iGU6iGY7iWc9img8iWc5h2U6iGU3hmMvgV0qf1kmfFYmfFYmfFb///8mkGLl8uz8/fwxlmr3+/n0+fbq9PCQx69rtJS418mhz7tospM3mW71+ffh7ejV5t/O4dnC4NOz0cRzt5o6mnE6mnApkmTsJjroAAAAH3RSTlMA7u/v57kd/vHtlij9/Pr19fTa1qOenomDdU4yFREIINFKlAAAAJZJREFUGNO9zkcOgzAUhOEHdqjpvQ8udNLL/Y8WHIQUcYD8q28xi6FOx9543bo3lJNVw80I0N7W0GExgLN/MIscOosxmBOFHvB4l5C2Q4s7bipSOdyAuEalKqXkiZMNJEKIBLDJQpvVsUyzMkvl1yIyib9bPmu+zAcGJEVaCPN5dkXTZUqh349raZftiPYBZ5bNlw799gFd9Rw7dRFvNAAAAABJRU5ErkJggg==\"","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { Company } from \"@/types/company\";\r\nimport companiesClient from \"Clients/companies-client\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"Companies\" })\r\nclass Companies extends VuexModule {\r\n private _CompaniesExpired = true;\r\n private _companies: Company[] = [];\r\n\r\n @Mutation\r\n public REFRESH_COMPANIES(companies: Company[]): void {\r\n this._CompaniesExpired = false;\r\n this._companies = companies;\r\n }\r\n\r\n @Mutation\r\n public EXPIRE_DATA(): void {\r\n this._CompaniesExpired = true;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshCompanies(): Promise {\r\n let data = [];\r\n try {\r\n data = await companiesClient.getAll();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n this.context.commit(\"REFRESH_COMPANIES\", data);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getAll(): Promise {\r\n if (!this._CompaniesExpired) {\r\n return this._companies;\r\n } else {\r\n await this.refreshCompanies();\r\n return this._companies;\r\n }\r\n }\r\n\r\n get companies(): Company[] {\r\n return this._companies;\r\n }\r\n get companiesCount(): number {\r\n return this._companies.length;\r\n }\r\n\r\n get companyById() {\r\n return (id: number): Company | undefined => {\r\n return this._companies.find(company => company.id === id);\r\n };\r\n }\r\n}\r\n\r\nexport default Companies;\r\n","// Module\nvar code = \"
    \\r\\n
    \\r\\n Location\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n N/A\\r\\n \\r\\n \\r\\n Sorry, an error occurred while loading the nearest location\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/help-starting-page.1ffcad69.webp\";","import net from \"App/net\";\r\n\r\nvar ShapoliClient = function () {\r\n\r\n};\r\n\r\nShapoliClient.prototype.getBreaches = function(query) {\r\n return net.get(`/Shapoli/Breaches`, query);\r\n};\r\n\r\nShapoliClient.prototype.getBreachDetails = function(query) {\r\n return net.get(`/Breaches/Details`, query);\r\n};\r\n\r\nShapoliClient.prototype.getEvents = function(query) {\r\n return net.get(`/Shapoli/Events`, query);\r\n};\r\n\r\nShapoliClient.prototype.getShaftPowerLogVariables = function(query) {\r\n return net.get(`/Shapoli/PowerLogVariables`, query);\r\n};\r\n\r\nShapoliClient.prototype.downloadBreachLogData = function(vesselId, dates) {\r\n net.fileDownload(`/Shapoli/Reports/Breach?vesselId=${vesselId}&breachStartDate=${dates.fromDate}&toDate=${dates.toDate}`, \"GET\");\r\n};\r\n\r\nShapoliClient.prototype.downloadBreachesYearReport = function(vesselId, year) {\r\n net.fileDownload(`/Shapoli/Reports/Year?vesselId=${vesselId}&year=${year}`, \"GET\");\r\n};\r\n\r\nexport default new ShapoliClient();\r\n","require([\"knockout\", \"jquery\", \"leaflet\", \"underscore\"], function(ko, $, L, _) {\r\n function findMarkerBounds(markers) {\r\n var n, e, s, w, sw, ne;\r\n var marker, lat, lng;\r\n\r\n for (var i = 0; i < markers.length; i++) {\r\n marker = markers[i];\r\n lat = marker.getLatLng().lat;\r\n lng = marker.getLatLng().lng;\r\n\r\n // find lowest and highest latitude\r\n if (lat > n || i == 0) n = lat;\r\n if (lat < s || i == 0) s = lat;\r\n\r\n // find lowest and highest longitude\r\n if (lng > e || i == 0) e = lng;\r\n if (lng < w || i == 0) w = lng;\r\n }\r\n\r\n sw = new L.LatLng(s, w);\r\n ne = new L.LatLng(n, e);\r\n\r\n return new L.LatLngBounds(sw, ne);\r\n }\r\n\r\n function updateMarkers(map, markers, markerPopupsIsOpen) {\r\n var openPopups = markerPopupsIsOpen;\r\n if (map.markersGroup) {\r\n openPopups = _.any(map.markers, function(marker) {\r\n return marker.isPopupOpen();\r\n });\r\n\r\n //clearing the layers further below doesn't remove the popups :/\r\n //so removing them here explicitly as a fix\r\n _.each(map.markers, function(marker) {\r\n marker.closePopup();\r\n });\r\n\r\n map.markersGroup.clearLayers();\r\n }\r\n\r\n map.markers = markers;\r\n map.markersGroup = L.layerGroup(map.markers).addTo(map);\r\n\r\n if (openPopups) {\r\n _.each(markers, function(marker) {\r\n marker.openPopup();\r\n });\r\n }\r\n\r\n if (map.markers.length > 0) {\r\n var markerBounds = findMarkerBounds(map.markers);\r\n map.fitBounds(markerBounds, {\r\n padding: [100, 100],\r\n maxZoom: 6,\r\n });\r\n }\r\n }\r\n\r\n ko.bindingHandlers.map = {\r\n init: function(element, valueAccessor, allBindingsAccessor) {\r\n var $el = $(element);\r\n var value = valueAccessor();\r\n var options = ko.utils.unwrapObservable(value.options);\r\n\r\n var layer = new L.TileLayer(\"https://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}.png\", {\r\n attribution: \"Esri\",\r\n });\r\n var maxBounds = L.latLngBounds(L.latLng(-85, -200), L.latLng(85, 200));\r\n var map = L.map(element, { layers: layer, scrollWheelZoom: true, maxZoom: 14, minZoom: 2, zoom: 5, center: [0, 0], maxBounds: maxBounds, maxBoundsViscosity: 0.8 });\r\n\r\n value.map(map);\r\n\r\n updateMarkers(map, options.markers, options.initialMarkerPopupsIsOpen);\r\n var optionsSubscription = value.options.subscribe(function(newOptions) {\r\n updateMarkers(map, newOptions.markers);\r\n });\r\n\r\n ko.utils.domNodeDisposal.addDisposeCallback(element, function() {\r\n optionsSubscription.dispose();\r\n });\r\n },\r\n update: function(element, valueAccessor, allBindingsAccessor) {},\r\n };\r\n});","import net from \"App/net\";\r\n\r\nvar LongTrendConfigurationsClient = function () {\r\n\r\n};\r\n\r\nLongTrendConfigurationsClient.prototype.getByVesselId = function(vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n var deferred = $.Deferred();\r\n net.get(\"/LongTrendConfigurations/Find\", filter).done(function (response) {\r\n deferred.resolve(response[0]);\r\n }).fail(function () {\r\n deferred.reject(arguments);\r\n });\r\n return deferred.promise();\r\n};\r\n\r\nLongTrendConfigurationsClient.prototype.update = function(configuration) {\r\n return net.put(\"/LongTrendConfigurations\", configuration);\r\n};\r\n\r\nexport default new LongTrendConfigurationsClient();","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import template from \"./vessel-groups.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport $ from \"jquery\";\r\nimport events from \"App/events\";\r\nimport vesselGroupsClient from \"Clients/vessel-groups-client\";\r\nimport vesselsClient from \"Clients/vessels-client\";\r\n\r\nfunction getVesselGroupNameError(name) {\r\n if (!name) {\r\n return \"Please enter a name for the vessel group.\";\r\n }\r\n if (name.length > 15) {\r\n return \"The vessel group name cannot exceed 15 characters.\";\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n self.isLoadingVesselGroups = ko.observable(true);\r\n self.isLoadingVessels = ko.observable(true);\r\n self.isCreatingVesselGroup = ko.observable(false);\r\n self.isEditingVesselGroup = ko.observable(false);\r\n self.vesselGroups = ko.observableArray([]);\r\n self.vessels = ko.observable();\r\n self.selectedVesselGroup = ko.observable();\r\n self.newVesselGroupName = ko.observable();\r\n self.createVesselGroupError = ko.observable();\r\n self.editVesselGroupError = ko.observable();\r\n self.removingVesselGroup = ko.observable();\r\n self.editingVesselGroup = ko.observable();\r\n self.editedVesselGroupName = ko.observable();\r\n\r\n self.selectVesselGroup = function(vesselGroup) {\r\n self.selectedVesselGroup(vesselGroup);\r\n self.editingVesselGroup(null);\r\n }.bind(self);\r\n\r\n self.startEditVesselGroup = function(vesselGroup, e) {\r\n var $container = $(e.target).closest(\".vessel-group-list-item\");\r\n self.editVesselGroupError(\"\");\r\n self.editedVesselGroupName(vesselGroup.name);\r\n self.editingVesselGroup(vesselGroup);\r\n\r\n var $input = $container.find(\"input\");\r\n $input.focus();\r\n $input.select();\r\n }.bind(self);\r\n\r\n self.doneEditVesselGroup = function() {\r\n var editedVesselGroup = _.clone(self.editingVesselGroup());\r\n editedVesselGroup.name = self.editedVesselGroupName();\r\n\r\n self.editVesselGroupError(\"\");\r\n var vesselGroupNameError = getVesselGroupNameError(editedVesselGroup.name);\r\n if (vesselGroupNameError) {\r\n self.editVesselGroupError(vesselGroupNameError);\r\n return;\r\n }\r\n\r\n self.isEditingVesselGroup(true);\r\n vesselGroupsClient.update(editedVesselGroup).always(function() {\r\n self.isEditingVesselGroup(false);\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n }.bind(self);\r\n\r\n self.cancelEditVesselGroup = function() {\r\n self.editingVesselGroup(null);\r\n }.bind(self);\r\n\r\n self.startRemoveVesselGroup = function(vesselGroup) {\r\n self.removingVesselGroup(vesselGroup);\r\n }.bind(self);\r\n\r\n self.isLoading = ko.pureComputed(function() {\r\n var isLoadingVessels = self.isLoadingVessels();\r\n var isLoadingVesselGroups = self.isLoadingVesselGroups();\r\n return isLoadingVessels || isLoadingVesselGroups;\r\n });\r\n\r\n self.addVesselToGroup = function(vessel) {\r\n var selectedVesselGroup = self.selectedVesselGroup();\r\n vesselGroupsClient.addVesselToGroup(vessel, selectedVesselGroup);\r\n }.bind(self);\r\n\r\n self.removeVesselFromGroup = function(vessel) {\r\n var selectedVesselGroup = self.selectedVesselGroup();\r\n vesselGroupsClient.removeVesselFromGroup(vessel, selectedVesselGroup);\r\n }.bind(self);\r\n\r\n self.removeVesselGroup = function() {\r\n var self = this;\r\n var vesselGroup = self.removingVesselGroup();\r\n vesselGroupsClient.remove(vesselGroup).always(function() {\r\n self.removingVesselGroup(null);\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n }.bind(self);\r\n\r\n self.vesselsInSelectedVesselGroup = ko.pureComputed(function() {\r\n var selectedVesselGroup = self.selectedVesselGroup();\r\n var vessels = self.vessels();\r\n if (!selectedVesselGroup) return [];\r\n\r\n var vesselsInSelectedVesselGroup = _.filter(vessels, function(vessel) {\r\n return _.contains(selectedVesselGroup.vesselIds, vessel.id);\r\n });\r\n\r\n return _.sortBy(vesselsInSelectedVesselGroup, \"name\");\r\n });\r\n\r\n self.vesselsNotInSelectedVesselGroup = ko.pureComputed(function() {\r\n var vesselsInSelectedVesselGroup = self.vesselsInSelectedVesselGroup();\r\n var vessels = self.vessels();\r\n\r\n var vesselsNotInSelectedVesselGroup = _.filter(vessels, function(vessel) {\r\n return !_.contains(vesselsInSelectedVesselGroup, vessel);\r\n });\r\n\r\n return _.sortBy(vesselsNotInSelectedVesselGroup, \"name\");\r\n });\r\n\r\n self.sortedVesselGroups = ko.pureComputed(function() {\r\n var vesselGroups = self.vesselGroups();\r\n return _.sortBy(vesselGroups, \"name\");\r\n });\r\n\r\n self.vesselGroupCreatedBinding = events.vesselGroupCreated.add(function(createdVesselGroup) {\r\n self.vesselGroups.push(createdVesselGroup);\r\n self.selectedVesselGroup(createdVesselGroup);\r\n });\r\n\r\n self.vesselGroupUpdatedBinding = events.vesselGroupUpdated.add(function(updatedVesselGroup) {\r\n var oldVesselGroup = _.find(self.vesselGroups(), function(vesselGroup) {\r\n return vesselGroup.id === updatedVesselGroup.id;\r\n });\r\n self.vesselGroups.replace(oldVesselGroup, updatedVesselGroup);\r\n\r\n var editingVesselGroup = self.editingVesselGroup();\r\n if (editingVesselGroup && editingVesselGroup.id === updatedVesselGroup.id) {\r\n self.editingVesselGroup(null);\r\n }\r\n\r\n var selectedVesselGroup = self.selectedVesselGroup();\r\n if (selectedVesselGroup && selectedVesselGroup.id === updatedVesselGroup.id) {\r\n self.selectedVesselGroup(updatedVesselGroup);\r\n }\r\n });\r\n\r\n self.vesselGroupDeletedBinding = events.vesselGroupDeleted.add(function(deletedVesselGroup) {\r\n self.vesselGroups.remove(deletedVesselGroup);\r\n if (self.selectedVesselGroup() === deletedVesselGroup) {\r\n self.selectedVesselGroup(null);\r\n }\r\n });\r\n\r\n self.load();\r\n}\r\n\r\nViewModel.prototype.dispose = function() {\r\n this.vesselGroupCreatedBinding.detach();\r\n this.vesselGroupUpdatedBinding.detach();\r\n this.vesselGroupDeletedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.load = function() {\r\n this.loadVessels();\r\n this.loadVesselGroups();\r\n};\r\n\r\nViewModel.prototype.loadVessels = function() {\r\n var self = this;\r\n self.isLoadingVessels(true);\r\n vesselsClient.getVessels().done(function(data) {\r\n self.vessels(data);\r\n }).always(function() {\r\n self.isLoadingVessels(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.loadVesselGroups = function() {\r\n var self = this;\r\n self.isLoadingVesselGroups(true);\r\n vesselGroupsClient.getAll().done(function(data) {\r\n self.vesselGroups(data);\r\n }).always(function() {\r\n self.isLoadingVesselGroups(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.createVesselGroup = function() {\r\n var self = this;\r\n var newVesselGroup = {\r\n name: self.newVesselGroupName(),\r\n };\r\n\r\n self.createVesselGroupError(\"\");\r\n var vesselGroupNameError = getVesselGroupNameError(newVesselGroup.name);\r\n if (vesselGroupNameError) {\r\n self.createVesselGroupError(vesselGroupNameError);\r\n return;\r\n }\r\n\r\n self.isCreatingVesselGroup(true);\r\n vesselGroupsClient.create(newVesselGroup).done(function() {\r\n self.newVesselGroupName(\"\");\r\n }).always(function() {\r\n self.isCreatingVesselGroup(false);\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.handleError = function (error) {\r\n if (error && error.responseJSON && error.responseJSON.message) {\r\n this.error(error.responseJSON.message);\r\n } else {\r\n this.error(\"An error occurred.\");\r\n }\r\n events.errorEvent.dispatch(error);\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABvBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNC0wNS0wOVQwODoxNjo0NC0wNDowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxNC0wNS0wOVQxMjoxNzozNi0wNDowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTQtMDUtMDlUMTI6MTc6MzYtMDQ6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjExMzdBRkNFQ0VEQjExRTM5MTNBQkEyM0JCOUMxNEY5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjExMzdBRkNGQ0VEQjExRTM5MTNBQkEyM0JCOUMxNEY5IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6RDc5OEU0N0FDNTIwNjgxMTg4QzY4MzczMzAwMkU2RTciPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ3OThFNDdBQzUyMDY4MTE4OEM2ODM3MzMwMDJFNkU3IiBzdEV2dDp3aGVuPSIyMDE0LTA1LTA5VDA4OjE2OjQ0LTA0OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpEODk4RTQ3QUM1MjA2ODExODhDNjgzNzMzMDAyRTZFNyIgc3RFdnQ6d2hlbj0iMjAxNC0wNS0wOVQwODoxNzoxNC0wNDowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6RDk5OEU0N0FDNTIwNjgxMTg4QzY4MzczMzAwMkU2RTciIHN0RXZ0OndoZW49IjIwMTQtMDUtMDlUMDg6MTc6MTQtMDQ6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUuMSBNYWNpbnRvc2giIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ5OThFNDdBQzUyMDY4MTE4OEM2ODM3MzMwMDJFNkU3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ3OThFNDdBQzUyMDY4MTE4OEM2ODM3MzMwMDJFNkU3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uvQJhAAAAS5JREFUeNpi/P//PwM1ASM2QdUJiQJAqgCI/YHYAE36AhBvBOIJtwvmfyBoINAwkEH1QCxAwDEgwxqBhk7AaSDQsPlAKoFEXy4AGpoI4zAjGdYPpDLICDYDYQ9DgXc7LuyEuxBomAOQ2g9TsSS4nMFMRh2vKaee3GSIWduJLOQIdOkBJiinngoRDDaDEeg6UCyeR5bRFJVj4GPnArM1RGUZqu0iwezWQ8sZbrx+DGZ/+vmN4frrR+iGGrIACQd0USwKwQBk2MknN/C50oGJiORBChBgYqAyoImBH6ho3geQgQeoaOABJmBivEAlQw+AzIKFYSMVDGxEKRygebkAXRUogYMSOix9ghI0FgAqygppW9qAALDE2AgsOT4CmRZAzEFEeVgJNKySpiU2QIABAH+YaOL1Kv1oAAAAAElFTkSuQmCC\"","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/cii-widget-tableview.815f59db.png\";","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Event type\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    0 && count() < maxVariables()\\\">\\r\\n
    \\r\\n
    \\r\\n = maxVariables()\\\">\\r\\n Maximum items reached.\\r\\n \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    • \\r\\n
    \\r\\n \\r\\n \\r\\n Please select any items you want to plot. If you want to plot multiple variables in the same chart use the Group button.\\r\\n To clear all selected variables and groups, press the Clear button.\\r\\n \\r\\n \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{style:({ zIndex: _vm.options.zIndex }),attrs:{\"max-width\":_vm.options.width},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.cancel.apply(null, arguments)}},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-toolbar',{staticClass:\"font-weight-semibold\",attrs:{\"dark\":\"\",\"color\":_vm.options.color,\"dense\":\"\",\"flat\":\"\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.title)+\" \")])],1),_c('v-card-text',{directives:[{name:\"show\",rawName:\"v-show\",value:(!!_vm.message),expression:\"!!message\"}],staticClass:\"pa-4 black--text\",domProps:{\"innerHTML\":_vm._s(_vm.message)}}),_c('v-card-actions',{staticClass:\"pt-3\"},[_c('v-spacer'),_c('v-btn',{staticClass:\"font-weight-semibold\",attrs:{\"color\":\"accent\",\"elevation\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.confirm.apply(null, arguments)}}},[_vm._v(\"OK\")]),(!_vm.options.noconfirm)?_c('v-btn',{staticClass:\"font-weight-semibold\",attrs:{\"color\":\"primary-lighten-90\",\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.cancel.apply(null, arguments)}}},[_vm._v(\"Cancel\")]):_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\nimport { Component, Vue } from \"vue-property-decorator\";\n\n@Component\nexport default class ConfirmDialog extends Vue {\n dialog = false;\n resolve!: any;\n reject!: any;\n message: string | null = null;\n title: string | null = null;\n options = {\n color: \"accentDarker110\",\n width: 400,\n zIndex: 200,\n noconfirm: false,\n };\n\n open(title: string, message: string, options: unknown): Promise {\n this.dialog = true;\n this.title = title;\n this.message = message;\n this.options = Object.assign(this.options, options);\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n\n confirm(): void {\n this.resolve(true);\n this.dialog = false;\n }\n\n cancel(): void {\n this.resolve(false);\n this.dialog = false;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConfirmDialog.vue?vue&type=template&id=96653df2&\"\nimport script from \"./ConfirmDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ConfirmDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.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 { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VDialog,VSpacer,VToolbar,VToolbarTitle})\n","// Module\nvar code = \"\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    \\r\\n \\r\\n Please provide the following information in order to download the emission report template:\\r\\n

      \\r\\n
    • \\r\\n Flow meter with manual input or a fuel tank.\\r\\n
    • \\r\\n
    • \\r\\n Which cargo unit(s) the vessel is typically carrying.\\r\\n
    • \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n Generate Excel Template\\r\\n \\r\\n
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \";\n// Exports\nmodule.exports = code;","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeSpanDialog.vue?vue&type=style&index=0&id=2d5de5dc&scoped=true&lang=scss&\"","import net from \"@/Scripts/app/net\";\r\nimport Store from \"@/store\";\r\n\r\nvar VesselsClient = function () {\r\n\r\n};\r\n\r\nVesselsClient.prototype.get = function (vesselId) {\r\n return net.get(\"/Vessels/\" + vesselId);\r\n};\r\n\r\nVesselsClient.prototype.getVessels = function (ignoreCompany = false) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/Vessels\" : `/Vessels?IgnoreCompany=${ignoreCompany}`;\r\n return net.get(url);\r\n};\r\n\r\nVesselsClient.prototype.getVesselsByCompanyId = function (id) {\r\n return net.get(`/Vessels?companyId=${id}`);\r\n};\r\n\r\nVesselsClient.prototype.getExtendedVessels = function () {\r\n return net.get(\"/Vessels/Extended\");\r\n};\r\n\r\nVesselsClient.prototype.updateVesselDraft = function (id, draft) {\r\n const draftMean = {\r\n draftMean: draft,\r\n };\r\n return net.put(\"/Vessels/\" + id + \"/Draft\", draftMean);\r\n};\r\n\r\nVesselsClient.prototype.updateVessel = function (vessel) {\r\n return net.put(`/Vessels/${vessel.id}`, vessel);\r\n};\r\n\r\nVesselsClient.prototype.getVesselVoyages = function (id) {\r\n return net.get(\"/Vessel/\" + id + \"/Voyages\");\r\n}\r\n\r\nexport default new VesselsClient();\r\n","// Module\nvar code = \"

    Data import status

    \\r\\n\\r\\n
    \\r\\n \\r\\n

    \\r\\n

    \\r\\n
    \\r\\n \\r\\n seconds\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n Last \\r\\n \\r\\n days\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n Total log data points:
    \\r\\n Total hours spent:
    \\r\\n Total hours spent on log data: \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n \\r\\n

    \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n

    Vessels being imported

    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    IMOCurrent import\\r\\n Pending paths\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n Manual benchmark level is: \\r\\n % compared to baseline\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n

    \\r\\n \\r\\n

    \\r\\n \\r\\n \\r\\n

    \\r\\n \\r\\n

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","import net from \"@/Scripts/app/net\";\r\n/* eslint-disable */\r\nclass EmissionsComplianceClient {\r\n constructor() {}\r\n\r\n getVoyageList(vesselid) {\r\n return net.get(`/EmissionCompliance/voyages/${vesselid}`);\r\n }\r\n\r\n getEmissionSummary(vesselid) {\r\n return net.get(`/EmissionCompliance/emission-summary/${vesselid}`);\r\n }\r\n\r\n uploadFiles(payload) {\r\n // @param payload { vesselId; files; }\r\n var url = \"/EmissionCompliance/upload-multiple\"\r\n return net.fileUpload(url, payload);\r\n }\r\n\r\n downloadReport(params) {\r\n // @param params { vesselId; filename; }\r\n var url = `/EmissionCompliance/download-voyage-file?vesselId=${params.vesselId}&fileName=${params.filename}`\r\n return net.fileDownload(url, \"GET\");\r\n }\r\n}\r\n\r\nexport default new EmissionsComplianceClient();\r\n","import { Action, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\r\nimport EmissionsComplianceClient from \"Clients/emissions-compliance-client.js\";\r\n\r\n@Module({ namespaced: true, name: \"EmissionsCompliance\" })\r\nclass EmissionsCompliance extends VuexModule {\r\n private _loadingState = false;\r\n private _loadingEmissionSummaryState = false;\r\n private _voyageList: any[] = [];\r\n private _emissionSummary: any[] = [];\r\n\r\n // @Getters\r\n public get voyageList(): any[] {\r\n return this._voyageList;\r\n }\r\n\r\n public get emissionSummary(): any[] {\r\n return this._emissionSummary;\r\n }\r\n\r\n public get loadingState(): boolean {\r\n return this._loadingState;\r\n }\r\n\r\n public get loadingEmissionSummaryState(): boolean {\r\n return this._loadingEmissionSummaryState;\r\n }\r\n\r\n // @Actions\r\n @Action({ rawError: true })\r\n public async fetchVoyageList(vesselId: number): Promise {\r\n try {\r\n this.context.commit(\"SET_LOADING_STATE\", true);\r\n const voyageList = await EmissionsComplianceClient.getVoyageList(vesselId);\r\n this.context.commit(\"FETCH_VOYAGE_LIST\", voyageList);\r\n this.context.commit(\"SET_LOADING_STATE\", false);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch voyages summary -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchEmissionSummary(vesselId: number): Promise {\r\n try {\r\n this.context.commit(\"SET_EMISSION_SUMMARY_LOADING_STATE\", true);\r\n const emissionSummary = await EmissionsComplianceClient.getEmissionSummary(vesselId);\r\n this.context.commit(\"FETCH_EMISSION_SUMMARY\", emissionSummary);\r\n this.context.commit(\"SET_EMISSION_SUMMARY_LOADING_STATE\", false);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch emission summary -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async uploadFiles(payload: FormData): Promise<{ files: []; skippedFiles: []; }> {\r\n try {\r\n const response: { files: []; skippedFiles: []; } = await EmissionsComplianceClient.uploadFiles(payload);\r\n return response;\r\n } catch (error) {\r\n throw ({ message: \"Failed to upload files for voyage summary table -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async downloadReport(request: { vesselId: number; filename: string | null }): Promise {\r\n try {\r\n EmissionsComplianceClient.downloadReport(request);\r\n } catch (error) {\r\n throw ({ message: \"Failed to download voyage report -> \", error });\r\n }\r\n }\r\n\r\n // @Mutations\r\n\r\n @Mutation\r\n public FETCH_VOYAGE_LIST(voyageList: any[]): void {\r\n this._voyageList = voyageList;\r\n }\r\n\r\n @Mutation\r\n public FETCH_EMISSION_SUMMARY(emissionSummary: any[]): void {\r\n this._emissionSummary = emissionSummary;\r\n }\r\n\r\n @Mutation\r\n public SET_LOADING_STATE(loading: boolean): void {\r\n this._loadingState = loading;\r\n }\r\n\r\n @Mutation\r\n public SET_EMISSION_SUMMARY_LOADING_STATE(loading: boolean): void {\r\n this._loadingEmissionSummaryState = loading;\r\n }\r\n\r\n}\r\n\r\nexport default EmissionsCompliance;\r\n","// Module\nvar code = \"
    \\r\\n

    Zoom all graphs

    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/help-curves.3df19073.webp\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=style&index=0&lang=scss&\"","// Module\nvar code = \"\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"@/assets/images/kyma-logos/kymalogo-only-blue.svg\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n

    API keys expired, please contact Danelec for assistance

    \\r\\n support@danelec.com\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\\"Logo\\r\\n

    Data Analysis

    \\r\\n

    Please select a vessel to get started

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Imports\nvar ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ = require(\"../../../../../node_modules/html-loader/dist/runtime/getUrl.js\");\nvar ___HTML_LOADER_IMPORT_0___ = require(\"@/assets/images/vessels/green.png\");\nvar ___HTML_LOADER_IMPORT_1___ = require(\"@/assets/images/vessels/orange.png\");\nvar ___HTML_LOADER_IMPORT_2___ = require(\"@/assets/images/vessels/red.png\");\nvar ___HTML_LOADER_IMPORT_3___ = require(\"@/assets/images/vessels/blue.png\");\nvar ___HTML_LOADER_IMPORT_4___ = require(\"@/assets/images/vessels/gray.png\");\nvar ___HTML_LOADER_IMPORT_5___ = require(\"@/assets/images/gps-up.png\");\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar ___HTML_LOADER_REPLACEMENT_3___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_3___);\nvar ___HTML_LOADER_REPLACEMENT_4___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_4___);\nvar ___HTML_LOADER_REPLACEMENT_5___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_5___);\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\\"green\\\"\\r\\n
    \\r\\n
    Ok
    \\r\\n\\r\\n
    \\r\\n \\\"Orange\\\"\\r\\n
    \\r\\n
    Observe
    \\r\\n\\r\\n
    \\r\\n \\\"Red\\\"\\r\\n
    \\r\\n
    Not ok
    \\r\\n\\r\\n
    \\r\\n \\\"Blue\\\"\\r\\n
    \\r\\n
    Benchmarking
    \\r\\n\\r\\n
    \\r\\n \\\"Gray\\\"\\r\\n
    \\r\\n
    Performance status N/A
    \\r\\n\\r\\n
    \\r\\n \\\"Black\\\"\\r\\n
    \\r\\n
    Previous positions
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","import signals from \"signals\";\r\n\r\nexport default {\r\n longTrendUpdated: new signals.Signal(),\r\n showTooltip: new signals.Signal(),\r\n closeTooltip: new signals.Signal(),\r\n repositionTooltip: new signals.Signal(),\r\n vesselEventSelected: new signals.Signal(),\r\n showModal: new signals.Signal(),\r\n closeModal: new signals.Signal(),\r\n modalClosed: new signals.Signal(),\r\n curveCreated: new signals.Signal(),\r\n curveUpdated: new signals.Signal(),\r\n curveDeleted: new signals.Signal(),\r\n curvePlotCreated: new signals.Signal(),\r\n curvePlotUpdated: new signals.Signal(),\r\n curvePlotDeleted: new signals.Signal(),\r\n curvePlotSelected: new signals.Signal(),\r\n curvePlotSpecified: new signals.Signal(),\r\n editCurveStart: new signals.Signal(),\r\n editCurveDone: new signals.Signal(),\r\n filterGroupEmpty: new signals.Signal(),\r\n menuItemClick: new signals.Signal(),\r\n vesselAdministrationUpdated: new signals.Signal(),\r\n findDataReceiver: new signals.Signal(),\r\n vesselDeleted: new signals.Signal(),\r\n vesselArraySorted: new signals.Signal(),\r\n retryImport: new signals.Signal(),\r\n removeImport: new signals.Signal(),\r\n flowMeterDeleted: new signals.Signal(),\r\n flowMeterFuelConsumptionUpdated: new signals.Signal(),\r\n flowMeterFuelConsumptionDeleted: new signals.Signal(),\r\n flowMeterFuelConsumptionSelected: new signals.Signal(),\r\n overlappingFuelConsumptionUpdated: new signals.Signal(),\r\n voyageUpdated: new signals.Signal(),\r\n voyageCreated: new signals.Signal(),\r\n plotLineDateSelected: new signals.Signal(),\r\n dateSelectStarted: new signals.Signal(),\r\n dateSelectEnded: new signals.Signal(),\r\n vesselEventCreated: new signals.Signal(),\r\n vesselEventUpdated: new signals.Signal(),\r\n vesselEventDeleted: new signals.Signal(),\r\n voyageVesselEventUpdated: new signals.Signal(),\r\n vesselEventCargoDetailDeleted: new signals.Signal(),\r\n fuelTankDeleted: new signals.Signal(),\r\n fuelTankSoundingDeleted: new signals.Signal(),\r\n fuelTankOperationCreated: new signals.Signal(),\r\n fuelTankOperationDeleted: new signals.Signal(),\r\n flowMeterOperationDeleted: new signals.Signal(),\r\n departureSelected: new signals.Signal(),\r\n fuelTypeDeleted: new signals.Signal(),\r\n viewReport: new signals.Signal(),\r\n vesselFileUploaded: new signals.Signal(),\r\n curvePredictionUpdated: new signals.Signal(),\r\n notificationConditionCreated: new signals.Signal(),\r\n notificationConditionUpdated: new signals.Signal(),\r\n notificationConditionRemoved: new signals.Signal(),\r\n notificationChannelRemoved: new signals.Signal(),\r\n filteredVesselsChanged: new signals.Signal(),\r\n vesselGroupCreated: new signals.Signal(),\r\n vesselGroupUpdated: new signals.Signal(),\r\n vesselGroupDeleted: new signals.Signal(),\r\n compareGroupClicked: new signals.Signal(),\r\n compareVesselsSelected: new signals.Signal(),\r\n navigatedHome: new signals.Signal(),\r\n companyAdd: new signals.Signal(),\r\n companyEdit: new signals.Signal(),\r\n companyDelete: new signals.Signal(),\r\n companyView: new signals.Signal(),\r\n companyViewAs: new signals.Signal(),\r\n companyOnCreated: new signals.Signal(),\r\n companyOnUpdated: new signals.Signal(),\r\n companyOnRemoved: new signals.Signal(),\r\n vesselAccessGroupAdd: new signals.Signal(),\r\n vesselAccessGroupEdit: new signals.Signal(),\r\n vesselAccessGroupRename: new signals.Signal(),\r\n vesselAccessGroupDelete: new signals.Signal(),\r\n vesselAccessGroupOnCreated: new signals.Signal(),\r\n vesselAccessGroupOnUpdated: new signals.Signal(),\r\n vesselAccessGroupOnDeleted: new signals.Signal(),\r\n userAdd: new signals.Signal(),\r\n userEdit: new signals.Signal(),\r\n userDelete: new signals.Signal(),\r\n userView: new signals.Signal(),\r\n userManageApiKey: new signals.Signal(),\r\n userOnCreated: new signals.Signal(),\r\n userOnCreatedFailed: new signals.Signal(),\r\n userOnCreatedAlreadyExist: new signals.Signal(),\r\n userOnUpdated: new signals.Signal(),\r\n userOnRemoved: new signals.Signal(),\r\n userOnFailed: new signals.Signal(),\r\n viewPdf: new signals.Signal(),\r\n closePdf: new signals.Signal(),\r\n vesselFileDownload: new signals.Signal(),\r\n updateLoaderText: new signals.Signal(),\r\n presetChanged: new signals.Signal(),\r\n createEvent: new signals.Signal(),\r\n editEvent: new signals.Signal(),\r\n deleteEvent: new signals.Signal(),\r\n errorEvent: new signals.Signal(),\r\n updateEventList: new signals.Signal(),\r\n showDiagnosticsDetails: new signals.Signal(),\r\n};\r\n","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","import { VuexModule, Module, Action, Mutation } from \"vuex-module-decorators\";\r\nimport ShapoliClient from \"Clients/shapoli-client\";\r\nimport { ShapoliBreach } from \"@/types/ShapoliBreach\";\r\nimport { ShapoliEvent } from \"@/types/ShapoliEvent\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"Shapoli\" })\r\nclass Shapoli extends VuexModule {\r\n private _events: ShapoliEvent[] | null = null;\r\n private _breaches: ShapoliBreach[] | null = null;\r\n\r\n // @Getters\r\n public get events(): ShapoliEvent[] | null {\r\n return this._events;\r\n }\r\n\r\n public get breaches(): ShapoliBreach[] | null {\r\n return this._breaches;\r\n }\r\n\r\n // @Actions\r\n @Action({ rawError: true })\r\n public async fetchBreaches(query: { vesselId: string | number; year: number | null; }): Promise {\r\n try {\r\n const breaches = await ShapoliClient.getBreaches(query);\r\n this.context.commit(\"SET_BREACHES\", breaches);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch breaches\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchBreachDetails(query: { vesselId: string | number; fromDate: string; toDate: string; }): Promise {\r\n try {\r\n return await ShapoliClient.getBreachDetails(query);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch breach details\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchEvents(query: { vesselId: string | number; year: number | null; }): Promise {\r\n try {\r\n const events = await ShapoliClient.getEvents(query);\r\n this.context.commit(\"SET_EVENTS\", events);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch events\", error });\r\n }\r\n }\r\n\r\n // @Mutations\r\n @Mutation\r\n public SET_EVENTS(events: ShapoliEvent[]): void {\r\n this._events = events;\r\n }\r\n\r\n @Mutation\r\n public SET_BREACHES(breaches: ShapoliBreach[]): void {\r\n this._breaches = breaches;\r\n }\r\n}\r\n\r\nexport default Shapoli;","// Module\nvar code = \"\\r\\n
    \\r\\n Home\\r\\n > Compare\\r\\n
    \\r\\n\\r\\n

    Compare Vessels - Overview

    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n Home\\r\\n >\\r\\n Compare\\r\\n > Details\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n Parameters may be excluded from the overall performance status by clearing the appropriate checkbox\\r\\n

    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    Data filter:

    \\r\\n
    \\r\\n \\r\\n Filter min & max\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n Filter outliers\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Please select at least 1 item.
    \\r\\n There was an error when trying to update the configuration.\\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar VesselPerformanceStatusesClient = function () {\r\n\r\n};\r\n\r\nVesselPerformanceStatusesClient.prototype.get = function (vesselId) {\r\n return net.get(\"/VesselPerformanceStatuses/\" + vesselId);\r\n};\r\n\r\nexport default new VesselPerformanceStatusesClient();","import template from \"./tree-select.html\";\r\nimport treeMaker from \"Utilities/kognifai-variable-tree\";\r\nimport ko from \"knockout\";\r\n\r\n/**\r\n * Context-menu style presentation of variables.\r\n * @param {Object} variables - ko.observableArray of the variables.\r\n * @param {Object} selectedId - ko.observable string. Id of selected item\r\n * @param {Object} selected - ko.pureComputed function that returns currently selected item.\r\n */\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.variableTree = ko.observable(treeMaker.makeTree(ko.unwrap(params.variables), \"|\"));\r\n self.selectedId = params.selectedId;\r\n self.selectedItem = ko.observable();\r\n self.menuOpen = ko.observable(false);\r\n self.menuVisible = ko.observable(false);\r\n self.safetyMargin = 30;\r\n\r\n if (params.selected)\r\n self.selectedItem(ko.unwrap(params.selected));\r\n\r\n self.selectItem = function (data) {\r\n self.selectedItem(data.payload);\r\n self.selectedId(data.payload.id);\r\n self.closeMenu();\r\n };\r\n\r\n self.selectedItemName = ko.pureComputed(function () {\r\n if (self.selectedItem())\r\n return self.selectedItem().name;\r\n return \"select\";\r\n }, this);\r\n\r\n self.closeMenu = function () {\r\n self.menuOpen(false);\r\n self.menuVisible(false);\r\n };\r\n\r\n self.toggleMenu = function (data, event) {\r\n if (self.menuOpen()) {\r\n self.menuOpen(false);\r\n self.menuVisible(false);\r\n } else {\r\n self.menuOpen(true);\r\n self.positionMenu(event); \r\n }\r\n };\r\n\r\n //opens the menu as a context menu, 5px right of the pointer. \r\n self.positionMenu = function (event) {\r\n var $menu = $(event.target).next();\r\n var menuHeight = $menu.height();\r\n var windowHeight = $(window).height() - self.safetyMargin;\r\n var top = event.clientY;\r\n var left = event.clientX + 5;\r\n \r\n //move menu up if it clips out of frame\r\n if (event.clientY + menuHeight > windowHeight) {\r\n var difference = (event.clientY + menuHeight) - windowHeight;\r\n top = event.clientY - difference;\r\n }\r\n\r\n var styles = {\r\n top: top + \"px\",\r\n left: left + \"px\",\r\n };\r\n\r\n $menu.css(styles);\r\n //adds class 'visible' to element which animates it in with opacity and transform\r\n self.menuVisible(true);\r\n };\r\n\r\n //make sure selected submenu is fully inside viewport. Because the submenus are positioned\r\n //relative to the tree-select parent and not viewport, we use $el.position() to set new positions.\r\n self.positionSubMenu = function (data, event) {\r\n var $el = $(event.target).find( \"[data-jqposition]\" ).first();\r\n if (!$el.length)\r\n return;\r\n\r\n var windowHeight = $(window).height();\r\n var windowWidth = $(window).width();\r\n var rect = $el[0].getBoundingClientRect();\r\n var availableHeight = windowHeight - (self.safetyMargin * 2);\r\n var availableBottom = windowHeight - self.safetyMargin;\r\n\r\n //Menu is clipping outside of the left side of viewport\r\n //Move menu to right side\r\n if (rect.left + rect.width > windowWidth) {\r\n var styles = {\r\n right:\"100%\",\r\n left: \"unset\",\r\n };\r\n $el.css(styles);\r\n } \r\n\r\n //Menu is taller than max allowed height. We set height that fits viewport + a little padding.\r\n //We set a negative margin-right corresponding to scrollbar-width so we don't break hover on the scrollbar\r\n if (rect.height > availableHeight) {\r\n var delta = self.safetyMargin - rect.top;\r\n var top = $el.position().top + delta;\r\n var styles = {\r\n height: availableHeight + \"px\",\r\n };\r\n $el.children().css(styles);\r\n $el.css(\"top\", top + \"px\");\r\n return;\r\n }\r\n\r\n //Menu is poking below viewport. We move it up so it's bottom aligns with the viewport bottom padding.\r\n if (rect.bottom > availableBottom) {\r\n var delta = rect.bottom - availableBottom;\r\n var top = $el.position().top - delta;\r\n $el.css(\"top\", top + \"px\");\r\n return;\r\n } \r\n };\r\n}\r\n\r\nexport default { viewModel: ViewModel, template: template };","// Module\nvar code = \"\\r\\n

    Vessel access groups

    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n

    Manage vessel access group ''

    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Add vessel access group

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Rename vessel access group

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Remove access group

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Are you sure you want to permanently delete the access group ''?\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/help-prediction.4c3b6035.webp\";","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    TimestampFuel typeFuel
    density (at 15°C)
    Fuel
    bunkered/de-bunkered (MT)
    Sulphur content (%)
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \";\n// Exports\nmodule.exports = code;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAcCAMAAACAobU3AAAAolBMVEUAAAD7sjj7sTX7sDH92qD92Jv6ri76ri/6rzD7sDP7sDP6pxz6pxz6pxz93qn90438xWn6rCn7wFv7tkP7tUH6rzD6rzD7sTX7sDP6sDL7sDP6rzD6rzD6ri76qiX6qSD6pxz6pxz////6pxz+9OP//vv8w2P6rCf//Pf/+/T/9un804394rT94K76rzD6ri7+8+D+7tP+68v+5r/8xmz6qB+39mH5AAAAInRSTlMA7fDv/v7t59i4nigeE/799fX08+/p5LOkl5WJg3NOMh0Gg7ugCAAAAJJJREFUGNO9zkUWg0AURNGPEyTunqIVje5/a6HDYcIC8kZ3UIOiQbfN7Nh7NOHzQ8fTFFCLs2FiawB3PzWLEkpoeFuieAm8PwLcTiiq8JKZLDHe0UqhkY2UXAdkAzljLAdsstBnDcwLIUTBf2aZif3dvG5Zmw8OkLuFx8zn8ImuR0ix7+pWqnIuROl+7VhWEF3pC5K0HohQeyR9AAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"img/help-plot.627e92ea.webp\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAaNJREFUeNpiZMAB1CYkKQCpACDWB2IFqPADIL4IxBtuFcx7gE0fIw6D6oE4gQE/WADEjegGM6IZ5gCk1gOxAANx4AMQJwIN3YBhINSw/QzkgUCYoYxQw0Auuk+Cy7C51BDkfSaoQD8phsUbujJoisohCwlAw52BEeq698QaFqRlzdDumsTw6ec3hri13QzXXz9ClhZkgiYNooCZjDrYMDwggAkpjcGBi7IhAx87F4oYyItTfXLg/PZDK9BdBwIKIAPl0b0E0rgouBRuqDSfCAq/cvc8hnXXjmJzoT0TNIbgIM7ABe6iSrsIsCFTfbLhhi08vxuXYeDYBhn4EcVApIAGuXZvYic8RkEGtQG9igdcBBl4AVkEFHuVu+eDaRCAuQxkCcirBMAFWMJ+j54OQa6ChRvIMJDLYZbgSdyKsIQ9EV0W5iKQIdlbphIyDGwGMKd8QM5657ElISLBA2jWA0cKA4gByuDoMU5CPg6EmsEA8zLIUFDkOEJtI8VljlC9OAtYkPcLgDgfT4HxARruE2Auw2kglgLXAU34ANCQA7j0AAQYADiBobRmfmESAAAAAElFTkSuQmCC\"","import store from \"@/store\";\r\n\r\nexport default function authHeader(): unknown {\r\n const acessToken = store.getters[\"Auth/getAccessToken\"];\r\n if (acessToken) {\r\n return { Authorization: \"Bearer \" + acessToken };\r\n } else {\r\n return {};\r\n }\r\n}\r\n","import net from \"App/net\";\r\n\r\nvar VesselHistoriesClient = function() {\r\n};\r\n\r\nVesselHistoriesClient.prototype.getVesselHistoryAdditionals = function(vesselHistoryId) {\r\n return net.get(\"/VesselHistoryAdditional/Find/\" + vesselHistoryId);\r\n};\r\n\r\nVesselHistoriesClient.prototype.getVesselHistories = function (vesselId, fromDate, toDate) {\r\n var filter = {\r\n vesselId: vesselId,\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n };\r\n return net.get(\"/VesselHistories/Find\", filter);\r\n};\r\n\r\nVesselHistoriesClient.prototype.getLatestVesselHistory = function (vesselId) {\r\n return net.get(\"/VesselHistories/Latest/\" + vesselId);\r\n};\r\n\r\nexport default new VesselHistoriesClient();","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport VesselHistoriesClient from \"Clients/vessel-histories-client\";\r\nimport { VesselHistories, VesselHistory, VesselHistoryAdditional } from \"@/types/vesselHistory\";\r\nimport moment from \"moment\";\r\nimport { Vessel } from \"@/types/Vessel\";\r\n\r\n@Module({ namespaced: true, name: \"VesselsHistories\" })\r\nclass VesselsHistories extends VuexModule {\r\n //all stored vessel histories for all vessels\r\n private _vesselsHistories: VesselHistories[] = [];\r\n\r\n @Mutation\r\n public ADD_VESSEL_HISTORIES(vesselHistories: VesselHistories): void {\r\n this._vesselsHistories.push(vesselHistories);\r\n }\r\n\r\n //loads vessel histories from store if stored, else from database\r\n @Action({ rawError: true })\r\n public async getVesselHistories(input: { vessel: Vessel; timespan: number }): Promise {\r\n const vesselId = input.vessel.id;\r\n const timespan = input.timespan;\r\n\r\n let data = this._vesselsHistories.find(\r\n vesselHistories => vesselHistories.vesselId === vesselId,\r\n );\r\n\r\n if (!data) {\r\n const toDate = moment(input.vessel.lastExportDate);\r\n const fromDate = toDate.clone().subtract(timespan, \"days\");\r\n\r\n try {\r\n data = {\r\n vesselHistories: await VesselHistoriesClient.getVesselHistories(\r\n vesselId,\r\n fromDate.format(\"YYYY-MM-DDTHH:mm:ss[Z]\"),\r\n toDate.format(\"YYYY-MM-DDTHH:mm:ss[Z]\"),\r\n ),\r\n vesselId,\r\n timespan,\r\n };\r\n } catch (err) {\r\n data = {\r\n vesselHistories: [],\r\n vesselId,\r\n timespan,\r\n };\r\n\r\n console.warn((err as any).statusText);\r\n }\r\n\r\n this.context.commit(\"ADD_VESSEL_HISTORIES\", data);\r\n }\r\n\r\n return data;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getLatestVesselHistory(vesselId: number): Promise {\r\n try {\r\n return await VesselHistoriesClient.getLatestVesselHistory(vesselId);\r\n } catch (error) {\r\n return Promise.reject(`Failed to load latest vessel history: ${error}`);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getVesselHistoryAdditionals(vesselHistoryId: number): Promise {\r\n try {\r\n const vesselHistoryAdditionals = await VesselHistoriesClient.getVesselHistoryAdditionals(vesselHistoryId);\r\n return vesselHistoryAdditionals;\r\n } catch (error) {\r\n return Promise.reject(`Failed to load vessel history additional information: ${error}`);\r\n }\r\n }\r\n\r\n public get vesselsHistories(): VesselHistories[] {\r\n return this._vesselsHistories;\r\n }\r\n}\r\n\r\nexport default VesselsHistories;\r\n","// Module\nvar code = \"
    \\r\\n
    \\r\\n Port of\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n []\\r\\n (MRV Port of Call)\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n []\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    0\\\">\\r\\n It looks like it could be one of the following ports, please select the correct one:
    \\r\\n

    \\r\\n

    \\r\\n

    \\r\\n Based on your input, we will search for matching ports and display them here.\\r\\n

    \\r\\n

    \\r\\n searching...\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"neutralDark50\",attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[_c('v-card',{staticClass:\"mx-auto login-card\",attrs:{\"max-width\":\"350px\",\"width\":\"100%\"}},[_c('v-img',{staticClass:\"mx-5\",attrs:{\"src\":require(\"@/assets/images/danelec-logos/danelec-logo-orange2.svg\"),\"height\":\"120\",\"contain\":\"\"}}),(!_vm.forgotPassword)?_c('v-form',{attrs:{\"id\":\"login-form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleLogin.apply(null, arguments)}},model:{value:(_vm.validLogin),callback:function ($$v) {_vm.validLogin=$$v},expression:\"validLogin\"}},[_c('v-card-text',{staticClass:\"pt-0\"},[_c('v-text-field',{class:{ 'v-input--autofilled': _vm.isUsernameAutofilled },attrs:{\"label\":\"Username\",\"name\":\"username\",\"prepend-icon\":\"mdi-account\",\"rules\":[_vm.usernameRules.required],\"type\":\"email\"},model:{value:(_vm.user.username),callback:function ($$v) {_vm.$set(_vm.user, \"username\", $$v)},expression:\"user.username\"}}),_c('v-text-field',{class:{ 'v-input--autofilled': _vm.isPasswordAutofilled },attrs:{\"label\":\"Password\",\"name\":\"password\",\"prepend-icon\":\"mdi-lock\",\"append-icon\":_vm.showPassword ? 'mdi-eye' : 'mdi-eye-off',\"rules\":[_vm.passwordRules.required],\"type\":_vm.showPassword ? 'text' : 'password'},on:{\"click:append\":function($event){_vm.showPassword = !_vm.showPassword}},model:{value:(_vm.user.password),callback:function ($$v) {_vm.$set(_vm.user, \"password\", $$v)},expression:\"user.password\"}}),_c('v-checkbox',{attrs:{\"light\":\"light\",\"label\":\"Remember me\",\"hide-details\":\"hide-details\"},model:{value:(_vm.user.persist),callback:function ($$v) {_vm.$set(_vm.user, \"persist\", $$v)},expression:\"user.persist\"}}),(_vm.message)?_c('v-alert',{staticClass:\"mb-0 mt-2\",attrs:{\"outlined\":\"\",\"type\":\"error\",\"dense\":\"\",\"border\":\"left\"}},[_vm._v(_vm._s(_vm.message)+\" \")]):_vm._e()],1),_c('v-card-actions',[_c('v-row',{attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-center\"},[_c('div',{staticClass:\"my-2\"},[_c('v-btn',{staticClass:\"font-weight-semibold\",attrs:{\"type\":\"submit\",\"form\":\"login-form\",\"color\":\"accent\",\"block\":\"\",\"loading\":_vm.loading,\"disabled\":!_vm.validLogin}},[_vm._v(\"Log in \")])],1),_c('v-btn',{staticClass:\"font-weight-semibold\",attrs:{\"color\":\"primary\",\"small\":\"\",\"text\":\"\"},on:{\"click\":function($event){_vm.forgotPassword = true}}},[_vm._v(\"Forgot password \")])],1)],1)],1)],1):_vm._e(),(_vm.forgotPassword)?_c('v-form',{staticClass:\"mt-2\",attrs:{\"id\":\"forgot-password-form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleForgotPassword.apply(null, arguments)}},model:{value:(_vm.validResetPassword),callback:function ($$v) {_vm.validResetPassword=$$v},expression:\"validResetPassword\"}},[_c('v-card-text',[_c('v-card-title',{staticClass:\"justify-center mb-2 pt-0\"},[_vm._v(\"Forgot password\")]),_c('v-card-subtitle',{staticClass:\"text-center\"},[_vm._v(\"Enter your email and we will send you a link to reset your password.\")]),_c('v-text-field',{staticClass:\"mb-2\",attrs:{\"label\":\"Email\",\"name\":\"username\",\"prepend-icon\":\"mdi-email\",\"rules\":[_vm.emailRules.required, _vm.emailRules.valid],\"type\":\"text\"},model:{value:(_vm.forgotPasswordEmail),callback:function ($$v) {_vm.forgotPasswordEmail=$$v},expression:\"forgotPasswordEmail\"}}),(_vm.submittedEmail)?_c('v-alert',{attrs:{\"outlined\":\"\",\"type\":_vm.forgotPasswordAlertType,\"dense\":\"\",\"border\":\"left\"}},[_vm._v(_vm._s(_vm.forgotPasswordResponse)+\" \")]):_vm._e()],1),_c('v-card-actions',[_c('v-row',{attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-center\"},[_c('div',{staticClass:\"my-2\"},[_c('v-btn',{staticClass:\"font-weight-semibold\",attrs:{\"type\":\"submit\",\"form\":\"forgot-password-form\",\"color\":\"accent\",\"block\":\"\",\"loading\":_vm.submittingEmail,\"disabled\":!_vm.validResetPassword}},[_vm._v(\"Reset password \")])],1),_c('v-btn',{staticClass:\"font-weight-semibold\",attrs:{\"color\":\"primary\",\"small\":\"\",\"text\":\"\"},on:{\"click\":function($event){_vm.forgotPassword = false}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-chevron-left\")]),_vm._v(\" Back to login \")],1)],1)],1)],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport store from \"@/store\";\nimport { getModule } from \"vuex-module-decorators\";\nimport AuthModule from \"@/store/clients/Auth.module\";\nimport { LoginData } from \"@/types/loginData\";\n\nconst Auth = getModule(AuthModule, store);\n\n@Component\nexport default class Login extends Vue {\n //data to send\n user: LoginData = { username: \"\", password: \"\", persist: true };\n //login form state\n validLogin = true;\n //reset password state\n validResetPassword = true;\n //state loading login\n loading = false;\n //error message if login fails\n message = \"\";\n //toggle input type to reveal password\n showPassword = false;\n //state toggle between login and forgot password screens\n forgotPassword = false;\n //data to send in forgot email\n forgotPasswordEmail = \"\";\n //state submittet forgot passwor email\n submittedEmail = false;\n //state submitting forgot passwor email\n submittingEmail = false;\n //alert is either success or error\n forgotPasswordAlertType = \"success\";\n //alert message after submitting forgot password email, fetched from network response\n forgotPasswordResponse = \"\";\n isUsernameAutofilled = false;\n isPasswordAutofilled = false;\n //input validation\n usernameRules = {\n required: (value: string) => !!value || \"Username required\",\n };\n emailRules = {\n required: (value: string) => !!value || \"Email required\",\n valid: (value: string) => /^([\\w\\.\\-\\+]+)@([\\w\\-]+)((\\.(\\w){2,6})+)$/.test(value) || \"Email must be valid\",\n };\n passwordRules = {\n required: (value: string) => !!value || \"Password required\",\n };\n\n get isLoggedIn(): boolean {\n return Auth.isLoggedIn;\n }\n\n created(): void {\n //redirect to frontpage if already logged in\n if (this.isLoggedIn) {\n this.$router.push(\"/\").catch(error => {});\n }\n }\n\n handleLogin(): void {\n this.loading = true;\n this.message = \"\";\n if (this.user.username && this.user.password) {\n Auth.login(this.user).then(\n data => {\n //we do the catch here to swallow an error thrown if user is redirected to kognifai\n this.$router.push(\"/\").catch(error => {});\n },\n error => {\n this.loading = false;\n this.message = error;\n }\n );\n }\n }\n\n handleForgotPassword(): void {\n this.forgotPasswordResponse = \"\";\n this.forgotPasswordAlertType = \"success\";\n this.submittedEmail = false;\n this.submittingEmail = true;\n Auth.lostPassword(this.forgotPasswordEmail).then(\n response => {\n this.forgotPasswordResponse = response;\n this.submittedEmail = true;\n this.submittingEmail = false;\n },\n error => {\n this.forgotPasswordAlertType = \"error\";\n this.forgotPasswordResponse = error.responseJSON;\n this.submittedEmail = true;\n this.submittingEmail = false;\n }\n );\n }\n\n checkAutofilledInputs(): void {\n setTimeout(() => {\n const usernameInput = document.querySelector(\"input[type='email']:-webkit-autofill\");\n const passwordInput = document.querySelector(\"input[type='password']:-webkit-autofill\");\n if (usernameInput) this.isUsernameAutofilled = true;\n if (passwordInput) this.isPasswordAutofilled = true;\n this.validLogin = true;\n }, 300);\n }\n\n mounted(): void {\n this.checkAutofilledInputs();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=3fc04f1c&scoped=true&\"\nimport script from \"./Login.vue?vue&type=script&lang=ts&\"\nexport * from \"./Login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=3fc04f1c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3fc04f1c\",\n 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 { VCardSubtitle } 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 { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardSubtitle,VCardText,VCardTitle,VCheckbox,VCol,VContainer,VForm,VIcon,VImg,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"neutralDark50\",attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[(!_vm.incompleteLink)?_c('v-card',{staticClass:\"mx-auto login-card\",attrs:{\"max-width\":\"350px\",\"width\":\"100%\"}},[_c('v-img',{staticClass:\"mx-5\",attrs:{\"src\":require(\"@/assets/images/danelec-logos/danelec-logo-orange2.svg\"),\"height\":\"120\",\"contain\":\"\"}}),_c('v-form',{attrs:{\"disabled\":_vm.submitting,\"id\":\"reset-password-form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleResetPassword.apply(null, arguments)}},model:{value:(_vm.isFormValid),callback:function ($$v) {_vm.isFormValid=$$v},expression:\"isFormValid\"}},[_c('v-card-text',{staticClass:\"pt-0\"},[_c('v-card-title',{staticClass:\"justify-center mb-2 pt-0\"},[_vm._v(\"Create new password\")]),_c('v-card-subtitle',{staticClass:\"text-center\"},[_vm._v(\"Password must be at least \"+_vm._s(_vm.minimumPasswordLength)+\" characters\")]),(!_vm.submittedSuccess)?[_c('v-text-field',{staticClass:\"mb-2\",attrs:{\"label\":\"Enter a new password\",\"name\":Math.random(),\"autocomplete\":\"new-password\",\"prepend-icon\":\"mdi-lock-plus\",\"append-icon\":_vm.showPassword ? 'mdi-eye' : 'mdi-eye-off',\"rules\":[_vm.passwordRules.required, _vm.passwordRules.valid],\"type\":_vm.showPassword ? 'text' : 'password',\"hint\":'must be at least ' + _vm.minimumPasswordLength + ' characters'},on:{\"click:append\":function($event){_vm.showPassword = !_vm.showPassword}},model:{value:(_vm.payload.password),callback:function ($$v) {_vm.$set(_vm.payload, \"password\", $$v)},expression:\"payload.password\"}}),_c('v-text-field',{staticClass:\"mb-2\",attrs:{\"label\":\"Confirm password\",\"name\":Math.random(),\"autocomplete\":\"new-password-repeat\",\"prepend-icon\":_vm.passwordsEqualBool ? 'mdi-lock-check' : 'mdi-lock-question',\"type\":\"password\",\"rules\":[_vm.passwordsEqual]},model:{value:(_vm.repeatPassword),callback:function ($$v) {_vm.repeatPassword=$$v},expression:\"repeatPassword\"}})]:_vm._e(),(_vm.submitted)?_c('v-alert',{attrs:{\"outlined\":\"\",\"type\":_vm.alertType,\"dense\":\"\",\"border\":\"left\"}},[(_vm.alertType === 'error')?[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.errorResponse.title))]),_c('ul',_vm._l((_vm.errorResponse.messages),function(message,index){return _c('li',{key:index},[_vm._v(\" \"+_vm._s(message)+\" \")])}),0)]:[_vm._v(\" \"+_vm._s(_vm.response)+\" \")]],2):_vm._e()],2),_c('v-card-actions',[_c('v-row',{attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-center\"},[_c('div',{staticClass:\"my-2\"},[(!_vm.submittedSuccess)?_c('v-btn',{staticClass:\"font-weight-semibold\",attrs:{\"type\":\"submit\",\"form\":\"reset-password-form\",\"color\":\"accent\",\"block\":\"\",\"loading\":_vm.submitting,\"disabled\":!_vm.isFormValid}},[_vm._v(\"Reset password \")]):_vm._e()],1),_c('v-btn',{staticClass:\"font-weight-semibold\",attrs:{\"color\":\"primary\",\"small\":\"\",\"text\":\"\",\"link\":\"\",\"to\":\"/login\"}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-chevron-left\")]),_vm._v(\" Back to login \")],1)],1)],1)],1)],1)],1):_vm._e(),(_vm.incompleteLink)?_c('v-card',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"500px\",\"width\":\"100%\"}},[_c('v-alert',{staticClass:\"mb-0\",attrs:{\"type\":\"error\"}},[_vm._v(\"Your password reset link appears to be incomplete. Please click the link you recieved in the email or copy and paste the full link into your browser. \")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport Utilities from \"@/utilities/utilities\";\nimport { FormattedError } from \"@/types/formattedError\";\nimport { ResetPasswordData } from \"@/types/resetPasswordData\";\nimport store from \"@/store\";\nimport { getModule } from \"vuex-module-decorators\";\nimport AuthModule from \"@/store/clients/Auth.module\";\n\nconst Auth = getModule(AuthModule, store);\n\n@Component\nexport default class ResetPassword extends Vue {\n //data to send\n payload: ResetPasswordData = { username: \"\", token: \"\", password: \"\" };\n //change this if we want to alter password minimum length frontend. Currently it is 6 on the server\n minimumPasswordLength = 6;\n //form state\n isFormValid = true;\n //true if user enters /ResetPassword without valid params in url\n incompleteLink = false;\n //toggle input type to reveal password\n showPassword = false;\n //holds the confirm password string\n repeatPassword = \"\";\n //state submitted\n submitted = false;\n //state submitting\n submitting = false;\n //state successfully changed password (removes inputs)\n submittedSuccess = false;\n //alert is either success or error\n alertType = \"success\";\n //response is string when success or object when error\n response = \"\";\n errorResponse!: FormattedError;\n //input validation\n passwordRules = {\n required: (value: string) => !!value || \"Password required\",\n valid: (value: string) => value.length >= this.minimumPasswordLength || `Password must be at least ${this.minimumPasswordLength} characters`,\n };\n\n //validate if passwords are equal\n get passwordsEqual(): boolean | string {\n return this.passwordsEqualBool || \"Password mismatch\";\n }\n\n get passwordsEqualBool(): boolean {\n return this.repeatPassword === this.payload.password;\n }\n\n created(): void {\n const query = this.$route.query;\n if (!query.username || !query.token) {\n this.incompleteLink = true;\n return;\n }\n this.payload.username = String(query.username);\n this.payload.token = String(query.token);\n }\n\n handleResetPassword(): void {\n this.response = \"\";\n this.alertType = \"success\";\n this.submitted = false;\n this.submitting = true;\n Auth.resetPassword(this.payload).then(\n response => {\n this.response = response;\n this.submitted = true;\n this.submitting = false;\n this.submittedSuccess = true;\n },\n error => {\n this.alertType = \"error\";\n this.errorResponse = Utilities.formatError(error);\n this.submitted = true;\n this.submitting = false;\n }\n );\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResetPassword.vue?vue&type=template&id=f3a727c0&\"\nimport script from \"./ResetPassword.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResetPassword.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ResetPassword.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\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 { VCardSubtitle } 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 { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardSubtitle,VCardText,VCardTitle,VCol,VContainer,VForm,VIcon,VImg,VRow,VTextField})\n","import Vue from \"vue\";\r\nimport VueRouter, { RouteConfig } from \"vue-router\";\r\nimport Store from \"@/store\";\r\nimport Login from \"@/views/account/Login.vue\";\r\nimport ResetPassword from \"@/views/account/ResetPassword.vue\";\r\nimport { getModule } from \"vuex-module-decorators\";\r\nimport AuthModule from \"@/store/clients/Auth.module\";\r\nimport UserModule from \"@/store/clients/User.module\";\r\n\r\nconst Auth = getModule(AuthModule, Store);\r\nconst User = getModule(UserModule, Store);\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes: Array = [\r\n {\r\n path: \"/login\",\r\n name: \"login\",\r\n meta: {\r\n title: \"Login\",\r\n },\r\n component: Login,\r\n },\r\n {\r\n path: \"/Account/ResetPassword\",\r\n name: \"ResetPassword\",\r\n meta: {\r\n title: \"Reset Password\",\r\n },\r\n component: ResetPassword,\r\n },\r\n {\r\n path: \"/\",\r\n name: \"Dashboard\",\r\n meta: {\r\n title: \"Dashboard\",\r\n },\r\n component: () => import(\"../views/Dashboard.vue\"),\r\n },\r\n {\r\n path: \"/VesselOverview\",\r\n name: \"VesselOverview\",\r\n meta: {\r\n title: \"Vessel Overview\",\r\n },\r\n component: () => import(\"../views/VesselOverview.vue\"),\r\n },\r\n {\r\n path: \"/Help\",\r\n component: () => import(\"../views/help/HelpPage.vue\"),\r\n children: [\r\n { path: \"\", redirect: { name: \"VersionHistory\" } },\r\n {\r\n path: \"VersionHistory\",\r\n name: \"VersionHistory\",\r\n meta: { title: \"Version History | Help\" },\r\n component: () => import(\"../views/help/VersionHistory.vue\"),\r\n },\r\n {\r\n path: \"GettingStarted\",\r\n meta: { title: \"Getting Started | Help\" },\r\n component: () => import(\"../views/help/GettingStarted.vue\"),\r\n },\r\n {\r\n path: \"CII\",\r\n meta: { title: \"CII | Help\" },\r\n component: () => import(\"../views/help/CII.vue\"),\r\n },\r\n {\r\n path: \"Basic\",\r\n meta: { title: \"Basic | Help\" },\r\n component: () => import(\"../views/help/Basic.vue\"),\r\n },\r\n {\r\n path: \"Diagnostics\",\r\n meta: { title: \"Diagnostics | Help\" },\r\n component: () => import(\"../views/help/Diagnostics.vue\"),\r\n },\r\n {\r\n path: \"Fouling\",\r\n meta: { title: \"Fouling | Help\" },\r\n component: () => import(\"../views/help/Fouling.vue\"),\r\n },\r\n {\r\n path: \"Compare\",\r\n meta: { title: \"Compare | Help\" },\r\n component: () => import(\"../views/help/Compare.vue\"),\r\n },\r\n {\r\n path: \"CharterParty\",\r\n meta: { title: \"Charter Party | Help\" },\r\n component: () => import(\"../views/help/CharterParty.vue\"),\r\n },\r\n {\r\n path: \"Notifications\",\r\n meta: { title: \"Notifications | Help\" },\r\n component: () => import(\"../views/help/Notifications.vue\"),\r\n },\r\n {\r\n path: \"EmissionReport\",\r\n meta: { title: \"Emission Report | Help\" },\r\n component: () => import(\"../views/help/EmissionReport.vue\"),\r\n },\r\n {\r\n path: \"FAQ\",\r\n meta: { title: \"FAQ | Help\" },\r\n component: () => import(\"../views/help/FAQ.vue\"),\r\n },\r\n ],\r\n },\r\n {\r\n path: \"/Vessel/:vesselId/:vesselName\",\r\n component: () => import(\"../views/vessel/Vessel.vue\"),\r\n children: [\r\n { path: \"\", redirect: { name: \"Info\" } },\r\n { path: \"Info\", name: \"Info\", meta: { subTitle: \"Info\", title: \"Info\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/VesselInfo.vue\") },\r\n { path: \"Notes\", name: \"Notes\", meta: { subTitle: \"Notes\", title: \"Notes\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/VesselNotes.vue\") },\r\n { path: \"VesselFiles\", name: \"VesselFiles\", meta: { subTitle: \"Documents\", title: \"Documents\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/VesselFiles.vue\") },\r\n { path: \"Report\", name: \"Report\", meta: { subTitle: \"Reports\", title: \"Report\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/Report.vue\") },\r\n { path: \"Shapoli\", name: \"Shapoli\", meta: { subTitle: \"EEXI ShaPoLi\", title: \"EEXI ShaPoLi\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/Shapoli.vue\") },\r\n { path: \"LoggingHistory\", name: \"LoggingHistory\", meta: { subTitle: \"Logging History\", title: \"Logging History\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/LoggingHistory.vue\") },\r\n { path: \"LongTrend\", name: \"LongTrend\", meta: { subTitle: \"Long Trend\", title: \"Long Trend\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/LongTrend.vue\") },\r\n { path: \"Diagnostics\", name: \"Diagnostics\", meta: { subTitle: \"Diagnostics\", title: \"Diagnostics\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/Diagnostics/index.vue\") },\r\n { path: \"Fouling\", name: \"Fouling\", meta: { subTitle: \"Fouling\", title: \"Fouling\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/Fouling.vue\") },\r\n { path: \"EmissionsCompliance\", name: \"EmissionsCompliance\", meta: { subTitle: \"Emissions Compliance\", title: \"Emissions Compliance\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/EmissionsCompliance.vue\") },\r\n { path: \"FeatureMapping\", name: \"FeatureMapping\", meta: { subTitle: \"Feature Mapping\", title: \"Feature Mapping\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/FeatureMapping.vue\") },\r\n { path: \"Fouling/Diagnostics\", name: \"FoulingDiagnostics\", meta: { subTitle: \"FoulingDiagnostics\", title: \"FoulingDiagnostics\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/FoulingDiagnostics.vue\") },\r\n { path: \"EmissionReport\", name: \"EmissionReport\", meta: { subTitle: \"Emission Report\", title: \"Emission Report\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/EmissionReport.vue\") },\r\n { path: \"CharterParty\", name: \"CharterParty\", meta: { subTitle: \"Charter Party\", title: \"Charter Party\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/CharterParty.vue\") },\r\n { path: \"DataAnalysis\", name: \"DataAnalysis\", meta: { subTitle: \"Data Analysis\", title: \"Data Analysis\", parent: \"Vessel\" }, component: () => import(\"../views/vessel/DataAnalysis.vue\") },\r\n ],\r\n },\r\n {\r\n path: \"/Users\",\r\n name: \"Users\",\r\n meta: {\r\n title: \"Users\",\r\n },\r\n component: () => import(\"../views/profile/Users.vue\"),\r\n },\r\n {\r\n path: \"/MyProfile\",\r\n name: \"MyProfile\",\r\n meta: {\r\n title: \"Profile\",\r\n },\r\n component: () => import(\"../views/profile/MyProfile.vue\"),\r\n },\r\n {\r\n path: \"/Company\",\r\n name: \"company\",\r\n meta: {\r\n title: \"Company\",\r\n },\r\n component: () => import(\"../views/company/CompanyManager.vue\"),\r\n },\r\n {\r\n path: \"/DataQuality/\",\r\n component: () => import(\"../views/dataQuality/DataQuality.vue\"),\r\n children: [\r\n { path: \"\", redirect: { name: \"FleetOverview\" } },\r\n {\r\n path: \"FleetOverview\",\r\n name: \"FleetOverview\",\r\n meta: {\r\n subTitle: \"FleetOverview\",\r\n title: \"Fleet Overview\",\r\n parent: \"DataQuality\",\r\n },\r\n component: () => import(\"../views/dataQuality/FleetOverview.vue\"),\r\n },\r\n {\r\n path: \"DataAvailability\",\r\n name: \"DataAvailability\",\r\n meta: {\r\n subTitle: \"DataAvailability\",\r\n title: \"Data Availability\",\r\n parent: \"DataQuality\",\r\n },\r\n component: () => import(\"../views/dataQuality/DataAvailability.vue\"),\r\n },\r\n {\r\n path: \"DataOutliers\",\r\n name: \"DataOutliers\",\r\n meta: {\r\n subTitle: \"DataOutliers\",\r\n title: \"Data Outliers\",\r\n parent: \"DataQuality\",\r\n },\r\n component: () => import(\"../views/dataQuality/DataOutliers.vue\"),\r\n },\r\n {\r\n path: \"SpeedLog\",\r\n name: \"SpeedLog\",\r\n meta: {\r\n subTitle: \"SpeedLog\",\r\n title: \"Speed Log\",\r\n parent: \"DataQuality\",\r\n },\r\n component: () => import(\"../views/dataQuality/SpeedLog.vue\"),\r\n },\r\n ],\r\n },\r\n {\r\n path: \"/VesselAdministration\",\r\n name: \"VesselAdministration\",\r\n meta: {\r\n title: \"Vessel Administration\",\r\n },\r\n component: () => import(\"../views/vesseladmin/VesselAdministration.vue\"),\r\n },\r\n {\r\n path: \"/ReferenceCurves/PowerSpeed\",\r\n name: \"Power - Speed\",\r\n meta: {\r\n title: \"Reference Curves | Power - Speed\",\r\n },\r\n component: () => import(\"../views/referencecurves/PowerSpeed.vue\"),\r\n },\r\n {\r\n path: \"/ReferenceCurves/SFOC\",\r\n name: \"SFOC - Power\",\r\n meta: {\r\n title: \"Reference Curves | SFOC - Power\",\r\n },\r\n component: () => import(\"../views/referencecurves/SFOC.vue\"),\r\n },\r\n {\r\n path: \"/VesselGroups\",\r\n name: \"VesselGroups\",\r\n meta: {\r\n title: \"Vessel Groups\",\r\n },\r\n component: () => import(\"../views/vesseladmin/VesselGroups.vue\"),\r\n },\r\n {\r\n path: \"/VesselAccessControl\",\r\n name: \"VesselAccessControl\",\r\n meta: {\r\n title: \"Vessel Access Control\",\r\n },\r\n component: () => import(\"../views/vesseladmin/VesselAccessControl.vue\"),\r\n },\r\n {\r\n path: \"/ImportStatus\",\r\n name: \"ImportStatus\",\r\n meta: {\r\n title: \"Import Status\",\r\n },\r\n component: () => import(\"../views/importstatus/ImportStatus.vue\"),\r\n },\r\n {\r\n path: \"/Taxonomy\",\r\n name: \"Taxonomy\",\r\n meta: {\r\n title: \"Taxonomy\",\r\n },\r\n component: () => import(\"../views/Taxonomy.vue\"),\r\n },\r\n {\r\n path: \"/Announcement\",\r\n name: \"Announcement\",\r\n meta: {\r\n title: \"Announcement\",\r\n },\r\n component: () => import(\"../views/Announcement/AnnouncementTableView.vue\"),\r\n },\r\n {\r\n path: \"/MyNotifications\",\r\n name: \"MyNotifications\",\r\n meta: {\r\n title: \"Notifications\",\r\n },\r\n component: () => import(\"../views/MyNotifications/index.vue\"),\r\n },\r\n {\r\n path: \"/MyNotifications/AddNotification\",\r\n name: \"AddNotification\",\r\n meta: {\r\n title: \"Add Notification\",\r\n },\r\n component: () => import(\"../views/MyNotifications/AddNotification.vue\"),\r\n },\r\n {\r\n path: \"/About\",\r\n name: \"About\",\r\n meta: {\r\n title: \"About\",\r\n },\r\n component: () => import(\"../views/About.vue\"),\r\n },\r\n {\r\n path: \"/Kognifai\",\r\n name: \"Kognifai\",\r\n meta: {\r\n title: \"Kognifai\",\r\n },\r\n component: () => import(\"../views/kognifai/DataAnalysis.vue\"),\r\n beforeEnter(to, from, next) {\r\n if (User.isKognifai) {\r\n next();\r\n } else {\r\n next(\"/\");\r\n }\r\n },\r\n },\r\n {\r\n path: \"*\",\r\n name: \"NotFound\",\r\n meta: {\r\n title: \"Not Found\",\r\n },\r\n component: () => import(\"../views/NotFound.vue\"),\r\n },\r\n];\r\n\r\nconst router = new VueRouter({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n routes,\r\n scrollBehavior(to, from, savedPosition) {\r\n if (savedPosition) {\r\n return savedPosition;\r\n } else {\r\n return { x: 0, y: 0 };\r\n }\r\n },\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n const publicPages = [\"/login\", \"/Account/ResetPassword\"];\r\n const authRequired = !publicPages.includes(to.path);\r\n\r\n // trying to access a restricted page + not logged in\r\n // redirect to login page\r\n if (authRequired && !Auth.isLoggedIn) {\r\n return next(\"/login\");\r\n //make sure user is valid and exists\r\n } else if (authRequired && User.userExpired) {\r\n User.getUser()\r\n .then(() => {\r\n if (User.isKognifai && to.name !== \"Kognifai\") {\r\n return next(\"/Kognifai\");\r\n } else {\r\n return next();\r\n }\r\n })\r\n .catch(() => { });\r\n } else if (User.isKognifai && to.name !== \"Kognifai\") {\r\n return next(\"/Kognifai\");\r\n } else {\r\n return next();\r\n }\r\n});\r\n\r\nrouter.afterEach((to, from) => {\r\n if (to.meta?.parent === \"Vessel\") {\r\n document.title = to.meta.title + \" | \" + to.params.vesselName + \" | Danelec Fleet Insights\";\r\n } else {\r\n document.title = to.meta?.title + \" | Danelec Fleet Insights\";\r\n }\r\n});\r\n\r\nexport default router;\r\n","import net from \"@/Scripts/app/net\";\r\n/* eslint-disable */\r\nclass FeatureMapClient {\r\n constructor() {}\r\n\r\n getFeatureMapList(vesselid) {\r\n return net.get(`/featuremapping/configuration?vesselid=${vesselid}`);\r\n }\r\n}\r\n\r\nexport default new FeatureMapClient();\r\n","import { Action, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\r\nimport featureMapClient from \"Clients/feature-map-client.js\";\r\nimport { FeatureMapItem } from \"@/types/FeatureMap\";\r\n\r\n@Module({ namespaced: true, name: \"FeatureMap\" })\r\nclass FeatureMap extends VuexModule {\r\n private _featureMapListLoadingState = false;\r\n private _featureMapList: FeatureMapItem[] = [];\r\n\r\n // @Getters\r\n public get featureMapList(): FeatureMapItem[] {\r\n return this._featureMapList;\r\n }\r\n\r\n public get featureMapListLoadingState(): boolean {\r\n return this._featureMapListLoadingState;\r\n }\r\n\r\n // @Actions\r\n @Action({ rawError: true })\r\n public async fetchFeatureMapList(vesselId: number): Promise {\r\n try {\r\n this.context.commit(\"SET_LOADING_STATE\", true);\r\n let featureMapList = await featureMapClient.getFeatureMapList(vesselId);\r\n this.context.commit(\"FETCH_FEATURE_MAP_LIST\", featureMapList);\r\n this.context.commit(\"SET_LOADING_STATE\", false);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch features mapping -> \", error });\r\n }\r\n }\r\n\r\n // @Mutations\r\n\r\n @Mutation\r\n public FETCH_FEATURE_MAP_LIST(featureMapList: FeatureMapItem[]): void {\r\n this._featureMapList = featureMapList;\r\n }\r\n @Mutation\r\n public SET_LOADING_STATE(loading: boolean): void {\r\n this._featureMapListLoadingState = loading;\r\n }\r\n\r\n}\r\n\r\nexport default FeatureMap;\r\n","import { VuexModule, Module } from \"vuex-module-decorators\";\r\nimport { WidgetType } from \"@/types/widgetType\";\r\nconst tableWidgetIllustration = require(\"@/assets/images/widgets/table-widget-illustration-1.png\");\r\nconst graphWidgetIllustration = require(\"@/assets/images/widgets/graph-widget-illustration-1.png\");\r\nconst mapWidgetIllustration = require(\"@/assets/images/widgets/map-widget-illustration-1.png\");\r\nconst performanceStatusWidgetIllustration = require(\"@/assets/images/widgets/performance-status-widget-illustration-1.png\");\r\nconst notificationWidgetIllustration = require(\"@/assets/images/widgets/notification-widget-illustration.png\");\r\nconst ciiWidgetTableViewIllustration = require(\"@/assets/images/widgets/cii-widget-tableview.png\");\r\nconst ciiWidgetChartViewIllustration = require(\"@/assets/images/widgets/cii-widget-chartview.png\");\r\nconst foulingWidgetViewIllustration = require(\"@/assets/images/widgets/fouling-overview-widget-illustration.png\");\r\n\r\n@Module({ namespaced: true, name: \"WidgetTypes\" })\r\nclass WidgetTypes extends VuexModule {\r\n private _startup: WidgetType = {\r\n defaultName: \"Welcome\",\r\n template: \"WelcomeWidget\",\r\n defaultWidth: 20,\r\n defaultHeight: 12,\r\n icon: \"mdi-human-greeting\",\r\n multiple: true,\r\n description: \"\",\r\n images: [\r\n \"https://images.pexels.com/photos/128299/pexels-photo-128299.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260\",\r\n ],\r\n usingConfig: false,\r\n enabled: true,\r\n };\r\n\r\n private _VesselDataTable: WidgetType = {\r\n defaultName: \"Vessel data (table)\",\r\n template: \"VesselDataWidget\",\r\n displayType: \"VesselDataTable\",\r\n defaultWidth: 12,\r\n defaultHeight: 6,\r\n icon: \"mdi-table\",\r\n multiple: true,\r\n description:\r\n \"This widget allows comparisons to be made between vessels: select the vessels that you wish to compare, then add columns as required. In each column you can select one variable from each vessel. A timespan must be chosen for each column: The available options are last received value, last voyage average/accumulate, and last x hours average/accumulate. Note that if accumulate is chosen, only a restricted number of units are allowed. After clicking Save, the configuration will be stored, and the chosen data displayed as a table. Multiple instances of this widget may be created, each with their own configuration.\",\r\n images: [tableWidgetIllustration],\r\n usingConfig: true,\r\n enabled: true,\r\n };\r\n\r\n private _VesselDataGraph: WidgetType = {\r\n defaultName: \"Vessel data (graph)\",\r\n template: \"VesselDataWidget\",\r\n displayType: \"VesselDataGraph\",\r\n defaultWidth: 12,\r\n defaultHeight: 6,\r\n icon: \"mdi-chart-bar\",\r\n multiple: true,\r\n description:\r\n \"This widget allows comparisons to be made between vessels: select the vessels that you wish to compare. You can select one variable from each vessel. A timespan must be chosen for the comparison: The available options are last received value, last voyage average/accumulate, and last x hours average/accumulate. Note that if accumulate is chosen, only a restricted number of units are allowed. After clicking Save, the configuration will be stored, and the chosen data displayed as a graph. Multiple instances of this widget may be created, each with their own configuration.\",\r\n images: [graphWidgetIllustration],\r\n usingConfig: true,\r\n enabled: true,\r\n };\r\n\r\n private _map: WidgetType = {\r\n defaultName: \"Vessel map\",\r\n template: \"MapWidget\",\r\n defaultWidth: 9,\r\n defaultHeight: 9,\r\n icon: \"public\",\r\n multiple: false,\r\n description:\r\n \"This widget is a simple map. By default, the map displays all your vessels but you can choose to filter them based on vessel groups. The vessel details, such as name and tracking history, are usually hidden to avoid cluttering the display. If required, the vessel name and history can be made visible by clicking on the vessel. Clicking on the vessel name shown will display more detailed vessel information. You can only add one instance of this widget to your dashboard.\",\r\n images: [mapWidgetIllustration],\r\n usingConfig: false,\r\n enabled: true,\r\n };\r\n\r\n private _performanceStatus: WidgetType = {\r\n defaultName: \"Performance status\",\r\n template: \"PerformanceStatusWidget\",\r\n defaultWidth: 8,\r\n defaultHeight: 6,\r\n icon: \"mdi-format-list-bulleted\",\r\n multiple: true,\r\n description:\r\n \"This widget allows you to see the performance status of your vessels: select the vessels that you wish to see. But remember that performance status data is only available for vessels with the diagnostics feature enabled. After clicking save, the configuration will be stored, and the performance status, for each selected vessel, will show. Multiple instances of this widget may be created, each with their own configuration.\",\r\n images: [performanceStatusWidgetIllustration],\r\n usingConfig: true,\r\n enabled: true,\r\n };\r\n\r\n private _notification: WidgetType = {\r\n defaultName: \"Notifications\",\r\n template: \"NotificationWidget\",\r\n defaultWidth: 8,\r\n defaultHeight: 6,\r\n icon: \"mdi-bell\",\r\n multiple: true,\r\n description:\r\n \"This widget allows you to see notifications of incidents in your vessels: select the vessels that you wish to see. But remember that notifications are only available for vessels with the 'Notifications' feature enabled. After clicking save, the configuration will be stored, and the incidents, for each selected vessel, will show. Multiple instances of this widget may be created, each with their own configuration.\",\r\n images: [notificationWidgetIllustration],\r\n usingConfig: true,\r\n enabled: true,\r\n };\r\n\r\n private _emissions: WidgetType = {\r\n defaultName: \"Carbon Intensity Indicator (CII)\",\r\n template: \"CiiWidget\",\r\n defaultWidth: 8,\r\n defaultHeight: 6,\r\n icon: \"mdi-weather-fog\",\r\n multiple: true,\r\n description:\r\n \"This widget allows you to see the CII and related data for your vessels: select the vessels that you wish to see. After clicking save, the configuration will be stored, and the CII data, for each selected vessel, will show. Multiple instances of this widget may be created, each with their own configuration.
    Calculations are based on available fuel consumption sensors onboard, and should be used for indicative purposes only.\",\r\n images: [ciiWidgetTableViewIllustration, ciiWidgetChartViewIllustration],\r\n usingConfig: true,\r\n enabled: true,\r\n };\r\n\r\n private _foulingOverview: WidgetType = {\r\n defaultName: \"Fouling Overview\",\r\n template: \"FoulingOverviewWidget\",\r\n defaultWidth: 12,\r\n defaultHeight: 6,\r\n icon: \"mdi-ferry\",\r\n multiple: true,\r\n description:\r\n \"This widget allows you to view the current speed loss measurements across your fleet of vessels so that you can quickly see which ones require further action. Select the vessels you wish to include in this widget and then click save to store your configuration\",\r\n images: [foulingWidgetViewIllustration],\r\n usingConfig: true,\r\n enabled: true,\r\n };\r\n\r\n private _allAddable: WidgetType[] = [\r\n this._VesselDataTable,\r\n this._VesselDataGraph,\r\n this._map,\r\n this._performanceStatus,\r\n this._notification,\r\n this._emissions,\r\n this._foulingOverview,\r\n ];\r\n\r\n public get getTypeByTemplateName(): (id: string) => unknown {\r\n return (id: string) => {\r\n switch (id) {\r\n case \"WelcomeWidget\":\r\n return this._startup;\r\n case \"VesselDataTable\":\r\n return this._VesselDataTable;\r\n case \"VesselDataGraph\":\r\n return this._VesselDataGraph;\r\n case \"MapWidget\":\r\n return this._map;\r\n case \"PerformanceStatusWidget\":\r\n return this._performanceStatus;\r\n case \"NotificationWidget\":\r\n return this._notification;\r\n case \"CiiWidget\":\r\n return this._emissions;\r\n case \"FoulingOverviewWidget\":\r\n return this._foulingOverview;\r\n }\r\n };\r\n }\r\n\r\n get startup(): WidgetType {\r\n return this._startup;\r\n }\r\n\r\n get VesselDataTable(): WidgetType {\r\n return this._VesselDataTable;\r\n }\r\n\r\n get VesselDataGraph(): WidgetType {\r\n return this._VesselDataGraph;\r\n }\r\n\r\n get map(): WidgetType {\r\n return this._map;\r\n }\r\n\r\n get performanceStatus(): WidgetType {\r\n return this._performanceStatus;\r\n }\r\n\r\n get notification(): WidgetType {\r\n return this._notification;\r\n }\r\n\r\n get emissions(): WidgetType {\r\n return this._emissions;\r\n }\r\n\r\n get allAddable(): WidgetType[] {\r\n return this._allAddable;\r\n }\r\n\r\n get foulingOverview(): WidgetType {\r\n return this._foulingOverview;\r\n }\r\n}\r\n\r\nexport default WidgetTypes;\r\n","import _ from \"underscore\";\r\n/**\r\n * Takes a flat array of log variables and groups them in a tree-structure based on the variable-name\r\n * which follows the Vessel Insight Common Asset Structure naming scheme with the separator\r\n * set to '|' in kognifaiService.cs\r\n * @param {Array} items\r\n * @param {String} separator\r\n * @example Aux_Engines | 1 | Fuel_Flow will be found in\r\n * [{\r\n * name: \"Aux_engines\",\r\n * children: [\r\n * {\r\n * name: \"1\",\r\n * children: [\r\n * {\r\n * name: \"fuel_flow\",\r\n * payload: {\r\n * id: \"942\",\r\n * name: \"Aux_Engines | 1 | Fuel_Flow\",\r\n * unit: { name: \"todo\", caption: \"todo\" },\r\n * vesselId: \"938\",\r\n * },\r\n * },\r\n * ],\r\n * },\r\n * ],\r\n * }]\r\n */\r\nfunction makeTree (items, separator) {\r\n //Just make sure there are no identical variable names, otherwide it will create an infinite recursive loop.\r\n //This should not happen with normal data anyway but it did in the test data. If it turns out to be a real issue\r\n //perhaps the duplicate should be included with a modified name (name + id or something)\r\n var uniqueItems = _.uniq(items, item => item.name);\r\n\r\n //first add an array of levels to each item based on its name\r\n //if internet explorer suddenly becomes required, use .replace(/ /g, '-') instead\r\n _.forEach(uniqueItems, function(item) {\r\n item.levels = item.name.replaceAll(\" \", \"\").split(separator);\r\n });\r\n return makeTreeRecursive(uniqueItems);\r\n}\r\n\r\n//recursively build our tree structure based on the levels of each item\r\nfunction makeTreeRecursive (items) {\r\n var grouped = _.groupBy(items, function(item) {\r\n if (item.levels.length > 0)\r\n return item.levels.shift();\r\n });\r\n\r\n var result = _.map(grouped, function(children, name) {\r\n if (children.length > 1) {\r\n var nextlevel = makeTreeRecursive(children);\r\n return {\r\n name: name,\r\n children: nextlevel,\r\n };\r\n } else return {\r\n name: name,\r\n payload: children[0],\r\n };\r\n });\r\n return result;\r\n}\r\n\r\nexport default {\r\n makeTree: function(data, separator) {\r\n return makeTree(data, separator);\r\n },\r\n};\r\n","import net from \"App/net\";\r\n\r\nvar AnnouncementClient = function () {\r\n\r\n};\r\n\r\nAnnouncementClient.prototype.find = function () {\r\n\r\n return net.get(\"/Announcement\");\r\n};\r\n\r\nAnnouncementClient.prototype.new = function (newAnnouncement) {\r\n return net.post(\"/Announcement\", newAnnouncement);\r\n};\r\n\r\nAnnouncementClient.prototype.findByUser = function () {\r\n return net.get(\"/Announcement/GetByUser\");\r\n}\r\n\r\nAnnouncementClient.prototype.readByUser = function (announcementDetails) {\r\n return net.post(\"/Announcement/ReadByUser\", announcementDetails);\r\n}\r\n\r\nAnnouncementClient.prototype.deleteAnnounement = function (announcementId) {\r\n return net.del(\"/Announcement/\" + announcementId);\r\n}\r\n\r\nAnnouncementClient.prototype.sendEmail = function (newAnnouncement) {\r\n return net.post(\"/Announcement/SendEmailToOnlineUser\", newAnnouncement)\r\n}\r\n\r\nAnnouncementClient.prototype.AcknowledgeIncident = function (id) {\r\n return net.put(\"/Incidents/\" + id);\r\n}\r\n\r\nAnnouncementClient.prototype.AcknowledgeAllIncidents = function (openIncidents) {\r\n return net.post(\"/Incidents\", openIncidents)\r\n}\r\n\r\nexport default new AnnouncementClient();\r\n","import net from \"App/net\";\r\nimport _ from \"underscore\";\r\nimport Store from \"@/store\";\r\nimport logVariableHelper from \"../utilities/log-variable-helper\";\r\n\r\nvar LogVariablesClient = function () {\r\n\r\n};\r\n\r\nLogVariablesClient.prototype.findAll = function (vesselId, unitType, hasLogData, extended = false) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/LogVariables\" : \"/LogVariables/Find\";\r\n if (!Store.getters[\"User/isKognifai\"] && extended) {\r\n url = \"/LogVariables/Extended\";\r\n }\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n if (unitType) {\r\n filter.unitType = unitType;\r\n }\r\n\r\n //important that hasLogData is set on filter, otherwise the default value of API (true) is used.\r\n filter.hasLogData = !_.isUndefined(hasLogData) ? hasLogData : \"\";\r\n\r\n return net.get(url, filter)\r\n .done((variables) => {\r\n new Promise((resolve) => {\r\n var dupNames = logVariableHelper.getDuplicateLogVariableNames(variables);\r\n\r\n variables.forEach(variable => {\r\n variable['displayName'] = logVariableHelper.formatLogVariableDisplayName(variable, dupNames);\r\n });\r\n\r\n resolve(variables);\r\n })\r\n });\r\n};\r\n\r\nLogVariablesClient.prototype.findAvailableLogVariables = function (vesselId, unitType) {\r\n return this.findAll(vesselId, unitType, true, false);\r\n};\r\n\r\nLogVariablesClient.prototype.findAvailableLogVariablesExtended = function(vesselId, unitType) {\r\n return this.findAll(vesselId, unitType, true, true);\r\n}\r\n\r\nLogVariablesClient.prototype.findMassFlowRateVariables = function (vesselId) {\r\n return this.findAvailableLogVariables(vesselId, \"MassFlowRate\");\r\n};\r\n\r\nLogVariablesClient.prototype.findSpeedVariables = function (vesselId) {\r\n return this.findAvailableLogVariables(vesselId, \"Speed\");\r\n};\r\n\r\nLogVariablesClient.prototype.findGpsSpeedVariable = function (vesselId) {\r\n return net.get(\"/LogVariables/\" + vesselId + \"/GpsSpeed\");\r\n};\r\n\r\nLogVariablesClient.prototype.findVesselsLogVariables = function (vesselIds) {\r\n var filter = {\r\n vesselIds: vesselIds,\r\n };\r\n\r\n return net.get(\"/LogVariables/\", filter);\r\n};\r\n\r\nLogVariablesClient.prototype.findVesselLogVariablesTaxa = function (vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n return net.get(\"/LogVariables/Taxa\", filter);\r\n};\r\n\r\nLogVariablesClient.prototype.findVesselLogVariablesShaftPower = function (vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n return net.get(\"/LogVariables/ShaftPower\", filter);\r\n};\r\n\r\nexport default new LogVariablesClient();\r\n","// Module\nvar code = \"\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

    \\r\\n \\r\\n \\r\\n

    \\r\\n\\r\\n
    \\r\\n\\r\\n

    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n MRV report\\r\\n \\r\\n \\r\\n MRV report is not available
    between non Member States.\\r\\n
    \\r\\n \\r\\n \\r\\n IMO report\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n DNV GL (csv)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Send to DNV GL\\r\\n \\r\\n\\r\\n \\r\\n

    \";\n// Exports\nmodule.exports = code;","import template from \"./logging-history-config.html\";\r\nimport ko from \"knockout\";\r\nimport loggingHistoryConfigurationsClient from \"Clients/logging-history-configurations-client\";\r\nimport logVariablesClient from \"Clients/log-variables-client\";\r\nimport vesselsClient from \"@/Scripts/clients/vessels-client\";\r\nimport moment from \"moment\";\r\nimport dateHelper from \"Utilities/date-helper\";\r\nimport events from \"App/events\";\r\n\r\nimport Store from \"@/store\";\r\n\r\nconst filterMinMaxTooltipText = \"If checked the plotted graph will filter data values that lay outside the min and max ranges, for each of the selected items.\";\r\nconst filterOutliersTooltipText = \"If checked the plotted graph will filter the data using Chauvenet's criterion.\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n self.currentVessel = Store.getters[\"Vessels/currentVessel\"];\r\n\r\n self.showLastHours = true;\r\n self.showLastMinutes = true;\r\n self.showFromTime = true;\r\n self.showToTime = true;\r\n\r\n self.isConfigLoading = ko.observable(true);\r\n self.isVariablesLoading = ko.observable(true);\r\n self.isVoyagesLoading = ko.observable(true);\r\n self.isLoadError = ko.observable(false);\r\n self.isUpdateConfigurationError = ko.observable(false);\r\n self.isUpdateConfigurationLoading = ko.observable(false);\r\n self.isFilterMinMaxTooltipOpen = ko.observable(false);\r\n self.isFilterOutliersTooltipOpen = ko.observable(false);\r\n self.submitError = ko.observable(false);\r\n\r\n self.variables = ko.observableArray([]);\r\n\r\n self.selectedVariables = ko.observable();\r\n self.config = ko.observable();\r\n self.selectedTimePeriod = ko.observable();\r\n self.lastDays = ko.observable();\r\n self.lastHours = ko.observable();\r\n self.lastMinutes = ko.observable();\r\n self.fromDate = ko.observable();\r\n self.toDate = ko.observable();\r\n self.fromTime = ko.observable();\r\n self.toTime = ko.observable();\r\n self.voyages = ko.observable();\r\n self.selectedDataInterval = ko.observable();\r\n self.filterMinMax = ko.observable();\r\n self.filterOutliers = ko.observable();\r\n\r\n self.lastPeriodValuesValid = ko.observable();\r\n self.setPeriodValuesValid = ko.observable();\r\n\r\n self.isLoading = ko.pureComputed(function () {\r\n return self.isConfigLoading() || self.isVoyagesLoading() || self.isVariablesLoading();\r\n });\r\n\r\n self.lastVoyage = ko.pureComputed((function() {\r\n if (self.voyages().length < 1) return null;\r\n\r\n for (let i = self.voyages().length - 1; i > 0; i--) {\r\n if (self.voyages()[i].startDate !== \"0001-01-01T00:00:00\" && self.voyages()[i].endDate !== \"0001-01-01T00:00:00\") {\r\n return self.voyages()[i];\r\n }\r\n }\r\n\r\n return null;\r\n }));\r\n\r\n self.updateTimePeriod = function (fromDateTime, toDateTime) {\r\n self.fromDate(moment(fromDateTime).format(\"DD. MMM, YYYY\"));\r\n self.fromTime(moment(fromDateTime).format(\"HH:mm\"));\r\n self.toDate(moment(toDateTime).format(\"DD. MMM, YYYY\"));\r\n self.toTime(moment(toDateTime).format(\"HH:mm\"));\r\n self.selectedTimePeriod(\"SetPeriod\");\r\n\r\n self.submit();\r\n };\r\n\r\n self.submit = function() {\r\n var selectedVariables = self.selectedVariables();\r\n var endChar = selectedVariables.charAt(selectedVariables.length - 1);\r\n var config = self.config();\r\n\r\n if (endChar === \";\") {\r\n selectedVariables = selectedVariables.slice(0, -1);\r\n }\r\n\r\n config.logVariableIds = selectedVariables;\r\n config.fromDateTime = dateHelper.getSubmitDateString(self.fromDate(), self.fromTime());\r\n config.toDateTime = dateHelper.getSubmitDateString(self.toDate(), self.toTime());\r\n config.lastNumberDays = self.lastDays();\r\n config.lastNumberHours = self.lastHours();\r\n config.lastNumberMinutes = self.lastMinutes();\r\n config.timeConfigurationType = self.selectedTimePeriod();\r\n config.dataInterval = self.selectedDataInterval();\r\n config.lastVoyage = self.lastVoyage();\r\n config.filterMinMax = self.filterMinMax();\r\n config.filterOutliers = self.filterOutliers();\r\n\r\n self.isUpdateConfigurationLoading(true);\r\n\r\n self.onSubmit(config);\r\n\r\n loggingHistoryConfigurationsClient.update(config).done(function () {\r\n self.isUpdateConfigurationError(false);\r\n }).fail(function () {\r\n self.isUpdateConfigurationError(true);\r\n }).always(function () {\r\n self.isUpdateConfigurationLoading(false);\r\n });\r\n };\r\n\r\n self.disableSubmit = ko.pureComputed(function () {\r\n return self.selectedVariables() === \"|\" || !self.lastPeriodValuesValid() || !self.setPeriodValuesValid() || self.isUpdateConfigurationLoading()\r\n || self.submitError();\r\n });\r\n\r\n self.displayEmptyVariableSelectionWarning = ko.pureComputed(function() {\r\n return self.selectedVariables() === \"|\";\r\n });\r\n\r\n self.selectedTimeInMinutes = ko.pureComputed(function () {\r\n var minDate = moment.utc(self.currentVessel.logDataMinDate);\r\n var maxDate = moment.utc(self.currentVessel.logDataMaxDate);\r\n\r\n var maxMinutes = maxDate.diff(minDate, \"minutes\");\r\n\r\n var selectedTime = 0;\r\n\r\n if (self.selectedTimePeriod() === \"AllValues\") {\r\n selectedTime = maxMinutes;\r\n } else if (self.selectedTimePeriod() === \"LastVoyage\") {\r\n var from = dateHelper.getDateTime(dateHelper.getFormatedDateTimeString(self.lastVoyage().startDate));\r\n var to = dateHelper.getDateTime(dateHelper.getFormatedDateTimeString(self.lastVoyage().endDate));\r\n\r\n selectedTime = to.diff(from, \"minutes\");\r\n } else if (self.selectedTimePeriod() === \"LastPeriod\") {\r\n selectedTime = toMinutes(self.lastDays(), self.lastHours(), self.lastMinutes());\r\n } else if (self.selectedTimePeriod() === \"SetPeriod\") {\r\n var from = dateHelper.getDateTime(self.fromDate(), self.fromTime());\r\n var to = dateHelper.getDateTime(self.toDate(), self.toTime());\r\n\r\n selectedTime = to.diff(from, \"minutes\");\r\n }\r\n\r\n if (selectedTime <= 0) {\r\n self.submitError(true);\r\n } else {\r\n self.submitError(false);\r\n }\r\n\r\n return selectedTime;\r\n });\r\n\r\n function toMinutes(days, hours, minutes) {\r\n days = Number(days);\r\n hours = Number(hours);\r\n minutes = Number(minutes);\r\n\r\n return (days * 24 * 60) + (hours * 60) + minutes;\r\n }\r\n\r\n loggingHistoryConfigurationsClient.getByVesselId(self.currentVessel.id).done(function (data) {\r\n self.config(data);\r\n\r\n self.selectedVariables(data.logVariableIds);\r\n self.selectedDataInterval(data.dataInterval);\r\n\r\n self.selectedTimePeriod(data.timeConfigurationType);\r\n self.lastDays(data.lastNumberDays);\r\n self.lastHours(data.lastNumberHours);\r\n self.lastMinutes(data.lastNumberMinutes);\r\n self.filterMinMax(data.filterMinMax);\r\n self.filterOutliers(data.filterOutliers);\r\n\r\n self.fromDate(dateHelper.getFormatedDateString(data.fromDateTime));\r\n self.toDate(dateHelper.getFormatedDateString(data.toDateTime));\r\n self.fromTime(dateHelper.getFormatedTimeString(data.fromDateTime));\r\n self.toTime(dateHelper.getFormatedTimeString(data.toDateTime));\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isConfigLoading(false);\r\n });\r\n\r\n logVariablesClient.findAvailableLogVariablesExtended(self.currentVessel.id).done(function (data) {\r\n self.variables(data);\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isVariablesLoading(false);\r\n });\r\n\r\n vesselsClient.getVesselVoyages(self.currentVessel.id).done(function (data) {\r\n self.voyages(data);\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isVoyagesLoading(false);\r\n });\r\n}\r\n\r\nViewModel.prototype.toggleFilterMinMaxTooltip = function(vm, e) {\r\n var isFilterMinMaxTooltipOpen = this.isFilterMinMaxTooltipOpen();\r\n if (!isFilterMinMaxTooltipOpen) {\r\n var element = e.currentTarget;\r\n events.showTooltip.dispatch(\"tooltip-text\", { text: filterMinMaxTooltipText, isWide: true, tooltipPosition: \"right\" }, element);\r\n this.isFilterMinMaxTooltipOpen(true);\r\n } else {\r\n this.isFilterMinMaxTooltipOpen(false);\r\n events.closeTooltip.dispatch();\r\n }\r\n};\r\n\r\nViewModel.prototype.toggleFilterOutliersTooltip = function(vm, e) {\r\n var isFilterOutliersTooltipOpen = this.isFilterOutliersTooltipOpen();\r\n if (!isFilterOutliersTooltipOpen) {\r\n var element = e.currentTarget;\r\n events.showTooltip.dispatch(\"tooltip-text\", { text: filterOutliersTooltipText, isWide: true, tooltipPosition: \"right\" }, element);\r\n this.isFilterOutliersTooltipOpen(true);\r\n } else {\r\n this.isFilterOutliersTooltipOpen(false);\r\n events.closeTooltip.dispatch();\r\n }\r\n};\r\n\r\nViewModel.prototype.hideTooltips = function() {\r\n if (this.isFilterMinMaxTooltipOpen() || this.isFilterOutliersTooltipOpen()) {\r\n this.isFilterMinMaxTooltipOpen(false);\r\n this.isFilterOutliersTooltipOpen(false);\r\n events.closeTooltip.dispatch();\r\n }\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","\r\n(function(factory) {\r\n \"use strict\";\r\n\tif (typeof require === \"function\" && typeof exports === \"object\" && typeof module === \"object\") {\r\n\t\t// CommonJS or Node: hard-coded dependency on \"knockout\"\r\n\t\tfactory(require(\"knockout\"), exports);\r\n\t} else if (typeof define === \"function\" && define[\"amd\"]) {\r\n\t\t// AMD anonymous module with hard-coded dependency on \"knockout\"\r\n\t\tdefine([\"knockout\", \"exports\"], factory);\r\n\t} else {\r\n\t\t//