2019-10-22 01:02:47 +02:00
|
|
|
<template lang='pug'>
|
2022-11-21 13:21:32 +01:00
|
|
|
span
|
|
|
|
v-list(dense nav)
|
|
|
|
v-list-group(:append-icon='mdiChevronUp' :value='true')
|
|
|
|
template(v-slot:activator)
|
2022-11-29 14:40:19 +01:00
|
|
|
v-list-item.text-overline {{$t('common.admin_actions')}}
|
2020-02-11 15:39:57 +01:00
|
|
|
|
2022-11-21 13:21:32 +01:00
|
|
|
//- Hide / confirm event
|
|
|
|
v-list-item(@click='toggle(false)')
|
|
|
|
v-list-item-icon
|
|
|
|
v-icon(v-if='event.is_visible' v-text='mdiEyeOff')
|
|
|
|
v-icon(v-else='event.is_visible' v-text='mdiEye')
|
|
|
|
v-list-item-content
|
|
|
|
v-list-item-title(v-text="$t(`common.${event.is_visible?'hide':'confirm'}`)")
|
|
|
|
|
|
|
|
//- Edit event
|
|
|
|
v-list-item(:to='`/add/${event.id}`')
|
|
|
|
v-list-item-icon
|
|
|
|
v-icon(v-text='mdiCalendarEdit')
|
|
|
|
v-list-item-content
|
|
|
|
v-list-item-title(v-text="$t('common.edit')")
|
|
|
|
|
|
|
|
//- Remove
|
|
|
|
v-list-item(@click='remove(false)')
|
|
|
|
v-list-item-icon
|
|
|
|
v-icon(v-text='mdiDelete')
|
|
|
|
v-list-item-content
|
|
|
|
v-list-item-title(v-text="$t('common.remove')")
|
|
|
|
|
|
|
|
|
|
|
|
template(v-if='event.parentId')
|
2022-11-29 14:40:19 +01:00
|
|
|
v-list-item.text-overline(v-html="$t('common.recurring_event_actions')")
|
2022-11-21 13:21:32 +01:00
|
|
|
|
|
|
|
//- Pause / Start to generate recurring event
|
|
|
|
v-list-item(@click='toggle(true)')
|
|
|
|
v-list-item-icon
|
|
|
|
v-icon(v-text='event.parent.is_visible ? mdiPause : mdiPlay')
|
|
|
|
v-list-item-content
|
|
|
|
v-list-item-title(v-text="$t(`common.${event.parent.is_visible ? 'pause': 'start'}`)")
|
|
|
|
|
|
|
|
|
|
|
|
//- Edit event
|
|
|
|
v-list-item(:to='`/add/${event.parentId}`')
|
|
|
|
v-list-item-icon
|
|
|
|
v-icon(v-text='mdiCalendarEdit')
|
|
|
|
v-list-item-content
|
|
|
|
v-list-item-title(v-text="$t('common.edit')")
|
|
|
|
|
|
|
|
//- Remove
|
|
|
|
v-list-item(@click='remove(true)')
|
|
|
|
v-list-item-icon
|
|
|
|
v-icon(v-text='mdiDeleteForever')
|
|
|
|
v-list-item-content
|
|
|
|
v-list-item-title(v-text="$t('common.remove')")
|
2022-11-15 17:37:13 +01:00
|
|
|
|
|
|
|
|
|
|
|
//- v-btn(text color='primary' v-if='event.is_visible' @click='toggle(false)') {{$t(`common.${event.parentId?'skip':'hide'}`)}}
|
|
|
|
//- v-btn(text color='success' v-else @click='toggle(false)') <v-icon color='yellow' v-text='mdiAlert'></v-icon> {{$t('common.confirm')}}
|
|
|
|
//- v-btn(text color='primary' @click='$router.push(`/add/${event.id}`)') {{$t('common.edit')}}
|
|
|
|
//- v-btn(text color='primary' v-if='!event.parentId' @click='remove(false)') {{$t('common.remove')}}
|
|
|
|
|
|
|
|
//- template(v-if='event.parentId')
|
|
|
|
//- v-divider
|
|
|
|
//- span.mr-1 <v-icon v-text='mdiRepeat'></v-icon> {{$t('event.edit_recurrent')}}
|
|
|
|
//- v-btn(text color='primary' v-if='event.parent.is_visible' @click='toggle(true)') {{$t('common.pause')}}
|
|
|
|
//- v-btn(text color='primary' v-else @click='toggle(true)') {{$t('common.start')}}
|
|
|
|
//- v-btn(text color='primary' @click='$router.push(`/add/${event.parentId}`)') {{$t('common.edit')}}
|
|
|
|
//- v-btn(text color='primary' @click='remove(true)') {{$t('common.remove')}}
|
2019-10-22 01:02:47 +02:00
|
|
|
</template>
|
|
|
|
<script>
|
2022-11-21 13:21:32 +01:00
|
|
|
import { mdiChevronUp, mdiRepeat, mdiDelete, mdiCalendarEdit, mdiEyeOff, mdiEye, mdiPause, mdiPlay, mdiDeleteForever } from '@mdi/js'
|
2019-10-22 01:02:47 +02:00
|
|
|
export default {
|
|
|
|
name: 'EventAdmin',
|
2022-02-08 14:45:19 +01:00
|
|
|
data () {
|
2022-11-21 13:21:32 +01:00
|
|
|
return { mdiChevronUp, mdiRepeat, mdiDelete, mdiCalendarEdit, mdiEyeOff, mdiEye, mdiPause, mdiPlay, mdiDeleteForever }
|
2022-02-08 14:45:19 +01:00
|
|
|
},
|
2020-01-30 12:37:19 +01:00
|
|
|
props: {
|
|
|
|
event: {
|
|
|
|
type: Object,
|
|
|
|
default: () => ({})
|
|
|
|
}
|
|
|
|
},
|
2019-10-22 01:02:47 +02:00
|
|
|
methods: {
|
2020-01-30 12:37:19 +01:00
|
|
|
async remove (parent = false) {
|
2020-10-07 13:05:19 +02:00
|
|
|
const ret = await this.$root.$confirm(`event.remove_${parent ? 'recurrent_' : ''}confirmation`)
|
2020-07-28 12:24:39 +02:00
|
|
|
if (!ret) { return }
|
|
|
|
const id = parent ? this.event.parentId : this.event.id
|
|
|
|
await this.$axios.delete(`/event/${id}`)
|
|
|
|
this.$router.replace('/')
|
2019-10-22 01:02:47 +02:00
|
|
|
},
|
2020-01-30 12:37:19 +01:00
|
|
|
async toggle (parent = false) {
|
|
|
|
const id = parent ? this.event.parentId : this.event.id
|
|
|
|
const is_visible = parent ? this.event.parent.is_visible : this.event.is_visible
|
|
|
|
const method = is_visible ? 'unconfirm' : 'confirm'
|
2019-10-22 01:02:47 +02:00
|
|
|
try {
|
2020-10-28 01:30:37 +01:00
|
|
|
await this.$axios.$put(`/event/${method}/${id}`)
|
2020-01-30 12:37:19 +01:00
|
|
|
if (parent) {
|
|
|
|
this.event.parent.is_visible = !is_visible
|
2019-10-22 01:02:47 +02:00
|
|
|
} else {
|
2020-01-30 12:37:19 +01:00
|
|
|
this.event.is_visible = !is_visible
|
2019-10-22 01:02:47 +02:00
|
|
|
}
|
|
|
|
} catch (e) {
|
|
|
|
console.error(e)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2019-10-28 17:33:20 +01:00
|
|
|
</script>
|