From a4970361ee7485fd8276655430b3528dd47502c4 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 2 Apr 2024 14:48:18 +0200 Subject: [PATCH] Add label selector (#32129) Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_docs/blueprint/selectors.markdown | 38 ++++++++++++++++++++ source/images/blueprints/selector-label.png | Bin 0 -> 25411 bytes 2 files changed, 38 insertions(+) create mode 100644 source/images/blueprints/selector-label.png diff --git a/source/_docs/blueprint/selectors.markdown b/source/_docs/blueprint/selectors.markdown index f636b302989..451d07d518e 100644 --- a/source/_docs/blueprint/selectors.markdown +++ b/source/_docs/blueprint/selectors.markdown @@ -35,6 +35,7 @@ The following selectors are currently available: - [Entity selector](#entity-selector) - [Floor selector](#floor-selector) - [Icon selector](#icon-selector) +- [Label selector](#label-selector) - [Language selector](#language-selector) - [Location selector](#location-selector) - [Media selector](#media-selector) @@ -886,6 +887,43 @@ placeholder: The output of this selector is a string containing the selected icon, for example: `mdi:bell`. +## Label selector + +The label selector shows a label finder that can pick labels. The value of the +input is the label ID. If `multiple` is set to `true`, the value is a list +of label IDs. + +![Screenshot of the label selector](/images/blueprints/selector-label.png) + +In its most basic form, this selector doesn't require any options. +It will show all labels. + +```yaml +label: +``` + +{% configuration text %} +multiple: + description: > + Allows selecting multiple labels. If set to `true`, the resulting value of + this selector will be a list instead of a single string value. + type: boolean + default: false + required: false +{% endconfiguration %} + +The output of this selector is the label ID, or (in case `multiple` is set to +`true`) a list of label IDs. + +```yaml +# Example label selector output result, when multiple is set to false +energy_saving + +# Example label selector output result, when multiple is set to true +- energy_saving +- christmas_decorations +``` + ## Language selector The language selector allows a user to pick a language from a list of languages. diff --git a/source/images/blueprints/selector-label.png b/source/images/blueprints/selector-label.png new file mode 100644 index 0000000000000000000000000000000000000000..9c4e255e885660132145273c179ea6b68c2dad79 GIT binary patch literal 25411 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