#1501 Customizable UI layout
Closed: Fixed None Opened 12 years ago by edewata.

The details facet and dialogs have a default layout where all fields will be arranged in 2 columns: field labels on the left and the corresponding widgets (e.g. text fields, checkboxes) on the right.

While the default layout works in most cases, there are situations where a custom layout is needed, for example:
- the reverse zone checkbox in DNS zone adder dialog
- the enrollment and certificate buttons in host and service details facet
- the host short name and domain name fields in host adder dialog (suppose we decide to split it)
- the category radio buttons and tables in HBAC/sudo details page
- the dynamic fields in permission adder dialog

Also, some people might want to customize the layout for specific companies (e.g. the self service page). While it's possible to use CSS to change the layout to some degree, certain designs may require DOM element changes.

Currently layout customization done by creating a subclass and overriding the create() method of the base class. However, sometimes even for a small layout change it requires duplicating most of the base code.

One option is to call the base create() method then make incremental changes to the DOM elements, but this could be a maintenance issue if the base method is changed.

Another option is to use HTML templates, but changing the layout will also require duplicating the template.


Layout using HTML template: 4ff959f

I think this is already addressed by ticket #2040. Splitting the fields and widgets allows rearranging the widget layout without changing the logic in the fields.

Metadata Update from @edewata:
- Issue assigned to edewata
- Issue set to the milestone: FreeIPA 2.2 Core Effort - 2012/01

7 years ago

Login to comment on this ticket.

Metadata