# HG changeset patch # User Goffi # Date 1622810673 -7200 # Node ID 185601bc0cd3e060671cf54acd32b8c2c911fb2b # Parent 31cbcdd096a2cc1a2aaa0b58bd36512d7387b155 tools (common/template_xmlui: add `multi` and `value` propertied to OptionsWidget diff -r 31cbcdd096a2 -r 185601bc0cd3 sat/tools/common/template_xmlui.py --- a/sat/tools/common/template_xmlui.py Fri Jun 04 14:07:58 2021 +0200 +++ b/sat/tools/common/template_xmlui.py Fri Jun 04 14:44:33 2021 +0200 @@ -90,6 +90,14 @@ yield value @property + def value(self): + if self.multi or self.no_select or len(self.selected) != 1: + raise ValueError( + "Can't get value for list with multiple selections or nothing selected" + ) + return self.selected[0] + + @property def labels(self): """return only labels from self.items""" for value, label in self.items: @@ -111,6 +119,10 @@ def no_select(self): return "noselect" in self.style + @property + def multi(self): + return "multi" in self.style + class EmptyWidget(xmlui.EmptyWidget, Widget): def __init__(self, _xmlui_parent):