{"version":3,"sources":["webpack:///./src/modules/courses-requests/components/pages/new-edit/dialog/StaffsList.vue?8415","webpack:///./node_modules/cache-loader/dist/cjs.js","webpack:///./src/modules/courses-requests/components/pages/new-edit/dialog/StaffsList.vue?a016","webpack:///./src/modules/courses-requests/components/pages/new-edit/dialog/StaffsList.vue","webpack:///./src/modules/courses-requests/components/pages/new-edit/dialog/StaffsList.vue?e72e","webpack:///./node_modules/eslint-loader/index.js","webpack:///./src/modules/courses-requests/components/pages/new-edit/dialog/StaffsList.vue?fadc"],"names":["render","_vm","this","_h","$createElement","_c","_self","class","$style","filters_wrapper","searchForm","filters_container","attrs","on","clearSearch","$event","type","indexOf","_k","keyCode","key","apply","arguments","updateSearch","onPaste","model","value","callback","$$v","search","expression","select","roles","all_roles","filterUpdate","staticClass","cols","items","loading","prevent_sort","tableOptions","footerProps","toggleCheckbox","scopedSlots","_u","fn","selectedStaffs","length","selectAll","proxy","ref","item","checkbox","includes","stopPropagation","addStaff","staticRenderFns","courses_requests_store","modules","editable","state","mutations","StaffsList","AllUserRolesSelect","default_table_opts","text","align","width","sortable","staffs","filter","staff","searchInput","trim","toLowerCase","full_name","email","phone","roleExist","i","findIndex","role","slugs","selected_staffs","selection_lists_loading","ADD_STAFF_TO_SELECTED","CLEAR_SELECTED_STAFFS","event","index","REMOVE_STAFF_FROM_SELECTED","input","replace","page","clipboardData","preventDefault","getData","itemsPerPageOptions","Vue","Component","components","TextField","Select","Search","Table","injectStyles","context","locals","component","VCheckbox","months_local","1","2","3","4","5","6","7","8","9","10","11","12","module","exports"],"mappings":"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","file":"js/home450.647ecc8c.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{class:_vm.$style.filters_wrapper},[_c('TextField',{class:[_vm.$style.searchForm, _vm.$style.filters_container],attrs:{\"label\":\"Поиск по ФИО, телефону, E-mail\",\"prepend-inner-icon\":\"mdi-magnify\",\"dense\":\"\",\"hide-details\":\"\",\"clearable\":\"\",\"blue_icon\":\"\",\"inputmode\":\"search\",\"enterkeyhint\":\"search\",\"type\":\"search\"},on:{\"click:clear\":_vm.clearSearch,\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.clearSearch.apply(null, arguments)},\"input\":function($event){return _vm.updateSearch($event)},\"onPaste\":_vm.onPaste},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('Select',{class:[_vm.$style.select, _vm.$style.filters_container],attrs:{\"value\":_vm.roles,\"items\":_vm.all_roles,\"label\":\"Роль\",\"dense\":\"\",\"multiple\":\"\",\"hide-details\":\"\",\"clearable\":\"\",\"blue_icon\":\"\",\"background-color\":\"#fff\"},on:{\"input\":function($event){return _vm.filterUpdate($event)}}})],1),_c('Table',{staticClass:\"mt-4\",attrs:{\"headers\":_vm.cols,\"items\":_vm.items,\"loading\":_vm.loading,\"custom-sort\":_vm.prevent_sort,\"not_resizeble\":true,\"no-data-text\":\"Сотрудники, удовлетворяющие выбранным параметрам, отсутствуют\",\"options\":_vm.tableOptions,\"footerProps\":_vm.footerProps},on:{\"click:row\":_vm.toggleCheckbox,\"update:options\":function($event){_vm.tableOptions=$event}},scopedSlots:_vm._u([{key:\"header.select\",fn:function(){return [_c('v-checkbox',{attrs:{\"input-value\":_vm.selectedStaffs.length > 0,\"indeterminate\":_vm.selectedStaffs.length > 0},on:{\"change\":_vm.selectAll}})]},proxy:true},{key:\"item.select\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('td',{class:_vm.$style.checkbox},[_c('v-checkbox',{staticClass:\"ma-0 pa-0\",attrs:{\"hide-details\":\"\",\"input-value\":_vm.selectedStaffs.includes(item)},on:{\"click\":function($event){$event.stopPropagation();return _vm.addStaff($event, item)}}})],1)]}}],null,true)})],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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { TableCol } from '@/types';\nimport {\n Search, Select, Table, TextField,\n} from '@/components';\nimport { courses_requests_store } from '@/store';\nimport { default_table_opts, prevent_sort } from '@/utils';\nimport { EditableCoursesRequest } from '@/modules/courses-requests/store/modules/editable/types';\nimport { AllUserRolesSelect } from '@/enums';\nimport { itemsPerPageOptions } from '@/consts';\n\nconst { state, mutations } = courses_requests_store.modules.editable;\n\n@Component({\n components: {\n TextField,\n Select,\n Search,\n Table,\n },\n})\nexport default class StaffsList extends Vue {\n prevent_sort = prevent_sort;\n search = '';\n roles: string[] = [];\n\n all_roles = AllUserRolesSelect;\n\n tableOptions = default_table_opts()\n\n cols: TableCol[] = [\n {\n text: '',\n align: 'start',\n value: 'select',\n width: '10px',\n sortable: false,\n },\n {\n text: 'ФИО сотрудника',\n align: 'start',\n value: 'full_name',\n width: '150px',\n sortable: false,\n },\n {\n text: 'e-mail сотрудника',\n value: 'email',\n width: '300px',\n sortable: false,\n },\n {\n text: 'Роль',\n align: 'start',\n value: 'roles.string',\n width: '250px',\n sortable: false,\n },\n ];\n\n get items() {\n return this.staffs.filter((staff: EditableCoursesRequest.Staff) => {\n const searchInput = this.search.trim().toLowerCase();\n const search = searchInput === '' || staff.full_name.toLowerCase().includes(searchInput)\n || staff.email.includes(searchInput) || (staff.phone !== null && staff.phone.includes(searchInput));\n\n return search && this.roleExist(staff);\n });\n }\n\n roleExist(staff: EditableCoursesRequest.Staff) {\n if (this.roles.length < 1) {\n return true;\n }\n\n for (let i = 0; i < staff.roles.slugs.length; i++) {\n if (this.roles.findIndex((role: string) => role === staff.roles.slugs[i]) !== -1) {\n return true;\n }\n }\n\n return false;\n }\n\n get staffs() {\n return state.staffs;\n }\n\n get selectedStaffs() {\n return state.selected_staffs;\n }\n\n get loading() {\n return state.selection_lists_loading;\n }\n\n selectAll() {\n if (this.selectedStaffs.length < 1) {\n mutations.ADD_STAFF_TO_SELECTED(this.items);\n } else {\n mutations.CLEAR_SELECTED_STAFFS();\n }\n }\n\n addStaff(event: boolean, item: EditableCoursesRequest.Staff) {\n const index = this.selectedStaffs.indexOf(item);\n\n if (index !== -1) {\n mutations.REMOVE_STAFF_FROM_SELECTED(index);\n } else {\n mutations.ADD_STAFF_TO_SELECTED(item);\n }\n }\n\n toggleCheckbox(item: EditableCoursesRequest.Staff) {\n const index = this.selectedStaffs.indexOf(item);\n\n if (index !== -1) {\n mutations.REMOVE_STAFF_FROM_SELECTED(index);\n } else {\n mutations.ADD_STAFF_TO_SELECTED(item);\n }\n }\n\n async clearSearch() {\n this.updateSearch(null);\n }\n\n updateSearch(input: string | null) {\n this.search = input !== null ? input.replace(/\\s+/g, ' ') : '';\n\n this.tableOptions.page = 1;\n }\n\n onPaste(event: ClipboardEvent) {\n if (event.clipboardData) {\n event.preventDefault();\n\n const text = event.clipboardData.getData('text/plain');\n\n this.updateSearch(text);\n }\n }\n\n filterUpdate(value: string[]) {\n this.roles = value;\n\n this.tableOptions.page = 1;\n }\n\n get footerProps() {\n return {\n itemsPerPageOptions,\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!./StaffsList.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!./StaffsList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StaffsList.vue?vue&type=template&id=43ca8920&\"\nimport script from \"./StaffsList.vue?vue&type=script&lang=ts&\"\nexport * from \"./StaffsList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./StaffsList.vue?vue&type=style&index=0&module=true&lang=scss&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\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 injectStyles,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\ninstallComponents(component, {VCheckbox})\n","export { default } from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-0-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-0-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-0-2!../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-0-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StaffsList.vue?vue&type=style&index=0&module=true&lang=scss&\"; export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-0-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-0-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-0-2!../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-0-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StaffsList.vue?vue&type=style&index=0&module=true&lang=scss&\"","export const months_local: Record = {\n 1: 'Январь',\n 2: 'Февраль',\n 3: 'Март',\n 4: 'Апрель',\n 5: 'Май',\n 6: 'Июнь',\n 7: 'Июль',\n 8: 'Август',\n 9: 'Сентябрь',\n 10: 'Октябрь',\n 11: 'Ноябрь',\n 12: 'Декабрь',\n};\n\nexport const itemsPerPageOptions = [\n 10,\n 25,\n 50,\n 100,\n];\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"v-application\":\"StaffsList_v-application_1O_6B\",\"text-h1\":\"StaffsList_text-h1_1zHWs\",\"text-h2\":\"StaffsList_text-h2_3nZGJ\",\"filters\":\"StaffsList_filters_bv46n\",\"searchForm\":\"StaffsList_searchForm_1hvrY\",\"city\":\"StaffsList_city_EzT5n\",\"organizations_types\":\"StaffsList_organizations_types_jx8b2\",\"region\":\"StaffsList_region_3FN12\",\"organization\":\"StaffsList_organization_1jNxl\",\"select\":\"StaffsList_select_2zxb8\",\"datepicker\":\"StaffsList_datepicker_2aMOg\",\"filtersBlock\":\"StaffsList_filtersBlock_2xer3\",\"btnOuter\":\"StaffsList_btnOuter_1XcwR\",\"filters_wrapper\":\"StaffsList_filters_wrapper_2A4ue\",\"filters_container\":\"StaffsList_filters_container_2JNAe\",\"checkbox\":\"StaffsList_checkbox_1xkfs\"};"],"sourceRoot":""}