GetEmpty() for creating pages works now

This commit is contained in:
2020-09-02 11:52:33 +02:00
parent 078fc49df9
commit 6ea4862249
3 changed files with 13 additions and 14 deletions
@@ -171,7 +171,8 @@
cursor: default;
pointer-events: none;
.ui-dropdown-list-item-icon
.ui-dropdown-list-item-icon,
.ui-dropdown-button-icon
{
color: var(--color-fg-dim);
}
+3 -5
View File
@@ -3,11 +3,9 @@
<ui-form-header v-model="model" title="@page.name" :disabled="disabled" :is-create="!id" :state="form.state" :active-toggle="true" :can-delete="meta.canDelete" @delete="onDelete">
<template v-slot:actions>
<ui-dropdown-button label="@page.preview.title" icon="fth-eye" :disabled="disabled" />
<template v-if="id">
<ui-dropdown-separator />
<ui-dropdown-button label="@ui.move.title" icon="fth-corner-down-right" @click="move(model)" />
<ui-dropdown-button label="@ui.copy.title" icon="fth-copy" @click="copy(model)" />
</template>
<ui-dropdown-separator />
<ui-dropdown-button label="@ui.move.title" icon="fth-corner-down-right" @click="move(model)" />
<ui-dropdown-button label="@ui.copy.title" icon="fth-copy" @click="copy(model)" />
<ui-dropdown-separator />
</template>
</ui-form-header>
+8 -8
View File
@@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc;
using System;
using System.Threading.Tasks;
using zero.Core.Api;
using zero.Core.Entities;
@@ -11,13 +12,11 @@ namespace zero.Web.Controllers
{
IPagesApi Api;
IRevisionsApi RevisionsApi;
IPage Blueprint;
public PagesController(IPagesApi api, IRevisionsApi revisionsApi, IPage blueprint)
public PagesController(IPagesApi api, IRevisionsApi revisionsApi)
{
Api = api;
RevisionsApi = revisionsApi;
Blueprint = blueprint;
}
@@ -40,12 +39,13 @@ namespace zero.Web.Controllers
public IActionResult GetEmpty(string type, string parent = null)
{
// TODO this will return an instance of Page, but the subclass with type=$type is needed
IPage entity = Blueprint.Clone();
entity.PageTypeAlias = type;
entity.ParentId = parent;
PageType pageType = Api.GetPageType(type);
IPage model = Activator.CreateInstance(pageType.ContentType) as IPage;
return Edit(entity);
model.PageTypeAlias = type;
model.ParentId = parent;
return Edit(model);
}
public async Task<IActionResult> GetRevisions([FromQuery] string id, [FromQuery] int page = 1) => Json(await RevisionsApi.GetPaged<IPage>(id, page));