4.1 KiB
4.1 KiB
📅 بهروزرسانی Datepicker ها به تقویم شمسی
✅ فایلهای بهروزرسانی شده
تمام datepicker های سیستم به Persian Date Picker تبدیل شدند:
1. public/js/app.js
.start-date-picker: برای تاریخ شروع#user_dob: برای تاریخ تولد کاربر.dob-date-picker: برای تاریخ تولد در modal
2. public/js/common.js
- تنظیمات پیشفرض datepicker
- datetimepicker پشتیبانی از تقویم شمسی
3. public/js/opening_stock.js
.os_exp_date: برای تاریخ انقضای موجودی اولیه- datepicker های داینامیک در modal
4. public/js/login.js
.start-date-picker: برای تاریخ شروع کسبوکار در صفحه ثبتنام
5. public/js/labels.js
.label-date-picker: برای تاریخ در برچسبهای محصول
6. public/js/purchase.js
.expiry_datepicker: برای تاریخ انقضای محصولات در خرید- پشتیبانی از متد
updateوclearبرای Persian Date Picker
7. public/js/purchase_return.js
.expiry_datepicker: برای تاریخ انقضای محصولات در برگشت خرید
8. public/js/report.js
#exp_date_expiry_modal: برای تاریخ انقضا در modal گزارشها
9. public/js/pos.js
.os_exp_date: برای تاریخ انقضای موجودی در صفحه POS
🔄 نحوه کار
همه datepicker ها به صورت خودکار بررسی میکنند که:
- آیا زبان فارسی فعال است؟ (
is_persian_lang) - آیا Persian Date Picker موجود است؟ (
$.fn.persianDatepicker)
در صورت مثبت بودن هر دو، از Persian Date Picker استفاده میکند، در غیر این صورت از datepicker معمولی استفاده میکند.
📝 مثال کد
// بررسی و استفاده از Persian Date Picker
if (typeof is_persian_lang !== 'undefined' && is_persian_lang && typeof $.fn.persianDatepicker !== 'undefined') {
$('.date-picker').persianDatepicker({
calendarType: 'persian',
format: datepicker_date_format,
autoClose: true
});
} else {
$('.date-picker').datepicker({
autoclose: true,
format: datepicker_date_format,
});
}
🎯 ویژگیها
- ✅ تمام datepicker ها به صورت خودکار به تقویم شمسی تبدیل میشوند
- ✅ پشتیبانی از update و clear برای Persian Date Picker
- ✅ سازگاری با datepicker های قدیمی (fallback)
- ✅ استفاده از فرمت تاریخ مناسب (
YYYY/MM/DDبرای فارسی)
🔧 تنظیمات
فرمت تاریخ پیشفرض در resources/views/layouts/partials/javascripts.blade.php تنظیم شده است:
// برای فارسی
$datepicker_date_format = 'yyyy/mm/dd';
⚠️ نکات مهم
-
متدهای Persian Date Picker:
setDate()به جایdatepicker('update', date)clear()به جایdatepicker('update', '')
-
فرمت تاریخ:
- Persian Date Picker از فرمت
YYYY/MM/DDاستفاده میکند - نه
dd-mm-yyyyیا فرمتهای دیگر
- Persian Date Picker از فرمت
-
کتابخانههای مورد نیاز:
persian-datepicker(CSS و JS)persian-date(برای کار با تاریخهای شمسی)moment-jalaali(برای moment.js)
✅ چکلیست تست
- تمام datepicker ها تقویم شمسی را نمایش میدهند
- تاریخهای انقضا به درستی انتخاب میشوند
- تاریخ تولد کاربر با تقویم شمسی کار میکند
- تاریخ شروع کسبوکار در ثبتنام شمسی است
- تاریخهای موجودی اولیه شمسی هستند
- تاریخهای خرید و برگشت خرید شمسی هستند
نکته: پس از تغییرات، حتماً Cache مرورگر را پاک کنید تا تغییرات JavaScript اعمال شوند.