Studio support for cohorted courseware
TNL-652
This commit is contained in:
10
cms/static/js/models/custom_sync_xblock_info.js
Normal file
10
cms/static/js/models/custom_sync_xblock_info.js
Normal file
@@ -0,0 +1,10 @@
|
||||
define(["js/models/xblock_info"],
|
||||
function(XBlockInfo) {
|
||||
var CustomSyncXBlockInfo = XBlockInfo.extend({
|
||||
sync: function(method, model, options) {
|
||||
options.url = (this.urlRoots[method] || this.urlRoot) + '/' + this.get('id');
|
||||
return XBlockInfo.prototype.sync.call(this, method, model, options);
|
||||
}
|
||||
});
|
||||
return CustomSyncXBlockInfo;
|
||||
});
|
||||
9
cms/static/js/models/xblock_container_info.js
Normal file
9
cms/static/js/models/xblock_container_info.js
Normal file
@@ -0,0 +1,9 @@
|
||||
define(["js/models/custom_sync_xblock_info"],
|
||||
function(CustomSyncXBlockInfo) {
|
||||
var XBlockContainerInfo = CustomSyncXBlockInfo.extend({
|
||||
urlRoots: {
|
||||
'read': '/xblock/container'
|
||||
}
|
||||
});
|
||||
return XBlockContainerInfo;
|
||||
});
|
||||
@@ -32,7 +32,8 @@ function(Backbone, _, str, ModuleUtils) {
|
||||
*/
|
||||
'edited_on':null,
|
||||
/**
|
||||
* User who last edited the xblock or any of its descendants.
|
||||
* User who last edited the xblock or any of its descendants. Will only be present if
|
||||
* publishing info was explicitly requested.
|
||||
*/
|
||||
'edited_by':null,
|
||||
/**
|
||||
@@ -44,7 +45,8 @@ function(Backbone, _, str, ModuleUtils) {
|
||||
*/
|
||||
'published_on': null,
|
||||
/**
|
||||
* User who last published the xblock, or null if never published.
|
||||
* User who last published the xblock, or null if never published. Will only be present if
|
||||
* publishing info was explicitly requested.
|
||||
*/
|
||||
'published_by': null,
|
||||
/**
|
||||
@@ -70,12 +72,14 @@ function(Backbone, _, str, ModuleUtils) {
|
||||
/**
|
||||
* The xblock which is determining the release date. For instance, for a unit,
|
||||
* this will either be the parent subsection or the grandparent section.
|
||||
* This can be null if the release date is unscheduled.
|
||||
* This can be null if the release date is unscheduled. Will only be present if
|
||||
* publishing info was explicitly requested.
|
||||
*/
|
||||
'release_date_from':null,
|
||||
/**
|
||||
* True if this xblock is currently visible to students. This is computed server-side
|
||||
* so that the logic isn't duplicated on the client.
|
||||
* so that the logic isn't duplicated on the client. Will only be present if
|
||||
* publishing info was explicitly requested.
|
||||
*/
|
||||
'currently_visible_to_students': null,
|
||||
/**
|
||||
@@ -114,13 +118,20 @@ function(Backbone, _, str, ModuleUtils) {
|
||||
/**
|
||||
* The xblock which is determining the staff lock value. For instance, for a unit,
|
||||
* this will either be the parent subsection or the grandparent section.
|
||||
* This can be null if the xblock has no inherited staff lock.
|
||||
* This can be null if the xblock has no inherited staff lock. Will only be present if
|
||||
* publishing info was explicitly requested.
|
||||
*/
|
||||
'staff_lock_from': null,
|
||||
/**
|
||||
* True iff this xblock should display a "Contains staff only content" message.
|
||||
*/
|
||||
'staff_only_message': null
|
||||
'staff_only_message': null,
|
||||
/**
|
||||
* True iff this xblock is a unit, and it has children that are only visible to certain
|
||||
* content groups. Note that this is not a recursive property. Will only be present if
|
||||
* publishing info was explicitly requested.
|
||||
*/
|
||||
'has_content_group_components': null
|
||||
},
|
||||
|
||||
initialize: function () {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
define(["js/models/xblock_info"],
|
||||
function(XBlockInfo) {
|
||||
var XBlockOutlineInfo = XBlockInfo.extend({
|
||||
define(["js/models/custom_sync_xblock_info"],
|
||||
function(CustomSyncXBlockInfo) {
|
||||
var XBlockOutlineInfo = CustomSyncXBlockInfo.extend({
|
||||
|
||||
urlRoots: {
|
||||
'read': '/xblock/outline'
|
||||
@@ -8,15 +8,6 @@ define(["js/models/xblock_info"],
|
||||
|
||||
createChild: function(response) {
|
||||
return new XBlockOutlineInfo(response, { parse: true });
|
||||
},
|
||||
|
||||
sync: function(method, model, options) {
|
||||
var urlRoot = this.urlRoots[method];
|
||||
if (!urlRoot) {
|
||||
urlRoot = this.urlRoot;
|
||||
}
|
||||
options.url = urlRoot + '/' + this.get('id');
|
||||
return XBlockInfo.prototype.sync.call(this, method, model, options);
|
||||
}
|
||||
});
|
||||
return XBlockOutlineInfo;
|
||||
|
||||
Reference in New Issue
Block a user