Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | 13x 13x 13x 13x 13x 32x 13x 13x 8x 9x 9x 7x 7x 2x 2x 4x 4x | import { EntityState, createEntityAdapter } from '@ngrx/entity';
import { createReducer, on } from '@ngrx/store';
import { HttpError } from 'ish-core/models/http-error/http-error.model';
import { setErrorOn, setLoadingOn, unsetLoadingAndErrorOn } from 'ish-core/utils/ngrx-creators';
import { OrderTemplate } from '../../models/order-template/order-template.model';
import {
addProductToOrderTemplate,
addProductToOrderTemplateFail,
addProductToOrderTemplateSuccess,
createOrderTemplate,
createOrderTemplateFail,
createOrderTemplateSuccess,
deleteOrderTemplate,
deleteOrderTemplateFail,
deleteOrderTemplateSuccess,
loadOrderTemplates,
loadOrderTemplatesFail,
loadOrderTemplatesSuccess,
orderTemplatesActions,
orderTemplatesApiActions,
removeItemFromOrderTemplateSuccess,
selectOrderTemplate,
updateOrderTemplate,
updateOrderTemplateFail,
updateOrderTemplateSuccess,
} from './order-template.actions';
export interface OrderTemplateState extends EntityState<OrderTemplate> {
loading: boolean;
selected: string;
error: HttpError;
}
export const orderTemplateAdapter = createEntityAdapter<OrderTemplate>({
selectId: orderTemplate => orderTemplate.id,
});
export const initialState: OrderTemplateState = orderTemplateAdapter.getInitialState({
loading: false,
selected: undefined,
error: undefined,
});
export const orderTemplateReducer = createReducer(
initialState,
setLoadingOn(
addProductToOrderTemplate,
createOrderTemplate,
deleteOrderTemplate,
loadOrderTemplates,
orderTemplatesActions.createOrderTemplateFromLineItems,
updateOrderTemplate
),
unsetLoadingAndErrorOn(
addProductToOrderTemplateSuccess,
createOrderTemplateSuccess,
deleteOrderTemplateSuccess,
loadOrderTemplatesSuccess,
orderTemplatesApiActions.createOrderTemplateFromLineItemsSuccess,
removeItemFromOrderTemplateSuccess,
updateOrderTemplateSuccess
),
setErrorOn(
addProductToOrderTemplateFail,
createOrderTemplateFail,
deleteOrderTemplateFail,
loadOrderTemplatesFail,
orderTemplatesApiActions.createOrderTemplateFromLineItemsFail,
updateOrderTemplateFail
),
on(
createOrderTemplateFail,
deleteOrderTemplateFail,
loadOrderTemplatesFail,
orderTemplatesApiActions.createOrderTemplateFromLineItemsFail,
updateOrderTemplateFail,
(state: OrderTemplateState): OrderTemplateState => ({
...state,
selected: undefined as string,
})
),
on(loadOrderTemplatesSuccess, (state, action) => {
const { orderTemplates } = action.payload;
return orderTemplateAdapter.setAll(orderTemplates, state);
}),
on(
addProductToOrderTemplateSuccess,
createOrderTemplateSuccess,
removeItemFromOrderTemplateSuccess,
orderTemplatesApiActions.createOrderTemplateFromLineItemsSuccess,
updateOrderTemplateSuccess,
(state, action) => {
const { orderTemplate } = action.payload;
return orderTemplateAdapter.upsertOne(orderTemplate, state);
}
),
on(deleteOrderTemplateSuccess, (state, action) => {
const { orderTemplateId } = action.payload;
return orderTemplateAdapter.removeOne(orderTemplateId, state);
}),
on(selectOrderTemplate, (state, action): OrderTemplateState => {
const { id } = action.payload;
return {
...state,
selected: id,
};
})
);
|