{"action":"created","comment":{"url":"https://api.github.com/repos/Microsoft/vscode/pulls/comments/50099829","id":50099829,"diff_hunk":"@@ -0,0 +1,107 @@\n+/*---------------------------------------------------------------------------------------------\n+ *  Copyright (c) Microsoft Corporation. All rights reserved.\n+ *  Licensed under the MIT License. See License.txt in the project root for license information.\n+ *--------------------------------------------------------------------------------------------*/\n+\n+import nls = require('vs/nls');\n+import {Promise} from 'vs/base/common/winjs.base';\n+import {Action} from 'vs/base/common/actions';\n+import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';\n+import {Registry} from 'vs/platform/platform';\n+import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';\n+import {IPanel} from 'vs/workbench/common/panel';\n+import {IWorkbenchActionRegistry, Extensions as WorkbenchExtensions} from 'vs/workbench/common/actionRegistry';\n+import {Composite, CompositeDescriptor, CompositeRegistry} from 'vs/workbench/browser/composite';\n+import {IPartService} from 'vs/workbench/services/part/common/partService';\n+import {IWorkspaceContextService} from 'vs/workbench/services/workspace/common/contextService';\n+\n+export abstract class Panel extends Composite implements IPanel { }\n+\n+/**\n+ * A panel descriptor is a leightweight descriptor of a panel in the monaco workbench.\n+ */\n+export class PanelDescriptor extends CompositeDescriptor<Panel> { }\n+\n+export class PanelRegistry extends CompositeRegistry<Panel> {\n+\tprivate defaultPanelId: string;\n+\n+\t/**\n+\t * Registers a panel to the platform.\n+\t */\n+\tpublic registerPanel(descriptor: PanelDescriptor): void {\n+\t\tsuper.registerComposite(descriptor);\n+\t}\n+\n+\t/**\n+\t * Returns the panel descriptor for the given id or null if none.\n+\t */\n+\tpublic getPanel(id: string): PanelDescriptor {\n+\t\treturn this.getComposite(id);\n+\t}\n+\n+\t/**\n+\t * Returns an array of registered panels known to the platform.\n+\t */\n+\tpublic getPanels(): PanelDescriptor[] {\n+\t\treturn this.getComposits();\n+\t}\n+\n+\t/**\n+\t * Sets the id of the panel that should open on startup by default.\n+\t */\n+\tpublic setDefaultPanelId(id: string): void {\n+\t\tthis.defaultPanelId = id;\n+\t}\n+\n+\t/**\n+\t * Gets the id of the panel that should open on startup by default.\n+\t */\n+\tpublic getDefaultPanelId(): string {\n+\t\treturn this.defaultPanelId;\n+\t}\n+}\n+\n+export const Extensions = {\n+\tPanels: 'workbench.contributions.panels'\n+};\n+\n+export class ClosePanelAction extends Action {","path":"src/vs/workbench/browser/panel.ts","position":68,"original_position":68,"commit_id":"e009b3060acf346b443b7d84ca13ff28c840187c","original_commit_id":"96aea03a551731b3c3561a1cccfe1f42bc1cc9da","user":{"login":"bpasero","id":900690,"avatar_url":"https://avatars.githubusercontent.com/u/900690?v=3","gravatar_id":"","url":"https://api.github.com/users/bpasero","html_url":"https://github.com/bpasero","followers_url":"https://api.github.com/users/bpasero/followers","following_url":"https://api.github.com/users/bpasero/following{/other_user}","gists_url":"https://api.github.com/users/bpasero/gists{/gist_id}","starred_url":"https://api.github.com/users/bpasero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bpasero/subscriptions","organizations_url":"https://api.github.com/users/bpasero/orgs","repos_url":"https://api.github.com/users/bpasero/repos","events_url":"https://api.github.com/users/bpasero/events{/privacy}","received_events_url":"https://api.github.com/users/bpasero/received_events","type":"User","site_admin":false},"body":"@isidorn Suggest to move these actions into panelPart. You can see that sidebarPart is also contributing an action!","created_at":"2016-01-19T11:10:10Z","updated_at":"2016-01-19T11:10:10Z","html_url":"https://github.com/Microsoft/vscode/pull/2042#discussion_r50099829","pull_request_url":"https://api.github.com/repos/Microsoft/vscode/pulls/2042","_links":{"self":{"href":"https://api.github.com/repos/Microsoft/vscode/pulls/comments/50099829"},"html":{"href":"https://github.com/Microsoft/vscode/pull/2042#discussion_r50099829"},"pull_request":{"href":"https://api.github.com/repos/Microsoft/vscode/pulls/2042"}}},"pull_request":{"url":"https://api.github.com/repos/Microsoft/vscode/pulls/2042","id":56155385,"html_url":"https://github.com/Microsoft/vscode/pull/2042","diff_url":"https://github.com/Microsoft/vscode/pull/2042.diff","patch_url":"https://github.com/Microsoft/vscode/pull/2042.patch","issue_url":"https://api.github.com/repos/Microsoft/vscode/issues/2042","number":2042,"state":"open","locked":false,"title":"Implement a horizontal panel for the workbench","user":{"login":"isidorn","id":1926584,"avatar_url":"https://avatars.githubusercontent.com/u/1926584?v=3","gravatar_id":"","url":"https://api.github.com/users/isidorn","html_url":"https://github.com/isidorn","followers_url":"https://api.github.com/users/isidorn/followers","following_url":"https://api.github.com/users/isidorn/following{/other_user}","gists_url":"https://api.github.com/users/isidorn/gists{/gist_id}","starred_url":"https://api.github.com/users/isidorn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/isidorn/subscriptions","organizations_url":"https://api.github.com/users/isidorn/orgs","repos_url":"https://api.github.com/users/isidorn/repos","events_url":"https://api.github.com/users/isidorn/events{/privacy}","received_events_url":"https://api.github.com/users/isidorn/received_events","type":"User","site_admin":false},"body":"Adding horizontal panel to the workbench (see #1875).","created_at":"2016-01-15T10:55:29Z","updated_at":"2016-01-19T11:10:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bce142a60544b5ff7fe989985b42abdbb877194a","assignee":{"login":"bpasero","id":900690,"avatar_url":"https://avatars.githubusercontent.com/u/900690?v=3","gravatar_id":"","url":"https://api.github.com/users/bpasero","html_url":"https://github.com/bpasero","followers_url":"https://api.github.com/users/bpasero/followers","following_url":"https://api.github.com/users/bpasero/following{/other_user}","gists_url":"https://api.github.com/users/bpasero/gists{/gist_id}","starred_url":"https://api.github.com/users/bpasero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bpasero/subscriptions","organizations_url":"https://api.github.com/users/bpasero/orgs","repos_url":"https://api.github.com/users/bpasero/repos","events_url":"https://api.github.com/users/bpasero/events{/privacy}","received_events_url":"https://api.github.com/users/bpasero/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/Microsoft/vscode/milestones/3","html_url":"https://github.com/Microsoft/vscode/milestones/Jan%202016","labels_url":"https://api.github.com/repos/Microsoft/vscode/milestones/3/labels","id":1354261,"number":3,"title":"Jan 2016","description":"","creator":{"login":"chrisdias","id":1487073,"avatar_url":"https://avatars.githubusercontent.com/u/1487073?v=3","gravatar_id":"","url":"https://api.github.com/users/chrisdias","html_url":"https://github.com/chrisdias","followers_url":"https://api.github.com/users/chrisdias/followers","following_url":"https://api.github.com/users/chrisdias/following{/other_user}","gists_url":"https://api.github.com/users/chrisdias/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisdias/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisdias/subscriptions","organizations_url":"https://api.github.com/users/chrisdias/orgs","repos_url":"https://api.github.com/users/chrisdias/repos","events_url":"https://api.github.com/users/chrisdias/events{/privacy}","received_events_url":"https://api.github.com/users/chrisdias/received_events","type":"User","site_admin":false},"open_issues":48,"closed_issues":132,"state":"open","created_at":"2015-10-13T23:36:50Z","updated_at":"2016-01-19T10:14:47Z","due_on":"2016-01-29T23:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/Microsoft/vscode/pulls/2042/commits","review_comments_url":"https://api.github.com/repos/Microsoft/vscode/pulls/2042/comments","review_comment_url":"https://api.github.com/repos/Microsoft/vscode/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Microsoft/vscode/issues/2042/comments","statuses_url":"https://api.github.com/repos/Microsoft/vscode/statuses/e009b3060acf346b443b7d84ca13ff28c840187c","head":{"label":"Microsoft:isidorn/panel","ref":"isidorn/panel","sha":"e009b3060acf346b443b7d84ca13ff28c840187c","user":{"login":"Microsoft","id":6154722,"avatar_url":"https://avatars.githubusercontent.com/u/6154722?v=3","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":41881900,"name":"vscode","full_name":"Microsoft/vscode","owner":{"login":"Microsoft","id":6154722,"avatar_url":"https://avatars.githubusercontent.com/u/6154722?v=3","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Microsoft/vscode","description":"Visual Studio Code","fork":false,"url":"https://api.github.com/repos/Microsoft/vscode","forks_url":"https://api.github.com/repos/Microsoft/vscode/forks","keys_url":"https://api.github.com/repos/Microsoft/vscode/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/vscode/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/vscode/teams","hooks_url":"https://api.github.com/repos/Microsoft/vscode/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/vscode/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/vscode/events","assignees_url":"https://api.github.com/repos/Microsoft/vscode/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/vscode/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/vscode/tags","blobs_url":"https://api.github.com/repos/Microsoft/vscode/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/vscode/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/vscode/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/vscode/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/vscode/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/vscode/languages","stargazers_url":"https://api.github.com/repos/Microsoft/vscode/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/vscode/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/vscode/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/vscode/subscription","commits_url":"https://api.github.com/repos/Microsoft/vscode/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/vscode/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/vscode/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/vscode/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/vscode/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/vscode/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/vscode/merges","archive_url":"https://api.github.com/repos/Microsoft/vscode/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/vscode/downloads","issues_url":"https://api.github.com/repos/Microsoft/vscode/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/vscode/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/vscode/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/vscode/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/vscode/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/vscode/releases{/id}","created_at":"2015-09-03T20:23:38Z","updated_at":"2016-01-19T11:00:13Z","pushed_at":"2016-01-19T11:07:16Z","git_url":"git://github.com/Microsoft/vscode.git","ssh_url":"git@github.com:Microsoft/vscode.git","clone_url":"https://github.com/Microsoft/vscode.git","svn_url":"https://github.com/Microsoft/vscode","homepage":"http://code.visualstudio.com","size":12548,"stargazers_count":9904,"watchers_count":9904,"language":"TypeScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1211,"mirror_url":null,"open_issues_count":791,"forks":1211,"open_issues":791,"watchers":9904,"default_branch":"master"}},"base":{"label":"Microsoft:master","ref":"master","sha":"2771dff034cfcca1c80fc17920b5ac23132c314a","user":{"login":"Microsoft","id":6154722,"avatar_url":"https://avatars.githubusercontent.com/u/6154722?v=3","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":41881900,"name":"vscode","full_name":"Microsoft/vscode","owner":{"login":"Microsoft","id":6154722,"avatar_url":"https://avatars.githubusercontent.com/u/6154722?v=3","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Microsoft/vscode","description":"Visual Studio Code","fork":false,"url":"https://api.github.com/repos/Microsoft/vscode","forks_url":"https://api.github.com/repos/Microsoft/vscode/forks","keys_url":"https://api.github.com/repos/Microsoft/vscode/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/vscode/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/vscode/teams","hooks_url":"https://api.github.com/repos/Microsoft/vscode/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/vscode/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/vscode/events","assignees_url":"https://api.github.com/repos/Microsoft/vscode/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/vscode/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/vscode/tags","blobs_url":"https://api.github.com/repos/Microsoft/vscode/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/vscode/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/vscode/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/vscode/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/vscode/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/vscode/languages","stargazers_url":"https://api.github.com/repos/Microsoft/vscode/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/vscode/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/vscode/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/vscode/subscription","commits_url":"https://api.github.com/repos/Microsoft/vscode/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/vscode/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/vscode/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/vscode/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/vscode/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/vscode/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/vscode/merges","archive_url":"https://api.github.com/repos/Microsoft/vscode/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/vscode/downloads","issues_url":"https://api.github.com/repos/Microsoft/vscode/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/vscode/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/vscode/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/vscode/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/vscode/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/vscode/releases{/id}","created_at":"2015-09-03T20:23:38Z","updated_at":"2016-01-19T11:00:13Z","pushed_at":"2016-01-19T11:07:16Z","git_url":"git://github.com/Microsoft/vscode.git","ssh_url":"git@github.com:Microsoft/vscode.git","clone_url":"https://github.com/Microsoft/vscode.git","svn_url":"https://github.com/Microsoft/vscode","homepage":"http://code.visualstudio.com","size":12548,"stargazers_count":9904,"watchers_count":9904,"language":"TypeScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1211,"mirror_url":null,"open_issues_count":791,"forks":1211,"open_issues":791,"watchers":9904,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Microsoft/vscode/pulls/2042"},"html":{"href":"https://github.com/Microsoft/vscode/pull/2042"},"issue":{"href":"https://api.github.com/repos/Microsoft/vscode/issues/2042"},"comments":{"href":"https://api.github.com/repos/Microsoft/vscode/issues/2042/comments"},"review_comments":{"href":"https://api.github.com/repos/Microsoft/vscode/pulls/2042/comments"},"review_comment":{"href":"https://api.github.com/repos/Microsoft/vscode/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Microsoft/vscode/pulls/2042/commits"},"statuses":{"href":"https://api.github.com/repos/Microsoft/vscode/statuses/e009b3060acf346b443b7d84ca13ff28c840187c"}}}}