There’s a few things I can already see that the client who commissioned this project is going to demand changed…
- No vertical-align (or verticalAlign) top/bottom, table cells are always vertically centered. Need bottom alignment.
- No markup of any kind inside table cells and labels, and no markup beyond react’s extremely restricted commonMark for markdown labels (even when escapeHTML is disabled). Notably, we need chemical formulae to display with true subscripts, which means supporting <sub> and <small> and/or <font>. <sup> for the occasional (r) as well, and font sizes that are adjustable. A less conservative markdown variant would be a good alternative to unfettered HTML. Otherwise this might be an upgrade bug and have to do with react-markdown 4 requiring ast-plugin loading to get HTML working, not just enabling the option.
- Can’t remove headers without removing header groups. I love these new groups, they’re everything I wanted in Power Table; I can remove all of my dataset and cell rendering workarounds, plus they stay while scrolling. The problem is that the headers have double-duty: A unique column ID and a displayed header. The headers our report needs go back and forth between “Target” and “YTD” over and over across many columns, with cell-spanned group headers above them, so the lowest row is non-unique. That leaves that actual header row as being ugly trash, either autoformatted from the column number, or if I do use a column name, an extraneous row. The client absolutely won’t accept “Target1” “Target2” etc as headers. (And the bottom row is sometimes multiline, which I don’t think can even be a dictionary index at all.)
- It took a bit to work out that the native value format of a DateTime picker is Unix epoch in millis… which in retrospect should be obvious, since that’s the native Javascript time format, but d’oh. A short demonstration of working with that in Python would be helpful:
from datetime import datetime
myDate = datetime.fromtimestamp(self.getSibling('DateTime').props.value / 1000)
myDate.replace(microsecond=(self.getSibling('DateTime').props.value % 1000) * 1000)
- There’s a ton of wasted space with multiple axes in the chart, and this is with one more inside the pH hidden (and ‘rendered’ inside, because leaving it outside but not visible only makes it white, meaning even more wasted space):
- On a gauge, if I make inner axis visible and outer axis invisible, it crashes the component until I enable outer again.
- The script editor won’t let you touch line 1. Can’t copy from it, can’t change it, or anything before it. So why not skip that line and make the first line we can actually touch line 1, and disable the ability to select anything in the uncopyable section. Then we can ctrl-A / ctrl-C and not waste time trying to figure out why the script editor hates productivity.
Fortunately, the deadline is the end of the month, so we’ll see how things start to shape up by then. If all else fails, I can create uBlock Origin rules to implement missing functionality client-side for the time being.
If you need any help creating more extensive documentation, I’ve been playing a lot with the tables and charts to harness as much of the insane amount of flexibility as I can.