Currently Author uses the Global namespace to share state and functionality between components. CanJS is often crosswired into this global state management to keep the CanJS app level state in sync. We need to systematically work our way through the Author tabs, refactoring that code into easily sharable and re-usable components that only care about the App level state.
Some ideas & previous lessons learned:
1) refactor only!!! resist temptation to add/improve code or features
2) Look at the Main About tab as example of partial refactor to CanJS
3) Possibly allow dual global/canjs code to exist, moving to module imports where able and iterate over this (example, tlogic)
4) Move replaced code into Archive folder to prevent legacy code from making things work from the shadows - we want code to fail so it can be fixed
5) Add tests as needed to help solidify the new code
Pre-Requisites
[ ] bind global window.gGuide to canjs guide, safely managing the synced state (see about/main.js and bind-custom-events.js)
[x] move ckeditor code into it's own util module or component
Currently Author uses the Global namespace to share state and functionality between components. CanJS is often crosswired into this global state management to keep the CanJS app level state in sync. We need to systematically work our way through the Author tabs, refactoring that code into easily sharable and re-usable components that only care about the App level state.
Some ideas & previous lessons learned: 1) refactor only!!! resist temptation to add/improve code or features 2) Look at the Main About tab as example of partial refactor to CanJS 3) Possibly allow dual global/canjs code to exist, moving to module imports where able and iterate over this (example, tlogic) 4) Move replaced code into Archive folder to prevent legacy code from making things work from the shadows - we want code to fail so it can be fixed 5) Add tests as needed to help solidify the new code
Pre-Requisites
Tabs