search.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { REST } from 'api/rest-axios'
  2. import qs from 'querystring'
  3. export default {
  4. namespaced: true,
  5. // initial state
  6. state: {
  7. keys: '',
  8. results: [],
  9. isloading: false,
  10. opened: false
  11. },
  12. // getters
  13. getters: {},
  14. // mutations
  15. mutations: {
  16. setKeys (state, keys) {
  17. state.keys = keys
  18. },
  19. setResults (state, content) {
  20. state.results = content
  21. },
  22. setIsloading (state, isloading) {
  23. state.isloading = isloading
  24. },
  25. setOpened (state, opened) {
  26. state.opened = opened
  27. }
  28. },
  29. // actions
  30. actions: {
  31. getResults ({ dispatch, commit, state }) {
  32. console.log('getResults', state.keys)
  33. commit('setIsloading', true)
  34. let params = {
  35. search: state.keys
  36. }
  37. // console.log('Search getResults params', params);
  38. let q = qs.stringify(params)
  39. return REST.get(`/search?` + q)
  40. .then(({ data }) => {
  41. console.log('search REST: data', data)
  42. commit('setIsloading', false)
  43. commit('setOpened', true)
  44. commit('setResults', data.content)
  45. })
  46. .catch((error) => {
  47. console.warn('Issue with search', error)
  48. commit('setIsloading', false)
  49. Promise.reject(error)
  50. })
  51. }
  52. }
  53. }