diff options
| author | taehoon <th.dev91@gmail.com> | 2019-10-24 22:14:53 -0400 |
|---|---|---|
| committer | taehoon <th.dev91@gmail.com> | 2019-10-24 22:14:53 -0400 |
| commit | e00cf288f54936fc563d2baebf2a694cc3619f61 (patch) | |
| tree | 0964fa241591922df74430c3d7ffe16c7f90f0aa | |
| parent | 62b2648a3e124ac34d960219b925a6c3569e2229 (diff) | |
refactor status loading logic
| -rw-r--r-- | src/components/status_popover/status_popover.js | 24 | ||||
| -rw-r--r-- | src/components/status_popover/status_popover.vue | 4 |
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 |
