{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-timestamp/voyage-vessel-event-timestamp.js","webpack:///./src/assets/images/status/observe.png","webpack:///./src/Scripts/components/vessel-settings/general-settings/general-settings.html","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-name/vessel-access-group-name.html","webpack:///./src/assets/images/widgets/performance-status-widget-illustration-1.png","webpack:///./src/Scripts/components/geo-coordinates/geo-coordinates.html","webpack:///./src/Scripts/bindings/fileUpload.js","webpack:///./src/Scripts/bindings/draggableFile.js","webpack:///./src/Scripts/viewModels/vesselFiles/file.js","webpack:///./src/Scripts/viewModels/vesselFiles/folder.js","webpack:///./src/Scripts/components/vessel-files/vessel-files.js","webpack:///./src/store/index.ts","webpack:///./src/Scripts/components/emission-report/departure-list/departure-list-item/departure-list-item.html","webpack:///./src/components/widgets/TimeSpanDialog.vue?241c","webpack:///./src/components/widgets/TimeSpanDialog.vue","webpack:///./src/components/widgets/TimeSpanDialog.vue?d98a","webpack:///./src/components/widgets/TimeSpanDialog.vue?35c8","webpack:///./src/Scripts/viewModels/user/user.js","webpack:///./src/Scripts/viewModels/user/userList.js","webpack:///./src/Scripts/components/profile/users/users.js","webpack:///./src/utilities/utilities.ts","webpack:///./src/Scripts/clients/emission-report-vessel-events-client.js","webpack:///./src/Scripts/clients/performance-status-widget-client.js","webpack:///./src/store/clients/PerformanceStatusWidget.module.ts","webpack:///./src/Scripts/components/fuel-tank-management/ft-soundings/ft-soundings.html","webpack:///./src/Scripts/bindings/vesselFilesSort.js","webpack:///./src/Scripts/utilities/htmlencode-helper.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels.js","webpack:///./src/Scripts/utilities/log-variable-helper.js","webpack:///./src/services/api.ts","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/store/clients/Cds.module.ts","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/Scripts/app/config-emission-report.js","webpack:///./src/assets/images/eventicon sync ^\\.\\/.*\\-ikon\\.png$","webpack:///./src/assets/images/danelec-logos/fleet-insights-white-text_orange-logo.svg","webpack:///./src/Scripts/clients/ISO19030-client.js","webpack:///./src/store/clients/ISO19030.module.ts","webpack:///./src/Scripts/utilities/number-helper.js","webpack:///./src/assets/images/widgets/table-widget-illustration-1.png","webpack:///./src/assets/images/vessels/gray.png","webpack:///./src/Scripts/components/vessel-administration/vessels-menu/vessels-menu.html","webpack:///./src/components/ManageDashboardsDialog.vue?a466","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumption/fm-fuel-consumption.html","webpack:///./src/Scripts/components/vessel-settings/veracity-key/veracity-key.html","webpack:///./src/Scripts/components/feature-not-available/feature-not-available.html","webpack:///./src/Scripts/components/emission-report/emission-report.html","webpack:///./src/Scripts/components/vessel-administration/vessel-admin/vessel-admin.js","webpack:///./src/assets/images/status/benchmarking.png","webpack:///./src/Scripts/components/long-trend-config/long-trend-config.html","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-editor/vessel-access-group-editor.html","webpack:///./src/store/clients/Users.module.ts","webpack:///./src/Scripts/clients/fm-fuel-consumptions-client.js","webpack:///./src/Scripts/clients/curves-client.js","webpack:///./src/assets/images/danelec-logos/danelec-logo-red.svg","webpack:///./src/Scripts/components/data-import/import-status-table/import-status-table.html","webpack:///./src/assets/images/danelec-logos/danelec-logo-orange2.svg","webpack:///./src/store/clients/VesselsAdmin.module.ts","webpack:///./src/Scripts/components/vessel-settings/flow-meters/flow-meter/flow-meter.html","webpack:///./src/Scripts/clients/companies-client.js","webpack:///./src/Scripts/components/vessel-administration/edit-vessel/edit-vessel.html","webpack:///./src/Scripts/components/vessel-settings/vessel-settings.html","webpack:///./src/assets/images/gps-up.png","webpack:///./src/assets/images/kyma-logos/kymalogo-only-blue.svg","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumption/ft-fuel-consumption.html","webpack:///./src/Scripts/utilities/performance-status-helper.js","webpack:///./src/Scripts/components/company/company-form/company-form.html","webpack:///./src/components/Announcement/ShowAnnouncement.vue?b30a","webpack:///./src/assets/images/vessels/green.png","webpack:///./src/store/clients/Companies.module.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-location/voyage-vessel-event-location.html","webpack:///./src/assets/images/kognifai/help/help-starting-page.webp","webpack:///./src/Scripts/clients/shapoli-client.js","webpack:///./src/Scripts/bindings/map.js","webpack:///./src/Scripts/clients/long-trend-configurations-client.js","webpack:///./src/Scripts/components/input-dialog/input-dialog.html","webpack:///./src/Scripts/components/vessel-groups/vessel-groups.js","webpack:///./src/assets/images/eventicon/trend-ikon.png","webpack:///./src/Scripts/components/css-loader/css-loader.html","webpack:///./src/assets/images/widgets/cii-widget-tableview.png","webpack:///./src/Scripts/components/curves/curve-graph/curve-graph.html","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event.html","webpack:///./src/Scripts/components/graph-config-variable-selection/graph-config-variable-selection.html","webpack:///./src/components/ConfirmDialog.vue?1c34","webpack:///./src/components/ConfirmDialog.vue","webpack:///./src/components/ConfirmDialog.vue?654b","webpack:///./src/components/ConfirmDialog.vue?d457","webpack:///./src/Scripts/components/long-trend-benchmark-level-icon/long-trend-benchmark-level-icon.html","webpack:///./src/Scripts/components/vessel-settings/emission-report-template/emission-report-template.html","webpack:///./src/Scripts/components/emission-report/voyage-create/voyage-create.html","webpack:///./src/components/widgets/TimeSpanDialog.vue?28fd","webpack:///./src/Scripts/clients/vessels-client.js","webpack:///./src/Scripts/components/data-import/import-status/import-status.html","webpack:///./src/Scripts/components/long-trend-benchmark-level-settings/long-trend-benchmark-level-settings.html","webpack:///./src/Scripts/clients/emissions-compliance-client.js","webpack:///./src/store/clients/EmissionsCompliance.module.ts","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-graph/compare-vessels-long-trends-graph.html","webpack:///./src/assets/images/kognifai/help/help-curves.webp","webpack:///./src/views/account/ResetPassword.vue?c720","webpack:///./src/Scripts/components/vessel-administration/vessel-admin/vessel-admin.html","webpack:///./src/Scripts/components/curves/curves-frame/curves-frame.html","webpack:///./src/Scripts/components/vessel-info/vessel-info-map/vessel-info-map.html","webpack:///./src/Scripts/app/events.js","webpack:///./src/Scripts/components/benefit-consequence/benefit-consequence.html","webpack:///./src/store/clients/Shapoli.module.ts","webpack:///./src/Scripts/components/compare-vessels/compare-vessels.html","webpack:///./src/Scripts/components/vessel-performance-status/vessel-performance-status.html","webpack:///./src/Scripts/components/logging-history-config/logging-history-config.html","webpack:///./src/Scripts/components/profile/user-form/user-form.html","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table-header/compare-vessels-long-trends-details-table-header.html","webpack:///./src/Scripts/clients/vessel-performance-statuses-client.js","webpack:///./src/Scripts/components/curves/tree-select/tree-select.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group.html","webpack:///./src/assets/images/kognifai/help/help-prediction.webp","webpack:///./src/Scripts/components/fuel-tank-management/ft-operations/ft-operations.html","webpack:///./src/assets/images/vessels/orange.png","webpack:///./src/assets/images/kognifai/help/help-plot.webp","webpack:///./src/assets/images/status/ok.png","webpack:///./src/services/AuthHeader.ts","webpack:///./src/Scripts/clients/vessel-histories-client.js","webpack:///./src/store/clients/VesselsHistories.module.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-port/voyage-vessel-event-port.html","webpack:///./src/views/account/Login.vue?b0fb","webpack:///./src/views/account/Login.vue","webpack:///./src/views/account/Login.vue?9663","webpack:///./src/views/account/Login.vue?8660","webpack:///./src/views/account/ResetPassword.vue?0184","webpack:///./src/views/account/ResetPassword.vue","webpack:///./src/views/account/ResetPassword.vue?a2d3","webpack:///./src/views/account/ResetPassword.vue?cb60","webpack:///./src/router/index.ts","webpack:///./src/Scripts/clients/feature-map-client.js","webpack:///./src/store/clients/FeatureMap.module.ts","webpack:///./src/store/clients/WidgetTypes.module.ts","webpack:///./src/Scripts/utilities/kognifai-variable-tree.js","webpack:///./src/Scripts/clients/Announcement-client.js","webpack:///./src/Scripts/clients/log-variables-client.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage.html","webpack:///./src/Scripts/components/logging-history-config/logging-history-config.js","webpack:///./src/Scripts/extensions/pagination.js","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumption/fm-fuel-consumption.js","webpack:///./src/Scripts/clients/reports-client.js","webpack:///./src/Scripts/clients/report-types-client.js","webpack:///./src/store/clients/Reports.module.ts","webpack:///./src/Scripts/components/fuel-consumption-summary/fuel-consumption-summary.html","webpack:///./src/Scripts/components/vessel-notes/vessel-notes.html","webpack:///./src/Scripts/app/net.js","webpack:///./src/Scripts/clients/consequences-client.js","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tanks.html","webpack:///./src/Scripts/viewModels/graphVariable.js","webpack:///./src/assets/images/widgets/cii-widget-chartview.png","webpack:///./src/Scripts/utilities/date-helper.js","webpack:///./src/Scripts/utilities/curve-prediction-helper.js","webpack:///./src/Scripts/components/company/company-info/company-info.html","webpack:///./src/Scripts/clients/fuel-tanks-client.js","webpack:///./src/App.vue?1a22","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumptions.html","webpack:///./src/class-components-hooks.ts","webpack:///./src/plugins/vuetify.ts","webpack:///./src/App.vue?11bb","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue?a9f1","webpack:///./src/Scripts/components/tooltip/tooltip.js","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue?3a62","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue?7a75","webpack:///./src/components/Sidebar.vue?c65b","webpack:///./src/components/ManageDashboardsDialog.vue?b23e","webpack:///./src/components/ManageDashboardsDialog.vue","webpack:///./src/components/ManageDashboardsDialog.vue?3885","webpack:///./src/components/ManageDashboardsDialog.vue?8ddb","webpack:///./src/components/Sidebar.vue","webpack:///./src/components/Sidebar.vue?77d5","webpack:///./src/components/Sidebar.vue?9ac7","webpack:///./src/components/VesselTitle.vue?8aff","webpack:///./src/components/PerformanceStatusIcon.vue?58b6","webpack:///./src/components/PerformanceStatusIcon.vue","webpack:///./src/components/PerformanceStatusIcon.vue?37d9","webpack:///./src/components/PerformanceStatusIcon.vue?d5d1","webpack:///./src/components/VesselTitle.vue","webpack:///./src/components/VesselTitle.vue?cebf","webpack:///./src/components/VesselTitle.vue?6a66","webpack:///./src/Scripts/clients/version-client.js","webpack:///./src/components/Announcement/ShowAnnouncement.vue?0ba3","webpack:///./src/Scripts/utilities/conditionTypeHelper.js","webpack:///./src/components/Announcement/ShowAnnouncement.vue","webpack:///./src/components/Announcement/ShowAnnouncement.vue?6a6c","webpack:///./src/components/Announcement/ShowAnnouncement.vue?9778","webpack:///./src/App.vue","webpack:///./src/App.vue?198c","webpack:///./src/App.vue?1315","webpack:///./src/components/DefaultContainer.vue?9dfe","webpack:///./src/components/DefaultContainer.vue","webpack:///./src/components/DefaultContainer.vue?e1fb","webpack:///./src/components/DefaultContainer.vue?60a2","webpack:///./src/Scripts/app/net-prefilter.js","webpack:///./src/Scripts/components/vessel-info/vessel-info-map/vessel-info-map.js","webpack:///./src/Scripts/components/vessel-performance-status/vessel-performance-status.js","webpack:///./src/Scripts/components/vessel-performance-status-item/vessel-performance-status-item.js","webpack:///./src/Scripts/components/long-trend-benchmark-level-icon/long-trend-benchmark-level-icon.js","webpack:///./src/Scripts/components/performance-status-icon/performance-status-icon.js","webpack:///./src/Scripts/components/component-loading/component-loading.js","webpack:///./src/Scripts/utilities/vessel-event-helper.js","webpack:///./src/Scripts/components/vessel-event/vessel-event.js","webpack:///./src/Scripts/components/vessel-event-icon/vessel-event-icon.js","webpack:///./src/Scripts/components/benefits-table/benefits-table.js","webpack:///./src/Scripts/components/benefit-consequence/benefit-consequence.js","webpack:///./src/Scripts/components/benefit-consequence-result/benefit-consequence-result.js","webpack:///./src/Scripts/components/long-trend-benchmark-level-settings/long-trend-benchmark-level-settings.js","webpack:///./src/Scripts/components/tooltip-text/tooltip-text.js","webpack:///./src/Scripts/viewModels/graphVariableGroup.js","webpack:///./src/Scripts/components/graph-config-variable-selection/graph-config-variable-selection.js","webpack:///./src/Scripts/components/graph-config-time-period/graph-config-time-period.js","webpack:///./src/Scripts/components/graph-config-data-interval/graph-config-data-interval.js","webpack:///./src/Scripts/utilities/color-helper.js","webpack:///./src/Scripts/utilities/highcharts-helper.js","webpack:///./src/Scripts/components/curves/curve-edit-graph/curve-edit-graph.js","webpack:///./src/Scripts/components/curves/curve-graph/curve-graph.js","webpack:///./src/Scripts/components/curves/cp-module-table/cp-module-table.js","webpack:///./src/Scripts/components/curves/curve-prediction-table/curve-prediction-table.js","webpack:///./src/Scripts/components/css-loader/css-loader.js","webpack:///./src/Scripts/components/data-pie/data-pie.js","webpack:///./src/Scripts/components/fuel-consumption-summary/fuel-consumption-summary.js","webpack:///./src/Scripts/components/emission-report/voyages-chart/voyages-chart.js","webpack:///./src/Scripts/components/emission-report/departure-list/departure-list.js","webpack:///./src/Scripts/components/emission-report/departure-list/departure-list-item/departure-list-item.js","webpack:///./src/Scripts/components/emission-report/voyage-create/voyage-create.js","webpack:///./src/Scripts/viewModels/emission-report/voyageVesselEventData.js","webpack:///./src/Scripts/viewModels/emission-report/voyageVesselEvent.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-chart/voyage-chart.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list-item/voyage-vessel-event-list-item.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-cargos/voyage-vessel-event-cargos.js","webpack:///./src/Scripts/clients/vessel-locations-client.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-location/voyage-vessel-event-location.js","webpack:///./src/Scripts/clients/ft-operations-client.js","webpack:///./src/Scripts/components/fuel-tank-management/fuel-tank-management.js","webpack:///./src/Scripts/clients/ft-fuel-consumptions-client.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumptions.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumption/ft-fuel-consumption.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-operations/ft-operations.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-operations/ft-operation/ft-operation.js","webpack:///./src/Scripts/clients/ft-soundings-client.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-soundings/ft-soundings.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-soundings/ft-sounding/ft-sounding.js","webpack:///./src/Scripts/components/flow-meter-management/flow-meter-management.js","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumptions.js","webpack:///./src/Scripts/components/flow-meter-management/fm-fuel-consumptions/fm-fuel-consumption-create/fm-fuel-consumption-create.js","webpack:///./src/Scripts/clients/fm-operations-client.js","webpack:///./src/Scripts/components/flow-meter-management/fm-operations/fm-operations.js","webpack:///./src/Scripts/components/flow-meter-management/fm-operations/fm-operation/fm-operation.js","webpack:///./src/Scripts/components/vessel-settings/vessel-settings.js","webpack:///./src/Scripts/components/vessel-settings/veracity-key/veracity-key.js","webpack:///./src/Scripts/clients/ice-classes-client.js","webpack:///./src/Scripts/components/vessel-settings/general-settings/general-settings.js","webpack:///./src/Scripts/components/vessel-settings/emission-report-template/emission-report-template.js","webpack:///./src/Scripts/clients/fuel-consumption-sources-client.js","webpack:///./src/Scripts/components/vessel-settings/flow-meters/flow-meters.js","webpack:///./src/Scripts/components/vessel-settings/flow-meters/flow-meter/flow-meter.js","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tanks.js","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tank/fuel-tank.js","webpack:///./src/Scripts/components/vessel-settings/fuel-types/fuel-types.js","webpack:///./src/Scripts/components/vessel-settings/fuel-types/fuel-type/fuel-type.js","webpack:///./src/Scripts/components/input-dialog/input-dialog.js","webpack:///./src/Scripts/components/vessel-administration/vessels-menu/vessels-menu.js","webpack:///./src/Scripts/components/vessel-administration/vessel-admin-table/vessel-admin-table.js","webpack:///./src/Scripts/clients/features-client.js","webpack:///./src/Scripts/components/vessel-administration/edit-vessel/edit-vessel.js","webpack:///./src/Scripts/components/vessel-administration/assign-vessel/assign-vessel.js","webpack:///./src/Scripts/components/vessel-administration/vessel-feature/vessel-feature.js","webpack:///./src/Scripts/components/feature-not-available/feature-not-available.js","webpack:///./src/Scripts/viewModels/dataImport/importStatistic.js","webpack:///./src/Scripts/components/data-import/import-details/import-details.js","webpack:///./src/Scripts/components/data-import/import-status-table/import-status-table.js","webpack:///./src/Scripts/components/profile/user-form/user-form.js","webpack:///./src/Scripts/components/profile/user-info/user-info.js","webpack:///./src/Scripts/components/profile/user-list/user-list.js","webpack:///./src/Scripts/components/profile/user-api-key/user-api-key.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends/compare-vessels-long-trends.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-graph/compare-vessels-long-trends-graph.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details/compare-vessels-long-trends-details.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-graph/compare-vessels-long-trends-details-graph.js","webpack:///./src/Scripts/viewModels/compare-vessels/vessel-compare-row-data.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table/compare-vessels-long-trends-details-table.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table-row/compare-vessels-long-trends-details-table-row.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-table-header/compare-vessels-long-trends-details-table-header.js","webpack:///./src/Scripts/components/company/company-table/company-table.js","webpack:///./src/Scripts/components/company/company-info/company-info.js","webpack:///./src/Scripts/components/company/company-form/company-form.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-list/vessel-access-group-list.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-editor/vessel-access-group-editor.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-name/vessel-access-group-name.js","webpack:///./src/Scripts/utilities/location-helper.js","webpack:///./src/Scripts/components/geo-coordinates/geo-coordinates.js","webpack:///./src/Scripts/components/geo-coordinates/geo-coordinates-edit/geo-coordinates-edit.js","webpack:///./src/Scripts/components/curves/curves-about/curves-about.js","webpack:///./src/Scripts/components/curves/curves-help/curves-help.js","webpack:///./src/Scripts/bindings/slideToggle.js","webpack:///./src/Scripts/bindings/dateFormat.js","webpack:///./src/Scripts/bindings/highcharts.js","webpack:///./src/Scripts/bindings/numberFormat.js","webpack:///./src/Scripts/bindings/datepicker.js","webpack:///./src/Scripts/bindings/scrollTop.js","webpack:///./src/Scripts/bindings/vesselsTableSort.js","webpack:///./src/Scripts/bindings/time.js","webpack:///./src/Scripts/bindings/clickOutside.js","webpack:///./src/Scripts/bindings/vesselMap.js","webpack:///./src/Scripts/bindings/submitForm.js","webpack:///./src/Scripts/bindings/humanizeDuration.js","webpack:///./src/Scripts/bindings/textWithLineBreaks.js","webpack:///./src/Scripts/bindings/tooltipValidation.js","webpack:///./src/Scripts/bindings/dateTimeFormat.js","webpack:///./src/Scripts/bindings/deleteStylesWithin.js","webpack:///./src/Scripts/bindings/uniqueId.js","webpack:///./src/Scripts/bindings/uniqueFor.js","webpack:///./src/registerKnockoutComponents.ts","webpack:///./src/utilities/leafletIconFix.ts","webpack:///./src/filters/date.ts","webpack:///./src/filters/companyName.ts","webpack:///./src/filters/vesselHistory.ts","webpack:///./src/filters/index.ts","webpack:///./src/main.ts","webpack:///./src/store/clients/LogData.module.ts","webpack:///./src/Scripts/components/profile/user-list/user-list.html","webpack:///./src/types/vesselStatusIcons.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-timestamp/voyage-vessel-event-timestamp.html","webpack:///./src/services/UserService.ts","webpack:///./src/store/clients/User.module.ts","webpack:///./src/Scripts/clients/fouling-client.js","webpack:///./src/components/widgets/DateTimeRangePicker.vue?af47","webpack:///./src/store/clients/VesselGroups.module.ts","webpack:///./src/store/clients/VesselEvents.module.ts","webpack:///./src/assets/images/eventicon/office-ikon.png","webpack:///./src/Scripts/clients/ports-client.js","webpack:///./src/Scripts/clients/vessel-categories-client.js","webpack:///./src/Scripts/bindings/curveTableSort.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group-list/vessel-access-group-list.html","webpack:///./src/components/widgets/DateTimeRangePicker.vue?cc3e","webpack:///./src/components/widgets/DateTimeRangePicker.vue","webpack:///./src/components/widgets/DateTimeRangePicker.vue?44d8","webpack:///./src/components/widgets/DateTimeRangePicker.vue?5794","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-voyage/voyage-vessel-event-voyage.html","webpack:///./src/store/clients/Vessels.module.ts","webpack:///./src/assets/images/widgets/notification-widget-illustration.png","webpack:///./src/assets/images/eventicon/vessel-ikon.png","webpack:///./src/assets/images/widgets/map-widget-illustration-1.png","webpack:///./src/Scripts/viewModels/vesselsAdministration/vessel.js","webpack:///./src/Scripts/components/flow-meter-management/flow-meter-management.html","webpack:///./src/Scripts/clients/flow-meters-client.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-distance/voyage-vessel-event-distance.js","webpack:///./src/Scripts/viewModels/curves/curvePoint.js","webpack:///./src/Scripts/components/taxonomy/taxonomy.html","webpack:///./src/Scripts/utilities/time-converter-helper.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list-item/voyage-vessel-event-list-item.html","webpack:///./src/Scripts/components/profile/user-info/user-info.html","webpack:///./src/Scripts/clients/vessel-files-client.js","webpack:///./src/assets/images/vessels/previous2.png","webpack:///./src/assets/images/kyma-logos/kymalogo.svg","webpack:///./src/Scripts/clients/fuel-types-client.js","webpack:///./src/Scripts/clients/long-trend-periods-client.js","webpack:///./src/store/clients/LongTrends.module.ts","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tank/fuel-tank.html","webpack:///./src/Scripts/components/vessel-files/vessel-files.html","webpack:///./src/assets/images/vessels/blue.png","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-cargos/voyage-vessel-event-cargos.html","webpack:///./src/assets/images/kognifai/help/help-exclusion-filters.webp","webpack:///./src/assets/images/status/error.png","webpack:///./src/assets/images/kognifai/help/help-main-window.webp","webpack:///./src/Scripts/viewModels/company/company.js","webpack:///./src/Scripts/viewModels/company/companyList.js","webpack:///./src/Scripts/components/company/company-manager/company-manager.js","webpack:///./src/Scripts/components/tooltip-text/tooltip-text.html","webpack:///./src/Scripts/components/vessel-administration/vessel-feature/vessel-feature.html","webpack:///./src/Scripts/clients/vessel-data-widget-client.js","webpack:///./src/store/clients/VesselDataWidgetConfig.module.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-port/voyage-vessel-event-port.js","webpack:///./src/Scripts/utilities/vessel-map-helper.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-graph/compare-vessels-long-trends-details-graph.html","webpack:///./src/components/Sidebar.vue?e23e","webpack:///./src/Scripts/components/benefit-consequence-result/benefit-consequence-result.html","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends/compare-vessels-long-trends.html"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","ViewModel","params","self","this","voyageVesselEvent","vesselEvent","isEditing","ko","observable","inputTimestampDate","dateHelper","getFormatedDateString","timestamp","inputTimestampTime","getFormatedTimeString","plotLineDateSelectedBinding","events","plotLineDateSelected","add","selectedDate","isInputTimestampValid","pureComputed","timestampMoment","getDateTime","previousVesselEvent","previousVesselEventMoment","moment","utc","nextVesselEvent","nextVesselEventMoment","dispose","detach","startEditing","vm","$wrapper","$","currentTarget","closest","dateSelectStarted","dispatch","$input","find","focus","select","cancelEditing","dateSelectEnded","save","_","clone","date","time","getSubmitDateString","emissionReportVesselEventsClient","update","done","viewModel","template","updateTempFolders","file","fileName","tempFolders","parentFolders","each","parentFolder","tempFolder","folderPath","remove","bindingHandlers","fileUpload","init","element","valueAccessor","allBindingsAccessor","vesselId","folder","isValidFile","errorMessage","isUploading","filesInCurrentFolder","dropzone","acceptedFiles","dictInvalidFileType","url","process","headers","authHeader","on","vesselFile","vesselFileUploaded","response","isUndefined","fileExists","some","upload","filename","confirm","removeFile","getFilesInFolder","files","filesInFolder","isDescendant","indexOf","childFileName","replace","fileExistsInFolder","updateFile","newFileName","vesselFilesClient","getFile","isTempFolder","draggableFile","isFolder","draggableElement","preventDefault","className","fileNameWithoutPath","existingFile","id","fileEntity","supportedExtensions","excel","word","pdf","elementType","uploadedTime","folderId","binaryFileId","uploadedBy","fileSize","isFileMenuVisible","newName","fileIcon","fileExtension","toLowerCase","extension","split","pop","formattedFileSize","stringHelper","getPrettyFileSize","uploadedText","format","newNameErrorText","rename","endsWith","fileNameWithoutExtension","resetName","nameWithoutExtension","substr","lastIndexOf","getFileNameWithoutPath","showFileMenu","hideFileMenu","arg","folderName","vesselName","vesselname","vesselFileSizeLimitInMB","newFolderHelpText","tooltipHelpText","newFolderName","pdfFileName","vesselFilePdfUrl","elementToDelete","elementToRename","isFilesLoading","isHelpTooltipOpen","sortAscending","sortColumn","isNewFolderDialogVisible","isPdfViewerVisible","isDeleteDialogVisible","isRenameDialogVisible","hasRenameError","hasNewFolderError","observableArray","currentFolder","FolderVM","foldersInCurrentFolder","getFiles","formattedFileSizeLimit","limit","totalFileSize","bytes","parentFolderPath","stop","parentFolderNames","parentFolderName","reverse","sortFiles","deleteText","goToFolder","getFolders","viewPdf","toJS","showDeleteDialog","showRenameDialog","folders","isFile","elements","elementName","without","isInvalid","sourceName","renameFolder","createNewFolder","deleteElement","removeFolder","downloadFile","vesselFileDownload","vesselFileUploadedBinding","fileVM","indexOfExistingFile","FileVM","closeTooltipBinding","closeTooltip","showNewFolderDialog","startsWith","currentFolderPath","fileNameStartsWithPath","newFolderPath","toggleHelpTooltip","showTooltip","text","isWide","hideHelpTooltip","sort","a","b","left","getSortData","right","column","closePdfViewer","closePdf","getTempFoldersInCurrentFolder","childFolderName","folderNames","folderExists","isChildFolder","union","filter","getAll","map","always","Vue","use","Vuex","Store","Auth","Announcement","Benefits","LongTrends","Incidents","User","Users","Vessels","VesselsAdmin","Companies","VesselAccessGroups","VesselGroups","VesselsHistories","Dashboard","MapWidget","Taxonomy","Reports","VesselEvents","LogVariables","LogData","LongTrendPeriod","VesselDataWidgetConfiguration","WidgetTypes","PerformanceStatusWidget","NotificationWidgetConfiguration","CiiWidgetConfiguration","FoulingOverviewWidgetConfiguration","Snackbar","Cii","Shapoli","ISO19030","Channels","Fouling","DataQuality","FeatureMap","EmissionsCompliance","Cds","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","apiFetch","endpoint","options","accessToken","store","getters","Authorization","fetch","ok","contentType","json","apiGet","method","apiPut","body","JSON","stringify","AuthService","username","password","localStorage","removeItem","Email","Username","Token","Password","CurrentPassword","NewPassword","warn","storedAccessToken","getItem","storedAccessTokenExpiryDate","storedRememberUser","parse","loggedIn","accessTokenExpiryDate","_isRefreshing","state","setItem","tokens","access","expiry","login","persist","lostPassword","resetPassword","token","changePassword","currentPassword","newPassword","logout","getModule","VesselsModule","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","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","logVariablesClient","findAll","findVesselLogVariablesTaxa","taxa","forEach","findVesselLogVariablesShaftPower","shaftPowerLogVariables","existedVesselIndex","DashboardClient","dashboard","dashboardId","_dashboards","_activeDashboardIndex","dashboards","_activeDashboardId","$cookies","dash","widgets","widget","widgetData","sequence","updatedDashboardsSequence","stringifiedDashboardListSequence","dashboardListSequence","typeTemplate","newDashboard","createdDashboard","activeDashboard","updatedDashboard","typeName","defaultName","active","_channels","channels","channel","chnlIndex","chnl","ChannelsClient","ch","escapeRegExp","str","replaceAll","RegExp","addSlashes","isNullOrWhiteSpace","isString","isLookingLikeAnEmail","test","stringContains","sizes","Math","floor","log","pow","isCaseInsensitive","getPrettyIMO","prettyIMO","pad","max","toString","str1","str2","areEqual","toUpperCase","localeCompare","DataQualityClient","tags","featureName","_loadingState","_modalLoadingState","_speedLogDataLoadingState","_derivedSpeedThroughWaterState","_speedThroughWaterState","_featureValues","_fleetOverview","_dataAvailability","_dataAvailabilityConfig","_dataOutliers","_companyOutliers","_dataOutliersTakeAction","_dataOutliersViewHistory","_speedLogData","_derivedSpeedThroughWaterData","_speedThroughWaterData","loading","featureValues","fleetOverview","dataAvailability","dataAvailabilityConfig","dataOutliers","companyOutliers","dataOutliersTakeAction","dataOutliersViewHistory","dataQualityClient","getFleetOverview","getDataOutage","getDataOutageConfig","configuration","updateDataOutageConfig","getCompanyOutliers","getFeatureValues","getFeatureConfigs","updateFeatureConfigs","outliers","updateOutliersAcknowledge","updateOutliersRemove","getSpeedLog","getDerivedSpeedThroughWater","getSpeedThroughWater","MapWidgetData","_performanceStatuses","VesselStatusIcons","Ok","Observe","NotOk","BenchMarking","notAvailable","CiiClient","getDays","getYtd","getYear","getVesselBaseUrl","vesselUrlName","encodeURIComponent","baseUrl","getVesselUrl","getVesselSettingsUrl","getVesselNotificationsUrl","getVersionHistoryUrl","getHelpDiagnosticsUrl","LongTrendsClient","isDiagnosticType","findLongTrends","longTrendUpdated","getLongTrendData","downloadExcel","fileDownload","_meta","_longTrendPeriod","_statistics","_trendLimits","LongTrendPeriodsClient","meta","statistics","trendLimits","getOnlineUsers","setCompany","isSuperUser","taxon","highlightedLogVariable","shortName","isHighlighted","any","logVariableTaxon","taxons","orderedTaxons","TaxonVM","BenefitsClient","trendEventId","consequences","_listofAnnouncements","_allAnnoucements","_readByUser","listofAnnouncements","allAnnouncement","readByUser","AnnouncementClient","findByUser","filteredAnnouncement","newAnnouncement","deleteAnnounement","deleteResponse","sendEmail","___HTML_LOADER_GET_SOURCE_FROM_IMPORT___","___HTML_LOADER_IMPORT_0___","___HTML_LOADER_IMPORT_1___","___HTML_LOADER_IMPORT_2___","___HTML_LOADER_IMPORT_3___","___HTML_LOADER_IMPORT_4___","___HTML_LOADER_IMPORT_5___","___HTML_LOADER_IMPORT_6___","___HTML_LOADER_IMPORT_7___","___HTML_LOADER_REPLACEMENT_0___","___HTML_LOADER_REPLACEMENT_1___","___HTML_LOADER_REPLACEMENT_2___","___HTML_LOADER_REPLACEMENT_3___","___HTML_LOADER_REPLACEMENT_4___","___HTML_LOADER_REPLACEMENT_5___","___HTML_LOADER_REPLACEMENT_6___","___HTML_LOADER_REPLACEMENT_7___","ImportStatusClient","getSuccessfulImports","partition","getLastNumberOfImports","recentDays","getFailedImports","getRunningImports","deleteFailedImport","importEntity","deleteRunningImport","getVesselImportStates","imoNumbers","retryAllFailedImports","downloadImportPackage","downloadZipFile","ImportQueueClient","queueName","importPath","ImportEntity","stackTraceSearchReplaces","repl","statuses","imported","running","importDuration","zipPath","stackTrace","webJob","importStatistics","progress","formattedStackTrace","importDurationInSeconds","ticksInSeconds","ticks","startTime","endTime","statusCss","importPathDownloadUrl","zipPathDownloadUrl","retryImport","isEmpty","removeImport","importStatusClient","toggleIsOpen","poller","tableStorageDateFormat","datepickerFormat","queueNames","pendingImports","receivedData","recentDateType","day","timeRange","importDetailsEntity","importDetailsVisible","successfulImportsLoading","failedImportsLoading","realtimePoll","selectedRecentDateType","datepickerValue","imoSearchValue","rowsPerPage","pollIntervall","receivedDataQueueLength","pendingImportsQueueLength","successfulImports","runningImports","failedImports","pollingOptions","numberOfRows","numberOfRecentDays","range","isVesselImportStatesLoading","vesselImportStates","isRetryingAllFailedImports","loadStatus","vesselImportStateModels","activeVesselImportStates","vesselImportState","currentImport","imo","currentImportSetAt","pendingImportPaths","vesselImportStateModel","recentImports","read","recentlyFailedImports","imports","sortByTimestamp","write","getFormattedDate","failedImport","partitionKey","sendImportMessageOnQueue","removeFailedImport","pollFunction","retryImportEvent","removeImportEvent","datePickerValueSubscription","selectedRecentDateTypeSubscription","recentDaysSubscription","runningImportsBinding","loggingHistoryItemsCount","loggingHistoryTableRowCounts","successfulImport","loggingHistoryTableStats","importStatistic","TableName","RowCount","memo","num","totalTimeSpentInHours","totalImportDurationTicks","timeConverterHelper","ticksToHours","logDataTotalTimeSpentInHours","loggingHistoryTableImportDurations","ImportDuration","formattedDate","getNumberOfMessagesInQueue","queueObservable","queueClient","importQueue","isNull","getPreviousDatePartition","newDate","addDaysToDate","getNextDatePartition","daysAdded","currentDate","toggleRealtimePoll","poll","intervall","clearInterval","setInterval","runningImport","errorImport","getImports","vesselGroup","vesselGroupCreated","vesselGroupUpdated","vesselGroupDeleted","addVesselToGroup","cmd","vesselGroupId","removeVesselFromGroup","webpackContext","req","webpackContextResolve","keys","_seaSurfaceTemperature","_speedLossHistory","_speedLossStatistics","_hullCoatingVessel","_hullCoatingType","_hullCoatingManufacturer","_foulingChartConfig","_propulsionCurve","timestamps","valueOf","min","FoulingClient","getSpeedLossHistory","seaSurfaceTemperature","getSeaSurfaceTemperature","getSpeedLossStatistics","getHullCoatingType","getHullCoatingManufacturer","hullCoatingVessel","postHullCoatingVessel","foulingChartConfig","updateFoulingChartConfig","fetchFoulingChartConfig","getPropulsionEfficency","getPropulsionEfficencyCurve","getAddedFuelConsumption","getEventImpact","eventDate","formattedWeatherData","shipSpeed","timeSpent","formattedWeatherDataItem","temperature","latlng","dateA","getTime","dateB","getHelpText","getBenefitText","getInvalidConsequenceHelpText","diagnosticTypeName","param","logVariablesMap","taxonomy","highlightLogVariableId","allTaxa","uniqueTaxa","uniq","orderedUniqueTaxa","groupedTaxa","categories","CategoryVM","downloadTaxonomy","uploadTaxonomy","fd","FormData","append","go","TaxonomyClient","getTaxonomyLogVariables","getAllTaxa","_taxonomyLogVariables","_taxonomyCategories","taxonomyClient","taxonomyLogVariables","taxonomyCategories","_config","_defaultConfig","color","show","closeButton","defaultConfigCopy","snackbarConfig","configEmissionReport","configEmissionReportFactory","voyageTypes","voyage","inputVoyageName","inputVoyageType","inputIsNonCommercial","isNonCommercial","updatedVesselEvent","accessGroups","originalAccessGroup","getOriginalAccessGroup","accessGroup","categoriesClient","items","vesselAccessGroupOnCreated","vesselAccessGroupOnUpdated","onDeletedBinding","vesselAccessGroupOnDeleted","isEditMode","accessGroupList","AccessGroupListVM","vesselAccessGroupAddBinding","vesselAccessGroupAdd","AccessGroupVM","vesselAccessGroupRenameBinding","vesselAccessGroupRename","vesselAccessGroupEditBinding","vesselAccessGroupEdit","vesselAccessGroupDeleteBinding","vesselAccessGroupDelete","closeEdit","errorEvent","createAccessGroup","renameAccessGroup","originalCompany","deleteAccessGroup","_allVesselsFeatures","Map","f","vesselFeatures","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","_radiusY","scale","_map","getZoom","PI","boostExp","boostScale","boostType","fill","stroke","weight","grd","createRadialGradient","y","addColorStop","fillColor","beginPath","fillStyle","arc","fillRule","moveTo","lineTo","closePath","_fillStroke","xproto","CircleMarker","xprev","_containsPoint","Point","distanceTo","_clickTolerance","cproto","Layer","cprev","_openPopup","_popup","DomEvent","_source","openPopup","hasLayer","closePopup","pproto","Popup","p_getAnchor","_getAnchor","point","_getPopupAnchor","toIdMap","arrayOfObjectsWithId","ConfigEmissionReport","apiBaseUrl","flowMetersMap","fuelTanksMap","fuelTypesMap","cargoUnitsMap","isLoadingVessel","isLoadingCargoUnits","isLoadingFlowMeters","isLoadingFuelTanks","isLoadingFuelTypes","flowMeter","isDeactivated","fuelTank","activeFuelTypes","fuelType","loadVessel","loadGpsSpeedLogVariable","loadFlowMeters","loadFuelTanks","loadCargoUnits","loadFuelTypes","vesselsAdministrationsClient","findGpsSpeedVariable","flowMetersClient","fuelTanksClient","cargoUnitsClient","fuelTypesClient","configEmissionReportInstance","ISO19030Client","All","AllByVesselId","EventById","eventId","CreateEvent","eventModel","UpdateEvent","patch","DeleteEvent","PerformanceIndicators","_events","_performanceIndicators","decimals","parseLocaleNumber","stringNumber","locale","thousandSeparator","Intl","NumberFormat","formatToParts","decimalSeparator","numericFilter","expect","numericWithNegativeFilter","editVessel","previousMenuItem","menuItem","isUnasssignedVesselsLoading","isCompaniesLoading","unassignedVessels","assignedVessels","archivedVessels","companies","getCompanies","visibleView","arraySortedEvent","vesselArraySorted","array","menuItemClickEvent","menuItemClick","Vessel","findDataReceiver","vesselUpdatedEvent","vesselAdministrationUpdated","updateType","vesselDeletedEvent","vesselDeleted","mapVessels","activeStatus","companiesClient","_usersExpired","_users","_onlineUsers","onlineUsers","usersClient","refreshUsers","usr","voyageFuelConsumption","flowMeterFuelConsumptionDeleted","CurvesClient","curveCreated","curveUpdated","curveDeleted","downloadExcelReport","curvePlotResult","_vesselsExpired","_vesselsAdminAll","_vesselsAdminUnassigned","_vesselsAdminActive","_vesselsAdminInactive","refreshAllVessels","CompaniesClient","company","getPerformanceStatusText","performanceStatus","getPerformanceStatusErrorText","getPerformanceStatusImageSrc","require","getPerformanceStatus","isDiagnosticActivated","enabledLongTrends","useInVesselStatus","longTrendStatuses","join","getSortValue","getPerformanceStatusCssClass","getSortValueByStatus","_CompaniesExpired","_companies","refreshCompanies","ShapoliClient","getBreaches","getBreachDetails","getEvents","getShaftPowerLogVariables","downloadBreachLogData","dates","downloadBreachesYearReport","findMarkerBounds","markers","w","sw","ne","marker","lat","lng","getLatLng","LatLng","LatLngBounds","updateMarkers","markerPopupsIsOpen","openPopups","markersGroup","isPopupOpen","clearLayers","layerGroup","addTo","markerBounds","fitBounds","padding","maxZoom","utils","unwrapObservable","TileLayer","attribution","maxBounds","latLngBounds","latLng","layers","scrollWheelZoom","minZoom","zoom","center","maxBoundsViscosity","initialMarkerPopupsIsOpen","optionsSubscription","newOptions","domNodeDisposal","addDisposeCallback","LongTrendConfigurationsClient","getVesselGroupNameError","isLoadingVesselGroups","isLoadingVessels","isCreatingVesselGroup","isEditingVesselGroup","vesselGroups","selectedVesselGroup","newVesselGroupName","createVesselGroupError","editVesselGroupError","removingVesselGroup","editingVesselGroup","editedVesselGroupName","selectVesselGroup","startEditVesselGroup","$container","doneEditVesselGroup","editedVesselGroup","vesselGroupNameError","vesselGroupsClient","cancelEditVesselGroup","startRemoveVesselGroup","removeVesselGroup","vesselsInSelectedVesselGroup","vesselsNotInSelectedVesselGroup","sortedVesselGroups","vesselGroupCreatedBinding","createdVesselGroup","vesselGroupUpdatedBinding","updatedVesselGroup","oldVesselGroup","vesselGroupDeletedBinding","deletedVesselGroup","loadVessels","loadVesselGroups","createVesselGroup","newVesselGroup","style","zIndex","width","_k","keyCode","cancel","dialog","directives","rawName","domProps","noconfirm","ConfirmDialog","VesselsClient","ignoreCompany","getVesselsByCompanyId","getExtendedVessels","updateVesselDraft","draft","draftMean","updateVessel","EmissionsComplianceClient","vesselid","_loadingEmissionSummaryState","_voyageList","_emissionSummary","getVoyageList","voyageList","getEmissionSummary","emissionSummary","uploadFiles","downloadReport","signals","Signal","repositionTooltip","vesselEventSelected","showModal","closeModal","modalClosed","curvePlotCreated","curvePlotUpdated","curvePlotDeleted","curvePlotSelected","curvePlotSpecified","editCurveStart","editCurveDone","filterGroupEmpty","flowMeterDeleted","flowMeterFuelConsumptionUpdated","flowMeterFuelConsumptionSelected","overlappingFuelConsumptionUpdated","voyageCreated","voyageVesselEventUpdated","fuelTankDeleted","fuelTankSoundingDeleted","fuelTankOperationCreated","fuelTankOperationDeleted","flowMeterOperationDeleted","fuelTypeDeleted","viewReport","curvePredictionUpdated","notificationConditionCreated","notificationConditionUpdated","notificationConditionRemoved","notificationChannelRemoved","filteredVesselsChanged","compareVesselsSelected","companyAdd","companyEdit","companyDelete","companyView","companyViewAs","companyOnCreated","companyOnUpdated","companyOnRemoved","updateLoaderText","presetChanged","createEvent","editEvent","deleteEvent","updateEventList","showDiagnosticsDetails","_breaches","breaches","VesselPerformanceStatusesClient","variableTree","treeMaker","makeTree","unwrap","selectedId","selectedItem","menuOpen","menuVisible","safetyMargin","selected","selectItem","closeMenu","selectedItemName","toggleMenu","positionMenu","$menu","next","menuHeight","height","windowHeight","top","clientY","clientX","difference","styles","css","positionSubMenu","$el","first","windowWidth","rect","getBoundingClientRect","availableHeight","availableBottom","delta","position","children","bottom","acessToken","VesselHistoriesClient","getVesselHistoryAdditionals","vesselHistoryId","getVesselHistories","getLatestVesselHistory","_vesselsHistories","vesselHistories","input","timespan","lastExportDate","vesselHistoryAdditionals","forgotPassword","handleLogin","validLogin","class","isUsernameAutofilled","usernameRules","$set","isPasswordAutofilled","showPassword","passwordRules","handleForgotPassword","validResetPassword","emailRules","valid","forgotPasswordEmail","forgotPasswordAlertType","forgotPasswordResponse","submittingEmail","Login","submittedEmail","isLoggedIn","$router","catch","usernameInput","querySelector","passwordInput","checkAutofilledInputs","VAlert","VCardSubtitle","VCardTitle","VCheckbox","VCol","VContainer","VForm","VImg","VRow","incompleteLink","submitting","handleResetPassword","isFormValid","minimumPasswordLength","submittedSuccess","random","passwordsEqualBool","passwordsEqual","repeatPassword","alertType","errorResponse","_l","ResetPassword","submitted","$route","String","formatError","VueRouter","routes","redirect","subTitle","parent","beforeEnter","isKognifai","base","scrollBehavior","savedPosition","beforeEach","publicPages","authRequired","userExpired","afterEach","FeatureMapClient","_featureMapListLoadingState","_featureMapList","featureMapClient","getFeatureMapList","featureMapList","tableWidgetIllustration","graphWidgetIllustration","mapWidgetIllustration","performanceStatusWidgetIllustration","notificationWidgetIllustration","ciiWidgetTableViewIllustration","ciiWidgetChartViewIllustration","foulingWidgetViewIllustration","_startup","defaultWidth","defaultHeight","multiple","description","images","usingConfig","enabled","_VesselDataTable","displayType","_VesselDataGraph","_performanceStatus","_notification","_emissions","_foulingOverview","_allAddable","separator","uniqueItems","levels","makeTreeRecursive","grouped","nextlevel","announcementDetails","announcementId","AcknowledgeIncident","AcknowledgeAllIncidents","openIncidents","LogVariablesClient","unitType","hasLogData","extended","dupNames","logVariableHelper","findAvailableLogVariables","findAvailableLogVariablesExtended","findMassFlowRateVariables","findSpeedVariables","findVesselsLogVariables","filterMinMaxTooltipText","filterOutliersTooltipText","toMinutes","minutes","isFilterMinMaxTooltipOpen","isFilterOutliersTooltipOpen","lastHours","lastMinutes","fromTime","toTime","selectedDataInterval","setPeriodValuesValid","lastNumberHours","lastNumberMinutes","dataInterval","loggingHistoryConfigurationsClient","minDate","logDataMinDate","maxDate","logDataMaxDate","maxMinutes","toggleFilterMinMaxTooltip","tooltipPosition","toggleFilterOutliersTooltip","hideTooltips","factory","define","extenders","paging","pageSize","_pageSize","_preferredSize","_currentPage","newValue","moveFirst","rowsToShow","currentPage","pageCount","ceil","currentPageData","pageIndex","startIndex","endIndex","movePrevious","moveNext","moveLast","getFlowMeterFuelConsumptionSourceColor","fuelConsumption","manualFuelConsumptionSourceColor","isNumber","correctedFuelConsumptionInTon","fuelConsumptionSource","flowMeterFuelConsumption","isSelected","isOverlapped","isRemoving","fuelTypeName","fuelTypeId","hasCorrectedFuelConsumptionInTon","inputFuelConsumptionInTon","flowMeterFuelConsumptionSelectedBinding","selectedFuelConsumption","startAt","endAt","flowMeterId","overlappingFlowMeterFuelConsumptionUpdatedBinding","overlappingFuelConsumption","fuelConsumptionSourceColor","isRemoveable","startEdit","initialInputFuelConsumptionInTon","fuelConsumptionInTon","off","updateFuelConsumptionInTon","fuelConsumptionsClient","ReportsClient","getReportUrl","reportId","onlyUrl","ReportTypesClient","_reportsExpired","_reports","_reportTypes","reports","reportTypes","reportTypeName","reportsClient","refreshReports","reportTypesClient","refreshReportTypes","Net","ajax","crossDomain","processData","traditional","cache","xhrFields","responseType","success","xhr","header","getResponseHeader","filenameRegex","matches","exec","windowUrl","URL","webkitURL","createObjectURL","anchor","download","click","revokeObjectURL","findLatest","benchmarkPeriod","GraphVariable","variableSelectionUpdateTrigger","displayName","queue","notifySubscribers","unselect","dateFormat","timeFormat","submitFormat","toSubmitString","submitDate","formatDate","dateTimeString","formatDateTime","dateTime","timeFormatter","dateInMilliseconds","datesDiffAsHours","duration","asHours","durationBetweenDates","diff_s","dur_ms","asMilliseconds","humanizeDuration","humanize","getHumanizeDuration","getDurationBetweenDates","getDateInMilliseconds","getDateFormat","getTimeFormat","getJavascriptDate","isValidTime","timeString","getRegressionData","dataPoints","curveFit","regressionOrder","regressionData","regression","linear","polynomial","order","dataPointsFilteredForPowerRegression","power","exponential","dataPointsFilteredForLogarithmicRegression","logarithmic","getPredictedPoint","predict","getPredictedValue","predictedPoint","getPredictedPoints","increment","upperLimit","graphPoints","getPredictionSerieData","xMin","xMax","points","abs","predictedPoints","getDataArrayFromDataPointObjects","getStandardError","predictedData","SE","N","sqrt","getMean","dataArray","getStd","mean","sumSquaredDifferences","variance","standardDeviation","erf","sign","a1","a2","a3","a4","a5","exp","erfc","isOutlier","std","criterion","threshold","prob","predictRegressionValue","getPredictedDataArray","stdv","registerHooks","Vuetify","theme","customProperties","themes","light","primary","primaryLighten80","primaryLightGrey75","primary2","mainGrey100","secondary","secondary50","secondary2","secondary3","neutralLighten100","lightGrey100","neutralDark50","neutralDark75","darkGrey25","darkGrey75","darkGrey100","accent","accentDarker110","success100","warning100","error100","info","info100","warning","warning50","warning110","userCompanyName","navigateToVersionHistory","ShowAnnouncementPopup","unreadAnnouncementandNotification","staticStyle","notification","closeSnackbar","anchorElement","visible","timeoutHandles","showTooltipBinding","positionOffset","positionTooltip","timeoutHandle","my","at","collision","of","anchorElementSubscription","clearedTimeoutHandles","repositionTooltipBinding","getPosition","TooltipWrapper","instance","koHtmlAndViewModel","applyBindings","cleanNode","onSequenceChanged","sidebarMini","openManageDashboardsDialog","sharedDashboards","isDashboardActive","setActiveDashboard","openGeneralTimespanDialog","setVesselPerformanceStatus","setVesselIconRotation","course","helpCategory","generalTimespanDialog","Boolean","isWidgetHasNotAllowedUnit","generalTimeSpanSettings","onGeneralTimeSpanSettingsSave","closeGeneralTimespanDialog","selectedWidgets","panel","personalDashboardNameHandlers","dashboardNameHandler","editing","updateDashboardName","cancelEditDashboardName","isLastDashboard","deleteDashboard","isCurrentDashboard","onDashboardSharingChange","createNewDashboard","Dash","DashboardModule","SnackbarModule","UsersModule","ManageDashboardsDialog","dashboardNameHandlers","personalDahboards","updatedPersonalDashboardNameHandlers","u","refreshDashboardsList","newDashboardName","showSnackbar","htmlEncoder","confirmDelete","open","confirmed","dashboardToUpdate","dashboardById","updateDashboard","refreshDashboards","userIdsSharedWith","Ref","draggable","VExpansionPanel","VExpansionPanelContent","VExpansionPanelHeader","VExpansionPanels","VList","VListItem","IncidentsModule","VesselDataWidgetConfig","LogDataModule","Sidebar","helpCategories","selectedWidgetsConfigs","columns","fetchCalculatedLogData","updateVesselDataWidgetConfig","refreshVesselDataWidgetConfigs","isInteger","selectedWidgetConfigs","widgetConfig","getConfigById","configId","configsWithNotAllowedUnit","columnHasNotAllowedUnit","widgetsWithError","configsWithUnitError","widgetsWithErrorNameList","isAdmin","isSuperOrAdmin","extendedVessels","features","feature","vesselsLoadingState","userCompanyId","updateDashboardsSequence","transform","performance","manageDashboardsDialog","refreshExtendedVessels","getAllOpenIncidents","initializeDashboard","VDivider","VListGroup","VListItemAction","VListItemContent","VListItemIcon","VListItemTitle","VMenu","VNavigationDrawer","VProgressLinear","VSelect","VSubheader","longTrendDateFormatted","cssClass","iconImageSrc","displayText","PerformanceStatusIcon","cssClassProp","iconImageSrcProp","displayTextProp","setStatusIconProps","performanceStatusHelper","deep","VesselTitle","trendDataMinDate","trendDataMaxDate","vPerformanceStatusIcon","months","getMonth","getFullYear","VersionClient","getVersion","componentKey","tabClickHandler","myNotificationCount","subitem","subindex","getTimeAgo","openVesselEvent","MarkAsAcknowledged","getConditionType","conditionDetails","announcementCount","MarkasRead","publishDate","activeTab","MarkAllAsRead","MarkAllAsAcknowledged","getConditionTypeFromKey","targetKey","AnnouncementModule","ShowAnnouncement","allAnnouncements","userDetails","myNotifications","latest","archived","MINUTE_IN_MS","subitems","$root","$on","fetchData","announcementListByUser","getFleetLevelOpenIncidents","isView","acknowledged","startRefreshTimer","refreshTimer","filterdata","UserEmail","CompanyId","AnnouncementId","announcementReadByUser","Id","utcDate","toLocaleString","localeMatcher","timeZoneName","dateValue","fromNow","conditionType","conditionTypeHelper","VFooter","VTab","VTabItem","VTabs","App","showSidebar","showNewVersionNotification","lastUsedVersion","errorEventBinding","unreadAnnouncementCount","userProfile","announcementlistByUser","$store","delayedRegisterKnockoutComponents","checkIfNewVersion","isTokenValid","unwatchNameChanged","$watch","newVal","unacknowledgedIncidents","unacknowledgedIncidentsCount","currentVersion","heap","addUserProperties","company_id","company_name","is_admin","reload","tooltip","vVesselTitle","VApp","VAppBar","VBadge","VListItemSubtitle","VMain","VSnackbar","containerClass","cardClass","maxWidth","DefaultContainer","Prop","ajaxPrefilter","opts","originalOpts","jqXHR","refreshRequest","dfd","args","expiryDate","rejectWith","current","vesselHistory","polylines","showVesselTrack","vesselMap","vesselMapHelper","addVesselMarker","addVesselTrack","centerOnMarkers","showVesselTrackBinding","removeVesselTrack","RotatedMarker","Marker","angle","rotationOrigin","_setPos","pos","_icon","DomUtil","TRANSFORM","Browser","ie","rad","DEG_TO_RAD","costheta","cos","sintheta","sin","rotatedMarker","addPolyline","addPreviousPositionMarkers","removeMarkers","removePolyline","createPolylines","currentVesselHistory","minPixelDistance","positionMarker","createMarker","postitionMarkerLatLng","positionMakerPoint","latLngToLayerPoint","isInvalidMarker","markerLatLng","markerPoint","getElementById","classList","removeLayer","polyline","getVesselHistoriesInTimeIntervals","timeBetweenVesselHistoriesInHours","someVesselHistories","latestVesselHistory","firstVesselHistory","exportDate","performanceStatusItems","isUpdating","updateError","descriptionLong","useInVesselStatusTooltipText","toggleUseInVesselStatus","showUseInVesselStatusToopltip","closeToopltip","useManualBenchmarkLevel","benchmarkLevelTooltipText","manualBenchmarkLevel","showBenchmarkLevelToopltip","initialPerformanceStatus","showText","longTrendUpdatedBinding","vesselPerformanceStatusesClient","getVesselEventTypeText","getVesselEventSourceText","source","vesselEventType","getVesselEventTypeImageSrc","iconName","getVesselEventSourceImageSrc","sourceText","vesselEventHelper","sourceImageSrc","typeText","typeImageSrc","showNameToopltip","hasSFRBenchmarkingError","benefit","firstConsequence","hasConsequenceResults","results","mcrDisplay","consequence","displayValue","isNaN","valueText","headerName","validationMessages","minManualBenchmarkLevel","maxManualBenchmarkLevel","isObservable","customCssClass","textSubscription","GraphVariableGroup","maxVariables","distinct","graphVariables","variableName","selectedGraphVariables","unselectedGraphVariables","selectedIds","selection","seperator","count","currentGroupIndex","clear","maxGroups","initialVariableSelection","initializeVariableSelection","variableSelection","groupVariableIds","groupName","currentGroup","addGroup","variableSelectionString","initialVariableStrings","removeEmptyLastElementFromArray","getInitialVariableSelectionGroups","getInitialVariableSelectionIds","variableSelectionStrings","initialIds","ids","timeErrorMessage","numberFormatErrorMessage","selectedTimeErrorMessage","setSelectedTimeErrors","lastPeriodError","timeError","setLastPeriodErrorMessage","isValueInvalid","empty","disableLastVoyage","lastVoyageDateString","isLastPeriodInputInvalid","isTimeInputInvalid","focused","selectedTimePeriodSubscriber","selectedTimeInMinutesSubscriber","intervalLimit","intervalInMilliseconds","minutesToMilliseconds","updateSelectedDataInterval","disableSelectedDataInterval","checkIfDataIntervalIsDisabled","incrementSelectedDataInterval","currentVariables","v","isDataIntervalAllowedForDataSize","isDataIntervalAllowedForSampleWindow","intervalMs","every","sampleWindowInMs","selectedTimeBinding","goldenRationConjugate","colorFromHsv","hue","saturation","hi","q","Color","g","getDistinctColor","h","string","isInitialized","lastZoomTime","plotlineTempMarkerId","initializeHighcharts","Highcharts","setOptions","chart","zoomType","spacingRight","marginTop","animation","credits","legend","xAxis","gridLineWidth","labels","plotOptions","series","enableMouseTracking","valueDecimals","exporting","sourceHeight","sourceWidth","getDefaultGenericLineChartOptions","yAxis","tickPixelInterval","plotBands","plotLines","chartOptions","getDefaultDiagnosticSplineHighchartsOptions","navigator","userAgent","getTrendLinesSeriesForLongTrendPeriods","trendline","start","end","getTrendLinesSeriesForCompareLongTrendPeriods","longTrendPeriodsGroupedByLongTrendId","longTrendPeriodGroup","vesselIndex","serie","colorHelper","getTrendLinesSeriesForCompareLastLongTrendPeriod","showRelativeYAxis","currentLongTrendPeriod","isCurrent","durationInMonths","valueDifference","startYValue","endYValue","getPlotBandsForLongTrendPeriods","bands","detailsData","toISOString","mouseover","svgElem","attr","mouseout","getPlotBandsForCompareLongTrendPeriods","orderedLongTrendPeriods","minStartLongTrend","maxEndLongTrend","getDataSeriesForLongTrendPeriods","longTrendData","lineWidth","getPlotLineForVesselEvent","html","label","rotation","useHTML","getPlotLinesForVesselEvents","lines","getBenefitPlotLineForVesselEvent","getPlotLineForVoyageEvent","occuredAt","eventName","getDefaultGenericPieChartOptions","pieSlices","plotBackgroundColor","plotBorderWidth","plotShadow","pointFormat","pie","allowPointSelect","cursor","dataLabels","colorByPoint","plotLineDateSelectMousedown","pointer","normalize","toValue","chartX","removePlotLine","addPlotLine","plotLineDateSelectCancel","getRegressionSerie","defaultSerie","isRegressionLine","showInLegend","merge","getScatterDataSerie","symbol","addExporting","curveMode","referenceCurveDataPoints","xAxisLogVariable","yAxisLogVariable","forceTonDayUnit","chartInfo","xAxisVariable","yAxisVariable","referenceCurveRegressionData","curvePredictionHelper","referenceCurveSerieData","referenceCurveSerie","highchartsHelper","XMin","XMax","extendedReferenceCurveSerieData","extendedReferenceCurveSerie","dashStyle","linkedTo","curveDataSerie","yAxisUnitCaption","layout","align","verticalAlign","borderWidth","highchartsOptions","selectedCurve","availableVariables","curveDataPoints","graphSeries","curveDataArray","curveDataStatistics","curveDataXMin","curveDataXMax","referenceCurveXMin","referenceCurveXMax","curveRegressionData","xAxisLogVariableId","yAxisLogVariableId","availableVariable","partitionedForOutliers","filteredDataPoints","outliersSerie","bestFitSerieData","predictionsSerieData","predictedDataArray","standardError","bestFitSerie","predictionsSerie","useHtml","formatter","getTooltipText","chartBinding","processedXData","processedYData","referenceCurveDataPointsBinding","setData","curvePredictionUpdatedBinding","pointX","pointY","isValidPoint","seriesName","predictionSerieName","predictedSerie","predictionSerieColor","addSeries","curvePoint","xAxisTitle","axisTitle","textStr","yAxisTitle","timePeriod","variableDataList","formatedStartDate","formatedEndDate","variableDataElement","isYAxis","average","timePeriods","sumOfActualFuelConsumption","sum","cpModule","actualFuelConsumption","sumOfReferenceFuelConsumption","referenceFuelConsumption","sumOfDifferenceInFuelConsumption","differenceBetweenConsumptions","sumOfDistanceTravelled","distanceTravelled","curveData","inputValue","prediction","isInputValid","predictions","predictionText","inputValueBinding","predictionPoint","removePoint","indexOfCurvePoint","CurveVM","sortedPredictions","addPredictions","isPredictedValueOutlier","predictedValue","hasAnyPredictedOutliers","addPoint","floatValue","pointExists","loaderText","loaderTextBinding","pieChartOptions","FuelConsumptionsByFuelType","flowMeterFuelConsumptions","actualFuelConsumptionInTon","fuelConsumptions","fuelConsumptionsByFuelTypes","groupedByFuelType","fuelConsumptionsByFuelType","enablePlotLineDateSelect","exportTitle","firstPoint","lastPoint","last","isTimelineData","radius","dateSelectStartedBinding","dateSelectEndedBinding","mousedown","departureVesselEvents","isDeleting","canDelete","vesselEventIndex","departureType","isLeftOk","isRightOk","notifySelect","deleteDeparture","isCreating","inputDate","inputTime","newVesselEvent","inputVesselEventDate","inputVesselEventTime","allowedFromMoment","allowedToMoment","sameTimestampVesselEvent","vesselEventTimestampMoment","isSame","leftOfTimestampVesselEventIndex","findLastIndex","leftOfTimestampVesselEvent","rightOfTimestampVesselEvent","getFlowMeterFuelConsumptionSourcePercent","vesselEventDurationInSeconds","flowMeterFuelConsumptionDurationInSeconds","countCorrectedValues","hasCorrectedValue","isVoyageInformationConfirmed","isVoyageDataConfirmed","distance","distanceSailed","hasCorrectedDistance","manualDistanceByGPS","totalDistanceByGPS","loggedDistanceByGPS","estimatedDistanceByGPS","currentDistance","flowMeterFuelConsumptionManualEstimatePercent","flowMeterFuelConsumptionRegressionPercent","flowMeterFuelConsumptionManualPercent","flowMeterFuelConsumptionLogDataPercent","missingFlowMeterFuelConsumptionPercent","roundedMissingFuelConsumptionPercent","missingDistancePercent","hasCorrectedTotalDistanceSailed","loggedDistanceByGPSPercent","estimatedDistanceByGPSPercent","roundedMissingDistancePercent","flowMeterFuelConsumptionPieSlices","distancePieSlices","hasMissingFlowMeterFuelConsumption","isStartOfVoyage","hasMissingDistance","validateVoyageDetails","isEndOfVoyage","validationErrorMessages","validatePortDetails","port","voyageValidationErrorMessages","portValidationErrorMessages","hasCompleteInformation","vesselEventSelectedBinding","canUnconfirm","previousDeparture","isPreviousDepartureLocked","informationConfirmedAt","isEndOfVoyageAndLocked","isConfirming","isUnconfirming","isLoadingFlowMeterFuelConsumptions","loadFlowMeterFuelConsumptions","isVoyageInformationConfirmedBinding","removeAll","activeOrInUseFlowMeters","isActive","isInUse","thisVesselEventIndex","previousVesselEventIndex","nextVesselEventIndex","departureIndex","flowMeterFuelConsumptionUpdatedBinding","updatedFuelConsumption","oldFuelConsumption","flowMeterFuelConsumptionDeletedBinding","deletedFuelConsumption","voyageVesselEventData","VoyageVesselEventData","unconfirm","deleteVesselEvent","flowMeterFuelConsumptionsClient","fuelTanks","isConfirmingVoyageInformation","isUnconfirmingVoyageInformation","isConfirmingVoyageData","isUnconfirmingVoyageData","isSendingEmissionReportToDnvGl","departureTimestampMoment","hasVeracityKey","hasEsgFeature","voyageVesselEvents","initVoyageVesselEvents","VoyageVesselEvent","newVoyageVesselEvent","selectedVoyageVesselEvent","deletedVoyageVesselEvent","isLoadingVoyageVesselEvents","loadUpdatedVoyageVesselEvents","isVoyageVesselEventsConfirmed","endOfVoyageVesselEvent","arrivalVoyageVesselEvent","departureVoyageVesselEvent","voyageVesselEventsByTimestampDescending","vesselEventTypesCount","groupedByType","requireEndBunkering","requireEndAnchoring","requireEndDrifting","requireStartBunkering","requireStartAnchoring","requireStartDrifting","canConfirmVoyageInformation","departureHasCompleteInformation","canConfirmVoyageData","hasMissingFlowMeterFuelConsumptionOrDistance","isMrvVoyage","isMrvPort","downloadEmissionReportUrl","downloadImoEmissionReportUrl","downloadDnvGlEmissionReportUrl","tabs","showDistanceAndFuelTabs","getNewSelectedTab","previousSelectedTab","initialSelectedTab","selectedTab","tabsBinding","newSelectedTab","selectTab","tab","toggleCollapsed","isCollapsed","toggleEditVoyageInformation","isEditingVoyageInformation","downloadMrvVoyageReport","downloadImoVoyageReport","downloadDnvGlVoyageReport","extraQueryDateHours","newQueryDates","drawPlotLines","voyageVesselEventsBinding","voyageVesselEventUpdatedBinding","plotLine","isCreatingVesselEventType","sortedVoyageVesselEvents","sortedVesselEvents","eventType","allowedFromVesselEventIndex","allowedFromVesselEvent","leftEventType","rightEventType","startCreatingVesselEvent","startCreatingDeparture","startCreatingArrival","startCreatingStartBunkering","startCreatingEndBunkering","startCreatingStartAnchoring","startCreatingEndAnchoring","startCreatingStartDrifting","startCreatingEndDrifting","cancelCreatingVesselEvent","createVesselEvent","requireAllCargoDetailsCreated","isAllCargoDetailsCreated","getVoyageVesselEventCargoDetails","vesselCargoUnits","cargoUnitIdsInUse","vesselCargoUnitIds","activeOrInUseCargoUnits","VoyageVesselEventCargoDetail","isAllCargoDetailsCreatedOutput","voyageVesselEventCargoDetails","isLoadingCargoDetails","forceShowCargoDetails","voyageVesselEventCargoDetail","showCargoDetails","createdCargoDetails","vesselEventCargoDetailDeletedBinding","isAllCargoDetailsCreatedBinding","toggleForceShowCargoDetails","nearestLocation","inputGeoCoordinate","loadingFailed","vesselLocations","queryFromDate","queryToDate","vesselEventTimestamp","vesselLocationsClient","sortedByNearness","vesselLocation","firstNearestLocation","equallyNearVesselLocations","vesselEventLocation","logDataLocation","vesselEventsClient","fuelTankId","fuelTankOperation","Tab","componentName","selectedFuelTank","isMissingFuelOperations","departureDate","departureVesselEvent","minFuelOperationInputDate","isLoadingFuelTankOperations","fuelTankOperations","selectedFuelTankBinding","newFuelTank","findFuelTankOperations","sortedFuelTankOperations","fuelOperationsQueryDates","fuelTankOperationDeletedBinding","fuelTankOperationCreatedBinding","isMissingFuelOperationsBinding","fuelTankOperationsClient","fuelTankFuelConsumption","fuelTankFuelConsumptionDeleted","fuelTankFuelConsumptions","sortedFuelTankFuelConsumptions","search","fuelTankFuelConsumptionsClient","fuelAdjustmentTooltipText","inputFuelTypeId","inputFuelDensity","inputFuelAdjustmentInTon","inputSulphurContent","newFuelTankOperation","fuelDensity","fuelAdjustmentInTon","sulphurContent","isNewFuelTankOperationValid","minInputDate","minInputTimestampDate","maxInputTimestamp","maxInputTimestampDate","addFuelTankOperation","showFuelAdjustmentTooltip","fuelTankSounding","fuelTankSoundings","inputFuelAmountInTon","inputFuelAmountInCubicMetres","inputFuelTemperatureInDegreesCelcius","newFuelTankSounding","FuelTankId","fuelAmountInTon","fuelAmountInCubicMetres","fuelTemperatureInDegreesCelcius","isNewFuelTankSoundingValid","sortedFuelTankSoundings","maxInputDate","fuelTankSoundingDeletedBinding","sortedFuelTankSoundingsBinding","lastFuelTankSounding","nextSuggestedTimestamp","addFuelTankSounding","fuelTankSoundingsClient","flowMeters","selectedFlowMeter","missingFlowMeterFuelConsumptions","filteredFlowMeterFuelConsumptions","sailingStartAt","sailingEndAt","timeRanges","uniqueTimeRanges","unique","missingTimeRanges","orderedUniqueTimeRanges","missingFlowMeterFuelConsumption","missingTimeRange1","missingTimeRange","missingFuelConsumption","flowMeterFuelConsumptionSource","sortedFlowMeterFuelConsumptions","showNewFlowMeterFuelConsumption","inputConsumptionStartDate","inputConsumptionStartTime","inputConsumptionEndDate","inputConsumptionEndTime","newFlowMeterFuelConsumption","overlappingFlowMeterFuelConsumption","flowMeterFuelConsumptionStartAt","flowMeterFuelConsumptionEndAt","validationErrorMessage","initializeDates","firstMissingFlowMeterFuelConsumptions","missingFlowMeterFuelConsumptionsBinding","addFlowMeterFuelConsumption","cancelNewFlowMeterFuelConsumption","startNewFlowMeterFuelConsumption","flowMeterOperation","flowMeterOperations","inputEstimatedFuelMassFlowRateInTonDay","newFlowMeterOperation","estimatedFuelMassFlowRateInTonDay","isNewFlowMeterOperationValid","sortedFlowMeterOperations","minInputTimestamp","selectedFlowMeterBinding","newFlowMeter","flowMeterOperationDeletedBinding","addFlowMeterOperation","flowMeterOperationsClient","speedLogVariables","isLoadingSpeedLogVariables","expirationDate","viewVeracityKey","editVeracityKey","isAddingCargoUnit","isRemovingCargoUnit","vesselUnwrapped","inputCargoUnitId","inputVesselTypeId","inputIceClassId","vesselTypes","isLoadingVesselTypes","vesselTypesClient","iceClasses","isLoadingIceClasses","iceClassesClient","iceClassId","inputPortOfRegistry","inputHomePort","inputEnergyEfficiencyDesignIndex","energyEfficiencyDesignIndex","inputEstimatedIndexValue","estimatedIndexValue","inputAuxiliaryEnginesPower","auxiliaryEnginesPower","inputMainPropulsionPower","mainPropulsionPower","inputDeadweight","deadweight","inputNetTonnage","netTonnage","inputGrossTonnage","grossTonnage","inputOwnerCompanyName","inputOwnerCompanyAddress","inputOperatorCompanyName","inputOperatorCompanyAddress","inputEmissionsContactPersonName","inputEmissionsContactPersonAddress","inputEmissionsContactPersonPhone","inputEmissionsContactPersonEmail","hasVesselCargoUnits","availableCargoUnits","vesselCargoUnit","fuelTypes","manualFlowMeters","fuelMassFlowRateLogVariableId","hasFlowMeter","hasFuelTank","isMissingTemplateSettings","fuelConsumptionSources","massFlowRateLogVariables","showNewFlowMeter","hasError","isLoadingFuelConsumptionSources","isLoadingMassFlowRateLogVariables","fuelConsumptionSourcesClient","inputFuelConsumptionSources","inputName","inputFuelMassFlowRateLogVariableId","isNewFlowMeterValid","newFlowMeterExists","newFlowMeterName","activeFlowMeter","flowMeterDeletedBinding","hasActiveFlowMeters","availableMassFlowRateLogVariables","inUseFuelMassFlowRateLogVariableId","massFlowRateLogVariable","addFlowMeter","cancelNewFlowMeter","clearNewFlowMeter","startNewFlowMeter","fuelMassFlowRateLogVariableName","showNewFuelTank","isNewFuelTankValid","newFuelTankExists","fuelTankDeletedBinding","hasActiveFuelTanks","newFuelTankName","activeFuelTank","addFuelTank","cancelNewFuelTank","clearNewFuelTank","startNewFuelTank","showNewFuelType","inputShortName","inputCarbonEmissionFactor","newFuelType","carbonEmissionFactor","isNewFuelTypeValid","fuelTypeDeletedBinding","hasActiveFuelTypes","addFuelType","cancelNewFuelType","startNewFuelType","inputType","cancelFunction","successFunction","dialogVisible","helpText","isConfirmButtonEnabled","isTextInputVisible","successButtonText","isConfirmButtonDisabled","valueBinding","errorValue","isTabSelected","updateMenuTab","FeaturesClient","numberOfShaftsOptions","dataReceiver","getFeatures","getDataReceiverEvent","isVesselEmpty","isImoNumberTaken","companyContainsVesselWithImoNumber","selectedCompany","assignedVessel","isImoNumberInCompany","featuresClient","displayAssignError","assignError","companySubscription","companyContainVesselWithImoNumber","enabledFeatures","isFeatureInitiallyEnabled","isFeatureEnabled","isFeatureEnabledBinding","isEnabled","activate","deactivate","getFeatureText","featureText","ImportStatistic","tableName","rowCount","importDurationText","ticksPerMs","ticksPerSecond","importDurationInMs","returnToStatusPage","ascSort","displayedImports","numberOfPages","pages","changeCurrentPage","page","rowsPerPageSubscription","goToFirst","viewImportDetails","importStatus","sortByDuration","goToLast","nextPage","previousPage","selectedRole","roleAlternatives","canEditRole","userRole","isAdministrator","initialUserSortParameter","cookie","expires","initialUserSortDirection","userSortParameter","userSortDirection","sortedUsers","getUserSortValue","sortParameter","lastActivityDate","isUserOnline","tenMinutesAgo","isAfter","getHeaderSortCssClass","parameter","toggleSortDirection","newUserSortDirection","viewUserClick","editUserClick","deleteUserClick","addUserClick","apiKeyClick","isGenerateApiKeyVisible","isClearApiKeyVisible","hasApiKey","cancelGenerateApiKey","cancelClearApiKey","showGenerateApiKeyDialog","showClearApiKeyDialog","isClearKeyVisible","firstLongTrend","headingText","diagnosticTypeHelpText","isDiagnosticTypeHelpOpen","toggleDiagnosticTypeHelpTooltip","hideDiagnosticTypeHelpTooltip","isZoomedOut","zoomMin","zoomMax","trendLinesSeries","firstLongTrendPeriod","firstPlotBand","yUnit","isRpm","isRpmDiagnostic","yMax","maximumValue","yMin","minimumValue","setExtremes","axis","userOptions","dataMin","dataMax","headerFormat","xDateFormat","valueSuffix","zoomAllHelpText","zoomMinText","zoomMaxText","isZoomAllHelpOpen","zoomAllGraphs","charts","resetZoomButton","showResetZoom","toggleZoomAllHelpTooltip","hideZoomAllHelpTooltip","showLastTrendPeriodOnly","subHeadingText","toggleShowLastTrendPeriodOnly","toggleRelativeYAxis","xUnit","axisType","VesselCompareRowData","lastExportDateText","vesselLongTrend","vesselLongTrendIds","vesselLongTrends","vesselLongTrendPeriods","sortedVesselLongTrendPeriods","lastLongTrendPeriod","lastPeriodStartDate","lastPeriodStartDateText","isBenchmarking","changePerYear","coefficient","benchmarkPointValue","benchmarkPoint","deviationFromBenchmark","vesselCompareRowData","inputMcrPercent","vesselSortParameter","vesselSortDirection","vesselLongTrendRowViewModels","sortedVesselCompareRowDatas","vesselLongTrendRowViewModel","isLoadingConsequences","consequencesMap","consequenceHeaders","allConsequences","allConsequenceResults","distinctHeaderNames","loadConsequences","consequencesClient","getMrcConsequenceIndexFromMcrPercent","mcrPercent","vesselColor","mcrConsequenceIndex","consequenceValues","consequenceResults","consequenceHeader","consequenceResult","headerSortCssClass","tooltipText","isTooltipOpen","newVesselSortDirection","companyList","isLoadingCompanyList","initialCompanySortParameter","initialCompanySortDirection","companySortParameter","companySortDirection","sortedCompanyList","getCompanySortValue","createdDate","subscriptionStatus","newCompanySortDirection","viewCompanyClick","viewAsCompanyClick","editCompanyClick","deleteCompanyClick","addCompanyClick","subscriptionAlternatives","editAccessGroupClick","renameAccessGroupClick","addAccessGroupClick","deleteAccessGroupClick","isLoadingUsers","isCriticalError","vesselsInAccessGroup","vesselsAvailable","usersInAccessGroup","usersAvailable","loadUsers","closeErrorDialog","addVessel","addVesselToCategory","removeVessel","removeVesselFromCategory","addUser","addUserToCategory","removeUserFromCategory","formatLatLongValue","latLongType","coordinateParts","getCoordinateParts","degrees","direction","isLatitude","latLongMinLimit","latLongMaxLimit","absoluteValue","minuteFraction","latLongPositiveSymbol","latLongNegativeSymbol","numberHelper","latitudeText","locationHelper","geoCoordinate","longitudeText","timestampText","inputLatitudeDegrees","inputLatitudeMinutes","inputLatitudeDirection","inputLongitudeDegrees","inputLongitudeMinutes","inputLongitudeDirection","initialLocation","validationErrors","latitudeParts","longitudeParts","currentGeoCoordinate","latitudeMultiplier","longitudeMultiplier","rendered","slideToggle","isVisible","hide","isSliding","complete","slideComplete","callbackContext","slideStart","slideDown","slideUp","defaultFormat","highcharts","Chart","AST","allowedAttributes","allowedReferences","numberFormat","defaultPrecision","formattedValue","undefinedIfEmpty","registerEventHandler","UpdatePickerDateProperty","picker","newDateValue","datepicker","pickadate","formatSubmit","selectYears","selectMonths","firstDay","hiddenSuffix","onSet","onClose","blur","minDateBinding","minDateValue","newMinDate","newMinDateMoment","currentDateMoment","maxDateBinding","maxDateValue","newMaxDate","newMaxDateMoment","scrollTop","div","scrollToElement","animate","offset","compareValues","asc","highlightColumn","tableRows","querySelectorAll","elementIndex","row","child","removeHighlighted","currentIndex","vesselsTableSort","tableHeaderRow","clickOutside","bindingContext","namespace","getNamespace","clickBinding","argsForHandler","makeArray","unshift","arrayLikeObject","mapObj","submitForm","change","something","form","humanizedDuration","textWithLineBreaks","tooltipValidation","validationObservable","isModified","datetimeFormat","datetime","formattedDateTime","deleteStylesWithin","deleteStyles","$elements","removeAttr","uniqueId","prefix","counter","uniqueFor","after","register","curvesFrame","treeSelect","curvesAbout","curvesHelp","importDetails","importStatusTable","longTrendConfig","featureNotAvailable","vesselFeature","assignVessel","vesselAdminTable","vesselsMenu","vesselAdmin","inputDialog","vesselFiles","generalSettings","emissionReportTemplate","vesselSettings","fmOperation","fmOperations","fmFuelConsumption","fmFuelConsumptionCreate","fmFuelConsumptions","flowMeterManagement","ftSounding","ftSoundings","ftOperation","ftOperations","ftFuelConsumption","ftFuelConsumptions","fuelTankManagement","voyageVesselEventLocation","voyageVesselEventDistance","voyageVesselEventCargos","voyageVesselEventPort","voyageVesselEventVoyage","voyageVesselEventTimeStamp","voyageVesselEventListItem","voyageVesselEventList","voyageChart","voyageCreate","departureListItem","departureList","voyagesChart","fuelConsumptionSummary","emissionReport","dataPie","vesselInfoMap","vesselPerformanceStatus","vesselPerformanceStatusItem","longTrendBenchmarkLevelIcon","performanceStatusIcon","componentLoading","vesselEventIcon","benefitsTable","benefitConsequence","benefitConsequenceResult","longTrendBenchmarkLevelSettings","loggingHistoryConfig","graphConfigVariableSelection","graphConfigTimePeriod","graphConfigDataInterval","curveEditGraph","curveGraph","cpModuleTable","curvePredictionTable","cssLoader","userList","userForm","userInfo","userApiKey","compareVessels","compareVesselsLongTrends","compareVesselsLongTrendsGraph","compareVesselsLongTrendsDetails","compareVesselsLongTrendsDetailsGraph","compareVesselsLongTrendsDetailsTable","compareVesselsLongTrendsDetailsTableRow","compareVesselsLongTrendsDetailsTableHeader","companyManager","companyTable","companyInfo","companyForm","vesselNotes","vesselAccessGroup","vesselAccessGroupList","vesselAccessGroupEditor","vesselAccessGroupName","geoCoordinates","geoCoordinatesEdit","Icon","Default","_getIconUrl","mergeOptions","iconRetinaUrl","iconUrl","shadowUrl","DateFilterDMYT","toLocaleDateString","hour","minute","DateFilterDMY","prettyLatitude","prettyLongitude","prettyLogVariable","companyNameFilter","koValidation","registerExtenders","messagesOnModified","insertMessages","parseInputAttributes","messageTemplate","decorateInputElement","errorElementClass","ajaxSetup","productionTip","defaultContainer","VueCookies","vuetify","$mount","green","orange","red","blue","gray","gpsUp","UserService","_user","_userExpired","companyName","newUserData","daysBeforeDataOutdated","_vesselGroupsExpired","_vesselGroups","vesselGroupClient","refreshVesselGroups","_trendEventTypes","_infoEvents","_trendEvents","VesselEventsClient","concat","category","vesselCategoryId","getParentId","table","getDataValues","parentId","getCurveDataValues","getCpModuleValues","getDeviationFromReferenceYAxis","getAverageValueOfVariable","updateSortIcons","otherIcons","getElementsByClassName","curveTableSort","dataValues","disabled","isWidgetFromDateModalActive","$refs","menuFromDate","isWidgetFromTimeModalActive","menuFromTime","isWidgetToDateModalActive","menuToDate","isWidgetToTimeModalActive","menuToTime","syncWidgetDateRange","setSyncWidgetDateRange","VDatePicker","VTimePicker","_currentVessel","_vessels","_extendedVessels","_vesselTypes","_extendedVesselsExpired","_vesselsLoadingState","_currentVesselLoading","currentVesselIndex","types","vesselPerformance","created","ballastDraftHigh","ballastDraftLow","ladenDraftHigh","ladenDraftLow","maxContinuousRating","speedMaxContinuousRating","numberOfShafts","draftMeanErrorMessage","ballastDraftHighErrorMessage","ballastDraftLowErrorMessage","ladenDraftHighErrorMessage","ladenDraftLowErrorMessage","maxContinuousRatingErrorMessage","speedMaxContinuousRatingErrorMessage","imoNumberErrorMessage","nameErrorMessage","isImoNumberValid","isDraftValid","isBallastDraftHighValid","isBallastDraftLowValid","isLadenDraftHighValid","isLadenDraftLowValid","isMaxContinuousRatingValid","isSpeedMaxContinuousRatingValid","isNameValid","getCompany","formattedImoNumber","formattedNumber","formattedCreatedDate","formattedLastExportDate","isVesselValid","nameBinding","getNameErrorMessage","validateField","imoNumberBinding","getImoNumberErrorMessage","draftMeanBinding","getDraftMeanErrorMessage","ballastDraftHighBinding","getBallastDraftHighErrorMessage","ballastDraftLowBinding","getBallastDraftLowErrorMessage","ladenDraftHighBinding","getLadenDraftHighErrorMessage","ladenDraftLowBinding","getLadenDraftLowErrorMessage","maxContinuousRatingBinding","getMaxContinuousRatingErrorMessage","speedMaxContinuousRatingBinding","getSpeedMaxContinuousRatingErrorMessage","errorMessageObservable","fieldValidationObservable","getDraftErrorMessage","draftValue","fieldName","maxContinuousRatingValue","getVessel","existingVessel","draftErrorMessage","imonNumberErrorMessage","doneCallback","archive","reactivate","updateDataReceiver","newIsDataReceiver","actionName","confirmResult","inputManualDistanceByGPS","setInitialInputManualDistanceByGPS","distanceBinding","isNegativeXValueAllowed","isNegativeYValueAllowed","dataPoint","isXValid","isYValid","secondsToMinutes","seconds","secondsToHours","secondsToDays","daysToHours","VesselFilesClient","fileId","getFileUrl","$_vesselLongTrends","updatedLongTrend","contactName","contactPhone","contactEmail","dcMasterDataCompanyId","getOriginalCompany","companyOnCreatedBinding","newCompany","companyOnUpdatedBinding","oldCompany","updatedCompany","companyOnRemovedBinding","removedCompany","CompanyListVM","companyViewBinding","CompanyVM","companyViewAsBinding","viewAsCompany","companyEditBinding","companyAddBinding","companyDeleteBinding","createCompany","removeCompany","editCompany","isCurrentUserInCompany","VesselDataWidgetClient","vesselDataWidgetConfiguration","vesselDataWidgetConfigId","_vesselDataWidgetConfigsExpired","_vesselDataWidgetConfigs","vesselDataWidgetConfigs","configIndex","vesselDataWidgetClient","tableWidgetId","vesselDataWidgetConfig","configurationName","createdVesselDataWidgetConfig","loCode","inputPortName","inputPortIsMrvPort","inputLoCode","isFindingPorts","foundPorts","findPortsTimeout","inputPortNameSubscription","portName","findPorts","selectFoundPort","portsClient","icons","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.04c17126.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-02169837\":\"d3a2b53e\",\"chunk-0c5945f8\":\"c3a21af5\",\"chunk-11e5bc89\":\"ee4fbacc\",\"chunk-20899cdc\":\"5bfcca96\",\"chunk-2133958b\":\"51903b37\",\"chunk-2ab249ae\":\"87d358ec\",\"chunk-afd6cc70\":\"fb2f93e8\",\"chunk-2d0a516c\":\"d7798d55\",\"chunk-2d0aa253\":\"8de83af4\",\"chunk-2d0b5a52\":\"d0f2714d\",\"chunk-2d0bff1f\":\"924eef27\",\"chunk-2d0cc20a\":\"be725448\",\"chunk-2d0cc426\":\"41b9a080\",\"chunk-2d0e4eac\":\"980d8062\",\"chunk-2d2375db\":\"add9b36a\",\"chunk-3d63cd6f\":\"b94fff46\",\"chunk-43519ed8\":\"60990819\",\"chunk-4b3a2146\":\"6906b1a0\",\"chunk-4c752948\":\"a120ffd1\",\"chunk-4efa5f98\":\"15cfff51\",\"chunk-510d4593\":\"0b057f00\",\"chunk-032a2cb7\":\"2257d095\",\"chunk-0d989722\":\"18dab0bb\",\"chunk-1f1cf57a\":\"33c0ad0f\",\"chunk-2810b695\":\"8228a35b\",\"chunk-7db91393\":\"36204350\",\"chunk-11db8e86\":\"e13776de\",\"chunk-73e944a3\":\"356d53d7\",\"chunk-9c2704ba\":\"9ed1cac4\",\"chunk-75490cfe\":\"0713c901\",\"chunk-a68b255c\":\"7973735c\",\"chunk-7856a434\":\"27840af3\",\"chunk-3dec971c\":\"aed1a808\",\"chunk-526049ea\":\"d888fc56\",\"chunk-68790372\":\"2e698126\",\"chunk-6ea5f4e5\":\"3374c834\",\"chunk-2f3159e8\":\"5ed1ec84\",\"chunk-2d5b7d3c\":\"4af66465\",\"chunk-37d68834\":\"50e2fbe5\",\"chunk-ab83461a\":\"27a34ca3\",\"chunk-f8e97fb4\":\"b4ae56ab\",\"chunk-fc7364c2\":\"c178961f\",\"chunk-59b18e6b\":\"6e221e26\",\"chunk-5b57029d\":\"0ff75b6f\",\"chunk-67bba793\":\"71c661b1\",\"chunk-690b2e57\":\"4b92d956\",\"chunk-6bb13978\":\"801382b3\",\"chunk-73506bde\":\"bfa45681\",\"chunk-76ee0496\":\"505937e8\",\"chunk-77f21870\":\"a5f55731\",\"chunk-78161a2e\":\"943ebf60\",\"chunk-781a025e\":\"c228c064\",\"chunk-2d0de5b1\":\"ecc8c408\",\"chunk-8268f3da\":\"eb9f9282\",\"chunk-9b066018\":\"99007ca5\",\"chunk-cf6649ce\":\"97f38e25\",\"chunk-2d2101f0\":\"8e604231\",\"chunk-810a2efc\":\"10520a52\",\"chunk-f0ce5e78\":\"255cffcc\",\"chunk-f6fa3efe\":\"53dd1e2d\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-02169837\":1,\"chunk-0c5945f8\":1,\"chunk-11e5bc89\":1,\"chunk-20899cdc\":1,\"chunk-2133958b\":1,\"chunk-2ab249ae\":1,\"chunk-afd6cc70\":1,\"chunk-3d63cd6f\":1,\"chunk-43519ed8\":1,\"chunk-4b3a2146\":1,\"chunk-4c752948\":1,\"chunk-4efa5f98\":1,\"chunk-510d4593\":1,\"chunk-032a2cb7\":1,\"chunk-0d989722\":1,\"chunk-1f1cf57a\":1,\"chunk-2810b695\":1,\"chunk-7db91393\":1,\"chunk-11db8e86\":1,\"chunk-73e944a3\":1,\"chunk-9c2704ba\":1,\"chunk-75490cfe\":1,\"chunk-a68b255c\":1,\"chunk-7856a434\":1,\"chunk-3dec971c\":1,\"chunk-526049ea\":1,\"chunk-68790372\":1,\"chunk-6ea5f4e5\":1,\"chunk-2f3159e8\":1,\"chunk-2d5b7d3c\":1,\"chunk-37d68834\":1,\"chunk-ab83461a\":1,\"chunk-f8e97fb4\":1,\"chunk-fc7364c2\":1,\"chunk-59b18e6b\":1,\"chunk-5b57029d\":1,\"chunk-67bba793\":1,\"chunk-690b2e57\":1,\"chunk-73506bde\":1,\"chunk-76ee0496\":1,\"chunk-78161a2e\":1,\"chunk-8268f3da\":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-0c5945f8\":\"a2c89e0c\",\"chunk-11e5bc89\":\"ca3f080b\",\"chunk-20899cdc\":\"7f4d469b\",\"chunk-2133958b\":\"70d3f77e\",\"chunk-2ab249ae\":\"9d65077c\",\"chunk-afd6cc70\":\"0df05908\",\"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-3d63cd6f\":\"095f49be\",\"chunk-43519ed8\":\"415d36a8\",\"chunk-4b3a2146\":\"00311921\",\"chunk-4c752948\":\"b57a440e\",\"chunk-4efa5f98\":\"e7f4b52f\",\"chunk-510d4593\":\"74a66b7e\",\"chunk-032a2cb7\":\"c0613fc6\",\"chunk-0d989722\":\"b16bd00c\",\"chunk-1f1cf57a\":\"91244b13\",\"chunk-2810b695\":\"2178da01\",\"chunk-7db91393\":\"755cb779\",\"chunk-11db8e86\":\"009fdd92\",\"chunk-73e944a3\":\"46b3c568\",\"chunk-9c2704ba\":\"c5265741\",\"chunk-75490cfe\":\"3336613f\",\"chunk-a68b255c\":\"b151524f\",\"chunk-7856a434\":\"8b4e980f\",\"chunk-3dec971c\":\"060f3a62\",\"chunk-526049ea\":\"52455f0c\",\"chunk-68790372\":\"9cfaada5\",\"chunk-6ea5f4e5\":\"83364229\",\"chunk-2f3159e8\":\"e4473b79\",\"chunk-2d5b7d3c\":\"0f095343\",\"chunk-37d68834\":\"3cb5fd84\",\"chunk-ab83461a\":\"9d01dd8f\",\"chunk-f8e97fb4\":\"b4c29957\",\"chunk-fc7364c2\":\"ec92f6dc\",\"chunk-59b18e6b\":\"bca610e6\",\"chunk-5b57029d\":\"25dcae29\",\"chunk-67bba793\":\"2dfb51dd\",\"chunk-690b2e57\":\"f94b51fb\",\"chunk-6bb13978\":\"31d6cfe0\",\"chunk-73506bde\":\"d7b02883\",\"chunk-76ee0496\":\"8faea6ec\",\"chunk-77f21870\":\"31d6cfe0\",\"chunk-78161a2e\":\"58a6eefa\",\"chunk-781a025e\":\"31d6cfe0\",\"chunk-2d0de5b1\":\"31d6cfe0\",\"chunk-8268f3da\":\"c6c15e81\",\"chunk-9b066018\":\"31d6cfe0\",\"chunk-cf6649ce\":\"0fd9fe04\",\"chunk-2d2101f0\":\"31d6cfe0\",\"chunk-810a2efc\":\"597ecc04\",\"chunk-f0ce5e78\":\"06295edc\",\"chunk-f6fa3efe\":\"401aa08f\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import template from \"./voyage-vessel-event-timestamp.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport moment from \"moment\";\r\nimport dateHelper from \"Utilities/date-helper\";\r\nimport events from \"App/events\";\r\nimport emissionReportVesselEventsClient from \"Clients/emission-report-vessel-events-client\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.voyageVesselEvent = params.voyageVesselEvent;\r\n self.vesselEvent = params.voyageVesselEvent.vesselEvent;\r\n self.isEditing = ko.observable(false);\r\n\r\n self.inputTimestampDate = ko.observable(dateHelper.getFormatedDateString(self.vesselEvent().timestamp));\r\n self.inputTimestampTime = ko.observable(dateHelper.getFormatedTimeString(self.vesselEvent().timestamp));\r\n\r\n self.plotLineDateSelectedBinding = events.plotLineDateSelected.add(function(selectedDate) {\r\n self.inputTimestampDate(dateHelper.getFormatedDateString(selectedDate));\r\n self.inputTimestampTime(dateHelper.getFormatedTimeString(selectedDate));\r\n });\r\n\r\n self.isInputTimestampValid = ko.pureComputed(function() {\r\n var inputTimestampDate = self.inputTimestampDate();\r\n var inputTimestampTime = self.inputTimestampTime();\r\n var timestampMoment = dateHelper.getDateTime(inputTimestampDate, inputTimestampTime);\r\n var vesselEvent = self.vesselEvent();\r\n\r\n var previousVesselEvent = self.voyageVesselEvent.previousVesselEvent();\r\n if (previousVesselEvent) {\r\n var previousVesselEventMoment = moment.utc(previousVesselEvent.timestamp);\r\n if (timestampMoment <= previousVesselEventMoment) return false;\r\n }\r\n\r\n var nextVesselEvent = self.voyageVesselEvent.nextVesselEvent();\r\n if (nextVesselEvent) {\r\n var nextVesselEventMoment = moment.utc(nextVesselEvent.timestamp);\r\n if (timestampMoment >= nextVesselEventMoment) return false;\r\n }\r\n\r\n return true;\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function() {\r\n this.plotLineDateSelectedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.startEditing = function(vm, e) {\r\n var $wrapper = $(e.currentTarget).closest(\".edit-wrapper\");\r\n this.isEditing(true);\r\n events.dateSelectStarted.dispatch();\r\n\r\n var $input = $wrapper.find(\"input.timeInput\");\r\n $input.focus();\r\n $input.select();\r\n};\r\n\r\nViewModel.prototype.cancelEditing = function(vm, e) {\r\n this.isEditing(false);\r\n events.dateSelectEnded.dispatch();\r\n};\r\n\r\nViewModel.prototype.save = function() {\r\n var self = this;\r\n var vesselEvent = _.clone(self.vesselEvent());\r\n var date = self.inputTimestampDate();\r\n var time = self.inputTimestampTime();\r\n vesselEvent.timestamp = dateHelper.getSubmitDateString(date, time);\r\n\r\n emissionReportVesselEventsClient.update(vesselEvent).done(function() {\r\n self.cancelEditing();\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAVVJREFUeNpiZMACfi6X0QRSSUDsBsQaQMwGxL+A+AYQ7wLieeyRT66j6/v//z8DI5pB/ECqH4gTgJiRATf4D8QLgLgQaPBHrAYCDZMBUnuBWI2BeHALiJ2Bhj5BMRDqslPYDGPkVfzCwMrzl+H3tz//P98VxmGoGcilIAOZoIL9uFzGbNrJw+q2jZ/FYYkwDleqQfWDARM0AhIYKAMJUHPALkwiEAHEAEaoOWAD3RioA9xgBmpQyUANmIFsVDKQDWbgLyoZCDaHBZqd9HCp+nupm+EfuyCQ8Z2QgTdgLtxFJRfughk4D5o3sQJmvVIGFtu5wATexUAgb88DGwgtNRZQ6LoFsNIHOS+fBmJVjBTLKfGdgYXrH8PfH3//f3vGh8Ww20BsCsvL6KXNPmyG4gEgw5yQSxtY4cAAFTQF4vn4whQpzOZDXfYEPQ9St8QGEdQEAAEGAG9/fxu9UWZNAAAAAElFTkSuQmCC\"","// Module\nvar code = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Please add below what cargo units the vessel is carrying.
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Cargo carried
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/performance-status-widget-illustration-1.65ba6a1d.png\";","// Module\nvar code = \"\\r\\n \\r\\n  \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","import \"dropzone\";\r\n\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport $ from \"jquery\";\r\nimport events from \"App/events\";\r\nimport authHeader from \"@/services/AuthHeader\";\r\n\r\nfunction updateTempFolders(file, fileName, tempFolders, parentFolders) {\r\n _.each(parentFolders(), function(parentFolder) {\r\n var tempFolder = _.find(tempFolders(), function (tempFolder) {\r\n return tempFolder.folderPath() === parentFolder.folderPath();\r\n });\r\n\r\n if (tempFolder) {\r\n tempFolders.remove(tempFolder);\r\n }\r\n });\r\n}\r\n\r\nko.bindingHandlers.fileUpload = {\r\n init: function (element, valueAccessor, allBindingsAccessor) {\r\n var vesselId = valueAccessor().vesselId;\r\n var file = valueAccessor().file;\r\n var folder = valueAccessor().folder;\r\n var isValidFile = valueAccessor().isValidFile;\r\n var errorMessage = valueAccessor().errorMessage;\r\n var isUploading = valueAccessor().isUploading;\r\n var filesInCurrentFolder = valueAccessor().filesInCurrentFolder;\r\n var parentFolders = valueAccessor().parentFolders;\r\n var tempFolders = valueAccessor().tempFolders;\r\n\r\n $(element).dropzone({\r\n acceptedFiles: \"application/pdf, .doc, .docx, .dot, .docm, .dotx, .dotm, .xlsx, .xls, .xlt, .xlm, .xlsm, .xltx, .xltm\",\r\n dictInvalidFileType: \"Files of this type are not supported, you can only upload PDF, Word or Excel files.\",\r\n url: process.env.VUE_APP_API_BASE_URL + \"/VesselFiles/\" + vesselId,\r\n timeout: 6000000,\r\n headers: authHeader(),\r\n init: function () {\r\n this.on(\"success\", function (file, vesselFile) {\r\n updateTempFolders(vesselFile, file.name, tempFolders, parentFolders);\r\n events.vesselFileUploaded.dispatch(vesselFile);\r\n errorMessage(\"\");\r\n }).on(\"error\", function (file, response) {\r\n var message = _.isUndefined(response.message) ? response : response.message;\r\n\r\n errorMessage(message);\r\n isValidFile(false);\r\n }).on(\"addedfile\", function (file) {\r\n var fileName = folder().folderPath() + file.name;\r\n\r\n var fileExists = _.some(filesInCurrentFolder(), function (file) {\r\n return file.fileName() === fileName;\r\n });\r\n\r\n file.upload.filename = fileName;\r\n\r\n if (fileExists) {\r\n if (!confirm(file.name + \" already exists. Do you want to replace it?\")) {\r\n this.removeFile(file);\r\n }\r\n }\r\n }).on(\"sending\", function () {\r\n isUploading(true);\r\n }).on(\"complete\", function () {\r\n isUploading(false);\r\n });\r\n },\r\n });\r\n },\r\n update: function (element, valueAccessor, allBindingsAccessor) {\r\n\r\n },\r\n};\r\n","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport $ from \"jquery\";\r\nimport vesselFilesClient from \"Clients/vessel-files-client\";\r\n\r\nfunction getFilesInFolder(files, folder) {\r\n var folderPath = folder.folderPath();\r\n var filesInFolder = [];\r\n\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var isDescendant = fileName.indexOf(folderPath) === 0;\r\n\r\n if (isDescendant) {\r\n var childFileName = fileName.replace(folderPath, \"\");\r\n var fileExistsInFolder = childFileName.indexOf(\"/\") === -1;\r\n\r\n if (fileExistsInFolder) {\r\n filesInFolder.push(file);\r\n }\r\n }\r\n });\r\n\r\n return filesInFolder;\r\n}\r\n\r\nfunction updateFile(file, newFileName, tempFolders, folder) {\r\n file.fileName(newFileName);\r\n vesselFilesClient.update(file.getFile());\r\n folder.isTempFolder(false);\r\n tempFolders.remove(folder);\r\n}\r\n\r\nko.bindingHandlers.draggableFile = {\r\n init: function (element, valueAccessor, allBindingsAccessor) {\r\n var isFolder = valueAccessor().isFolder;\r\n var draggableElement = valueAccessor().draggableElement;\r\n var data = valueAccessor().data;\r\n var tempFolders = valueAccessor().tempFolders;\r\n var files = valueAccessor().files;\r\n\r\n $(element).on(\"dragstart\", function (event) {\r\n if (!isFolder) {\r\n draggableElement(data);\r\n }\r\n }).on(\"dragenter dragover\", function (event) {\r\n event.preventDefault();\r\n\r\n if (isFolder) {\r\n element.className += \" dragover\";\r\n }\r\n }).on(\"dragleave drop\", function (event) {\r\n if (isFolder) {\r\n element.className = element.className.replace(/(?:^|\\s)dragover(?!\\S)/g, \"\");\r\n }\r\n }).on(\"drop\", function (event) {\r\n event.preventDefault();\r\n\r\n if (isFolder) {\r\n var file = draggableElement();\r\n var fileName = file.fileNameWithoutPath();\r\n var newFileName = data.folderPath() + fileName;\r\n var filesInFolder = getFilesInFolder(files(), data);\r\n var moveFile = true;\r\n\r\n var existingFile = _.find(filesInFolder, function (file) {\r\n return file.fileNameWithoutPath() === fileName;\r\n });\r\n\r\n if (existingFile) {\r\n if (confirm(fileName + \" already exists. Do you want to replace it?\")) {\r\n moveFile = false;\r\n vesselFilesClient.remove(existingFile.id()).done(function () {\r\n files.remove(existingFile);\r\n updateFile(file, newFileName, tempFolders, data);\r\n });\r\n }\r\n } else {\r\n updateFile(file, newFileName, tempFolders, data);\r\n }\r\n }\r\n });\r\n },\r\n update: function (element, valueAccessor, allBindingsAccessor) {\r\n\r\n },\r\n};","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport moment from \"moment\";\r\nimport vesselFilesClient from \"Clients/vessel-files-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function File(fileEntity) {\r\n var self = this;\r\n\r\n self.supportedExtensions = {\r\n excel: [\"xlsx\", \"xls\", \"xlt\", \"xlm\", \"xlsm\", \"xltx\", \"xltm\"],\r\n word: [\"doc\", \"docx\", \"dot\", \"docm\", \"dotx\", \"dotm\"],\r\n pdf: [\"pdf\"],\r\n };\r\n\r\n self.elementType = \"file\";\r\n self.id = ko.observable(fileEntity.id);\r\n self.fileName = ko.observable(fileEntity.fileName);\r\n self.uploadedTime = ko.observable(fileEntity.uploadedTime);\r\n self.vesselId = ko.observable(fileEntity.vesselId);\r\n self.folderId = ko.observable(fileEntity.folderId);\r\n self.binaryFileId = ko.observable(fileEntity.binaryFileId);\r\n self.uploadedBy = ko.observable(fileEntity.uploadedBy);\r\n self.fileSize = ko.observable(fileEntity.fileSize);\r\n self.isFileMenuVisible = ko.observable(false);\r\n self.newName = ko.observable();\r\n\r\n self.fileIcon = ko.pureComputed(function() {\r\n var fileExtension = self.fileExtension().toLowerCase();\r\n var supportedExtensions = self.supportedExtensions;\r\n\r\n if (_.some(supportedExtensions.excel, function(extension) { return extension === fileExtension; })) {\r\n return \"fa fa-file-excel-o fa-2x excelIcon\";\r\n } else if (_.some(supportedExtensions.word, function (extension) { return extension === fileExtension; })) {\r\n return \"fa fa-file-word-o fa-2x wordIcon\";\r\n } else if (_.some(supportedExtensions.pdf, function (extension) { return extension === fileExtension; })) {\r\n return \"fa fa-file-pdf-o fa-2x pdfIcon\";\r\n }\r\n\r\n return \"\";\r\n });\r\n\r\n self.fileExtension = ko.pureComputed(function () {\r\n var fileName = self.fileName();\r\n return fileName.split(\".\").pop();\r\n });\r\n\r\n self.formattedFileSize = ko.pureComputed(function () {\r\n var fileSize = self.fileSize();\r\n return stringHelper.getPrettyFileSize(fileSize);\r\n });\r\n\r\n self.uploadedText = ko.pureComputed(function () {\r\n var uploadedTime = self.uploadedTime();\r\n\r\n return moment(uploadedTime).format(\"DD. MMM, YYYY HH:mm\");\r\n });\r\n\r\n self.newNameErrorText = ko.pureComputed(function () {\r\n var newName = self.newName() + \".\" + self.fileExtension();\r\n return \"A file with the name \" + newName + \" already exists\";\r\n });\r\n\r\n self.rename = function () {\r\n var newName = self.newName();\r\n var fileName = self.fileName();\r\n var fileNameWithoutPath = self.fileNameWithoutPath();\r\n\r\n if (newName === fileNameWithoutPath) {\r\n return;\r\n }\r\n\r\n var fileExtension = \".\" + fileName.split(\".\").pop();\r\n var newNameEndsWithExtension = stringHelper.endsWith(newName, fileExtension, false);\r\n newName += fileExtension;\r\n\r\n fileName = fileName.replace(fileNameWithoutPath, newName);\r\n self.fileName(fileName);\r\n\r\n vesselFilesClient.update(self.getFile());\r\n };\r\n\r\n self.fileNameWithoutPath = ko.pureComputed(function() {\r\n var fileName = self.fileName();\r\n\r\n if (fileName.indexOf(\"/\") === -1) {\r\n return fileName;\r\n } else {\r\n return fileName.split(\"/\").slice(-1)[0];\r\n }\r\n }); \r\n\r\n self.fileNameWithoutExtension = ko.pureComputed(function() {\r\n var fileName = self.fileNameWithoutPath();\r\n var fileExtension = \".\" + self.fileExtension();\r\n return fileName.replace(fileExtension, \"\");\r\n });\r\n\r\n self.resetName = function () {\r\n var fileName = self.fileName();\r\n var nameWithoutExtension = fileName.substr(0, fileName.lastIndexOf(\".\"));\r\n\r\n self.newName(nameWithoutExtension);\r\n };\r\n};\r\n\r\nViewModel.prototype.getFileNameWithoutPath = function(fileName) {\r\n if (fileName.indexOf(\"/\") === -1) {\r\n return fileName;\r\n } else {\r\n return fileName.split(\"/\").slice(-1);\r\n }\r\n};\r\n\r\nViewModel.prototype.showFileMenu = function () {\r\n var isFileMenuVisible = this.isFileMenuVisible();\r\n this.isFileMenuVisible(!isFileMenuVisible);\r\n};\r\n\r\nViewModel.prototype.hideFileMenu = function (arg) {\r\n this.isFileMenuVisible(false);\r\n};\r\n\r\nViewModel.prototype.getFile = function() {\r\n var self = this;\r\n\r\n var file = {\r\n id: self.id(),\r\n fileName: self.fileName(),\r\n fileSize: self.fileSize(),\r\n uploadedTime: self.uploadedTime(),\r\n uploadedBy: self.uploadedBy(),\r\n vesselId: self.vesselId(),\r\n binaryFileId: self.binaryFileId(),\r\n };\r\n\r\n return file;\r\n};\r\n\r\nexport default ViewModel;","import ko from \"knockout\";\r\n\r\nvar ViewModel = function Folder(folderName, folderPath, isTempFolder) {\r\n var self = this;\r\n\r\n self.elementType = \"folder\";\r\n self.folderName = ko.observable(folderName);\r\n self.folderPath = ko.observable(folderPath);\r\n self.isTempFolder = ko.observable(isTempFolder);\r\n\r\n self.isFileMenuVisible = ko.observable(false);\r\n self.newName = ko.observable(folderName);\r\n\r\n self.newNameErrorText = ko.pureComputed(function () {\r\n var newName = self.newName();\r\n return \"A folder with the name \" + newName + \" already exists\";\r\n });\r\n\r\n self.resetName = function () {\r\n var folderName = self.folderName();\r\n self.newName(folderName);\r\n };\r\n};\r\n\r\nViewModel.prototype.showFileMenu = function (element) {\r\n var isFileMenuVisible = this.isFileMenuVisible();\r\n this.isFileMenuVisible(!isFileMenuVisible);\r\n};\r\n\r\nViewModel.prototype.hideFileMenu = function() {\r\n this.isFileMenuVisible(false);\r\n};\r\n\r\nexport default ViewModel;","import \"Bindings/fileUpload\";\r\nimport \"Bindings/draggableFile\";\r\nimport \"Bindings/vesselFilesSort\";\r\n\r\nimport template from \"./vessel-files.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport vesselFilesClient from \"Clients/vessel-files-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\nimport FileVM from \"ViewModels/vesselFiles/file\";\r\nimport FolderVM from \"ViewModels/vesselFiles/folder\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n\r\n self.vesselId = params.vesselId;\r\n self.vesselName = params.vesselname;\r\n //self.vesselFileSizeLimitInMB = params.vesselFileSizeLimitInMB;\r\n //hardcoded value for now. This is same value as in Web.config\r\n self.vesselFileSizeLimitInMB = 1000;\r\n self.newFolderHelpText = \"Note: A folder will not be saved until you upload a file to it.\";\r\n self.tooltipHelpText = \"Here you can store PDF, Word and Excel documents. Please be aware that files you store here are instantly available to other users that can see this vessel.\";\r\n\r\n self.newFolderName = ko.observable();\r\n self.pdfFileName = ko.observable();\r\n self.vesselFilePdfUrl = ko.observable();\r\n self.elementToDelete = ko.observable();\r\n self.elementToRename = ko.observable();\r\n self.draggableElement = ko.observable();\r\n\r\n self.isFilesLoading = ko.observable(true);\r\n self.isValidFile = ko.observable(true);\r\n self.isUploading = ko.observable(false);\r\n self.isHelpTooltipOpen = ko.observable(false);\r\n self.sortAscending = ko.observable(true);\r\n self.sortColumn = ko.observable(\"fileName\");\r\n self.errorMessage = ko.observable();\r\n\r\n self.isNewFolderDialogVisible = ko.observable(false);\r\n self.isPdfViewerVisible = ko.observable(false);\r\n self.isDeleteDialogVisible = ko.observable(false);\r\n self.isRenameDialogVisible = ko.observable(false);\r\n self.hasRenameError = ko.observable(false);\r\n self.hasNewFolderError = ko.observable(false);\r\n\r\n self.files = ko.observableArray([]);\r\n self.currentFolder = ko.observable(new FolderVM(self.vesselName, \"\", false));\r\n self.foldersInCurrentFolder = ko.observableArray([]);\r\n self.tempFolders = ko.observableArray([]);\r\n\r\n self.getFiles();\r\n\r\n self.formattedFileSizeLimit = ko.pureComputed(function () {\r\n var limit = self.vesselFileSizeLimitInMB;\r\n limit = limit * 1000000;\r\n\r\n return stringHelper.getPrettyFileSize(limit);\r\n });\r\n\r\n self.totalFileSize = ko.pureComputed(function() {\r\n var files = self.files();\r\n var bytes = 0;\r\n\r\n _.each(files, function(file) {\r\n bytes += file.fileSize();\r\n });\r\n\r\n return stringHelper.getPrettyFileSize(bytes);\r\n });\r\n\r\n self.parentFolders = ko.pureComputed(function () {\r\n var currentFolder = self.currentFolder();\r\n var folderName = currentFolder.folderName();\r\n var folderPath = currentFolder.folderPath();\r\n var parentFolders = [];\r\n\r\n if (folderPath !== \"\") {\r\n parentFolders.push(currentFolder);\r\n\r\n var parentFolderPath = folderPath.replace(folderName + \"/\", \"\");\r\n var stop = false;\r\n\r\n if (parentFolderPath !== \"\") {\r\n do {\r\n var parentFolderNames = parentFolderPath.split(\"/\");\r\n var parentFolderName = parentFolderNames[parentFolderNames.length - 2];\r\n\r\n\r\n parentFolders.push(new FolderVM(parentFolderName, parentFolderPath));\r\n parentFolderPath = parentFolderPath.replace(parentFolderName + \"/\", \"\");\r\n\r\n stop = parentFolderPath === \"\";\r\n } while (!stop);\r\n }\r\n }\r\n\r\n parentFolders.push(new FolderVM(self.vesselName, \"\"));\r\n parentFolders.reverse();\r\n\r\n return parentFolders;\r\n });\r\n\r\n self.filesInCurrentFolder = ko.pureComputed(function () {\r\n var folderPath = self.currentFolder().folderPath();\r\n var sortColumn = self.sortColumn();\r\n var files = self.files();\r\n var filesInFolder = [];\r\n\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var isDescendant = fileName.indexOf(folderPath) === 0;\r\n\r\n if (isDescendant) {\r\n var childFileName = fileName.replace(folderPath, \"\");\r\n var fileExistsInFolder = childFileName.indexOf(\"/\") === -1;\r\n\r\n if (fileExistsInFolder) {\r\n filesInFolder.push(file);\r\n }\r\n }\r\n });\r\n\r\n self.sortFiles(filesInFolder, sortColumn);\r\n\r\n return filesInFolder;\r\n });\r\n\r\n self.deleteText = ko.pureComputed(function() {\r\n var element = self.elementToDelete();\r\n\r\n if (element instanceof FolderVM) {\r\n return \"Are you sure you want to delete this folder and all of its contents?\";\r\n } else {\r\n return \"Are you sure you want to delete this file?\";\r\n }\r\n });\r\n\r\n self.goToFolder = function (folder) {\r\n self.currentFolder(folder);\r\n self.getFolders();\r\n };\r\n\r\n self.viewPdf = function (file) {\r\n self.pdfFileName(file.fileNameWithoutPath());\r\n\r\n self.isPdfViewerVisible(true);\r\n events.viewPdf.dispatch(ko.toJS(file.getFile()));\r\n };\r\n\r\n self.showDeleteDialog = function (element) {\r\n self.elementToDelete(element);\r\n self.isDeleteDialogVisible(true);\r\n element.isFileMenuVisible(false);\r\n };\r\n\r\n self.showRenameDialog = function (element) {\r\n if (element.elementType === \"file\") {\r\n element.newName(element.fileNameWithoutExtension());\r\n }\r\n\r\n self.elementToRename(element);\r\n self.isRenameDialogVisible(true);\r\n element.isFileMenuVisible(false);\r\n };\r\n\r\n self.rename = function () {\r\n var element = self.elementToRename();\r\n var files = self.filesInCurrentFolder();\r\n var folders = self.foldersInCurrentFolder();\r\n var isFile = element.elementType === \"file\";\r\n\r\n var elements = isFile ? files : folders;\r\n var elementName= isFile ? element.newName() + \".\" + element.fileExtension() : folders;\r\n elements = _.without(elements, element);\r\n\r\n var isInvalid = _.some(elements, function (value) {\r\n var sourceName = isFile ? value.fileNameWithoutPath() : value.folderName();\r\n\r\n return elementName === sourceName;\r\n });\r\n\r\n if (isInvalid) {\r\n self.hasRenameError(true);\r\n } else {\r\n self.hasRenameError(false);\r\n\r\n if (!isFile) {\r\n self.renameFolder(element);\r\n self.sortFiles(folders, \"folderName\");\r\n self.foldersInCurrentFolder(folders);\r\n } else {\r\n element.rename();\r\n }\r\n self.isRenameDialogVisible(false);\r\n }\r\n };\r\n\r\n self.createNewFolder = function () {\r\n var folderName = self.newFolderName();\r\n var folders = self.foldersInCurrentFolder();\r\n var currentFolder = self.currentFolder();\r\n\r\n var isInvalid = _.some(folders, function (folder) {\r\n return folder.folderName() === folderName;\r\n });\r\n\r\n if (isInvalid) {\r\n self.hasNewFolderError(true);\r\n } else {\r\n var folderPath = currentFolder.folderPath() + folderName + \"/\";\r\n self.isNewFolderDialogVisible(false);\r\n self.newFolderName(\"\");\r\n self.hasNewFolderError(false);\r\n\r\n var folder = new FolderVM(folderName, folderPath, true);\r\n folders.push(folder);\r\n self.sortFiles(folders, \"folderName\");\r\n self.foldersInCurrentFolder(folders);\r\n self.tempFolders.push(folder);\r\n }\r\n };\r\n\r\n self.deleteElement = function () {\r\n var element = self.elementToDelete();\r\n\r\n if (element instanceof FolderVM) {\r\n self.removeFolder(element);\r\n } else {\r\n self.removeFile(element);\r\n }\r\n\r\n self.isDeleteDialogVisible(false);\r\n };\r\n\r\n self.downloadFile = function (file) {\r\n events.vesselFileDownload.dispatch(ko.toJS(file.getFile()));\r\n };\r\n\r\n self.vesselFileUploadedBinding = events.vesselFileUploaded.add(function (file) {\r\n var sortColumn = self.sortColumn();\r\n var files = self.files();\r\n var existingFile = _.find(files, function (fileVM) { return fileVM.id() === file.id; });\r\n var currentFolder = self.currentFolder();\r\n\r\n if (existingFile) {\r\n var indexOfExistingFile = _.indexOf(files, existingFile);\r\n files[indexOfExistingFile] = new FileVM(file);\r\n } else {\r\n files.push(new FileVM(file));\r\n }\r\n\r\n self.tempFolders.remove(currentFolder);\r\n\r\n self.sortFiles(files, sortColumn);\r\n self.files(files);\r\n });\r\n\r\n self.closeTooltipBinding = events.closeTooltip.add(function () {\r\n self.isHelpTooltipOpen(false);\r\n });\r\n}\r\n\r\nViewModel.prototype.showNewFolderDialog = function () {\r\n this.isNewFolderDialogVisible(true);\r\n};\r\n\r\nViewModel.prototype.showFileMenu = function (element) {\r\n this.isFileMenuVisible(true);\r\n};\r\n\r\nViewModel.prototype.removeFile = function (file) {\r\n var self = this;\r\n\r\n vesselFilesClient.remove(file.id())\r\n .done(function () {\r\n self.files.remove(file);\r\n });\r\n};\r\n\r\nViewModel.prototype.removeFolder = function (folder) {\r\n var self = this;\r\n var files = self.files();\r\n var folderPath = folder.folderPath();\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var startsWith = fileName.indexOf(folderPath) === 0;\r\n\r\n if (startsWith) {\r\n self.removeFile(file);\r\n self.foldersInCurrentFolder.remove(folder);\r\n }\r\n });\r\n\r\n self.tempFolders.remove(folder);\r\n};\r\n\r\nViewModel.prototype.renameFolder = function (folder) {\r\n var self = this;\r\n\r\n var files = self.files();\r\n var currentFolderPath = self.currentFolder().folderPath();\r\n var folderName = folder.folderName();\r\n var folderPath = folder.folderPath();\r\n var newName = folder.newName();\r\n\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var fileNameStartsWithPath = fileName.indexOf(folderPath) === 0;\r\n\r\n if (fileNameStartsWithPath) {\r\n var newFolderPath = currentFolderPath === \"\"\r\n ? newName + \"/\"\r\n : currentFolderPath + newName + \"/\";\r\n\r\n fileName = fileName.replace(folderPath, newFolderPath);\r\n file.fileName(fileName);\r\n\r\n vesselFilesClient.update(file.getFile());\r\n }\r\n });\r\n\r\n folder.folderName(newName);\r\n folder.folderPath(folderPath.replace(folderName, newName));\r\n};\r\n\r\nViewModel.prototype.toggleHelpTooltip = function (vm, e) {\r\n var isHelpTooltipOpen = this.isHelpTooltipOpen();\r\n if (!isHelpTooltipOpen) {\r\n var element = e.currentTarget;\r\n events.showTooltip.dispatch(\"tooltip-text\", { text: this.tooltipHelpText, isWide: true }, element);\r\n this.isHelpTooltipOpen(true);\r\n } else {\r\n events.closeTooltip.dispatch();\r\n }\r\n};\r\n\r\nViewModel.prototype.hideHelpTooltip = function () {\r\n if (this.isHelpTooltipOpen()) {\r\n this.isHelpTooltipOpen(false);\r\n events.closeTooltip.dispatch();\r\n }\r\n};\r\n\r\nViewModel.prototype.sortFiles = function (files, sortColumn) {\r\n var self = this;\r\n var sortAscending = self.sortAscending();\r\n\r\n files.sort(function (a, b) {\r\n var left = self.getSortData(a, sortColumn);\r\n var right = self.getSortData(b, sortColumn);\r\n\r\n if (left < right) return sortAscending ? - 1 : 1;\r\n if (left > right) return sortAscending ? 1 : -1;\r\n return 0;\r\n });\r\n};\r\n\r\nViewModel.prototype.getSortData = function(element, column) {\r\n if (column === \"fileName\") {\r\n return element.fileNameWithoutPath().toLowerCase();\r\n } else if (column === \"uploadedTime\") {\r\n return element.uploadedTime();\r\n } else if (column === \"uploadedBy\") {\r\n return element.uploadedBy().toLowerCase();\r\n } else if (column === \"fileSize\") {\r\n return element.fileSize();\r\n } else if (column === \"folderName\") {\r\n return element.folderName().toLowerCase();\r\n }\r\n};\r\n\r\nViewModel.prototype.closePdfViewer = function () {\r\n this.isPdfViewerVisible(false);\r\n events.closePdf.dispatch();\r\n};\r\n\r\nViewModel.prototype.getFolders = function() {\r\n var self = this;\r\n\r\n var currentFolderPath = self.currentFolder().folderPath();\r\n var files = self.files();\r\n var folders = [];\r\n var tempFolders = self.getTempFoldersInCurrentFolder();\r\n\r\n _.each(files, function (file) {\r\n var fileName = file.fileName();\r\n var isDescendant = fileName.indexOf(currentFolderPath) === 0;\r\n\r\n if (isDescendant) {\r\n var childFolderName = fileName.replace(currentFolderPath, \"\");\r\n var folderNames = childFolderName.split(\"/\");\r\n var folderName = folderNames[0];\r\n var folderExists = _.some(folders, function (folder) { return folder.folderName() === folderName; });\r\n var isChildFolder = childFolderName.indexOf(\"/\") !== -1;\r\n\r\n if (!folderExists && isChildFolder) {\r\n var folderPath = currentFolderPath + folderName + \"/\";\r\n folders.push(new FolderVM(folderName, folderPath, false));\r\n }\r\n }\r\n });\r\n\r\n folders = _.union(folders, tempFolders);\r\n self.sortFiles(folders, \"folderName\");\r\n\r\n self.foldersInCurrentFolder(folders);\r\n};\r\n\r\nViewModel.prototype.getTempFoldersInCurrentFolder = function () {\r\n var self = this;\r\n var folders = self.tempFolders();\r\n var currentFolderPath = self.currentFolder().folderPath();\r\n\r\n return _.filter(folders, function(folder) {\r\n return currentFolderPath + folder.folderName() + \"/\" === folder.folderPath();\r\n });\r\n};\r\n\r\nViewModel.prototype.getFiles = function () {\r\n var self = this;\r\n\r\n vesselFilesClient.getAll(self.vesselId).done(function (data) {\r\n self.files(_.map(data, function (file) { return new FileVM(file); }));\r\n self.getFolders();\r\n }).always(function () {\r\n self.isFilesLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.vesselFileUploadedBinding.detach();\r\n this.closeTooltipBinding.detach();\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\nimport Vessels from \"./clients/Vessels.module\";\r\nimport Incidents from \"./clients/Incidents.module\";\r\nimport Auth from \"./clients/Auth.module\";\r\nimport Announcement from \"./clients/Announcement.module\";\r\nimport Benefits from \"./clients/Benefits.module\";\r\nimport LongTrends from \"./clients/LongTrends.module\";\r\nimport User from \"./clients/User.module\";\r\nimport Users from \"./clients/Users.module\";\r\nimport VesselsAdmin from \"./clients/VesselsAdmin.module\";\r\nimport VesselAccessGroups from \"./clients/VesselAccessGroups.module\";\r\nimport VesselEvents from \"./clients/VesselEvents.module\";\r\nimport VesselGroups from \"./clients/VesselGroups.module\";\r\nimport VesselsHistories from \"./clients/VesselsHistories.module\";\r\nimport Companies from \"./clients/Companies.module\";\r\nimport Dashboard from \"./clients/Dashboard.module\";\r\nimport MapWidget from \"./clients/MapWidget.module\";\r\nimport Taxonomy from \"./clients/Taxonomy.module\";\r\nimport Reports from \"./clients/Reports.module\";\r\nimport LogVariables from \"./clients/LogVariables.module\";\r\nimport LogData from \"./clients/LogData.module\";\r\nimport LongTrendPeriod from \"./clients/LongTrendPeriod.module\";\r\nimport VesselDataWidgetConfiguration from \"./clients/VesselDataWidgetConfig.module\";\r\nimport WidgetTypes from \"./clients/WidgetTypes.module\";\r\nimport PerformanceStatusWidget from \"./clients/PerformanceStatusWidget.module\";\r\nimport NotificationWidgetConfiguration from \"./clients/NotificationWidget.module\";\r\nimport CiiWidgetConfiguration from \"./clients/CiiWidget.module\";\r\nimport FoulingOverviewWidgetConfiguration from \"./clients/FoulingOverviewWidget.module\";\r\nimport Snackbar from \"./clients/Snackbar.module\";\r\nimport Cii from \"./clients/Cii.module\";\r\nimport Shapoli from \"./clients/Shapoli.module\";\r\nimport ISO19030 from \"./clients/ISO19030.module\";\r\nimport Channels from \"./clients/Channels.module\";\r\nimport Fouling from \"./clients/Fouling.module\";\r\nimport DataQuality from \"./clients/DataQuality.module\";\r\nimport FeatureMap from \"./clients/FeatureMap.module\";\r\nimport EmissionsCompliance from \"./clients/EmissionsCompliance.module\";\r\nimport Cds from \"./clients/Cds.module\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n modules: {\r\n Auth,\r\n Announcement,\r\n Benefits,\r\n LongTrends,\r\n Incidents,\r\n User,\r\n Users,\r\n Vessels,\r\n VesselsAdmin,\r\n Companies,\r\n VesselAccessGroups,\r\n VesselGroups,\r\n VesselsHistories,\r\n Dashboard,\r\n MapWidget,\r\n Taxonomy,\r\n Reports,\r\n VesselEvents,\r\n LogVariables,\r\n LogData,\r\n LongTrendPeriod,\r\n VesselDataWidgetConfiguration,\r\n WidgetTypes,\r\n PerformanceStatusWidget,\r\n NotificationWidgetConfiguration,\r\n CiiWidgetConfiguration,\r\n FoulingOverviewWidgetConfiguration,\r\n Snackbar,\r\n Cii,\r\n Shapoli,\r\n ISO19030,\r\n Channels,\r\n Fouling,\r\n DataQuality,\r\n FeatureMap,\r\n EmissionsCompliance,\r\n Cds,\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 store from \"@/store\";\r\n\r\nexport interface FetchOptions extends RequestInit {\r\n headers?: Record;\r\n}\r\n\r\nasync function apiFetch(endpoint: string, options: FetchOptions = {}): Promise {\r\n const accessToken = store.getters[\"Auth/getAccessToken\"];\r\n const headers: Record = {\r\n \"Content-Type\": \"application/json\",\r\n Authorization: accessToken ? `Bearer ${accessToken}` : \"\",\r\n ...options.headers,\r\n };\r\n\r\n const response = await fetch(`${process.env.VUE_APP_API_BASE_URL}${endpoint}`, {\r\n ...options,\r\n headers,\r\n });\r\n\r\n if (!response.ok) {\r\n throw new Error(`HTTP request failed. Status: ${response.status}`);\r\n }\r\n\r\n const contentType = response.headers.get(\"content-type\");\r\n return contentType && contentType.includes(\"application/json\")\r\n ? response.json()\r\n : response.text();\r\n}\r\n\r\nexport async function apiGet(endpoint: string, options: FetchOptions = {}): Promise {\r\n return apiFetch(endpoint, { ...options, method: \"GET\" });\r\n}\r\n\r\nexport async function apiPost(endpoint: string, data: T, options: FetchOptions = {}): Promise {\r\n return apiFetch(endpoint, {\r\n ...options,\r\n method: \"POST\",\r\n body: JSON.stringify(data),\r\n });\r\n}\r\n\r\nexport async function apiPut(endpoint: string, data: T, options: FetchOptions = {}): Promise {\r\n return apiFetch(endpoint, {\r\n ...options,\r\n method: \"PUT\",\r\n body: JSON.stringify(data),\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.name === name);\r\n };\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchAllLogVariablesByVesselId(vesselId: number): Promise {\r\n try {\r\n const logVariables: LogVariable[] = await logVariablesClient.findAll(vesselId, undefined, true, true);\r\n const taxa = await logVariablesClient.findVesselLogVariablesTaxa(vesselId);\r\n logVariables.forEach(logVariable => {\r\n logVariable.taxa = taxa[logVariable.id];\r\n });\r\n this.context.commit(\"SET_VESSEL_LOG_VARIABLES\", { logVariables: logVariables, vesselId: vesselId });\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshCurrentVesselLogVariables(vesselId: number): Promise {\r\n try {\r\n const data = await logVariablesClient.findAll(vesselId, null, null, true);\r\n this.context.commit(\"SET_CURRENT_VESSEL_LOG_VARIABLES\", data);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async fetchVesselShaftPowerLogVariables(vesselId: number): Promise {\r\n try {\r\n const shaftPowerLogVariables: LogVariable[] = await logVariablesClient.findVesselLogVariablesShaftPower(vesselId);\r\n this.context.commit(\"SET_SHAFT_POWER_LOG_VARIABLES\", shaftPowerLogVariables);\r\n return shaftPowerLogVariables;\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Mutation\r\n public SET_VESSEL_LOG_VARIABLES(payload: VesselLogVariables): void {\r\n const existedVesselIndex = this._vesselsLogVariables.findIndex(vessel => vessel.vesselId === payload.vesselId);\r\n if (existedVesselIndex >= 0) Vue.set(this._vesselsLogVariables, existedVesselIndex, payload);\r\n else this._vesselsLogVariables.push(payload);\r\n }\r\n\r\n @Mutation\r\n public SET_CURRENT_VESSEL_LOG_VARIABLES(logVariables: LogVariable[]): void {\r\n this._currentVesselLogVariables = logVariables;\r\n }\r\n\r\n @Mutation\r\n public SET_SHAFT_POWER_LOG_VARIABLES(shaftPowerLogVariables: LogVariable[]): void {\r\n this._currentVesselShaftPowerLogVariables = shaftPowerLogVariables;\r\n }\r\n\r\n}\r\n\r\nexport default LogVariables;\r\n","import net from \"App/net\";\r\n\r\nvar DashboardClient = function () {\r\n\r\n};\r\n\r\nDashboardClient.prototype.getAll = function () {\r\n return net.get(\"/Dashboard\");\r\n};\r\n\r\nDashboardClient.prototype.new = function (dashboard) {\r\n return net.post(\"/Dashboard\", dashboard);\r\n};\r\n\r\nDashboardClient.prototype.update = function (dashboard) {\r\n return net.put(\"/Dashboard\", dashboard);\r\n};\r\n\r\nDashboardClient.prototype.delete = function (dashboardId) {\r\n return net.del(\"/Dashboard/\" + dashboardId);\r\n};\r\n\r\nexport default new DashboardClient();","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { Widget } from \"@/types/widget\";\r\nimport { DashboardI } from \"@/types/dashboard\";\r\nimport DashboardClient from \"Clients/dashboard-client\";\r\nimport Vue from \"vue\";\r\n\r\n@Module({ namespaced: true, name: \"Dashboard\" })\r\nclass Dashboard extends VuexModule {\r\n private _dashboards: DashboardI[] = [];\r\n private _activeDashboardId!: number;\r\n private _activeDashboardIndex = 0;\r\n //note2: the user can only edit widgets on the active dashboard\r\n\r\n @Mutation\r\n public SET_DASHBOARDS(dashboards: DashboardI[]): void {\r\n this._dashboards = dashboards;\r\n }\r\n\r\n @Mutation\r\n public SET_ACTIVE_DASHBOARD(dashboardId: number): void {\r\n this._activeDashboardId = dashboardId || parseInt(Vue.$cookies.get(\"activeDashboardId\")) || this._dashboards[0].id;\r\n this._activeDashboardIndex = this._dashboards.findIndex(dashboard => dashboard.id === this._activeDashboardId);\r\n if (this._activeDashboardIndex < 0) this._activeDashboardIndex = 0;\r\n Vue.$cookies.set(\"activeDashboardId\", this._activeDashboardId, \"1y\");\r\n }\r\n\r\n @Mutation\r\n public UPDATE_DASHBOARD(dashboard: DashboardI): void {\r\n const index = this._dashboards.findIndex(dash => dash.id === dashboard.id);\r\n Vue.set(this._dashboards, index, dashboard);\r\n }\r\n\r\n @Mutation\r\n public DELETE_DASHBOARD(dashboardId: number): void {\r\n const index = this._dashboards.findIndex(dashboard => dashboard.id === dashboardId);\r\n this._dashboards.splice(index, 1);\r\n if (this._activeDashboardIndex !== 0) this._activeDashboardIndex -= 1;\r\n }\r\n\r\n @Mutation\r\n public UPDATE_DASHBOARD_LAYOUT(dashboard: DashboardI): void {\r\n this._dashboards[this._activeDashboardIndex].widgets = dashboard.widgets;\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET(widget: Widget): void {\r\n this._dashboards[this._activeDashboardIndex].widgets.push(widget);\r\n }\r\n\r\n @Mutation\r\n public DELETE_WIDGET(index: number): void {\r\n this._dashboards[this._activeDashboardIndex].widgets.splice(index, 1);\r\n }\r\n\r\n @Mutation\r\n public UPDATE_WIDGET(data: { index: number; widgetData: Partial }): void {\r\n Object.assign(this._dashboards[this._activeDashboardIndex].widgets[data.index], data.widgetData);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public setActiveDashboard(dashboardId: number): void {\r\n this.context.commit(\"SET_ACTIVE_DASHBOARD\", dashboardId);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteDashboard(dashboardId: number): Promise {\r\n try {\r\n await DashboardClient.delete(dashboardId);\r\n this.context.commit(\"DELETE_DASHBOARD\", dashboardId);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public updateDashboardsSequence(sequence: { id: number, sequence: number }[]): void {\r\n const userId = this.context.rootGetters[\"User/userId\"];\r\n let updatedDashboardsSequence: DashboardI[] = [];\r\n\r\n this._dashboards.forEach(dashboard => {\r\n if (dashboard.userId === userId) {\r\n dashboard.sequence = sequence.find(item => item.id === dashboard.id)?.sequence;\r\n }\r\n updatedDashboardsSequence.push(dashboard);\r\n });\r\n updatedDashboardsSequence = updatedDashboardsSequence.sort((a: any, b: any) => a.sequence - b.sequence);\r\n\r\n // save personal dashboard sequence\r\n const stringifiedDashboardListSequence: string | null = localStorage.getItem(\"dashboardListSequence\");\r\n if (stringifiedDashboardListSequence == null) {\r\n const dashboardListSequence = updatedDashboardsSequence.filter(d => d.userId === userId).map((d, i) => ({ id: d.id, sequence: i }));\r\n localStorage.setItem(\"dashboardListSequence\", JSON.stringify(dashboardListSequence));\r\n }\r\n // need to commit changes to trigger view update\r\n this.context.commit(\"SET_DASHBOARDS\", updatedDashboardsSequence);\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshDashboards(): Promise {\r\n try {\r\n const dashboards: DashboardI[] = await DashboardClient.getAll();\r\n //assigning the correct type object to each widget, as they only save the type-template-name in the database\r\n for (let i = 0; i < dashboards.length; i++) {\r\n for (let j = 0; j < dashboards[i].widgets.length; j++) {\r\n if (dashboards[i].widgets[j].typeTemplate === \"TableWidget\") {\r\n var typeTemplate = this.context.rootGetters[\"WidgetTypes/getTypeByTemplateName\"](\"VesselDataTable\");\r\n } else if (dashboards[i].widgets[j].typeTemplate === \"GraphWidget\") {\r\n var typeTemplate = this.context.rootGetters[\"WidgetTypes/getTypeByTemplateName\"](\"VesselDataGraph\");\r\n } else {\r\n var typeTemplate = this.context.rootGetters[\"WidgetTypes/getTypeByTemplateName\"](dashboards[i].widgets[j].typeTemplate);\r\n }\r\n Vue.set(dashboards[i].widgets[j], \"type\", typeTemplate);\r\n }\r\n }\r\n\r\n this.context.commit(\"SET_DASHBOARDS\", dashboards);\r\n\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh dashboards\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async createNewDashboard(name: string): Promise {\r\n const newDashboard = {\r\n id: 0,\r\n name: name || \"New Dashboard\",\r\n widgets: [],\r\n };\r\n\r\n try {\r\n const createdDashboard = await DashboardClient.new(newDashboard);\r\n await this.context.dispatch(\"refreshDashboards\");\r\n return createdDashboard;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add dashboard\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateDashboard(dashboard: DashboardI): Promise {\r\n try {\r\n await DashboardClient.update(dashboard);\r\n this.context.commit(\"UPDATE_DASHBOARD\", dashboard);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update dashboard\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateDashboardLayout(dashboard: DashboardI): Promise {\r\n try {\r\n await DashboardClient.update(dashboard);\r\n this.context.commit(\"UPDATE_DASHBOARD_LAYOUT\", dashboard);\r\n } catch (error) {\r\n throw ({ message: \"Failed to save updated dashboard layout\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async addWidget(widget: Widget): Promise {\r\n const dashboard = this.activeDashboard;\r\n dashboard.widgets.push(widget);\r\n\r\n try {\r\n const updatedDashboard = await DashboardClient.update(dashboard);\r\n this.context.commit(\"ADD_WIDGET\", widget);\r\n\r\n return updatedDashboard;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add new widget\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateWidget(widgetData: Partial): Promise {\r\n const index = this.activeDashboard.widgets.findIndex(widget => widget.id === widgetData.id);\r\n\r\n if (index >= 0) {\r\n const dashboard = this.activeDashboard;\r\n dashboard.widgets[index] = Object.assign(dashboard.widgets[index], widgetData);\r\n\r\n try {\r\n await DashboardClient.update(dashboard);\r\n this.context.commit(\"UPDATE_WIDGET\", { index, widgetData });\r\n } catch (error) {\r\n throw ({ message: \"Failed to update widget\", error });\r\n }\r\n } else {\r\n throw ({ message: \"Could not find widget to update\" });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteWidget(id: number): Promise {\r\n const index = this.activeDashboard.widgets.findIndex(widget => widget.id === id);\r\n\r\n if (index >= 0) {\r\n const dashboard = this.activeDashboard;\r\n dashboard.widgets.splice(index, 1);\r\n\r\n try {\r\n await DashboardClient.update(dashboard);\r\n this.context.commit(\"DELETE_WIDGET\", index);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget\", error });\r\n }\r\n } else {\r\n throw ({ message: \"Could not find widget to delete\" });\r\n }\r\n }\r\n\r\n //If there are no dashboards, create one\r\n @Action({ rawError: true })\r\n public async initializeDashboard(): Promise {\r\n try {\r\n await this.context.dispatch(\"refreshDashboards\");\r\n\r\n if (!this._dashboards.length) {\r\n await this.context.dispatch(\"createNewDashboard\");\r\n }\r\n\r\n this.context.commit(\"SET_ACTIVE_DASHBOARD\");\r\n } catch (error) {\r\n throw ({ message: \"Failed to initialize dashboard\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public getWidgetsOfSelectedType(typeName: string): Widget[] {\r\n return this._dashboards[this._activeDashboardIndex].widgets.filter(widget => widget.type?.defaultName === typeName);\r\n }\r\n\r\n get activeDashboardWidgets(): Widget[] {\r\n return this._dashboards[this._activeDashboardIndex]?.widgets;\r\n }\r\n\r\n get activeWidgets(): Widget[] {\r\n return this._dashboards[this._activeDashboardIndex].widgets.filter(widget => widget.active);\r\n }\r\n\r\n get dashboards(): DashboardI[] {\r\n return this._dashboards;\r\n }\r\n\r\n get activeDashboard(): DashboardI {\r\n //using JSON to create unlinked, deep copy of the active dashboard.\r\n return JSON.parse(JSON.stringify(this._dashboards[this._activeDashboardIndex]));\r\n }\r\n\r\n get dashboardById() {\r\n return (id: number): DashboardI => {\r\n const dashboard = this._dashboards.find(dashboard => dashboard.id === id);\r\n\r\n if (!dashboard) throw new Error(\"Found no dashboard with id \" + id);\r\n else return dashboard;\r\n };\r\n }\r\n}\r\n\r\nexport default Dashboard;\r\n","import net from \"App/net\";\r\n\r\nvar Client = function () {\r\n\r\n};\r\n\r\nClient.prototype.getAll = function () {\r\n return net.get(\"/NotificationChannels\");\r\n};\r\n\r\nClient.prototype.remove = function (id) {\r\n return net.del(`/NotificationChannels/${id}`);\r\n};\r\n\r\nexport default new Client();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { Channel } from \"@/types/condition\";\r\nimport ChannelsClient from \"Clients/notification-channels-client\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"Channels\" })\r\nclass Channels extends VuexModule {\r\n private _channels: Channel[] = [];\r\n\r\n @Mutation\r\n public SET_CHANNELS(channels: Channel[]): void {\r\n this._channels = channels;\r\n }\r\n\r\n @Mutation\r\n public ADD_CHANNEL(channel: Channel): void {\r\n this._channels.push(channel);\r\n }\r\n\r\n @Mutation\r\n public DELETE_CHANNEL(channel: Channel): void {\r\n const chnlIndex = this._channels.findIndex(chnl => channel.email === chnl.email);\r\n if (chnlIndex !== -1) this._channels.splice(chnlIndex, 1);\r\n }\r\n\r\n\r\n @Action({ rawError: true })\r\n public async fetchChannels(): Promise {\r\n try {\r\n const channels = await ChannelsClient.getAll();\r\n this.context.commit(\"SET_CHANNELS\", channels);\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch channels\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteChannel(id: number): Promise {\r\n try {\r\n await ChannelsClient.remove(id);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete channel\", error });\r\n }\r\n }\r\n\r\n get channels(): Channel[] {\r\n return this._channels;\r\n }\r\n get emailChannels(): Channel[] {\r\n return this._channels.filter(ch => ch.email && ch.userId === null);\r\n }\r\n public get getChannelByEmail() {\r\n return (email: string | null): Channel | undefined => {\r\n return this._channels.find(chnl => chnl.email === email);\r\n };\r\n }\r\n}\r\n\r\nexport default Channels;\r\n","// Module\nvar code = \"
\\r\\n \\r\\n

Import details

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

Import paths

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

Import duration

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

Timestamp

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

IMO Number

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

Imported tables

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

Table name

\\r\\n

Import duration

\\r\\n

Number of rows

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

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

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

Edit company

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

Add company

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

Remove company

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

Add flow meter

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

Vessel groups

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

Vessels in group

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

Available vessels

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

User information

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

Edit user

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

Add user

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

Remove user

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

API Key

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

    Time period:

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

    \\r\\n

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

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

    Data Analysis application

    \\r\\n

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

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

    Using the Data Analysis application

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

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

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

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

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

    Preset

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

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

    \\r\\n

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

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

    Curve

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

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

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

      Name

      \\r\\n

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

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

      Axis

      \\r\\n

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

      \\r\\n

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

      \\r\\n

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

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

      Curve-fit

      \\r\\n

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

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

      Curve points

      \\r\\n

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

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

      Additional data to display

      \\r\\n

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

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

    Time span

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

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

    \\r\\n

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

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

    Exclusion filters

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

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

    \\r\\n

    Two types of filter are available:

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

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

    \\r\\n

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

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

    Plot

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

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

    \\r\\n

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

    \\r\\n

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

    \\r\\n

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

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

    Prediction

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

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

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

    Danelec - Data Analysis

    \\r\\n

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

    \\r\\n

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

    \\r\\n

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

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

    \\r\\n

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

    \\r\\n

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

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

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

    \\r\\n
    \\r\\n\\r\\n\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar TaxonomyClient = function() {\r\n\r\n};\r\n\r\nTaxonomyClient.prototype.getTaxonomyLogVariables = function() {\r\n return net.get(\"/Taxonomy\");\r\n};\r\n\r\nTaxonomyClient.prototype.getAllTaxa = function() {\r\n return net.get(\"/Taxonomy/Taxa\");\r\n};\r\n\r\nTaxonomyClient.prototype.downloadTaxonomy = function() {\r\n var url = \"/Taxonomy/Excel\";\r\n return net.fileDownload(url, \"GET\");\r\n};\r\n\r\nTaxonomyClient.prototype.uploadTaxonomy = function(file) {\r\n var url = \"/Taxonomy/Excel\";\r\n return net.fileUpload(url, file);\r\n};\r\n\r\nexport default new TaxonomyClient();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { LogVariable } from \"@/types/logVariable\";\r\nimport taxonomyClient from \"Clients/taxonomy-client\";\r\nimport { Category as TaxonomyCategory } from \"@/types/taxonomy/category\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"Taxonomy\" })\r\nclass Taxonomy extends VuexModule {\r\n private _taxonomyLogVariables: LogVariable[] = [];\r\n private _taxonomyCategories: TaxonomyCategory[] = [];\r\n\r\n @Action({ rawError: true })\r\n public async getTaxonomyLogVariables(): Promise {\r\n try {\r\n const data = await taxonomyClient.getTaxonomyLogVariables();\r\n this.context.commit(\"SET_TAXONOMY_LOG_VARIABLES\", data);\r\n return data;\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getTaxonomyCategories(): Promise {\r\n try {\r\n const data = await taxonomyClient.getAllTaxa();\r\n this.context.commit(\"SET_TAXONOMY_CATEGORIES\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to get taxonomy categories\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public downloadTaxonomy(): void {\r\n try {\r\n return taxonomyClient.downloadTaxonomy();\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async uploadTaxonomy(file: FormData): Promise {\r\n try {\r\n await taxonomyClient.uploadTaxonomy(file);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Mutation\r\n public SET_TAXONOMY_LOG_VARIABLES(taxonomyLogVariables: LogVariable[]): void {\r\n this._taxonomyLogVariables = taxonomyLogVariables;\r\n }\r\n\r\n @Mutation\r\n public SET_TAXONOMY_CATEGORIES(taxonomyCategories: TaxonomyCategory[]): void {\r\n this._taxonomyCategories = taxonomyCategories;\r\n }\r\n\r\n public get taxonomyList(): LogVariable[] {\r\n return this._taxonomyLogVariables;\r\n }\r\n\r\n public get categorizedTaxonomyList(): TaxonomyCategory[] {\r\n return this._taxonomyCategories;\r\n }\r\n}\r\n\r\nexport default Taxonomy;\r\n","module.exports = __webpack_public_path__ + \"img/graph-widget-illustration-1.a2fdbe28.png\";","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { SnackbarConfig } from \"@/types/snackbarConfig\";\r\n\r\n@Module({ namespaced: true, name: \"Snackbar\" })\r\nclass Snackbar extends VuexModule {\r\n private _config = {} as SnackbarConfig;\r\n private _defaultConfig: SnackbarConfig = {\r\n text: \"An error occurred.\",\r\n color: \"error\",\r\n timeout: 5000,\r\n show: true,\r\n closeButton: false,\r\n };\r\n\r\n @Action\r\n public showSnackbar(config: Partial): void {\r\n //need to copy the default config, or the show variable will be overwritten when the snackbar is closed.\r\n const defaultConfigCopy = JSON.parse(JSON.stringify(this._defaultConfig));\r\n const snackbarConfig = Object.assign(defaultConfigCopy, config);\r\n \r\n this.context.commit(\"CLEAR_SNACKBAR_CONFIG\");\r\n setTimeout(() => this.context.commit(\"SET_SNACKBAR_CONFIG\", snackbarConfig));\r\n }\r\n\r\n @Action\r\n public close(): void {\r\n this.context.commit(\"CLEAR_SNACKBAR_CONFIG\");\r\n }\r\n\r\n @Mutation\r\n public SET_SNACKBAR_CONFIG(config: SnackbarConfig): void {\r\n this._config = config;\r\n }\r\n\r\n @Mutation\r\n public CLEAR_SNACKBAR_CONFIG(): void {\r\n this._config = { show: false, timeout: -1 } as SnackbarConfig;\r\n }\r\n\r\n public get message(): SnackbarConfig {\r\n return this._config;\r\n }\r\n}\r\n\r\nexport default Snackbar;\r\n","import template from \"./voyage-vessel-event-voyage.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport configEmissionReportFactory from \"App/config-emission-report\";\r\nimport emissionReportVesselEventsClient from \"Clients/emission-report-vessel-events-client\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.configEmissionReport = configEmissionReportFactory.get();\r\n self.vesselEvent = params.vesselEvent;\r\n self.voyageTypes = self.configEmissionReport.voyageTypes;\r\n self.voyage = ko.pureComputed(function() {\r\n var vesselEvent = self.vesselEvent();\r\n return vesselEvent.voyage;\r\n });\r\n\r\n var voyage = self.voyage();\r\n self.inputVoyageName = ko.observable(voyage ? voyage.name : \"\");\r\n self.inputVoyageType = ko.observable(voyage ? voyage.type : \"\");\r\n self.inputIsNonCommercial = ko.observable(voyage ? voyage.isNonCommercial : false);\r\n\r\n self.isEditing = ko.observable(false);\r\n}\r\n\r\nViewModel.prototype.dispose = function() {\r\n};\r\n\r\nViewModel.prototype.startEditing = function(vm, e) {\r\n var $wrapper = $(e.currentTarget).closest(\".edit-wrapper\");\r\n this.isEditing(true);\r\n\r\n var $input = $wrapper.find(\"input[type=text]\");\r\n $input.focus();\r\n $input.select();\r\n};\r\n\r\nViewModel.prototype.cancelEditing = function(vm, e) {\r\n this.isEditing(false);\r\n};\r\n\r\nViewModel.prototype.save = function() {\r\n var self = this;\r\n var vesselEvent = _.clone(self.vesselEvent());\r\n vesselEvent.voyage = vesselEvent.voyage || {};\r\n vesselEvent.voyage.name = self.inputVoyageName();\r\n vesselEvent.voyage.type = self.inputVoyageType();\r\n vesselEvent.voyage.isNonCommercial = self.inputIsNonCommercial();\r\n\r\n emissionReportVesselEventsClient.update(vesselEvent).done(function(updatedVesselEvent) {\r\n self.vesselEvent(updatedVesselEvent);\r\n self.cancelEditing();\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport categoriesClient from \"Clients/vessel-categories-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function (model, accessGroups) {\r\n var self = this;\r\n self.originalAccessGroup = undefined;\r\n self.accessGroups = accessGroups;\r\n self.id = ko.observable();\r\n self.name = ko.observable().extend({\r\n required: true,\r\n validation: {\r\n async: true,\r\n validator: function (val, params, callback) {\r\n if ((self.originalAccessGroup != null) && (stringHelper.equalsIgnoreCase(val, self.originalAccessGroup.name))) {\r\n // Same as \"original name\".\r\n callback(true);\r\n } else {\r\n callback(!self.accessGroups.exists(val));\r\n }\r\n },\r\n message: \"An access group with that name already exists.\",\r\n },\r\n });\r\n self.vessels = ko.observableArray([]);\r\n self.users = ko.observableArray([]);\r\n\r\n self.setModel(model);\r\n\r\n //For accessing validation from the parent component to for example enable/disable \"create/save\" button.\r\n self.errors = ko.validation.group(self);\r\n self.isValid = ko.computed(function () {\r\n return self.errors().length === 0;\r\n });\r\n};\r\n\r\nViewModel.prototype.setModel = function (model) {\r\n var self = this;\r\n self.originalAccessGroup = model;\r\n\r\n if (model) {\r\n // Edit mode\r\n self.id(model.id);\r\n self.name(model.name);\r\n self.vessels(model.vessels);\r\n self.users(model.users);\r\n } else {\r\n // \"New\" mode\r\n self.id(undefined);\r\n self.name(undefined);\r\n self.vessels([]);\r\n self.users([]);\r\n }\r\n};\r\n\r\nViewModel.prototype.getOriginalAccessGroup = function () {\r\n return this.originalAccessGroup;\r\n};\r\n\r\nViewModel.prototype.save = function () {\r\n var self = this;\r\n var accessGroup = _.clone(self.originalAccessGroup) || {};\r\n\r\n accessGroup.name = self.name();\r\n\r\n var promise;\r\n if (accessGroup.id) {\r\n promise = categoriesClient.update(accessGroup);\r\n } else {\r\n promise = categoriesClient.create(accessGroup);\r\n }\r\n promise.done(function (data) {\r\n self.setModel(data);\r\n });\r\n return promise;\r\n};\r\n\r\nViewModel.prototype.delete = function () {\r\n return categoriesClient.delete(this.originalAccessGroup);\r\n};\r\n\r\nexport default ViewModel;","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport vesselCategoriesClient from \"Clients/vessel-categories-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function () {\r\n var self = this;\r\n self.items = ko.observableArray([]);\r\n self.isLoading = ko.observable(false);\r\n self.error = ko.observable();\r\n\r\n self.load();\r\n\r\n self.onCreatedBinding = events.vesselAccessGroupOnCreated.add(function (newItem) {\r\n self.items.push(newItem);\r\n });\r\n\r\n self.onUpdatedBinding = events.vesselAccessGroupOnUpdated.add(function (oldItem, updatedItem) {\r\n self.items.replace(oldItem, updatedItem);\r\n });\r\n\r\n self.onDeletedBinding = events.vesselAccessGroupOnDeleted.add(function (removedItem) {\r\n self.items.remove(function (item) {\r\n return item.id === removedItem.id;\r\n });\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.onCreatedBinding.detach();\r\n this.onUpdatedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.load = function () {\r\n var self = this;\r\n self.error(undefined);\r\n self.items([]);\r\n self.isLoading(true);\r\n\r\n vesselCategoriesClient.getAll()\r\n .done(function (data) {\r\n self.items(data);\r\n })\r\n .fail(function (error) {\r\n console.error(error);\r\n self.error(\"Failed to load list.\");\r\n })\r\n .always(function() {\r\n self.isLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.getList = function () {\r\n return this.items;\r\n};\r\n\r\nViewModel.prototype.isLoading = function () {\r\n return this.isLoading;\r\n};\r\n\r\nViewModel.prototype.exists = function (name) {\r\n var match = _.find(this.items(), function (o) {\r\n return stringHelper.equalsIgnoreCase(name, o.name);\r\n });\r\n return match !== undefined;\r\n};\r\n\r\nexport default ViewModel;\r\n","import template from \"./vessel-access-group.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport AccessGroupVM from \"ViewModels/vessel-access-groups/vesselAccessGroup\";\r\nimport AccessGroupListVM from \"ViewModels/vessel-access-groups/vesselAccessGroupList\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n\r\n self.viewModel = null;\r\n self.error = ko.observable();\r\n self.dialogState = ko.observable(\"\");\r\n self.isEditMode = ko.observable(false);\r\n self.accessGroupList = new AccessGroupListVM();\r\n\r\n self.vesselAccessGroupAddBinding = events.vesselAccessGroupAdd.add(function () {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(null, self.accessGroupList);\r\n self.dialogState(\"ADD\");\r\n });\r\n\r\n self.vesselAccessGroupRenameBinding = events.vesselAccessGroupRename.add(function (accessGroup) {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(accessGroup, self.accessGroupList);\r\n self.dialogState(\"RENAME\");\r\n });\r\n\r\n self.vesselAccessGroupEditBinding = events.vesselAccessGroupEdit.add(function (accessGroup) {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(accessGroup, self.accessGroupList);\r\n self.isEditMode(true);\r\n });\r\n\r\n self.vesselAccessGroupDeleteBinding = events.vesselAccessGroupDelete.add(function (accessGroup) {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(accessGroup, self.accessGroupList);\r\n self.dialogState(\"DELETE\");\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.vesselAccessGroupAddBinding.detach();\r\n this.vesselAccessGroupRenameBinding.detach();\r\n this.vesselAccessGroupEditBinding.detach();\r\n this.vesselAccessGroupDeleteBinding.detach();\r\n};\r\n\r\nViewModel.prototype.closeDialog = function () {\r\n this.dialogState(\"\");\r\n};\r\n\r\nViewModel.prototype.closeEdit = function () {\r\n this.isEditMode(false);\r\n};\r\n\r\nViewModel.prototype.clearError = function () {\r\n this.error(null);\r\n};\r\n\r\nViewModel.prototype.handleError = function (error) {\r\n if (error && error.responseJSON && error.responseJSON.message) {\r\n this.error(error.responseJSON.message);\r\n } else {\r\n this.error(\"An error occurred.\");\r\n }\r\n events.errorEvent.dispatch(error);\r\n};\r\n\r\nViewModel.prototype.createAccessGroup = function () {\r\n var self = this;\r\n self.viewModel.save()\r\n .done(function() {\r\n events.vesselAccessGroupOnCreated.dispatch(self.viewModel.originalAccessGroup);\r\n self.closeDialog();\r\n }).fail(function(error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.renameAccessGroup = function () {\r\n var self = this;\r\n var originalCompany = self.viewModel.originalAccessGroup;\r\n self.viewModel.save()\r\n .done(function (data) {\r\n events.vesselAccessGroupOnUpdated.dispatch(originalCompany, data);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.deleteAccessGroup = function () {\r\n var self = this;\r\n self.viewModel.delete()\r\n .done(function () {\r\n events.vesselAccessGroupOnDeleted.dispatch(self.viewModel.originalAccessGroup);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","// Module\nvar code = \"
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VesselTitle.vue?vue&type=style&index=0&id=f7f08792&scoped=true&lang=scss&\"","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Departed atFrom portVoyage nameCompletedOrigin
    \";\n// Exports\nmodule.exports = code;","import { VuexModule, Module, Action, Mutation } from \"vuex-module-decorators\";\r\nimport { FeatureAttribute } from \"@/types/featureAttribute\";\r\nimport { apiGet } from \"@/services/api\";\r\n\r\n@Module({ namespaced: true, name: \"Cds\" })\r\nclass Cds extends VuexModule {\r\n private _allVesselsFeatures: Map = new Map();\r\n\r\n // @Getters\r\n public get featuresByVessel(): (vesselId: number) => FeatureAttribute[] | undefined {\r\n return (vesselId: number): FeatureAttribute[] | undefined => this._allVesselsFeatures.get(vesselId);\r\n }\r\n\r\n public get featureByVesselAndName(): (vesselId: number, name: string) => FeatureAttribute | undefined {\r\n return (vesselId: number, name: string): FeatureAttribute | undefined => this._allVesselsFeatures.get(vesselId)?.find(f => f.name === name);\r\n }\r\n\r\n // @Actions\r\n @Action({ rawError: true })\r\n public async fetchVesselFeatures(vesselId: number): Promise {\r\n try {\r\n const vesselFeatures = await apiGet(`/Cds/Features?dfiVesselId=${vesselId}`);\r\n this.context.commit(\"SET_VESSEL_FEATURES\", { vesselId: vesselId, vesselFeatures: vesselFeatures });\r\n return vesselFeatures;\r\n } catch (error) {\r\n throw ({ message: \"Failed to fetch speed loss history\", error });\r\n }\r\n }\r\n\r\n // @Mutations\r\n @Mutation\r\n public SET_VESSEL_FEATURES(data: { vesselId: number, vesselFeatures: FeatureAttribute[] }): void {\r\n this._allVesselsFeatures.set(data.vesselId, data.vesselFeatures);\r\n }\r\n}\r\n\r\nexport default Cds;\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
    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;","import ko from \"knockout\";\r\nimport vesselsAdministrationsClient from \"Clients/vessels-administrations-client\";\r\nimport logVariablesClient from \"Clients/log-variables-client\";\r\nimport cargoUnitsClient from \"Clients/cargo-units-client\";\r\nimport fuelTypesClient from \"Clients/fuel-types-client\";\r\nimport fuelTanksClient from \"Clients/fuel-tanks-client\";\r\nimport flowMetersClient from \"Clients/flow-meters-client\";\r\nimport _ from \"underscore\";\r\n\r\nimport Store from \"@/store\";\r\n\r\nfunction toIdMap(arrayOfObjectsWithId) {\r\n var map = {};\r\n _.each(arrayOfObjectsWithId,\r\n function(item) {\r\n map[item.id] = item;\r\n });\r\n return map;\r\n}\r\n\r\nvar ConfigEmissionReport = function() {\r\n var self = this;\r\n self.baseUrl = process.env.VUE_APP_BASE_URL;\r\n self.apiBaseUrl = process.env.VUE_APP_API_BASE_URL;\r\n self.currentVessel = Store.getters[\"Vessels/currentVessel\"];\r\n\r\n self.voyageTypes = [\"Laden\", \"Ballast\"];\r\n self.vessel = ko.observable();\r\n self.gpsSpeedLogVariable = ko.observable();\r\n self.flowMetersMap = ko.observable();\r\n self.fuelTanksMap = ko.observable();\r\n self.fuelTypesMap = ko.observable();\r\n self.cargoUnitsMap = ko.observable();\r\n\r\n self.isLoadingVessel = ko.observable(true);\r\n self.isLoadingGpsSpeedLogVariable = ko.observable(true);\r\n self.isLoadingCargoUnits = ko.observable(true);\r\n self.isLoadingFlowMeters = ko.observable(true);\r\n self.isLoadingFuelTanks = ko.observable(true);\r\n self.isLoadingFuelTypes = ko.observable(true);\r\n\r\n self.activeFlowMeters = ko.pureComputed(function() {\r\n var flowMetersMap = self.flowMetersMap();\r\n return _.filter(flowMetersMap, function(flowMeter) {\r\n return !flowMeter.isDeactivated;\r\n });\r\n });\r\n\r\n self.activeFuelTanks = ko.pureComputed(function() {\r\n var fuelTanksMap = self.fuelTanksMap();\r\n return _.filter(fuelTanksMap, function(fuelTank) {\r\n return !fuelTank.isDeactivated;\r\n });\r\n });\r\n\r\n self.activeFuelTypes = ko.pureComputed(function() {\r\n var fuelTypesMap = self.fuelTypesMap();\r\n return _.filter(fuelTypesMap, function(fuelType) {\r\n return !fuelType.isDeactivated;\r\n });\r\n });\r\n\r\n self.isLoading = ko.pureComputed(function() {\r\n var isLoadingVessel = self.isLoadingVessel();\r\n var isLoadingGpsSpeedLogVariable = self.isLoadingGpsSpeedLogVariable();\r\n var isLoadingCargoUnits = self.isLoadingCargoUnits();\r\n var isLoadingFlowMeters = self.isLoadingFlowMeters();\r\n var isLoadingFuelTanks = self.isLoadingFuelTanks();\r\n var isLoadingFuelTypes = self.isLoadingFuelTypes();\r\n\r\n return isLoadingVessel ||\r\n isLoadingGpsSpeedLogVariable ||\r\n isLoadingCargoUnits ||\r\n isLoadingFlowMeters ||\r\n isLoadingFuelTanks ||\r\n isLoadingFuelTypes;\r\n });\r\n\r\n self.load();\r\n};\r\n\r\nConfigEmissionReport.prototype.load = function() {\r\n this.loadVessel();\r\n this.loadGpsSpeedLogVariable();\r\n this.loadFlowMeters();\r\n this.loadFuelTanks();\r\n this.loadCargoUnits();\r\n this.loadFuelTypes();\r\n};\r\n\r\nConfigEmissionReport.prototype.loadVessel = function() {\r\n var self = this;\r\n self.isLoadingVessel(true);\r\n\r\n vesselsAdministrationsClient.get(self.currentVessel.id)\r\n .done(self.vessel)\r\n .always(function() {\r\n self.isLoadingVessel(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadGpsSpeedLogVariable = function () {\r\n var self = this;\r\n self.isLoadingGpsSpeedLogVariable(true);\r\n logVariablesClient.findGpsSpeedVariable(self.currentVessel.id)\r\n .done(self.gpsSpeedLogVariable)\r\n .always(function () {\r\n self.isLoadingGpsSpeedLogVariable(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadFlowMeters = function() {\r\n var self = this;\r\n self.isLoadingFlowMeters(true);\r\n flowMetersClient.find(self.currentVessel.id)\r\n .done(function(data) {\r\n self.flowMetersMap(toIdMap(data));\r\n })\r\n .always(function() {\r\n self.isLoadingFlowMeters(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadFuelTanks = function() {\r\n var self = this;\r\n self.isLoadingFuelTanks(true);\r\n fuelTanksClient.find(self.currentVessel.id)\r\n .done(function(data) {\r\n self.fuelTanksMap(toIdMap(data));\r\n })\r\n .always(function() {\r\n self.isLoadingFuelTanks(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadCargoUnits = function() {\r\n var self = this;\r\n self.isLoadingCargoUnits(true);\r\n cargoUnitsClient.getAll()\r\n .done(function(data) {\r\n self.cargoUnitsMap(toIdMap(data));\r\n })\r\n .always(function() {\r\n self.isLoadingCargoUnits(false);\r\n });\r\n};\r\n\r\nConfigEmissionReport.prototype.loadFuelTypes = function() {\r\n var self = this;\r\n self.isLoadingFuelTypes(true);\r\n fuelTypesClient.getAll()\r\n .done(function(data) {\r\n self.fuelTypesMap(toIdMap(data));\r\n })\r\n .always(function() {\r\n self.isLoadingFuelTypes(false);\r\n });\r\n};\r\n\r\nvar configEmissionReportInstance = null;\r\nexport default {\r\n get: function() {\r\n if (!configEmissionReportInstance) {\r\n configEmissionReportInstance = new ConfigEmissionReport();\r\n }\r\n return configEmissionReportInstance;\r\n },\r\n};\r\n","var map = {\n\t\"./info-ikon.png\": \"226e\",\n\t\"./office-ikon.png\": \"dd54\",\n\t\"./trend-ikon.png\": \"92c6\",\n\t\"./vessel-ikon.png\": \"e69d\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"6e63\";","module.exports = __webpack_public_path__ + \"img/fleet-insights-white-text_orange-logo.0c2bdb83.svg\";","import net from \"App/net\";\r\n\r\nvar ISO19030Client = function() {};\r\n\r\n// Events\r\nISO19030Client.prototype.All = function() {\r\n return net.get(\"/Iso19030Events\");\r\n};\r\n\r\nISO19030Client.prototype.AllByVesselId = function(vesselId) {\r\n return net.get(`/Iso19030Events/Vessel/${vesselId}`);\r\n};\r\n\r\nISO19030Client.prototype.EventById = function(eventId) {\r\n return net.get(`/Iso19030Events/${eventId}`);\r\n};\r\n\r\nISO19030Client.prototype.CreateEvent = function(eventModel) {\r\n return net.post(\"/Iso19030Events\", eventModel);\r\n};\r\n\r\nISO19030Client.prototype.UpdateEvent = function(eventModel) {\r\n return net.patch(`/Iso19030Events/${eventModel.id}`, eventModel);\r\n};\r\n\r\nISO19030Client.prototype.DeleteEvent = function(eventId) {\r\n return net.del(`/Iso19030Events/${eventId}`);\r\n};\r\n// PerformanceIndicators\r\nISO19030Client.prototype.PerformanceIndicators = function(vesselId) {\r\n return net.get(`/Iso19030PerformanceIndicators/${vesselId}`);\r\n};\r\n\r\nexport default new ISO19030Client();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { ISO19030Event } from \"@/types/ISO19030Event\";\r\nimport { PerformanceIndicatorPeriod } from \"@/types/PerformanceIndicatorPeriod\";\r\nimport ISO19030Client from \"Clients/ISO19030-client\";\r\n\r\n@Module({ namespaced: true, name: \"ISO19030\" })\r\nclass ISO19030 extends VuexModule {\r\n private _events: ISO19030Event[] = [];\r\n private _performanceIndicators: PerformanceIndicatorPeriod[] = [];\r\n\r\n get events(): ISO19030Event[] {\r\n return this._events;\r\n }\r\n\r\n get eventsByVesselId() {\r\n return (vesselId: number): ISO19030Event[] => {\r\n return this._events.filter(event => event.vesselId === vesselId);\r\n };\r\n }\r\n\r\n get performanceIndicators(): PerformanceIndicatorPeriod[] {\r\n return this._performanceIndicators;\r\n }\r\n\r\n // Events < >\r\n @Action({ rawError: true })\r\n public async fetchEvents(): Promise {\r\n try {\r\n const response = await ISO19030Client.All();\r\n this.context.commit(\"SET_ISO19030_EVENTS\", response);\r\n return response;\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject(`Failed to fetch ISO19030 events: ${err}`);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async createEvent(event: Partial): Promise {\r\n try {\r\n await ISO19030Client.CreateEvent(event);\r\n await this.context.dispatch(\"fetchEvents\");\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject(`Failed to create event: ${err}`);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateEvent(event: ISO19030Event): Promise {\r\n try {\r\n await ISO19030Client.UpdateEvent(event);\r\n await this.context.dispatch(\"fetchEvents\");\r\n } catch (err) {\r\n console.warn(err);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteEvent(eventId: number): Promise {\r\n try {\r\n await ISO19030Client.DeleteEvent(eventId);\r\n await this.context.dispatch(\"fetchEvents\");\r\n } catch (err) {\r\n console.warn(err);\r\n }\r\n }\r\n // Events \r\n\r\n // PerformanceIndicators < >\r\n @Action({ rawError: true })\r\n public async fetchPerformanceIndicators(vesselId: number | string): Promise {\r\n try {\r\n const response = await ISO19030Client.PerformanceIndicators(vesselId);\r\n this.context.commit(\"SET_ISO19030_PERFORMANCE_INDICATORS\", response);\r\n return response;\r\n } catch (err) {\r\n console.warn(err);\r\n return Promise.reject(`Failed to fetch ISO19030 performance indicators: ${err}`);\r\n }\r\n }\r\n // PerformanceIndicators \r\n\r\n @Mutation\r\n public SET_ISO19030_EVENTS(response: ISO19030Event[]): void {\r\n this._events = response;\r\n }\r\n\r\n @Mutation\r\n public SET_ISO19030_PERFORMANCE_INDICATORS(response: PerformanceIndicatorPeriod[]): void {\r\n this._performanceIndicators = response;\r\n }\r\n}\r\n\r\nexport default ISO19030;\r\n","// See: http://www.jacklmoore.com/notes/rounding-in-javascript/\r\nfunction round(value, decimals) {\r\n return Number(Math.round(value + \"e\" + decimals) + \"e-\" + decimals);\r\n}\r\n\r\nfunction parseLocaleNumber(stringNumber, locale) {\r\n if (!stringNumber) return 0;\r\n const thousandSeparator = Intl.NumberFormat(locale).formatToParts(11111)[1].value;\r\n const decimalSeparator = Intl.NumberFormat(locale).formatToParts(1.1)[1].value;\r\n\r\n return parseFloat(stringNumber\r\n .replace(new RegExp(\"\\\\\" + thousandSeparator, \"g\"), \"\")\r\n .replace(new RegExp(\"\\\\\" + decimalSeparator), \".\"),\r\n );\r\n}\r\n\r\nfunction numericFilter(event) {\r\n event = event ? event : window.event;\r\n const expect = event.target.value.toString() + event.key.toString();\r\n return !/^\\d*\\.?\\d*$/.test(expect) ? event.preventDefault() : false;\r\n}\r\n\r\nfunction numericWithNegativeFilter(event) {\r\n event = event ? event : window.event;\r\n const expect = event.target.value.toString() + event.key.toString();\r\n return !/^\\d?\\-?\\d*[.,]?\\d*$/.test(expect) ? event.preventDefault() : false;\r\n}\r\n\r\nexport default {\r\n round: function (value, decimals) {\r\n return round(value, decimals);\r\n },\r\n parseLocaleNumber: parseLocaleNumber,\r\n numericWithNegativeFilter: function (event) {\r\n return numericWithNegativeFilter(event);\r\n },\r\n numericFilter: numericFilter,\r\n};\r\n","module.exports = __webpack_public_path__ + \"img/table-widget-illustration-1.8c4b19bb.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAcCAMAAACAobU3AAAAkFBMVEUAAACVlZKSko/CwsGQkI6SkpCGhoPS0tHKysmQkI2SkpCRkY6GhoPNzcyvr62NjYqoqKabm5iZmZeRkY6RkY+Sko+Sko+SkpCPj42Li4iIiIWGhoOGhoOGhoP///+GhoPw8PD7+/v5+fmsrKqQkI7z8/OMjInX19aNjYro6Ofj4+Pe3t3V1dTLy8qxsa+IiIWMEjxCAAAAHnRSTlMA7u/+56Ad/v7tuIYo/fX19PPw2ta7l5V1TjIVEQgGzgzGAAAAj0lEQVQY073OVw7CMBRE0eeSSui9TdzihL7/3WErQUIsgPt15m8odC6nIxpaCz0bxm4C6Pk+MuUGgCpOwWULYw3yhKhaAM+XhWYpJXfcfO1bZBuSGs67roORxIFGKdUAnBg+sV8La63oreqY+ru1C3Q6OH5+iFzFz6sr+i5LqoqxCdIZPxAdt5IzJpOUvnsDKg0aV8h9B18AAAAASUVORK5CYII=\"","// Module\nvar code = \"
    \\r\\n
      \\r\\n
    • Unassigned vessels
    • \\r\\n
    • Assigned vessels
    • \\r\\n
    • Archived vessels
    • \\r\\n
    • Add vessel
    • \\r\\n
    \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManageDashboardsDialog.vue?vue&type=style&index=0&id=696cc72e&scoped=true&lang=scss&\"","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n

    Expiration date:

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

    You do not have permission to view this key.

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

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

    Feature not available

    \\r\\n

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

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

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

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

    \\r\\n

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

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

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

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

    Upload from template:

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

    Vessels already in access group

    \\r\\n

    Add or remove vessels from this access group.

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

    Available vessels

    \\r\\n

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

    Users already in access group

    \\r\\n

    Add or remove users from this access group.

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

    Available Users

    \\r\\n

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

    Error

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

    Import paths

    \\r\\n

    Timestamp

    \\r\\n

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

    \\r\\n

    Status

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

    Error

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

    Current data receiver

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

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

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

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

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

    Company

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

    Features

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

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

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

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

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

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

    Data import status

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

    \\r\\n

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

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

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

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

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

    Vessels being imported

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

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

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

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

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

    Zoom all graphs

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

    API keys expired, please contact Danelec for assistance

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

    Data Analysis

    \\r\\n

    Please select a vessel to get started

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

    Compare Vessels - Overview

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

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

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

    Data filter:

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

    Vessel access groups

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

    Manage vessel access group ''

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

    Add vessel access group

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

    Rename vessel access group

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

    Remove access group

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

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

    \\r\\n

    \\r\\n

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

    \\r\\n

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

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

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

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

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

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