@appcorp/stellar-solutions-modules 0.1.10 → 0.1.12

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.
Files changed (95) hide show
  1. package/global-modules/branch/actions.d.ts +83 -0
  2. package/global-modules/branch/actions.js +18 -0
  3. package/global-modules/branch/branch.d.ts +2 -0
  4. package/global-modules/branch/branch.js +69 -0
  5. package/global-modules/branch/constants.d.ts +35 -0
  6. package/global-modules/branch/constants.js +155 -0
  7. package/global-modules/branch/context.d.ts +10 -0
  8. package/global-modules/branch/context.js +422 -0
  9. package/global-modules/branch/drawer.d.ts +8 -0
  10. package/global-modules/branch/drawer.js +19 -0
  11. package/global-modules/branch/form-elements.d.ts +3 -0
  12. package/global-modules/branch/form-elements.js +41 -0
  13. package/global-modules/branch/form.d.ts +8 -0
  14. package/global-modules/branch/form.js +80 -0
  15. package/global-modules/branch/reducer.d.ts +4 -0
  16. package/global-modules/branch/reducer.js +167 -0
  17. package/global-modules/branch/types.d.ts +255 -0
  18. package/global-modules/branch/types.js +22 -0
  19. package/global-modules/branch/validate.d.ts +30 -0
  20. package/global-modules/branch/validate.js +19 -0
  21. package/global-modules/payment-mode/actions.d.ts +83 -0
  22. package/global-modules/payment-mode/actions.js +18 -0
  23. package/global-modules/payment-mode/constants.d.ts +28 -0
  24. package/global-modules/payment-mode/constants.js +91 -0
  25. package/global-modules/payment-mode/context.d.ts +10 -0
  26. package/global-modules/payment-mode/context.js +418 -0
  27. package/global-modules/payment-mode/drawer.d.ts +8 -0
  28. package/global-modules/payment-mode/drawer.js +19 -0
  29. package/global-modules/payment-mode/form-elements.d.ts +3 -0
  30. package/global-modules/payment-mode/form-elements.js +41 -0
  31. package/global-modules/payment-mode/form.d.ts +8 -0
  32. package/global-modules/payment-mode/form.js +80 -0
  33. package/global-modules/payment-mode/payment-mode.d.ts +2 -0
  34. package/global-modules/payment-mode/payment-mode.js +53 -0
  35. package/global-modules/payment-mode/reducer.d.ts +4 -0
  36. package/global-modules/payment-mode/reducer.js +163 -0
  37. package/global-modules/payment-mode/types.d.ts +251 -0
  38. package/global-modules/payment-mode/types.js +22 -0
  39. package/global-modules/payment-mode/validate.d.ts +18 -0
  40. package/global-modules/payment-mode/validate.js +13 -0
  41. package/global-modules/preferences/actions.d.ts +200 -0
  42. package/global-modules/preferences/actions.js +37 -0
  43. package/global-modules/preferences/bank.d.ts +2 -0
  44. package/global-modules/preferences/bank.js +11 -0
  45. package/global-modules/preferences/branch-drawer.d.ts +8 -0
  46. package/global-modules/preferences/branch-drawer.js +19 -0
  47. package/global-modules/preferences/branch-form-elements.d.ts +3 -0
  48. package/global-modules/preferences/branch-form-elements.js +41 -0
  49. package/global-modules/preferences/branch-form.d.ts +8 -0
  50. package/global-modules/preferences/branch-form.js +81 -0
  51. package/global-modules/preferences/branch.d.ts +2 -0
  52. package/global-modules/preferences/branch.js +69 -0
  53. package/global-modules/preferences/constants.d.ts +70 -0
  54. package/global-modules/preferences/constants.js +400 -0
  55. package/global-modules/preferences/context.d.ts +10 -0
  56. package/global-modules/preferences/context.js +1011 -0
  57. package/global-modules/preferences/currency.d.ts +2 -0
  58. package/global-modules/preferences/currency.js +49 -0
  59. package/global-modules/preferences/payment-mode-drawer.d.ts +8 -0
  60. package/global-modules/preferences/payment-mode-drawer.js +19 -0
  61. package/global-modules/preferences/payment-mode-form-elements.d.ts +3 -0
  62. package/global-modules/preferences/payment-mode-form-elements.js +41 -0
  63. package/global-modules/preferences/payment-mode-form.d.ts +8 -0
  64. package/global-modules/preferences/payment-mode-form.js +81 -0
  65. package/global-modules/preferences/payment-mode.d.ts +2 -0
  66. package/global-modules/preferences/payment-mode.js +57 -0
  67. package/global-modules/preferences/preferences.d.ts +10 -0
  68. package/global-modules/preferences/preferences.js +108 -0
  69. package/global-modules/preferences/reducer.d.ts +4 -0
  70. package/global-modules/preferences/reducer.js +219 -0
  71. package/global-modules/preferences/types.d.ts +333 -0
  72. package/global-modules/preferences/types.js +23 -0
  73. package/global-modules/preferences/validate.d.ts +21 -0
  74. package/global-modules/preferences/validate.js +16 -0
  75. package/global-modules/tax/actions.d.ts +83 -0
  76. package/global-modules/tax/actions.js +18 -0
  77. package/global-modules/tax/constants.d.ts +42 -0
  78. package/global-modules/tax/constants.js +143 -0
  79. package/global-modules/tax/context.d.ts +10 -0
  80. package/global-modules/tax/context.js +420 -0
  81. package/global-modules/tax/drawer.d.ts +8 -0
  82. package/global-modules/tax/drawer.js +19 -0
  83. package/global-modules/tax/form-elements.d.ts +3 -0
  84. package/global-modules/tax/form-elements.js +41 -0
  85. package/global-modules/tax/form.d.ts +8 -0
  86. package/global-modules/tax/form.js +80 -0
  87. package/global-modules/tax/reducer.d.ts +4 -0
  88. package/global-modules/tax/reducer.js +74 -0
  89. package/global-modules/tax/tax.d.ts +2 -0
  90. package/global-modules/tax/tax.js +63 -0
  91. package/global-modules/tax/types.d.ts +253 -0
  92. package/global-modules/tax/types.js +22 -0
  93. package/global-modules/tax/validate.d.ts +24 -0
  94. package/global-modules/tax/validate.js +17 -0
  95. package/package.json +1 -1
