{"version":3,"sources":["webpack:///./src/components/dataQuality/DataOutliersTable/DataIndicator.vue?a532","webpack:///./src/views/dataQuality/DataOutliers.vue?d56e","webpack:///./src/views/dataQuality/VDataTableHeaders/DataOutliers.ts","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersTakeActionModal.vue?2fbd","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersModalTable.vue?b780","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersModalTable.vue","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersModalTable.vue?b17a","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersModalTable.vue?0376","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersModalFilter.vue?81d9","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersModalFilter.vue","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersModalFilter.vue?b907","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersModalFilter.vue?29bf","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersModalFooter.vue?e490","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersModalFooter.vue","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersModalFooter.vue?caaf","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersModalFooter.vue?e07c","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersTakeActionModal.vue","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersTakeActionModal.vue?fd25","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersTakeActionModal.vue?2a11","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersViewHistoryModal.vue?9adc","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersViewHistoryModal.vue","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersViewHistoryModal.vue?f640","webpack:///./src/components/dataQuality/dataOutliersModals/DataOutliersViewHistoryModal.vue?ccbb","webpack:///./src/components/dataQuality/DataOutliersTable/index.vue?0017","webpack:///./src/components/dataQuality/DataOutliersTable/DataCell.vue?67f2","webpack:///./src/components/dataQuality/DataOutliersTable/DataIndicator.vue?5ff7","webpack:///./src/components/dataQuality/DataOutliersTable/DataIndicator.vue","webpack:///./src/components/dataQuality/DataOutliersTable/DataIndicator.vue?dacf","webpack:///./src/components/dataQuality/DataOutliersTable/DataIndicator.vue?34c7","webpack:///./src/components/dataQuality/DataOutliersTable/DataCell.vue","webpack:///./src/components/dataQuality/DataOutliersTable/DataCell.vue?d45c","webpack:///./src/components/dataQuality/DataOutliersTable/DataCell.vue?5d60","webpack:///./src/components/dataQuality/DataOutliersTable/index.vue","webpack:///./src/components/dataQuality/DataOutliersTable/index.vue?2b57","webpack:///./src/components/dataQuality/DataOutliersTable/index.vue?dcf9","webpack:///./src/views/dataQuality/DataOutliers.vue","webpack:///./src/views/dataQuality/DataOutliers.vue?3ddb","webpack:///./src/views/dataQuality/DataOutliers.vue?876a","webpack:///./src/components/dataQuality/DataOutliersTable/index.vue?5679","webpack:///./src/views/dataQuality/DataOutliers.vue?30a9"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","model","value","callback","$$v","searchQuery","expression","on","$event","stopPropagation","preventDefault","takeActionDialog","_v","viewHistoryDialog","headers","dataOutliers","staticRenderFns","text","type","align","width","class","tooltip","dialog","scopedSlots","_u","key","fn","ref","_g","staticStyle","tagTableHeaders","selectedColumn","searchTerm","selectedRows","modalTableLoading","filteredTags","isDisabled","warningMessage","closeModal","submitAcknowledgeSelectedTags","submitRemoveSelectedTags","loading","selection","DataOutliersModalTable","item","Vue","__decorate","PropSync","Array","default","Prop","Boolean","Component","component","VDataTable","selectionWithNone","top","offsetY","selectedItem","DataOutliersModalFilter","map","header","String","VCol","VRow","VSelect","VTextField","_s","displayedMessage","_e","$emit","textBlueButton","textRedButton","DataOutliersModalFooter","VAlert","VBtn","VCardActions","VCard","Vessels","getModule","VesselsModule","store","DataQuality","DataQualityModule","DataOutliersTakeActionModal","Promise","all","refreshExtendedVessels","refreshDataOutliersTakeAction","modalLoadingState","dataOutliersTakeActionRow","headerKey","find","filter","toLowerCase","includes","toString","undefined","length","selectedAcknowledgedTags","vesselId","extendedVessels","vessel","name","id","timestamp","Date","tag","reasonCode","updateDataOutliersTakeActionAcknowledge","selectedRemovedTags","updateDataOutliersTakeActionRemove","dataOutliersTakeAction","index","toLocaleString","components","VCardText","VCardTitle","VDialog","VIcon","VSpacer","VTooltip","submitUndoSelectedActions","DataOutliersViewHistoryModal","refreshDataOutliersViewHistory","dataOutliersViewHistoryRow","selectedUndoActions","actionTaken","dateOfAction","userWhoActed","updateDataOutliersViewHistory","dataOutliersViewHistory","toLocaleDateString","rows","sortBy","sortDesc","pageLimit","isLessThanLimit","_l","headerClasses","style","headerStyles","sort","_b","cellData","IndicatorData","data","isNotAvailable","statusColor","icon","outlierValueClasses","navigateToLink","apply","arguments","DataIndicator","status","Number","link","Error","$router","push","dateHelper","getFormatedDateTimeString","getHumanizeDuration","moment","valueOf","Object","DataCell","isIndicator","column","indicatorText","indicatorIcon","DataOutliersTable","row","columnName","links","sortable","DataOutliers","process","vesselName","overallStatus","stw","featureName","draft","speedLog","gefoc1","gefoc2","refreshDataOutliers","VContainer"],"mappings":"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","file":"js/chunk-fa278d40.5b3051a8.js","sourcesContent":["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!./DataIndicator.vue?vue&type=style&index=0&id=225a375a&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"main\"},[(_vm.isEnvDevelopment)?_c('div',{staticClass:\"data-outliers-wrapper\"},[_c('div',{staticClass:\"topline d-flex align-center\"},[_c('v-text-field',{staticClass:\"search-input pa-1\",attrs:{\"prepend-inner-icon\":\"mdi-magnify\",\"placeholder\":\"Search for vessel\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"auto\",\"clearable\":\"\"},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v},expression:\"searchQuery\"}}),_c('v-btn',{staticClass:\"ma-1 font-weight-bold\",attrs:{\"color\":\"neutralLighten100\",\"elevation\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.takeActionDialog = true}}},[_vm._v(\"Manage Outliers\")]),_c('v-btn',{staticClass:\"ma-1 font-weight-bold\",attrs:{\"color\":\"neutralLighten100\",\"elevation\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.viewHistoryDialog = true}}},[_vm._v(\"View History\")])],1),_c('DataOutliersTakeActionModal',{attrs:{\"isOpen\":_vm.takeActionDialog},on:{\"update:isOpen\":function($event){_vm.takeActionDialog=$event},\"update:is-open\":function($event){_vm.takeActionDialog=$event}}}),_c('DataOutliersViewHistoryModal',{attrs:{\"isOpen\":_vm.viewHistoryDialog},on:{\"update:isOpen\":function($event){_vm.viewHistoryDialog=$event},\"update:is-open\":function($event){_vm.viewHistoryDialog=$event}}}),_c('DataOutliersTable',{attrs:{\"headers\":_vm.headers,\"rows\":_vm.dataOutliers,\"loading\":false}})],1):_c('div',{staticClass:\"not-available\"},[_c('h2',[_vm._v(\"Feature under development\")]),_c('p',[_vm._v(\"Data Outliers is currently under development and will be available soon.\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { DataQualityHeader } from \"@/types/dataQuality/dataQualityTable\";\r\nexport const headers: DataQualityHeader[] = [\r\n {\r\n text: \"Vessel\",\r\n type: \"string\",\r\n align: \"left\",\r\n value: \"vesselName\",\r\n width: \"260px\",\r\n },\r\n {\r\n text: \"Overall Status\",\r\n type: \"dataIndicator\",\r\n class: \"overall-column\",\r\n align: \"left\",\r\n value: \"overallStatus\",\r\n tooltip: \"Indicates the overall status of outliers found of each vessel.\",\r\n },\r\n {\r\n text: \"STW\",\r\n type: \"percentIndicator\",\r\n class: \"text-center\",\r\n align: \"center\",\r\n value: \"stw\",\r\n width: \"140px\",\r\n },\r\n {\r\n text: \"Draft\",\r\n type: \"percentIndicator\",\r\n align: \"center\",\r\n class: \"text-center\",\r\n value: \"draft\",\r\n width: \"140px\",\r\n },\r\n {\r\n text: \"SP#1\",\r\n type: \"percentIndicator\",\r\n align: \"center\",\r\n class: \"text-center\",\r\n value: \"speedLog\",\r\n width: \"140px\",\r\n },\r\n {\r\n text: \"SP#2\",\r\n type: \"percentIndicator\",\r\n align: \"center\",\r\n class: \"text-center\",\r\n value: \"gefoc1\",\r\n width: \"140px\",\r\n },\r\n {\r\n text: \"ME #1FOC\",\r\n type: \"percentIndicator\",\r\n align: \"center\",\r\n class: \"text-center\",\r\n value: \"speedLog\",\r\n width: \"140px\",\r\n },\r\n {\r\n text: \"ME #2FOC\",\r\n type: \"percentIndicator\",\r\n align: \"center\",\r\n class: \"text-center\",\r\n value: \"speedLog\",\r\n width: \"140px\",\r\n },\r\n {\r\n text: \"G/E #1FOC\",\r\n type: \"percentIndicator\",\r\n align: \"center\",\r\n class: \"text-center\",\r\n value: \"speedLog\",\r\n width: \"140px\",\r\n },\r\n {\r\n text: \"G/E #2FOC\",\r\n type: \"percentIndicator\",\r\n align: \"center\",\r\n class: \"text-center\",\r\n value: \"speedLog\",\r\n width: \"140px\",\r\n },\r\n {\r\n text: \"G/E #3FOC\",\r\n type: \"percentIndicator\",\r\n align: \"center\",\r\n class: \"text-center\",\r\n value: \"speedLog\",\r\n width: \"140px\",\r\n },\r\n {\r\n text: \"G/E #4FOC\",\r\n type: \"percentIndicator\",\r\n align: \"center\",\r\n class: \"text-center\",\r\n value: \"speedLog\",\r\n width: \"140px\",\r\n },\r\n];\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"1000px\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',{staticClass:\"d-flex flex-column pa-5\",attrs:{\"height\":\"700\"}},[_c('v-card-title',[_c('span',{staticClass:\"headline\"},[_vm._v(\"Take Action\")]),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"max-width\":\"500\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"pa-2\",attrs:{\"color\":\"grey\",\"size\":\"x-large\"}},on),[_vm._v(\"mdi-help-circle\")])]}}])},[_c('span',{staticStyle:{\"max-width\":\"300px\"}},[_vm._v(\" Below you can see a list of all outliers found, structured by Vessel, Timestamp, Tag, Value, and Reason Code. You can select the rows you would like to take an action on. Use the filter to find outliers based on a specific column.\"),_c('br'),_c('br'),_c('h3',[_vm._v(\"Actions\")]),_c('ul',[_c('li',[_c('strong',[_vm._v(\"Acknowledge Outliers:\")]),_vm._v(\" Acknowledging an outlier means that you want to stop the system from categorizing the data point as an outlier.\")]),_c('li',[_c('strong',[_vm._v(\"Remove Outliers:\")]),_vm._v(\" Removing an outlier means that you want to remove that data point from the platform to prevent it from flowing into the diagnostics calculation. \")])]),_vm._v(\" You can always undo you actions by going to the Data Outliers page and viewing the history. \")])])],1),_c('v-card-text',{staticClass:\"pb-2 pt-2\"},[_c('DataOutliersModalFilter',{attrs:{\"selection\":_vm.tagTableHeaders,\"selected\":_vm.selectedColumn,\"search\":_vm.searchTerm},on:{\"update:selected\":function($event){_vm.selectedColumn=$event},\"update:search\":function($event){_vm.searchTerm=$event}}})],1),_c('v-card-text',{staticClass:\"pb-0\"},[_c('DataOutliersModalTable',{attrs:{\"selected\":_vm.selectedRows,\"loading\":_vm.modalTableLoading,\"headers\":_vm.tagTableHeaders,\"selection\":_vm.filteredTags},on:{\"update:selected\":function($event){_vm.selectedRows=$event}}})],1),_c('v-spacer'),_c('DataOutliersModalFooter',{attrs:{\"isOpen\":_vm.dialog,\"isDisabled\":_vm.isDisabled,\"displayedMessage\":_vm.warningMessage,\"textBlueButton\":'Acknowedge Outliers',\"textRedButton\":'Remove Outliers'},on:{\"update:isOpen\":function($event){_vm.dialog=$event},\"update:is-open\":function($event){_vm.dialog=$event},\"close\":_vm.closeModal,\"submitBlueButton\":_vm.submitAcknowledgeSelectedTags,\"submitRedButton\":_vm.submitRemoveSelectedTags}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-data-table',{attrs:{\"height\":\"400px\",\"loading\":_vm.loading,\"headers\":_vm.headers,\"items\":_vm.selection,\"single-select\":false,\"item-key\":\"key\",\"show-select\":\"\"},model:{value:(_vm.selectedRows),callback:function ($$v) {_vm.selectedRows=$$v},expression:\"selectedRows\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n import { Component, Prop, PropSync, Vue } from \"vue-property-decorator\";\n\n@Component\n export default class DataOutliersModalTable extends Vue {\n @PropSync(\"selected\", { type: Array, default: () => [] }) selectedRows!: Object[];\n @Prop({ type: Boolean, default: false }) loading!: Boolean;\n @Prop({ type: Array, default: () => [] }) selection!: Object[];\n @Prop({ type: Array, default: () => [] }) headers!: Object[];\n item: any = {};\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!./DataOutliersModalTable.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!./DataOutliersModalTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataOutliersModalTable.vue?vue&type=template&id=62d93128&\"\nimport script from \"./DataOutliersModalTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataOutliersModalTable.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 { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VDataTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('v-text-field',{staticClass:\"pa-1\",attrs:{\"label\":\"Enter search term\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"auto\",\"clearable\":\"\"},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-select',{staticClass:\"pa-1\",attrs:{\"label\":\"Filter by\",\"items\":_vm.selectionWithNone,\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"auto\",\"menu-props\":{ top: false, offsetY: true },\"clearable\":\"\"},model:{value:(_vm.selectedItem),callback:function ($$v) {_vm.selectedItem=$$v},expression:\"selectedItem\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n import { DataQualityHeader } from \"@/types/dataQuality/dataQualityTable\";\n import { Component, Prop, PropSync, Vue } from \"vue-property-decorator\";\n\n@Component\n export default class DataOutliersModalFilter extends Vue {\n @PropSync(\"selected\", { type: String, default: \"\" }) selectedItem!: string;\n @PropSync(\"search\", { type: String }) searchTerm!: string | null;\n\n @Prop({ type: Array, default: () => [] }) selection!: DataQualityHeader[];\n\n get selectionWithNone(): string[] {\n return this.selection.map(header => header.text);\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!./DataOutliersModalFilter.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!./DataOutliersModalFilter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataOutliersModalFilter.vue?vue&type=template&id=05613960&\"\nimport script from \"./DataOutliersModalFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataOutliersModalFilter.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 { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VSelect,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card-actions',[_c('v-row',{attrs:{\"justify\":\"space-between\"}},[_c('v-col',{staticClass:\"d-flex justify-start align-center\"},[(_vm.displayedMessage)?_c('v-alert',{staticClass:\"ma-0\",attrs:{\"dense\":\"\",\"color\":\"orange\",\"icon\":\"mdi-alert-circle\",\"text\":\"\",\"type\":\"warning\"}},[_vm._v(_vm._s(_vm.displayedMessage))]):_vm._e()],1),_c('v-col',{staticClass:\"d-flex justify-end align-center\"},[_c('v-btn',{attrs:{\"color\":\"medium-emphasis\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\"Cancel\")]),(_vm.textBlueButton)?_c('v-btn',{staticClass:\"ma-3\",attrs:{\"color\":\"primary\",\"disabled\":_vm.isDisabled},on:{\"click\":function($event){return _vm.$emit('submitBlueButton')}}},[_vm._v(_vm._s(_vm.textBlueButton))]):_vm._e(),(_vm.textRedButton)?_c('v-btn',{staticStyle:{\"color\":\"white\"},attrs:{\"color\":\"red darken-4\",\"disabled\":_vm.isDisabled},on:{\"click\":function($event){return _vm.$emit('submitRedButton')}}},[_vm._v(_vm._s(_vm.textRedButton))]):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n import { Component, Prop, Vue } from \"vue-property-decorator\";\n\n@Component\n export default class DataOutliersModalFooter extends Vue {\n @Prop({ type: String, default: \"\" }) displayedMessage!: string;\n @Prop({ type: Boolean, default: true }) isDisabled!: boolean;\n @Prop({ type: String, default: \"\" }) textBlueButton?: string;\n @Prop({ type: String, default: \"\" }) textRedButton?: string;\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!./DataOutliersModalFooter.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!./DataOutliersModalFooter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataOutliersModalFooter.vue?vue&type=template&id=47f31dc0&\"\nimport script from \"./DataOutliersModalFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataOutliersModalFooter.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 { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBtn,VCardActions,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n import { Component, PropSync, Vue } from \"vue-property-decorator\";\n import DataOutliersModalTable from \"./DataOutliersModalTable.vue\";\n import DataOutliersModalFilter from \"./DataOutliersModalFilter.vue\";\n import DataOutliersModalFooter from \"./DataOutliersModalFooter.vue\";\n import { DataQualityHeader } from \"@/types/dataQuality/dataQualityTable\";\n import { DataOutliersTakeActionRow } from \"@/types/dataQuality/dataOutliersTable\";\n import { getModule } from \"vuex-module-decorators\";\n import VesselsModule from \"@/store/clients/Vessels.module\";\n import store from \"@/store\";\n import DataQualityModule from \"@/store/clients/DataQuality.module\";\n import { DataOutliersTakeActionType } from \"@/types/dataQuality/dataOutliers\";\n\n const Vessels = getModule(VesselsModule, store);\n const DataQuality = getModule(DataQualityModule, store);\n\n@Component({\n components: {\n DataOutliersModalTable,\n DataOutliersModalFilter,\n DataOutliersModalFooter,\n },\n})\n export default class DataOutliersTakeActionModal extends Vue {\n @PropSync(\"isOpen\", { type: Boolean, default: false }) dialog!: boolean;\n selectedRows: DataOutliersTakeActionRow[] = [];\n selectedColumn = \"\";\n searchTerm = \"\";\n\n async created(): Promise {\n await Promise.all([Vessels.refreshExtendedVessels(), DataQuality.refreshDataOutliersTakeAction()]);\n }\n\n get modalTableLoading(): boolean {\n return DataQuality.modalLoadingState;\n }\n\n get filteredTags(): DataOutliersTakeActionRow[] {\n if (this.selectedColumn === null || this.selectedColumn === \"\") {\n return this.dataOutliersTakeActionRow;\n }\n if (this.searchTerm === null || this.searchTerm === \"\") {\n return this.dataOutliersTakeActionRow;\n }\n const headerKey = this.tagTableHeaders.find((header) => header.text === this.selectedColumn)!.value;\n return this.dataOutliersTakeActionRow.filter((item) => {\n const value = item[headerKey];\n if (typeof value === \"string\") {\n return value.toLowerCase().includes(this.searchTerm.toLowerCase());\n }\n if (typeof value === \"number\") {\n return value.toString().includes(this.searchTerm);\n }\n return false;\n });\n }\n\n get warningMessage(): String {\n if ((this.searchTerm == \"\" || this.searchTerm == null || this.searchTerm == undefined) && !(this.selectedColumn == null || this.selectedColumn == \"\")) {\n return \"Please enter a search term\";\n }\n if ((this.selectedColumn == \"\" || this.selectedColumn == null || this.selectedColumn == undefined) && !(this.searchTerm == null || this.searchTerm == \"\")) {\n return \"Please select a row to filter by\";\n }\n return \"\";\n }\n\n get isDisabled(): boolean {\n return this.selectedRows.length === 0;\n }\n\n submitAcknowledgeSelectedTags(): void {\n var selectedAcknowledgedTags: DataOutliersTakeActionType[] = this.selectedRows.map((item) => ({\n vesselId: Vessels.extendedVessels.find(vessel => vessel.name === item.name)!.id,\n timestamp: new Date(item.timestamp),\n tag: item.tag,\n value: item.value,\n reasonCode: item.reasonCode,\n }));\n DataQuality.updateDataOutliersTakeActionAcknowledge(selectedAcknowledgedTags);\n this.closeModal();\n }\n\n submitRemoveSelectedTags(): void {\n var selectedRemovedTags: DataOutliersTakeActionType[] = this.selectedRows.map((item) => ({\n vesselId: Vessels.extendedVessels.find(vessel => vessel.name === item.name)!.id,\n timestamp: new Date(item.timestamp),\n tag: item.tag,\n value: item.value,\n reasonCode: item.reasonCode,\n }));\n DataQuality.updateDataOutliersTakeActionRemove(selectedRemovedTags);\n this.closeModal();\n }\n\n closeModal(): void {\n this.selectedRows = [];\n this.selectedColumn = \"\";\n this.searchTerm = \"\";\n this.dialog = false;\n }\n\n tagTableHeaders: DataQualityHeader[] = [\n {\n text: \"Vessel\",\n type: \"string\",\n align: \"start\",\n value: \"name\",\n },\n { text: \"Timestamp\", type: \"string\", value: \"timestamp\" },\n { text: \"Tag\", type: \"string\", value: \"tag\" },\n { text: \"Value\", type: \"string\", value: \"value\" },\n { text: \"Reason Code\", type: \"string\", value: \"reasonCode\" },\n ];\n\n get dataOutliersTakeActionRow(): DataOutliersTakeActionRow[] {\n var dataOutliers = DataQuality.dataOutliersTakeAction.map((item, index) => {\n const vessel = Vessels.extendedVessels.find(vessel => vessel.id === item.vesselId);\n return {\n key: index,\n name: vessel ? vessel.name : \"Unknown Vessel\",\n timestamp: new Date(item.timestamp).toLocaleString(),\n tag: item.tag,\n value: item.value,\n reasonCode: item.reasonCode,\n };\n });\n return dataOutliers;\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!./DataOutliersTakeActionModal.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!./DataOutliersTakeActionModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataOutliersTakeActionModal.vue?vue&type=template&id=600855c0&\"\nimport script from \"./DataOutliersTakeActionModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataOutliersTakeActionModal.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 { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VDialog,VIcon,VSpacer,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"1400px\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',{staticClass:\"d-flex flex-column pa-5\",attrs:{\"height\":\"700\"}},[_c('v-card-title',[_c('span',{staticClass:\"headline\"},[_vm._v(\"View History\")]),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"max-width\":\"500\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"pa-2\",attrs:{\"color\":\"grey\",\"size\":\"x-large\"}},on),[_vm._v(\"mdi-help-circle\")])]}}])},[_c('span',{staticStyle:{\"max-width\":\"300px\"}},[_vm._v(\" This feature allows you to view all the outliers that have been removed or acknowledged by authorized users within your company. You can select outliers and undo thier action which means the data will continue to show up in the platform and will remain an outlier until you remove it or acknlowedge it again. \")])])],1),_c('v-card-text',{staticClass:\"pb-2 pt-2\"},[_c('DataOutliersModalFilter',{attrs:{\"selection\":_vm.tagTableHeaders,\"selected\":_vm.selectedColumn,\"search\":_vm.searchTerm},on:{\"update:selected\":function($event){_vm.selectedColumn=$event},\"update:search\":function($event){_vm.searchTerm=$event}}})],1),_c('v-card-text',{staticClass:\"pb-0\"},[_c('DataOutliersModalTable',{attrs:{\"selected\":_vm.selectedRows,\"loading\":_vm.modalTableLoading,\"headers\":_vm.tagTableHeaders,\"selection\":_vm.filteredTags},on:{\"update:selected\":function($event){_vm.selectedRows=$event}}})],1),_c('v-spacer'),_c('DataOutliersModalFooter',{attrs:{\"isOpen\":_vm.dialog,\"isDisabled\":_vm.isDisabled,\"displayedMessage\":_vm.warningMessage,\"textBlueButton\":'Undo Action'},on:{\"update:isOpen\":function($event){_vm.dialog=$event},\"update:is-open\":function($event){_vm.dialog=$event},\"close\":_vm.closeModal,\"submitBlueButton\":_vm.submitUndoSelectedActions}})],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 import { Component, PropSync, Vue } from \"vue-property-decorator\";\n import DataOutliersModalTable from \"./DataOutliersModalTable.vue\";\n import DataOutliersModalFilter from \"./DataOutliersModalFilter.vue\";\n import DataOutliersModalFooter from \"./DataOutliersModalFooter.vue\";\n import { DataQualityHeader } from \"@/types/dataQuality/dataQualityTable\";\n import { DataOutliersViewHistoryRow } from \"@/types/dataQuality/dataOutliersTable\";\n import { getModule } from \"vuex-module-decorators\";\n import VesselsModule from \"@/store/clients/Vessels.module\";\n import store from \"@/store\";\n import DataQualityModule from \"@/store/clients/DataQuality.module\";\n import { DataOutliersViewHistoryType } from \"@/types/dataQuality/dataOutliers\";\n\n const Vessels = getModule(VesselsModule, store);\n const DataQuality = getModule(DataQualityModule, store);\n\n@Component({\n components: {\n DataOutliersModalTable,\n DataOutliersModalFilter,\n DataOutliersModalFooter,\n },\n})\n export default class DataOutliersViewHistoryModal extends Vue {\n @PropSync(\"isOpen\", { type: Boolean, default: false }) dialog!: boolean;\n selectedRows: DataOutliersViewHistoryRow[] = [];\n selectedColumn = \"\";\n searchTerm = \"\";\n\n async created(): Promise {\n await Promise.all([Vessels.refreshExtendedVessels(), DataQuality.refreshDataOutliersViewHistory()]);\n }\n\n get modalTableLoading(): boolean {\n return DataQuality.modalLoadingState;\n }\n\n get filteredTags(): any {\n if (this.selectedColumn === null || this.selectedColumn === \"\") {\n return this.dataOutliersViewHistoryRow;\n }\n if (this.searchTerm === null || this.searchTerm === \"\") {\n return this.dataOutliersViewHistoryRow;\n }\n const headerKey = this.tagTableHeaders.find((header) => header.text === this.selectedColumn)!.value;\n return this.dataOutliersViewHistoryRow.filter((item) => {\n const value = item[headerKey];\n if (typeof value === \"string\") {\n return value.toLowerCase().includes(this.searchTerm.toLowerCase());\n }\n if (typeof value === \"number\") {\n return value.toString().includes(this.searchTerm);\n }\n return false;\n });\n }\n\n get warningMessage(): string {\n if ((this.searchTerm == \"\" || this.searchTerm == null || this.searchTerm == undefined) && !(this.selectedColumn == null || this.selectedColumn == \"\")) {\n return \"Please enter a search term\";\n }\n if ((this.selectedColumn == \"\" || this.selectedColumn == null || this.selectedColumn == undefined) && !(this.searchTerm == null || this.searchTerm == \"\")) {\n return \"Please select a row to filter by\";\n }\n return \"\";\n }\n\n get isDisabled(): boolean {\n return this.selectedRows.length === 0;\n }\n\n submitUndoSelectedActions(): void {\n var selectedUndoActions: DataOutliersViewHistoryType[] = this.selectedRows.map((item) => ({\n vesselId: Vessels.extendedVessels.find(vessel => vessel.name === item.name)!.id,\n timestamp: new Date(item.timestamp),\n tag: item.tag,\n value: item.value,\n reasonCode: item.reasonCode,\n actionTaken: item.actionTaken,\n dateOfAction: new Date(item.dateOfAction),\n userWhoActed: item.userWhoActed,\n }));\n DataQuality.updateDataOutliersViewHistory(selectedUndoActions);\n this.closeModal();\n }\n\n closeModal(): void {\n this.selectedRows = [];\n this.selectedColumn = \"\";\n this.searchTerm = \"\";\n this.dialog = false;\n }\n\n tagTableHeaders: DataQualityHeader[] = [\n {\n text: \"Vessel\",\n type: \"string\",\n align: \"start\",\n value: \"name\",\n },\n { text: \"Timestamp\", type: \"string\", value: \"timestamp\" },\n { text: \"Tag\", type: \"string\", value: \"tag\" },\n { text: \"Value\", type: \"string\", value: \"value\" },\n { text: \"Reason Code\", type: \"string\", value: \"reasonCode\" },\n { text: \"Action Taken\", type: \"string\", value: \"actionTaken\" },\n { text: \"Date of Action\", type: \"string\", value: \"dateOfAction\" },\n { text: \"User Who Acted\", type: \"string\", value: \"userWhoActed\" },\n ];\n\n get dataOutliersViewHistoryRow(): DataOutliersViewHistoryRow[] {\n var dataOutliers = DataQuality.dataOutliersViewHistory.map((item, index) => {\n const vessel = Vessels.extendedVessels.find(vessel => vessel.id === item.vesselId);\n return {\n key: index,\n name: vessel ? vessel.name : \"Unknown Vessel\",\n timestamp: new Date(item.timestamp).toLocaleString(),\n tag: item.tag,\n value: item.value,\n reasonCode: item.reasonCode,\n actionTaken: item.actionTaken,\n dateOfAction: new Date(item.dateOfAction).toLocaleDateString(),\n userWhoActed: item.userWhoActed,\n };\n });\n return dataOutliers;\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!./DataOutliersViewHistoryModal.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!./DataOutliersViewHistoryModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataOutliersViewHistoryModal.vue?vue&type=template&id=627991d7&\"\nimport script from \"./DataOutliersViewHistoryModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataOutliersViewHistoryModal.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 { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VDialog,VIcon,VSpacer,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"data-outliers-table\"},[_c('v-data-table',{attrs:{\"loading\":_vm.loading,\"items\":_vm.rows,\"headers\":_vm.headers,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"items-per-page\":_vm.pageLimit,\"hide-default-footer\":_vm.isLessThanLimit,\"hide-default-header\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){return [_c('thead',{staticClass:\"v-data-table-header\"},[_c('tr',_vm._l((_vm.headers),function(header){return _c('th',{key:header.text,class:_vm.headerClasses(header),style:(_vm.headerStyles(header)),on:{\"click\":function($event){return _vm.sort(header.value)}}},[_c('span',[_vm._v(_vm._s(header.text))]),(header.tooltip !== undefined)?_c('v-tooltip',{attrs:{\"bottom\":\"\",\"color\":\"black\",\"content-class\":\"with-triangle\",\"max-width\":\"280\"},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-1\",attrs:{\"color\":\"darkGrey75\",\"size\":\"medium\"}},'v-icon',attrs,false),on),[_vm._v(\"mdi-information-outline\")])]}}],null,true)},[_c('span',{staticClass:\"tooltip-text\"},[_vm._v(_vm._s(header.tooltip))])]):_vm._e(),(header.sortable)?_c('span',[(_vm.sortBy === header.value)?_c('v-icon',{class:{'rotate-icon': _vm.sortDesc},attrs:{\"small\":\"\"}},[_vm._v(\" mdi-arrow-up \")]):_c('v-icon',{staticClass:\"sort-icon\",attrs:{\"small\":\"\"}},[_vm._v(\" mdi-arrow-up \")])],1):_vm._e()],1)}),0)])]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [(!_vm.loading)?_c('tr',_vm._l((_vm.headers),function(header,index){return _c('td',{key:index},[(item[header.value])?_c('DataCell',{attrs:{\"data\":_vm.cellData(item, header, index)}}):_vm._e()],1)}),0):_vm._e()]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"data-cell\"},[(_vm.isIndicator)?_c('DataIndicator',{attrs:{\"data\":_vm.IndicatorData}}):_c('span',[_vm._v(_vm._s(_vm.data.value))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:['data-indicator', 'd-flex', _vm.data.align]},[(_vm.data.type === 'dataIndicator')?_c('div',{class:['status', { 'no-border' : _vm.isNotAvailable }]},[_c('v-icon',{attrs:{\"size\":12,\"color\":_vm.statusColor}},[_vm._v(\" \"+_vm._s(_vm.data.icon)+\" \")]),_c('span',[_vm._v(_vm._s(_vm.data.text))])],1):_c('div',{staticClass:\"outliers-value d-flex align-center justify-center\",class:_vm.outlierValueClasses},[_c('span',[_vm._v(_vm._s(_vm.data.text))])]),(_vm.data.link)?_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://www.google.co.uk/\"},on:{\"click\":function($event){$event.preventDefault();return _vm.navigateToLink.apply(null, arguments)}}}):_vm._e()])}\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\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\n// utilities\nimport dateHelper from \"Utilities/date-helper\";\nimport moment from \"moment\";\n// types\nimport { IndicatorData } from \"@/types/dataQuality/dataQualityTable\";\n\n@Component({})\nexport default class DataIndicator extends Vue {\n @Prop({ type: Object }) data!: IndicatorData;\n\n // @Getters\n get isNotAvailable(): boolean {\n return this.data.status === 0;\n }\n\n get statusColor() {\n if (!this.data) return;\n switch (this.data.status) {\n case 1:\n return \"success100\";\n case 2:\n return \"warning100\";\n case 3:\n return \"error100\";\n default:\n return \"darkGrey100\";\n }\n }\n\n get outlierValueClasses() {\n if (!this.data) return;\n if (Number(this.data.text) <= 10) return \"minor\";\n return \"major\";\n }\n\n // @Methods\n navigateToLink(): void {\n if (!this.data.link) throw new Error(\"Link is undefined\");\n this.$router.push(this.data.link);\n }\n\n getFormatedDateTimeString(timestamp: string): string {\n return dateHelper.getFormatedDateTimeString(timestamp);\n }\n\n duration(timestamp: string): string {\n return dateHelper.getHumanizeDuration(timestamp, moment().valueOf());\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!./DataIndicator.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!./DataIndicator.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataIndicator.vue?vue&type=template&id=225a375a&scoped=true&\"\nimport script from \"./DataIndicator.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataIndicator.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DataIndicator.vue?vue&type=style&index=0&id=225a375a&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 \"225a375a\",\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 { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\n// components\nimport DataIndicator from \"@/components/dataQuality/DataOutliersTable/DataIndicator.vue\";\n// types\nimport { CellData, IndicatorData } from \"@/types/dataQuality/dataQualityTable\";\n\n@Component({\n components: {\n DataIndicator,\n },\n})\nexport default class DataCell extends Vue {\n @Prop({ type: Object }) data!: CellData;\n\n // @Getters\n get isIndicator(): boolean {\n if (!this.data) return false;\n return this.data.type === \"dataIndicator\" || this.data.type === \"percentIndicator\";\n }\n\n get IndicatorData(): IndicatorData | undefined {\n if (!this.isIndicator) return;\n return {\n column: this.data.column,\n status: this.data.value,\n type: this.data.type,\n text: this.indicatorText,\n icon: this.indicatorIcon,\n align: this.data.align,\n link: null,\n };\n }\n\n get indicatorText(): string {\n if (this.data.column === \"overallStatus\") {\n switch (this.data.value) {\n case 1:\n return \"No Outliers\";\n case 2:\n return \"Minor Outliers\";\n case 3:\n return \"Major Outliers\";\n default:\n return \"N/A\";\n }\n } else {\n return this.data.value.toString();\n }\n }\n\n get indicatorIcon(): string {\n if (this.data.column === \"overallStatus\") {\n switch (this.data.value) {\n case 1:\n return \"mdi-check-circle\";\n case 2:\n return \"mdi-alert-circle\";\n case 3:\n return \"mdi-minus-circle\";\n default:\n return \"mdi-close-circle\";\n }\n } else {\n return \"mdi-close-circle\";\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!./DataCell.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!./DataCell.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataCell.vue?vue&type=template&id=7efba831&scoped=true&\"\nimport script from \"./DataCell.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataCell.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 \"7efba831\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Prop, Vue } from \"vue-property-decorator\";\nimport DataCell from \"./DataCell.vue\";\nimport { CellData, DataQualityHeader, DataQualityRow } from \"@/types/dataQuality/dataQualityTable\";\n\n@Component({\n components: {\n DataCell,\n },\n})\nexport default class DataOutliersTable extends Vue {\n @Prop({ type: Boolean, default: false }) loading!: Boolean;\n @Prop({ type: Array, default: () => [] }) headers!: DataQualityHeader[];\n @Prop({ type: Array, default: () => [] }) rows!: DataQualityRow[];\n @Prop({ type: Array, default: () => [] }) links!: string[] | null;\n\n sortBy = \"\";\n sortDesc = false;\n pageLimit = 10;\n\n // @Getters\n get isLessThanLimit(): boolean {\n return this.rows.length <= this.pageLimit;\n }\n\n // @Methods\n cellData(row: DataQualityRow, header: DataQualityHeader, index: number): CellData {\n return {\n column: header.value,\n columnName: header.text,\n type: header.type,\n align: header.align,\n value: row[header.value].value,\n link: this.links ? this.links[index] : null,\n };\n }\n\n headerClasses(header: any): string[] {\n return [\n header.class,\n {\n sortable: header.sortable,\n \"no-sort\": this.sortBy !== header.value,\n },\n ];\n }\n\n headerStyles(header: any): any {\n return {\n width: header.width ? header.width : \"auto\",\n \"min-width\": header.width ? header.width : \"auto\",\n };\n }\n\n sort(value: any): void {\n if (this.sortBy === value) {\n if (this.sortDesc) {\n this.sortBy = \"\";\n this.sortDesc = false;\n } else {\n this.sortDesc = true;\n }\n } else {\n this.sortBy = value;\n this.sortDesc = false;\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!./index.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!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=1a21d9a2&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=1a21d9a2&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 \"1a21d9a2\",\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 { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VIcon,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 { Vue, Component } from \"vue-property-decorator\";\nimport store from \"@/store\";\n// types\nimport { DataQualityHeader } from \"@/types/dataQuality/dataQualityTable\";\nimport { headers } from \"./VDataTableHeaders/DataOutliers\";\n// components\nimport DataOutliersTakeActionModal from \"@/components/dataQuality/dataOutliersModals/DataOutliersTakeActionModal.vue\";\nimport DataOutliersViewHistoryModal from \"@/components/dataQuality/dataOutliersModals/DataOutliersViewHistoryModal.vue\";\nimport DataOutliersTable from \"@/components/dataQuality/DataOutliersTable/index.vue\";\n\n// modules\nimport { getModule } from \"vuex-module-decorators\";\nimport DataQualityModule from \"@/store/clients/DataQuality.module\";\nimport VesselsModule from \"@/store/clients/Vessels.module\";\n\nconst Vessels = getModule(VesselsModule, store);\nconst DataQuality = getModule(DataQualityModule, store);\n\n@Component({\n components: {\n DataOutliersTable,\n DataOutliersTakeActionModal,\n DataOutliersViewHistoryModal,\n },\n})\nexport default class DataOutliers extends Vue {\n searchQuery = \"\";\n takeActionDialog = false;\n viewHistoryDialog = false;\n headers: DataQualityHeader[] = headers;\n\n // @GETTERS\n get isEnvDevelopment(): boolean {\n return process.env.NODE_ENV === \"development\";\n }\n\n get dataOutliers(): any {\n var dataOutliers = DataQuality.dataOutliers.map((item, index) => ({\n key: index,\n vesselName: {\n value: Vessels.extendedVessels.find(vessel => vessel.id === item.vesselId)?.name ?? \"Uknown Vessel\",\n link: null,\n },\n overallStatus: {\n value: item.overallStatus,\n link: null,\n },\n stw: {\n value: item.data.find(row => row.featureName === \"STW\")?.value,\n link: null,\n },\n draft: {\n value: item.data.find(row => row.featureName === \"Draft\")?.value,\n link: null,\n },\n speedLog: {\n value: item.data.find(row => row.featureName === \"speedLog\")?.value,\n link: null,\n },\n gefoc1: {\n value: item.data.find(row => row.featureName === \"gefoc1\")?.value,\n link: null,\n },\n gefoc2: {\n value: item.data.find(row => row.featureName === \"gefoc2\")?.value,\n link: null,\n },\n }));\n return dataOutliers;\n }\n // @METHODS\n // @HOOKS\n async created(): Promise {\n await Promise.all([Vessels.refreshExtendedVessels(), DataQuality.refreshDataOutliers()]);\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!./DataOutliers.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!./DataOutliers.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataOutliers.vue?vue&type=template&id=c3628f34&scoped=true&\"\nimport script from \"./DataOutliers.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataOutliers.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DataOutliers.vue?vue&type=style&index=0&id=c3628f34&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 \"c3628f34\",\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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VContainer,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!./index.vue?vue&type=style&index=0&id=1a21d9a2&lang=scss&scoped=true&\"","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!./DataOutliers.vue?vue&type=style&index=0&id=c3628f34&lang=scss&scoped=true&\""],"sourceRoot":""}