Add mark action and reducer
This commit is contained in:
parent
bf8cfbcb35
commit
bf283c732e
5 changed files with 129 additions and 0 deletions
|
@ -22,4 +22,10 @@ export default {
|
|||
|
||||
// Find
|
||||
FIND_SET_KEYWORD: 'find.set.keyword',
|
||||
|
||||
// Mark
|
||||
MARK_START_SET: 'mark.start.set',
|
||||
MARK_START_JUMP: 'mark.start.jump',
|
||||
MARK_CANCEL: 'mark.cancel',
|
||||
MARK_SET_LOCAL: 'mark.set.local',
|
||||
};
|
||||
|
|
25
src/content/actions/mark.js
Normal file
25
src/content/actions/mark.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
import actions from 'content/actions';
|
||||
|
||||
const startSet = () => {
|
||||
return { type: actions.MARK_START_SET };
|
||||
};
|
||||
|
||||
const startJump = () => {
|
||||
return { type: actions.MARK_START_JUMP };
|
||||
};
|
||||
|
||||
const cancel = () => {
|
||||
return { type: actions.MARK_CANCEL };
|
||||
};
|
||||
|
||||
const setLocal = (key, y) => {
|
||||
return {
|
||||
type: actions.MARK_SET_LOCAL,
|
||||
key,
|
||||
y,
|
||||
};
|
||||
};
|
||||
|
||||
export {
|
||||
startSet, startJump, cancel, setLocal,
|
||||
};
|
25
src/content/reducers/mark.js
Normal file
25
src/content/reducers/mark.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
import actions from 'content/actions';
|
||||
|
||||
const defaultState = {
|
||||
set: false,
|
||||
jump: false,
|
||||
marks: {},
|
||||
};
|
||||
|
||||
export default function reducer(state = defaultState, action = {}) {
|
||||
switch (action.type) {
|
||||
case actions.MARK_START_SET:
|
||||
return { ...state, set: true };
|
||||
case actions.MARK_START_JUMP:
|
||||
return { ...state, jump: true };
|
||||
case actions.MARK_CANCEL:
|
||||
return { ...state, set: false, jump: false };
|
||||
case actions.MARK_SET_LOCAL: {
|
||||
let marks = { ...state.marks };
|
||||
marks[action.key] = { y: action.y };
|
||||
return { ...state, marks };
|
||||
}
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
}
|
Reference in a new issue