From ed275da930eefeeeb4b031516a80572420a1a9dc Mon Sep 17 00:00:00 2001 From: Morteza Kalantar Date: Sun, 9 Aug 2020 15:37:44 +0430 Subject: [PATCH 1/4] update gitignore: .vscode directory --- .gitignore | 1 + 1 file changed, 1 insertion(+) 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 From bae0b8f17c84439dd340de0743f1dd22c8d832ac Mon Sep 17 00:00:00 2001 From: Morteza Kalantar Date: Mon, 10 Aug 2020 10:31:42 +0430 Subject: [PATCH 2/4] convert numbers to fa locale --- src/picker/VuePersianDatetimePicker.vue | 26 +++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/picker/VuePersianDatetimePicker.vue b/src/picker/VuePersianDatetimePicker.vue index dc7ae93..5159de7 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')) }} @@ -1050,7 +1052,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 +1580,18 @@ export default { } } return date.clone() + }, + convertToLocaleNumber(value) { + if (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) { From ab5bd24e63a51cfe9381b8e4e9283af41200f9cc Mon Sep 17 00:00:00 2001 From: Morteza Kalantar Date: Sat, 15 Aug 2020 11:10:53 +0430 Subject: [PATCH 3/4] add convertNumbers prop --- src/picker/VuePersianDatetimePicker.vue | 26 ++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/picker/VuePersianDatetimePicker.vue b/src/picker/VuePersianDatetimePicker.vue index 5159de7..d21af60 100644 --- a/src/picker/VuePersianDatetimePicker.vue +++ b/src/picker/VuePersianDatetimePicker.vue @@ -777,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] @@ -1582,14 +1588,16 @@ export default { return date.clone() }, convertToLocaleNumber(value) { - if (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 - }) + if (this.convertNumbers) { + if (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 } From e23813f85439ac42f56eab89704ea39b6044a729 Mon Sep 17 00:00:00 2001 From: Morteza Kalantar Date: Mon, 17 Aug 2020 10:17:04 +0430 Subject: [PATCH 4/4] refactor: merge convert and locale conditions --- src/picker/VuePersianDatetimePicker.vue | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/picker/VuePersianDatetimePicker.vue b/src/picker/VuePersianDatetimePicker.vue index d21af60..4fedbb0 100644 --- a/src/picker/VuePersianDatetimePicker.vue +++ b/src/picker/VuePersianDatetimePicker.vue @@ -1588,16 +1588,14 @@ export default { return date.clone() }, convertToLocaleNumber(value) { - if (this.convertNumbers) { - if (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 - }) - } + 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 }