The discussion is about modifying the Categories Only view to display in two columns. loginerror shares their attempt at achieving this by applying column-count: 2 to the surrounding DIV and display: block to the table elements, but struggles to make the header span across the entire line.
awesomerobot suggests making tbodydisplay: block and column-count: 2, which would allow the thead to span the full width. Canapin provides an alternative solution using flexbox, which loginerror finds helpful.
However, loginerror realizes that splitting the table of categories in half rather than sequentially is better for their purpose, but struggles to control where it should split. Canapin acknowledges that this is tricky and may require JavaScript, but provides a hacky solution using an empty <tr> and the order property.
loginerror reports that the solution worked out okay, and the end result can be seen on their forum at forum.uipath.com.
I’ve played a bit with both options, and it would seem that spiting the table of categories in half rather than sequentially is better for our purpose.
However, it is tricky to control where it should split.
But only when I artificially placed the categories on the left in a div (to prevent it from splitting too early, otherwise the Measure root category goes to the right column):
What you’re asking seems tricky and may require some JS magic.
With the CSS column property, I’m confident that the categories won’t be horizontally aligned (unless you set a fixed height) as they are with flexbox and it’s not very pretty.
I achieved what you want but it’s a bit hacky:
I used my previous CSS, then added an empty <tr> (which I believe can be done with a single JS line) and set the order property to change the order of the divs. The latter can be done via CSS only by targetting each data-category-id HTML value. Here’s the result:
Note that would probably have to change CSS and/or JS each time you’ll add or remove a category.
edit : if you need only one or two additional empty elements, you don’t need to use JS to add a <tr>, you can also use a :after and/or :before like this: