STUD-1465
Changed the XBlock rendering logic to use promises to track asynchronous tasks.
Each dependency is then only loaded once the previous one has completed, and the
XBlock initialization only happens once all dependencies are loaded. This gives
XBlocks the same semantics in Studio as they get when shown directly on a page.
This is the changes for STUD-1244, which introduces the ability for Studio to display
arbitrarily nested xblocks. In this change, a new container page is introduced which can
display nested xblocks. In particular, the xblock type of 'vertical' is special cased
to be shown inline as a collapsible section. The unit page is mostly unchanged, except
that container xblock's are shown as a link to their container page, rather than being
shown inline.
This bug affected unpublishing content (and would trigger an error
message in studio). The fix was to uncouple the rendering of the studio_view
of an xblock with the student_view, so that content that wasn't in
draft mode already wouldn't be modified by early rendering of the
studio_view.
[STUD-1316]
These changes implement STUD-813. The commit consists of the
following logical changes:
- a REST API has been implemented for a course's assets
- the page itself now fetches the assets client-side
- the Backbone.Paginator library is used to support pagination
- the AssetCollection has been refactored to extend
Backbone.Paginator.requestPager so that it can be paged
- an abstract PagingView class has been added to generalize
the communication with a paging REST API
- the AssetsView has been reimplemented to extend PagingView
- two new child views have been added:
- PagingHeader: the paging controls above the list of assets
- PagingFooter: the paging controls below the assets
Remove unused variables; some changes to match existing BDD spec for
drag/drop (expand-on-hover timeout and dropping with mouse outside of
element); bugfix for section expand; some code cleanup; update and
re-enable acceptance test.