Skip to content

Commit 9981ec3

Browse files
committed
Fix bug
1 parent 4a43d76 commit 9981ec3

6 files changed

Lines changed: 51 additions & 51 deletions

dist/jquery.md.bootstrap.datetimepicker.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/jquery.md.bootstrap.datetimepicker.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/jquery.md.bootstrap.datetimepicker.style.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "md.bootstrappersiandatetimepicker",
3-
"version": "3.10.0",
3+
"version": "3.10.1",
44
"description": "Persian Date Time Picker with jQuery 3+ & Bootstrap 4+",
55
"license": "MIT",
66
"moduleResolution": "node",
@@ -16,7 +16,7 @@
1616
},
1717
"homepage": "https://github.com/Mds92/MD.BootstrapPersianDateTimePicker",
1818
"dependencies": {
19-
"@popperjs/core": "^2.4.4",
19+
"@popperjs/core": "^2.8.5",
2020
"bootstrap": "^4.5.3",
2121
"jquery": "^3.5.1"
2222
},

src/jquery.md.bootstrap.datetimepicker.js

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* Bootstrap 4+ Persian Date Time Picker jQuery Plugin
3-
* version : 3.10.0
3+
* version : 3.10.1
44
* https://github.com/Mds92/MD.BootstrapPersianDateTimePicker
55
*
66
*
@@ -14,33 +14,33 @@
1414

1515
// #region jalali calendar
1616

