{"version":3,"sources":["webpack:///./src/views/MyNotifications/index.vue?10b0","webpack:///../../../src/components/VSkeletonLoader/VSkeletonLoader.ts","webpack:///./src/components/Notifications/NotificationSkeletonLoader.vue?bde0","webpack:///./src/components/Notifications/IncidentsTable.vue?ab6d","webpack:///./src/views/MyNotifications/index.vue?47a5","webpack:///./src/components/Notifications/IncidentsTable.vue?f37c","webpack:///./src/components/Notifications/VTableData.ts","webpack:///./src/components/Notifications/IncidentsTable.vue","webpack:///./src/components/Notifications/IncidentsTable.vue?4052","webpack:///./src/components/Notifications/IncidentsTable.vue?92a3","webpack:///./src/components/Notifications/NotificationEditDialog.vue?e293","webpack:///./src/components/Notifications/NotificationEditDialog.vue","webpack:///./src/components/Notifications/NotificationEditDialog.vue?5725","webpack:///./src/components/Notifications/NotificationEditDialog.vue?5056","webpack:///./src/components/Notifications/NotificationSkeletonLoader.vue?ddab","webpack:///./src/components/Notifications/NotificationSkeletonLoader.vue","webpack:///./src/components/Notifications/NotificationSkeletonLoader.vue?085d","webpack:///./src/components/Notifications/NotificationSkeletonLoader.vue?715c","webpack:///./src/views/MyNotifications/index.vue","webpack:///./src/views/MyNotifications/index.vue?08b8","webpack:///./src/views/MyNotifications/index.vue?c1eb"],"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","_v","model","value","callback","$$v","tab","expression","allIncidents","staticStyle","searchQuery","doSearchDebounced","_e","noData","debounceLoader","_l","group","key","groupGuid","getExtendedVesselsFromCondition","getThresholds","getUsers","getEmails","isEventShapoliChecked","isEventVoyageCompleteChecked","isEventVariableOfflineChecked","isEventMissingSignalChecked","onOpenChannels","scopedSlots","_u","fn","ref","_g","$event","onEditNotification","deleteNotification","proxy","condition","id","NotificationEditDialog","notification","selectedConditions","conditionStep","onNotificationUpdate","onNotificationEditDialogClosed","staticRenderFns","incidentTypes","selectedIncidentType","tableHeaders","tableRowItems","customSort","header","domProps","_s","item","severityColor","severity","timestamps","startTimestamp","endTimestamp","headers","sortable","width","Vessels","getModule","VesselsModule","store","IncidentsTable","incidents","tableRows","filtredIncidents","filter","row","closeVesselEventId","forEach","vesselName","vesselId","openVesselEvent","dateHelper","getFormatedDateTimeString","timestamp","closeVesselEvent","duration","durationStr","conditionDetails","toLocaleLowerCase","includes","incident","getHumanizeDuration","vessel","getExtendedVesselById","items","sortBy","isDesc","sort","a","b","Vue","__decorate","Prop","required","Component","components","component","VDataTable","VSelect","VTextField","dialogWidth","close","isModalActive","commonSelectedUsers","commonSelectedEmails","step","update","$emit","PropSync","ConditionStepper","VBtn","VCard","VCardActions","VCardText","VDialog","VSpacer","VToolbar","VToolbarTitle","NotificationSkeletonLoader","VCol","VDivider","VRow","VSkeletonLoader","Incidents","IncidentsModule","Users","UsersModule","Channels","ChannelsModule","Snackbar","SnackbarModule","MyNotifications","noResults","groupedConditions","ungroupedConditions","_","debounce","updateSearchQueryInput","newValue","getGroupedConditions","getUngroupedConditions","setTimeout","conditions","vessels","extendedVessels","groupBy","cond","isDeleted","convertedToArray","values","reverse","vesselInSearch","isVesselInSearch","some","v","toLowerCase","hasSearchQuery","channels","ch","email","conditionType","thresholds","thr","null","uniqueByVesselId","unique","x","logDataMathThresholds","find","logDataThresholds","VesselDataOverdueThresholds","LogDataExpressionThresholds","LogDataMathExpressionThresholds","ManualInputValueStaleThresholds","PerformanceStatusNotOkThresholds","PerformanceStatusObserveThresholds","ShapoliPowerReserveBreachThresholds","VoyageCompleteThresholds","VariableOfflineThresholds","MissingSignalThresholds","i","userId","strCommonSelectedUsers","intersection","user","getUserById","strCommonSelectedEmails","channel","getChannelByEmail","updateCondition","fetchConditions","showSnackbar","color","console","log","confirmDelete","open","confirmed","refreshUsers","fetchChannels","getAllOpenIncidents","getAllClosedIncidents","Ref","NotificationConfiguration","ConfirmDialog","VIcon","VTab","VTabItem","VTabs","VTabsItems","VTooltip"],"mappings":"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","file":"js/chunk-8b360a50.5d0e53bb.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!./index.vue?vue&type=style&index=0&id=f9713d48&lang=scss&scoped=true&\"","// 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!./NotificationSkeletonLoader.vue?vue&type=style&index=0&id=11e62a62&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!./IncidentsTable.vue?vue&type=style&index=0&id=9533a9ee&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('default-container',{staticClass:\"my-notifications-page-container\"},[_c('div',{staticClass:\"my-notifications-page px-4\"},[_c('h1',{staticClass:\"d-flex pt-4\"},[_vm._v(\" Notifications \"),_c('v-spacer'),_c('router-link',{attrs:{\"to\":\"/MyNotifications/AddNotification\"}},[_c('v-btn',{staticClass:\"ml-2 font-weight-bold\",attrs:{\"small\":\"\",\"color\":\"primary\"}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-plus\")]),_vm._v(\" Add Notification \")],1)],1)],1),_c('v-tabs',{staticClass:\"mb-4\",attrs:{\"bg-color\":\"primary\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab',{attrs:{\"href\":\"#Incidents\"}},[_vm._v(\"Incidents\")]),_c('v-tab',{attrs:{\"href\":\"#Conditions\"}},[_vm._v(\"Conditions\")])],1),_c('v-tabs-items',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab-item',{attrs:{\"value\":\"Incidents\"}},[_c('IncidentsTable',{attrs:{\"incidents\":_vm.allIncidents}})],1),_c('v-tab-item',{attrs:{\"value\":\"Conditions\"}},[_c('div',{staticClass:\"actions\"},[_c('v-text-field',{staticClass:\"search-input mt-2 mb-4\",staticStyle:{\"max-width\":\"250px\"},attrs:{\"value\":_vm.searchQuery,\"label\":\"Search\",\"append-icon\":\"mdi-magnify\",\"hide-details\":\"\",\"single-line\":\"\",\"flat\":\"\",\"solo\":\"\",\"dense\":\"\",\"outlined\":\"\"},on:{\"input\":_vm.doSearchDebounced}})],1),(_vm.debounceLoader)?_c('NotificationSkeletonLoader'):_vm._e(),(_vm.noData || _vm.debounceLoader)?_c('div',{staticClass:\"no-data font-weight-bold\"},[_vm._v(\"No Data Available\")]):_vm._e(),_vm._l((_vm.groupedConditions),function(group){return _c('NotificationConfiguration',{key:group[0].groupGuid,attrs:{\"vessels\":_vm.getExtendedVesselsFromCondition(group),\"thresholds\":_vm.getThresholds(group),\"users\":_vm.getUsers(group),\"emails\":_vm.getEmails(group),\"group\":group,\"shapoli-event\":_vm.isEventShapoliChecked(group),\"voyage-event\":_vm.isEventVoyageCompleteChecked(group),\"variable-offline-event\":_vm.isEventVariableOfflineChecked(group),\"missing-signal-event\":_vm.isEventMissingSignalChecked(group)},on:{\"openChannels\":_vm.onOpenChannels},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('div',{staticClass:\"actions\"},[_c('v-tooltip',{attrs:{\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"mx-2\",attrs:{\"fab\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.onEditNotification(group)}}},on),[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\" mdi-pencil \")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Edit\")])]),_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"fab\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.deleteNotification(group)}}},on),[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\" mdi-delete \")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Delete\")])])],1)]},proxy:true}],null,true)})}),_vm._l((_vm.ungroupedConditions),function(condition){return _c('NotificationConfiguration',{key:condition.id,attrs:{\"vessels\":_vm.getExtendedVesselsFromCondition([condition]),\"thresholds\":_vm.getThresholds([condition]),\"users\":_vm.getUsers([condition]),\"emails\":_vm.getEmails([condition])},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('div',{staticClass:\"actions\"},[_c('v-tooltip',{attrs:{\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"mx-2\",attrs:{\"fab\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.onEditNotification([condition])}}},on),[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\" mdi-pencil \")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Edit\")])]),_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"mx-1\",attrs:{\"fab\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.deleteNotification([condition])}}},on),[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\" mdi-delete \")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Delete\")])])],1)]},proxy:true}],null,true)})})],2)],1),_c('NotificationEditDialog',{attrs:{\"value\":_vm.NotificationEditDialog,\"max-width\":1280,\"notification\":_vm.notification,\"common-selected-users\":_vm.getUsers(_vm.selectedConditions),\"common-selected-emails\":_vm.getEmails(_vm.selectedConditions),\"step\":_vm.conditionStep},on:{\"update:value\":function($event){_vm.NotificationEditDialog=$event},\"click:outside\":function($event){_vm.NotificationEditDialog = false},\"update\":_vm.onNotificationUpdate,\"close\":_vm.onNotificationEditDialogClosed}}),_c('ConfirmDialog',{ref:\"confirmDelete\"})],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',[_c('div',{staticClass:\"actions d-flex mb-3\"},[_c('v-text-field',{staticClass:\"search-input mt-2\",staticStyle:{\"max-width\":\"250px\"},attrs:{\"label\":\"Search\",\"append-icon\":\"mdi-magnify\",\"hide-details\":\"\",\"single-line\":\"\",\"flat\":\"\",\"solo\":\"\",\"dense\":\"\",\"outlined\":\"\"},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v},expression:\"searchQuery\"}}),_c('v-select',{staticClass:\"ml-4\",staticStyle:{\"max-width\":\"100px\"},attrs:{\"items\":_vm.incidentTypes,\"label\":\"Status filter\",\"hide-details\":\"\"},model:{value:(_vm.selectedIncidentType),callback:function ($$v) {_vm.selectedIncidentType=$$v},expression:\"selectedIncidentType\"}})],1),_c('v-data-table',{staticClass:\"notifications-table\",attrs:{\"loading\":false,\"loading-text\":\"Loading... Please wait\",\"headers\":_vm.tableHeaders,\"items\":_vm.tableRowItems,\"items-per-page\":15,\"custom-sort\":_vm.customSort,\"height\":\"100%\",\"dense\":\"\"},scopedSlots:_vm._u([_vm._l((_vm.tableHeaders),function(header){return {key:(\"header.\" + (header.value)),fn:function(ref){\nvar header = ref.header;\nreturn [_c('div',{staticClass:\"d-inline-flex flex-column\"},[_c('span',{staticClass:\"primary--text\",staticStyle:{\"line-height\":\"1.5rem\",\"font-size\":\"0.9rem\"},domProps:{\"innerHTML\":_vm._s(header.text)}})])]}}}),{key:\"item.severity\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"severity-item d-flex py-2\"},[_c('span',{class:_vm.severityColor(item.severity)},[_vm._v(_vm._s(item.severity))])])]}},{key:\"item.timestamps\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',[_vm._v(_vm._s(item.timestamps.startTimestamp)+\" \"),(item.timestamps.endTimestamp)?_c('span',[_vm._v(\"- \"+_vm._s(item.timestamps.endTimestamp))]):_vm._e()])]}},(_vm.isNoData)?{key:\"no-data\",fn:function(){return [_c('div',{staticClass:\"no-data-slot\"},[_c('h6',{staticClass:\"text-h6\"},[_vm._v(\"There are no events for the selected year\")])])]},proxy:true}:null],null,true)})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nexport interface TableHeader {\r\n text: string | undefined;\r\n value: string;\r\n sortable?: boolean;\r\n width?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n}\r\n\r\nexport interface TableRow {\r\n severity: string;\r\n timestamps: {\r\n startTimestamp: string;\r\n endTimestamp: string;\r\n }\r\n duration: string;\r\n closeVesselEventId?: number | null;\r\n conditionDetails: string;\r\n vesselName: string;\r\n}\r\nexport const headers: TableHeader[] = [\r\n {\r\n text: \"Severity\",\r\n value: \"severity\",\r\n sortable: true,\r\n width: \"110px\",\r\n },\r\n {\r\n text: \"Vessel\",\r\n value: \"vesselName\",\r\n sortable: true,\r\n width: \"200px\",\r\n },\r\n {\r\n text: \"Open / Closed\",\r\n value: \"timestamps\",\r\n sortable: true,\r\n width: \"280px\",\r\n },\r\n {\r\n text: \"Duration\",\r\n value: \"duration\",\r\n sortable: true,\r\n width: \"110px\",\r\n },\r\n {\r\n text: \"Condition & details\",\r\n value: \"conditionDetails\",\r\n sortable: true,\r\n width: \"430px\",\r\n },\r\n];\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Prop } from \"vue-property-decorator\";\nimport store from \"@/store\";\nimport dateHelper from \"Utilities/date-helper\";\n// types\nimport { Incident } from \"@/types/Incident\";\nimport { TableRow, headers } from \"./VTableData\";\n// modules\nimport { getModule } from \"vuex-module-decorators\";\nimport VesselsModule from \"@/store/clients/Vessels.module\";\n\nconst Vessels = getModule(VesselsModule, store);\n\n@Component({\n components: {},\n})\nexport default class IncidentsTable extends Vue {\n @Prop({ required: true, default: () => [] }) incidents!: Incident[];\n\n tableHeaders = headers;\n incidentTypes: string[] = [\"Open\", \"Closed\"];\n selectedIncidentType: string | null = \"Open\";\n searchQuery: string | null = null;\n\n // @Getters\n get tableRowItems(): TableRow[] {\n if (!this.incidents?.length) return [];\n\n let tableRows: TableRow[] = [];\n let filtredIncidents = this.selectedIncidentType === \"Open\" ? this.incidents.filter(row => row.closeVesselEventId === null) : this.incidents.filter(row => Boolean(row.closeVesselEventId));\n filtredIncidents.forEach((item: Incident) => {\n const row: TableRow = {\n severity: item.severity,\n vesselName: this.vesselName(item.vesselId),\n timestamps: {\n startTimestamp: item.openVesselEvent ? dateHelper.getFormatedDateTimeString(item.openVesselEvent.timestamp) : \"\",\n endTimestamp: item.closeVesselEvent ? dateHelper.getFormatedDateTimeString(item.closeVesselEvent.timestamp) : \"\",\n },\n duration: this.durationStr(item),\n closeVesselEventId: item.closeVesselEventId,\n conditionDetails: item.conditionDetails,\n };\n tableRows.push(row);\n });\n if (this.searchQuery) {\n tableRows = tableRows.filter(\n row =>\n row.severity.toLocaleLowerCase().includes(this.searchQuery?.toLocaleLowerCase() ?? \"\") ||\n row.duration.toLocaleLowerCase().includes(this.searchQuery?.toLocaleLowerCase() ?? \"\") ||\n row.timestamps.startTimestamp.toLocaleLowerCase().includes(this.searchQuery?.toLocaleLowerCase() ?? \"\") ||\n row.timestamps.endTimestamp.toLocaleLowerCase().includes(this.searchQuery?.toLocaleLowerCase() ?? \"\") ||\n row.conditionDetails.toLocaleLowerCase().includes(this.searchQuery?.toLocaleLowerCase() ?? \"\") ||\n row.vesselName.toLocaleLowerCase().includes(this.searchQuery?.toLocaleLowerCase() ?? \"\")\n );\n }\n return tableRows;\n }\n\n get isNoData(): boolean {\n return false;\n }\n\n // @Methods\n durationStr(incident: Incident): string {\n return dateHelper.getHumanizeDuration(incident.openVesselEvent.timestamp, incident.closeVesselEvent?.timestamp);\n }\n\n severityColor(severity: string): string {\n return severity === \"Critical\" ? \"error\" : \"warning\";\n }\n\n vesselName(vesselId: number): string {\n const vessel = Vessels.getExtendedVesselById(vesselId);\n return vessel ? vessel.name : \"\";\n }\n\n customSort(items: [], sortBy: any, isDesc: any): [] {\n //do nothing when the sorting is reset\n if (!sortBy[0]) return items;\n\n //sort all other columns as strings\n return items.sort((a: any, b: any) => {\n if (isDesc[0]) return b[sortBy] < a[sortBy] ? -1 : 1;\n\n return a[sortBy] < b[sortBy] ? -1 : 1;\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!./IncidentsTable.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!./IncidentsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IncidentsTable.vue?vue&type=template&id=9533a9ee&scoped=true&\"\nimport script from \"./IncidentsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./IncidentsTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./IncidentsTable.vue?vue&type=style&index=0&id=9533a9ee&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 \"9533a9ee\",\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 { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VDataTable,VSelect,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":_vm.dialogWidth,\"content-class\":\"NotificationEditDialog\",\"retain-focus\":false,\"scrollable\":\"\"},on:{\"click:outside\":function($event){return _vm.close()}},model:{value:(_vm.isModalActive),callback:function ($$v) {_vm.isModalActive=$$v},expression:\"isModalActive\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"dense\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\"Edit Notification\")])],1),_c('v-card-text',[(_vm.isModalActive)?_c('ConditionStepper',{staticClass:\"pt-8\",attrs:{\"notification\":_vm.notification,\"is-edit-mode\":true,\"common-selected-users\":_vm.commonSelectedUsers,\"common-selected-emails\":_vm.commonSelectedEmails,\"conditionStep\":_vm.step},on:{\"update:notification\":function($event){_vm.notification=$event},\"onUpdate\":_vm.update}}):_vm._e()],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":_vm.close}},[_vm._v(\" Close \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Vue, Component, Prop, PropSync } from \"vue-property-decorator\";\n// types\nimport { NotificationConditions } from \"@/types/NotificationConditions\";\nimport { UserProfile } from \"@/types/userProfile\";\nimport { Channel } from \"@/types/condition\";\n// components\nimport ConditionStepper from \"@/components/Notifications/ConditionStepper.vue\";\n\n@Component({\n components: {\n ConditionStepper,\n },\n})\nexport default class NotificationEditDialog extends Vue {\n @PropSync(\"value\", { required: true }) isModalActive!: boolean;\n @PropSync(\"maxWidth\", { default: 1000 }) dialogWidth!: number;\n @Prop({ required: true, default: () => {} }) notification!: NotificationConditions;\n @Prop({ required: true, default: () => [] }) commonSelectedUsers!: UserProfile[];\n @Prop({ required: true, default: () => [] }) commonSelectedEmails!: Channel[];\n @Prop({ default: 1 }) step!: number;\n\n // @Methods\n open(): void {\n this.isModalActive = true;\n this.$emit(\"open\");\n }\n\n close(): void {\n this.isModalActive = false;\n this.$emit(\"close\");\n }\n\n save(): void {\n this.isModalActive = false;\n this.$emit(\"save\");\n }\n\n update(notification: NotificationConditions): void {\n this.$emit(\"update\", notification);\n this.isModalActive = false;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationEditDialog.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!./NotificationEditDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationEditDialog.vue?vue&type=template&id=17a90642&scoped=true&\"\nimport script from \"./NotificationEditDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationEditDialog.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 \"17a90642\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VDialog,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1)],1),_c('v-divider',{staticClass:\"my-4\"}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1)],1),_c('v-divider',{staticClass:\"my-4\"}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1)],1),_c('v-divider',{staticClass:\"my-4\"}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1)],1),_c('v-divider',{staticClass:\"my-4\"}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1)],1),_c('v-divider',{staticClass:\"my-4\"}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-two-line\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\n\n@Component({})\nexport default class NotificationSkeletonLoader extends Vue {}\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!./NotificationSkeletonLoader.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!./NotificationSkeletonLoader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationSkeletonLoader.vue?vue&type=template&id=11e62a62&scoped=true&\"\nimport script from \"./NotificationSkeletonLoader.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationSkeletonLoader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NotificationSkeletonLoader.vue?vue&type=style&index=0&id=11e62a62&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 \"11e62a62\",\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 { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VCol,VDivider,VRow,VSkeletonLoader})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Ref } from \"vue-property-decorator\";\nimport store from \"@/store\";\nimport _ from \"underscore\";\n// types\nimport { Incident } from \"@/types/Incident\";\nimport { Condition, FleetThresholds, Channel } from \"@/types/condition\";\nimport { ExtendedVessel } from \"@/types/Vessel\";\nimport { UserProfile } from \"@/types/userProfile\";\nimport { NotificationConditions } from \"@/types/NotificationConditions\";\n\n// components\nimport IncidentsTable from \"@/components/Notifications/IncidentsTable.vue\";\nimport NotificationConfiguration from \"@/components/Notifications/NotificationConfiguration.vue\";\nimport NotificationEditDialog from \"@/components/Notifications/NotificationEditDialog.vue\";\nimport ConfirmDialog from \"@/components/ConfirmDialog.vue\";\nimport NotificationSkeletonLoader from \"@/components/Notifications/NotificationSkeletonLoader.vue\";\n\n// modules\nimport { getModule } from \"vuex-module-decorators\";\nimport IncidentsModule from \"@/store/clients/Incidents.module\";\nimport VesselsModule from \"@/store/clients/Vessels.module\";\nimport UsersModule from \"@/store/clients/Users.module\";\nimport ChannelsModule from \"@/store/clients/Channels.module\";\nimport SnackbarModule from \"@/store/clients/Snackbar.module\";\n\nconst Incidents = getModule(IncidentsModule, store);\nconst Vessels = getModule(VesselsModule, store);\nconst Users = getModule(UsersModule, store);\nconst Channels = getModule(ChannelsModule, store);\nconst Snackbar = getModule(SnackbarModule, store);\n\n@Component({\n components: {\n IncidentsTable,\n NotificationConfiguration,\n NotificationSkeletonLoader,\n NotificationEditDialog,\n ConfirmDialog,\n },\n})\nexport default class MyNotifications extends Vue {\n @Ref(\"confirmDelete\") confirmDelete!: any;\n // @Data\n tab = null;\n NotificationEditDialog = false;\n selectedConditions: Condition[] = [];\n conditionStep = 1;\n searchQuery: string | null = null;\n noResults = false;\n groupedConditions: Condition[][] = [];\n ungroupedConditions: Condition[] = [];\n debounceLoader = false;\n\n updateSearchQueryInput(newValue: string): void {\n this.searchQuery = newValue;\n this.groupedConditions = this.getGroupedConditions;\n this.ungroupedConditions = this.getUngroupedConditions;\n setTimeout(() => (this.debounceLoader = false), 500);\n }\n\n doSearchDebounced = _.debounce(this.updateSearchQueryInput, 1000);\n\n // @Getters\n get allIncidents(): Incident[] {\n return Incidents.allIncidents;\n }\n\n get conditions(): Condition[] {\n return Incidents.conditions;\n }\n\n get notification(): NotificationConditions {\n return {\n vessels: this.getExtendedVesselsFromCondition(this.selectedConditions),\n conditions: this.selectedConditions,\n };\n }\n\n get extendedVessels(): ExtendedVessel[] {\n return Vessels.extendedVessels;\n }\n\n get getGroupedConditions(): Condition[][] {\n this.debounceLoader = true;\n const groupedConditions: any = _.groupBy(\n this.conditions.filter(cond => cond.isDeleted === false),\n \"groupGuid\"\n );\n delete groupedConditions[\"null\"];\n let convertedToArray = Object.values(groupedConditions).reverse() as Condition[][];\n if (!Boolean(this.searchQuery)) return convertedToArray;\n\n // if searchable item is a vessel < >\n let vesselInSearch: ExtendedVessel | null = null;\n const isVesselInSearch = this.extendedVessels.some(v => {\n if (v.name.toLowerCase().includes((this.searchQuery as string).toLowerCase())) {\n vesselInSearch = v;\n return true;\n }\n });\n if (isVesselInSearch) {\n convertedToArray = convertedToArray.filter(item => {\n const hasSearchQuery = item.filter(condition => {\n if (condition.vesselId === vesselInSearch?.id) {\n return condition;\n }\n });\n return hasSearchQuery.length ? item : false;\n });\n return convertedToArray;\n }\n // if searchable item is a vessel \n\n convertedToArray = convertedToArray.filter(item => {\n if (item.some(condition => condition.channels.some(ch => ch.email?.toLowerCase().includes(this.searchQuery?.toLowerCase() ?? \"\")))) {\n return item;\n }\n const hasSearchQuery = item.filter(condition => {\n if (\n condition.conditionType.toLocaleLowerCase().includes(this.searchQuery?.toLocaleLowerCase() ?? \"\") ||\n condition.conditionDetails?.toLocaleLowerCase().includes(this.searchQuery?.toLocaleLowerCase() ?? \"\") ||\n condition.thresholds.filter(thr => thr.severity.toLocaleLowerCase().includes(this.searchQuery?.toLocaleLowerCase() ?? \"\")).length\n ) {\n return condition;\n }\n });\n return hasSearchQuery.length ? item : false;\n });\n return convertedToArray;\n }\n\n get getUngroupedConditions(): Condition[] {\n this.debounceLoader = true;\n const groupedConditions: any = _.groupBy(\n this.conditions.filter(cond => cond.isDeleted === false),\n \"groupGuid\"\n );\n if (!groupedConditions.null) return [] as Condition[];\n if (!this.searchQuery) return groupedConditions.null;\n\n // if searchable item is a vessel < >\n let vesselInSearch: ExtendedVessel | null = null;\n const isVesselInSearch = this.extendedVessels.some(v => {\n if (v.name.toLowerCase().includes((this.searchQuery as string).toLowerCase())) {\n vesselInSearch = v;\n return true;\n }\n });\n if (isVesselInSearch) return groupedConditions.null.filter((condition: Condition) => condition.vesselId === vesselInSearch?.id);\n // if searchable item is a vessel \n\n return groupedConditions.null.filter((condition: Condition) => {\n if (\n condition.conditionType.toLocaleLowerCase().includes(this.searchQuery?.toLocaleLowerCase() ?? \"\") ||\n condition.conditionDetails?.toLocaleLowerCase().includes(this.searchQuery?.toLocaleLowerCase() ?? \"\") ||\n condition.thresholds.filter(thr => thr.severity.toLocaleLowerCase().includes(this.searchQuery?.toLocaleLowerCase() ?? \"\")).length ||\n condition.channels.filter(ch => ch.email && ch.email.toLowerCase().includes(this.searchQuery?.toLowerCase() ?? \"\")).length\n ) {\n return condition;\n }\n });\n }\n\n get noData(): boolean {\n return this.groupedConditions.length === 0 && this.ungroupedConditions.length === 0 && this.debounceLoader === false;\n }\n\n isEventShapoliChecked(conditions: Condition[]): boolean {\n return Boolean(conditions.filter(cond => cond.conditionType === \"ShapoliPowerReserveBreach\").length);\n }\n\n isEventVoyageCompleteChecked(conditions: Condition[]): boolean {\n return Boolean(conditions.filter(cond => cond.conditionType === \"VoyageComplete\").length);\n }\n\n isEventVariableOfflineChecked(conditions: Condition[]): boolean {\n return Boolean(conditions.filter(cond => cond.conditionType === \"VariableOffline\").length);\n }\n\n isEventMissingSignalChecked(conditions: Condition[]): boolean {\n return Boolean(conditions.filter(cond => cond.conditionType === \"MissingSignal\").length);\n }\n\n // @Methods\n getExtendedVesselsFromCondition(conditions: Condition[]): ExtendedVessel[] {\n const uniqueByVesselId = _.unique(conditions, x => x.vesselId);\n return uniqueByVesselId.map(cond => Vessels.getExtendedVesselById(cond.vesselId)) as ExtendedVessel[];\n }\n\n getThresholds(conditions: Condition[]): FleetThresholds {\n const logDataMathThresholds = conditions.find(cond => cond.conditionType === \"LogDataMathExpression\")?.thresholds;\n const logDataThresholds = conditions.find(cond => cond.conditionType === \"LogDataExpression\")?.thresholds;\n return {\n VesselDataOverdueThresholds: conditions.find(cond => cond.conditionType === \"VesselDataOverdue\")?.thresholds ?? [],\n LogDataExpressionThresholds: logDataThresholds ?? logDataMathThresholds ?? [],\n LogDataMathExpressionThresholds: logDataMathThresholds ?? logDataThresholds ?? [],\n ManualInputValueStaleThresholds: conditions.find(cond => cond.conditionType === \"ManualInputValueStale\")?.thresholds ?? [],\n PerformanceStatusNotOkThresholds: conditions.find(cond => cond.conditionType === \"PerformanceStatusNotOk\")?.thresholds ?? [],\n PerformanceStatusObserveThresholds: conditions.find(cond => cond.conditionType === \"PerformanceStatusObserve\")?.thresholds ?? [],\n ShapoliPowerReserveBreachThresholds: conditions.find(cond => cond.conditionType === \"ShapoliPowerReserveBreach\")?.thresholds ?? [],\n VoyageCompleteThresholds: conditions.find(cond => cond.conditionType === \"VoyageComplete\")?.thresholds ?? [],\n VariableOfflineThresholds: conditions.find(cond => cond.conditionType === \"VariableOffline\")?.thresholds ?? [],\n MissingSignalThresholds: conditions.find(cond => cond.conditionType === \"MissingSignal\")?.thresholds ?? [],\n };\n }\n onNotificationEditDialogClosed(): void {\n this.selectedConditions = [];\n this.conditionStep = 1;\n this.NotificationEditDialog = false;\n }\n\n getUsers(conditions: Condition[]): UserProfile[] {\n // *underscore methods _.intersection works only with primitives and channels should be converted to an array of strings\n const channels: any = [];\n // collect all channel arrays to an arry\n conditions.forEach(cond => channels.push(cond.channels));\n // replace channel object with the userId string (array of strings)\n channels.forEach((item: any, i: number) => {\n channels[i] = item.map((x: any) => {\n if (x.userId) return x.userId;\n });\n });\n // get only intersected userIds and return as channel object\n const strCommonSelectedUsers = _.intersection(...channels);\n const commonSelectedUsers: UserProfile[] = [];\n strCommonSelectedUsers.forEach((userId: any) => {\n const user = Users.getUserById(userId) as UserProfile;\n if (user) commonSelectedUsers.push(user);\n });\n return commonSelectedUsers;\n }\n\n getEmails(conditions: Condition[]): Channel[] {\n // *underscore methods _.intersection works only with primitives and channels should be converted to an array of strings\n const channels: any = [];\n // collect all channel arrays to an arry\n conditions.forEach(cond => channels.push(cond.channels));\n // replace channel object with the email string (array of strings)\n channels.forEach((item: any, i: number) => (channels[i] = item.map((x: any) => x.email)));\n // get only intersected channels and return channel as an object\n const strCommonSelectedEmails = _.intersection(...channels);\n const commonSelectedEmails: Channel[] = [];\n strCommonSelectedEmails.forEach((email: any) => {\n const channel = Channels.getChannelByEmail(email) as Channel;\n if (channel && channel.userId == null) commonSelectedEmails.push(channel);\n });\n return commonSelectedEmails;\n }\n\n async onNotificationUpdate(notification: NotificationConditions): Promise {\n try {\n await Incidents.updateCondition(notification.conditions);\n await Incidents.fetchConditions();\n this.groupedConditions = this.getGroupedConditions;\n this.ungroupedConditions = this.getUngroupedConditions;\n this.debounceLoader = false;\n Snackbar.showSnackbar({\n text: \"Notification was successfully updated\",\n color: \"success\",\n });\n } catch (error) {\n Snackbar.showSnackbar({ text: \"Failed to update notification\" });\n }\n }\n\n onEditNotification(conditions: Condition[]): void {\n this.selectedConditions = conditions;\n console.log(\"this.selectedConditions:\", this.selectedConditions);\n this.NotificationEditDialog = true;\n }\n\n onOpenChannels(conditions: Condition[]): void {\n this.conditionStep = 3;\n this.selectedConditions = conditions;\n this.NotificationEditDialog = true;\n }\n\n async deleteNotification(conditions: Condition[]): Promise {\n const confirmed = await this.confirmDelete.open(\"Delete notification?\", \"Are you sure you want to delete this notification?\");\n if (!confirmed) return;\n conditions.forEach(cond => (cond.isDeleted = confirmed));\n try {\n await Incidents.updateCondition(conditions);\n await Incidents.fetchConditions();\n this.groupedConditions = this.getGroupedConditions;\n this.ungroupedConditions = this.getUngroupedConditions;\n this.debounceLoader = false;\n Snackbar.showSnackbar({\n text: \"Notification was successfully deleted\",\n color: \"success\",\n });\n } catch (error) {\n Snackbar.showSnackbar({ text: \"Failed to delete notification\" });\n }\n }\n\n // @Hooks\n async mounted(): Promise {\n this.debounceLoader = true;\n await Users.refreshUsers();\n await Channels.fetchChannels();\n await Incidents.fetchConditions();\n await Incidents.getAllOpenIncidents();\n await Incidents.getAllClosedIncidents();\n this.groupedConditions = this.getGroupedConditions;\n this.ungroupedConditions = this.getUngroupedConditions;\n this.debounceLoader = false;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./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=f9713d48&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=f9713d48&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 \"f9713d48\",\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 { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VIcon,VSpacer,VTab,VTabItem,VTabs,VTabsItems,VTextField,VTooltip})\n"],"sourceRoot":""}