You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by dk...@apache.org on 2019/09/05 13:44:19 UTC

[sling-org-apache-sling-app-cms] 03/03: Adding a reload container which reloads the page instead of being loaded via ajax

This is an automated email from the ASF dual-hosted git repository.

dklco pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git

commit e1ded1f782b6f25b069dfcb88dcf427cd3f11515
Author: Dan Klco <dk...@apache.org>
AuthorDate: Thu Sep 5 09:44:11 2019 -0400

    Adding a reload container which reloads the page instead of being loaded
    via ajax
---
 .../sling/cms/core/internal/filters/EditIncludeFilter.java | 14 +++++++-------
 .../sling-cms/components/caconfig/policies/include.jsp     |  2 +-
 .../components/caconfig/template/config/config.jsp         |  4 ++--
 .../libs/sling-cms/components/general/reloadcontainer.json |  7 +++++++
 4 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/core/src/main/java/org/apache/sling/cms/core/internal/filters/EditIncludeFilter.java b/core/src/main/java/org/apache/sling/cms/core/internal/filters/EditIncludeFilter.java
index 6611291..322811d 100644
--- a/core/src/main/java/org/apache/sling/cms/core/internal/filters/EditIncludeFilter.java
+++ b/core/src/main/java/org/apache/sling/cms/core/internal/filters/EditIncludeFilter.java
@@ -162,13 +162,13 @@ public class EditIncludeFilter implements Filter {
             writeEditorMarkup(resource, writer);
         } else if (component != null && !component.isEditable()) {
             includeEnd = true;
-            EditableResource er = resource.adaptTo(EditableResource.class);
-            if (er != null) {
-                component = er.getComponent();
-            }
-            writer.write("<div class=\"sling-cms-component\" data-sling-cms-title=\""
-                    + (component != null ? component.getTitle() : "") + "\" data-sling-cms-resource-path=\""
-                    + resource.getPath() + "\" data-sling-cms-resource-type=\"" + resource.getResourceType() + "\">");
+            String title = StringUtils.isNotEmpty(component.getTitle()) ? component.getTitle()
+                    : StringUtils.substringAfterLast(resource.getResourceType(), "/");
+            writer.write("<div class=\"sling-cms-component\" data-reload=\"" + component.isReloadPage()
+            + "\" data-component=\"" + component.getResource().getPath() + "\" data-sling-cms-title=\"" + title
+            + "\" data-sling-cms-resource-path=\"" + resource.getPath() + "\" data-sling-cms-resource-type=\""
+            + resource.getResourceType() + "\" data-sling-cms-edit=\"" + editPath
+            + "\">");
         }
         return includeEnd;
     }
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/components/caconfig/policies/include.jsp b/ui/src/main/resources/jcr_root/libs/sling-cms/components/caconfig/policies/include.jsp
index 8575917..59fad17 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/components/caconfig/policies/include.jsp
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/components/caconfig/policies/include.jsp
@@ -18,4 +18,4 @@
  */ --%>
  <%@include file="/libs/sling-cms/global.jsp"%>
  <c:set var="availableTypes" value="SlingCMS-PolicyConfig" scope="request" />
-<sling:include path="${slingRequest.requestPathInfo.suffix}" resourceType="sling-cms/components/general/container" />
\ No newline at end of file
+<sling:include path="${slingRequest.requestPathInfo.suffix}" resourceType="sling-cms/components/general/reloadcontainer" />
\ No newline at end of file
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/components/caconfig/template/config/config.jsp b/ui/src/main/resources/jcr_root/libs/sling-cms/components/caconfig/template/config/config.jsp
index 0a97fe2..2705df3 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/components/caconfig/template/config/config.jsp
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/components/caconfig/template/config/config.jsp
@@ -37,7 +37,7 @@
     </h4>
     <c:set var="oldAvailableTypes" value="${availableTypes}" />
     <c:set var="availableTypes" value="SlingCMS-PolicyMappingConfig" scope="request" />
-    <sling:include path="policies" resourceType="sling-cms/components/general/container" />
+    <sling:include path="policies" resourceType="sling-cms/components/general/reloadcontainer" />
     <c:set var="availableTypes" value="${oldAvailableTypes}" scope="request" />
 </div>
 <hr/>
@@ -54,6 +54,6 @@
     </h4>
     <c:set var="oldAvailableTypes" value="${availableTypes}" />
     <c:set var="availableTypes" value="SlingCMS-FieldConfig" scope="request" />
-    <sling:include path="fields" resourceType="sling-cms/components/general/container" />
+    <sling:include path="fields" resourceType="sling-cms/components/general/reloadcontainer" />
     <c:set var="availableTypes" value="${oldAvailableTypes}" scope="request" />
 </div>
\ No newline at end of file
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/components/general/reloadcontainer.json b/ui/src/main/resources/jcr_root/libs/sling-cms/components/general/reloadcontainer.json
new file mode 100644
index 0000000..60f20af
--- /dev/null
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/components/general/reloadcontainer.json
@@ -0,0 +1,7 @@
+{
+    "jcr:primaryType": "sling:Component",
+    "jcr:title": "Reload Container",
+    "sling:resourceSuperType": "sling-cms/components/general/container",
+    "editable": false,
+    "reloadPage": true
+}
\ No newline at end of file