Add pause feature
This commit is contained in:
@@ -7,6 +7,7 @@ export interface TreeState {
|
||||
tree?: q.Tree<TopicViewModel>
|
||||
selectedTopic?: q.TreeNode<TopicViewModel>
|
||||
filter?: string
|
||||
paused: boolean
|
||||
}
|
||||
|
||||
export type Action = ShowTree | SelectTopic
|
||||
@@ -14,6 +15,8 @@ export type Action = ShowTree | SelectTopic
|
||||
export enum ActionTypes {
|
||||
TREE_SHOW_TREE = 'TREE_SHOW_TREE',
|
||||
TREE_SELECT_TOPIC = 'TREE_SELECT_TOPIC',
|
||||
TREE_RESUME_UPDATES = 'TREE_RESUME_UPDATES',
|
||||
TREE_PAUSE_UPDATES = 'TREE_PAUSE_UPDATES',
|
||||
}
|
||||
|
||||
export interface ShowTree {
|
||||
@@ -27,11 +30,26 @@ export interface SelectTopic {
|
||||
selectedTopic?: q.TreeNode<TopicViewModel>
|
||||
}
|
||||
|
||||
const initialState: TreeState = { }
|
||||
export interface SetPause {
|
||||
type: ActionTypes.TREE_PAUSE_UPDATES | ActionTypes.TREE_RESUME_UPDATES
|
||||
}
|
||||
|
||||
const initialState: TreeState = {
|
||||
paused: false,
|
||||
}
|
||||
|
||||
const setPaused = (pause: boolean) => (state: TreeState, action: ShowTree) => {
|
||||
return {
|
||||
...state,
|
||||
paused: pause,
|
||||
}
|
||||
}
|
||||
|
||||
export const treeReducer = createReducer(initialState, {
|
||||
TREE_SHOW_TREE: showTree,
|
||||
TREE_SELECT_TOPIC: selectTopic,
|
||||
TREE_PAUSE_UPDATES: setPaused(true),
|
||||
TREE_RESUME_UPDATES: setPaused(false),
|
||||
})
|
||||
|
||||
function showTree(state: TreeState, action: ShowTree) {
|
||||
|
||||
Reference in New Issue
Block a user