@kong-ui-public/table-data-grid 0.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/LICENSE +201 -0
- package/README.md +564 -0
- package/dist/style.css +1 -0
- package/dist/table-data-grid.es.js +2566 -0
- package/dist/table-data-grid.umd.js +1 -0
- package/dist/types/components/TableDataGrid.vue.d.ts +99 -0
- package/dist/types/components/TableDataGrid.vue.d.ts.map +1 -0
- package/dist/types/components/TableDataGridCellRenderer.vue.d.ts +21 -0
- package/dist/types/components/TableDataGridCellRenderer.vue.d.ts.map +1 -0
- package/dist/types/components/TableDataGridColumnVisibilityMenu.vue.d.ts +26 -0
- package/dist/types/components/TableDataGridColumnVisibilityMenu.vue.d.ts.map +1 -0
- package/dist/types/components/TableDataGridFilters.vue.d.ts +36 -0
- package/dist/types/components/TableDataGridFilters.vue.d.ts.map +1 -0
- package/dist/types/components/TableDataGridHeaderRenderer.vue.d.ts +13 -0
- package/dist/types/components/TableDataGridHeaderRenderer.vue.d.ts.map +1 -0
- package/dist/types/components/TableDataGridSearch.vue.d.ts +11 -0
- package/dist/types/components/TableDataGridSearch.vue.d.ts.map +1 -0
- package/dist/types/composables/index.d.ts +182 -0
- package/dist/types/composables/index.d.ts.map +1 -0
- package/dist/types/composables/useDatatableColumnDefs.d.ts +21 -0
- package/dist/types/composables/useDatatableColumnDefs.d.ts.map +1 -0
- package/dist/types/composables/useDatatableColumnSizing.d.ts +31 -0
- package/dist/types/composables/useDatatableColumnSizing.d.ts.map +1 -0
- package/dist/types/composables/useDatatableGridSync.d.ts +63 -0
- package/dist/types/composables/useDatatableGridSync.d.ts.map +1 -0
- package/dist/types/composables/useDatatablePagination.d.ts +17 -0
- package/dist/types/composables/useDatatablePagination.d.ts.map +1 -0
- package/dist/types/composables/useDatatableSelection.d.ts +18 -0
- package/dist/types/composables/useDatatableSelection.d.ts.map +1 -0
- package/dist/types/composables/useI18n.d.ts +9 -0
- package/dist/types/composables/useI18n.d.ts.map +1 -0
- package/dist/types/composables/useTableDataGridConfig.d.ts +24 -0
- package/dist/types/composables/useTableDataGridConfig.d.ts.map +1 -0
- package/dist/types/composables/useTableDataGridFetchers.d.ts +33 -0
- package/dist/types/composables/useTableDataGridFetchers.d.ts.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +89 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/utils/headers.d.ts +3 -0
- package/dist/types/utils/headers.d.ts.map +1 -0
- package/dist/types/utils/rowKey.d.ts +3 -0
- package/dist/types/utils/rowKey.d.ts.map +1 -0
- package/dist/types/utils/tableConfig.d.ts +35 -0
- package/dist/types/utils/tableConfig.d.ts.map +1 -0
- package/dist/types/utils/tablePreferencesInterop.d.ts +6 -0
- package/dist/types/utils/tablePreferencesInterop.d.ts.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDatatableColumnDefs.d.ts","sourceRoot":"","sources":["../../../src/composables/useDatatableColumnDefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAOjD,eAAO,MAAM,sBAAsB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,kFAMrE;IACD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;IACjE,2BAA2B,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IACtE,mBAAmB,EAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACvD,KAAK,EAAE,KAAK,CAAA;CACb;;;;;;;;;;CAiDA,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { TableDataGridConfig, TableDataGridHeader } from '../types';
|
|
2
|
+
import type { GridApi } from 'ag-grid-community';
|
|
3
|
+
import type { Ref } from 'vue';
|
|
4
|
+
type GridColumnWidthChangeSource = 'intentional' | 'layout-side-effect';
|
|
5
|
+
export declare const useDatatableColumnSizing: <Row extends Record<string, any>>({ datatableElement, datatableWidth, getGridConfig, gridApi, headers, isApplyingTableConfig, resolvedTableConfig, tableConfig, updateTableConfig, }: {
|
|
6
|
+
datatableElement: Readonly<Ref<HTMLElement | undefined>>;
|
|
7
|
+
datatableWidth: Readonly<Ref<number>>;
|
|
8
|
+
getGridConfig: (api: GridApi<Row>) => TableDataGridConfig;
|
|
9
|
+
gridApi: Readonly<Ref<GridApi<Row> | undefined>>;
|
|
10
|
+
headers: Readonly<Ref<Array<TableDataGridHeader<Row>>>>;
|
|
11
|
+
isApplyingTableConfig: Readonly<Ref<boolean>>;
|
|
12
|
+
resolvedTableConfig: Readonly<Ref<TableDataGridConfig>>;
|
|
13
|
+
tableConfig: Readonly<Ref<TableDataGridConfig | undefined>>;
|
|
14
|
+
updateTableConfig: (config: TableDataGridConfig) => void;
|
|
15
|
+
}) => {
|
|
16
|
+
emitGridConfigChange: ({ columnWidthChangeSource, }?: {
|
|
17
|
+
columnWidthChangeSource?: GridColumnWidthChangeSource;
|
|
18
|
+
}) => void;
|
|
19
|
+
fitColumnsOnGridReady: (api: GridApi<Row>) => void;
|
|
20
|
+
handleDatatableWidthChange: () => void;
|
|
21
|
+
scheduleColumnsToFit: ({ api, persistFittedConfig, honorConfiguredColumnWidths, }?: {
|
|
22
|
+
api?: GridApi<Row>;
|
|
23
|
+
persistFittedConfig?: boolean;
|
|
24
|
+
honorConfiguredColumnWidths?: boolean;
|
|
25
|
+
}) => void;
|
|
26
|
+
scheduleColumnsToFitAfterDisplayedColumnsChange: (api?: GridApi<Row> | undefined) => void;
|
|
27
|
+
shouldRefitColumnsAfterConfigChange: () => boolean;
|
|
28
|
+
startResizeTracking: () => void;
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=useDatatableColumnSizing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDatatableColumnSizing.d.ts","sourceRoot":"","sources":["../../../src/composables/useDatatableColumnSizing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAEV,OAAO,EAER,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAK9B,KAAK,2BAA2B,GAAG,aAAa,GAAG,oBAAoB,CAAA;AAKvE,eAAO,MAAM,wBAAwB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,oJAUvE;IACD,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAA;IACxD,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACrC,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAA;IACzD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;IAChD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,qBAAqB,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IAC7C,mBAAmB,EAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACvD,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAA;IAC3D,iBAAiB,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;CACzD;0DAoKI;QACD,uBAAuB,CAAC,EAAE,2BAA2B,CAAA;KACtD;iCA4EmC,OAAO,CAAC,GAAG,CAAC;;wFApB7C;QACD,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QAClB,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,2BAA2B,CAAC,EAAE,OAAO,CAAA;KACtC;;;;CA2DF,CAAA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { TableDataGridConfig, TableDataGridRowSelectionMode, TableDataGridSort } from '../types';
|
|
2
|
+
import type { ColumnResizedEvent, DisplayedColumnsChangedEvent, GridApi, GridReadyEvent } from 'ag-grid-community';
|
|
3
|
+
import type { Ref } from 'vue';
|
|
4
|
+
type GridColumnWidthChangeSource = 'intentional' | 'layout-side-effect';
|
|
5
|
+
type DatatableColumnSizingHandlers<Row extends Record<string, any>> = {
|
|
6
|
+
emitGridConfigChange: (options?: {
|
|
7
|
+
columnWidthChangeSource?: GridColumnWidthChangeSource;
|
|
8
|
+
}) => void;
|
|
9
|
+
fitColumnsOnGridReady: (api: GridApi<Row>) => void;
|
|
10
|
+
scheduleColumnsToFit: (options?: {
|
|
11
|
+
api?: GridApi<Row>;
|
|
12
|
+
persistFittedConfig?: boolean;
|
|
13
|
+
honorConfiguredColumnWidths?: boolean;
|
|
14
|
+
}) => void;
|
|
15
|
+
scheduleColumnsToFitAfterDisplayedColumnsChange: (api?: GridApi<Row>) => void;
|
|
16
|
+
shouldRefitColumnsAfterConfigChange: () => boolean;
|
|
17
|
+
startResizeTracking: () => void;
|
|
18
|
+
};
|
|
19
|
+
export declare const useDatatableGridSync: <Row extends Record<string, any>>({ activePageSize, captureGridConfig, applyTableConfig, emitGridReady, emitSort, getGridConfig, gridApi, hasFetched, patchTableConfig, refresh, resolvedSort, resolvedTableConfig, rowSelection, }: {
|
|
20
|
+
activePageSize: Readonly<Ref<number>>;
|
|
21
|
+
captureGridConfig: (api: GridApi<Row>) => void;
|
|
22
|
+
applyTableConfig: (api?: GridApi<Row>) => void;
|
|
23
|
+
emitGridReady: (api: GridApi<Row>) => void;
|
|
24
|
+
emitSort: (sort: TableDataGridSort) => void;
|
|
25
|
+
getGridConfig: (api: GridApi<Row>) => TableDataGridConfig;
|
|
26
|
+
gridApi: Ref<GridApi<Row> | undefined>;
|
|
27
|
+
hasFetched: Ref<boolean>;
|
|
28
|
+
patchTableConfig: (config: Partial<TableDataGridConfig>) => void;
|
|
29
|
+
refresh: (params?: Partial<TableDataGridSort & {
|
|
30
|
+
pageSize: number;
|
|
31
|
+
}>) => void;
|
|
32
|
+
resolvedSort: Readonly<Ref<Pick<TableDataGridSort, "sortColumnKey" | "sortColumnOrder">>>;
|
|
33
|
+
resolvedTableConfig: Readonly<Ref<TableDataGridConfig>>;
|
|
34
|
+
rowSelection: Readonly<Ref<TableDataGridRowSelectionMode>>;
|
|
35
|
+
}) => {
|
|
36
|
+
applyResolvedTableConfig: (api: GridApi<Row>) => void;
|
|
37
|
+
connectSizing: (handlers: DatatableColumnSizingHandlers<Row>) => void;
|
|
38
|
+
displayedColumnIndexesByKey: import("vue").ShallowRef<Map<string, number>, Map<string, number>>;
|
|
39
|
+
handleTableConfigChange: (nextConfig: TableDataGridConfig, previousConfig: TableDataGridConfig) => void;
|
|
40
|
+
isApplyingInitialColumnState: Ref<boolean, boolean>;
|
|
41
|
+
isApplyingTableConfig: Ref<boolean, boolean>;
|
|
42
|
+
isRowSelectionColumnRefitPending: Ref<boolean, boolean>;
|
|
43
|
+
onColumnLayoutChange: (event?: {
|
|
44
|
+
api?: GridApi<Row>;
|
|
45
|
+
}) => void;
|
|
46
|
+
onColumnPinned: (event?: {
|
|
47
|
+
api?: GridApi<Row>;
|
|
48
|
+
}) => void;
|
|
49
|
+
onColumnResize: (event: ColumnResizedEvent<Row>) => void;
|
|
50
|
+
onColumnVisibilityChange: (event?: {
|
|
51
|
+
api?: GridApi<Row>;
|
|
52
|
+
}) => void;
|
|
53
|
+
onDisplayedColumnsChange: (event: DisplayedColumnsChangedEvent<Row>) => void;
|
|
54
|
+
onGridReady: (event: GridReadyEvent<Row>) => void;
|
|
55
|
+
onPageSizeChange: ({ pageSize: nextPageSize }: {
|
|
56
|
+
pageSize: number;
|
|
57
|
+
}) => void;
|
|
58
|
+
onSortChange: () => void;
|
|
59
|
+
refreshForConfigChange: (nextConfig: TableDataGridConfig, previousConfig: TableDataGridConfig) => void;
|
|
60
|
+
updateDisplayedColumnIndexes: (api?: GridApi<Row> | undefined) => void;
|
|
61
|
+
};
|
|
62
|
+
export {};
|
|
63
|
+
//# sourceMappingURL=useDatatableGridSync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDatatableGridSync.d.ts","sourceRoot":"","sources":["../../../src/composables/useDatatableGridSync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,iBAAiB,EAClB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,kBAAkB,EAClB,4BAA4B,EAC5B,OAAO,EACP,cAAc,EACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAK9B,KAAK,2BAA2B,GAAG,aAAa,GAAG,oBAAoB,CAAA;AAEvE,KAAK,6BAA6B,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACpE,oBAAoB,EAAE,CAAC,OAAO,CAAC,EAAE;QAC/B,uBAAuB,CAAC,EAAE,2BAA2B,CAAA;KACtD,KAAK,IAAI,CAAA;IACV,qBAAqB,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IAClD,oBAAoB,EAAE,CAAC,OAAO,CAAC,EAAE;QAC/B,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QAClB,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,2BAA2B,CAAC,EAAE,OAAO,CAAA;KACtC,KAAK,IAAI,CAAA;IACV,+CAA+C,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IAC7E,mCAAmC,EAAE,MAAM,OAAO,CAAA;IAClD,mBAAmB,EAAE,MAAM,IAAI,CAAA;CAChC,CAAA;AAYD,eAAO,MAAM,oBAAoB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,mMAcnE;IACD,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACrC,iBAAiB,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IAC9C,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IAC9C,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAC3C,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAA;IACzD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;IACtC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACxB,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;IAChE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAA;IAC7E,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACzF,mBAAmB,EAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACvD,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAA;CAC3D;oCAwBwC,OAAO,CAAC,GAAG,CAAC;8BAhBlB,6BAA6B,CAAC,GAAG,CAAC;;0CAgDrD,mBAAmB,kBACf,mBAAmB;;;;mCAgDC;QAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE;6BAL5B;QAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE;4BA+BvB,kBAAkB,CAAC,GAAG,CAAC;uCArBZ;QAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE;sCAWvB,4BAA4B,CAAC,GAAG,CAAC;yBAxC9C,cAAc,CAAC,GAAG,CAAC;mDAgFO;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;;yCA/H5D,mBAAmB,kBACf,mBAAmB;;CA+LtC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { PageChangeData } from '@kong/kongponents';
|
|
2
|
+
import type { Ref } from 'vue';
|
|
3
|
+
export declare const useDatatablePagination: ({ activePageSize, isFetching, fetchPage, currentPage, totalRows, hasNextPageWhenTotalUnknown, }: {
|
|
4
|
+
activePageSize: Readonly<Ref<number>>;
|
|
5
|
+
isFetching: Readonly<Ref<boolean>>;
|
|
6
|
+
fetchPage: (page: number) => Promise<void> | void;
|
|
7
|
+
currentPage: Readonly<Ref<number>>;
|
|
8
|
+
totalRows: Readonly<Ref<number | undefined>>;
|
|
9
|
+
hasNextPageWhenTotalUnknown: Readonly<Ref<boolean>>;
|
|
10
|
+
}) => {
|
|
11
|
+
hasKnownTotalRows: import("vue").ComputedRef<boolean>;
|
|
12
|
+
canGoPreviousPage: import("vue").ComputedRef<boolean>;
|
|
13
|
+
canGoNextPage: import("vue").ComputedRef<boolean>;
|
|
14
|
+
goToPage: (page: number) => void;
|
|
15
|
+
onPageChange: ({ page }: PageChangeData) => void;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=useDatatablePagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDatatablePagination.d.ts","sourceRoot":"","sources":["../../../src/composables/useDatatablePagination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAG9B,eAAO,MAAM,sBAAsB,GAAI,iGAOpC;IACD,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACrC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IAClC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACjD,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAClC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;IAC5C,2BAA2B,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;CACpD;;;;qBAWyB,MAAM;6BAYE,cAAc;CAW/C,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TableDataGridGridOptions, TableDataGridRowKey, TableDataGridRowSelectionMode } from '../types';
|
|
2
|
+
import type { GridApi, RowSelectionOptions, SelectionColumnDef } from 'ag-grid-community';
|
|
3
|
+
import type { Ref } from 'vue';
|
|
4
|
+
export declare const useDatatableSelection: <Row extends Record<string, any>>({ gridApi, rowSelection, agGridOptions, rowKey, emitRowSelect, }: {
|
|
5
|
+
gridApi: Readonly<Ref<GridApi<Row> | undefined>>;
|
|
6
|
+
rowSelection: Readonly<Ref<TableDataGridRowSelectionMode>>;
|
|
7
|
+
agGridOptions: Readonly<Ref<TableDataGridGridOptions<Row>>>;
|
|
8
|
+
rowKey: Readonly<Ref<TableDataGridRowKey<Row>>>;
|
|
9
|
+
emitRowSelect: (selectedRows: Row[]) => void;
|
|
10
|
+
}) => {
|
|
11
|
+
selectedRows: import("vue").ShallowRef<Row[], Row[]>;
|
|
12
|
+
rowSelectionConfig: import("vue").ComputedRef<RowSelectionOptions | undefined>;
|
|
13
|
+
selectionColumnDef: import("vue").ComputedRef<SelectionColumnDef | undefined>;
|
|
14
|
+
selectRowByKey: (key: string) => void;
|
|
15
|
+
deselectAll: () => void;
|
|
16
|
+
onSelectionChange: () => void;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=useDatatableSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDatatableSelection.d.ts","sourceRoot":"","sources":["../../../src/composables/useDatatableSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,6BAA6B,EAC9B,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,OAAO,EAEP,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAQ9B,eAAO,MAAM,qBAAqB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,kEAMpE;IACD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;IAChD,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAA;IAC1D,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC/C,aAAa,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAC7C;;;;0BAoC8B,MAAM;;;CAmDpC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createI18n, i18nTComponent } from '@kong-ui-public/i18n';
|
|
2
|
+
import english from '../locales/en.json';
|
|
3
|
+
interface UseI18nReturn {
|
|
4
|
+
i18n: ReturnType<typeof createI18n<typeof english>>;
|
|
5
|
+
i18nT: ReturnType<typeof i18nTComponent<typeof english>>;
|
|
6
|
+
}
|
|
7
|
+
export default function useI18n(): UseI18nReturn;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=useI18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useI18n.d.ts","sourceRoot":"","sources":["../../../src/composables/useI18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,OAAO,MAAM,oBAAoB,CAAA;AAExC,UAAU,aAAa;IACrB,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAA;IACnD,KAAK,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,OAAO,OAAO,CAAC,CAAC,CAAA;CACzD;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,IAAI,aAAa,CAO/C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TableDataGridConfig, TableDataGridHeader } from '../types';
|
|
2
|
+
import type { GridApi } from 'ag-grid-community';
|
|
3
|
+
import type { Ref } from 'vue';
|
|
4
|
+
export declare const useTableDataGridConfig: <Row extends Record<string, any>>({ tableConfig, emitTableConfigUpdate, headers, pageSize, onTableConfigChange, }: {
|
|
5
|
+
tableConfig: Readonly<Ref<TableDataGridConfig | undefined>>;
|
|
6
|
+
emitTableConfigUpdate: (config: TableDataGridConfig) => void;
|
|
7
|
+
headers: Readonly<Ref<Array<TableDataGridHeader<Row>>>>;
|
|
8
|
+
pageSize: Readonly<Ref<number>>;
|
|
9
|
+
onTableConfigChange?: (nextConfig: TableDataGridConfig, previousConfig: TableDataGridConfig) => void;
|
|
10
|
+
}) => {
|
|
11
|
+
activePageSize: import("vue").ComputedRef<number>;
|
|
12
|
+
applyTableConfig: (api?: GridApi<Row>) => void;
|
|
13
|
+
getGridConfig: (api: GridApi<Row>) => TableDataGridConfig;
|
|
14
|
+
resolvedColumnVisibility: import("vue").ComputedRef<Record<string, boolean>>;
|
|
15
|
+
resolvedSort: import("vue").ComputedRef<{
|
|
16
|
+
sortColumnKey: string | undefined;
|
|
17
|
+
sortColumnOrder: import("..").TableDataGridSortColumnOrder | undefined;
|
|
18
|
+
}>;
|
|
19
|
+
resolvedTableConfig: import("vue").ComputedRef<TableDataGridConfig>;
|
|
20
|
+
captureGridConfig: (api: GridApi<Row>) => void;
|
|
21
|
+
patchTableConfig: (partial: Partial<TableDataGridConfig>) => void;
|
|
22
|
+
updateTableConfig: (nextConfig: Partial<TableDataGridConfig>) => void;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=useTableDataGridConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableDataGridConfig.d.ts","sourceRoot":"","sources":["../../../src/composables/useTableDataGridConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAU9B,eAAO,MAAM,sBAAsB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,iFAMrE;IACD,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAA;IAC3D,qBAAqB,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;IAC5D,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/B,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,mBAAmB,KAAK,IAAI,CAAA;CACrG;;6BA8CiC,OAAO,CAAC,GAAG,CAAC;yBAVhB,OAAO,CAAC,GAAG,CAAC;;;;;;;6BAMR,OAAO,CAAC,GAAG,CAAC;gCAbT,OAAO,CAAC,mBAAmB,CAAC;oCAZxB,OAAO,CAAC,mBAAmB,CAAC;CAgEpE,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { TableDataGridConfig, TableDataGridFetcher, TableDataGridFetcherParams } from '../types';
|
|
2
|
+
import type { IDatasource } from 'ag-grid-community';
|
|
3
|
+
import type { Ref } from 'vue';
|
|
4
|
+
type RefreshOptions = {
|
|
5
|
+
pageSize?: number;
|
|
6
|
+
sortColumnKey?: TableDataGridConfig['sortColumnKey'];
|
|
7
|
+
sortColumnOrder?: TableDataGridConfig['sortColumnOrder'];
|
|
8
|
+
};
|
|
9
|
+
type FetcherParamSources = {
|
|
10
|
+
mode: Readonly<Ref<TableDataGridFetcherParams['mode']>>;
|
|
11
|
+
pageSize: Readonly<Ref<TableDataGridFetcherParams['pageSize']>>;
|
|
12
|
+
search: Readonly<Ref<TableDataGridFetcherParams['search']>>;
|
|
13
|
+
sortColumnKey: Readonly<Ref<TableDataGridFetcherParams['sortColumnKey']>>;
|
|
14
|
+
sortColumnOrder: Readonly<Ref<TableDataGridFetcherParams['sortColumnOrder']>>;
|
|
15
|
+
filterSelection: Readonly<Ref<TableDataGridFetcherParams['filterSelection']>>;
|
|
16
|
+
};
|
|
17
|
+
export declare const useTableDataGridFetchers: <Row extends Record<string, any>>({ fetcher, fetcherParams, }: {
|
|
18
|
+
fetcher: Readonly<Ref<TableDataGridFetcher<Row>>>;
|
|
19
|
+
fetcherParams: FetcherParamSources;
|
|
20
|
+
}) => {
|
|
21
|
+
currentPage: Ref<number, number>;
|
|
22
|
+
datasource: Ref<IDatasource | undefined, IDatasource | undefined>;
|
|
23
|
+
fetchPage: (page: number, options?: RefreshOptions) => Promise<void>;
|
|
24
|
+
fetchError: Ref<unknown, unknown>;
|
|
25
|
+
hasFetched: Ref<boolean, boolean>;
|
|
26
|
+
hasNextPageWhenTotalUnknown: Ref<boolean, boolean>;
|
|
27
|
+
isFetching: import("vue").ComputedRef<boolean>;
|
|
28
|
+
refresh: (options?: RefreshOptions) => void;
|
|
29
|
+
rowData: import("vue").ShallowRef<Row[], Row[]>;
|
|
30
|
+
totalRows: Ref<number | undefined, number | undefined>;
|
|
31
|
+
};
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=useTableDataGridFetchers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableDataGridFetchers.d.ts","sourceRoot":"","sources":["../../../src/composables/useTableDataGridFetchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAE3B,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAG9B,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAA;IACpD,eAAe,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;CACzD,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAC/D,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3D,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IACzE,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAC7E,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;CAC9E,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,6BAGvE;IACD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACjD,aAAa,EAAE,mBAAmB,CAAA;CACnC;;;sBA2ES,MAAM,YACH,cAAc;;;;;wBAkJC,cAAc;;;CA0BzC,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import TableDataGrid from './components/TableDataGrid.vue';
|
|
2
|
+
import TableDataGridColumnVisibilityMenu from './components/TableDataGridColumnVisibilityMenu.vue';
|
|
3
|
+
export { TableDataGrid, TableDataGridColumnVisibilityMenu, };
|
|
4
|
+
export * from './types';
|
|
5
|
+
export { toTableDataGridConfig, toTablePreferences, toTableSortPayload, } from './utils/tablePreferencesInterop';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,gCAAgC,CAAA;AAC1D,OAAO,iCAAiC,MAAM,oDAAoD,CAAA;AAElG,OAAO,EACL,aAAa,EACb,iCAAiC,GAClC,CAAA;AAED,cAAc,SAAS,CAAA;AACvB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iCAAiC,CAAA"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { ColDef, GridOptions } from 'ag-grid-community';
|
|
2
|
+
import type { Filter, FilterGroupFilters, FilterGroupSelection } from '@kong/kongponents';
|
|
3
|
+
export type TableDataGridMode = 'pagination' | 'infinite';
|
|
4
|
+
export type TableDataGridSortColumnOrder = 'asc' | 'desc';
|
|
5
|
+
export type TableDataGridSort = {
|
|
6
|
+
sortColumnKey?: string;
|
|
7
|
+
sortColumnOrder?: TableDataGridSortColumnOrder;
|
|
8
|
+
};
|
|
9
|
+
export type TableDataGridPinnedState = 'left' | 'right' | false;
|
|
10
|
+
export type TableDataGridState = 'loading' | 'error' | 'success' | 'empty';
|
|
11
|
+
export type TableDataGridStatePayload = {
|
|
12
|
+
state: TableDataGridState;
|
|
13
|
+
hasData: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type TableDataGridTeleportTarget = string | HTMLElement;
|
|
16
|
+
export type TableDataGridToolbarSlotProps<Row extends Record<string, any> = Record<string, any>> = {
|
|
17
|
+
selectedRows: Row[];
|
|
18
|
+
filterSelection: FilterGroupSelection;
|
|
19
|
+
filters: FilterGroupFilters;
|
|
20
|
+
search: string;
|
|
21
|
+
updateFilterSelection: (selection: FilterGroupSelection) => void;
|
|
22
|
+
updateSearch: (search: string) => void;
|
|
23
|
+
refresh: () => void;
|
|
24
|
+
};
|
|
25
|
+
export type TableDataGridConfig = {
|
|
26
|
+
columnOrder?: string[];
|
|
27
|
+
columnVisibility?: Record<string, boolean>;
|
|
28
|
+
columnWidths?: Record<string, number>;
|
|
29
|
+
pinnedColumns?: Record<string, TableDataGridPinnedState>;
|
|
30
|
+
sortColumnKey?: string;
|
|
31
|
+
sortColumnOrder?: TableDataGridSortColumnOrder;
|
|
32
|
+
pageSize?: number;
|
|
33
|
+
};
|
|
34
|
+
export type TableDataGridHeader<Row extends Record<string, any> = Record<string, any>> = {
|
|
35
|
+
key: string;
|
|
36
|
+
label: string;
|
|
37
|
+
sortable?: boolean;
|
|
38
|
+
hideable?: boolean;
|
|
39
|
+
hideLabel?: boolean;
|
|
40
|
+
disableRowClick?: boolean;
|
|
41
|
+
tooltip?: string;
|
|
42
|
+
width?: number;
|
|
43
|
+
minWidth?: number;
|
|
44
|
+
maxWidth?: number;
|
|
45
|
+
resizable?: boolean;
|
|
46
|
+
draggable?: boolean;
|
|
47
|
+
pinned?: TableDataGridPinnedState;
|
|
48
|
+
filter?: Filter;
|
|
49
|
+
agGridColumnOptions?: Partial<ColDef<Row>>;
|
|
50
|
+
};
|
|
51
|
+
export type TableDataGridFetcherParams = {
|
|
52
|
+
mode: TableDataGridMode;
|
|
53
|
+
page?: number;
|
|
54
|
+
pageSize: number;
|
|
55
|
+
startRow?: number;
|
|
56
|
+
endRow?: number;
|
|
57
|
+
cursor?: any;
|
|
58
|
+
sortColumnKey?: string;
|
|
59
|
+
sortColumnOrder?: TableDataGridSortColumnOrder;
|
|
60
|
+
search?: string;
|
|
61
|
+
filterSelection?: FilterGroupSelection;
|
|
62
|
+
};
|
|
63
|
+
export type TableDataGridFetcherResult<Row extends Record<string, any> = Record<string, any>> = {
|
|
64
|
+
data: Row[];
|
|
65
|
+
total?: number;
|
|
66
|
+
cursor?: any;
|
|
67
|
+
hasMore?: boolean;
|
|
68
|
+
};
|
|
69
|
+
export type TableDataGridFetcher<Row extends Record<string, any> = Record<string, any>> = (params: TableDataGridFetcherParams) => Promise<TableDataGridFetcherResult<Row>>;
|
|
70
|
+
export type TableDataGridRowSelectionMode = 'none' | 'single' | 'multiple';
|
|
71
|
+
export type TableDataGridRowKey<Row extends Record<string, any> = Record<string, any>> = Extract<keyof Row, string>;
|
|
72
|
+
export type TableDataGridCellSlotProps<Row extends Record<string, any> = Record<string, any>> = {
|
|
73
|
+
row: Row;
|
|
74
|
+
rowValue: any;
|
|
75
|
+
column: TableDataGridHeader<Row>;
|
|
76
|
+
rowIndex: number;
|
|
77
|
+
refreshCell: () => void;
|
|
78
|
+
selected: boolean;
|
|
79
|
+
};
|
|
80
|
+
export type TableDataGridRowAttrs<Row extends Record<string, any> = Record<string, any>> = (row: Row) => Record<string, unknown>;
|
|
81
|
+
export type TableDataGridCellAttrs<Row extends Record<string, any> = Record<string, any>> = (params: {
|
|
82
|
+
row: Row;
|
|
83
|
+
rowValue: any;
|
|
84
|
+
column: TableDataGridHeader<Row>;
|
|
85
|
+
rowIndex: number;
|
|
86
|
+
colIndex: number;
|
|
87
|
+
}) => Record<string, unknown>;
|
|
88
|
+
export type TableDataGridGridOptions<Row extends Record<string, any> = Record<string, any>> = GridOptions<Row>;
|
|
89
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../src/utils/headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD,eAAO,MAAM,gBAAgB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9D,QAAQ,mBAAmB,CAAC,GAAG,CAAC,KAC/B,OAAkC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rowKey.d.ts","sourceRoot":"","sources":["../../../src/utils/rowKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD,eAAO,MAAM,cAAc,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5D,KAAK,GAAG,EACR,QAAQ,mBAAmB,CAAC,GAAG,CAAC,KAC/B,MAAmC,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { TableDataGridConfig, TableDataGridHeader } from '../types';
|
|
2
|
+
import type { ColumnState, GridApi } from 'ag-grid-community';
|
|
3
|
+
export declare const createDefaultTableDataGridConfig: <Row extends Record<string, any> = Record<string, any>>({ headers, pageSize, }: {
|
|
4
|
+
headers: Array<TableDataGridHeader<Row>>;
|
|
5
|
+
pageSize: number;
|
|
6
|
+
}) => TableDataGridConfig;
|
|
7
|
+
export declare const getSortKey: (config: Pick<TableDataGridConfig, "sortColumnKey" | "sortColumnOrder">) => string;
|
|
8
|
+
export declare const hasConfiguredColumnWidths: (config: TableDataGridConfig) => boolean;
|
|
9
|
+
export declare const createResolvedTableConfig: <Row extends Record<string, any>>({ config, headers, pageSize, }: {
|
|
10
|
+
config?: TableDataGridConfig;
|
|
11
|
+
headers: Array<TableDataGridHeader<Row>>;
|
|
12
|
+
pageSize: number;
|
|
13
|
+
}) => TableDataGridConfig;
|
|
14
|
+
export declare const normalizeTableConfig: (config?: Partial<TableDataGridConfig>) => TableDataGridConfig;
|
|
15
|
+
/**
|
|
16
|
+
* Guards controlled tableConfig updates from feeding AG Grid state changes back
|
|
17
|
+
* into the parent when the persisted config is already structurally identical.
|
|
18
|
+
* Reference equality is not enough because every normalization/grid read creates
|
|
19
|
+
* fresh arrays and records. Keep this wrapper around isEqual so callers compare
|
|
20
|
+
* only the synced config fields, and so explicit pinnedColumns false entries stay
|
|
21
|
+
* meaningful: false unpins a header that may otherwise be pinned by default.
|
|
22
|
+
*/
|
|
23
|
+
export declare const normalizedTableConfigsEqual: (left: TableDataGridConfig, right: TableDataGridConfig) => boolean;
|
|
24
|
+
export declare const mergeColumnOrder: (configOrder: string[], allKeys: string[]) => string[];
|
|
25
|
+
export declare const buildColumnStateFromConfig: <Row extends Record<string, any>>({ config, headers, isColumnOrderResolved, }: {
|
|
26
|
+
config: TableDataGridConfig;
|
|
27
|
+
headers: Array<TableDataGridHeader<Row>>;
|
|
28
|
+
isColumnOrderResolved?: boolean;
|
|
29
|
+
}) => ColumnState[];
|
|
30
|
+
export declare const getConfigFromGrid: <Row extends Record<string, any>>({ api, headers, pageSize, }: {
|
|
31
|
+
api: GridApi;
|
|
32
|
+
headers: Array<TableDataGridHeader<Row>>;
|
|
33
|
+
pageSize: number;
|
|
34
|
+
}) => TableDataGridConfig;
|
|
35
|
+
//# sourceMappingURL=tableConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableConfig.d.ts","sourceRoot":"","sources":["../../../src/utils/tableConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAEpB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAI7D,eAAO,MAAM,gCAAgC,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,wBAGrG;IACD,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAA;CACjB,KAAG,mBAMF,CAAA;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,IAAI,CAAC,mBAAmB,EAAE,eAAe,GAAG,iBAAiB,CAAC,KAAG,MAMnG,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,QAAQ,mBAAmB,KAAG,OAEvE,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gCAIxE;IACD,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAA;CACjB,KAAG,mBAaH,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,SAAS,OAAO,CAAC,mBAAmB,CAAC,KACpC,mBAQD,CAAA;AAqDF;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,GACtC,MAAM,mBAAmB,EACzB,OAAO,mBAAmB,KACzB,OAQF,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,aAAa,MAAM,EAAE,EACrB,SAAS,MAAM,EAAE,KAChB,MAAM,EASR,CAAA;AAmBD,eAAO,MAAM,0BAA0B,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,6CAIzE;IACD,MAAM,EAAE,mBAAmB,CAAA;IAC3B,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,KAAG,WAAW,EAwBd,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,6BAIhE;IACD,GAAG,EAAE,OAAO,CAAA;IACZ,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAA;CACjB,KAAG,mBAmBH,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TableDataGridConfig } from '../types';
|
|
2
|
+
import type { TablePreferences, TableSortPayload } from '@kong/kongponents';
|
|
3
|
+
export declare const toTableDataGridConfig: (tablePreferences?: TablePreferences) => TableDataGridConfig;
|
|
4
|
+
export declare const toTablePreferences: (tableDataGridConfig?: TableDataGridConfig) => TablePreferences;
|
|
5
|
+
export declare const toTableSortPayload: (tableDataGridConfig: TableDataGridConfig, previousTablePreferences?: TablePreferences) => TableSortPayload;
|
|
6
|
+
//# sourceMappingURL=tablePreferencesInterop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tablePreferencesInterop.d.ts","sourceRoot":"","sources":["../../../src/utils/tablePreferencesInterop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAc3E,eAAO,MAAM,qBAAqB,GAChC,mBAAmB,gBAAgB,KAClC,mBAMD,CAAA;AAEF,eAAO,MAAM,kBAAkB,GAC7B,sBAAsB,mBAAmB,KACxC,gBAMD,CAAA;AAEF,eAAO,MAAM,kBAAkB,GAC7B,qBAAqB,mBAAmB,EACxC,2BAA2B,gBAAgB,KAC1C,gBAMD,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@kong-ui-public/table-data-grid",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/table-data-grid.umd.js",
|
|
6
|
+
"module": "./dist/table-data-grid.es.js",
|
|
7
|
+
"types": "dist/types/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/types/index.d.ts",
|
|
14
|
+
"import": "./dist/table-data-grid.es.js",
|
|
15
|
+
"require": "./dist/table-data-grid.umd.js"
|
|
16
|
+
},
|
|
17
|
+
"./package.json": "./package.json",
|
|
18
|
+
"./dist/*": "./dist/*"
|
|
19
|
+
},
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"dev": "cross-env USE_SANDBOX=true vite",
|
|
25
|
+
"build": "run-s typecheck build:package build:types",
|
|
26
|
+
"build:package": "vite build -m production",
|
|
27
|
+
"build:analyzer": "BUILD_VISUALIZER='core/table-data-grid' vite build -m production",
|
|
28
|
+
"build:types": "vue-tsc -p './tsconfig.build.json' --emitDeclarationOnly",
|
|
29
|
+
"build:sandbox": "cross-env USE_SANDBOX=true vite build -m production",
|
|
30
|
+
"preview": "cross-env USE_SANDBOX=true vite preview",
|
|
31
|
+
"lint": "eslint",
|
|
32
|
+
"lint:fix": "eslint --fix",
|
|
33
|
+
"stylelint": "stylelint --allow-empty-input './src/**/*.{css,scss,sass,less,styl,vue}'",
|
|
34
|
+
"stylelint:fix": "stylelint --allow-empty-input './src/**/*.{css,scss,sass,less,styl,vue}' --fix",
|
|
35
|
+
"typecheck": "vue-tsc -p './tsconfig.build.json' --noEmit",
|
|
36
|
+
"test:component": "BABEL_ENV=cypress cross-env FORCE_COLOR=1 cypress run --component -b chrome --spec './src/**/*.cy.ts' --project '../../../.'",
|
|
37
|
+
"test:component:open": "BABEL_ENV=cypress cross-env FORCE_COLOR=1 cypress open --component -b chrome --project '../../../.'",
|
|
38
|
+
"test:unit": "cross-env FORCE_COLOR=1 vitest run",
|
|
39
|
+
"test:unit:open": "cross-env FORCE_COLOR=1 vitest --ui"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@kong-ui-public/i18n": "workspace:^",
|
|
43
|
+
"@kong/design-tokens": "1.20.1",
|
|
44
|
+
"@kong/icons": "^1.52.0",
|
|
45
|
+
"@kong/kongponents": "^9.52.11",
|
|
46
|
+
"ag-grid-community": "^34.3.1",
|
|
47
|
+
"ag-grid-vue3": "^34.3.1",
|
|
48
|
+
"vue": "^3.5.33"
|
|
49
|
+
},
|
|
50
|
+
"repository": {
|
|
51
|
+
"type": "git",
|
|
52
|
+
"url": "https://github.com/Kong/public-ui-components.git",
|
|
53
|
+
"directory": "packages/core/table-data-grid"
|
|
54
|
+
},
|
|
55
|
+
"homepage": "https://github.com/Kong/public-ui-components/tree/main/packages/core/table-data-grid",
|
|
56
|
+
"bugs": {
|
|
57
|
+
"url": "https://github.com/Kong/public-ui-components/issues"
|
|
58
|
+
},
|
|
59
|
+
"author": "Kong, Inc.",
|
|
60
|
+
"license": "Apache-2.0",
|
|
61
|
+
"volta": {
|
|
62
|
+
"extends": "../../../package.json"
|
|
63
|
+
},
|
|
64
|
+
"distSizeChecker": {
|
|
65
|
+
"errorLimit": "300KB"
|
|
66
|
+
},
|
|
67
|
+
"peerDependencies": {
|
|
68
|
+
"@kong-ui-public/i18n": "workspace:^",
|
|
69
|
+
"@kong/icons": "^1.52.0",
|
|
70
|
+
"@kong/kongponents": "^9.52.11",
|
|
71
|
+
"vue": "^3.5.33"
|
|
72
|
+
},
|
|
73
|
+
"dependencies": {
|
|
74
|
+
"@vueuse/core": "^14.2.1",
|
|
75
|
+
"ag-grid-community": "^34.3.1",
|
|
76
|
+
"ag-grid-vue3": "^34.3.1",
|
|
77
|
+
"lodash-es": "^4.18.1"
|
|
78
|
+
}
|
|
79
|
+
}
|