Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
178 changes: 178 additions & 0 deletions blocks/fragment-list/_fragment-list.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
{
"definitions": [
{
"title": "Fragment List",
"id": "fragment-list",
"plugins": {
"xwalk": {
"page": {
"resourceType": "core/franklin/components/block/v1/block",
"template": {
"name": "Fragment List",
"model": "fragment-list",
"key-value": true
}
}
}
}
}
],
"models": [
{
"id": "fragment-list",
"fields": [
{
"component": "text",
"valueType": "string",
"name": "title",
"label": "Title",
"value": ""
},
{
"component": "text",
"valueType": "string",
"name": "subtitle",
"label": "Subtitle",
"value": ""
},
{
"component": "select",
"name": "layout",
"label": "Layout Style",
"valueType": "string",
"value": "grid",
"options": [
{ "name": "Grid", "value": "grid" },
{ "name": "List", "value": "list" },
{ "name": "Compact", "value": "compact" },
{ "name": "Masonry", "value": "masonry" },
{ "name": "Carousel", "value": "carousel" },
{ "name": "Articles", "value": "articles" }
]
},
{
"component": "select",
"name": "dataSourceType",
"label": "Data Source Type",
"valueType": "string",
"value": "content-fragments",
"options": [
{ "name": "Content Fragments", "value": "content-fragments" },
{ "name": "External API", "value": "api" }
]
},
{
"component": "aem-content",
"name": "contentFragmentFolder",
"label": "Content Fragment Folder",
"description": "Select folder containing Content Fragments",
"valueType": "string",
"validation": { "rootPath": "/content/dam" },
"condition": { "==": [{ "var": "dataSourceType" }, "content-fragments"] }
},
{
"component": "text",
"valueType": "string",
"name": "modelName",
"label": "Content Fragment Model Name",
"description": "Target CF model name to filter by (e.g. content-card)",
"condition": { "==": [{ "var": "dataSourceType" }, "content-fragments"] }
},
{
"component": "text",
"valueType": "string",
"name": "apiUrl",
"label": "API URL",
"description": "External API endpoint for data",
"condition": { "==": [{ "var": "dataSourceType" }, "api"] }
},
{
"component": "boolean",
"name": "enableFilters",
"label": "Enable Filters",
"description": "Show the search and filter panel",
"value": false,
"valueType": "boolean"
},
{
"component": "boolean",
"name": "enableTextSearch",
"label": "Enable Text Search",
"description": "Show full-text search input",
"value": true,
"valueType": "boolean",
"condition": { "==": [{ "var": "enableFilters" }, true] }
},
{
"component": "boolean",
"name": "enableTagFilter",
"label": "Enable Tag Filter",
"description": "Show tag-based filter dropdown",
"value": true,
"valueType": "boolean",
"condition": { "==": [{ "var": "enableFilters" }, true] }
},
{
"component": "text",
"valueType": "string",
"name": "searchPlaceholder",
"label": "Search Placeholder",
"value": "Search...",
"description": "Placeholder text for the search input",
"condition": { "==": [{ "var": "enableFilters" }, true] }
},
{
"component": "boolean",
"name": "showTags",
"label": "Show Tags",
"description": "Show content fragment tags on each card",
"value": false,
"valueType": "boolean",
"condition": { "==": [{ "var": "dataSourceType" }, "content-fragments"] }
},
{
"component": "select",
"name": "ctastyle",
"label": "CTA Style",
"valueType": "string",
"value": "button",
"options": [
{
"name": "Primary Button",
"value": "button"
},
{
"name": "Secondary Button",
"value": "button-secondary"
},
{
"name": "Dark Button",
"value": "button-dark"
},
{
"name": "Link",
"value": "link"
}
]
},
{
"component": "text",
"valueType": "string",
"name": "noResultsMessage",
"label": "No Results Message",
"value": "No items found",
"description": "Message displayed when no content fragments match"
},
{
"component": "text",
"name": "custom-class",
"label": "Custom class",
"value": "",
"valueType": "string",
"description": "Space-separated class names to add to the block"
}
]
}
],
"filters": []
}
Loading