dtable-ui-component 6.0.39-alpha43 → 6.0.39-alpha99
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.
|
@@ -14,6 +14,7 @@ var _seafileCalendar = _interopRequireDefault(require("@seafile/seafile-calendar
|
|
|
14
14
|
var _Picker = _interopRequireDefault(require("@seafile/seafile-calendar/lib/Picker"));
|
|
15
15
|
var _lang = require("../../lang");
|
|
16
16
|
var _columnUtils = require("../../utils/column-utils");
|
|
17
|
+
var _dateFormat = require("../../utils/dateFormat.js");
|
|
17
18
|
require("@seafile/seafile-calendar/assets/index.css");
|
|
18
19
|
let now = (0, _dayjs.default)();
|
|
19
20
|
class FilterCalendar extends _react.Component {
|
|
@@ -26,12 +27,16 @@ class FilterCalendar extends _react.Component {
|
|
|
26
27
|
const {
|
|
27
28
|
onChange
|
|
28
29
|
} = this.props;
|
|
29
|
-
const searchFormat =
|
|
30
|
+
const searchFormat = this.columnDataFormat;
|
|
30
31
|
this.setState({
|
|
31
32
|
value
|
|
32
33
|
}, () => {
|
|
33
34
|
if (this.state.value) {
|
|
34
|
-
|
|
35
|
+
const filterStr = this.state.value.format(this.getCalendarFormat()[0]);
|
|
36
|
+
if (typeof filterStr === 'string') {
|
|
37
|
+
const changeVal = (0, _dateFormat.filterChangeValue)(filterStr, searchFormat);
|
|
38
|
+
onChange(changeVal);
|
|
39
|
+
}
|
|
35
40
|
}
|
|
36
41
|
});
|
|
37
42
|
};
|
|
@@ -85,6 +90,9 @@ class FilterCalendar extends _react.Component {
|
|
|
85
90
|
this.columnDataFormat = DataFormat.split(' ')[0];
|
|
86
91
|
this.calendarContainerRef = /*#__PURE__*/_react.default.createRef();
|
|
87
92
|
this.defaultCalendarValue = null;
|
|
93
|
+
this.formatDay = this.props.value ? (0, _dateFormat.getDay)(this.props.value, this.getCalendarFormat()[0]) : null;
|
|
94
|
+
this.formatMonth = this.props.value ? (0, _dateFormat.getMonth)(this.props.value, this.getCalendarFormat()[0]) : null;
|
|
95
|
+
this.formatYear = this.props.value ? (0, _dateFormat.getYear)(this.props.value, this.getCalendarFormat()[0]) : null;
|
|
88
96
|
}
|
|
89
97
|
componentDidMount() {
|
|
90
98
|
const {
|
|
@@ -101,7 +109,7 @@ class FilterCalendar extends _react.Component {
|
|
|
101
109
|
if (value && (0, _dayjs.default)(value).isValid()) {
|
|
102
110
|
let validValue = (0, _dayjs.default)(value).isValid() ? (0, _dayjs.default)(value) : (0, _dayjs.default)(this.defaultCalendarValue);
|
|
103
111
|
this.setState({
|
|
104
|
-
value: iszhcn ? (0, _dayjs.default)(validValue).locale('zh-cn') : (0, _dayjs.default)(validValue).locale('en-gb')
|
|
112
|
+
value: iszhcn ? (0, _dayjs.default)(validValue).year(this.formatYear).month(this.formatMonth).date(this.formatDay).locale('zh-cn') : (0, _dayjs.default)(validValue).year(this.formatYear).month(this.formatMonth).date(this.formatDay).locale('en-gb')
|
|
105
113
|
});
|
|
106
114
|
}
|
|
107
115
|
}
|
|
@@ -111,9 +119,11 @@ class FilterCalendar extends _react.Component {
|
|
|
111
119
|
firstDayOfWeek
|
|
112
120
|
} = this.props;
|
|
113
121
|
const state = this.state;
|
|
122
|
+
const inputStr = state.value ? state.value.format(this.columnDataFormat) : '';
|
|
123
|
+
const displayContentValue = (0, _dateFormat.renderFilterInputFormat)(inputStr, this.columnDataFormat, (0, _dateFormat.delimate)(this.columnDataFormat));
|
|
114
124
|
if (isReadOnly) return /*#__PURE__*/_react.default.createElement("input", {
|
|
115
125
|
className: "ant-calendar-picker-input ant-input form-control",
|
|
116
|
-
value:
|
|
126
|
+
value: displayContentValue,
|
|
117
127
|
disabled: true
|
|
118
128
|
});
|
|
119
129
|
const calendarFormat = this.getCalendarFormat();
|
|
@@ -165,7 +175,7 @@ class FilterCalendar extends _react.Component {
|
|
|
165
175
|
tabIndex: "-1",
|
|
166
176
|
readOnly: true,
|
|
167
177
|
className: "ant-calendar-picker-input ant-input form-control",
|
|
168
|
-
value:
|
|
178
|
+
value: displayContentValue,
|
|
169
179
|
onMouseDown: this.handleMouseDown
|
|
170
180
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
171
181
|
ref: this.calendarContainerRef
|
package/lib/utils/dateFormat.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.currentYear = exports.currentTime = exports.DATE_FORMATS = void 0;
|
|
8
8
|
exports.delimate = delimate;
|
|
9
|
+
exports.filterChangeValue = filterChangeValue;
|
|
9
10
|
exports.formatDateLocal = formatDateLocal;
|
|
10
11
|
exports.fullValidYear = fullValidYear;
|
|
11
12
|
exports.getDay = getDay;
|
|
@@ -155,6 +156,32 @@ function renderFilterInputFormat(str, localeFormat, delimiter) {
|
|
|
155
156
|
return "".concat(Number(day)).concat(delimiter).concat(Number(month)).concat(delimiter).concat(year, " ").concat(time);
|
|
156
157
|
}
|
|
157
158
|
}
|
|
159
|
+
function filterChangeValue(str, localeFormat) {
|
|
160
|
+
const format = String(localeFormat).toLowerCase();
|
|
161
|
+
const parts = formatDateLocal(str, format);
|
|
162
|
+
if (parts.length < 3) {
|
|
163
|
+
return '';
|
|
164
|
+
}
|
|
165
|
+
let day;
|
|
166
|
+
let month;
|
|
167
|
+
let year;
|
|
168
|
+
if (format === DATE_FORMATS.ISO || format === DATE_FORMATS.ISOAndTime) {
|
|
169
|
+
day = parts[2];
|
|
170
|
+
month = parts[1];
|
|
171
|
+
year = fullValidYear(parts[0]);
|
|
172
|
+
}
|
|
173
|
+
if (format === DATE_FORMATS.US || format === DATE_FORMATS.USAndTime) {
|
|
174
|
+
day = parts[1];
|
|
175
|
+
month = parts[0];
|
|
176
|
+
year = fullValidYear(parts[2]);
|
|
177
|
+
}
|
|
178
|
+
if (format === DATE_FORMATS.European || format === DATE_FORMATS.Germany_Russia_etc || format === DATE_FORMATS.EuropeanAndTime || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
|
|
179
|
+
day = parts[0];
|
|
180
|
+
month = parts[1];
|
|
181
|
+
year = fullValidYear(parts[2]);
|
|
182
|
+
}
|
|
183
|
+
return "".concat(String(year).padStart(4, '0'), "-").concat(String(month).padStart(2, '0'), "-").concat(String(day).padStart(2, '0'));
|
|
184
|
+
}
|
|
158
185
|
function getDay(str, localeFormat, mode) {
|
|
159
186
|
const format = String(localeFormat).toLowerCase();
|
|
160
187
|
const parts = formatDateLocal(str, format);
|