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-whiteboard.git
commit ffc75824c36ccbeeb4bd88e8257e2c795296ac6c Author: Dan Klco <[email protected]> AuthorDate: Sat May 26 14:42:01 2018 -0400 Updating tags to be a configurable component --- .../apps/reference/components/general/tags.json | 5 ++++ .../reference/components/general/tags/config.json | 34 ++++++++++++++++++++++ .../reference/components/general/tags/edit.json | 9 ++++++ .../reference/components/general/tags/tags.jsp | 21 ++++++++----- 4 files changed, 62 insertions(+), 7 deletions(-) diff --git a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags.json b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags.json new file mode 100644 index 0000000..80df40a --- /dev/null +++ b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags.json @@ -0,0 +1,5 @@ +{ + "jcr:primaryType": "sling:Component", + "componentType": "General", + "jcr:title": "Tags" +} \ No newline at end of file diff --git a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags/config.json b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags/config.json new file mode 100644 index 0000000..7111792 --- /dev/null +++ b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags/config.json @@ -0,0 +1,34 @@ + { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container", + "tagPage": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/path", + "label": "Tag Page", + "name": "tagPage" + }, + "listTag": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/text", + "label": "List Tag", + "name": "listTag" + }, + "listClass": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/text", + "label": "List Class", + "name": "listClass" + }, + "itemTag": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/text", + "label": "Item Tag", + "name": "itemTag" + }, + "itemClass": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/fields/text", + "label": "Item Class", + "name": "itemClass" + } +} \ No newline at end of file diff --git a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags/edit.json b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags/edit.json new file mode 100644 index 0000000..67a9d32 --- /dev/null +++ b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags/edit.json @@ -0,0 +1,9 @@ + { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/editor/slingform", + "button": "No Need to Edit", + "fields": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "sling-cms/components/general/container" + } +} \ No newline at end of file diff --git a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags/tags.jsp b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags/tags.jsp index 51dcd52..cd0ee3b 100644 --- a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags/tags.jsp +++ b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/tags/tags.jsp @@ -17,11 +17,18 @@ * under the License. */ --%> <%@include file="/libs/sling-cms/global.jsp"%> - <sling:adaptTo adaptable="${resource}" adaptTo="org.apache.sling.cms.core.models.PageManager" var="pageMgr" /> +<sling:adaptTo adaptable="${resource}" adaptTo="org.apache.sling.cms.core.models.PageManager" var="pageMgr" /> +<c:set var="config" value="${pageMgr.page.template.componentConfigs['reference/components/general/tags']}" scope="request" /> <c:set var="contentResource" value="${sling:getRelativeResource(page.resource,'jcr:content')}" /> -<c:forEach var="tagPath" items="${contentResource.valueMap['keywords']}"> - <c:set var="tag" value="${sling:getResource(resourceResolver,tagPath)}" /> - <a href="/tags.html${tag.path}.html" class="label"> - <sling:encode value="${tag.valueMap['jcr:title']}" default="${tag.name}" mode="HTML" /> - </a> -</c:forEach> +<c:set var="listTag" value="${config.listTag}" default="div" /> +<c:set var="itemTag" value="${config.itemTag}" default="span" /> +<${listTag} class="${config.listClass}"> + <c:forEach var="tagPath" items="${contentResource.valueMap['keywords']}"> + <c:set var="tag" value="${sling:getResource(resourceResolver,tagPath)}" /> + <${itemTag} class="${config.itemClass}"> + <a href="${config.tagPage}.html${tag.path}.html"> + <sling:encode value="${tag.valueMap['jcr:title']}" default="${tag.name}" mode="HTML" /> + </a> + </${itemTag}> + </c:forEach> +</${listTag}> \ No newline at end of file -- To stop receiving notification emails like this one, please contact [email protected].
