{"action":"closed","issue":{"url":"https://api.github.com/repos/marionettejs/backbone.marionette/issues/2560","repository_url":"https://api.github.com/repos/marionettejs/backbone.marionette","labels_url":"https://api.github.com/repos/marionettejs/backbone.marionette/issues/2560/labels{/name}","comments_url":"https://api.github.com/repos/marionettejs/backbone.marionette/issues/2560/comments","events_url":"https://api.github.com/repos/marionettejs/backbone.marionette/issues/2560/events","html_url":"https://github.com/marionettejs/backbone.marionette/issues/2560","id":76783957,"number":2560,"title":"Region/CollectionView Plan","user":{"login":"ianmstew","id":4119765,"avatar_url":"https://avatars.githubusercontent.com/u/4119765?v=3","gravatar_id":"","url":"https://api.github.com/users/ianmstew","html_url":"https://github.com/ianmstew","followers_url":"https://api.github.com/users/ianmstew/followers","following_url":"https://api.github.com/users/ianmstew/following{/other_user}","gists_url":"https://api.github.com/users/ianmstew/gists{/gist_id}","starred_url":"https://api.github.com/users/ianmstew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ianmstew/subscriptions","organizations_url":"https://api.github.com/users/ianmstew/orgs","repos_url":"https://api.github.com/users/ianmstew/repos","events_url":"https://api.github.com/users/ianmstew/events{/privacy}","received_events_url":"https://api.github.com/users/ianmstew/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/marionettejs/backbone.marionette/milestones/26","html_url":"https://github.com/marionettejs/backbone.marionette/milestones/v3.x","labels_url":"https://api.github.com/repos/marionettejs/backbone.marionette/milestones/26/labels","id":817886,"number":26,"title":"v3.x","description":null,"creator":{"login":"jmeas","id":2322305,"avatar_url":"https://avatars.githubusercontent.com/u/2322305?v=3","gravatar_id":"","url":"https://api.github.com/users/jmeas","html_url":"https://github.com/jmeas","followers_url":"https://api.github.com/users/jmeas/followers","following_url":"https://api.github.com/users/jmeas/following{/other_user}","gists_url":"https://api.github.com/users/jmeas/gists{/gist_id}","starred_url":"https://api.github.com/users/jmeas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmeas/subscriptions","organizations_url":"https://api.github.com/users/jmeas/orgs","repos_url":"https://api.github.com/users/jmeas/repos","events_url":"https://api.github.com/users/jmeas/events{/privacy}","received_events_url":"https://api.github.com/users/jmeas/received_events","type":"User","site_admin":false},"open_issues":28,"closed_issues":66,"state":"open","created_at":"2014-10-08T04:44:25Z","updated_at":"2016-11-10T14:36:22Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2015-05-15T16:43:26Z","updated_at":"2016-11-10T14:36:22Z","closed_at":"2016-11-10T14:36:22Z","body":"CollectionView has already become Region-like in many circumstances, but the conditionals that enable Region-like behavior are fragile.  The aim of this plan is to essentially promote CollectionView to a \"List Region\", the direction it has been heading naturally.\n\n**Refactor Events in Region#show()**\n1. Move `before:show` to front of `show()`, the timeline other `before` events are triggered (#2552).\n   - Tests to verify `Region#show()` event sequencing.\n2. Move `onBeforeAttach`/`onAttach` triggering on children to view instead of calling all descendants at once.  This reduces logical overlap with CollectionView.\n3. Solve quirks around nested rendering in `onBeforeAttach`/`onAttach` (#2546).\n4. Simplify/improve/replace onDomRefresh (#2299).\n5. Update official recommendations for showing child views (#2539).\n\n**Region Maintenance**\n1. Destroying a Region should empty it as well (#2379)\n\n**Promote CollectionView to \"List Region\"** #2545\n1. Kill `_isShown` checks in CollectionView: no more logical dependency on Region.\n2. Match `Region#show()` events in CollectionView.\n   - Tests to verify event sequencing identical to `Region#show()`.\n\n**Discuss: Refactor EmptyView**\n1. Remove EmptyView from CollectionView (#2495).\n2. Add `empty`/`some` events to CollectionView to facilitate alternative \"empty view\" handling in parent.\n3. Behavior or alternative to simplify EmptyView handling in parent.\n\n**Discuss: View \"List Region\" API**\n1. Add “list” API to View to automate a nested CollectionView.\n   - **Where does “Replace Region el\" ability fit in?\n2. Ensure compatibility with EmptyView solution.\n\n**Breaking Changes**\n- `before:show` moved to _beginning_ of `Region#show()`\n- EmptyView refactoring\n"}}
{"actor":{"display_login":"paulfalgout"}}