This requires fixing the javascript api implementation, and adding
an implementation of get_block to the ModuleSystem api.
However, the implementation is incomplete, due to mismatches between
the expectations of XModule and XBlock.
Also adds tests using the Acid block to make sure that the javascript
and python apis for children are working correctly.
Users will first be shown the first 25 responses of a viewed thread and
then have the option of loading 100 more at a time until all responses
have been loaded. This mitigates the performance impact of very large
threads by avoiding the need to render and transfer over the network
all content of a large thread at once. It will also allow students with
slower browsers to interact with large threads even if they cannot load
all of the responses.
Previously, buttons were activated on pressing Enter, but the expected
behavior is to activate on pressing Space. Several JavaScript errors
that prevented various buttons from properly activating via the keyboard
are also fixed.
This change involves substantial refactoring of the relevant code to
reduce duplication. It also makes the templates for the vote buttons
more consistent and cleaner.
JIRA: FOR-64