Some layout improvments
parent
8dc28751bc
commit
48dc471342
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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,67 +47,93 @@
|
|||
<h1>#{CmsAdminMessages.getMessage("contentsection.documentfolder.heading", [ContentSectionModel.sectionName])}</h1>
|
||||
|
||||
<div class="row">
|
||||
<nav class="col-sm-3 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" />
|
||||
<ui:param name="folder" value="#{folder}" />
|
||||
</ui:include>
|
||||
<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>
|
||||
|
||||
<!-- <cms:folderTreeNode basePath="#{mvc.basePath}/#{ContentSectionModel.sectionName}/document-folders"
|
||||
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"
|
||||
folder="#{folder}" />-->
|
||||
</c:forEach>
|
||||
<!-- <li class="list-group-item">
|
||||
<a class="" href="#">Folder 1</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<div class="d-flex">
|
||||
<button class="btn btn-light p-0 subfolders-toggler"
|
||||
data-toggle="collapse"
|
||||
data-target="#folder-2-subfolders"
|
||||
aria-expanded="false"
|
||||
aria-controls="folder-2-subfolders"
|
||||
type="button">
|
||||
<bootstrap:svgIcon icon="caret-right-fill" />
|
||||
<span class="sr-only">
|
||||
#{CmsAdminMessages['contentsection.documentfolder.foldersnav.subfolders.expand']}
|
||||
</span>
|
||||
</button>
|
||||
<a class="pl-0" href="#">Folder 2</a>
|
||||
</div>
|
||||
<ul class="border-0 collapse list-group "
|
||||
id="folder-2-subfolders">
|
||||
<li class="border-0 list-group-item">
|
||||
<a class="" href="#">Folder 2-1</a>
|
||||
</li>
|
||||
<li class="border-0 list-group-item">
|
||||
<a class="" href="#">Folder 2-2</a>
|
||||
</li>
|
||||
<li class="border-0 list-group-item">
|
||||
<a class="" href="#">Folder 2-3</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<a class="" href="#">Folder 3</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<a class="" href="#">Folder 4</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<a class="" href="#">Folder 5</a>
|
||||
</li>-->
|
||||
</ul>
|
||||
</nav>
|
||||
</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}/documentfolders" />
|
||||
<ui:param name="folder" value="#{folder}" />
|
||||
</ui:include>
|
||||
|
||||
<!-- <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}/documentfolders"
|
||||
folder="#{folder}" />-->
|
||||
</c:forEach>
|
||||
<!-- <li class="list-group-item">
|
||||
<a class="" href="#">Folder 1</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<div class="d-flex">
|
||||
<button class="btn btn-light p-0 subfolders-toggler"
|
||||
data-toggle="collapse"
|
||||
data-target="#folder-2-subfolders"
|
||||
aria-expanded="false"
|
||||
aria-controls="folder-2-subfolders"
|
||||
type="button">
|
||||
<bootstrap:svgIcon icon="caret-right-fill" />
|
||||
<span class="sr-only">
|
||||
#{CmsAdminMessages['contentsection.documentfolder.foldersnav.subfolders.expand']}
|
||||
</span>
|
||||
</button>
|
||||
<a class="pl-0" href="#">Folder 2</a>
|
||||
</div>
|
||||
<ul class="border-0 collapse list-group "
|
||||
id="folder-2-subfolders">
|
||||
<li class="border-0 list-group-item">
|
||||
<a class="" href="#">Folder 2-1</a>
|
||||
</li>
|
||||
<li class="border-0 list-group-item">
|
||||
<a class="" href="#">Folder 2-2</a>
|
||||
</li>
|
||||
<li class="border-0 list-group-item">
|
||||
<a class="" href="#">Folder 2-3</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<a class="" href="#">Folder 3</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<a class="" href="#">Folder 4</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<a class="" href="#">Folder 5</a>
|
||||
</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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue