WIP feature/Bulk

This commit is contained in:
elforjani3
2020-05-20 01:49:36 +02:00
parent 10f636d2bc
commit 3753c3e791
20 changed files with 454 additions and 73 deletions

View File

@@ -63,3 +63,19 @@ export const editExchangeRate = (id, form) => {
});
});
};
export const deleteBulkExchangeRates = ({ ids }) => {
return dispatch => new Promise((resolve, reject) => {
ApiService.delete(`exchange_rates/bulk`, { params: { ids }}).then((response) => {
dispatch({
type: t.EXCHANGE_RATES_BULK_DELETE,
payload: { ids }
});
resolve(response);
}).catch((error) => {
reject(error);
});
});
};

View File

@@ -20,4 +20,18 @@ export default createReducer(initialState, {
[t.EXCHANGE_RATE_TABLE_LOADING]: (state, action) => {
state.loading = action.loading;
},
[t.EXCHANGE_RATES_BULK_DELETE]:(state,action)=>{
const {ids} =action.payload;
const {exchange_rate} = {...state.exchangeRates};
ids.forEach((id)=>{
if(typeof exchange_rate[id] !=='undefined'){
delete exchange_rate[id]
}
});
state.exchangeRates =exchange_rate
}
});

View File

@@ -4,5 +4,6 @@ export default {
EXCHANGE_RATE_LIST_SET: 'EXCHANGE_RATE_LIST_SET',
CLEAR_EXCHANGE_RATE_FORM_ERRORS: 'CLEAR_EXCHANGE_RATE_FORM_ERRORS',
ExchangeRates_TABLE_QUERIES_ADD: 'ExchangeRates_TABLE_QUERIES_ADD',
EXCHANGE_RATE_TABLE_LOADING:'EXCHANGE_RATE_TABLE_LOADING'
EXCHANGE_RATE_TABLE_LOADING:'EXCHANGE_RATE_TABLE_LOADING',
EXCHANGE_RATES_BULK_DELETE: 'EXCHANGE_RATES_BULK_DELETE',
};

View File

@@ -185,6 +185,39 @@ export const inactiveAccount = ({ id }) => {
return dispatch => ApiService.post(`accounts/${id}/inactive`);
};
export const bulkActivateAccounts =({ids})=>{
return dispatch => new Promise((resolve, reject) => {
ApiService.post(`accounts/bulk/activate`, null, { params: { ids }}).then((response) => {
dispatch({
type: t.BULK_ACTIVATE_ACCOUNTS,
payload: { ids }
});
resolve(response);
}).catch((error) => {
reject(error);
});
});
}
export const bulkInactiveAccounts =({ids})=>{
return dispatch => new Promise((resolve, reject) => {
ApiService.post(`accounts/bulk/inactivate`, null, { params: { ids }}).then((response) => {
dispatch({
type: t.BULK_INACTIVATE_ACCOUNTS,
payload: { ids }
});
resolve(response);
}).catch((error) => {
reject(error);
});
});
}
export const deleteAccount = ({ id }) => {
return dispatch => new Promise((resolve, reject) => {
ApiService.delete(`accounts/${id}`).then((response) => {

View File

@@ -20,5 +20,8 @@ export default {
ACCOUNT_ERRORS_SET: 'ACCOUNT_ERRORS_SET',
ACCOUNT_ERRORS_CLEAR: 'ACCOUNT_ERRORS_CLEAR',
ACCOUNTS_BULK_DELETE: 'ACCOUNTS_BULK_DELETE'
ACCOUNTS_BULK_DELETE: 'ACCOUNTS_BULK_DELETE',
BULK_ACTIVATE_ACCOUNTS:'BULK_ACTIVATE_ACCOUNTS',
BULK_INACTIVATE_ACCOUNTS:'BULK_INACTIVATE_ACCOUNTS'
};

View File

@@ -79,3 +79,17 @@ export const deleteItemCategory = (id) => {
});
});
};
export const deleteBulkItemCategories = ({ ids }) => {
return dispatch => new Promise((resolve, reject) => {
ApiService.delete(`item_categories/bulk`, { params: { ids }}).then((response) => {
dispatch({
type: t.ITEM_CATEGORIES_BULK_DELETE,
payload: { ids }
});
resolve(response);
}).catch((error) => {
reject(error);
});
});
};

View File

@@ -35,6 +35,17 @@ export default createReducer(initialState, {
const { loading } = action.payload;
state.loading = !!loading;
},
[t.ITEM_CATEGORIES_BULK_DELETE]:(state,action)=>{
const {ids} =action.payload;
const {categories} = {...state.categories};
ids.forEach((id)=>{
if(typeof categories[id] !=='undefined'){
delete categories[id]
}
});
state.categories =categories
}
});
export const getCategoryId = (state, id) => {

View File

@@ -2,5 +2,7 @@ export default {
ITEMS_CATEGORY_LIST_SET: 'ITEMS_CATEGORY_LIST_SET',
ITEMS_CATEGORY_DATA_TABLE: 'ITEMS_CATEGORY_DATA_TABLE',
CATEGORY_DELETE: 'CATEGORY_DELETE',
ITEM_CATEGORIES_TABLE_LOADING: 'ITEM_CATEGORIES_TABLE_LOADING'
ITEM_CATEGORIES_TABLE_LOADING: 'ITEM_CATEGORIES_TABLE_LOADING',
ITEM_CATEGORIES_BULK_DELETE:'ITEM_CATEGORIES_BULK_DELETE'
};