- setSharees action and mutation added

- Moved setBoards logic from App.vue to store.

Signed-off-by: Vadim Nicolai <nicolai.vadim@gmail.com>
This commit is contained in:
Vadim Nicolai
2018-12-31 11:22:43 +02:00
parent 35d9b48117
commit a63de8066e
4 changed files with 18 additions and 16 deletions

View File

@@ -33,7 +33,6 @@
"vue": "^2.5.16",
"vue-click-outside": "^1.0.7",
"vue-infinite-loading": "^2.4.1",
"vue-multiselect": "^2.1.3",
"vue-router": "^3.0.1",
"vue-smooth-dnd": "^0.2.8",
"vuex": "^3.0.1",

View File

@@ -36,11 +36,8 @@
import { mapState } from 'vuex'
import BoardSidebar from './components/board/BoardSidebar'
import { BoardApi } from './services/BoardApi'
import AppNavigation from './components/navigation/AppNavigation';
const boardApi = new BoardApi()
export default {
name: 'App',
components: {
@@ -81,16 +78,9 @@ export default {
return this.sidebarRouterView || this.sidebarShownState
}
},
provide: function() {
return {
boardApi: boardApi
}
},
created: function() {
boardApi.loadBoards()
.then((boards) => {
this.$store.dispatch('setBoards', boards)
})
this.$store.dispatch('setBoards')
this.$store.dispatch('setSharees')
}
}

View File

@@ -75,9 +75,8 @@
</template>
<script>
import { Avatar } from 'nextcloud-vue'
import { Avatar, Multiselect } from 'nextcloud-vue'
import { mapState } from 'vuex'
import Multiselect from 'vue-multiselect'
export default {
name: 'BoardSidebar',

View File

@@ -22,6 +22,7 @@
import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'nextcloud-axios'
import { boardToMenuItem } from './../helpers/boardToMenuItem'
import { BoardApi } from './../services/BoardApi'
import stack from './stack'
@@ -112,6 +113,9 @@ export default new Vuex.Store({
setBoards(state, boards) {
state.boards = boards
},
setSharees(state, sharees) {
state.sharees = sharees
},
setBoardFilter(state, filter) {
state.boardFilter = filter
},
@@ -142,9 +146,19 @@ export default new Vuex.Store({
removeBoard({ commit }, board) {
commit('removeBoard', board)
},
setBoards({ commit }, boards) {
async setBoards({ commit }) {
const boards = await apiClient.loadBoards()
commit('setBoards', boards)
},
async setSharees({ commit }) {
const params = {
format: 'json',
perPage: 4,
itemType: [0, 1]
}
const { data } = await axios.get(OC.linkToOCS('apps/files_sharing/api/v1') + 'sharees', { params })
commit('setSharees', data.users)
},
setBoardFilter({ commmit }, filter) {
commmit('setBoardFilter', filter)
},