feat: add configurable data table filtering and update API endpoints for the example module
This commit is contained in:
@@ -39,13 +39,15 @@ import { RowActionMenu } from './components/row-actions';
|
||||
import { BulkActionMenu } from './components/bulk-actions';
|
||||
import { ActionConfirmationModal, ACTION_TRANSLATION_MAP } from '../action-confirmation-modal';
|
||||
import { BulkActionConfirmationModal } from '../bulk-action-confirmation';
|
||||
import { TableFilterDrawer } from './components/table-filter-drawer';
|
||||
import { TableFilterDrawer, TableFilterConfig } from './components/table-filter-drawer';
|
||||
import { TableSettingDrawer } from './components/table-setting-drawer';
|
||||
import { EntityId } from '../../../../../../core-api/src/data-services/types';
|
||||
|
||||
export * from 'ag-grid-community';
|
||||
export * from 'ag-grid-react';
|
||||
|
||||
export type { TableFilterConfig };
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Types & Interfaces
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -119,6 +121,11 @@ export interface EnterpriseDataTableProps<E extends BaseEntity> extends Omit<AgG
|
||||
onBulkClickCancel?: (data: E[]) => void;
|
||||
onBulkClickRollback?: (data: E[]) => void;
|
||||
onBulkClickHold?: (data: E[]) => void;
|
||||
|
||||
/**
|
||||
* Configuration for the Filter Drawer
|
||||
*/
|
||||
filterConfig?: TableFilterConfig<any>;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -158,6 +165,7 @@ export function EnterpriseDataTable<E extends BaseEntity>(props: EnterpriseDataT
|
||||
cancelModalConfig,
|
||||
rollbackModalConfig,
|
||||
holdModalConfig,
|
||||
filterConfig,
|
||||
|
||||
// Bulk action props
|
||||
customBulkActions,
|
||||
@@ -178,7 +186,7 @@ export function EnterpriseDataTable<E extends BaseEntity>(props: EnterpriseDataT
|
||||
// ---------------------------------------------------------------------------
|
||||
const { t } = useEnterpriseModuleTranslationContext();
|
||||
const { dataServices } = useEnterpriseModuleDataServiceContext<E>();
|
||||
const { selectedRows, setSelectedRows, metaData, setMetaData } = useEnterpriseModuleSelectionContext<E>();
|
||||
const { selectedRows, setSelectedRows, metaData, setMetaData, filterData, setFilterData } = useEnterpriseModuleSelectionContext<E>();
|
||||
const navigation = useEnterpriseModuleNavigationContext();
|
||||
|
||||
const { config } = useEnterpriseModuleConfigContext();
|
||||
@@ -789,6 +797,11 @@ export function EnterpriseDataTable<E extends BaseEntity>(props: EnterpriseDataT
|
||||
opened={openedFilter}
|
||||
onClose={closeFilter}
|
||||
title={t('common:filterTitle', { module: moduleTitle })}
|
||||
config={filterConfig}
|
||||
currentFilterData={filterData}
|
||||
onFilter={(data) => {
|
||||
console.log('Filter applied:', data);
|
||||
}}
|
||||
/>
|
||||
|
||||
<TableSettingDrawer
|
||||
|
||||
Reference in New Issue
Block a user