Add new container page that can display nested xblocks

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 commit is contained in:
Andy Armstrong
2014-02-04 18:18:42 -05:00
parent fbd2e3a0bc
commit fcc0231d4d
38 changed files with 1043 additions and 208 deletions

View File

@@ -11,7 +11,8 @@ from xmodule.modulestore.django import loc_mapper
<%block name="jsextra">
<script type='text/javascript'>
require(["domReady!", "jquery", "js/models/module_info", "coffee/src/views/unit", "jquery.ui"],
require(["domReady!", "jquery", "js/models/module_info", "coffee/src/views/unit", "jquery.ui",
"xmodule", "coffee/src/main", "xblock/cms.runtime.v1"],
function(doc, $, ModuleModel, UnitEditView, ui) {
window.unit_location_analytics = '${unit_locator}';
@@ -20,6 +21,7 @@ require(["domReady!", "jquery", "js/models/module_info", "coffee/src/views/unit"
new UnitEditView({
el: $('.main-wrapper'),
view: 'unit',
model: new ModuleModel({
id: '${unit_locator}',
state: '${unit_state}'
@@ -53,7 +55,7 @@ require(["domReady!", "jquery", "js/models/module_info", "coffee/src/views/unit"
<article class="unit-body window">
<p class="unit-name-input"><label for="unit-display-name-input">${_("Display Name:")}</label><input type="text" value="${unit.display_name_with_default | h}" id="unit-display-name-input" class="unit-display-name-input" /></p>
<ol class="components">
% for locator in components:
% for locator in locators:
<li class="component" data-locator="${locator}"/>
% endfor
<li class="new-component-item adding">