Create action for fetching single status

This commit is contained in:
Angelina Filippova 2020-04-30 20:32:37 +03:00
parent cd09e09431
commit 9c06776154
2 changed files with 51 additions and 1 deletions

View file

@ -1,7 +1,8 @@
import { changeStatusScope, deleteStatus, fetchStatuses, fetchStatusesCount, fetchStatusesByInstance } from '@/api/status' import { changeStatusScope, deleteStatus, fetchStatus, fetchStatuses, fetchStatusesCount, fetchStatusesByInstance } from '@/api/status'
const status = { const status = {
state: { state: {
fetchedStatus: {},
fetchedStatuses: [], fetchedStatuses: [],
loading: false, loading: false,
statusesByInstance: { statusesByInstance: {
@ -28,6 +29,9 @@ const status = {
CHANGE_SELECTED_INSTANCE: (state, instance) => { CHANGE_SELECTED_INSTANCE: (state, instance) => {
state.statusesByInstance.selectedInstance = instance state.statusesByInstance.selectedInstance = instance
}, },
SET_STATUS: (state, status) => {
state.fetchedStatus = status
},
SET_STATUSES_BY_INSTANCE: (state, statuses) => { SET_STATUSES_BY_INSTANCE: (state, statuses) => {
state.fetchedStatuses = statuses state.fetchedStatuses = statuses
}, },
@ -68,6 +72,13 @@ const status = {
dispatch('FetchStatusesByInstance') dispatch('FetchStatusesByInstance')
} }
}, },
async FetchStatus({ commit, getters }, id) {
commit('SET_LOADING', true)
const status = await fetchStatus(id, getters.authHost, getters.token)
console.log(status)
commit('SET_STATUS', status.data)
commit('SET_LOADING', false)
},
async FetchStatusesCount({ commit, getters }) { async FetchStatusesCount({ commit, getters }) {
commit('SET_LOADING', true) commit('SET_LOADING', true)
const { data } = await fetchStatusesCount(getters.authHost, getters.token) const { data } = await fetchStatusesCount(getters.authHost, getters.token)

View file

@ -0,0 +1,39 @@
<template>
<main>
{{ status }}
<!-- <status :status="status" :account="status.account" :show-checkbox="false" :godmode="showPrivate"/> -->
</main>
</template>
<script>
import Status from '@/components/Status'
export default {
name: 'UsersShow',
components: { Status },
data() {
return {
showPrivate: false
}
},
computed: {
isDesktop() {
return this.$store.state.app.device === 'desktop'
},
isMobile() {
return this.$store.state.app.device === 'mobile'
},
isTablet() {
return this.$store.state.app.device === 'tablet'
},
status() {
return this.$store.state.status.fetchedStatus
}
},
mounted: function() {
this.$store.dispatch('NeedReboot')
this.$store.dispatch('GetNodeInfo')
this.$store.dispatch('FetchStatus', this.$route.params.id)
}
}
</script>