{"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?42dd","webpack:///./src/components/widgets/TimeSpanDialog.vue","webpack:///./src/components/widgets/TimeSpanDialog.vue?d98a","webpack:///./src/components/widgets/TimeSpanDialog.vue?35c8","webpack:///./src/Scripts/viewModels/user/user.js","webpack:///./src/Scripts/viewModels/user/userList.js","webpack:///./src/Scripts/components/profile/users/users.js","webpack:///./src/utilities/utilities.ts","webpack:///./src/Scripts/clients/emission-report-vessel-events-client.js","webpack:///./src/Scripts/clients/performance-status-widget-client.js","webpack:///./src/store/clients/PerformanceStatusWidget.module.ts","webpack:///./src/Scripts/components/fuel-tank-management/ft-soundings/ft-soundings.html","webpack:///./src/Scripts/bindings/vesselFilesSort.js","webpack:///./src/Scripts/utilities/htmlencode-helper.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels.js","webpack:///./src/Scripts/utilities/log-variable-helper.js","webpack:///./src/services/AuthService.ts","webpack:///./src/store/clients/Auth.module.ts","webpack:///./src/Scripts/components/long-trend-config/long-trend-config.js","webpack:///./src/Scripts/components/vessel-administration/vessel-admin-table/vessel-admin-table.html","webpack:///./src/Scripts/components/flow-meter-management/fm-operations/fm-operations.html","webpack:///./src/Scripts/clients/incidents-client.js","webpack:///./src/Scripts/clients/notification-conditions-client.js","webpack:///./src/store/clients/Incidents.module.ts","webpack:///./src/Scripts/clients/cargo-units-client.js","webpack:///./src/Scripts/clients/log-data-client.js","webpack:///./src/Scripts/clients/vessel-events-client.js","webpack:///./src/assets/images/loading.gif","webpack:///./src/Scripts/viewModels/emission-report/voyageVesselEventCargoDetail.js","webpack:///./src/Scripts/clients/vessels-administrations-client.js","webpack:///./src/Scripts/components/curves/curve-prediction-table/curve-prediction-table.html","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details/compare-vessels-long-trends-details.html","webpack:///./src/store/clients/VesselAccessGroups.module.ts","webpack:///./src/assets/images/kognifai/help/help-preset.webp","webpack:///./src/Scripts/components/fuel-tank-management/ft-operations/ft-operation/ft-operation.html","webpack:///./src/Scripts/components/emission-report/voyage/voyage-chart/voyage-chart.html","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-distance/voyage-vessel-event-distance.html","webpack:///./src/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/store/clients/MapWidget.module.ts","webpack:///./src/assets/images/eventicon/info-ikon.png","webpack:///./src/components/Sidebar.vue?e24c","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/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/App.vue?42dd","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-voyage/voyage-vessel-event-voyage.js","webpack:///./src/Scripts/viewModels/vessel-access-groups/vesselAccessGroup.js","webpack:///./src/Scripts/viewModels/vessel-access-groups/vesselAccessGroupList.js","webpack:///./src/Scripts/components/vessel-access-group/vessel-access-group.js","webpack:///./src/Scripts/components/vessel-event-icon/vessel-event-icon.html","webpack:///./src/components/VesselTitle.vue?feef","webpack:///./src/Scripts/components/emission-report/departure-list/departure-list.html","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list.html","webpack:///./src/Scripts/components/curves/cp-module-table/cp-module-table.html","webpack:///./src/Scripts/components/emission-report/emission-report.js","webpack:///./src/Scripts/clients/vessel-event-cargo-details-client.js","webpack:///./src/Scripts/components/graph-config-data-interval/graph-config-data-interval.html","webpack:///./src/Scripts/clients/notification-widget-client.js","webpack:///./src/store/clients/NotificationWidget.module.ts","webpack:///./src/Scripts/clients/emission-report-client.js","webpack:///./src/components/widgets/DateTimeRangePicker.vue?ee5c","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/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/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/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/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/Scripts/components/data-import/import-status-table/import-status-table.html","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/components/ManageDashboardsDialog.vue?29d6","webpack:///./src/Scripts/components/graph-config-variable-selection/graph-config-variable-selection.html","webpack:///./src/components/ConfirmDialog.vue?6c8a","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/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/assets/images/danelec-logos/danelec-connect_negative.svg","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/assets/images/danelec-logos/danelec-square-original.svg","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?a5fc","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?5a64","webpack:///./src/views/account/ResetPassword.vue","webpack:///./src/views/account/ResetPassword.vue?a2d3","webpack:///./src/views/account/ResetPassword.vue?cb60","webpack:///./src/router/index.ts","webpack:///./src/store/clients/WidgetTypes.module.ts","webpack:///./src/Scripts/utilities/kognifai-variable-tree.js","webpack:///./src/Scripts/clients/Announcement-client.js","webpack:///./src/Scripts/clients/log-variables-client.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage.html","webpack:///./src/views/account/Login.vue?1d50","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/components/widgets/TimeSpanDialog.vue?d43a","webpack:///./src/Scripts/utilities/date-helper.js","webpack:///./src/Scripts/utilities/curve-prediction-helper.js","webpack:///./src/Scripts/components/company/company-info/company-info.html","webpack:///./src/Scripts/clients/fuel-tanks-client.js","webpack:///./src/Scripts/components/fuel-tank-management/ft-fuel-consumptions/ft-fuel-consumptions.html","webpack:///./src/class-components-hooks.ts","webpack:///./src/plugins/vuetify.ts","webpack:///./src/App.vue?137b","webpack:///./src/components/knockoutWrappers/TooltipWrapper.vue?b8fa","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?51c6","webpack:///./src/components/ManageDashboardsDialog.vue?4245","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?3b83","webpack:///./src/components/PerformanceStatusIcon.vue?838c","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?6e1c","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?b6ce","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/filters/date.ts","webpack:///./src/utilities/leafletIconFix.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/assets/images/danelec-logos/danelec-connect_original.svg","webpack:///./src/services/UserService.ts","webpack:///./src/store/clients/User.module.ts","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?cfcd","webpack:///./src/components/widgets/DateTimeRangePicker.vue","webpack:///./src/components/widgets/DateTimeRangePicker.vue?44d8","webpack:///./src/components/widgets/DateTimeRangePicker.vue?5794","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-voyage/voyage-vessel-event-voyage.html","webpack:///./src/store/clients/Vessels.module.ts","webpack:///./src/assets/images/widgets/notification-widget-illustration.png","webpack:///./src/assets/images/eventicon/vessel-ikon.png","webpack:///./src/assets/images/widgets/map-widget-illustration-1.png","webpack:///./src/Scripts/viewModels/vesselsAdministration/vessel.js","webpack:///./src/Scripts/components/flow-meter-management/flow-meter-management.html","webpack:///./src/Scripts/clients/flow-meters-client.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-distance/voyage-vessel-event-distance.js","webpack:///./src/Scripts/viewModels/curves/curvePoint.js","webpack:///./src/Scripts/components/taxonomy/taxonomy.html","webpack:///./src/Scripts/utilities/time-converter-helper.js","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event-list/voyage-vessel-event-list-item/voyage-vessel-event-list-item.html","webpack:///./src/Scripts/components/profile/user-info/user-info.html","webpack:///./src/Scripts/clients/vessel-files-client.js","webpack:///./src/assets/images/vessels/previous2.png","webpack:///./src/assets/images/kyma-logos/kymalogo.svg","webpack:///./src/Scripts/clients/fuel-types-client.js","webpack:///./src/Scripts/clients/long-trend-periods-client.js","webpack:///./src/store/clients/LongTrends.module.ts","webpack:///./src/Scripts/components/vessel-settings/fuel-tanks/fuel-tank/fuel-tank.html","webpack:///./src/Scripts/components/vessel-files/vessel-files.html","webpack:///./src/assets/images/vessels/blue.png","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-cargos/voyage-vessel-event-cargos.html","webpack:///./src/assets/images/kognifai/help/help-exclusion-filters.webp","webpack:///./src/assets/images/status/error.png","webpack:///./src/assets/images/kognifai/help/help-main-window.webp","webpack:///./src/Scripts/viewModels/company/company.js","webpack:///./src/Scripts/viewModels/company/companyList.js","webpack:///./src/Scripts/components/company/company-manager/company-manager.js","webpack:///./src/Scripts/components/tooltip-text/tooltip-text.html","webpack:///./src/Scripts/components/vessel-administration/vessel-feature/vessel-feature.html","webpack:///./src/Scripts/clients/vessel-data-widget-client.js","webpack:///./src/store/clients/VesselDataWidgetConfig.module.ts","webpack:///./src/Scripts/components/emission-report/voyage/voyage-vessel-event/voyage-vessel-event-port/voyage-vessel-event-port.js","webpack:///./src/Scripts/utilities/vessel-map-helper.js","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends-details-graph/compare-vessels-long-trends-details-graph.html","webpack:///./src/Scripts/components/benefit-consequence-result/benefit-consequence-result.html","webpack:///./src/Scripts/components/compare-vessels/compare-vessels-long-trends/compare-vessels-long-trends.html"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","ViewModel","params","self","this","voyageVesselEvent","vesselEvent","isEditing","ko","observable","inputTimestampDate","dateHelper","getFormatedDateString","timestamp","inputTimestampTime","getFormatedTimeString","plotLineDateSelectedBinding","events","plotLineDateSelected","add","selectedDate","isInputTimestampValid","pureComputed","timestampMoment","getDateTime","previousVesselEvent","previousVesselEventMoment","moment","utc","nextVesselEvent","nextVesselEventMoment","dispose","detach","startEditing","vm","$wrapper","$","currentTarget","closest","dateSelectStarted","dispatch","$input","find","focus","select","cancelEditing","dateSelectEnded","save","_","clone","date","time","getSubmitDateString","emissionReportVesselEventsClient","update","done","viewModel","template","updateTempFolders","file","fileName","tempFolders","parentFolders","each","parentFolder","tempFolder","folderPath","remove","bindingHandlers","fileUpload","init","element","valueAccessor","allBindingsAccessor","vesselId","folder","isValidFile","errorMessage","isUploading","filesInCurrentFolder","dropzone","acceptedFiles","dictInvalidFileType","url","process","headers","authHeader","on","vesselFile","vesselFileUploaded","response","isUndefined","fileExists","some","upload","filename","confirm","removeFile","getFilesInFolder","files","filesInFolder","isDescendant","indexOf","childFileName","replace","fileExistsInFolder","updateFile","newFileName","vesselFilesClient","getFile","isTempFolder","draggableFile","isFolder","draggableElement","preventDefault","className","fileNameWithoutPath","existingFile","id","fileEntity","supportedExtensions","excel","word","pdf","elementType","uploadedTime","folderId","binaryFileId","uploadedBy","fileSize","isFileMenuVisible","newName","fileIcon","fileExtension","toLowerCase","extension","split","pop","formattedFileSize","stringHelper","getPrettyFileSize","uploadedText","format","newNameErrorText","rename","endsWith","fileNameWithoutExtension","resetName","nameWithoutExtension","substr","lastIndexOf","getFileNameWithoutPath","showFileMenu","hideFileMenu","arg","folderName","vesselName","vesselname","vesselFileSizeLimitInMB","newFolderHelpText","tooltipHelpText","newFolderName","pdfFileName","vesselFilePdfUrl","elementToDelete","elementToRename","isFilesLoading","isHelpTooltipOpen","sortAscending","sortColumn","isNewFolderDialogVisible","isPdfViewerVisible","isDeleteDialogVisible","isRenameDialogVisible","hasRenameError","hasNewFolderError","observableArray","currentFolder","FolderVM","foldersInCurrentFolder","getFiles","formattedFileSizeLimit","limit","totalFileSize","bytes","parentFolderPath","stop","parentFolderNames","parentFolderName","reverse","sortFiles","deleteText","goToFolder","getFolders","viewPdf","toJS","showDeleteDialog","showRenameDialog","folders","isFile","elements","elementName","without","isInvalid","sourceName","renameFolder","createNewFolder","deleteElement","removeFolder","downloadFile","vesselFileDownload","vesselFileUploadedBinding","fileVM","indexOfExistingFile","FileVM","closeTooltipBinding","closeTooltip","showNewFolderDialog","startsWith","currentFolderPath","fileNameStartsWithPath","newFolderPath","toggleHelpTooltip","showTooltip","text","isWide","hideHelpTooltip","sort","a","b","left","getSortData","right","column","closePdfViewer","closePdf","getTempFoldersInCurrentFolder","childFolderName","folderNames","folderExists","isChildFolder","union","filter","getAll","map","always","Vue","use","Vuex","Store","Auth","Announcement","Benefits","LongTrends","Incidents","User","Users","Vessels","VesselsAdmin","Companies","VesselAccessGroups","VesselGroups","VesselsHistories","Dashboard","MapWidget","Taxonomy","Reports","VesselEvents","LogVariables","LogData","LongTrendPeriod","VesselDataWidgetConfiguration","WidgetTypes","PerformanceStatusWidget","NotificationWidgetConfiguration","CiiWidgetConfiguration","Snackbar","Cii","Shapoli","ISO19030","Channels","render","_vm","_h","$createElement","_c","_self","attrs","dialogWidth","$event","close","model","callback","$$v","isModalActive","expression","_v","_t","staticClass","selectedCalculationType","slot","hasNotAllowedUnit","scopedSlots","_u","fn","ref","_g","_b","isLastHoursHasError","lastHoursAverage","lastHoursAccumulate","_s","fromAndToDatesCalculationType","widgetDateRange","onWidgetDateRangeChanged","proxy","_e","saveButtonDisabled","syncIsSaveButtonDisabled","staticRenderFns","TimeSpanDialog","infoAccumulatedDialog","accumulatedAllowedUnits","fromDate","startOf","toDate","set","syncColumn","$emit","setSelectedCalculationType","currentState","calculationType","hours","getDatesDiffAsHours","isLastHoursAverageValid","isLastHoursAccumulateValid","logVariables","variable","isUnitAccAllowed","unit","caption","includes","fromToDates","isTimeSpanHoursValid","setTimeSpan","timeSpan","parseInt","Date","subtract","assign","__decorate","PropSync","required","default","Watch","Component","components","DateTimeRangePicker","component","VBtn","VCard","VCardActions","VCardText","VDialog","VIcon","VRadio","VRadioGroup","VSpacer","VTextField","VToolbar","VToolbarTitle","VTooltip","users","original","list","userId","userName","extend","email","validation","async","validator","val","equalsIgnoreCase","exists","title","phoneNumber","apiKey","role","kognifaiTenantId","kognifaiClientId","kognifaiClientSecret","setModel","errors","group","isValid","computed","isNewUser","getOriginalUser","user","client","generateApiKey","clearApiKey","isLoading","load","onCreatedBinding","userOnCreated","newItem","onUpdatedBinding","userOnUpdated","oldItem","updatedItem","item","onRemovedBinding","userOnRemoved","removedItem","getList","match","dialogState","UsersVM","viewBinding","userView","clearError","UserVM","editBinding","userEdit","addBinding","userAdd","apiKeyBinding","userManageApiKey","deleteBinding","userDelete","createUser","newUser","closeDialog","fail","status","userOnCreatedAlreadyExist","userOnCreatedFailed","handleError","removeUser","userOnFailed","editUser","originalUser","updatedUser","responseJSON","Utilities","tagName","parentElement","router","currentRoute","path","stopPropagation","messages","values","modelState","flat","statusText","formattedError","vesselEventUpdatedCallback","vesselEventUpdated","Client","net","findVoyageVesselEvents","departureId","post","vesselEventCreated","put","confirmVoyageInformation","unconfirmVoyageInformation","confirmVoyageData","unconfirmVoyageData","sendEmissionReportToDnvGl","del","vesselEventDeleted","PerformanceStatusWidgetClient","new","perfStatWidgetConfiguration","delete","perfStatWidgetConfigId","_configsExpired","_configs","configs","config","index","findIndex","savedConfig","performanceStatusWidgetClient","context","commit","emptyConfig","vessels","createdConfig","root","vessel","sharedConfig","VuexModule","Mutation","Action","rawError","Module","namespaced","vesselFilesSort","onclick","currentSortIcon","sortIcons","icon","sortedFolders","htmlEncode","el","innerText","innerHTML","findDiagnosticLongTrends","allLongTrends","flatten","pluck","longTrend","diagnosticTypeId","findCommonLongTrendNames","longTrends","vesselCount","commonDiagnosticLongTrendNames","longTrendsGroupedByName","groupBy","CompareGroup","longTrendName","longTrendPeriods","sortOrder","diagnosticTypesHelper","getDiagnosticTypeOrder","diagnosticType","isLoadingLongTrendPeriods","compareGroups","selectedCompareGroup","diagnosticLongTrends","vesselsSubscription","subscribe","allLongTrendIds","commonLongTrends","loadLongTrendPeriods","longTrendPeriodsBinding","commonLongTrendIds","commonLongTrendPeriods","longTrendPeriod","contains","longTrendId","sortBy","compareGroupClickedBinding","compareGroupClicked","compareGroup","deselectCompareGroup","navigateHome","navigatedHome","longTrendIds","longTrendPeriodsClient","findMany","formatValueWithCaption","logVariable","precision","displayPrecision","addCaption","formatMapLocation","latitude","longitude","toFixed","unitCaption","formatLogVariableDisplayName","duplicateLogVariableNames","dupLogVariableNamesArray","Array","isArray","onboardSystem","x","getDuplicateLogVariableNames","logVariablesArray","countOfNames","reduce","acc","curr","idx","arr","entries","AuthService","username","password","localStorage","removeItem","Email","Username","Token","Password","CurrentPassword","NewPassword","warn","storedAccessToken","getItem","storedAccessTokenExpiryDate","storedRememberUser","JSON","parse","loggedIn","accessToken","accessTokenExpiryDate","_isRefreshing","state","setItem","stringify","tokens","access","expiry","login","persist","lostPassword","resetPassword","token","changePassword","currentPassword","newPassword","fetch","logout","getModule","VesselsModule","store","currentVessel","showLastHours","showLastMinutes","showFromTime","showToTime","isVariablesLoading","isConfigLoading","isVoyagesLoading","isUpdateConfigurationLoading","isUpdateConfigurationError","submitError","variables","selectedVariables","selectedTimePeriod","lastDays","lastPeriodValuesValid","voyages","lastVoyage","startDate","endDate","selectedTimeInMinutes","selectedTime","from","getFormatedDateTimeString","to","diff","daysToMinutes","getDate","updateTimePeriod","fromDateTime","toDateTime","submit","endChar","charAt","lastNumberDays","timeConfigurationType","longTrendConfigurationsClient","onSubmit","disableSubmit","displayEmptyVariableSelectionWarning","longTrendsClient","findLongTrendVariables","isLoadError","getByVesselId","vesselsClient","getVesselVoyages","days","Number","isOpen","skip","query","findOpen","findClosed","condition","conditions","_openIncidents","_allOpenIncidents","_allClosedIncidents","_conditions","_incidentsExpired","incidents","currentVesselId","incidentsClient","conditionsClient","rootGetters","groupedByConditionAndTargetKey","incident","conditionId","conditionTargetKey","distinctOpenIncidents","severity","openCriticalIncidents","openWarningIncidents","LogDataClient","getData","deferred","Deferred","logData","continuationFilter","continuedResponse","arguments","findLogData","variableId","granularity","dateTimeFormat","unitName","filterMinMax","filterOutliers","getters","logVariableId","batchFindLogData","variableIds","logVariableIds","fetchAccumulatedCalculatedLogData","payload","fetchAveragedCalculatedLogData","fetchShapoliAveraged","fetchLastReceivedLogData","fetchLastVoyageAccumulated","fetchLastVoyageAveraged","eventTypes","getTrendEventTypes","CreateInfoEvent","vesselInfoEventModel","CreateTrendEvent","vesselTrendEventModel","UpdateInfoEvent","UpdateTrendEvent","DeleteInfoEvent","DeleteTrendEvent","cargoUnit","cargoDetails","vesselEventId","isCreated","cargoDetail","inputCargoCarried","existingCargoDetail","cargoUnitId","hasCargoCarried","isFinite","cargoCarried","initialize","isVesselEventConfirmed","isConfirmed","newCurve","parseFloat","vesselEventCargoDetailsClient","VesselsAdministrationsClient","getVessels","createVessel","getDataReceiverByImoNumber","imoNumber","isDataReceiver","companyId","command","unassign","setAsDataReceiver","unsetAsDataReceiver","archiveVessel","activateVessel","deactivateVessel","deleteVessel","activateFeature","featureId","deactivateFeature","addCargoUnit","removeCargoUnit","getVeracityKey","updateVeracityKey","veracityKey","getVeracityKeyExpirationDate","_vesselAccessGroupsExpired","_vesselAccessGroups","groups","vesselCategoriesClient","refreshVesselAccessGroups","_vesselsLogVariables","_currentVesselLogVariables","_currentVesselShaftPowerLogVariables","logVariableName","vesselVariables","displayName","logVariablesClient","findAll","findVesselLogVariablesTaxa","taxa","forEach","findVesselLogVariablesShaftPower","shaftPowerLogVariables","existedVesselIndex","DashboardClient","dashboard","dashboardId","_dashboards","_activeDashboardIndex","dashboards","_activeDashboardId","$cookies","dash","widgets","widget","widgetData","sequence","updatedDashboardsSequence","stringifiedDashboardListSequence","dashboardListSequence","typeTemplate","newDashboard","createdDashboard","activeDashboard","updatedDashboard","typeName","defaultName","active","_channels","channels","channel","chnlIndex","chnl","ChannelsClient","ch","escapeRegExp","str","replaceAll","RegExp","addSlashes","isNullOrWhiteSpace","isString","isLookingLikeAnEmail","test","stringContains","sizes","Math","floor","log","pow","isCaseInsensitive","getPrettyIMO","prettyIMO","pad","max","toString","str1","str2","areEqual","toUpperCase","localeCompare","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","getHelpText","getBenefitText","getInvalidConsequenceHelpText","diagnosticTypeName","param","logVariablesMap","taxonomy","highlightLogVariableId","allTaxa","uniqueTaxa","uniq","orderedUniqueTaxa","groupedTaxa","categories","CategoryVM","downloadTaxonomy","uploadTaxonomy","fd","FormData","append","go","TaxonomyClient","getTaxonomyLogVariables","getAllTaxa","_taxonomyLogVariables","_taxonomyCategories","taxonomyClient","taxonomyLogVariables","taxonomyCategories","_config","_defaultConfig","color","show","closeButton","defaultConfigCopy","snackbarConfig","configEmissionReport","configEmissionReportFactory","voyageTypes","voyage","inputVoyageName","inputVoyageType","inputIsNonCommercial","isNonCommercial","updatedVesselEvent","accessGroups","originalAccessGroup","getOriginalAccessGroup","accessGroup","categoriesClient","items","vesselAccessGroupOnCreated","vesselAccessGroupOnUpdated","onDeletedBinding","vesselAccessGroupOnDeleted","isEditMode","accessGroupList","AccessGroupListVM","vesselAccessGroupAddBinding","vesselAccessGroupAdd","AccessGroupVM","vesselAccessGroupRenameBinding","vesselAccessGroupRename","vesselAccessGroupEditBinding","vesselAccessGroupEdit","vesselAccessGroupDeleteBinding","vesselAccessGroupDelete","closeEdit","errorEvent","createAccessGroup","renameAccessGroup","originalCompany","deleteAccessGroup","gpsSpeedLogVariable","isLoadingGpsSpeedLogVariable","isVesselSettingsVisible","templateErrors","selectedDeparture","deselectDeparture","isLoadingVesselEvents","now","endOfMonth","year","month","queryDates","inputQueryFromDate","inputQueryToDate","allVesselEvents","loadVesselEvents","allSortedVesselEvents","allDepartureVesselEvents","filteredDepartureVesselEvents","vesselEvents","getTimelineData","timelineData","valueOf","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","configuration","AuthModule","UserModule","showCurves","loading","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","CiiWidgetClient","ciiWidgetConfiguration","ciiWidgetConfigId","CiiWidget","ciiWidgetConfigs","ciiWidgetClient","ciiWidgetId","ytd","showTable","ciiWidgetConfig","curve","originalCurve","curvesClient","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","round","decimals","parseLocaleNumber","stringNumber","locale","thousandSeparator","Intl","NumberFormat","formatToParts","decimalSeparator","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","L","findMarkerBounds","markers","w","sw","ne","marker","lat","lng","getLatLng","LatLng","LatLngBounds","updateMarkers","markerPopupsIsOpen","openPopups","markersGroup","isPopupOpen","closePopup","clearLayers","layerGroup","addTo","openPopup","markerBounds","fitBounds","padding","maxZoom","options","utils","unwrapObservable","layer","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","vesselIds","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","getExtendedVessels","updateVesselDraft","draft","draftMean","updateVessel","signals","Signal","repositionTooltip","vesselEventSelected","showModal","closeModal","modalClosed","curvePlotCreated","curvePlotUpdated","curvePlotDeleted","curvePlotSelected","curvePlotSpecified","editCurveStart","editCurveDone","filterGroupEmpty","flowMeterDeleted","flowMeterFuelConsumptionUpdated","flowMeterFuelConsumptionSelected","overlappingFuelConsumptionUpdated","voyageCreated","voyageVesselEventUpdated","fuelTankDeleted","fuelTankSoundingDeleted","fuelTankOperationCreated","fuelTankOperationDeleted","flowMeterOperationDeleted","fuelTypeDeleted","viewReport","curvePredictionUpdated","notificationConditionCreated","notificationConditionUpdated","notificationConditionRemoved","notificationChannelRemoved","filteredVesselsChanged","compareVesselsSelected","companyAdd","companyEdit","companyDelete","companyView","companyViewAs","companyOnCreated","companyOnUpdated","companyOnRemoved","updateLoaderText","presetChanged","createEvent","editEvent","deleteEvent","updateEventList","showDiagnosticsDetails","_breaches","breaches","VesselPerformanceStatusesClient","variableTree","treeMaker","makeTree","unwrap","selectedId","selectedItem","menuOpen","menuVisible","safetyMargin","selected","selectItem","closeMenu","selectedItemName","toggleMenu","positionMenu","$menu","next","menuHeight","height","windowHeight","top","clientY","clientX","difference","styles","css","positionSubMenu","$el","first","windowWidth","rect","getBoundingClientRect","availableHeight","availableBottom","delta","position","children","bottom","acessToken","Authorization","VesselHistoriesClient","getVesselHistoryAdditionals","vesselHistoryId","getVesselHistories","getLatestVesselHistory","_vesselsHistories","vesselHistories","input","timespan","lastExportDate","vesselHistoryAdditionals","forgotPassword","handleLogin","validLogin","class","isUsernameAutofilled","usernameRules","$set","isPasswordAutofilled","showPassword","passwordRules","handleForgotPassword","validResetPassword","emailRules","valid","forgotPasswordEmail","forgotPasswordAlertType","forgotPasswordResponse","submittingEmail","Login","submittedEmail","isLoggedIn","$router","catch","usernameInput","querySelector","passwordInput","checkAutofilledInputs","VAlert","VCardSubtitle","VCardTitle","VCheckbox","VCol","VContainer","VForm","VImg","VRow","incompleteLink","submitting","handleResetPassword","isFormValid","minimumPasswordLength","submittedSuccess","random","passwordsEqualBool","passwordsEqual","repeatPassword","alertType","errorResponse","_l","ResetPassword","submitted","$route","String","formatError","VueRouter","routes","redirect","subTitle","parent","beforeEnter","isKognifai","base","scrollBehavior","savedPosition","y","beforeEach","publicPages","authRequired","userExpired","afterEach","tableWidgetIllustration","graphWidgetIllustration","mapWidgetIllustration","performanceStatusWidgetIllustration","notificationWidgetIllustration","ciiWidgetTableViewIllustration","ciiWidgetChartViewIllustration","_startup","defaultWidth","defaultHeight","multiple","description","images","usingConfig","_VesselDataTable","displayType","_VesselDataGraph","_map","_performanceStatus","_notification","_emissions","_allAddable","separator","uniqueItems","levels","makeTreeRecursive","grouped","nextlevel","announcementDetails","announcementId","AcknowledgeIncident","AcknowledgeAllIncidents","openIncidents","LogVariablesClient","unitType","hasLogData","extended","dupNames","logVariableHelper","findAvailableLogVariables","findAvailableLogVariablesExtended","findMassFlowRateVariables","findSpeedVariables","findVesselsLogVariables","filterMinMaxTooltipText","filterOutliersTooltipText","toMinutes","minutes","isFilterMinMaxTooltipOpen","isFilterOutliersTooltipOpen","lastHours","lastMinutes","fromTime","toTime","selectedDataInterval","setPeriodValuesValid","lastNumberHours","lastNumberMinutes","dataInterval","loggingHistoryConfigurationsClient","minDate","logDataMinDate","maxDate","logDataMaxDate","maxMinutes","toggleFilterMinMaxTooltip","tooltipPosition","toggleFilterOutliersTooltip","hideTooltips","factory","define","extenders","paging","pageSize","_pageSize","_preferredSize","_currentPage","newValue","moveFirst","rowsToShow","currentPage","pageCount","ceil","currentPageData","pageIndex","startIndex","endIndex","movePrevious","moveNext","moveLast","getFlowMeterFuelConsumptionSourceColor","fuelConsumption","manualFuelConsumptionSourceColor","isNumber","correctedFuelConsumptionInTon","fuelConsumptionSource","flowMeterFuelConsumption","isSelected","isOverlapped","isRemoving","fuelTypeName","fuelTypeId","hasCorrectedFuelConsumptionInTon","inputFuelConsumptionInTon","flowMeterFuelConsumptionSelectedBinding","selectedFuelConsumption","startAt","endAt","flowMeterId","overlappingFlowMeterFuelConsumptionUpdatedBinding","overlappingFuelConsumption","fuelConsumptionSourceColor","isRemoveable","startEdit","initialInputFuelConsumptionInTon","fuelConsumptionInTon","off","updateFuelConsumptionInTon","fuelConsumptionsClient","ReportsClient","getReportUrl","reportId","onlyUrl","downloadReport","ReportTypesClient","_reportsExpired","_reports","_reportTypes","reports","reportTypes","reportTypeName","reportsClient","refreshReports","reportTypesClient","refreshReportTypes","Net","ajax","method","crossDomain","contentType","processData","traditional","cache","xhrFields","responseType","success","xhr","header","getResponseHeader","filenameRegex","matches","exec","windowUrl","URL","webkitURL","createObjectURL","anchor","download","click","revokeObjectURL","findLatest","benchmarkPeriod","GraphVariable","variableSelectionUpdateTrigger","queue","notifySubscribers","unselect","dateFormat","timeFormat","submitFormat","toSubmitString","submitDate","formatDate","dateTimeString","formatDateTime","dateTime","timeFormatter","dateInMilliseconds","getTime","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","point","power","exponential","dataPointsFilteredForLogarithmicRegression","logarithmic","getPredictedPoint","predict","getPredictedValue","predictedPoint","getPredictedPoints","min","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","primary2","secondary","secondary2","secondary3","colorBackground","accent","info","warning","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","vesselsLoadingState","userCompanyId","updateDashboardsSequence","transform","performance","manageDashboardsDialog","refreshExtendedVessels","getAllOpenIncidents","initializeDashboard","VDivider","VListGroup","VListItemAction","VListItemContent","VListItemIcon","VListItemTitle","VMenu","VNavigationDrawer","VProgressLinear","VSelect","VSubheader","longTrendDateFormatted","cssClass","iconImageSrc","displayText","PerformanceStatusIcon","cssClassProp","iconImageSrcProp","displayTextProp","setStatusIconProps","performanceStatusHelper","deep","VesselTitle","trendDataMinDate","trendDataMaxDate","vPerformanceStatusIcon","months","getMonth","getFullYear","VersionClient","getVersion","componentKey","tabClickHandler","myNotificationCount","subitem","subindex","getTimeAgo","openVesselEvent","MarkAsAcknowledged","getConditionType","conditionDetails","announcementCount","MarkasRead","publishDate","activeTab","MarkAllAsRead","MarkAllAsAcknowledged","getConditionTypeFromKey","targetKey","AnnouncementModule","ShowAnnouncement","allAnnouncements","userDetails","myNotifications","latest","archived","MINUTE_IN_MS","subitems","$root","$on","fetchData","announcementListByUser","getFleetLevelOpenIncidents","isView","acknowledged","startRefreshTimer","refreshTimer","filterdata","UserEmail","CompanyId","AnnouncementId","announcementReadByUser","Id","utcDate","toLocaleString","localeMatcher","timeZoneName","dateValue","fromNow","conditionType","conditionTypeHelper","VFooter","VTab","VTabItem","VTabs","App","showSidebar","showNewVersionNotification","lastUsedVersion","errorEventBinding","unreadAnnouncementCount","announcementlistByUser","$store","delayedRegisterKnockoutComponents","checkIfNewVersion","isTokenValid","unwatchNameChanged","$watch","newVal","unacknowledgedIncidents","unacknowledgedIncidentsCount","currentVersion","reload","tooltip","vVesselTitle","VApp","VAppBar","VBadge","VListItemSubtitle","VMain","VSnackbar","containerClass","cardClass","maxWidth","DefaultContainer","Prop","ajaxPrefilter","opts","originalOpts","jqXHR","refreshRequest","dfd","args","expiryDate","rejectWith","current","vesselHistory","polylines","showVesselTrack","vesselMap","vesselMapHelper","addVesselMarker","addVesselTrack","centerOnMarkers","showVesselTrackBinding","removeVesselTrack","RotatedMarker","Marker","angle","rotationOrigin","_setPos","pos","_icon","DomUtil","TRANSFORM","Browser","ie","rad","DEG_TO_RAD","costheta","cos","sintheta","sin","rotatedMarker","addPolyline","addPreviousPositionMarkers","removeMarkers","removePolyline","createPolylines","currentVesselHistory","minPixelDistance","positionMarker","createMarker","postitionMarkerLatLng","positionMakerPoint","latLngToLayerPoint","isInvalidMarker","markerLatLng","markerPoint","distanceTo","getElementById","classList","removeLayer","polyline","getVesselHistoriesInTimeIntervals","timeBetweenVesselHistoriesInHours","someVesselHistories","latestVesselHistory","firstVesselHistory","exportDate","performanceStatusItems","isUpdating","updateError","descriptionLong","useInVesselStatusTooltipText","toggleUseInVesselStatus","showUseInVesselStatusToopltip","closeToopltip","useManualBenchmarkLevel","benchmarkLevelTooltipText","manualBenchmarkLevel","showBenchmarkLevelToopltip","initialPerformanceStatus","showText","longTrendUpdatedBinding","vesselPerformanceStatusesClient","getVesselEventTypeText","getVesselEventSourceText","source","vesselEventType","getVesselEventTypeImageSrc","iconName","getVesselEventSourceImageSrc","sourceText","vesselEventHelper","sourceImageSrc","typeText","typeImageSrc","showNameToopltip","hasSFRBenchmarkingError","benefit","firstConsequence","hasConsequenceResults","results","mcrDisplay","consequence","displayValue","isNaN","valueText","headerName","validationMessages","minManualBenchmarkLevel","maxManualBenchmarkLevel","isObservable","customCssClass","textSubscription","GraphVariableGroup","maxVariables","distinct","graphVariables","variableName","selectedGraphVariables","unselectedGraphVariables","selectedIds","selection","seperator","count","currentGroupIndex","clear","maxGroups","initialVariableSelection","initializeVariableSelection","variableSelection","groupVariableIds","groupName","currentGroup","addGroup","variableSelectionString","initialVariableStrings","removeEmptyLastElementFromArray","getInitialVariableSelectionGroups","getInitialVariableSelectionIds","variableSelectionStrings","initialIds","ids","timeErrorMessage","numberFormatErrorMessage","selectedTimeErrorMessage","setSelectedTimeErrors","lastPeriodError","timeError","setLastPeriodErrorMessage","isValueInvalid","empty","disableLastVoyage","lastVoyageDateString","isLastPeriodInputInvalid","isTimeInputInvalid","focused","selectedTimePeriodSubscriber","selectedTimeInMinutesSubscriber","intervalLimit","intervalInMilliseconds","minutesToMilliseconds","updateSelectedDataInterval","disableSelectedDataInterval","checkIfDataIntervalIsDisabled","incrementSelectedDataInterval","currentVariables","v","isDataIntervalAllowedForDataSize","isDataIntervalAllowedForSampleWindow","intervalMs","every","sampleWindowInMs","selectedTimeBinding","goldenRationConjugate","colorFromHsv","hue","saturation","hi","f","q","Color","g","getDistinctColor","h","string","isInitialized","lastZoomTime","plotlineTempMarkerId","initializeHighcharts","Highcharts","setOptions","chart","zoomType","spacingRight","marginTop","animation","credits","enabled","legend","xAxis","gridLineWidth","labels","plotOptions","series","enableMouseTracking","valueDecimals","exporting","sourceHeight","sourceWidth","getDefaultGenericLineChartOptions","yAxis","tickPixelInterval","plotBands","plotLines","chartOptions","getDefaultDiagnosticSplineHighchartsOptions","navigator","userAgent","getTrendLinesSeriesForLongTrendPeriods","trendline","start","end","getTrendLinesSeriesForCompareLongTrendPeriods","longTrendPeriodsGroupedByLongTrendId","longTrendPeriodGroup","vesselIndex","serie","colorHelper","getTrendLinesSeriesForCompareLastLongTrendPeriod","showRelativeYAxis","currentLongTrendPeriod","isCurrent","durationInMonths","valueDifference","startYValue","endYValue","getPlotBandsForLongTrendPeriods","bands","detailsData","toISOString","mouseover","svgElem","attr","mouseout","getPlotBandsForCompareLongTrendPeriods","orderedLongTrendPeriods","minStartLongTrend","maxEndLongTrend","getDataSeriesForLongTrendPeriods","longTrendData","lineWidth","getPlotLineForVesselEvent","html","label","rotation","useHTML","getPlotLinesForVesselEvents","lines","getBenefitPlotLineForVesselEvent","getPlotLineForVoyageEvent","occuredAt","eventName","getDefaultGenericPieChartOptions","pieSlices","plotBackgroundColor","plotBorderWidth","plotShadow","pointFormat","pie","allowPointSelect","cursor","dataLabels","colorByPoint","plotLineDateSelectMousedown","pointer","normalize","toValue","chartX","removePlotLine","addPlotLine","plotLineDateSelectCancel","getRegressionSerie","defaultSerie","isRegressionLine","showInLegend","merge","getScatterDataSerie","symbol","addExporting","curveMode","referenceCurveDataPoints","xAxisLogVariable","yAxisLogVariable","forceTonDayUnit","chartInfo","xAxisVariable","yAxisVariable","referenceCurveRegressionData","curvePredictionHelper","referenceCurveSerieData","referenceCurveSerie","highchartsHelper","XMin","XMax","extendedReferenceCurveSerieData","extendedReferenceCurveSerie","dashStyle","linkedTo","curveDataSerie","yAxisUnitCaption","layout","align","verticalAlign","borderWidth","highchartsOptions","selectedCurve","availableVariables","curveDataPoints","graphSeries","curveDataArray","curveDataStatistics","curveDataXMin","curveDataXMax","referenceCurveXMin","referenceCurveXMax","curveRegressionData","xAxisLogVariableId","yAxisLogVariableId","availableVariable","partitionedForOutliers","filteredDataPoints","outliers","outliersSerie","bestFitSerieData","predictionsSerieData","predictedDataArray","standardError","bestFitSerie","predictionsSerie","useHtml","formatter","getTooltipText","chartBinding","processedXData","processedYData","referenceCurveDataPointsBinding","setData","curvePredictionUpdatedBinding","pointX","pointY","isValidPoint","seriesName","predictionSerieName","predictedSerie","predictionSerieColor","addSeries","curvePoint","xAxisTitle","axisTitle","textStr","yAxisTitle","timePeriod","variableDataList","formatedStartDate","formatedEndDate","variableDataElement","isYAxis","average","timePeriods","sumOfActualFuelConsumption","sum","cpModule","actualFuelConsumption","sumOfReferenceFuelConsumption","referenceFuelConsumption","sumOfDifferenceInFuelConsumption","differenceBetweenConsumptions","sumOfDistanceTravelled","distanceTravelled","curveData","inputValue","prediction","isInputValid","predictions","predictionText","inputValueBinding","predictionPoint","removePoint","indexOfCurvePoint","CurveVM","sortedPredictions","addPredictions","isPredictedValueOutlier","predictedValue","hasAnyPredictedOutliers","addPoint","floatValue","pointExists","loaderText","loaderTextBinding","pieChartOptions","FuelConsumptionsByFuelType","flowMeterFuelConsumptions","actualFuelConsumptionInTon","fuelConsumptions","fuelConsumptionsByFuelTypes","groupedByFuelType","fuelConsumptionsByFuelType","enablePlotLineDateSelect","exportTitle","firstPoint","lastPoint","last","isTimelineData","radius","dateSelectStartedBinding","dateSelectEndedBinding","mousedown","departureVesselEvents","isDeleting","canDelete","vesselEventIndex","departureType","isLeftOk","isRightOk","notifySelect","deleteDeparture","isCreating","inputDate","inputTime","newVesselEvent","inputVesselEventDate","inputVesselEventTime","allowedFromMoment","allowedToMoment","sameTimestampVesselEvent","vesselEventTimestampMoment","isSame","leftOfTimestampVesselEventIndex","findLastIndex","leftOfTimestampVesselEvent","rightOfTimestampVesselEvent","getFlowMeterFuelConsumptionSourcePercent","vesselEventDurationInSeconds","flowMeterFuelConsumptionDurationInSeconds","countCorrectedValues","hasCorrectedValue","isVoyageInformationConfirmed","isVoyageDataConfirmed","distance","distanceSailed","hasCorrectedDistance","manualDistanceByGPS","totalDistanceByGPS","loggedDistanceByGPS","estimatedDistanceByGPS","currentDistance","flowMeterFuelConsumptionManualEstimatePercent","flowMeterFuelConsumptionRegressionPercent","flowMeterFuelConsumptionManualPercent","flowMeterFuelConsumptionLogDataPercent","missingFlowMeterFuelConsumptionPercent","roundedMissingFuelConsumptionPercent","missingDistancePercent","hasCorrectedTotalDistanceSailed","loggedDistanceByGPSPercent","estimatedDistanceByGPSPercent","roundedMissingDistancePercent","flowMeterFuelConsumptionPieSlices","distancePieSlices","hasMissingFlowMeterFuelConsumption","isStartOfVoyage","hasMissingDistance","validateVoyageDetails","isEndOfVoyage","validationErrorMessages","validatePortDetails","port","voyageValidationErrorMessages","portValidationErrorMessages","hasCompleteInformation","vesselEventSelectedBinding","canUnconfirm","previousDeparture","isPreviousDepartureLocked","informationConfirmedAt","isEndOfVoyageAndLocked","isConfirming","isUnconfirming","isLoadingFlowMeterFuelConsumptions","loadFlowMeterFuelConsumptions","isVoyageInformationConfirmedBinding","removeAll","activeOrInUseFlowMeters","isActive","isInUse","thisVesselEventIndex","previousVesselEventIndex","nextVesselEventIndex","departureIndex","flowMeterFuelConsumptionUpdatedBinding","updatedFuelConsumption","oldFuelConsumption","flowMeterFuelConsumptionDeletedBinding","deletedFuelConsumption","voyageVesselEventData","VoyageVesselEventData","unconfirm","deleteVesselEvent","flowMeterFuelConsumptionsClient","fuelTanks","isConfirmingVoyageInformation","isUnconfirmingVoyageInformation","isConfirmingVoyageData","isUnconfirmingVoyageData","isSendingEmissionReportToDnvGl","departureTimestampMoment","hasVeracityKey","hasEsgFeature","voyageVesselEvents","initVoyageVesselEvents","VoyageVesselEvent","newVoyageVesselEvent","selectedVoyageVesselEvent","deletedVoyageVesselEvent","isLoadingVoyageVesselEvents","loadUpdatedVoyageVesselEvents","isVoyageVesselEventsConfirmed","endOfVoyageVesselEvent","arrivalVoyageVesselEvent","departureVoyageVesselEvent","voyageVesselEventsByTimestampDescending","vesselEventTypesCount","groupedByType","requireEndBunkering","requireEndAnchoring","requireEndDrifting","requireStartBunkering","requireStartAnchoring","requireStartDrifting","canConfirmVoyageInformation","departureHasCompleteInformation","canConfirmVoyageData","hasMissingFlowMeterFuelConsumptionOrDistance","isMrvVoyage","isMrvPort","downloadEmissionReportUrl","downloadImoEmissionReportUrl","downloadDnvGlEmissionReportUrl","tabs","showDistanceAndFuelTabs","getNewSelectedTab","previousSelectedTab","initialSelectedTab","selectedTab","tabsBinding","newSelectedTab","selectTab","tab","toggleCollapsed","isCollapsed","toggleEditVoyageInformation","isEditingVoyageInformation","downloadMrvVoyageReport","downloadImoVoyageReport","downloadDnvGlVoyageReport","extraQueryDateHours","newQueryDates","drawPlotLines","voyageVesselEventsBinding","voyageVesselEventUpdatedBinding","plotLine","isCreatingVesselEventType","sortedVoyageVesselEvents","sortedVesselEvents","eventType","allowedFromVesselEventIndex","allowedFromVesselEvent","leftEventType","rightEventType","startCreatingVesselEvent","startCreatingDeparture","startCreatingArrival","startCreatingStartBunkering","startCreatingEndBunkering","startCreatingStartAnchoring","startCreatingEndAnchoring","startCreatingStartDrifting","startCreatingEndDrifting","cancelCreatingVesselEvent","createVesselEvent","requireAllCargoDetailsCreated","isAllCargoDetailsCreated","getVoyageVesselEventCargoDetails","vesselCargoUnits","cargoUnitIdsInUse","vesselCargoUnitIds","activeOrInUseCargoUnits","VoyageVesselEventCargoDetail","isAllCargoDetailsCreatedOutput","voyageVesselEventCargoDetails","isLoadingCargoDetails","forceShowCargoDetails","voyageVesselEventCargoDetail","showCargoDetails","createdCargoDetails","vesselEventCargoDetailDeletedBinding","isAllCargoDetailsCreatedBinding","toggleForceShowCargoDetails","nearestLocation","inputGeoCoordinate","loadingFailed","vesselLocations","queryFromDate","queryToDate","vesselEventTimestamp","vesselLocationsClient","sortedByNearness","vesselLocation","firstNearestLocation","equallyNearVesselLocations","vesselEventLocation","logDataLocation","vesselEventsClient","fuelTankId","fuelTankOperation","Tab","componentName","selectedFuelTank","isMissingFuelOperations","departureDate","departureVesselEvent","minFuelOperationInputDate","isLoadingFuelTankOperations","fuelTankOperations","selectedFuelTankBinding","newFuelTank","findFuelTankOperations","sortedFuelTankOperations","fuelOperationsQueryDates","fuelTankOperationDeletedBinding","fuelTankOperationCreatedBinding","isMissingFuelOperationsBinding","fuelTankOperationsClient","fuelTankFuelConsumption","fuelTankFuelConsumptionDeleted","fuelTankFuelConsumptions","sortedFuelTankFuelConsumptions","search","fuelTankFuelConsumptionsClient","fuelAdjustmentTooltipText","inputFuelTypeId","inputFuelDensity","inputFuelAdjustmentInTon","inputSulphurContent","newFuelTankOperation","fuelDensity","fuelAdjustmentInTon","sulphurContent","isNewFuelTankOperationValid","minInputDate","minInputTimestampDate","maxInputTimestamp","maxInputTimestampDate","addFuelTankOperation","showFuelAdjustmentTooltip","fuelTankSounding","fuelTankSoundings","inputFuelAmountInTon","inputFuelAmountInCubicMetres","inputFuelTemperatureInDegreesCelcius","newFuelTankSounding","FuelTankId","fuelAmountInTon","fuelAmountInCubicMetres","fuelTemperatureInDegreesCelcius","isNewFuelTankSoundingValid","sortedFuelTankSoundings","maxInputDate","fuelTankSoundingDeletedBinding","sortedFuelTankSoundingsBinding","lastFuelTankSounding","nextSuggestedTimestamp","addFuelTankSounding","fuelTankSoundingsClient","flowMeters","selectedFlowMeter","missingFlowMeterFuelConsumptions","filteredFlowMeterFuelConsumptions","sailingStartAt","sailingEndAt","timeRanges","uniqueTimeRanges","unique","missingTimeRanges","orderedUniqueTimeRanges","missingFlowMeterFuelConsumption","missingTimeRange1","missingTimeRange","missingFuelConsumption","flowMeterFuelConsumptionSource","sortedFlowMeterFuelConsumptions","showNewFlowMeterFuelConsumption","inputConsumptionStartDate","inputConsumptionStartTime","inputConsumptionEndDate","inputConsumptionEndTime","newFlowMeterFuelConsumption","overlappingFlowMeterFuelConsumption","flowMeterFuelConsumptionStartAt","flowMeterFuelConsumptionEndAt","validationErrorMessage","initializeDates","firstMissingFlowMeterFuelConsumptions","missingFlowMeterFuelConsumptionsBinding","addFlowMeterFuelConsumption","cancelNewFlowMeterFuelConsumption","startNewFlowMeterFuelConsumption","flowMeterOperation","flowMeterOperations","inputEstimatedFuelMassFlowRateInTonDay","newFlowMeterOperation","estimatedFuelMassFlowRateInTonDay","isNewFlowMeterOperationValid","sortedFlowMeterOperations","minInputTimestamp","selectedFlowMeterBinding","newFlowMeter","flowMeterOperationDeletedBinding","addFlowMeterOperation","flowMeterOperationsClient","speedLogVariables","isLoadingSpeedLogVariables","expirationDate","viewVeracityKey","editVeracityKey","isAddingCargoUnit","isRemovingCargoUnit","vesselUnwrapped","inputCargoUnitId","inputVesselTypeId","inputIceClassId","vesselTypes","isLoadingVesselTypes","vesselTypesClient","iceClasses","isLoadingIceClasses","iceClassesClient","iceClassId","inputPortOfRegistry","inputHomePort","inputEnergyEfficiencyDesignIndex","energyEfficiencyDesignIndex","inputEstimatedIndexValue","estimatedIndexValue","inputAuxiliaryEnginesPower","auxiliaryEnginesPower","inputMainPropulsionPower","mainPropulsionPower","inputDeadweight","deadweight","inputNetTonnage","netTonnage","inputGrossTonnage","grossTonnage","inputOwnerCompanyName","inputOwnerCompanyAddress","inputOperatorCompanyName","inputOperatorCompanyAddress","inputEmissionsContactPersonName","inputEmissionsContactPersonAddress","inputEmissionsContactPersonPhone","inputEmissionsContactPersonEmail","hasVesselCargoUnits","availableCargoUnits","vesselCargoUnit","fuelTypes","manualFlowMeters","fuelMassFlowRateLogVariableId","hasFlowMeter","hasFuelTank","isMissingTemplateSettings","fuelConsumptionSources","massFlowRateLogVariables","showNewFlowMeter","hasError","isLoadingFuelConsumptionSources","isLoadingMassFlowRateLogVariables","fuelConsumptionSourcesClient","inputFuelConsumptionSources","inputName","inputFuelMassFlowRateLogVariableId","isNewFlowMeterValid","newFlowMeterExists","newFlowMeterName","activeFlowMeter","flowMeterDeletedBinding","hasActiveFlowMeters","availableMassFlowRateLogVariables","inUseFuelMassFlowRateLogVariableId","massFlowRateLogVariable","addFlowMeter","cancelNewFlowMeter","clearNewFlowMeter","startNewFlowMeter","fuelMassFlowRateLogVariableName","showNewFuelTank","isNewFuelTankValid","newFuelTankExists","fuelTankDeletedBinding","hasActiveFuelTanks","newFuelTankName","activeFuelTank","addFuelTank","cancelNewFuelTank","clearNewFuelTank","startNewFuelTank","showNewFuelType","inputShortName","inputCarbonEmissionFactor","newFuelType","carbonEmissionFactor","isNewFuelTypeValid","fuelTypeDeletedBinding","hasActiveFuelTypes","addFuelType","cancelNewFuelType","startNewFuelType","inputType","cancelFunction","successFunction","dialogVisible","helpText","isConfirmButtonEnabled","isTextInputVisible","successButtonText","isConfirmButtonDisabled","valueBinding","errorValue","isTabSelected","updateMenuTab","FeaturesClient","dataReceiver","features","getFeatures","getDataReceiverEvent","isVesselEmpty","isImoNumberTaken","companyContainsVesselWithImoNumber","selectedCompany","assignedVessel","isImoNumberInCompany","featuresClient","displayAssignError","assignError","companySubscription","companyContainVesselWithImoNumber","feature","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","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","DateFilterDMYT","toLocaleDateString","hour","minute","DateFilterDMY","Icon","Default","_getIconUrl","mergeOptions","iconRetinaUrl","iconUrl","shadowUrl","prettyLatitude","prettyLongitude","prettyLogVariable","companyNameFilter","koValidation","registerExtenders","messagesOnModified","insertMessages","parseInputAttributes","messageTemplate","decorateInputElement","errorElementClass","ajaxSetup","productionTip","defaultContainer","VueCookies","googleAnalyticsId","isGoogleAnalyticsEnabled","hostnameParts","hostname","subdomain","VueGtag","vuetify","$mount","green","orange","red","blue","gray","gpsUp","UserService","_user","_userExpired","newUserData","daysBeforeDataOutdated","companyName","_vesselGroupsExpired","_vesselGroups","vesselGroupClient","refreshVesselGroups","_trendEventTypes","_infoEvents","_trendEvents","VesselEventsClient","concat","category","vesselCategoryId","getParentId","table","getDataValues","parentId","getCurveDataValues","getCpModuleValues","getDeviationFromReferenceYAxis","getAverageValueOfVariable","updateSortIcons","otherIcons","getElementsByClassName","curveTableSort","dataValues","disabled","isWidgetFromDateModalActive","$refs","menuFromDate","isWidgetFromTimeModalActive","menuFromTime","isWidgetToDateModalActive","menuToDate","isWidgetToTimeModalActive","menuToTime","syncWidgetDateRange","setSyncWidgetDateRange","VDatePicker","VTimePicker","_currentVessel","_vessels","_extendedVessels","_vesselTypes","_extendedVesselsExpired","_vesselsLoadingState","_currentVesselLoading","currentVesselIndex","types","vesselPerformance","created","draftMeanErrorMessage","imoNumberErrorMessage","nameErrorMessage","isImoNumberValid","isDraftValid","isNameValid","getCompany","formattedImoNumber","formattedNumber","formattedCreatedDate","formattedLastExportDate","isVesselValid","nameBinding","getNameErrorMessage","validateField","imoNumberBinding","getImoNumberErrorMessage","draftMeanBinding","getDraftMeanErrorMessage","errorMessageObservable","fieldValidationObservable","getVessel","existingVessel","draftErrorMessage","imonNumberErrorMessage","doneCallback","archive","reactivate","updateDataReceiver","newIsDataReceiver","actionName","confirmResult","inputManualDistanceByGPS","setInitialInputManualDistanceByGPS","distanceBinding","isNegativeXValueAllowed","isNegativeYValueAllowed","dataPoint","isXValid","isYValid","secondsToMinutes","seconds","secondsToHours","secondsToDays","daysToHours","VesselFilesClient","fileId","getFileUrl","$_vesselLongTrends","updatedLongTrend","contactName","contactPhone","contactEmail","dcMasterDataCompanyId","getOriginalCompany","companyOnCreatedBinding","newCompany","companyOnUpdatedBinding","oldCompany","updatedCompany","companyOnRemovedBinding","removedCompany","CompanyListVM","companyViewBinding","CompanyVM","companyViewAsBinding","viewAsCompany","companyEditBinding","companyAddBinding","companyDeleteBinding","createCompany","removeCompany","editCompany","isCurrentUserInCompany","VesselDataWidgetClient","vesselDataWidgetConfiguration","vesselDataWidgetConfigId","_vesselDataWidgetConfigsExpired","_vesselDataWidgetConfigs","vesselDataWidgetConfigs","configIndex","vesselDataWidgetClient","tableWidgetId","vesselDataWidgetConfig","configurationName","createdVesselDataWidgetConfig","loCode","inputPortName","inputPortIsMrvPort","inputLoCode","isFindingPorts","foundPorts","findPortsTimeout","inputPortNameSubscription","portName","findPorts","selectFoundPort","portsClient","icons","ok","iconSize","popupAnchor","observe","notok","benchmarking","previousPosition","getIcon","vLocation","latSplitted","longSplitted","latDegrees","longDegrees","latRangeOk","longRangeOk","locationAvailable","popup","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","weight","opacity","createPolylinesForMapWidget"],"mappings":"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","file":"js/app.8f08e7b8.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-00113e66\":\"8953a0c4\",\"chunk-2d2101f0\":\"5e29166c\",\"chunk-34ee4e86\":\"f2add50e\",\"chunk-0189eb8b\":\"684506d5\",\"chunk-02169837\":\"a39b552c\",\"chunk-07965cde\":\"f910576c\",\"chunk-0c5945f8\":\"7278e82a\",\"chunk-13c99e7d\":\"4012ecc5\",\"chunk-15f26592\":\"9d667560\",\"chunk-2133958b\":\"60fe568d\",\"chunk-2c2e7204\":\"a2e175f0\",\"chunk-57012571\":\"d4bab72e\",\"chunk-2d0a516c\":\"b7266503\",\"chunk-2d0aa253\":\"d4c4e199\",\"chunk-2d0b5a52\":\"f7cb7146\",\"chunk-2d0bff1f\":\"8bad1f67\",\"chunk-2d0cc426\":\"ad2d0be1\",\"chunk-2d0e4eac\":\"66af751b\",\"chunk-2d2375db\":\"ff1a3040\",\"chunk-361ed600\":\"1c2b7e55\",\"chunk-3e76bbfe\":\"d0414165\",\"chunk-509600ac\":\"4c17235b\",\"chunk-510d4593\":\"90236d82\",\"chunk-032a2cb7\":\"52d5fd87\",\"chunk-05838efe\":\"db15fed5\",\"chunk-73e944a3\":\"e4dc25f8\",\"chunk-51c10b9f\":\"ffe3bbeb\",\"chunk-abc17664\":\"4deafb5f\",\"chunk-c5ed78f0\":\"10fa4554\",\"chunk-f29b6fec\":\"a82c7ed5\",\"chunk-6e33e60e\":\"ac15cf8a\",\"chunk-7ec35439\":\"d1f82b9f\",\"chunk-ffdace6a\":\"74c8f0f8\",\"chunk-8b360a50\":\"52feeb0e\",\"chunk-51d51234\":\"4c550de3\",\"chunk-595fff92\":\"5af9c776\",\"chunk-59a58171\":\"6e1bbbf8\",\"chunk-63ebab7c\":\"c84e9dd2\",\"chunk-67bba793\":\"80de8107\",\"chunk-690b2e57\":\"1200ec7e\",\"chunk-6b44643c\":\"ae18d768\",\"chunk-6bb13978\":\"75044c0d\",\"chunk-77f21870\":\"dfaa6e13\",\"chunk-781a025e\":\"5a6da341\",\"chunk-7b693b64\":\"485fe062\",\"chunk-2d0de5b1\":\"90602688\"}[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-00113e66\":1,\"chunk-34ee4e86\":1,\"chunk-0189eb8b\":1,\"chunk-02169837\":1,\"chunk-07965cde\":1,\"chunk-0c5945f8\":1,\"chunk-13c99e7d\":1,\"chunk-15f26592\":1,\"chunk-2133958b\":1,\"chunk-2c2e7204\":1,\"chunk-57012571\":1,\"chunk-361ed600\":1,\"chunk-3e76bbfe\":1,\"chunk-509600ac\":1,\"chunk-510d4593\":1,\"chunk-032a2cb7\":1,\"chunk-05838efe\":1,\"chunk-73e944a3\":1,\"chunk-51c10b9f\":1,\"chunk-abc17664\":1,\"chunk-c5ed78f0\":1,\"chunk-f29b6fec\":1,\"chunk-6e33e60e\":1,\"chunk-7ec35439\":1,\"chunk-ffdace6a\":1,\"chunk-8b360a50\":1,\"chunk-51d51234\":1,\"chunk-595fff92\":1,\"chunk-63ebab7c\":1,\"chunk-67bba793\":1,\"chunk-690b2e57\":1,\"chunk-6b44643c\":1,\"chunk-7b693b64\":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-00113e66\":\"64b0ddd4\",\"chunk-2d2101f0\":\"31d6cfe0\",\"chunk-34ee4e86\":\"a0ce1b8e\",\"chunk-0189eb8b\":\"cc6c122b\",\"chunk-02169837\":\"f94b51fb\",\"chunk-07965cde\":\"f7faed40\",\"chunk-0c5945f8\":\"a2c89e0c\",\"chunk-13c99e7d\":\"9210acc5\",\"chunk-15f26592\":\"09976937\",\"chunk-2133958b\":\"70d3f77e\",\"chunk-2c2e7204\":\"5d55befd\",\"chunk-57012571\":\"4b2c2bf3\",\"chunk-2d0a516c\":\"31d6cfe0\",\"chunk-2d0aa253\":\"31d6cfe0\",\"chunk-2d0b5a52\":\"31d6cfe0\",\"chunk-2d0bff1f\":\"31d6cfe0\",\"chunk-2d0cc426\":\"31d6cfe0\",\"chunk-2d0e4eac\":\"31d6cfe0\",\"chunk-2d2375db\":\"31d6cfe0\",\"chunk-361ed600\":\"8eba09ca\",\"chunk-3e76bbfe\":\"fef32d2e\",\"chunk-509600ac\":\"9b3416f1\",\"chunk-510d4593\":\"74a66b7e\",\"chunk-032a2cb7\":\"c0613fc6\",\"chunk-05838efe\":\"2544f2a6\",\"chunk-73e944a3\":\"46b3c568\",\"chunk-51c10b9f\":\"4537cffa\",\"chunk-abc17664\":\"2cb2fc0c\",\"chunk-c5ed78f0\":\"5dcae880\",\"chunk-f29b6fec\":\"b0e43029\",\"chunk-6e33e60e\":\"999a57d0\",\"chunk-7ec35439\":\"5ad8555b\",\"chunk-ffdace6a\":\"2b239966\",\"chunk-8b360a50\":\"3c513161\",\"chunk-51d51234\":\"ea7720b6\",\"chunk-595fff92\":\"d6fcd9cd\",\"chunk-59a58171\":\"31d6cfe0\",\"chunk-63ebab7c\":\"3ca39d56\",\"chunk-67bba793\":\"0c6b19ae\",\"chunk-690b2e57\":\"f94b51fb\",\"chunk-6b44643c\":\"32791de6\",\"chunk-6bb13978\":\"31d6cfe0\",\"chunk-77f21870\":\"31d6cfe0\",\"chunk-781a025e\":\"31d6cfe0\",\"chunk-7b693b64\":\"dfbc52d7\",\"chunk-2d0de5b1\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","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.41ae4cd6.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 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\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 Snackbar,\r\n Cii,\r\n Shapoli,\r\n ISO19030,\r\n Channels,\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',{attrs:{\"dark\":\"\",\"dense\":\"\",\"color\":\"primary\"}},[_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',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.close()}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"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\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=fa2e2880&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=fa2e2880&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 \"fa2e2880\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VDialog,VIcon,VRadio,VRadioGroup,VSpacer,VTextField,VToolbar,VToolbarTitle,VTooltip})\n","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport client from \"Clients/users-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function (model, users) {\r\n var self = this;\r\n self.original = undefined;\r\n self.list = users;\r\n\r\n self.userId = ko.observable();\r\n self.userName = ko.observable().extend({\r\n required: true,\r\n email: true,\r\n validation: {\r\n async: true,\r\n validator: function (val, params, callback) {\r\n if ((self.original != null) && (stringHelper.equalsIgnoreCase(val, self.original.email))) {\r\n // Same as \"original name\".\r\n callback(true);\r\n } else {\r\n callback(!self.list.exists(val));\r\n }\r\n },\r\n message: \"A user with that email already exists.\",\r\n },\r\n });\r\n self.name = ko.observable().extend({ required: true });\r\n self.title = ko.observable().extend({ required: true });\r\n self.phoneNumber = ko.observable();\r\n self.apiKey = ko.observable();\r\n self.role = ko.observable();\r\n self.kognifaiTenantId = ko.observable();\r\n self.kognifaiClientId = ko.observable();\r\n self.kognifaiClientSecret = ko.observable();\r\n\r\n self.setModel(model);\r\n\r\n //For accessing validation from the parent component to for example enable/disable \"create/save\" button.\r\n self.errors = ko.validation.group(self);\r\n self.isValid = ko.computed(function () {\r\n return self.errors().length === 0;\r\n });\r\n\r\n self.isNewUser = ko.pureComputed(function () {\r\n var userId = self.userId();\r\n return userId == null || userId === \"00000000-0000-0000-0000-000000000000\";\r\n });\r\n};\r\n\r\nViewModel.prototype.setModel = function (model) {\r\n var self = this;\r\n self.original = model;\r\n\r\n if (model) {\r\n // Edit mode\r\n self.userId(model.id);\r\n self.userName(model.email);\r\n self.name(model.name);\r\n self.title(model.title);\r\n self.phoneNumber(model.phoneNumber);\r\n self.apiKey(model.apiKey);\r\n self.role(model.role);\r\n self.kognifaiTenantId(model.kognifaiTenantId);\r\n self.kognifaiClientId(model.kognifaiClientId);\r\n self.kognifaiClientSecret(model.kognifaiClientSecret);\r\n } else {\r\n // \"New\" mode\r\n self.userId(undefined);\r\n self.userName(undefined);\r\n self.name(undefined);\r\n self.title(undefined);\r\n self.phoneNumber(undefined);\r\n self.apiKey(undefined);\r\n self.role(undefined);\r\n self.kognifaiTenantId(undefined);\r\n self.kognifaiClientId(undefined);\r\n self.kognifaiClientSecret(undefined);\r\n }\r\n};\r\n\r\nViewModel.prototype.getOriginalUser = function () {\r\n return this.original;\r\n};\r\n\r\nViewModel.prototype.save = function () {\r\n var self = this;\r\n var user = _.clone(self.original) || {};\r\n\r\n user.name = self.name();\r\n user.title = self.title();\r\n user.phoneNumber = self.phoneNumber();\r\n user.role = self.role();\r\n user.kognifaiTenantId = self.kognifaiTenantId();\r\n user.kognifaiClientId = self.kognifaiClientId();\r\n user.kognifaiClientSecret = self.kognifaiClientSecret();\r\n\r\n var promise;\r\n if (self.isNewUser()) {\r\n user.email = self.userName();\r\n promise = client.add(user);\r\n } else {\r\n promise = client.update(user);\r\n }\r\n promise.done(function (data) {\r\n self.setModel(data);\r\n });\r\n return promise;\r\n};\r\n\r\nViewModel.prototype.remove = function () {\r\n return client.remove(this.original);\r\n};\r\n\r\nViewModel.prototype.generateApiKey = function () {\r\n var self = this;\r\n var userId = self.userId();\r\n\r\n var promise = client.generateApiKey(userId);\r\n promise.done(function (apiKey) {\r\n self.original.apiKey = apiKey;\r\n self.apiKey(apiKey);\r\n });\r\n return promise;\r\n};\r\n\r\nViewModel.prototype.clearApiKey = function () {\r\n var self = this;\r\n var userId = self.userId();\r\n\r\n var promise = client.clearApiKey(userId);\r\n promise.done(function () {\r\n var apiKey = \"\";\r\n self.original.apiKey = apiKey;\r\n self.apiKey(apiKey);\r\n });\r\n return promise;\r\n};\r\n\r\nexport default ViewModel;","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport client from \"Clients/users-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function () {\r\n var self = this;\r\n self.list = ko.observableArray([]);\r\n self.isLoading = ko.observable(false);\r\n\r\n self.load();\r\n\r\n self.onCreatedBinding = events.userOnCreated.add(function (newItem) {\r\n self.list.push(newItem);\r\n });\r\n\r\n self.onUpdatedBinding = events.userOnUpdated.add(function (oldItem, updatedItem) {\r\n self.list.remove(function (item) {\r\n return item.id === oldItem.id;\r\n });\r\n self.list.push(updatedItem);\r\n });\r\n\r\n self.onRemovedBinding = events.userOnRemoved.add(function (removedItem) {\r\n self.list.remove(function (item) {\r\n return item.id === removedItem.id;\r\n });\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.onUpdatedBinding.detach();\r\n this.onCreatedBinding.detach();\r\n this.onRemovedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.load = function () {\r\n var self = this;\r\n self.list([]);\r\n self.isLoading(true);\r\n\r\n client.getAll().done(function (data) {\r\n self.list(data);\r\n }).always(function () {\r\n self.isLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.getList = function () {\r\n return this.list;\r\n};\r\n\r\nViewModel.prototype.isLoading = function () {\r\n return this.isLoading;\r\n};\r\n\r\nViewModel.prototype.exists = function (userName) {\r\n var match = _.find(this.list(), function (o) {\r\n return stringHelper.equalsIgnoreCase(userName, o.email);\r\n });\r\n\r\n return match !== undefined;\r\n};\r\n\r\nexport default ViewModel;","import template from \"./users.html\";\r\nimport ko from \"knockout\";\r\nimport koValidation from \"knockout.validation\";\r\nimport events from \"App/events\";\r\nimport UserVM from \"ViewModels/user/user\";\r\nimport UsersVM from \"ViewModels/user/userList\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n\r\n self.viewModel = null;\r\n self.dialogState = ko.observable(\"\");\r\n self.users = new UsersVM();\r\n\r\n self.error = ko.observable();\r\n\r\n self.viewBinding = events.userView.add(function (user) {\r\n self.clearError();\r\n self.viewModel = new UserVM(user);\r\n self.dialogState(\"VIEW\");\r\n });\r\n\r\n self.editBinding = events.userEdit.add(function (user) {\r\n self.clearError();\r\n self.viewModel = new UserVM(user, self.users);\r\n self.dialogState(\"EDIT\");\r\n });\r\n\r\n self.addBinding = events.userAdd.add(function () {\r\n self.clearError();\r\n self.viewModel = new UserVM(null, self.users);\r\n self.dialogState(\"ADD\");\r\n });\r\n\r\n self.apiKeyBinding = events.userManageApiKey.add(function (user) {\r\n self.clearError();\r\n self.viewModel = new UserVM(user, self.users);\r\n self.dialogState(\"API\");\r\n });\r\n\r\n self.deleteBinding = events.userDelete.add(function (user) {\r\n self.clearError();\r\n self.viewModel = new UserVM(user);\r\n self.dialogState(\"REMOVE\");\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.viewBinding.detach();\r\n this.editBinding.detach();\r\n this.deleteBinding.detach();\r\n this.addBinding.detach();\r\n this.apiKeyBinding.detach();\r\n};\r\n\r\nViewModel.prototype.createUser = function () {\r\n var self = this;\r\n\r\n self.viewModel.save().done(function (newUser) {\r\n events.userOnCreated.dispatch(newUser);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n if (error.status === 409) {\r\n events.userOnCreatedAlreadyExist.dispatch();\r\n } else {\r\n events.userOnCreatedFailed.dispatch();\r\n }\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.removeUser = function () {\r\n var self = this;\r\n var user = self.viewModel.getOriginalUser();\r\n self.viewModel.remove()\r\n .done(function() {\r\n events.userOnRemoved.dispatch(user);\r\n self.closeDialog();\r\n })\r\n .fail(function(error) {\r\n events.userOnFailed.dispatch(error);\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.editUser = function () {\r\n var self = this;\r\n var originalUser = self.viewModel.getOriginalUser();\r\n self.viewModel.save().done(function (updatedUser) {\r\n events.userOnUpdated.dispatch(originalUser, updatedUser);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n events.userOnFailed.dispatch(error);\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.closeDialog = function () {\r\n this.dialogState(\"\");\r\n};\r\n\r\nViewModel.prototype.clearError = function () {\r\n this.error(null);\r\n};\r\n\r\nViewModel.prototype.handleError = function (error) {\r\n if (error && error.responseJSON && error.responseJSON.message) {\r\n this.error(error.responseJSON.message);\r\n } else {\r\n this.error(\"An error occured. See log for more details.\");\r\n }\r\n console.error(error);\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import router from \"@/router\";\r\nimport { FormattedError } from \"@/types/formattedError\";\r\nclass Utilities {\r\n\r\n /**\r\n * Clicking local urls from within static html/knockout templates are intercepted and handled by vue router\r\n * @param {Event} e mouse or keyboard event\r\n */\r\n public interceptLocalUrl(e: any): void {\r\n let target = e.target;\r\n //return if target was not a link-element\r\n if (target.tagName !== \"A\") {\r\n //clicking a link with more elements inside\r\n if (target.parentElement?.tagName == \"A\") {\r\n target = target.parentElement;\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n const url: string = target.getAttribute(\"href\");\r\n //return if url was not relative or if it was a local anchor\r\n if (url.indexOf(\"://\") > 0 || url.startsWith(\"#\"))\r\n return;\r\n\r\n //return if we are already on the url path\r\n if (router.currentRoute.path === url)\r\n return;\r\n\r\n //at this point we should be at a non-vue local link. Abort browser routing and use vue router\r\n e.preventDefault();\r\n e.stopPropagation();\r\n router.push({ path: url });\r\n }\r\n\r\n /* returns formattedError object containing title (string) and messages (Array)\r\n There can be multiple properties within responseJSON.modelState, each containing an array of messages\r\n This function extracts all the messages into a flattened array*/\r\n public formatError(error: any): FormattedError {\r\n let title;\r\n let messages: any = [];\r\n\r\n if (error.responseJSON) {\r\n title = error.responseJSON.message;\r\n messages = Object.values(error.responseJSON.modelState).flat();\r\n } else {\r\n title = error.statusText;\r\n }\r\n\r\n const formattedError: FormattedError = {\r\n title,\r\n messages,\r\n };\r\n\r\n return formattedError;\r\n }\r\n\r\n}\r\n\r\nexport default new Utilities();\r\n","import net from \"App/net\";\r\nimport events from \"App/events\";\r\n\r\nfunction vesselEventUpdatedCallback(vesselEvent) {\r\n events.vesselEventUpdated.dispatch(vesselEvent);\r\n}\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n\r\n return net.get(\"/EmissionReportVesselEvents/Find\", filter);\r\n};\r\n\r\nClient.prototype.findVoyageVesselEvents = function(vesselId, departureId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n departureId: departureId,\r\n };\r\n\r\n return net.get(\"/EmissionReportVesselEvents/FindVoyageVesselEvents\", filter);\r\n};\r\n\r\nClient.prototype.create = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents\", vesselEvent).done(function(data) {\r\n events.vesselEventCreated.dispatch(data);\r\n });\r\n};\r\n\r\nClient.prototype.update = function(vesselEvent) {\r\n return net.put(\"/EmissionReportVesselEvents/\" + vesselEvent.id, vesselEvent).done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.confirmVoyageInformation = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/ConfirmVoyageInformation\").done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.unconfirmVoyageInformation = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/UnconfirmVoyageInformation\").done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.confirmVoyageData = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/ConfirmVoyageData\").done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.unconfirmVoyageData = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/UnconfirmVoyageData\").done(vesselEventUpdatedCallback);\r\n};\r\n\r\nClient.prototype.sendEmissionReportToDnvGl = function(vesselEvent) {\r\n return net.post(\"/EmissionReportVesselEvents/\" + vesselEvent.id + \"/UploadDnvGlVoyageData\");\r\n};\r\n\r\nClient.prototype.remove = function(vesselEvent) {\r\n return net.del(\"/EmissionReportVesselEvents/\" + vesselEvent.id).done(function() {\r\n events.vesselEventDeleted.dispatch(vesselEvent);\r\n });\r\n};\r\n\r\nexport default new Client();","import net from \"App/net\";\r\n\r\nvar PerformanceStatusWidgetClient = function () {\r\n\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.getAll = function () {\r\n return net.get(\"/PerformanceStatusWidgetConfiguration\");\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.get = function (id) {\r\n return net.get(\"PerformanceStatusWidgetConfiguration/\" + id);\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.new = function (perfStatWidgetConfiguration) {\r\n return net.post(\"/PerformanceStatusWidgetConfiguration\", perfStatWidgetConfiguration);\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.update = function (perfStatWidgetConfiguration) {\r\n return net.put(\"/PerformanceStatusWidgetConfiguration\", perfStatWidgetConfiguration);\r\n};\r\n\r\nPerformanceStatusWidgetClient.prototype.delete = function (perfStatWidgetConfigId) {\r\n return net.del(\"/PerformanceStatusWidgetConfiguration/\" + perfStatWidgetConfigId);\r\n};\r\n\r\nexport default new PerformanceStatusWidgetClient();","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport performanceStatusWidgetClient from \"Clients/performance-status-widget-client\";\r\nimport { PerformanceStatusConfig } from \"@/types/widgetPerformanceStatus\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"PerformanceStatusWidget\" })\r\nclass PerformanceStatusWidget extends VuexModule {\r\n private _configsExpired = true;\r\n private _configs: PerformanceStatusConfig[] = [];\r\n\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIGS(configs: PerformanceStatusConfig[]): void {\r\n this._configs = configs;\r\n this._configsExpired = false;\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIG(config: PerformanceStatusConfig): void {\r\n const index = this._configs.findIndex(savedConfig => savedConfig.id === config.id);\r\n\r\n if (index >= 0) {\r\n this._configs[index] = config;\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET_CONFIG(config: PerformanceStatusConfig): void {\r\n this._configs.push(config);\r\n this._configsExpired = true;\r\n }\r\n\r\n @Mutation\r\n public DELETE_WIDGET_CONFIG(id: number): void {\r\n const index = this._configs.findIndex(config => config.id === id);\r\n\r\n if (index >= 0) {\r\n this._configs.splice(index, 1);\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshConfigs(): Promise {\r\n try {\r\n const configs: PerformanceStatusConfig[] = await performanceStatusWidgetClient.getAll();\r\n this.context.commit(\"SET_WIDGET_CONFIGS\", configs);\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateConfig(config: PerformanceStatusConfig): Promise {\r\n try {\r\n await performanceStatusWidgetClient.update(config);\r\n this.context.commit(\"SET_WIDGET_CONFIG\", config);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async addNewConfig(): Promise {\r\n const emptyConfig = { vessels: [] };\r\n\r\n try {\r\n const createdConfig = await performanceStatusWidgetClient.new(emptyConfig);\r\n this.context.commit(\"ADD_WIDGET_CONFIG\", createdConfig);\r\n return createdConfig;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteWidgetConfig(id: number): Promise {\r\n try {\r\n await performanceStatusWidgetClient.delete(id);\r\n this.context.commit(\"DELETE_WIDGET_CONFIG\", id);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getConfigById(id: number): Promise {\r\n if (this._configsExpired) {\r\n await this.context.dispatch(\"refreshConfigs\");\r\n }\r\n\r\n const config = this._configs.find(config => config.id === id);\r\n\r\n if (config) {\r\n for (let i = 0; i < config.vessels.length; i++) {\r\n const vessel = await this.context.dispatch(\"Vessels/get\", config.vessels[i].id, { root: true });\r\n if (vessel) config.vessels[i] = vessel;\r\n }\r\n\r\n return config;\r\n }\r\n\r\n const sharedConfig: PerformanceStatusConfig = await performanceStatusWidgetClient.get(id);\r\n if (sharedConfig) {\r\n for (let i = 0; i < sharedConfig.vessels.length; i++) {\r\n sharedConfig.vessels[i] = await this.context.dispatch(\"Vessels/get\", sharedConfig.vessels[i].id, { root: true });\r\n }\r\n\r\n return sharedConfig;\r\n }\r\n\r\n else throw ({ message: \"Could not find config\" });\r\n }\r\n\r\n get configs(): PerformanceStatusConfig[] {\r\n return this._configs;\r\n }\r\n\r\n get configsExpired(): boolean {\r\n return this._configsExpired;\r\n }\r\n}\r\n\r\nexport default PerformanceStatusWidget;\r\n","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
TimestampFuel
amount (MT)
Fuel
amount (m3)
Tank
temp. (°C)
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\n\r\nko.bindingHandlers.vesselFilesSort = {\r\n init: function (element, valueAccessor, allBindingsAccessor, viewModel) {\r\n var sortColumn = valueAccessor().sortColumn;\r\n var column = valueAccessor().column;\r\n var sortAscending = valueAccessor().sortAscending;\r\n var folders = valueAccessor().folders;\r\n\r\n element.onclick = function () {\r\n sortAscending(!sortAscending());\r\n sortColumn(column);\r\n\r\n var currentSortIcon = $(element).find(\".fileHeaderSort\")[0];\r\n var sortIcons = $(\".filesHeader\").find(\".fa\");\r\n\r\n _.each(sortIcons, function (icon) {\r\n icon.className = \"fileHeaderSort\";\r\n });\r\n\r\n var className = sortAscending() ? \"fa fa-sort-asc \" : \" fa fa-sort-desc\";\r\n currentSortIcon.className = className + \" fileHeaderSort\";\r\n\r\n if (column === \"fileName\") {\r\n var sortedFolders = folders();\r\n\r\n sortedFolders.sort(function (a, b) {\r\n var left = a.folderName().toLowerCase();\r\n var right = b.folderName().toLowerCase();\r\n \r\n if (left < right) return sortAscending() ? -1 : 1;\r\n if (left > right) return sortAscending() ? 1 : -1;\r\n return 0;\r\n });\r\n\r\n folders(sortedFolders);\r\n }\r\n };\r\n },\r\n};","function htmlEncode(text) {\r\n const el = document.createElement('div');\r\n el.innerText = text;\r\n return el.innerHTML;\r\n}\r\n\r\nexport default {\r\n htmlEncode: function (text) {\r\n return htmlEncode(text);\r\n },\r\n};\r\n","import template from \"./compare-vessels.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport longTrendPeriodsClient from \"Clients/long-trend-periods-client\";\r\nimport diagnosticTypesHelper from \"Utilities/diagnostic-types-helper\";\r\n\r\nfunction findDiagnosticLongTrends(vessels) {\r\n var allLongTrends = _.flatten(_.pluck(vessels, \"longTrends\"));\r\n return _.filter(allLongTrends, function (longTrend) {\r\n return longTrend.diagnosticTypeId;\r\n });\r\n}\r\n\r\nfunction findCommonLongTrendNames(longTrends, vesselCount) {\r\n var commonDiagnosticLongTrendNames = [];\r\n var longTrendsGroupedByName = _.groupBy(longTrends, \"name\");\r\n _.each(longTrendsGroupedByName, function (group, name) {\r\n if (group.length === vesselCount) {\r\n commonDiagnosticLongTrendNames.push(name);\r\n }\r\n });\r\n return commonDiagnosticLongTrendNames;\r\n}\r\n\r\nfunction CompareGroup(vessels, longTrendName, longTrends, longTrendPeriods) {\r\n this.vessels = vessels;\r\n this.longTrendName = longTrendName;\r\n this.longTrends = longTrends;\r\n this.longTrendPeriods = longTrendPeriods;\r\n this.sortOrder = diagnosticTypesHelper.getDiagnosticTypeOrder(longTrends[0].diagnosticType);\r\n}\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.vessels = ko.observable(params.vessels);\r\n self.isLoadingLongTrendPeriods = ko.observable(true);\r\n self.longTrendPeriods = ko.observable();\r\n self.compareGroups = ko.observable();\r\n self.selectedCompareGroup = ko.observable();\r\n\r\n self.diagnosticLongTrends = [];\r\n self.commonDiagnosticLongTrendNames = [];\r\n\r\n self.isLoading = ko.pureComputed(function () {\r\n var isLoadingLongTrendPeriods = self.isLoadingLongTrendPeriods();\r\n return isLoadingLongTrendPeriods;\r\n });\r\n\r\n self.vesselsSubscription = self.vessels.subscribe(function (vessels) {\r\n self.diagnosticLongTrends = findDiagnosticLongTrends(vessels);\r\n self.commonDiagnosticLongTrendNames = findCommonLongTrendNames(self.diagnosticLongTrends, vessels.length);\r\n\r\n var allLongTrendIds = [];\r\n _.each(self.commonDiagnosticLongTrendNames, function (longTrendName) {\r\n var commonLongTrends = _.filter(self.diagnosticLongTrends, function (longTrend) {\r\n return longTrend.name === longTrendName;\r\n });\r\n\r\n allLongTrendIds = _.union(allLongTrendIds, _.pluck(commonLongTrends, \"id\"));\r\n });\r\n self.loadLongTrendPeriods(allLongTrendIds);\r\n });\r\n\r\n self.longTrendPeriodsBinding = self.longTrendPeriods.subscribe(function (longTrendPeriods) {\r\n var compareGroups = [];\r\n _.each(self.commonDiagnosticLongTrendNames, function (longTrendName) {\r\n var commonLongTrends = _.filter(self.diagnosticLongTrends, function (longTrend) {\r\n return longTrend.name === longTrendName;\r\n });\r\n var commonLongTrendIds = _.pluck(commonLongTrends, \"id\");\r\n\r\n var commonLongTrendPeriods = _.filter(longTrendPeriods, function (longTrendPeriod) {\r\n return _.contains(commonLongTrendIds, longTrendPeriod.longTrendId);\r\n });\r\n compareGroups.push(new CompareGroup(self.vessels(), longTrendName, commonLongTrends, commonLongTrendPeriods));\r\n });\r\n self.compareGroups(_.sortBy(compareGroups, \"sortOrder\"));\r\n });\r\n\r\n self.compareGroupClickedBinding = events.compareGroupClicked.add(function (compareGroup) {\r\n self.selectedCompareGroup(compareGroup);\r\n });\r\n\r\n self.load();\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.compareGroupClickedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.load = function () {\r\n var self = this;\r\n var vessels = self.vessels();\r\n self.diagnosticLongTrends = findDiagnosticLongTrends(vessels);\r\n self.commonDiagnosticLongTrendNames = findCommonLongTrendNames(self.diagnosticLongTrends, vessels.length);\r\n\r\n var allLongTrendIds = [];\r\n _.each(self.commonDiagnosticLongTrendNames, function (longTrendName) {\r\n var commonLongTrends = _.filter(self.diagnosticLongTrends, function (longTrend) {\r\n return longTrend.name === longTrendName;\r\n });\r\n\r\n allLongTrendIds = _.union(allLongTrendIds, _.pluck(commonLongTrends, \"id\"));\r\n });\r\n self.loadLongTrendPeriods(allLongTrendIds);\r\n};\r\n\r\nViewModel.prototype.deselectCompareGroup = function () {\r\n this.selectedCompareGroup(null);\r\n};\r\n\r\nViewModel.prototype.navigateHome = function () {\r\n events.navigatedHome.dispatch();\r\n};\r\n\r\nViewModel.prototype.loadLongTrendPeriods = function (longTrendIds) {\r\n var self = this;\r\n longTrendPeriodsClient.findMany(longTrendIds).done(function (data) {\r\n self.longTrendPeriods(data);\r\n })\r\n .always(function () {\r\n self.isLoadingLongTrendPeriods(false);\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import stringHelper from \"Utilities/string-helper\";\r\n\r\nfunction formatValueWithCaption(logVariable, value) {\r\n var precision = logVariable != null ? logVariable.displayPrecision : 5;\r\n\r\n var unit = logVariable != null ? logVariable.unit : null;\r\n return addCaption(value, precision, unit);\r\n}\r\n\r\nfunction formatMapLocation(latitude, longitude) {\r\n if (latitude < -90 || latitude > 90) {\r\n latitude = 0;\r\n }\r\n\r\n if (longitude < -180 || longitude > 180) {\r\n longitude = 0;\r\n }\r\n\r\n return latitude.toFixed(5) + \",\" + longitude.toFixed(5);\r\n}\r\n\r\nfunction addCaption(value, displayPrecision, unit) {\r\n var unitCaption = \"\";\r\n\r\n if (unit != null) {\r\n unitCaption = unit.caption != null ? unit.caption : \"\";\r\n }\r\n\r\n return value.toFixed(displayPrecision) + \" \" + unitCaption;\r\n}\r\n\r\nfunction formatLogVariableDisplayName(logVariable, duplicateLogVariableNames) {\r\n var dupLogVariableNamesArray = [];\r\n if (Array.isArray(duplicateLogVariableNames)) {\r\n dupLogVariableNamesArray = duplicateLogVariableNames;\r\n }\r\n if (typeof duplicateLogVariableNames === \"function\") {\r\n // Support for knockout\r\n dupLogVariableNamesArray = duplicateLogVariableNames();\r\n }\r\n var name = logVariable.name;\r\n if (logVariable.onboardSystem && dupLogVariableNamesArray.some(x => x == name)) {\r\n name += ` (${logVariable.onboardSystem})`;\r\n }\r\n return name;\r\n}\r\n\r\nfunction getDuplicateLogVariableNames(logVariables) {\r\n var logVariablesArray = [];\r\n if (Array.isArray(logVariablesArray)) {\r\n logVariablesArray = logVariables;\r\n }\r\n if (typeof logVariables === \"function\") {\r\n // Support for knockout\r\n logVariablesArray = logVariables();\r\n }\r\n if (!logVariablesArray) {\r\n return [];\r\n }\r\n\r\n var countOfNames = logVariablesArray.reduce((acc, curr, idx, arr) => {\r\n if (!acc[curr.name]) {\r\n acc[curr.name] = 0;\r\n }\r\n acc[curr.name]++;\r\n return acc;\r\n }, {});\r\n return Object.entries(countOfNames).filter(([key, value]) => value > 1).map(([key, value]) => key);\r\n}\r\n\r\nexport default {\r\n formatValueWithCaption: function (logVariable, value) {\r\n return formatValueWithCaption(logVariable, value);\r\n },\r\n formatMapLocation: function (latitude, longitude) {\r\n return formatMapLocation(latitude, longitude);\r\n },\r\n formatLogVariableDisplayName: function (logVariable, duplicateLogVariableNames) {\r\n return formatLogVariableDisplayName(logVariable, duplicateLogVariableNames);\r\n },\r\n getDuplicateLogVariableNames: function (logVariables) {\r\n return getDuplicateLogVariableNames(logVariables);\r\n }\r\n};\r\n","import net from \"App/net\";\r\n\r\nclass AuthService {\r\n login(username: string, password: string) {\r\n return net.post(\"/Authenticate\", {\r\n username,\r\n password,\r\n });\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem(\"ACCESS_TOKEN\");\r\n localStorage.removeItem(\"TOKEN_EXPIRY_DATE\");\r\n }\r\n\r\n lostPassword(Email: string) {\r\n return net.post(\"/Account/LostPassword\", {\r\n Email,\r\n });\r\n }\r\n\r\n resetPassword(Username: string, Token: string, Password: string) {\r\n return net.post(\"/Account/ResetPassword\", {\r\n Username,\r\n Token,\r\n Password,\r\n });\r\n }\r\n\r\n changePassword(Username: string, CurrentPassword: string, NewPassword: string) {\r\n return net.post(\"/Account/ChangePassword\", {\r\n Username,\r\n CurrentPassword,\r\n NewPassword,\r\n });\r\n }\r\n\r\n register(username: string, email: string, password: string) {\r\n console.warn(\"TODO: implement signup\");\r\n }\r\n}\r\n\r\nexport default new AuthService();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport AuthService from \"@/services/AuthService\";\r\nimport { Tokens } from \"@/types/tokens\";\r\nimport { LoginData } from \"@/types/loginData\";\r\nimport { ResetPasswordData } from \"@/types/resetPasswordData\";\r\nimport { ChangePasswordData } from \"@/types/changePasswordData\";\r\nimport authHeader from \"@/services/AuthHeader\";\r\n\r\nconst storedAccessToken = localStorage.getItem(\"ACCESS_TOKEN\");\r\nconst storedAccessTokenExpiryDate = localStorage.getItem(\"TOKEN_EXPIRY_DATE\");\r\nlet storedRememberUser = localStorage.getItem(\"REMEMBER_USER\");\r\nif (storedRememberUser) {\r\n storedRememberUser = JSON.parse(storedRememberUser);\r\n}\r\n\r\n@Module({ namespaced: true, name: \"Auth\" })\r\nclass Auth extends VuexModule {\r\n public status = storedAccessToken ? { loggedIn: true } : { loggedIn: false };\r\n public accessToken = storedAccessToken ? storedAccessToken : null;\r\n public accessTokenExpiryDate: string | null = storedAccessTokenExpiryDate ? storedAccessTokenExpiryDate : null;\r\n public _isRefreshing = false;\r\n\r\n @Mutation\r\n public setAccountPersistence(state: boolean): void {\r\n localStorage.setItem(\"REMEMBER_USER\", JSON.stringify(state));\r\n }\r\n\r\n @Mutation\r\n public loginSuccess(tokens: Tokens): void {\r\n this.status.loggedIn = true;\r\n this.accessToken = tokens.access;\r\n this.accessTokenExpiryDate = tokens.expiry;\r\n localStorage.setItem(\"ACCESS_TOKEN\", tokens.access);\r\n localStorage.setItem(\"TOKEN_EXPIRY_DATE\", tokens.expiry);\r\n\r\n this._isRefreshing = false;\r\n }\r\n\r\n @Mutation\r\n public loginFailure(): void {\r\n this.status.loggedIn = false;\r\n this.accessToken = null;\r\n this.accessTokenExpiryDate = null;\r\n this._isRefreshing = false;\r\n }\r\n\r\n @Mutation\r\n public loadingState(state: boolean): void {\r\n this._isRefreshing = state;\r\n\r\n }\r\n\r\n @Mutation\r\n public logout(): void {\r\n this.status.loggedIn = false;\r\n this.accessToken = null;\r\n this.accessTokenExpiryDate = null;\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async login(data: LoginData): Promise {\r\n this.context.commit(\"loadingState\", true);\r\n return await AuthService.login(data.username, data.password).then(\r\n tokens => {\r\n this.context.commit(\"setAccountPersistence\", data.persist);\r\n this.context.commit(\"loginSuccess\", tokens);\r\n return Promise.resolve(tokens);\r\n },\r\n error => {\r\n console.error(error);\r\n this.context.commit(\"loginFailure\");\r\n return Promise.reject(error.responseJSON);\r\n },\r\n );\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async lostPassword(email: string): Promise {\r\n return await AuthService.lostPassword(email).then(\r\n response => {\r\n return Promise.resolve(response);\r\n },\r\n error => {\r\n console.error(error);\r\n return Promise.reject(error);\r\n },\r\n );\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async resetPassword(data: ResetPasswordData): Promise {\r\n return await AuthService.resetPassword(data.username, data.token, data.password).then(\r\n response => {\r\n return Promise.resolve(response);\r\n },\r\n error => {\r\n console.error(error);\r\n return Promise.reject(error);\r\n },\r\n );\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async changePassword(data: ChangePasswordData): Promise {\r\n return await AuthService.changePassword(data.username, data.currentPassword, data.newPassword).then(\r\n response => {\r\n return Promise.resolve(response);\r\n },\r\n error => {\r\n console.error(error);\r\n return Promise.reject(error);\r\n },\r\n );\r\n }\r\n\r\n @Action\r\n public updateTokens(tokens: Tokens): void {\r\n this.context.commit(\"loginSuccess\", tokens);\r\n }\r\n\r\n @Action\r\n public async isTokenValid(): Promise {\r\n const response = await fetch(`${process.env.VUE_APP_API_BASE_URL + \"/Authenticate/TokenCheck\"}`, {\r\n headers: authHeader() as HeadersInit,\r\n });\r\n if (response.status !== 200) return false;\r\n return true;\r\n }\r\n\r\n @Action\r\n public async signOut(): Promise {\r\n await AuthService.logout();\r\n this.context.commit(\"logout\");\r\n this.context.commit(\"User/EXPIRE_USER\", null, { root: true });\r\n }\r\n\r\n get isLoggedIn(): boolean {\r\n return this.status.loggedIn;\r\n }\r\n get isRefreshing(): boolean {\r\n return this._isRefreshing;\r\n }\r\n\r\n get getAccessTokenExpiryDate(): string | null {\r\n return this.accessTokenExpiryDate;\r\n }\r\n\r\n get getAccessToken(): string | null {\r\n return this.accessToken;\r\n }\r\n}\r\n\r\nexport default Auth;\r\n","import template from \"./long-trend-config.html\";\r\nimport ko from \"knockout\";\r\nimport longTrendConfigurationsClient from \"Clients/long-trend-configurations-client\";\r\nimport longTrendsClient from \"Clients/long-trends-client\";\r\nimport vesselsClient from \"@/Scripts/clients/vessels-client\";\r\nimport dateHelper from \"Utilities/date-helper\";\r\nimport store from \"@/store\";\r\nimport { getModule } from \"vuex-module-decorators\";\r\nimport VesselsModule from \"@/store/clients/Vessels.module\";\r\n\r\nconst Vessels = getModule(VesselsModule, store);\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n var vesselId = Vessels.currentVessel.id;\r\n\r\n self.showLastHours = false;\r\n self.showLastMinutes = false;\r\n self.showFromTime = false;\r\n self.showToTime = false;\r\n\r\n self.isVariablesLoading = ko.observable(true);\r\n self.isConfigLoading = ko.observable(true);\r\n self.isVoyagesLoading = ko.observable(true);\r\n self.config = ko.observable();\r\n self.isUpdateConfigurationLoading = ko.observable(false);\r\n self.isUpdateConfigurationError = ko.observable(false);\r\n self.submitError = ko.observable(false);\r\n\r\n self.variables = ko.observable();\r\n self.selectedVariables = ko.observable();\r\n\r\n self.selectedTimePeriod = ko.observable();\r\n self.lastDays = ko.observable();\r\n self.fromDate = ko.observable();\r\n self.toDate = ko.observable();\r\n self.lastPeriodValuesValid = ko.observable(true);\r\n self.voyages = ko.observable();\r\n\r\n self.isLoading = ko.pureComputed(function () {\r\n return self.isConfigLoading() || self.isVoyagesLoading() || self.isVariablesLoading();\r\n });\r\n\r\n self.lastVoyage = ko.pureComputed((function() {\r\n if (self.voyages().length < 1) return null;\r\n\r\n for (let i = self.voyages().length - 1; i >= 0; i--) {\r\n if (self.voyages()[i].startDate !== \"0001-01-01T00:00:00\" && self.voyages()[i].endDate !== \"0001-01-01T00:00:00\") {\r\n return self.voyages()[i];\r\n }\r\n }\r\n\r\n return null;\r\n }));\r\n\r\n self.selectedTimeInMinutes = ko.pureComputed(function () {\r\n var selectedTime = 0;\r\n\r\n if (self.selectedTimePeriod() === \"AllValues\") {\r\n selectedTime = 1;\r\n } else if (self.selectedTimePeriod() === \"LastVoyage\") {\r\n var from = dateHelper.getDateTime(dateHelper.getFormatedDateTimeString(self.lastVoyage().startDate));\r\n var to = dateHelper.getDateTime(dateHelper.getFormatedDateTimeString(self.lastVoyage().endDate));\r\n\r\n selectedTime = to.diff(from, \"minutes\")\r\n } else if (self.selectedTimePeriod() === \"LastPeriod\") {\r\n selectedTime = daysToMinutes(self.lastDays());\r\n } else if (self.selectedTimePeriod() === \"SetPeriod\") {\r\n var from = dateHelper.getDate(self.fromDate());\r\n var to = dateHelper.getDate(self.toDate());\r\n\r\n selectedTime = to.diff(from, \"minutes\");\r\n }\r\n\r\n if (selectedTime <= 0) {\r\n self.submitError(true);\r\n } else {\r\n self.submitError(false);\r\n }\r\n\r\n return selectedTime;\r\n });\r\n\r\n self.updateTimePeriod = function (fromDateTime, toDateTime) {\r\n self.fromDate(dateHelper.getFormatedDateString(fromDateTime));\r\n self.toDate(dateHelper.getFormatedDateString(toDateTime));\r\n self.selectedTimePeriod(\"SetPeriod\");\r\n\r\n self.submit();\r\n };\r\n\r\n self.submit = function () {\r\n var selectedVariables = self.selectedVariables();\r\n var endChar = selectedVariables.charAt(selectedVariables.length - 1);\r\n\r\n if (endChar === \";\") {\r\n selectedVariables = selectedVariables.slice(0, -1);\r\n }\r\n if (self.selectedTimePeriod() === \"LastVoyage\") {\r\n self.fromDate(dateHelper.getFormatedDateString(self.lastVoyage().startDate));\r\n self.toDate(dateHelper.getFormatedDateString(self.lastVoyage().endDate));\r\n }\r\n const config = {\r\n longTrendIds: selectedVariables,\r\n fromDateTime: dateHelper.getSubmitDateString(self.fromDate(), \"00:00\"),\r\n toDateTime: dateHelper.getSubmitDateString(self.toDate(), \"00:00\"),\r\n lastNumberDays: self.lastDays(),\r\n lastVoyage: self.lastVoyage(),\r\n timeConfigurationType: self.selectedTimePeriod(),\r\n id: self.config().id,\r\n userId: self.config().userId,\r\n vesselId: self.config().vesselId,\r\n };\r\n\r\n self.isUpdateConfigurationLoading(true);\r\n\r\n longTrendConfigurationsClient.update(config).done(function () {\r\n self.isUpdateConfigurationError(false);\r\n self.onSubmit(config);\r\n }).fail(function () {\r\n self.isUpdateConfigurationError(true);\r\n }).always(function () {\r\n self.isUpdateConfigurationLoading(false);\r\n });\r\n };\r\n\r\n self.disableSubmit = ko.pureComputed(function () {\r\n return self.selectedVariables() === \"|\" || !self.lastPeriodValuesValid() || self.isUpdateConfigurationLoading() || self.submitError();\r\n });\r\n\r\n self.displayEmptyVariableSelectionWarning = ko.pureComputed(function () {\r\n return self.selectedVariables() === \"|\";\r\n });\r\n\r\n longTrendsClient.findLongTrendVariables(vesselId).done(function (data) {\r\n self.variables(data);\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isVariablesLoading(false);\r\n });\r\n\r\n longTrendConfigurationsClient.getByVesselId(vesselId).done(function (data) {\r\n self.config(data);\r\n self.selectedVariables(data.longTrendIds);\r\n self.selectedTimePeriod(data.timeConfigurationType);\r\n self.lastDays(data.lastNumberDays);\r\n self.fromDate(dateHelper.getFormatedDateString(data.fromDateTime));\r\n self.toDate(dateHelper.getFormatedDateString(data.toDateTime));\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isConfigLoading(false);\r\n });\r\n\r\n vesselsClient.getVesselVoyages(vesselId).done(function (data) {\r\n self.voyages(data);\r\n }).fail(function () {\r\n self.isLoadError(true);\r\n }).always(function () {\r\n self.isVoyagesLoading(false);\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n};\r\n\r\nfunction daysToMinutes(days) {\r\n days = Number(days);\r\n return days * 24 * 60;\r\n}\r\n\r\nexport default {viewModel: ViewModel, template: template};\r\n","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Id\\r\\n \\r\\n \\r\\n \\r\\n Vessel name\\r\\n \\r\\n \\r\\n \\r\\n Last data sent\\r\\n \\r\\n \\r\\n \\r\\n Created\\r\\n \\r\\n \\r\\n \\r\\n IMO Number\\r\\n \\r\\n \\r\\n \\r\\n Assign to company\\r\\n \\r\\n Company\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Edit\\r\\n \\r\\n Archive\\r\\n Deactivate\\r\\n Activate\\r\\n \\r\\n \\r\\n Reactivate\\r\\n Delete\\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
TimestampFuel typeEstimated fuel
mass flow rate (t/day)
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(isOpen, vesselId, limit, skip) {\r\n var query = {\r\n isOpen: isOpen,\r\n };\r\n\r\n if (vesselId) {\r\n query.vesselId = vesselId;\r\n }\r\n\r\n if (limit) {\r\n query.limit = limit;\r\n }\r\n\r\n if (skip) {\r\n query.skip = skip;\r\n }\r\n\r\n return net.get(\"/Incidents/Find\", query);\r\n};\r\n\r\nClient.prototype.findOpen = function(vesselId) {\r\n return this.find(true);\r\n};\r\n\r\nClient.prototype.findClosed = function(vesselId, limit, skip) {\r\n return this.find(false, vesselId, limit, skip);\r\n};\r\n\r\nexport default new Client();","import net from \"App/net\";\r\n\r\nvar Client = function () {\r\n\r\n};\r\n\r\nClient.prototype.find = function (vesselId) {\r\n var filter = {\r\n vesselId: vesselId,\r\n };\r\n return net.get(\"/NotificationConditions/Find\", filter);\r\n};\r\n\r\nClient.prototype.fetch = function () {\r\n return net.get(\"/NotificationConditions/Find\");\r\n};\r\n\r\nClient.prototype.create = function (condition) {\r\n return net.post(\"/NotificationConditions\", condition);\r\n};\r\n\r\nClient.prototype.update = function (conditions) {\r\n return net.put(\"/NotificationConditions\", conditions);\r\n};\r\n\r\nClient.prototype.remove = function (condition) {\r\n return net.del(\"/NotificationConditions/\" + condition.id);\r\n};\r\n\r\nexport default new Client();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport { Incident, OpenIncident } from \"@/types/incident\";\r\nimport { Condition } from \"@/types/condition\";\r\nimport incidentsClient from \"Clients/incidents-client\";\r\nimport conditionsClient from \"Clients/notification-conditions-client\";\r\nimport _ from \"underscore\";\r\n\r\n@Module({ namespaced: true, name: \"Incidents\" })\r\nclass Incidents extends VuexModule {\r\n _openIncidents: Incident[] = [];\r\n _allOpenIncidents: Incident[] = [];\r\n _allClosedIncidents: Incident[] = [];\r\n _conditions: Condition[] = [];\r\n private _incidentsExpired = true;\r\n\r\n @Mutation\r\n public UPDATE_OPEN_INCIDENTS(incidents: Incident[]): void {\r\n this._openIncidents = incidents;\r\n }\r\n\r\n @Mutation\r\n public SET_ALL_OPEN_INCIDENTS(incidents: Incident[]): void {\r\n this._allOpenIncidents = incidents;\r\n }\r\n\r\n @Mutation\r\n public SET_ALL_CLOSED_INCIDENTS(incidents: Incident[]): void {\r\n this._allClosedIncidents = incidents;\r\n }\r\n\r\n @Mutation\r\n public SET_CONDITIONS(conditions: Condition[]): void {\r\n this._conditions = conditions;\r\n }\r\n\r\n @Mutation\r\n public EXPIRE_DATA(): void {\r\n this._incidentsExpired = true;\r\n }\r\n\r\n @Action\r\n public async updateOpenIncidents(id = this.currentVesselId): Promise {\r\n if (!id) return Promise.reject();\r\n\r\n try {\r\n const data = await incidentsClient.find(true, id);\r\n this.context.commit(\"UPDATE_OPEN_INCIDENTS\", data);\r\n return data;\r\n } catch (error) {\r\n console.warn(error);\r\n return Promise.reject(`Failed to update open incidents: ${error}`);\r\n }\r\n }\r\n\r\n @Action\r\n public async getAllOpenIncidents(): Promise {\r\n try {\r\n const data = await incidentsClient.find(true);\r\n this.context.commit(\"SET_ALL_OPEN_INCIDENTS\", data);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getFleetLevelOpenIncidents(): Promise {\r\n try {\r\n const data = await incidentsClient.find(true);\r\n this.context.commit(\"SET_ALL_OPEN_INCIDENTS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to return response\", error });\r\n }\r\n }\r\n\r\n @Action\r\n public async getAllClosedIncidents(): Promise {\r\n try {\r\n const data = await incidentsClient.find(false);\r\n this.context.commit(\"SET_ALL_CLOSED_INCIDENTS\", data);\r\n } catch (error) {\r\n console.warn(error);\r\n }\r\n }\r\n\r\n @Action\r\n public async fetchConditionsByVesselId(vesselId: number): Promise {\r\n try {\r\n const data = await conditionsClient.find(vesselId);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to load conditions\", error });\r\n }\r\n }\r\n\r\n @Action\r\n public async fetchConditions(): Promise {\r\n try {\r\n const data = await conditionsClient.find();\r\n this.context.commit(\"SET_CONDITIONS\", data);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to load conditions\", error });\r\n }\r\n }\r\n\r\n @Action\r\n public async createConditions(conditions: Condition[]): Promise {\r\n try {\r\n const data = await conditionsClient.create(conditions);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to create conditions\", error });\r\n }\r\n }\r\n\r\n @Action\r\n public async updateCondition(conditions: Condition[]): Promise {\r\n try {\r\n const data = await conditionsClient.update(conditions);\r\n return data;\r\n } catch (error) {\r\n throw ({ message: \"Failed to update condition\", error });\r\n }\r\n }\r\n\r\n private get currentVesselId(): number | undefined {\r\n return this.context.rootGetters[\"Vessels/currentVessel\"]?.id;\r\n }\r\n\r\n public get distinctOpenIncidents(): Incident[] {\r\n const groupedByConditionAndTargetKey = _.groupBy(this._openIncidents, function (incident) {\r\n return incident.conditionId + \"-\" + incident.conditionTargetKey;\r\n });\r\n\r\n return _.map(groupedByConditionAndTargetKey, function (group) {\r\n return _.sortBy(group, \"severity\")[0];\r\n });\r\n }\r\n\r\n public get distinctAllOpenIncidents(): Incident[] {\r\n const groupedByConditionAndTargetKey = _.groupBy(this._allOpenIncidents, function (incident) {\r\n return incident.conditionId + \"-\" + incident.conditionTargetKey;\r\n });\r\n\r\n return _.map(groupedByConditionAndTargetKey, function (group) {\r\n return _.sortBy(group, \"severity\")[0];\r\n });\r\n }\r\n\r\n public get openWarningIncidents(): Incident[] {\r\n return _.filter(this.distinctOpenIncidents, function (incident) {\r\n return incident.severity === \"Warning\";\r\n });\r\n }\r\n\r\n public get openCriticalIncidents(): Incident[] {\r\n return _.filter(this.distinctOpenIncidents, function (incident) {\r\n return incident.severity === \"Critical\";\r\n });\r\n }\r\n\r\n public get openCriticalIncidentsLength(): number {\r\n return this.openCriticalIncidents.length;\r\n }\r\n public get openWarningIncidentsLength(): number {\r\n return this.openWarningIncidents.length;\r\n }\r\n\r\n public get allOpenIncidents(): Incident[] {\r\n return this._allOpenIncidents;\r\n }\r\n\r\n public get allClosedIncidents(): Incident[] {\r\n return this._allClosedIncidents;\r\n }\r\n\r\n public get allIncidents(): Incident[] {\r\n return [...this._allClosedIncidents, ...this._allOpenIncidents];\r\n }\r\n\r\n public get conditions(): Condition[] {\r\n return this._conditions;\r\n }\r\n}\r\n\r\nexport default Incidents;\r\n","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.getAll = function() {\r\n return net.get(\"/CargoUnits\");\r\n};\r\n\r\nexport default new Client();","import net from \"App/net\";\r\nimport Store from \"@/store\";\r\nimport _ from \"underscore\";\r\n\r\nvar LogDataClient = function () {\r\n\r\n};\r\n\r\nfunction getData(filter, url) {\r\n var deferred = $.Deferred();\r\n\r\n var logData = null;\r\n\r\n net.get(url, filter).done(function(response) {\r\n var continuationFilter = response.continuationFilter;\r\n\r\n logData = response;\r\n if (continuationFilter) {\r\n getData(continuationFilter).done(function(continuedResponse) {\r\n _.extend(logData.data, continuedResponse.data);\r\n deferred.resolve(logData);\r\n });\r\n } else {\r\n deferred.resolve(logData);\r\n }\r\n }).fail(function() {\r\n deferred.reject(arguments);\r\n });\r\n\r\n return deferred.promise();\r\n}\r\n\r\nLogDataClient.prototype.findLogData = function (variableId, fromDate, toDate, granularity, dateTimeFormat, \r\n unitName, filterMinMax, filterOutliers) {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/LogData\" : \"/LogData/Find\";\r\n\r\n var filter = {\r\n logVariableId: variableId,\r\n granularity: granularity ? granularity : \"minute\",\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n dateTimeFormat: dateTimeFormat,\r\n unitName: unitName,\r\n filterMinMax: filterMinMax,\r\n filterOutliers: filterOutliers,\r\n };\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.batchFindLogData = function (variableIds, fromDate, toDate, granularity, filterMinMax, filterOutliers) {\r\n var url = \"/LogData/BatchFind\";\r\n\r\n var filter = {\r\n logVariableIds: variableIds,\r\n granularity: granularity ? granularity : \"minute\",\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n filterMinMax: filterMinMax,\r\n filterOutliers: filterOutliers,\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchAccumulatedCalculatedLogData = function(payload) {\r\n var url = \"/LogData/Calculated/Accumulated\";\r\n var filter = {\r\n logVariableIds: payload.logVariableIds,\r\n fromDate: payload.fromDate,\r\n toDate: payload.toDate,\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchAveragedCalculatedLogData = function(payload) {\r\n var url = \"/LogData/Calculated/Averaged\";\r\n var filter = {\r\n logVariableIds: payload.logVariableIds,\r\n fromDate: payload.fromDate,\r\n toDate: payload.toDate,\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchShapoliAveraged = function(payload) {\r\n var url = \"/Shapoli/LogData/Average\";\r\n var filter = {\r\n vesselId: payload.vesselId,\r\n fromDate: payload.fromDate,\r\n toDate: payload.toDate,\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchLastReceivedLogData = function(logVariableIds) {\r\n var url = \"/LogData/LastReceived?logVariableIds=\" + logVariableIds;\r\n var filter = {\r\n\r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchLastVoyageAccumulated = function(logVariableIds) {\r\n var url = \"/LogData/Calculated/Accumulated/LastVoyage?logVariableIds=\" + logVariableIds;\r\n var filter = {\r\n \r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nLogDataClient.prototype.fetchLastVoyageAveraged = function(logVariableIds) {\r\n var url = \"/LogData/Calculated/Averaged/LastVoyage?logVariableIds=\" + logVariableIds;\r\n var filter = {\r\n \r\n };\r\n\r\n return getData(filter, url);\r\n};\r\n\r\nexport default new LogDataClient();\r\n","import net from \"App/net\";\r\n\r\nvar Client = function() {\r\n\r\n};\r\n\r\nClient.prototype.find = function(vesselId, eventTypes) {\r\n var filter = {\r\n vesselId: vesselId,\r\n eventTypes: eventTypes,\r\n };\r\n\r\n return net.get(\"/VesselEvents/Find\", filter);\r\n};\r\n\r\nClient.prototype.getTrendEventTypes = function() {\r\n return net.get(\"/DiagnosticEvents/Trend/Types\");\r\n};\r\n\r\nClient.prototype.update = function(vesselEvent) {\r\n return net.put(\"/VesselEvents/\" + vesselEvent.id, vesselEvent);\r\n};\r\n\r\nClient.prototype.CreateInfoEvent = function(vesselInfoEventModel) {\r\n return net.post(\"/DiagnosticEvents/Info\", vesselInfoEventModel);\r\n};\r\n\r\nClient.prototype.CreateTrendEvent = function(vesselTrendEventModel) {\r\n return net.post(\"/DiagnosticEvents/Trend\", vesselTrendEventModel);\r\n};\r\n\r\nClient.prototype.UpdateInfoEvent = function(vesselInfoEventModel) {\r\n return net.put(\"/DiagnosticEvents/Info/\" + vesselInfoEventModel.id, vesselInfoEventModel);\r\n};\r\n\r\nClient.prototype.UpdateTrendEvent = function(vesselTrendEventModel) {\r\n return net.put(\"/DiagnosticEvents/Trend/\" + vesselTrendEventModel.id, vesselTrendEventModel);\r\n};\r\n\r\nClient.prototype.DeleteInfoEvent = function(id) {\r\n return net.del(\"/DiagnosticEvents/Info/\" + id);\r\n};\r\n\r\nClient.prototype.DeleteTrendEvent = function(id) {\r\n return net.del(\"/DiagnosticEvents/Trend/\" + id);\r\n};\r\n\r\nexport default new Client();\r\n","module.exports = __webpack_public_path__ + \"img/loading.14a0936b.gif\";","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport vesselEventCargoDetailsClient from \"Clients/vessel-event-cargo-details-client\";\r\n\r\nvar ViewModel = function(vesselEvent, cargoUnit, cargoDetails) {\r\n var self = this;\r\n self.vesselEvent = vesselEvent;\r\n self.vesselEventId = vesselEvent().id;\r\n self.cargoUnit = cargoUnit;\r\n\r\n self.isCreated = ko.observable();\r\n self.cargoDetail = ko.observable();\r\n self.inputCargoCarried = ko.observable();\r\n self.isEditing = ko.observable();\r\n\r\n var existingCargoDetail = _.find(cargoDetails,\r\n function(cargoDetail) {\r\n return cargoDetail.cargoUnitId === cargoUnit.id;\r\n });\r\n\r\n self.hasCargoCarried = ko.pureComputed(function() {\r\n var cargoDetail = self.cargoDetail();\r\n return _.isFinite(cargoDetail.cargoCarried);\r\n });\r\n\r\n self.initialize(existingCargoDetail);\r\n};\r\n\r\nViewModel.prototype.initialize = function(existingCargoDetail) {\r\n var self = this;\r\n\r\n var cargoDetail = {\r\n vesselEventId: self.vesselEventId,\r\n cargoUnitId: self.cargoUnit.id,\r\n cargoCarried: existingCargoDetail ? existingCargoDetail.cargoCarried : null,\r\n };\r\n\r\n self.isCreated(existingCargoDetail ? true : false);\r\n self.cargoDetail(cargoDetail);\r\n self.inputCargoCarried(cargoDetail.cargoCarried);\r\n var isVesselEventConfirmed = self.vesselEvent().isConfirmed;\r\n self.isEditing(!_.isFinite(cargoDetail.cargoCarried) && !isVesselEventConfirmed);\r\n};\r\n\r\nViewModel.prototype.dispose = function(newCurve) {\r\n};\r\n\r\nViewModel.prototype.startEditing = function(vm, e) {\r\n var $wrapper = $(e.currentTarget).closest(\".edit-wrapper\");\r\n this.isEditing(true);\r\n\r\n var $input = $wrapper.find(\"input[type=text]\");\r\n $input.focus();\r\n $input.select();\r\n};\r\n\r\nViewModel.prototype.cancelEditing = function(vm, e) {\r\n this.isEditing(false);\r\n};\r\n\r\nViewModel.prototype.save = function() {\r\n var self = this;\r\n var cargoDetail = _.clone(self.cargoDetail());\r\n var inputCargoCarried = self.inputCargoCarried();\r\n if (inputCargoCarried) {\r\n cargoDetail.cargoCarried = parseFloat(inputCargoCarried);\r\n if (!_.isFinite(cargoDetail.cargoCarried)) {\r\n cargoDetail.cargoCarried = 0;\r\n }\r\n vesselEventCargoDetailsClient.create(cargoDetail).done(function(data) {\r\n self.initialize(data);\r\n });\r\n } else if (self.isCreated()) {\r\n vesselEventCargoDetailsClient.remove(cargoDetail).done(function() {\r\n self.initialize(null);\r\n });\r\n }\r\n};\r\n\r\nexport default ViewModel;","import net from \"App/net\";\r\n\r\nvar VesselsAdministrationsClient = function () {\r\n\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.get = function(vesselId) {\r\n return net.get(\"/VesselAdministrations/\" + vesselId);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.getVessels = function () {\r\n return net.get(\"/VesselAdministrations\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.createVessel = function (vessel) {\r\n return net.post(\"/VesselAdministrations\", vessel);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.getDataReceiverByImoNumber = function (imoNumber) {\r\n var filter = {\r\n isDataReceiver: true,\r\n imoNumber: imoNumber,\r\n };\r\n\r\n var deferred = $.Deferred();\r\n\r\n net.get(\"/VesselAdministrations/Find\", filter).done(function (response) {\r\n deferred.resolve(response[0]);\r\n }).fail(function () {\r\n deferred.reject(arguments);\r\n });\r\n\r\n return deferred.promise();\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.assign = function (vesselId, companyId) {\r\n var command = {\r\n vesselId: vesselId,\r\n companyId: companyId,\r\n };\r\n\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/Assign\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.unassign = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/Unassign\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.update = function (vessel) {\r\n return net.put(\"/VesselAdministrations/\" + vessel.id, vessel);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.setAsDataReceiver = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/SetDataReceiver\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.unsetAsDataReceiver = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/UnsetDataReceiver\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.archiveVessel = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/ArchiveVessel\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.activateVessel = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/ActivateVessel\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.deactivateVessel = function(vesselId) {\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/DeactivateVessel\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.deleteVessel = function (vesselId) {\r\n return net.del(\"/VesselAdministrations/\" + vesselId);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.activateFeature = function (vesselId, featureId) {\r\n var command = {\r\n vesselId: vesselId,\r\n featureId: featureId,\r\n };\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/ActivateFeature\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.deactivateFeature = function (vesselId, featureId) {\r\n var command = {\r\n vesselId: vesselId,\r\n featureId: featureId,\r\n };\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/DeactivateFeature\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.addCargoUnit = function(vesselId, cargoUnitId) {\r\n var command = {\r\n vesselId: vesselId,\r\n cargoUnitId: cargoUnitId,\r\n };\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/AddCargoUnit\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.removeCargoUnit = function(vesselId, cargoUnitId) {\r\n var command = {\r\n vesselId: vesselId,\r\n cargoUnitId: cargoUnitId,\r\n };\r\n return net.post(\"/VesselAdministrations/\" + vesselId + \"/RemoveCargoUnit\", command);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.getVeracityKey = function(vesselId) {\r\n return net.get(\"/VesselAdministrations/\" + vesselId + \"/GetVeracityKey\");\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.updateVeracityKey = function(vesselId, veracityKey) {\r\n var data = {\r\n vesselId: vesselId,\r\n veracityKey: veracityKey,\r\n };\r\n return net.put(\"/VesselAdministrations/UpdateVeracityKey\", data);\r\n};\r\n\r\nVesselsAdministrationsClient.prototype.getVeracityKeyExpirationDate = function(vesselId) {\r\n return net.get(\"/VesselAdministrations/\" + vesselId + \"/GetVeracityKeyExpirationDate\");\r\n};\r\n\r\nexport default new VesselsAdministrationsClient();","// Module\nvar code = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n


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

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

\\r\\n

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

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

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

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

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

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

Import details

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

Import paths

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

Import duration

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

Timestamp

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

IMO Number

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

Imported tables

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

Table name

\\r\\n

Import duration

\\r\\n

Number of rows

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";\n// Exports\nmodule.exports = code;","import _ from \"underscore\";\r\n\r\n// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Using_Special_Characters\r\nfunction escapeRegExp(str) {\r\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\");\r\n}\r\n\r\nfunction replaceAll(str, find, replace) {\r\n return str.replace(new RegExp(escapeRegExp(find), \"g\"), replace);\r\n}\r\n\r\nfunction addSlashes(str) {\r\n return (str + \"\").replace(/[\\\\\"']/g, \"\\\\$&\").replace(/\\u0000/g, \"\\\\0\");\r\n}\r\n\r\nfunction isNullOrWhiteSpace(str) {\r\n if (!_.isString(str)) return true;\r\n\r\n return str.replace(/\\s/g, \"\").length < 1;\r\n}\r\n\r\nfunction isLookingLikeAnEmail(str) {\r\n return /(.+)@(.+){2,}\\.(.+){2,}/.test(str);\r\n}\r\n\r\nfunction stringContains(str, value) {\r\n return str.toLowerCase().indexOf(value) !== -1;\r\n\r\n}\r\n\r\nfunction getPrettyFileSize(bytes) {\r\n var sizes = [\"B\", \"KB\", \"MB\", \"GB\"];\r\n if (bytes == 0) return \"0 B\";\r\n var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1000)));\r\n\r\n return (bytes / Math.pow(1000, i)).toFixed(2) + \" \" + sizes[i];\r\n}\r\n\r\nfunction endsWith(str, value, isCaseInsensitive) {\r\n if (isCaseInsensitive) {\r\n str = str.toLowerCase();\r\n value = value.toLowerCase();\r\n }\r\n\r\n return str.slice(-value.length) === value;\r\n}\r\n\r\nfunction getPrettyIMO(imoNumber) {\r\n var prettyIMO = (\"0000000\" + imoNumber).slice(-7);\r\n return \"IMO\" + prettyIMO;\r\n}\r\n\r\nfunction pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? pad(\"0\" + str, max) : str;\r\n}\r\n\r\nfunction equalsIgnoreCase(str1, str2) {\r\n var areEqual = str1 === str2;\r\n if (areEqual) {\r\n return areEqual;\r\n }\r\n\r\n if ((str1 === null) || (str2 === null)) {\r\n return false;\r\n }\r\n\r\n return str1.toUpperCase().localeCompare(str2.toUpperCase()) === 0;\r\n}\r\n\r\nexport default {\r\n replaceAll: function(str, find, replace) {\r\n return replaceAll(str, find, replace);\r\n },\r\n addSlashes: function(str) {\r\n return addSlashes(str);\r\n },\r\n isNullOrWhiteSpace: function(str) {\r\n return isNullOrWhiteSpace(str);\r\n },\r\n isLookingLikeAnEmail: function(str) {\r\n return isLookingLikeAnEmail(str);\r\n },\r\n stringContains: function(str, value) {\r\n return stringContains(str, value);\r\n },\r\n getPrettyFileSize: function(bytes) {\r\n return getPrettyFileSize(bytes);\r\n },\r\n endsWith: function(str, value, isCaseInsensitive) {\r\n return endsWith(str, value, isCaseInsensitive);\r\n },\r\n getPrettyIMO: function(imoNumber) {\r\n return getPrettyIMO(imoNumber);\r\n },\r\n pad: function(str, max) {\r\n return pad(str, max);\r\n },\r\n equalsIgnoreCase: function (str1, str2) {\r\n return equalsIgnoreCase(str1, str2);\r\n },\r\n};","// Module\nvar code = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
StartEndFuel typeFuel
consumption (MT)
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\";\n// Exports\nmodule.exports = code;","import { 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==\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=478061e4&lang=scss&scoped=true&\"","// 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\";","function getHelpText(type) {\r\n switch (type) {\r\n case \"speed\":\r\n return \"This graph shows a long trend overview of speed loss through water. The graph shows the deviation (+/- 50 %) of the speed over time, compared against the model tank test data for the corresponding power. A zero deviation means that the Vessel performs according to the design curve for power vs speed. However, the normal trend line for a Vessel will show an increasing speed loss over time (negative trend line); primarily due to hull fouling and reduced propeller efficiency.\";\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};","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.1f61060c.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","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=1&id=e45951c4&lang=scss&scoped=true&\"","import template from \"./voyage-vessel-event-voyage.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport configEmissionReportFactory from \"App/config-emission-report\";\r\nimport emissionReportVesselEventsClient from \"Clients/emission-report-vessel-events-client\";\r\n\r\nfunction ViewModel(params) {\r\n var self = this;\r\n self.configEmissionReport = configEmissionReportFactory.get();\r\n self.vesselEvent = params.vesselEvent;\r\n self.voyageTypes = self.configEmissionReport.voyageTypes;\r\n self.voyage = ko.pureComputed(function() {\r\n var vesselEvent = self.vesselEvent();\r\n return vesselEvent.voyage;\r\n });\r\n\r\n var voyage = self.voyage();\r\n self.inputVoyageName = ko.observable(voyage ? voyage.name : \"\");\r\n self.inputVoyageType = ko.observable(voyage ? voyage.type : \"\");\r\n self.inputIsNonCommercial = ko.observable(voyage ? voyage.isNonCommercial : false);\r\n\r\n self.isEditing = ko.observable(false);\r\n}\r\n\r\nViewModel.prototype.dispose = function() {\r\n};\r\n\r\nViewModel.prototype.startEditing = function(vm, e) {\r\n var $wrapper = $(e.currentTarget).closest(\".edit-wrapper\");\r\n this.isEditing(true);\r\n\r\n var $input = $wrapper.find(\"input[type=text]\");\r\n $input.focus();\r\n $input.select();\r\n};\r\n\r\nViewModel.prototype.cancelEditing = function(vm, e) {\r\n this.isEditing(false);\r\n};\r\n\r\nViewModel.prototype.save = function() {\r\n var self = this;\r\n var vesselEvent = _.clone(self.vesselEvent());\r\n vesselEvent.voyage = vesselEvent.voyage || {};\r\n vesselEvent.voyage.name = self.inputVoyageName();\r\n vesselEvent.voyage.type = self.inputVoyageType();\r\n vesselEvent.voyage.isNonCommercial = self.inputIsNonCommercial();\r\n\r\n emissionReportVesselEventsClient.update(vesselEvent).done(function(updatedVesselEvent) {\r\n self.vesselEvent(updatedVesselEvent);\r\n self.cancelEditing();\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport categoriesClient from \"Clients/vessel-categories-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function (model, accessGroups) {\r\n var self = this;\r\n self.originalAccessGroup = undefined;\r\n self.accessGroups = accessGroups;\r\n self.id = ko.observable();\r\n self.name = ko.observable().extend({\r\n required: true,\r\n validation: {\r\n async: true,\r\n validator: function (val, params, callback) {\r\n if ((self.originalAccessGroup != null) && (stringHelper.equalsIgnoreCase(val, self.originalAccessGroup.name))) {\r\n // Same as \"original name\".\r\n callback(true);\r\n } else {\r\n callback(!self.accessGroups.exists(val));\r\n }\r\n },\r\n message: \"An access group with that name already exists.\",\r\n },\r\n });\r\n self.vessels = ko.observableArray([]);\r\n self.users = ko.observableArray([]);\r\n\r\n self.setModel(model);\r\n\r\n //For accessing validation from the parent component to for example enable/disable \"create/save\" button.\r\n self.errors = ko.validation.group(self);\r\n self.isValid = ko.computed(function () {\r\n return self.errors().length === 0;\r\n });\r\n};\r\n\r\nViewModel.prototype.setModel = function (model) {\r\n var self = this;\r\n self.originalAccessGroup = model;\r\n\r\n if (model) {\r\n // Edit mode\r\n self.id(model.id);\r\n self.name(model.name);\r\n self.vessels(model.vessels);\r\n self.users(model.users);\r\n } else {\r\n // \"New\" mode\r\n self.id(undefined);\r\n self.name(undefined);\r\n self.vessels([]);\r\n self.users([]);\r\n }\r\n};\r\n\r\nViewModel.prototype.getOriginalAccessGroup = function () {\r\n return this.originalAccessGroup;\r\n};\r\n\r\nViewModel.prototype.save = function () {\r\n var self = this;\r\n var accessGroup = _.clone(self.originalAccessGroup) || {};\r\n\r\n accessGroup.name = self.name();\r\n\r\n var promise;\r\n if (accessGroup.id) {\r\n promise = categoriesClient.update(accessGroup);\r\n } else {\r\n promise = categoriesClient.create(accessGroup);\r\n }\r\n promise.done(function (data) {\r\n self.setModel(data);\r\n });\r\n return promise;\r\n};\r\n\r\nViewModel.prototype.delete = function () {\r\n return categoriesClient.delete(this.originalAccessGroup);\r\n};\r\n\r\nexport default ViewModel;","import ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport vesselCategoriesClient from \"Clients/vessel-categories-client\";\r\nimport stringHelper from \"Utilities/string-helper\";\r\n\r\nvar ViewModel = function () {\r\n var self = this;\r\n self.items = ko.observableArray([]);\r\n self.isLoading = ko.observable(false);\r\n self.error = ko.observable();\r\n\r\n self.load();\r\n\r\n self.onCreatedBinding = events.vesselAccessGroupOnCreated.add(function (newItem) {\r\n self.items.push(newItem);\r\n });\r\n\r\n self.onUpdatedBinding = events.vesselAccessGroupOnUpdated.add(function (oldItem, updatedItem) {\r\n self.items.replace(oldItem, updatedItem);\r\n });\r\n\r\n self.onDeletedBinding = events.vesselAccessGroupOnDeleted.add(function (removedItem) {\r\n self.items.remove(function (item) {\r\n return item.id === removedItem.id;\r\n });\r\n });\r\n};\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.onCreatedBinding.detach();\r\n this.onUpdatedBinding.detach();\r\n};\r\n\r\nViewModel.prototype.load = function () {\r\n var self = this;\r\n self.error(undefined);\r\n self.items([]);\r\n self.isLoading(true);\r\n\r\n vesselCategoriesClient.getAll()\r\n .done(function (data) {\r\n self.items(data);\r\n })\r\n .fail(function (error) {\r\n console.error(error);\r\n self.error(\"Failed to load list.\");\r\n })\r\n .always(function() {\r\n self.isLoading(false);\r\n });\r\n};\r\n\r\nViewModel.prototype.getList = function () {\r\n return this.items;\r\n};\r\n\r\nViewModel.prototype.isLoading = function () {\r\n return this.isLoading;\r\n};\r\n\r\nViewModel.prototype.exists = function (name) {\r\n var match = _.find(this.items(), function (o) {\r\n return stringHelper.equalsIgnoreCase(name, o.name);\r\n });\r\n return match !== undefined;\r\n};\r\n\r\nexport default ViewModel;\r\n","import template from \"./vessel-access-group.html\";\r\nimport ko from \"knockout\";\r\nimport _ from \"underscore\";\r\nimport events from \"App/events\";\r\nimport AccessGroupVM from \"ViewModels/vessel-access-groups/vesselAccessGroup\";\r\nimport AccessGroupListVM from \"ViewModels/vessel-access-groups/vesselAccessGroupList\";\r\n\r\nfunction ViewModel() {\r\n var self = this;\r\n\r\n self.viewModel = null;\r\n self.error = ko.observable();\r\n self.dialogState = ko.observable(\"\");\r\n self.isEditMode = ko.observable(false);\r\n self.accessGroupList = new AccessGroupListVM();\r\n\r\n self.vesselAccessGroupAddBinding = events.vesselAccessGroupAdd.add(function () {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(null, self.accessGroupList);\r\n self.dialogState(\"ADD\");\r\n });\r\n\r\n self.vesselAccessGroupRenameBinding = events.vesselAccessGroupRename.add(function (accessGroup) {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(accessGroup, self.accessGroupList);\r\n self.dialogState(\"RENAME\");\r\n });\r\n\r\n self.vesselAccessGroupEditBinding = events.vesselAccessGroupEdit.add(function (accessGroup) {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(accessGroup, self.accessGroupList);\r\n self.isEditMode(true);\r\n });\r\n\r\n self.vesselAccessGroupDeleteBinding = events.vesselAccessGroupDelete.add(function (accessGroup) {\r\n self.clearError();\r\n self.viewModel = new AccessGroupVM(accessGroup, self.accessGroupList);\r\n self.dialogState(\"DELETE\");\r\n });\r\n}\r\n\r\nViewModel.prototype.dispose = function () {\r\n this.vesselAccessGroupAddBinding.detach();\r\n this.vesselAccessGroupRenameBinding.detach();\r\n this.vesselAccessGroupEditBinding.detach();\r\n this.vesselAccessGroupDeleteBinding.detach();\r\n};\r\n\r\nViewModel.prototype.closeDialog = function () {\r\n this.dialogState(\"\");\r\n};\r\n\r\nViewModel.prototype.closeEdit = function () {\r\n this.isEditMode(false);\r\n};\r\n\r\nViewModel.prototype.clearError = function () {\r\n this.error(null);\r\n};\r\n\r\nViewModel.prototype.handleError = function (error) {\r\n if (error && error.responseJSON && error.responseJSON.message) {\r\n this.error(error.responseJSON.message);\r\n } else {\r\n this.error(\"An error occurred.\");\r\n }\r\n events.errorEvent.dispatch(error);\r\n};\r\n\r\nViewModel.prototype.createAccessGroup = function () {\r\n var self = this;\r\n self.viewModel.save()\r\n .done(function() {\r\n events.vesselAccessGroupOnCreated.dispatch(self.viewModel.originalAccessGroup);\r\n self.closeDialog();\r\n }).fail(function(error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.renameAccessGroup = function () {\r\n var self = this;\r\n var originalCompany = self.viewModel.originalAccessGroup;\r\n self.viewModel.save()\r\n .done(function (data) {\r\n events.vesselAccessGroupOnUpdated.dispatch(originalCompany, data);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nViewModel.prototype.deleteAccessGroup = function () {\r\n var self = this;\r\n self.viewModel.delete()\r\n .done(function () {\r\n events.vesselAccessGroupOnDeleted.dispatch(self.viewModel.originalAccessGroup);\r\n self.closeDialog();\r\n }).fail(function (error) {\r\n self.handleError(error);\r\n });\r\n};\r\n\r\nexport default { viewModel: ViewModel, template: template };\r\n","// Module\nvar code = \"
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\";\n// Exports\nmodule.exports = code;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VesselTitle.vue?vue&type=style&index=0&id=f7f08792&scoped=true&lang=scss&\"","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Departed atFrom portVoyage nameCompletedOrigin
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    TimeEvent typeEvent info confirmedDistanceOrigin
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    From date
    To date
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n

    Summary

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

    Data interval:

    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n Day \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n Hour \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n Quarter \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n Minute \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n Raw \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","import net from \"App/net\";\r\n\r\nvar NotificationWidgetClient = function () {};\r\n\r\nNotificationWidgetClient.prototype.getAll = function () {\r\n return net.get(\"/NotificationWidgets\");\r\n};\r\n\r\nNotificationWidgetClient.prototype.get = function (notificationWidgetConfigId) {\r\n return net.get(`/NotificationWidgets/${notificationWidgetConfigId}`);\r\n};\r\n\r\nNotificationWidgetClient.prototype.new = function (notificationWidgetConfiguration) {\r\n return net.post(\"/NotificationWidgets\", notificationWidgetConfiguration);\r\n};\r\n\r\nNotificationWidgetClient.prototype.update = function (notificationWidgetConfiguration) {\r\n return net.put(`/NotificationWidgets/${notificationWidgetConfiguration.id}`, notificationWidgetConfiguration);\r\n};\r\n\r\nNotificationWidgetClient.prototype.delete = function (notificationWidgetConfigId) {\r\n return net.del(`/NotificationWidgets/${notificationWidgetConfigId}`);\r\n};\r\n\r\nexport default new NotificationWidgetClient();\r\n","import { VuexModule, Module, Mutation, Action } from \"vuex-module-decorators\";\r\nimport notificationWidgetClient from \"Clients/notification-widget-client\";\r\nimport { NotificationWidgetConfig } from \"@/types/widgetNotification\";\r\n\r\n\r\n@Module({ namespaced: true, name: \"NotificationWidgetConfiguration\" })\r\nclass NotificationWidget extends VuexModule {\r\n private _configsExpired = true;\r\n private _configs: NotificationWidgetConfig[] = [];\r\n\r\n @Action({ rawError: true })\r\n public async addNewConfig(): Promise {\r\n try {\r\n const config = await notificationWidgetClient.new({ vessels: [] });\r\n this.context.commit(\"ADD_WIDGET_CONFIG\", config);\r\n return config;\r\n } catch (error) {\r\n throw ({ message: \"Failed to add widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async updateConfig(config: NotificationWidgetConfig | undefined): Promise {\r\n if (!config) return;\r\n try {\r\n const updatedConfig = await notificationWidgetClient.update(config);\r\n this.context.commit(\"SET_WIDGET_CONFIG\", updatedConfig);\r\n } catch (error) {\r\n throw ({ message: \"Failed to update widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async deleteWidgetConfig(id: number): Promise {\r\n try {\r\n await notificationWidgetClient.delete(id);\r\n this.context.commit(\"DELETE_WIDGET_CONFIG\", id);\r\n } catch (error) {\r\n throw ({ message: \"Failed to delete widget config\", error });\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async getConfigById(id: number): Promise {\r\n if (this._configsExpired) {\r\n await this.context.dispatch(\"refreshConfigs\");\r\n }\r\n\r\n const config = this._configs.find(config => config.id === id);\r\n\r\n if (config) {\r\n for (let i = 0; i < config.vessels.length; i++) {\r\n const vessel = await this.context.dispatch(\"Vessels/get\", config.vessels[i].id, { root: true });\r\n if (vessel) config.vessels[i] = vessel;\r\n }\r\n\r\n return config;\r\n }\r\n else throw ({ message: \"Could not find config\" });\r\n }\r\n\r\n @Action({ rawError: true })\r\n public async refreshConfigs(): Promise {\r\n try {\r\n const configs: NotificationWidgetConfig[] = await notificationWidgetClient.getAll();\r\n this.context.commit(\"SET_WIDGET_CONFIGS\", configs);\r\n } catch (error) {\r\n throw ({ message: \"Failed to refresh widget config\", error });\r\n }\r\n }\r\n\r\n @Mutation\r\n public ADD_WIDGET_CONFIG(config: NotificationWidgetConfig): void {\r\n this._configs.push(config);\r\n this._configsExpired = true;\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIG(config: NotificationWidgetConfig): void {\r\n const index = this._configs.findIndex(savedConfig => savedConfig.id === config.id);\r\n\r\n if (index >= 0) {\r\n this._configs[index] = config;\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public DELETE_WIDGET_CONFIG(id: number): void {\r\n const index = this._configs.findIndex(config => config.id === id);\r\n\r\n if (index >= 0) {\r\n this._configs.splice(index, 1);\r\n this._configsExpired = true;\r\n }\r\n }\r\n\r\n @Mutation\r\n public SET_WIDGET_CONFIGS(configs: NotificationWidgetConfig[]): void {\r\n this._configs = configs;\r\n this._configsExpired = false;\r\n }\r\n}\r\n\r\nexport default NotificationWidget;\r\n","import net from \"App/net\";\r\n\r\nvar EmissionReportClient = function() {\r\n\r\n};\r\n\r\nEmissionReportClient.prototype.generateExcelTemplate = function(data) {\r\n return net.fileDownload(\"/EmissionReport/GenerateExcelTemplate\", \"POST\", data);\r\n};\r\n\r\nEmissionReportClient.prototype.uploadVoyage = function(vesselId, file) {\r\n var url = \"/EmissionReport/Upload/\" + vesselId;\r\n return net.fileUpload(url, file);\r\n};\r\n\r\nEmissionReportClient.prototype.mrvVoyage = function(departureId) {\r\n var url = \"/EmissionReport/MrvVoyage/\" + departureId;\r\n return net.fileDownload(url, \"GET\");\r\n};\r\n\r\nEmissionReportClient.prototype.imoVoyage = function(departureId) {\r\n var url = \"/EmissionReport/ImoVoyage/\" + departureId;\r\n net.fileDownload(url, \"GET\");\r\n};\r\n\r\nEmissionReportClient.prototype.mrvYearly = function(vesselId, year) {\r\n var url = \"/EmissionReport/MrvYearly/\" + vesselId + \"/\" + year;\r\n net.fileDownload(url, \"GET\");\r\n};\r\n\r\nEmissionReportClient.prototype.imoYearly = function(vesselId, year) {\r\n var url = \"/EmissionReport/ImoYearly/\" + vesselId + \"/\" + year;\r\n net.fileDownload(url, \"GET\");\r\n};\r\n\r\nEmissionReportClient.prototype.voyageDnvGl = function(departureId) {\r\n var url = \"/EmissionReport/VoyageDnvGl/\" + departureId;\r\n return net.fileDownload(url, \"GET\");\r\n};\r\n\r\nexport default new EmissionReportClient();","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateTimeRangePicker.vue?vue&type=style&index=0&id=344ed703&scoped=true&lang=scss&\"","// 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;","// 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;","// 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\";","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\nexport default {\r\n round: function (value, decimals) {\r\n return round(value, decimals);\r\n },\r\n parseLocaleNumber: parseLocaleNumber,\r\n};","module.exports = __webpack_public_path__ + \"img/table-widget-illustration-1.8cd96a5d.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;","// 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\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;","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 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 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
    \";\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.4be1326a.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;","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=433d8557&scoped=true&lang=scss&\"","// 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',{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'),(!_vm.options.noconfirm)?_c('v-btn',{attrs:{\"color\":\"grey\",\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.cancel.apply(null, arguments)}}},[_vm._v(\"Cancel\")]):_vm._e(),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.confirm.apply(null, arguments)}}},[_vm._v(\"OK\")])],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\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: \"primary\",\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=bc11f25c&\"\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;","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 () {\r\n var url = Store.getters[\"User/isKognifai\"] ? \"/Kognifai/Vessels\" : \"/Vessels\";\r\n return net.get(url);\r\n};\r\n\r\nVesselsClient.prototype.getExtendedVessels = function () {\r\n return net.get(\"/Vessels/Extended\");\r\n};\r\n\r\nVesselsClient.prototype.updateVesselDraft = function (id, draft) {\r\n const draftMean = {\r\n draftMean: draft,\r\n };\r\n return net.put(\"/Vessels/\" + id + \"/Draft\", draftMean);\r\n};\r\n\r\nVesselsClient.prototype.updateVessel = function (vessel) {\r\n return net.put(`/Vessels/${vessel.id}`, vessel);\r\n};\r\n\r\nVesselsClient.prototype.getVesselVoyages = function (id) {\r\n return net.get(\"/Vessel/\" + id + \"/Voyages\");\r\n}\r\n\r\nexport default new VesselsClient();\r\n","// Module\nvar code = \"

    Data import status

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

    \\r\\n

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

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

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

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

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

    Vessels being imported

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

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

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

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

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \";\n// Exports\nmodule.exports = code;","module.exports = __webpack_public_path__ + \"img/danelec-connect_negative.59ed434a.svg\";","// 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.exports = __webpack_public_path__ + \"img/danelec-square-original.06c2b688.svg\";","// 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:\"colorBackground\",attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[_c('v-card',{staticClass:\"mx-auto login-card\",attrs:{\"max-width\":\"350px\",\"width\":\"100%\"}},[_c('v-img',{attrs:{\"src\":require(\"@/assets/images/danelec-logos/danelec-square-original.svg\"),\"height\":\"250\"}}),(!_vm.forgotPassword)?_c('v-form',{staticClass:\"mt-2\",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',[_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',{attrs:{\"type\":\"submit\",\"form\":\"login-form\",\"color\":\"primary\",\"block\":\"\",\"loading\":_vm.loading,\"disabled\":!_vm.validLogin}},[_vm._v(\"Log in \")])],1),_c('v-btn',{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',{attrs:{\"type\":\"submit\",\"form\":\"forgot-password-form\",\"color\":\"primary\",\"block\":\"\",\"loading\":_vm.submittingEmail,\"disabled\":!_vm.validResetPassword}},[_vm._v(\"Reset password \")])],1),_c('v-btn',{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\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=8ea49e66&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=8ea49e66&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 \"8ea49e66\",\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:\"colorBackground\",attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[(!_vm.incompleteLink)?_c('v-card',{staticClass:\"mx-auto login-card\",attrs:{\"max-width\":\"350px\",\"width\":\"100%\"}},[_c('v-img',{attrs:{\"src\":require(\"@/assets/images/danelec-logos/danelec-square-original.svg\")}}),_c('v-form',{staticClass:\"mt-2\",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',[_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',{attrs:{\"type\":\"submit\",\"form\":\"reset-password-form\",\"color\":\"primary\",\"block\":\"\",\"loading\":_vm.submitting,\"disabled\":!_vm.isFormValid}},[_vm._v(\"Reset password \")]):_vm._e()],1),_c('v-btn',{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\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=5edfc566&\"\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 { path: \"VersionHistory\", name: \"VersionHistory\", meta: { title: \"Version History | Help\" }, component: () => import(\"../views/help/VersionHistory.vue\") },\r\n { path: \"GettingStarted\", meta: { title: \"Getting Started | Help\" }, component: () => import(\"../views/help/GettingStarted.vue\") },\r\n { path: \"CII\", meta: { title: \"CII | Help\" }, component: () => import(\"../views/help/CII.vue\") },\r\n { path: \"Basic\", meta: { title: \"Basic | Help\" }, component: () => import(\"../views/help/Basic.vue\") },\r\n { path: \"Diagnostics\", meta: { title: \"Diagnostics | Help\" }, component: () => import(\"../views/help/Diagnostics.vue\") },\r\n { path: \"Compare\", meta: { title: \"Compare | Help\" }, component: () => import(\"../views/help/Compare.vue\") },\r\n { path: \"CharterParty\", meta: { title: \"Charter Party | Help\" }, component: () => import(\"../views/help/CharterParty.vue\") },\r\n { path: \"Notifications\", meta: { title: \"Notifications | Help\" }, component: () => import(\"../views/help/Notifications.vue\") },\r\n { path: \"EmissionReport\", meta: { title: \"Emission Report | Help\" }, component: () => import(\"../views/help/EmissionReport.vue\") },\r\n { path: \"FAQ\", meta: { title: \"FAQ | Help\" }, component: () => import(\"../views/help/FAQ.vue\") },\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: \"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: \"/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: \"/VesselGroups\",\r\n name: \"VesselGroups\",\r\n meta: {\r\n title: \"Vessel Groups\",\r\n },\r\n component: () => import(\"../views/vesseladmin/VesselGroups.vue\"),\r\n },\r\n {\r\n path: \"/VesselAccessControl\",\r\n name: \"VesselAccessControl\",\r\n meta: {\r\n title: \"Vessel Access Control\",\r\n },\r\n component: () => import(\"../views/vesseladmin/VesselAccessControl.vue\"),\r\n },\r\n {\r\n path: \"/ImportStatus\",\r\n name: \"ImportStatus\",\r\n meta: {\r\n title: \"Import Status\",\r\n },\r\n component: () => import(\"../views/importstatus/ImportStatus.vue\"),\r\n },\r\n {\r\n path: \"/Taxonomy\",\r\n name: \"Taxonomy\",\r\n meta: {\r\n title: \"Taxonomy\",\r\n },\r\n component: () => import(\"../views/Taxonomy.vue\"),\r\n },\r\n {\r\n path: \"/Announcement\",\r\n name: \"Announcement\",\r\n meta: {\r\n title: \"Announcement\",\r\n },\r\n component: () => import(\"../views/Announcement/AnnouncementTableView.vue\"),\r\n },\r\n {\r\n path: \"/MyNotifications\",\r\n name: \"MyNotifications\",\r\n meta: {\r\n title: \"Notifications\",\r\n },\r\n component: () => import(\"../views/MyNotifications/index.vue\")\r\n },\r\n {\r\n path: \"/MyNotifications/AddNotification\",\r\n name: \"AddNotification\",\r\n meta: {\r\n title: \"Add Notification\",\r\n },\r\n component: () => import(\"../views/MyNotifications/AddNotification.vue\")\r\n },\r\n {\r\n path: \"/About\",\r\n name: \"About\",\r\n meta: {\r\n title: \"About\",\r\n },\r\n component: () => import(\"../views/About.vue\"),\r\n },\r\n {\r\n path: \"/Kognifai\",\r\n name: \"Kognifai\",\r\n meta: {\r\n title: \"Kognifai\",\r\n },\r\n component: () => import(\"../views/kognifai/DataAnalysis.vue\"),\r\n beforeEnter(to, from, next) {\r\n if (User.isKognifai) {\r\n next();\r\n } else {\r\n next(\"/\");\r\n }\r\n },\r\n },\r\n {\r\n path: \"*\",\r\n name: \"NotFound\",\r\n meta: {\r\n title: \"Not Found\",\r\n },\r\n component: () => import(\"../views/NotFound.vue\"),\r\n },\r\n];\r\n\r\nconst router = new VueRouter({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n routes,\r\n scrollBehavior(to, from, savedPosition) {\r\n if (savedPosition) {\r\n return savedPosition;\r\n } else {\r\n return { x: 0, y: 0 };\r\n }\r\n },\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n const publicPages = [\"/login\", \"/Account/ResetPassword\"];\r\n const authRequired = !publicPages.includes(to.path);\r\n\r\n // trying to access a restricted page + not logged in\r\n // redirect to login page\r\n if (authRequired && !Auth.isLoggedIn) {\r\n return next(\"/login\");\r\n //make sure user is valid and exists\r\n } else if (authRequired && User.userExpired) {\r\n User.getUser().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 Connect\";\r\n } else {\r\n document.title = to.meta?.title + \" | Danelec Connect\";\r\n }\r\n});\r\n\r\nexport default router;\r\n","import { VuexModule, Module } from \"vuex-module-decorators\";\r\nimport { WidgetType } from \"@/types/widgetType\";\r\nconst tableWidgetIllustration = require(\"@/assets/images/widgets/table-widget-illustration-1.png\");\r\nconst graphWidgetIllustration = require(\"@/assets/images/widgets/graph-widget-illustration-1.png\");\r\nconst mapWidgetIllustration = require(\"@/assets/images/widgets/map-widget-illustration-1.png\");\r\nconst performanceStatusWidgetIllustration = require(\"@/assets/images/widgets/performance-status-widget-illustration-1.png\");\r\nconst notificationWidgetIllustration = require(\"@/assets/images/widgets/notification-widget-illustration.png\");\r\nconst ciiWidgetTableViewIllustration = require(\"@/assets/images/widgets/cii-widget-tableview.png\");\r\nconst ciiWidgetChartViewIllustration = require(\"@/assets/images/widgets/cii-widget-chartview.png\");\r\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: [\"https://images.pexels.com/photos/128299/pexels-photo-128299.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260\"],\r\n usingConfig: false,\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: \"table_chart\",\r\n multiple: true,\r\n description: \"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 };\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-box\",\r\n multiple: true,\r\n description: \"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 };\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: \"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 };\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: \"checklist\",\r\n multiple: true,\r\n description: \"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 };\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-checkbox-multiple-marked-circle\",\r\n multiple: true,\r\n description: \"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 };\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: \"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 };\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 ];\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 }\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\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;","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=8ea49e66&lang=scss&scoped=true&\"","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//