Wow that looks amazing - you are truly an UX designer :)
So I try to explain how the prototype works and what mistakes were made there - maybe this helps you.
The input design
The inputmgr reads new files, adds them to filemgr(for the history). The filemgr sends an event
file:text once it has parsed the entire file.
The widget injection
Flaws in this design
At the moment I can think at least of these flaws, but as for all software produce, there might be more:
- The adapter shouldn't call
addWidget, they should be pure views (e.g. like Backbone views used for msa-tnt)
- The user can't pick the actual component, it is "guessed" automatically (which is nice), but for the long run there might be multiple components (or just consider two different instances of c3 as bar and pie chart)
- The adapter should be part of the actual package
- The list of available components is currently hard-coded
- The adapter could extend a modified (Bacbkbone) view that allows features like saving/restoring of configuration or listing to resize event