diff --git a/.gitignore b/.gitignore index 07e190f..25c113f 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ yarn-error.log # Editor directories and files .idea +.vscode *.suo *.ntvs* *.njsproj diff --git a/src/picker/VuePersianDatetimePicker.vue b/src/picker/VuePersianDatetimePicker.vue index dc7ae93..4fedbb0 100644 --- a/src/picker/VuePersianDatetimePicker.vue +++ b/src/picker/VuePersianDatetimePicker.vue @@ -81,7 +81,7 @@ - {{ selectedDate.xYear() }} + {{ convertToLocaleNumber(selectedDate.xYear()) }} @@ -94,7 +94,7 @@ - {{ formattedDate }} + {{ convertToLocaleNumber(formattedDate) }} @@ -153,7 +153,9 @@ @@ -208,7 +210,7 @@ /> @@ -250,7 +252,7 @@ @click="selectYear(year)" > - {{ year.xFormat('jYYYY') }} + {{ convertToLocaleNumber(year.xFormat('jYYYY')) }} @@ -775,7 +777,13 @@ export default { * @default true * @version 2.1.6 */ - showNowBtn: { type: Boolean, default: true } + showNowBtn: { type: Boolean, default: true }, + /** + * Convert to locale numbers or not + * @type Boolean + * @default false + */ + convertNumbers: { type: Boolean, default: false } }, data() { let defaultLocale = this.locale.split(',')[0] @@ -1050,7 +1058,7 @@ export default { let output = this.output.clone() let format = this.selfDisplayFormat if (/j\w/.test(format)) output.locale('fa') - return output.format(format) + return this.convertToLocaleNumber(output.format(format)) }, isDisableTime() { return this.hasStep('t') && this.checkDisable('t', this.time) @@ -1578,6 +1586,18 @@ export default { } } return date.clone() + }, + convertToLocaleNumber(value) { + if (this.convertNumbers && this.locale == 'fa') { + return `${value}`.replace(/\d+/g, function(digit) { + var ret = '' + for (var i = 0, len = digit.length; i < len; i++) { + ret += String.fromCharCode(digit.charCodeAt(i) + 1728) + } + return ret + }) + } + return value } }, install(Vue, options) {