usesRenderer static method

bool usesRenderer(
  1. TableRowCellModel cell
)

Implementation

static bool usesRenderer(TableRowCellModel cell) {

  var children = cell.viewableChildren;

  // no children
  if (children.isEmpty) return false;

  // multiple children
  if (children.length > 1) return true;

  // only child is not a text model
  if (children.first is! TextModel) return true;

  var xml = children.first.element!;

  // value is an eval
  if (cell.valueIsEval) return true;

  // text model has attributes other than text="" or label=""
  if (xml.attributes.firstWhereOrNull((a) =>
          a.name.local.toLowerCase() != "label" &&
          a.name.local.toLowerCase() != "value") !=
      null) return true;

  // text model has elements other than <TEXT/> or <LABEL/>
  if (xml.childElements.firstWhereOrNull((e) =>
          e.nodeType == XmlNodeType.ELEMENT &&
          e.name.local.toLowerCase() != "label" &&
          e.name.local.toLowerCase() != "value") !=
      null) return true;

  return false;
}