dtable-ui-component 6.0.39-alpha42 → 6.0.40
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/lib/DateEditor/mb-editor/index.js +1 -2
- package/lib/DateEditor/pc-editor.js +1 -2
- package/lib/DateFormatter/index.js +2 -2
- package/lib/RowExpandEditor/single-select-editor/mb-editor/index.js +3 -1
- package/lib/SelectItem/index.css +24 -0
- package/lib/SelectItem/index.js +8 -26
- package/lib/SingleSelectFormatter/index.js +1 -4
- package/package.json +1 -1
- package/lib/utils/dateFormat.js +0 -211
|
@@ -76,11 +76,10 @@ class MBDateEditor extends _react.default.PureComponent {
|
|
|
76
76
|
const {
|
|
77
77
|
time
|
|
78
78
|
} = this.state;
|
|
79
|
-
const calanderFormat = Array.of(this.format);
|
|
80
79
|
const calendar = /*#__PURE__*/_react.default.createElement(_seafileCalendar.default, {
|
|
81
80
|
className: (0, _classnames.default)('dtable-rc-calendar', className),
|
|
82
81
|
locale: (0, _editorUtils.initDateEditorLanguage)(lang),
|
|
83
|
-
format:
|
|
82
|
+
format: this.format,
|
|
84
83
|
defaultValue: this.defaultCalendarValue,
|
|
85
84
|
showDateInput: false,
|
|
86
85
|
focusablePanel: false,
|
|
@@ -143,14 +143,13 @@ class PCDateEditor extends _react.default.Component {
|
|
|
143
143
|
} = this.props;
|
|
144
144
|
let defaultValue = (0, _dayjs.default)().clone();
|
|
145
145
|
const defaultTime = this.getDefaultTime();
|
|
146
|
-
const calanderFormat = Array.isArray(dateFormat) ? dateFormat : Array.of(dateFormat);
|
|
147
146
|
return /*#__PURE__*/_react.default.createElement(_seafileCalendar.default, {
|
|
148
147
|
className: (0, _classnames.default)('dtable-rc-calendar', className),
|
|
149
148
|
locale: (0, _editorUtils.initDateEditorLanguage)(lang),
|
|
150
149
|
style: {
|
|
151
150
|
zIndex: 1001
|
|
152
151
|
},
|
|
153
|
-
format:
|
|
152
|
+
format: dateFormat,
|
|
154
153
|
defaultValue: defaultValue,
|
|
155
154
|
showHourAndMinute: showHourAndMinute,
|
|
156
155
|
defaultMinutesTime: defaultTime,
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
-
var
|
|
10
|
+
var _dtableUtils = require("dtable-utils");
|
|
11
11
|
require("./index.css");
|
|
12
12
|
class DateFormatter extends _react.default.Component {
|
|
13
13
|
render() {
|
|
@@ -18,7 +18,7 @@ class DateFormatter extends _react.default.Component {
|
|
|
18
18
|
} = this.props;
|
|
19
19
|
let classname = (0, _classnames.default)('dtable-ui cell-formatter-container date-formatter', containerClassName);
|
|
20
20
|
if (date !== '') {
|
|
21
|
-
date = (0,
|
|
21
|
+
date = (0, _dtableUtils.getDateDisplayString)(date, format);
|
|
22
22
|
}
|
|
23
23
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
24
24
|
title: date,
|
|
@@ -58,7 +58,9 @@ class RowExpandMBSingleSelectEditor extends _react.default.Component {
|
|
|
58
58
|
};
|
|
59
59
|
this.onChange = option => {
|
|
60
60
|
let newValue = option[this.key];
|
|
61
|
-
if (this.state.value === newValue)
|
|
61
|
+
if (this.state.value === newValue) {
|
|
62
|
+
newValue = null;
|
|
63
|
+
}
|
|
62
64
|
this.setState({
|
|
63
65
|
value: newValue
|
|
64
66
|
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
.dtable-ui.dtable-ui-select-item {
|
|
2
|
+
display: flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
padding: 0px 10px;
|
|
5
|
+
height: 20px;
|
|
6
|
+
line-height: 20px;
|
|
7
|
+
text-align: center;
|
|
8
|
+
border-radius: 10px;
|
|
9
|
+
width: min-content;
|
|
10
|
+
max-width: 300px;
|
|
11
|
+
margin: 5px 10px 5px 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.dtable-ui.dtable-ui-select-item .dtable-ui-select-item-remove-btn {
|
|
15
|
+
cursor: pointer;
|
|
16
|
+
margin-left: 5px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.dtable-ui.dtable-ui-select-item .dtable-ui-select-item-remove-btn .dtable-icon-fork-number {
|
|
20
|
+
font-size: 12px;
|
|
21
|
+
transform: scale(0.8);
|
|
22
|
+
display: inline-block;
|
|
23
|
+
line-height: 12px;
|
|
24
|
+
}
|
package/lib/SelectItem/index.js
CHANGED
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
require("./index.css");
|
|
11
12
|
const SelectItem = _ref => {
|
|
12
13
|
let {
|
|
13
14
|
option,
|
|
@@ -16,50 +17,31 @@ const SelectItem = _ref => {
|
|
|
16
17
|
isShowRemove,
|
|
17
18
|
onRemove
|
|
18
19
|
} = _ref;
|
|
19
|
-
const
|
|
20
|
+
const selectItemStyle = (0, _react.useMemo)(() => {
|
|
20
21
|
return {
|
|
21
|
-
display: 'flex',
|
|
22
|
-
alignItems: 'center',
|
|
23
|
-
padding: '0px 10px',
|
|
24
|
-
marginRight: 8,
|
|
25
|
-
height: 20,
|
|
26
|
-
lineHeight: '20px',
|
|
27
|
-
textAlign: 'center',
|
|
28
|
-
borderRadius: 10,
|
|
29
|
-
width: 'min-content',
|
|
30
|
-
maxWidth: 300,
|
|
31
|
-
margin: '5px 10px 5px 0',
|
|
32
22
|
fontSize: fontSize || 13,
|
|
33
23
|
backgroundColor: option.color,
|
|
34
24
|
color: option.textColor || null
|
|
35
25
|
};
|
|
36
26
|
}, [option, fontSize]);
|
|
37
|
-
const
|
|
27
|
+
const removeBtnStyle = (0, _react.useMemo)(() => {
|
|
38
28
|
const textColor = option.textColor || null;
|
|
39
29
|
return {
|
|
40
|
-
|
|
41
|
-
color: textColor === '#FFFFFF' ? '#FFFFFF' : '#909090',
|
|
42
|
-
marginLeft: 5
|
|
30
|
+
color: textColor === '#FFFFFF' ? '#FFFFFF' : '#909090'
|
|
43
31
|
};
|
|
44
32
|
}, [option]);
|
|
45
33
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
46
34
|
className: (0, _classnames.default)('dtable-ui dtable-ui-select-item', className),
|
|
47
|
-
style:
|
|
35
|
+
style: selectItemStyle
|
|
48
36
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
49
37
|
className: "dtable-ui-select-item-name text-truncate",
|
|
50
38
|
title: option.name
|
|
51
39
|
}, option.name), isShowRemove && /*#__PURE__*/_react.default.createElement("div", {
|
|
52
|
-
className: "dtable-ui-select-item-
|
|
53
|
-
style:
|
|
40
|
+
className: "dtable-ui-select-item-remove-btn",
|
|
41
|
+
style: removeBtnStyle,
|
|
54
42
|
onClick: onRemove
|
|
55
43
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
56
|
-
className: "dtable-font dtable-icon-fork-number"
|
|
57
|
-
style: {
|
|
58
|
-
fontSize: '12px',
|
|
59
|
-
transform: 'scale(0.8)',
|
|
60
|
-
display: 'inline-block',
|
|
61
|
-
lineHeight: '12px'
|
|
62
|
-
}
|
|
44
|
+
className: "dtable-font dtable-icon-fork-number"
|
|
63
45
|
})));
|
|
64
46
|
};
|
|
65
47
|
var _default = exports.default = SelectItem;
|
|
@@ -15,7 +15,7 @@ class SingleSelectFormatter extends _react.default.PureComponent {
|
|
|
15
15
|
this.getOption = () => {
|
|
16
16
|
let {
|
|
17
17
|
value,
|
|
18
|
-
options,
|
|
18
|
+
options = [],
|
|
19
19
|
fontSize
|
|
20
20
|
} = this.props;
|
|
21
21
|
let option = options.find(item => item.id === value || item.name === value);
|
|
@@ -38,7 +38,4 @@ class SingleSelectFormatter extends _react.default.PureComponent {
|
|
|
38
38
|
}, value ? this.getOption() : '');
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
SingleSelectFormatter.defaultProps = {
|
|
42
|
-
options: []
|
|
43
|
-
};
|
|
44
41
|
var _default = exports.default = SingleSelectFormatter;
|
package/package.json
CHANGED
package/lib/utils/dateFormat.js
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.currentYear = exports.currentTime = exports.DATE_FORMATS = void 0;
|
|
8
|
-
exports.delimate = delimate;
|
|
9
|
-
exports.formatDateLocal = formatDateLocal;
|
|
10
|
-
exports.fullValidYear = fullValidYear;
|
|
11
|
-
exports.getDay = getDay;
|
|
12
|
-
exports.getMonth = getMonth;
|
|
13
|
-
exports.getYear = getYear;
|
|
14
|
-
exports.renderDisplayContent = renderDisplayContent;
|
|
15
|
-
exports.renderFilterInputFormat = renderFilterInputFormat;
|
|
16
|
-
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
17
|
-
var _utc = _interopRequireDefault(require("dayjs/plugin/utc"));
|
|
18
|
-
_dayjs.default.extend(_utc.default);
|
|
19
|
-
const currentTime = exports.currentTime = (0, _dayjs.default)().format('HH:mm');
|
|
20
|
-
const currentYear = exports.currentYear = (0, _dayjs.default)().year();
|
|
21
|
-
const DATE_FORMATS = exports.DATE_FORMATS = {
|
|
22
|
-
ISO: 'yyyy-mm-dd',
|
|
23
|
-
ISOAndTime: 'yyyy-mm-dd hh:mm',
|
|
24
|
-
US: 'm/d/yyyy',
|
|
25
|
-
USAndTime: 'm/d/yyyy hh:mm',
|
|
26
|
-
European: 'dd/mm/yyyy',
|
|
27
|
-
EuropeanAndTime: 'dd/mm/yyyy hh:mm',
|
|
28
|
-
Germany_Russia_etc: 'dd.mm.yyyy',
|
|
29
|
-
Germany_Russia_etcAndTime: 'dd.mm.yyyy hh:mm'
|
|
30
|
-
};
|
|
31
|
-
function fullValidYear(yearStr) {
|
|
32
|
-
const year = yearStr;
|
|
33
|
-
if (!year || isNaN(year)) return currentYear;
|
|
34
|
-
if (year.length === 2) {
|
|
35
|
-
if (Number(year) >= 0 && Number(year) < 69) {
|
|
36
|
-
return year ? "20".concat(year) : currentYear;
|
|
37
|
-
} else if (Number(year) >= 69 && Number(year) < 100) {
|
|
38
|
-
return year ? "19".concat(year) : currentYear;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (year.length === 4) {
|
|
42
|
-
return year;
|
|
43
|
-
}
|
|
44
|
-
return year ? year.padStart(4, '0') : currentYear;
|
|
45
|
-
}
|
|
46
|
-
function formatDateLocal(formatStr, localeFormat) {
|
|
47
|
-
const str = formatStr || '';
|
|
48
|
-
const format = String(localeFormat).toLowerCase();
|
|
49
|
-
let cleanStr;
|
|
50
|
-
switch (format) {
|
|
51
|
-
case DATE_FORMATS.ISO:
|
|
52
|
-
case DATE_FORMATS.ISOAndTime:
|
|
53
|
-
cleanStr = str.replace(/[^0-9]+/g, '-');
|
|
54
|
-
return cleanStr.split('-').filter(Boolean).map(String);
|
|
55
|
-
case DATE_FORMATS.US:
|
|
56
|
-
case DATE_FORMATS.USAndTime:
|
|
57
|
-
case DATE_FORMATS.European:
|
|
58
|
-
case DATE_FORMATS.EuropeanAndTime:
|
|
59
|
-
cleanStr = str.replace(/[^0-9]+/g, '/');
|
|
60
|
-
return cleanStr.split('/').filter(Boolean).map(String);
|
|
61
|
-
case DATE_FORMATS.Germany_Russia_etc:
|
|
62
|
-
case DATE_FORMATS.Germany_Russia_etcAndTime:
|
|
63
|
-
cleanStr = str.replace(/[^0-9]+/g, '.');
|
|
64
|
-
return cleanStr.split('.').filter(Boolean).map(String);
|
|
65
|
-
default:
|
|
66
|
-
return [];
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
function delimate(localeFormat) {
|
|
70
|
-
const formatPrefix = String(localeFormat).toLowerCase();
|
|
71
|
-
let delimiter;
|
|
72
|
-
if (formatPrefix === DATE_FORMATS.Germany_Russia_etc || formatPrefix === DATE_FORMATS.Germany_Russia_etcAndTime) {
|
|
73
|
-
delimiter = '.';
|
|
74
|
-
} else if (formatPrefix === DATE_FORMATS.ISO || formatPrefix === DATE_FORMATS.ISOAndTime) {
|
|
75
|
-
delimiter = '-';
|
|
76
|
-
} else {
|
|
77
|
-
delimiter = '/';
|
|
78
|
-
}
|
|
79
|
-
return delimiter;
|
|
80
|
-
}
|
|
81
|
-
function renderDisplayContent(str, localeFormat, delimiter) {
|
|
82
|
-
const format = String(localeFormat).toLowerCase();
|
|
83
|
-
const parts = formatDateLocal(str, localeFormat);
|
|
84
|
-
if (parts.length < 3) {
|
|
85
|
-
return '';
|
|
86
|
-
}
|
|
87
|
-
let day = parts[2];
|
|
88
|
-
let month = parts[1];
|
|
89
|
-
let year = String(fullValidYear(parts[0])).padStart(4, '0');
|
|
90
|
-
let time = "".concat(parts[3], ":").concat(parts[4]) || currentTime;
|
|
91
|
-
if (format === DATE_FORMATS.ISO) {
|
|
92
|
-
return "".concat(year).concat(delimiter).concat(month).concat(delimiter).concat(day);
|
|
93
|
-
}
|
|
94
|
-
if (format === DATE_FORMATS.ISOAndTime) {
|
|
95
|
-
return "".concat(year).concat(delimiter).concat(month).concat(delimiter).concat(day, " ").concat(time);
|
|
96
|
-
}
|
|
97
|
-
if (format === DATE_FORMATS.US) {
|
|
98
|
-
return "".concat(Number(month)).concat(delimiter).concat(Number(day)).concat(delimiter).concat(year);
|
|
99
|
-
}
|
|
100
|
-
if (format === DATE_FORMATS.USAndTime) {
|
|
101
|
-
return "".concat(Number(month)).concat(delimiter).concat(Number(day)).concat(delimiter).concat(year, " ").concat(time);
|
|
102
|
-
}
|
|
103
|
-
if (format === DATE_FORMATS.European || format === DATE_FORMATS.Germany_Russia_etc) {
|
|
104
|
-
return "".concat(Number(day)).concat(delimiter).concat(Number(month)).concat(delimiter).concat(year);
|
|
105
|
-
}
|
|
106
|
-
if (format === DATE_FORMATS.EuropeanAndTime || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
|
|
107
|
-
return "".concat(Number(day)).concat(delimiter).concat(Number(month)).concat(delimiter).concat(year, " ").concat(time);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
function renderFilterInputFormat(str, localeFormat, delimiter) {
|
|
111
|
-
const format = String(localeFormat).toLowerCase();
|
|
112
|
-
const parts = formatDateLocal(str, localeFormat);
|
|
113
|
-
// console.log('parts', str, parts);
|
|
114
|
-
if (parts.length < 3) {
|
|
115
|
-
return '';
|
|
116
|
-
}
|
|
117
|
-
let day;
|
|
118
|
-
let month;
|
|
119
|
-
let year;
|
|
120
|
-
let time = "".concat(parts[3], ":").concat(parts[4]) || currentTime;
|
|
121
|
-
if (format === DATE_FORMATS.ISO) {
|
|
122
|
-
day = parts[2];
|
|
123
|
-
month = parts[1];
|
|
124
|
-
year = String(fullValidYear(parts[0])).padStart(4, '0');
|
|
125
|
-
return "".concat(year).concat(delimiter).concat(month).concat(delimiter).concat(day);
|
|
126
|
-
}
|
|
127
|
-
if (format === DATE_FORMATS.ISOAndTime) {
|
|
128
|
-
day = parts[2];
|
|
129
|
-
month = parts[1];
|
|
130
|
-
year = String(fullValidYear(parts[0])).padStart(4, '0');
|
|
131
|
-
return "".concat(year).concat(delimiter).concat(month).concat(delimiter).concat(day, " ").concat(time);
|
|
132
|
-
}
|
|
133
|
-
if (format === DATE_FORMATS.US) {
|
|
134
|
-
day = parts[1];
|
|
135
|
-
month = parts[0];
|
|
136
|
-
year = String(fullValidYear(parts[2])).padStart(4, '0');
|
|
137
|
-
return "".concat(Number(month)).concat(delimiter).concat(Number(day)).concat(delimiter).concat(year);
|
|
138
|
-
}
|
|
139
|
-
if (format === DATE_FORMATS.USAndTime) {
|
|
140
|
-
day = parts[1];
|
|
141
|
-
month = parts[0];
|
|
142
|
-
year = String(fullValidYear(parts[2])).padStart(4, '0');
|
|
143
|
-
return "".concat(Number(month)).concat(delimiter).concat(Number(day)).concat(delimiter).concat(year, " ").concat(time);
|
|
144
|
-
}
|
|
145
|
-
if (format === DATE_FORMATS.European || format === DATE_FORMATS.Germany_Russia_etc) {
|
|
146
|
-
day = parts[0];
|
|
147
|
-
month = parts[1];
|
|
148
|
-
year = String(fullValidYear(parts[2])).padStart(4, '0');
|
|
149
|
-
return "".concat(Number(day)).concat(delimiter).concat(Number(month)).concat(delimiter).concat(year);
|
|
150
|
-
}
|
|
151
|
-
if (format === DATE_FORMATS.EuropeanAndTime || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
|
|
152
|
-
day = parts[0];
|
|
153
|
-
month = parts[1];
|
|
154
|
-
year = String(fullValidYear(parts[2])).padStart(4, '0');
|
|
155
|
-
return "".concat(Number(day)).concat(delimiter).concat(Number(month)).concat(delimiter).concat(year, " ").concat(time);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
function getDay(str, localeFormat, mode) {
|
|
159
|
-
const format = String(localeFormat).toLowerCase();
|
|
160
|
-
const parts = formatDateLocal(str, format);
|
|
161
|
-
if (parts.length < 3) {
|
|
162
|
-
return '';
|
|
163
|
-
}
|
|
164
|
-
if (!mode) {
|
|
165
|
-
if (format === DATE_FORMATS.ISO || format === DATE_FORMATS.ISOAndTime) {
|
|
166
|
-
return String(parts[2]).padStart(2, '0');
|
|
167
|
-
}
|
|
168
|
-
return String(Number(parts[2]));
|
|
169
|
-
}
|
|
170
|
-
if (format === DATE_FORMATS.ISO || format === DATE_FORMATS.ISOAndTime) {
|
|
171
|
-
return String(parts[2]).padStart(2, '0');
|
|
172
|
-
}
|
|
173
|
-
if (format === DATE_FORMATS.US || format === DATE_FORMATS.USAndTime) {
|
|
174
|
-
return String(Number(parts[1]));
|
|
175
|
-
}
|
|
176
|
-
return String(Number(parts[0]));
|
|
177
|
-
}
|
|
178
|
-
function getMonth(str, localeFormat, mode) {
|
|
179
|
-
const format = String(localeFormat).toLowerCase();
|
|
180
|
-
const parts = formatDateLocal(str, format);
|
|
181
|
-
if (parts.length < 3) {
|
|
182
|
-
return '';
|
|
183
|
-
}
|
|
184
|
-
if (!mode) {
|
|
185
|
-
if (format === DATE_FORMATS.ISO || format === DATE_FORMATS.ISOAndTime) {
|
|
186
|
-
return String(Number(parts[1]) - 1).padStart(2, '0');
|
|
187
|
-
}
|
|
188
|
-
return String(Number(parts[1]) - 1);
|
|
189
|
-
}
|
|
190
|
-
if (format === DATE_FORMATS.ISO || format === DATE_FORMATS.ISOAndTime) {
|
|
191
|
-
return String(Number(parts[1]) - 1).padStart(2, '0');
|
|
192
|
-
}
|
|
193
|
-
if (format === DATE_FORMATS.US || format === DATE_FORMATS.USAndTime) {
|
|
194
|
-
return String(Number(parts[0]) - 1);
|
|
195
|
-
}
|
|
196
|
-
return String(Number(parts[1]) - 1);
|
|
197
|
-
}
|
|
198
|
-
function getYear(str, localeFormat, mode) {
|
|
199
|
-
const format = String(localeFormat).toLowerCase();
|
|
200
|
-
const parts = formatDateLocal(str, format);
|
|
201
|
-
if (parts.length < 3) {
|
|
202
|
-
return '';
|
|
203
|
-
}
|
|
204
|
-
if (!mode) {
|
|
205
|
-
return String(fullValidYear(parts[0])).padStart(4, '0');
|
|
206
|
-
}
|
|
207
|
-
if (format === DATE_FORMATS.ISO || format === DATE_FORMATS.ISOAndTime) {
|
|
208
|
-
return String(fullValidYear(parts[0])).padStart(4, '0');
|
|
209
|
-
}
|
|
210
|
-
return String(fullValidYear(parts[2])).padStart(4, '0');
|
|
211
|
-
}
|