{"action":"created","issue":{"url":"https://api.github.com/repos/WordPress/gutenberg/issues/7234","repository_url":"https://api.github.com/repos/WordPress/gutenberg","labels_url":"https://api.github.com/repos/WordPress/gutenberg/issues/7234/labels{/name}","comments_url":"https://api.github.com/repos/WordPress/gutenberg/issues/7234/comments","events_url":"https://api.github.com/repos/WordPress/gutenberg/issues/7234/events","html_url":"https://github.com/WordPress/gutenberg/pull/7234","id":330750761,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkzNjgzODgx","number":7234,"title":"Blocks: Render columns as nested column (wrapper)","user":{"login":"aduth","id":1779930,"node_id":"MDQ6VXNlcjE3Nzk5MzA=","avatar_url":"https://avatars1.githubusercontent.com/u/1779930?v=4","gravatar_id":"","url":"https://api.github.com/users/aduth","html_url":"https://github.com/aduth","followers_url":"https://api.github.com/users/aduth/followers","following_url":"https://api.github.com/users/aduth/following{/other_user}","gists_url":"https://api.github.com/users/aduth/gists{/gist_id}","starred_url":"https://api.github.com/users/aduth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aduth/subscriptions","organizations_url":"https://api.github.com/users/aduth/orgs","repos_url":"https://api.github.com/users/aduth/repos","events_url":"https://api.github.com/users/aduth/events{/privacy}","received_events_url":"https://api.github.com/users/aduth/received_events","type":"User","site_admin":false},"labels":[{"id":570263070,"node_id":"MDU6TGFiZWw1NzAyNjMwNzA=","url":"https://api.github.com/repos/WordPress/gutenberg/labels/Blocks","name":"Blocks","color":"fbca04","default":false},{"id":896884785,"node_id":"MDU6TGFiZWw4OTY4ODQ3ODU=","url":"https://api.github.com/repos/WordPress/gutenberg/labels/[Component]%20Nested%20/%20Inner%20Blocks","name":"[Component] Nested / Inner Blocks","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":30,"created_at":"2018-06-08T17:59:25Z","updated_at":"2018-07-02T15:46:38Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/WordPress/gutenberg/pulls/7234","html_url":"https://github.com/WordPress/gutenberg/pull/7234","diff_url":"https://github.com/WordPress/gutenberg/pull/7234.diff","patch_url":"https://github.com/WordPress/gutenberg/pull/7234.patch"},"body":"Closes #5351\r\n\r\nThis pull request seeks to address an issue where the current Columns block implementation using grid is insufficient for supporting columns of varying height where it is expected for blocks within a column to stack atop each other, thus resulting in undesirable empty space.\r\n\r\nBefore|After\r\n---|---\r\n![Before](https://user-images.githubusercontent.com/1779930/41172752-d45101b6-6b22-11e8-9619-4ade4c3d4315.png)|![After](https://user-images.githubusercontent.com/1779930/41172652-83195ff0-6b22-11e8-98eb-c417771c4c14.png)\r\n\r\n**Implementation notes:**\r\n\r\nThis explores one option of addressing #5351 which was considered at https://github.com/WordPress/gutenberg/issues/5351#issuecomment-375795651, where in order to introduce a wrapper element for each column, the columns themselves are an intermediary block. This is possible through new APIs for `supportedBlocks` of a block type (#6753) and `allowedBlocks` and `template` of an `InnerBlocks` (#6546). Thus, a \"Column\" block is only valid within a Columns wrapper, and conversely a Column block is the only valid child of a Columns block. This will require that the Columns block fully manages its own template, which is only partially implemented thus far.\r\n\r\nThis may allow for the eventual removal of `layouts` concept altogether.\r\n\r\nThe primary alternative here is to keep the distinction of \"grouped\" and \"ungrouped\" layouts ([documentation](https://github.com/WordPress/gutenberg/tree/master/editor/components/inner-blocks)), and automatically insert a wrapper element for grouped layouts. This is challenging both in the further inconsistency between the two types of layouts, and in the current unavailability of `layouts` anywhere outside of the `edit` implementation where it is passed (it would likely need to become a top-level property of the block).\r\n\r\n**Testing instructions:**\r\n\r\nVerify that you can create columns, insert blocks within (via slash insertion), and that within columns, the individual blocks stack neatly atop each other when previewed on the front of your site."},"comment":{"url":"https://api.github.com/repos/WordPress/gutenberg/issues/comments/401848641","html_url":"https://github.com/WordPress/gutenberg/pull/7234#issuecomment-401848641","issue_url":"https://api.github.com/repos/WordPress/gutenberg/issues/7234","id":401848641,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMTg0ODY0MQ==","user":{"login":"aduth","id":1779930,"node_id":"MDQ6VXNlcjE3Nzk5MzA=","avatar_url":"https://avatars1.githubusercontent.com/u/1779930?v=4","gravatar_id":"","url":"https://api.github.com/users/aduth","html_url":"https://github.com/aduth","followers_url":"https://api.github.com/users/aduth/followers","following_url":"https://api.github.com/users/aduth/following{/other_user}","gists_url":"https://api.github.com/users/aduth/gists{/gist_id}","starred_url":"https://api.github.com/users/aduth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aduth/subscriptions","organizations_url":"https://api.github.com/users/aduth/orgs","repos_url":"https://api.github.com/users/aduth/repos","events_url":"https://api.github.com/users/aduth/events{/privacy}","received_events_url":"https://api.github.com/users/aduth/received_events","type":"User","site_admin":false},"created_at":"2018-07-02T15:46:38Z","updated_at":"2018-07-02T15:46:38Z","author_association":"MEMBER","body":"I toyed with it a bit in the branch, and I think the general idea could be fairly \"simple\" but not \"easy\" to implement, where [`BlockListBlock`'s rendering](https://github.com/WordPress/gutenberg/blob/35a839917b23ecb497435669577f14f7e49a8573/editor/components/block-list/block.js#L368-L578) has a shortcut condition to render only the contents of its `BlockCrashBoundary` when it's intended to be a passthrough. This is made complicated by various event handlings, `ref` assignment (e.g. `focusTabbable`), and styling considerations (e.g. expectation of a root `div` with `data-type`, `className`, etc). If it's something worth exploring, I'd suggest we do so as a separate task."}}
{"actor":{"display_login":"aduth"}}