Skip to content

Commit af4617c

Browse files
committed
Change delete operation to use Id instead of object.
1 parent 2611f70 commit af4617c

File tree

10 files changed

+27
-27
lines changed

10 files changed

+27
-27
lines changed

APM-Demo4/src/app/products/product-edit/product-edit.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ export class ProductEditComponent implements OnInit, OnDestroy {
128128
deleteProduct(): void {
129129
if (this.product && this.product.id) {
130130
if (confirm(`Really delete the product: ${this.product.productName}?`)) {
131-
this.store.dispatch(new productActions.DeleteProduct(this.product));
131+
this.store.dispatch(new productActions.DeleteProduct(this.product.id));
132132
}
133133
} else {
134134
// No need to delete, it was never saved

APM-Demo4/src/app/products/state/product.actions.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,13 @@ export class CreateProductFail implements Action {
9898
export class DeleteProduct implements Action {
9999
readonly type = ProductActionTypes.DeleteProduct;
100100

101-
constructor(public payload: Product) { }
101+
constructor(public payload: number) { }
102102
}
103103

104104
export class DeleteProductSuccess implements Action {
105105
readonly type = ProductActionTypes.DeleteProductSuccess;
106106

107-
constructor(public payload: Product) { }
107+
constructor(public payload: number) { }
108108
}
109109

110110
export class DeleteProductFail implements Action {

APM-Demo4/src/app/products/state/product.effects.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export class ProductEffects {
4646
map((action: productActions.CreateProduct) => action.payload),
4747
mergeMap((product: Product) =>
4848
this.productService.createProduct(product).pipe(
49-
map(updatedProduct => (new productActions.CreateProductSuccess(updatedProduct))),
49+
map(newProduct => (new productActions.CreateProductSuccess(newProduct))),
5050
catchError(err => of(new productActions.CreateProductFail(err)))
5151
)
5252
)
@@ -56,9 +56,9 @@ export class ProductEffects {
5656
deleteProduct$: Observable<Action> = this.actions$.pipe(
5757
ofType(productActions.ProductActionTypes.DeleteProduct),
5858
map((action: productActions.DeleteProduct) => action.payload),
59-
mergeMap((product: Product) =>
60-
this.productService.deleteProduct(product.id).pipe(
61-
map(() => (new productActions.DeleteProductSuccess(product))),
59+
mergeMap((productId: number) =>
60+
this.productService.deleteProduct(productId).pipe(
61+
map(() => (new productActions.DeleteProductSuccess(productId))),
6262
catchError(err => of(new productActions.DeleteProductFail(err)))
6363
)
6464
)

APM-Demo4/src/app/products/state/product.reducer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ export function reducer(state = initialState, action: ProductActions): ProductSt
144144
case ProductActionTypes.DeleteProductSuccess:
145145
return {
146146
...state,
147-
products: state.products.filter(product => product.id !== action.payload.id),
147+
products: state.products.filter(product => product.id !== action.payload),
148148
currentProductId: null,
149149
error: ''
150150
};

APM-Demo5/src/app/products/containers/product-shell/product-shell.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export class ProductShellComponent implements OnInit {
3939
}
4040

4141
deleteProduct(product: Product): void {
42-
this.store.dispatch(new productActions.DeleteProduct(product));
42+
this.store.dispatch(new productActions.DeleteProduct(product.id));
4343
}
4444

4545
clearProduct(): void {

APM-Demo5/src/app/products/state/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,4 @@ export const getProducts = createSelector(
4848
export const getError = createSelector(
4949
getProductFeatureState,
5050
state => state.error
51-
);
51+
);

APM-Demo5/src/app/products/state/product.actions.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,49 +62,49 @@ export class LoadFail implements Action {
6262
export class UpdateProduct implements Action {
6363
readonly type = ProductActionTypes.UpdateProduct;
6464

65-
constructor(public payload: Product) {}
65+
constructor(public payload: Product) { }
6666
}
6767

6868
export class UpdateProductSuccess implements Action {
6969
readonly type = ProductActionTypes.UpdateProductSuccess;
7070

71-
constructor(public payload: Product) {}
71+
constructor(public payload: Product) { }
7272
}
7373

7474
export class UpdateProductFail implements Action {
7575
readonly type = ProductActionTypes.UpdateProductFail;
7676

77-
constructor(public payload: string) {}
77+
constructor(public payload: string) { }
7878
}
7979

8080
export class CreateProduct implements Action {
8181
readonly type = ProductActionTypes.CreateProduct;
8282

83-
constructor(public payload: Product) {}
83+
constructor(public payload: Product) { }
8484
}
8585

8686
export class CreateProductSuccess implements Action {
8787
readonly type = ProductActionTypes.CreateProductSuccess;
8888

89-
constructor(public payload: Product) {}
89+
constructor(public payload: Product) { }
9090
}
9191

9292
export class CreateProductFail implements Action {
9393
readonly type = ProductActionTypes.CreateProductFail;
9494

95-
constructor(public payload: string) {}
95+
constructor(public payload: string) { }
9696
}
9797

9898
export class DeleteProduct implements Action {
9999
readonly type = ProductActionTypes.DeleteProduct;
100100

101-
constructor(public payload: Product) {}
101+
constructor(public payload: number) { }
102102
}
103103

104104
export class DeleteProductSuccess implements Action {
105105
readonly type = ProductActionTypes.DeleteProductSuccess;
106106

107-
constructor(public payload: Product) {}
107+
constructor(public payload: number) { }
108108
}
109109

110110
export class DeleteProductFail implements Action {

APM-Demo5/src/app/products/state/product.effects.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export class ProductEffects {
4646
map((action: productActions.CreateProduct) => action.payload),
4747
mergeMap((product: Product) =>
4848
this.productService.createProduct(product).pipe(
49-
map(updatedProduct => (new productActions.CreateProductSuccess(updatedProduct))),
49+
map(newProduct => (new productActions.CreateProductSuccess(newProduct))),
5050
catchError(err => of(new productActions.CreateProductFail(err)))
5151
)
5252
)
@@ -56,9 +56,9 @@ export class ProductEffects {
5656
deleteProduct$: Observable<Action> = this.actions$.pipe(
5757
ofType(productActions.ProductActionTypes.DeleteProduct),
5858
map((action: productActions.DeleteProduct) => action.payload),
59-
mergeMap((product: Product) =>
60-
this.productService.deleteProduct(product.id).pipe(
61-
map(() => (new productActions.DeleteProductSuccess(product))),
59+
mergeMap((productId: number) =>
60+
this.productService.deleteProduct(productId).pipe(
61+
map(() => (new productActions.DeleteProductSuccess(productId))),
6262
catchError(err => of(new productActions.DeleteProductFail(err)))
6363
)
6464
)

APM-Demo5/src/app/products/state/product.reducer.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export function reducer(state = initialState, action: ProductActions): ProductSt
5757
error: action.payload
5858
};
5959

60-
case ProductActionTypes.UpdateProductSuccess:
60+
case ProductActionTypes.UpdateProductSuccess:
6161
const updatedProducts = state.products.map(
6262
item => action.payload.id === item.id ? action.payload : item);
6363
return {
@@ -67,7 +67,7 @@ export function reducer(state = initialState, action: ProductActions): ProductSt
6767
error: ''
6868
};
6969

70-
case ProductActionTypes.UpdateProductFail:
70+
case ProductActionTypes.UpdateProductFail:
7171
return {
7272
...state,
7373
error: action.payload
@@ -82,7 +82,7 @@ export function reducer(state = initialState, action: ProductActions): ProductSt
8282
error: ''
8383
};
8484

85-
case ProductActionTypes.CreateProductFail:
85+
case ProductActionTypes.CreateProductFail:
8686
return {
8787
...state,
8888
error: action.payload
@@ -92,7 +92,7 @@ export function reducer(state = initialState, action: ProductActions): ProductSt
9292
case ProductActionTypes.DeleteProductSuccess:
9393
return {
9494
...state,
95-
products: state.products.filter(product => product.id !== action.payload.id),
95+
products: state.products.filter(product => product.id !== action.payload),
9696
currentProductId: null,
9797
error: ''
9898
};

APM-Demo5/src/app/user/state/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ export const getCurentUser = createSelector(
1818
export const getMaskUserName = createSelector(
1919
getProductFeatureState,
2020
state => state.maskUserName
21-
);
21+
);

0 commit comments

Comments
 (0)