{"version":3,"sources":["webpack:///./src/views/vessel/Report.vue?58d4","webpack:///./src/views/vessel/Report.vue","webpack:///./src/views/vessel/Report.vue?976e","webpack:///./src/views/vessel/Report.vue?a895","webpack:///./src/components/LoadingTextWave.vue?b4c3","webpack:///./src/components/LoadingTextWave.vue?a635","webpack:///src/components/LoadingTextWave.vue","webpack:///./src/components/LoadingTextWave.vue?640c","webpack:///./src/components/LoadingTextWave.vue?fc23","webpack:///./src/views/vessel/Report.vue?5e4e"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","staticStyle","attrs","reportTypesAsListItems","offsetY","closeOnClick","model","value","callback","$$v","selectedReportTypeId","expression","multipleReportsFromSameDate","length","report","_e","scopedSlots","_u","key","fn","ref","on","_g","_b","selectedDateFormatted","calendarMenu","datesWithReportOfSelectedType","val","includes","selectedDate","_v","domProps","_s","noReportMessage","isFirstReport","noReportsOfSelectedType","$event","switchDate","hasPrevReport","selectedReportDateFormatted","hasNextReport","isLastReport","pdfSrc","pdfDownloadUrl","pdfTitle","pdfLoader","staticRenderFns","Vessels","getModule","VesselsModule","store","Reports","ReportsModule","Report","loadingView","noReportAvailable","vessel","currentVessel","selectedReportIndex","checkForReportsOnDate","setReportToMostRecent","getReportUrl","id","refreshReportTypes","refreshReports","reportsFilteredByType","mostRecentReport","slice","reportDateTime","substring","reportDateIndex","findIndex","formatReportDate","reports","filter","substr","type","i","reportTypeId","features","some","feature","name","map","reportTypes","ksaInputReportTypeId","find","reportType","reportTypeName","ksaResultReportTypeId","ksaReports","reportObject","isKsaAdded","selectItems","forEach","stringHelper","stringContains","JSON","parse","stringify","push","selectedReportType","dateHelper","getFormatedDateString","Vue","__decorate","Watch","Component","components","PdfViewer","featureNotAvailable","LoadingTextWave","component","VBtn","VDatePicker","VIcon","VMenu","VSelect","VSheet","VTextField","_m"],"mappings":"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","file":"js/chunk-34ee4e86.2bff35d4.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.featureEnabled)?_c('div',{staticClass:\"content-wrapper\"},[(_vm.loadingView)?_c('LoadingTextWave',{staticClass:\"my-16\"}):_c('div',{staticClass:\"mb-3 d-flex flex-column\"},[_c('span',{staticClass:\"mt-2 d-flex justify-center\"},[_c('v-select',{staticClass:\"mr-2\",staticStyle:{\"max-width\":\"200px\"},attrs:{\"label\":\"Report type\",\"items\":_vm.reportTypesAsListItems,\"item-text\":'reportTypeName',\"item-value\":'id',\"id\":\"selectedReportTypeId\",\"menu-props\":{ offsetY: true, closeOnClick: true },\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.selectedReportTypeId),callback:function ($$v) {_vm.selectedReportTypeId=$$v},expression:\"selectedReportTypeId\"}}),(_vm.multipleReportsFromSameDate.length > 1)?_c('v-select',{staticClass:\"ml-2\",staticStyle:{\"max-width\":\"200px\"},attrs:{\"label\":\"Report time\",\"items\":_vm.multipleReportsFromSameDate,\"item-text\":'name',\"item-value\":'report',\"menu-props\":{ offsetY: true, closeOnClick: true },\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.report),callback:function ($$v) {_vm.report=$$v},expression:\"report\"}}):_vm._e(),_c('v-menu',{attrs:{\"close-on-content-click\":false,\"nudge-right\":40,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"min-width\":\"auto\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-text-field',_vm._g(_vm._b({staticClass:\"ml-2\",staticStyle:{\"max-width\":\"200px\"},attrs:{\"label\":\"Report date\",\"append-icon\":\"mdi-calendar\",\"readonly\":\"\",\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.selectedDateFormatted),callback:function ($$v) {_vm.selectedDateFormatted=$$v},expression:\"selectedDateFormatted\"}},'v-text-field',attrs,false),on))]}}],null,false,2308263858),model:{value:(_vm.calendarMenu),callback:function ($$v) {_vm.calendarMenu=$$v},expression:\"calendarMenu\"}},[_c('div',{staticClass:\"d-flex flex-column\"},[_c('v-date-picker',{attrs:{\"first-day-of-week\":\"1\",\"events\":_vm.datesWithReportOfSelectedType,\"allowed-dates\":function (val) { return _vm.datesWithReportOfSelectedType.includes(val); },\"event-color\":\"secondary lighten-2\",\"color\":\"secondary\"},model:{value:(_vm.selectedDate),callback:function ($$v) {_vm.selectedDate=$$v},expression:\"selectedDate\"}}),_c('v-sheet',{staticClass:\"d-flex justify-center pb-1\"},[_c('v-icon',{staticClass:\"mb-1\",attrs:{\"left\":\"\",\"x-small\":\"\",\"color\":\"secondary lighten-2\"}},[_vm._v(\" mdi-checkbox-blank-circle \")]),_vm._v(\" Report available \")],1)],1)])],1),(_vm.noReportAvailable)?_c('span',{staticClass:\"d-flex justify-center flex-column mb-1\"},[_c('v-sheet',{staticClass:\"mx-auto mt-2 mb-6 pb-2 pt-3 px-16\",attrs:{\"color\":\"error lighten-3\",\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-icon',{staticClass:\"mt-n2\",attrs:{\"left\":\"\"}},[_vm._v(\"mdi-calendar-remove-outline\")]),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.noReportMessage)}})],1)],1):_c('span',{staticClass:\"d-flex justify-center flex-column mb-1\"},[_c('div',{staticClass:\"mx-auto\"},[_c('v-btn',{staticClass:\"text-overline\",attrs:{\"small\":\"\",\"id\":\"firstReport\",\"disabled\":_vm.isFirstReport || _vm.noReportsOfSelectedType},on:{\"click\":function($event){return _vm.switchDate('first')}}},[_c('v-icon',{staticClass:\"mr-1\"},[_vm._v(\"mdi-chevron-left\")]),_vm._v(\"First \")],1),_c('v-btn',{staticClass:\"ml-2 text-overline\",attrs:{\"small\":\"\",\"id\":\"prevReport\",\"disabled\":!_vm.hasPrevReport || _vm.noReportsOfSelectedType},on:{\"click\":function($event){return _vm.switchDate('prev')}}},[_c('v-icon',{staticClass:\"mr-1\"},[_vm._v(\"mdi-chevron-left\")]),_vm._v(\"Prev \")],1),_c('span',{staticClass:\"text-overline mx-3\"},[_vm._v(\"| \"+_vm._s(_vm.selectedReportDateFormatted)+\" |\")]),_c('v-btn',{staticClass:\"text-overline\",attrs:{\"small\":\"\",\"id\":\"nextReport\",\"disabled\":!_vm.hasNextReport || _vm.noReportsOfSelectedType},on:{\"click\":function($event){return _vm.switchDate('next')}}},[_vm._v(\" Next \"),_c('v-icon',{staticClass:\"ml-1\"},[_vm._v(\"mdi-chevron-right\")])],1),_c('v-btn',{staticClass:\"ml-2 text-overline\",attrs:{\"small\":\"\",\"id\":\"lastReport\",\"disabled\":_vm.isLastReport || _vm.noReportsOfSelectedType},on:{\"click\":function($event){return _vm.switchDate('last')}}},[_vm._v(\" Last \"),_c('v-icon',{staticClass:\"ml-1\"},[_vm._v(\"mdi-page-last\")])],1)],1),_c('PdfViewer',{attrs:{\"pdfSrc\":_vm.pdfSrc,\"downloadUrl\":_vm.pdfDownloadUrl,\"pdfTitle\":_vm.pdfTitle,\"pdfLoader\":_vm.pdfLoader},on:{\"update:pdfLoader\":function($event){_vm.pdfLoader=$event},\"update:pdf-loader\":function($event){_vm.pdfLoader=$event}}})],1)])],1):_c('featureNotAvailable')}\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\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\nimport store from \"@/store\";\n// components\nimport PdfViewer from \"@/components/PdfViewer.vue\";\nimport featureNotAvailable from \"@/components/FeatureNotAvailable.vue\";\nimport LoadingTextWave from \"@/components/LoadingTextWave.vue\";\n// types\nimport { report, reportType } from \"@/types/reports\";\n// modules\nimport { getModule } from \"vuex-module-decorators\";\nimport VesselsModule from \"@/store/clients/Vessels.module\";\nimport ReportsModule from \"@/store/clients/Reports.module\";\n// utilities\nimport dateHelper from \"Utilities/date-helper\";\nimport stringHelper from \"Utilities/string-helper\";\n\nconst Vessels = getModule(VesselsModule, store);\nconst Reports = getModule(ReportsModule, store);\n\n@Component({\n components: {\n PdfViewer,\n featureNotAvailable,\n LoadingTextWave,\n },\n})\nexport default class Report extends Vue {\n loadingView = true;\n noReportAvailable = false;\n vessel = Vessels.currentVessel;\n selectedReportTypeId = 1;\n report: report | null = null;\n pdfSrc = \"\";\n selectedDate = \"\";\n calendarMenu = false;\n selectedReportIndex = -1;\n pdfLoader = false;\n\n @Watch(\"selectedReportTypeId\")\n onReportTypeChange(): void {\n this.report = null;\n this.checkForReportsOnDate();\n this.setReportToMostRecent();\n }\n\n @Watch(\"selectedDate\")\n onDateChange(): void {\n this.checkForReportsOnDate();\n this.calendarMenu = false;\n }\n\n @Watch(\"report\")\n async onReportChange(report: report): Promise {\n if (!report) return;\n this.pdfLoader = true;\n this.pdfSrc = await Reports.getReportUrl(report.id);\n }\n\n async created(): Promise {\n await Reports.refreshReportTypes();\n\n if (Vessels.currentVessel) await Reports.refreshReports(Vessels.currentVessel.id);\n\n this.setReportToMostRecent();\n this.loadingView = false;\n }\n\n setReportToMostRecent(): void {\n if (this.reportsFilteredByType.length === 0) {\n this.noReportAvailable = true;\n } else {\n const mostRecentReport = this.reportsFilteredByType.slice(-1)[0];\n this.selectedDate = mostRecentReport.reportDateTime.substring(0, 10);\n this.report = mostRecentReport;\n this.selectedReportIndex = this.datesWithReportOfSelectedType.length - 1;\n }\n }\n\n checkForReportsOnDate(): void {\n const reportDateIndex = this.reportsFilteredByType.findIndex(report => this.formatReportDate(report) === this.selectedDate);\n\n if (reportDateIndex >= 0) {\n const reports = this.reportsFilteredByType.filter(report => report.reportDateTime.substr(0, 10) === this.selectedDate);\n\n this.selectedReportIndex = reportDateIndex;\n this.report = reports[0];\n this.noReportAvailable = false;\n } else {\n this.report = null;\n this.pdfSrc = \"\";\n this.selectedReportIndex = -1;\n this.noReportAvailable = true;\n }\n }\n\n switchDate(type: string): void {\n switch (type) {\n case \"last\":\n this.selectedDate = this.datesWithReportOfSelectedType[this.datesWithReportOfSelectedType.length - 1];\n break;\n case \"prev\":\n this.selectedDate = this.datesWithReportOfSelectedType[this.selectedReportIndex - 1];\n break;\n case \"next\":\n let i = this.selectedReportIndex;\n\n while (this.datesWithReportOfSelectedType[i] === this.selectedDate) {\n i++;\n }\n\n this.selectedDate = this.datesWithReportOfSelectedType[i];\n break;\n case \"first\":\n this.selectedDate = this.datesWithReportOfSelectedType[0];\n break;\n }\n }\n\n formatReportDate(report: report): string {\n return report.reportDateTime.substr(0, 10);\n }\n\n get reportsFilteredByType(): report[] {\n return Reports.reports.filter(report => {\n return report.reportTypeId === this.selectedReportTypeId;\n });\n }\n\n get featureEnabled(): boolean {\n if (!this.vessel) return false;\n return this.vessel.features.some(feature => feature.name === \"Reports\");\n }\n\n get datesWithReportOfSelectedType(): string[] {\n return this.reportsFilteredByType.map(report => {\n return this.formatReportDate(report);\n });\n }\n\n get multipleReportsFromSameDate(): { name: string; report: report }[] {\n const reportTypes = Reports.reportTypes;\n const ksaInputReportTypeId = reportTypes.find(reportType => reportType.reportTypeName === \"KSA Input\")?.id;\n const ksaResultReportTypeId = reportTypes.find(reportType => reportType.reportTypeName === \"KSA Result\")?.id;\n\n if (this.report?.reportTypeId === ksaInputReportTypeId || this.report?.reportTypeId === ksaResultReportTypeId) {\n // Get all ksa reports from selected date. Ksa-reports are filtered from\n // other reports becuase we need to separate input and output reports.\n const ksaReports = Reports.reports.filter(report => {\n return report.reportDateTime.substr(0, 10) === this.selectedDate && (report.reportTypeId === ksaInputReportTypeId || report.reportTypeId === ksaResultReportTypeId);\n });\n\n return ksaReports.map(report => {\n const reportObject = { name: \"\", report: report };\n\n report.reportTypeId === ksaInputReportTypeId\n ? (reportObject.name = report.reportDateTime.substring(11, 16) + \" - Input\")\n : (reportObject.name = report.reportDateTime.substring(11, 16) + \" - Result\");\n\n return reportObject;\n });\n } else {\n const reports = Reports.reports.filter(report => {\n return report.reportDateTime.substr(0, 10) === this.selectedDate && report.reportTypeId === this.selectedReportTypeId;\n });\n\n return reports.map(report => {\n const reportObject = { name: report.reportDateTime.substring(11, 16), report: report };\n\n return reportObject;\n });\n }\n }\n\n get reportTypesAsListItems(): reportType[] {\n let isKsaAdded = false;\n const selectItems: reportType[] = [];\n\n Reports.reportTypes.forEach(type => {\n if (stringHelper.stringContains(type.reportTypeName, \"ksa\")) {\n if (isKsaAdded) return;\n\n // Clone the object as we don't want to change the name in the store.\n const reportType = JSON.parse(JSON.stringify(type));\n reportType.reportTypeName = \"KSA\";\n isKsaAdded = true;\n\n selectItems.push(reportType);\n } else {\n if (type.reportTypeName === \"Shapoli\") return;\n\n selectItems.push(type);\n }\n });\n\n return selectItems;\n }\n\n get noReportMessage(): string {\n return this.noReportsOfSelectedType\n ? `Found no ${this.selectedReportType} reports for this vessel.`\n : `Found no ${this.selectedReportType} report for selected date. Try selecting a different date, or choose an other report type.`;\n }\n\n get pdfTitle(): string {\n return this.selectedReportType + \" report: \" + this.selectedReportDateFormatted;\n }\n\n get pdfDownloadUrl(): string {\n return \"/Reports/\" + this.report?.id + \"?userDownloadRequest=true\";\n }\n\n get selectedDateFormatted(): string {\n return dateHelper.getFormatedDateString(this.selectedDate);\n }\n\n get selectedReportDateFormatted(): string {\n return this.report ? dateHelper.getFormatedDateString(this.report.reportDateTime) : \"-\";\n }\n\n get selectedReportType(): string | undefined {\n return this.reportTypesAsListItems.find(reportType => reportType.id === this.selectedReportTypeId)?.reportTypeName;\n }\n\n get hasNextReport(): boolean {\n return this.selectedReportIndex >= 0 && this.datesWithReportOfSelectedType.length > this.selectedReportIndex + 1;\n }\n\n get hasPrevReport(): boolean {\n return this.selectedReportIndex > 0;\n }\n\n get isLastReport(): boolean {\n return this.selectedReportIndex === this.datesWithReportOfSelectedType.length - 1;\n }\n\n get isFirstReport(): boolean {\n return this.selectedReportIndex === 0;\n }\n\n get noReportsOfSelectedType(): boolean {\n return this.reportsFilteredByType.length < 1;\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!./Report.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!./Report.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Report.vue?vue&type=template&id=59790882&scoped=true&\"\nimport script from \"./Report.vue?vue&type=script&lang=ts&\"\nexport * from \"./Report.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Report.vue?vue&type=style&index=0&id=59790882&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 \"59790882\",\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 { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VDatePicker,VIcon,VMenu,VSelect,VSheet,VTextField})\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!./LoadingTextWave.vue?vue&type=style&index=0&id=10fd63c9&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loading-text d-flex justify-center\"},[_c('div',[_vm._v(\"L\")]),_c('div',[_vm._v(\"O\")]),_c('div',[_vm._v(\"A\")]),_c('div',[_vm._v(\"D\")]),_c('div',[_vm._v(\"I\")]),_c('div',[_vm._v(\"N\")]),_c('div',[_vm._v(\"G\")]),_c('div',[_vm._v(\".\")]),_c('div',[_vm._v(\".\")]),_c('div',[_vm._v(\".\")])])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingTextWave.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingTextWave.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingTextWave.vue?vue&type=template&id=10fd63c9&scoped=true&\"\nimport script from \"./LoadingTextWave.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingTextWave.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoadingTextWave.vue?vue&type=style&index=0&id=10fd63c9&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 \"10fd63c9\",\n null\n \n)\n\nexport default component.exports","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!./Report.vue?vue&type=style&index=0&id=59790882&lang=scss&scoped=true&\""],"sourceRoot":""}