vue-efko-data-view 1.0.1
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/README.md +160 -0
- package/dist/data-view.cjs.js +36 -0
- package/dist/data-view.cjs.js.map +1 -0
- package/dist/data-view.es.js +2985 -0
- package/dist/data-view.es.js.map +1 -0
- package/dist/dataview/DataView.d.ts +2 -0
- package/dist/dataview/DataView.vue.d.ts +112 -0
- package/dist/dataview/card/CardFiltersDrawer.vue.d.ts +22 -0
- package/dist/dataview/card/CardFiltersModal.vue.d.ts +22 -0
- package/dist/dataview/card/CardGrid.vue.d.ts +57 -0
- package/dist/dataview/card/FilterInput.vue.d.ts +14 -0
- package/dist/dataview/card/TheCard.d.ts +5 -0
- package/dist/dataview/card/TheCard.vue.d.ts +43 -0
- package/dist/dataview/card/ui/CardCellActions.vue.d.ts +19 -0
- package/dist/dataview/lazyload/LazyLoadContainer.vue.d.ts +31 -0
- package/dist/dataview/lazyload/LazyLoadTrigger.vue.d.ts +13 -0
- package/dist/dataview/table/TheTable.vue.d.ts +69 -0
- package/dist/dataview/table/enum/table.d.ts +37 -0
- package/dist/dataview/table/interface/table.d.ts +33 -0
- package/dist/dataview/table/ui/ColumnSettingsDrawer.d.ts +8 -0
- package/dist/dataview/table/ui/ColumnSettingsDrawer.vue.d.ts +23 -0
- package/dist/dataview/table/ui/filter/FilterDropdown.vue.d.ts +15 -0
- package/dist/dataview/table/ui/filter/FilterTagCloud.vue.d.ts +14 -0
- package/dist/dataview/table/ui/table-cell/TableCellActions.vue.d.ts +20 -0
- package/dist/dataview/table/ui/table-cell/TableCellStatus.vue.d.ts +5 -0
- package/dist/dataview/ui/TheSelect.vue.d.ts +21 -0
- package/dist/index.d.ts +15 -0
- package/dist/style.css +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { ColumnConfig, FilterItem, FilterValue, Meta, SortPayload } from './table/interface/table.d';
|
|
2
|
+
import { ViewMode } from './table/ui/ColumnSettingsDrawer';
|
|
3
|
+
import { TableRecord } from './card/TheCard.d';
|
|
4
|
+
type __VLS_Props = {
|
|
5
|
+
viewMode?: ViewMode;
|
|
6
|
+
loading: boolean;
|
|
7
|
+
pagination?: boolean;
|
|
8
|
+
columns: ColumnConfig[];
|
|
9
|
+
dataSource: TableRecord[];
|
|
10
|
+
filterValues?: Partial<Record<string, FilterValue>>;
|
|
11
|
+
meta?: Meta;
|
|
12
|
+
canEdit?: boolean;
|
|
13
|
+
editAction?: boolean;
|
|
14
|
+
deleteAction?: boolean;
|
|
15
|
+
showActionsColumn?: boolean;
|
|
16
|
+
disableViewMode?: boolean;
|
|
17
|
+
enableTableFilterDrawer?: boolean;
|
|
18
|
+
disableColumnFilterDropdowns?: boolean;
|
|
19
|
+
useFilterModal?: boolean;
|
|
20
|
+
};
|
|
21
|
+
declare function __VLS_template(): {
|
|
22
|
+
attrs: Partial<{}>;
|
|
23
|
+
slots: {
|
|
24
|
+
headerCardContainer?(_: {}): any;
|
|
25
|
+
title?(_: {}): any;
|
|
26
|
+
title?(_: {}): any;
|
|
27
|
+
titleCard?(_: {
|
|
28
|
+
record: {
|
|
29
|
+
[x: string]: unknown;
|
|
30
|
+
id?: string | number | undefined;
|
|
31
|
+
deletedAt?: string | null | undefined;
|
|
32
|
+
};
|
|
33
|
+
columns: ColumnConfig<Record<string, unknown>>[];
|
|
34
|
+
}): any;
|
|
35
|
+
body?(_: {
|
|
36
|
+
record: TableRecord;
|
|
37
|
+
columns: ColumnConfig<Record<string, unknown>>[];
|
|
38
|
+
}): any;
|
|
39
|
+
footer?(_: {
|
|
40
|
+
record: TableRecord;
|
|
41
|
+
columns: ColumnConfig<Record<string, unknown>>[];
|
|
42
|
+
}): any;
|
|
43
|
+
bodyCell?(_: {
|
|
44
|
+
column: any;
|
|
45
|
+
record: any;
|
|
46
|
+
}): any;
|
|
47
|
+
actionColumn?(_: {
|
|
48
|
+
record: any;
|
|
49
|
+
}): any;
|
|
50
|
+
filtersDrawer?(_: {
|
|
51
|
+
visible: boolean;
|
|
52
|
+
setVisible: (value: boolean) => void;
|
|
53
|
+
filters: Partial<Record<string, FilterValue>>;
|
|
54
|
+
updateFilters: (filters: Partial<Record<string, FilterValue>>) => void;
|
|
55
|
+
emitFilterApply: (payload: {
|
|
56
|
+
key: string;
|
|
57
|
+
value: FilterItem[];
|
|
58
|
+
}) => void;
|
|
59
|
+
}): any;
|
|
60
|
+
};
|
|
61
|
+
refs: {
|
|
62
|
+
tagCloudContainer: HTMLDivElement;
|
|
63
|
+
};
|
|
64
|
+
rootEl: any;
|
|
65
|
+
};
|
|
66
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
67
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
68
|
+
"update:viewMode": (value: ViewMode) => void;
|
|
69
|
+
"update:filterValues": (value: Partial<Record<string, FilterValue>>) => void;
|
|
70
|
+
filterApply: (payload: {
|
|
71
|
+
key: string;
|
|
72
|
+
value: FilterItem[];
|
|
73
|
+
}) => void;
|
|
74
|
+
edit: (record: Record<string, unknown>) => void;
|
|
75
|
+
delete: (record: Record<string, unknown>) => void;
|
|
76
|
+
restore: (record: Record<string, unknown>) => void;
|
|
77
|
+
sortChange: (payload: SortPayload) => void;
|
|
78
|
+
pageChange: (page: number) => void;
|
|
79
|
+
sizeChange: (page: number, pageSize: number) => void;
|
|
80
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
81
|
+
onEdit?: ((record: Record<string, unknown>) => any) | undefined;
|
|
82
|
+
onDelete?: ((record: Record<string, unknown>) => any) | undefined;
|
|
83
|
+
onRestore?: ((record: Record<string, unknown>) => any) | undefined;
|
|
84
|
+
onPageChange?: ((page: number) => any) | undefined;
|
|
85
|
+
onSizeChange?: ((page: number, pageSize: number) => any) | undefined;
|
|
86
|
+
"onUpdate:filterValues"?: ((value: Partial<Record<string, FilterValue>>) => any) | undefined;
|
|
87
|
+
onFilterApply?: ((payload: {
|
|
88
|
+
key: string;
|
|
89
|
+
value: FilterItem[];
|
|
90
|
+
}) => any) | undefined;
|
|
91
|
+
onSortChange?: ((payload: SortPayload) => any) | undefined;
|
|
92
|
+
"onUpdate:viewMode"?: ((value: ViewMode) => any) | undefined;
|
|
93
|
+
}>, {
|
|
94
|
+
canEdit: boolean;
|
|
95
|
+
editAction: boolean;
|
|
96
|
+
showActionsColumn: boolean;
|
|
97
|
+
pagination: boolean;
|
|
98
|
+
deleteAction: boolean;
|
|
99
|
+
disableColumnFilterDropdowns: boolean;
|
|
100
|
+
disableViewMode: boolean;
|
|
101
|
+
enableTableFilterDrawer: boolean;
|
|
102
|
+
useFilterModal: boolean;
|
|
103
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
104
|
+
tagCloudContainer: HTMLDivElement;
|
|
105
|
+
}, any>;
|
|
106
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
107
|
+
export default _default;
|
|
108
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
109
|
+
new (): {
|
|
110
|
+
$slots: S;
|
|
111
|
+
};
|
|
112
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ColumnConfig, FilterItem, FilterValue } from '../table/interface/table.d';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
visible: boolean;
|
|
4
|
+
columns: ColumnConfig[];
|
|
5
|
+
filterValues: Record<string, FilterValue | undefined>;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
8
|
+
"update:filterValues": (value: Record<string, FilterValue | undefined>) => any;
|
|
9
|
+
filterApply: (payload: {
|
|
10
|
+
key: string;
|
|
11
|
+
value: FilterItem[];
|
|
12
|
+
}) => any;
|
|
13
|
+
"update:visible": (value: boolean) => any;
|
|
14
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
15
|
+
"onUpdate:filterValues"?: ((value: Record<string, FilterValue | undefined>) => any) | undefined;
|
|
16
|
+
onFilterApply?: ((payload: {
|
|
17
|
+
key: string;
|
|
18
|
+
value: FilterItem[];
|
|
19
|
+
}) => any) | undefined;
|
|
20
|
+
"onUpdate:visible"?: ((value: boolean) => any) | undefined;
|
|
21
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ColumnConfig, FilterItem, FilterValue } from '../table/interface/table.d';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
visible: boolean;
|
|
4
|
+
columns: ColumnConfig[];
|
|
5
|
+
filterValues: Record<string, FilterValue | undefined>;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
8
|
+
"update:filterValues": (value: Record<string, FilterValue | undefined>) => any;
|
|
9
|
+
filterApply: (payload: {
|
|
10
|
+
key: string;
|
|
11
|
+
value: FilterItem[];
|
|
12
|
+
}) => any;
|
|
13
|
+
"update:visible": (value: boolean) => any;
|
|
14
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
15
|
+
"onUpdate:filterValues"?: ((value: Record<string, FilterValue | undefined>) => any) | undefined;
|
|
16
|
+
onFilterApply?: ((payload: {
|
|
17
|
+
key: string;
|
|
18
|
+
value: FilterItem[];
|
|
19
|
+
}) => any) | undefined;
|
|
20
|
+
"onUpdate:visible"?: ((value: boolean) => any) | undefined;
|
|
21
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ColumnConfig, Meta } from '../table/interface/table.d';
|
|
2
|
+
import { TableRecord } from './TheCard.d';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
loading: boolean;
|
|
5
|
+
columns: ColumnConfig[];
|
|
6
|
+
dataSource: TableRecord[];
|
|
7
|
+
cardLayout: 'grid' | 'row';
|
|
8
|
+
canEdit: boolean;
|
|
9
|
+
editAction: boolean;
|
|
10
|
+
showActionsColumn?: boolean;
|
|
11
|
+
pagination: boolean;
|
|
12
|
+
meta: Meta | undefined;
|
|
13
|
+
};
|
|
14
|
+
declare function __VLS_template(): {
|
|
15
|
+
attrs: Partial<{}>;
|
|
16
|
+
slots: {
|
|
17
|
+
titleCard?(_: {
|
|
18
|
+
record: {
|
|
19
|
+
[x: string]: unknown;
|
|
20
|
+
id?: string | number | undefined;
|
|
21
|
+
deletedAt?: string | null | undefined;
|
|
22
|
+
};
|
|
23
|
+
columns: ColumnConfig<Record<string, unknown>>[];
|
|
24
|
+
}): any;
|
|
25
|
+
bodyCard?(_: {
|
|
26
|
+
record: TableRecord;
|
|
27
|
+
columns: ColumnConfig<Record<string, unknown>>[];
|
|
28
|
+
}): any;
|
|
29
|
+
footerCard?(_: {
|
|
30
|
+
record: TableRecord;
|
|
31
|
+
columns: ColumnConfig<Record<string, unknown>>[];
|
|
32
|
+
}): any;
|
|
33
|
+
};
|
|
34
|
+
refs: {};
|
|
35
|
+
rootEl: HTMLDivElement;
|
|
36
|
+
};
|
|
37
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
38
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
39
|
+
edit: (record: Record<string, unknown>) => void;
|
|
40
|
+
delete: (record: Record<string, unknown>) => void;
|
|
41
|
+
restore: (record: Record<string, unknown>) => void;
|
|
42
|
+
pageChange: (page: number) => void;
|
|
43
|
+
sizeChange: (page: number, size: number) => void;
|
|
44
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
45
|
+
onEdit?: ((record: Record<string, unknown>) => any) | undefined;
|
|
46
|
+
onDelete?: ((record: Record<string, unknown>) => any) | undefined;
|
|
47
|
+
onRestore?: ((record: Record<string, unknown>) => any) | undefined;
|
|
48
|
+
onPageChange?: ((page: number) => any) | undefined;
|
|
49
|
+
onSizeChange?: ((page: number, size: number) => any) | undefined;
|
|
50
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
51
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
52
|
+
export default _default;
|
|
53
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
54
|
+
new (): {
|
|
55
|
+
$slots: S;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type Mode = 'search' | 'select' | 'date';
|
|
2
|
+
type Value = string | number | boolean | object | (string | number | boolean | object)[] | null | undefined;
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
modelValue: Value;
|
|
5
|
+
filterMode?: Mode;
|
|
6
|
+
componentProps?: Record<string, unknown>;
|
|
7
|
+
placeholder: string;
|
|
8
|
+
};
|
|
9
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
10
|
+
"update:modelValue": (value: Value) => any;
|
|
11
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
"onUpdate:modelValue"?: ((value: Value) => any) | undefined;
|
|
13
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ColumnConfig } from '../table/interface/table.d';
|
|
2
|
+
import { TableRecord } from './TheCard.d';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
loading: boolean;
|
|
5
|
+
record: TableRecord;
|
|
6
|
+
columns: ColumnConfig[];
|
|
7
|
+
canEdit?: boolean;
|
|
8
|
+
editAction?: boolean;
|
|
9
|
+
showActionsColumn?: boolean;
|
|
10
|
+
};
|
|
11
|
+
declare function __VLS_template(): {
|
|
12
|
+
attrs: Partial<{}>;
|
|
13
|
+
slots: {
|
|
14
|
+
title?(_: {}): any;
|
|
15
|
+
body?(_: {
|
|
16
|
+
record: TableRecord;
|
|
17
|
+
columns: ColumnConfig<Record<string, unknown>>[];
|
|
18
|
+
}): any;
|
|
19
|
+
footer?(_: {
|
|
20
|
+
record: TableRecord;
|
|
21
|
+
columns: ColumnConfig<Record<string, unknown>>[];
|
|
22
|
+
}): any;
|
|
23
|
+
};
|
|
24
|
+
refs: {};
|
|
25
|
+
rootEl: any;
|
|
26
|
+
};
|
|
27
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
28
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
29
|
+
edit: (record: TableRecord) => void;
|
|
30
|
+
delete: (record: TableRecord) => void;
|
|
31
|
+
restore: (record: TableRecord) => void;
|
|
32
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
33
|
+
onEdit?: ((record: TableRecord) => any) | undefined;
|
|
34
|
+
onDelete?: ((record: TableRecord) => any) | undefined;
|
|
35
|
+
onRestore?: ((record: TableRecord) => any) | undefined;
|
|
36
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
37
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
38
|
+
export default _default;
|
|
39
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
40
|
+
new (): {
|
|
41
|
+
$slots: S;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface TableRecord {
|
|
2
|
+
deletedAt?: string | null;
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
}
|
|
5
|
+
type __VLS_Props = {
|
|
6
|
+
record: TableRecord;
|
|
7
|
+
canEdit?: boolean;
|
|
8
|
+
editAction?: boolean;
|
|
9
|
+
};
|
|
10
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
11
|
+
edit: (record: TableRecord) => void;
|
|
12
|
+
delete: (record: TableRecord) => void;
|
|
13
|
+
restore: (record: TableRecord) => void;
|
|
14
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
15
|
+
onEdit?: ((record: TableRecord) => any) | undefined;
|
|
16
|
+
onDelete?: ((record: TableRecord) => any) | undefined;
|
|
17
|
+
onRestore?: ((record: TableRecord) => any) | undefined;
|
|
18
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
onIntersect?: () => void;
|
|
3
|
+
threshold?: number;
|
|
4
|
+
once?: boolean;
|
|
5
|
+
rootMargin?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function __VLS_template(): {
|
|
8
|
+
attrs: Partial<{}>;
|
|
9
|
+
slots: {
|
|
10
|
+
default?(_: {}): any;
|
|
11
|
+
};
|
|
12
|
+
refs: {
|
|
13
|
+
container: HTMLDivElement;
|
|
14
|
+
};
|
|
15
|
+
rootEl: HTMLDivElement;
|
|
16
|
+
};
|
|
17
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
18
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
19
|
+
threshold: number;
|
|
20
|
+
once: boolean;
|
|
21
|
+
rootMargin: string;
|
|
22
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
23
|
+
container: HTMLDivElement;
|
|
24
|
+
}, HTMLDivElement>;
|
|
25
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
26
|
+
export default _default;
|
|
27
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
28
|
+
new (): {
|
|
29
|
+
$slots: S;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
onIntersect: () => void;
|
|
3
|
+
threshold?: number;
|
|
4
|
+
once?: boolean;
|
|
5
|
+
loading: boolean;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
8
|
+
threshold: number;
|
|
9
|
+
once: boolean;
|
|
10
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
11
|
+
container: HTMLDivElement;
|
|
12
|
+
}, HTMLDivElement>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ColumnConfig, FilterItem, FilterValue, Meta, SortPayload } from './interface/table.d';
|
|
2
|
+
import { TableRecord } from '../card/TheCard.d';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
loading: boolean;
|
|
5
|
+
pagination: boolean;
|
|
6
|
+
columns: ColumnConfig[];
|
|
7
|
+
dataSource: TableRecord[];
|
|
8
|
+
filterValues?: Partial<Record<string, FilterValue>>;
|
|
9
|
+
meta: Meta | undefined;
|
|
10
|
+
canEdit: boolean;
|
|
11
|
+
editAction: boolean;
|
|
12
|
+
deleteAction: boolean;
|
|
13
|
+
showActionsColumn?: boolean;
|
|
14
|
+
columnsVisibility: Record<string, boolean>;
|
|
15
|
+
disableColumnFilterDropdowns?: boolean;
|
|
16
|
+
showFilterButton?: boolean;
|
|
17
|
+
};
|
|
18
|
+
declare function __VLS_template(): {
|
|
19
|
+
attrs: Partial<{}>;
|
|
20
|
+
slots: {
|
|
21
|
+
title?(_: {}): any;
|
|
22
|
+
bodyCell?(_: {
|
|
23
|
+
column: any;
|
|
24
|
+
record: any;
|
|
25
|
+
}): any;
|
|
26
|
+
actionColumn?(_: {
|
|
27
|
+
record: any;
|
|
28
|
+
}): any;
|
|
29
|
+
};
|
|
30
|
+
refs: {};
|
|
31
|
+
rootEl: HTMLDivElement;
|
|
32
|
+
};
|
|
33
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
34
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
35
|
+
"update:filterValues": (values: Partial<Record<string, FilterValue>>) => void;
|
|
36
|
+
filterApply: (payload: {
|
|
37
|
+
key: string;
|
|
38
|
+
value: FilterItem[];
|
|
39
|
+
}) => void;
|
|
40
|
+
edit: (record: Record<string, unknown>) => void;
|
|
41
|
+
delete: (record: Record<string, unknown>) => void;
|
|
42
|
+
restore: (record: Record<string, unknown>) => void;
|
|
43
|
+
sortChange: (payload: SortPayload) => void;
|
|
44
|
+
pageChange: (page: number) => void;
|
|
45
|
+
sizeChange: (page: number, pageSize: number) => void;
|
|
46
|
+
openColumnDrawer: () => void;
|
|
47
|
+
openFilterDrawer: () => void;
|
|
48
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
49
|
+
onEdit?: ((record: Record<string, unknown>) => any) | undefined;
|
|
50
|
+
onDelete?: ((record: Record<string, unknown>) => any) | undefined;
|
|
51
|
+
onRestore?: ((record: Record<string, unknown>) => any) | undefined;
|
|
52
|
+
onPageChange?: ((page: number) => any) | undefined;
|
|
53
|
+
onSizeChange?: ((page: number, pageSize: number) => any) | undefined;
|
|
54
|
+
"onUpdate:filterValues"?: ((values: Partial<Record<string, FilterValue>>) => any) | undefined;
|
|
55
|
+
onFilterApply?: ((payload: {
|
|
56
|
+
key: string;
|
|
57
|
+
value: FilterItem[];
|
|
58
|
+
}) => any) | undefined;
|
|
59
|
+
onSortChange?: ((payload: SortPayload) => any) | undefined;
|
|
60
|
+
onOpenColumnDrawer?: (() => any) | undefined;
|
|
61
|
+
onOpenFilterDrawer?: (() => any) | undefined;
|
|
62
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
63
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
64
|
+
export default _default;
|
|
65
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
66
|
+
new (): {
|
|
67
|
+
$slots: S;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare const PAGE_SIZE_SMALL = "10";
|
|
2
|
+
export declare const PAGE_SIZE_MEDIUM = "20";
|
|
3
|
+
export declare const PAGE_SIZE_LARGE = "50";
|
|
4
|
+
export declare const PAGE_SIZE_EXTRA_LARGE = "100";
|
|
5
|
+
export declare const PAGE_SIZE_ULTRA = "1000";
|
|
6
|
+
export declare const DEFAULT_PAGE_NUMBER = 1;
|
|
7
|
+
export declare const DEFAULT_PAGE_SIZE = "10";
|
|
8
|
+
export declare enum FilterMode {
|
|
9
|
+
SEARCH = "search",
|
|
10
|
+
SELECT = "select",
|
|
11
|
+
DATE = "date"
|
|
12
|
+
}
|
|
13
|
+
export declare enum PageSizes {
|
|
14
|
+
SMALL = "10",
|
|
15
|
+
MEDIUM = "20",
|
|
16
|
+
LARGE = "50",
|
|
17
|
+
EXTRA_LARGE = "100",
|
|
18
|
+
ULTRA = "1000"
|
|
19
|
+
}
|
|
20
|
+
export declare const PAGE_SIZE_OPTIONS: PageSizes[];
|
|
21
|
+
export declare enum SkipSizes {
|
|
22
|
+
NONE = 0,
|
|
23
|
+
SMALL = 10,
|
|
24
|
+
MEDIUM = 20,
|
|
25
|
+
LARGE = 50
|
|
26
|
+
}
|
|
27
|
+
export declare enum TableDefaults {
|
|
28
|
+
DEFAULT_CURRENT_PAGE = 1
|
|
29
|
+
}
|
|
30
|
+
export declare enum TableSortOrder {
|
|
31
|
+
ASCEND = "ascend",
|
|
32
|
+
DESCEND = "descend"
|
|
33
|
+
}
|
|
34
|
+
export declare enum SortOrder {
|
|
35
|
+
ASC = "asc",
|
|
36
|
+
DESC = "desc"
|
|
37
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { TableSortOrder, FilterMode, PageSizes } from '../enum/table';
|
|
2
|
+
export type FilterItem = { name?: string; [key: string]: unknown } | string | [string, string];
|
|
3
|
+
export type FilterValue = FilterItem | FilterItem[] | null;
|
|
4
|
+
|
|
5
|
+
export interface ColumnConfig<T = Record<string, unknown>> {
|
|
6
|
+
title: string;
|
|
7
|
+
dataIndex: keyof T;
|
|
8
|
+
key: string;
|
|
9
|
+
sortable?: boolean;
|
|
10
|
+
filterable?: boolean;
|
|
11
|
+
filterMode?: FilterMode;
|
|
12
|
+
resizable?: boolean;
|
|
13
|
+
width?: number;
|
|
14
|
+
minWidth?: number;
|
|
15
|
+
maxWidth?: number;
|
|
16
|
+
componentProps?: Record<string, unknown>;
|
|
17
|
+
headerAlign?: 'left' | 'center' | 'right';
|
|
18
|
+
cellAlign?: 'left' | 'center' | 'right';
|
|
19
|
+
tag?: boolean;
|
|
20
|
+
filterOnly?: boolean;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface SortPayload {
|
|
24
|
+
columnKey: string;
|
|
25
|
+
order: TableSortOrder.ASCEND | TableSortOrder.DESCEND | null;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface Meta {
|
|
29
|
+
currentPage: number;
|
|
30
|
+
pageSize: number;
|
|
31
|
+
total: number;
|
|
32
|
+
pageSizeOptions: PageSizes[];
|
|
33
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ColumnConfig } from '../interface/table.d';
|
|
2
|
+
import { CardLayout, ViewMode } from './ColumnSettingsDrawer';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
visible: boolean;
|
|
5
|
+
columns: ColumnConfig[];
|
|
6
|
+
modelValue: Record<string, boolean>;
|
|
7
|
+
showActionsColumn?: boolean;
|
|
8
|
+
disableViewMode?: boolean;
|
|
9
|
+
viewMode: ViewMode;
|
|
10
|
+
cardLayout: CardLayout;
|
|
11
|
+
};
|
|
12
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
13
|
+
"update:modelValue": (value: Record<string, boolean>) => any;
|
|
14
|
+
"update:visible": (value: boolean) => any;
|
|
15
|
+
"update:viewMode": (value: ViewMode) => any;
|
|
16
|
+
"update:cardLayout": (value: CardLayout) => any;
|
|
17
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
18
|
+
"onUpdate:modelValue"?: ((value: Record<string, boolean>) => any) | undefined;
|
|
19
|
+
"onUpdate:visible"?: ((value: boolean) => any) | undefined;
|
|
20
|
+
"onUpdate:viewMode"?: ((value: ViewMode) => any) | undefined;
|
|
21
|
+
"onUpdate:cardLayout"?: ((value: CardLayout) => any) | undefined;
|
|
22
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
23
|
+
export default _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FilterMode } from '../../enum/table';
|
|
2
|
+
type FilterValue = string | number | boolean | object | (string | number | boolean | object)[] | null;
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
placeholder: string;
|
|
5
|
+
filterMode?: FilterMode;
|
|
6
|
+
componentProps?: Record<string, unknown>;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
9
|
+
"update:modelValue": (value: FilterValue) => any;
|
|
10
|
+
apply: () => any;
|
|
11
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
"onUpdate:modelValue"?: ((value: FilterValue) => any) | undefined;
|
|
13
|
+
onApply?: (() => any) | undefined;
|
|
14
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FilterItem, FilterValue } from '../../interface/table.d';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
filters: Partial<Record<string, FilterValue>>;
|
|
4
|
+
};
|
|
5
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
6
|
+
"update:filters": (value: Partial<Record<string, FilterValue>>) => any;
|
|
7
|
+
remove: (key: string, filterValue: FilterValue | undefined, valueToRemove: FilterItem) => any;
|
|
8
|
+
clear: () => any;
|
|
9
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
10
|
+
"onUpdate:filters"?: ((value: Partial<Record<string, FilterValue>>) => any) | undefined;
|
|
11
|
+
onRemove?: ((key: string, filterValue: FilterValue | undefined, valueToRemove: FilterItem) => any) | undefined;
|
|
12
|
+
onClear?: (() => any) | undefined;
|
|
13
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface TableRecord {
|
|
2
|
+
name?: string;
|
|
3
|
+
isDeleted?: string | null;
|
|
4
|
+
}
|
|
5
|
+
type __VLS_Props = {
|
|
6
|
+
record: TableRecord;
|
|
7
|
+
canEdit: boolean;
|
|
8
|
+
editAction: boolean;
|
|
9
|
+
deleteAction: boolean;
|
|
10
|
+
};
|
|
11
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
12
|
+
edit: (record: TableRecord) => void;
|
|
13
|
+
delete: (record: TableRecord) => void;
|
|
14
|
+
restore: (record: TableRecord) => void;
|
|
15
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
16
|
+
onEdit?: ((record: TableRecord) => any) | undefined;
|
|
17
|
+
onDelete?: ((record: TableRecord) => any) | undefined;
|
|
18
|
+
onRestore?: ((record: TableRecord) => any) | undefined;
|
|
19
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
value: unknown;
|
|
3
|
+
};
|
|
4
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
5
|
+
export default _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as VueMultiselect } from '@vueform/multiselect';
|
|
2
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
3
|
+
modelValue: {
|
|
4
|
+
type: (ObjectConstructor | BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor | null)[];
|
|
5
|
+
default: null;
|
|
6
|
+
};
|
|
7
|
+
}>, {}, {
|
|
8
|
+
simpleImage: any;
|
|
9
|
+
}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
10
|
+
modelValue: {
|
|
11
|
+
type: (ObjectConstructor | BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor | null)[];
|
|
12
|
+
default: null;
|
|
13
|
+
};
|
|
14
|
+
}>> & Readonly<{
|
|
15
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
16
|
+
}>, {
|
|
17
|
+
modelValue: string | number | boolean | Record<string, any> | unknown[] | null;
|
|
18
|
+
}, {}, {
|
|
19
|
+
VueMultiselect: typeof VueMultiselect;
|
|
20
|
+
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
21
|
+
export default _default;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { default as DataView } from './dataview/DataView.vue';
|
|
2
|
+
export { default as DataView } from './dataview/DataView.vue';
|
|
3
|
+
export { default as DataTable } from './dataview/table/TheTable.vue';
|
|
4
|
+
export { default as CardGrid } from './dataview/card/CardGrid.vue';
|
|
5
|
+
export { default as ColumnSettingsDrawer } from './dataview/table/ui/ColumnSettingsDrawer.vue';
|
|
6
|
+
export { default as CardFiltersDrawer } from './dataview/card/CardFiltersDrawer.vue';
|
|
7
|
+
export { default as CardFiltersModal } from './dataview/card/CardFiltersModal.vue';
|
|
8
|
+
export { default as LazyLoadTrigger } from './dataview/lazyload/LazyLoadTrigger.vue';
|
|
9
|
+
export { default as LazyLoadContainer } from './dataview/lazyload/LazyLoadContainer.vue';
|
|
10
|
+
export type { FilterValues } from './dataview/DataView.d';
|
|
11
|
+
export type { ColumnConfig, FilterItem, FilterValue, Meta, SortPayload } from './dataview/table/interface/table.d';
|
|
12
|
+
export type { TableRecord } from './dataview/card/TheCard.d';
|
|
13
|
+
export { ViewMode, CardLayout } from './dataview/table/ui/ColumnSettingsDrawer';
|
|
14
|
+
export { PAGE_SIZE_SMALL, PAGE_SIZE_MEDIUM, PAGE_SIZE_LARGE, PAGE_SIZE_EXTRA_LARGE, PAGE_SIZE_ULTRA, DEFAULT_PAGE_NUMBER, DEFAULT_PAGE_SIZE, PAGE_SIZE_OPTIONS, FilterMode, PageSizes, SkipSizes, TableDefaults, TableSortOrder, SortOrder, } from './dataview/table/enum/table';
|
|
15
|
+
export default DataView;
|
package/dist/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.tag-cloud[data-v-0e8e5dd7]{display:flex;flex-wrap:wrap}.filter-tag[data-v-0e8e5dd7]{padding:5px 10px;border-radius:10px;font-size:14px;font-weight:600;margin:4px}.data-card[data-v-65504714]{transition:box-shadow .18s ease-out,transform .18s ease-out}.data-card[data-v-65504714]:hover{transform:translateY(-2px);box-shadow:0 12px 30px #21252914}.data-card__header[data-v-65504714]{display:flex;align-items:center;min-height:32px}.data-card__body[data-v-65504714]{display:flex;flex-direction:column;gap:4px}.data-card__row[data-v-65504714]{display:flex;align-items:flex-start;gap:8px;padding:2px 0}.data-card__label[data-v-65504714]{flex:0 0 auto;font-weight:500;font-size:12px;color:#6c757d}.data-card__value[data-v-65504714]{flex:1 1 auto;font-size:13px;word-break:break-word}.data-card__footer[data-v-65504714]{display:flex;justify-content:flex-end;margin-top:12px}.card-grid[data-v-07cfb68f]{display:grid;gap:24px}.card-grid--row[data-v-07cfb68f]{grid-template-columns:minmax(0,1fr)}.card-grid--grid[data-v-07cfb68f]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.filter-select[data-v-cfb3f123] .multiselect-placeholder{font-size:12px}span[data-v-35036cad],span[data-v-454326bc]{line-height:1}
|