Dart API Referencedart:htmlFilteredElementList

FilteredElementList Class

Implements

ElementList

Constructors

Code new FilteredElementList(Node node) #

FilteredElementList(Node node): _childNodes = node.nodes, _node = node;

Methods

Code void add(Element value) #

void add(Element value) {
  _childNodes.add(value);
}

Code void addAll(Collection<Element> collection) #

void addAll(Collection<Element> collection) {
  collection.forEach(add);
}

Code void addLast(Element value) #

void addLast(Element value) {
  add(value);
}

Code void clear() #

void clear() {
  // Currently, ElementList#clear clears even non-element nodes, so we follow
  // that behavior.
  _childNodes.clear();
}

Code void copyFrom(List<Object> src, int srcStart, int dstStart, int count) #

void copyFrom(List<Object> src, int srcStart, int dstStart, int count) {
  throw const NotImplementedException();
}

Code bool every(bool f(Element element)) #

bool every(bool f(Element element)) => _filtered.every(f);

Code Collection<Element> filter(bool f(Element element)) #

Collection<Element> filter(bool f(Element element)) => _filtered.filter(f);

Code Element get first() #

Element get first() {
  for (final node in _childNodes) {
    if (node is Element) {
      return node;
    }
  }
  return null;
}

Code void forEach(void f(Element element)) #

void forEach(void f(Element element)) {
  _filtered.forEach(f);
}

Code List<Element> getRange(int start, int rangeLength) #

List<Element> getRange(int start, int rangeLength) =>
  _filtered.getRange(start, rangeLength);

Code int indexOf(Element element, [int start = 0]) #

int indexOf(Element element, [int start = 0]) =>
  _filtered.indexOf(element, start);

Code void insertRange(int start, int rangeLength, [initialValue = null]) #

void insertRange(int start, int rangeLength, [initialValue = null]) {
  throw const NotImplementedException();
}

Code bool isEmpty() #

bool isEmpty() => _filtered.isEmpty();

Code Iterator<Element> iterator() #

Iterator<Element> iterator() => _filtered.iterator();

Code Element last() #

Element last() => _filtered.last();

Code int lastIndexOf(Element element, [int start = null]) #

int lastIndexOf(Element element, [int start = null]) {
  if (start === null) start = length - 1;
  return _filtered.lastIndexOf(element, start);
}

Code int get length() #

int get length() => _filtered.length;

Code void set length(int newLength) #

void set length(int newLength) {
  final len = this.length;
  if (newLength >= len) {
    return;
  } else if (newLength < 0) {
    throw const IllegalArgumentException("Invalid list length");
  }

  removeRange(newLength - 1, len - newLength);
}

Code Collection map(f(Element element)) #

Collection map(f(Element element)) => _filtered.map(f);

Code Element operator [](int index) #

Element operator [](int index) => _filtered[index];

Code void operator []=(int index, Element value) #

void operator []=(int index, Element value) {
  this[index].replaceWith(value);
}

Code Element removeLast() #

Element removeLast() {
  final result = this.last();
  if (result != null) {
    result.remove();
  }
  return result;
}

Code void removeRange(int start, int rangeLength) #

void removeRange(int start, int rangeLength) {
  _filtered.getRange(start, rangeLength).forEach((el) => el.remove());
}

Code void setRange(int start, int rangeLength, List from, [int startFrom = 0]) #

void setRange(int start, int rangeLength, List from, [int startFrom = 0]) {
  throw const NotImplementedException();
}

Code bool some(bool f(Element element)) #

bool some(bool f(Element element)) => _filtered.some(f);

Code void sort(int compare(Element a, Element b)) #

void sort(int compare(Element a, Element b)) {
  throw const UnsupportedOperationException('TODO(jacobr): should we impl?');
}