@@ -831,15 +831,30 @@ data-bs-toggle="dropdown" aria-expanded="false">
831831 str1 = str1 . replace ( / 9 / img, '۹' ) ;
832832 return str1 ;
833833 }
834+ private static toEnglishNumber ( inputNumber1 : number | string ) : string {
835+ /* ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ */
836+ if ( ! inputNumber1 ) return '' ;
837+ let str1 = inputNumber1 . toString ( ) . trim ( ) ;
838+ if ( ! str1 ) return '' ;
839+ str1 = str1 . replace ( / ۰ / img, '0' ) ;
840+ str1 = str1 . replace ( / ۱ / img, '1' ) ;
841+ str1 = str1 . replace ( / ۲ / img, '2' ) ;
842+ str1 = str1 . replace ( / ۳ / img, '3' ) ;
843+ str1 = str1 . replace ( / ۴ / img, '4' ) ;
844+ str1 = str1 . replace ( / ۵ / img, '5' ) ;
845+ str1 = str1 . replace ( / ۶ / img, '6' ) ;
846+ str1 = str1 . replace ( / ۷ / img, '7' ) ;
847+ str1 = str1 . replace ( / ۸ / img, '8' ) ;
848+ str1 = str1 . replace ( / ۹ / img, '9' ) ;
849+ return str1 ;
850+ }
834851 private static zeroPad ( nr : any , base ?: string ) : string {
835852 if ( nr == undefined || nr == '' ) return '00' ;
836853 if ( base == undefined || base == '' ) base = '00' ;
837854 let len = ( String ( base ) . length - String ( nr ) . length ) + 1 ;
838855 return len > 0 ? new Array ( len ) . join ( '0' ) + nr : nr ;
839856 }
840- private static getDateTimeString ( dateTimeJson : GetDateTimeJson1 , format : string , isGregorian : boolean , englishNumber : boolean ) : string {
841-
842- if ( isGregorian ) englishNumber = true ;
857+ private static getDateTimeString ( dateTimeJson : GetDateTimeJson1 , format : string , isGregorian : boolean , persianNumber : boolean ) : string {
843858
844859 /// فرمت های که پشتیبانی می شوند
845860 /// <para />
@@ -907,7 +922,8 @@ data-bs-toggle="dropdown" aria-expanded="false">
907922 format = format . replace ( / t t / mg, this . getAmPm ( dateTimeJson . hour , isGregorian ) ) ;
908923 format = format . replace ( / t / mg, this . getAmPm ( dateTimeJson . hour , isGregorian ) [ 0 ] ) ;
909924
910- if ( ! englishNumber ) format = MdsPersianDateTimePicker . toPersianNumber ( format ) ;
925+ if ( persianNumber )
926+ format = MdsPersianDateTimePicker . toPersianNumber ( format ) ;
911927 return format ;
912928 }
913929 private static getSelectedDateTimeTextFormatted ( setting : MdsPersianDateTimePickerSetting ) : string {
@@ -918,9 +934,9 @@ data-bs-toggle="dropdown" aria-expanded="false">
918934 setting . selectedDate . setSeconds ( 0 ) ;
919935 }
920936 if ( setting . rangeSelector && setting . rangeSelectorStartDate != undefined && setting . rangeSelectorEndDate != undefined )
921- return MdsPersianDateTimePicker . getDateTimeString ( ! setting . isGregorian ? MdsPersianDateTimePicker . getDateTimeJsonPersian1 ( setting . rangeSelectorStartDate ) : MdsPersianDateTimePicker . getDateTimeJson1 ( setting . rangeSelectorStartDate ) , setting . textFormat , setting . isGregorian , setting . isGregorian ) + ' - ' +
922- MdsPersianDateTimePicker . getDateTimeString ( ! setting . isGregorian ? MdsPersianDateTimePicker . getDateTimeJsonPersian1 ( setting . rangeSelectorEndDate ) : MdsPersianDateTimePicker . getDateTimeJson1 ( setting . rangeSelectorEndDate ) , setting . textFormat , setting . isGregorian , setting . isGregorian ) ;
923- return MdsPersianDateTimePicker . getDateTimeString ( ! setting . isGregorian ? MdsPersianDateTimePicker . getDateTimeJsonPersian1 ( setting . selectedDate ) : MdsPersianDateTimePicker . getDateTimeJson1 ( setting . selectedDate ) , setting . textFormat , setting . isGregorian , setting . isGregorian ) ;
937+ return MdsPersianDateTimePicker . getDateTimeString ( ! setting . isGregorian ? MdsPersianDateTimePicker . getDateTimeJsonPersian1 ( setting . rangeSelectorStartDate ) : MdsPersianDateTimePicker . getDateTimeJson1 ( setting . rangeSelectorStartDate ) , setting . textFormat , setting . isGregorian , setting . persianNumber ) + ' - ' +
938+ MdsPersianDateTimePicker . getDateTimeString ( ! setting . isGregorian ? MdsPersianDateTimePicker . getDateTimeJsonPersian1 ( setting . rangeSelectorEndDate ) : MdsPersianDateTimePicker . getDateTimeJson1 ( setting . rangeSelectorEndDate ) , setting . textFormat , setting . isGregorian , setting . persianNumber ) ;
939+ return MdsPersianDateTimePicker . getDateTimeString ( ! setting . isGregorian ? MdsPersianDateTimePicker . getDateTimeJsonPersian1 ( setting . selectedDate ) : MdsPersianDateTimePicker . getDateTimeJson1 ( setting . selectedDate ) , setting . textFormat , setting . isGregorian , setting . persianNumber ) ;
924940 }
925941 private static getSelectedDateFormatted ( setting : MdsPersianDateTimePickerSetting ) : string {
926942 // دریافت رشته تاریخ انتخاب شده
@@ -967,7 +983,7 @@ data-bs-toggle="dropdown" aria-expanded="false">
967983 targetTextElement . dispatchEvent ( changeEvent ) ;
968984 }
969985 if ( targetDateElement != undefined ) {
970- const dateTimeFormat = this . getSelectedDateFormatted ( setting ) ;
986+ const dateTimeFormat = this . toEnglishNumber ( this . getSelectedDateFormatted ( setting ) ) ;
971987 switch ( targetDateElement . tagName . toLowerCase ( ) ) {
972988 case 'input' :
973989 ( < any > targetDateElement ) . value = dateTimeFormat ;
@@ -2376,6 +2392,10 @@ export class MdsPersianDateTimePickerSetting {
23762392 * آیا تقویم به صورت مدال نمایش داده شود
23772393 */
23782394 modalMode = false ;
2395+ /**
2396+ * تبدیل اعداد به فارسی
2397+ */
2398+ persianNumber = false ;
23792399 /**
23802400 * رویداد عوض شدن ماه و تاریخ در دیت پیکر
23812401 * @param _ تاریخ ماه انتخابی
0 commit comments