Flamingo - Panels Improvements

Last modified by Vincent Massol on 2024/02/26 17:54

 XWiki
 Implementation
 Completed
 

Description

After some discussions about the Flamingo Application Bar, we have decided that we can make something more generic and flexible by improving the panels feature.

Related Proposals

Objective

We want to be able to propose something like this:
homepageDesktopSnapshot.png

Add the ability to change the panels columns widh

The panel wizard should be improved to allow the user to change the columns width. Actually, we would propose 2 (or 3) options:

  • Small
  • Normal
  • (Large ?)

We do not propose to support arbitrate width in pixels because we should use a CSS grid.

Panels can change their aspect depending on the column width

A new variable, called $panelWidth, can be introduced in the velocity context, enabling the panel to adapt their content depending on the width.
Example:

#if($panelWidth == "small")
 ## Display stuff as icons
#else
 ## Display stuff as a list
#end

It is also possible to use media queries in CSS, depending on the user-case.

Panels can register what sizes are supported

For panels that need, by design, a certain minimal width to be displayed, we can introduce a new field in the panel class, which would be "supportedSizes", with theses checkboxes:

[ ] Small
[ ] Normal

When the field does not exists in the panel, the fail back will be "only normal is supported". So the existing panels would not be able to be displayed in a small column.

Every applications must provide a panel

A new rule could be added for applications. They must provide a panel with the icon and the name of the application. The goal of these panels is to provide a nice shortcut to the application, in order to use the panels column like the "dock" in MacOS:

macOs-dock.jpg

Then, users can put in their panel columns their favourite applications, by using the panel wizard.

Example:

app-panel.png

A new panel category: "Applications"

All theses new panels should be in the "Applications" category, in order to filter them efficiently in the panel wizard.

Application Bar

With this proposal, the concept of applications bar is not needed anymore. The application bar was designed to be a customizable list of favourite applications. It seems better to re-use and improve the panels technology instead of creating a new one. 

We also need an Application Index, like the Document Index and the User Index, to be also able to navigate to applications that are not marked as your favourite. But this is out of the scope of the current document.

Add the ability to display/hide the panels columns

Like the MacOS dock, it should be possible to hide/display a panels column with a button.


 

Get Connected