xrk-components 0.3.0 → 0.3.3

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.
Files changed (62) hide show
  1. package/lib/index.css +7 -2
  2. package/lib/index.esm.js +107 -46
  3. package/lib/index.umd.js +107 -46
  4. package/lib/packages/base/button/index.d.ts +1 -1
  5. package/lib/packages/base/dialog/dialog.d.ts +11 -0
  6. package/lib/packages/base/dialog/index.d.ts +4 -3
  7. package/lib/packages/base/select/index.d.ts +4 -1
  8. package/lib/packages/xrk/table/table.d.ts +0 -13
  9. package/lib/packages/xrk/table/types/type.d.ts +2 -2
  10. package/package.json +1 -1
  11. package/packages/base/button/button.vue +0 -83
  12. package/packages/base/button/index.ts +0 -26
  13. package/packages/base/checkbox/checkbox-button.vue +0 -54
  14. package/packages/base/checkbox/checkbox-group.vue +0 -85
  15. package/packages/base/checkbox/checkbox.vue +0 -85
  16. package/packages/base/checkbox/index.ts +0 -62
  17. package/packages/base/date-picker/date-picker.vue +0 -144
  18. package/packages/base/date-picker/index.ts +0 -52
  19. package/packages/base/dialog/dialog.vue +0 -214
  20. package/packages/base/dialog/index.ts +0 -57
  21. package/packages/base/form/form-item.vue +0 -57
  22. package/packages/base/form/form.vue +0 -70
  23. package/packages/base/form/index.ts +0 -39
  24. package/packages/base/input/index.ts +0 -50
  25. package/packages/base/input/input.vue +0 -175
  26. package/packages/base/pagination/index.ts +0 -30
  27. package/packages/base/pagination/pagination.vue +0 -160
  28. package/packages/base/radio/index.ts +0 -49
  29. package/packages/base/radio/radio-button.vue +0 -46
  30. package/packages/base/radio/radio-group.vue +0 -77
  31. package/packages/base/radio/radio.vue +0 -74
  32. package/packages/base/select/index.ts +0 -62
  33. package/packages/base/select/select.vue +0 -258
  34. package/packages/base/switch/index.ts +0 -26
  35. package/packages/base/switch/switch.vue +0 -103
  36. package/packages/base/table/hooks/use-table.ts +0 -15
  37. package/packages/base/table/index.ts +0 -16
  38. package/packages/base/table/store/index.ts +0 -35
  39. package/packages/base/table/table-column.vue +0 -351
  40. package/packages/base/table/table.vue +0 -168
  41. package/packages/base/table/types/type.ts +0 -123
  42. package/packages/base/tag/index.ts +0 -52
  43. package/packages/base/tag/tag-group.vue +0 -182
  44. package/packages/base/tag/tag.vue +0 -54
  45. package/packages/base/tool-tip/index.ts +0 -30
  46. package/packages/base/tool-tip/tool-tip.vue +0 -108
  47. package/packages/components.ts +0 -33
  48. package/packages/functions.ts +0 -16
  49. package/packages/index.ts +0 -30
  50. package/packages/types.ts +0 -54
  51. package/packages/xrk/search/hooks/use-search.ts +0 -96
  52. package/packages/xrk/search/index.ts +0 -22
  53. package/packages/xrk/search/search.vue +0 -197
  54. package/packages/xrk/search/types/type.ts +0 -95
  55. package/packages/xrk/table/hooks/use-table.tsx +0 -34
  56. package/packages/xrk/table/index.ts +0 -10
  57. package/packages/xrk/table/table.vue +0 -218
  58. package/packages/xrk/table/types/type.ts +0 -31
  59. package/rollup.config.js +0 -59
  60. package/styles/element/index.scss +0 -5
  61. package/styles/element/mixin.scss +0 -40
  62. package/tools/check.ts +0 -9
