{"version":3,"sources":["webpack:///../../../src/components/VSkeletonLoader/VSkeletonLoader.ts","webpack:///./src/components/FeatureMap/FeatureMapTable/index.vue?fb81","webpack:///./src/views/vessel/FeatureMapping.vue?1ff6","webpack:///./src/components/FeatureMap/FeatureMapTable/DataCell.vue?7d40","webpack:///./src/views/vessel/FeatureMapping.vue?dbce","webpack:///./src/components/FeatureMap/FeatureMapTable/headers.ts","webpack:///./src/components/FeatureMap/FeatureMapTable/index.vue?654f","webpack:///./src/components/FeatureMap/FeatureMapTable/DataCell.vue?bfaf","webpack:///./src/components/FeatureMap/FeatureMapTable/DataCell.vue","webpack:///./src/components/FeatureMap/FeatureMapTable/DataCell.vue?9545","webpack:///./src/components/FeatureMap/FeatureMapTable/DataCell.vue?cb0e","webpack:///./src/components/FeatureMap/FeatureMapTable/index.vue","webpack:///./src/components/FeatureMap/FeatureMapTable/index.vue?fdba","webpack:///./src/components/FeatureMap/FeatureMapTable/index.vue?ced1","webpack:///./src/views/vessel/FeatureMapping.vue","webpack:///./src/views/vessel/FeatureMapping.vue?be3e","webpack:///./src/views/vessel/FeatureMapping.vue?3c1c"],"names":["mixins","Elevatable","Measurable","Themeable","extend","name","props","boilerplate","Boolean","loading","tile","transition","String","type","types","Object","default","computed","attrs","this","isLoading","role","$attrs","classes","themeClasses","elevationClasses","$scopedSlots","rootTypes","actions","article","avatar","button","card","chip","heading","image","paragraph","sentences","table","text","methods","genBone","children","$createElement","staticClass","genBones","bone","split","length","generator","genStructure","Array","from","map","indexOf","mapBones","push","genSkeleton","getSlot","on","afterEnter","resetStyles","beforeEnter","onBeforeEnter","beforeLeave","onBeforeLeave","leaveCancelled","bones","replace","el","_initialStyle","display","style","setProperty","render","h","$listeners","class","measurableStyles","undefined","_vm","_h","_c","_self","model","value","callback","$$v","searchQuery","expression","headers","rows","featureMapListLoadingState","staticRenderFns","align","tooltip","sortable","width","syncRows","pageLimit","isLessThanLimit","scopedSlots","_u","key","fn","ref","_l","header","headerClasses","headerStyles","$event","sort","_v","_s","_g","_b","_e","sortBy","sortDesc","expandRows","collapseRows","item","isRowExpanded","toggleRow","index","cellData","expandedRows","includes","isDataTagORVariableMultiple","datatag","tag","staticStyle","unit","variable","list","skeletonStructure","proxy","data","directives","rawName","listFirstValue","listAmount","$emit","rowIndex","featureDescription","relatedFeatures","DataCell","slice","f","join","Vue","__decorate","Prop","Component","components","component","VIcon","VTooltip","FeatureMapTable","sortedRows","a","b","typeA","typeB","sortA","sortB","row","column","columnName","description","splice","Number","Watch","deep","VBtn","VDataTable","VList","VListItem","VListItemTitle","VMenu","VSkeletonLoader","Snackbar","getModule","SnackbarModule","store","Vessels","VesselsModule","FeatureMap","FeatureMapModule","FeatureMapping","currentVessel","vessel","features","some","feature","featureMapList","featureName","relatedDataTags","dataCellType","filter","logVariable","trim","query","toLowerCase","fetchFeatureMapList","id","showSnackbar","fetchData","VTextField"],"mappings":"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","file":"js/chunk-fc7364c2.c178961f.js","sourcesContent":["// Styles\nimport './VSkeletonLoader.sass'\n\n// Mixins\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\nimport { PropValidator } from 'vue/types/options'\n\nexport interface HTMLSkeletonLoaderElement extends HTMLElement {\n _initialStyle?: {\n display: string | null\n transition: string\n }\n}\n\n/* @vue/component */\nexport default mixins(\n Elevatable,\n Measurable,\n Themeable,\n).extend({\n name: 'VSkeletonLoader',\n\n props: {\n boilerplate: Boolean,\n loading: Boolean,\n tile: Boolean,\n transition: String,\n type: String,\n types: {\n type: Object,\n default: () => ({}),\n } as PropValidator>,\n },\n\n computed: {\n attrs (): object {\n if (!this.isLoading) return this.$attrs\n\n return !this.boilerplate ? {\n 'aria-busy': true,\n 'aria-live': 'polite',\n role: 'alert',\n ...this.$attrs,\n } : {}\n },\n classes (): object {\n return {\n 'v-skeleton-loader--boilerplate': this.boilerplate,\n 'v-skeleton-loader--is-loading': this.isLoading,\n 'v-skeleton-loader--tile': this.tile,\n ...this.themeClasses,\n ...this.elevationClasses,\n }\n },\n isLoading (): boolean {\n return !('default' in this.$scopedSlots) || this.loading\n },\n rootTypes (): Record {\n return {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, card-heading',\n 'card-avatar': 'image, list-item-avatar',\n 'card-heading': 'heading',\n chip: 'chip',\n 'date-picker': 'list-item, card-heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n paragraph: 'text@3',\n sentences: 'text@2',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'heading, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'table-cell@6',\n 'table-cell': 'text',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text',\n ...this.types,\n }\n },\n },\n\n methods: {\n genBone (text: string, children: VNode[]) {\n return this.$createElement('div', {\n staticClass: `v-skeleton-loader__${text} v-skeleton-loader__bone`,\n }, children)\n },\n genBones (bone: string): VNode[] {\n // e.g. 'text@3'\n const [type, length] = bone.split('@') as [string, number]\n const generator = () => this.genStructure(type)\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({ length }).map(generator)\n },\n // Fix type when this is merged\n // https://github.com/microsoft/TypeScript/pull/33050\n genStructure (type?: string): any {\n let children = []\n type = type || this.type || ''\n const bone = this.rootTypes[type] || ''\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.indexOf(',') > -1) return this.mapBones(type)\n // Array of values - e.g. 'paragraph@4'\n else if (type.indexOf('@') > -1) return this.genBones(type)\n // Array of values - e.g. 'card@2'\n else if (bone.indexOf(',') > -1) children = this.mapBones(bone)\n // Array of values - e.g. 'list-item@2'\n else if (bone.indexOf('@') > -1) children = this.genBones(bone)\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(this.genStructure(bone))\n\n return [this.genBone(type, children)]\n },\n genSkeleton () {\n const children = []\n\n if (!this.isLoading) children.push(getSlot(this))\n else children.push(this.genStructure())\n\n /* istanbul ignore else */\n if (!this.transition) return children\n\n /* istanbul ignore next */\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n // Only show transition when\n // content has been loaded\n on: {\n afterEnter: this.resetStyles,\n beforeEnter: this.onBeforeEnter,\n beforeLeave: this.onBeforeLeave,\n leaveCancelled: this.resetStyles,\n },\n }, children)\n },\n mapBones (bones: string) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(this.genStructure)\n },\n onBeforeEnter (el: HTMLSkeletonLoaderElement) {\n this.resetStyles(el)\n\n if (!this.isLoading) return\n\n el._initialStyle = {\n display: el.style.display,\n transition: el.style.transition,\n }\n\n el.style.setProperty('transition', 'none', 'important')\n },\n onBeforeLeave (el: HTMLSkeletonLoaderElement) {\n el.style.setProperty('display', 'none', 'important')\n },\n resetStyles (el: HTMLSkeletonLoaderElement) {\n if (!el._initialStyle) return\n\n el.style.display = el._initialStyle.display || ''\n el.style.transition = el._initialStyle.transition\n\n delete el._initialStyle\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-skeleton-loader',\n attrs: this.attrs,\n on: this.$listeners,\n class: this.classes,\n style: this.isLoading ? this.measurableStyles : undefined,\n }, [this.genSkeleton()])\n },\n})\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=303bb1a0&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!./FeatureMapping.vue?vue&type=style&index=0&id=3803d5e4&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!./DataCell.vue?vue&type=style&index=0&id=13a26286&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"feature-mapping\"},[_c('div',{staticClass:\"topline d-flex align-center mb-5\"},[_c('v-text-field',{staticClass:\"search-input\",attrs:{\"prepend-inner-icon\":\"mdi-magnify\",\"placeholder\":\"Search for feature\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"auto\",\"clearable\":\"\"},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v},expression:\"searchQuery\"}})],1),_c('FeatureMapTable',{attrs:{\"headers\":_vm.headers,\"rows\":_vm.rows,\"loading\":_vm.featureMapListLoadingState}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const headers = [\r\n {\r\n text: \"Feature\",\r\n type: \"string\",\r\n align: \"left\",\r\n value: \"feature\",\r\n tooltip: \"Global metrics derived from Data Tags or other Features\",\r\n sortable: true,\r\n },\r\n {\r\n text: \"Data Tag\",\r\n type: \"datatag\",\r\n align: \"left\",\r\n value: \"datatag\",\r\n tooltip: \"Standardized labels that unify Variable names and units\",\r\n width: \"280px\",\r\n sortable: true,\r\n },\r\n {\r\n text: \"Variable\",\r\n type: \"variable\",\r\n align: \"left\",\r\n value: \"variable\",\r\n tooltip: \"Raw values received from the vessels or other sources\",\r\n width: \"280px\",\r\n sortable: true,\r\n },\r\n];\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"feature-map-table\"},[(_vm.sortedRows)?_c('v-data-table',{staticClass:\"data-quality-table\",attrs:{\"loading\":_vm.loading,\"items\":_vm.syncRows,\"headers\":_vm.headers,\"item-key\":\"key\",\"items-per-page\":_vm.pageLimit,\"hide-default-footer\":_vm.isLessThanLimit,\"hide-default-header\":\"\"},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 v-data-table-header__icon\",attrs:{\"small\":\"\"}},[_vm._v(\" mdi-arrow-up \")])],1):_vm._e(),_c('v-menu',{attrs:{\"content-class\":\"menu-table-actions\",\"transition\":\"slide-x-transition\",\"offset-x\":true,\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [(header.type === 'variable')?_c('v-btn',_vm._g(_vm._b({staticClass:\"btn-table-actions\",attrs:{\"icon\":\"\",\"plain\":\"\"}},'v-btn',attrs,false),on),[_c('v-icon',{attrs:{\"size\":\"16\"}},[_vm._v(\"mdi-dots-vertical\")])],1):_vm._e()]}}],null,true)},[_c('v-list',{staticClass:\"menu-table-actions__list\"},[_c('v-list-item',{staticClass:\"cursor-pointer\"},[_c('v-list-item-title',{on:{\"click\":_vm.expandRows}},[_vm._v(\"Expand all\")])],1),_c('v-list-item',{staticClass:\"cursor-pointer\"},[_c('v-list-item-title',{on:{\"click\":_vm.collapseRows}},[_vm._v(\"Collapse all\")])],1)],1)],1)],1)}),0)])]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [(!_vm.loading)?_c('tr',{class:{ 'expanded-row': _vm.isRowExpanded(item.key) },on:{\"click\":function($event){return _vm.toggleRow(item.key)}}},_vm._l((_vm.headers),function(header,index){return _c('td',{key:index},[_c('DataCell',{attrs:{\"data\":_vm.cellData(item, header, index),\"isRowExpanded\":_vm.isRowExpanded(item.key)}})],1)}),0):_vm._e(),(_vm.expandedRows.includes(item.key) && _vm.isDataTagORVariableMultiple(item))?_vm._l((item.datatag.list),function(tag,index){return _c('tr',{key:tag.name},[_c('td'),_c('td',{staticStyle:{\"width\":\"280px\",\"min-width\":\"280px\"}},[_c('div',[_vm._v(\" \"+_vm._s(tag.name)+\" \"),_c('span',{staticClass:\"unit\"},[_vm._v(\"(\"+_vm._s(tag.unit)+\")\")])])]),_c('td',{staticStyle:{\"width\":\"280px\",\"min-width\":\"280px\"}},[_c('div',[_vm._v(\" \"+_vm._s(item.variable.list[index].name)+\" \"),_c('span',{staticClass:\"unit\"},[_vm._v(\"(\"+_vm._s(item.variable.list[index].unit)+\")\")])])])])}):_vm._e()]}},{key:\"progress\",fn:function(){return [_c('v-skeleton-loader',{attrs:{\"type\":\"table-tbody\",\"types\":_vm.skeletonStructure}})]},proxy:true}],null,false,2116808416)}):_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',{class:['data-cell', 'd-flex', _vm.data.align]},[(_vm.isMultipleType)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isRowExpanded),expression:\"!isRowExpanded\"}],staticClass:\"value multiple mb-3\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"color\":\"black\",\"content-class\":\"with-triangle\",\"max-width\":\"220\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_vm._v(\" \"+_vm._s(_vm.listFirstValue)+\" \"),_c('span',{staticClass:\"counter\"},[_vm._v(\"+\"+_vm._s(_vm.listAmount))])])]}}],null,false,218613263)},[_c('span',{staticClass:\"tooltip-text\"},_vm._l((_vm.listWithoutFirstValue),function(item){return _c('span',{key:item.name,staticClass:\"list-item d-flex\"},[_vm._v(_vm._s(item.name)+\" \"),_c('span',{staticClass:\"unit font-italic ml-2\"},[_vm._v(\"(\"+_vm._s(item.unit)+\")\")])])}),0)])],1):(_vm.data.type === 'single')?_c('div',{staticClass:\"value single mb-3\",class:{ 'truncate': !_vm.isRowExpanded }},[_vm._v(\" \"+_vm._s(_vm.data.value)+\" \"),_c('span',{staticClass:\"unit\"},[_vm._v(\"(\"+_vm._s(_vm.data.unit)+\")\")])]):(_vm.data.type === 'aggregated')?_c('div',{staticClass:\"value aggregated\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"color\":\"black\",\"content-class\":\"with-triangle\",\"max-width\":\"220\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({staticClass:\"aggregated-status\"},'div',attrs,false),on),[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"size\":\"16\",\"color\":\"info100\"}},[_vm._v(\" mdi-database \")]),_c('span',[_vm._v(\"Aggregated Value\")])],1)]}}])},[_c('span',{staticClass:\"tooltip-text\"},[_vm._v(\" This feature is calculated from other features. Please refer to them to see full list of data tags and variables \")])])],1):_c('div',{staticClass:\"value expand-row-trigger font-weight-medium\",on:{\"click\":function($event){return _vm.$emit('click', _vm.data.rowIndex)}}},[_c('div',{staticClass:\"mb-2\"},[_c('v-icon',{attrs:{\"color\":\"darkGrey100\",\"size\":\"20\"}},[_vm._v(\" \"+_vm._s(_vm.isRowExpanded ? 'mdi-chevron-up' : 'mdi-chevron-down')+\" \")]),_vm._v(\" \"+_vm._s(_vm.data.value)+\" \"),_c('span',{staticClass:\"unit\"},[_vm._v(\"(\"+_vm._s(_vm.data.unit)+\")\")])],1),(_vm.isRowExpanded)?_c('div',{staticClass:\"feature-description mb-2\"},[_vm._v(\" \"+_vm._s(_vm.data.featureDescription)+\" \"),(_vm.isAggregated)?_c('p',{staticClass:\"aggregated-list ma-0 mt-2\"},[_vm._v(\" Calculated from \"+_vm._s(_vm.relatedFeatures)+\" \")]):_vm._e()]):_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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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// components\n\n// types\nimport { CellData } from \"@/types/dataQuality/dataQualityTable\";\n\n@Component({\n components: {},\n})\nexport default class DataCell extends Vue {\n @Prop({ type: Object }) data!: CellData;\n @Prop({ type: Boolean, default: false }) isRowExpanded!: boolean;\n\n // @Getters\n get isMultipleType(): boolean {\n if (!this.data) return false;\n return Boolean(this.data.list && this.data.list.length > 1);\n }\n\n get isSingleType(): boolean {\n if (!this.data) return false;\n return Boolean(this.data.list && this.data.list.length === 1);\n }\n\n get isAggregated(): boolean {\n if (!this.data || !this.data.relatedFeatures) return false;\n return this.data.relatedFeatures.length > 0;\n }\n\n get listAmount(): number {\n if (!this.data || !this.data.list) return 0;\n // don't include first item that should be shown\n return this.data.list.length - 1;\n }\n\n get listFirstValue(): string {\n if (!this.data || !this.data.list) return \"\";\n return this.data.list[0].name;\n }\n\n get listWithoutFirstValue(): any[] {\n if (!this.data || !this.data.list) return [];\n return this.data.list.slice(1);\n }\n\n get relatedFeatures(): string {\n if (!this.data.relatedFeatures) return \"\";\n return this.data.relatedFeatures.map(f => f.name).join(\", \");\n }\n // @Methods\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=13a26286&scoped=true&\"\nimport script from \"./DataCell.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataCell.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DataCell.vue?vue&type=style&index=0&id=13a26286&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 \"13a26286\",\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';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Watch, 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 FeatureMapTable 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: string | null = \"feature.value\";\n sortDesc: boolean | null = false;\n pageLimit = 10;\n expandedRows: number[] = [];\n syncRows: DataQualityRow[] = [];\n\n @Watch(\"sortedRows\", { deep: true })\n onSortedRowsChanged() {\n this.syncRows = this.sortedRows;\n }\n\n // @Getters\n get isLessThanLimit(): boolean {\n return this.rows.length <= this.pageLimit;\n }\n\n get sortedRows() {\n if (this.sortBy === null) {\n return this.rows;\n }\n\n return this.rows.slice().sort((a, b) => {\n if (this.sortBy === \"datatag.value\" || this.sortBy === \"variable.value\") {\n const typeA = a[this.sortBy === \"datatag.value\" ? \"datatag\" : \"variable\"].type;\n const typeB = b[this.sortBy === \"datatag.value\" ? \"datatag\" : \"variable\"].type;\n\n if (this.sortDesc) {\n if (typeA === \"multiple\" && typeB !== \"multiple\") return -1;\n if (typeA !== \"multiple\" && typeB === \"multiple\") return 1;\n if (typeA === \"single\" && typeB !== \"single\") return 1;\n if (typeA !== \"single\" && typeB === \"single\") return -1;\n } else {\n if (typeA === \"single\" && typeB !== \"single\") return -1;\n if (typeA !== \"single\" && typeB === \"single\") return 1;\n if (typeA === \"multiple\" && typeB !== \"multiple\") return 1;\n if (typeA !== \"multiple\" && typeB === \"multiple\") return -1;\n }\n }\n\n const sortA = a[this.sortBy as any]?.value || \"\";\n const sortB = b[this.sortBy as any]?.value || \"\";\n if (this.sortDesc) {\n return sortA < sortB ? 1 : -1;\n } else {\n return sortA > sortB ? 1 : -1;\n }\n });\n }\n\n get skeletonStructure(): object {\n return { \"table-row\": `table-cell@3` };\n }\n\n // @Methods\n cellData(row: DataQualityRow, header: DataQualityHeader, index: number): any {\n return {\n column: header.value,\n columnName: header.text,\n index: index,\n rowIndex: row.key,\n type: header.type === \"string\" ? \"string\" : row[header.value].type,\n align: header.align,\n value: row[header.value].value,\n list: row[header.value].list,\n relatedFeatures: row[header.value].relatedFeatures,\n unit: row[header.value].unit,\n featureDescription: header.value === \"feature\" ? row[header.value].description : null,\n };\n }\n\n toggleRow(rowIndex: number) {\n const index = this.expandedRows.indexOf(rowIndex);\n if (index === -1) {\n this.expandedRows.push(rowIndex);\n } else {\n this.expandedRows.splice(index, 1);\n }\n }\n\n isRowExpanded(key: number): boolean {\n return this.expandedRows.includes(key);\n }\n\n expandRows(): void {\n this.expandedRows = this.rows.map(row => Number(row.key));\n }\n\n collapseRows(): void {\n this.expandedRows = [];\n }\n\n sort(value: string) {\n if (this.sortBy === value) {\n if (this.sortDesc === null) {\n this.sortDesc = false;\n } else if (this.sortDesc === false) {\n this.sortDesc = true;\n } else {\n this.sortBy = null;\n this.sortDesc = null;\n }\n } else {\n this.sortBy = value;\n this.sortDesc = false;\n }\n }\n\n isDataTagORVariableMultiple(item: DataQualityRow): boolean {\n return item.datatag.type === \"multiple\" || item.variable.type === \"multiple\";\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","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=303bb1a0&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=303bb1a0&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 \"303bb1a0\",\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 { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VList,VListItem,VListItemTitle,VMenu,VSkeletonLoader,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\nimport { Component, Vue } from \"vue-property-decorator\";\nimport store from \"@/store\";\nimport moment from \"moment\";\n// types\nimport { ExtendedVessel } from \"@/types/Vessel\";\nimport { FeatureMapItem, RelatedDataTag } from \"@/types/FeatureMap\";\nimport { headers } from \"@/components/FeatureMap/FeatureMapTable/headers\";\n// components\nimport FeatureMapTable from \"@/components/FeatureMap/FeatureMapTable/index.vue\";\n\n// modules\nimport { getModule } from \"vuex-module-decorators\";\nimport SnackbarModule from \"@/store/clients/Snackbar.module\";\nimport VesselsModule from \"@/store/clients/Vessels.module\";\nimport FeatureMapModule from \"@/store/clients/FeatureMap.module\";\n\nconst Snackbar = getModule(SnackbarModule, store);\nconst Vessels = getModule(VesselsModule, store);\nconst FeatureMap = getModule(FeatureMapModule, store);\n\n@Component({\n components: {\n FeatureMapTable,\n },\n})\nexport default class FeatureMapping extends Vue {\n searchQuery = \"\";\n headers = headers;\n\n // @Getters\n get vessel(): ExtendedVessel | null {\n if (!Vessels.currentVessel) return null;\n return Vessels.currentVessel;\n }\n\n get featureEnabled(): boolean {\n if (!this.vessel) return false;\n\n return this.vessel.features.some(feature => feature.name === \"Fouling\");\n }\n\n get featureMapListLoadingState() {\n return FeatureMap.featureMapListLoadingState;\n }\n\n get featureMapList(): FeatureMapItem[] {\n return FeatureMap.featureMapList;\n }\n\n get rows(): any {\n const rows = this.featureMapList.map((item, index) => ({\n key: index,\n feature: {\n value: item.featureName,\n description: item.featureDescription,\n relatedFeatures: item.relatedFeatures,\n unit: item.relatedDataTags.length >= 1 ? item.relatedDataTags[0].unit : \"N/A\",\n },\n datatag: {\n type: this.dataCellType(item),\n value: item.relatedDataTags.map(tag => tag.name).join(\", \"),\n list: item.relatedDataTags,\n unit: item.relatedDataTags.length >= 1 ? item.relatedDataTags[0].unit : \"N/A\",\n },\n variable: {\n type: this.dataCellType(item),\n value: item.relatedDataTags\n .filter(tag => tag.logVariable)\n .map(tag => tag.logVariable.name)\n .join(\", \"),\n list: item.relatedDataTags.filter(tag => tag.logVariable).map(tag => tag.logVariable),\n unit:\n item.relatedDataTags.filter(tag => tag.logVariable).map(tag => tag.logVariable).length >= 1\n ? item.relatedDataTags.filter(tag => tag.logVariable).map(tag => tag.logVariable)[0]?.unit\n : \"N/A\",\n },\n }));\n\n if (this.searchQuery && this.searchQuery.trim()) {\n const query = this.searchQuery.toLowerCase();\n return rows.filter(item => item.feature.value.toLowerCase().includes(query) || item.datatag.value.toLowerCase().includes(query) || item.variable.value.toLowerCase().includes(query));\n }\n\n return rows;\n }\n\n // @Methods\n async fetchData(): Promise {\n if (!this.vessel) return;\n\n try {\n await FeatureMap.fetchFeatureMapList(this.vessel?.id);\n } catch (e) {\n Snackbar.showSnackbar({ text: \"Failed to load feature mapping data\" });\n }\n }\n\n dataCellType(data: any): string {\n if (data.relatedFeatures.length > 0) return \"aggregated\";\n return data.relatedDataTags.length === 1 ? \"single\" : \"multiple\";\n }\n\n // @Hooks\n async created(): Promise {\n await this.fetchData();\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!./FeatureMapping.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!./FeatureMapping.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FeatureMapping.vue?vue&type=template&id=3803d5e4&scoped=true&\"\nimport script from \"./FeatureMapping.vue?vue&type=script&lang=ts&\"\nexport * from \"./FeatureMapping.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FeatureMapping.vue?vue&type=style&index=0&id=3803d5e4&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 \"3803d5e4\",\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 { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VTextField})\n"],"sourceRoot":""}