@@ -0,0 +1,420 @@
1
+ 'use client';
2
+ "use strict";
3
+ var __assign = (this && this.__assign) || function () {
4
+ __assign = Object.assign || function(t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
+ t[p] = s[p];
9
+ }
10
+ return t;
11
+ };
12
+ return __assign.apply(this, arguments);
13
+ };
14
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ var desc = Object.getOwnPropertyDescriptor(m, k);
17
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
+ desc = { enumerable: true, get: function() { return m[k]; } };
19
+ }
20
+ Object.defineProperty(o, k2, desc);
21
+ }) : (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ }));
25
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
27
+ }) : function(o, v) {
28
+ o["default"] = v;
29
+ });
30
+ var __importStar = (this && this.__importStar) || (function () {
31
+ var ownKeys = function(o) {
32
+ ownKeys = Object.getOwnPropertyNames || function (o) {
33
+ var ar = [];
34
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35
+ return ar;
36
+ };
37
+ return ownKeys(o);
38
+ };
39
+ return function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ })();
47
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
48
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
49
+ return new (P || (P = Promise))(function (resolve, reject) {
50
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
51
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
52
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
53
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
54
+ });
55
+ };
56
+ var __generator = (this && this.__generator) || function (thisArg, body) {
57
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
58
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
59
+ function verb(n) { return function (v) { return step([n, v]); }; }
60
+ function step(op) {
61
+ if (f) throw new TypeError("Generator is already executing.");
62
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
63
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
64
+ if (y = 0, t) op = [op[0] & 2, t.value];
65
+ switch (op[0]) {
66
+ case 0: case 1: t = op; break;
67
+ case 4: _.label++; return { value: op[1], done: false };
68
+ case 5: _.label++; y = op[1]; op = [0]; continue;
69
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
70
+ default:
71
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
72
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
73
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
74
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
75
+ if (t[2]) _.ops.pop();
76
+ _.trys.pop(); continue;
77
+ }
78
+ op = body.call(thisArg, _);
79
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
80
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
81
+ }
82
+ };
83
+ Object.defineProperty(exports, "__esModule", { value: true });
84
+ exports.useTaxStateContext = exports.TaxStateContextProvider = exports.TaxStateContext = void 0;
85
+ var react_1 = __importStar(require("react"));
86
+ var util_functions_1 = require("@react-pakistan/util-functions");
87
+ var vista_notification_type_1 = require("@appcorp/app-corp-vista/type/vista-notification-type");
88
+ var actions_1 = require("./actions");
89
+ var constants_1 = require("./constants");
90
+ var reducer_1 = require("./reducer");
91
+ var types_1 = require("./types");
92
+ var generate_toast_1 = require("@appcorp/app-corp-vista/utils/generate-toast");
93
+ var form_schema_1 = require("@appcorp/app-corp-vista/utils/form-schema");
94
+ var validate_1 = require("./validate");
95
+ var context_1 = require("../preferences/context");
96
+ var useTaxState = function () {
97
+ var _a = (0, react_1.useReducer)(reducer_1.taxReducer, reducer_1.initialTaxState), state = _a[0], dispatch = _a[1];
98
+ var preferences = (0, context_1.usePreferenceStateContext)().preferences;
99
+ var debouncedQuery = (0, util_functions_1.useDebounce)(state.searchQuery, 800);
100
+ var listParams = {
101
+ currentPage: state.currentPage,
102
+ pageLimit: state.pageLimit,
103
+ searchQuery: state.searchQuery,
104
+ };
105
+ var listCallback = function (_a) {
106
+ var data = _a.data, error = _a.error;
107
+ if (error) {
108
+ (0, generate_toast_1.generateToast)({
109
+ variant: vista_notification_type_1.VISTA_NOTIFICATION_V1_VARIANT.ERROR,
110
+ description: constants_1.toastErrors.fetchInvoiceError,
111
+ });
112
+ }
113
+ if (data === null || data === void 0 ? void 0 : data.items) {
114
+ dispatch({
115
+ type: actions_1.TAX_ACTION_TYPES.SET_TAXES,
116
+ payload: { taxes: data.items },
117
+ });
118
+ dispatch({
119
+ type: actions_1.TAX_ACTION_TYPES.SET_COUNT,
120
+ payload: { count: data === null || data === void 0 ? void 0 : data.count },
121
+ });
122
+ }
123
+ };
124
+ var updateParams = (0, react_1.useMemo)(function () {
125
+ var _a;
126
+ return ({
127
+ enabled: state.enabled,
128
+ id: state.id,
129
+ isDefault: state.isDefault,
130
+ preferenceId: (_a = preferences[0]) === null || _a === void 0 ? void 0 : _a.id,
131
+ taxName: state.taxName,
132
+ taxRate: state.taxRate,
133
+ });
134
+ }, [state, preferences]);
135
+ var updateCallback = function (_a) {
136
+ var data = _a.data, error = _a.error;
137
+ if (error) {
138
+ (0, generate_toast_1.generateToast)({
139
+ description: constants_1.toastErrors.networkError,
140
+ variant: vista_notification_type_1.VISTA_NOTIFICATION_V1_VARIANT.ERROR,
141
+ });
142
+ }
143
+ if (data) {
144
+ (0, generate_toast_1.generateToast)({
145
+ description: constants_1.toastErrors.networkError,
146
+ variant: vista_notification_type_1.VISTA_NOTIFICATION_V1_VARIANT.SUCCESS,
147
+ });
148
+ dispatch({
149
+ type: actions_1.TAX_ACTION_TYPES.RESET_FORM,
150
+ });
151
+ listFetchNow();
152
+ dispatch({
153
+ type: actions_1.TAX_ACTION_TYPES.SET_DRAWER,
154
+ payload: { drawer: null },
155
+ });
156
+ }
157
+ };
158
+ var byIdParams = {
159
+ id: state.id,
160
+ };
161
+ var byIdCallback = function (_a) {
162
+ var data = _a.data, error = _a.error;
163
+ if (error) {
164
+ (0, generate_toast_1.generateToast)({
165
+ description: constants_1.toastErrors.networkError,
166
+ variant: vista_notification_type_1.VISTA_NOTIFICATION_V1_VARIANT.ERROR,
167
+ });
168
+ }
169
+ if (data) {
170
+ dispatch({
171
+ type: actions_1.TAX_ACTION_TYPES.SET_FORM,
172
+ payload: { form: __assign(__assign({}, data), { description: data.description || '' }) },
173
+ });
174
+ dispatch({
175
+ type: actions_1.TAX_ACTION_TYPES.SET_DRAWER,
176
+ payload: { drawer: types_1.TAX_DRAWER.FORM_DRAWER },
177
+ });
178
+ }
179
+ };
180
+ var deleteParams = {
181
+ id: state.id,
182
+ };
183
+ var deleteCallback = function (_a) {
184
+ var data = _a.data, error = _a.error;
185
+ if (error) {
186
+ (0, generate_toast_1.generateToast)({
187
+ description: constants_1.toastErrors.networkError,
188
+ variant: vista_notification_type_1.VISTA_NOTIFICATION_V1_VARIANT.ERROR,
189
+ });
190
+ }
191
+ if (data) {
192
+ (0, generate_toast_1.generateToast)({
193
+ description: constants_1.toastErrors.networkError,
194
+ variant: vista_notification_type_1.VISTA_NOTIFICATION_V1_VARIANT.SUCCESS,
195
+ });
196
+ dispatch({
197
+ type: actions_1.TAX_ACTION_TYPES.RESET_FORM,
198
+ });
199
+ listFetchNow();
200
+ }
201
+ };
202
+ var _b = (0, util_functions_1.useModuleEntity)({
203
+ byIdCallback: byIdCallback,
204
+ byIdParams: byIdParams,
205
+ deleteCallback: deleteCallback,
206
+ deleteParams: deleteParams,
207
+ listCallback: listCallback,
208
+ listParams: listParams,
209
+ listUrl: constants_1.PREFERENCE_API_ROUTES.TAXES,
210
+ searchQuery: '',
211
+ unitByIdUrl: constants_1.PREFERENCE_API_ROUTES.TAX_BY_ID,
212
+ unitUrl: constants_1.PREFERENCE_API_ROUTES.TAX,
213
+ updateCallback: updateCallback,
214
+ updateDeps: [state],
215
+ updateParams: updateParams,
216
+ }), byIdError = _b.byIdError, byIdFetchNow = _b.byIdFetchNow, byIdLoading = _b.byIdLoading, deleteError = _b.deleteError, deleteFetchNow = _b.deleteFetchNow, deleteLoading = _b.deleteLoading, listError = _b.listError, listFetchNow = _b.listFetchNow, listLoading = _b.listLoading, updateError = _b.updateError, updateFetchNow = _b.updateFetchNow, updateLoading = _b.updateLoading;
217
+ (0, react_1.useEffect)(function () {
218
+ // listFetchNow();
219
+ // currencyListFetchNow();
220
+ // paymentModeListFetchNow();
221
+ // branchListFetchNow();
222
+ // if (state.activeTab === 'Tax') {
223
+ listFetchNow();
224
+ // }
225
+ // eslint-disable-next-line
226
+ }, [
227
+ debouncedQuery,
228
+ state.currentPage,
229
+ state.pageLimit,
230
+ // state.activeTab,
231
+ ]);
232
+ var searchOnChange = function (k, v) {
233
+ dispatch({
234
+ type: actions_1.TAX_ACTION_TYPES.SET_SEARCH_QUERY,
235
+ payload: { searchQuery: v },
236
+ });
237
+ };
238
+ var clearSearch = function () {
239
+ dispatch({
240
+ type: actions_1.TAX_ACTION_TYPES.SET_SEARCH_QUERY,
241
+ payload: { searchQuery: '' },
242
+ });
243
+ };
244
+ var closeDrawer = function () {
245
+ dispatch({
246
+ type: actions_1.TAX_ACTION_TYPES.SET_DRAWER,
247
+ payload: { drawer: null },
248
+ });
249
+ dispatch({
250
+ type: actions_1.TAX_ACTION_TYPES.RESET_FORM,
251
+ });
252
+ dispatch({
253
+ type: actions_1.TAX_ACTION_TYPES.CLEAR_ERRORS,
254
+ });
255
+ };
256
+ var handleOnChange = function (k, v) {
257
+ dispatch({
258
+ type: actions_1.TAX_ACTION_TYPES.CLEAR_ERRORS,
259
+ });
260
+ dispatch({
261
+ type: actions_1.TAX_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON,
262
+ payload: { disableSaveButton: false },
263
+ });
264
+ dispatch({
265
+ type: actions_1.TAX_ACTION_TYPES.SET_INPUT_FIELD,
266
+ payload: {
267
+ key: k,
268
+ value: v,
269
+ },
270
+ });
271
+ };
272
+ var handleOnToggle = function (k, v) {
273
+ dispatch({
274
+ type: actions_1.TAX_ACTION_TYPES.SET_INPUT_FIELD,
275
+ payload: {
276
+ key: k,
277
+ value: v,
278
+ },
279
+ });
280
+ };
281
+ var handleSubmit = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
282
+ var validationResult, validationErrors_1;
283
+ return __generator(this, function (_a) {
284
+ dispatch({
285
+ type: actions_1.TAX_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON,
286
+ payload: { disableSaveButton: true },
287
+ });
288
+ try {
289
+ validationResult = validate_1.formValidation === null || validate_1.formValidation === void 0 ? void 0 : validate_1.formValidation.safeParse(__assign({}, updateParams));
290
+ if (validationResult === null || validationResult === void 0 ? void 0 : validationResult.error) {
291
+ validationErrors_1 = {};
292
+ validationResult === null || validationResult === void 0 ? void 0 : validationResult.error.errors.forEach(function (err) {
293
+ validationErrors_1[err.path[0]] = err.message;
294
+ });
295
+ dispatch({
296
+ type: actions_1.TAX_ACTION_TYPES.SET_ERRORS,
297
+ payload: { errors: validationErrors_1 },
298
+ });
299
+ }
300
+ if (validationResult === null || validationResult === void 0 ? void 0 : validationResult.success) {
301
+ updateFetchNow(undefined, {
302
+ body: JSON.stringify(__assign(__assign({}, updateParams), { description: state.description })),
303
+ });
304
+ }
305
+ }
306
+ catch (_b) {
307
+ (0, generate_toast_1.generateToast)({
308
+ description: '',
309
+ variant: vista_notification_type_1.VISTA_NOTIFICATION_V1_VARIANT.ERROR,
310
+ });
311
+ }
312
+ return [2 /*return*/];
313
+ });
314
+ }); }, [updateFetchNow, updateParams, state.description]);
315
+ var dynamicFormElements = (0, react_1.useMemo)(function () {
316
+ var _a, _b, _c;
317
+ var elements = __assign({}, constants_1.staticFormElements);
318
+ var textInputElements = (_a = elements[form_schema_1.VISTA_FORM_ELEMENTS.TEXT_INPUT_V1]) === null || _a === void 0 ? void 0 : _a.sort(function (a, b) { return a.order - b.order; });
319
+ if (textInputElements) {
320
+ textInputElements === null || textInputElements === void 0 ? void 0 : textInputElements.forEach(function (_a, i) {
321
+ var id = _a.id;
322
+ textInputElements[i].value = state[id];
323
+ textInputElements[i].handleOnChange = handleOnChange;
324
+ textInputElements[i].error = state.errors[id];
325
+ });
326
+ }
327
+ var toggleElements = (_b = elements[form_schema_1.VISTA_FORM_ELEMENTS.TOGGLE_V1]) === null || _b === void 0 ? void 0 : _b.sort(function (a, b) { return a.order - b.order; });
328
+ if (toggleElements) {
329
+ toggleElements === null || toggleElements === void 0 ? void 0 : toggleElements.forEach(function (_a, i) {
330
+ var id = _a.id;
331
+ toggleElements[i].value = state[id];
332
+ toggleElements[i].handleOnChange = handleOnToggle;
333
+ toggleElements[i].error = state.errors[id];
334
+ });
335
+ }
336
+ var textAreaElements = (_c = elements[form_schema_1.VISTA_FORM_ELEMENTS.TEXT_AREA_V1]) === null || _c === void 0 ? void 0 : _c.sort(function (a, b) { return a.order - b.order; });
337
+ if (textAreaElements) {
338
+ textAreaElements.forEach(function (_a, i) {
339
+ var id = _a.id;
340
+ textAreaElements[i].value = state.description;
341
+ textAreaElements[i].handleOnChange = handleOnChange;
342
+ textAreaElements[i].error = state.errors[id];
343
+ });
344
+ }
345
+ return elements;
346
+ }, [state]);
347
+ var handleNextClick = function () {
348
+ dispatch({
349
+ type: actions_1.TAX_ACTION_TYPES.SET_CURRENT_PAGE,
350
+ payload: { currentPage: state.currentPage + 1 },
351
+ });
352
+ };
353
+ var handlePreviousClick = function () {
354
+ dispatch({
355
+ type: actions_1.TAX_ACTION_TYPES.SET_CURRENT_PAGE,
356
+ payload: { currentPage: state.currentPage - 1 },
357
+ });
358
+ };
359
+ var handlePageLimit = function (k, v) {
360
+ var val = __assign({}, v);
361
+ dispatch({
362
+ type: actions_1.TAX_ACTION_TYPES.SET_PAGE_LIMIT,
363
+ payload: { pageLimit: Number(val.option) },
364
+ });
365
+ };
366
+ var handleCreate = function () {
367
+ dispatch({
368
+ type: actions_1.TAX_ACTION_TYPES.SET_DRAWER,
369
+ payload: { drawer: types_1.TAX_DRAWER.FORM_DRAWER },
370
+ });
371
+ };
372
+ var headerActions = [
373
+ {
374
+ enabled: true,
375
+ handleOnClick: handleCreate,
376
+ label: 'Add Item',
377
+ order: 1,
378
+ },
379
+ ];
380
+ var handleEdit = (0, react_1.useCallback)(function (id) {
381
+ byIdFetchNow(undefined, {
382
+ body: JSON.stringify({ id: id }),
383
+ });
384
+ }, [byIdFetchNow]);
385
+ var handleDelete = (0, react_1.useCallback)(function (id) {
386
+ deleteFetchNow === null || deleteFetchNow === void 0 ? void 0 : deleteFetchNow(undefined, {
387
+ body: JSON.stringify({ id: id }),
388
+ });
389
+ }, [deleteFetchNow]);
390
+ var rowActions = [
391
+ {
392
+ enabled: true,
393
+ handleAction: handleEdit,
394
+ label: 'Edit',
395
+ order: 1,
396
+ },
397
+ {
398
+ enabled: true,
399
+ handleAction: handleDelete,
400
+ label: 'Delete',
401
+ order: 2,
402
+ },
403
+ ];
404
+ return __assign(__assign({}, state), { clearSearch: clearSearch, closeDrawer: closeDrawer, dispatch: dispatch, searchOnChange: searchOnChange, handleSubmit: handleSubmit, dynamicFormElements: dynamicFormElements, headerActions: headerActions, rowActions: rowActions, byIdLoading: byIdLoading, byIdError: byIdError, deleteError: deleteError, deleteLoading: deleteLoading, listError: listError, listLoading: listLoading, updateLoading: updateLoading, updateError: updateError, handleNextClick: handleNextClick, handlePreviousClick: handlePreviousClick, handlePageLimit: handlePageLimit });
405
+ };
406
+ exports.TaxStateContext = (0, react_1.createContext)(__assign(__assign({}, reducer_1.initialTaxState), { clearSearch: function () { return void 0; }, closeDrawer: function () { return void 0; }, dispatch: function () { return void 0; }, searchOnChange: function () { return void 0; }, dynamicFormElements: {}, handleSubmit: function () { return void 0; }, headerActions: [], rowActions: [], byIdError: undefined, byIdLoading: false, deleteError: undefined, deleteLoading: false, listError: undefined, listLoading: false, updateError: undefined, updateLoading: false, handleNextClick: function () { return void 0; }, handlePreviousClick: function () { return void 0; }, handlePageLimit: function () { return void 0; } }));
407
+ var TaxStateContextProvider = function (_a) {
408
+ var children = _a.children;
409
+ var state = useTaxState();
410
+ return (react_1.default.createElement(exports.TaxStateContext.Provider, { value: state }, children));
411
+ };
412
+ exports.TaxStateContextProvider = TaxStateContextProvider;
413
+ var useTaxStateContext = function () {
414
+ var state = (0, react_1.useContext)(exports.TaxStateContext);
415
+ if (state === undefined) {
416
+ throw new Error('useTaxStateContext must be used within an TaxContextProvider');
417
+ }
418
+ return state;
419
+ };
420
+ exports.useTaxStateContext = useTaxStateContext;
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ interface Props {
3
+ translationMap: {
4
+ [key: string]: string;
5
+ };
6
+ }
7
+ export declare const TaxDrawer: FC<Props>;
8
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TaxDrawer = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var vista_drawer_v1_1 = require("@appcorp/app-corp-vista/molecules/vista-drawer-v1/vista-drawer-v1");
9
+ var vista_drawer_type_1 = require("@appcorp/app-corp-vista/type/vista-drawer-type");
10
+ var vista_button_type_1 = require("@appcorp/app-corp-vista/type/vista-button-type");
11
+ var context_1 = require("./context");
12
+ var form_1 = require("./form");
13
+ var TaxDrawer = function (_a) {
14
+ var translationMap = _a.translationMap;
15
+ var _b = (0, context_1.useTaxStateContext)(), closeDrawer = _b.closeDrawer, disableSaveButton = _b.disableSaveButton, drawer = _b.drawer, handleSubmit = _b.handleSubmit;
16
+ return (react_1.default.createElement(vista_drawer_v1_1.VistaDrawerV1, { cancelLabel: "Cancel", cancelRounded: vista_button_type_1.VISTA_BUTTON_ROUNDED.MD, cancelSize: vista_button_type_1.VISTA_BUTTON_SIZE.LG, handleCancelOnClick: closeDrawer, handleSaveOnClick: handleSubmit, handleSetIsOpen: closeDrawer, isOpen: !!drawer, saveDisabled: disableSaveButton, saveLabel: 'Save', saveRounded: vista_button_type_1.VISTA_BUTTON_ROUNDED.MD, saveSize: vista_button_type_1.VISTA_BUTTON_SIZE.LG, size: vista_drawer_type_1.VISTA_DRAWER_SIZE.MD, title: 'Tax' },
17
+ react_1.default.createElement(form_1.Form, { translationMap: translationMap })));
18
+ };
19
+ exports.TaxDrawer = TaxDrawer;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { VistaFormElements } from '@appcorp/app-corp-vista/type/vista-form-elements';
3
+ export declare const renderFormElements: (elementProps: VistaFormElements) => React.JSX.Element;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /* eslint-disable */
3
+ var __assign = (this && this.__assign) || function () {
4
+ __assign = Object.assign || function(t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
+ t[p] = s[p];
9
+ }
10
+ return t;
11
+ };
12
+ return __assign.apply(this, arguments);
13
+ };
14
+ var __importDefault = (this && this.__importDefault) || function (mod) {
15
+ return (mod && mod.__esModule) ? mod : { "default": mod };
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.renderFormElements = void 0;
19
+ var react_1 = __importDefault(require("react"));
20
+ var form_schema_1 = require("@appcorp/app-corp-vista/utils/form-schema");
21
+ var renderFormElements = function (elementProps) {
22
+ var _a;
23
+ var elementsArray = (_a = Object.entries(form_schema_1.vistaFormSchema)
24
+ .flatMap(function (_a) {
25
+ var _b, _c;
26
+ var key = _a[0], config = _a[1];
27
+ var Component = config;
28
+ return (_c = (_b = (elementProps[key] || [])) === null || _b === void 0 ? void 0 : _b.filter(function (props) { return props.enabled; })) === null || _c === void 0 ? void 0 : _c.map(function (props) { return ({
29
+ Component: Component,
30
+ key: key,
31
+ order: props.order,
32
+ props: props,
33
+ }); });
34
+ })) === null || _a === void 0 ? void 0 : _a.sort(function (a, b) { return a.order - b.order; });
35
+ return (react_1.default.createElement("div", { className: "grid grid-cols-1 gap-4" }, elementsArray === null || elementsArray === void 0 ? void 0 : elementsArray.map(function (_a, index) {
36
+ var key = _a.key, Component = _a.Component, props = _a.props;
37
+ return (react_1.default.createElement("div", { key: "".concat(key, "-").concat(index) },
38
+ react_1.default.createElement(Component, __assign({}, props))));
39
+ })));
40
+ };
41
+ exports.renderFormElements = renderFormElements;
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ interface Props {
3
+ translationMap: {
4
+ [key: string]: string;
5
+ };
6
+ }
7
+ export declare const Form: FC<Props>;
8
+ export {};
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || (function () {
30
+ var ownKeys = function(o) {
31
+ ownKeys = Object.getOwnPropertyNames || function (o) {
32
+ var ar = [];
33
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
+ return ar;
35
+ };
36
+ return ownKeys(o);
37
+ };
38
+ return function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ })();
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.Form = void 0;
48
+ var react_1 = __importStar(require("react"));
49
+ var form_schema_1 = require("@appcorp/app-corp-vista/utils/form-schema");
50
+ var context_1 = require("./context");
51
+ var form_elements_1 = require("./form-elements");
52
+ var Form = function (_a) {
53
+ var translationMap = _a.translationMap;
54
+ var dynamicFormElements = (0, context_1.useTaxStateContext)().dynamicFormElements;
55
+ var updated = (0, react_1.useMemo)(function () {
56
+ var _a, _b;
57
+ var elements = __assign({}, dynamicFormElements);
58
+ var textInputElements = (_a = elements[form_schema_1.VISTA_FORM_ELEMENTS.TEXT_INPUT_V1]) === null || _a === void 0 ? void 0 : _a.sort(function (a, b) { return a.order - b.order; });
59
+ if (textInputElements) {
60
+ textInputElements === null || textInputElements === void 0 ? void 0 : textInputElements.forEach(function (_a, i) {
61
+ var label = _a.label;
62
+ if (translationMap[label] === undefined)
63
+ return label;
64
+ textInputElements[i].label = translationMap[label];
65
+ });
66
+ }
67
+ var textAreaElements = (_b = elements[form_schema_1.VISTA_FORM_ELEMENTS.TEXT_AREA_V1]) === null || _b === void 0 ? void 0 : _b.sort(function (a, b) { return a.order - b.order; });
68
+ if (textAreaElements) {
69
+ textAreaElements === null || textAreaElements === void 0 ? void 0 : textAreaElements.forEach(function (_a, i) {
70
+ var label = _a.label;
71
+ if (translationMap[label] === undefined)
72
+ return label;
73
+ textAreaElements[i].label = translationMap[label];
74
+ });
75
+ }
76
+ return elements;
77
+ }, [dynamicFormElements, translationMap]);
78
+ return react_1.default.createElement(react_1.default.Fragment, null, (0, form_elements_1.renderFormElements)(updated));
79
+ };
80
+ exports.Form = Form;
@@ -0,0 +1,4 @@
1
+ import { TaxActions } from './actions';
2
+ import { TaxState } from './types';
3
+ export declare const initialTaxState: TaxState;
4
+ export declare function taxReducer(state: TaxState, action: TaxActions): TaxState;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.initialTaxState = void 0;
24
+ exports.taxReducer = taxReducer;
25
+ var actions_1 = require("./actions");
26
+ var constants_1 = require("./constants");
27
+ exports.initialTaxState = {
28
+ count: 0,
29
+ currentPage: 1,
30
+ description: '',
31
+ disableSaveButton: false,
32
+ drawer: null,
33
+ enabled: false,
34
+ errors: {},
35
+ id: '',
36
+ isDefault: false,
37
+ pageLimit: constants_1.pageLimit,
38
+ preferenceId: '',
39
+ searchQuery: '',
40
+ taxName: '',
41
+ taxRate: '',
42
+ taxes: [],
43
+ };
44
+ function taxReducer(state, action) {
45
+ var _a;
46
+ switch (action.type) {
47
+ case actions_1.TAX_ACTION_TYPES.SET_ERRORS:
48
+ return __assign(__assign({}, state), { errors: __assign({}, action.payload.errors) });
49
+ case actions_1.TAX_ACTION_TYPES.SET_TAXES:
50
+ return __assign(__assign({}, state), { taxes: __spreadArray([], action.payload.taxes, true) });
51
+ case actions_1.TAX_ACTION_TYPES.SET_COUNT:
52
+ return __assign(__assign({}, state), { count: action.payload.count });
53
+ case actions_1.TAX_ACTION_TYPES.SET_FORM:
54
+ return __assign(__assign({}, state), action.payload.form);
55
+ case actions_1.TAX_ACTION_TYPES.SET_DRAWER:
56
+ return __assign(__assign({}, state), { drawer: action.payload.drawer });
57
+ case actions_1.TAX_ACTION_TYPES.SET_INPUT_FIELD:
58
+ return __assign(__assign({}, state), (_a = {}, _a[action.payload.key] = action.payload.value, _a));
59
+ case actions_1.TAX_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON:
60
+ return __assign(__assign({}, state), { disableSaveButton: action.payload.disableSaveButton });
61
+ case actions_1.TAX_ACTION_TYPES.CLEAR_ERRORS:
62
+ return __assign(__assign({}, state), { errors: {} });
63
+ case actions_1.TAX_ACTION_TYPES.SET_CURRENT_PAGE:
64
+ return __assign(__assign({}, state), { currentPage: action.payload.currentPage });
65
+ case actions_1.TAX_ACTION_TYPES.SET_PAGE_LIMIT:
66
+ return __assign(__assign({}, state), { pageLimit: action.payload.pageLimit });
67
+ case actions_1.TAX_ACTION_TYPES.RESET_FORM:
68
+ return __assign(__assign({}, state), { disableSaveButton: false, errors: {} });
69
+ case actions_1.TAX_ACTION_TYPES.SET_SEARCH_QUERY:
70
+ return __assign(__assign({}, state), { searchQuery: action.payload.searchQuery });
71
+ default:
72
+ return state;
73
+ }
74
+ }
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const Tax: () => React.JSX.Element;