103 lines
2.0 KiB
TypeScript
103 lines
2.0 KiB
TypeScript
|
|
|
||
|
|
import api from './api';
|
||
|
|
import * as overlays from '../../services/overlay';
|
||
|
|
import * as notifications from '../../services/notification';
|
||
|
|
import { localize } from '../../services/localization';
|
||
|
|
import { Router } from 'vue-router';
|
||
|
|
|
||
|
|
|
||
|
|
export default {
|
||
|
|
|
||
|
|
async create(router: Router, parent: object)
|
||
|
|
{
|
||
|
|
const result = await overlays.open({
|
||
|
|
component: () => import('./overlays/create.vue'),
|
||
|
|
width: 480,
|
||
|
|
model: {
|
||
|
|
parent
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
if (result.value)
|
||
|
|
{
|
||
|
|
router.push({
|
||
|
|
name: 'pages-create',
|
||
|
|
params: {
|
||
|
|
flavor: result.value.alias,
|
||
|
|
parent: parent ? parent.id : undefined
|
||
|
|
}
|
||
|
|
})
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
|
||
|
|
async move(model: object)
|
||
|
|
{
|
||
|
|
const result = await overlays.open({
|
||
|
|
component: () => import('./overlays/move.vue'),
|
||
|
|
display: 'editor',
|
||
|
|
width: 480,
|
||
|
|
model: model
|
||
|
|
});
|
||
|
|
|
||
|
|
if (result.eventType == 'confirm')
|
||
|
|
{
|
||
|
|
console.info('okay');
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
|
||
|
|
async copy(model: object)
|
||
|
|
{
|
||
|
|
const result = await overlays.open({
|
||
|
|
component: () => import('./overlays/copy.vue'),
|
||
|
|
display: 'editor',
|
||
|
|
width: 480,
|
||
|
|
model: model
|
||
|
|
});
|
||
|
|
|
||
|
|
if (result.eventType == 'confirm')
|
||
|
|
{
|
||
|
|
console.info('okay');
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
|
||
|
|
async sort(model: object)
|
||
|
|
{
|
||
|
|
const result = await overlays.open({
|
||
|
|
component: () => import('./overlays/sort.vue'),
|
||
|
|
display: 'editor',
|
||
|
|
width: 480,
|
||
|
|
model: model
|
||
|
|
});
|
||
|
|
|
||
|
|
if (result.eventType == 'confirm')
|
||
|
|
{
|
||
|
|
console.info('okay');
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
|
||
|
|
async remove(model: object)
|
||
|
|
{
|
||
|
|
const response = await api.getDependencies(model.id);
|
||
|
|
|
||
|
|
const result = await overlays.confirmDelete("@page.deleteoverlay.title", '@page.deleteoverlay.text', localize('@page.deleteoverlay.warning', {
|
||
|
|
tokens: {
|
||
|
|
pages: response.data.pages
|
||
|
|
}
|
||
|
|
}));
|
||
|
|
|
||
|
|
if (result.eventType == 'confirm')
|
||
|
|
{
|
||
|
|
result.value.state('loading');
|
||
|
|
|
||
|
|
await api.delete(model.id);
|
||
|
|
|
||
|
|
result.value.state('success');
|
||
|
|
result.value.close();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
};
|