Skip to content
This repository was archived by the owner on Apr 19, 2022. It is now read-only.

Commit 5cd5e0d

Browse files
author
Fitz
committed
fix
1 parent 1d1671b commit 5cd5e0d

6 files changed

Lines changed: 91 additions & 75 deletions

File tree

dist/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.

dist/typepicker.esm.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* TypePicker v4.3.0
2+
* TypePicker v4.4.0
33
* Fi2zz / wenjingbiao@outlook.com
44
* https://github.com/Fi2zz/datepicker
55
* (c) 2017-2018, wenjingbiao@outlook.com
@@ -1071,14 +1071,20 @@ var TypePicker = (function () {
10711071
? dates.map(formatParse(dateFormat)).filter(isNotEmpty)
10721072
: [];
10731073
};
1074-
if (isDate(state.startDate) && isDate(state.endDate)) {
1075-
state.date = state.startDate;
1076-
state.reachStart = true;
1077-
}
1078-
else {
1074+
if (!isDate(state.startDate) || !isDate(state.endDate)) {
10791075
state.reachEnd = false;
10801076
state.reachStart = false;
10811077
}
1078+
else {
1079+
var start = state.startDate;
1080+
var end = state.endDate;
1081+
if (start > end) {
1082+
state.startDate = end;
1083+
state.endDate = start;
1084+
state.date = end;
1085+
state.reachStart = true;
1086+
}
1087+
}
10821088
state.disableDates = dedupList(disableDates.concat(mapDatesFromProps(dates))).filter(isNotEmpty);
10831089
state.disableDays = disableDays.concat(mapDay(days)).filter(isNotEmpty);
10841090
this.setState(state);

dist/typepicker.min.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* TypePicker v4.3.0
2+
* TypePicker v4.4.0
33
* Fi2zz / wenjingbiao@outlook.com
44
* https://github.com/Fi2zz/datepicker
55
* (c) 2017-2018, wenjingbiao@outlook.com
@@ -1077,14 +1077,20 @@ var TypePicker = (function () {
10771077
? dates.map(formatParse(dateFormat)).filter(isNotEmpty)
10781078
: [];
10791079
};
1080-
if (isDate(state.startDate) && isDate(state.endDate)) {
1081-
state.date = state.startDate;
1082-
state.reachStart = true;
1083-
}
1084-
else {
1080+
if (!isDate(state.startDate) || !isDate(state.endDate)) {
10851081
state.reachEnd = false;
10861082
state.reachStart = false;
10871083
}
1084+
else {
1085+
var start = state.startDate;
1086+
var end = state.endDate;
1087+
if (start > end) {
1088+
state.startDate = end;
1089+
state.endDate = start;
1090+
state.date = end;
1091+
state.reachStart = true;
1092+
}
1093+
}
10881094
state.disableDates = dedupList(disableDates.concat(mapDatesFromProps(dates))).filter(isNotEmpty);
10891095
state.disableDays = disableDays.concat(mapDay(days)).filter(isNotEmpty);
10901096
this.setState(state);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "datepicker",
3-
"version": "4.3.0",
3+
"version": "4.4.0",
44
"description": "A Typescript Datepicker",
55
"author": "Fitzzz <wenjingbiao@outlook.com>",
66
"private": true,

src/index.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -397,13 +397,18 @@ export default class TypePicker {
397397
isArray(dates)
398398
? dates.map(formatParse(dateFormat)).filter(isNotEmpty)
399399
: [];
400-
401-
if (isDate(state.startDate) && isDate(state.endDate)) {
402-
state.date = state.startDate;
403-
state.reachStart = true;
404-
} else {
400+
if (!isDate(state.startDate) || !isDate(state.endDate)) {
405401
state.reachEnd = false;
406402
state.reachStart = false;
403+
} else {
404+
let start = state.startDate;
405+
let end = state.endDate;
406+
if (start > end) {
407+
state.startDate = end;
408+
state.endDate = start;
409+
state.date = end;
410+
state.reachStart = true;
411+
}
407412
}
408413

409414
state.disableDates = dedupList([

test.ts

Lines changed: 55 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -36,67 +36,66 @@ let options = {
3636
views: 2
3737
};
3838

39+
let app = new TypePicker(options);
3940

40-
let app = new TypePicker(options);
41+
console.log(app);
42+
app.on("select", (value: any) => {
43+
formControl.value = value;
44+
});
4145

42-
console.log(app);
43-
app.on("select", (value: any) => {
44-
formControl.value = value;
45-
});
46+
app.on("render", nodeList => {
47+
for (let i = 0; i < nodeList.length; i++) {
48+
let node = nodeList[i];
49+
let date = node.getAttribute("data-date");
50+
let disable = node.getAttribute("data-disabled");
4651

47-
app.on("render", nodeList => {
48-
for (let i = 0; i < nodeList.length; i++) {
49-
let node = nodeList[i];
50-
let date = node.getAttribute("data-date");
51-
let disable = node.getAttribute("data-disabled");
52-
53-
if (disable) {
54-
disable = JSON.parse(disable);
55-
}
52+
if (disable) {
53+
disable = JSON.parse(disable);
54+
}
5655

57-
let placeholder = node.querySelector(".placeholder");
56+
let placeholder = node.querySelector(".placeholder");
5857

59-
let data = source[date];
60-
if (!disable && data) {
61-
if (data.highlight) node.classList.add("highlight");
62-
placeholder.innerText = data.value;
63-
}
58+
let data = source[date];
59+
if (!disable && data) {
60+
if (data.highlight) node.classList.add("highlight");
61+
placeholder.innerText = data.value;
6462
}
65-
});
63+
}
64+
});
6665

67-
app.i18n({
68-
title: `MM YYYY`,
69-
days: activeLanguage.days,
70-
months: activeLanguage.months
71-
});
66+
app.i18n({
67+
title: `MM YYYY`,
68+
days: activeLanguage.days,
69+
months: activeLanguage.months
70+
});
7271

73-
app.disable({
74-
dates: [
75-
"2018-2-18",
76-
"2018-2-19",
77-
"2018-2-22",
78-
"2018-2-23",
79-
// new Date(),
80-
"2018-2-27",
81-
"2018-2-25",
82-
"2018-3-28",
83-
"2018-3-22",
84-
"2018-3-20",
85-
"2018-4-19",
86-
"2018-4-18",
87-
"2018-4-20",
88-
"2018-4-29",
89-
"2018-4-30",
90-
"2018-10-1",
91-
"2018-10-2"
92-
],
93-
// from: new Date(2018, 10, 1),
94-
// to: new Date(2019, 7, 15),
95-
days: [4, 5]
96-
});
97-
app.setDates([
98-
// "2018-9-27",
99-
// "2018-9-28",
100-
"2018-10-6",
101-
"2018-10-11"
102-
]);
72+
app.disable({
73+
dates: [
74+
"2018-2-18",
75+
"2018-2-19",
76+
"2018-2-22",
77+
"2018-2-23",
78+
// new Date(),
79+
"2018-2-27",
80+
"2018-2-25",
81+
"2018-3-28",
82+
"2018-3-22",
83+
"2018-3-20",
84+
"2018-4-19",
85+
"2018-4-18",
86+
"2018-4-20",
87+
"2018-4-29",
88+
"2018-4-30",
89+
"2018-10-1",
90+
"2018-10-2"
91+
],
92+
from: new Date(2018, 10, 1),
93+
to: new Date(2019, 7, 15),
94+
days: [4, 5]
95+
});
96+
app.setDates([
97+
// "2018-9-27",
98+
// "2018-9-28",
99+
"2018-10-6",
100+
"2018-10-11"
101+
]);

0 commit comments

Comments
 (0)