{"action":"created","issue":{"url":"https://api.github.com/repos/mozilla/pdf.js/issues/7254","repository_url":"https://api.github.com/repos/mozilla/pdf.js","labels_url":"https://api.github.com/repos/mozilla/pdf.js/issues/7254/labels{/name}","comments_url":"https://api.github.com/repos/mozilla/pdf.js/issues/7254/comments","events_url":"https://api.github.com/repos/mozilla/pdf.js/issues/7254/events","html_url":"https://github.com/mozilla/pdf.js/pull/7254","id":151193220,"number":7254,"title":"Introducing EventBus for the viewer UI.","user":{"login":"yurydelendik","id":1523410,"avatar_url":"https://avatars.githubusercontent.com/u/1523410?v=3","gravatar_id":"","url":"https://api.github.com/users/yurydelendik","html_url":"https://github.com/yurydelendik","followers_url":"https://api.github.com/users/yurydelendik/followers","following_url":"https://api.github.com/users/yurydelendik/following{/other_user}","gists_url":"https://api.github.com/users/yurydelendik/gists{/gist_id}","starred_url":"https://api.github.com/users/yurydelendik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yurydelendik/subscriptions","organizations_url":"https://api.github.com/users/yurydelendik/orgs","repos_url":"https://api.github.com/users/yurydelendik/repos","events_url":"https://api.github.com/users/yurydelendik/events{/privacy}","received_events_url":"https://api.github.com/users/yurydelendik/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mozilla/pdf.js/labels/1-viewer","name":"1-viewer","color":"DDDDDD"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":19,"created_at":"2016-04-26T17:31:23Z","updated_at":"2016-04-28T13:19:52Z","closed_at":"2016-04-28T13:19:49Z","pull_request":{"url":"https://api.github.com/repos/mozilla/pdf.js/pulls/7254","html_url":"https://github.com/mozilla/pdf.js/pull/7254","diff_url":"https://github.com/mozilla/pdf.js/pull/7254.diff","patch_url":"https://github.com/mozilla/pdf.js/pull/7254.patch"},"body":"Goal is to reduce amount of callback and dependencies in the application modules. Currently we use DOM events, but they are inconsistent. Replacing all of that with custom EventBus -- we will have one per application. If event bus is not provided, it will use (legacy) global one, which will relay events for the DOM.\r\n\r\nFuture work will include replacing direct binding between button events with sending DOM events to the event bus, then processing them from app, e.g. toolbar and secondary toolbar will send a presentation mode event, which will be relayed to the presentation mode module (notice that this event shall be handled sync too, which is the reason why we cannot choose async event bus).\r\n\r\nBlocks #7204 and #7205"},"comment":{"url":"https://api.github.com/repos/mozilla/pdf.js/issues/comments/215420395","html_url":"https://github.com/mozilla/pdf.js/pull/7254#issuecomment-215420395","issue_url":"https://api.github.com/repos/mozilla/pdf.js/issues/7254","id":215420395,"user":{"login":"Snuffleupagus","id":2692120,"avatar_url":"https://avatars.githubusercontent.com/u/2692120?v=3","gravatar_id":"","url":"https://api.github.com/users/Snuffleupagus","html_url":"https://github.com/Snuffleupagus","followers_url":"https://api.github.com/users/Snuffleupagus/followers","following_url":"https://api.github.com/users/Snuffleupagus/following{/other_user}","gists_url":"https://api.github.com/users/Snuffleupagus/gists{/gist_id}","starred_url":"https://api.github.com/users/Snuffleupagus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Snuffleupagus/subscriptions","organizations_url":"https://api.github.com/users/Snuffleupagus/orgs","repos_url":"https://api.github.com/users/Snuffleupagus/repos","events_url":"https://api.github.com/users/Snuffleupagus/events{/privacy}","received_events_url":"https://api.github.com/users/Snuffleupagus/received_events","type":"User","site_admin":false},"created_at":"2016-04-28T13:19:52Z","updated_at":"2016-04-28T13:19:52Z","body":"This looks great, thank you for the patch!"}}