78 lines
1.6 KiB
Vue
78 lines
1.6 KiB
Vue
<template>
|
|
<v-row justify="center">
|
|
<v-dialog v-model="show" max-width="250">
|
|
<v-card>
|
|
<DialogHeading title="Remove Model">
|
|
<v-btn icon class="ma-0 pa-0" @click="show = false">
|
|
<v-icon color="white">clear</v-icon>
|
|
</v-btn>
|
|
</DialogHeading>
|
|
|
|
<v-card-text>
|
|
Really remove model from section?
|
|
<div class="subheading font-weight-medium mt-2">
|
|
{{ name }}
|
|
</div>
|
|
</v-card-text>
|
|
|
|
<v-card-actions>
|
|
<v-spacer/>
|
|
<v-btn text @click="show = false">Cancel</v-btn>
|
|
<v-btn color="primary" text @click="doDelete()">OK</v-btn>
|
|
<v-spacer/>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
</v-row>
|
|
</template>
|
|
|
|
<script>
|
|
import DialogHeading from './DialogHeading'
|
|
import { mapGetters, mapActions } from 'vuex'
|
|
|
|
export default {
|
|
components: {
|
|
DialogHeading,
|
|
},
|
|
props: {
|
|
value: Boolean,
|
|
},
|
|
data: () => ({
|
|
}),
|
|
computed: {
|
|
show: {
|
|
get() {
|
|
return this.value
|
|
},
|
|
set(value) {
|
|
this.$emit('input', value)
|
|
}
|
|
},
|
|
name: {
|
|
get() {
|
|
let model = this.selectedModel()
|
|
return model ? model.name : '(none)'
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
doDelete() {
|
|
this.deleteSectionModel({ section: this.selectedSection(),
|
|
model: this.selectedModel() })
|
|
this.show = false
|
|
},
|
|
...mapGetters([
|
|
'selectedSection',
|
|
'selectedModel',
|
|
]),
|
|
...mapActions([
|
|
'deleteSectionModel',
|
|
]),
|
|
},
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
|
|
</style>
|