diff --git a/frontend/src/lib/components/apps/components/display/table/AppAggridTable.svelte b/frontend/src/lib/components/apps/components/display/table/AppAggridTable.svelte index bf35c8a295..5dcaf39e00 100644 --- a/frontend/src/lib/components/apps/components/display/table/AppAggridTable.svelte +++ b/frontend/src/lib/components/apps/components/display/table/AppAggridTable.svelte @@ -77,7 +77,9 @@ loading: false, page: 0, newChange: { row: 0, column: '', value: undefined }, - ready: undefined as boolean | undefined + ready: undefined as boolean | undefined, + filters: {}, + displayedRowCount: 0 }) let selectedRowIndex = -1 @@ -177,6 +179,7 @@ state = e?.api?.getState() resolvedConfig?.extraConfig?.['onStateUpdated']?.(e) }, + onGridReady: (e) => { outputs?.ready.set(true) value = value @@ -196,6 +199,11 @@ onSelectionChanged(e.api) resolvedConfig?.extraConfig?.['onSelectionChanged']?.(e) }, + onFilterChanged: (e) => { + outputs?.filters?.set(e.api.getFilterModel()) + outputs?.displayedRowCount?.set(e.api.getDisplayedRowCount()) + resolvedConfig?.extraConfig?.['onFilterChanged']?.(e) + }, getRowId: (data) => data.data['__index'] }, {} @@ -234,6 +242,12 @@ function updateValue() { api?.updateGridOptions({ rowData: value }) + + const displayedRowCount = api?.getDisplayedRowCount() + if (displayedRowCount) { + outputs?.displayedRowCount?.set(displayedRowCount) + } + if (api) { onSelectionChanged(api) } diff --git a/frontend/src/lib/components/wizards/AgGridWizard.svelte b/frontend/src/lib/components/wizards/AgGridWizard.svelte index c61c81cd96..77d26c1dc6 100644 --- a/frontend/src/lib/components/wizards/AgGridWizard.svelte +++ b/frontend/src/lib/components/wizards/AgGridWizard.svelte @@ -24,6 +24,7 @@ field: string headerName: string editable: boolean + filter: boolean } export let value: Column | undefined @@ -220,6 +221,23 @@ + +