{"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 // Make sure localAccess is an array and not a string or any other data type\n if (typeof localAccess.value === 'string') {\n // If it's a string (e.g., a stringified array), parse it back into an array\n localAccess.value = JSON.parse(localAccess.value);\n }\n\n // Now ensure localAccess is an array\n if (!Array.isArray(localAccess.value)) {\n localAccess.value = [];\n }\n\n // If checkbox is checked, add the permission to the array\n if (isChecked) {\n if (!localAccess.value.includes(permission)) {\n localAccess.value = [...localAccess.value, permission];\n console.log(localAccess.value);\n }\n } else {\n // If checkbox is unchecked, remove the permission from the array\n localAccess.value = localAccess.value.filter(item => item !== permission);\n console.log(localAccess.value);\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","isArray","includes","console","log","filter","item","editUser","formData","FormData","append","forEach","error","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":[]}