This is an automated email from the ASF dual-hosted git repository. dklco pushed a commit to branch SLING-7900 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 4d4651e15b6797c3548227a89979ae596e1cd75d Author: JE Bailey <[email protected]> AuthorDate: Wed Sep 12 16:20:36 2018 -0400 SLING-7900 UI changes * new 'form' page component used to return the minimalist content for a modal * Modal dialogs now have submit and cancel buttons at the bottom * suffix breadcrumb is updated * re structured the left panel to remove inline actions * re structuring available actions internally --- .../core/models/components/AvailableActions.java | 21 +++ .../cms/core/models/components/Breadcrumbs.java | 9 +- .../cms/core/models/components/ContentTable.java | 11 +- .../sling/cms/core/models/components/SiteNav.java | 26 +++ ui/src/main/frontend/src/js/cms.js | 4 +- ui/src/main/resources/jcr_root/content.json | 6 +- .../components/cms/contentnav/contentnav.jsp | 32 +--- .../libs/sling-cms/components/pages/base/nav.jsp | 3 + .../libs/sling-cms/components/pages/form.json | 4 + .../libs/sling-cms/components/pages/form/form.jsp | 20 ++ .../sling-cms/content/actions/create/folder.json | 59 ++++++ .../{site/create.json => actions/create/site.json} | 7 +- .../create/sitegroup.json} | 2 +- .../{file/edit.json => actions/edit/file.json} | 2 +- .../editgroup.json => actions/edit/folder.json} | 16 +- .../{site/create.json => actions/edit/site.json} | 29 +-- .../jcr_root/libs/sling-cms/content/file/edit.json | 2 +- .../libs/sling-cms/content/file/upload.json | 7 +- .../libs/sling-cms/content/folder/create.json | 116 ++++++------ .../libs/sling-cms/content/site/create.json | 7 +- .../libs/sling-cms/content/site/creategroup.json | 2 +- .../libs/sling-cms/content/site/editgroup.json | 86 ++++----- .../libs/sling-cms/content/site/sites.json | 98 +++++----- .../jcr_root/libs/sling-cms/content/start.json | 208 ++++++++++----------- .../libs/sling-cms/content/template/create.json | 116 ++++++------ .../sling-cms/content/templates/sitegroup.json | 5 + 26 files changed, 491 insertions(+), 407 deletions(-) diff --git a/core/src/main/java/org/apache/sling/cms/core/models/components/AvailableActions.java b/core/src/main/java/org/apache/sling/cms/core/models/components/AvailableActions.java new file mode 100644 index 0000000..767cb6f --- /dev/null +++ b/core/src/main/java/org/apache/sling/cms/core/models/components/AvailableActions.java @@ -0,0 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.sling.cms.core.models.components; + +public class AvailableActions { + +} diff --git a/core/src/main/java/org/apache/sling/cms/core/models/components/Breadcrumbs.java b/core/src/main/java/org/apache/sling/cms/core/models/components/Breadcrumbs.java index a856490..c4abe0c 100644 --- a/core/src/main/java/org/apache/sling/cms/core/models/components/Breadcrumbs.java +++ b/core/src/main/java/org/apache/sling/cms/core/models/components/Breadcrumbs.java @@ -30,12 +30,18 @@ import org.apache.sling.models.annotations.DefaultInjectionStrategy; import org.apache.sling.models.annotations.Model; import org.apache.sling.models.annotations.Via; import org.apache.sling.models.annotations.injectorspecific.Self; - +/** + * Logic for the Suffix BreadCrumb Component + * + * + * + */ @Model(adaptables = SlingHttpServletRequest.class, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL) public class Breadcrumbs { @Inject @Via("resource") + @Default(intValues=1) int depth; @Inject @@ -43,6 +49,7 @@ public class Breadcrumbs { @Inject @Via("resource") + @Default(values="../..") String prefix; @Inject diff --git a/core/src/main/java/org/apache/sling/cms/core/models/components/ContentTable.java b/core/src/main/java/org/apache/sling/cms/core/models/components/ContentTable.java index 21ed513..cbd611e 100644 --- a/core/src/main/java/org/apache/sling/cms/core/models/components/ContentTable.java +++ b/core/src/main/java/org/apache/sling/cms/core/models/components/ContentTable.java @@ -27,6 +27,7 @@ import javax.inject.Inject; import org.apache.sling.api.SlingHttpServletRequest; import org.apache.sling.api.resource.Resource; import org.apache.sling.api.resource.ValueMap; +import org.apache.sling.models.annotations.Default; import org.apache.sling.models.annotations.DefaultInjectionStrategy; import org.apache.sling.models.annotations.Model; import org.apache.sling.models.annotations.Via; @@ -38,6 +39,11 @@ public class ContentTable { @Inject @Via("resource") private List<Resource> columns; + + @Inject + @Via("resource") + @Default(values="/") + private String defaultPath; private String[] types; @@ -58,7 +64,10 @@ public class ContentTable { public List<ChildResourceData> getChildren() { Resource suffix = slingRequest.getRequestPathInfo().getSuffixResource(); if (suffix == null) { - return Collections.emptyList(); + suffix = slingRequest.getResourceResolver().getResource(defaultPath); + if (suffix == null) { + return Collections.emptyList(); + } } List<ChildResourceData> response = new ArrayList<>(); suffix.listChildren().forEachRemaining(child -> { diff --git a/core/src/main/java/org/apache/sling/cms/core/models/components/SiteNav.java b/core/src/main/java/org/apache/sling/cms/core/models/components/SiteNav.java new file mode 100644 index 0000000..934cf3a --- /dev/null +++ b/core/src/main/java/org/apache/sling/cms/core/models/components/SiteNav.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.sling.cms.core.models.components; + +import org.apache.sling.api.SlingHttpServletRequest; +import org.apache.sling.models.annotations.DefaultInjectionStrategy; +import org.apache.sling.models.annotations.Model; + +@Model(adaptables = SlingHttpServletRequest.class, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL) +public class SiteNav { + +} diff --git a/ui/src/main/frontend/src/js/cms.js b/ui/src/main/frontend/src/js/cms.js index d53ed3d..72b9474 100644 --- a/ui/src/main/frontend/src/js/cms.js +++ b/ui/src/main/frontend/src/js/cms.js @@ -50,9 +50,9 @@ Sling.CMS = { return $modal; }, fetchModal: function(title, link, path, complete){ - var $modal = $('<div class="modal"><div class="modal-background"></div><div class="modal-card is-draggable"><header class="modal-card-head"><p class="modal-card-title">'+title+'</p></header><section class="modal-card-body"></section><footer class="modal-card-foot"><a class="close-modal is-warning button" aria-label="close">Cancel</a></footer></div>'); + var $modal = $('<div class="modal"><div class="modal-background"></div><div class="modal-card is-draggable"><header class="modal-card-head"><p class="modal-card-title">'+title+'</p></header><section class="modal-card-body"></section><footer class="modal-card-foot"><a class="close-modal is-danger button" aria-label="close">Cancel</a></footer></div>'); $('body').append($modal); - $modal.find('.modal-card-body').load(link + " " +path,function(){ + $modal.find('.modal-card-body').load(link,function(){ var submitButton = $modal.find('button:submit'); var closeButton = $modal.find('.close-modal'); submitButton.insertBefore(closeButton); diff --git a/ui/src/main/resources/jcr_root/content.json b/ui/src/main/resources/jcr_root/content.json index e064ab5..0f29c12 100644 --- a/ui/src/main/resources/jcr_root/content.json +++ b/ui/src/main/resources/jcr_root/content.json @@ -1,3 +1,7 @@ { - "jcr:primaryType": "sling:Folder" + "jcr:primaryType": "sling:Folder", + "allowedResourceTypes": [ + "sling:Site", + "sling:OrderedFolder" + ] } \ No newline at end of file diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/contentnav/contentnav.jsp b/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/contentnav/contentnav.jsp index 17570b7..5fe486d 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/contentnav/contentnav.jsp +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/contentnav/contentnav.jsp @@ -17,36 +17,6 @@ * under the License. */ --%> <%@include file="/libs/sling-cms/global.jsp"%> -<sling:findResources var="content" query="${properties.query}" language="JCR-SQL2" /> <aside class="menu"> -<a class="menu-label toggle-hidden" data-target="#nav-${fn:replace(properties.title,' ','-')}">${properties.title}</a> -<ul class="menu-list ${fn:startsWith(slingRequest.requestURI, properties.prefix) ? '' : 'is-hidden'}" id="nav-${fn:replace(properties.title,' ','-')}"> - <c:forEach var="item" items="${content}"> - <c:set var="prefixPath" value="${item.path}/" /> - <li class="${(fn:startsWith(slingRequest.requestPathInfo.suffix, prefixPath) || slingRequest.requestPathInfo.suffix == item.path) ? 'is-active' : ''}"> - <a href="${properties.itemPrefix}${item.path}" title="View ${item.valueMap['jcr:title']}"> - <c:choose> - <c:when test="${sling:getRelativeResource(item,'jcr:content') != null}"> - <sling:encode value="${sling:getRelativeResource(item,'jcr:content').valueMap['jcr:title']}" mode="HTML" /> - </c:when> - <c:when test="${not empty item.valueMap['jcr:title']}"> - <sling:encode value="${item.valueMap['jcr:title']}" mode="HTML" /> - </c:when> - <c:otherwise> - <sling:encode value="${item.name}" mode="HTML" /> - </c:otherwise> - </c:choose> - </a> - </li> - </c:forEach> - <c:choose> - <c:when test="${not empty properties.createTitle}"> - <c:set var="createTitle" value="${properties.createTitle}" /> - </c:when> - <c:otherwise> - <c:set var="createTitle" value="${properties.title}" /> - </c:otherwise> - </c:choose> - <li><a href="${properties.createPath}" class="Fetch-Modal" title="Create a new ${createTitle}" data-title="Create ${createTitle}" data-path=".Main-Content form"><span class="icon is-small"><i class="jam jam-plus"></i></span> ${createTitle}</a></li> -</ul> +<a class="menu-label toggle-hidden" href="${properties.itemPrefix}" data-target="#nav-${fn:replace(properties.title,' ','-')}">${properties.title}</a> </aside> \ No newline at end of file diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/base/nav.jsp b/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/base/nav.jsp index 36aefb8..e8ee431 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/base/nav.jsp +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/base/nav.jsp @@ -23,6 +23,9 @@ <img src="/static/clientlibs/sling-cms/img/sling-logo.svg" width="100" alt="Apache Sling"/> </a> <a href="/cms/start.html" class="navbar-item" title="CMS Home"><span class="icon"><i class="jam jam-home-f"></i></span></a> +<div class="navbar-item"> +<sling:include path="breadcrumb" resourceType="sling-cms/components/cms/contentbreadcrumb" /> +</div> <a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false"> <span aria-hidden="true"></span> <span aria-hidden="true"></span> diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/form.json b/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/form.json new file mode 100644 index 0000000..f815a51 --- /dev/null +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/form.json @@ -0,0 +1,4 @@ +{ + "jcr:primaryType" : "sling:Component", + "jcr:title": "CMS - Form Page" +} \ No newline at end of file diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/form/form.jsp b/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/form/form.jsp new file mode 100644 index 0000000..16eedf0 --- /dev/null +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/form/form.jsp @@ -0,0 +1,20 @@ +<%-- /* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ --%> + <%@include file="/libs/sling-cms/global.jsp"%> +<sling:include path="container" resourceType="sling-cms/components/general/container" /> \ No newline at end of file diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/folder.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/folder.json new file mode 100644 index 0000000..8c04f36 --- /dev/null +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/folder.json @@ -0,0 +1,59 @@ +{ + "jcr:primaryType": "sling:Page", + "jcr:content": { + "sling:resourceType": "sling-cms/components/pages/form", + "jcr:title": "Create Folder", + "jcr:primaryType": "nt:unstructured", + "container": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container", + "richtext": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/richtext", + "text": "<h3>Create Folder</h3>" + }, + "slingform": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/slingform", + "actionSuffix": "/*", + "button": "Create Folder", + "successPrepend": "/libs/sling-cms/content/site/content.html", + "fields": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container", + "title": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/text", + "label": "Title", + "name": "jcr:content/jcr:title", + "required": true + }, + "name": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/text", + "label": "Name", + "name": ":name" + }, + "nameParam": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/hidden", + "name": ":nameParam", + "value": "jcr:content/jcr:title" + }, + "primaryType": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/hidden", + "name": "jcr:primaryType", + "value": "sling:OrderedFolder" + }, + "contentPrimaryType": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/hidden", + "name": "jcr:content/jcr:primaryType", + "value": "nt:unstructured" + } + } + } + } + } +} diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/site.json similarity index 90% copy from ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json copy to ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/site.json index 5d6c0e9..d2c64c9 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/site.json @@ -1,17 +1,12 @@ { "jcr:primaryType": "sling:Page", "jcr:content": { - "sling:resourceType": "sling-cms/components/pages/base", + "sling:resourceType": "sling-cms/components/pages/form", "jcr:title": "Create Site", "jcr:primaryType": "nt:unstructured", "container": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/general/container", - "richtext": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/richtext", - "text": "<h3>Create Site</h3>" - }, "slingform": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/editor/slingform", diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/sitegroup.json similarity index 97% copy from ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json copy to ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/sitegroup.json index 9b434ac..353affa 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/sitegroup.json @@ -1,7 +1,7 @@ { "jcr:primaryType": "sling:Page", "jcr:content": { - "sling:resourceType": "sling-cms/components/pages/base", + "sling:resourceType": "sling-cms/components/pages/form", "jcr:title": "Create Folder", "jcr:primaryType": "nt:unstructured", "container": { diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/file.json similarity index 90% copy from ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json copy to ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/file.json index 6887601..f11fdf7 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/file.json @@ -1,7 +1,7 @@ { "jcr:primaryType": "sling:Page", "jcr:content": { - "sling:resourceType": "sling-cms/components/pages/base", + "sling:resourceType": "sling-cms/components/pages/form", "jcr:title": "Edit File", "jcr:primaryType": "nt:unstructured", "container": { diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/folder.json similarity index 70% copy from ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json copy to ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/folder.json index a508fc6..b2092a5 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/folder.json @@ -2,7 +2,7 @@ "jcr:primaryType": "sling:Page", "jcr:content": { "sling:resourceType": "sling-cms/components/pages/base", - "jcr:title": "Edit Site Group", + "jcr:title": "Edit Folder", "jcr:primaryType": "nt:unstructured", "container": { "jcr:primaryType": "nt:unstructured", @@ -10,13 +10,12 @@ "richtext": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/general/richtext", - "text": "<h3>Edit Site Group</h3>" + "text": "<h3>Edit Folder</h3>" }, "slingform": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/editor/slingform", - "actionSuffix": "/*", - "button": "Create Folder", + "button": "Edit Folder", "successPrepend":"/libs/sling-cms/content/site/content.html", "fields": { "jcr:primaryType": "nt:unstructured", @@ -27,15 +26,6 @@ "label": "Title", "name": "jcr:content/jcr:title", "required": true - }, - "config": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/path", - "basePath": "/conf", - "label": "Config", - "name": "sling:configRef", - "required": false, - "type": "config" } } } diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/site.json similarity index 73% copy from ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json copy to ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/site.json index 5d6c0e9..319e9a5 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/site.json @@ -2,7 +2,7 @@ "jcr:primaryType": "sling:Page", "jcr:content": { "sling:resourceType": "sling-cms/components/pages/base", - "jcr:title": "Create Site", + "jcr:title": "Edit Site", "jcr:primaryType": "nt:unstructured", "container": { "jcr:primaryType": "nt:unstructured", @@ -10,14 +10,12 @@ "richtext": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/general/richtext", - "text": "<h3>Create Site</h3>" + "text": "<h3>Edit Site</h3>" }, "slingform": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/editor/slingform", - "actionSuffix": "/*", - "button": "Create Site", - "successPrepend": "/libs/sling-cms/content/site/content.html", + "button": "Edit Site", "fields": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/general/container", @@ -28,17 +26,12 @@ "name": "jcr:title", "required": true }, - "name": { + "description": { "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/text", - "label": "Name", - "name": ":name" - }, - "nameParam": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/hidden", - "name": ":nameParam", - "value": "jcr:title" + "sling:resourceType": "sling-cms/components/editor/fields/textarea", + "label": "Description", + "name": "jcr:description", + "required": false }, "url": { "jcr:primaryType": "nt:unstructured", @@ -63,12 +56,6 @@ "name": "sling:configRef", "required": false, "type": "config" - }, - "primaryType": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/hidden", - "name": "jcr:primaryType", - "value": "sling:Site" } } } diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json index 6887601..f11fdf7 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json @@ -1,7 +1,7 @@ { "jcr:primaryType": "sling:Page", "jcr:content": { - "sling:resourceType": "sling-cms/components/pages/base", + "sling:resourceType": "sling-cms/components/pages/form", "jcr:title": "Edit File", "jcr:primaryType": "nt:unstructured", "container": { diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/upload.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/upload.json index 1723c34..f8ae93f 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/upload.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/upload.json @@ -1,17 +1,12 @@ { "jcr:primaryType": "sling:Page", "jcr:content": { - "sling:resourceType": "sling-cms/components/pages/base", + "sling:resourceType": "sling-cms/components/pages/form", "jcr:title": "Upload File", "jcr:primaryType": "nt:unstructured", "container": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/general/container", - "richtext": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/richtext", - "text": "<h3>Upload File</h3>" - }, "slingform": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/editor/slingform", diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/folder/create.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/folder/create.json index 73a0458..8c04f36 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/folder/create.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/folder/create.json @@ -1,59 +1,59 @@ { - "jcr:primaryType": "sling:Page", - "jcr:content": { - "sling:resourceType": "sling-cms/components/pages/base", - "jcr:title": "Create Folder", - "jcr:primaryType": "nt:unstructured", - "container": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/container", - "richtext": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/richtext", - "text": "<h3>Create Folder</h3>" - }, - "slingform": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/slingform", - "actionSuffix": "/*", - "button": "Create Folder", - "successPrepend":"/libs/sling-cms/content/site/content.html", - "fields": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/container", - "title": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/text", - "label": "Title", - "name": "jcr:content/jcr:title", - "required": true - }, - "name": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/text", - "label": "Name", - "name": ":name" - }, - "nameParam": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/hidden", - "name": ":nameParam", - "value":"jcr:content/jcr:title" - }, - "primaryType": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/hidden", - "name": "jcr:primaryType", - "value": "sling:OrderedFolder" - }, - "contentPrimaryType": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/hidden", - "name": "jcr:content/jcr:primaryType", - "value": "nt:unstructured" - } - } - } - } - } -} \ No newline at end of file + "jcr:primaryType": "sling:Page", + "jcr:content": { + "sling:resourceType": "sling-cms/components/pages/form", + "jcr:title": "Create Folder", + "jcr:primaryType": "nt:unstructured", + "container": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container", + "richtext": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/richtext", + "text": "<h3>Create Folder</h3>" + }, + "slingform": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/slingform", + "actionSuffix": "/*", + "button": "Create Folder", + "successPrepend": "/libs/sling-cms/content/site/content.html", + "fields": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container", + "title": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/text", + "label": "Title", + "name": "jcr:content/jcr:title", + "required": true + }, + "name": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/text", + "label": "Name", + "name": ":name" + }, + "nameParam": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/hidden", + "name": ":nameParam", + "value": "jcr:content/jcr:title" + }, + "primaryType": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/hidden", + "name": "jcr:primaryType", + "value": "sling:OrderedFolder" + }, + "contentPrimaryType": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/hidden", + "name": "jcr:content/jcr:primaryType", + "value": "nt:unstructured" + } + } + } + } + } +} diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json index 5d6c0e9..d2c64c9 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json @@ -1,17 +1,12 @@ { "jcr:primaryType": "sling:Page", "jcr:content": { - "sling:resourceType": "sling-cms/components/pages/base", + "sling:resourceType": "sling-cms/components/pages/form", "jcr:title": "Create Site", "jcr:primaryType": "nt:unstructured", "container": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/general/container", - "richtext": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/richtext", - "text": "<h3>Create Site</h3>" - }, "slingform": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/editor/slingform", diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json index 9b434ac..353affa 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json @@ -1,7 +1,7 @@ { "jcr:primaryType": "sling:Page", "jcr:content": { - "sling:resourceType": "sling-cms/components/pages/base", + "sling:resourceType": "sling-cms/components/pages/form", "jcr:title": "Create Folder", "jcr:primaryType": "nt:unstructured", "container": { diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json index a508fc6..44c9b33 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json @@ -1,44 +1,44 @@ { - "jcr:primaryType": "sling:Page", - "jcr:content": { - "sling:resourceType": "sling-cms/components/pages/base", - "jcr:title": "Edit Site Group", - "jcr:primaryType": "nt:unstructured", - "container": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/container", - "richtext": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/richtext", - "text": "<h3>Edit Site Group</h3>" - }, - "slingform": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/slingform", - "actionSuffix": "/*", - "button": "Create Folder", - "successPrepend":"/libs/sling-cms/content/site/content.html", - "fields": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/container", - "title": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/text", - "label": "Title", - "name": "jcr:content/jcr:title", - "required": true - }, - "config": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/path", - "basePath": "/conf", - "label": "Config", - "name": "sling:configRef", - "required": false, - "type": "config" - } - } - } - } - } -} \ No newline at end of file + "jcr:primaryType": "sling:Page", + "jcr:content": { + "sling:resourceType": "sling-cms/components/pages/base", + "jcr:title": "Edit Site Group", + "jcr:primaryType": "nt:unstructured", + "container": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container", + "richtext": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/richtext", + "text": "<h3>Edit Site Group</h3>" + }, + "slingform": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/slingform", + "actionSuffix": "/*", + "button": "Create Folder", + "successPrepend": "/libs/sling-cms/content/site/content.html", + "fields": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container", + "title": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/text", + "label": "Title", + "name": "jcr:content/jcr:title", + "required": true + }, + "config": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/path", + "basePath": "/conf", + "label": "Config", + "name": "sling:configRef", + "required": false, + "type": "config" + } + } + } + } + } +} diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/sites.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/sites.json index 275fcc9..9c37266 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/sites.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/sites.json @@ -1,67 +1,71 @@ { - "jcr:primaryType": "sling:Page", - "jcr:content": { - "sling:resourceType": "sling-cms/components/pages/base", - "jcr:title": "Site Content", - "jcr:primaryType": "nt:unstructured", - "container": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/container", - "contentactions": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/cms/contentactions", - "actions": { - "page": { - "jcr:primaryType": "nt:unstructured", - "label": "Site", - "icon" : "jam jam-document", - "prefix": "/cms/site/create.html" - }, - "folder": { - "jcr:primaryType": "nt:unstructured", - "label": "Site Group", - "icon" : "jam jam-document-f", - "prefix": "/cms/site/creategroup.html" - } - } - }, - "contentbreadcrumb": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/cms/contentbreadcrumb", - "depth": 2, - "prefix": "/cms/site/sites.html", - "titleProp": "jcr:content/jcr:title" - }, - "contenttable": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/cms/contenttable", - "columns": { + "jcr:primaryType": "sling:Page", + "jcr:content": { + "sling:resourceType": "sling-cms/components/pages/base", + "jcr:title": "Site Content", + "jcr:primaryType": "nt:unstructured", + "container": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container", + "contentactions": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/cms/contentactions", + "actions": { + "page": { + "jcr:primaryType": "nt:unstructured", + "label": "Site", + "icon": "jam jam-document", + "prefix": "/cms/actions/create/site.html" + }, + "folder": { + "jcr:primaryType": "nt:unstructured", + "label": "Site Group", + "icon": "jam jam-document-f", + "prefix": "/cms/actions/create/sitegroup.html" + } + } + }, + "contentbreadcrumb": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/cms/contentbreadcrumb", + "depth": 2, + "prefix": "/cms/site/sites.html", + "titleProp": "jcr:content/jcr:title" + }, + "contenttable": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/cms/contenttable", + "defaultPath": "/content", + "columns": { "jcr:primaryType": "nt:unstructured", - "resourceTypes":["sling:Site","sling:OrderedFolder"], + "resourceTypes": [ + "sling:Site", + "sling:OrderedFolder" + ], "name": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/cms/columns/name", "link": true, - "jcr:title":"Name", - "prefix": "/cms/site/content.html" + "jcr:title": "Name", + "prefix": "/cms/site/sites.html" }, "title": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/cms/columns/text", "property": "jcr:content/jcr:title", - "jcr:title":"Title", + "jcr:title": "Title", "type": "String" }, "lastModified": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/cms/columns/lastmodified", - "jcr:title":"Last Modified", + "jcr:title": "Last Modified", "subPath": "jcr:content/" }, "actions": { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "sling-cms/components/cms/columns/actions", - "jcr:title":"Actions", + "jcr:title": "Actions", "edit": { "jcr:primaryType": "nt:unstructured", "modal": true, @@ -84,8 +88,8 @@ "modal": true } } - } - } - } - } + } + } + } + } } diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/start.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/start.json index 2c061fa..b4ec947 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/start.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/start.json @@ -1,110 +1,100 @@ { - "jcr:primaryType": "sling:Page", - "jcr:content": { - "sling:resourceType": "sling-cms/components/pages/base", - "jcr:title": "Start", - "jcr:primaryType": "nt:unstructured", - "sling:vanityPath": "/cms", - "sling:redirect": true, - "center": true, - "container": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/container", - "richtext": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/richtext", - "text": "<h2>Welcome to the Apache Sling CMS!<\/h2><p>This is a full-featured Content Management System built using the Apache Sling Framework! To begin, select Site on the left to add your first website.<\/p>" - } - }, - "nav": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/container", - "sitenav": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/cms/contentnav", - "createPath": "/cms/site/creategroup.html/content", - "createTitle": "Site Group", - "prefix": "/cms/site", - "itemPrefix": "/cms/site/sites.html", - "query": "SELECT * FROM [sling:OrderedFolder] AS s WHERE ISCHILDNODE(s,'/content') ORDER BY NAME()", - "title": "Sites" - }, - "staticnav": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/cms/contentnav", - "createPath": "/cms/folder/create.html/static", - "createTitle": "Folder", - "prefix": "/cms/static", - "itemPrefix": "/cms/static/content.html", - "query": "SELECT * FROM [sling:Folder] AS s WHERE ISCHILDNODE(s,'/static') ORDER BY NAME()", - "title": "Static Content" - }, - "taxonomynav": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/cms/contentnav", - "createPath": "/cms/taxonomy/create.html/etc/taxonomy", - "prefix": "/cms/taxonomy", - "itemPrefix": "/cms/taxonomy/list.html", - "query": "SELECT * FROM [sling:Taxonomy] AS s WHERE ISCHILDNODE(s,'/etc/taxonomy') ORDER BY NAME()", - "title": "Taxonomy" - }, - "configurationnav": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/cms/contentnav", - "createPath": "/cms/folder/create.html/conf", - "prefix": "/cms/config", - "itemPrefix": "/cms/config/list.html", - "query": "SELECT * FROM [sling:OrderedFolder] AS s WHERE ISCHILDNODE(s,'/conf') ORDER BY NAME()", - "title": "Configuration" - }, - "usergeneratednav": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/cms/contentnav", - "createPath": "/cms/folder/create.html/etc/usergenerated", - "createFolder": "Bucket", - "prefix": "/cms/usergenerated", - "itemPrefix": "/cms/usergenerated/content.html", - "query": "SELECT * FROM [sling:OrderedFolder] AS s WHERE ISCHILDNODE(s,'/etc/usergenerated') ORDER BY NAME()", - "title": "User Generated" - }, - "toolsnav": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/cms/staticnav", - "title": "Tools", - "links": { - "jcr:primaryType": "nt:unstructured", - "contentpackages": { - "jcr:primaryType": "nt:unstructured", - "link": "/bin/packages.html", - "text": "Content Packages" - }, - "i18n": { - "jcr:primaryType": "nt:unstructured", - "link": "/cms/i18n/dictionaries.html/etc/i18n", - "text": "Internationalization (i18n)" - }, - "mappings": { - "jcr:primaryType": "nt:unstructured", - "link": "/cms/mappings/list.html/etc/map", - "text": "Mappings" - }, - "nodebrowser": { - "jcr:primaryType": "nt:unstructured", - "link": "/bin/browser.html", - "text": "Node Browser" - }, - "systemconsole": { - "jcr:primaryType": "nt:unstructured", - "link": "/system/console", - "text": "System Console" - }, - "usersgroups": { - "jcr:primaryType": "nt:unstructured", - "link": "/bin/users.html", - "text": "Users & Groups" - } - } - } - } - } -} \ No newline at end of file + "jcr:primaryType": "sling:Page", + "jcr:content": { + "sling:resourceType": "sling-cms/components/pages/base", + "jcr:title": "Start", + "jcr:primaryType": "nt:unstructured", + "sling:vanityPath": "/cms", + "sling:redirect": true, + "center": true, + "container": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container", + "richtext": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/richtext", + "text": "<h2>Welcome to the Apache Sling CMS!<\/h2><p>This is a full-featured Content Management System built using the Apache Sling Framework! To begin, select Site on the left to add your first website.<\/p>" + } + }, + "nav": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container", + "othernav": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/cms/staticnav", + "title": "Manage", + "links": { + "jcr:primaryType": "nt:unstructured", + "sitenav": { + "jcr:primaryType": "nt:unstructured", + "link": "/cms/site/sites.html/content", + "text": "Sites" + }, + "staticnav": { + "jcr:primaryType": "nt:unstructured", + "link": "/cms/static/content.html/static", + "text": "Static Content" + }, + "taxonomy": { + "jcr:primaryType": "nt:unstructured", + "link": "/cms/taxonomy/list.html/etc/taxonomy", + "text": "Taxonomy" + }, + "templates": { + "jcr:primaryType": "nt:unstructured", + "link": "/cms/taxonomy/list.html/etc/taxonomy", + "text": "Templates" + }, + "config": { + "jcr:primaryType": "nt:unstructured", + "link": "/cms/config/list.html/conf", + "text": "Configuration" + }, + "usergenerated": { + "jcr:primaryType": "nt:unstructured", + "link": "/cms/usergenerated/content.html/etc/usergenerated", + "text": "User Generated" + } + } + }, + "toolsnav": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/cms/staticnav", + "title": "Tools", + "links": { + "jcr:primaryType": "nt:unstructured", + "contentpackages": { + "jcr:primaryType": "nt:unstructured", + "link": "/bin/packages.html", + "text": "Content Packages" + }, + "i18n": { + "jcr:primaryType": "nt:unstructured", + "link": "/cms/i18n/dictionaries.html/etc/i18n", + "text": "Internationalization (i18n)" + }, + "mappings": { + "jcr:primaryType": "nt:unstructured", + "link": "/cms/mappings/list.html/etc/map", + "text": "Mappings" + }, + "nodebrowser": { + "jcr:primaryType": "nt:unstructured", + "link": "/bin/browser.html", + "text": "Node Browser" + }, + "systemconsole": { + "jcr:primaryType": "nt:unstructured", + "link": "/system/console", + "text": "System Console" + }, + "usersgroups": { + "jcr:primaryType": "nt:unstructured", + "link": "/bin/users.html", + "text": "Users & Groups" + } + } + } + } + } +} diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/template/create.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/template/create.json index f5d4a73..9a96b51 100644 --- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/template/create.json +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/template/create.json @@ -1,59 +1,59 @@ { - "jcr:primaryType": "sling:Page", - "jcr:content": { - "sling:resourceType": "sling-cms/components/pages/base", - "jcr:title": "Create Template", - "jcr:primaryType": "nt:unstructured", - "container": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/container", - "richtext": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/richtext", - "text": "<h3>Create Template</h3>" - }, - "slingform": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/slingform", - "actionSuffix": "/templates/", - "button": "Create Template", - "successPrepend": "/libs/sling-cms/content/site/content.html", - "fields": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/general/container", - "title": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/text", - "label": "Title", - "name": "jcr:title", - "required": true - }, - "name": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/text", - "label": "Name", - "name": ":name" - }, - "nameParam": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/hidden", - "name": ":nameParam", - "value": "jcr:title" - }, - "primaryType": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/hidden", - "name": "jcr:primaryType", - "value": "nt:unstructured" - }, - "resourceType": { - "jcr:primaryType": "nt:unstructured", - "sling:resourceType": "sling-cms/components/editor/fields/hidden", - "name": "sling:resourceType", - "value": "sling-cms/components/cms/pagetemplate" - } - } - } - } - } -} \ No newline at end of file + "jcr:primaryType": "sling:Page", + "jcr:content": { + "sling:resourceType": "sling-cms/components/pages/base", + "jcr:title": "Create Template", + "jcr:primaryType": "nt:unstructured", + "container": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container", + "richtext": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/richtext", + "text": "<h3>Create Template</h3>" + }, + "slingform": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/slingform", + "actionSuffix": "/templates/", + "button": "Create Template", + "successPrepend": "/libs/sling-cms/content/site/content.html", + "fields": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container", + "title": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/text", + "label": "Title", + "name": "jcr:title", + "required": true + }, + "name": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/text", + "label": "Name", + "name": ":name" + }, + "nameParam": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/hidden", + "name": ":nameParam", + "value": "jcr:title" + }, + "primaryType": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/hidden", + "name": "jcr:primaryType", + "value": "nt:unstructured" + }, + "resourceType": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/hidden", + "name": "sling:resourceType", + "value": "sling-cms/components/cms/pagetemplate" + } + } + } + } + } +} diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/templates/sitegroup.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/templates/sitegroup.json new file mode 100644 index 0000000..8533f67 --- /dev/null +++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/templates/sitegroup.json @@ -0,0 +1,5 @@ +{ + "jcr:contentType": "nt:unstructured", + "sling:resourceType" : "cms/template" + +}
