@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.
Files changed (27) hide show
  1. package/dist/esm/ColumnChooser/ColumnChooser.js +74 -0
  2. package/dist/esm/ColumnHeaderFilter/ColumnHeaderFilter.js +210 -0
  3. package/dist/esm/ColumnHeaderFilter/MultiSelectFilterPopover.js +68 -0
  4. package/dist/esm/ColumnHeaderFilter/PeopleFilterPopover.js +82 -0
  5. package/dist/esm/ColumnHeaderFilter/TextFilterPopover.js +40 -0
  6. package/dist/esm/ColumnHeaderFilter/index.js +1 -0
  7. package/dist/esm/DataGridTable/DataGridTable.js +467 -0
  8. package/dist/esm/DataGridTable/GridContextMenu.js +55 -0
  9. package/dist/esm/DataGridTable/InlineCellEditor.js +124 -0
  10. package/dist/esm/DataGridTable/StatusBar.js +45 -0
  11. package/dist/esm/OGrid/OGrid.js +95 -0
  12. package/dist/esm/PaginationControls/PaginationControls.js +131 -0
  13. package/dist/esm/index.js +8 -0
  14. package/dist/types/ColumnChooser/ColumnChooser.d.ts +36 -0
  15. package/dist/types/ColumnHeaderFilter/ColumnHeaderFilter.d.ts +177 -0
  16. package/dist/types/ColumnHeaderFilter/MultiSelectFilterPopover.d.ts +88 -0
  17. package/dist/types/ColumnHeaderFilter/PeopleFilterPopover.d.ts +66 -0
  18. package/dist/types/ColumnHeaderFilter/TextFilterPopover.d.ts +38 -0
  19. package/dist/types/ColumnHeaderFilter/index.d.ts +2 -0
  20. package/dist/types/DataGridTable/DataGridTable.d.ts +15 -0
  21. package/dist/types/DataGridTable/GridContextMenu.d.ts +116 -0
  22. package/dist/types/DataGridTable/InlineCellEditor.d.ts +72 -0
  23. package/dist/types/DataGridTable/StatusBar.d.ts +80 -0
  24. package/dist/types/OGrid/OGrid.d.ts +15 -0
  25. package/dist/types/PaginationControls/PaginationControls.d.ts +74 -0
  26. package/dist/types/index.d.ts +9 -0
  27. package/package.json +40 -0
@@ -0,0 +1,2 @@
1
+ export { ColumnHeaderFilter } from './ColumnHeaderFilter';
2
+ export type { IColumnHeaderFilterProps } from './ColumnHeaderFilter';
@@ -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
+ }