HTMLFormControlsCollection
A collection of HTML form controls.
using AngleSharp.DOM.Html;
using System.Collections.Generic;
namespace AngleSharp.DOM.Collections
{
[DOM("HTMLFormControlsCollection")]
public sealed class HTMLFormControlsCollection : HTMLCollection
{
private HTMLLiveCollection<HTMLFormControlElement> _elements;
internal HTMLFormControlsCollection(HTMLLiveCollection<HTMLFormControlElement> elements)
{
_elements = elements;
}
internal HTMLFormControlsCollection(Element parent)
{
_elements = new HTMLLiveCollection<HTMLFormControlElement>(parent, true);
}
public override IEnumerator<Element> GetEnumerator()
{
return _elements.GetEnumerator();
}
protected override Element GetItem(int index)
{
return _elements[index];
}
protected override int GetLength()
{
return _elements.Length;
}
protected override object GetItem(string name)
{
List<Element> list = new List<Element>();
for (int i = 0; i < _elements.Length; i++) {
if (_elements[i].Id == name || _elements[i].GetAttribute("name") == name)
list.Add(_elements[i]);
}
if (list.Count == 0)
return null;
if (list.Count == 1)
return list[0];
return new HTMLStaticCollection(list);
}
internal override int IndexOf(Element element)
{
return _elements.IndexOf(element);
}
}
}