dtable-ui-component 7.0.1-beta.btn1 → 7.0.1-beta.select1
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/AsyncUserSelect/index.css +38 -28
- package/lib/AsyncUserSelect/index.js +29 -18
- package/lib/DTableCustomizeSearchInput/index.css +75 -0
- package/lib/DTableCustomizeSearchInput/index.js +133 -0
- package/lib/DTableCustomizeSelect/index.css +120 -42
- package/lib/DTableCustomizeSelect/index.js +12 -6
- package/lib/DTableFiltersPopover/index.js +8 -9
- package/lib/DTableFiltersPopover/utils/filter-item-utils.js +7 -19
- package/lib/DTableFiltersPopover/widgets/collaborator-filter/index.js +5 -9
- package/lib/DTableFiltersPopover/widgets/filter-group.js +1 -1
- package/lib/DTableFiltersPopover/widgets/filter-item.js +16 -8
- package/lib/DTableFiltersPopover/widgets/filter-list/index.css +8 -6
- package/lib/DTableModalHeader/index.css +22 -0
- package/lib/DTableModalHeader/index.js +10 -3
- package/lib/DTableSelect/dtable-select-label.css +8 -3
- package/lib/DTableSelect/dtable-select-label.js +1 -1
- package/lib/DTableSelect/index.js +3 -3
- package/lib/DTableSelect/select-dropdown-indicator/index.css +16 -0
- package/lib/DTableSelect/select-dropdown-indicator/index.js +24 -0
- package/lib/DTableSelect/user-select.css +7 -46
- package/lib/DTableSelect/utils.js +170 -79
- package/lib/FieldDisplaySetting/index.js +1 -1
- package/lib/SelectItem/index.js +1 -1
- package/lib/SelectOptionGroup/KeyCodes.js +96 -4
- package/lib/SelectOptionGroup/index.css +44 -54
- package/lib/SelectOptionGroup/index.js +35 -18
- package/lib/SelectOptionGroup/option.js +16 -4
- package/lib/assets/icons/close.svg +1 -0
- package/lib/assets/icons/down.svg +3 -0
- package/lib/index.js +3 -10
- package/package.json +1 -1
- package/lib/DTableCustomizeCollaboratorSelect/index.css +0 -86
- package/lib/DTableCustomizeCollaboratorSelect/index.js +0 -158
- package/lib/DTableGroupSelect/index.css +0 -96
- package/lib/DTableGroupSelect/index.js +0 -131
- package/lib/DTableGroupSelect/option.js +0 -42
- package/lib/DTableGroupSelect/select-option-group.css +0 -54
- package/lib/DTableGroupSelect/select-option-group.js +0 -227
|
@@ -8,8 +8,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _SelectOptionGroup = _interopRequireDefault(require("../SelectOptionGroup"));
|
|
11
|
+
var _DTableIcon = _interopRequireDefault(require("../DTableIcon"));
|
|
11
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
13
|
var _ModalPortal = _interopRequireDefault(require("../ModalPortal"));
|
|
14
|
+
var _utils = require("../utils/utils");
|
|
13
15
|
require("./index.css");
|
|
14
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
17
|
class DTableCustomizeSelect extends _react.Component {
|
|
@@ -22,8 +24,8 @@ class DTableCustomizeSelect extends _react.Component {
|
|
|
22
24
|
so it can be closed when other select is clicked.
|
|
23
25
|
*/
|
|
24
26
|
if (this.state.isShowSelectOptions) event.stopPropagation();
|
|
25
|
-
|
|
26
|
-
if (this.props.isLocked || eventClassName.indexOf('option-search-control') > -1 || eventClassName === '
|
|
27
|
+
const eventClassName = (0, _utils.getEventClassName)(event);
|
|
28
|
+
if (this.props.isLocked || eventClassName.indexOf('option-search-control') > -1 || eventClassName === 'seatable-select-search') return;
|
|
27
29
|
// Prevent closing by pressing the spacebar in the search input
|
|
28
30
|
if (event.target.value === '') return;
|
|
29
31
|
this.setState({
|
|
@@ -31,7 +33,7 @@ class DTableCustomizeSelect extends _react.Component {
|
|
|
31
33
|
});
|
|
32
34
|
};
|
|
33
35
|
this.onClick = event => {
|
|
34
|
-
if (this.props.isShowSelected && event.
|
|
36
|
+
if (this.props.isShowSelected && (0, _utils.getEventClassName)(event).includes('icon-fork-number')) {
|
|
35
37
|
return;
|
|
36
38
|
}
|
|
37
39
|
if (!this.selector.contains(event.target)) {
|
|
@@ -93,7 +95,7 @@ class DTableCustomizeSelect extends _react.Component {
|
|
|
93
95
|
component = _this$props2.component;
|
|
94
96
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
95
97
|
ref: node => this.selector = node,
|
|
96
|
-
className: (0, _classnames.default)('
|
|
98
|
+
className: (0, _classnames.default)('seatable-customize-select custom-select', {
|
|
97
99
|
'focus': this.state.isShowSelectOptions
|
|
98
100
|
}, {
|
|
99
101
|
'disabled': isLocked
|
|
@@ -107,8 +109,12 @@ class DTableCustomizeSelect extends _react.Component {
|
|
|
107
109
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
108
110
|
className: "select-placeholder",
|
|
109
111
|
children: placeholder
|
|
110
|
-
}), !isLocked && /*#__PURE__*/(0, _jsxRuntime.jsx)("
|
|
111
|
-
className: "
|
|
112
|
+
}), !isLocked && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
113
|
+
className: "d-inline-flex align-items-center",
|
|
114
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DTableIcon.default, {
|
|
115
|
+
symbol: "down",
|
|
116
|
+
color: "var(--bs-icon-color)"
|
|
117
|
+
})
|
|
112
118
|
})]
|
|
113
119
|
}), this.state.isShowSelectOptions && !isInModal && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectOptionGroup.default, {
|
|
114
120
|
value: value,
|
|
@@ -147,29 +147,28 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
147
147
|
addIconClassName: "popover-add-icon"
|
|
148
148
|
}), isSupportAdvanced && !readOnly && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
149
149
|
className: "add-buttons",
|
|
150
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
151
|
-
className: "mr-4",
|
|
150
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
151
|
+
className: "btn-add-filter mr-4",
|
|
152
152
|
onClick: canAddFilter ? () => this.addFilter() : () => {},
|
|
153
|
+
role: "button",
|
|
153
154
|
tabIndex: 0,
|
|
154
155
|
"aria-label": (0, _lang.getLocale)('Add_filter'),
|
|
155
|
-
color: "filled",
|
|
156
|
-
size: "middle",
|
|
157
156
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("i", {
|
|
158
157
|
"aria-hidden": "true",
|
|
159
|
-
className: "dtable-font dtable-icon-add-table"
|
|
158
|
+
className: "dtable-font dtable-icon-add-table popover-add-icon"
|
|
160
159
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
161
160
|
className: "add-new-option",
|
|
162
161
|
children: (0, _lang.getLocale)('Add_filter')
|
|
163
162
|
})]
|
|
164
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
163
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
164
|
+
className: "btn-add-filter-group",
|
|
165
165
|
onClick: canAddFilter ? () => this.addFilterGroup() : () => {},
|
|
166
|
-
|
|
167
|
-
size: "middle",
|
|
166
|
+
role: "button",
|
|
168
167
|
tabIndex: 0,
|
|
169
168
|
"aria-label": (0, _lang.getLocale)('Add_filter_group'),
|
|
170
169
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("i", {
|
|
171
170
|
"aria-hidden": "true",
|
|
172
|
-
className: "dtable-font dtable-icon-add-table"
|
|
171
|
+
className: "dtable-font dtable-icon-add-table popover-add-icon"
|
|
173
172
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
174
173
|
className: "add-new-option",
|
|
175
174
|
children: (0, _lang.getLocale)('Add_filter_group')
|
|
@@ -91,9 +91,9 @@ class FilterItemUtils {
|
|
|
91
91
|
value: {
|
|
92
92
|
columnOption: option
|
|
93
93
|
},
|
|
94
|
-
label: /*#__PURE__*/(0, _jsxRuntime.
|
|
94
|
+
label: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
95
95
|
className: "select-option-name single-select-option-name",
|
|
96
|
-
children:
|
|
96
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
97
97
|
className: "single-select-option",
|
|
98
98
|
style: {
|
|
99
99
|
background: option.color,
|
|
@@ -102,23 +102,16 @@ class FilterItemUtils {
|
|
|
102
102
|
title: option.name,
|
|
103
103
|
"aria-label": option.name,
|
|
104
104
|
children: option.name
|
|
105
|
-
})
|
|
106
|
-
className: "single-select-check-icon",
|
|
107
|
-
children: (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.id) === option.id && /*#__PURE__*/(0, _jsxRuntime.jsx)("i", {
|
|
108
|
-
className: "option-edit dtable-font dtable-icon-check-mark"
|
|
109
|
-
})
|
|
110
|
-
})]
|
|
105
|
+
})
|
|
111
106
|
})
|
|
112
107
|
};
|
|
113
108
|
}
|
|
114
109
|
static generatorMultipleSelectOption(option, filterTerm) {
|
|
115
110
|
return {
|
|
116
|
-
value:
|
|
117
|
-
|
|
118
|
-
},
|
|
119
|
-
label: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
111
|
+
value: option,
|
|
112
|
+
label: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
120
113
|
className: "select-option-name multiple-option-name",
|
|
121
|
-
children:
|
|
114
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
122
115
|
className: "multiple-select-option",
|
|
123
116
|
style: {
|
|
124
117
|
background: option.color,
|
|
@@ -127,12 +120,7 @@ class FilterItemUtils {
|
|
|
127
120
|
title: option.name,
|
|
128
121
|
"aria-label": option.name,
|
|
129
122
|
children: option.name
|
|
130
|
-
})
|
|
131
|
-
className: "multiple-check-icon",
|
|
132
|
-
children: filterTerm.indexOf(option.id) > -1 && /*#__PURE__*/(0, _jsxRuntime.jsx)("i", {
|
|
133
|
-
className: "option-edit dtable-font dtable-icon-check-mark"
|
|
134
|
-
})
|
|
135
|
-
})]
|
|
123
|
+
})
|
|
136
124
|
})
|
|
137
125
|
};
|
|
138
126
|
}
|
|
@@ -16,16 +16,15 @@ class CollaboratorFilter extends _react.Component {
|
|
|
16
16
|
super(props);
|
|
17
17
|
this.createCollaboratorOptions = (filterIndex, collaborators, filterTerm) => {
|
|
18
18
|
return collaborators.map(collaborator => {
|
|
19
|
-
let isSelected = filterTerm.findIndex(item => item === collaborator.email) > -1;
|
|
20
19
|
return {
|
|
21
20
|
value: {
|
|
22
21
|
filterIndex,
|
|
23
22
|
columnOption: collaborator
|
|
24
23
|
},
|
|
25
24
|
label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
|
|
26
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
25
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
27
26
|
className: "select-option-name option-collaborator",
|
|
28
|
-
children:
|
|
27
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
29
28
|
className: "collaborator-container",
|
|
30
29
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
31
30
|
className: "collaborator",
|
|
@@ -46,12 +45,7 @@ class CollaboratorFilter extends _react.Component {
|
|
|
46
45
|
children: collaborator.name
|
|
47
46
|
})]
|
|
48
47
|
})
|
|
49
|
-
})
|
|
50
|
-
className: "collaborator-check-icon",
|
|
51
|
-
children: isSelected && /*#__PURE__*/(0, _jsxRuntime.jsx)("i", {
|
|
52
|
-
className: "option-edit dtable-font dtable-icon-check-mark"
|
|
53
|
-
})
|
|
54
|
-
})]
|
|
48
|
+
})
|
|
55
49
|
})
|
|
56
50
|
})
|
|
57
51
|
};
|
|
@@ -106,7 +100,9 @@ class CollaboratorFilter extends _react.Component {
|
|
|
106
100
|
})]
|
|
107
101
|
}, item);
|
|
108
102
|
});
|
|
103
|
+
let selectCollaborators = Array.isArray(filterTerm) && filterTerm.length > 0 ? collaborators.filter(col => filterTerm.includes(col.email)) : [];
|
|
109
104
|
let value = selectedCollaborators ? {
|
|
105
|
+
value: selectCollaborators,
|
|
110
106
|
label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
111
107
|
children: selectedCollaborators
|
|
112
108
|
})
|
|
@@ -138,7 +138,7 @@ class FilterGroup extends _react.Component {
|
|
|
138
138
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
139
139
|
className: (0, _classnames.default)('filter-item', 'filter-group', "level-".concat(level)),
|
|
140
140
|
children: [!readOnly && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
141
|
-
className: "delete-filter
|
|
141
|
+
className: "delete-filter",
|
|
142
142
|
onClick: this.deleteFilterGroup,
|
|
143
143
|
role: "button",
|
|
144
144
|
tabIndex: 0,
|
|
@@ -128,8 +128,7 @@ class FilterItem extends _react.default.Component {
|
|
|
128
128
|
const _this$props5 = this.props,
|
|
129
129
|
index = _this$props5.index,
|
|
130
130
|
filter = _this$props5.filter;
|
|
131
|
-
|
|
132
|
-
let newFilter = (0, _utils.getUpdatedFilterBySelectMultiple)(filter, option);
|
|
131
|
+
let newFilter = (0, _utils.getUpdatedFilterBySelectMultiple)(filter, value);
|
|
133
132
|
this.resetState(newFilter);
|
|
134
133
|
this.props.updateFilter(index, newFilter);
|
|
135
134
|
};
|
|
@@ -137,8 +136,7 @@ class FilterItem extends _react.default.Component {
|
|
|
137
136
|
const _this$props6 = this.props,
|
|
138
137
|
index = _this$props6.index,
|
|
139
138
|
filter = _this$props6.filter;
|
|
140
|
-
|
|
141
|
-
let newFilter = (0, _utils.getUpdatedFilterByCollaborator)(filter, collaborator);
|
|
139
|
+
let newFilter = (0, _utils.getUpdatedFilterByCollaborator)(filter, value);
|
|
142
140
|
this.resetState(newFilter);
|
|
143
141
|
this.props.updateFilter(index, newFilter);
|
|
144
142
|
};
|
|
@@ -146,7 +144,10 @@ class FilterItem extends _react.default.Component {
|
|
|
146
144
|
const _this$props7 = this.props,
|
|
147
145
|
index = _this$props7.index,
|
|
148
146
|
filter = _this$props7.filter;
|
|
149
|
-
const collaborator = value.columnOption;
|
|
147
|
+
const collaborator = value && (value.columnOption || value.value || value);
|
|
148
|
+
if (!collaborator || !collaborator.email) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
150
151
|
let newFilter = (0, _utils.getUpdatedFilterByCreator)(filter, collaborator);
|
|
151
152
|
// the predicate is 'is' or 'is not'
|
|
152
153
|
if (!newFilter) {
|
|
@@ -294,11 +295,12 @@ class FilterItem extends _react.default.Component {
|
|
|
294
295
|
}
|
|
295
296
|
const className = 'select-option-name multiple-select-option';
|
|
296
297
|
let labelArray = [];
|
|
298
|
+
let valueArray = [];
|
|
297
299
|
if (Array.isArray(options) && Array.isArray(filterTerm)) {
|
|
298
300
|
filterTerm.forEach(item => {
|
|
299
301
|
let inOption = options.find(option => option.id === item);
|
|
300
302
|
let optionStyle = {
|
|
301
|
-
margin: '0
|
|
303
|
+
margin: '0 4px 0 0'
|
|
302
304
|
};
|
|
303
305
|
let optionName = null;
|
|
304
306
|
if (inOption) {
|
|
@@ -309,6 +311,7 @@ class FilterItem extends _react.default.Component {
|
|
|
309
311
|
optionStyle.background = _constants.DELETED_OPTION_BACKGROUND_COLOR;
|
|
310
312
|
optionName = (0, _lang.getLocale)(_constants.DELETED_OPTION_TIPS);
|
|
311
313
|
}
|
|
314
|
+
valueArray.push(inOption);
|
|
312
315
|
labelArray.push(/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
313
316
|
className: className,
|
|
314
317
|
style: optionStyle,
|
|
@@ -319,6 +322,7 @@ class FilterItem extends _react.default.Component {
|
|
|
319
322
|
});
|
|
320
323
|
}
|
|
321
324
|
const selectedOptionNames = labelArray.length > 0 ? {
|
|
325
|
+
value: valueArray,
|
|
322
326
|
label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
|
|
323
327
|
children: labelArray
|
|
324
328
|
})
|
|
@@ -425,6 +429,9 @@ class FilterItem extends _react.default.Component {
|
|
|
425
429
|
color: selectedOption.textColor || null
|
|
426
430
|
};
|
|
427
431
|
selectedOptionName = {
|
|
432
|
+
value: {
|
|
433
|
+
columnOption: selectedOption
|
|
434
|
+
},
|
|
428
435
|
label: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
429
436
|
className: className,
|
|
430
437
|
style: style,
|
|
@@ -507,7 +514,8 @@ class FilterItem extends _react.default.Component {
|
|
|
507
514
|
collaborators: creators,
|
|
508
515
|
onSelectCollaborator: this.onSelectCreator,
|
|
509
516
|
isInModal: this.props.isInModal,
|
|
510
|
-
readOnly: readOnly
|
|
517
|
+
readOnly: readOnly,
|
|
518
|
+
filter_predicate: filter_predicate
|
|
511
519
|
});
|
|
512
520
|
}
|
|
513
521
|
case _dtableUtils.CellType.RATE:
|
|
@@ -701,7 +709,7 @@ class FilterItem extends _react.default.Component {
|
|
|
701
709
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
702
710
|
className: "filter-item",
|
|
703
711
|
children: [!readOnly && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
704
|
-
className: "delete-filter
|
|
712
|
+
className: "delete-filter",
|
|
705
713
|
onClick: this.onDeleteFilter,
|
|
706
714
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("i", {
|
|
707
715
|
className: "dtable-font dtable-icon-fork-number"
|
|
@@ -289,6 +289,8 @@
|
|
|
289
289
|
}
|
|
290
290
|
|
|
291
291
|
.dtable-ui-filters-list .delete-filter {
|
|
292
|
+
width: 12px;
|
|
293
|
+
height: 20px;
|
|
292
294
|
margin-right: 14px;
|
|
293
295
|
text-align: center;
|
|
294
296
|
}
|
|
@@ -299,8 +301,8 @@
|
|
|
299
301
|
|
|
300
302
|
.dtable-ui-filters-list .delete-filter .dtable-icon-fork-number {
|
|
301
303
|
display: inline-block;
|
|
302
|
-
font-size:
|
|
303
|
-
color:
|
|
304
|
+
font-size: 12px;
|
|
305
|
+
color: #999;
|
|
304
306
|
}
|
|
305
307
|
|
|
306
308
|
.dtable-ui-filters-list .multiple-option-name {
|
|
@@ -331,7 +333,7 @@
|
|
|
331
333
|
display: inline-flex;
|
|
332
334
|
align-items: center;
|
|
333
335
|
height: 20px;
|
|
334
|
-
margin-right:
|
|
336
|
+
margin-right: 4px;
|
|
335
337
|
padding: 0 8px 0 2px;
|
|
336
338
|
font-size: 13px;
|
|
337
339
|
border-radius: 10px;
|
|
@@ -386,7 +388,7 @@
|
|
|
386
388
|
}
|
|
387
389
|
|
|
388
390
|
.dtable-ui-filters-list .filter-item .dtable-icon-fork-number:hover {
|
|
389
|
-
color:
|
|
391
|
+
color: #555555;
|
|
390
392
|
}
|
|
391
393
|
|
|
392
394
|
.dtable-ui-filters-list .filter-container-readonly .dtable-select .selected-option-show,
|
|
@@ -410,14 +412,14 @@
|
|
|
410
412
|
|
|
411
413
|
.filter-header-icon {
|
|
412
414
|
display: inline-block;
|
|
413
|
-
padding: 0
|
|
415
|
+
padding-right: 0.5rem;
|
|
414
416
|
margin-left: -0.3125rem;
|
|
415
417
|
}
|
|
416
418
|
|
|
417
419
|
.filter-header-icon .dtable-font,
|
|
418
420
|
.filter-header-icon .multicolor-icon {
|
|
419
421
|
font-size: 14px;
|
|
420
|
-
color:
|
|
422
|
+
color: var(--bs-icon-secondary-color);
|
|
421
423
|
cursor: default;
|
|
422
424
|
}
|
|
423
425
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
.modal-header .dtable-modal-close.close {
|
|
2
|
+
padding: 14px 16px;
|
|
3
|
+
opacity: 1;
|
|
4
|
+
margin: -1rem -1rem -1rem auto;
|
|
5
|
+
background-color: transparent;
|
|
6
|
+
border: 0;
|
|
7
|
+
float: right;
|
|
8
|
+
font-size: 1.40625rem;
|
|
9
|
+
font-weight: 700;
|
|
10
|
+
line-height: 1;
|
|
11
|
+
color: #000;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.modal-header .dtable-modal-close.close:not(:disabled):not(.disabled):hover {
|
|
15
|
+
opacity: 1;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.modal-header .dtable-modal-close .dtable-modal-close-inner {
|
|
19
|
+
width: 28px;
|
|
20
|
+
height: 28px;
|
|
21
|
+
font-size: 22.5px; /* same with Seafile close icon */
|
|
22
|
+
}
|
|
@@ -10,15 +10,22 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
var _reactstrap = require("reactstrap");
|
|
12
12
|
var _IconButton = _interopRequireDefault(require("../IconButton"));
|
|
13
|
+
require("./index.css");
|
|
13
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
15
|
const _excluded = ["children"];
|
|
15
16
|
const DTableModalHeader = _ref => {
|
|
16
17
|
let children = _ref.children,
|
|
17
18
|
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
18
|
-
const customCloseBtn = /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
19
|
-
|
|
19
|
+
const customCloseBtn = /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
20
|
+
type: "button",
|
|
21
|
+
className: "close dtable-modal-close",
|
|
22
|
+
"data-dismiss": "modal",
|
|
20
23
|
"aria-label": "Close",
|
|
21
|
-
onClick: props.toggle
|
|
24
|
+
onClick: props.toggle,
|
|
25
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
26
|
+
icon: "x",
|
|
27
|
+
className: "dtable-modal-close-inner"
|
|
28
|
+
})
|
|
22
29
|
});
|
|
23
30
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactstrap.ModalHeader, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
|
|
24
31
|
close: customCloseBtn,
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
.dtable-select-check-icon {
|
|
2
|
-
width:
|
|
3
|
-
height:
|
|
2
|
+
width: 14px;
|
|
3
|
+
height: 14px;
|
|
4
4
|
text-align: center;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
.dtable-select-check-icon .dtable-font {
|
|
8
|
+
font-size: 14px;
|
|
9
|
+
color: var(--bs-icon-color);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.seatable-option .select-option-name .seatable-tip-default {
|
|
8
13
|
font-size: 12px;
|
|
9
|
-
|
|
14
|
+
margin-top: 4px
|
|
10
15
|
}
|
|
@@ -22,7 +22,7 @@ function DTableSelectLabel(_ref) {
|
|
|
22
22
|
}), isSelect && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
23
23
|
className: "dtable-select-check-icon",
|
|
24
24
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("i", {
|
|
25
|
-
className: "dtable-font dtable-icon-check
|
|
25
|
+
className: "dtable-font dtable-icon-check"
|
|
26
26
|
})
|
|
27
27
|
})]
|
|
28
28
|
});
|
|
@@ -39,10 +39,11 @@ class DTableSelect extends _react.default.Component {
|
|
|
39
39
|
MenuList: _utils.MenuList,
|
|
40
40
|
ClearIndicator: _utils.ClearIndicator
|
|
41
41
|
}, userComponents);
|
|
42
|
+
const processedOptions = (0, _utils.processOptionsWithClear)(options, isClearable);
|
|
42
43
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSelect.default, {
|
|
43
44
|
value: value,
|
|
44
|
-
onChange: onChange,
|
|
45
|
-
options:
|
|
45
|
+
onChange: (0, _utils.createHandleChange)(onChange),
|
|
46
|
+
options: processedOptions,
|
|
46
47
|
isMulti: isMulti,
|
|
47
48
|
className: className,
|
|
48
49
|
classNamePrefix: classNamePrefix,
|
|
@@ -50,7 +51,6 @@ class DTableSelect extends _react.default.Component {
|
|
|
50
51
|
components: mergedComponents,
|
|
51
52
|
placeholder: placeholder,
|
|
52
53
|
isSearchable: isSearchable,
|
|
53
|
-
isClearable: isClearable,
|
|
54
54
|
menuPosition: menuPosition || 'fixed' // when use default menuPosition(absolute), menuPortalTarget is unnecessary.
|
|
55
55
|
,
|
|
56
56
|
menuShouldScrollIntoView: true,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.select-dropdown-indicator {
|
|
2
|
+
position: absolute;
|
|
3
|
+
top: 50%;
|
|
4
|
+
right: 18px;
|
|
5
|
+
transform: translateY(-50%);
|
|
6
|
+
margin-left: -2px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.select-dropdown-indicator svg {
|
|
10
|
+
width: 12px;
|
|
11
|
+
height: 12px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.dis-multicolor-icon-down {
|
|
15
|
+
opacity: 0.65 !important;
|
|
16
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
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 _DTableIcon = _interopRequireDefault(require("../../DTableIcon"));
|
|
10
|
+
require("./index.css");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
const SelectDropdownIndicator = _ref => {
|
|
13
|
+
let isDisabled = _ref.isDisabled;
|
|
14
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
15
|
+
className: "select-dropdown-indicator d-flex align-items-center",
|
|
16
|
+
"aria-hidden": "true",
|
|
17
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DTableIcon.default, {
|
|
18
|
+
symbol: "down",
|
|
19
|
+
color: "var(--bs-icon-color)",
|
|
20
|
+
className: isDisabled ? 'dis-multicolor-icon-down' : ''
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
var _default = exports.default = SelectDropdownIndicator;
|
|
@@ -1,51 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/* hide checkbox in select value container */
|
|
2
|
+
.seatable-select-value-container .seatable-multicolor-icon-check {
|
|
3
|
+
display: none;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
-
.
|
|
7
|
-
|
|
8
|
-
width: 24px;
|
|
9
|
-
border-radius: 50%;
|
|
6
|
+
.seatable-select-value-container .select-option-label {
|
|
7
|
+
font-size: 14px !important;
|
|
10
8
|
}
|
|
11
9
|
|
|
12
|
-
.
|
|
13
|
-
color:
|
|
14
|
-
font-size: 14px;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.user-select .true__value-container .select-module-container {
|
|
18
|
-
display: block;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.user-select .true__value-container .select-module.select-module-avatar {
|
|
22
|
-
height: 16px;
|
|
23
|
-
width: 16px;
|
|
24
|
-
border-radius: 50%;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.user-select .true__value-container .true__multi-value__label {
|
|
28
|
-
padding: 0px;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.user-select .true__value-container .true__multi-value__label .select-module.select-module-avatar {
|
|
32
|
-
transform: translateY(-2px);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.user-select .true__value-container .select-module.select-module-name {
|
|
36
|
-
font-size: 13px;
|
|
37
|
-
overflow: hidden;
|
|
38
|
-
text-overflow: ellipsis;
|
|
39
|
-
white-space: nowrap;
|
|
40
|
-
flex: 1 1;
|
|
41
|
-
line-height: 20px;
|
|
42
|
-
margin-left: 5px;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.user-select .true__control.true__control--is-focused,
|
|
46
|
-
.user-select .true__control.true__control--is-focused:hover {
|
|
47
|
-
background-color: #ffffff;
|
|
48
|
-
border-color: #1991eb;
|
|
49
|
-
outline: 0;
|
|
50
|
-
box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25);
|
|
10
|
+
.seatable-check-color {
|
|
11
|
+
color: var(--bs-icon-secondary-color);
|
|
51
12
|
}
|