{"action":"closed","number":696,"pull_request":{"url":"https://api.github.com/repos/danvk/dygraphs/pulls/696","id":51539972,"html_url":"https://github.com/danvk/dygraphs/pull/696","diff_url":"https://github.com/danvk/dygraphs/pull/696.diff","patch_url":"https://github.com/danvk/dygraphs/pull/696.patch","issue_url":"https://api.github.com/repos/danvk/dygraphs/issues/696","number":696,"state":"closed","locked":false,"title":"Feature: Selection Modes","user":{"login":"musicist288","id":368976,"avatar_url":"https://avatars.githubusercontent.com/u/368976?v=3","gravatar_id":"","url":"https://api.github.com/users/musicist288","html_url":"https://github.com/musicist288","followers_url":"https://api.github.com/users/musicist288/followers","following_url":"https://api.github.com/users/musicist288/following{/other_user}","gists_url":"https://api.github.com/users/musicist288/gists{/gist_id}","starred_url":"https://api.github.com/users/musicist288/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/musicist288/subscriptions","organizations_url":"https://api.github.com/users/musicist288/orgs","repos_url":"https://api.github.com/users/musicist288/repos","events_url":"https://api.github.com/users/musicist288/events{/privacy}","received_events_url":"https://api.github.com/users/musicist288/received_events","type":"User","site_admin":false},"body":"This is a proposed implementation for https://github.com/danvk/dygraphs/issues/371.\r\n\r\nSelection modes are defined in `src/dygraph-selection-modes.js` with the\r\nability to override them on a per graph basis with the option\r\n`selectionMode` when instantiating the Dygraph.\r\n\r\n>This is a generalized approach of the changes I needed to make for my company's use case. These changes represent the bare minimum; I wasn't sure if I should go as far as to define a whole selection model implementation (similar to the plug-in system). Our use case revolves exclusively around time series data so there may be some decisions made that are influenced by that case and may not fit the general approach.\n\n<!-- Reviewable:start -->\n[<img src=\"https://reviewable.io/review_button.png\" height=40 alt=\"Review on Reviewable\"/>](https://reviewable.io/reviews/danvk/dygraphs/696)\n<!-- Reviewable:end -->\n","created_at":"2015-11-23T15:48:40Z","updated_at":"2015-12-03T19:23:17Z","closed_at":"2015-12-03T19:23:17Z","merged_at":null,"merge_commit_sha":"7e4af451b3c80121836ecd4f77d366458d5bab71","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/danvk/dygraphs/pulls/696/commits","review_comments_url":"https://api.github.com/repos/danvk/dygraphs/pulls/696/comments","review_comment_url":"https://api.github.com/repos/danvk/dygraphs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/danvk/dygraphs/issues/696/comments","statuses_url":"https://api.github.com/repos/danvk/dygraphs/statuses/87373c17659ea07cca3834c1d5cf83a38dfef471","head":{"label":"musicist288:selection-mode","ref":"selection-mode","sha":"87373c17659ea07cca3834c1d5cf83a38dfef471","user":{"login":"musicist288","id":368976,"avatar_url":"https://avatars.githubusercontent.com/u/368976?v=3","gravatar_id":"","url":"https://api.github.com/users/musicist288","html_url":"https://github.com/musicist288","followers_url":"https://api.github.com/users/musicist288/followers","following_url":"https://api.github.com/users/musicist288/following{/other_user}","gists_url":"https://api.github.com/users/musicist288/gists{/gist_id}","starred_url":"https://api.github.com/users/musicist288/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/musicist288/subscriptions","organizations_url":"https://api.github.com/users/musicist288/orgs","repos_url":"https://api.github.com/users/musicist288/repos","events_url":"https://api.github.com/users/musicist288/events{/privacy}","received_events_url":"https://api.github.com/users/musicist288/received_events","type":"User","site_admin":false},"repo":{"id":46300269,"name":"dygraphs","full_name":"musicist288/dygraphs","owner":{"login":"musicist288","id":368976,"avatar_url":"https://avatars.githubusercontent.com/u/368976?v=3","gravatar_id":"","url":"https://api.github.com/users/musicist288","html_url":"https://github.com/musicist288","followers_url":"https://api.github.com/users/musicist288/followers","following_url":"https://api.github.com/users/musicist288/following{/other_user}","gists_url":"https://api.github.com/users/musicist288/gists{/gist_id}","starred_url":"https://api.github.com/users/musicist288/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/musicist288/subscriptions","organizations_url":"https://api.github.com/users/musicist288/orgs","repos_url":"https://api.github.com/users/musicist288/repos","events_url":"https://api.github.com/users/musicist288/events{/privacy}","received_events_url":"https://api.github.com/users/musicist288/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/musicist288/dygraphs","description":"Interactive visualizations of time series using JavaScript and the HTML canvas tag","fork":true,"url":"https://api.github.com/repos/musicist288/dygraphs","forks_url":"https://api.github.com/repos/musicist288/dygraphs/forks","keys_url":"https://api.github.com/repos/musicist288/dygraphs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/musicist288/dygraphs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/musicist288/dygraphs/teams","hooks_url":"https://api.github.com/repos/musicist288/dygraphs/hooks","issue_events_url":"https://api.github.com/repos/musicist288/dygraphs/issues/events{/number}","events_url":"https://api.github.com/repos/musicist288/dygraphs/events","assignees_url":"https://api.github.com/repos/musicist288/dygraphs/assignees{/user}","branches_url":"https://api.github.com/repos/musicist288/dygraphs/branches{/branch}","tags_url":"https://api.github.com/repos/musicist288/dygraphs/tags","blobs_url":"https://api.github.com/repos/musicist288/dygraphs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/musicist288/dygraphs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/musicist288/dygraphs/git/refs{/sha}","trees_url":"https://api.github.com/repos/musicist288/dygraphs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/musicist288/dygraphs/statuses/{sha}","languages_url":"https://api.github.com/repos/musicist288/dygraphs/languages","stargazers_url":"https://api.github.com/repos/musicist288/dygraphs/stargazers","contributors_url":"https://api.github.com/repos/musicist288/dygraphs/contributors","subscribers_url":"https://api.github.com/repos/musicist288/dygraphs/subscribers","subscription_url":"https://api.github.com/repos/musicist288/dygraphs/subscription","commits_url":"https://api.github.com/repos/musicist288/dygraphs/commits{/sha}","git_commits_url":"https://api.github.com/repos/musicist288/dygraphs/git/commits{/sha}","comments_url":"https://api.github.com/repos/musicist288/dygraphs/comments{/number}","issue_comment_url":"https://api.github.com/repos/musicist288/dygraphs/issues/comments{/number}","contents_url":"https://api.github.com/repos/musicist288/dygraphs/contents/{+path}","compare_url":"https://api.github.com/repos/musicist288/dygraphs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/musicist288/dygraphs/merges","archive_url":"https://api.github.com/repos/musicist288/dygraphs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/musicist288/dygraphs/downloads","issues_url":"https://api.github.com/repos/musicist288/dygraphs/issues{/number}","pulls_url":"https://api.github.com/repos/musicist288/dygraphs/pulls{/number}","milestones_url":"https://api.github.com/repos/musicist288/dygraphs/milestones{/number}","notifications_url":"https://api.github.com/repos/musicist288/dygraphs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/musicist288/dygraphs/labels{/name}","releases_url":"https://api.github.com/repos/musicist288/dygraphs/releases{/id}","created_at":"2015-11-16T20:23:16Z","updated_at":"2015-11-16T20:23:19Z","pushed_at":"2015-12-02T20:26:54Z","git_url":"git://github.com/musicist288/dygraphs.git","ssh_url":"git@github.com:musicist288/dygraphs.git","clone_url":"https://github.com/musicist288/dygraphs.git","svn_url":"https://github.com/musicist288/dygraphs","homepage":"http://dygraphs.com","size":17872,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"danvk:master","ref":"master","sha":"dd74404fac69f23183ff8e540a018ca35bab4f7a","user":{"login":"danvk","id":98301,"avatar_url":"https://avatars.githubusercontent.com/u/98301?v=3","gravatar_id":"","url":"https://api.github.com/users/danvk","html_url":"https://github.com/danvk","followers_url":"https://api.github.com/users/danvk/followers","following_url":"https://api.github.com/users/danvk/following{/other_user}","gists_url":"https://api.github.com/users/danvk/gists{/gist_id}","starred_url":"https://api.github.com/users/danvk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danvk/subscriptions","organizations_url":"https://api.github.com/users/danvk/orgs","repos_url":"https://api.github.com/users/danvk/repos","events_url":"https://api.github.com/users/danvk/events{/privacy}","received_events_url":"https://api.github.com/users/danvk/received_events","type":"User","site_admin":false},"repo":{"id":383715,"name":"dygraphs","full_name":"danvk/dygraphs","owner":{"login":"danvk","id":98301,"avatar_url":"https://avatars.githubusercontent.com/u/98301?v=3","gravatar_id":"","url":"https://api.github.com/users/danvk","html_url":"https://github.com/danvk","followers_url":"https://api.github.com/users/danvk/followers","following_url":"https://api.github.com/users/danvk/following{/other_user}","gists_url":"https://api.github.com/users/danvk/gists{/gist_id}","starred_url":"https://api.github.com/users/danvk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danvk/subscriptions","organizations_url":"https://api.github.com/users/danvk/orgs","repos_url":"https://api.github.com/users/danvk/repos","events_url":"https://api.github.com/users/danvk/events{/privacy}","received_events_url":"https://api.github.com/users/danvk/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/danvk/dygraphs","description":"Interactive visualizations of time series using JavaScript and the HTML canvas tag","fork":false,"url":"https://api.github.com/repos/danvk/dygraphs","forks_url":"https://api.github.com/repos/danvk/dygraphs/forks","keys_url":"https://api.github.com/repos/danvk/dygraphs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/danvk/dygraphs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/danvk/dygraphs/teams","hooks_url":"https://api.github.com/repos/danvk/dygraphs/hooks","issue_events_url":"https://api.github.com/repos/danvk/dygraphs/issues/events{/number}","events_url":"https://api.github.com/repos/danvk/dygraphs/events","assignees_url":"https://api.github.com/repos/danvk/dygraphs/assignees{/user}","branches_url":"https://api.github.com/repos/danvk/dygraphs/branches{/branch}","tags_url":"https://api.github.com/repos/danvk/dygraphs/tags","blobs_url":"https://api.github.com/repos/danvk/dygraphs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/danvk/dygraphs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/danvk/dygraphs/git/refs{/sha}","trees_url":"https://api.github.com/repos/danvk/dygraphs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/danvk/dygraphs/statuses/{sha}","languages_url":"https://api.github.com/repos/danvk/dygraphs/languages","stargazers_url":"https://api.github.com/repos/danvk/dygraphs/stargazers","contributors_url":"https://api.github.com/repos/danvk/dygraphs/contributors","subscribers_url":"https://api.github.com/repos/danvk/dygraphs/subscribers","subscription_url":"https://api.github.com/repos/danvk/dygraphs/subscription","commits_url":"https://api.github.com/repos/danvk/dygraphs/commits{/sha}","git_commits_url":"https://api.github.com/repos/danvk/dygraphs/git/commits{/sha}","comments_url":"https://api.github.com/repos/danvk/dygraphs/comments{/number}","issue_comment_url":"https://api.github.com/repos/danvk/dygraphs/issues/comments{/number}","contents_url":"https://api.github.com/repos/danvk/dygraphs/contents/{+path}","compare_url":"https://api.github.com/repos/danvk/dygraphs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/danvk/dygraphs/merges","archive_url":"https://api.github.com/repos/danvk/dygraphs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/danvk/dygraphs/downloads","issues_url":"https://api.github.com/repos/danvk/dygraphs/issues{/number}","pulls_url":"https://api.github.com/repos/danvk/dygraphs/pulls{/number}","milestones_url":"https://api.github.com/repos/danvk/dygraphs/milestones{/number}","notifications_url":"https://api.github.com/repos/danvk/dygraphs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/danvk/dygraphs/labels{/name}","releases_url":"https://api.github.com/repos/danvk/dygraphs/releases{/id}","created_at":"2009-11-24T10:26:21Z","updated_at":"2015-12-02T00:50:32Z","pushed_at":"2015-11-30T20:46:49Z","git_url":"git://github.com/danvk/dygraphs.git","ssh_url":"git@github.com:danvk/dygraphs.git","clone_url":"https://github.com/danvk/dygraphs.git","svn_url":"https://github.com/danvk/dygraphs","homepage":"http://dygraphs.com","size":20942,"stargazers_count":1684,"watchers_count":1684,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":370,"mirror_url":null,"open_issues_count":155,"forks":370,"open_issues":155,"watchers":1684,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/danvk/dygraphs/pulls/696"},"html":{"href":"https://github.com/danvk/dygraphs/pull/696"},"issue":{"href":"https://api.github.com/repos/danvk/dygraphs/issues/696"},"comments":{"href":"https://api.github.com/repos/danvk/dygraphs/issues/696/comments"},"review_comments":{"href":"https://api.github.com/repos/danvk/dygraphs/pulls/696/comments"},"review_comment":{"href":"https://api.github.com/repos/danvk/dygraphs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/danvk/dygraphs/pulls/696/commits"},"statuses":{"href":"https://api.github.com/repos/danvk/dygraphs/statuses/87373c17659ea07cca3834c1d5cf83a38dfef471"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":6,"review_comments":0,"commits":4,"additions":243,"deletions":31,"changed_files":5}}