status_history_modal.js (1244B)
- import { get } from 'lodash'
- import Modal from '../modal/modal.vue'
- import Status from '../status/status.vue'
- const StatusHistoryModal = {
- components: {
- Modal,
- Status
- },
- data () {
- return {
- statuses: []
- }
- },
- computed: {
- modalActivated () {
- return this.$store.state.statusHistory.modalActivated
- },
- params () {
- return this.$store.state.statusHistory.params
- },
- statusId () {
- return this.params.id
- },
- historyCount () {
- return this.statuses.length
- },
- history () {
- return this.statuses
- }
- },
- watch: {
- params (newVal, oldVal) {
- const newStatusId = get(newVal, 'id') !== get(oldVal, 'id')
- if (newStatusId) {
- this.resetHistory()
- }
- if (newStatusId || get(newVal, 'edited_at') !== get(oldVal, 'edited_at')) {
- this.fetchStatusHistory()
- }
- }
- },
- methods: {
- resetHistory () {
- this.statuses = []
- },
- fetchStatusHistory () {
- this.$store.dispatch('fetchStatusHistory', this.params)
- .then(data => {
- this.statuses = data
- })
- },
- closeModal () {
- this.$store.dispatch('closeStatusHistoryModal')
- }
- }
- }
- export default StatusHistoryModal