void _renderRow()

in lib/src/hierarchy_view.dart [197:257]


  void _renderRow(TreeTableRow row, LogicalRow logicalRow) {
    Map<String, dynamic> props = logicalRow.data;
    List<TableCellElement> cells = [_cell(props['kind']),];

    switch (props['kind']) {
      case 'function':
      case 'closure':
      case 'constructor':
      case 'method':
      case 'field':
        var span = new SpanElement();
        span.text = props['name'];

        var anchor = new AnchorElement();
        anchor.onClick.listen((_) {
          HistoryState
              .switchTo(new HistoryState('dep', depTarget: props['id']));
        });
        anchor.children.add(
            new ImageElement(src: 'packages/dump_viz/src/deps_icon.svg')
          ..style.float = 'right');

        cells.addAll([
          new TableCellElement()..children.addAll([span, anchor]),
          _cell(props['size'], align: 'right'),
          _cell(_model.triviallyOwnedSize(props['id']), align: 'right'),
          _cell(props['size_percent'], align: 'right'),
          _cell(props['type'], pre: true)
        ]);
        break;
      case 'library':
        cells.addAll([
          _cell(props['canonicalUri']),
          _cell(props['size'], align: 'right'),
          _cell(''),
          _cell(props['size_percent'], align: 'right'),
          _cell('')
        ]);
        break;
      case 'typedef':
        cells.addAll([
          _cell(props['name']),
          _cell('0', align: 'right'),
          _cell('0', align: 'right'),
          _cell('0.00%', align: 'right')
        ]);
        break;
      case 'class':
        cells.addAll([
          _cell(props['name']),
          _cell(props['size'], align: 'right'),
          _cell(''),
          _cell(props['size_percent'], align: 'right'),
          _cell(props['name'], pre: true)
        ]);
        break;
      default:
        throw new StateError("Unknown element type: ${props['kind']}");
    }
    row.data = cells;
  }