{"version":3,"sources":["webpack:///./src/_features/modules/employees/table.vue?61e2","webpack:///./src/_features/modules/employees/table.vue?ca47","webpack:///./src/_features/modules/employees/table.vue?12ad","webpack:///./src/_features/modules/employees/table.vue?43ea","webpack:///./src/_features/modules/employees/table.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","_m","on","onShowModal","_v","attrs","columnKey","header","columns","selected","onUpdated","staticRenderFns","column","$validator","items","errors","Object","assign","length","t","$route","query","payload","updateColumns","fetchData","onCancel","params","fetchColumns","fetchRoles","actions","title","action","onSelectEdit","onUpdate","label","field","type","validate","readOnly","format","value","roles","find","role","id","displayName","options","map","fetchingInterval","setInterval","$modal","show","hide","clearInterval","components","EditableTable","EmployeeForm","component"],"mappings":"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","file":"js/chunk-a0639b6e.96ff4499.js","sourcesContent":["import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=style&index=0&id=c0dd2f30&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table.vue?vue&type=style&index=0&id=c0dd2f30&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"ss--sales-mod__container c-main-content__holder col-lg-12 col-md-12 col-sm-12 ss--main-content__padding_top\"},[_vm._m(0),_c('button',{staticClass:\"c-btn ss-primary-dark-bg ss-white-font-color ss--comp-border\",on:{\"click\":_vm.onShowModal}},[_vm._v(\"Add Employee\")]),_c('EditableTable',{attrs:{\"columnKey\":_vm.columnKey,\"headers\":_vm.header,\"columns\":_vm.columns,\"selected\":_vm.selected}})],1),_c('div',[_c('modal',{attrs:{\"name\":\"add-employee\",\"adaptive\":true,\"width\":\"60%\",\"height\":\"auto\"}},[_c('div',[_c('EmployeeForm',{attrs:{\"componentUpdated\":_vm.onUpdated}})],1)])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ss--action-bar order-lg-1 u-p-zero o-line u-pb-small u-mb-small c-top-title-section u-hidden-down@desktop\"},[_c('div',{staticClass:\"ss--module-title ss--sales-module_title ss-primary-font-color\"},[_vm._v(\"Add/Edit Employee\")]),_c('div',{staticClass:\"c-btn-group\"})])}]\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport { Action, Getter } from \"vuex-class\";\r\n\r\nimport EditableTable, {\r\n TableHeader\r\n} from \"@/_shared/tables/editable-table.vue\";\r\nimport { dispatchHideNav } from \"@/_shared/actions\";\r\nimport { Employees, Roles } from \"../../../store/modules/technicians\";\r\nimport EmployeeForm from \"./form.vue\";\r\n\r\n@Component({\r\n components: {\r\n EditableTable,\r\n EmployeeForm\r\n }\r\n})\r\nexport default class Table extends Vue {\r\n @Action(\"fetchRoles\") private fetchRoles!: (params: any) => void;\r\n @Action(\"fetchEmployees\") private fetchColumns!: (params: any) => void;\r\n @Action(\"updateEmployee\") private updateColumns!: (payload: any) => void;\r\n // @Action(\"deleteEmployee\") private deleteColumns!: (params: any) => void;\r\n @Getter(\"getEmployees\") private columns!: Employees[];\r\n @Getter(\"getRoles\") private roles!: Roles[];\r\n\r\n private columnKey: string = \"employeeID\";\r\n private header: TableHeader[] = [];\r\n\r\n private fetchingInterval!: number;\r\n private selected: Employees | null = null;\r\n\r\n private async onUpdate(column: Employees) {\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: any = {\r\n ...column,\r\n t\r\n };\r\n await this.updateColumns(payload);\r\n this.fetchData();\r\n this.onCancel();\r\n }\r\n\r\n // private async onSelectDelete(column: Employees) {\r\n // try {\r\n // alert('Missing delete api!');\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: Employees) {\r\n this.selected = column;\r\n }\r\n\r\n private fetchData() {\r\n const {\r\n query: { t }\r\n }: any = this.$route;\r\n const params: any = {\r\n t\r\n };\r\n return this.fetchColumns(params);\r\n }\r\n\r\n private async mounted() {\r\n dispatchHideNav(this);\r\n const {\r\n query: { t }\r\n }: any = this.$route;\r\n await this.fetchRoles({ t });\r\n this.fetchData();\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: \"First Name\",\r\n field: \"firstName\",\r\n type: \"text\",\r\n validate: \"required\"\r\n },\r\n {\r\n label: \"Last Name\",\r\n field: \"lastName\",\r\n type: \"text\",\r\n validate: \"required\"\r\n },\r\n {\r\n label: \"Email\",\r\n field: \"emailAddress\",\r\n type: \"text\",\r\n readOnly: true,\r\n validate: \"required|email\"\r\n },\r\n {\r\n label: \"Role\",\r\n field: \"roleID\",\r\n validate: \"required\",\r\n format: value => {\r\n const { displayName }: any = this.roles.find(\r\n role => role.id === value\r\n ) || {};\r\n return displayName;\r\n },\r\n type: \"select\",\r\n options: this.roles.map(({ id, displayName }: Roles): any => ({\r\n value: id,\r\n label: displayName\r\n }))\r\n },\r\n {\r\n label: \"Mobile Number\",\r\n field: \"mobileNumber\",\r\n type: \"text\",\r\n validate: \"required\"\r\n },\r\n // {\r\n // label: \"Sort Order\",\r\n // field: \"sortOrder\",\r\n // type: \"number\",\r\n // validate: \"required\",\r\n // },\r\n {\r\n actions: [\r\n {\r\n title: \"\"\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 this.fetchingInterval = setInterval((): void => this.fetchData(), 3000);\r\n }\r\n\r\n private onShowModal() {\r\n this.$modal.show(\"add-employee\");\r\n }\r\n\r\n private onUpdated() {\r\n this.fetchData();\r\n this.$modal.hide(\"add-employee\");\r\n }\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=c0dd2f30&scoped=true&\"\nimport script from \"./table.vue?vue&type=script&lang=ts&\"\nexport * from \"./table.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./table.vue?vue&type=style&index=0&id=c0dd2f30&scoped=true&lang=css&\"\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 \"c0dd2f30\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}