No Description

breadcrumb.js 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. // TODO refactor better state mangement
  2. const { localStorage } = window
  3. const breadcrumb = {
  4. state: {
  5. visible: {
  6. firstLayer: true,
  7. secondLayer: false,
  8. thirdLayer: false,
  9. fourLayer: false
  10. },
  11. data: {
  12. firstLayer: JSON.parse(localStorage.getItem('firstLayer')),
  13. secondLayer: JSON.parse(localStorage.getItem('secondLayer')),
  14. thirdLayer: JSON.parse(localStorage.getItem('thirdLayer')),
  15. fourLayer: JSON.parse(localStorage.getItem('fourLayer'))
  16. }
  17. },
  18. mutations: {
  19. SET_VISIBLE: (state, layer) => {
  20. switch (layer) {
  21. case 1:
  22. state.visible = {
  23. firstLayer: true,
  24. secondLayer: false,
  25. thirdLayer: false,
  26. fourLayer: false
  27. }
  28. break
  29. case 2:
  30. state.visible = {
  31. firstLayer: false,
  32. secondLayer: true,
  33. thirdLayer: false,
  34. fourLayer: false
  35. }
  36. break
  37. case 3:
  38. state.visible = {
  39. firstLayer: false,
  40. secondLayer: false,
  41. thirdLayer: true,
  42. fourLayer: false
  43. }
  44. break
  45. case 4:
  46. state.visible = {
  47. firstLayer: false,
  48. secondLayer: false,
  49. thirdLayer: false,
  50. fourLayer: true
  51. }
  52. break
  53. }
  54. },
  55. SET_DATA: (state, option) => {
  56. switch (option.layer) {
  57. case 1:
  58. localStorage.setItem('firstLayer', JSON.stringify(option.data))
  59. break
  60. case 2:
  61. localStorage.setItem('secondLayer', JSON.stringify(option.data))
  62. break
  63. case 3:
  64. localStorage.setItem('thirdLayer', JSON.stringify(option.data))
  65. break
  66. case 4:
  67. localStorage.setItem('fourLayer', JSON.stringify(option.data))
  68. break
  69. }
  70. }
  71. },
  72. actions: {
  73. SetVisible({ commit }, layer) {
  74. commit('SET_VISIBLE', layer)
  75. },
  76. SetData({ commit }, option) {
  77. commit('SET_DATA', option)
  78. }
  79. }
  80. }
  81. export default breadcrumb