@seafile/seafile-calendar 0.0.32-beta.11 → 0.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rc-calendar.js +70 -38
- package/dist/rc-calendar.js.map +1 -1
- package/dist/rc-calendar.min.js +1 -1
- package/es/Calendar.js +12 -6
- package/es/date/DateInput.js +14 -4
- package/es/date/DateTBody.js +6 -4
- package/es/util/index.js +12 -0
- package/lib/Calendar.js +11 -5
- package/lib/date/DateInput.js +14 -4
- package/lib/date/DateTBody.js +5 -3
- package/lib/util/index.js +13 -1
- package/package.json +2 -1
package/lib/Calendar.js
CHANGED
@@ -108,7 +108,8 @@ var Calendar = function (_React$Component) {
|
|
108
108
|
_this.state = {
|
109
109
|
mode: _this.props.mode || 'date',
|
110
110
|
value: getMomentObjectIfValid(props.value) || getMomentObjectIfValid(props.defaultValue) || (0, _dayjs2['default'])(),
|
111
|
-
selectedValue: props.selectedValue || props.defaultSelectedValue
|
111
|
+
selectedValue: props.selectedValue || props.defaultSelectedValue,
|
112
|
+
currentStatus: _util.CALENDAR_STATUS.SPECIFIC_TIME
|
112
113
|
};
|
113
114
|
return _this;
|
114
115
|
}
|
@@ -156,7 +157,8 @@ var Calendar = function (_React$Component) {
|
|
156
157
|
showWeekNumber = props.showWeekNumber;
|
157
158
|
var value = state.value,
|
158
159
|
selectedValue = state.selectedValue,
|
159
|
-
mode = state.mode
|
160
|
+
mode = state.mode,
|
161
|
+
currentStatus = state.currentStatus;
|
160
162
|
|
161
163
|
var showTimePicker = mode === 'time';
|
162
164
|
var disabledTimeConfig = showTimePicker && disabledTime && timePicker ? (0, _util.getTimeConfig)(selectedValue, disabledTime) : null;
|
@@ -181,9 +183,10 @@ var Calendar = function (_React$Component) {
|
|
181
183
|
timePickerEle = _react2['default'].cloneElement(timePicker, timePickerProps);
|
182
184
|
}
|
183
185
|
var calendarInputPlaceholder = dateInputPlaceholder || (Array.isArray(this.getFormat()) ? this.getFormat()[0] : this.getFormat());
|
186
|
+
var inputFormat = Array.isArray(this.getFormat()) ? this.getFormat() : [this.getFormat()];
|
184
187
|
|
185
188
|
var dateInputElement = props.showDateInput ? _react2['default'].createElement(_DateInput2['default'], {
|
186
|
-
format:
|
189
|
+
format: inputFormat,
|
187
190
|
key: 'date-input',
|
188
191
|
value: value,
|
189
192
|
locale: locale,
|
@@ -248,7 +251,8 @@ var Calendar = function (_React$Component) {
|
|
248
251
|
onSelect: this.onDateTableSelect,
|
249
252
|
disabledDate: disabledDate,
|
250
253
|
showWeekNumber: showWeekNumber,
|
251
|
-
firstDayOfWeek: firstDayOfWeek
|
254
|
+
firstDayOfWeek: firstDayOfWeek,
|
255
|
+
currentStatus: currentStatus
|
252
256
|
})
|
253
257
|
),
|
254
258
|
_react2['default'].createElement(_CalendarFooter2['default'], {
|
@@ -280,7 +284,7 @@ var Calendar = function (_React$Component) {
|
|
280
284
|
onSelect: this.onDateTableSelect,
|
281
285
|
onClickRightPanelTime: onClickRightPanelTime,
|
282
286
|
defaultMinutesTime: this.props.defaultMinutesTime,
|
283
|
-
format:
|
287
|
+
format: inputFormat
|
284
288
|
})
|
285
289
|
)
|
286
290
|
));
|
@@ -423,6 +427,7 @@ var _initialiseProps = function _initialiseProps() {
|
|
423
427
|
this.onClear = function () {
|
424
428
|
_this2.onSelect(null);
|
425
429
|
_this2.props.onClear();
|
430
|
+
_this2.setState({ currentStatus: _util.CALENDAR_STATUS.CURRENT_TIME });
|
426
431
|
};
|
427
432
|
|
428
433
|
this.onOk = function () {
|
@@ -449,6 +454,7 @@ var _initialiseProps = function _initialiseProps() {
|
|
449
454
|
var timePicker = _this2.props.timePicker;
|
450
455
|
var selectedValue = _this2.state.selectedValue;
|
451
456
|
|
457
|
+
_this2.setState({ currentStatus: _util.CALENDAR_STATUS.SPECIFIC_TIME });
|
452
458
|
if (!selectedValue && timePicker) {
|
453
459
|
var timePickerDefaultValue = timePicker.props.defaultValue;
|
454
460
|
if (timePickerDefaultValue) {
|
package/lib/date/DateInput.js
CHANGED
@@ -63,6 +63,7 @@ var DateInput = function (_React$Component) {
|
|
63
63
|
_this.state = {
|
64
64
|
str: (0, _util.formatDate)(selectedValue, _this.props.format),
|
65
65
|
hasFocus: false,
|
66
|
+
isInputEmpty: false,
|
66
67
|
localFormat: _this.props.format[0]
|
67
68
|
};
|
68
69
|
return _this;
|
@@ -173,11 +174,16 @@ var _initialiseProps = function _initialiseProps() {
|
|
173
174
|
|
174
175
|
// 没有内容,合法并直接退出
|
175
176
|
|
176
|
-
if (!str) {
|
177
|
-
|
178
|
-
_this2.
|
177
|
+
if (!str || !calendarStr) {
|
178
|
+
_this2.setState({ isInputEmpty: true });
|
179
|
+
_this2.onClear();
|
179
180
|
return;
|
180
181
|
}
|
182
|
+
|
183
|
+
if (_this2.state.isInputEmpty) {
|
184
|
+
_this2.setState({ isInputEmpty: false });
|
185
|
+
}
|
186
|
+
|
181
187
|
var parsed = (0, _dayjs2['default'])(calendarStr, format[0]);
|
182
188
|
var value = _this2.props.value.clone();
|
183
189
|
value = value.year(parsed.year()).month(parsed.month()).date(parsed.date()).hour(parsed.hour()).minute(parsed.minute()).second(parsed.second());
|
@@ -216,7 +222,11 @@ var _initialiseProps = function _initialiseProps() {
|
|
216
222
|
if (keyCode === _KeyCode2['default'].ENTER && onSelect) {
|
217
223
|
var validateDate = !disabledDate || !disabledDate(value);
|
218
224
|
if (validateDate) {
|
219
|
-
|
225
|
+
if (_this2.state.isInputEmpty) {
|
226
|
+
onSelect(null);
|
227
|
+
} else {
|
228
|
+
onSelect(value.clone());
|
229
|
+
}
|
220
230
|
}
|
221
231
|
event.preventDefault();
|
222
232
|
}
|
package/lib/date/DateTBody.js
CHANGED
@@ -78,7 +78,8 @@ var DateTBody = function (_React$Component) {
|
|
78
78
|
dateRender = props.dateRender,
|
79
79
|
disabledDate = props.disabledDate,
|
80
80
|
hoverValue = props.hoverValue,
|
81
|
-
firstDayOfWeek = props.firstDayOfWeek
|
81
|
+
firstDayOfWeek = props.firstDayOfWeek,
|
82
|
+
currentStatus = props.currentStatus;
|
82
83
|
|
83
84
|
var iIndex = void 0;
|
84
85
|
var jIndex = void 0;
|
@@ -146,7 +147,7 @@ var DateTBody = function (_React$Component) {
|
|
146
147
|
for (jIndex = 0; jIndex < DATE_ROW_COLUMN_COUNT.DATE_COL_COUNT; jIndex++) {
|
147
148
|
var next = null;
|
148
149
|
var last = null;
|
149
|
-
current = dateTable[passed];
|
150
|
+
current = (0, _util.syncCurrentTime)(dateTable[passed], currentStatus);
|
150
151
|
if (jIndex < DATE_ROW_COLUMN_COUNT.DATE_COL_COUNT - 1) {
|
151
152
|
next = dateTable[passed + 1];
|
152
153
|
}
|
@@ -298,7 +299,8 @@ DateTBody.propTypes = {
|
|
298
299
|
value: _propTypes2['default'].object,
|
299
300
|
hoverValue: _propTypes2['default'].any,
|
300
301
|
showWeekNumber: _propTypes2['default'].bool,
|
301
|
-
firstDayOfWeek: _propTypes2['default'].string
|
302
|
+
firstDayOfWeek: _propTypes2['default'].string,
|
303
|
+
currentStatus: _propTypes2['default'].string
|
302
304
|
};
|
303
305
|
DateTBody.defaultProps = {
|
304
306
|
hoverValue: []
|
package/lib/util/index.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
-
exports.isLeapYear = exports.DATE_FORMATS = exports.getCurrentTime = exports.getCurrentYear = exports.getCurrentMonth = exports.getCurrentDate = undefined;
|
4
|
+
exports.isLeapYear = exports.syncCurrentTime = exports.CALENDAR_STATUS = exports.DATE_FORMATS = exports.getCurrentTime = exports.getCurrentYear = exports.getCurrentMonth = exports.getCurrentDate = undefined;
|
5
5
|
|
6
6
|
var _extends2 = require('babel-runtime/helpers/extends');
|
7
7
|
|
@@ -62,6 +62,18 @@ var DATE_FORMATS = exports.DATE_FORMATS = {
|
|
62
62
|
Germany_Russia_etcAndTime: 'DD.MM.YYYY HH:mm'
|
63
63
|
};
|
64
64
|
|
65
|
+
var CALENDAR_STATUS = exports.CALENDAR_STATUS = {
|
66
|
+
SPECIFIC_TIME: 'specific_time',
|
67
|
+
CURRENT_TIME: 'current_time'
|
68
|
+
};
|
69
|
+
|
70
|
+
var syncCurrentTime = exports.syncCurrentTime = function syncCurrentTime(date, status) {
|
71
|
+
if (status === CALENDAR_STATUS.CURRENT_TIME) {
|
72
|
+
return date.hour((0, _dayjs2['default'])().hour()).minute((0, _dayjs2['default'])().minute()).second((0, _dayjs2['default'])().second());
|
73
|
+
}
|
74
|
+
return date;
|
75
|
+
};
|
76
|
+
|
65
77
|
var defaultDisabledTime = {
|
66
78
|
disabledHours: function disabledHours() {
|
67
79
|
return [];
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@seafile/seafile-calendar",
|
3
|
-
"version": "0.0.32
|
3
|
+
"version": "0.0.32",
|
4
4
|
"description": "React Calendar",
|
5
5
|
"keywords": [
|
6
6
|
"react",
|
@@ -68,6 +68,7 @@
|
|
68
68
|
"devDependencies": {
|
69
69
|
"@types/react": "^16.3.13",
|
70
70
|
"async": "~3.1.0",
|
71
|
+
"chokidar": "^4.0.3",
|
71
72
|
"dtslint": "^0.9.0",
|
72
73
|
"enzyme": "^3.3.0",
|
73
74
|
"enzyme-adapter-react-16": "^1.1.1",
|