{"action":"created","issue":{"url":"https://api.github.com/repos/bokeh/bokeh/issues/4841","repository_url":"https://api.github.com/repos/bokeh/bokeh","labels_url":"https://api.github.com/repos/bokeh/bokeh/issues/4841/labels{/name}","comments_url":"https://api.github.com/repos/bokeh/bokeh/issues/4841/comments","events_url":"https://api.github.com/repos/bokeh/bokeh/issues/4841/events","html_url":"https://github.com/bokeh/bokeh/pull/4841","id":166606709,"number":4841,"title":"Refactor wheel_zoom_tool. Add zoom button tools #916","user":{"login":"timsnyder","id":83846,"avatar_url":"https://avatars.githubusercontent.com/u/83846?v=3","gravatar_id":"","url":"https://api.github.com/users/timsnyder","html_url":"https://github.com/timsnyder","followers_url":"https://api.github.com/users/timsnyder/followers","following_url":"https://api.github.com/users/timsnyder/following{/other_user}","gists_url":"https://api.github.com/users/timsnyder/gists{/gist_id}","starred_url":"https://api.github.com/users/timsnyder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timsnyder/subscriptions","organizations_url":"https://api.github.com/users/timsnyder/orgs","repos_url":"https://api.github.com/users/timsnyder/repos","events_url":"https://api.github.com/users/timsnyder/events{/privacy}","received_events_url":"https://api.github.com/users/timsnyder/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/bokeh/bokeh/labels/status:%20WIP","name":"status: WIP","color":"fef2c0"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2016-07-20T15:13:51Z","updated_at":"2016-09-22T01:21:34Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/bokeh/bokeh/pulls/4841","html_url":"https://github.com/bokeh/bokeh/pull/4841","diff_url":"https://github.com/bokeh/bokeh/pull/4841.diff","patch_url":"https://github.com/bokeh/bokeh/pull/4841.patch"},"body":"- [x] issues: fixes #916\r\n- [ ] tests added / passed\r\n- [ ] release document entry (if new feature or API change)\r\n\r\nRefactors models/tools/gestures/wheel_zoom_tool into\r\na scale_range() helper provided by models/tools/zoom_util.\r\n\r\nscale_range() is then used to add zoom_in_tool and zoom_out_tool\r\nto models/tools/actions, implementing toolbar buttons that will\r\nzoom\r\n\r\nRemaining work on #916 includes:\r\n\r\n- [x] add new models to bokehjs/src/coffee/api/typings/models/tools.d.ts. somehow I missed those in my initial commit\r\n\r\n- [X] ~~actual design done for icons/Zoom{In,Out}.png.~~ I think what I slapped together is good enough until the tool icons are revisited en masse in #3250 \r\n\r\n- [X] ~~ensure zoom-in and zoom-out are \"bundled\"~~ won't be included in this issue, will address at some point in the future.\r\n\r\n- [x] add 'factor' as a parameter on the zoom buttons.  Currently, it\r\n  is hardcoded to 10%\r\n\r\n- [x] review user-guide for documentation needs\r\n\r\n- [x] ~~possibly rebase this into multiple commits~~. won't do since squash merge will be used per [this comment by mattpap](https://github.com/bokeh/bokeh/pull/4907#issuecomment-238055182)\r\n\r\nPossible work for future (or already existing) tickets:\r\n- Does it make sense to expose zoom-only mode on wheel-zoom? I\r\n  personally find it awkward to use wheel-zoom when it pans and zooms\r\n  at the same time.  This could be implemented easily now by\r\n  programmatically eliding the 'center' parameter to scale_range().\r\n  Perhaps it could be implemented as wheel-zoom button having a dropdown\r\n  radio-button list like tap tool that lets the user choose to lock down the center of the plot and only scale in and out\r\n    - I think this should be attempted in #5135. I made this comment [over there as well.](https://github.com/bokeh/bokeh/issues/5135#issuecomment-247895010)"},"comment":{"url":"https://api.github.com/repos/bokeh/bokeh/issues/comments/248788752","html_url":"https://github.com/bokeh/bokeh/pull/4841#issuecomment-248788752","issue_url":"https://api.github.com/repos/bokeh/bokeh/issues/4841","id":248788752,"user":{"login":"birdsarah","id":1796208,"avatar_url":"https://avatars.githubusercontent.com/u/1796208?v=3","gravatar_id":"","url":"https://api.github.com/users/birdsarah","html_url":"https://github.com/birdsarah","followers_url":"https://api.github.com/users/birdsarah/followers","following_url":"https://api.github.com/users/birdsarah/following{/other_user}","gists_url":"https://api.github.com/users/birdsarah/gists{/gist_id}","starred_url":"https://api.github.com/users/birdsarah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/birdsarah/subscriptions","organizations_url":"https://api.github.com/users/birdsarah/orgs","repos_url":"https://api.github.com/users/birdsarah/repos","events_url":"https://api.github.com/users/birdsarah/events{/privacy}","received_events_url":"https://api.github.com/users/birdsarah/received_events","type":"User","site_admin":false},"created_at":"2016-09-22T01:21:34Z","updated_at":"2016-09-22T01:21:34Z","body":"I should add I'm really excited to see this feature finally come into Bokeh and am happy to help however I can especially with selenium tests."}}
{"actor":{"display_login":"birdsarah"}}