render method
ValueProvider
render(
- JSONRender render,
- DivElement output,
- dynamic node,
- dynamic nodeOriginal,
- NodeKey nodeKey,
override
Implementation
@override
ValueProvider render(JSONRender render, DivElement output, dynamic node,
dynamic nodeOriginal, NodeKey nodeKey) {
var list = node as List;
var simpleList = isSimpleList(list, 8, 10);
var listContent = _createClosableContent(
render, output, '[', ']', simpleList, () => list.length, cssClass);
var valueSet = JSONValueSet(true);
for (var i = 0; i < list.length; ++i) {
var elem = list[i];
var elemIdx = SpanElement()
..innerHtml =
simpleList ? ' #$i: ' : ' #$i: ';
var elemContent = createDivInline();
var elemNodeKey = nodeKey.append('$i');
if (render.isHiddenNode(elemNodeKey)) {
valueSet.put(elemNodeKey, (p) => nodeOriginal);
continue;
}
var elemValueProvider =
render.renderNode(elemContent, elem, node, elemNodeKey);
valueSet.put(elemNodeKey, elemValueProvider);
if (elemValueProvider == null) continue;
listContent.children.add(elemIdx);
listContent.children.add(elemContent);
if (!simpleList) {
listContent.children.add(BRElement());
}
}
this.applyCSS(render, output);
return valueSet.asValueProvider();
}