setState method

Future setState(
  1. String state
)

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);
    }
  });

}