Просмотр исходного кода

:recycle: tweaking the rest of the modules for new two part api data grab

tags/0.9.0
j 5 лет назад
Родитель
Сommit
dd07ebaf4f

+ 11
- 11
vue-theme/src/store/modules/event.js Просмотреть файл

@@ -8,17 +8,7 @@ const state = {
8 8
 
9 9
 const getters = {
10 10
     allEvents: state => state.all,
11
-    allEventsLoaded: state => state.loaded,
12
-    event: state => id => {
13
-        let field = typeof id === 'number' ? 'id' : 'slug'
14
-        let event = state.all.filter(event => event[field] === id)
15
-        return (event[0]) ? event[0] : false
16
-    },
17
-    eventContent: state => id => {
18
-        let field = typeof id === 'number' ? 'id' : 'slug'
19
-        let event = state.all.filter(event => event[field] === id)
20
-        return (event[0]) ? event[0].content.rendered : false
21
-    },
11
+    allEventsLoaded: state => state.loaded
22 12
 }
23 13
 
24 14
 const actions = {
@@ -29,12 +19,22 @@ const actions = {
29 19
             commit('STORE_FETCHED_EVENTS', { events })
30 20
             commit('EVENTS_LOADED', true)
31 21
         })
22
+    },
23
+    getSingleEvent({ commit }, id) {
24
+        commit('CLEAR_SINGLE_EVENT')
25
+        commit('EVENTS_LOADED', false)
26
+        api.getSingleType('events', id,  event => {
27
+            commit('STORE_FETCHED_SINGLE_EVENT', event)
28
+            commit('EVENTS_LOADED', true)
29
+        })
32 30
     }
33 31
 }
34 32
 
35 33
 const mutations = {
36 34
     STORE_FETCHED_EVENTS(state, { events }) { state.all = events },
35
+    STORE_FETCHED_SINGLE_EVENT(state, event) { state.singleEvent = event },
37 36
     CLEAR_EVENTS(state) { state.all = [] },
37
+    CLEAR_SINGLE_EVENT(state) { state.singleEvent = null },
38 38
     EVENTS_LOADED(state, val) { state.loaded = val },
39 39
 }
40 40
 

+ 11
- 11
vue-theme/src/store/modules/exhibition.js Просмотреть файл

@@ -8,17 +8,7 @@ const state = {
8 8
 
9 9
 const getters = {
10 10
     allExhibitions: state => state.all,
11
-    allExhibitionsLoaded: state => state.loaded,
12
-    exhibition: state => id => {
13
-        let field = typeof id === 'number' ? 'id' : 'slug'
14
-        let exhibition = state.all.filter(exhibition => exhibition[field] === id)
15
-        return (exhibition[0]) ? exhibition[0] : false
16
-    },
17
-    exhibitionContent: state => id => {
18
-        let field = typeof id === 'number' ? 'id' : 'slug'
19
-        let exhibition = state.all.filter(exhibition => exhibition[field] === id)
20
-        return (exhibition[0]) ? exhibition[0].content.rendered : false
21
-    },
11
+    allExhibitionsLoaded: state => state.loaded
22 12
 }
23 13
 
24 14
 const actions = {
@@ -29,12 +19,22 @@ const actions = {
29 19
             commit('STORE_FETCHED_EXHIBITIONS', { exhibitions })
30 20
             commit('EXHIBITIONS_LOADED', true)
31 21
         })
22
+    },
23
+    getSingleExhibition({ commit }, id) {
24
+        commit('CLEAR_SINGLE_EXHIBITION')
25
+        commit('EXHIBITIONS_LOADED', false)
26
+        api.getSingleType('exhibitions', id,  exhibition => {
27
+            commit('STORE_FETCHED_SINGLE_EXHIBITION', exhibition)
28
+            commit('EXHIBITIONS_LOADED', true)
29
+        })
32 30
     }
33 31
 }
34 32
 
35 33
 const mutations = {
36 34
     STORE_FETCHED_EXHIBITIONS(state, { exhibitions }) { state.all = exhibitions },
35
+    STORE_FETCHED_SINGLE_EXHIBITION(state, exhibition) { state.singleExhibition = exhibition },
37 36
     CLEAR_EXHIBITIONS(state) { state.all = [] },
37
+    CLEAR_SINGLE_EXHIBITION(state) { state.singleExhibition = null },
38 38
     EXHIBITIONS_LOADED(state, val) { state.loaded = val },
39 39
 }
40 40
 

+ 13
- 22
vue-theme/src/store/modules/page.js Просмотреть файл

@@ -10,25 +10,7 @@ const state = {
10 10
 // getters
11 11
 const getters = {
12 12
     allPages: state => state.all,
13
-    allPagesLoaded: state => state.loaded,
14
-    page: state => id => {
15
-        let field = typeof id === 'number' ? 'id' : 'slug'
16
-        let page = state.all.filter(page => page[field] === id)
17
-        return (page[0]) ? page[0] : false
18
-    },
19
-    pageContent: state => id => {
20
-        let field = typeof id === 'number' ? 'id' : 'slug'
21
-        let page = state.all.filter(page => page[field] === id)
22
-        
23
-        return (page[0]) ? page[0].content.rendered : false
24
-    },
25
-    somePages: state => limit => {
26
-        if(state.all.length < 1) return false
27
-        
28
-        let all = [...state.all]
29
-        
30
-        return all.splice(0, Math.min(limit, state.all.length))
31
-    },
13
+    allPagesLoaded: state => state.loaded
32 14
 }
33 15
 
34 16
 // actions
@@ -39,14 +21,23 @@ const actions = {
39 21
             commit('STORE_FETCHED_PAGES', { pages })
40 22
             commit('PAGES_LOADED', true)
41 23
         })
24
+    },
25
+    getSinglePage({ commit }, id) {
26
+        commit('CLEAR_SINGLE_PAGE')
27
+        commit('PAGES_LOADED', false)
28
+        api.getSingleType('pages', id,  page => {
29
+            commit('STORE_FETCHED_SINGLE_PAGE', page)
30
+            commit('PAGES_LOADED', true)
31
+        })
42 32
     }
43 33
 }
44 34
 
45 35
 // mutations
46 36
 const mutations = {
47
-    STORE_FETCHED_PAGES(state, { pages }) {
48
-        state.all = pages
49
-    },
37
+    STORE_FETCHED_PAGES(state, { pages }) { state.all = pages },
38
+    STORE_FETCHED_SINGLE_PAGE(state, page) { state.singlePage = page },
39
+    CLEAR_PAGES(state) { state.all = [] },
40
+    CLEAR_SINGLE_PAGE(state) { state.singlePage = null },
50 41
     PAGES_LOADED(state, val) { state.loaded = val },
51 42
 }
52 43
 

+ 2
- 2
vue-theme/src/store/modules/post.js Просмотреть файл

@@ -31,10 +31,10 @@ const actions = {
31 31
 }
32 32
 
33 33
 const mutations = {
34
-    STORE_FETCHED_SINGLE_POST(state, post) { state.singlePost = post },
35 34
     STORE_FETCHED_POSTS(state, { posts }) { state.all = posts },
35
+    STORE_FETCHED_SINGLE_POST(state, post) { state.singlePost = post },
36 36
     CLEAR_POSTS(state) { state.all = [] },
37
-    CLEAR_SINGLE_POST(state) { state.post = null },
37
+    CLEAR_SINGLE_POST(state) { state.singlePost = null },
38 38
     POSTS_LOADED(state, val) { state.loaded = val },
39 39
 }
40 40
 

Загрузка…
Отмена
Сохранить