getElementValue method

  1. @override
String? getElementValue(
  1. Node? element
)
override

Implementation

@override
String? getElementValue(Node? element) {
  if (element == null) return null;

  if (element.isA<HTMLInputElement>()) {
    var inputElement = element as HTMLInputElement;

    var type = inputElement.type.toLowerCase();

    switch (type) {
      case 'checkbox':
        {
          return '${element.checked}';
        }
      case 'file':
        {
          var files = element.files?.toList() ?? [];
          return files.isNotEmpty ? files.join(',') : '';
        }
    }

    return element.value;
  } else if (element.isA<HTMLTextAreaElement>()) {
    var textArea = element as HTMLTextAreaElement;
    return textArea.value;
  } else if (element.isA<HTMLSelectElement>()) {
    var select = element as HTMLSelectElement;
    return select.value;
  }

  return element.textContent;
}