@expcat/tigercat-vue 1.2.39 → 1.2.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-MD7S2A55.js → chunk-5TJI4HOT.js} +2 -2
- package/dist/{chunk-FKCZSBM6.js → chunk-7IVLFDZI.js} +17 -3
- package/dist/{chunk-5Z2OCSVJ.mjs → chunk-CHDKJDZQ.mjs} +38 -2
- package/dist/{chunk-O23S65U3.js → chunk-EWQJGR7E.js} +130 -15
- package/dist/{chunk-G7O3G2LI.mjs → chunk-FI2EIJIF.mjs} +1 -1
- package/dist/{chunk-YCYS6LAQ.js → chunk-GD2WAN62.js} +2 -2
- package/dist/{chunk-OKBZKBFP.mjs → chunk-GFQDHFAX.mjs} +121 -6
- package/dist/{chunk-JT2ANXUR.js → chunk-KGDRA475.js} +2 -2
- package/dist/{chunk-3KIIMXJC.mjs → chunk-KJ6VISRW.mjs} +1 -1
- package/dist/{chunk-SSMSRTEQ.js → chunk-LUAI6VXV.js} +2 -2
- package/dist/{chunk-JPZJZFC4.mjs → chunk-M4EP4OVR.mjs} +2 -1
- package/dist/{chunk-5BILS3SG.js → chunk-OFTAQ2A4.js} +37 -1
- package/dist/{chunk-5BGVVVVD.mjs → chunk-PT4Q7C2A.mjs} +1 -1
- package/dist/{chunk-NNFDOVVA.js → chunk-QOMWROWE.js} +2 -1
- package/dist/{chunk-FATIMV7O.mjs → chunk-ROMVD7LS.mjs} +1 -1
- package/dist/{chunk-NYH6GSP7.mjs → chunk-VKW2O36D.mjs} +17 -3
- package/dist/components/ActivityFeed.d.mts +6 -6
- package/dist/components/ActivityFeed.d.ts +6 -6
- package/dist/components/Alert.d.mts +3 -3
- package/dist/components/Alert.d.ts +3 -3
- package/dist/components/Anchor.d.mts +1 -1
- package/dist/components/Anchor.d.ts +1 -1
- package/dist/components/AreaChart.d.mts +2 -2
- package/dist/components/AreaChart.d.ts +2 -2
- package/dist/components/AutoComplete.d.mts +2 -2
- package/dist/components/AutoComplete.d.ts +2 -2
- package/dist/components/Avatar.d.mts +1 -1
- package/dist/components/Avatar.d.ts +1 -1
- package/dist/components/Badge.d.mts +3 -3
- package/dist/components/Badge.d.ts +3 -3
- package/dist/components/BarChart.d.mts +1 -1
- package/dist/components/BarChart.d.ts +1 -1
- package/dist/components/Breadcrumb.d.mts +2 -2
- package/dist/components/Breadcrumb.d.ts +2 -2
- package/dist/components/Button.d.mts +3 -3
- package/dist/components/Button.d.ts +3 -3
- package/dist/components/ButtonGroup.d.mts +1 -1
- package/dist/components/ButtonGroup.d.ts +1 -1
- package/dist/components/Calendar.d.mts +1 -1
- package/dist/components/Calendar.d.ts +1 -1
- package/dist/components/Card.d.mts +2 -2
- package/dist/components/Card.d.ts +2 -2
- package/dist/components/ChartGrid.d.mts +1 -1
- package/dist/components/ChartGrid.d.ts +1 -1
- package/dist/components/ChatWindow.d.mts +3 -3
- package/dist/components/ChatWindow.d.ts +3 -3
- package/dist/components/CodeEditor.d.mts +2 -2
- package/dist/components/CodeEditor.d.ts +2 -2
- package/dist/components/Collapse.d.mts +1 -1
- package/dist/components/Collapse.d.ts +1 -1
- package/dist/components/CollapsePanel.d.mts +1 -1
- package/dist/components/CollapsePanel.d.ts +1 -1
- package/dist/components/ColorSwatch.d.mts +1 -1
- package/dist/components/ColorSwatch.d.ts +1 -1
- package/dist/components/CommentThread.d.mts +2 -2
- package/dist/components/CommentThread.d.ts +2 -2
- package/dist/components/ConfigProvider.d.mts +1 -1
- package/dist/components/ConfigProvider.d.ts +1 -1
- package/dist/components/DataTableWithToolbar.d.mts +34 -10
- package/dist/components/DataTableWithToolbar.d.ts +34 -10
- package/dist/components/DataTableWithToolbar.js +6 -3
- package/dist/components/DataTableWithToolbar.mjs +5 -2
- package/dist/components/DatePicker.d.mts +2 -2
- package/dist/components/DatePicker.d.ts +2 -2
- package/dist/components/Descriptions.d.mts +2 -2
- package/dist/components/Descriptions.d.ts +2 -2
- package/dist/components/DonutChart.d.mts +2 -2
- package/dist/components/DonutChart.d.ts +2 -2
- package/dist/components/Drawer.d.mts +5 -5
- package/dist/components/Drawer.d.ts +5 -5
- package/dist/components/Dropdown.d.mts +19 -0
- package/dist/components/Dropdown.d.ts +19 -0
- package/dist/components/Dropdown.js +2 -2
- package/dist/components/Dropdown.mjs +1 -1
- package/dist/components/DropdownItem.js +3 -3
- package/dist/components/DropdownItem.mjs +2 -2
- package/dist/components/DropdownMenu.js +3 -3
- package/dist/components/DropdownMenu.mjs +1 -1
- package/dist/components/FileManager.d.mts +1 -1
- package/dist/components/FileManager.d.ts +1 -1
- package/dist/components/FloatButton.d.mts +3 -3
- package/dist/components/FloatButton.d.ts +3 -3
- package/dist/components/Form.d.mts +1 -1
- package/dist/components/Form.d.ts +1 -1
- package/dist/components/FormWizard.d.mts +5 -5
- package/dist/components/FormWizard.d.ts +5 -5
- package/dist/components/FunnelChart.d.mts +1 -1
- package/dist/components/FunnelChart.d.ts +1 -1
- package/dist/components/Gantt.d.mts +1 -1
- package/dist/components/Gantt.d.ts +1 -1
- package/dist/components/GaugeChart.d.mts +1 -1
- package/dist/components/GaugeChart.d.ts +1 -1
- package/dist/components/HeatmapChart.d.mts +2 -2
- package/dist/components/HeatmapChart.d.ts +2 -2
- package/dist/components/Image.d.mts +2 -2
- package/dist/components/Image.d.ts +2 -2
- package/dist/components/ImageAnnotation.d.mts +4 -4
- package/dist/components/ImageAnnotation.d.ts +4 -4
- package/dist/components/InfiniteScroll.d.mts +2 -2
- package/dist/components/InfiniteScroll.d.ts +2 -2
- package/dist/components/Input.d.mts +4 -4
- package/dist/components/Input.d.ts +4 -4
- package/dist/components/InputGroup.d.mts +1 -1
- package/dist/components/InputGroup.d.ts +1 -1
- package/dist/components/InputNumber.d.mts +1 -1
- package/dist/components/InputNumber.d.ts +1 -1
- package/dist/components/Kanban.d.mts +1 -1
- package/dist/components/Kanban.d.ts +1 -1
- package/dist/components/LineChart.d.mts +2 -2
- package/dist/components/LineChart.d.ts +2 -2
- package/dist/components/Link.d.mts +1 -1
- package/dist/components/Link.d.ts +1 -1
- package/dist/components/List.d.mts +6 -6
- package/dist/components/List.d.ts +6 -6
- package/dist/components/Loading.d.mts +5 -5
- package/dist/components/Loading.d.ts +5 -5
- package/dist/components/MarkdownEditor.d.mts +2 -2
- package/dist/components/MarkdownEditor.d.ts +2 -2
- package/dist/components/Mentions.d.mts +2 -2
- package/dist/components/Mentions.d.ts +2 -2
- package/dist/components/Menu.d.mts +5 -5
- package/dist/components/Menu.d.ts +5 -5
- package/dist/components/Modal.d.mts +8 -8
- package/dist/components/Modal.d.ts +8 -8
- package/dist/components/NotificationCenter.d.mts +5 -5
- package/dist/components/NotificationCenter.d.ts +5 -5
- package/dist/components/NumberKeyboard.d.mts +2 -2
- package/dist/components/NumberKeyboard.d.ts +2 -2
- package/dist/components/OrgChart.d.mts +1 -1
- package/dist/components/OrgChart.d.ts +1 -1
- package/dist/components/Pagination.d.mts +4 -4
- package/dist/components/Pagination.d.ts +4 -4
- package/dist/components/PieChart.d.mts +2 -2
- package/dist/components/PieChart.d.ts +2 -2
- package/dist/components/Popconfirm.d.mts +2 -2
- package/dist/components/Popconfirm.d.ts +2 -2
- package/dist/components/Popconfirm.js +3 -3
- package/dist/components/Popconfirm.mjs +2 -2
- package/dist/components/Popover.d.mts +1 -1
- package/dist/components/Popover.d.ts +1 -1
- package/dist/components/Popover.js +3 -3
- package/dist/components/Popover.mjs +2 -2
- package/dist/components/Progress.d.mts +3 -3
- package/dist/components/Progress.d.ts +3 -3
- package/dist/components/QRCode.d.mts +1 -1
- package/dist/components/QRCode.d.ts +1 -1
- package/dist/components/RadarChart.d.mts +2 -2
- package/dist/components/RadarChart.d.ts +2 -2
- package/dist/components/RichTextEditor.d.mts +1 -1
- package/dist/components/RichTextEditor.d.ts +1 -1
- package/dist/components/Row.d.mts +1 -1
- package/dist/components/Row.d.ts +1 -1
- package/dist/components/ScatterChart.d.mts +1 -1
- package/dist/components/ScatterChart.d.ts +1 -1
- package/dist/components/ScrollSpy.d.mts +2 -2
- package/dist/components/ScrollSpy.d.ts +2 -2
- package/dist/components/Select.d.mts +1 -1
- package/dist/components/Select.d.ts +1 -1
- package/dist/components/Signature.d.mts +2 -2
- package/dist/components/Signature.d.ts +2 -2
- package/dist/components/Skeleton.d.mts +1 -1
- package/dist/components/Skeleton.d.ts +1 -1
- package/dist/components/Space.d.mts +2 -2
- package/dist/components/Space.d.ts +2 -2
- package/dist/components/Splitter.d.mts +1 -1
- package/dist/components/Splitter.d.ts +1 -1
- package/dist/components/Spotlight.d.mts +4 -4
- package/dist/components/Spotlight.d.ts +4 -4
- package/dist/components/Steps.d.mts +2 -2
- package/dist/components/Steps.d.ts +2 -2
- package/dist/components/SunburstChart.d.mts +1 -1
- package/dist/components/SunburstChart.d.ts +1 -1
- package/dist/components/Table.d.mts +25 -5
- package/dist/components/Table.d.ts +25 -5
- package/dist/components/Table.js +2 -2
- package/dist/components/Table.mjs +1 -1
- package/dist/components/Tabs.d.mts +2 -2
- package/dist/components/Tabs.d.ts +2 -2
- package/dist/components/Tag.d.mts +1 -1
- package/dist/components/Tag.d.ts +1 -1
- package/dist/components/TaskBoard.d.mts +2 -2
- package/dist/components/TaskBoard.d.ts +2 -2
- package/dist/components/Text.d.mts +3 -3
- package/dist/components/Text.d.ts +3 -3
- package/dist/components/Textarea.d.mts +1 -1
- package/dist/components/Textarea.d.ts +1 -1
- package/dist/components/TimePicker.d.mts +3 -3
- package/dist/components/TimePicker.d.ts +3 -3
- package/dist/components/Timeline.d.mts +3 -3
- package/dist/components/Timeline.d.ts +3 -3
- package/dist/components/Tooltip.d.mts +1 -1
- package/dist/components/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip.js +3 -3
- package/dist/components/Tooltip.mjs +2 -2
- package/dist/components/Tour.d.mts +2 -2
- package/dist/components/Tour.d.ts +2 -2
- package/dist/components/Tree.d.mts +2 -2
- package/dist/components/Tree.d.ts +2 -2
- package/dist/components/TreeMapChart.d.mts +1 -1
- package/dist/components/TreeMapChart.d.ts +1 -1
- package/dist/components/Upload.d.mts +4 -4
- package/dist/components/Upload.d.ts +4 -4
- package/dist/components/VirtualTable.d.mts +2 -2
- package/dist/components/VirtualTable.d.ts +2 -2
- package/dist/components/Watermark.d.mts +1 -1
- package/dist/components/Watermark.d.ts +1 -1
- package/dist/index.js +11 -11
- package/dist/index.mjs +10 -10
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk7IVLFDZIjs = require('./chunk-7IVLFDZI.js');
|
|
4
4
|
|
|
5
5
|
// src/components/DropdownItem.ts
|
|
6
6
|
var _vue = require('vue');
|
|
@@ -47,7 +47,7 @@ var DropdownItem = _vue.defineComponent.call(void 0, {
|
|
|
47
47
|
const attrsRecord = attrs;
|
|
48
48
|
const attrsClass = attrsRecord.class;
|
|
49
49
|
const attrsStyle = attrsRecord.style;
|
|
50
|
-
const context = _vue.inject.call(void 0,
|
|
50
|
+
const context = _vue.inject.call(void 0, _chunk7IVLFDZIjs.DropdownContextKey, null);
|
|
51
51
|
const handleClick = (event) => {
|
|
52
52
|
if (props.disabled) {
|
|
53
53
|
event.preventDefault();
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
|
|
5
6
|
var _chunkEQW6IUHGjs = require('./chunk-EQW6IUHG.js');
|
|
6
7
|
|
|
7
8
|
// src/components/Dropdown.ts
|
|
@@ -33,6 +34,7 @@ var _vue = require('vue');
|
|
|
33
34
|
|
|
34
35
|
|
|
35
36
|
|
|
37
|
+
|
|
36
38
|
var _tigercatcore = require('@expcat/tigercat-core');
|
|
37
39
|
var DropdownMenu = _vue.defineComponent.call(void 0, {
|
|
38
40
|
name: "TigerDropdownMenu",
|
|
@@ -147,6 +149,15 @@ var Dropdown = _vue.defineComponent.call(void 0, {
|
|
|
147
149
|
type: Boolean,
|
|
148
150
|
default: true
|
|
149
151
|
},
|
|
152
|
+
/**
|
|
153
|
+
* Render the menu into document.body (Teleport) so it is not clipped or
|
|
154
|
+
* covered by overflow/sticky ancestors (e.g. fixed table columns).
|
|
155
|
+
* @default true
|
|
156
|
+
*/
|
|
157
|
+
portal: {
|
|
158
|
+
type: Boolean,
|
|
159
|
+
default: true
|
|
160
|
+
},
|
|
150
161
|
/**
|
|
151
162
|
* Additional CSS classes
|
|
152
163
|
*/
|
|
@@ -239,7 +250,7 @@ var Dropdown = _vue.defineComponent.call(void 0, {
|
|
|
239
250
|
if (enabled) {
|
|
240
251
|
cleanupClickOutside = _chunkEQW6IUHGjs.useVueClickOutside.call(void 0, {
|
|
241
252
|
enabled: currentVisible,
|
|
242
|
-
containerRef,
|
|
253
|
+
refs: [containerRef, floatingRef],
|
|
243
254
|
onOutsideClick: () => setVisible(false),
|
|
244
255
|
defer: true
|
|
245
256
|
});
|
|
@@ -277,11 +288,12 @@ var Dropdown = _vue.defineComponent.call(void 0, {
|
|
|
277
288
|
);
|
|
278
289
|
const mergedStyle = _vue.computed.call(void 0, () => _tigercatcore.mergeStyleValues.call(void 0, attrsStyle, props.style));
|
|
279
290
|
const triggerClasses = _vue.computed.call(void 0, () => _tigercatcore.getDropdownTriggerClasses.call(void 0, props.disabled));
|
|
280
|
-
const menuWrapperClasses = _tigercatcore.classNames.call(void 0, "absolute
|
|
291
|
+
const menuWrapperClasses = _tigercatcore.classNames.call(void 0, "absolute", _tigercatcore.DROPDOWN_ENTER_CLASS);
|
|
281
292
|
const menuWrapperStyles = _vue.computed.call(void 0, () => ({
|
|
282
293
|
position: "absolute",
|
|
283
294
|
left: `${x.value}px`,
|
|
284
295
|
top: `${y.value}px`,
|
|
296
|
+
zIndex: _tigercatcore.FLOATING_OVERLAY_Z_INDEX,
|
|
285
297
|
transformOrigin: _tigercatcore.getTransformOrigin.call(void 0, currentPlacement.value)
|
|
286
298
|
}));
|
|
287
299
|
_vue.provide.call(void 0, DropdownContextKey, {
|
|
@@ -329,12 +341,13 @@ var Dropdown = _vue.defineComponent.call(void 0, {
|
|
|
329
341
|
},
|
|
330
342
|
[triggerNode, chevronNode]
|
|
331
343
|
) : null;
|
|
332
|
-
const
|
|
344
|
+
const menuWrapper = menuNode ? _vue.h.call(void 0,
|
|
333
345
|
"div",
|
|
334
346
|
{
|
|
335
347
|
ref: floatingRef,
|
|
336
348
|
class: menuWrapperClasses,
|
|
337
349
|
style: menuWrapperStyles.value,
|
|
350
|
+
"data-tiger-dropdown-menu": "",
|
|
338
351
|
onMouseenter: handleMouseEnter,
|
|
339
352
|
onMouseleave: handleMouseLeave,
|
|
340
353
|
onKeydown: handleMenuKeyDown,
|
|
@@ -342,6 +355,7 @@ var Dropdown = _vue.defineComponent.call(void 0, {
|
|
|
342
355
|
},
|
|
343
356
|
[_vue.cloneVNode.call(void 0, menuNode, { id: menuId })]
|
|
344
357
|
) : null;
|
|
358
|
+
const menu = menuWrapper ? _chunkEQW6IUHGjs.renderVueBodyTeleport.call(void 0, menuWrapper, !props.portal) : null;
|
|
345
359
|
const {
|
|
346
360
|
class: _class,
|
|
347
361
|
style: _style,
|
|
@@ -63,6 +63,14 @@ var tableProps = {
|
|
|
63
63
|
type: Array,
|
|
64
64
|
default: () => []
|
|
65
65
|
},
|
|
66
|
+
hiddenColumnKeys: {
|
|
67
|
+
type: Array,
|
|
68
|
+
default: void 0
|
|
69
|
+
},
|
|
70
|
+
defaultHiddenColumnKeys: {
|
|
71
|
+
type: Array,
|
|
72
|
+
default: void 0
|
|
73
|
+
},
|
|
66
74
|
sort: {
|
|
67
75
|
type: Object
|
|
68
76
|
},
|
|
@@ -184,6 +192,8 @@ var tableEmits = [
|
|
|
184
192
|
"selection-change",
|
|
185
193
|
"sort-change",
|
|
186
194
|
"filter-change",
|
|
195
|
+
"update:hiddenColumnKeys",
|
|
196
|
+
"hidden-columns-change",
|
|
187
197
|
"page-change",
|
|
188
198
|
"expand-change",
|
|
189
199
|
"cell-change",
|
|
@@ -203,7 +213,8 @@ import {
|
|
|
203
213
|
filterDataAdvanced,
|
|
204
214
|
groupDataByColumn,
|
|
205
215
|
getFixedColumnOffsets,
|
|
206
|
-
getFixedVirtualRange
|
|
216
|
+
getFixedVirtualRange,
|
|
217
|
+
filterHiddenColumns
|
|
207
218
|
} from "@expcat/tigercat-core";
|
|
208
219
|
import { exportTableData, downloadTableExport } from "@expcat/tigercat-core";
|
|
209
220
|
function useTableState(props, emit, measuredColumnWidths) {
|
|
@@ -211,10 +222,14 @@ function useTableState(props, emit, measuredColumnWidths) {
|
|
|
211
222
|
return props.pagination !== false && typeof props.pagination === "object" ? props.pagination : null;
|
|
212
223
|
});
|
|
213
224
|
const isSortControlled = computed(() => props.sort !== void 0);
|
|
225
|
+
const isHiddenColumnsControlled = computed(() => props.hiddenColumnKeys !== void 0);
|
|
214
226
|
const isFiltersControlled = computed(() => props.filters !== void 0);
|
|
215
227
|
const isSelectionControlled = computed(() => props.rowSelection?.selectedRowKeys !== void 0);
|
|
216
228
|
const isExpandControlled = computed(() => props.expandable?.expandedRowKeys !== void 0);
|
|
217
229
|
const uncontrolledSortState = ref(props.defaultSort ?? { key: null, direction: null });
|
|
230
|
+
const uncontrolledHiddenColumnKeys = ref(
|
|
231
|
+
props.defaultHiddenColumnKeys ?? props.hiddenColumnKeys ?? []
|
|
232
|
+
);
|
|
218
233
|
const uncontrolledFilterState = ref(props.defaultFilters ?? {});
|
|
219
234
|
const uncontrolledCurrentPage = ref(
|
|
220
235
|
paginationConfig.value?.defaultCurrent ?? paginationConfig.value?.current ?? 1
|
|
@@ -229,6 +244,9 @@ function useTableState(props, emit, measuredColumnWidths) {
|
|
|
229
244
|
props.expandable?.defaultExpandedRowKeys ?? props.expandable?.expandedRowKeys ?? []
|
|
230
245
|
);
|
|
231
246
|
const sortState = computed(() => props.sort ?? uncontrolledSortState.value);
|
|
247
|
+
const hiddenColumnKeys = computed(
|
|
248
|
+
() => props.hiddenColumnKeys ?? uncontrolledHiddenColumnKeys.value
|
|
249
|
+
);
|
|
232
250
|
const filterState = computed(() => props.filters ?? uncontrolledFilterState.value);
|
|
233
251
|
const currentPage = computed(() => {
|
|
234
252
|
return paginationConfig.value?.current ?? uncontrolledCurrentPage.value;
|
|
@@ -258,6 +276,14 @@ function useTableState(props, emit, measuredColumnWidths) {
|
|
|
258
276
|
}
|
|
259
277
|
}
|
|
260
278
|
);
|
|
279
|
+
watch(
|
|
280
|
+
() => props.hiddenColumnKeys,
|
|
281
|
+
(next) => {
|
|
282
|
+
if (next !== void 0) {
|
|
283
|
+
uncontrolledHiddenColumnKeys.value = next;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
);
|
|
261
287
|
watch(
|
|
262
288
|
() => paginationConfig.value?.current,
|
|
263
289
|
(next) => {
|
|
@@ -292,13 +318,14 @@ function useTableState(props, emit, measuredColumnWidths) {
|
|
|
292
318
|
);
|
|
293
319
|
const fixedOverrides = ref({});
|
|
294
320
|
const displayColumns = computed(() => {
|
|
295
|
-
|
|
321
|
+
const mapped = props.columns.map((column) => {
|
|
296
322
|
const hasOverride = column.key in fixedOverrides.value;
|
|
297
323
|
return {
|
|
298
324
|
...column,
|
|
299
325
|
fixed: hasOverride ? fixedOverrides.value[column.key] : column.fixed
|
|
300
326
|
};
|
|
301
327
|
});
|
|
328
|
+
return filterHiddenColumns(mapped, hiddenColumnKeys.value);
|
|
302
329
|
});
|
|
303
330
|
const fixedColumnsInfo = computed(() => {
|
|
304
331
|
return getFixedColumnOffsets(displayColumns.value, measuredColumnWidths.value);
|
|
@@ -310,6 +337,13 @@ function useTableState(props, emit, measuredColumnWidths) {
|
|
|
310
337
|
}
|
|
311
338
|
return map;
|
|
312
339
|
});
|
|
340
|
+
function handleSetHiddenColumns(hiddenKeys) {
|
|
341
|
+
if (!isHiddenColumnsControlled.value) {
|
|
342
|
+
uncontrolledHiddenColumnKeys.value = hiddenKeys;
|
|
343
|
+
}
|
|
344
|
+
emit("update:hiddenColumnKeys", hiddenKeys);
|
|
345
|
+
emit("hidden-columns-change", hiddenKeys);
|
|
346
|
+
}
|
|
313
347
|
function toggleColumnLock(columnKey) {
|
|
314
348
|
const original = props.columns.find((c) => c.key === columnKey)?.fixed;
|
|
315
349
|
const hasOverride = columnKey in fixedOverrides.value;
|
|
@@ -579,12 +613,14 @@ function useTableState(props, emit, measuredColumnWidths) {
|
|
|
579
613
|
filterState,
|
|
580
614
|
currentPage,
|
|
581
615
|
currentPageSize,
|
|
616
|
+
hiddenColumnKeys,
|
|
582
617
|
selectedRowKeys,
|
|
583
618
|
expandedRowKeys,
|
|
584
619
|
editingCell,
|
|
585
620
|
editingValue,
|
|
586
621
|
virtualScrollTop,
|
|
587
622
|
toggleColumnLock,
|
|
623
|
+
handleSetHiddenColumns,
|
|
588
624
|
handleSetSort,
|
|
589
625
|
handleSort,
|
|
590
626
|
handleFilter,
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkOFTAQ2A4js = require('./chunk-OFTAQ2A4.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunkBGMAWKWVjs = require('./chunk-BGMAWKWV.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
var _chunkLUAI6VXVjs = require('./chunk-LUAI6VXV.js');
|
|
10
|
+
|
|
11
|
+
|
|
9
12
|
var _chunk25EYT2CBjs = require('./chunk-25EYT2CB.js');
|
|
10
13
|
|
|
11
14
|
|
|
12
15
|
var _chunkBYNMOQBBjs = require('./chunk-BYNMOQBB.js');
|
|
13
16
|
|
|
14
17
|
|
|
18
|
+
var _chunk2YFXJUBTjs = require('./chunk-2YFXJUBT.js');
|
|
19
|
+
|
|
20
|
+
|
|
15
21
|
var _chunk4VLNT2EDjs = require('./chunk-4VLNT2ED.js');
|
|
16
22
|
|
|
17
23
|
// src/components/DataTableWithToolbar.ts
|
|
@@ -49,6 +55,14 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
49
55
|
type: Array,
|
|
50
56
|
default: () => []
|
|
51
57
|
},
|
|
58
|
+
hiddenColumnKeys: {
|
|
59
|
+
type: Array,
|
|
60
|
+
default: void 0
|
|
61
|
+
},
|
|
62
|
+
defaultHiddenColumnKeys: {
|
|
63
|
+
type: Array,
|
|
64
|
+
default: void 0
|
|
65
|
+
},
|
|
52
66
|
sort: {
|
|
53
67
|
type: Object,
|
|
54
68
|
default: void 0
|
|
@@ -153,11 +167,16 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
153
167
|
"bulk-action": (_action, _keys) => true,
|
|
154
168
|
"selection-change": (_keys) => true,
|
|
155
169
|
"page-change": (_current, _pageSize) => true,
|
|
156
|
-
"page-size-change": (_current, _pageSize) => true
|
|
170
|
+
"page-size-change": (_current, _pageSize) => true,
|
|
171
|
+
"update:hiddenColumnKeys": (_hiddenKeys) => true,
|
|
172
|
+
"hidden-columns-change": (_hiddenKeys) => true
|
|
157
173
|
},
|
|
158
174
|
setup(props, { attrs, emit }) {
|
|
159
175
|
const config = _chunk25EYT2CBjs.useTigerConfig.call(void 0, );
|
|
160
176
|
const internalSearch = _vue.ref.call(void 0, _nullishCoalesce(_optionalChain([props, 'access', _ => _.toolbar, 'optionalAccess', _2 => _2.defaultSearchValue]), () => ( "")));
|
|
177
|
+
const internalHiddenKeys = _vue.ref.call(void 0,
|
|
178
|
+
_nullishCoalesce(_nullishCoalesce(props.defaultHiddenColumnKeys, () => ( props.hiddenColumnKeys)), () => ( []))
|
|
179
|
+
);
|
|
161
180
|
const internalFilters = _vue.ref.call(void 0, {});
|
|
162
181
|
const previousPageSize = _vue.ref.call(void 0,
|
|
163
182
|
props.pagination && typeof props.pagination === "object" ? _nullishCoalesce(_nullishCoalesce(props.pagination.pageSize, () => ( props.pagination.defaultPageSize)), () => ( 10)) : void 0
|
|
@@ -209,6 +228,14 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
209
228
|
}
|
|
210
229
|
}
|
|
211
230
|
);
|
|
231
|
+
_vue.watch.call(void 0,
|
|
232
|
+
() => props.hiddenColumnKeys,
|
|
233
|
+
(nextValue) => {
|
|
234
|
+
if (nextValue !== void 0) {
|
|
235
|
+
internalHiddenKeys.value = nextValue;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
);
|
|
212
239
|
_vue.watch.call(void 0,
|
|
213
240
|
() => _optionalChain([props, 'access', _7 => _7.toolbar, 'optionalAccess', _8 => _8.filters]),
|
|
214
241
|
(filters) => {
|
|
@@ -241,14 +268,29 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
241
268
|
});
|
|
242
269
|
const hasFilters = _vue.computed.call(void 0, () => Boolean(_optionalChain([props, 'access', _15 => _15.toolbar, 'optionalAccess', _16 => _16.filters, 'optionalAccess', _17 => _17.length])));
|
|
243
270
|
const hasBulkActions = _vue.computed.call(void 0, () => Boolean(_optionalChain([props, 'access', _18 => _18.toolbar, 'optionalAccess', _19 => _19.bulkActions, 'optionalAccess', _20 => _20.length])));
|
|
271
|
+
const hasColumnSettings = _vue.computed.call(void 0, () => Boolean(_optionalChain([props, 'access', _21 => _21.toolbar, 'optionalAccess', _22 => _22.showColumnSettings])));
|
|
272
|
+
const resolvedHiddenKeys = _vue.computed.call(void 0, () => _nullishCoalesce(props.hiddenColumnKeys, () => ( internalHiddenKeys.value)));
|
|
273
|
+
const handleHiddenColumnsChange = (nextHiddenKeys) => {
|
|
274
|
+
if (props.hiddenColumnKeys === void 0) {
|
|
275
|
+
internalHiddenKeys.value = nextHiddenKeys;
|
|
276
|
+
}
|
|
277
|
+
emit("update:hiddenColumnKeys", nextHiddenKeys);
|
|
278
|
+
emit("hidden-columns-change", nextHiddenKeys);
|
|
279
|
+
};
|
|
280
|
+
const handleToggleColumnVisibility = (columnKey, visible) => {
|
|
281
|
+
const nextHiddenKeys = visible ? resolvedHiddenKeys.value.filter((key) => key !== columnKey) : [...resolvedHiddenKeys.value, columnKey];
|
|
282
|
+
handleHiddenColumnsChange(nextHiddenKeys);
|
|
283
|
+
};
|
|
244
284
|
const canSearch = _vue.computed.call(void 0, () => Boolean(vnodeProps.onSearch));
|
|
245
285
|
const selectedKeys = _vue.computed.call(void 0,
|
|
246
|
-
() => _nullishCoalesce(_nullishCoalesce(_optionalChain([props, 'access',
|
|
286
|
+
() => _nullishCoalesce(_nullishCoalesce(_optionalChain([props, 'access', _23 => _23.toolbar, 'optionalAccess', _24 => _24.selectedKeys]), () => ( _optionalChain([props, 'access', _25 => _25.rowSelection, 'optionalAccess', _26 => _26.selectedRowKeys]))), () => ( []))
|
|
247
287
|
);
|
|
248
288
|
const selectedCount = _vue.computed.call(void 0,
|
|
249
|
-
() => _optionalChain([props, 'access',
|
|
289
|
+
() => _optionalChain([props, 'access', _27 => _27.toolbar, 'optionalAccess', _28 => _28.selectedCount]) !== void 0 ? props.toolbar.selectedCount : selectedKeys.value.length
|
|
290
|
+
);
|
|
291
|
+
const bulkLabel = _vue.computed.call(void 0,
|
|
292
|
+
() => _nullishCoalesce(_optionalChain([props, 'access', _29 => _29.toolbar, 'optionalAccess', _30 => _30.bulkActionsLabel]), () => ( tableLabels.value.selectedText))
|
|
250
293
|
);
|
|
251
|
-
const bulkLabel = _vue.computed.call(void 0, () => _nullishCoalesce(_optionalChain([props, 'access', _27 => _27.toolbar, 'optionalAccess', _28 => _28.bulkActionsLabel]), () => ( tableLabels.value.selectedText)));
|
|
252
294
|
const wrapperClasses = _vue.computed.call(void 0,
|
|
253
295
|
() => _tigercatcore.classNames.call(void 0,
|
|
254
296
|
"tiger-data-table-with-toolbar flex flex-col",
|
|
@@ -259,7 +301,7 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
259
301
|
);
|
|
260
302
|
const wrapperStyle = _vue.computed.call(void 0, () => _tigercatcore.mergeStyleValues.call(void 0, attrs.style, props.style));
|
|
261
303
|
const handleSearchChange = (value) => {
|
|
262
|
-
if (_optionalChain([props, 'access',
|
|
304
|
+
if (_optionalChain([props, 'access', _31 => _31.toolbar, 'optionalAccess', _32 => _32.searchValue]) === void 0) {
|
|
263
305
|
internalSearch.value = value;
|
|
264
306
|
}
|
|
265
307
|
emit("search-change", value);
|
|
@@ -282,7 +324,7 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
282
324
|
};
|
|
283
325
|
const handleBulkAction = (action) => {
|
|
284
326
|
const keys = _nullishCoalesce(selectedKeys.value, () => ( []));
|
|
285
|
-
_optionalChain([action, 'access',
|
|
327
|
+
_optionalChain([action, 'access', _33 => _33.onClick, 'optionalCall', _34 => _34(keys)]);
|
|
286
328
|
emit("bulk-action", action, keys);
|
|
287
329
|
};
|
|
288
330
|
const handleTablePageChange = ({
|
|
@@ -295,11 +337,78 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
295
337
|
}
|
|
296
338
|
previousPageSize.value = pageSize;
|
|
297
339
|
};
|
|
340
|
+
const renderColumnSettings = () => {
|
|
341
|
+
const lockedKeys = new Set(_nullishCoalesce(_optionalChain([props, 'access', _35 => _35.toolbar, 'optionalAccess', _36 => _36.columnSettings, 'optionalAccess', _37 => _37.lockedColumnKeys]), () => ( [])));
|
|
342
|
+
const panelTitle = _nullishCoalesce(_optionalChain([props, 'access', _38 => _38.toolbar, 'optionalAccess', _39 => _39.columnSettings, 'optionalAccess', _40 => _40.title]), () => ( tableLabels.value.columnSettingsText));
|
|
343
|
+
return _vue.h.call(void 0,
|
|
344
|
+
_chunkLUAI6VXVjs.Popover,
|
|
345
|
+
{
|
|
346
|
+
trigger: "click",
|
|
347
|
+
placement: "bottom-end"
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
default: () => _vue.h.call(void 0,
|
|
351
|
+
_chunk4VLNT2EDjs.Button,
|
|
352
|
+
{
|
|
353
|
+
size: "sm",
|
|
354
|
+
variant: "outline",
|
|
355
|
+
class: "shrink-0 px-2",
|
|
356
|
+
"aria-label": tableLabels.value.columnSettingsAriaLabel
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
default: () => _vue.h.call(void 0,
|
|
360
|
+
"svg",
|
|
361
|
+
{
|
|
362
|
+
class: "w-3.5 h-3.5",
|
|
363
|
+
fill: "none",
|
|
364
|
+
stroke: "currentColor",
|
|
365
|
+
"stroke-width": "2",
|
|
366
|
+
viewBox: "0 0 24 24",
|
|
367
|
+
"aria-hidden": "true"
|
|
368
|
+
},
|
|
369
|
+
[
|
|
370
|
+
_vue.h.call(void 0, "path", {
|
|
371
|
+
"stroke-linecap": "round",
|
|
372
|
+
"stroke-linejoin": "round",
|
|
373
|
+
d: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"
|
|
374
|
+
}),
|
|
375
|
+
_vue.h.call(void 0, "path", {
|
|
376
|
+
"stroke-linecap": "round",
|
|
377
|
+
"stroke-linejoin": "round",
|
|
378
|
+
d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
|
|
379
|
+
})
|
|
380
|
+
]
|
|
381
|
+
)
|
|
382
|
+
}
|
|
383
|
+
),
|
|
384
|
+
title: () => panelTitle,
|
|
385
|
+
content: () => _vue.h.call(void 0,
|
|
386
|
+
"div",
|
|
387
|
+
{ class: "flex flex-col gap-2 min-w-[160px]" },
|
|
388
|
+
props.columns.map((column) => {
|
|
389
|
+
const locked = lockedKeys.has(column.key) || column.hideable === false;
|
|
390
|
+
return _vue.h.call(void 0,
|
|
391
|
+
_chunk2YFXJUBTjs.Checkbox,
|
|
392
|
+
{
|
|
393
|
+
key: column.key,
|
|
394
|
+
size: "sm",
|
|
395
|
+
modelValue: !resolvedHiddenKeys.value.includes(column.key),
|
|
396
|
+
disabled: locked,
|
|
397
|
+
"onUpdate:modelValue": (checked) => handleToggleColumnVisibility(column.key, checked)
|
|
398
|
+
},
|
|
399
|
+
{ default: () => column.title }
|
|
400
|
+
);
|
|
401
|
+
})
|
|
402
|
+
)
|
|
403
|
+
}
|
|
404
|
+
);
|
|
405
|
+
};
|
|
298
406
|
const renderToolbar = () => {
|
|
299
|
-
if (!hasSearch.value && !hasFilters.value && !hasBulkActions.value
|
|
407
|
+
if (!hasSearch.value && !hasFilters.value && !hasBulkActions.value && !hasColumnSettings.value)
|
|
408
|
+
return null;
|
|
300
409
|
const leftNodes = [];
|
|
301
410
|
if (hasSearch.value) {
|
|
302
|
-
const showButton = _nullishCoalesce(_optionalChain([props, 'access',
|
|
411
|
+
const showButton = _nullishCoalesce(_optionalChain([props, 'access', _41 => _41.toolbar, 'optionalAccess', _42 => _42.showSearchButton]), () => ( true));
|
|
303
412
|
leftNodes.push(
|
|
304
413
|
_vue.h.call(void 0,
|
|
305
414
|
"div",
|
|
@@ -311,7 +420,7 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
311
420
|
type: "search",
|
|
312
421
|
size: "sm",
|
|
313
422
|
modelValue: searchValue.value,
|
|
314
|
-
placeholder: _nullishCoalesce(_optionalChain([props, 'access',
|
|
423
|
+
placeholder: _nullishCoalesce(_optionalChain([props, 'access', _43 => _43.toolbar, 'optionalAccess', _44 => _44.searchPlaceholder]), () => ( tableLabels.value.searchPlaceholder)),
|
|
315
424
|
"onUpdate:modelValue": (value) => handleSearchChange(String(_nullishCoalesce(value, () => ( "")))),
|
|
316
425
|
onKeydown: (event) => {
|
|
317
426
|
if (event.key === "Enter") {
|
|
@@ -349,14 +458,16 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
349
458
|
onClick: handleSearchSubmit,
|
|
350
459
|
disabled: !canSearch.value
|
|
351
460
|
},
|
|
352
|
-
{
|
|
461
|
+
{
|
|
462
|
+
default: () => _nullishCoalesce(_optionalChain([props, 'access', _45 => _45.toolbar, 'optionalAccess', _46 => _46.searchButtonText]), () => ( tableLabels.value.searchButtonText))
|
|
463
|
+
}
|
|
353
464
|
) : null
|
|
354
465
|
]
|
|
355
466
|
)
|
|
356
467
|
);
|
|
357
468
|
}
|
|
358
469
|
if (hasFilters.value) {
|
|
359
|
-
_optionalChain([props, 'access',
|
|
470
|
+
_optionalChain([props, 'access', _47 => _47.toolbar, 'optionalAccess', _48 => _48.filters, 'optionalAccess', _49 => _49.forEach, 'call', _50 => _50((filter) => {
|
|
360
471
|
const currentValue = resolvedFilters.value[filter.key];
|
|
361
472
|
const clearable = filter.clearable !== false;
|
|
362
473
|
leftNodes.push(
|
|
@@ -401,7 +512,7 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
401
512
|
);
|
|
402
513
|
}
|
|
403
514
|
;
|
|
404
|
-
(_nullishCoalesce(_optionalChain([props, 'access',
|
|
515
|
+
(_nullishCoalesce(_optionalChain([props, 'access', _51 => _51.toolbar, 'optionalAccess', _52 => _52.bulkActions]), () => ( []))).forEach((action) => {
|
|
405
516
|
bulkChildren.push(
|
|
406
517
|
_vue.h.call(void 0,
|
|
407
518
|
_chunk4VLNT2EDjs.Button,
|
|
@@ -433,7 +544,10 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
433
544
|
"div",
|
|
434
545
|
{ class: "flex items-center gap-2.5 flex-wrap ml-auto shrink-0" },
|
|
435
546
|
bulkChildren
|
|
436
|
-
) : null
|
|
547
|
+
) : null,
|
|
548
|
+
hasColumnSettings.value ? _vue.h.call(void 0, "div", { class: _tigercatcore.classNames.call(void 0, "shrink-0", !hasBulkActions.value && "ml-auto") }, [
|
|
549
|
+
renderColumnSettings()
|
|
550
|
+
]) : null
|
|
437
551
|
]
|
|
438
552
|
);
|
|
439
553
|
};
|
|
@@ -444,6 +558,7 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
444
558
|
columns: props.columns,
|
|
445
559
|
columnLockable: props.columnLockable,
|
|
446
560
|
dataSource: props.dataSource,
|
|
561
|
+
hiddenColumnKeys: resolvedHiddenKeys.value,
|
|
447
562
|
...props.sort !== void 0 ? { sort: props.sort } : {},
|
|
448
563
|
...props.defaultSort !== void 0 ? { defaultSort: props.defaultSort } : {},
|
|
449
564
|
...props.filters !== void 0 ? { filters: props.filters } : {},
|
|
@@ -476,7 +591,7 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
|
|
|
476
591
|
style: wrapperStyle.value,
|
|
477
592
|
"data-tiger-data-table-with-toolbar": ""
|
|
478
593
|
},
|
|
479
|
-
[renderToolbar(), _vue.h.call(void 0,
|
|
594
|
+
[renderToolbar(), _vue.h.call(void 0, _chunkOFTAQ2A4js.Table, tableProps)]
|
|
480
595
|
);
|
|
481
596
|
};
|
|
482
597
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkQOMWROWEjs = require('./chunk-QOMWROWE.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunkEQW6IUHGjs = require('./chunk-EQW6IUHG.js');
|
|
@@ -93,7 +93,7 @@ var Popconfirm = _vue.defineComponent.call(void 0, {
|
|
|
93
93
|
floatingRef,
|
|
94
94
|
floatingStyles,
|
|
95
95
|
actualPlacement
|
|
96
|
-
} =
|
|
96
|
+
} = _chunkQOMWROWEjs.useFloatingPopup.call(void 0, { props, emit, multiTrigger: false });
|
|
97
97
|
const popconfirmId = createPopconfirmId();
|
|
98
98
|
const titleId = `${popconfirmId}-title`;
|
|
99
99
|
const descriptionId = `${popconfirmId}-description`;
|