blabla.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import { JSONAPI } from 'vuejs/api/json-axios'
  2. import { REST } from 'vuejs/api/rest-axios'
  3. import { MA } from 'vuejs/api/ma-axios'
  4. import qs from 'querystring-es3'
  5. export default {
  6. namespaced: true,
  7. // initial state
  8. state: {
  9. contenttype: null,
  10. items: [],
  11. page: 0,
  12. // infinteState will come from vue-infinite-loading plugin
  13. // implemented in vuejs/components/Content/Base.vue
  14. infiniteLoadingState: null
  15. },
  16. // getters
  17. getters: {},
  18. // mutations
  19. mutations: {
  20. setItems (state, items) {
  21. state.items = state.items.concat(items)
  22. },
  23. incrementPage (state) {
  24. state.page += 1
  25. },
  26. setInfiniteState (state, infiniteLoadingstate) {
  27. state.infiniteLoadingState = infiniteLoadingstate
  28. }
  29. },
  30. // actions
  31. actions: {
  32. getItems ({ dispatch, commit, state }) {
  33. // if(!state.contenttype){
  34. // REST.get('/entity/node_type/article?_format=json', {})
  35. // .then(({ data }) => {
  36. // console.log('blabla REST contenttype : data', data);
  37. // })
  38. // .catch(( error ) => {
  39. // console.warn('Issue with blabla contenttype', error)
  40. // Promise.reject(error)
  41. // })
  42. // }
  43. return REST.get(`/blabla_rest?_format=json&page=${state.page}`, {})
  44. .then(({ data }) => {
  45. console.log('blabla REST: data', data)
  46. if (data.length) {
  47. commit('setItems', data)
  48. // console.log('items.length', this.items.length);
  49. if (state.infiniteLoadingState) { state.infiniteLoadingState.loaded() }
  50. } else {
  51. if (state.infiniteLoadingState) { state.infiniteLoadingState.complete() }
  52. }
  53. })
  54. .catch((error) => {
  55. console.warn('Issue with blabla getitems', error)
  56. Promise.reject(error)
  57. })
  58. },
  59. nextPage ({ dispatch, commit, state }, $infiniteLoadingstate) {
  60. console.log('blabla nextPage', $infiniteLoadingstate)
  61. commit('incrementPage')
  62. commit('setInfiniteState', $infiniteLoadingstate)
  63. dispatch('getItems')
  64. },
  65. getItemIndex ({ dispatch, commit, state }, uuid) {
  66. return state.items.findIndex((e) => {
  67. return e.uuid == uuid
  68. })
  69. },
  70. getPrevNextItems ({ dispatch, commit, state }, index) {
  71. return {
  72. prev: state.items[index - 1],
  73. next: state.items[index + 1]
  74. }
  75. }
  76. }
  77. }