API Reference 0.3.24dart_web_toolkit_uiCaptionPanelImpl

CaptionPanelImpl class

Implementation class without browser-specific hacks.

class CaptionPanelImpl {

 factory CaptionPanelImpl.browserDependant() {
   return new CaptionPanelImpl();
 }

 CaptionPanelImpl();

 void setCaption(dart_html.FieldSetElement fieldset, dart_html.Element legend, String caption, [bool asHtml = true]) {
   // TODO(bruce): rewrite to be inlinable
   assert (caption != null);

   if (asHtml) {
     legend.innerHtml = caption;
   } else {
     legend.text = caption;
   }

   if ("" != caption) {
     // This is formulated to become an append (if there's no widget), an
     // insertion at index 0 (if there is a widget but no legend already), or
     // a no-op (if the legend is already in place).
     fieldset.insertBefore(legend, fieldset.firstChild);
   } else if (legend.parent != null) {
     // We remove the legend from the DOM because leaving it in with an empty
     // string renders as an ugly gap in the top border on some browsers.
     //fieldset.removeChild(legend);
     legend.remove();
   }
 }
}

Subclasses

CaptionPanelImplMozilla, CaptionPanelImplSafari

Constructors

new CaptionPanelImpl() #

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

docs inherited from Object
CaptionPanelImpl();

factory CaptionPanelImpl.browserDependant() #

factory CaptionPanelImpl.browserDependant() {
 return new CaptionPanelImpl();
}

Methods

void setCaption(FieldSetElement fieldset, Element legend, String caption, [bool asHtml = true]) #

void setCaption(dart_html.FieldSetElement fieldset, dart_html.Element legend, String caption, [bool asHtml = true]) {
 // TODO(bruce): rewrite to be inlinable
 assert (caption != null);

 if (asHtml) {
   legend.innerHtml = caption;
 } else {
   legend.text = caption;
 }

 if ("" != caption) {
   // This is formulated to become an append (if there's no widget), an
   // insertion at index 0 (if there is a widget but no legend already), or
   // a no-op (if the legend is already in place).
   fieldset.insertBefore(legend, fieldset.firstChild);
 } else if (legend.parent != null) {
   // We remove the legend from the DOM because leaving it in with an empty
   // string renders as an ugly gap in the top border on some browsers.
   //fieldset.removeChild(legend);
   legend.remove();
 }
}