aboutsummaryrefslogtreecommitdiff
path: root/src/components/status_popover
diff options
context:
space:
mode:
authortaehoon <th.dev91@gmail.com>2019-10-24 22:14:53 -0400
committertaehoon <th.dev91@gmail.com>2019-10-24 22:14:53 -0400
commite00cf288f54936fc563d2baebf2a694cc3619f61 (patch)
tree0964fa241591922df74430c3d7ffe16c7f90f0aa /src/components/status_popover
parent62b2648a3e124ac34d960219b925a6c3569e2229 (diff)
refactor status loading logic
Diffstat (limited to 'src/components/status_popover')
-rw-r--r--src/components/status_popover/status_popover.js24
-rw-r--r--src/components/status_popover/status_popover.vue4
2 files changed, 11 insertions, 17 deletions
diff --git a/src/components/status_popover/status_popover.js b/src/components/status_popover/status_popover.js
index 91b64f72..b96ae642 100644
--- a/src/components/status_popover/status_popover.js
+++ b/src/components/status_popover/status_popover.js
@@ -7,7 +7,6 @@ const StatusPopover = {
],
data () {
return {
- preview: null,
popperOptions: {
modifiers: {
preventOverflow: { padding: { top: 50 }, boundariesElement: 'viewport' }
@@ -15,26 +14,21 @@ const StatusPopover = {
}
}
},
+ computed: {
+ status () {
+ return find(this.$store.state.statuses.allStatuses, { id: this.statusId })
+ }
+ },
components: {
Status: () => import('../status/status.vue')
},
methods: {
enter () {
- const id = this.statusId
- const statuses = this.$store.state.statuses.allStatuses
-
- if (!this.preview) {
- // if we have the status somewhere already
- this.preview = find(statuses, { id })
- // or if we have to fetch it
- if (!this.preview) {
- this.$store.state.api.backendInteractor.fetchStatus({ id }).then((status) => {
- this.preview = status
- this.$nextTick(this.$refs.popper.updatePopper)
+ if (!this.status) {
+ this.$store.state.api.backendInteractor.fetchStatus({ id: this.statusId })
+ .then((status) => {
+ this.$store.dispatch('addNewStatuses', { statuses: [status] })
})
- }
- } else if (this.preview.id !== id) {
- this.preview = find(statuses, 'id')
}
}
}
diff --git a/src/components/status_popover/status_popover.vue b/src/components/status_popover/status_popover.vue
index b0975afb..62afadca 100644
--- a/src/components/status_popover/status_popover.vue
+++ b/src/components/status_popover/status_popover.vue
@@ -8,9 +8,9 @@
>
<div slot="popover">
<Status
- v-if="preview"
+ v-if="status"
:is-preview="true"
- :statusoid="preview"
+ :statusoid="status"
:compact="true"
/>
<div