{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport { 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 = ref(Array.isArray(props.access) ? [...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 // فقط زمانی که modal باز میشود، مقدار جدید را برای localAccess میگذاریم.\n localAccess.value = newVal;\n }, {\n immediate: true\n } // وقتی modal باز میشود، همگامسازی فوری انجام میشود\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 (!Password.value)\n // errors.value.password = \"وارد کردن رمز عبور الزامی است\";\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 // Log the current localAccess value to debug\n console.log('Before toggle:', localAccess.value);\n\n // Ensure localAccess is an array (if not, convert it)\n if (!Array.isArray(localAccess.value)) {\n console.log('Reinitializing localAccess as an array');\n localAccess.value = [props.access]; // Initialize to array if not already\n }\n\n // Toggle logic - remove or add the permission\n if (localAccess.value.includes(permission)) {\n // Remove permission if it exists\n localAccess.value = localAccess.value.filter(item => item !== permission);\n } else {\n // Add permission if it doesn't exist\n localAccess.value.push(permission);\n }\n\n // Log the updated localAccess value\n console.log('After toggle:', localAccess.value);\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 localAccess.value.forEach(item => {\n formData.append(\"access[]\", item);\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: `افزودن کاربر با مشکل مواجه شد: ${error.response.data.message}`\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","isArray","localId","newVal","value","immediate","errors","loading","url","process","env","VUE_APP_ROOT_URL","token","localStorage","getItem","validateForm","Object","keys","length","clearError","field","toggleAccess","permission","console","log","includes","filter","item","push","editUser","formData","FormData","append","forEach","response","post","headers","Authorization","data","status","success","position","autoClose","onClose","fire","icon","title","text","error","message"],"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":[]}