@appcorp/stellar-solutions-modules 0.1.34 → 0.1.35
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/README.md +128 -19
- package/components/theme-switcher.d.ts +4 -0
- package/components/theme-switcher.js +60 -0
- package/components/ui/badge.d.ts +9 -0
- package/components/ui/badge.js +82 -0
- package/components/ui/button.d.ts +10 -0
- package/components/ui/button.js +91 -0
- package/components/ui/checkbox.d.ts +9 -0
- package/components/ui/checkbox.js +87 -0
- package/components/ui/drawer.d.ts +13 -0
- package/components/ui/drawer.js +115 -0
- package/components/ui/dropdown-menu.d.ts +25 -0
- package/components/ui/dropdown-menu.js +148 -0
- package/components/ui/enhanced-table-footer-action.d.ts +34 -0
- package/components/ui/enhanced-table-footer-action.js +117 -0
- package/components/ui/enhanced-table-footer-page.d.ts +32 -0
- package/components/ui/enhanced-table-footer-page.js +140 -0
- package/components/ui/enhanced-table-footer-pagination.d.ts +38 -0
- package/components/ui/enhanced-table-footer-pagination.js +122 -0
- package/components/ui/enhanced-table-header-action.d.ts +7 -0
- package/components/ui/enhanced-table-header-action.js +21 -0
- package/components/ui/enhanced-table-header-search.d.ts +12 -0
- package/components/ui/enhanced-table-header-search.js +17 -0
- package/components/ui/enhanced-table.d.ts +65 -0
- package/components/ui/enhanced-table.js +87 -0
- package/components/ui/input.d.ts +8 -0
- package/components/ui/input.js +86 -0
- package/components/ui/label.d.ts +7 -0
- package/components/ui/label.js +68 -0
- package/components/ui/popover.d.ts +7 -0
- package/components/ui/popover.js +82 -0
- package/components/ui/select.d.ts +15 -0
- package/components/ui/select.js +127 -0
- package/components/ui/sonner.d.ts +4 -0
- package/components/ui/sonner.js +54 -0
- package/components/ui/switch.d.ts +9 -0
- package/components/ui/switch.js +89 -0
- package/components/ui/table.d.ts +10 -0
- package/components/ui/table.js +101 -0
- package/global-modules/bank/actions.d.ts +200 -0
- package/global-modules/bank/actions.js +124 -0
- package/global-modules/bank/bank.d.ts +2 -0
- package/global-modules/bank/bank.js +87 -0
- package/global-modules/bank/constants.d.ts +45 -0
- package/global-modules/bank/constants.js +98 -0
- package/global-modules/bank/context.d.ts +41 -0
- package/global-modules/bank/context.js +419 -0
- package/global-modules/bank/drawer.d.ts +31 -0
- package/global-modules/bank/drawer.js +114 -0
- package/global-modules/bank/form.d.ts +22 -0
- package/global-modules/bank/form.js +68 -0
- package/global-modules/bank/reducer.d.ts +25 -0
- package/global-modules/bank/reducer.js +161 -0
- package/global-modules/bank/types.d.ts +217 -0
- package/global-modules/bank/types.js +81 -0
- package/global-modules/bank/validate.d.ts +13 -0
- package/global-modules/bank/validate.js +22 -0
- package/global-modules/branch/actions.d.ts +154 -37
- package/global-modules/branch/actions.js +148 -6
- package/global-modules/branch/branch.d.ts +2 -2
- package/global-modules/branch/branch.js +46 -32
- package/global-modules/branch/constants.d.ts +34 -24
- package/global-modules/branch/constants.js +101 -122
- package/global-modules/branch/context.d.ts +33 -2
- package/global-modules/branch/context.js +195 -164
- package/global-modules/branch/drawer.d.ts +26 -3
- package/global-modules/branch/drawer.js +101 -6
- package/global-modules/branch/form.d.ts +15 -1
- package/global-modules/branch/form.js +54 -71
- package/global-modules/branch/reducer.d.ts +23 -2
- package/global-modules/branch/reducer.js +148 -118
- package/global-modules/branch/types.d.ts +196 -69
- package/global-modules/branch/types.js +66 -7
- package/global-modules/branch/validate.d.ts +1 -1
- package/global-modules/branch/validate.js +15 -11
- package/global-modules/payment-mode/actions.d.ts +154 -37
- package/global-modules/payment-mode/actions.js +148 -6
- package/global-modules/payment-mode/constants.d.ts +34 -17
- package/global-modules/payment-mode/constants.js +90 -66
- package/global-modules/payment-mode/context.d.ts +33 -2
- package/global-modules/payment-mode/context.js +185 -163
- package/global-modules/payment-mode/drawer.d.ts +26 -3
- package/global-modules/payment-mode/drawer.js +104 -9
- package/global-modules/payment-mode/form.d.ts +16 -2
- package/global-modules/payment-mode/form.js +45 -74
- package/global-modules/payment-mode/payment-mode.d.ts +25 -2
- package/global-modules/payment-mode/payment-mode.js +90 -23
- package/global-modules/payment-mode/reducer.d.ts +23 -2
- package/global-modules/payment-mode/reducer.js +140 -114
- package/global-modules/payment-mode/types.d.ts +327 -112
- package/global-modules/payment-mode/types.js +162 -11
- package/global-modules/payment-mode/validate.d.ts +1 -1
- package/global-modules/payment-mode/validate.js +7 -5
- package/global-modules/preferences/actions.d.ts +126 -27
- package/global-modules/preferences/actions.js +128 -4
- package/global-modules/preferences/constants.d.ts +46 -31
- package/global-modules/preferences/constants.js +129 -66
- package/global-modules/preferences/context.d.ts +2 -2
- package/global-modules/preferences/context.js +43 -43
- package/global-modules/preferences/currency.js +15 -10
- package/global-modules/preferences/preferences.d.ts +2 -2
- package/global-modules/preferences/preferences.js +3 -5
- package/global-modules/preferences/validate.d.ts +1 -1
- package/global-modules/preferences/validate.js +7 -7
- package/global-modules/tax/actions.d.ts +155 -38
- package/global-modules/tax/actions.js +149 -7
- package/global-modules/tax/constants.d.ts +31 -39
- package/global-modules/tax/constants.js +83 -114
- package/global-modules/tax/context.d.ts +33 -2
- package/global-modules/tax/context.js +146 -132
- package/global-modules/tax/drawer.d.ts +26 -3
- package/global-modules/tax/drawer.js +101 -6
- package/global-modules/tax/form.d.ts +20 -3
- package/global-modules/tax/form.js +101 -74
- package/global-modules/tax/reducer.d.ts +23 -2
- package/global-modules/tax/reducer.js +143 -24
- package/global-modules/tax/tax.d.ts +25 -2
- package/global-modules/tax/tax.js +92 -28
- package/global-modules/tax/types.d.ts +332 -102
- package/global-modules/tax/types.js +179 -11
- package/global-modules/tax/validate.d.ts +1 -1
- package/global-modules/tax/validate.js +9 -8
- package/hooks/use-rtl.d.ts +44 -0
- package/hooks/use-rtl.js +75 -0
- package/lib/themes.d.ts +147 -0
- package/lib/themes.js +150 -0
- package/lib/toast-utils.d.ts +44 -0
- package/lib/toast-utils.js +212 -0
- package/lib/utils.d.ts +2 -0
- package/lib/utils.js +12 -0
- package/package.json +21 -4
- package/supabase/supabase.d.ts +80 -1
- package/supabase/supabase.js +281 -6
- package/global-modules/branch/form-elements.d.ts +0 -3
- package/global-modules/branch/form-elements.js +0 -41
- package/global-modules/payment-mode/form-elements.d.ts +0 -3
- package/global-modules/payment-mode/form-elements.js +0 -41
- package/global-modules/preferences/bank.d.ts +0 -2
- package/global-modules/preferences/bank.js +0 -11
- package/global-modules/preferences/branch-drawer.js +0 -36
- package/global-modules/preferences/branch-form-elements.js +0 -30
- package/global-modules/preferences/branch-form.d.ts +0 -0
- package/global-modules/preferences/branch-form.js +0 -33
- package/global-modules/preferences/branch.d.ts +0 -0
- package/global-modules/preferences/branch.js +0 -106
- package/global-modules/preferences/payment-mode-drawer.d.ts +0 -0
- package/global-modules/preferences/payment-mode-drawer.js +0 -36
- package/global-modules/preferences/payment-mode-form-elements.d.ts +0 -0
- package/global-modules/preferences/payment-mode-form-elements.js +0 -30
- package/global-modules/preferences/payment-mode-form.d.ts +0 -0
- package/global-modules/preferences/payment-mode-form.js +0 -33
- package/global-modules/preferences/payment-mode.d.ts +0 -0
- package/global-modules/preferences/payment-mode.js +0 -94
- package/global-modules/tax/form-elements.d.ts +0 -3
- package/global-modules/tax/form-elements.js +0 -41
- /package/{global-modules/preferences/branch-drawer.d.ts → constants.d.ts} +0 -0
- /package/{global-modules/preferences/branch-form-elements.d.ts → constants.js} +0 -0
|
@@ -1,83 +1,200 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Tax Actions
|
|
3
|
+
*
|
|
4
|
+
* This module defines all action types and interfaces for the Tax state management.
|
|
5
|
+
* Actions are organized by functionality and follow consistent naming patterns.
|
|
6
|
+
*
|
|
7
|
+
* Organization:
|
|
8
|
+
* - Action Types Enum (grouped by functionality)
|
|
9
|
+
* - Reset Actions (form/error reset)
|
|
10
|
+
* - Form Data Actions (input fields, form state)
|
|
11
|
+
* - UI State Actions (drawers, buttons)
|
|
12
|
+
* - List Management Actions (taxes, pagination)
|
|
13
|
+
* - Search Actions (queries)
|
|
14
|
+
* - Union Type Export
|
|
15
|
+
* - Action Creators (helper functions)
|
|
16
|
+
* - Type Utilities (guards and helpers)
|
|
17
|
+
*
|
|
18
|
+
* Naming Convention: Tax{Operation}{Target}Action
|
|
19
|
+
* Examples: TaxSetInputFieldAction, TaxResetFormAction
|
|
20
|
+
*/
|
|
21
|
+
import { TAX_DRAWER, TaxTypeBE } from "./types";
|
|
2
22
|
export declare enum TAX_ACTION_TYPES {
|
|
3
23
|
RESET_ERRORS = "RESET_ERRORS",
|
|
4
24
|
RESET_FORM = "RESET_FORM",
|
|
5
|
-
|
|
6
|
-
|
|
25
|
+
SET_INPUT_FIELD = "SET_INPUT_FIELD",
|
|
26
|
+
SET_FORM = "SET_FORM",
|
|
27
|
+
SET_ERRORS = "SET_ERRORS",
|
|
7
28
|
SET_DISABLE_SAVE_BUTTON = "SET_DISABLE_SAVE_BUTTON",
|
|
8
29
|
SET_DRAWER = "SET_DRAWER",
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
30
|
+
SET_TAXES = "SET_TAXES",
|
|
31
|
+
SET_COUNT = "SET_COUNT",
|
|
32
|
+
SET_CURRENT_PAGE = "SET_CURRENT_PAGE",
|
|
12
33
|
SET_PAGE_LIMIT = "SET_PAGE_LIMIT",
|
|
13
|
-
SET_SEARCH_QUERY = "SET_SEARCH_QUERY"
|
|
14
|
-
SET_TAXES = "SET_TAXES"
|
|
34
|
+
SET_SEARCH_QUERY = "SET_SEARCH_QUERY"
|
|
15
35
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Reset form validation errors
|
|
38
|
+
*/
|
|
39
|
+
export type TaxResetErrorsAction = {
|
|
40
|
+
type: TAX_ACTION_TYPES.RESET_ERRORS;
|
|
21
41
|
};
|
|
22
|
-
|
|
23
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Reset entire form to initial state
|
|
44
|
+
*/
|
|
45
|
+
export type TaxResetFormAction = {
|
|
46
|
+
type: TAX_ACTION_TYPES.RESET_FORM;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Update individual form field dynamically
|
|
50
|
+
*/
|
|
51
|
+
export type TaxSetInputFieldAction = {
|
|
52
|
+
type: TAX_ACTION_TYPES.SET_INPUT_FIELD;
|
|
24
53
|
payload: {
|
|
25
|
-
|
|
54
|
+
key: keyof TaxTypeBE;
|
|
55
|
+
value: string | string[] | boolean | number | number[];
|
|
26
56
|
};
|
|
27
57
|
};
|
|
28
|
-
|
|
29
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Set entire form data (used when editing existing tax)
|
|
60
|
+
*/
|
|
61
|
+
export type TaxSetFormAction = {
|
|
62
|
+
type: TAX_ACTION_TYPES.SET_FORM;
|
|
30
63
|
payload: {
|
|
31
|
-
|
|
64
|
+
form: TaxTypeBE;
|
|
32
65
|
};
|
|
33
66
|
};
|
|
34
|
-
|
|
35
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Set form validation errors
|
|
69
|
+
*/
|
|
70
|
+
export type TaxSetErrorsAction = {
|
|
71
|
+
type: TAX_ACTION_TYPES.SET_ERRORS;
|
|
36
72
|
payload: {
|
|
37
|
-
|
|
73
|
+
errors: Record<string, string>;
|
|
38
74
|
};
|
|
39
75
|
};
|
|
40
|
-
|
|
41
|
-
|
|
76
|
+
/**
|
|
77
|
+
* Control save button state (enabled/disabled)
|
|
78
|
+
*/
|
|
79
|
+
export type TaxSetDisableSaveButtonAction = {
|
|
80
|
+
type: TAX_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON;
|
|
42
81
|
payload: {
|
|
43
|
-
|
|
82
|
+
disableSaveButton: boolean;
|
|
44
83
|
};
|
|
45
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* Manage drawer state (open/closed with specific drawer type)
|
|
87
|
+
*/
|
|
46
88
|
export type TaxSetDrawerAction = {
|
|
47
89
|
type: TAX_ACTION_TYPES.SET_DRAWER;
|
|
48
90
|
payload: {
|
|
49
91
|
drawer: null | TAX_DRAWER;
|
|
50
92
|
};
|
|
51
93
|
};
|
|
52
|
-
|
|
53
|
-
|
|
94
|
+
/**
|
|
95
|
+
* Set taxes list data
|
|
96
|
+
*/
|
|
97
|
+
export type TaxSetTaxesAction = {
|
|
98
|
+
type: TAX_ACTION_TYPES.SET_TAXES;
|
|
54
99
|
payload: {
|
|
55
|
-
|
|
56
|
-
value: string | string[] | boolean | number | number[];
|
|
100
|
+
taxes: TaxTypeBE[];
|
|
57
101
|
};
|
|
58
102
|
};
|
|
59
|
-
|
|
60
|
-
|
|
103
|
+
/**
|
|
104
|
+
* Set total count of taxes (for pagination)
|
|
105
|
+
*/
|
|
106
|
+
export type TaxSetCountAction = {
|
|
107
|
+
type: TAX_ACTION_TYPES.SET_COUNT;
|
|
61
108
|
payload: {
|
|
62
|
-
|
|
109
|
+
count: number;
|
|
63
110
|
};
|
|
64
111
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
112
|
+
/**
|
|
113
|
+
* Update current page number
|
|
114
|
+
*/
|
|
68
115
|
export type TaxSetCurrentPageAction = {
|
|
69
116
|
type: TAX_ACTION_TYPES.SET_CURRENT_PAGE;
|
|
70
117
|
payload: {
|
|
71
118
|
currentPage: number;
|
|
72
119
|
};
|
|
73
120
|
};
|
|
121
|
+
/**
|
|
122
|
+
* Update page limit (items per page)
|
|
123
|
+
*/
|
|
74
124
|
export type TaxSetPageLimitAction = {
|
|
75
125
|
type: TAX_ACTION_TYPES.SET_PAGE_LIMIT;
|
|
76
126
|
payload: {
|
|
77
127
|
pageLimit: number;
|
|
78
128
|
};
|
|
79
129
|
};
|
|
80
|
-
|
|
81
|
-
|
|
130
|
+
/**
|
|
131
|
+
* Update search query for taxes
|
|
132
|
+
*/
|
|
133
|
+
export type TaxSetSearchQueryAction = {
|
|
134
|
+
type: TAX_ACTION_TYPES.SET_SEARCH_QUERY;
|
|
135
|
+
payload: {
|
|
136
|
+
searchQuery: string;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* All tax-related actions grouped by functionality
|
|
141
|
+
*/
|
|
142
|
+
export type TaxActions = TaxResetErrorsAction | TaxResetFormAction | TaxSetInputFieldAction | TaxSetFormAction | TaxSetErrorsAction | TaxSetDisableSaveButtonAction | TaxSetDrawerAction | TaxSetTaxesAction | TaxSetCountAction | TaxSetCurrentPageAction | TaxSetPageLimitAction | TaxSetSearchQueryAction;
|
|
143
|
+
/**
|
|
144
|
+
* Type guard for reset actions
|
|
145
|
+
*/
|
|
146
|
+
export type TaxResetActions = TaxResetErrorsAction | TaxResetFormAction;
|
|
147
|
+
/**
|
|
148
|
+
* Type guard for form-related actions
|
|
149
|
+
*/
|
|
150
|
+
export type TaxFormActions = TaxSetInputFieldAction | TaxSetFormAction | TaxSetErrorsAction;
|
|
151
|
+
/**
|
|
152
|
+
* Type guard for UI state actions
|
|
153
|
+
*/
|
|
154
|
+
export type TaxUIActions = TaxSetDisableSaveButtonAction | TaxSetDrawerAction;
|
|
155
|
+
/**
|
|
156
|
+
* Type guard for list management actions
|
|
157
|
+
*/
|
|
158
|
+
export type TaxListActions = TaxSetTaxesAction | TaxSetCountAction | TaxSetCurrentPageAction | TaxSetPageLimitAction;
|
|
159
|
+
/**
|
|
160
|
+
* Action creators for common tax operations
|
|
161
|
+
* These provide type-safe action creation with better developer experience
|
|
162
|
+
*/
|
|
163
|
+
export declare const taxActionCreators: {
|
|
164
|
+
readonly resetErrors: () => TaxResetErrorsAction;
|
|
165
|
+
readonly resetForm: () => TaxResetFormAction;
|
|
166
|
+
readonly setInputField: (key: keyof TaxTypeBE, value: string | string[] | boolean | number | number[]) => TaxSetInputFieldAction;
|
|
167
|
+
readonly setForm: (form: TaxTypeBE) => TaxSetFormAction;
|
|
168
|
+
readonly setErrors: (errors: Record<string, string>) => TaxSetErrorsAction;
|
|
169
|
+
readonly setDisableSaveButton: (disableSaveButton: boolean) => TaxSetDisableSaveButtonAction;
|
|
170
|
+
readonly setDrawer: (drawer: null | TAX_DRAWER) => TaxSetDrawerAction;
|
|
171
|
+
readonly setTaxes: (taxes: TaxTypeBE[]) => TaxSetTaxesAction;
|
|
172
|
+
readonly setCount: (count: number) => TaxSetCountAction;
|
|
173
|
+
readonly setCurrentPage: (currentPage: number) => TaxSetCurrentPageAction;
|
|
174
|
+
readonly setPageLimit: (pageLimit: number) => TaxSetPageLimitAction;
|
|
175
|
+
readonly setSearchQuery: (searchQuery: string) => TaxSetSearchQueryAction;
|
|
82
176
|
};
|
|
83
|
-
|
|
177
|
+
/**
|
|
178
|
+
* Extract action type from action object
|
|
179
|
+
*/
|
|
180
|
+
export type ActionType<T extends TaxActions> = T["type"];
|
|
181
|
+
/**
|
|
182
|
+
* Extract payload type from action object
|
|
183
|
+
*/
|
|
184
|
+
export type ActionPayload<T extends TaxActions> = T extends {
|
|
185
|
+
payload: infer P;
|
|
186
|
+
} ? P : never;
|
|
187
|
+
/**
|
|
188
|
+
* Utility type to check if action has payload
|
|
189
|
+
*/
|
|
190
|
+
export type HasPayload<T extends TaxActions> = T extends {
|
|
191
|
+
payload: unknown;
|
|
192
|
+
} ? true : false;
|
|
193
|
+
/**
|
|
194
|
+
* Runtime type guards for action validation
|
|
195
|
+
*/
|
|
196
|
+
export declare const isTaxAction: (action: unknown) => action is TaxActions;
|
|
197
|
+
/**
|
|
198
|
+
* Type guard for reset actions
|
|
199
|
+
*/
|
|
200
|
+
export declare const isResetAction: (action: TaxActions) => action is TaxResetActions;
|
|
@@ -1,18 +1,160 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tax Actions
|
|
4
|
+
*
|
|
5
|
+
* This module defines all action types and interfaces for the Tax state management.
|
|
6
|
+
* Actions are organized by functionality and follow consistent naming patterns.
|
|
7
|
+
*
|
|
8
|
+
* Organization:
|
|
9
|
+
* - Action Types Enum (grouped by functionality)
|
|
10
|
+
* - Reset Actions (form/error reset)
|
|
11
|
+
* - Form Data Actions (input fields, form state)
|
|
12
|
+
* - UI State Actions (drawers, buttons)
|
|
13
|
+
* - List Management Actions (taxes, pagination)
|
|
14
|
+
* - Search Actions (queries)
|
|
15
|
+
* - Union Type Export
|
|
16
|
+
* - Action Creators (helper functions)
|
|
17
|
+
* - Type Utilities (guards and helpers)
|
|
18
|
+
*
|
|
19
|
+
* Naming Convention: Tax{Operation}{Target}Action
|
|
20
|
+
* Examples: TaxSetInputFieldAction, TaxResetFormAction
|
|
21
|
+
*/
|
|
2
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TAX_ACTION_TYPES = void 0;
|
|
23
|
+
exports.isResetAction = exports.isTaxAction = exports.taxActionCreators = exports.TAX_ACTION_TYPES = void 0;
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// ACTION TYPES ENUM
|
|
26
|
+
// ============================================================================
|
|
4
27
|
var TAX_ACTION_TYPES;
|
|
5
28
|
(function (TAX_ACTION_TYPES) {
|
|
29
|
+
// Reset Actions
|
|
6
30
|
TAX_ACTION_TYPES["RESET_ERRORS"] = "RESET_ERRORS";
|
|
7
31
|
TAX_ACTION_TYPES["RESET_FORM"] = "RESET_FORM";
|
|
8
|
-
|
|
9
|
-
TAX_ACTION_TYPES["
|
|
32
|
+
// Form Data Actions
|
|
33
|
+
TAX_ACTION_TYPES["SET_INPUT_FIELD"] = "SET_INPUT_FIELD";
|
|
34
|
+
TAX_ACTION_TYPES["SET_FORM"] = "SET_FORM";
|
|
35
|
+
TAX_ACTION_TYPES["SET_ERRORS"] = "SET_ERRORS";
|
|
36
|
+
// UI State Actions
|
|
10
37
|
TAX_ACTION_TYPES["SET_DISABLE_SAVE_BUTTON"] = "SET_DISABLE_SAVE_BUTTON";
|
|
11
38
|
TAX_ACTION_TYPES["SET_DRAWER"] = "SET_DRAWER";
|
|
12
|
-
|
|
13
|
-
TAX_ACTION_TYPES["
|
|
14
|
-
TAX_ACTION_TYPES["
|
|
39
|
+
// List Management Actions
|
|
40
|
+
TAX_ACTION_TYPES["SET_TAXES"] = "SET_TAXES";
|
|
41
|
+
TAX_ACTION_TYPES["SET_COUNT"] = "SET_COUNT";
|
|
42
|
+
TAX_ACTION_TYPES["SET_CURRENT_PAGE"] = "SET_CURRENT_PAGE";
|
|
15
43
|
TAX_ACTION_TYPES["SET_PAGE_LIMIT"] = "SET_PAGE_LIMIT";
|
|
44
|
+
// Search Actions
|
|
16
45
|
TAX_ACTION_TYPES["SET_SEARCH_QUERY"] = "SET_SEARCH_QUERY";
|
|
17
|
-
TAX_ACTION_TYPES["SET_TAXES"] = "SET_TAXES";
|
|
18
46
|
})(TAX_ACTION_TYPES || (exports.TAX_ACTION_TYPES = TAX_ACTION_TYPES = {}));
|
|
47
|
+
// ============================================================================
|
|
48
|
+
// ACTION CREATORS (Optional Helper Functions)
|
|
49
|
+
// ============================================================================
|
|
50
|
+
/**
|
|
51
|
+
* Action creators for common tax operations
|
|
52
|
+
* These provide type-safe action creation with better developer experience
|
|
53
|
+
*/
|
|
54
|
+
exports.taxActionCreators = {
|
|
55
|
+
// Reset Actions
|
|
56
|
+
resetErrors: function () { return ({
|
|
57
|
+
type: TAX_ACTION_TYPES.RESET_ERRORS,
|
|
58
|
+
}); },
|
|
59
|
+
resetForm: function () { return ({
|
|
60
|
+
type: TAX_ACTION_TYPES.RESET_FORM,
|
|
61
|
+
}); },
|
|
62
|
+
// Form Actions
|
|
63
|
+
setInputField: function (key, value) { return ({
|
|
64
|
+
type: TAX_ACTION_TYPES.SET_INPUT_FIELD,
|
|
65
|
+
payload: { key: key, value: value },
|
|
66
|
+
}); },
|
|
67
|
+
setForm: function (form) { return ({
|
|
68
|
+
type: TAX_ACTION_TYPES.SET_FORM,
|
|
69
|
+
payload: { form: form },
|
|
70
|
+
}); },
|
|
71
|
+
setErrors: function (errors) { return ({
|
|
72
|
+
type: TAX_ACTION_TYPES.SET_ERRORS,
|
|
73
|
+
payload: { errors: errors },
|
|
74
|
+
}); },
|
|
75
|
+
// UI Actions
|
|
76
|
+
setDisableSaveButton: function (disableSaveButton) { return ({
|
|
77
|
+
type: TAX_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON,
|
|
78
|
+
payload: { disableSaveButton: disableSaveButton },
|
|
79
|
+
}); },
|
|
80
|
+
setDrawer: function (drawer) { return ({
|
|
81
|
+
type: TAX_ACTION_TYPES.SET_DRAWER,
|
|
82
|
+
payload: { drawer: drawer },
|
|
83
|
+
}); },
|
|
84
|
+
// List Actions
|
|
85
|
+
setTaxes: function (taxes) { return ({
|
|
86
|
+
type: TAX_ACTION_TYPES.SET_TAXES,
|
|
87
|
+
payload: { taxes: taxes },
|
|
88
|
+
}); },
|
|
89
|
+
setCount: function (count) { return ({
|
|
90
|
+
type: TAX_ACTION_TYPES.SET_COUNT,
|
|
91
|
+
payload: { count: count },
|
|
92
|
+
}); },
|
|
93
|
+
setCurrentPage: function (currentPage) { return ({
|
|
94
|
+
type: TAX_ACTION_TYPES.SET_CURRENT_PAGE,
|
|
95
|
+
payload: { currentPage: currentPage },
|
|
96
|
+
}); },
|
|
97
|
+
setPageLimit: function (pageLimit) { return ({
|
|
98
|
+
type: TAX_ACTION_TYPES.SET_PAGE_LIMIT,
|
|
99
|
+
payload: { pageLimit: pageLimit },
|
|
100
|
+
}); },
|
|
101
|
+
// Search Actions
|
|
102
|
+
setSearchQuery: function (searchQuery) { return ({
|
|
103
|
+
type: TAX_ACTION_TYPES.SET_SEARCH_QUERY,
|
|
104
|
+
payload: { searchQuery: searchQuery },
|
|
105
|
+
}); },
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Runtime type guards for action validation
|
|
109
|
+
*/
|
|
110
|
+
var isTaxAction = function (action) {
|
|
111
|
+
return (typeof action === "object" &&
|
|
112
|
+
action !== null &&
|
|
113
|
+
"type" in action &&
|
|
114
|
+
Object.values(TAX_ACTION_TYPES).includes(action.type));
|
|
115
|
+
};
|
|
116
|
+
exports.isTaxAction = isTaxAction;
|
|
117
|
+
/**
|
|
118
|
+
* Type guard for reset actions
|
|
119
|
+
*/
|
|
120
|
+
var isResetAction = function (action) {
|
|
121
|
+
return (action.type === TAX_ACTION_TYPES.RESET_ERRORS ||
|
|
122
|
+
action.type === TAX_ACTION_TYPES.RESET_FORM);
|
|
123
|
+
};
|
|
124
|
+
exports.isResetAction = isResetAction;
|
|
125
|
+
// ============================================================================
|
|
126
|
+
// OPTIMIZATION SUMMARY
|
|
127
|
+
// ============================================================================
|
|
128
|
+
/*
|
|
129
|
+
* Actions File Optimizations Applied:
|
|
130
|
+
*
|
|
131
|
+
* 1. **Structural Organization**
|
|
132
|
+
* - Grouped action types by functionality in enum
|
|
133
|
+
* - Organized action interfaces into logical sections with clear headers
|
|
134
|
+
* - Added comprehensive JSDoc documentation for each action
|
|
135
|
+
*
|
|
136
|
+
* 2. **Type Safety Improvements**
|
|
137
|
+
* - Used Record<string, string> instead of generic object for errors
|
|
138
|
+
* - Added helper type guards for different action categories
|
|
139
|
+
* - Improved union type organization with comments
|
|
140
|
+
*
|
|
141
|
+
* 3. **Developer Experience**
|
|
142
|
+
* - Added action creator functions for type-safe action creation
|
|
143
|
+
* - Comprehensive JSDoc comments for all actions and sections
|
|
144
|
+
* - Clear naming conventions following Tax{Operation}{Target}Action pattern
|
|
145
|
+
*
|
|
146
|
+
* 4. **Code Quality**
|
|
147
|
+
* - Logical grouping of related actions by functionality
|
|
148
|
+
* - Consistent formatting and structure
|
|
149
|
+
* - Self-documenting code with clear purpose and organization
|
|
150
|
+
*
|
|
151
|
+
* 5. **Maintainability**
|
|
152
|
+
* - Easy to locate specific action types by section
|
|
153
|
+
* - Clear relationship between actions and their purposes
|
|
154
|
+
* - Modular structure for future extensions
|
|
155
|
+
*
|
|
156
|
+
* 6. **Performance Benefits**
|
|
157
|
+
* - Enum-based action types for better bundling
|
|
158
|
+
* - Type-safe action creators prevent runtime errors
|
|
159
|
+
* - Clear type relationships for better IDE support and intellisense
|
|
160
|
+
*/
|
|
@@ -1,42 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Tax Constants
|
|
3
|
+
*
|
|
4
|
+
* This module defines all constants used throughout the Tax module.
|
|
5
|
+
* Constants are organized by functionality and follow consistent naming patterns.
|
|
6
|
+
*
|
|
7
|
+
* Organization:
|
|
8
|
+
* - Page Configuration (pagination, limits)
|
|
9
|
+
* - API Routes (backend endpoints)
|
|
10
|
+
* - Table Configuration (column definitions)
|
|
11
|
+
* - Form Configuration (form elements and schema)
|
|
12
|
+
*
|
|
13
|
+
* Naming Convention: Descriptive names with clear purpose
|
|
14
|
+
*/
|
|
15
|
+
import { VISTA_TABLE_CELL_TYPE } from "@appcorp/app-corp-vista/type/vista-table-type";
|
|
16
|
+
/**
|
|
17
|
+
* Default page limit for pagination
|
|
18
|
+
*/
|
|
3
19
|
export declare const pageLimit: number;
|
|
4
|
-
|
|
5
|
-
|
|
20
|
+
/**
|
|
21
|
+
* API endpoints for tax operations
|
|
22
|
+
*/
|
|
23
|
+
export declare const TAX_API_ROUTES: {
|
|
24
|
+
readonly TAX: "/api/tax";
|
|
25
|
+
readonly TAXES: "/api/taxes";
|
|
26
|
+
readonly TAX_BY_ID: "/api/tax/tax-by-id";
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Table column definitions for tax listing
|
|
30
|
+
*/
|
|
31
|
+
export declare const tableBodyCols: {
|
|
6
32
|
componentType: VISTA_TABLE_CELL_TYPE;
|
|
7
33
|
key: string;
|
|
8
|
-
}
|
|
9
|
-
componentType: VISTA_TABLE_CELL_TYPE;
|
|
10
|
-
key?: undefined;
|
|
11
|
-
})[];
|
|
12
|
-
export declare const PREFERENCE_API_ROUTES: {
|
|
13
|
-
BRANCH: string;
|
|
14
|
-
BRANCHES: string;
|
|
15
|
-
BRANCH_BY_ID: string;
|
|
16
|
-
CURRENCIES: string;
|
|
17
|
-
CURRENCY: string;
|
|
18
|
-
CURRENCY_BY_ID: string;
|
|
19
|
-
PAYMENT_MODE: string;
|
|
20
|
-
PAYMENT_MODES: string;
|
|
21
|
-
PAYMENT_MODE_BY_ID: string;
|
|
22
|
-
PREFERENCE: string;
|
|
23
|
-
PREFERENCES: string;
|
|
24
|
-
PREFERENCE_BY_ID: string;
|
|
25
|
-
TAX: string;
|
|
26
|
-
TAXES: string;
|
|
27
|
-
TAX_BY_ID: string;
|
|
28
|
-
};
|
|
29
|
-
export declare const toastErrors: {
|
|
30
|
-
fetchInvoiceError: string;
|
|
31
|
-
formSubmittedSuccess: string;
|
|
32
|
-
genericError: string;
|
|
33
|
-
networkError: string;
|
|
34
|
-
submitFormError: string;
|
|
35
|
-
validationError: string;
|
|
36
|
-
};
|
|
37
|
-
export declare const validationError: {
|
|
38
|
-
taxName: string;
|
|
39
|
-
taxRate: string;
|
|
40
|
-
description: string;
|
|
41
|
-
preferenceId: string;
|
|
42
|
-
};
|
|
34
|
+
}[];
|