@appcorp/stellar-solutions-modules 0.1.55 → 0.1.58
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/global-modules/bank/bank.d.ts +7 -1
- package/global-modules/bank/bank.js +5 -19
- package/global-modules/bank/constants.js +5 -5
- package/global-modules/bank/context.js +39 -41
- package/global-modules/bank/drawer.d.ts +0 -4
- package/global-modules/bank/drawer.js +8 -6
- package/global-modules/bank/form.d.ts +0 -3
- package/global-modules/bank/form.js +16 -13
- package/global-modules/bank/types.d.ts +2 -22
- package/global-modules/bank/validate.js +2 -2
- package/global-modules/branch/branch.d.ts +7 -1
- package/global-modules/branch/branch.js +6 -16
- package/global-modules/branch/constants.js +1 -1
- package/global-modules/branch/context.js +35 -21
- package/global-modules/branch/drawer.d.ts +0 -4
- package/global-modules/branch/drawer.js +8 -6
- package/global-modules/branch/form.d.ts +0 -3
- package/global-modules/branch/form.js +11 -12
- package/global-modules/branch/types.d.ts +9 -106
- package/global-modules/branch/validate.js +6 -6
- package/global-modules/currency/actions.d.ts +203 -0
- package/global-modules/currency/actions.js +153 -0
- package/global-modules/currency/constants.d.ts +33 -0
- package/global-modules/currency/constants.js +71 -0
- package/global-modules/currency/context.d.ts +41 -0
- package/global-modules/currency/context.js +422 -0
- package/global-modules/currency/currency.d.ts +8 -0
- package/global-modules/currency/currency.js +57 -0
- package/global-modules/currency/drawer.d.ts +27 -0
- package/global-modules/currency/drawer.js +76 -0
- package/global-modules/currency/form.d.ts +19 -0
- package/global-modules/currency/form.js +52 -0
- package/global-modules/currency/reducer.d.ts +25 -0
- package/global-modules/currency/reducer.js +153 -0
- package/global-modules/currency/types.d.ts +163 -0
- package/global-modules/currency/types.js +44 -0
- package/global-modules/currency/validate.d.ts +9 -0
- package/global-modules/currency/validate.js +18 -0
- package/global-modules/payment-mode/constants.js +1 -1
- package/global-modules/payment-mode/context.js +7 -9
- package/global-modules/payment-mode/drawer.d.ts +0 -4
- package/global-modules/payment-mode/drawer.js +8 -6
- package/global-modules/payment-mode/form.d.ts +0 -3
- package/global-modules/payment-mode/form.js +6 -7
- package/global-modules/payment-mode/payment-mode.d.ts +1 -1
- package/global-modules/payment-mode/payment-mode.js +38 -38
- package/global-modules/payment-mode/types.d.ts +12 -223
- package/global-modules/payment-mode/types.js +1 -9
- package/global-modules/payment-mode/validate.js +2 -2
- package/global-modules/preferences/constants.d.ts +0 -4
- package/global-modules/preferences/constants.js +14 -17
- package/global-modules/preferences/context.js +2 -1
- package/global-modules/preferences/preferences.js +2 -6
- package/global-modules/preferences/types.d.ts +14 -240
- package/global-modules/preferences/types.js +3 -6
- package/global-modules/tax/constants.js +1 -1
- package/global-modules/tax/context.js +8 -4
- package/global-modules/tax/drawer.d.ts +0 -4
- package/global-modules/tax/drawer.js +8 -6
- package/global-modules/tax/form.d.ts +0 -4
- package/global-modules/tax/form.js +6 -7
- package/global-modules/tax/tax.d.ts +1 -1
- package/global-modules/tax/tax.js +37 -37
- package/global-modules/tax/types.d.ts +9 -254
- package/global-modules/tax/types.js +1 -9
- package/i18n/routing.d.ts +1 -1
- package/package.json +3 -3
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
"use strict";
|
|
2
3
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
5
|
};
|
|
5
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
+
exports.BankPage = void 0;
|
|
7
8
|
var react_1 = __importDefault(require("react"));
|
|
8
9
|
var next_intl_1 = require("next-intl");
|
|
9
10
|
var util_functions_1 = require("@react-pakistan/util-functions");
|
|
@@ -13,25 +14,10 @@ var sonner_1 = require("@appcorp/shadcn/components/sonner");
|
|
|
13
14
|
var constants_1 = require("./constants");
|
|
14
15
|
var context_1 = require("./context");
|
|
15
16
|
var drawer_1 = require("./drawer");
|
|
16
|
-
var
|
|
17
|
+
var BankPage = function () {
|
|
17
18
|
var t = (0, next_intl_1.useTranslations)("bank");
|
|
18
19
|
var _a = (0, context_1.useBankStateContext)(), banks = _a.banks, count = _a.count, currentPage = _a.currentPage, handleNextClick = _a.handleNextClick, handlePageLimit = _a.handlePageLimit, handlePreviousClick = _a.handlePreviousClick, headerActions = _a.headerActions, listLoading = _a.listLoading, pageLimit = _a.pageLimit, rowActions = _a.rowActions, searchOnChange = _a.searchOnChange, searchQuery = _a.searchQuery;
|
|
19
20
|
var isRTL = (0, use_rtl_1.useRTL)();
|
|
20
|
-
var translationMap = {
|
|
21
|
-
formLabelBankName: t("formLabelBankName"),
|
|
22
|
-
formLabelBankAddress: t("formLabelBankAddress"),
|
|
23
|
-
formLabelAccountTitle: t("formLabelAccountTitle"),
|
|
24
|
-
formLabelAccountNumber: t("formLabelAccountNumber"),
|
|
25
|
-
formLabelIBAN: t("formLabelIBAN"),
|
|
26
|
-
formLabelSwiftCode: t("formLabelSwiftCode"),
|
|
27
|
-
headingFormCreate: t("headingFormCreate"),
|
|
28
|
-
srCloseDrawer: t("srCloseDrawer"),
|
|
29
|
-
cancelBtn: t("cancelBtn"),
|
|
30
|
-
saveBtn: t("saveBtn"),
|
|
31
|
-
enableDescription: t("enableDescription"),
|
|
32
|
-
setAsDefault: t("setAsDefault"),
|
|
33
|
-
defaultDescription: t("defaultDescription"),
|
|
34
|
-
};
|
|
35
21
|
var tableHeadItems = [
|
|
36
22
|
{
|
|
37
23
|
label: t("tableColumnHeaderId"),
|
|
@@ -77,7 +63,7 @@ var Bank = function () {
|
|
|
77
63
|
var totalPages = (0, util_functions_1.calculatePages)(count, pageLimit);
|
|
78
64
|
return (react_1.default.createElement("div", { className: "space-y-4 ".concat(isRTL ? "rtl" : "ltr"), dir: isRTL ? "rtl" : "ltr" },
|
|
79
65
|
react_1.default.createElement(enhanced_table_1.EnhancedTable, { currentPage: Number(currentPage), handleNextOnClick: handleNextClick, handleOnSelect: handlePageLimit, handlePreviousOnClick: handlePreviousClick, handleSearchInput: searchOnChange, headerActions: headerActions, isNextDisabled: (0, util_functions_1.isNextButtonDisabled)(currentPage, totalPages), isPreviousDisabled: (0, util_functions_1.isPreviousButtonDisabled)(currentPage), listOptions: (0, util_functions_1.getAvailablePageLimits)(count), loading: listLoading, nodeSelectKey: "pageLimit", pageLimit: pageLimit, rowActions: rowActions, searchDisabled: false, searchEnabled: true, searchId: "bank-search", searchPlaceholder: t("tableSearchPlaceholder"), searchValue: searchQuery, tableBodyCols: constants_1.tableBodyCols, tableBodyRows: banks, tableDescription: t("tableDescription"), tableHeadItems: tableHeadItems, tableHeading: t("tableTitle"), totalPages: Number(totalPages) }),
|
|
80
|
-
react_1.default.createElement(drawer_1.BankDrawer, { isRTL: isRTL
|
|
66
|
+
react_1.default.createElement(drawer_1.BankDrawer, { isRTL: isRTL }),
|
|
81
67
|
react_1.default.createElement(sonner_1.Toaster, null)));
|
|
82
68
|
};
|
|
83
|
-
exports.
|
|
69
|
+
exports.BankPage = BankPage;
|
|
@@ -51,12 +51,16 @@ exports.tableBodyCols = [
|
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
|
|
54
|
-
key: "
|
|
54
|
+
key: "bankAddress",
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
|
|
58
58
|
key: "accountTitle",
|
|
59
59
|
},
|
|
60
|
+
{
|
|
61
|
+
componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
|
|
62
|
+
key: "accountNumber",
|
|
63
|
+
},
|
|
60
64
|
{
|
|
61
65
|
componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
|
|
62
66
|
key: "iban",
|
|
@@ -73,10 +77,6 @@ exports.tableBodyCols = [
|
|
|
73
77
|
componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.BOOLEAN,
|
|
74
78
|
key: "isDefault",
|
|
75
79
|
},
|
|
76
|
-
{
|
|
77
|
-
componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
|
|
78
|
-
key: "createdAt",
|
|
79
|
-
},
|
|
80
80
|
{
|
|
81
81
|
componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.ACTIONS,
|
|
82
82
|
key: "action",
|
|
@@ -87,7 +87,6 @@ var reducer_1 = require("./reducer");
|
|
|
87
87
|
var toast_utils_1 = require("@appcorp/shadcn/lib/toast-utils");
|
|
88
88
|
var types_1 = require("./types");
|
|
89
89
|
var validate_1 = require("./validate");
|
|
90
|
-
var context_1 = require("../preferences/context");
|
|
91
90
|
// ============================================================================
|
|
92
91
|
// MAIN HOOK
|
|
93
92
|
// ============================================================================
|
|
@@ -96,7 +95,6 @@ var useBankState = function () {
|
|
|
96
95
|
// STATE & CORE HOOKS
|
|
97
96
|
// ---------------------------------------------------------------------------
|
|
98
97
|
var _a = (0, react_1.useReducer)(reducer_1.bankReducer, reducer_1.initialBankState), state = _a[0], dispatch = _a[1];
|
|
99
|
-
var activeTab = (0, context_1.usePreferenceStateContext)().activeTab;
|
|
100
98
|
var theme = (0, next_themes_1.useTheme)().theme;
|
|
101
99
|
var t = (0, next_intl_1.useTranslations)("bank");
|
|
102
100
|
var tCommon = (0, next_intl_1.useTranslations)("common");
|
|
@@ -122,6 +120,7 @@ var useBankState = function () {
|
|
|
122
120
|
iban: state.iban,
|
|
123
121
|
swiftCode: state.swiftCode,
|
|
124
122
|
isDefault: state.isDefault,
|
|
123
|
+
preferenceId: "preference-1",
|
|
125
124
|
}); }, [
|
|
126
125
|
state.id,
|
|
127
126
|
state.accountNumber,
|
|
@@ -158,25 +157,24 @@ var useBankState = function () {
|
|
|
158
157
|
var listCallback = (0, react_1.useCallback)(function (_a) {
|
|
159
158
|
var data = _a.data, error = _a.error;
|
|
160
159
|
if (error) {
|
|
161
|
-
showErrorToast(
|
|
160
|
+
showErrorToast(t("messagesNetworkError"));
|
|
162
161
|
return;
|
|
163
162
|
}
|
|
164
|
-
if (data) {
|
|
165
|
-
var banks = data.data, count = data.count;
|
|
163
|
+
if (data === null || data === void 0 ? void 0 : data.items) {
|
|
166
164
|
dispatch({
|
|
167
165
|
type: actions_1.BANK_ACTION_TYPES.SET_BANKS,
|
|
168
|
-
payload: { banks:
|
|
166
|
+
payload: { banks: data.items },
|
|
169
167
|
});
|
|
170
168
|
dispatch({
|
|
171
169
|
type: actions_1.BANK_ACTION_TYPES.SET_COUNT,
|
|
172
|
-
payload: { count:
|
|
170
|
+
payload: { count: data === null || data === void 0 ? void 0 : data.count },
|
|
173
171
|
});
|
|
174
172
|
}
|
|
175
|
-
}, [showErrorToast,
|
|
173
|
+
}, [showErrorToast, t]);
|
|
176
174
|
var updateCallback = (0, react_1.useCallback)(function (_a) {
|
|
177
175
|
var data = _a.data, error = _a.error;
|
|
178
176
|
if (error) {
|
|
179
|
-
showErrorToast(
|
|
177
|
+
showErrorToast(t("messagesNetworkError"));
|
|
180
178
|
return;
|
|
181
179
|
}
|
|
182
180
|
if (data) {
|
|
@@ -192,11 +190,11 @@ var useBankState = function () {
|
|
|
192
190
|
payload: { drawer: null },
|
|
193
191
|
});
|
|
194
192
|
}
|
|
195
|
-
}, [showErrorToast, showSuccessToast, t
|
|
193
|
+
}, [showErrorToast, showSuccessToast, t]);
|
|
196
194
|
var deleteCallback = (0, react_1.useCallback)(function (_a) {
|
|
197
195
|
var data = _a.data, error = _a.error;
|
|
198
196
|
if (error) {
|
|
199
|
-
showErrorToast(
|
|
197
|
+
showErrorToast(typeof "messagesNetworkError");
|
|
200
198
|
return;
|
|
201
199
|
}
|
|
202
200
|
if (data) {
|
|
@@ -205,11 +203,11 @@ var useBankState = function () {
|
|
|
205
203
|
type: actions_1.BANK_ACTION_TYPES.RESET_FORM,
|
|
206
204
|
});
|
|
207
205
|
}
|
|
208
|
-
}, [showErrorToast, showSuccessToast, t
|
|
206
|
+
}, [showErrorToast, showSuccessToast, t]);
|
|
209
207
|
var byIdCallback = (0, react_1.useCallback)(function (_a) {
|
|
210
208
|
var data = _a.data, error = _a.error;
|
|
211
209
|
if (error) {
|
|
212
|
-
showErrorToast(
|
|
210
|
+
showErrorToast(t("messagesNetworkError"));
|
|
213
211
|
return;
|
|
214
212
|
}
|
|
215
213
|
if (data) {
|
|
@@ -218,7 +216,7 @@ var useBankState = function () {
|
|
|
218
216
|
payload: { form: data },
|
|
219
217
|
});
|
|
220
218
|
}
|
|
221
|
-
}, [showErrorToast,
|
|
219
|
+
}, [showErrorToast, t]);
|
|
222
220
|
// ---------------------------------------------------------------------------
|
|
223
221
|
// MODULE ENTITY HOOK
|
|
224
222
|
// ---------------------------------------------------------------------------
|
|
@@ -241,17 +239,16 @@ var useBankState = function () {
|
|
|
241
239
|
// EFFECTS (list refresh)
|
|
242
240
|
// ---------------------------------------------------------------------------
|
|
243
241
|
(0, react_1.useEffect)(function () {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
}, [activeTab, listFetchNow]);
|
|
242
|
+
listFetchNow();
|
|
243
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
244
|
+
}, [debouncedQuery, state.currentPage, state.pageLimit]);
|
|
248
245
|
// ---------------------------------------------------------------------------
|
|
249
246
|
// DRAWER & MODAL HANDLERS
|
|
250
247
|
// ---------------------------------------------------------------------------
|
|
251
|
-
var closeDrawer =
|
|
248
|
+
var closeDrawer = function () {
|
|
252
249
|
dispatch({ type: actions_1.BANK_ACTION_TYPES.SET_DRAWER, payload: { drawer: null } });
|
|
253
250
|
dispatch({ type: actions_1.BANK_ACTION_TYPES.RESET_FORM });
|
|
254
|
-
}
|
|
251
|
+
};
|
|
255
252
|
// ---------------------------------------------------------------------------
|
|
256
253
|
// CRUD OPERATION HANDLERS
|
|
257
254
|
// ---------------------------------------------------------------------------
|
|
@@ -296,6 +293,9 @@ var useBankState = function () {
|
|
|
296
293
|
// FORM HANDLERS
|
|
297
294
|
// ---------------------------------------------------------------------------
|
|
298
295
|
var handleInputChange = (0, react_1.useCallback)(function (key, value) {
|
|
296
|
+
dispatch({
|
|
297
|
+
type: actions_1.BANK_ACTION_TYPES.RESET_ERRORS,
|
|
298
|
+
});
|
|
299
299
|
dispatch({
|
|
300
300
|
type: actions_1.BANK_ACTION_TYPES.SET_INPUT_FIELD,
|
|
301
301
|
payload: { key: key, value: value },
|
|
@@ -310,63 +310,61 @@ var useBankState = function () {
|
|
|
310
310
|
},
|
|
311
311
|
errorCallback: function (errors) {
|
|
312
312
|
dispatch({ type: actions_1.BANK_ACTION_TYPES.SET_ERRORS, payload: { errors: errors } });
|
|
313
|
-
(
|
|
314
|
-
variant: toast_utils_1.TOAST_VARIANT.ERROR,
|
|
315
|
-
description: tCommon("messagesValidationError"),
|
|
316
|
-
});
|
|
313
|
+
showErrorToast(tCommon("messagesValidationError"));
|
|
317
314
|
},
|
|
318
315
|
});
|
|
319
|
-
}, [updateParams, updateFetchNow, tCommon]);
|
|
316
|
+
}, [updateParams, updateFetchNow, showErrorToast, tCommon]);
|
|
320
317
|
// ---------------------------------------------------------------------------
|
|
321
318
|
// PAGINATION HANDLERS
|
|
322
319
|
// ---------------------------------------------------------------------------
|
|
323
|
-
var handleNextClick =
|
|
320
|
+
var handleNextClick = function () {
|
|
324
321
|
dispatch({
|
|
325
322
|
type: actions_1.BANK_ACTION_TYPES.SET_CURRENT_PAGE,
|
|
326
323
|
payload: { currentPage: state.currentPage + 1 },
|
|
327
324
|
});
|
|
328
|
-
}
|
|
329
|
-
var handlePreviousClick =
|
|
325
|
+
};
|
|
326
|
+
var handlePreviousClick = function () {
|
|
330
327
|
dispatch({
|
|
331
328
|
type: actions_1.BANK_ACTION_TYPES.SET_CURRENT_PAGE,
|
|
332
329
|
payload: { currentPage: state.currentPage - 1 },
|
|
333
330
|
});
|
|
334
|
-
}
|
|
335
|
-
var handlePageLimit =
|
|
331
|
+
};
|
|
332
|
+
var handlePageLimit = function (k, v) {
|
|
333
|
+
var val = __assign({}, v);
|
|
336
334
|
dispatch({
|
|
337
335
|
type: actions_1.BANK_ACTION_TYPES.SET_PAGE_LIMIT,
|
|
338
|
-
payload: { pageLimit:
|
|
336
|
+
payload: { pageLimit: Number(val.option) },
|
|
339
337
|
});
|
|
340
|
-
}
|
|
338
|
+
};
|
|
341
339
|
// ---------------------------------------------------------------------------
|
|
342
340
|
// SEARCH HANDLERS
|
|
343
341
|
// ---------------------------------------------------------------------------
|
|
344
|
-
var searchOnChange =
|
|
342
|
+
var searchOnChange = function (k, v) {
|
|
345
343
|
dispatch({
|
|
346
344
|
type: actions_1.BANK_ACTION_TYPES.SET_SEARCH_QUERY,
|
|
347
345
|
payload: { searchQuery: v },
|
|
348
346
|
});
|
|
349
|
-
}
|
|
350
|
-
var clearSearch =
|
|
347
|
+
};
|
|
348
|
+
var clearSearch = function () {
|
|
351
349
|
dispatch({
|
|
352
350
|
type: actions_1.BANK_ACTION_TYPES.SET_SEARCH_QUERY,
|
|
353
351
|
payload: { searchQuery: "" },
|
|
354
352
|
});
|
|
355
|
-
}
|
|
353
|
+
};
|
|
356
354
|
// ---------------------------------------------------------------------------
|
|
357
355
|
// TABLE ACTIONS (memoized)
|
|
358
356
|
// ---------------------------------------------------------------------------
|
|
359
357
|
var headerActions = (0, react_1.useMemo)(function () { return [
|
|
360
358
|
{
|
|
361
|
-
enabled:
|
|
359
|
+
enabled: false,
|
|
362
360
|
handleOnClick: handleFilterDrawer,
|
|
363
|
-
label: t("
|
|
361
|
+
label: t("tableHeaderActionFilter"),
|
|
364
362
|
order: 1,
|
|
365
363
|
},
|
|
366
364
|
{
|
|
367
365
|
enabled: true,
|
|
368
366
|
handleOnClick: handleCreate,
|
|
369
|
-
label: t("
|
|
367
|
+
label: t("tableHeaderActionAddItem"),
|
|
370
368
|
order: 2,
|
|
371
369
|
},
|
|
372
370
|
]; }, [handleFilterDrawer, handleCreate, t]);
|
|
@@ -374,13 +372,13 @@ var useBankState = function () {
|
|
|
374
372
|
{
|
|
375
373
|
enabled: true,
|
|
376
374
|
handleAction: handleEdit,
|
|
377
|
-
label: t("
|
|
375
|
+
label: t("tableHeaderActionEdit"),
|
|
378
376
|
order: 1,
|
|
379
377
|
},
|
|
380
378
|
{
|
|
381
379
|
enabled: true,
|
|
382
380
|
handleAction: handleDelete,
|
|
383
|
-
label: t("
|
|
381
|
+
label: t("tableHeaderActionDelete"),
|
|
384
382
|
order: 2,
|
|
385
383
|
},
|
|
386
384
|
]; }, [handleEdit, handleDelete, t]);
|
|
@@ -22,10 +22,6 @@ import { FC } from "react";
|
|
|
22
22
|
interface BankDrawerProps {
|
|
23
23
|
/** Whether the interface is in RTL (Right-to-Left) mode */
|
|
24
24
|
isRTL: boolean;
|
|
25
|
-
/** Translation map for internationalization */
|
|
26
|
-
translationMap: {
|
|
27
|
-
[key: string]: string;
|
|
28
|
-
};
|
|
29
25
|
}
|
|
30
26
|
export declare const BankDrawer: FC<BankDrawerProps>;
|
|
31
27
|
export {};
|
|
@@ -30,6 +30,7 @@ var button_1 = require("@appcorp/shadcn/components/button");
|
|
|
30
30
|
var drawer_1 = require("@appcorp/shadcn/components/drawer");
|
|
31
31
|
var context_1 = require("./context");
|
|
32
32
|
var form_1 = require("./form");
|
|
33
|
+
var next_intl_1 = require("next-intl");
|
|
33
34
|
// ============================================================================
|
|
34
35
|
// CONSTANTS
|
|
35
36
|
// ============================================================================
|
|
@@ -43,10 +44,11 @@ var getDrawerDirection = function (isRTL) {
|
|
|
43
44
|
// COMPONENT
|
|
44
45
|
// ============================================================================
|
|
45
46
|
var BankDrawer = function (_a) {
|
|
47
|
+
var isRTL = _a.isRTL;
|
|
48
|
+
var t = (0, next_intl_1.useTranslations)("bank");
|
|
46
49
|
// ============================================================================
|
|
47
50
|
// HOOKS & STATE
|
|
48
51
|
// ============================================================================
|
|
49
|
-
var isRTL = _a.isRTL, translationMap = _a.translationMap;
|
|
50
52
|
var _b = (0, context_1.useBankStateContext)(), closeDrawer = _b.closeDrawer, disableSaveButton = _b.disableSaveButton, drawer = _b.drawer, handleSubmit = _b.handleSubmit;
|
|
51
53
|
// ============================================================================
|
|
52
54
|
// COMPUTED VALUES
|
|
@@ -59,17 +61,17 @@ var BankDrawer = function (_a) {
|
|
|
59
61
|
return (react_1.default.createElement(drawer_1.Drawer, { open: isDrawerOpen, onOpenChange: function (open) { return !open && closeDrawer(); }, direction: drawerDirection },
|
|
60
62
|
react_1.default.createElement(drawer_1.DrawerContent, { className: "h-full ".concat(DRAWER_WIDTH, " ").concat(isRTL ? "rtl" : "ltr"), dir: isRTL ? "rtl" : "ltr" },
|
|
61
63
|
react_1.default.createElement(drawer_1.DrawerHeader, { className: "flex-row items-center justify-between border-b pb-4 ".concat(isRTL ? "flex-row-reverse" : "") },
|
|
62
|
-
react_1.default.createElement(drawer_1.DrawerTitle, { className: "text-xl font-semibold flex items-center ".concat(isRTL ? "flex-row-reverse gap-2" : "gap-2") }, (
|
|
64
|
+
react_1.default.createElement(drawer_1.DrawerTitle, { className: "text-xl font-semibold flex items-center ".concat(isRTL ? "flex-row-reverse gap-2" : "gap-2") }, t("drawerTitleProduct")),
|
|
63
65
|
react_1.default.createElement(drawer_1.DrawerClose, { asChild: true },
|
|
64
66
|
react_1.default.createElement(button_1.Button, { variant: "ghost", size: "icon", className: "h-8 w-8" },
|
|
65
67
|
react_1.default.createElement(lucide_react_1.X, { className: "h-4 w-4" }),
|
|
66
|
-
react_1.default.createElement("span", { className: "sr-only" }, (
|
|
68
|
+
react_1.default.createElement("span", { className: "sr-only" }, t("drawerButtonClose"))))),
|
|
67
69
|
react_1.default.createElement("div", { className: "flex-1 overflow-y-auto px-4 py-6 ".concat(isRTL ? "text-right" : "text-left") },
|
|
68
|
-
react_1.default.createElement(form_1.Form, { isRTL: isRTL
|
|
70
|
+
react_1.default.createElement(form_1.Form, { isRTL: isRTL })),
|
|
69
71
|
react_1.default.createElement(drawer_1.DrawerFooter, { className: "border-t pt-4" },
|
|
70
72
|
react_1.default.createElement("div", { className: "flex gap-2 ".concat(isRTL ? "flex-row-reverse" : "") },
|
|
71
|
-
react_1.default.createElement(button_1.Button, { variant: "outline", onClick: closeDrawer, className: "flex-1", type: "button" }, (
|
|
72
|
-
react_1.default.createElement(button_1.Button, { onClick: handleSubmit, disabled: disableSaveButton, className: "flex-1", type: "button" }, (
|
|
73
|
+
react_1.default.createElement(button_1.Button, { variant: "outline", onClick: closeDrawer, className: "flex-1", type: "button" }, t("drawerButtonClose")),
|
|
74
|
+
react_1.default.createElement(button_1.Button, { onClick: handleSubmit, disabled: disableSaveButton, className: "flex-1", type: "button" }, t("drawerButtonSave")))))));
|
|
73
75
|
};
|
|
74
76
|
exports.BankDrawer = BankDrawer;
|
|
75
77
|
// ============================================================================
|
|
@@ -23,10 +23,9 @@ var input_1 = require("@appcorp/shadcn/components/input");
|
|
|
23
23
|
var switch_1 = require("@appcorp/shadcn/components/switch");
|
|
24
24
|
var context_1 = require("./context");
|
|
25
25
|
var Form = function (_a) {
|
|
26
|
-
var isRTL = _a.isRTL
|
|
27
|
-
var t = (0, next_intl_1.useTranslations)("
|
|
28
|
-
var
|
|
29
|
-
var _b = (0, context_1.useBankStateContext)(), accountNumber = _b.accountNumber, bankAddress = _b.bankAddress, bankName = _b.bankName, enabled = _b.enabled, errors = _b.errors, handleInputChange = _b.handleInputChange, iban = _b.iban, isDefault = _b.isDefault, swiftCode = _b.swiftCode;
|
|
26
|
+
var isRTL = _a.isRTL;
|
|
27
|
+
var t = (0, next_intl_1.useTranslations)("bank");
|
|
28
|
+
var _b = (0, context_1.useBankStateContext)(), accountNumber = _b.accountNumber, accountTitle = _b.accountTitle, bankAddress = _b.bankAddress, bankName = _b.bankName, enabled = _b.enabled, errors = _b.errors, handleInputChange = _b.handleInputChange, iban = _b.iban, isDefault = _b.isDefault, swiftCode = _b.swiftCode;
|
|
30
29
|
// Helper function to translate validation error keys
|
|
31
30
|
var getTranslatedError = function (key) {
|
|
32
31
|
if (!errors[key])
|
|
@@ -41,22 +40,26 @@ var Form = function (_a) {
|
|
|
41
40
|
react_1.default.createElement("div", { className: "space-y-4" },
|
|
42
41
|
react_1.default.createElement("div", { className: "space-y-4" },
|
|
43
42
|
react_1.default.createElement("div", { className: "space-y-2" },
|
|
44
|
-
react_1.default.createElement(input_1.Input, { id: "bankName", type: "text", label: (
|
|
43
|
+
react_1.default.createElement(input_1.Input, { id: "bankName", type: "text", label: t("formLabelBankName"), value: bankName || "", onChange: function (e) { return handleInputChange("bankName", e.target.value); }, placeholder: t("formPlaceholderBankName"), info: t("formInfoBankName"), error: getTranslatedError("bankName"), required: true })),
|
|
45
44
|
react_1.default.createElement("div", { className: "space-y-2" },
|
|
46
|
-
react_1.default.createElement(input_1.Input, { id: "
|
|
45
|
+
react_1.default.createElement(input_1.Input, { id: "accountTitle", type: "text", label: t("formLabelAccountTitle"), value: accountTitle || "", onChange: function (e) {
|
|
46
|
+
return handleInputChange("accountTitle", e.target.value);
|
|
47
|
+
}, placeholder: t("formPlaceholderAccountTitle"), info: t("formInfoAccountTitle"), error: getTranslatedError("accountTitle"), required: true })),
|
|
47
48
|
react_1.default.createElement("div", { className: "space-y-2" },
|
|
48
|
-
react_1.default.createElement(input_1.Input, { id: "accountNumber", type: "text", label: (
|
|
49
|
+
react_1.default.createElement(input_1.Input, { id: "accountNumber", type: "text", label: t("formLabelAccountNumber"), value: accountNumber || "", onChange: function (e) {
|
|
49
50
|
return handleInputChange("accountNumber", e.target.value);
|
|
50
|
-
}, placeholder: t("
|
|
51
|
+
}, placeholder: t("formPlaceholderAccountNumber"), info: t("formInfoAccountNumber"), error: getTranslatedError("accountNumber"), required: true }))),
|
|
52
|
+
react_1.default.createElement("div", { className: "space-y-2" },
|
|
53
|
+
react_1.default.createElement(input_1.Input, { id: "bankAddress", type: "text", label: t("formLabelBankAddress"), value: bankAddress || "", onChange: function (e) { return handleInputChange("bankAddress", e.target.value); }, placeholder: t("formPlaceholderBankAddress"), info: t("formInfoBankAddress"), error: getTranslatedError("bankAddress") })),
|
|
51
54
|
react_1.default.createElement("div", { className: "space-y-4" },
|
|
52
55
|
react_1.default.createElement("div", { className: "space-y-2" },
|
|
53
|
-
react_1.default.createElement(input_1.Input, { id: "iban", type: "text", label: (
|
|
56
|
+
react_1.default.createElement(input_1.Input, { id: "iban", type: "text", label: t("formLabelIBAN"), value: iban || "", onChange: function (e) { return handleInputChange("iban", e.target.value); }, placeholder: t("formPlaceholderIBAN"), info: t("formInfoIBAN"), error: getTranslatedError("iban") })),
|
|
54
57
|
react_1.default.createElement("div", { className: "space-y-2" },
|
|
55
|
-
react_1.default.createElement(input_1.Input, { id: "swiftCode", type: "text", label: (
|
|
58
|
+
react_1.default.createElement(input_1.Input, { id: "swiftCode", type: "text", label: t("formLabelSwiftCode"), value: swiftCode || "", onChange: function (e) { return handleInputChange("swiftCode", e.target.value); }, placeholder: t("formPlaceholderSwiftCode"), info: t("formInfoSwiftCode"), error: getTranslatedError("swiftCode") }))),
|
|
56
59
|
react_1.default.createElement("div", { className: "space-y-4" },
|
|
57
|
-
react_1.default.createElement(switch_1.Switch, { label: (
|
|
58
|
-
react_1.default.createElement(switch_1.Switch, { label: (
|
|
60
|
+
react_1.default.createElement(switch_1.Switch, { label: t("formLabelEnabled"), id: "enabled", checked: enabled || false, onCheckedChange: function (checked) { return handleInputChange("enabled", checked); }, info: t("formInfoEnabled"), error: getTranslatedError("enabled") }),
|
|
61
|
+
react_1.default.createElement(switch_1.Switch, { label: t("formLabelDefault"), id: "isDefault", checked: isDefault || false, onCheckedChange: function (checked) {
|
|
59
62
|
return handleInputChange("isDefault", checked);
|
|
60
|
-
}, info:
|
|
63
|
+
}, info: t("formInfoDefault"), error: getTranslatedError("isDefault") })))));
|
|
61
64
|
};
|
|
62
65
|
exports.Form = Form;
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
import { Dispatch } from "react";
|
|
26
26
|
import { RowAction, HeaderAction } from "@appcorp/shadcn/components/enhanced-table";
|
|
27
27
|
import { BankActions } from "./actions";
|
|
28
|
-
import {
|
|
28
|
+
import { BankBE as BankTypeBE } from "@react-pakistan/util-functions/api/stellar-solutions/type";
|
|
29
29
|
/**
|
|
30
30
|
* Bank Context Interface
|
|
31
31
|
*
|
|
@@ -53,27 +53,7 @@ export interface BankContextType {
|
|
|
53
53
|
headerActions: HeaderAction[];
|
|
54
54
|
rowActions: RowAction[];
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
* Bank Backend Entity
|
|
58
|
-
*
|
|
59
|
-
* Represents the complete bank data structure as received from the API.
|
|
60
|
-
* Includes all bank-specific fields and account details.
|
|
61
|
-
*/
|
|
62
|
-
export interface BankTypeBE {
|
|
63
|
-
accountNumber: string;
|
|
64
|
-
accountTitle: string;
|
|
65
|
-
bankAddress?: string;
|
|
66
|
-
bankName: string;
|
|
67
|
-
createdAt: string;
|
|
68
|
-
enabled: boolean;
|
|
69
|
-
iban?: string;
|
|
70
|
-
id: string;
|
|
71
|
-
isDefault: boolean;
|
|
72
|
-
swiftCode?: string;
|
|
73
|
-
updatedAt: string;
|
|
74
|
-
preference: PreferenceTypeBE;
|
|
75
|
-
preferenceId: string;
|
|
76
|
-
}
|
|
56
|
+
export type { BankTypeBE };
|
|
77
57
|
/**
|
|
78
58
|
* Bank Component State
|
|
79
59
|
*
|
|
@@ -4,8 +4,8 @@ exports.formValidation = void 0;
|
|
|
4
4
|
var zod_1 = require("zod");
|
|
5
5
|
// Validation error keys for i18n translation
|
|
6
6
|
var VALIDATION_KEYS = {
|
|
7
|
-
accountNumberRequired: "
|
|
8
|
-
accountTitleRequired: "
|
|
7
|
+
accountNumberRequired: "validationAccountNumberRequired",
|
|
8
|
+
accountTitleRequired: "validationAccountTitleRequired",
|
|
9
9
|
bankNameRequired: "validationBankNameRequired",
|
|
10
10
|
preferenceIdRequired: "validationBankPreferenceIdRequired",
|
|
11
11
|
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
"use strict";
|
|
2
3
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
5
|
};
|
|
5
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
+
exports.BranchPage = void 0;
|
|
7
8
|
var react_1 = __importDefault(require("react"));
|
|
8
9
|
var next_intl_1 = require("next-intl");
|
|
9
10
|
var util_functions_1 = require("@react-pakistan/util-functions");
|
|
@@ -13,21 +14,10 @@ var sonner_1 = require("@appcorp/shadcn/components/sonner");
|
|
|
13
14
|
var constants_1 = require("./constants");
|
|
14
15
|
var context_1 = require("./context");
|
|
15
16
|
var drawer_1 = require("./drawer");
|
|
16
|
-
var
|
|
17
|
+
var BranchPage = function () {
|
|
17
18
|
var _a = (0, context_1.useBranchStateContext)(), branches = _a.branches, count = _a.count, currentPage = _a.currentPage, handleNextClick = _a.handleNextClick, handlePageLimit = _a.handlePageLimit, handlePreviousClick = _a.handlePreviousClick, headerActions = _a.headerActions, listLoading = _a.listLoading, pageLimit = _a.pageLimit, rowActions = _a.rowActions, searchOnChange = _a.searchOnChange, searchQuery = _a.searchQuery;
|
|
18
19
|
var t = (0, next_intl_1.useTranslations)("branch");
|
|
19
20
|
var isRTL = (0, use_rtl_1.useRTL)();
|
|
20
|
-
var translationMap = {
|
|
21
|
-
formLabelBranchName: t("formLabelBranchName"),
|
|
22
|
-
formLabelBranchAddress: t("formLabelBranchAddress"),
|
|
23
|
-
formLabelPersonName: t("formLabelPersonName"),
|
|
24
|
-
formLabelPersonPhone: t("formLabelPersonPhone"),
|
|
25
|
-
formLabelPersonEmail: t("formLabelPersonEmail"),
|
|
26
|
-
headingFormCreate: t("headingFormCreate"),
|
|
27
|
-
srCloseDrawer: t("srCloseDrawer"),
|
|
28
|
-
cancelBtn: t("cancelBtn"),
|
|
29
|
-
saveBtn: t("saveBtn"),
|
|
30
|
-
};
|
|
31
21
|
var tableHeadItems = [
|
|
32
22
|
{
|
|
33
23
|
label: t("tableColumnHeaderId"),
|
|
@@ -72,8 +62,8 @@ var Branch = function () {
|
|
|
72
62
|
];
|
|
73
63
|
var totalPages = (0, util_functions_1.calculatePages)(count, pageLimit);
|
|
74
64
|
return (react_1.default.createElement("div", { className: "space-y-4 ".concat(isRTL ? "rtl" : "ltr"), dir: isRTL ? "rtl" : "ltr" },
|
|
75
|
-
react_1.default.createElement(enhanced_table_1.EnhancedTable, { currentPage: Number(currentPage), handleNextOnClick: handleNextClick, handleOnSelect: handlePageLimit, handlePreviousOnClick: handlePreviousClick, handleSearchInput: searchOnChange, headerActions: headerActions, isNextDisabled: (0, util_functions_1.isNextButtonDisabled)(currentPage, totalPages), isPreviousDisabled: (0, util_functions_1.isPreviousButtonDisabled)(currentPage), listOptions: (0, util_functions_1.getAvailablePageLimits)(count), loading: listLoading, nodeSelectKey: "pageLimit", pageLimit: pageLimit, rowActions: rowActions, searchDisabled: false, searchEnabled: true, searchId: "branch-search", searchPlaceholder: t("
|
|
76
|
-
react_1.default.createElement(drawer_1.BranchDrawer, { isRTL: isRTL
|
|
65
|
+
react_1.default.createElement(enhanced_table_1.EnhancedTable, { currentPage: Number(currentPage), handleNextOnClick: handleNextClick, handleOnSelect: handlePageLimit, handlePreviousOnClick: handlePreviousClick, handleSearchInput: searchOnChange, headerActions: headerActions, isNextDisabled: (0, util_functions_1.isNextButtonDisabled)(currentPage, totalPages), isPreviousDisabled: (0, util_functions_1.isPreviousButtonDisabled)(currentPage), listOptions: (0, util_functions_1.getAvailablePageLimits)(count), loading: listLoading, nodeSelectKey: "pageLimit", pageLimit: pageLimit, rowActions: rowActions, searchDisabled: false, searchEnabled: true, searchId: "branch-search", searchPlaceholder: t("tableSearchPlaceholder"), searchValue: searchQuery, tableBodyCols: constants_1.tableBodyCols, tableBodyRows: branches, tableDescription: t("tableDescription"), tableHeadItems: tableHeadItems, tableHeading: t("tableTitle"), totalPages: Number(totalPages) }),
|
|
66
|
+
react_1.default.createElement(drawer_1.BranchDrawer, { isRTL: isRTL }),
|
|
77
67
|
react_1.default.createElement(sonner_1.Toaster, null)));
|
|
78
68
|
};
|
|
79
|
-
exports.
|
|
69
|
+
exports.BranchPage = BranchPage;
|