@@ -17,6 +17,8 @@ export const Types = {
17
17
UPDATE_TRANSACTION_SUCCESS : '@transaction/UPDATE_TRANSACTION_SUCCESS' ,
18
18
TRANSACTIONS_ERROR : '@transaction/TRANSACTIONS_ERROR' ,
19
19
TRANSACTION_MODAL_TOGGLE : '@transaction/TRANSACTION_MODAL_TOGGLE' ,
20
+ ADD_TOTAL_TRANSACTIONS : '@transaction/ADD_TOTAL_TRANSACTIONS' ,
21
+ CLEAR_TOTAL_TRANSACTIONS : '@transaction/CLEAR_TOTAL_TRANSACTIONS' ,
20
22
} ;
21
23
22
24
export const LOADING_DEFAULT : TransactionLoading = {
@@ -29,6 +31,7 @@ export const LOADING_DEFAULT: TransactionLoading = {
29
31
const INITIAL_STATE : TransactionStateInterface = {
30
32
data : [ ] ,
31
33
error : null ,
34
+ totalAllTransactions : null ,
32
35
currentDateRange : null ,
33
36
transactionSelected : null ,
34
37
loading : LOADING_DEFAULT ,
@@ -39,6 +42,10 @@ export default function Transactions(state = INITIAL_STATE, action: Transactions
39
42
const { payload } = action ;
40
43
41
44
switch ( action . type ) {
45
+ case Types . ADD_TOTAL_TRANSACTIONS :
46
+ return { ...state , totalAllTransactions : payload . total } ;
47
+ case Types . CLEAR_TOTAL_TRANSACTIONS :
48
+ return { ...state , totalAllTransactions : null } ;
42
49
case Types . GET_TRANSACTIONS_REQUEST :
43
50
return {
44
51
...state ,
@@ -65,12 +72,14 @@ export default function Transactions(state = INITIAL_STATE, action: Transactions
65
72
error : null ,
66
73
loading : { ...state . loading , addLoading : false } ,
67
74
data : [ payload . transaction , ...state . data ] ,
75
+ totalAllTransactions : null ,
68
76
} ;
69
77
case Types . UPDATE_TRANSACTION_SUCCESS :
70
78
return {
71
79
...state ,
72
80
error : null ,
73
81
transactionSelected : null ,
82
+ totalAllTransactions : null ,
74
83
loading : { ...state . loading , editLoading : false } ,
75
84
data : state . data . map ( item => (
76
85
payload . transaction && item . id === payload . transaction . id
@@ -80,6 +89,7 @@ export default function Transactions(state = INITIAL_STATE, action: Transactions
80
89
case Types . DELETE_TRANSACTION_SUCCESS :
81
90
return {
82
91
...state ,
92
+ totalAllTransactions : null ,
83
93
loading : { ...state . loading , deleteLoading : false } ,
84
94
data : state . data . filter ( item => payload . transaction && item . id !== payload . transaction . id ) ,
85
95
} ;
@@ -134,4 +144,11 @@ export const Creators = {
134
144
type : Types . TRANSACTION_MODAL_TOGGLE ,
135
145
payload : { transaction } ,
136
146
} ) ,
147
+ addTotalTransactions : ( total : number ) => ( {
148
+ type : Types . ADD_TOTAL_TRANSACTIONS ,
149
+ payload : { total } ,
150
+ } ) ,
151
+ clearTotalTransactions : ( ) => ( {
152
+ type : Types . CLEAR_TOTAL_TRANSACTIONS ,
153
+ } ) ,
137
154
} ;
0 commit comments