ixc / wagtail-admin-list-controls

A UI toolkit that extends Wagtail's admin list views and allows you to build custom filters, buttons, panels and more

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Allow UI primitives to be declared

markfinger opened this issue · comments

Possibly related to #3

Forewarning: my YAGNI sense is tingling, but the idea keeps floating around, so I'll try to brain-dump and forget about it for a bit.

It might be useful to break out all the UI primitives into distinct items that can be used in whatever way a dev needs. Effectively, functionalities like panels could be declared, links/data on buttons could be declared, etc. Higher-level functionalities like filtering/sorting/etc might be just an opinionated abstraction built atop those primitives.

I did a quick scan of what we're using at the moment, and my notes:

  • Button
    • With href (eg: sorting options)
    • Form submit button
    • Form reset button (maybe just a href?)
  • Collapsible panel
    • Can define the text on the button
    • Should the panel body expansion force reflow, or should it be positioned absolutely? Why not a modal?
  • Row
    • Force a new row within the UI
    • Force a new row within a panel
  • Text field
  • Radio field
    • Group with nested RadioButton instances or just a typical choice tuple?
  • Choice field
    • Select widget
    • Multiple choice as a param?
  • Boolean field
  • Float (left/right)
    • Move components out of the normal flow
    • Ex: layout controls

Fixed in latest codebase.