{"ast":null,"code":"import { ref, watch, toRef } from \"vue\";\nimport axios from \"axios\";\nimport Swal from \"sweetalert2\";\nimport { toast } from \"vue3-toastify\";\nexport default {\n props: {\n mobile: {\n type: String,\n required: true\n },\n name: {\n type: String,\n required: true\n },\n role: {\n type: String,\n required: true\n },\n id: {\n type: String,\n required: true\n },\n access: {\n type: Array,\n required: true\n }\n },\n setup(props, {\n emit\n }) {\n const localName = toRef(props.name);\n const localMobile = toRef(props.mobile);\n const Password = toRef(props.password);\n const localRole = toRef(props.role);\n const localAccess = toRef([props.access]);\n const localId = toRef(props.id);\n // Watch for prop changes to update local state\n watch(() => props.name, newVal => localName.value = newVal);\n watch(() => props.mobile, newVal => localMobile.value = newVal);\n watch(() => props.role, newVal => localRole.value = newVal);\n watch(() => props.access, newVal => {\n localAccess.value = newVal;\n });\n watch(() => props.id, newVal => localId.value = newVal);\n const errors = ref({});\n const loading = ref(false);\n const url = process.env.VUE_APP_ROOT_URL;\n const token = localStorage.getItem(\"token\");\n const validateForm = () => {\n errors.value = {};\n if (!localName.value) errors.value.localName = \"وارد کردن نام الزامی می باشد\";\n if (!localMobile.value) errors.value.localMobile = \"وارد کردن شماره موبایل الزامی می باشد\";\n if (!localRole.value) errors.value.localRole = \"انتخاب نوع کاربر الزامی است\";\n return Object.keys(errors.value).length === 0;\n };\n const clearError = field => {\n errors.value[field] = \"\";\n };\n const toggleAccess = permission => {\n if (Array.isArray(localAccess.value)) {\n if (localAccess.value.includes(permission)) {\n localAccess.value = localAccess.value.filter(item => item !== permission);\n } else {\n localAccess.value = [...localAccess.value, permission];\n }\n } else {\n console.error(\"localAccess is not an array\");\n }\n };\n const editUser = async () => {\n if (!validateForm()) return;\n loading.value = true;\n try {\n const formData = new FormData();\n formData.append(\"name\", localName.value);\n formData.append(\"mobile\", localMobile.value);\n if (Password.value) {\n formData.append(\"password\", Password.value);\n }\n formData.append(\"role\", localRole.value);\n formData.append(\"id\", localId.value);\n if (Array.isArray(localAccess.value)) {\n localAccess.value.forEach(item => {\n formData.append(\"access[]\", item);\n });\n } else {\n console.error(\"localAccess.value is not an array\", localAccess.value);\n }\n const response = await axios.post(`${url}/admin/edit-user`, formData, {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token} `\n }\n });\n console.log(response);\n if (response.data.status == true) {\n toast.success(\"کاربر با موفقیت ویرایش شد!\", {\n position: \"top-right\",\n autoClose: 1000,\n onClose: () => emit(\"user-updated\")\n });\n } else {\n Swal.fire({\n icon: \"error\",\n title: \"خطا\",\n text: \"ویرایش کاربر با مشکل مواجه شد. لطفا دوباره امتحان کنید.\"\n });\n }\n } catch (error) {\n console.log(error);\n Swal.fire({\n icon: \"error\",\n title: \"خطا\",\n text: `ویرایش کاربر با مشکل مواجه شد`\n });\n } finally {\n loading.value = false;\n }\n };\n return {\n localName,\n localMobile,\n Password,\n localRole,\n localAccess,\n errors,\n loading,\n clearError,\n editUser,\n toggleAccess\n };\n }\n};","map":{"version":3,"names":["ref","watch","toRef","axios","Swal","toast","props","mobile","type","String","required","name","role","id","access","Array","setup","emit","localName","localMobile","Password","password","localRole","localAccess","localId","newVal","value","errors","loading","url","process","env","VUE_APP_ROOT_URL","token","localStorage","getItem","validateForm","Object","keys","length","clearError","field","toggleAccess","permission","isArray","includes","filter","item","console","error","editUser","formData","FormData","append","forEach","response","post","headers","Authorization","log","data","status","success","position","autoClose","onClose","fire","icon","title","text"],"sources":["C:\\Users\\hp\\Desktop\\satari\\Vue\\Admin\\src\\components\\modals\\editUser.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n"],"mappings":"AAoMA,SAASA,GAAG,EAAEC,KAAK,EAAEC,KAAI,QAAS,KAAK;AACvC,OAAOC,KAAI,MAAO,OAAO;AACzB,OAAOC,IAAG,MAAO,aAAa;AAC9B,SAASC,KAAI,QAAS,eAAe;AAErC,eAAe;EACbC,KAAK,EAAE;IACLC,MAAM,EAAE;MACNC,IAAI,EAAEC,MAAM;MACZC,QAAQ,EAAE;IACZ,CAAC;IACDC,IAAI,EAAE;MACJH,IAAI,EAAEC,MAAM;MACZC,QAAQ,EAAE;IACZ,CAAC;IACDE,IAAI,EAAE;MACJJ,IAAI,EAAEC,MAAM;MACZC,QAAQ,EAAE;IACZ,CAAC;IACDG,EAAE,EAAE;MACFL,IAAI,EAAEC,MAAM;MACZC,QAAQ,EAAE;IACZ,CAAC;IACDI,MAAM,EAAE;MACNN,IAAI,EAAEO,KAAK;MACXL,QAAQ,EAAE;IACZ;EACF,CAAC;EACDM,KAAKA,CAACV,KAAK,EAAE;IAAEW;EAAK,CAAC,EAAE;IACrB,MAAMC,SAAQ,GAAIhB,KAAK,CAACI,KAAK,CAACK,IAAI,CAAC;IACnC,MAAMQ,WAAU,GAAIjB,KAAK,CAACI,KAAK,CAACC,MAAM,CAAC;IACvC,MAAMa,QAAO,GAAIlB,KAAK,CAACI,KAAK,CAACe,QAAQ,CAAC;IACtC,MAAMC,SAAQ,GAAIpB,KAAK,CAACI,KAAK,CAACM,IAAI,CAAC;IACnC,MAAMW,WAAU,GAAIrB,KAAK,CAAC,CAACI,KAAK,CAACQ,MAAM,CAAC,CAAC;IACzC,MAAMU,OAAM,GAAItB,KAAK,CAACI,KAAK,CAACO,EAAE,CAAC;IAC/B;IACAZ,KAAK,CACH,MAAMK,KAAK,CAACK,IAAI,EACfc,MAAM,IAAMP,SAAS,CAACQ,KAAI,GAAID,MACjC,CAAC;IACDxB,KAAK,CACH,MAAMK,KAAK,CAACC,MAAM,EACjBkB,MAAM,IAAMN,WAAW,CAACO,KAAI,GAAID,MACnC,CAAC;IACDxB,KAAK,CACH,MAAMK,KAAK,CAACM,IAAI,EACfa,MAAM,IAAMH,SAAS,CAACI,KAAI,GAAID,MACjC,CAAC;IACDxB,KAAK,CACP,MAAMK,KAAK,CAACQ,MAAM,EACjBW,MAAM,IAAK;MACVF,WAAW,CAACG,KAAI,GAAID,MAAM;IAC5B,CACF,CAAC;IACGxB,KAAK,CACH,MAAMK,KAAK,CAACO,EAAE,EACbY,MAAM,IAAMD,OAAO,CAACE,KAAI,GAAID,MAC/B,CAAC;IAED,MAAME,MAAK,GAAI3B,GAAG,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM4B,OAAM,GAAI5B,GAAG,CAAC,KAAK,CAAC;IAC1B,MAAM6B,GAAE,GAAIC,OAAO,CAACC,GAAG,CAACC,gBAAgB;IACxC,MAAMC,KAAI,GAAIC,YAAY,CAACC,OAAO,CAAC,OAAO,CAAC;IAE3C,MAAMC,YAAW,GAAIA,CAAA,KAAM;MACzBT,MAAM,CAACD,KAAI,GAAI,CAAC,CAAC;MACjB,IAAI,CAACR,SAAS,CAACQ,KAAK,EAClBC,MAAM,CAACD,KAAK,CAACR,SAAQ,GAAI,8BAA8B;MACzD,IAAI,CAACC,WAAW,CAACO,KAAK,EACpBC,MAAM,CAACD,KAAK,CAACP,WAAU,GAAI,uCAAuC;MACpE,IAAI,CAACG,SAAS,CAACI,KAAK,EAClBC,MAAM,CAACD,KAAK,CAACJ,SAAQ,GAAI,6BAA6B;MACxD,OAAOe,MAAM,CAACC,IAAI,CAACX,MAAM,CAACD,KAAK,CAAC,CAACa,MAAK,KAAM,CAAC;IAC/C,CAAC;IAED,MAAMC,UAAS,GAAKC,KAAK,IAAK;MAC5Bd,MAAM,CAACD,KAAK,CAACe,KAAK,IAAI,EAAE;IAC1B,CAAC;IAED,MAAMC,YAAW,GAAKC,UAAU,IAAK;MACvC,IAAI5B,KAAK,CAAC6B,OAAO,CAACrB,WAAW,CAACG,KAAK,CAAC,EAAE;QACpC,IAAIH,WAAW,CAACG,KAAK,CAACmB,QAAQ,CAACF,UAAU,CAAC,EAAE;UAC1CpB,WAAW,CAACG,KAAI,GAAIH,WAAW,CAACG,KAAK,CAACoB,MAAM,CAAEC,IAAI,IAAKA,IAAG,KAAMJ,UAAU,CAAC;QAC7E,OAAO;UACLpB,WAAW,CAACG,KAAI,GAAI,CAAC,GAAGH,WAAW,CAACG,KAAK,EAAEiB,UAAU,CAAC;QACxD;MACF,OAAO;QACLK,OAAO,CAACC,KAAK,CAAC,6BAA6B,CAAC;MAC9C;IACF,CAAC;IAEG,MAAMC,QAAO,GAAI,MAAAA,CAAA,KAAY;MAC3B,IAAI,CAACd,YAAY,CAAC,CAAC,EAAE;MACrBR,OAAO,CAACF,KAAI,GAAI,IAAI;MACpB,IAAI;QACF,MAAMyB,QAAO,GAAI,IAAIC,QAAQ,CAAC,CAAC;QAC/BD,QAAQ,CAACE,MAAM,CAAC,MAAM,EAAEnC,SAAS,CAACQ,KAAK,CAAC;QACxCyB,QAAQ,CAACE,MAAM,CAAC,QAAQ,EAAElC,WAAW,CAACO,KAAK,CAAC;QAC5C,IAAIN,QAAQ,CAACM,KAAK,EAAE;UAClByB,QAAQ,CAACE,MAAM,CAAC,UAAU,EAAEjC,QAAQ,CAACM,KAAK,CAAC;QAC7C;QACAyB,QAAQ,CAACE,MAAM,CAAC,MAAM,EAAE/B,SAAS,CAACI,KAAK,CAAC;QACxCyB,QAAQ,CAACE,MAAM,CAAC,IAAI,EAAE7B,OAAO,CAACE,KAAK,CAAC;QACpC,IAAIX,KAAK,CAAC6B,OAAO,CAACrB,WAAW,CAACG,KAAK,CAAC,EAAE;UACpCH,WAAW,CAACG,KAAK,CAAC4B,OAAO,CAAEP,IAAI,IAAK;YAClCI,QAAQ,CAACE,MAAM,CAAC,UAAU,EAAEN,IAAI,CAAC;UACnC,CAAC,CAAC;QACJ,OAAO;UACLC,OAAO,CAACC,KAAK,CAAC,mCAAmC,EAAE1B,WAAW,CAACG,KAAK,CAAC;QACvE;QACA,MAAM6B,QAAO,GAAI,MAAMpD,KAAK,CAACqD,IAAI,CAAC,GAAG3B,GAAG,kBAAkB,EAAEsB,QAAQ,EAAE;UACpEM,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClCC,aAAa,EAAE,UAAUzB,KAAK;UAChC;QACF,CAAC,CAAC;QACFe,OAAO,CAACW,GAAG,CAACJ,QAAQ,CAAC;QAErB,IAAIA,QAAQ,CAACK,IAAI,CAACC,MAAK,IAAK,IAAI,EAAE;UAChCxD,KAAK,CAACyD,OAAO,CAAC,4BAA4B,EAAE;YAC1CC,QAAQ,EAAE,WAAW;YACrBC,SAAS,EAAE,IAAI;YACfC,OAAO,EAAEA,CAAA,KAAMhD,IAAI,CAAC,cAAc;UACpC,CAAC,CAAC;QACJ,OAAO;UACLb,IAAI,CAAC8D,IAAI,CAAC;YACRC,IAAI,EAAE,OAAO;YACbC,KAAK,EAAE,KAAK;YACZC,IAAI,EAAE;UACR,CAAC,CAAC;QACJ;MACF,EAAE,OAAOpB,KAAK,EAAE;QACdD,OAAO,CAACW,GAAG,CAACV,KAAK,CAAC;QAClB7C,IAAI,CAAC8D,IAAI,CAAC;UACRC,IAAI,EAAE,OAAO;UACbC,KAAK,EAAE,KAAK;UACZC,IAAI,EAAE;QACR,CAAC,CAAC;MACJ,UAAU;QACRzC,OAAO,CAACF,KAAI,GAAI,KAAK;MACvB;IACF,CAAC;IAED,OAAO;MACLR,SAAS;MACTC,WAAW;MACXC,QAAQ;MACRE,SAAS;MACTC,WAAW;MACXI,MAAM;MACNC,OAAO;MACPY,UAAU;MACVU,QAAQ;MACRR;IACF,CAAC;EACH;AACF,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}