You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.2 KiB
60 lines
1.2 KiB
<template>
|
|
<Toolbar
|
|
:handle-submit="onSendForm"
|
|
:handle-reset="resetForm"
|
|
/>
|
|
<PageForm
|
|
ref="updateForm"
|
|
:values="item"
|
|
:errors="violations"
|
|
/>
|
|
<Loading :visible="isLoading" />
|
|
</template>
|
|
|
|
<script>
|
|
import { mapActions, mapGetters } from 'vuex';
|
|
import { mapFields } from 'vuex-map-fields';
|
|
import Loading from '../../components/Loading.vue';
|
|
import Toolbar from '../../components/Toolbar.vue';
|
|
import UpdateMixin from '../../mixins/UpdateMixin';
|
|
|
|
const servicePrefix = 'Page';
|
|
import PageForm from '../../components/page/Form.vue';
|
|
import useVuelidate from "@vuelidate/core";
|
|
|
|
export default {
|
|
name: 'PageUpdate',
|
|
servicePrefix,
|
|
components: {
|
|
Loading,
|
|
Toolbar,
|
|
PageForm
|
|
},
|
|
mixins: [UpdateMixin],
|
|
setup () {
|
|
return { v$: useVuelidate() }
|
|
},
|
|
computed: {
|
|
...mapFields('page', {
|
|
deleteLoading: 'isLoading',
|
|
isLoading: 'isLoading',
|
|
error: 'error',
|
|
updated: 'updated',
|
|
violations: 'violations'
|
|
}),
|
|
...mapGetters('page', ['find'])
|
|
|
|
},
|
|
|
|
methods: {
|
|
...mapActions('page', {
|
|
createReset: 'resetCreate',
|
|
deleteItem: 'del',
|
|
delReset: 'resetDelete',
|
|
retrieve: 'load',
|
|
update: 'update',
|
|
updateReset: 'resetUpdate'
|
|
})
|
|
}
|
|
};
|
|
</script>
|
|
|