Current section

Files

Jump to
noora components filter.json
Raw

components/filter.json

{
"name": "Filter",
"tagName": "noora-filter",
"elementClassName": "NooraFilter",
"className": "noora-filter",
"modulePath": "./priv/static/noora-web-components.js",
"description": "Builds and displays a set of structured filters.",
"usage": "<noora-filter>\n <noora-filter-definition name=\"status\" label=\"Status\" type=\"option\">\n <noora-filter-option value=\"active\">Active</noora-filter-option>\n <noora-filter-option value=\"paused\">Paused</noora-filter-option>\n </noora-filter-definition>\n <noora-filter-value name=\"status\" operator=\"==\" value=\"active\"></noora-filter-value>\n</noora-filter>",
"attributes": [
{
"name": "label",
"property": "label",
"type": "string",
"default": "Filter",
"description": "Sets the add-filter label."
},
{
"name": "disabled",
"property": "disabled",
"type": "boolean",
"default": false,
"description": "Disables editing."
}
],
"properties": [
{
"name": "availableFilters",
"type": "json",
"typescriptType": "Array<Record<string, unknown>>",
"default": [],
"description": "Defines available filters programmatically when declarative definitions are not used."
},
{
"name": "filters",
"type": "json",
"typescriptType": "Array<Record<string, unknown>>",
"default": [],
"description": "Gets or sets active filters programmatically."
}
],
"readonlyProperties": [],
"slots": [
{
"name": "",
"description": "Declarative noora-filter-definition and noora-filter-value children."
}
],
"cssParts": [
{
"name": "filter",
"description": "The filter container."
},
{
"name": "active-filters",
"description": "The active-filter list."
},
{
"name": "add",
"description": "The add-filter control."
},
{
"name": "active-filter",
"description": "An active filter control."
}
],
"events": [
{
"name": "noora-filter-change",
"type": "CustomEvent<{ filters: Array<Record<string, unknown>> }>",
"description": "Emitted when a filter is added, changed, or removed."
}
],
"notes": ["Changes emit a `noora-filter-change` event."],
"examples": [
{
"id": "status",
"title": "Status filter",
"description": "Offer a predefined status filter.",
"markup": "<noora-filter>\n <noora-filter-definition name=\"status\" label=\"Status\" type=\"option\">\n <noora-filter-option value=\"active\">Active</noora-filter-option>\n <noora-filter-option value=\"paused\">Paused</noora-filter-option>\n </noora-filter-definition>\n <noora-filter-definition name=\"name\" label=\"Name\" type=\"text\"></noora-filter-definition>\n <noora-filter-definition name=\"amount\" label=\"Amount\" type=\"number\"></noora-filter-definition>\n <noora-filter-value name=\"status\" operator=\"==\" value=\"active\"></noora-filter-value>\n</noora-filter>"
}
]
}