Skip to content
  • David Johnson's avatar
    Add geni-lib script parameter warnings/errors, groups, helpdocs. · c201620c
    David Johnson authored
    (The bulk of the code is in the parameter form formatter/decorator JS
    code; I only applied it to the wizard for now... but it's
    straightforward to copy it into the old parameter code ;))
    
    The portal can now render the parameter form in much more complex ways.
    It supports a notion of advanced parameter groups, a panel containing
    parameters that is closed by default but expandable; generic parameter
    groups; per-parameter detailed helpdocs in an expandable subpanel (and
    an expand-all-help link that will also expand all the parameter group
    panels), and error messages and warnings.  A summary of both errors and
    warnings is displayed at the top of the form, and specific error message
    details are displayed near parameters.  The error message display is
    flexible to generic user messages -- basically if the error is a proper
    geni-lib portal error/warning, but not a parameter error/warning, it
    will be displayed at the top of the parameter form (along with any
    others).  If it's an "improper" one, we'll still do our best to display
    it.  If you warn a user, you can provide a set of parameter values that
    "fix" the warning, and the Portal UI will change the form values and
    tell the user it did so.  You can't do this on error; the assumption is
    the user has to fix the error.
    
    Finally, the portal now tries to rungenilib in warnings-are-fatal mode
    the first time parameter bind (to generate rspec) is attempted.  If they
    go backwards to re-parameterize, warnings should be fatal again.  It's
    too hard to figure out when we should stop warnings-fatal mode; we can't
    block the user's progress if they really want to proceed in the face of
    warnings.
    c201620c