Major update
This commit is contained in:
@@ -1,73 +1,47 @@
|
||||
import { ITeamsState } from './ITeamsState';
|
||||
import { ITeam } from '../../models/ITeam';
|
||||
import { ICommandBarItemProps } from '@fluentui/react/lib/CommandBar';
|
||||
import { IObjectWithKey } from '@fluentui/react';
|
||||
|
||||
export type Action =
|
||||
| {
|
||||
type: 'SET_ITEMS';
|
||||
payload: {
|
||||
items: ITeam[];
|
||||
totalItemCount: number;
|
||||
totalPageCount: number;
|
||||
};
|
||||
}
|
||||
| { type: 'SET_CURRENT_PAGE_NUMBER'; payload: number }
|
||||
| { type: 'SET_PAGE_SIZE'; payload: number }
|
||||
| { type: 'SET_SELECTED_ITEM'; payload: IObjectWithKey[] }
|
||||
| { type: 'SET_COMMAND_BAR_ITEMS'; payload: ICommandBarItemProps[] }
|
||||
| { type: 'SET_IS_PANEL_OPEN'; payload: boolean };
|
||||
| { type: 'SET_ITEMS'; payload: ITeam[] }
|
||||
| { type: 'SET_CURRENT_PAGE_NUMBER'; payload: number }
|
||||
| { type: 'SET_PAGE_SIZE'; payload: number }
|
||||
| { type: 'SET_IS_PANEL_OPEN'; payload: boolean };
|
||||
|
||||
export const initialState: ITeamsState = {
|
||||
items: [],
|
||||
totalItemCount: null,
|
||||
totalPageCount: null,
|
||||
currentPageNumber: 1,
|
||||
pageSize: 10,
|
||||
selectedItems: [],
|
||||
commandBarItems: [],
|
||||
isPanelOpen: false
|
||||
}
|
||||
items: [],
|
||||
currentPageNumber: 1,
|
||||
pageSize: 10,
|
||||
isPanelOpen: false
|
||||
};
|
||||
|
||||
export const reducer = (state: ITeamsState, action: Action): ITeamsState => {
|
||||
switch (action.type) {
|
||||
case 'SET_ITEMS': {
|
||||
return {
|
||||
...state,
|
||||
items: action.payload.items,
|
||||
totalItemCount: action.payload.totalItemCount,
|
||||
totalPageCount: action.payload.totalPageCount
|
||||
};
|
||||
}
|
||||
case 'SET_CURRENT_PAGE_NUMBER': {
|
||||
return {
|
||||
...state,
|
||||
currentPageNumber: action.payload
|
||||
};
|
||||
}
|
||||
case 'SET_PAGE_SIZE': {
|
||||
return {
|
||||
...state,
|
||||
pageSize: action.payload
|
||||
};
|
||||
}
|
||||
case 'SET_SELECTED_ITEM': {
|
||||
return {
|
||||
...state,
|
||||
selectedItems: <ITeam[]>action.payload
|
||||
};
|
||||
}
|
||||
case 'SET_COMMAND_BAR_ITEMS': {
|
||||
return {
|
||||
...state,
|
||||
commandBarItems: action.payload
|
||||
};
|
||||
}
|
||||
case 'SET_IS_PANEL_OPEN': {
|
||||
return {
|
||||
...state,
|
||||
isPanelOpen: action.payload
|
||||
};
|
||||
}
|
||||
switch (action.type) {
|
||||
case 'SET_ITEMS': {
|
||||
return {
|
||||
...state,
|
||||
items: action.payload
|
||||
};
|
||||
}
|
||||
}
|
||||
case 'SET_CURRENT_PAGE_NUMBER': {
|
||||
return {
|
||||
...state,
|
||||
currentPageNumber: action.payload
|
||||
};
|
||||
}
|
||||
case 'SET_PAGE_SIZE': {
|
||||
return {
|
||||
...state,
|
||||
pageSize: action.payload
|
||||
};
|
||||
}
|
||||
case 'SET_IS_PANEL_OPEN': {
|
||||
return {
|
||||
...state,
|
||||
isPanelOpen: action.payload
|
||||
};
|
||||
}
|
||||
default: {
|
||||
return state;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user