Skip to content

Commit e7b4b8e

Browse files
committed
🍱 build
1 parent 9ca7fe7 commit e7b4b8e

File tree

9 files changed

+261
-296
lines changed

9 files changed

+261
-296
lines changed
Lines changed: 55 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,59 @@
1-
import { Action } from '@ngrx/store';
1+
import { createAction, props } from '@ngrx/store';
22
import { Update } from '@ngrx/entity';
33

44
import { Todo } from '@todos/models';
55

6-
export enum TodoUIActionsTypes {
7-
LoadTodosRequest = '[TodoModule] LoadTodosRequest',
8-
LoadTodosSuccess = '[TodoModule] LoadTodosSuccess',
9-
LoadTodosFail = '[TodoModule] LoadTodosFail',
10-
AddTodoRequest = '[TodoModule] AddTodoRequest',
11-
AddTodoSuccess = '[TodoModule] AddTodoSuccess',
12-
AddTodoFail = '[TodoModule] AddTodoTodosFail',
13-
UpdateTodoRequest = '[TodoModule] UpdateTodoRequest',
14-
UpdateTodoSuccess = '[TodoModule] UpdateTodoSuccess',
15-
UpdateTodoFail = '[TodoModule] UpdateTodoFail',
16-
DeleteTodoRequest = '[TodoModule] DeleteTodoRequest',
17-
DeleteTodoSuccess = '[TodoModule] DeleteTodoSuccess',
18-
DeleteTodoFail = '[TodoModule] DeleteTodoFail',
19-
}
20-
21-
export class LoadTodosRequest implements Action {
22-
readonly type = TodoUIActionsTypes.LoadTodosRequest;
23-
}
24-
25-
export class LoadTodosSuccess implements Action {
26-
readonly type = TodoUIActionsTypes.LoadTodosSuccess;
27-
}
28-
29-
export class LoadTodosFail implements Action {
30-
readonly type = TodoUIActionsTypes.LoadTodosFail;
31-
constructor(public payload: { error: string }) { }
32-
}
33-
34-
export class AddTodoRequest implements Action {
35-
readonly type = TodoUIActionsTypes.AddTodoRequest;
36-
constructor(public payload: { todo: Todo }) { }
37-
}
38-
39-
export class AddTodoSuccess implements Action {
40-
readonly type = TodoUIActionsTypes.AddTodoSuccess;
41-
}
42-
43-
export class AddTodoFail implements Action {
44-
readonly type = TodoUIActionsTypes.AddTodoFail;
45-
constructor(public payload: { error: string }) { }
46-
}
47-
48-
export class UpdateTodoRequest implements Action {
49-
readonly type = TodoUIActionsTypes.UpdateTodoRequest;
50-
constructor(public payload: { update: Update<Todo> }) { }
51-
}
52-
53-
export class UpdateTodoSuccess implements Action {
54-
readonly type = TodoUIActionsTypes.UpdateTodoSuccess;
55-
}
56-
57-
export class UpdateTodoFail implements Action {
58-
readonly type = TodoUIActionsTypes.UpdateTodoFail;
59-
constructor(public payload: { error: string }) { }
60-
}
61-
62-
export class DeleteTodoRequest implements Action {
63-
readonly type = TodoUIActionsTypes.DeleteTodoRequest;
64-
constructor(public payload: { id: number }) { }
65-
}
66-
67-
export class DeleteTodoSuccess implements Action {
68-
readonly type = TodoUIActionsTypes.DeleteTodoSuccess;
69-
}
70-
71-
export class DeleteTodoFail implements Action {
72-
readonly type = TodoUIActionsTypes.DeleteTodoFail;
73-
constructor(public payload: { error: string }) { }
74-
}
75-
76-
export type TodoUIActions =
77-
LoadTodosRequest |
78-
LoadTodosSuccess |
79-
LoadTodosFail |
80-
AddTodoRequest |
81-
AddTodoSuccess |
82-
AddTodoFail |
83-
UpdateTodoRequest |
84-
UpdateTodoSuccess |
85-
UpdateTodoFail |
86-
DeleteTodoRequest |
87-
DeleteTodoSuccess |
88-
DeleteTodoFail;
6+
export const loadTodosRequest = createAction(
7+
'[TodoModule] LoadTodosRequest'
8+
);
9+
10+
export const loadTodosSuccess = createAction(
11+
'[TodoModule] LoadTodosSuccess'
12+
);
13+
14+
export const loadTodosFail = createAction(
15+
'[TodoModule] LoadTodosFail',
16+
props<{ error: string }>()
17+
);
18+
19+
export const addTodoRequest = createAction(
20+
'[TodoModule] AddTodoRequest',
21+
props<{ todo: Todo }>()
22+
);
23+
24+
export const addTodoSuccess = createAction(
25+
'[TodoModule] AddTodoSuccess',
26+
);
27+
28+
export const addTodoFail = createAction(
29+
'[TodoModule] AddTodoFail',
30+
props<{ error: string }>()
31+
);
32+
33+
export const updateTodoRequest = createAction(
34+
'[TodoModule] UpdateTodoRequest',
35+
props<{ update: Update<Todo> }>()
36+
);
37+
38+
export const updateTodoSuccess = createAction(
39+
'[TodoModule] updateTodoSuccess'
40+
);
41+
42+
export const updateTodoFail = createAction(
43+
'[TodoModule] UpdateTodoFail',
44+
props<{ error: string }>()
45+
);
46+
47+
export const deleteTodoRequest = createAction(
48+
'[TodoModule] DeleteTodoRequest',
49+
props<{ id: number }>()
50+
);
51+
52+
export const deleteTodoSuccess = createAction(
53+
'[TodoModule] DeleteTodoSuccess'
54+
);
55+
56+
export const deleteTodoFail = createAction(
57+
'[TodoModule] DeleteTodoFail',
58+
props<{ error: string }>()
59+
);
Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,23 @@
1-
import { Action } from '@ngrx/store';
1+
import { createAction, props } from '@ngrx/store';
22
import { Update } from '@ngrx/entity';
33
import { Todo } from '@todos/models';
44

