{"version":3,"sources":["webpack:///./src/modules/user/components/EditProfile.vue?bc4d","webpack:///./node_modules/cache-loader/dist/cjs.js","webpack:///./src/modules/user/components/EditProfile.vue?cda8","webpack:///./src/modules/user/components/EditProfile.vue","webpack:///./node_modules/eslint-loader/index.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","edit_fields","original_me","editable_me","on","save_changes","cancel","update_field","upd_cities_autocomplete","dadata_error_message","close_error_modal","model","value","callback","$$v","dadata_error_modal","expression","staticRenderFns","EditProfileForm","cities_autocomplete","searchService","SearchService","min_search_length","current_user_city","user_store","state","me","city","text","push","global_store","title","rows","wide","field_type","EditFormRowTypes","AVATAR","is_require","field_name","label","avatar","image","TEXT","hide_details","CHECKBOX","DATE","SELECT","clearable","select","items","is_autocomplete","length","fetchCities","key","mutations","UPD_EDITABLE_ME_FIELD","$emit","SET_DADATA_ERROR_MODAL_TOGGLE","DADATA_ERROR_MESSAGE_CLEAR","Mixins","ValidateMixin","Component","components","EditFormBuilder","DadataErrorMessageDialog","component","VCard","base_path","error","console","status","ResponseStatuses","Fail","BAD_REQUEST","message","data","SET_DADATA_ERROR_MESSAGE","query","http_client","post","address","handle_error","inn","innWithoutHyphens","replace","inn_organization","BaseApiService"],"mappings":"iHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,YAAY,QAAQ,CAACF,EAAG,kBAAkB,CAACG,MAAM,CAAC,YAAcP,EAAIQ,YAAY,YAAcR,EAAIS,YAAY,cAAgBT,EAAIU,aAAaC,GAAG,CAAC,KAAOX,EAAIY,aAAa,OAASZ,EAAIa,OAAO,aAAeb,EAAIc,aAAa,kBAAoBd,EAAIe,2BAA2BX,EAAG,2BAA2B,CAACG,MAAM,CAAC,qBAAuBP,EAAIgB,sBAAsBL,GAAG,CAAC,MAAQX,EAAIiB,mBAAmBC,MAAM,CAACC,MAAOnB,EAAsB,mBAAEoB,SAAS,SAAUC,GAAMrB,EAAIsB,mBAAmBD,GAAKE,WAAW,yBAAyB,IACpnBC,EAAkB,G,0LCmCDC,EAAe,wDAApC,iD,0BAwGE,EAAAC,oBAA0C,GAC1C,EAAAC,cAAgB,IAAIC,OACpB,EAAAC,kBAAoB,EA1GtB,EAAoC,uGAClC,wGACQC,EAAoB,CAAEX,MAAK,UAAEY,OAAWC,MAAMC,UAAnB,aAAE,EAAqBC,KAAMC,KAAI,UAAEJ,OAAWC,MAAMC,UAAnB,aAAE,EAAqBC,MAErFjC,KAAKyB,qBACPzB,KAAKyB,oBAAoBU,KAAKN,GAJlC,gDADkC,uFASlC,WACE,OAAOO,OAAaL,MAAMV,qBAVM,gCAalC,WACE,OAAOe,OAAaL,MAAMhB,uBAdM,uBAiBlC,WACE,MAAO,CACL,CACEsB,MAAO,kBACPC,KAAM,CACJ,CACE,CACEC,MAAM,EACNC,WAAYC,OAAiBC,OAC7BC,YAAY,EACZC,WAAY,QACZC,MAAO,GACPC,OAAQ9C,KAAKS,YAAYsC,QAG7B,CACE,CACER,MAAM,EACNC,WAAYC,OAAiBO,KAC7BL,YAAY,EACZC,WAAY,UACZC,MAAO,WAET,CACEN,MAAM,EACNC,WAAYC,OAAiBO,KAC7BL,YAAY,EACZC,WAAY,OACZC,MAAO,QAGX,CACE,CACEN,MAAM,EACNC,WAAYC,OAAiBO,KAC7BL,YAAY,EACZC,WAAY,aACZC,MAAO,WACPI,cAAc,GAEhB,CACEV,MAAM,EACNC,WAAYC,OAAiBS,SAC7BP,YAAY,EACZC,WAAY,kBACZC,MAAO,eACPI,cAAc,IAGlB,CACE,CACEV,MAAM,EACNC,WAAYC,OAAiBO,KAC7BL,YAAY,EACZC,WAAY,WACZC,MAAO,YACPI,cAAc,IAGlB,CACE,CACEV,MAAM,EACNC,WAAYC,OAAiBU,KAC7BR,YAAY,EACZC,WAAY,aACZC,MAAO,gBACPI,cAAc,GAEhB,CACEV,MAAM,EACNC,WAAYC,OAAiBW,OAC7BT,YAAY,EACZC,WAAY,OACZC,MAAO,QACPQ,WAAW,EACXJ,cAAc,EACdK,OAAQ,CACNC,MAAOvD,KAAKyB,oBACZ+B,iBAAiB,UA/FG,8FA4GlC,WAA8BtC,GAA9B,0FACMA,KAAK,UAAKY,OAAWC,MAAMC,UAAtB,aAAK,EAAqBC,MADrC,sDAGMf,GAA0B,kBAAVA,GAAsBA,EAAMuC,OAASzD,KAAK4B,mBAHhE,gCAIqC5B,KAAK0B,cAAcgC,YAAYxC,GAJpE,OAIIlB,KAAKyB,oBAJT,uDA5GkC,iFAoHlC,WACE,OAAOK,OAAWC,MAAMtB,cArHQ,uBAwHlC,WACE,OAAOqB,OAAWC,MAAMC,KAzHQ,0BA4HlC,YAAwE,IAAzD2B,EAAyD,EAAzDA,IAAKzC,EAAoD,EAApDA,MAClBY,OAAW8B,UAAUC,sBAAsB,CAAEF,MAAKzC,YA7HlB,oBAgIlC,WACElB,KAAK8D,MAAM,YAjIqB,0BAoIlC,WACE9D,KAAK8D,MAAM,kBArIqB,+BAwIlC,WACE1B,OAAawB,UAAUG,+BAA8B,GACrD3B,OAAawB,UAAUI,iCA1IS,GAASC,eAAOC,SAA/B1C,EAAe,gBANnC2C,eAAU,CACTC,WAAY,CACVC,uBACAC,yBAA0B,kBAAM,qDAGf9C,WCpCqZ,I,6CCOta+C,EAAY,eACd,EACAzE,EACAyB,GACA,EACA,KACA,KACA,MAIa,aAAAgD,EAAiB,QAKhC,IAAkBA,EAAW,CAACC,QAAA,Q,wMCEjB7C,EAAb,yG,0BACU,EAAA8C,UAAY,kBADtB,qDAGU,SAAaC,GAGnB,GAFAC,QAAQD,MAAMA,GAETA,IAAmD,OAAvBA,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBE,UAAWC,QAAiBC,KAAKC,YAAa,OAChGC,EAAO,UAAGN,EAAMO,YAAT,aAAG,EAAYD,QAExBA,IACF5C,OAAawB,UAAUsB,yBAAyBF,GAChD5C,OAAawB,UAAUG,+BAA8B,OAX7D,kFAgBE,WAAkBoB,GAAlB,kHAE2BnF,KAAKoF,YAAYC,KAAjB,UAClBrF,KAAKyE,UADa,WAErB,CAAEa,QAASH,IAJjB,uBAEYF,EAFZ,EAEYA,KAFZ,kBAOWA,EAAKA,MAPhB,0CASIjF,KAAKuF,aAAL,MATJ,kBAUW,IAVX,yDAhBF,2JA8BE,WAAiCC,GAAjC,2GAEUC,EAAoBD,EAAIE,QAAQ,MAAO,IAFjD,SAG2B1F,KAAKoF,YAAYC,KAAjB,UAClBrF,KAAKyE,UADa,iBAErB,CAAEkB,iBAAkBF,IAL1B,uBAGYR,EAHZ,EAGYA,KAHZ,kBAQWA,EAAKA,MARhB,0CAUIjF,KAAKuF,aAAL,MAVJ,kBAWW,IAXX,yDA9BF,+DAAmCK","file":"js/home1652.03c76b43.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"pa-4\"},[_c('EditFormBuilder',{attrs:{\"edit_fields\":_vm.edit_fields,\"initial_obj\":_vm.original_me,\"ediatable_obj\":_vm.editable_me},on:{\"save\":_vm.save_changes,\"cancel\":_vm.cancel,\"update_field\":_vm.update_field,\"update_search_val\":_vm.upd_cities_autocomplete}}),_c('DadataErrorMessageDialog',{attrs:{\"dadata_error_message\":_vm.dadata_error_message},on:{\"close\":_vm.close_error_modal},model:{value:(_vm.dadata_error_modal),callback:function ($$v) {_vm.dadata_error_modal=$$v},expression:\"dadata_error_modal\"}})],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\nimport { Component, Mixins } from 'vue-property-decorator';\nimport ValidateMixin from '@/mixins/validate';\nimport { EditFormBuilder } from '@/components';\nimport { user_store, global_store } from '@/store';\nimport { EditFormRows } from '@/types';\nimport { EditFormRowTypes } from '@/enums';\nimport { City, SearchService } from '@/services/search-service';\nimport { User } from '../types';\n\n@Component({\n components: {\n EditFormBuilder,\n DadataErrorMessageDialog: () => import('@/components/dadata/DadataErrorMessageDialog.vue'),\n },\n})\nexport default class EditProfileForm extends Mixins(ValidateMixin) {\n async mounted() {\n const current_user_city = { value: user_store.state.me?.city, text: user_store.state.me?.city };\n\n if (this.cities_autocomplete) {\n this.cities_autocomplete.push(current_user_city);\n }\n }\n\n get dadata_error_modal() {\n return global_store.state.dadata_error_modal;\n }\n\n get dadata_error_message() {\n return global_store.state.dadata_error_message;\n }\n\n get edit_fields(): EditFormRows[] {\n return [\n {\n title: 'Основные данные',\n rows: [\n [\n {\n wide: false,\n field_type: EditFormRowTypes.AVATAR,\n is_require: false,\n field_name: 'image',\n label: '',\n avatar: this.editable_me.image,\n },\n ],\n [\n {\n wide: false,\n field_type: EditFormRowTypes.TEXT,\n is_require: true,\n field_name: 'surname',\n label: 'Фамилия',\n },\n {\n wide: false,\n field_type: EditFormRowTypes.TEXT,\n is_require: true,\n field_name: 'name',\n label: 'Имя',\n },\n ],\n [\n {\n wide: false,\n field_type: EditFormRowTypes.TEXT,\n is_require: false,\n field_name: 'patronymic',\n label: 'Отчество',\n hide_details: true,\n },\n {\n wide: false,\n field_type: EditFormRowTypes.CHECKBOX,\n is_require: false,\n field_name: 'hide_patronymic',\n label: 'Нет отчества',\n hide_details: true,\n },\n ],\n [\n {\n wide: false,\n field_type: EditFormRowTypes.TEXT,\n is_require: false,\n field_name: 'job_rank',\n label: 'Должность',\n hide_details: true,\n },\n ],\n [\n {\n wide: false,\n field_type: EditFormRowTypes.DATE,\n is_require: false,\n field_name: 'birth_date',\n label: 'Дата рождения',\n hide_details: true,\n },\n {\n wide: false,\n field_type: EditFormRowTypes.SELECT,\n is_require: true,\n field_name: 'city',\n label: 'Город',\n clearable: true,\n hide_details: false,\n select: {\n items: this.cities_autocomplete,\n is_autocomplete: true,\n },\n },\n ],\n ],\n },\n ];\n }\n\n cities_autocomplete: City[] | undefined = [];\n searchService = new SearchService();\n min_search_length = 2;\n\n async upd_cities_autocomplete(value: string) {\n if (value === user_store.state.me?.city) return;\n\n if (value && typeof value === 'string' && value.length > this.min_search_length) {\n this.cities_autocomplete = await this.searchService.fetchCities(value);\n }\n }\n\n get editable_me() {\n return user_store.state.editable_me;\n }\n\n get original_me() {\n return user_store.state.me;\n }\n\n update_field({ key, value }: { key: keyof User.Profile, value: unknown }) {\n user_store.mutations.UPD_EDITABLE_ME_FIELD({ key, value });\n }\n\n cancel() {\n this.$emit('cancel');\n }\n\n save_changes() {\n this.$emit('save_changes');\n }\n\n close_error_modal() {\n global_store.mutations.SET_DADATA_ERROR_MODAL_TOGGLE(false);\n global_store.mutations.DADATA_ERROR_MESSAGE_CLEAR();\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!./EditProfile.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!./EditProfile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditProfile.vue?vue&type=template&id=5b066faa&\"\nimport script from \"./EditProfile.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditProfile.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 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 { VCard } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard})\n","import { Response } from '@/types';\nimport { AxiosResponse } from 'axios';\nimport { ResponseStatuses } from '@/enums';\nimport { global_store } from '@/store';\nimport { BaseApiService } from './base-service';\n\n// поиск организации по ИНН\nexport interface OrgData {\n inn: string,\n kpp: string,\n company_name: string,\n address: string,\n city: string,\n region: string,\n}\nexport interface ResponseSearchServiceOrg {\n organization?: OrgData,\n}\n\n// поиск города\nexport interface City {\n value: string;\n text: string;\n}\n\nexport class SearchService extends BaseApiService {\n private base_path = 'autofill-search';\n\n private handle_error(error: AxiosResponse): void {\n console.error(error);\n\n if ((error as AxiosResponse) && (error as AxiosResponse)?.status === ResponseStatuses.Fail.BAD_REQUEST) {\n const message = error.data?.message;\n\n if (message) {\n global_store.mutations.SET_DADATA_ERROR_MESSAGE(message);\n global_store.mutations.SET_DADATA_ERROR_MODAL_TOGGLE(true);\n }\n }\n }\n\n async fetchCities(query: string): Promise {\n try {\n const { data } = await this.http_client.post>(\n `${this.base_path}/cities`,\n { address: query },\n );\n\n return data.data;\n } catch (error) {\n this.handle_error(error as AxiosResponse);\n return [];\n }\n }\n\n async fetchOrganizationDataByInn(inn: string): Promise {\n try {\n const innWithoutHyphens = inn.replace(/\\D/g, '');\n const { data } = await this.http_client.post>(\n `${this.base_path}/organization`,\n { inn_organization: innWithoutHyphens },\n );\n\n return data.data;\n } catch (error) {\n this.handle_error(error as AxiosResponse);\n return {} as ResponseSearchServiceOrg;\n }\n }\n}\n"],"sourceRoot":""}