@react-pakistan/util-functions 1.25.84 → 1.25.88

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.
@@ -15,7 +15,14 @@ export declare const DRAWER_TYPES: {
15
15
  export interface ComponentConfig {
16
16
  cancelLabel?: string;
17
17
  drawerDescription?: string;
18
- drawerTitle: string;
18
+ drawerFormTitle: string;
19
+ drawerFormDescription: string;
20
+ drawerViewTitle: string;
21
+ drawerViewDescription: string;
22
+ drawerFilterTitle: string;
23
+ drawerFilterDescription: string;
24
+ drawerMoreActionsTitle: string;
25
+ drawerMoreActionsDescription: string;
19
26
  filterContent: React.ReactNode;
20
27
  filterDrawerValue?: string;
21
28
  formContent: React.ReactNode;
@@ -73,8 +73,10 @@ var GenericTable = function (_a) {
73
73
  var numberOfFilters = (0, react_1.useMemo)(function () {
74
74
  return Object.keys(context.state).filter(function (k) {
75
75
  if (k.startsWith('filter')) {
76
- return (context.state[k] !== undefined ||
77
- context.state[k] === '');
76
+ return (context.state[k] !== undefined &&
77
+ context.state[k] !== '' &&
78
+ context.state[k] !== null &&
79
+ context.state[k] !== false);
78
80
  }
79
81
  return false;
80
82
  }).length;
@@ -96,15 +98,19 @@ var GenericDrawer = function (_a) {
96
98
  var isFilterDrawer = drawer === exports.DRAWER_TYPES.FILTER_DRAWER;
97
99
  var isMoreActionsDrawer = drawer === exports.DRAWER_TYPES.MORE_ACTIONS_DRAWER;
98
100
  var isOpen = isFormDrawer || isViewDrawer || isFilterDrawer || isMoreActionsDrawer;
99
- var drawerTitle = config.drawerTitle;
100
- var drawerDescription = config.drawerDescription
101
- ? config.drawerDescription
102
- : '';
101
+ var drawerFormTitle = config.drawerFormTitle;
102
+ var drawerFormDescription = config.drawerFormDescription;
103
+ var drawerViewTitle = config.drawerViewTitle;
104
+ var drawerViewDescription = config.drawerViewDescription;
105
+ var drawerFilterTitle = config.drawerFilterTitle;
106
+ var drawerFilterDescription = config.drawerFilterDescription;
107
+ var drawerMoreActionsTitle = config.drawerMoreActionsTitle;
108
+ var drawerMoreActionsDescription = config.drawerMoreActionsDescription;
103
109
  var errors = (_b = context.state.errors) !== null && _b !== void 0 ? _b : {};
104
- var formHeader = isFormDrawer ? (react_1.default.createElement(enhanced_drawer_header_1.EnhancedDrawerHeader, { title: drawerTitle, description: drawerDescription })) : null;
105
- var viewHeader = isViewDrawer ? (react_1.default.createElement(enhanced_drawer_header_1.EnhancedDrawerHeader, { title: drawerTitle, description: drawerDescription })) : null;
106
- var filterHeader = isFilterDrawer ? (react_1.default.createElement(enhanced_drawer_header_1.EnhancedDrawerHeader, { title: drawerTitle, description: drawerDescription })) : null;
107
- var moreActionsHeader = isMoreActionsDrawer ? (react_1.default.createElement(enhanced_drawer_header_1.EnhancedDrawerHeader, { title: drawerTitle, description: drawerDescription })) : null;
110
+ var formHeader = isFormDrawer ? (react_1.default.createElement(enhanced_drawer_header_1.EnhancedDrawerHeader, { title: drawerFormTitle, description: drawerFormDescription })) : null;
111
+ var viewHeader = isViewDrawer ? (react_1.default.createElement(enhanced_drawer_header_1.EnhancedDrawerHeader, { title: drawerViewTitle, description: drawerViewDescription })) : null;
112
+ var filterHeader = isFilterDrawer ? (react_1.default.createElement(enhanced_drawer_header_1.EnhancedDrawerHeader, { title: drawerFilterTitle, description: drawerFilterDescription })) : null;
113
+ var moreActionsHeader = isMoreActionsDrawer ? (react_1.default.createElement(enhanced_drawer_header_1.EnhancedDrawerHeader, { title: drawerMoreActionsTitle, description: drawerMoreActionsDescription })) : null;
108
114
  var formFooter = isFormDrawer ? (react_1.default.createElement(enhanced_drawer_footer_1.EnhancedDrawerFooter, { applyFilters: function () { }, clearFilters: function () { }, closeDrawer: closeDrawer, disableSaveButton: disableSaveButton, drawerType: enhanced_drawer_footer_1.DRAWER_FOOTER_COMPONENT_TYPE.FORM_DRAWER, errors: errors, handleSubmit: context.handleSubmit, updateLoading: (_c = context.updateLoading) !== null && _c !== void 0 ? _c : false })) : null;
109
115
  var viewFooter = isViewDrawer ? (react_1.default.createElement(enhanced_drawer_footer_1.EnhancedDrawerFooter, { applyFilters: function () { }, clearFilters: function () { }, closeDrawer: closeDrawer, disableSaveButton: false, drawerType: enhanced_drawer_footer_1.DRAWER_FOOTER_COMPONENT_TYPE.VIEW_DRAWER, errors: errors, handleSubmit: function () { }, updateLoading: false })) : null;
110
116
  var filterFooter = isFilterDrawer ? (react_1.default.createElement(enhanced_drawer_footer_1.EnhancedDrawerFooter, { applyFilters: (_d = context.applyFilters) !== null && _d !== void 0 ? _d : (function () { }), clearFilters: (_e = context.clearFilters) !== null && _e !== void 0 ? _e : (function () { }), closeDrawer: closeDrawer, disableSaveButton: false, drawerType: enhanced_drawer_footer_1.DRAWER_FOOTER_COMPONENT_TYPE.FILTER_DRAWER, errors: errors, handleSubmit: (_f = context.handleSubmit) !== null && _f !== void 0 ? _f : (function () { }), updateLoading: false })) : null;
@@ -35,20 +35,28 @@ export declare const GENERIC_ACTION_TYPES: {
35
35
  readonly SET_FILTERS: "SET_FILTERS";
36
36
  };
37
37
  export declare const createGenericReducer: <T>(config: ModuleConfig<T>) => (state: T, action: any) => T;
38
- export declare const createGenericModuleHook: <T>(config: ModuleConfig<T>) => () => GenericModuleContext<T>;
38
+ export declare const createGenericModuleHook: <T>(config: ModuleConfig<T>) => () => GenericModuleContextWithHandlers<T>;
39
39
  export declare const createGenericModuleProvider: <T>(config: ModuleConfig<T>) => {
40
40
  Provider: React.FC<{
41
41
  children: React.ReactNode;
42
42
  }>;
43
- useContext: () => GenericModuleContext<T>;
44
- Context: React.Context<GenericModuleContext<T> | undefined>;
43
+ useContext: () => GenericModuleContextWithHandlers<T>;
44
+ Context: React.Context<GenericModuleContextWithHandlers<T> | undefined>;
45
45
  };
46
+ export interface GenericModuleContextWithHandlers<T = any> extends GenericModuleContext<T> {
47
+ handleSearch?: (query: string) => void;
48
+ handlePageChange?: (page: number) => void;
49
+ handlePageLimitChange?: (limit: number) => void;
50
+ handleCloseDrawer?: () => void;
51
+ handleSubmit?: (data: any) => void;
52
+ }
53
+ export declare const createGenericHandlers: <T>(dispatch: React.Dispatch<any>) => Omit<GenericModuleContextWithHandlers<T>, "state" | "dispatch">;
46
54
  export declare const createGenericModule: <T>(config: ModuleConfig<T>) => {
47
55
  reducer: (state: T, action: any) => T;
48
56
  Provider: React.FC<{
49
57
  children: React.ReactNode;
50
58
  }>;
51
- useContext: () => GenericModuleContext<T>;
59
+ useContext: () => GenericModuleContextWithHandlers<T>;
52
60
  config: ModuleConfig<T>;
53
61
  actionTypes: {
54
62
  readonly RESET_FORM: "RESET_FORM";
@@ -64,4 +72,5 @@ export declare const createGenericModule: <T>(config: ModuleConfig<T>) => {
64
72
  readonly SET_FILTERS: "SET_FILTERS";
65
73
  };
66
74
  initialState: T;
75
+ createHandlers: <T_1>(dispatch: React.Dispatch<any>) => Omit<GenericModuleContextWithHandlers<T_1>, "state" | "dispatch">;
67
76
  };
@@ -51,7 +51,7 @@ var __importStar = (this && this.__importStar) || (function () {
51
51
  };
52
52
  })();
53
53
  Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.createGenericModule = exports.createGenericModuleProvider = exports.createGenericModuleHook = exports.createGenericReducer = exports.GENERIC_ACTION_TYPES = void 0;
54
+ exports.createGenericModule = exports.createGenericHandlers = exports.createGenericModuleProvider = exports.createGenericModuleHook = exports.createGenericReducer = exports.GENERIC_ACTION_TYPES = void 0;
55
55
  var react_1 = __importStar(require("react"));
56
56
  // ============================================================================
57
57
  // ACTION TYPES
@@ -112,10 +112,8 @@ exports.createGenericReducer = createGenericReducer;
112
112
  var createGenericModuleHook = function (config) {
113
113
  return function () {
114
114
  var _a = (0, react_1.useReducer)((0, exports.createGenericReducer)(config), config.initialState), state = _a[0], dispatch = _a[1];
115
- return {
116
- state: state,
117
- dispatch: dispatch,
118
- };
115
+ var handlers = (0, exports.createGenericHandlers)(dispatch);
116
+ return __assign({ state: state, dispatch: dispatch }, handlers);
119
117
  };
120
118
  };
121
119
  exports.createGenericModuleHook = createGenericModuleHook;
@@ -144,6 +142,35 @@ var createGenericModuleProvider = function (config) {
144
142
  };
145
143
  };
146
144
  exports.createGenericModuleProvider = createGenericModuleProvider;
145
+ var createGenericHandlers = function (dispatch) {
146
+ return {
147
+ handleSearch: function (query) {
148
+ dispatch({
149
+ type: exports.GENERIC_ACTION_TYPES.SET_SEARCH_QUERY,
150
+ payload: { searchQuery: query },
151
+ });
152
+ },
153
+ handlePageChange: function (page) {
154
+ dispatch({
155
+ type: exports.GENERIC_ACTION_TYPES.SET_CURRENT_PAGE,
156
+ payload: { currentPage: page },
157
+ });
158
+ },
159
+ handlePageLimitChange: function (limit) {
160
+ dispatch({
161
+ type: exports.GENERIC_ACTION_TYPES.SET_PAGE_LIMIT,
162
+ payload: { pageLimit: limit },
163
+ });
164
+ },
165
+ handleCloseDrawer: function () {
166
+ dispatch({
167
+ type: exports.GENERIC_ACTION_TYPES.SET_DRAWER,
168
+ payload: { drawer: null },
169
+ });
170
+ },
171
+ };
172
+ };
173
+ exports.createGenericHandlers = createGenericHandlers;
147
174
  // ============================================================================
148
175
  // MAIN MODULE FACTORY
149
176
  // ============================================================================
@@ -157,6 +184,7 @@ var createGenericModule = function (config) {
157
184
  config: config,
158
185
  actionTypes: exports.GENERIC_ACTION_TYPES,
159
186
  initialState: config.initialState,
187
+ createHandlers: exports.createGenericHandlers,
160
188
  };
161
189
  };
162
190
  exports.createGenericModule = createGenericModule;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-pakistan/util-functions",
3
- "version": "1.25.84",
3
+ "version": "1.25.88",
4
4
  "description": "A library of all util functions",
5
5
  "main": "index.js",
6
6
  "scripts": {