5-
export enum TodoActionsTypes {
6-
AddTodo = '[TodoModule] AddTodo',
7-
DeleteTodo = '[TodoModule] DeleteTodo',
8-
UpdateTodo = '[TodoModule] UpdateTodo',
9-
LoadTodos = '[TodoModule] LoadTodos',
10-
}
5+
export const addTodo = createAction(
6+
'[TodoModule] AddTodo',
7+
props<{todo: Todo }>()
8+
);
119

12-
export class AddTodo implements Action {
13-
readonly type = TodoActionsTypes.AddTodo;
14-
constructor(public payload: { todo: Todo }) { }
15-
}
10+
export const updateTodo = createAction(
11+
'[TodoModule] UpdateTodo',
12+
props<{update: Update<Todo>}>()
13+
);
1614

17-
export class UpdateTodo implements Action {
18-
readonly type = TodoActionsTypes.UpdateTodo;
19-
constructor(public payload: { update: Update<Todo> }) { }
20-
}
15+
export const deleteTodo = createAction(
16+
'[TodoModule] DeleteTodo',
17+
props<{id: number}>()
18+
);
2119

22-
export class DeleteTodo implements Action {
23-
readonly type = TodoActionsTypes.DeleteTodo;
24-
constructor(public payload: { id: number }) { }
25-
}
26-
27-
export class LoadTodos implements Action {
28-
readonly type = TodoActionsTypes.LoadTodos;
29-
constructor(public payload: { todos: Todo[] }) { }
30-
}
31-
32-
export type TodoActions =
33-
AddTodo |
34-
UpdateTodo |
35-
DeleteTodo |
36-
LoadTodos;
20+
export const loadTodos = createAction(
21+
'[TodoModule] LoadTodos',
22+
props<{todos: Todo[]}>()
23+
);

src/app/todos/containers/layout/layout.container.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';
22
import { Store, select } from '@ngrx/store';
33

44
import { TodosModuleState } from '@todos/states';
5-
import { AddTodoRequest } from '@todos/actions';
6-
import { getVisibleTodos, getCountVisibleTodos, getFilter } from '@todos/selectors';
5+
import { addTodoRequest } from '@todos/actions';
6+
import { getCountVisibleTodos, getFilter } from '@todos/selectors';
77
import { Todo } from '@todos/models';
88
import { Observable } from 'rxjs';
99

@@ -38,7 +38,7 @@ export class LayoutContainer implements OnInit {
3838
title,
3939
completed: false
4040
};
41-
const action = new AddTodoRequest({todo});
41+
const action = addTodoRequest({todo});
4242
this.store.dispatch(action);
4343
}
4444

src/app/todos/containers/todo-list/todo-list.container.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import { Store, select } from '@ngrx/store';
44
import { Update } from '@ngrx/entity';
55

66
import { TodosModuleState } from '@todos/states';
7-
import { DeleteTodoRequest, UpdateTodoRequest } from '@todos/actions';
8-
import { getVisibleTodos, getCountVisibleTodos, getFilter } from '@todos/selectors';
7+
import { deleteTodoRequest, updateTodoRequest } from '@todos/actions';
8+
import { getVisibleTodos } from '@todos/selectors';
99
import { Todo } from '@todos/models';
1010
import { Observable } from 'rxjs';
1111

@@ -38,12 +38,12 @@ export class TodoListContainer implements OnInit {
3838
// }
3939

4040
onUpdate(update: Update<Todo>) {
41-
const action = new UpdateTodoRequest({update});
41+
const action = updateTodoRequest({update});
4242
this.store.dispatch(action);
4343
}
4444

4545
onDelete(id: number) {
46-
const action = new DeleteTodoRequest({id});
46+
const action = deleteTodoRequest({id});
4747
this.store.dispatch(action);
4848
}
4949
}

0 commit comments

Comments
 (0)