IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2024/01/08
dr|z3d thanks for the screenshot for the advanced config zzz, I had a vague idea it'd look something like that
dr|z3d I think there might be scope to take that further and use the result as a template for all textarea configs, not that we have that many.. susimail and susidns being the other notables.
dr|z3d basic idea: for both normal and advanced modes, we separate the configs as per your commit.
dr|z3d instead of a list, however, we use a table to display the values, keeping the sections the same.
dr|z3d we add an additional column to reset value to default where applicable, maybe.
dr|z3d and here's the kicker.. for advanced mode, we add the contenteditable="true" tag so the values can be edited in situ, with an additional add new key input at the bottom.
zzz and /configlogging. I don't know, a long time ago I tried making all the log overrides a table with dropdowns and delete boxes, it was a huge fugly mess
zzz maybe some css smooshing would have helped, maybe not
dr|z3d configlogging is doing ok as is I think
dr|z3d that's definitely a specialist option, whereas advanced configs, editable or not, have a wider scope.
dr|z3d that said, the menu + a table could work.
dr|z3d possibility of a multi-select dropdown there.
dr|z3d a table just to display the active logging classes, that is, + a multiselect dropdown.
dr|z3d anywhere there's a textarea with configs, configreseed, configupdate also.. with a coherent table display, could work.
dr|z3d ok, let's see what advanced config looks like in a table...
dr|z3d if (!adv) {
dr|z3d if ( _hideKeys.contains(key) ||
dr|z3d key.startsWith("i2cp.auth.") ||
dr|z3d key.startsWith(PROP_AUTH_PFX))
dr|z3d continue;
dr|z3d String type = key;
dr|z3d int dot = key.indexOf('.');
dr|z3d if (dot > 0)
dr|z3d type = type.substring(0, dot);
dr|z3d if (!type.equals(lastType)) {
dr|z3d if (lastType != null)
dr|z3d buf.append("</table>\n");
dr|z3d lastType = type;
dr|z3d String dtype = _headers.get(type);
dr|z3d if (dtype == null)
dr|z3d dtype = type;
dr|z3d buf.append("<tr><th colspan=2>").append(_t(dtype)).append("</th><tr>\n");
dr|z3d } else {
dr|z3d buf.append("<tr><td>");
dr|z3d String name = DataHelper.escapeHTML(key);
dr|z3d String val = DataHelper.escapeHTML(e.getValue());
dr|z3d buf.append(name).append('</td><td>').append(val).append("</td></tr>");
dr|z3d of course we need to add a <table> tag there, but still.
dr|z3d actually, no need for the table tag there, we can just repurpose the table in the jsp.
T3s|4 dr|z3d: for the first time, iirc, under -8+, after checking for updates, now seeing in the side panel under Update Status 'No new news available from dn3XXXXXXXXXXXXXXXXX....' and that text is not select-able or copy-able
dr|z3d that's a zzz innovation, T3s|4, the news notification. as for selecting the text, that's by design.
T3s|4 gotcha
dr|z3d if you click outside the main section and navbar to make sure the scope is global on the page, do a ctrl+a and you'll see much of the console isn't selectable.
T3s|4 right-tee-O!
dr|z3d if you want selectable text, alt+v in firefox, navigate down to page style -> no style.
T3s|4 TIL about alt-v; thx dr|z3d :)
dr|z3d well that was strange, couldn't compile my mods to the /configadvanced presentation earlier, java kept bombing, now it's fine.
dr|z3d couple of minor observations re the configadvanced presentation, zzz.
dr|z3d you've renamed some of the headers, so you probably want to sort by the aliased named, otherwise System Tray looks weird, appearing right at the top.
dr|z3d also, for sections that contain no entries, (for me that's System Tray and homehelper right now), would be a good idea to hide those.
dr|z3d otherwise, I like the idea, makes things a little less overwhelming, potentially, for new users.
dr|z3d I've got it playing nice in a table now, next stage is to collapse the headers with a javascript toggler.
snex html has no-js collapsible elements
dr|z3d it does, html5 at least.
dr|z3d but not for a single <table>
zzz thx for the review; my code will not show empty sections, dunno about yours
dr|z3d haven't messed with your code sufficiently for it to function much differently. probably the discrepancy is due to defaults.
dr|z3d defaults relating to desktopgui, for example.
zzz yes the groups are not alphabetical, and it will be worse if translated, but there won't be empty groups in my code
dr|z3d ok :)
dr|z3d there won't be any empty groups in mine, either, once I'm done with it. homehelper is a non-event for new users, hiding that, and then doing a length check on the type before adding a heading, hopefully that'll remove any empty sections.
dr|z3d with the table and contentEditable tags on the tds, seems like it could work quite nicely as an alternative to the textarea method.
zzz you can sort by translated group at about 5x the effort
dr|z3d not worth it, then, just sort by alias instead?
zzz same effort
dr|z3d ok, forget it then. bigger fish to fry.
dr|z3d I think I'll just hide the desktopgui section altogether since it's disabled by default in + anyways, problem fixed.
zzz for english anyway