@react-pakistan/util-functions 1.25.59 → 1.25.62

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.
@@ -22,6 +22,8 @@ export interface ComponentConfig {
22
22
  formDrawerValue?: string;
23
23
  moduleName: string;
24
24
  moreActionsContent: React.ReactNode;
25
+ numberOfFilters?: number;
26
+ onClearFilters: () => void;
25
27
  saveLabel?: string;
26
28
  searchPlaceholder: string;
27
29
  size?: 'small' | 'medium' | 'large' | 'full';
@@ -30,7 +32,6 @@ export interface ComponentConfig {
30
32
  tableTitle: string;
31
33
  viewContent: React.ReactNode;
32
34
  viewDrawerValue?: string;
33
- numberOfFilters?: number;
34
35
  }
35
36
  export interface TableBodyCol {
36
37
  key?: string | string[];
@@ -40,10 +41,10 @@ export interface TableBodyCol {
40
41
  interface GenericTableProps {
41
42
  config: ComponentConfig;
42
43
  context: any;
43
- tableBodyCols: TableBodyCol[];
44
44
  headerActions?: HeaderAction[];
45
- rowActions?: any[];
46
45
  iconMap?: Record<string, any>;
46
+ rowActions?: any[];
47
+ tableBodyCols: TableBodyCol[];
47
48
  }
48
49
  export declare const GenericTable: FC<GenericTableProps>;
49
50
  interface GenericDrawerProps {
@@ -59,7 +59,7 @@ exports.DRAWER_TYPES = {
59
59
  MORE_ACTIONS_DRAWER: 'MORE_ACTIONS_DRAWER',
60
60
  };
61
61
  var GenericTable = function (_a) {
62
- var config = _a.config, context = _a.context, tableBodyCols = _a.tableBodyCols, headerActions = _a.headerActions, rowActions = _a.rowActions;
62
+ var config = _a.config, context = _a.context, headerActions = _a.headerActions, rowActions = _a.rowActions, tableBodyCols = _a.tableBodyCols;
63
63
  var isRTL = (0, use_rtl_1.useRTL)();
64
64
  var tableHeadItems = (0, react_1.useMemo)(function () {
65
65
  return config.tableColumns.map(function (col) { return ({
@@ -70,10 +70,13 @@ var GenericTable = function (_a) {
70
70
  var totalPages = (0, general_1.calculatePages)(context.state.count, context.state.pageLimit);
71
71
  // Build header actions from context or props
72
72
  var allHeaderActions = (0, react_1.useMemo)(function () { return headerActions || context.headerActions || []; }, [headerActions, context.headerActions]);
73
+ var numberOfFilters = (0, react_1.useMemo)(function () {
74
+ return Object.keys(context.state).filter(function (k) { return k.startsWith('filter') && !!context.state[k]; }).length;
75
+ }, [context.state]);
73
76
  return (react_1.default.createElement("div", { className: "space-y-4 ".concat(isRTL ? 'rtl' : 'ltr'), dir: isRTL ? 'rtl' : 'ltr' },
74
77
  react_1.default.createElement(enhanced_table_1.EnhancedTable, { currentPage: Number(context.state.currentPage), handleNextOnClick: context.handlePageChange, handleOnSelect: context.handlePageLimitChange, handlePreviousOnClick: function () {
75
78
  return context.handlePageChange(context.state.currentPage - 1);
76
- }, handleSearchInput: context.handleSearch, headerActions: allHeaderActions, isNextDisabled: (0, general_1.isNextButtonDisabled)(context.state.currentPage, totalPages), isPreviousDisabled: (0, general_1.isPreviousButtonDisabled)(context.state.currentPage), listOptions: (0, general_1.getAvailablePageLimits)(context.state.count), loading: context.listLoading, nodeSelectKey: "pageLimit", numberOfFilters: config.numberOfFilters, pageLimit: context.state.pageLimit, rowActions: rowActions || context.rowActions || [], searchDisabled: false, searchEnabled: true, searchId: "".concat(config.moduleName.toLowerCase(), "-search"), searchPlaceholder: config.searchPlaceholder, searchValue: context.state.searchQuery, tableBodyCols: tableBodyCols, tableBodyRows: context.state.items, tableDescription: config.tableDescription, tableHeading: config.tableTitle, tableHeadItems: tableHeadItems, totalPages: Number(totalPages) })));
79
+ }, handleSearchInput: context.handleSearch, headerActions: allHeaderActions, isNextDisabled: (0, general_1.isNextButtonDisabled)(context.state.currentPage, totalPages), isPreviousDisabled: (0, general_1.isPreviousButtonDisabled)(context.state.currentPage), listOptions: (0, general_1.getAvailablePageLimits)(context.state.count), loading: context.listLoading, nodeSelectKey: "pageLimit", numberOfFilters: numberOfFilters, onClearFilters: config.onClearFilters, pageLimit: context.state.pageLimit, rowActions: rowActions || context.rowActions || [], searchDisabled: false, searchEnabled: true, searchId: "".concat(config.moduleName.toLowerCase(), "-search"), searchPlaceholder: config.searchPlaceholder, searchValue: context.state.searchQuery, tableBodyCols: tableBodyCols, tableBodyRows: context.state.items, tableDescription: config.tableDescription, tableHeading: config.tableTitle, tableHeadItems: tableHeadItems, totalPages: Number(totalPages) })));
77
80
  };
78
81
  exports.GenericTable = GenericTable;
79
82
  var GenericDrawer = function (_a) {
@@ -108,7 +111,7 @@ var createGenericModulePage = function (config) {
108
111
  var context = _a.context, tableBodyCols = _a.tableBodyCols, headerActions = _a.headerActions, rowActions = _a.rowActions, iconMap = _a.iconMap;
109
112
  return (react_1.default.createElement("div", { className: "space-y-6" },
110
113
  react_1.default.createElement(exports.GenericTable, { config: config, context: context, tableBodyCols: tableBodyCols, headerActions: headerActions, rowActions: rowActions, iconMap: iconMap }),
111
- react_1.default.createElement(exports.GenericDrawer, { config: config, context: context, formContent: config.formContent, viewContent: config.viewContent, filterContent: config.filterContent, moreActionsContent: config.moreActionsContent }),
114
+ react_1.default.createElement(exports.GenericDrawer, { config: config, context: context, filterContent: config.filterContent, formContent: config.formContent, moreActionsContent: config.moreActionsContent, viewContent: config.viewContent }),
112
115
  react_1.default.createElement(sonner_1.Toaster, null)));
113
116
  };
114
117
  return GenericModulePage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-pakistan/util-functions",
3
- "version": "1.25.59",
3
+ "version": "1.25.62",
4
4
  "description": "A library of all util functions",
5
5
  "main": "index.js",
6
6
  "scripts": {