mirror of
https://github.com/ershisan99/it-incubator-todolist-ts-17-live-2024-08-17.git
synced 2026-02-05 05:12:08 +00:00
chore: rename action creators to remove "AC"
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { createSlice, PayloadAction } from '@reduxjs/toolkit'
|
||||
import { todolistsAPI, TodolistType } from 'api/todolists-api'
|
||||
import { RequestStatusType, setAppStatusAC } from 'app/app-reducer'
|
||||
import { RequestStatusType, setAppStatus } from 'app/app-reducer'
|
||||
import { AppThunk } from 'app/store'
|
||||
import { handleServerNetworkError } from 'utils/error-utils'
|
||||
|
||||
@@ -16,16 +16,16 @@ const todolistsSlice = createSlice({
|
||||
name: 'todolists',
|
||||
initialState,
|
||||
reducers: {
|
||||
removeTodolistAC(state, action: PayloadAction<string>) {
|
||||
removeTodolist(state, action: PayloadAction<string>) {
|
||||
return state.filter((tl) => tl.id != action.payload)
|
||||
},
|
||||
addTodolistAC(state, action: PayloadAction<TodolistType>) {
|
||||
addTodolist(state, action: PayloadAction<TodolistType>) {
|
||||
return [
|
||||
{ ...action.payload, filter: 'all', entityStatus: 'idle' },
|
||||
...state,
|
||||
]
|
||||
},
|
||||
changeTodolistTitleAC(
|
||||
changeTodolistTitle(
|
||||
state,
|
||||
action: PayloadAction<{
|
||||
id: string
|
||||
@@ -38,7 +38,7 @@ const todolistsSlice = createSlice({
|
||||
: tl
|
||||
)
|
||||
},
|
||||
changeTodolistFilterAC(
|
||||
changeTodolistFilter(
|
||||
state,
|
||||
action: PayloadAction<{
|
||||
id: string
|
||||
@@ -51,7 +51,7 @@ const todolistsSlice = createSlice({
|
||||
: tl
|
||||
)
|
||||
},
|
||||
changeTodolistEntityStatusAC(
|
||||
changeTodolistEntityStatus(
|
||||
state,
|
||||
action: PayloadAction<{
|
||||
id: string
|
||||
@@ -64,7 +64,7 @@ const todolistsSlice = createSlice({
|
||||
: tl
|
||||
)
|
||||
},
|
||||
setTodolistsAC(state, action: PayloadAction<Array<TodolistType>>) {
|
||||
setTodolists(state, action: PayloadAction<Array<TodolistType>>) {
|
||||
return action.payload.map((tl) => ({
|
||||
...tl,
|
||||
filter: 'all',
|
||||
@@ -75,24 +75,24 @@ const todolistsSlice = createSlice({
|
||||
})
|
||||
|
||||
export const {
|
||||
changeTodolistEntityStatusAC,
|
||||
changeTodolistFilterAC,
|
||||
changeTodolistTitleAC,
|
||||
addTodolistAC,
|
||||
removeTodolistAC,
|
||||
setTodolistsAC,
|
||||
changeTodolistEntityStatus,
|
||||
changeTodolistFilter,
|
||||
changeTodolistTitle,
|
||||
addTodolist,
|
||||
removeTodolist,
|
||||
setTodolists,
|
||||
} = todolistsSlice.actions
|
||||
|
||||
export const todolistsReducer = todolistsSlice.reducer
|
||||
|
||||
export const fetchTodolistsTC = (): AppThunk => {
|
||||
return (dispatch) => {
|
||||
dispatch(setAppStatusAC('loading'))
|
||||
dispatch(setAppStatus('loading'))
|
||||
todolistsAPI
|
||||
.getTodolists()
|
||||
.then((res) => {
|
||||
dispatch(setTodolistsAC(res.data))
|
||||
dispatch(setAppStatusAC('succeeded'))
|
||||
dispatch(setTodolists(res.data))
|
||||
dispatch(setAppStatus('succeeded'))
|
||||
})
|
||||
.catch((error) => {
|
||||
handleServerNetworkError(error, dispatch)
|
||||
@@ -102,31 +102,29 @@ export const fetchTodolistsTC = (): AppThunk => {
|
||||
export const removeTodolistTC = (todolistId: string): AppThunk => {
|
||||
return (dispatch) => {
|
||||
//изменим глобальный статус приложения, чтобы вверху полоса побежала
|
||||
dispatch(setAppStatusAC('loading'))
|
||||
dispatch(setAppStatus('loading'))
|
||||
//изменим статус конкретного тудулиста, чтобы он мог задизеблить что надо
|
||||
dispatch(
|
||||
changeTodolistEntityStatusAC({ id: todolistId, status: 'loading' })
|
||||
)
|
||||
dispatch(changeTodolistEntityStatus({ id: todolistId, status: 'loading' }))
|
||||
todolistsAPI.deleteTodolist(todolistId).then((res) => {
|
||||
dispatch(removeTodolistAC(todolistId))
|
||||
dispatch(removeTodolist(todolistId))
|
||||
//скажем глобально приложению, что асинхронная операция завершена
|
||||
dispatch(setAppStatusAC('succeeded'))
|
||||
dispatch(setAppStatus('succeeded'))
|
||||
})
|
||||
}
|
||||
}
|
||||
export const addTodolistTC = (title: string): AppThunk => {
|
||||
return (dispatch) => {
|
||||
dispatch(setAppStatusAC('loading'))
|
||||
dispatch(setAppStatus('loading'))
|
||||
todolistsAPI.createTodolist(title).then((res) => {
|
||||
dispatch(addTodolistAC(res.data.data.item))
|
||||
dispatch(setAppStatusAC('succeeded'))
|
||||
dispatch(addTodolist(res.data.data.item))
|
||||
dispatch(setAppStatus('succeeded'))
|
||||
})
|
||||
}
|
||||
}
|
||||
export const changeTodolistTitleTC = (id: string, title: string): AppThunk => {
|
||||
return (dispatch) => {
|
||||
todolistsAPI.updateTodolist(id, title).then((res) => {
|
||||
dispatch(changeTodolistTitleAC({ id: id, title: title }))
|
||||
dispatch(changeTodolistTitle({ id: id, title: title }))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user