streamlined dispatch api

This commit is contained in:
brian
2021-03-17 09:44:23 -04:00
parent a248600c21
commit 82fc9b3dc3
3 changed files with 12 additions and 12 deletions
+7 -7
View File
@@ -5,35 +5,35 @@ import api from '../api-stub.js';
const load_notes = function(state, dispatch){
api.post('/load-notes', {bin_id: state.bin.id})
.then(res=>{
dispatch({type: 'notes-loaded', payload: res.notes});
dispatch('notes-loaded', res.notes);
});
};
const runSearch = function(state, dispatch){
api.post('/search', {search_term: state.search_term, sorting: state.sorting, bin_id: state.bin.id})
.then(res=>{
dispatch({type:'update-search-results', payload: res.notes});
dispatch('update-search-results', res.notes);
});
};
const new_note_handler = function(state, dispatch){
dispatch({type:'add-note', payload:{id: nanoid(), date: Date.now()}});
dispatch('add-note', {id: nanoid(), date: Date.now()});
};
const search_term_change_handler = function(state, dispatch, e){
if(e.code === 'Enter'){
runSearch(state, dispatch);
}
else{
dispatch({type:'update-search-term', payload: e.target.value});
dispatch('update-search-term', e.target.value);
}
};
const sorting_change_handler = function(state, dispatch, e){
runSearch(state, dispatch);
dispatch({type:'update-sorting', payload: e.target.value});
dispatch('update-sorting', e.target.value);
};
const new_bin_handler = function(state, dispatch){
const id = nanoid();
// TODO: consolidate: this will cause two redraws:
dispatch({type: 'new-bin', payload:{id}});
dispatch({type: 'notes-loaded', payload: []});
dispatch('new-bin', {id});
dispatch('notes-loaded', []);
};
export {new_note_handler, search_term_change_handler, sorting_change_handler, load_notes, new_bin_handler};
+3 -3
View File
@@ -2,16 +2,16 @@
import api from '../api-stub.js';
const edit_handler = function(note_state, dispatch){
dispatch({type: 'update-note-editing', payload:{id: note_state.note.id, is_editing: true}});
dispatch('update-note-editing', {id: note_state.note.id, is_editing: true});
};
const cancel_handler = function(note_state, dispatch){
dispatch({type: 'update-note-editing', payload:{id: note_state.note.id, is_editing: false}});
dispatch('update-note-editing', {id: note_state.note.id, is_editing: false});
};
const text_change_handler = function(note_state, dispatch, e){
note_state.temp_text = e.target.value;
};
const save_handler = function(note_state, dispatch){
dispatch({type: 'save-note-edit', payload:{id: note_state.note.id, text: note_state.temp_text}});
dispatch('save-note-edit', {id: note_state.note.id, text: note_state.temp_text});
api.post('/save', {bin_id: note_state.bin_id, note_id: note_state.note.id, text: note_state.temp_text})
};