dtable-ui-component 6.0.95-beta.2 → 6.0.96
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/CheckboxEditor/mb-editor.js +2 -10
- package/lib/CheckboxEditor/pc-editor.js +2 -10
- package/lib/CheckboxFormatter/index.js +4 -13
- package/lib/DTableColumnIcon/index.js +74 -0
- package/lib/DTableFiltersPopover/utils/filter-item-utils.js +4 -4
- package/lib/DTableFiltersPopover/utils/index.js +57 -24
- package/lib/DTableFiltersPopover/widgets/filter-list/index.css +4 -2
- package/lib/{SvgIcon → DTableIcon}/index.css +2 -2
- package/lib/DTableIcon/index.js +44 -0
- package/lib/DTableIcon/svg-icon.js +56 -0
- package/lib/DTableSelect/utils.js +3 -0
- package/lib/DTableSwitch/index.css +2 -1
- package/lib/FieldDisplaySetting/field-item.js +10 -3
- package/lib/PhoneNumberLink/index.js +29 -0
- package/lib/RowExpandDialog/column-content/index.css +4 -2
- package/lib/RowExpandDialog/column-content/index.js +4 -4
- package/lib/RowExpandFormatter/constants.js +2 -2
- package/lib/RowExpandFormatter/email-formatter/index.css +1 -29
- package/lib/RowExpandFormatter/email-formatter/index.js +3 -3
- package/lib/RowExpandFormatter/formula-formatter/index.css +2 -0
- package/lib/RowExpandFormatter/formula-formatter/index.js +15 -12
- package/lib/RowExpandFormatter/index.css +2 -0
- package/lib/RowExpandFormatter/index.js +1 -0
- package/lib/RowExpandFormatter/text/index.css +2 -0
- package/lib/RowExpandFormatter/text/index.js +49 -0
- package/lib/RowExpandFormatter/url-formatter/index.css +1 -0
- package/lib/RowExpandFormatter/url-formatter/index.js +3 -3
- package/lib/RowExpandView/body/index.css +4 -0
- package/lib/SelectOptionGroup/index.css +5 -2
- package/lib/assets/icons/telephone.svg +14 -0
- package/lib/css/row-expand.css +27 -0
- package/lib/index.js +21 -7
- package/lib/toaster/toaster.js +1 -38
- package/package.json +3 -3
- package/lib/SvgIcon/index.js +0 -38
|
@@ -8,7 +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
|
-
var
|
|
11
|
+
var _DTableIcon = _interopRequireDefault(require("../DTableIcon"));
|
|
12
12
|
var _constants = require("../constants");
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
14
|
class MBCheckboxEditor extends _react.Component {
|
|
@@ -52,15 +52,7 @@ class MBCheckboxEditor extends _react.Component {
|
|
|
52
52
|
const className = (0, _classnames.default)('dtable-ui-checkbox-check-mark', {
|
|
53
53
|
'dtable-ui-checkbox-check-svg': !(symbol !== null && symbol !== void 0 && symbol.startsWith('dtable-icon'))
|
|
54
54
|
});
|
|
55
|
-
|
|
56
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
57
|
-
className: `dtable-font ${symbol} ${className || ''}`,
|
|
58
|
-
style: {
|
|
59
|
-
color
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SvgIcon.default, {
|
|
55
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DTableIcon.default, {
|
|
64
56
|
className: className,
|
|
65
57
|
symbol: symbol,
|
|
66
58
|
color: color
|
|
@@ -8,7 +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
|
-
var
|
|
11
|
+
var _DTableIcon = _interopRequireDefault(require("../DTableIcon"));
|
|
12
12
|
var _constants = require("../constants");
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
14
|
class PCCheckboxEditor extends _react.Component {
|
|
@@ -65,15 +65,7 @@ class PCCheckboxEditor extends _react.Component {
|
|
|
65
65
|
const className = (0, _classnames.default)('dtable-ui-checkbox-check-mark', {
|
|
66
66
|
'dtable-ui-checkbox-check-svg': !(symbol !== null && symbol !== void 0 && symbol.startsWith('dtable-icon'))
|
|
67
67
|
});
|
|
68
|
-
|
|
69
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
70
|
-
className: `dtable-font ${symbol} ${className || ''}`,
|
|
71
|
-
style: {
|
|
72
|
-
color
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SvgIcon.default, {
|
|
68
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DTableIcon.default, {
|
|
77
69
|
className: className,
|
|
78
70
|
symbol: symbol,
|
|
79
71
|
color: color
|
|
@@ -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 _DTableIcon = _interopRequireDefault(require("../DTableIcon"));
|
|
11
11
|
var _constants = require("../constants");
|
|
12
12
|
require("./index.css");
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -15,20 +15,11 @@ class CheckboxFormatter extends _react.default.PureComponent {
|
|
|
15
15
|
constructor() {
|
|
16
16
|
super(...arguments);
|
|
17
17
|
this.renderIcon = (symbol, color) => {
|
|
18
|
-
|
|
19
|
-
if (symbol.startsWith('dtable-icon')) {
|
|
20
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
21
|
-
className: `dtable-font ${symbol} ${className || ''}`,
|
|
22
|
-
style: {
|
|
23
|
-
color
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
className = (0, _classnames.default)(className, {
|
|
18
|
+
const className = (0, _classnames.default)('dtable-ui-checkbox-check-mark', {
|
|
28
19
|
'dtable-ui-checkbox-check-svg': !(symbol !== null && symbol !== void 0 && symbol.startsWith('dtable-icon')),
|
|
29
|
-
'scale-icon': _constants.isMobile
|
|
20
|
+
'scale-icon-150': _constants.isMobile
|
|
30
21
|
});
|
|
31
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
22
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DTableIcon.default, {
|
|
32
23
|
className: className,
|
|
33
24
|
symbol: symbol,
|
|
34
25
|
color: color
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
+
var _dtableUtils = require("dtable-utils");
|
|
10
|
+
var _DTableIcon = _interopRequireDefault(require("../DTableIcon"));
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
const COLUMNS_ICON_CONFIG = {
|
|
13
|
+
[_dtableUtils.CellType.DEFAULT]: 'dtable-font dtable-icon-single-line-text',
|
|
14
|
+
[_dtableUtils.CellType.TEXT]: 'dtable-font dtable-icon-single-line-text',
|
|
15
|
+
[_dtableUtils.CellType.STRING]: 'dtable-font dtable-icon-single-line-text',
|
|
16
|
+
[_dtableUtils.CellType.NUMBER]: 'dtable-font dtable-icon-number',
|
|
17
|
+
[_dtableUtils.CellType.CHECKBOX]: 'dtable-font dtable-icon-check-square-solid',
|
|
18
|
+
[_dtableUtils.CellType.DATE]: 'dtable-font dtable-icon-calendar-alt-solid',
|
|
19
|
+
[_dtableUtils.CellType.SINGLE_SELECT]: 'dtable-font dtable-icon-single-election',
|
|
20
|
+
[_dtableUtils.CellType.LONG_TEXT]: 'dtable-font dtable-icon-long-text',
|
|
21
|
+
[_dtableUtils.CellType.IMAGE]: 'dtable-font dtable-icon-picture',
|
|
22
|
+
[_dtableUtils.CellType.FILE]: 'dtable-font dtable-icon-file-alt-solid',
|
|
23
|
+
[_dtableUtils.CellType.MULTIPLE_SELECT]: 'dtable-font dtable-icon-multiple-selection',
|
|
24
|
+
[_dtableUtils.CellType.COLLABORATOR]: 'dtable-font dtable-icon-collaborator',
|
|
25
|
+
[_dtableUtils.CellType.LINK]: 'dtable-font dtable-icon-link-other-record',
|
|
26
|
+
[_dtableUtils.CellType.FORMULA]: 'dtable-font dtable-icon-formula',
|
|
27
|
+
[_dtableUtils.CellType.LINK_FORMULA]: 'dtable-font dtable-icon-link-formulas',
|
|
28
|
+
[_dtableUtils.CellType.CREATOR]: 'dtable-font dtable-icon-creator',
|
|
29
|
+
[_dtableUtils.CellType.CTIME]: 'dtable-font dtable-icon-creation-time',
|
|
30
|
+
[_dtableUtils.CellType.LAST_MODIFIER]: 'dtable-font dtable-icon-creator',
|
|
31
|
+
[_dtableUtils.CellType.MTIME]: 'dtable-font dtable-icon-creation-time',
|
|
32
|
+
[_dtableUtils.CellType.GEOLOCATION]: 'dtable-font dtable-icon-location',
|
|
33
|
+
[_dtableUtils.CellType.AUTO_NUMBER]: 'dtable-font dtable-icon-autonumber',
|
|
34
|
+
[_dtableUtils.CellType.URL]: 'dtable-font dtable-icon-url',
|
|
35
|
+
[_dtableUtils.CellType.EMAIL]: 'dtable-font dtable-icon-email',
|
|
36
|
+
[_dtableUtils.CellType.DURATION]: 'dtable-font dtable-icon-duration',
|
|
37
|
+
[_dtableUtils.CellType.BUTTON]: 'dtable-font dtable-icon-button',
|
|
38
|
+
[_dtableUtils.CellType.RATE]: 'dtable-font dtable-icon-rate',
|
|
39
|
+
[_dtableUtils.CellType.DIGITAL_SIGN]: 'dtable-font dtable-icon-handwritten-signature',
|
|
40
|
+
[_dtableUtils.CellType.DEPARTMENT_SINGLE_SELECT]: 'dtable-font dtable-icon-department-single-selection'
|
|
41
|
+
};
|
|
42
|
+
const COLUMN_DISPLAY_TYPE_ICON_CONFIG = {
|
|
43
|
+
[_dtableUtils.CellType.TEXT]: {
|
|
44
|
+
[_dtableUtils.TEXT_DISPLAY_TYPE_MAP.PHONE]: 'telephone'
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const DTableColumnIcon = _ref => {
|
|
48
|
+
let {
|
|
49
|
+
column,
|
|
50
|
+
color,
|
|
51
|
+
className,
|
|
52
|
+
ariaHidden = false,
|
|
53
|
+
getSvg
|
|
54
|
+
} = _ref;
|
|
55
|
+
const columnType = column === null || column === void 0 ? void 0 : column.type;
|
|
56
|
+
if (!columnType) return null;
|
|
57
|
+
const columnDisplayType = (0, _dtableUtils.getColumnDisplayType)(column);
|
|
58
|
+
let symbol = null;
|
|
59
|
+
let displayTypeIconConfig = COLUMN_DISPLAY_TYPE_ICON_CONFIG[columnType];
|
|
60
|
+
if (displayTypeIconConfig && columnDisplayType) {
|
|
61
|
+
symbol = displayTypeIconConfig[columnDisplayType];
|
|
62
|
+
}
|
|
63
|
+
if (!symbol) {
|
|
64
|
+
symbol = COLUMNS_ICON_CONFIG[columnType];
|
|
65
|
+
}
|
|
66
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DTableIcon.default, {
|
|
67
|
+
className: (0, _classnames.default)('dtable-column-icon', className),
|
|
68
|
+
symbol: symbol,
|
|
69
|
+
color: color,
|
|
70
|
+
ariaHidden: ariaHidden,
|
|
71
|
+
getSvg: getSvg
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
var _default = exports.default = DTableColumnIcon;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
3
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
8
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var
|
|
10
|
+
var _DTableColumnIcon = _interopRequireDefault(require("../../DTableColumnIcon"));
|
|
10
11
|
var _lang = require("../../lang");
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
class FilterItemUtils {
|
|
13
14
|
static generatorColumnOption(column) {
|
|
14
15
|
if (!column) return null;
|
|
15
16
|
const {
|
|
16
|
-
type,
|
|
17
17
|
name
|
|
18
18
|
} = column;
|
|
19
19
|
return {
|
|
@@ -23,8 +23,8 @@ class FilterItemUtils {
|
|
|
23
23
|
label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
24
24
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
25
25
|
className: "filter-header-icon",
|
|
26
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
27
|
-
|
|
26
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DTableColumnIcon.default, {
|
|
27
|
+
column: column
|
|
28
28
|
})
|
|
29
29
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
30
30
|
className: "select-option-name",
|
|
@@ -133,17 +133,22 @@ const getColumnOptions = column => {
|
|
|
133
133
|
}
|
|
134
134
|
if (type === _dtableUtils.CellType.LINK) {
|
|
135
135
|
const {
|
|
136
|
-
array_type
|
|
136
|
+
array_type,
|
|
137
|
+
array_data
|
|
137
138
|
} = data || {};
|
|
138
139
|
if (array_type === _dtableUtils.FORMULA_RESULT_TYPE.BOOL) {
|
|
139
|
-
return _dtableUtils.
|
|
140
|
+
return (0, _dtableUtils.getColumnFilterOptions)({
|
|
141
|
+
type: _dtableUtils.CellType.CHECKBOX
|
|
142
|
+
});
|
|
140
143
|
}
|
|
141
144
|
if (array_type === _dtableUtils.FORMULA_RESULT_TYPE.STRING) {
|
|
142
|
-
return _dtableUtils.
|
|
145
|
+
return (0, _dtableUtils.getColumnFilterOptions)({
|
|
146
|
+
type: _dtableUtils.CellType.TEXT
|
|
147
|
+
});
|
|
143
148
|
}
|
|
144
|
-
return getFilterOptionsByArrayType(array_type);
|
|
149
|
+
return getFilterOptionsByArrayType(array_type, array_data);
|
|
145
150
|
}
|
|
146
|
-
return _dtableUtils.
|
|
151
|
+
return (0, _dtableUtils.getColumnFilterOptions)(column);
|
|
147
152
|
};
|
|
148
153
|
exports.getColumnOptions = getColumnOptions;
|
|
149
154
|
const getFormulaColumnFilterOptions = column => {
|
|
@@ -152,23 +157,32 @@ const getFormulaColumnFilterOptions = column => {
|
|
|
152
157
|
} = column;
|
|
153
158
|
const {
|
|
154
159
|
result_type,
|
|
155
|
-
array_type
|
|
160
|
+
array_type,
|
|
161
|
+
array_data
|
|
156
162
|
} = data || {};
|
|
157
163
|
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.BOOL) {
|
|
158
|
-
return _dtableUtils.
|
|
164
|
+
return (0, _dtableUtils.getColumnFilterOptions)({
|
|
165
|
+
type: _dtableUtils.CellType.CHECKBOX
|
|
166
|
+
});
|
|
159
167
|
}
|
|
160
168
|
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.STRING) {
|
|
161
|
-
return _dtableUtils.
|
|
169
|
+
return (0, _dtableUtils.getColumnFilterOptions)({
|
|
170
|
+
type: _dtableUtils.CellType.TEXT
|
|
171
|
+
});
|
|
162
172
|
}
|
|
163
173
|
if ([_dtableUtils.FORMULA_RESULT_TYPE.NUMBER, _dtableUtils.FORMULA_RESULT_TYPE.DATE].includes(result_type)) {
|
|
164
|
-
return _dtableUtils.
|
|
174
|
+
return (0, _dtableUtils.getColumnFilterOptions)({
|
|
175
|
+
type: result_type
|
|
176
|
+
});
|
|
165
177
|
}
|
|
166
178
|
if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.ARRAY) {
|
|
167
|
-
return getFilterOptionsByArrayType(array_type);
|
|
179
|
+
return getFilterOptionsByArrayType(array_type, array_data);
|
|
168
180
|
}
|
|
169
|
-
return _dtableUtils.
|
|
181
|
+
return (0, _dtableUtils.getColumnFilterOptions)({
|
|
182
|
+
type: _dtableUtils.CellType.TEXT
|
|
183
|
+
});
|
|
170
184
|
};
|
|
171
|
-
const getFilterOptionsByArrayType = array_type => {
|
|
185
|
+
const getFilterOptionsByArrayType = (array_type, array_data) => {
|
|
172
186
|
if (!array_type) {
|
|
173
187
|
return {};
|
|
174
188
|
}
|
|
@@ -187,10 +201,21 @@ const getFilterOptionsByArrayType = array_type => {
|
|
|
187
201
|
|
|
188
202
|
// only support: is
|
|
189
203
|
if (checkType === _dtableUtils.CellType.CHECKBOX || checkType === _dtableUtils.CellType.BOOL) {
|
|
190
|
-
return _dtableUtils.
|
|
204
|
+
return (0, _dtableUtils.getColumnFilterOptions)({
|
|
205
|
+
type: _dtableUtils.CellType.CHECKBOX
|
|
206
|
+
});
|
|
191
207
|
}
|
|
192
|
-
|
|
193
|
-
|
|
208
|
+
const filterOptions = (0, _dtableUtils.checkColumnHasFilterOptions)({
|
|
209
|
+
type: checkType,
|
|
210
|
+
data: array_data
|
|
211
|
+
}) ? (0, _dtableUtils.getColumnFilterOptions)({
|
|
212
|
+
type: checkType,
|
|
213
|
+
data: array_data
|
|
214
|
+
}) : (0, _dtableUtils.getColumnFilterOptions)({
|
|
215
|
+
type: _dtableUtils.CellType.TEXT,
|
|
216
|
+
data: array_data
|
|
217
|
+
});
|
|
218
|
+
const {
|
|
194
219
|
filterPredicateList
|
|
195
220
|
} = filterOptions;
|
|
196
221
|
if (filterPredicateList && !filterPredicateList.includes(_dtableUtils.FILTER_PREDICATE_TYPE.EMPTY)) {
|
|
@@ -393,8 +418,8 @@ exports.generateDefaultUser = generateDefaultUser;
|
|
|
393
418
|
const getDefaultFilter = columns => {
|
|
394
419
|
if (!columns) return null;
|
|
395
420
|
let defaultColumn = columns[0];
|
|
396
|
-
if (!_dtableUtils.
|
|
397
|
-
defaultColumn = columns.find(c => _dtableUtils.
|
|
421
|
+
if (!(0, _dtableUtils.checkColumnHasFilterOptions)(defaultColumn)) {
|
|
422
|
+
defaultColumn = columns.find(c => (0, _dtableUtils.checkColumnHasFilterOptions)(c));
|
|
398
423
|
}
|
|
399
424
|
if (!defaultColumn) return null;
|
|
400
425
|
return getFilterByColumn(defaultColumn);
|
|
@@ -433,9 +458,12 @@ const getFilterColumns = columns => {
|
|
|
433
458
|
type
|
|
434
459
|
} = column;
|
|
435
460
|
if (data && (type === _dtableUtils.CellType.LINK || _dtableUtils.FORMULA_COLUMN_TYPES_MAP[type] && data.result_type === _dtableUtils.FORMULA_RESULT_TYPE.ARRAY)) {
|
|
436
|
-
return
|
|
461
|
+
return (0, _dtableUtils.checkColumnHasFilterOptions)({
|
|
462
|
+
type: data.array_type,
|
|
463
|
+
data: data.array_data
|
|
464
|
+
});
|
|
437
465
|
}
|
|
438
|
-
return
|
|
466
|
+
return (0, _dtableUtils.checkColumnHasFilterOptions)(column);
|
|
439
467
|
});
|
|
440
468
|
};
|
|
441
469
|
exports.getFilterColumns = getFilterColumns;
|
|
@@ -702,17 +730,22 @@ const getFilterConfigOptions = column => {
|
|
|
702
730
|
}
|
|
703
731
|
if (type === _dtableUtils.CellType.LINK) {
|
|
704
732
|
const {
|
|
705
|
-
array_type
|
|
733
|
+
array_type,
|
|
734
|
+
array_data
|
|
706
735
|
} = data || {};
|
|
707
736
|
if (array_type === _dtableUtils.FORMULA_RESULT_TYPE.BOOL) {
|
|
708
|
-
return _dtableUtils.
|
|
737
|
+
return (0, _dtableUtils.getColumnFilterOptions)({
|
|
738
|
+
type: _dtableUtils.CellType.CHECKBOX
|
|
739
|
+
});
|
|
709
740
|
}
|
|
710
741
|
if (array_type === _dtableUtils.FORMULA_RESULT_TYPE.STRING) {
|
|
711
|
-
return _dtableUtils.
|
|
742
|
+
return (0, _dtableUtils.getColumnFilterOptions)({
|
|
743
|
+
type: _dtableUtils.CellType.TEXT
|
|
744
|
+
});
|
|
712
745
|
}
|
|
713
|
-
return getFilterOptionsByArrayType(array_type);
|
|
746
|
+
return getFilterOptionsByArrayType(array_type, array_data);
|
|
714
747
|
}
|
|
715
|
-
return _dtableUtils.
|
|
748
|
+
return (0, _dtableUtils.getColumnFilterOptions)(column) || {};
|
|
716
749
|
};
|
|
717
750
|
exports.getFilterConfigOptions = getFilterConfigOptions;
|
|
718
751
|
const getMultipleSelectUpdatedFilterTerm = (filterTerm, option) => {
|
|
@@ -416,13 +416,15 @@
|
|
|
416
416
|
margin-left: -0.3125rem;
|
|
417
417
|
}
|
|
418
418
|
|
|
419
|
-
.filter-header-icon .dtable-font
|
|
419
|
+
.filter-header-icon .dtable-font,
|
|
420
|
+
.filter-header-icon .multicolor-icon {
|
|
420
421
|
font-size: 14px;
|
|
421
422
|
color: #aaa;
|
|
422
423
|
cursor: default;
|
|
423
424
|
}
|
|
424
425
|
|
|
425
|
-
.option.option-active .filter-header-icon .dtable-font
|
|
426
|
+
.option.option-active .filter-header-icon .dtable-font,
|
|
427
|
+
.option.option-active .filter-header-icon .multicolor-icon {
|
|
426
428
|
color: #fff;
|
|
427
429
|
}
|
|
428
430
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
+
var _svgIcon = _interopRequireDefault(require("./svg-icon"));
|
|
10
|
+
require("./index.css");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
const DTableIcon = _ref => {
|
|
13
|
+
let {
|
|
14
|
+
className,
|
|
15
|
+
symbol,
|
|
16
|
+
color,
|
|
17
|
+
ariaHidden = false,
|
|
18
|
+
getSvg
|
|
19
|
+
} = _ref;
|
|
20
|
+
if (!symbol) return null;
|
|
21
|
+
if (symbol.includes('dtable-icon')) {
|
|
22
|
+
let customProps = {};
|
|
23
|
+
if (ariaHidden) {
|
|
24
|
+
customProps['aria-hidden'] = ariaHidden;
|
|
25
|
+
}
|
|
26
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("i", {
|
|
27
|
+
className: (0, _classnames.default)(symbol, className, {
|
|
28
|
+
'dtable-font': !symbol.includes('dtable-font')
|
|
29
|
+
}),
|
|
30
|
+
style: {
|
|
31
|
+
color
|
|
32
|
+
},
|
|
33
|
+
...customProps
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_svgIcon.default, {
|
|
37
|
+
symbol: symbol,
|
|
38
|
+
color: color,
|
|
39
|
+
className: className,
|
|
40
|
+
ariaHidden: ariaHidden,
|
|
41
|
+
getSvg: getSvg
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var _default = exports.default = DTableIcon;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
let svgIconComponents = null;
|
|
11
|
+
const loadSvgIconComponents = () => {
|
|
12
|
+
// load svg icons from ui-components
|
|
13
|
+
const requireContext = require.context('../assets/icons', false, /\.svg$/);
|
|
14
|
+
let iconComponents = {};
|
|
15
|
+
requireContext.keys().forEach(path => {
|
|
16
|
+
const iconName = path.replace(/^\.\/(.*?)\.svg$/, '$1').toLowerCase();
|
|
17
|
+
iconComponents[iconName] = requireContext(path).default;
|
|
18
|
+
});
|
|
19
|
+
return iconComponents;
|
|
20
|
+
};
|
|
21
|
+
const getSvgIconComponents = () => {
|
|
22
|
+
if (!svgIconComponents) {
|
|
23
|
+
svgIconComponents = loadSvgIconComponents();
|
|
24
|
+
}
|
|
25
|
+
return svgIconComponents;
|
|
26
|
+
};
|
|
27
|
+
const SvgIcon = _ref => {
|
|
28
|
+
let {
|
|
29
|
+
className,
|
|
30
|
+
symbol,
|
|
31
|
+
color,
|
|
32
|
+
ariaHidden,
|
|
33
|
+
getSvg
|
|
34
|
+
} = _ref;
|
|
35
|
+
if (!symbol) return null;
|
|
36
|
+
let props = {
|
|
37
|
+
style: {
|
|
38
|
+
fill: color
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
if (ariaHidden) {
|
|
42
|
+
props['aria-hidden'] = ariaHidden;
|
|
43
|
+
}
|
|
44
|
+
const iconComponents = getSvgIconComponents();
|
|
45
|
+
let IconComponent = iconComponents[symbol];
|
|
46
|
+
if (!IconComponent && getSvg) {
|
|
47
|
+
// try to get svg icon from other modules
|
|
48
|
+
IconComponent = getSvg(symbol);
|
|
49
|
+
}
|
|
50
|
+
if (!IconComponent) return null;
|
|
51
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, {
|
|
52
|
+
className: (0, _classnames.default)('multicolor-icon', className, `multicolor-icon-${symbol}`),
|
|
53
|
+
...props
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
var _default = exports.default = SvgIcon;
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
color: #212529;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
.dtable-switch.sm .custom-switch .dtable-font
|
|
29
|
+
.dtable-switch.sm .custom-switch .dtable-font,
|
|
30
|
+
.dtable-switch.sm .custom-switch .multicolor-icon {
|
|
30
31
|
-webkit-transform: scale(.8);
|
|
31
32
|
transform: scale(.8);
|
|
32
33
|
display: inline-block;
|
|
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _dtableUtils = require("dtable-utils");
|
|
11
10
|
var _DTableSwitch = _interopRequireDefault(require("../DTableSwitch"));
|
|
11
|
+
var _DTableColumnIcon = _interopRequireDefault(require("../DTableColumnIcon"));
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
13
|
function FieldItem(_ref) {
|
|
14
14
|
let {
|
|
@@ -63,10 +63,17 @@ function FieldItem(_ref) {
|
|
|
63
63
|
onMoveField(droppedColumnKey, field.key);
|
|
64
64
|
};
|
|
65
65
|
const placeholder = () => {
|
|
66
|
+
const {
|
|
67
|
+
type,
|
|
68
|
+
data
|
|
69
|
+
} = field;
|
|
66
70
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
67
71
|
className: "field-switch",
|
|
68
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
69
|
-
|
|
72
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DTableColumnIcon.default, {
|
|
73
|
+
column: {
|
|
74
|
+
type,
|
|
75
|
+
data
|
|
76
|
+
}
|
|
70
77
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
71
78
|
children: field.name
|
|
72
79
|
})]
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
+
var _DTableIcon = _interopRequireDefault(require("../DTableIcon"));
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
const PhoneNumberLink = _ref => {
|
|
12
|
+
let {
|
|
13
|
+
phoneNumber,
|
|
14
|
+
className
|
|
15
|
+
} = _ref;
|
|
16
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
17
|
+
className: (0, _classnames.default)(className),
|
|
18
|
+
href: `tel:${typeof phoneNumber === 'string' ? phoneNumber.trim() : ''}`,
|
|
19
|
+
tabIndex: 0,
|
|
20
|
+
"aria-label": "",
|
|
21
|
+
target: "_blank",
|
|
22
|
+
rel: "noopener noreferrer",
|
|
23
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DTableIcon.default, {
|
|
24
|
+
className: "jump-link-icon",
|
|
25
|
+
symbol: "telephone"
|
|
26
|
+
})
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
var _default = exports.default = PhoneNumberLink;
|
|
@@ -10,13 +10,15 @@
|
|
|
10
10
|
width: 24px;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
.dtable-ui-header-icon .dtable-font
|
|
13
|
+
.dtable-ui-header-icon .dtable-font,
|
|
14
|
+
.dtable-ui-header-icon .multicolor-icon {
|
|
14
15
|
font-size: 14px;
|
|
15
16
|
color: #aaa;
|
|
16
17
|
cursor: default;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
.dtable-ui-row-expand-column-content .dtable-ui-row-expand-column-content-info .dtable-ui-header-icon .dtable-font
|
|
20
|
+
.dtable-ui-row-expand-column-content .dtable-ui-row-expand-column-content-info .dtable-ui-header-icon .dtable-font,
|
|
21
|
+
.dtable-ui-row-expand-column-content .dtable-ui-row-expand-column-content-info .dtable-ui-header-icon .multicolor-icon {
|
|
20
22
|
color: #212529a6;
|
|
21
23
|
}
|
|
22
24
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
3
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
@@ -7,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
8
|
exports.default = void 0;
|
|
8
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
10
|
var _reactstrap = require("reactstrap");
|
|
10
|
-
var
|
|
11
|
+
var _DTableColumnIcon = _interopRequireDefault(require("../../DTableColumnIcon"));
|
|
11
12
|
require("./index.css");
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
14
|
const ColumnContent = _ref => {
|
|
@@ -18,7 +19,6 @@ const ColumnContent = _ref => {
|
|
|
18
19
|
const descriptionRef = (0, _react.useRef)(null);
|
|
19
20
|
const {
|
|
20
21
|
name,
|
|
21
|
-
type,
|
|
22
22
|
key,
|
|
23
23
|
description
|
|
24
24
|
} = column;
|
|
@@ -30,8 +30,8 @@ const ColumnContent = _ref => {
|
|
|
30
30
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
31
31
|
className: "dtable-ui-header-icon",
|
|
32
32
|
id: `header-icon-${key}`,
|
|
33
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
34
|
-
|
|
33
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DTableColumnIcon.default, {
|
|
34
|
+
column: column
|
|
35
35
|
})
|
|
36
36
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
37
37
|
className: "dtable-ui-row-expand-column-name",
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.DEFAULT_FORMATTER = void 0;
|
|
8
8
|
var _dtableUtils = require("dtable-utils");
|
|
9
|
-
var
|
|
9
|
+
var _text = _interopRequireDefault(require("./text"));
|
|
10
10
|
var _NumberFormatter = _interopRequireDefault(require("../NumberFormatter"));
|
|
11
11
|
var _CheckboxFormatter = _interopRequireDefault(require("../CheckboxFormatter"));
|
|
12
12
|
var _DateFormatter = _interopRequireDefault(require("../DateFormatter"));
|
|
@@ -32,7 +32,7 @@ var _linkFormatter = _interopRequireDefault(require("./link-formatter"));
|
|
|
32
32
|
var _formulaFormatter = _interopRequireDefault(require("./formula-formatter"));
|
|
33
33
|
var _departmentFormatter = _interopRequireDefault(require("./department-formatter"));
|
|
34
34
|
const DEFAULT_FORMATTER = exports.DEFAULT_FORMATTER = {
|
|
35
|
-
[_dtableUtils.CellType.TEXT]:
|
|
35
|
+
[_dtableUtils.CellType.TEXT]: _text.default,
|
|
36
36
|
[_dtableUtils.CellType.NUMBER]: _NumberFormatter.default,
|
|
37
37
|
[_dtableUtils.CellType.CHECKBOX]: _CheckboxFormatter.default,
|
|
38
38
|
[_dtableUtils.CellType.DATE]: _DateFormatter.default,
|
|
@@ -1,30 +1,2 @@
|
|
|
1
1
|
@import url('../../css/cell-formatter.css');
|
|
2
|
-
|
|
3
|
-
.dtable-ui-row-expand-formatter .dtable-ui.email-formatter .email-formatter-value,
|
|
4
|
-
.dtable-ui-row-expand-formatter .dtable-ui.url-formatter .url-formatter-value {
|
|
5
|
-
text-decoration: underline;
|
|
6
|
-
width: 95%;
|
|
7
|
-
display: inline-flex;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.dtable-ui-row-expand-formatter .dtable-ui .row-expand-jump-link {
|
|
11
|
-
display: inline-flex;
|
|
12
|
-
align-items: center;
|
|
13
|
-
font-size: 14px;
|
|
14
|
-
height: 22px;
|
|
15
|
-
position: absolute;
|
|
16
|
-
top: 8px;
|
|
17
|
-
right: 22px;
|
|
18
|
-
border: 1px solid #eee;
|
|
19
|
-
padding: 0 4px;
|
|
20
|
-
color: #999;
|
|
21
|
-
border-radius: 2px;
|
|
22
|
-
background: #fff;
|
|
23
|
-
cursor: pointer;
|
|
24
|
-
box-shadow: 0 0 1px;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.dtable-ui-row-expand-formatter .dtable-ui .row-expand-jump-link:hover {
|
|
28
|
-
background: #eee;
|
|
29
|
-
border: 1px solid #c9c9c9;
|
|
30
|
-
}
|
|
2
|
+
@import url('../../css/row-expand.css');
|
|
@@ -26,14 +26,14 @@ class RowExpandEmailFormatter extends _react.default.Component {
|
|
|
26
26
|
containerClassName,
|
|
27
27
|
value
|
|
28
28
|
} = this.props;
|
|
29
|
-
let classname = (0, _classnames.default)('dtable-ui cell-formatter-container email-formatter', containerClassName);
|
|
29
|
+
let classname = (0, _classnames.default)('dtable-ui cell-formatter-container email-formatter row-expand-jump-link-container', containerClassName);
|
|
30
30
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
31
31
|
className: classname,
|
|
32
32
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
33
|
-
className: "email-formatter-value text-truncate",
|
|
33
|
+
className: "email-formatter-value row-expand-jump-link-value text-truncate",
|
|
34
34
|
children: value
|
|
35
35
|
}), (0, _editorUtils.getTrimmedString)(value) && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
36
|
-
className: "dtable-font dtable-icon-email row-expand-jump-link",
|
|
36
|
+
className: "dtable-font dtable-icon-email row-expand-jump-link-btn",
|
|
37
37
|
onClick: this.onOpenEmailLink
|
|
38
38
|
})]
|
|
39
39
|
});
|
|
@@ -10,12 +10,14 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
10
10
|
var _dtableUtils = require("dtable-utils");
|
|
11
11
|
var _baseFormatterConfig = _interopRequireDefault(require("../../formatterConfig/base-formatter-config"));
|
|
12
12
|
var _TextFormatter = _interopRequireDefault(require("../../TextFormatter"));
|
|
13
|
+
var _PhoneNumberLink = _interopRequireDefault(require("../../PhoneNumberLink"));
|
|
13
14
|
var _utils = require("../../FormulaFormatter/utils");
|
|
14
15
|
var _utils2 = require("../../utils/utils");
|
|
15
16
|
var _cellValueValidator = _interopRequireDefault(require("../../FormulaFormatter/cell-value-validator"));
|
|
16
17
|
var _toaster = _interopRequireDefault(require("../../toaster"));
|
|
17
18
|
var _lang = require("../../lang");
|
|
18
19
|
require("../../FormulaFormatter/index.css");
|
|
20
|
+
require("./index.css");
|
|
19
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
22
|
class RowExpandFormulaFormatter extends _react.default.Component {
|
|
21
23
|
constructor() {
|
|
@@ -61,13 +63,6 @@ class RowExpandFormulaFormatter extends _react.default.Component {
|
|
|
61
63
|
width: '320px'
|
|
62
64
|
};
|
|
63
65
|
}
|
|
64
|
-
const columnType = (0, _dtableUtils.getColumnType)(column);
|
|
65
|
-
if ([_dtableUtils.CellType.URL, _dtableUtils.CellType.EMAIL].includes(columnType)) {
|
|
66
|
-
style = {
|
|
67
|
-
...style,
|
|
68
|
-
position: 'relative'
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
66
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
72
67
|
className: "d-flex align-items-center form-control disabled h-auto",
|
|
73
68
|
style: style,
|
|
@@ -125,6 +120,11 @@ class RowExpandFormulaFormatter extends _react.default.Component {
|
|
|
125
120
|
formulaEmail = cellValue[0];
|
|
126
121
|
formulaEmail = formulaEmail ? formulaEmail.trim() : '';
|
|
127
122
|
}
|
|
123
|
+
let formulaPhoneNumber = '';
|
|
124
|
+
if ((0, _dtableUtils.checkIsDisplayAsPhoneNumberColumn)(column)) {
|
|
125
|
+
formulaPhoneNumber = cellValue[0];
|
|
126
|
+
formulaPhoneNumber = formulaPhoneNumber ? formulaPhoneNumber.trim() : '';
|
|
127
|
+
}
|
|
128
128
|
return this.renderBorder(/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
129
129
|
className: "dtable-ui formula-formatter multiple",
|
|
130
130
|
children: cellValue.map((v, index) => {
|
|
@@ -133,16 +133,19 @@ class RowExpandFormulaFormatter extends _react.default.Component {
|
|
|
133
133
|
className: (0, _classnames.default)('formula-formatter-content-item', {
|
|
134
134
|
'simple-cell-formatter': (0, _utils.isSimpleCellFormatter)(array_type)
|
|
135
135
|
}, {
|
|
136
|
-
'
|
|
136
|
+
'row-expand-jump-link-container': !!(formulaUrl || formulaEmail || formulaPhoneNumber)
|
|
137
137
|
}),
|
|
138
|
-
children: [formulaUrl && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
138
|
+
children: [!!formulaUrl && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
139
139
|
"aria-hidden": "true",
|
|
140
|
-
className: "dtable-font dtable-icon-url formula-url-link",
|
|
140
|
+
className: "dtable-font dtable-icon-url formula-url-link row-expand-jump-link-btn",
|
|
141
141
|
onClick: this.onOpenUrlLink.bind(this, formulaUrl)
|
|
142
|
-
}), formulaEmail && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
142
|
+
}), !!formulaEmail && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
143
143
|
"aria-hidden": "true",
|
|
144
|
-
className: "dtable-font dtable-icon-email formula-email-link",
|
|
144
|
+
className: "dtable-font dtable-icon-email formula-email-link row-expand-jump-link-btn",
|
|
145
145
|
onClick: this.onOpenEmailLink.bind(this, formulaEmail)
|
|
146
|
+
}), !!formulaPhoneNumber && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PhoneNumberLink.default, {
|
|
147
|
+
phoneNumber: formulaPhoneNumber,
|
|
148
|
+
className: "row-expand-jump-link-btn"
|
|
146
149
|
}), this.createColumnFormatter(Formatter, formatterProps)]
|
|
147
150
|
}, `formula-formatter-content-item-${index}`);
|
|
148
151
|
})
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
height: 2.375rem;
|
|
26
26
|
line-height: 2.375rem;
|
|
27
27
|
width: 100%;
|
|
28
|
+
text-decoration: none;
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
.dtable-ui.dtable-ui-row-expand-formatter .dtable-ui.multiple-select-formatter .dtable-ui.select-item {
|
|
@@ -46,6 +47,7 @@
|
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
.dtable-ui.dtable-ui-row-expand-formatter .form-control {
|
|
50
|
+
position: relative;
|
|
49
51
|
background-color: #f8f9fa;
|
|
50
52
|
padding: 0 10px;
|
|
51
53
|
height: fit-content;
|
|
@@ -77,6 +77,7 @@ class RowExpandFormatter extends _react.default.Component {
|
|
|
77
77
|
className: "form-control d-flex align-items-center w-100",
|
|
78
78
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Formatter, {
|
|
79
79
|
value: cellValue,
|
|
80
|
+
column: column,
|
|
80
81
|
containerClassName: containerClassName
|
|
81
82
|
})
|
|
82
83
|
});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _dtableUtils = require("dtable-utils");
|
|
11
|
+
var _PhoneNumberLink = _interopRequireDefault(require("../../PhoneNumberLink"));
|
|
12
|
+
var _editorUtils = require("../../utils/editor-utils");
|
|
13
|
+
require("./index.css");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
class TextFormatter extends _react.default.Component {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.getFormattedValue = val => {
|
|
19
|
+
if (typeof val === 'object') {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
if (Object.prototype.toString.call(val) === '[object Boolean]') {
|
|
23
|
+
return val + '';
|
|
24
|
+
}
|
|
25
|
+
return val;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
render() {
|
|
29
|
+
const {
|
|
30
|
+
containerClassName,
|
|
31
|
+
value,
|
|
32
|
+
column
|
|
33
|
+
} = this.props;
|
|
34
|
+
const classname = (0, _classnames.default)('dtable-ui cell-formatter-container row-expand-jump-link-container text-formatter', containerClassName);
|
|
35
|
+
const formattedValue = this.getFormattedValue(value);
|
|
36
|
+
const isDisplayAsAsPhoneNumber = column ? (0, _dtableUtils.checkIsDisplayAsPhoneNumberColumn)(column) : false;
|
|
37
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
38
|
+
className: classname,
|
|
39
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
40
|
+
className: "text-formatter-value row-expand-jump-link-value text-truncate",
|
|
41
|
+
children: formattedValue
|
|
42
|
+
}), isDisplayAsAsPhoneNumber && !!(0, _editorUtils.getTrimmedString)(value) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PhoneNumberLink.default, {
|
|
43
|
+
phoneNumber: value,
|
|
44
|
+
className: "row-expand-jump-link-btn"
|
|
45
|
+
})]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
var _default = exports.default = TextFormatter;
|
|
@@ -39,14 +39,14 @@ class UrlFormatter extends _react.default.Component {
|
|
|
39
39
|
containerClassName,
|
|
40
40
|
value
|
|
41
41
|
} = this.props;
|
|
42
|
-
|
|
42
|
+
const classname = (0, _classnames.default)('dtable-ui cell-formatter-container url-formatter row-expand-jump-link-container', containerClassName);
|
|
43
43
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
44
44
|
className: classname,
|
|
45
45
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
46
|
-
className: "url-formatter-value text-truncate",
|
|
46
|
+
className: "url-formatter-value row-expand-jump-link-value text-truncate",
|
|
47
47
|
children: value
|
|
48
48
|
}), (0, _editorUtils.getTrimmedString)(value) && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
49
|
-
className: "dtable-font dtable-icon-url row-expand-jump-link",
|
|
49
|
+
className: "dtable-font dtable-icon-url row-expand-jump-link-btn",
|
|
50
50
|
onClick: this.onOpenUrlLink
|
|
51
51
|
})]
|
|
52
52
|
});
|
|
@@ -151,6 +151,10 @@
|
|
|
151
151
|
right: 0;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
+
.dtable-ui-row-expand-formatter .dtable-ui .row-expand-jump-link .jump-link-icon {
|
|
155
|
+
color: #999;
|
|
156
|
+
}
|
|
157
|
+
|
|
154
158
|
.dtable-ui-mobile-row-expand-body .dtable-ui-row-expand-formatter .dtable-ui.url-formatter .url-formatter-value,
|
|
155
159
|
.dtable-ui-mobile-row-expand-body .dtable-ui-row-expand-formatter .dtable-ui.email-formatter .email-formatter-value {
|
|
156
160
|
width: calc(100% - 40px);
|
|
@@ -59,15 +59,18 @@
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
.option:hover .header-icon .dtable-font,
|
|
62
|
+
.option:hover .header-icon .multicolor-icon,
|
|
62
63
|
.option.option-active .select-option-name {
|
|
63
64
|
color: #fff;
|
|
64
65
|
}
|
|
65
66
|
|
|
66
|
-
.option.option-active .header-icon .dtable-font
|
|
67
|
+
.option.option-active .header-icon .dtable-font,
|
|
68
|
+
.option.option-active .header-icon .multicolor-icon {
|
|
67
69
|
color: #fff;
|
|
68
70
|
}
|
|
69
71
|
|
|
70
|
-
.option:not(.option-active):hover .header-icon .dtable-font
|
|
72
|
+
.option:not(.option-active):hover .header-icon .dtable-font,
|
|
73
|
+
.option:not(.option-active):hover .header-icon .multicolor-icon {
|
|
71
74
|
color: #aaa;
|
|
72
75
|
}
|
|
73
76
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
.st0{fill:#999999;}
|
|
7
|
+
</style>
|
|
8
|
+
<title>telephone</title>
|
|
9
|
+
<g id="telephone">
|
|
10
|
+
<path id="路径" class="st0" d="M24.2,31C11.4,31,1.1,20.7,1.1,7.9C1.1,4.1,4.2,1,7.9,1c0.7,0,1.7,0.1,2.2,0.4
|
|
11
|
+
c0.4,0.2,0.9,0.6,1,1.1l2.1,9c0.1,0.5,0,1.1-0.3,1.4c-0.2,0.2-0.5,0.3-2.2,1.2c1.5,3.2,4,5.8,7.3,7.3c0.9-1.9,1-1.9,1.2-2.1
|
|
12
|
+
c0.4-0.4,0.8-0.5,1.4-0.4c5.7,1.3,8.7,2,9,2.1c0.5,0.1,0.8,0.5,1,0.9c0.2,0.5,0.4,1.5,0.4,2.2C31,28,27.9,31,24.2,31z"/>
|
|
13
|
+
</g>
|
|
14
|
+
</svg>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.dtable-ui-row-expand-formatter .dtable-ui .row-expand-jump-link-value {
|
|
2
|
+
text-decoration: underline;
|
|
3
|
+
width: 95%;
|
|
4
|
+
display: inline-flex;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.dtable-ui-row-expand-formatter .dtable-ui .row-expand-jump-link-btn {
|
|
8
|
+
display: inline-flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
font-size: 14px;
|
|
11
|
+
height: 22px;
|
|
12
|
+
position: absolute;
|
|
13
|
+
top: 8px;
|
|
14
|
+
right: 9px;
|
|
15
|
+
border: 1px solid #eee;
|
|
16
|
+
padding: 0 4px;
|
|
17
|
+
color: #999;
|
|
18
|
+
border-radius: 2px;
|
|
19
|
+
background: #fff;
|
|
20
|
+
cursor: pointer;
|
|
21
|
+
box-shadow: 0 0 1px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.dtable-ui-row-expand-formatter .dtable-ui .row-expand-jump-link:hover {
|
|
25
|
+
background: #eee;
|
|
26
|
+
border: 1px solid #c9c9c9;
|
|
27
|
+
}
|
package/lib/index.js
CHANGED
|
@@ -100,6 +100,12 @@ Object.defineProperty(exports, "DTableColorPicker", {
|
|
|
100
100
|
return _DTableColorPicker.default;
|
|
101
101
|
}
|
|
102
102
|
});
|
|
103
|
+
Object.defineProperty(exports, "DTableColumnIcon", {
|
|
104
|
+
enumerable: true,
|
|
105
|
+
get: function () {
|
|
106
|
+
return _DTableColumnIcon.default;
|
|
107
|
+
}
|
|
108
|
+
});
|
|
103
109
|
Object.defineProperty(exports, "DTableCommonAddTool", {
|
|
104
110
|
enumerable: true,
|
|
105
111
|
get: function () {
|
|
@@ -142,6 +148,12 @@ Object.defineProperty(exports, "DTableGroupSelect", {
|
|
|
142
148
|
return _index.default;
|
|
143
149
|
}
|
|
144
150
|
});
|
|
151
|
+
Object.defineProperty(exports, "DTableIcon", {
|
|
152
|
+
enumerable: true,
|
|
153
|
+
get: function () {
|
|
154
|
+
return _DTableIcon.default;
|
|
155
|
+
}
|
|
156
|
+
});
|
|
145
157
|
Object.defineProperty(exports, "DTableModalHeader", {
|
|
146
158
|
enumerable: true,
|
|
147
159
|
get: function () {
|
|
@@ -460,6 +472,12 @@ Object.defineProperty(exports, "NumberFormatter", {
|
|
|
460
472
|
return _NumberFormatter.default;
|
|
461
473
|
}
|
|
462
474
|
});
|
|
475
|
+
Object.defineProperty(exports, "PhoneNumberLink", {
|
|
476
|
+
enumerable: true,
|
|
477
|
+
get: function () {
|
|
478
|
+
return _PhoneNumberLink.default;
|
|
479
|
+
}
|
|
480
|
+
});
|
|
463
481
|
Object.defineProperty(exports, "Picker", {
|
|
464
482
|
enumerable: true,
|
|
465
483
|
get: function () {
|
|
@@ -550,12 +568,6 @@ Object.defineProperty(exports, "SingleSelectFormatter", {
|
|
|
550
568
|
return _SingleSelectFormatter.default;
|
|
551
569
|
}
|
|
552
570
|
});
|
|
553
|
-
Object.defineProperty(exports, "SvgIcon", {
|
|
554
|
-
enumerable: true,
|
|
555
|
-
get: function () {
|
|
556
|
-
return _SvgIcon.default;
|
|
557
|
-
}
|
|
558
|
-
});
|
|
559
571
|
Object.defineProperty(exports, "TabBar", {
|
|
560
572
|
enumerable: true,
|
|
561
573
|
get: function () {
|
|
@@ -695,7 +707,8 @@ var _DTableRadioGroup = _interopRequireDefault(require("./DTableRadioGroup"));
|
|
|
695
707
|
var _DTableEmptyTip = _interopRequireDefault(require("./DTableEmptyTip"));
|
|
696
708
|
var _IconButton = _interopRequireDefault(require("./IconButton"));
|
|
697
709
|
var _UploadProgress = _interopRequireDefault(require("./UploadProgress"));
|
|
698
|
-
var
|
|
710
|
+
var _DTableIcon = _interopRequireDefault(require("./DTableIcon"));
|
|
711
|
+
var _DTableColumnIcon = _interopRequireDefault(require("./DTableColumnIcon"));
|
|
699
712
|
var _AsyncUserSelect = _interopRequireDefault(require("./AsyncUserSelect"));
|
|
700
713
|
var _ActionSheet = _interopRequireDefault(require("./ActionSheet"));
|
|
701
714
|
var _ActivityIndicator = _interopRequireDefault(require("./ActivityIndicator"));
|
|
@@ -713,6 +726,7 @@ var _TabBar = _interopRequireDefault(require("./TabBar"));
|
|
|
713
726
|
var _TextareaItem = _interopRequireDefault(require("./TextareaItem"));
|
|
714
727
|
var _Toast = _interopRequireDefault(require("./Toast"));
|
|
715
728
|
var _BodyPortal = _interopRequireDefault(require("./BodyPortal"));
|
|
729
|
+
var _PhoneNumberLink = _interopRequireDefault(require("./PhoneNumberLink"));
|
|
716
730
|
var _MobileModal = _interopRequireDefault(require("./MobileModal"));
|
|
717
731
|
var _MobileOperationSheet = _interopRequireDefault(require("./MobileOperationSheet"));
|
|
718
732
|
var _MobileUpload = _interopRequireDefault(require("./MobileUpload"));
|
package/lib/toaster/toaster.js
CHANGED
|
@@ -20,8 +20,6 @@ class Toaster {
|
|
|
20
20
|
constructor() {
|
|
21
21
|
var _this = this;
|
|
22
22
|
this._bindNotify = handler => {
|
|
23
|
-
// 在绑定通知处理器时,确保只有一个容器
|
|
24
|
-
this._ensureSingleContainer();
|
|
25
23
|
this.notifyHandler = handler;
|
|
26
24
|
};
|
|
27
25
|
this._bindGetToasts = handler => {
|
|
@@ -65,14 +63,6 @@ class Toaster {
|
|
|
65
63
|
});
|
|
66
64
|
};
|
|
67
65
|
if (!isBrowser) return;
|
|
68
|
-
|
|
69
|
-
// 单例模式:如果已经存在实例,直接返回
|
|
70
|
-
if (Toaster.instance) {
|
|
71
|
-
return Toaster.instance;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// 清理可能存在的旧容器
|
|
75
|
-
this._cleanupOldContainers();
|
|
76
66
|
const container = document.createElement('div');
|
|
77
67
|
container.setAttribute('data-evergreen-toaster-container', '');
|
|
78
68
|
document.body.appendChild(container);
|
|
@@ -82,33 +72,6 @@ class Toaster {
|
|
|
82
72
|
bindGetToasts: this._bindGetToasts,
|
|
83
73
|
bindCloseAll: this._bindCloseAll
|
|
84
74
|
}));
|
|
85
|
-
|
|
86
|
-
// 保存实例引用
|
|
87
|
-
Toaster.instance = this;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// 清理旧的 toaster 容器
|
|
91
|
-
_cleanupOldContainers() {
|
|
92
|
-
const oldContainers = document.querySelectorAll('[data-evergreen-toaster-container]');
|
|
93
|
-
oldContainers.forEach(container => {
|
|
94
|
-
if (container.parentNode) {
|
|
95
|
-
container.parentNode.removeChild(container);
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
// 确保 DOM 中只有一个 toaster 容器
|
|
100
|
-
_ensureSingleContainer() {
|
|
101
|
-
const containers = document.querySelectorAll('[data-evergreen-toaster-container]');
|
|
102
|
-
if (containers.length > 1) {
|
|
103
|
-
// 保留第一个容器(我们的实例),删除其他的
|
|
104
|
-
for (let i = 1; i < containers.length; i++) {
|
|
105
|
-
const container = containers[i];
|
|
106
|
-
if (container.parentNode) {
|
|
107
|
-
container.parentNode.removeChild(container);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
75
|
}
|
|
112
76
|
}
|
|
113
|
-
exports.default = Toaster;
|
|
114
|
-
Toaster.instance = null;
|
|
77
|
+
exports.default = Toaster;
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dtable-ui-component",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.96",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@seafile/react-image-lightbox": "4.0.2",
|
|
7
|
-
"@seafile/seafile-calendar": "0.0.
|
|
7
|
+
"@seafile/seafile-calendar": "~0.0.32",
|
|
8
8
|
"@seafile/seafile-editor": "~2.0.14",
|
|
9
9
|
"classnames": "~2.5.*",
|
|
10
10
|
"dayjs": "1.10.7",
|
|
11
|
-
"dtable-utils": "~5.0.
|
|
11
|
+
"dtable-utils": "~5.0.26",
|
|
12
12
|
"is-hotkey": "0.2.0",
|
|
13
13
|
"rc-checkbox": "3.5.0",
|
|
14
14
|
"react-color": "2.19.3",
|
package/lib/SvgIcon/index.js
DELETED
|
@@ -1,38 +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.default = void 0;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
require("./index.css");
|
|
10
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
const iconComponents = {};
|
|
12
|
-
const requireContext = require.context('../assets/icons', false, /\.svg$/);
|
|
13
|
-
requireContext.keys().forEach(path => {
|
|
14
|
-
const iconName = path.replace(/^\.\/(.*?)\.svg$/, '$1').toLowerCase();
|
|
15
|
-
iconComponents[iconName] = requireContext(path).default;
|
|
16
|
-
});
|
|
17
|
-
const SvgIcon = _ref => {
|
|
18
|
-
let {
|
|
19
|
-
className,
|
|
20
|
-
symbol,
|
|
21
|
-
color
|
|
22
|
-
} = _ref;
|
|
23
|
-
if (!symbol) return null;
|
|
24
|
-
const iconClass = `dtable-ui-multicolor-icon multicolor-icon-${symbol} ${className || ''}`;
|
|
25
|
-
const props = {
|
|
26
|
-
className: iconClass,
|
|
27
|
-
style: {
|
|
28
|
-
fill: color
|
|
29
|
-
},
|
|
30
|
-
ariaHidden: 'true'
|
|
31
|
-
};
|
|
32
|
-
const IconComponent = iconComponents[symbol];
|
|
33
|
-
if (!IconComponent) return null;
|
|
34
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, {
|
|
35
|
-
...props
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
var _default = exports.default = SvgIcon;
|