Problem/Motivation
From @andrewmacpherson's original extensive issue summary which can be seen here
We're in deeply experimental territory here - there isn't a well-established, reliable pattern we can just copy to make the current layout builder accessible. Essentially, we're making stuff up in a hurry, for a novel UI, with limited opportunity for design validation. There's no guarantee that users are going to understand it, or find it easy to use.
Proposed resolution
Provide a "Layout Overview"(better wording?) link at the top of the Layout Builder
This link would open up an overview in the off-canvas dialog that would allow the user to perform all the operations they can in the current live preview version.

All of the actions currently in the Layout Builder are performed in the off-canvas dialog either through selecting items in a list(adding blocks and sections) or interacting with a form. The only exception to this is dragging and dropping blocks but #2995689: Allow reordering blocks without a pointer device would provide a way to do this via a form.
The overview in the off-canvas would allow all users to share most of the UI's for taking actions on the Layout but provide a more standard way to access those actions than the current live preview.
After each action the users take via the overview they be would shown the overview again at the end of the action. This would allow a user to take multiple actions via the overview without having to open the overview for each action.
Remaining tasks
User interface changes
A new layout overview in the off-canvas dialog
API changes
None
Data model changes
None
Release notes snippet
@todo
| Comment | File | Size | Author |
|---|---|---|---|
| #30 | interdiff_3019490_29-30.txt | 3.13 KB | ankithashetty |
| #30 | 3019490-30.patch | 45.25 KB | ankithashetty |
| #29 | reroll_diff_23-29.txt | 8.65 KB | aleksip |
| #29 | 3019490-29.patch | 44.83 KB | aleksip |
| #23 | interdiff-3019490-21-23.txt | 577 bytes | yogeshmpawar |
Issue fork drupal-3019490
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
andrewmacpherson commentedMoved this from [#12853731-21], almost verbatim.
TODO:
I have some notes about questions asked in Slack and elsewhere. I'll add summaries of those soon.
Use the issue summary template.
Comment #3
tim.plunkettPostponing on #2995689: Allow reordering blocks without a pointer device for now.
I have some non-functional code but I spent a good chunk of time on it. Gotta dig it up.
Comment #4
tedbowHere is an idea that I chatted with @andrewmacpherson about.
This started from the code @tim.plunkett mentioned in #3 but that was a totally separate UI.
@andrewmacpherson was interested in having this overview be a sortable list but I thought it might be to cluttered and if you had a very complicated layout moving a block could be confusing I think.
Comment #5
tedbowThis patch
Here a 2 minute demo video: https://youtu.be/Jv7RgxiDW1U
Comment #7
tedbowJust fixing bug in #5
Comment #8
tim.plunkettI like where this is heading. Unassigning for now as clearly others are working on it :D
Comment #9
kristen polThanks for the patch. I found some minor things below. I will try to test this.
Nitpick: * and space before @todo and add period.
Nitpick: Change double space to single space before .dropbutton-widget.
Same as above.
Same as above.
Nitpick: Change to alphabetical.
Same as above.
Same as above.
Nitpick: OverView => Overview?
Nitpick: OverView => Overview?
Nitpick: Extra line.
Nitpick: Use $this->sectionStorage instead of $section_storage?
Nitpick: Remove commented out code for now and just leave the @todo?
Nitpick: Not sure if these need to be defined as they are only used once.
Nitpick: Extra empty line.
This isn't used in this function.
Same as above.
Comment #10
kristen polI tested the patch in #7 as follows:
I think the main issue I noticed was that the right side of the overview form was slightly cut off. Also, I don't think it's obvious what "Layout overview" means and what it is intended for. Clicking on it is harmless enough though. Visually the "Layout overview" link is merged with the "Add Section" box. I see that it has the same styling as the "Configure section" link but "Configure section" is for that particular box whereas "Layout overview" is for the entire layout so it seems like it should be separated more from the boxes somehow. I don't have suggestions to make this better other than perhaps add some space below it for now.
I'll mark "Needs work" in case any of the items in comment #9 should be addressed, and to fix the slight alignment issue.
Comment #11
tim.plunkettUntagging as the parent issue has the tag. Still needs an IS update
Comment #12
tedbow@Kristen Pol thanks for the review
re #9
1. Made this a single line comment as I see in other css @todo's in core. We either need to remove this or add the follow up before this issue is done
2-10 fixed
11. Actually I don't think we need $this->sectionStorage at all. removing.
12. Leaving todo
13. removing
14-16. fixed
re #10
I fixed this by setting the width the off-canvas dialog to be wider by 50px.
@todo resolve the style issue mentioned about the link.
Comment #14
tedbowI forgot to change the case of the classname here.
Comment #15
tedbowI am updating the Issue Summary to reflect the current approach
Comment #16
tedbowComment #17
tedbowfixing the title and some minor css changes to "Add section which was pulling CSS from preview area. Will still need more css fixes
Comment #18
tim.plunkettFixing tag
NW for tests and IS update
Comment #20
tim.plunkettComment #21
bnjmnmRerolled, added move to the block options, added tests that included moving some methods from MoveBlockFormTest into a trait + fixed a few code standards nits.
Comment #22
yogeshmpawarComment #23
yogeshmpawarResolved two coding standard issues & added an interdiff.
Comment #25
tim.plunkettMarking NW for the issue summary and tests.
Comment #29
aleksipReroll
Comment #30
ankithashettyFixed custom command failures in #29. Retaining that status as 'Needs work' to address #25, thanks!