18661: Fixes the '<div> cannot appear as a child of <tbody>' error.
authorLucas Di Pentima <lucas.dipentima@curii.com>
Thu, 3 Feb 2022 16:16:09 +0000 (13:16 -0300)
committerLucas Di Pentima <lucas.dipentima@curii.com>
Thu, 3 Feb 2022 21:40:45 +0000 (18:40 -0300)
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima@curii.com>

src/components/data-table/data-table.test.tsx
src/components/data-table/data-table.tsx

index 85379e9ae9955299218225bf866c690e5e6248a6..866564ac4f25140cbf84f9c4dd8a6dca648cbcd9 100644 (file)
@@ -101,6 +101,7 @@ describe("<DataTable />", () => {
         ];
         const dataTable = mount(<DataTable
             columns={columns}
+            working={false}
             items={["item 1"]}
             onFiltersChange={jest.fn()}
             onRowClick={jest.fn()}
@@ -128,6 +129,7 @@ describe("<DataTable />", () => {
         ];
         const dataTable = mount(<DataTable
             columns={columns}
+            working={false}
             items={["item 1"]}
             onFiltersChange={jest.fn()}
             onRowClick={jest.fn()}
index 2119e53d7df603a91de2da7dfa4f9772403963e4..e8a6ce69aad0cd923f4e3c77d2385e5bb107f526 100644 (file)
@@ -96,16 +96,15 @@ export const DataTable = withStyles(styles)(
                             </TableRow>
                         </TableHead>
                         <TableBody className={classes.tableBody}>
-                            {
-                                this.props.working ?
-                                <div className={classes.loader}>
-                                    <DataTableDefaultView
-                                        icon={PendingIcon}
-                                        messages={['Loading data, please wait.']} />
-                                </div> : items.map(this.renderBodyRow)
-                            }
+                            { this.props.working !== undefined && !this.props.working && items.map(this.renderBodyRow) }
                         </TableBody>
                     </Table>
+                    { this.props.working &&
+                        <div className={classes.loader}>
+                            <DataTableDefaultView
+                                icon={PendingIcon}
+                                messages={['Loading data, please wait.']} />
+                        </div> }
                     {items.length === 0 && this.props.working !== undefined && !this.props.working && this.renderNoItemsPlaceholder()}
                 </div>
             </div>;