{"action":"created","issue":{"url":"https://api.github.com/repos/ckeditor/ckeditor5-design/issues/53","labels_url":"https://api.github.com/repos/ckeditor/ckeditor5-design/issues/53/labels{/name}","comments_url":"https://api.github.com/repos/ckeditor/ckeditor5-design/issues/53/comments","events_url":"https://api.github.com/repos/ckeditor/ckeditor5-design/issues/53/events","html_url":"https://github.com/ckeditor/ckeditor5-design/issues/53","id":60490376,"number":53,"title":"Make CKEDITOR a generic events proxy","user":{"login":"fredck","id":630060,"avatar_url":"https://avatars.githubusercontent.com/u/630060?v=3","gravatar_id":"","url":"https://api.github.com/users/fredck","html_url":"https://github.com/fredck","followers_url":"https://api.github.com/users/fredck/followers","following_url":"https://api.github.com/users/fredck/following{/other_user}","gists_url":"https://api.github.com/users/fredck/gists{/gist_id}","starred_url":"https://api.github.com/users/fredck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fredck/subscriptions","organizations_url":"https://api.github.com/users/fredck/orgs","repos_url":"https://api.github.com/users/fredck/repos","events_url":"https://api.github.com/users/fredck/events{/privacy}","received_events_url":"https://api.github.com/users/fredck/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2015-03-10T12:15:17Z","updated_at":"2015-03-10T12:35:37Z","closed_at":null,"body":"We've been talking about the possibility of having \"event bubbling\". For example having a chain of events fired on an object's parents tree, like: button.press (source) -> toolbar.press -> region.press -> editor.press. We understood that this is tricky.\r\n\r\nIn the other hand, it would be extremely useful to handle a single place where to listen for events from any source and of any kind. The optimal place for it would be the `CKEDITOR` module.\r\n\r\nThis means that anything that uses `fire()` from our events API would fire also on `CKEDITOR`. Then, the `source` property of the event object passed to listeners can be used to recognize the source.\r\n\r\nAcceptable?"},"comment":{"url":"https://api.github.com/repos/ckeditor/ckeditor5-design/issues/comments/78044558","html_url":"https://github.com/ckeditor/ckeditor5-design/issues/53#issuecomment-78044558","issue_url":"https://api.github.com/repos/ckeditor/ckeditor5-design/issues/53","id":78044558,"user":{"login":"fredck","id":630060,"avatar_url":"https://avatars.githubusercontent.com/u/630060?v=3","gravatar_id":"","url":"https://api.github.com/users/fredck","html_url":"https://github.com/fredck","followers_url":"https://api.github.com/users/fredck/followers","following_url":"https://api.github.com/users/fredck/following{/other_user}","gists_url":"https://api.github.com/users/fredck/gists{/gist_id}","starred_url":"https://api.github.com/users/fredck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fredck/subscriptions","organizations_url":"https://api.github.com/users/fredck/orgs","repos_url":"https://api.github.com/users/fredck/repos","events_url":"https://api.github.com/users/fredck/events{/privacy}","received_events_url":"https://api.github.com/users/fredck/received_events","type":"User","site_admin":false},"created_at":"2015-03-10T12:35:37Z","updated_at":"2015-03-10T12:35:37Z","body":"Btw, currently `fire()` is pretty fast if there is no registered listeners... the first thing it does is a dictionary check for them and it exits straight if none found. We can even try to micro-optimize it if necessary.\r\n\r\nI don't see this as a performance issue."}}