Problem/Motivation

Some modules for a variety of reasons may need to present off-canvas configuration options in a tray that comes up from the bottom rather than from the right.

Proposed resolution

Add a "bottom tray" option to the off-canvas configuration API.

Remaining tasks

  1. Write CSS for the bottom tray
  2. Write js for the bottom tray

User interface changes

A bottom tray will be available for modules to show config options in.

API changes

?

Data model changes

None

Comments

tkoleary created an issue. See original summary.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.0-beta1 was released on August 3, 2016, which means new developments and disruptive changes should now be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

xjm’s picture

Version: 8.3.x-dev » 8.2.x-dev
Status: Needs work » Active
xjm’s picture

naveenvalecha’s picture

Component: toolbar.module » outside_in.module
yoroy’s picture

Adding a bottom tray is a solution, but the problem isn't defined yet. Can we have a bit more detail about this variety of reasons?

tkoleary’s picture

Status: Active » Postponed

Doesn't really make sense to do this until the tray is refactored to use backbone.

Bojhan’s picture

Status: Postponed » Active

No, purpose before technology. Why should we do this in the first place.

samuel.mortenson’s picture

I can take a crack at this, as I worked on the Drupal 8 port of Panels IPE, which includes a Backbone-driven bottom tray.

Here's a list of reasons we went with a bottom tray:

  1. On a desktop, a bottom tray is wider than a left/right tray, and we can take advantage of that by displaying long horizontal lists (tabs) and wide or multi-column forms. Usually when a left/right tray is implemented, the user experience is the same on mobile and desktop, which does not take advantage of large screen sizes.
  2. Themes, in general, style elements based on viewport width. As a result, a left/right tray is either going to squeeze the viewport down to a smaller size, or be completely off-canvas and push the viewport away from itself. With a bottom tray, you're still going to be covering up the bottom-half of the screen, but you don't get that jarring effect or resizing or moving the entire page.
  3. We wanted to clearly separate Toolbar actions from Panels actions, which means that the top and left parts of the screen were off-limits (Toolbar can be displayed in either area).
  4. Having Panels actions at the bottom of the screen made sense for mobile users, as swiping left/right on mobile browser often takes other actions (go forward, back, next tab, etc.). Additionally, on small screen sizes a user's thumb tends to rest near the bottom of the screen.

Those are the main points I can think of right now.

tkoleary’s picture

@samuel.mortenson

Awesome!

Heads up @tedbow is actively working on #2784935: Use Backbone for client-side state management in this sprint, which might help what you're doing.

samuel.mortenson’s picture

@tkoleary To be clear I'm not taking a crack at a patch for this - just writing up the list of motivations behind the issue. :-)

That said, once @tedbow gets the Backbone work in I'm happy to come back to this issue and port some of my Panels IPE logic to core.

tkoleary’s picture

@samuel.mortenson

It's all helpful. Thanks!

tkoleary’s picture

Status: Active » Postponed

Given that we are using jquery UI dialogs and not Backbone as we initially thought, which we ultimately want to move away from, I'm marking this postponed until we find a better general purpose solution.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Wim Leers’s picture

Title: Add a "bottom tray" to off-canvas configuration » [PP-1] Add a "bottom tray" to off-canvas configuration
Related issues: +#2784935: Use Backbone for client-side state management
Wim Leers’s picture

Category: Task » Feature request

This is not a must-have, this is a wishlist item.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

tedbow’s picture

Component: outside_in.module » settings_tray.module

Changing to new settings_tray.module component. @drpal thanks for script help! :)

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

tedbow’s picture

Status: Postponed » Closed (works as designed)

Closing because it doesn't seem needed

#2916781: Allow off-canvas dialog to be rendered at the top of the page handles adding another renderer