|
11 | 11 | <div class="TableDivider" role="presentation"></div> |
12 | 12 | <% end %> |
13 | 13 | <%= subtitle %> |
14 | | - <%= render(Primer::BaseComponent.new(**@wrapper_arguments)) do %> |
15 | | - <data-table> |
16 | | - <%= render(Primer::OpenProject::Table.new(**@system_arguments)) do |table| %> |
17 | | - <% table.with_head(classes: "TableHead") do |thead| %> |
18 | | - <% thead.with_row(classes: "TableRow") do |tr| %> |
19 | | - <% headers.each do |header| %> |
20 | | - <% if header.sortable? %> |
21 | | - <% tr.with_header( |
22 | | - component_klass: Primer::OpenProject::DataTable::SortHeader, |
23 | | - align: header.column.align, |
24 | | - direction: header.sort_direction, |
25 | | - data: { sort_strategy: header.sort_strategy } |
26 | | - ) { header.column.header.to_s } %> |
27 | | - <% else %> |
28 | | - <% tr.with_header(classes: "TableHeader", align: header.column.align) { header.column.header.to_s } %> |
| 14 | + <% if rows.empty? %> |
| 15 | + <div class="TableEmptyState"> |
| 16 | + <%= empty_state %> |
| 17 | + </div> |
| 18 | + <% else %> |
| 19 | + <%= render(Primer::BaseComponent.new(**@wrapper_arguments)) do %> |
| 20 | + <data-table> |
| 21 | + <%= render(Primer::OpenProject::Table.new(**@system_arguments)) do |table| %> |
| 22 | + <% table.with_head(classes: "TableHead") do |thead| %> |
| 23 | + <% thead.with_row(classes: "TableRow") do |tr| %> |
| 24 | + <% headers.each do |header| %> |
| 25 | + <% if header.sortable? %> |
| 26 | + <% tr.with_header( |
| 27 | + component_klass: Primer::OpenProject::DataTable::SortHeader, |
| 28 | + align: header.column.align, |
| 29 | + direction: header.sort_direction, |
| 30 | + data: { sort_strategy: header.sort_strategy } |
| 31 | + ) { header.column.header.to_s } %> |
| 32 | + <% else %> |
| 33 | + <% tr.with_header(classes: "TableHeader", align: header.column.align) { header.column.header.to_s } %> |
| 34 | + <% end %> |
29 | 35 | <% end %> |
30 | 36 | <% end %> |
31 | 37 | <% end %> |
32 | | - <% end %> |
33 | | - <% table.with_body(classes: "TableBody") do |tbody| %> |
34 | | - <% rows.each do |row| %> |
35 | | - <% tbody.with_row(classes: "TableRow") do |tr| %> |
36 | | - <% cells_for(row).each do |cell| %> |
37 | | - <% cell_arguments = { classes: "TableCell", align: cell.column.align } %> |
38 | | - <% cell_arguments[:data] = cell.sort_data if cell.sortable? %> |
39 | | - <% if cell.row_header? %> |
40 | | - <% tr.with_row_header(**cell_arguments) { cell_content(cell, row) } %> |
41 | | - <% else %> |
42 | | - <% tr.with_cell(**cell_arguments) { cell_content(cell, row) } %> |
| 38 | + <% table.with_body(classes: "TableBody") do |tbody| %> |
| 39 | + <% rows.each do |row| %> |
| 40 | + <% tbody.with_row(classes: "TableRow") do |tr| %> |
| 41 | + <% cells_for(row).each do |cell| %> |
| 42 | + <% cell_arguments = { classes: "TableCell", align: cell.column.align } %> |
| 43 | + <% cell_arguments[:data] = cell.sort_data if cell.sortable? %> |
| 44 | + <% if cell.row_header? %> |
| 45 | + <% tr.with_row_header(**cell_arguments) { cell_content(cell, row) } %> |
| 46 | + <% else %> |
| 47 | + <% tr.with_cell(**cell_arguments) { cell_content(cell, row) } %> |
| 48 | + <% end %> |
43 | 49 | <% end %> |
44 | 50 | <% end %> |
45 | 51 | <% end %> |
46 | 52 | <% end %> |
47 | 53 | <% end %> |
48 | | - <% end %> |
49 | | - </data-table> |
| 54 | + </data-table> |
| 55 | + <% end %> |
50 | 56 | <% end %> |
51 | 57 | <%= pagination %> |
52 | 58 | <% end %> |
0 commit comments