17-
function toJalaali(gy, gm, gd) {
17+
function toJalali(gy, gm, gd) {
1818
return d2j(g2d(gy, gm, gd));
1919
}
2020

2121
function toGregorian(jy, jm, jd) {
2222
return d2g(j2d(jy, jm, jd));
2323
}
2424

25-
function isValidJalaaliDate(jy, jm, jd) {
25+
function isValidJalaliDate(jy, jm, jd) {
2626
return jy >= -61 && jy <= 3177 &&
2727
jm >= 1 && jm <= 12 &&
28-
jd >= 1 && jd <= jalaaliMonthLength(jy, jm);
28+
jd >= 1 && jd <= jalaliMonthLength(jy, jm);
2929
}
3030

31-
function isLeapJalaaliYear(jy) {
31+
function isLeapJalaliYear(jy) {
3232
return jalCal(jy).leap === 0;
3333
}
3434

35-
function jalaaliMonthLength(jy, jm) {
35+
function jalaliMonthLength(jy, jm) {
3636
if (jm <= 6) return 31;
3737
if (jm <= 11) return 30;
38-
if (isLeapJalaaliYear(jy)) return 30;
38+
if (isLeapJalaliYear(jy)) return 30;
3939
return 29;
4040
}
4141

4242
function jalCal(jy) {
43-
// Jalaali years starting the 33-year rule.
43+
// Jalali years starting the 33-year rule.
4444
var breaks = [-61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178],
4545
bl = breaks.length,
4646
gy = jy + 621,
@@ -53,9 +53,9 @@
5353
i;
5454

5555
if (jy < jp || jy >= breaks[bl - 1])
56-
throw new Error('Invalid Jalaali year ' + jy);
56+
throw new Error('Invalid Jalali year ' + jy);
5757

58-
// Find the limiting years for the Jalaali year jy.
58+
// Find the limiting years for the Jalali year jy.
5959
for (i = 1; i < bl; i += 1) {
6060
jm = breaks[i];
6161
jump = jm - jp;
@@ -67,7 +67,7 @@
6767
n = jy - jp;
6868

6969
// Find the number of leap years from AD 621 to the beginning
70-
// of the current Jalaali year in the Persian calendar.
70+
// of the current Jalali year in the Persian calendar.
7171
leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4);
7272
if (mod(jump, 33) === 4 && jump - n === 4)
7373
leapJ += 1;
@@ -122,7 +122,7 @@
122122
k -= 186;
123123
}
124124
} else {
125-
// Previous Jalaali year.
125+
// Previous Jalali year.
126126
jy -= 1;
127127
k += 179;
128128
if (r.leap === 1)
@@ -196,7 +196,7 @@
196196
`;
197197

198198

199-
var popverHtmlTemplate = `
199+
var popoverHtmlTemplate = `
200200
<div class="popover mds-bootstrap-persian-datetime-picker-popover" role="tooltip" ${mdDatePickerElementFlag}>
201201
<div class="arrow"></div>
202202
<h3 class="popover-header text-center" data-name="mds-datetimepicker-title"></h3>
@@ -805,7 +805,7 @@
805805
}
806806

807807
function getDateTimeJsonPersian1(dateTime) {
808-
var persianDate = toJalaali(dateTime.getFullYear(), dateTime.getMonth() + 1, dateTime.getDate());
808+
var persianDate = toJalali(dateTime.getFullYear(), dateTime.getMonth() + 1, dateTime.getDate());
809809
return {
810810
year: persianDate.jy,
811811
month: persianDate.jm,
@@ -826,7 +826,7 @@
826826
}
827827

828828
function isLeapYear(persianYear) {
829-
return isLeapJalaaliYear(persianYear);
829+
return isLeapJalaliYear(persianYear);
830830
}
831831

832832
function getDaysInMonthPersian(year, month) {
@@ -965,9 +965,9 @@
965965
return getDateTime1(dateTimeJsonPersian.year, dateTimeJsonPersian.month, 1);
966966
}
967967

968-
function parsePersianDateTime(persianDateTimeInString, dateSeperatorPattern) {
969-
if (!dateSeperatorPattern) dateSeperatorPattern = "\/|-";
970-
dateSeperatorPattern = new RegExp(dateSeperatorPattern, 'img');
968+
function parsePersianDateTime(persianDateTimeInString, dateSeparatorPattern) {
969+
if (!dateSeparatorPattern) dateSeparatorPattern = "\/|-";
970+
dateSeparatorPattern = new RegExp(dateSeparatorPattern, 'img');
971971
persianDateTimeInString = toEnglishNumber(persianDateTimeInString);
972972

973973
var month = 0,
@@ -976,37 +976,37 @@
976976
hour = 0,
977977
minute = 0,
978978
second = 0,
979-
miliSecond = 0,
979+
millisecond = 0,
980980
amPmEnum = amPm.none,
981-
containMonthSeperator = dateSeperatorPattern.test(persianDateTimeInString);
981+
containMonthSeparator = dateSeparatorPattern.test(persianDateTimeInString);
982982

983983
persianDateTimeInString = persianDateTimeInString.replace(/&nbsp;/img, ' ');
984984
persianDateTimeInString = persianDateTimeInString.replace(/\s+/img, '-');
985985
persianDateTimeInString = persianDateTimeInString.replace(/\\/img, '-');
986986
persianDateTimeInString = persianDateTimeInString.replace(/ك/img, 'ک');
987987
persianDateTimeInString = persianDateTimeInString.replace(/ي/img, 'ی');
988-
persianDateTimeInString = persianDateTimeInString.replace(dateSeperatorPattern, '-');
988+
persianDateTimeInString = persianDateTimeInString.replace(dateSeparatorPattern, '-');
989989
persianDateTimeInString = '-' + persianDateTimeInString + '-';
990990

991991
// بدست آوردن ب.ظ یا ق.ظ
992992
if (persianDateTimeInString.indexOf('ق.ظ') > -1)
993-
amPmEnum = amPmEnum.AM;
993+
amPmEnum = amPm.AM;
994994
else if (persianDateTimeInString.indexOf('ب.ظ') > -1)
995-
amPmEnum = amPmEnum.PM;
995+
amPmEnum = amPm.PM;
996996

997997
if (persianDateTimeInString.indexOf(':') > -1) // رشته ورودی شامل ساعت نیز هست
998998
{
999999
persianDateTimeInString = persianDateTimeInString.replace(/-*:-*/img, ':');
10001000
hour = (persianDateTimeInString.match(/-\d{1,2}(?=:)/img)[0]).replace(/\D+/, '');
1001-
var minuteAndSecondAndMiliSecondMatch = persianDateTimeInString.match(/:\d{1,2}(?=:?)/img);
1002-
minute = minuteAndSecondAndMiliSecondMatch[0].replace(/\D+/, '');
1003-
if (minuteAndSecondAndMiliSecondMatch[1] != undefined)
1004-
second = minuteAndSecondAndMiliSecondMatch[1].replace(/\D+/, '');
1005-
if (minuteAndSecondAndMiliSecondMatch[2] != undefined)
1006-
miliSecond = minuteAndSecondAndMiliSecondMatch[2].replace(/\D+/, '');
1001+
var minuteAndSecondAndMillisecondMatch = persianDateTimeInString.match(/:\d{1,2}(?=:?)/img);
1002+
minute = minuteAndSecondAndMillisecondMatch[0].replace(/\D+/, '');
1003+
if (minuteAndSecondAndMillisecondMatch[1] != undefined)
1004+
second = minuteAndSecondAndMillisecondMatch[1].replace(/\D+/, '');
1005+
if (minuteAndSecondAndMillisecondMatch[2] != undefined)
1006+
millisecond = minuteAndSecondAndMillisecondMatch[2].replace(/\D+/, '');
10071007
}
10081008

1009-
if (containMonthSeperator) {
1009+
if (containMonthSeparator) {
10101010
var monthDayMath = persianDateTimeInString.match(/-\d{1,2}(?=-\d{1,2}[^:]|-)/img);
10111011

10121012
// بدست آوردن ماه
@@ -1049,7 +1049,7 @@
10491049
var numericHour = Number(hour);
10501050
var numericMinute = Number(minute);
10511051
var numericSecond = Number(second);
1052-
var numericMiliSecond = Number(miliSecond);
1052+
var numericMillisecond = Number(millisecond);
10531053

10541054
if (numericYear <= 0)
10551055
numericYear = persianDateTime[0];
@@ -1061,16 +1061,16 @@
10611061
numericDay = persianDateTime[2];
10621062

10631063
switch (amPmEnum) {
1064-
case amPmEnum.PM:
1064+
case amPm.PM:
10651065
if (numericHour < 12)
10661066
numericHour = numericHour + 12;
10671067
break;
1068-
case amPmEnum.AM:
1069-
case amPmEnum.None:
1068+
case amPm.AM:
1069+
case amPm.None:
10701070
break;
10711071
}
10721072

1073-
return getDateTime1(numericYear, numericMonth, numericDay, numericHour, numericMinute, numericSecond, numericMiliSecond);
1073+
return getDateTime1(numericYear, numericMonth, numericDay, numericHour, numericMinute, numericSecond, numericMillisecond);
10741074
}
10751075

10761076
function parseGregorianDateTime(gregorianDateTimeString) {
@@ -1368,7 +1368,7 @@
13681368
selectMonth11ButtonCssClass: '',
13691369
selectMonth12ButtonCssClass: '',
13701370
},
1371-
holiDaysDateNumbers = [],
1371+
holidaysDateNumbers = [],
13721372
disabledDatesNumber = [],
13731373
specialDatesNumber = [],
13741374
disableBeforeDateTimeJson = {},
@@ -1402,7 +1402,7 @@
14021402
selectedDateToShowTemp = getClonedDate(selectedDateToShow);
14031403
}
14041404
for (i = 0; i < setting.holiDays.length; i++) {
1405-
holiDaysDateNumbers.push(convertToNumber1(getDateTimeJson1(setting.holiDays[i])));
1405+
holidaysDateNumbers.push(convertToNumber1(getDateTimeJson1(setting.holiDays[i])));
14061406
}
14071407
for (i = 0; i < setting.disabledDates.length; i++) {
14081408
disabledDatesNumber.push(convertToNumber1(getDateTimeJson1(setting.disabledDates[i])));
@@ -1433,7 +1433,7 @@
14331433
selectedDateToShowTemp = getClonedDate(selectedDateToShow);
14341434
}
14351435
for (i = 0; i < setting.holiDays.length; i++) {
1436-
holiDaysDateNumbers.push(convertToNumber1(getDateTimeJsonPersian1(setting.holiDays[i])));
1436+
holidaysDateNumbers.push(convertToNumber1(getDateTimeJsonPersian1(setting.holiDays[i])));
14371437
}
14381438
for (i = 0; i < setting.disabledDates.length; i++) {
14391439
disabledDatesNumber.push(convertToNumber1(getDateTimeJsonPersian1(setting.disabledDates[i])));
@@ -1540,8 +1540,8 @@
15401540
}
15411541

15421542
// روزهای تعطیل
1543-
for (j = 0; j < holiDaysDateNumbers.length; j++) {
1544-
if (holiDaysDateNumbers[j] != currentDateNumber) continue;
1543+
for (j = 0; j < holidaysDateNumbers.length; j++) {
1544+
if (holidaysDateNumbers[j] != currentDateNumber) continue;
15451545
$td.addClass('text-danger');
15461546
break;
15471547
}
@@ -2032,9 +2032,9 @@
20322032
else if (!setting.enableTimePicker && !setting.textFormat) setting.textFormat = 'yyyy/MM/dd';
20332033
if (setting.enableTimePicker && !setting.dateFormat) setting.dateFormat = 'yyyy/MM/dd HH:mm:ss';
20342034
else if (!setting.enableTimePicker && !setting.dateFormat) setting.dateFormat = 'yyyy/MM/dd';
2035-
var uniqeId = new Date().getTime();
2035+
var uniqueId = new Date().getTime();
20362036
$this.data(mdPluginName, setting);
2037-
$this.attr('data-uniqueid', uniqeId);
2037+
$this.attr('data-uniqueid', uniqueId);
20382038
if (setting.rangeSelector && setting.selectedRangeDate != undefined) {
20392039
setSelectedRangeData(setting);
20402040
triggerChangeCalling = false;
@@ -2053,7 +2053,7 @@
20532053
placement: setting.placement,
20542054
title: ' ',
20552055
trigger: 'manual',
2056-
template: popverHtmlTemplate,
2056+
template: popoverHtmlTemplate,
20572057
sanitize: false,
20582058
}).on(setting.trigger, function () {
20592059
triggerStart = true;
@@ -2083,7 +2083,7 @@
20832083
setting.selectedDateToShow = setting.selectedDate != undefined ? getClonedDate(setting.selectedDate) : new Date();
20842084
var calendarHtml = getDateTimePickerHtml(setting);
20852085
$(mdDatePickerElementSelector).find('[data-name="mds-datetimepicker-body"]').html(calendarHtml);
2086-
$(mdDatePickerElementSelector).find('[data-buttonselector]').attr('data-buttonselector', uniqeId);
2086+
$(mdDatePickerElementSelector).find('[data-buttonselector]').attr('data-buttonselector', uniqueId);
20872087
$(mdDatePickerElementSelector).modal('show');
20882088
});
20892089
}

webpack.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ module.exports = {
6464
banner: `
6565
Bootstrap 4+ Persian Date Time Picker jQuery Plugin
6666
https://github.com/Mds92/MD.BootstrapPersianDateTimePicker
67-
version : 3.10.0
67+
version : 3.10.1
6868
Written By Mohammad Dayyan, Mordad 1397 - 1400
6969
mds.soft@gmail.com - @mdssoft
7070

0 commit comments

Comments
 (0)