{"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?ea5f","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?c1ef","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/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?0572","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?d92d","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/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/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?295d","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue?5de0","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?0b92","webpack:///./src/components/ManageDashboardsDialog.vue?a4a5","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?5b3e","webpack:///./src/components/PerformanceStatusIcon.vue?8381","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?3a5e","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?8003","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?208e","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/App.vue?842d","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","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","overallStatus","dataAvailability","dataOutliers","tags","actions","_loadingState","_modalLoadingState","_fleetOverview","_dataAvailability","_dataAvailabilityConfig","_dataOutliers","_dataOutliersTakeAction","_dataOutliersViewHistory","loading","fleetOverview","dataAvailabilityConfig","dataOutliersTakeAction","dataOutliersViewHistory","dataQualityClient","getFleetOverview","getDataOutage","getDataOutageConfig","configuration","updateDataOutageConfig","getDataOutliers","getDataOutliersTakeAction","updateDataOutliersTakeActionAcknowledge","updateDataOutliersTakeActionRemove","getDataOutliersViewHistory","updateDataOutliersViewHistory","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","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","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","downloadReport","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","secondary2","secondary3","neutralLighten100","neutralDark50","neutralDark75","darkGrey25","darkGrey75","darkGrey100","accent","accentDarker110","success100","warning100","error100","info","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","announcementlistByUser","$store","delayedRegisterKnockoutComponents","checkIfNewVersion","isTokenValid","unwatchNameChanged","$watch","newVal","unacknowledgedIncidents","unacknowledgedIncidentsCount","currentVersion","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","outliers","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","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","googleAnalyticsId","isGoogleAnalyticsEnabled","hostnameParts","hostname","subdomain","VueGtag","vuetify","$mount","green","orange","red","blue","gray","gpsUp","UserService","_user","_userExpired","newUserData","daysBeforeDataOutdated","companyName","_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","draftMeanErrorMessage","ballastDraftHighErrorMessage","ballastDraftLowErrorMessage","ladenDraftHighErrorMessage","ladenDraftLowErrorMessage","maxContinuousRatingErrorMessage","imoNumberErrorMessage","nameErrorMessage","isImoNumberValid","isDraftValid","isBallastDraftHighValid","isBallastDraftLowValid","isLadenDraftHighValid","isLadenDraftLowValid","isMaxContinuousRatingValid","isNameValid","getCompany","formattedImoNumber","formattedNumber","formattedCreatedDate","formattedLastExportDate","isVesselValid","nameBinding","getNameErrorMessage","validateField","imoNumberBinding","getImoNumberErrorMessage","draftMeanBinding","getDraftMeanErrorMessage","ballastDraftHighBinding","getBallastDraftHighErrorMessage","ballastDraftLowBinding","getBallastDraftLowErrorMessage","ladenDraftHighBinding","getLadenDraftHighErrorMessage","ladenDraftLowBinding","getLadenDraftLowErrorMessage","maxContinuousRatingBinding","getMaxContinuousRatingErrorMessage","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.c2c05c3a.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\":\"80411287\",\"chunk-07965cde\":\"d6bf527b\",\"chunk-0c5945f8\":\"249013c7\",\"chunk-16249eeb\":\"44799f7a\",\"chunk-20899cdc\":\"ce8ab20b\",\"chunk-2133958b\":\"43828204\",\"chunk-2d0a516c\":\"9528b3af\",\"chunk-2d0aa253\":\"fbf5c954\",\"chunk-2d0b5a52\":\"9f63c94f\",\"chunk-2d0bff1f\":\"fc5e509a\",\"chunk-2d0cc20a\":\"2df97182\",\"chunk-2d0cc426\":\"72feced8\",\"chunk-2d0e4eac\":\"35d90d57\",\"chunk-2d2375db\":\"fb175d0d\",\"chunk-300cb12d\":\"027a6275\",\"chunk-19c6ee56\":\"27fc99d4\",\"chunk-2d0de5b1\":\"3d5ad514\",\"chunk-3d63cd6f\":\"946d2e32\",\"chunk-4b3a2146\":\"3c72827b\",\"chunk-4c752948\":\"26270a8b\",\"chunk-4efa5f98\":\"6a42ae8e\",\"chunk-510d4593\":\"f78dc547\",\"chunk-032a2cb7\":\"77afd6eb\",\"chunk-220a1f36\":\"94e68c27\",\"chunk-4b922e36\":\"5decf701\",\"chunk-432d910e\":\"b7aa2db4\",\"chunk-4ec7a860\":\"ce41f04e\",\"chunk-6ea5f4e5\":\"45a6994c\",\"chunk-73e944a3\":\"c4fc346d\",\"chunk-737189b1\":\"aed171d7\",\"chunk-05465f5b\":\"bec3d70c\",\"chunk-77fc2c81\":\"f9b5cc95\",\"chunk-07184d32\":\"9d2a5d1c\",\"chunk-d7fbfdee\":\"ffc8567e\",\"chunk-7b4c29e8\":\"bc2ed932\",\"chunk-a68b255c\":\"bbf367bc\",\"chunk-7f9211be\":\"f8474ed3\",\"chunk-ab83461a\":\"875cc315\",\"chunk-fa278d40\":\"5b3051a8\",\"chunk-56fb0fae\":\"756b66e8\",\"chunk-5b57029d\":\"9db1c80c\",\"chunk-6341bc74\":\"82b3d1e7\",\"chunk-67bba793\":\"bbea7bb1\",\"chunk-690b2e57\":\"776b76a6\",\"chunk-6bb13978\":\"7f991619\",\"chunk-76ee0496\":\"61f76c9c\",\"chunk-77f21870\":\"83664d7b\",\"chunk-afd6cc70\":\"d3438157\",\"chunk-78161a2e\":\"42fef890\",\"chunk-781a025e\":\"662741eb\",\"chunk-9b066018\":\"99007ca5\",\"chunk-b84501fc\":\"21ac609d\",\"chunk-cf6649ce\":\"bef33daf\",\"chunk-2d2101f0\":\"0f801b9c\",\"chunk-810a2efc\":\"efb7c2c4\",\"chunk-f0ce5e78\":\"c4f1438f\",\"chunk-f6fa3efe\":\"0b21a024\"}[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-220a1f36\":1,\"chunk-4b922e36\":1,\"chunk-432d910e\":1,\"chunk-4ec7a860\":1,\"chunk-6ea5f4e5\":1,\"chunk-73e944a3\":1,\"chunk-737189b1\":1,\"chunk-05465f5b\":1,\"chunk-77fc2c81\":1,\"chunk-07184d32\":1,\"chunk-d7fbfdee\":1,\"chunk-7b4c29e8\":1,\"chunk-a68b255c\":1,\"chunk-7f9211be\":1,\"chunk-ab83461a\":1,\"chunk-fa278d40\":1,\"chunk-56fb0fae\":1,\"chunk-5b57029d\":1,\"chunk-6341bc74\":1,\"chunk-67bba793\":1,\"chunk-690b2e57\":1,\"chunk-76ee0496\":1,\"chunk-afd6cc70\":1,\"chunk-78161a2e\":1,\"chunk-b84501fc\":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\":\"f7faed40\",\"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-220a1f36\":\"983a3735\",\"chunk-4b922e36\":\"d388514f\",\"chunk-432d910e\":\"cdb81da4\",\"chunk-4ec7a860\":\"00a67f71\",\"chunk-6ea5f4e5\":\"83364229\",\"chunk-73e944a3\":\"46b3c568\",\"chunk-737189b1\":\"be082a52\",\"chunk-05465f5b\":\"246dfc36\",\"chunk-77fc2c81\":\"a40f95aa\",\"chunk-07184d32\":\"4f537bbf\",\"chunk-d7fbfdee\":\"321a583a\",\"chunk-7b4c29e8\":\"e0c72d1d\",\"chunk-a68b255c\":\"b151524f\",\"chunk-7f9211be\":\"080ca480\",\"chunk-ab83461a\":\"9d01dd8f\",\"chunk-fa278d40\":\"73f07988\",\"chunk-56fb0fae\":\"f0c6cb2b\",\"chunk-5b57029d\":\"25dcae29\",\"chunk-6341bc74\":\"7e172116\",\"chunk-67bba793\":\"2dfb51dd\",\"chunk-690b2e57\":\"f94b51fb\",\"chunk-6bb13978\":\"31d6cfe0\",\"chunk-76ee0496\":\"8faea6ec\",\"chunk-77f21870\":\"31d6cfe0\",\"chunk-afd6cc70\":\"0df05908\",\"chunk-78161a2e\":\"58a6eefa\",\"chunk-781a025e\":\"31d6cfe0\",\"chunk-9b066018\":\"31d6cfe0\",\"chunk-b84501fc\":\"49457cbc\",\"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\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 },\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 [{\r\n vesselId: 556,\r\n overallStatus: 3,\r\n dataAvailability: 3,\r\n dataOutliers: 3,\r\n },\r\n {\r\n vesselId: 601,\r\n overallStatus: 1,\r\n dataAvailability: 1,\r\n dataOutliers: 1,\r\n },\r\n {\r\n vesselId: 602,\r\n overallStatus: 1,\r\n dataAvailability: 1,\r\n dataOutliers: 1,\r\n },\r\n {\r\n vesselId: 603,\r\n overallStatus: 0,\r\n dataAvailability: 0,\r\n dataOutliers: 0,\r\n },\r\n {\r\n vesselId: 606,\r\n overallStatus: 2,\r\n dataAvailability: 2,\r\n dataOutliers: 2,\r\n },\r\n {\r\n vesselId: 607,\r\n overallStatus: 1,\r\n dataAvailability: 1,\r\n dataOutliers: 1,\r\n }\r\n ];\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 getDataOutliers() {\r\n return net.get(\"/DataQuality/DataOutliers\");\r\n }\r\n getDataOutliersTakeAction() {\r\n return net.get(\"/DataQuality/DataOutliers/TakeAction\");\r\n }\r\n updateDataOutliersTakeActionAcknowledge(tags) {\r\n return net.put(\"/DataQuality/DataOutliers/TakeAction/Acknowledge\", tags);\r\n }\r\n updateDataOutliersTakeActionRemove(tags) {\r\n return net.put(\"/DataQuality/DataOutliers/TakeAction/Remove\", tags);\r\n }\r\n getDataOutliersViewHistory() {\r\n return net.get(\"/DataQuality/DataOutliers/ViewHistory\");\r\n }\r\n updateDataOutliersViewHistory(actions) {\r\n return net.put(\"/DataQuality/DataOutliers/ViewHistory\", actions);\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\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 _fleetOverview: FleetOverviewType[] = [];\r\n private _dataAvailability: DataAvailabilityType[] = [];\r\n private _dataAvailabilityConfig: DataAvailabilityConfig | null = null;\r\n private _dataOutliers: DataOutliersType[] = [];\r\n private _dataOutliersTakeAction: DataOutliersTakeActionType[] = [];\r\n private _dataOutliersViewHistory: DataOutliersViewHistoryType[] = [];\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 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 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 @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 refreshDataOutliers(): Promise {\r\n let dataOutliers = [];\r\n try {\r\n this.context.commit(\"SET_LOADING_STATE\", true);\r\n dataOutliers = await dataQualityClient.getDataOutliers();\r\n this.context.commit(\"REFRESH_DATA_OUTLIERS\", dataOutliers);\r\n this.context.commit(\"SET_LOADING_STATE\", false);\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh data outliers -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshDataOutliersTakeAction(): Promise {\r\n let dataOutliersTakeAction = [];\r\n try {\r\n this.context.commit(\"SET_MODAL_LOADING_STATE\", true);\r\n dataOutliersTakeAction = await dataQualityClient.getDataOutliersTakeAction();\r\n this.context.commit(\"REFRESH_DATA_OUTLIERS_TAKE_ACTION\", dataOutliersTakeAction);\r\n this.context.commit(\"SET_MODAL_LOADING_STATE\", false);\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh data outliers take action -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateDataOutliersTakeActionAcknowledge(dataOutliersTakeAction: DataOutliersTakeActionType[]): Promise {\r\n try {\r\n await dataQualityClient.updateDataOutliersTakeActionAcknowledge(dataOutliersTakeAction);\r\n } catch (error) {\r\n throw ({ message: \"Failed to acknowledge Data Outliers Take Action\", error });\r\n }\r\n }\r\n @Action({ rawError: true })\r\n public async updateDataOutliersTakeActionRemove(dataOutliersTakeAction: DataOutliersTakeActionType[]): Promise {\r\n try {\r\n await dataQualityClient.updateDataOutliersTakeActionRemove(dataOutliersTakeAction);\r\n } catch (error) {\r\n throw ({ message: \"Failed to remove Data Outliers Take Action\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshDataOutliersViewHistory(): Promise {\r\n let dataOutliersViewHistory = [];\r\n try {\r\n this.context.commit(\"SET_MODAL_LOADING_STATE\", true);\r\n dataOutliersViewHistory = await dataQualityClient.getDataOutliersViewHistory();\r\n this.context.commit(\"REFRESH_DATA_OUTLIERS_VIEW_HISTORY\", dataOutliersViewHistory);\r\n this.context.commit(\"SET_MODAL_LOADING_STATE\", false);\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh data outliers view history -> \", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateDataOutliersViewHistory(dataOutliersViewHistory: DataOutliersViewHistoryType[]): Promise {\r\n try {\r\n await dataQualityClient.updateDataOutliersViewHistory(dataOutliersViewHistory);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update Data Outliers View History\", error });\r\n }\r\n }\r\n\r\n public get fleetOverview(): FleetOverviewType[] {\r\n return this._fleetOverview;\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 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\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 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;","// 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: \"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: \"DataAvailability\" } },\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 { 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//