import nanoid from '../nanoid.min.js'; //import api from '../api.js'; import api from '../api-stub.js'; const load_notes = function(state, dispatch){ api.post('/load-notes', {bin_id: state.bin.id}) .then(res=>{ 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('update-search-results', res.notes); }); }; const new_note_handler = function(state, dispatch){ 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('update-search-term', e.target.value); } }; const sorting_change_handler = function(state, dispatch, e){ runSearch(state, dispatch); dispatch('update-sorting', e.target.value); }; const new_bin_handler = function(state, dispatch){ const id = nanoid(); // change browser location in address bar: window.history.pushState(null,'','#'+id); dispatch('new-bin', {id}); }; export {new_note_handler, search_term_change_handler, sorting_change_handler, load_notes, new_bin_handler};