search.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import { JSONAPI } from 'vuejs/api/json-axios'
  2. import { MA } from 'vuejs/api/ma-axios'
  3. import qs from 'querystring'
  4. export default {
  5. namespaced: true,
  6. // initial state
  7. state : {
  8. keys: "",
  9. term: "",
  10. items: [],
  11. offset: 0,
  12. limit: 15,
  13. infos: null,
  14. count: 0
  15. },
  16. // getters
  17. getters : {},
  18. // mutations
  19. mutations : {
  20. setItems (state, items) {
  21. state.items = items
  22. },
  23. setKeys (state, keys) {
  24. state.keys = keys
  25. },
  26. setTerm (state, term) {
  27. state.term = term
  28. },
  29. setInfos (state, infos) {
  30. state.infos = infos
  31. },
  32. setCount (state, count) {
  33. state.count = count
  34. },
  35. resetOffset(state) {
  36. state.offset = 0
  37. },
  38. incrementOffset(state) {
  39. state.offset += state.limit
  40. }
  41. },
  42. // actions
  43. actions : {
  44. newSearch({ dispatch, commit, state }) {
  45. console.log('Search newSearch');
  46. commit('resetOffset')
  47. dispatch('getResults')
  48. },
  49. getResults ({ dispatch, commit, state }) {
  50. let params = {
  51. keys: state.keys,
  52. term: state.term,
  53. offset:state.offset,
  54. limit: state.limit
  55. }
  56. // console.log('Search getResults params', params);
  57. let q = qs.stringify(params)
  58. return MA.get(`/materio_sapi/getresults?`+q)
  59. .then(({ data }) => {
  60. console.log('search MA getresults data', data)
  61. commit('setItems', data.items)
  62. commit('setInfos', data.infos)
  63. commit('setCount', data.count)
  64. })
  65. .catch(( error ) => {
  66. console.warn('Issue with getResults', error)
  67. Promise.reject(error)
  68. })
  69. }
  70. }
  71. }