HtmlTextAreaElement
sealed class HtmlTextAreaElement : HtmlTextFormControlElement, IHtmlTextAreaElement, IHtmlElement, IElement, INode, IEventTarget, IMarkupFormattable, IParentNode, IChildNode, INonDocumentTypeChildNode, IElementCssInlineStyle, IValidation
Represents a HTML textarea element.
using AngleSharp.Dom.Css;
using AngleSharp.Extensions;
using AngleSharp.Html;
namespace AngleSharp.Dom.Html
{
internal sealed class HtmlTextAreaElement : HtmlTextFormControlElement, IHtmlTextAreaElement, IHtmlElement, IElement, INode, IEventTarget, IMarkupFormattable, IParentNode, IChildNode, INonDocumentTypeChildNode, IElementCssInlineStyle, IValidation
{
public string Wrap {
get {
return GetOwnAttribute(AttributeNames.Wrap);
}
set {
SetOwnAttribute(AttributeNames.Wrap, value);
}
}
public override string DefaultValue {
get {
return TextContent;
}
set {
TextContent = value;
}
}
public int TextLength => base.Value.Length;
public int Rows {
get {
return GetOwnAttribute(AttributeNames.Rows).ToInteger(2);
}
set {
SetOwnAttribute(AttributeNames.Rows, value.ToString());
}
}
public int Columns {
get {
return GetOwnAttribute(AttributeNames.Cols).ToInteger(20);
}
set {
SetOwnAttribute(AttributeNames.Cols, value.ToString());
}
}
public string Type => Tags.Textarea;
internal bool IsMutable {
get {
if (!base.IsDisabled)
return !base.IsReadOnly;
return false;
}
}
public HtmlTextAreaElement(Document owner, string prefix = null)
: base(owner, Tags.Textarea, prefix, NodeFlags.LineTolerance)
{
}
internal override void ConstructDataSet(FormDataSet dataSet, HtmlElement submitter)
{
ConstructDataSet(dataSet, Type);
}
internal override FormControlState SaveControlState()
{
return new FormControlState(base.Name, Type, base.Value);
}
internal override void RestoreFormControlState(FormControlState state)
{
if (state.Type == Type && state.Name == base.Name)
base.Value = state.Value;
}
}
}