@alaarab/ogrid-vue-vuetify 2.0.2
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/esm/ColumnChooser/ColumnChooser.js +74 -0
- package/dist/esm/ColumnHeaderFilter/ColumnHeaderFilter.js +210 -0
- package/dist/esm/ColumnHeaderFilter/MultiSelectFilterPopover.js +68 -0
- package/dist/esm/ColumnHeaderFilter/PeopleFilterPopover.js +82 -0
- package/dist/esm/ColumnHeaderFilter/TextFilterPopover.js +40 -0
- package/dist/esm/ColumnHeaderFilter/index.js +1 -0
- package/dist/esm/DataGridTable/DataGridTable.js +467 -0
- package/dist/esm/DataGridTable/GridContextMenu.js +55 -0
- package/dist/esm/DataGridTable/InlineCellEditor.js +124 -0
- package/dist/esm/DataGridTable/StatusBar.js +45 -0
- package/dist/esm/OGrid/OGrid.js +95 -0
- package/dist/esm/PaginationControls/PaginationControls.js +131 -0
- package/dist/esm/index.js +8 -0
- package/dist/types/ColumnChooser/ColumnChooser.d.ts +36 -0
- package/dist/types/ColumnHeaderFilter/ColumnHeaderFilter.d.ts +177 -0
- package/dist/types/ColumnHeaderFilter/MultiSelectFilterPopover.d.ts +88 -0
- package/dist/types/ColumnHeaderFilter/PeopleFilterPopover.d.ts +66 -0
- package/dist/types/ColumnHeaderFilter/TextFilterPopover.d.ts +38 -0
- package/dist/types/ColumnHeaderFilter/index.d.ts +2 -0
- package/dist/types/DataGridTable/DataGridTable.d.ts +15 -0
- package/dist/types/DataGridTable/GridContextMenu.d.ts +116 -0
- package/dist/types/DataGridTable/InlineCellEditor.d.ts +72 -0
- package/dist/types/DataGridTable/StatusBar.d.ts +80 -0
- package/dist/types/OGrid/OGrid.d.ts +15 -0
- package/dist/types/PaginationControls/PaginationControls.d.ts +74 -0
- package/dist/types/index.d.ts +9 -0
- package/package.json +40 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type PropType, type VNode } from 'vue';
|
|
2
|
+
import { type IOGridDataGridProps } from '@alaarab/ogrid-vue';
|
|
3
|
+
export declare const DataGridTable: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
+
gridProps: {
|
|
5
|
+
type: PropType<IOGridDataGridProps<unknown>>;
|
|
6
|
+
required: true;
|
|
7
|
+
};
|
|
8
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
11
|
+
gridProps: {
|
|
12
|
+
type: PropType<IOGridDataGridProps<unknown>>;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
export interface GridContextMenuProps {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
hasSelection: boolean;
|
|
6
|
+
canUndo: boolean;
|
|
7
|
+
canRedo: boolean;
|
|
8
|
+
onUndo: () => void;
|
|
9
|
+
onRedo: () => void;
|
|
10
|
+
onCopy: () => void;
|
|
11
|
+
onCut: () => void;
|
|
12
|
+
onPaste: () => void;
|
|
13
|
+
onSelectAll: () => void;
|
|
14
|
+
onClose: () => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const GridContextMenu: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
17
|
+
x: {
|
|
18
|
+
type: NumberConstructor;
|
|
19
|
+
required: true;
|
|
20
|
+
};
|
|
21
|
+
y: {
|
|
22
|
+
type: NumberConstructor;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
hasSelection: {
|
|
26
|
+
type: BooleanConstructor;
|
|
27
|
+
required: true;
|
|
28
|
+
};
|
|
29
|
+
canUndo: {
|
|
30
|
+
type: BooleanConstructor;
|
|
31
|
+
required: true;
|
|
32
|
+
};
|
|
33
|
+
canRedo: {
|
|
34
|
+
type: BooleanConstructor;
|
|
35
|
+
required: true;
|
|
36
|
+
};
|
|
37
|
+
onUndo: {
|
|
38
|
+
type: PropType<() => void>;
|
|
39
|
+
required: true;
|
|
40
|
+
};
|
|
41
|
+
onRedo: {
|
|
42
|
+
type: PropType<() => void>;
|
|
43
|
+
required: true;
|
|
44
|
+
};
|
|
45
|
+
onCopy: {
|
|
46
|
+
type: PropType<() => void>;
|
|
47
|
+
required: true;
|
|
48
|
+
};
|
|
49
|
+
onCut: {
|
|
50
|
+
type: PropType<() => void>;
|
|
51
|
+
required: true;
|
|
52
|
+
};
|
|
53
|
+
onPaste: {
|
|
54
|
+
type: PropType<() => void>;
|
|
55
|
+
required: true;
|
|
56
|
+
};
|
|
57
|
+
onSelectAll: {
|
|
58
|
+
type: PropType<() => void>;
|
|
59
|
+
required: true;
|
|
60
|
+
};
|
|
61
|
+
onClose: {
|
|
62
|
+
type: PropType<() => void>;
|
|
63
|
+
required: true;
|
|
64
|
+
};
|
|
65
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
66
|
+
[key: string]: any;
|
|
67
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
68
|
+
x: {
|
|
69
|
+
type: NumberConstructor;
|
|
70
|
+
required: true;
|
|
71
|
+
};
|
|
72
|
+
y: {
|
|
73
|
+
type: NumberConstructor;
|
|
74
|
+
required: true;
|
|
75
|
+
};
|
|
76
|
+
hasSelection: {
|
|
77
|
+
type: BooleanConstructor;
|
|
78
|
+
required: true;
|
|
79
|
+
};
|
|
80
|
+
canUndo: {
|
|
81
|
+
type: BooleanConstructor;
|
|
82
|
+
required: true;
|
|
83
|
+
};
|
|
84
|
+
canRedo: {
|
|
85
|
+
type: BooleanConstructor;
|
|
86
|
+
required: true;
|
|
87
|
+
};
|
|
88
|
+
onUndo: {
|
|
89
|
+
type: PropType<() => void>;
|
|
90
|
+
required: true;
|
|
91
|
+
};
|
|
92
|
+
onRedo: {
|
|
93
|
+
type: PropType<() => void>;
|
|
94
|
+
required: true;
|
|
95
|
+
};
|
|
96
|
+
onCopy: {
|
|
97
|
+
type: PropType<() => void>;
|
|
98
|
+
required: true;
|
|
99
|
+
};
|
|
100
|
+
onCut: {
|
|
101
|
+
type: PropType<() => void>;
|
|
102
|
+
required: true;
|
|
103
|
+
};
|
|
104
|
+
onPaste: {
|
|
105
|
+
type: PropType<() => void>;
|
|
106
|
+
required: true;
|
|
107
|
+
};
|
|
108
|
+
onSelectAll: {
|
|
109
|
+
type: PropType<() => void>;
|
|
110
|
+
required: true;
|
|
111
|
+
};
|
|
112
|
+
onClose: {
|
|
113
|
+
type: PropType<() => void>;
|
|
114
|
+
required: true;
|
|
115
|
+
};
|
|
116
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { IColumnDef } from '@alaarab/ogrid-vue';
|
|
3
|
+
export interface InlineCellEditorProps<T = unknown> {
|
|
4
|
+
value: unknown;
|
|
5
|
+
item: T;
|
|
6
|
+
column: IColumnDef<T>;
|
|
7
|
+
rowIndex: number;
|
|
8
|
+
editorType: 'text' | 'select' | 'checkbox' | 'richSelect' | 'date';
|
|
9
|
+
onCommit: (value: unknown) => void;
|
|
10
|
+
onCancel: () => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const InlineCellEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
13
|
+
value: {
|
|
14
|
+
default: undefined;
|
|
15
|
+
};
|
|
16
|
+
item: {
|
|
17
|
+
type: ObjectConstructor;
|
|
18
|
+
required: true;
|
|
19
|
+
};
|
|
20
|
+
column: {
|
|
21
|
+
type: PropType<IColumnDef>;
|
|
22
|
+
required: true;
|
|
23
|
+
};
|
|
24
|
+
rowIndex: {
|
|
25
|
+
type: NumberConstructor;
|
|
26
|
+
required: true;
|
|
27
|
+
};
|
|
28
|
+
editorType: {
|
|
29
|
+
type: PropType<"text" | "select" | "checkbox" | "richSelect" | "date">;
|
|
30
|
+
required: true;
|
|
31
|
+
};
|
|
32
|
+
onCommit: {
|
|
33
|
+
type: PropType<(value: unknown) => void>;
|
|
34
|
+
required: true;
|
|
35
|
+
};
|
|
36
|
+
onCancel: {
|
|
37
|
+
type: PropType<() => void>;
|
|
38
|
+
required: true;
|
|
39
|
+
};
|
|
40
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
43
|
+
value: {
|
|
44
|
+
default: undefined;
|
|
45
|
+
};
|
|
46
|
+
item: {
|
|
47
|
+
type: ObjectConstructor;
|
|
48
|
+
required: true;
|
|
49
|
+
};
|
|
50
|
+
column: {
|
|
51
|
+
type: PropType<IColumnDef>;
|
|
52
|
+
required: true;
|
|
53
|
+
};
|
|
54
|
+
rowIndex: {
|
|
55
|
+
type: NumberConstructor;
|
|
56
|
+
required: true;
|
|
57
|
+
};
|
|
58
|
+
editorType: {
|
|
59
|
+
type: PropType<"text" | "select" | "checkbox" | "richSelect" | "date">;
|
|
60
|
+
required: true;
|
|
61
|
+
};
|
|
62
|
+
onCommit: {
|
|
63
|
+
type: PropType<(value: unknown) => void>;
|
|
64
|
+
required: true;
|
|
65
|
+
};
|
|
66
|
+
onCancel: {
|
|
67
|
+
type: PropType<() => void>;
|
|
68
|
+
required: true;
|
|
69
|
+
};
|
|
70
|
+
}>> & Readonly<{}>, {
|
|
71
|
+
value: undefined;
|
|
72
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
export interface StatusBarProps {
|
|
3
|
+
totalCount: number;
|
|
4
|
+
filteredCount?: number;
|
|
5
|
+
selectedCount?: number;
|
|
6
|
+
selectedCellCount?: number;
|
|
7
|
+
aggregation?: {
|
|
8
|
+
sum: number;
|
|
9
|
+
avg: number;
|
|
10
|
+
min: number;
|
|
11
|
+
max: number;
|
|
12
|
+
count: number;
|
|
13
|
+
} | null;
|
|
14
|
+
suppressRowCount?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare const StatusBar: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
17
|
+
totalCount: {
|
|
18
|
+
type: NumberConstructor;
|
|
19
|
+
required: true;
|
|
20
|
+
};
|
|
21
|
+
filteredCount: {
|
|
22
|
+
type: NumberConstructor;
|
|
23
|
+
default: undefined;
|
|
24
|
+
};
|
|
25
|
+
selectedCount: {
|
|
26
|
+
type: NumberConstructor;
|
|
27
|
+
default: undefined;
|
|
28
|
+
};
|
|
29
|
+
selectedCellCount: {
|
|
30
|
+
type: NumberConstructor;
|
|
31
|
+
default: undefined;
|
|
32
|
+
};
|
|
33
|
+
aggregation: {
|
|
34
|
+
type: PropType<StatusBarProps["aggregation"]>;
|
|
35
|
+
default: undefined;
|
|
36
|
+
};
|
|
37
|
+
suppressRowCount: {
|
|
38
|
+
type: BooleanConstructor;
|
|
39
|
+
default: boolean;
|
|
40
|
+
};
|
|
41
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
42
|
+
[key: string]: any;
|
|
43
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
44
|
+
totalCount: {
|
|
45
|
+
type: NumberConstructor;
|
|
46
|
+
required: true;
|
|
47
|
+
};
|
|
48
|
+
filteredCount: {
|
|
49
|
+
type: NumberConstructor;
|
|
50
|
+
default: undefined;
|
|
51
|
+
};
|
|
52
|
+
selectedCount: {
|
|
53
|
+
type: NumberConstructor;
|
|
54
|
+
default: undefined;
|
|
55
|
+
};
|
|
56
|
+
selectedCellCount: {
|
|
57
|
+
type: NumberConstructor;
|
|
58
|
+
default: undefined;
|
|
59
|
+
};
|
|
60
|
+
aggregation: {
|
|
61
|
+
type: PropType<StatusBarProps["aggregation"]>;
|
|
62
|
+
default: undefined;
|
|
63
|
+
};
|
|
64
|
+
suppressRowCount: {
|
|
65
|
+
type: BooleanConstructor;
|
|
66
|
+
default: boolean;
|
|
67
|
+
};
|
|
68
|
+
}>> & Readonly<{}>, {
|
|
69
|
+
aggregation: {
|
|
70
|
+
sum: number;
|
|
71
|
+
avg: number;
|
|
72
|
+
min: number;
|
|
73
|
+
max: number;
|
|
74
|
+
count: number;
|
|
75
|
+
} | null | undefined;
|
|
76
|
+
filteredCount: number;
|
|
77
|
+
selectedCount: number;
|
|
78
|
+
selectedCellCount: number;
|
|
79
|
+
suppressRowCount: boolean;
|
|
80
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import { type IOGridProps } from '@alaarab/ogrid-vue';
|
|
3
|
+
export declare const OGrid: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
+
gridProps: {
|
|
5
|
+
type: PropType<IOGridProps<unknown>>;
|
|
6
|
+
required: true;
|
|
7
|
+
};
|
|
8
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
11
|
+
gridProps: {
|
|
12
|
+
type: PropType<IOGridProps<unknown>>;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
export interface IPaginationControlsProps {
|
|
3
|
+
currentPage: number;
|
|
4
|
+
pageSize: number;
|
|
5
|
+
totalCount: number;
|
|
6
|
+
onPageChange: (page: number) => void;
|
|
7
|
+
onPageSizeChange: (pageSize: number) => void;
|
|
8
|
+
pageSizeOptions?: number[];
|
|
9
|
+
entityLabelPlural?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const PaginationControls: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
12
|
+
currentPage: {
|
|
13
|
+
type: NumberConstructor;
|
|
14
|
+
required: true;
|
|
15
|
+
};
|
|
16
|
+
pageSize: {
|
|
17
|
+
type: NumberConstructor;
|
|
18
|
+
required: true;
|
|
19
|
+
};
|
|
20
|
+
totalCount: {
|
|
21
|
+
type: NumberConstructor;
|
|
22
|
+
required: true;
|
|
23
|
+
};
|
|
24
|
+
onPageChange: {
|
|
25
|
+
type: PropType<(page: number) => void>;
|
|
26
|
+
required: true;
|
|
27
|
+
};
|
|
28
|
+
onPageSizeChange: {
|
|
29
|
+
type: PropType<(pageSize: number) => void>;
|
|
30
|
+
required: true;
|
|
31
|
+
};
|
|
32
|
+
pageSizeOptions: {
|
|
33
|
+
type: PropType<number[]>;
|
|
34
|
+
default: undefined;
|
|
35
|
+
};
|
|
36
|
+
entityLabelPlural: {
|
|
37
|
+
type: StringConstructor;
|
|
38
|
+
default: string;
|
|
39
|
+
};
|
|
40
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
}> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
43
|
+
currentPage: {
|
|
44
|
+
type: NumberConstructor;
|
|
45
|
+
required: true;
|
|
46
|
+
};
|
|
47
|
+
pageSize: {
|
|
48
|
+
type: NumberConstructor;
|
|
49
|
+
required: true;
|
|
50
|
+
};
|
|
51
|
+
totalCount: {
|
|
52
|
+
type: NumberConstructor;
|
|
53
|
+
required: true;
|
|
54
|
+
};
|
|
55
|
+
onPageChange: {
|
|
56
|
+
type: PropType<(page: number) => void>;
|
|
57
|
+
required: true;
|
|
58
|
+
};
|
|
59
|
+
onPageSizeChange: {
|
|
60
|
+
type: PropType<(pageSize: number) => void>;
|
|
61
|
+
required: true;
|
|
62
|
+
};
|
|
63
|
+
pageSizeOptions: {
|
|
64
|
+
type: PropType<number[]>;
|
|
65
|
+
default: undefined;
|
|
66
|
+
};
|
|
67
|
+
entityLabelPlural: {
|
|
68
|
+
type: StringConstructor;
|
|
69
|
+
default: string;
|
|
70
|
+
};
|
|
71
|
+
}>> & Readonly<{}>, {
|
|
72
|
+
pageSizeOptions: number[];
|
|
73
|
+
entityLabelPlural: string;
|
|
74
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from '@alaarab/ogrid-vue';
|
|
2
|
+
export { OGrid } from './OGrid/OGrid';
|
|
3
|
+
export { DataGridTable } from './DataGridTable/DataGridTable';
|
|
4
|
+
export { ColumnHeaderFilter } from './ColumnHeaderFilter/ColumnHeaderFilter';
|
|
5
|
+
export type { IColumnHeaderFilterProps } from './ColumnHeaderFilter/ColumnHeaderFilter';
|
|
6
|
+
export { ColumnChooser } from './ColumnChooser/ColumnChooser';
|
|
7
|
+
export type { IColumnChooserProps } from './ColumnChooser/ColumnChooser';
|
|
8
|
+
export { PaginationControls } from './PaginationControls/PaginationControls';
|
|
9
|
+
export type { IPaginationControlsProps } from './PaginationControls/PaginationControls';
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@alaarab/ogrid-vue-vuetify",
|
|
3
|
+
"version": "2.0.2",
|
|
4
|
+
"description": "OGrid Vuetify – Vuetify-based data grid with sorting, filtering, pagination, column chooser, and CSV export.",
|
|
5
|
+
"main": "dist/esm/index.js",
|
|
6
|
+
"module": "dist/esm/index.js",
|
|
7
|
+
"types": "dist/types/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/types/index.d.ts",
|
|
11
|
+
"import": "./dist/esm/index.js",
|
|
12
|
+
"require": "./dist/esm/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "rimraf dist && tsc -p tsconfig.build.json",
|
|
17
|
+
"test": "jest --passWithNoTests"
|
|
18
|
+
},
|
|
19
|
+
"keywords": ["ogrid", "vue", "vuetify", "datatable", "typescript", "grid"],
|
|
20
|
+
"author": "Ala Arab",
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"files": ["dist", "README.md", "LICENSE"],
|
|
23
|
+
"engines": { "node": ">=18" },
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@alaarab/ogrid-vue": "2.0.2"
|
|
26
|
+
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"vue": "^3.3.0",
|
|
29
|
+
"vuetify": "^3.0.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"vue": "^3.5.28",
|
|
33
|
+
"vuetify": "^3.11.8",
|
|
34
|
+
"@vitejs/plugin-vue": "^6.0.4",
|
|
35
|
+
"vite": "^7.0.0",
|
|
36
|
+
"vite-plugin-dts": "^4.5.0",
|
|
37
|
+
"typescript": "^5.7.3"
|
|
38
|
+
},
|
|
39
|
+
"publishConfig": { "access": "public" }
|
|
40
|
+
}
|