{"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, isChecked) => {\n // Ensure localAccess is an array and not a stringified array or anything else\n if (typeof localAccess.value === 'string') {\n // If it's a stringified array, parse it back into an array\n try {\n localAccess.value = JSON.parse(localAccess.value);\n } catch (e) {\n console.error(\"Failed to parse stringified localAccess: \", e);\n localAccess.value = []; // Reset to empty array in case of error\n }\n }\n\n // Ensure it's still an array after parsing (or initializing)\n if (!Array.isArray(localAccess.value)) {\n localAccess.value = [];\n }\n\n // Add or remove permission based on whether the checkbox is checked\n if (isChecked) {\n if (!localAccess.value.includes(permission)) {\n localAccess.value = [...localAccess.value, permission];\n }\n } else {\n localAccess.value = localAccess.value.filter(item => item !== permission);\n }\n };\n const editUser = async () => {\n if (!validateForm()) return;\n loading.value = true;\n console.log(localAccess.value);\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","isChecked","JSON","parse","e","console","error","isArray","includes","filter","item","editUser","log","formData","FormData","append","forEach","response","post","headers","Authorization","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 ویرایش کردن کاربر\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n نام \r\n \r\n {{\r\n errors.name\r\n }}\r\n \r\n \r\n\r\n \r\n \r\n موبایل\r\n \r\n {{\r\n errors.mobile\r\n }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n نوع کاربر\r\n \r\n \r\n نوع کاربر\r\n کاربر\r\n اپراتور\r\n \r\n \r\n نوع کاربر\r\n کاربر\r\n اپراتور\r\n مدیر\r\n \r\n \r\n {{\r\n errors.role\r\n }}\r\n \r\n \r\n\r\n \r\n \r\n رمز عبور\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{\r\n errors.password\r\n }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n دسترسی به کاربران\r\n \r\n \r\n دسترسی به موضوع ها\r\n \r\n \r\n دسترسی به موقعیت ها\r\n \r\n \r\n دسترسی به جلسات\r\n \r\n \r\n دسترسی به جلسات شخصی\r\n \r\n \r\n دسترسی به یاد داشت ها\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n بستن\r\n \r\n \r\n \r\n ذخیره\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}