Templates for management of page trees.

pull/10/head
Jens Pelzetter 2021-11-20 18:40:45 +01:00
parent 595e306524
commit fb4c6c6d2d
4 changed files with 189 additions and 9 deletions

View File

@ -45,7 +45,7 @@
class="close" class="close"
data-dismiss="modal" data-dismiss="modal"
type="button"> type="button">
<span aria-hidden="true">&times;</span> <bootstrap:svgIcon icon="x-circle" />
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">

View File

@ -2,9 +2,9 @@
<html xmlns="http://www.w3.org/1999/xhtml" <html xmlns="http://www.w3.org/1999/xhtml"
xmlns:bootstrap="http://xmlns.jcp.org/jsf/composite/components/bootstrap" xmlns:bootstrap="http://xmlns.jcp.org/jsf/composite/components/bootstrap"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:libreccm="http://xmlns.jcp.org/jsf/composite/components/libreccm"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"> xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:composition template="/WEB-INF/views/org/librecms/ui/content-sections/content-sections.xhtml"> <ui:composition template="/WEB-INF/views/org/librecms/ui/cms/cms.xhtml">
<ui:param name="activePage" value="contentSections" /> <ui:param name="activePage" value="contentSections" />
<ui:define name="breadcrumb"> <ui:define name="breadcrumb">
@ -16,9 +16,151 @@
<ui:define name="main"> <ui:define name="main">
<div class="container"> <div class="container">
<h1>#{CmsAdminMessages['contentsections.pages.label']}</h1> <h1>#{CmsAdminMessages['contentsections.pages.label']}</h1>
<p>
Content Sections Pages Placeholder <c:if test="#{UserInfo.admin}">
</p> <div class="text-right mb-2">
<button class="btn btn-secondary"
data-toggle="modal"
data-target="#new-pages-dialog"
type="button">
<bootstrap:svgIcon icon="plus-circle" />
<span>#{CmsAdminMessages['pages.list.add']}</span>
</button>
</div>
<div aria-hidden="true"
aria-labelledby="new-pages-dialog-title"
class="modal fade"
id="new-pages-dialog"
tabindex="-1">
<div class="modal-dialog">
<form action="#{mvc.basePath}/pages/@new"
class="modal-content"
method="post">
<div class="modal-header">
<h2 class="modal-title"
id="new-pages-dialog-title">
#{CmsAdminMessages['pages.new_instance_dialog.title']}
</h2>
<button aria-label="#{CmsAdminMessages['pages.new_instance_dialog.cancel']}"
class="close"
data-dismiss="modal"
type="button">
<bootstrap:svgIcon icon="x-circle" />
</button>
</div>
<div class="modal-body">
<div class="form-group">
<label for="site-select">
#{CmsAdminMessages['pages.new_instance_dialog.site_select.label']}
</label>
<select aria-describedby="site-select-help"
class="form-control"
id="site-select"
name="site"
required="true">
<c:forEach items="#{CmsPagesTableModel.availableSites}"
var="site">
<option value="#{site.uuid}">#{site.domainOfSite}</option>
</c:forEach>
</select>
<small class="form-text text-muted"
id="site-select-help">
#{CmsAdminMessages['pages.new_instance_dialog.site_select.help']}
</small>
</div>
<div class="form-group">
<label for="primary-url">
#{CmsAdminMessages['pages.new_instance_dialog.primary_url.label']}
</label>
<input aria-describedby="primary-url-help"
class="form-control"
id="primary-url"
name="primaryUrl"
pattern="^([a-z0-9-_]*)$"
required="true"
type="text" />
<small class="form-text muted"
id="primary-url-help">
#{CmsAdminMessages['pages.new_instance_dialog.primary_url.help']}
</small>
</div>
<div class="form-group">
<label for="category-domain-select">
#{CmsAdminMessages['pages.new_instance_dialog.category_domain.label']}
</label>
<select aria-describedby="category-domain-select-help"
class="form-control"
id="category-domain-select"
name="categoryDomain"
required="true">
<c:forEach items="#{CmsPagesTableModel.avaiableCategoryDomains}"
var="domain">
<option value="#{domain.domainKey}">#{domain.domainKey}</option>
</c:forEach>
</select>
<small class="form-text muted"
id="category-domain-select-help">
#{CmsAdminMessages['pages.new_instance_dialog.category_domain.help']}
</small>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-danger"
data-dismiss="modal"
type="button">
#{CmsAdminMessages['pages.new_instance_dialog.cancel']}
</button>
<button class="btn btn-success"
type="submit">
#{CmsAdminMessages['pages.new_instance_dialog.submit']}
</button>
</div>
</form>
</div>
<p>ToDo</p>
</div>
</c:if>
<table class="table table-hover pages-table">
<thead>
<th>
#{CmsAdminMessages['pages.list.table.headers.site']}
</th>
<th>
#{CmsAdminMessages['pages.list.table.headers.path']}
</th>
<th class="action-col text-center"
colspan="2">
#{CmsAdminMessages['pages.list.table.headers.actions']}
</th>
</thead>
<tbody>
<c:forEach items="#{CmsPagesTableModel.pages}"
var="instance">
<tr>
<td>#{instance.site}</td>
<td>#{instance.primaryUrl}</td>
<td class="action-col">
<a class="btn btn-secondary"
href="#{request.contextPath}/pages/ID-#{instance.pagesId}">
<bootstrap:svgIcon icon="pen" />
<span class="sr-only">#{CmsAdminMessages['pages.list.table.actions.details']}</span>
</a>
</td>
<td class="action-col">
<libreccm:deleteDialog actionTarget="#{mvc.basePath}/pages/ID-#{instance.pagesId}/@delete"
buttonLabelClass="sr-only"
buttonText="#{CmsAdminMessages['pages.list.table.actions.delete']}"
cancelLabel="#{CmsAdminMessages['pages.delete_dialog.close']}"
confirmLabel="#{CmsAdminMessages['pages.delete_dialog.confirm']}"
dialogId="delete-pages-#{instance.pagesId}-dialog"
dialogTitle="#{CmsAdminMessages['pages.delete_dialog.title']}"
message="#{CmsAdminMessages['pages.delete_dialog.message']}"
/>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div> </div>
</ui:define> </ui:define>

