* Video Player now acting as a parent that always knowing the state of
their children.
* Events on the sub-controls are now triggered on itself, and binded by
the Video Player instead of triggering everything on the Video Player.
* A new helper class, SubView, has been introduced to cleanup repeat
logic on scoped jQuery selector, render() and bind()
* use clearer names for the two status strings passed to js
* add functions to do canonical conversion of progress to js string
* fix updating bug in sequence.coffee
* add some todo comments and other docs to make future expansion easier
* add module_from_xml param to I4xSystem
* use it to implement xmodule.get_children()
* fix a few comments here and there
* Render-time progress display for seq and vertical modules.
- Computes fraction of subproblems done.
* Pass problem state back to js during ajax calls.
* general cleanup in capa_module.py
* add progress_changed and progress fields to json returned from each ajax handler
* Coffeescript changes to hook up sequence tracking of problem progress
* net result: sequence 'a' tags now have a progress class
* properly set css class on initial load
* fire event when progress changes after ajax calls
* also save state in 'progress' property of problems-wrapper tag
* event handler finds those tags, computes updated progress
- responsetype used to be instantiated multiple times(!) in capa_problem
now it is instantiated once, and stored in self.responders
- responsetypes.GenericResponse restructured; each superclass
show now provide setup_response (and not __init__), and may
provide get_max_score(); general __init__ provided to
clean up superclasses.
* use clearer names for the two status strings passed to js
* add functions to do canonical conversion of progress to js string
* fix updating bug in sequence.coffee
* add some todo comments and other docs to make future expansion easier
* add module_from_xml param to I4xSystem
* use it to implement xmodule.get_children()
* fix a few comments here and there
* Render-time progress display for seq and vertical modules.
- Computes fraction of subproblems done.
* Pass problem state back to js during ajax calls.
* general cleanup in capa_module.py
* add progress_changed and progress fields to json returned from each ajax handler
* Coffeescript changes to hook up sequence tracking of problem progress
* net result: sequence 'a' tags now have a progress class
* properly set css class on initial load
* fire event when progress changes after ajax calls
* also save state in 'progress' property of problems-wrapper tag
* event handler finds those tags, computes updated progress
There might be a chance that an error got thrown after 'contentChanged'
event was fired and stop the `toggleArrow()` method to be called. This
will make sure that the navigation will still be working even some
element in the content is failed.
- responsetype used to be instantiated multiple times(!) in capa_problem
now it is instantiated once, and stored in self.responders
- responsetypes.GenericResponse restructured; each superclass
show now provide setup_response (and not __init__), and may
provide get_max_score(); general __init__ provided to
clean up superclasses.