natcap / invest

InVEST®: models that map and value the goods and services from nature that sustain and fulfill human life.
Apache License 2.0
170 stars 70 forks source link

Add "group description label" Workbench UI input #1602

Open dcdenu4 opened 3 months ago

dcdenu4 commented 3 months ago

Since we have groups of inputs in the Workbench, it can be helpful to "label" that group of inputs to make it more easily understandable by the user. The only way I can think to do this is by using a toggle input element. But there are times where I don't need a toggle, but just want to convey that these inputs are defining X Properties.

I think this could help in certain instances with #1601 . For instance, if there was a "Wind Price" description label, then toggling between the different input options might not be as confusing, since those inputs being hid and shown would stay put under that label.

One question is where this description should live. With the Plugins feature, we've created a uiSpec to go with MODEL_SPEC. Since this descriptive label means nothing to the core model, perhaps there is a way to flesh out use of a uiSpec and not add it to 'MODEL_SPEC.args'.

dcdenu4 commented 3 months ago

Generally, the idea of visualizing conveying "nesting" of inputs by slight indentation could be a nice feature. When defining "order", I could see a group list allowing list of lists or having a dictionary with a "key" that defines a label and then points to another list of inputs, which are then indented or visually grouped as a subset under that label.