View File

@ -931,3 +931,22 @@ cms_editor.audio_node_view.figcaption.label=Caption
cms_editor.audio_node_view.figcaption.placeholder=No description added yet. cms_editor.audio_node_view.figcaption.placeholder=No description added yet.
cms_editor.buttons.media.insert_video=Insert video cms_editor.buttons.media.insert_video=Insert video
cms_editor.buttons.media.insert_audio=Insert audio media cms_editor.buttons.media.insert_audio=Insert audio media
pages.list.add=Add page tree
pages.list.table.headers.site=Site
pages.list.table.headers.path=Path
pages.list.table.headers.actions=Aktionen
pages.list.table.actions.details=Show details of the page tree
pages.list.table.actions.delete=Delete
pages.delete_dialog.close=Cancel
pages.delete_dialog.confirm=Delete
pages.delete_dialog.title=Confirm deletion of page tree
pages.delete_dialog.message=Are sure to delete the following page tree:
pages.new_instance_dialog.title=Create new pages instance
pages.new_instance_dialog.cancel=Cancel
pages.new_instance_dialog.site_select.label=Site
pages.new_instance_dialog.site_select.help=The site for which the page tree is created.
pages.new_instance_dialog.primary_url.label=Primary URL
pages.new_instance_dialog.primary_url.help=URL fragment of the page tree. Note: Is the pages tree is selected as default application for the site, the URL fragement is not used.
pages.new_instance_dialog.category_domain.label=Category System
pages.new_instance_dialog.category_domain.help=The category system used to create the page tree.
pages.new_instance_dialog.submit=Create page tree

View File

@ -932,3 +932,22 @@ cms_editor.audio_node_view.figcaption.label=Beschriftung
cms_editor.audio_node_view.figcaption.placeholder=Es wurde noch keine Beschriftung hinzugef\u00fcgt. cms_editor.audio_node_view.figcaption.placeholder=Es wurde noch keine Beschriftung hinzugef\u00fcgt.
cms_editor.buttons.media.insert_video=Video einf\u00fcgen cms_editor.buttons.media.insert_video=Video einf\u00fcgen
cms_editor.buttons.media.insert_audio=Audio-Medium einf\u00fcgen cms_editor.buttons.media.insert_audio=Audio-Medium einf\u00fcgen
pages.list.add=Seitenbaum hinzuf\u00fcgen
pages.list.table.headers.site=Site
pages.list.table.headers.path=Pfad
pages.list.table.headers.actions=Aktionen
pages.list.table.actions.details=Details des Seitenbaumes anzeigen
pages.list.table.actions.delete=L\u00f6schen
pages.delete_dialog.close=Abbrechen
pages.delete_dialog.confirm=L\u00f6schen
pages.delete_dialog.title=Confirm deletion of page tree
pages.delete_dialog.message=Sind Sie sicher, dass Sie den folgenden Seitenbaum entfernen wollen?
pages.new_instance_dialog.title=Neuen Seitenbaum anlegen
pages.new_instance_dialog.cancel=Abbrechen
pages.new_instance_dialog.site_select.label=Site
pages.new_instance_dialog.site_select.help=Die Site f\u00fcr die Seitenbaum angelegt wird.
pages.new_instance_dialog.primary_url.label=Prim\u00e4re URL
pages.new_instance_dialog.primary_url.help=URL-Fragment f\u00fcr die Seitenbaum. Bitte beachten: Wenn der Seitenbaum als Standard-Application f\u00fcr die Site definiert wird, wird das URL-Fragment nicht verwendet.
pages.new_instance_dialog.category_domain.label=Kategoriensystem
pages.new_instance_dialog.category_domain.help=Das Kategoriensystem, dass als Basis des Seitenbaums verwendet wird.
pages.new_instance_dialog.submit=Seitenbaum anlegen