Skip to content
This repository was archived by the owner on May 10, 2019. It is now read-only.
This repository was archived by the owner on May 10, 2019. It is now read-only.

Static Table component issues #132

@bartaz

Description

@bartaz

I tried to use Table component to render a static table and found it quite hard to use and debug.

It seems to be making a lot of assumptions about children nodes.

1 Table doesn't render if there is no header row.

If there are only data rows (no heading) table just silently doesn't render at all:

<Table>
   <TableRow>
      <TableCell>Test</TableCell>
   </TableRow>
</Table>

screen shot 2018-06-27 at 11 08 10

Seems like a row with tableHeading is required, even if not needed at all.

2 Table throws an error if there are now rows

If there are no data rows (table is empty or has only heading) Table throws an error that it cannot call forEach:

<Table></Table>

screen shot 2018-06-27 at 11 07 30

Expected

Table component (especially if meant to be used as simple static component) shouldn't make the assumptions about existence of it's children.
If I call <Table></Table> I expect empty table to be rendered. If some rows are required for some reason that should at least clearly warn/error about it in the console (not throw a JS error).
Ideally tableHeading should not be needed by the table. It's weird to be using hasHeading on a Table to hide heading row. Especially that it's still required in the markup.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions