Skip to content

Commit bb622fe

Browse files
authored
CIF-1231 - fix featured category placeholder display (#200)
1 parent 12f4384 commit bb622fe

File tree

4 files changed

+25
-14
lines changed

4 files changed

+25
-14
lines changed

bundles/core/src/main/java/com/adobe/cq/commerce/core/components/internal/models/v1/categorylist/FeaturedCategoryListImpl.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,14 +102,12 @@ private void initModel() {
102102
Asset overrideAsset = assetResource.adaptTo(Asset.class);
103103
assetOverride.put(categoryId, overrideAsset);
104104
}
105-
}
106105

107-
if (categoryIds.size() > 0) {
108-
MagentoGraphqlClient magentoGraphqlClient = MagentoGraphqlClient.create(resource);
109-
categoriesRetriever = new CategoriesRetriever(magentoGraphqlClient);
110-
categoriesRetriever.setIdentifiers(categoryIds);
111-
} else {
112-
LOGGER.debug("There are no categories configured for CategoryList Component.");
106+
if (categoryIds.size() > 0) {
107+
MagentoGraphqlClient magentoGraphqlClient = MagentoGraphqlClient.create(resource);
108+
categoriesRetriever = new CategoriesRetriever(magentoGraphqlClient);
109+
categoriesRetriever.setIdentifiers(categoryIds);
110+
}
113111
}
114112
}
115113

@@ -138,6 +136,11 @@ public List<CategoryTree> getCategories() {
138136
return categories;
139137
}
140138

139+
@Override
140+
public boolean isConfigured() {
141+
return resource.getChild(ITEMS_PROP) != null;
142+
}
143+
141144
@Override
142145
public AbstractCategoriesRetriever getCategoriesRetriever() {
143146
return this.categoriesRetriever;

bundles/core/src/main/java/com/adobe/cq/commerce/core/components/models/categorylist/FeaturedCategoryList.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,10 @@ public interface FeaturedCategoryList {
4141
*/
4242
AbstractCategoriesRetriever getCategoriesRetriever();
4343

44+
/**
45+
* Returns true if the component is correctly configured, false otherwise.
46+
*
47+
* @return true or false
48+
*/
49+
boolean isConfigured();
4450
}

bundles/core/src/test/java/com/adobe/cq/commerce/core/components/internal/models/v1/categorylist/FeaturedCategoryListImplTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,16 @@ public void setup() throws Exception {
121121
@Test
122122
public void verifyModel() {
123123
Assert.assertNotNull(slingModelConfigured);
124+
Assert.assertTrue(slingModelConfigured.isConfigured());
124125
List<CategoryTree> list = slingModelConfigured.getCategories();
125126
Assert.assertNotNull(list);
126127
Assert.assertEquals(list.size(), 3);
127128
}
128129

129130
@Test
130131
public void verifyCategory() {
132+
Assert.assertNotNull(slingModelConfigured);
133+
Assert.assertTrue(slingModelConfigured.isConfigured());
131134
categories = slingModelConfigured.getCategories();
132135
Assert.assertNotNull(categories);
133136
Assert.assertEquals(categories.get(0).getName(), TEST_CATEGORY_NAME);
@@ -146,6 +149,7 @@ public void verifyAssetOverride() {
146149
public void verifyNotConfigired() {
147150
Assert.assertNotNull(slingModelNotConfigured);
148151
Assert.assertNull(slingModelNotConfigured.getCategoriesRetriever());
152+
Assert.assertFalse(slingModelNotConfigured.isConfigured());
149153
categories = slingModelNotConfigured.getCategories();
150154
Assert.assertNotNull(categories);
151155
Assert.assertEquals(categories.size(), 0);

ui.apps/src/main/content/jcr_root/apps/core/cif/components/commerce/featuredcategorylist/v1/featuredcategorylist/featuredcategorylist.html

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
*/-->
1616

1717
<sly data-sly-use.clientlib="/libs/granite/sightly/templates/clientlib.html"
18-
data-sly-use.category="com.adobe.cq.commerce.core.components.models.categorylist.FeaturedCategoryList">
19-
<sly data-sly-test.isConfigured="${category.categories.size}">
18+
data-sly-use.category="com.adobe.cq.commerce.core.components.models.categorylist.FeaturedCategoryList"
19+
data-sly-use.templates="core/wcm/components/commons/v1/templates.html">
20+
<sly data-sly-test.hasCategories="${category.categories.size}">
2021
<div class="cmp-categorylist">
2122
<div class="cmp-categorylist__header">
2223
<h2 class="cmp-categorylist__title">
@@ -33,10 +34,7 @@ <h2 class="cmp-categorylist__title">
3334
</div>
3435
</div>
3536
</sly>
36-
<div data-sly-test="${!isConfigured}" class="placeholder__empty">
37-
<strong>${'Featured Category List' @ i18n}</strong><br>
38-
<p>${'Please configure categories' @ i18n}</p>
39-
</div>
37+
<sly data-sly-call="${templates.placeholder @ isEmpty = !category.isConfigured, emptyTextAppend = 'Please configure categories'}" />
38+
<sly data-sly-call="${templates.placeholder @ isEmpty = category.isConfigured && !hasCategories, emptyTextAppend = 'Configured, no categories were loaded'}" />
4039
</sly>
4140
</sly>
42-

0 commit comments

Comments
 (0)