Standardize how Problem and Video modules are loaded in the LMS and CMS preview pane
This commit is contained in:
@@ -4,16 +4,20 @@ class CMS.Models.Module extends Backbone.Model
|
||||
data: ''
|
||||
|
||||
loadModule: (element) ->
|
||||
moduleType = @get('type')
|
||||
|
||||
try
|
||||
@module = new window[@get('type')](element)
|
||||
@module = if moduleType? then new window[moduleType](element) else null
|
||||
catch error
|
||||
console.error "Unable to load #{@get('type')}: #{error.message}" if console
|
||||
console.error "Unable to load #{moduleType}: #{error.message}" if console
|
||||
|
||||
loadPreview: (element) ->
|
||||
previewType = @get('previewType')
|
||||
|
||||
try
|
||||
@previewModule = new window[@get('previewType')](element)
|
||||
@previewModule = if previewType? then new window[previewType](element) else null
|
||||
catch error
|
||||
console.error "Unable to load #{@get('previewType')}: #{error.message}" if console
|
||||
console.error "Unable to load #{previewType}: #{error.message}" if console
|
||||
|
||||
editUrl: ->
|
||||
"/edit_item?#{$.param(id: @get('id'))}"
|
||||
|
||||
@@ -4,8 +4,10 @@ class CMS.Views.Module extends Backbone.View
|
||||
|
||||
edit: (event) =>
|
||||
event.preventDefault()
|
||||
previewType = @$el.data('preview-type')
|
||||
moduleType = @$el.data('type')
|
||||
CMS.replaceView new CMS.Views.ModuleEdit
|
||||
model: new CMS.Models.Module
|
||||
id: @$el.data('id')
|
||||
type: @$el.data('type')
|
||||
previewType: @$el.data('preview-type')
|
||||
type: if moduleType == 'None' then null else moduleType
|
||||
previewType: if previewType == 'None' then null else previewType
|
||||
|
||||
@@ -27,4 +27,10 @@ class CMS.Views.ModuleEdit extends Backbone.View
|
||||
|
||||
editSubmodule: (event) ->
|
||||
event.preventDefault()
|
||||
CMS.pushView(new CMS.Views.ModuleEdit(model: new CMS.Models.Module(id: $(event.target).data('id'), type: $(event.target).data('type'))))
|
||||
previewType = $(event.target).data('preview-type')
|
||||
moduleType = $(event.target).data('type')
|
||||
CMS.pushView new CMS.Views.ModuleEdit
|
||||
model: new CMS.Models.Module
|
||||
id: $(event.target).data('id')
|
||||
type: if moduleType == 'None' then null else moduleType
|
||||
previewType: if previewType == 'None' then null else previewType
|
||||
|
||||
Reference in New Issue
Block a user