blob: 6d592ca627ee49a9206fd8758f063569501b8be3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { fetchAllPredefinedStatuses } from '../services/predefinedStatusService.js'
const state = {
predefinedStatuses: [],
}
const mutations = {
/**
* Adds a predefined status to the state
*
* @param {object} state The Vuex state
* @param {object} status The status to add
*/
addPredefinedStatus(state, status) {
state.predefinedStatuses = [...state.predefinedStatuses, status]
},
}
const getters = {
statusesHaveLoaded(state) {
return state.predefinedStatuses.length > 0
},
}
const actions = {
/**
* Loads all predefined statuses from the server
*
* @param {object} vuex The Vuex components
* @param {Function} vuex.commit The Vuex commit function
* @param {object} vuex.state -
*/
async loadAllPredefinedStatuses({ state, commit }) {
if (state.predefinedStatuses.length > 0) {
return
}
const statuses = await fetchAllPredefinedStatuses()
for (const status of statuses) {
commit('addPredefinedStatus', status)
}
},
}
export default { state, mutations, getters, actions }
|