{"action":"closed","number":2661,"pull_request":{"url":"https://api.github.com/repos/storybooks/storybook/pulls/2661","id":161407902,"html_url":"https://github.com/storybooks/storybook/pull/2661","diff_url":"https://github.com/storybooks/storybook/pull/2661.diff","patch_url":"https://github.com/storybooks/storybook/pull/2661.patch","issue_url":"https://api.github.com/repos/storybooks/storybook/issues/2661","number":2661,"state":"closed","locked":false,"title":"Enable groupId option for knobs to be organized into sub panels.","user":{"login":"ASeeto","id":4038373,"avatar_url":"https://avatars0.githubusercontent.com/u/4038373?v=4","gravatar_id":"","url":"https://api.github.com/users/ASeeto","html_url":"https://github.com/ASeeto","followers_url":"https://api.github.com/users/ASeeto/followers","following_url":"https://api.github.com/users/ASeeto/following{/other_user}","gists_url":"https://api.github.com/users/ASeeto/gists{/gist_id}","starred_url":"https://api.github.com/users/ASeeto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ASeeto/subscriptions","organizations_url":"https://api.github.com/users/ASeeto/orgs","repos_url":"https://api.github.com/users/ASeeto/repos","events_url":"https://api.github.com/users/ASeeto/events{/privacy}","received_events_url":"https://api.github.com/users/ASeeto/received_events","type":"User","site_admin":false},"body":"Issue: #1896 \r\n\r\n## What I did\r\n\r\n- Added groupId argument to knob functions\r\n- Created GroupTabs component (replica of AddonPanel in storybook/ui) within Knobs panel to serve as navigation when filtering between groups\r\n\r\n## How to test\r\n`groupId` has been added as the last argument to each of the knob functions (see updates to README)\r\n```\r\ntext(label, defaultValue, groupId);\r\nboolean(label, defaultValue, groupId);\r\nnumber(label, defaultValue, options, groupId);\r\ncolor(label, defaultValue, groupId);\r\nobject(label, defaultValue, groupId);\r\narray(label, defaultValue, separator, groupId);\r\nselect(label, options, defaultValue, groupId);\r\ndate(label, defaultValue, groupId);\r\nbutton(label, handler, groupId);\r\n```\r\n\r\n**NOTE: Knobs with optional arguments MUST have default values passed in for use with groupId.**\r\n\r\nThis was done to avoid breaking changes to current knob function contracts.\r\n\r\ne.g. Notice these README updates:\r\n- number(label, defaultValue, options, groupId);\r\n- array(label, defaultValue, separator, groupId);\r\n\r\n---\r\n\r\nIs this testable with jest or storyshots?\r\n\r\nDoes this need a new example in the kitchen sink apps?\r\n\r\n- Example usage has been provided in official-storybook app.\r\n\r\nDoes this need an update to the documentation?\r\n\r\n- README has been updated with new argument.\r\n\r\nIf your answer is yes to any of these, please make sure to include it in your PR.\r\n\r\n  \r\n  \r\n  \r\n  \r\n<img width=\"1437\" alt=\"official-storybook\" src=\"https://user-images.githubusercontent.com/4038373/34627165-881337e2-f22d-11e7-8aa4-b222b45b2d22.png\">\r\n","created_at":"2018-01-05T19:16:38Z","updated_at":"2018-02-18T13:15:42Z","closed_at":"2018-02-18T13:15:42Z","merged_at":"2018-02-18T13:15:42Z","merge_commit_sha":"8e4b5206a1c4d7c34c64958e2d67b332dea9e2df","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":584803996,"url":"https://api.github.com/repos/storybooks/storybook/labels/addon:%20knobs","name":"addon: knobs","color":"fbca04","default":false},{"id":343576456,"url":"https://api.github.com/repos/storybooks/storybook/labels/feature%20request","name":"feature request","color":"9B58D8","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/storybooks/storybook/pulls/2661/commits","review_comments_url":"https://api.github.com/repos/storybooks/storybook/pulls/2661/comments","review_comment_url":"https://api.github.com/repos/storybooks/storybook/pulls/comments{/number}","comments_url":"https://api.github.com/repos/storybooks/storybook/issues/2661/comments","statuses_url":"https://api.github.com/repos/storybooks/storybook/statuses/17826e02edce1d0ef453241797714d1abd039e18","head":{"label":"ASeeto:group-knobs","ref":"group-knobs","sha":"17826e02edce1d0ef453241797714d1abd039e18","user":{"login":"ASeeto","id":4038373,"avatar_url":"https://avatars0.githubusercontent.com/u/4038373?v=4","gravatar_id":"","url":"https://api.github.com/users/ASeeto","html_url":"https://github.com/ASeeto","followers_url":"https://api.github.com/users/ASeeto/followers","following_url":"https://api.github.com/users/ASeeto/following{/other_user}","gists_url":"https://api.github.com/users/ASeeto/gists{/gist_id}","starred_url":"https://api.github.com/users/ASeeto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ASeeto/subscriptions","organizations_url":"https://api.github.com/users/ASeeto/orgs","repos_url":"https://api.github.com/users/ASeeto/repos","events_url":"https://api.github.com/users/ASeeto/events{/privacy}","received_events_url":"https://api.github.com/users/ASeeto/received_events","type":"User","site_admin":false},"repo":{"id":116396515,"name":"storybook","full_name":"ASeeto/storybook","owner":{"login":"ASeeto","id":4038373,"avatar_url":"https://avatars0.githubusercontent.com/u/4038373?v=4","gravatar_id":"","url":"https://api.github.com/users/ASeeto","html_url":"https://github.com/ASeeto","followers_url":"https://api.github.com/users/ASeeto/followers","following_url":"https://api.github.com/users/ASeeto/following{/other_user}","gists_url":"https://api.github.com/users/ASeeto/gists{/gist_id}","starred_url":"https://api.github.com/users/ASeeto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ASeeto/subscriptions","organizations_url":"https://api.github.com/users/ASeeto/orgs","repos_url":"https://api.github.com/users/ASeeto/repos","events_url":"https://api.github.com/users/ASeeto/events{/privacy}","received_events_url":"https://api.github.com/users/ASeeto/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ASeeto/storybook","description":"Interactive UI component dev & test: React, React Native, Vue, Angular","fork":true,"url":"https://api.github.com/repos/ASeeto/storybook","forks_url":"https://api.github.com/repos/ASeeto/storybook/forks","keys_url":"https://api.github.com/repos/ASeeto/storybook/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ASeeto/storybook/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ASeeto/storybook/teams","hooks_url":"https://api.github.com/repos/ASeeto/storybook/hooks","issue_events_url":"https://api.github.com/repos/ASeeto/storybook/issues/events{/number}","events_url":"https://api.github.com/repos/ASeeto/storybook/events","assignees_url":"https://api.github.com/repos/ASeeto/storybook/assignees{/user}","branches_url":"https://api.github.com/repos/ASeeto/storybook/branches{/branch}","tags_url":"https://api.github.com/repos/ASeeto/storybook/tags","blobs_url":"https://api.github.com/repos/ASeeto/storybook/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ASeeto/storybook/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ASeeto/storybook/git/refs{/sha}","trees_url":"https://api.github.com/repos/ASeeto/storybook/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ASeeto/storybook/statuses/{sha}","languages_url":"https://api.github.com/repos/ASeeto/storybook/languages","stargazers_url":"https://api.github.com/repos/ASeeto/storybook/stargazers","contributors_url":"https://api.github.com/repos/ASeeto/storybook/contributors","subscribers_url":"https://api.github.com/repos/ASeeto/storybook/subscribers","subscription_url":"https://api.github.com/repos/ASeeto/storybook/subscription","commits_url":"https://api.github.com/repos/ASeeto/storybook/commits{/sha}","git_commits_url":"https://api.github.com/repos/ASeeto/storybook/git/commits{/sha}","comments_url":"https://api.github.com/repos/ASeeto/storybook/comments{/number}","issue_comment_url":"https://api.github.com/repos/ASeeto/storybook/issues/comments{/number}","contents_url":"https://api.github.com/repos/ASeeto/storybook/contents/{+path}","compare_url":"https://api.github.com/repos/ASeeto/storybook/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ASeeto/storybook/merges","archive_url":"https://api.github.com/repos/ASeeto/storybook/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ASeeto/storybook/downloads","issues_url":"https://api.github.com/repos/ASeeto/storybook/issues{/number}","pulls_url":"https://api.github.com/repos/ASeeto/storybook/pulls{/number}","milestones_url":"https://api.github.com/repos/ASeeto/storybook/milestones{/number}","notifications_url":"https://api.github.com/repos/ASeeto/storybook/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ASeeto/storybook/labels{/name}","releases_url":"https://api.github.com/repos/ASeeto/storybook/releases{/id}","deployments_url":"https://api.github.com/repos/ASeeto/storybook/deployments","created_at":"2018-01-05T15:02:33Z","updated_at":"2018-01-05T15:02:38Z","pushed_at":"2018-02-18T12:40:18Z","git_url":"git://github.com/ASeeto/storybook.git","ssh_url":"git@github.com:ASeeto/storybook.git","clone_url":"https://github.com/ASeeto/storybook.git","svn_url":"https://github.com/ASeeto/storybook","homepage":"https://storybook.js.org","size":84825,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"storybooks:master","ref":"master","sha":"abdd35146dede80bb67195271db715425da5c57c","user":{"login":"storybooks","id":22632046,"avatar_url":"https://avatars3.githubusercontent.com/u/22632046?v=4","gravatar_id":"","url":"https://api.github.com/users/storybooks","html_url":"https://github.com/storybooks","followers_url":"https://api.github.com/users/storybooks/followers","following_url":"https://api.github.com/users/storybooks/following{/other_user}","gists_url":"https://api.github.com/users/storybooks/gists{/gist_id}","starred_url":"https://api.github.com/users/storybooks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/storybooks/subscriptions","organizations_url":"https://api.github.com/users/storybooks/orgs","repos_url":"https://api.github.com/users/storybooks/repos","events_url":"https://api.github.com/users/storybooks/events{/privacy}","received_events_url":"https://api.github.com/users/storybooks/received_events","type":"Organization","site_admin":false},"repo":{"id":54173593,"name":"storybook","full_name":"storybooks/storybook","owner":{"login":"storybooks","id":22632046,"avatar_url":"https://avatars3.githubusercontent.com/u/22632046?v=4","gravatar_id":"","url":"https://api.github.com/users/storybooks","html_url":"https://github.com/storybooks","followers_url":"https://api.github.com/users/storybooks/followers","following_url":"https://api.github.com/users/storybooks/following{/other_user}","gists_url":"https://api.github.com/users/storybooks/gists{/gist_id}","starred_url":"https://api.github.com/users/storybooks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/storybooks/subscriptions","organizations_url":"https://api.github.com/users/storybooks/orgs","repos_url":"https://api.github.com/users/storybooks/repos","events_url":"https://api.github.com/users/storybooks/events{/privacy}","received_events_url":"https://api.github.com/users/storybooks/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/storybooks/storybook","description":"Interactive UI component dev & test: React, React Native, Vue, Angular","fork":false,"url":"https://api.github.com/repos/storybooks/storybook","forks_url":"https://api.github.com/repos/storybooks/storybook/forks","keys_url":"https://api.github.com/repos/storybooks/storybook/keys{/key_id}","collaborators_url":"https://api.github.com/repos/storybooks/storybook/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/storybooks/storybook/teams","hooks_url":"https://api.github.com/repos/storybooks/storybook/hooks","issue_events_url":"https://api.github.com/repos/storybooks/storybook/issues/events{/number}","events_url":"https://api.github.com/repos/storybooks/storybook/events","assignees_url":"https://api.github.com/repos/storybooks/storybook/assignees{/user}","branches_url":"https://api.github.com/repos/storybooks/storybook/branches{/branch}","tags_url":"https://api.github.com/repos/storybooks/storybook/tags","blobs_url":"https://api.github.com/repos/storybooks/storybook/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/storybooks/storybook/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/storybooks/storybook/git/refs{/sha}","trees_url":"https://api.github.com/repos/storybooks/storybook/git/trees{/sha}","statuses_url":"https://api.github.com/repos/storybooks/storybook/statuses/{sha}","languages_url":"https://api.github.com/repos/storybooks/storybook/languages","stargazers_url":"https://api.github.com/repos/storybooks/storybook/stargazers","contributors_url":"https://api.github.com/repos/storybooks/storybook/contributors","subscribers_url":"https://api.github.com/repos/storybooks/storybook/subscribers","subscription_url":"https://api.github.com/repos/storybooks/storybook/subscription","commits_url":"https://api.github.com/repos/storybooks/storybook/commits{/sha}","git_commits_url":"https://api.github.com/repos/storybooks/storybook/git/commits{/sha}","comments_url":"https://api.github.com/repos/storybooks/storybook/comments{/number}","issue_comment_url":"https://api.github.com/repos/storybooks/storybook/issues/comments{/number}","contents_url":"https://api.github.com/repos/storybooks/storybook/contents/{+path}","compare_url":"https://api.github.com/repos/storybooks/storybook/compare/{base}...{head}","merges_url":"https://api.github.com/repos/storybooks/storybook/merges","archive_url":"https://api.github.com/repos/storybooks/storybook/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/storybooks/storybook/downloads","issues_url":"https://api.github.com/repos/storybooks/storybook/issues{/number}","pulls_url":"https://api.github.com/repos/storybooks/storybook/pulls{/number}","milestones_url":"https://api.github.com/repos/storybooks/storybook/milestones{/number}","notifications_url":"https://api.github.com/repos/storybooks/storybook/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/storybooks/storybook/labels{/name}","releases_url":"https://api.github.com/repos/storybooks/storybook/releases{/id}","deployments_url":"https://api.github.com/repos/storybooks/storybook/deployments","created_at":"2016-03-18T04:23:44Z","updated_at":"2018-02-18T12:46:09Z","pushed_at":"2018-02-18T13:15:42Z","git_url":"git://github.com/storybooks/storybook.git","ssh_url":"git@github.com:storybooks/storybook.git","clone_url":"https://github.com/storybooks/storybook.git","svn_url":"https://github.com/storybooks/storybook","homepage":"https://storybook.js.org","size":80132,"stargazers_count":20253,"watchers_count":20253,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":1354,"mirror_url":null,"archived":false,"open_issues_count":173,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1354,"open_issues":173,"watchers":20253,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/storybooks/storybook/pulls/2661"},"html":{"href":"https://github.com/storybooks/storybook/pull/2661"},"issue":{"href":"https://api.github.com/repos/storybooks/storybook/issues/2661"},"comments":{"href":"https://api.github.com/repos/storybooks/storybook/issues/2661/comments"},"review_comments":{"href":"https://api.github.com/repos/storybooks/storybook/pulls/2661/comments"},"review_comment":{"href":"https://api.github.com/repos/storybooks/storybook/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/storybooks/storybook/pulls/2661/commits"},"statuses":{"href":"https://api.github.com/repos/storybooks/storybook/statuses/17826e02edce1d0ef453241797714d1abd039e18"}},"author_association":"NONE","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"Hypnosphi","id":6651625,"avatar_url":"https://avatars3.githubusercontent.com/u/6651625?v=4","gravatar_id":"","url":"https://api.github.com/users/Hypnosphi","html_url":"https://github.com/Hypnosphi","followers_url":"https://api.github.com/users/Hypnosphi/followers","following_url":"https://api.github.com/users/Hypnosphi/following{/other_user}","gists_url":"https://api.github.com/users/Hypnosphi/gists{/gist_id}","starred_url":"https://api.github.com/users/Hypnosphi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hypnosphi/subscriptions","organizations_url":"https://api.github.com/users/Hypnosphi/orgs","repos_url":"https://api.github.com/users/Hypnosphi/repos","events_url":"https://api.github.com/users/Hypnosphi/events{/privacy}","received_events_url":"https://api.github.com/users/Hypnosphi/received_events","type":"User","site_admin":false},"comments":14,"review_comments":2,"maintainer_can_modify":false,"commits":26,"additions":438,"deletions":37,"changed_files":9}}
{"actor":{"display_login":"Hypnosphi"}}