{"version":3,"sources":["webpack:///./src/_features/modules/equipments/client/table.vue?9560","webpack:///./src/_features/modules/equipments/client/table.vue?c3e8","webpack:///./src/_features/modules/equipments/client/table.vue?312d","webpack:///./src/_features/modules/equipments/client/table.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","columnKey","header","columns","selected","staticRenderFns","column","$validator","items","errors","Object","assign","length","t","$route","query","payload","updateEquipments","fetchData","onCancel","inventoryID","params","id","deleteEquipment","console","error","clientID","fetchEquiments","$router","currentRoute","name","fetchClientLocations","fetchCategories","fetchingInterval","setInterval","actions","title","action","onSelectEdit","onUpdate","label","field","type","validate","format","value","locations","find","a","displayName","options","map","categories","onSelectDelete","clearInterval","components","EditableTable","component"],"mappings":"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","file":"js/chunk-2d0e48fd.add641b0.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('EditableTable',{attrs:{\"columnKey\":_vm.columnKey,\"headers\":_vm.header,\"columns\":_vm.columns,\"selected\":_vm.selected}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport { Action, Getter } from \"vuex-class\";\r\n\r\nimport { dispatchHideNav } from \"@/_shared/actions\";\r\n\r\nimport EditableTable, {\r\n TableHeader,\r\n Option\r\n} from \"@/_shared/tables/editable-table.vue\";\r\nimport {\r\n ClientEquipmentParams,\r\n ClientEquipmentDeleteParams,\r\n ClientEquipments,\r\n CategoriesParams,\r\n Categories\r\n} from \"@/store/modules/equipments\";\r\n\r\n@Component({\r\n components: {\r\n EditableTable\r\n }\r\n})\r\nexport default class ClientEquimentTable extends Vue {\r\n @Action(\"fetchClientEquipments\") private fetchEquiments!: (\r\n params: ClientEquipmentParams\r\n ) => void;\r\n @Action(\"updateClientEquipments\") private updateEquipments!: (\r\n payload: ClientEquipments\r\n ) => void;\r\n @Action(\"deleteClientEquipment\") private deleteEquipment!: (\r\n params: ClientEquipmentDeleteParams\r\n ) => void;\r\n @Action(\"fetchCategories\") private fetchCategories!: (\r\n params: CategoriesParams\r\n ) => void;\r\n\r\n @Action(\"fetchClientLocations\") private fetchClientLocations!: (\r\n params: CategoriesParams\r\n ) => void;\r\n\r\n @Getter(\"getClientEquipments\") private columns!: ClientEquipments[];\r\n @Getter(\"getCategories\") private categories!: Categories[];\r\n @Getter(\"getLocations\") private locations!: Categories[];\r\n\r\n private columnKey: string = \"inventoryID\";\r\n private header: TableHeader[] = [];\r\n\r\n private fetchingInterval!: number;\r\n private selected: ClientEquipments | null = null;\r\n\r\n private async onUpdate(column: ClientEquipments) {\r\n const {\r\n errors: { items }\r\n } = await this.$validator;\r\n if (Object.assign(items).length) {\r\n return false;\r\n }\r\n const {\r\n query: { t }\r\n }: any = this.$route;\r\n const payload: ClientEquipments = {\r\n ...column,\r\n t\r\n };\r\n await this.updateEquipments(payload);\r\n this.fetchData();\r\n this.onCancel();\r\n }\r\n\r\n private async onSelectDelete(column: ClientEquipments) {\r\n try {\r\n const {\r\n query: { t }\r\n }: any = this.$route;\r\n const { inventoryID } = column;\r\n const params: ClientEquipmentDeleteParams = {\r\n t,\r\n id: inventoryID\r\n };\r\n await this.deleteEquipment(params);\r\n await this.fetchData();\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n private onCancel() {\r\n this.selected = null;\r\n }\r\n\r\n private onSelectEdit(column: ClientEquipments) {\r\n this.selected = column;\r\n }\r\n\r\n private fetchData() {\r\n const {\r\n query: { t, clientID }\r\n }: any = this.$route;\r\n const params: ClientEquipmentParams = {\r\n t,\r\n clientID\r\n };\r\n return this.fetchEquiments(params);\r\n }\r\n\r\n private async mounted() {\r\n dispatchHideNav(this);\r\n\r\n if (this.$router.currentRoute.name === \"equipments_client_table\") {\r\n const {\r\n query: { t }\r\n }: any = this.$route;\r\n\r\n const {\r\n query: { clientID }\r\n }: any = this.$route;\r\n\r\n const params: ClientEquipmentParams = {\r\n t,\r\n clientID\r\n };\r\n\r\n await this.fetchClientLocations(params);\r\n\r\n await this.fetchCategories({ t });\r\n\r\n this.fetchData();\r\n this.fetchingInterval = setInterval((): void => this.fetchData(), 3000);\r\n\r\n this.header = [\r\n {\r\n actions: [\r\n {\r\n title: \"Edit\",\r\n action: this.onSelectEdit\r\n },\r\n {\r\n title: \"Save\",\r\n action: this.onUpdate\r\n }\r\n ]\r\n },\r\n {\r\n label: \"Equipment Name\",\r\n field: \"name\",\r\n type: \"text\",\r\n validate: \"required\"\r\n },\r\n {\r\n label: \"Location\",\r\n field: \"locationID\",\r\n type: \"select\",\r\n validate: \"required\",\r\n format: value => {\r\n if (!value) {\r\n return \"\";\r\n }\r\n const { displayName }: any = this.locations.find(\r\n a => a.id === value\r\n );\r\n return displayName;\r\n },\r\n options: this.locations.map(\r\n ({ id, displayName }: Categories): Option => ({\r\n value: id,\r\n label: displayName\r\n })\r\n )\r\n },\r\n {\r\n label: \"Category\",\r\n field: \"inventoryCategoryID\",\r\n type: \"select\",\r\n validate: \"required\",\r\n format: value => {\r\n if (!value) {\r\n return \"\";\r\n }\r\n const { displayName }: any = this.categories.find(\r\n a => a.id === value\r\n );\r\n return displayName;\r\n },\r\n options: this.categories.map(\r\n ({ id, displayName }: Categories): Option => ({\r\n value: id,\r\n label: displayName\r\n })\r\n )\r\n },\r\n {\r\n label: \"Notes\",\r\n field: \"notes\",\r\n type: \"text\"\r\n },\r\n {\r\n actions: [\r\n {\r\n title: \"Delete\",\r\n action: this.onSelectDelete\r\n },\r\n {\r\n title: \"Cancel\",\r\n action: this.onCancel\r\n }\r\n ]\r\n }\r\n ];\r\n }\r\n }\r\n private beforeRouteUpdate() {\r\n clearInterval(this.fetchingInterval);\r\n }\r\n private beforeDestroy() {\r\n clearInterval(this.fetchingInterval);\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./table.vue?vue&type=template&id=9c73c868&scoped=true&\"\nimport script from \"./table.vue?vue&type=script&lang=ts&\"\nexport * from \"./table.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 \"9c73c868\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}