@@ -1,351 +0,0 @@
1
- <!--
2
- * @Description:
3
- * @Date: 2022-07-01 15:08:09
4
- -->
5
- <template>
6
- <el-table-column
7
- :prop="prop"
8
- :type="type"
9
- :index="index"
10
- :label="label"
11
- :columnKey="columnKey"
12
- :width="width"
13
- :minWidth="minWidth"
14
- :fixed="fixed"
15
- :sortable="sortable"
16
- :sortMethod="sortMethod"
17
- :sortBy="sortBy"
18
- :sortOrders="sortOrders"
19
- :align="align"
20
- :headerAlign="headerAlign"
21
- :className="className"
22
- :labelClassName="labelClassName"
23
- :textLineClamp="textLineClamp"
24
- >
25
- <template v-slot="{ row, column, $index }">
26
- <base-table-column-content-render
27
- v-if="render"
28
- :row="row"
29
- :column="column"
30
- :cellValue="prop ? row[prop] : ''"
31
- :index="$index"
32
- ></base-table-column-content-render>
33
- <div
34
- v-else-if="type == '_selection'"
35
- style="display: inline-block"
36
- @click.prevent="handleCheckboxClick(row)"
37
- >
38
- <base-checkbox
39
- class="table-base-checkbox"
40
- v-loading="row._selectionLoading"
41
- :model-value="checked(row)"
42
- :disabled="_selectionDisabled(row)"
43
- ></base-checkbox>
44
- </div>
45
- <div v-else class="base-table-column">
46
- <base-tool-tip
47
- :content="getColumnValue(row, $index, column)"
48
- :hideAfter="0"
49
- :enterable="false"
50
- transition="none"
51
- :overShow="showOverflowTooltip"
52
- :style="{ '-webkit-line-clamp': textLineClamp || 1 }"
53
- >
54
- {{ getColumnValue(row, $index, column) }}
55
- </base-tool-tip>
56
- </div>
57
- </template>
58
-
59
- <template v-slot:header="{ column, $index }" v-if="renderHeader">
60
- <base-table-column-header-render
61
- :index="$index"
62
- :column="column"
63
- ></base-table-column-header-render>
64
- </template>
65
- <template v-slot:header v-else-if="type == '_selection'">
66
- <base-checkbox
67
- class="table-base-checkbox"
68
- v-loading="_selectionAllLoading"
69
- @click.prevent="handleCheckboxAllClick"
70
- :model-value="checkboxAllChecked"
71
- :indeterminate="checkboxAllIndeterminate"
72
- >
73
- {{ selectionRows.size > 0 ? `已选${selectionRows.size}项` : '' }}
74
- </base-checkbox>
75
- </template>
76
- </el-table-column>
77
- </template>
78
-
79
- <script lang="tsx">
80
- export default {
81
- name: 'base-table-column'
82
- };
83
- </script>
84
- <script lang="tsx" setup>
85
- import { BaseToolTip } from '../tool-tip';
86
- import { BaseCheckbox } from '../checkbox';
87
- import { ElTableColumn, vLoading as _vLoading } from 'element-plus';
88
- import { computed, defineComponent, ref } from 'vue';
89
- import { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';
90
- import { useTableSetup } from './store';
91
- import { isFunction } from '../../../tools/check';
92
- import { BaseTableColumnProps } from './types/type';
93
-
94
- const vLoading = _vLoading;
95
- const _props = withDefaults(
96
- defineProps<{
97
- pageAllData?: Array<Record<string, any>>;
98
- prop?: string;
99
- type?: 'index' | 'expand' | '_selection';
100
- index?: number | ((index: number) => number);
101
- label?: string;
102
- columnKey?: string;
103
- width?: string | number;
104
- minWidth?: string | number;
105
- fixed?: boolean | 'left' | 'right';
106
- sortable?: boolean | 'custom';
107
- sortMethod?: (a: any, b: any) => number;
108
- sortBy?: Array<string> | string | ((row: any, index: number) => string);
109
- sortOrders?: Array<'ascending' | 'descending' | null>;
110
- showOverflowTooltip?: boolean;
111
- align?: 'left' | 'right' | 'center';
112
- headerAlign?: 'left' | 'right' | 'center';
113
- className?: string;
114
- labelClassName?: string;
115
-
116
- textLineClamp?: number;
117
-
118
- renderHeader?: (info: any) => any;
119
- formatter?: (info: any) => any;
120
- render?: (info: any) => any;
121
-
122
- selectionDisabled?: ((row: any) => boolean) | boolean;
123
-
124
- selectionRows?: any;
125
- hasSelectionRow?: (rowId: any) => boolean;
126
- addSelectionRow?: (rowId: any, row: any) => void;
127
- removeSelectionRow?: (rowId: any) => void;
128
- getSelectionRows?: () => Array<any>;
129
- clearSelectionRows?: () => void;
130
-
131
- selectionAllBefore?: (done: Function) => Promise<void> | void;
132
- selectionAddBefore?: (row: any, done: Function) => Promise<void> | void;
133
- selectionAddAfter?: (row: any) => Promise<void> | void;
134
- selectionRemoveBefore?: (row: any, done: Function) => Promise<void> | void;
135
- selectionRemoveAfter?: (row: any) => Promise<void> | void;
136
- }>(),
137
- {
138
- align: 'center',
139
- showOverflowTooltip: true,
140
- textLineClamp: 1
141
- }
142
- );
143
-
144
- const props = _props as Readonly<BaseTableColumnProps>;
145
-
146
- const emits = defineEmits<{
147
- (event: 'select', selection: any, row: any): void;
148
- (event: 'select-all', selection: any): void;
149
- }>();
150
-
151
- const _selectionAllLoading = ref<boolean>(false);
152
-
153
- const BaseTableColumnHeaderRender = defineComponent({
154
- name: 'table-column-header-render',
155
- props: ['column', 'index'],
156
- render: (params: any) => {
157
- return props.renderHeader
158
- ? props.renderHeader(
159
- props.type == '_selection'
160
- ? {
161
- column: params.column,
162
- index: params.index,
163
- selectionInfo: {
164
- toggleCheckAll: handleCheckboxAllClick,
165
- checkboxAllChecked: checkboxAllChecked,
166
- checkboxAllIndeterminate: checkboxAllIndeterminate,
167
- selectionAllLoading: _selectionAllLoading
168
- }
169
- }
170
- : { column: params.column, index: params.index }
171
- )
172
- : '';
173
- }
174
- });
175
- const BaseTableColumnContentRender = defineComponent({
176
- name: 'table-column-content-render',
177
- props: ['column', 'cellValue', 'row', 'index'],
178
- render: (params: any) => {
179
- return props.render
180
- ? props.render({
181
- column: params.column,
182
- index: params.index,
183
- cellValue: params.cellValue,
184
- row: params.row
185
- })
186
- : '';
187
- }
188
- });
189
-
190
- const _selectionDisabled = (row: any) => {
191
- if (isFunction(props.selectionDisabled)) {
192
- const status = props?.selectionDisabled?.(row);
193
- // if (status && props.prop && selectionRows?.has(row[props.prop])) {
194
- // console.log(row[props.prop], row, '已被禁用,无法设置选中');
195
- // removeSelectionRow?.(row[props.prop]);
196
- // }
197
- return status;
198
- } else {
199
- return props.selectionDisabled;
200
- }
201
- };
202
-
203
- const getColumnValue = (row: any, index: number, column: any) => {
204
- if (props.type == 'index') return `${index + 1}`;
205
- if (props.formatter) {
206
- return props.formatter({
207
- row,
208
- column: column,
209
- cellValue: `${props.prop && row[props.prop]}`,
210
- index: index
211
- });
212
- }
213
- return `${props.prop && row[props.prop]}`;
214
- };
215
-
216
- const { selectionRows, addSelectionRow, removeSelectionRow, getSelectionRows } =
217
- props;
218
-
219
- const checked = computed(() => {
220
- return (row: any) => {
221
- return props.prop && selectionRows?.has(row[props.prop]);
222
- };
223
- });
224
- const filterPageAllData = computed(() =>
225
- Array.isArray(props.pageAllData)
226
- ? props.pageAllData.filter(row => !_selectionDisabled(row))
227
- : []
228
- );
229
-
230
- const checkboxAllChecked = computed(() => {
231
- return (
232
- filterPageAllData.value.length > 0 &&
233
- filterPageAllData.value.every(
234
- (row: any) =>
235
- props.prop && row[props.prop] && selectionRows?.has(row[props.prop])
236
- )
237
- );
238
- });
239
- const checkboxAllIndeterminate = computed(() => {
240
- return (
241
- filterPageAllData.value.length > 0 &&
242
- !checkboxAllChecked.value &&
243
- filterPageAllData.value.some(
244
- (row: any) =>
245
- props.prop && row[props.prop] && selectionRows?.has(row[props.prop])
246
- )
247
- );
248
- });
249
-
250
- const handleCheckboxAllClick = async () => {
251
- if (Array.isArray(props.pageAllData)) {
252
- if (_selectionAllLoading.value) return;
253
- const fn = () => {
254
- if (checkboxAllChecked.value) {
255
- // 已经选择全部
256
- filterPageAllData.value.forEach(row => {
257
- props.prop && removeSelectionRow?.(row[props.prop]);
258
- });
259
- } else {
260
- filterPageAllData.value.forEach(row => {
261
- props.prop && addSelectionRow?.(row[props.prop], row);
262
- });
263
- }
264
- };
265
- try {
266
- _selectionAllLoading.value = true;
267
- if (isFunction(props.selectionAllBefore)) {
268
- await props.selectionAllBefore(fn);
269
- } else {
270
- fn();
271
- }
272
- } catch (error) {}
273
- _selectionAllLoading.value = false;
274
- }
275
- emits('select-all', getSelectionRows?.());
276
- };
277
-
278
- const handleCheckboxClick = async (row: any) => {
279
- if (_selectionDisabled(row) || row._selectionLoading) return;
280
- if (props.prop) {
281
- row._selectionLoading = true;
282
- try {
283
- if (selectionRows?.has(row[props.prop])) {
284
- if (isFunction(props.selectionRemoveBefore)) {
285
- await props.selectionRemoveBefore(
286
- row,
287
- removeSelectionRow
288
- ? removeSelectionRow.bind(null, row[props.prop])
289
- : () => {}
290
- );
291
- } else {
292
- removeSelectionRow?.(row[props.prop]);
293
- }
294
- row._selectionLoading = false;
295
-
296
- isFunction(props.selectionRemoveAfter) &&
297
- (await props.selectionRemoveAfter(row));
298
- } else {
299
- if (isFunction(props.selectionAddBefore)) {
300
- await props.selectionAddBefore(
301
- row,
302
- addSelectionRow
303
- ? addSelectionRow.bind(null, row[props.prop], row)
304
- : () => {}
305
- );
306
- } else {
307
- addSelectionRow?.(row[props.prop], row);
308
- }
309
- row._selectionLoading = false;
310
-
311
- isFunction(props.selectionAddAfter) &&
312
- (await props.selectionAddAfter(row));
313
- }
314
- emits('select', getSelectionRows?.(), row);
315
- } catch (error) {
316
- row._selectionLoading = false;
317
- }
318
- }
319
- };
320
- </script>
321
-
322
- <style lang="scss" scoped>
323
- @import '../../../styles/element/mixin.scss';
324
- .base-table-column {
325
- ::v-deep {
326
- .xrk-tooltip__trigger {
327
- @include line_clamp(1);
328
- word-break: break-all;
329
- }
330
- }
331
- }
332
- .table-base-checkbox {
333
- ::v-deep {
334
- .xrk-loading-mask {
335
- background-color: transparent;
336
- }
337
- .xrk-loading-spinner {
338
- width: 24px;
339
- height: 24px;
340
- margin-top: 0;
341
- top: 50%;
342
- left: -5px;
343
- transform: translateY(-50%);
344
- .circular {
345
- width: 24px;
346
- height: 24px;
347
- }
348
- }
349
- }
350
- }
351
- </style>
@@ -1,168 +0,0 @@
1
- <!--
2
- * @Description:
3
- * @Date: 2022-07-01 14:34:52
4
- -->
5
- <template>
6
- <el-table
7
- class="base-table"
8
- :data="data"
9
- :height="height"
10
- :maxHeight="maxHeight"
11
- :stripe="stripe"
12
- :border="border"
13
- :size="size"
14
- :fit="fit"
15
- :rowClassName="rowClassName"
16
- :rowStyle="rowStyle"
17
- :cellClassName="cellClassName"
18
- :cellStyle="cellStyle"
19
- :headerRowClassName="headerRowClassName"
20
- :headerRowStyle="headerRowStyle"
21
- :rowKey="rowKey"
22
- :defaultExpandAll="defaultExpandAll"
23
- :expandRowKeys="expandRowKeys"
24
- :defaultSort="defaultSort"
25
- :emptyText="emptyText"
26
- @sort-change="handleSortChange"
27
- >
28
- <base-table-column
29
- v-for="column in columns"
30
- :key="column.prop"
31
- :pageAllData="data"
32
- :selectionRows="selectionRows"
33
- :getSelectionRows="getSelectionRows"
34
- :addSelectionRow="addSelectionRow"
35
- :removeSelectionRow="removeSelectionRow"
36
- :clearSelectionRows="clearSelectionRows"
37
- v-bind="column"
38
- @select="handleColumnSelect"
39
- @select-all="handleColumnSelectAll"
40
- ></base-table-column>
41
- <template #empty><slot name="empty"></slot></template>
42
- </el-table>
43
- </template>
44
-
45
- <script lang="tsx">
46
- export default {
47
- name: 'base-table'
48
- };
49
- </script>
50
- <script lang="tsx" setup>
51
- import { ElTable } from 'element-plus';
52
- import { BaseTableColumn } from './index';
53
- import { BaseTableSortInfoType, BaseTableProps } from './types/type';
54
- import { useTableSetup } from './store';
55
- const {
56
- selectionRows,
57
- getSelectionRows,
58
- addSelectionRow,
59
- removeSelectionRow,
60
- clearSelectionRows
61
- } = useTableSetup();
62
- const _props = withDefaults(
63
- defineProps<{
64
- data: Array<Record<string, any>>;
65
- columns: any;
66
-
67
- height?: string | number;
68
- maxHeight?: string | number;
69
- stripe?: boolean;
70
- border?: boolean;
71
- size?: 'large' | 'default' | 'small';
72
- fit?: boolean;
73
-
74
- rowClassName?: any;
75
- rowStyle?: any;
76
-
77
- cellClassName?: any;
78
- cellStyle?: any;
79
-
80
- headerRowClassName?: any;
81
- headerRowStyle?: any;
82
-
83
- headerCellClassName?: any;
84
- headerCellStyle?: any;
85
-
86
- rowKey?: ((row: Record<string, any>) => string) | string;
87
- defaultExpandAll?: boolean;
88
- expandRowKeys?: Array<string>;
89
- emptyText?: string;
90
- defaultSort?: { prop: string; order: 'ascending' | 'descending' };
91
- }>(),
92
- {
93
- fit: true,
94
- border: true,
95
- emptyText: '暂无数据'
96
- }
97
- );
98
-
99
- const props = _props as Readonly<BaseTableProps>;
100
-
101
- const emits = defineEmits<{
102
- (event: 'sort-change', info: BaseTableSortInfoType): void;
103
- (event: 'select', selection: any, row: any): void;
104
- (event: 'select-all', selection: any): void;
105
- }>();
106
-
107
- const handleSortChange = (info: BaseTableSortInfoType) => {
108
- emits('sort-change', info);
109
- };
110
-
111
- const handleColumnSelect = (selection: any, row: any) => {
112
- emits('select', selection, row);
113
- };
114
-
115
- const handleColumnSelectAll = (selection: any) => {
116
- emits('select-all', selection);
117
- };
118
-
119
- defineExpose({
120
- getSelectionRows,
121
- addSelectionRow,
122
- removeSelectionRow,
123
- clearSelectionRows
124
- });
125
- </script>
126
-
127
- <style lang="scss" scoped>
128
- .base-table {
129
- --xrk-table-header-bg-color: #e6f1fc;
130
- $headerBorderColor: rgba(
131
- $color: #a3d0fd,
132
- $alpha: 0.5
133
- );
134
- ::v-deep {
135
- thead {
136
- position: relative;
137
- &::before,
138
- &::after {
139
- content: '';
140
- position: absolute;
141
- top: 0;
142
- width: 1px;
143
- height: 100%;
144
- background-color: $headerBorderColor !important;
145
- z-index: 4;
146
- }
147
- &::before {
148
- left: 0;
149
- }
150
- &::after {
151
- right: 0;
152
- }
153
- }
154
- th.xrk-table__cell {
155
- border-bottom-color: $headerBorderColor !important;
156
- border-left-color: $headerBorderColor !important;
157
- border-right-color: $headerBorderColor !important;
158
- & > .cell {
159
- color: #333;
160
- font-weight: normal;
161
- }
162
- }
163
- .xrk-table__inner-wrapper::after {
164
- background-color: $headerBorderColor !important;
165
- }
166
- }
167
- }
168
- </style>
@@ -1,123 +0,0 @@
1
- import { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';
2
- import { Component, ComputedRef, CSSProperties, Ref } from 'vue';
3
-
4
- export type RowClassNameType = (info: {
5
- row: Record<string, any>;
6
- rowIndex: string | number;
7
- }) => string;
8
- export type RowStyleType = (info: {
9
- row: Record<string, any>;
10
- rowIndex: string | number;
11
- }) => CSSProperties;
12
- export type CellClassNameType = (info: {
13
- row: Record<string, any>;
14
- column: TableColumnCtx<any>;
15
- rowIndex: string | number;
16
- columnIndex: string | number;
17
- }) => string;
18
- export type CellStyleType = (info: {
19
- row: Record<string, any>;
20
- column: TableColumnCtx<any>;
21
- rowIndex: string | number;
22
- columnIndex: string | number;
23
- }) => CSSProperties;
24
- export type BaseTableSortInfoType = {
25
- column: TableColumnCtx<any>;
26
- prop: string;
27
- order: 'ascending' | 'descending' | null;
28
- };
29
-
30
- export type BaseTableProps = {
31
- data: Array<Record<string, any>>;
32
- columns: Array<BaseTableColumnProps>;
33
-
34
- height?: string | number;
35
- maxHeight?: string | number;
36
- stripe?: boolean;
37
- border?: boolean;
38
- size?: 'large' | 'default' | 'small';
39
- fit?: boolean;
40
-
41
- rowClassName?: RowClassNameType;
42
- rowStyle?: RowStyleType | CSSProperties;
43
-
44
- cellClassName?: CellClassNameType;
45
- cellStyle?: CellStyleType | CSSProperties;
46
-
47
- headerRowClassName?: RowClassNameType;
48
- headerRowStyle?: RowStyleType | CSSProperties;
49
-
50
- headerCellClassName?: CellClassNameType;
51
- headerCellStyle?: CellStyleType | CSSProperties;
52
-
53
- rowKey?: ((row: Record<string, any>) => string) | string;
54
- defaultExpandAll?: boolean;
55
- expandRowKeys?: Array<string>;
56
- emptyText?: string;
57
- defaultSort?: { prop: string; order: 'ascending' | 'descending' };
58
-
59
- onSortChange?: (info: BaseTableSortInfoType) => void;
60
- onSelect?: (selection: any, row: any) => void;
61
- onSelectAll?: (selection: any) => void;
62
- };
63
-
64
- export type BaseTableColumnProps = {
65
- pageAllData?: Array<Record<string, any>>;
66
- prop?: string;
67
- type?: 'index' | 'expand' | '_selection';
68
- index?: number | ((index: number) => number);
69
- label?: string;
70
- columnKey?: string;
71
- width?: string | number;
72
- minWidth?: string | number;
73
- fixed?: boolean | 'left' | 'right';
74
- sortable?: boolean | 'custom';
75
- sortMethod?: (a: any, b: any) => number;
76
- sortBy?: Array<string> | string | ((row: any, index: number) => string);
77
- sortOrders?: Array<'ascending' | 'descending' | null>;
78
- showOverflowTooltip?: boolean;
79
- align?: 'left' | 'right' | 'center';
80
- headerAlign?: 'left' | 'right' | 'center';
81
- className?: string;
82
- labelClassName?: string;
83
-
84
- textLineClamp?: number;
85
-
86
- renderHeader?: (info: {
87
- column: TableColumnCtx<any>;
88
- index: number;
89
- selectionInfo?: {
90
- toggleCheckAll?: () => void;
91
- checkboxAllChecked: ComputedRef<boolean>;
92
- checkboxAllIndeterminate: ComputedRef<boolean>;
93
- selectionAllLoading: Ref<boolean>;
94
- };
95
- }) => JSX.Element;
96
- formatter?: (info: {
97
- row: Record<string, any>;
98
- cellValue: any;
99
- column: TableColumnCtx<any>;
100
- index: number;
101
- }) => any;
102
- render?: (info: {
103
- row: Record<string, any>;
104
- cellValue: any;
105
- column: TableColumnCtx<any>;
106
- index: number;
107
- }) => JSX.Element;
108
-
109
- selectionDisabled?: ((row: any) => boolean) | boolean;
110
-
111
- selectionRows?: Map<number | string, any>;
112
- hasSelectionRow?: (rowId: any) => boolean;
113
- addSelectionRow?: (rowId: any, row: any) => void;
114
- removeSelectionRow?: (rowId: any) => void;
115
- getSelectionRows?: () => Array<any>;
116
- clearSelectionRows?: () => void;
117
-
118
- selectionAllBefore?: (done: Function) => Promise<void> | void;
119
- selectionAddBefore?: (row: any, done: Function) => Promise<void> | void;
120
- selectionAddAfter?: (row: any) => Promise<void> | void;
121
- selectionRemoveBefore?: (row: any, done: Function) => Promise<void> | void;
122
- selectionRemoveAfter?: (row: any) => Promise<void> | void;
123
- };
@@ -1,52 +0,0 @@
1
- /*
2
- * @Description:
3
- * @Date: 2022-07-04 09:41:35
4
- */
5
- import { DefineComponent } from 'vue';
6
- import _BaseTagGroup from './tag-group.vue';
7
- import _BaseTag from './tag.vue';
8
-
9
- export type TagOption = {
10
- label: string | number;
11
- value: string | number;
12
- closable?: boolean;
13
- };
14
-
15
- export type BaseTagGroupProps = {
16
- modelValue?: Array<TagOption>;
17
- labelKey?: string;
18
- type?: 'success' | 'info' | 'warning' | 'danger';
19
- disableTransitions?: boolean;
20
- hit?: boolean;
21
- color?: string;
22
- size?: 'large' | 'default' | 'small';
23
- effect?: 'dark' | 'light' | 'plain';
24
- round?: boolean;
25
-
26
- beforeClose?: (val: TagOption) => Promise<void>;
27
- beforeAdd?: (val: string) => TagOption | Promise<TagOption>;
28
- showAdd?: boolean;
29
- addBtnText?: string;
30
- maxlength?: number;
31
-
32
- onChange?: (tags: Array<TagOption>) => void;
33
- onClick?: (tag: TagOption) => void;
34
- };
35
-
36
- export type BaseTagProps = {
37
- type?: 'success' | 'info' | 'warning' | 'danger';
38
- closable?: boolean;
39
- disableTransitions?: boolean;
40
- hit?: boolean;
41
- color?: string;
42
- size?: 'large' | 'default' | 'small';
43
- effect?: 'dark' | 'light' | 'plain';
44
- round?: boolean;
45
-
46
- onClick?: (tag: TagOption) => void;
47
- onClose?: (tag: TagOption) => void;
48
- };
49
-
50
- export const BaseTag = _BaseTag as DefineComponent<BaseTagProps>;
51
-
52
- export const BaseTagGroup = _BaseTagGroup as DefineComponent<BaseTagGroupProps>;