This repository has been archived by the owner on Sep 6, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7.6k
SplitView Architecture Tasking
Jeff Booher edited this page May 5, 2014
·
18 revisions
Here's a proposed guide to breakup the story into smaller arch pieces:
-
Opportunistic Cleanup
- _openInlineWidget
- _toggleInlineWidget
- _showCustomViewer
- closeInlineWidget
- getInlineEditors
- getFocusedInlineWidget
-
Migrate WorkingSet Management to
EditorManager
- Code new WorkingSet APIs in EditorManager
- Move serialization code from DocumentManager
- add deprecation warnings to old APIs
- add bridge to new API from old APIs
- Write issues for extensions still using old APIs
- Migrate core and default extension code to new WorkingSet API
- Notify extension authors
- Update Unit tests
-
Refactor
File.commands
fromDocumentCommandHandlers
intoFileCommandHandlers
(depends on #2)- Move FILE.xxx and call EditorManager functions
-
Deprecate getWorkingSet (depends on #2)
- Migrate all core instances (7)
- Migrate all core extension instances
- Notify extension authors
- Add deprecation warning
- Unit tests
-
Migrate DocumentManager.getCurrentDocument (depends on #2)
- Notify all extension authors
-
Implement EditorManager code for 1x2 editors
- implement new Editor and Editor Manager APIs
- Erect any temporary scaffolding UI to build feature
- implement EditorLayoutManager
- implement PaneManagement
- implement WorkingSetView create
- implement dynamic editor create
- implement dynamic WorkingSetView create
- working set context and gear menus
- update serialization code
- close others extension
- test git extension (notfy zaggino)
- Unit tests
-
Add support for images in working set
- implement EditorManager.createCustomViewerForFile
- implement view factory
- create custom viewer for images
- implement all file based commands to work on non-document based objects
- Implement all working set commands for non-document based objects
- implement editor.getDisplayName() to get the name to show in the working set
- Unit tests
-
Implement UI for split view (depends on 6)
- implement core changes to direct splits, etc...