setState method
Set the button state, which will change the button text according to texts
- setting.
Implementation
Future setState(String state) {
final d = 'disabled',
space = $element.data.space!,
isInput = element is InputElement,
value = isInput ? (element as InputElement).value : element.innerHtml;
state = "${state}Text";
space.putIfAbsent('resetText', () => value);
final newStateText = (space[state] as String?) ?? texts[state];
if (isInput)
(element as InputElement).value = newStateText;
else
element.innerHtml = newStateText;
// push to event loop to allow forms to submit
return Future.delayed(Duration.zero, () {
if (state == 'loadingText') {
element.classes.add(d);
element.attributes[d] = d;
} else {
element.classes.remove(d);
element.attributes.remove(d);
}
});
}