This removes the vote button from threads on the user profile, which was
the only interaction available on the page other than the link to view
the thread in the main discussion view.
Students no longer see a tooltip nor any button affordance (i.e. cursor
and color change on hover/focus) on the pinning feature. For moderators,
the tooltip is now correct when a thread is pinned, the button is
accessible for keyboard-only users and screen readers, and an error
dialog now appears if an error occurs in attempting to pin/unpin.
JIRA: FOR-192
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