Files
mixtape/zero.Backoffice.UI/old_app/pages/settings/application.vue
T

53 lines
1.4 KiB
Vue
Raw Normal View History

<template>
2020-06-23 15:44:14 +02:00
<ui-form ref="form" class="application" v-slot="form" @submit="onSubmit" @load="onLoad" :route="route">
2021-09-11 14:54:28 +02:00
<ui-form-header v-model="model" prefix="@application.list" title="@application.name" :disabled="disabled" :is-create="!$route.params.id" :state="form.state" :can-delete="meta.canDelete" @delete="onDelete" />
2021-01-09 19:09:31 +01:00
<ui-editor config="application" v-model="model" :meta="meta" :disabled="disabled">
<template v-slot:below>
<ui-editor-infos v-model="model" :disabled="disabled" />
</template>
</ui-editor>
</ui-form>
</template>
<script>
2020-11-20 15:17:41 +01:00
import ApplicationsApi from 'zero/api/applications.js';
export default {
props: ['id'],
data: () => ({
2020-06-24 13:00:50 +02:00
meta: {},
model: { name: null, features: [], domains: [] },
2020-10-16 14:02:10 +02:00
route: zero.alias.settings.applications + '-edit',
2020-06-23 15:44:14 +02:00
disabled: false
}),
methods: {
onLoad(form)
{
2020-10-18 23:47:59 +02:00
const id = this.$route.params.id;
form.load(!id ? ApplicationsApi.getEmpty() : ApplicationsApi.getById(id)).then(response =>
{
2020-06-24 13:00:50 +02:00
this.disabled = !response.meta.canEdit;
this.meta = response.meta;
2020-05-22 21:19:49 +02:00
this.model = response.entity;
});
},
onSubmit(form)
{
2020-06-23 15:44:14 +02:00
form.handle(ApplicationsApi.save(this.model));
},
onDelete(item, opts)
{
opts.hide();
2020-10-19 14:48:21 +02:00
this.$refs.form.onDelete(ApplicationsApi.delete.bind(this, this.$route.params.id));
}
}
}
2020-05-05 16:07:06 +02:00
</script>