resolveInputElementValue method

String? resolveInputElementValue()

Implementation

String? resolveInputElementValue() {
  var self = this;

  if (self.isA<HTMLTextAreaElement>()) {
    return (self as HTMLTextAreaElement).value;
  } else if (self.isA<HTMLSelectElement>()) {
    var selected = (self as HTMLSelectElement).selectedOptionsSafe;
    if (selected.isEmpty) return '';
    return MapProperties.toStringValue(selected.map((opt) => opt.value));
  } else if (self.isA<HTMLInputElement>()) {
    var type = (self as HTMLInputElement).type;
    switch (type) {
      case 'checkbox':
      case 'radio':
        return parseBool(self.checked, false)! ? self.value : null;
      case 'file':
        return MapProperties.toStringValue(
            self.files!.toList().map((f) => f.name));
      default:
        return self.value;
    }
  } else {
    return null;
  }
}