{"action":"opened","issue":{"url":"https://api.github.com/repos/kylestetz/CLNDR/issues/225","labels_url":"https://api.github.com/repos/kylestetz/CLNDR/issues/225/labels{/name}","comments_url":"https://api.github.com/repos/kylestetz/CLNDR/issues/225/comments","events_url":"https://api.github.com/repos/kylestetz/CLNDR/issues/225/events","html_url":"https://github.com/kylestetz/CLNDR/issues/225","id":118048167,"number":225,"title":"Small enhancements for Version 1.4","user":{"login":"mikegioia","id":387937,"avatar_url":"https://avatars.githubusercontent.com/u/387937?v=3","gravatar_id":"","url":"https://api.github.com/users/mikegioia","html_url":"https://github.com/mikegioia","followers_url":"https://api.github.com/users/mikegioia/followers","following_url":"https://api.github.com/users/mikegioia/following{/other_user}","gists_url":"https://api.github.com/users/mikegioia/gists{/gist_id}","starred_url":"https://api.github.com/users/mikegioia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikegioia/subscriptions","organizations_url":"https://api.github.com/users/mikegioia/orgs","repos_url":"https://api.github.com/users/mikegioia/repos","events_url":"https://api.github.com/users/mikegioia/events{/privacy}","received_events_url":"https://api.github.com/users/mikegioia/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kylestetz/CLNDR/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":{"login":"kylestetz","id":2008156,"avatar_url":"https://avatars.githubusercontent.com/u/2008156?v=3","gravatar_id":"","url":"https://api.github.com/users/kylestetz","html_url":"https://github.com/kylestetz","followers_url":"https://api.github.com/users/kylestetz/followers","following_url":"https://api.github.com/users/kylestetz/following{/other_user}","gists_url":"https://api.github.com/users/kylestetz/gists{/gist_id}","starred_url":"https://api.github.com/users/kylestetz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylestetz/subscriptions","organizations_url":"https://api.github.com/users/kylestetz/orgs","repos_url":"https://api.github.com/users/kylestetz/repos","events_url":"https://api.github.com/users/kylestetz/events{/privacy}","received_events_url":"https://api.github.com/users/kylestetz/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/kylestetz/CLNDR/milestones/3","html_url":"https://github.com/kylestetz/CLNDR/milestones/CLNDR%201.4","labels_url":"https://api.github.com/repos/kylestetz/CLNDR/milestones/3/labels","id":1421748,"number":3,"title":"CLNDR 1.4","description":"Code cleanup according to a style guide, and small refactoring to prepare for the Version 2.0 release.\r\n\r\n##### ToDos\r\n\r\n- [ ] Decide on style guide\r\n- [ ] Write up style guide and/or include links in Wiki\r\n- [ ] Format library code, add documentation\r\n- [ ] Small cleanup of event API\r\n- [ ] Remove `_.reduce` to get rid of Underscore dependency\r\n\r\n##### TBD\r\n\r\n- [ ] Remove default 'month' calendar behavior and enforce `lengthOfTime` option is set. The plugin can be backwards compatible by defaulting to a 1-month implementation. This can reduce the need for 3 separate cases (days, months, default) and replace it with just 2 (days, months) via `lengthOfTime`. It might not make sense to do this right now and instead wait for v2.","creator":{"login":"mikegioia","id":387937,"avatar_url":"https://avatars.githubusercontent.com/u/387937?v=3","gravatar_id":"","url":"https://api.github.com/users/mikegioia","html_url":"https://github.com/mikegioia","followers_url":"https://api.github.com/users/mikegioia/followers","following_url":"https://api.github.com/users/mikegioia/following{/other_user}","gists_url":"https://api.github.com/users/mikegioia/gists{/gist_id}","starred_url":"https://api.github.com/users/mikegioia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikegioia/subscriptions","organizations_url":"https://api.github.com/users/mikegioia/orgs","repos_url":"https://api.github.com/users/mikegioia/repos","events_url":"https://api.github.com/users/mikegioia/events{/privacy}","received_events_url":"https://api.github.com/users/mikegioia/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2015-11-20T13:57:10Z","updated_at":"2015-11-20T14:04:37Z","due_on":"2015-12-31T05:00:00Z","closed_at":null},"comments":0,"created_at":"2015-11-20T14:04:37Z","updated_at":"2015-11-20T14:04:37Z","closed_at":null,"body":"The main purpose of 1.4 is to do the style cleanup and to get the 1.X series ready for maintenance mode. There are a few things I've noticed in the library that could either be cleaned up now, or they could wait for the re-write in version 2.\r\n\r\n##### Consolidate forward/backward events\r\n\r\nThere are 8 methods to handle moving the calendar forward and backward. Four are simply wrappers/aliases, but the other four are used to go forward/back. These are 'forwardAction`, 'forwardActionWithContext`, 'backAction`, 'backActionWithContext`. I think we can combine these by having an optional context argument, defaulting to `this` when called from the userland.\r\n\r\nA more thorough eventing update could happen in 2.0 but this could at least remove the duplicated code for now.\r\n\r\n##### (Maybe) Remove the default 'month' rendering and enforce use of `lengthOfTime`\r\n\r\nRight now are three rendering modes: days, months, and the default \"current month\". This current month is the legacy method. I think we can remove it by defaulting to a lenghtOfTime of 1 month with a period of 1. The API would need to return the same data in the 1.X branch (which is unfortunate) but it would remove this unnecessary third condition from the library.\r\n\r\nThis may be better served to wait for the 2.0 release, which I have a rough outline for that I'll present in another ticket."}}