Some layout improvments

Former-commit-id: 48dc471342
pull/10/head
Jens Pelzetter 2021-02-01 21:29:16 +01:00
parent 1b2eff61b7
commit 83cfd6be6c
7 changed files with 148 additions and 76 deletions

View File

@ -114,7 +114,22 @@ public class DocumentFolderController {
private PermissionChecker permissionChecker;
@GET
@Path("/{folderPath:(/.+)?}")
@Path("/")
@AuthorizationRequired
@Transactional(Transactional.TxType.REQUIRED)
public String listItems(
@PathParam("sectionIdentifier") final String sectionIdentifier,
@QueryParam("filterTerm") @DefaultValue("") final String filterTerm,
@QueryParam("firstResult") @DefaultValue("0") final int firstResult,
@QueryParam("maxResults") @DefaultValue("20") final int maxResults
) {
return listItems(
sectionIdentifier, "", filterTerm, firstResult, maxResults
);
}
@GET
@Path("/{folderPath:(.+)?}")
@AuthorizationRequired
@Transactional(Transactional.TxType.REQUIRED)
public String listItems(

View File

@ -96,7 +96,7 @@
var="section">
<tr>
<td>
<a href="#{request.contextPath}/@contentsections/#{section.label}/folderbrowser">
<a href="#{request.contextPath}/@contentsections/#{section.label}/documentfolders">
#{section.label}
</a>
</td>

View File

@ -27,9 +27,30 @@
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link #{activePage == 'documentFolders' ? 'active' : ''}"
href='#{mvc.basePath}/#{ContentSectionModel.sectionName}/document-folders'>
href='#{mvc.basePath}/#{ContentSectionModel.sectionName}/documentfolders'>
<bootstrap:svgIcon icon="folder2-open" />
<span>#{CmsAdminMessages['contentsection.documentfolder.title']}</span>
<span>#{CmsAdminMessages['contentsection.documentfolders.title']}</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link #{activePage == 'assetFolders' ? 'active' : ''}"
href='#{mvc.basePath}/#{ContentSectionModel.sectionName}/assetfolders'>
<bootstrap:svgIcon icon="collection" />
<span>#{CmsAdminMessages['contentsection.assetfolders.title']}</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link #{activePage == 'categories' ? 'active' : ''}"
href='#{mvc.basePath}/#{ContentSectionModel.sectionName}/categories'>
<bootstrap:svgIcon icon="diagram-3-fill" />
<span>#{CmsAdminMessages['contentsection.categories.title']}</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link #{activePage == 'configuration' ? 'active' : ''}"
href='#{mvc.basePath}/#{ContentSectionModel.sectionName}/configuration'>
<bootstrap:svgIcon icon="gear-fill" />
<span>#{CmsAdminMessages['contentsection.configuration.title']}</span>
</a>
</li>
</ul>

View File

@ -7,17 +7,17 @@
<ui:composition template="/WEB-INF/views/org/librecms/ui/content-section/contentsection.xhtml">
<ui:param name="activePage" value="documentFolders" />
<ui:param name="title" value="#{CmsAdminMessages['contentsection.documentfolder.title']}" />
<ui:param name="title" value="#{CmsAdminMessages['contentsection.documentfolders.title']}" />
<ui:define name="breadcrumb">
<li class="breadcrumb-item">
#{CmsAdminMessages['contentsection.documentfolder.title']}
#{CmsAdminMessages['contentsection.documentfolders.title']}
</li>
</ui:define>
<ui:define name="main">
<div class="container">
<div class="alert alert-warning">
#{CmsAdminMessages.getMessage("contentsections.documentfolder.not_found", [contentSection, folderPath])}
#{CmsAdminMessages.getMessage("contentsections.documentfolders.not_found", [contentSection, folderPath])}
</div>
</div>
</ui:define>

View File

@ -8,18 +8,18 @@
<ui:composition template="/WEB-INF/views/org/librecms/ui/content-section/contentsection.xhtml">
<ui:param name="activePage" value="documentFolders" />
<ui:param name="title" value="#{CmsAdminMessages['contentsection.documentfolder.title']}" />
<ui:param name="title" value="#{CmsAdminMessages['contentsection.documentfolders.title']}" />
<ui:define name="breadcrumb">
<c:choose>
<c:when test="#{DocumentFolderModel.breadcrumbs.isEmpty()}">
<li aria-current="page" class="breadcrumb-item">
#{CmsAdminMessages['contentsection.documentfolder.title']}
#{CmsAdminMessages['contentsection.documentfolders.title']}
</li>
</c:when>
<c:otherwise>
<li class="breadcrumb-item">
<a href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/document-folders">
#{CmsAdminMessages['contentsection.documentfolder.title']}
<a href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documentfolders">
#{CmsAdminMessages['contentsection.documentfolders.title']}
</a>
</li>
</c:otherwise>
@ -34,7 +34,7 @@
</c:when>
<c:otherwise>
<li class="breadcrumb-item">
<a href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/document-folders/#{breadcrumb.path}">#{breadcrumb.pathToken}</a>
<a href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documentfolders/#{breadcrumb.path}">#{breadcrumb.pathToken}</a>
</li>
</c:otherwise>
</c:choose>
@ -47,23 +47,48 @@
<h1>#{CmsAdminMessages.getMessage("contentsection.documentfolder.heading", [ContentSectionModel.sectionName])}</h1>
<div class="row">
<nav class="col-sm-3 documentfolder foldertree">
<div class="col-sm-3">
<form action="#"
class="form-inline mb-3"
method="get">
<div class="form-group">
<label class="sr-only"
for="documentfolders-searchbox">
#{CmsAdminMessages['contentsection.documentfolders.searchbox.label']}
</label>
<div class="input-group">
<input class="form-control"
id="documentfolders-searchbox"
name="term"
type="text" />
<div class="input-group-append">
<button class="btn btn-primary"
type="submit">
<bootstrap:svgIcon icon="search" />
<span class="sr-only">#{CmsAdminMessages['contentsection.documentfolders.searchbox.submit']}</span>
</div>
</button>
</div>
</div>
</form>
<nav class="documentfolder foldertree">
<ul class="list-group">
<c:forEach items="#{ContentSectionModel.folders}"
var="folder">
<ui:include src="document-folder-tree-node.xhtml">
<ui:param name="basePath"
value="#{mvc.basePath}/#{ContentSectionModel.sectionName}/document-folders" />
value="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documentfolders" />
<ui:param name="folder" value="#{folder}" />
</ui:include>
<!-- <cms:folderTreeNode basePath="#{mvc.basePath}/#{ContentSectionModel.sectionName}/document-folders"
<!-- <cms:folderTreeNode basePath="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documentfolders"
collapsed="#{!folder.open}"
name="#{folder.name}"
path="#{folder.path}"
selected="#{folder.selected}"
subFolders="#{folder.subFolders[index]}" />-->
<!-- <cms:folderTreeNode basePath="#{mvc.basePath}/#{ContentSectionModel.sectionName}/document-folders"
<!-- <cms:folderTreeNode basePath="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documentfolders"
folder="#{folder}" />-->
</c:forEach>
<!-- <li class="list-group-item">
@ -108,6 +133,7 @@
</li>-->
</ul>
</nav>
</div>
<div class="col-sm-9">
<div class="d-flex justify-content-between mb-2">
<form action="#" class="form-inline mr-2" method="GET">
@ -176,7 +202,7 @@
<td>
<c:choose>
<c:when test="#{row.folder}">
<a href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/document-folders/#{row.folderPath}">#{row.name}</a>
<a href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documentfolders/#{row.folderPath}">#{row.name}</a>
</c:when>
<c:otherwise>
<a href="#">#{row.name}</a>

View File

@ -24,7 +24,7 @@ contentsections.edit_dialog.close=Cancel
contentsections.edit_dialog.name.label=Name
contentsections.edit_dialog.save=Rename content section
contentsections.edit_dialog.name.help=The name of the content section. Can only contain the letters a to z, the numbers 0-9, the hyphen and the underscore.
contentsection.documentfolder.title=Documents
contentsection.documentfolders.title=Documents
contentsection.documentfolder.heading=Content Section {0} Documents Folder
contentsection.documentfolder.headers.name.label=Name
contentsection.documentfolder.headers.languages.label=Languages
@ -51,3 +51,8 @@ contentsection.documentfolder.filter.label=Filter documents
contentsection.documentfolder.filter.submit=Apply filter
contentsections.documentfolder.not_found=Not folder with path {1} found in content section {0}.
contentsection.not_found.title=Content Section not found
contentsection.documentfolders.searchbox.label=Search in document folders
contentsection.documentfolders.searchbox.submit=Search
contentsection.assetsfolders.title=Media & Data
contentsection.categories.title=Categories & Page Trees
contentsection.categories.configuration=Configuration

View File

@ -24,7 +24,7 @@ contentsections.edit_dialog.close=Abbrechen
contentsections.edit_dialog.name.label=Name
contentsections.edit_dialog.save=Content Section umbenennen
contentsections.edit_dialog.name.help=Der Name der Content Section. Darf nur die Zeichen a bis z, 0-9, the Bindestrich und den Unterstrich enthalten.
contentsection.documentfolder.title=Dokumente
contentsection.documentfolders.title=Dokumente
contentsection.documentfolder.heading=Content Section {0} Dokumenten-Ordner
contentsection.documentfolder.headers.name.label=Name
contentsection.documentfolder.headers.languages.label=Sprachen
@ -51,3 +51,8 @@ contentsection.documentfolder.filter.label=Dokumente filtern
contentsection.documentfolder.filter.submit=Filter anwenden
contentsections.documentfolder.not_found=Es wurde kein Ordner mit dem Pfad {1} in der Content Section {0} gefunden.
contentsection.not_found.title=Content Section nicht gefunden
contentsection.documentfolders.searchbox.label=In Dokument-Ordnern suchen
contentsection.documentfolders.searchbox.submit=Suchen
contentsection.assetsfolders.title=Media & Data
contentsection.categories.title=Kategorien & Seitenb\u00e4ume
contentsection.categories.configuration=Konfiguration