{"action":"closed","issue":{"url":"https://api.github.com/repos/ng-bootstrap/ng-bootstrap/issues/594","repository_url":"https://api.github.com/repos/ng-bootstrap/ng-bootstrap","labels_url":"https://api.github.com/repos/ng-bootstrap/ng-bootstrap/issues/594/labels{/name}","comments_url":"https://api.github.com/repos/ng-bootstrap/ng-bootstrap/issues/594/comments","events_url":"https://api.github.com/repos/ng-bootstrap/ng-bootstrap/issues/594/events","html_url":"https://github.com/ng-bootstrap/ng-bootstrap/issues/594","id":170984112,"number":594,"title":"Tabset API discussion","user":{"login":"Quinn-L","id":12935360,"avatar_url":"https://avatars.githubusercontent.com/u/12935360?v=3","gravatar_id":"","url":"https://api.github.com/users/Quinn-L","html_url":"https://github.com/Quinn-L","followers_url":"https://api.github.com/users/Quinn-L/followers","following_url":"https://api.github.com/users/Quinn-L/following{/other_user}","gists_url":"https://api.github.com/users/Quinn-L/gists{/gist_id}","starred_url":"https://api.github.com/users/Quinn-L/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Quinn-L/subscriptions","organizations_url":"https://api.github.com/users/Quinn-L/orgs","repos_url":"https://api.github.com/users/Quinn-L/repos","events_url":"https://api.github.com/users/Quinn-L/events{/privacy}","received_events_url":"https://api.github.com/users/Quinn-L/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ng-bootstrap/ng-bootstrap/labels/component:%20tab","name":"component: tab","color":"ffffff"},{"url":"https://api.github.com/repos/ng-bootstrap/ng-bootstrap/labels/needs:%20breaking%20change","name":"needs: breaking change","color":"e11d21"},{"url":"https://api.github.com/repos/ng-bootstrap/ng-bootstrap/labels/type:%20enhancement","name":"type: enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/ng-bootstrap/ng-bootstrap/milestones/4","html_url":"https://github.com/ng-bootstrap/ng-bootstrap/milestones/beta.0%20(Feature-complete)","labels_url":"https://api.github.com/repos/ng-bootstrap/ng-bootstrap/milestones/4/labels","id":1816372,"number":4,"title":"beta.0 (Feature-complete)","description":"Issues / PRs that would mark the first future-complete release.","creator":{"login":"pkozlowski-opensource","id":973550,"avatar_url":"https://avatars.githubusercontent.com/u/973550?v=3","gravatar_id":"","url":"https://api.github.com/users/pkozlowski-opensource","html_url":"https://github.com/pkozlowski-opensource","followers_url":"https://api.github.com/users/pkozlowski-opensource/followers","following_url":"https://api.github.com/users/pkozlowski-opensource/following{/other_user}","gists_url":"https://api.github.com/users/pkozlowski-opensource/gists{/gist_id}","starred_url":"https://api.github.com/users/pkozlowski-opensource/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pkozlowski-opensource/subscriptions","organizations_url":"https://api.github.com/users/pkozlowski-opensource/orgs","repos_url":"https://api.github.com/users/pkozlowski-opensource/repos","events_url":"https://api.github.com/users/pkozlowski-opensource/events{/privacy}","received_events_url":"https://api.github.com/users/pkozlowski-opensource/received_events","type":"User","site_admin":false},"open_issues":24,"closed_issues":15,"state":"open","created_at":"2016-06-08T18:34:08Z","updated_at":"2016-09-18T13:32:19Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2016-08-13T00:48:40Z","updated_at":"2016-09-18T13:32:19Z","closed_at":"2016-09-18T13:32:19Z","body":"Following my pull request #586 has brought in some interesting design discussion that I think should be discussed as a whole.\r\n\r\n* `activeId` should support 'banana-in-the-box' two-way binding. It is simply intuitive and no boiler plating required for keeping the user's bound field in-sync when the tab changes via mouse click.\r\n* the `select` method should probably be internal use only, since it's main usage is for user's clicking the tab via mouse and the code tests whether it can change or not.\r\n* `change` output event, at a first glance, appears redundant for preventing users from selecting a tab, since the tab itself has a `disable` field. However, I think if we modify `change` to handle promise/observable callback prevention this will support a more advance case (eg. a modal dialog asking whether the user wants to change tab or not).\r\n* 'banana-in-the-box' can be split out to listen to the post-change event separately, however adding a `post-change` event that provides more in-depth details about the tab change that occurred (eg. from/to id) might also be desired. I personally don't have a use case with this, I can only think of is a user wants to track their user's behavior."}}
{"actor":{"display_login":"pkozlowski-opensource"}}