31 lines
931 B
CoffeeScript
31 lines
931 B
CoffeeScript
@XModule =
|
|
###
|
|
Load a single module (either an edit module or a display module)
|
|
from the supplied element, which should have a data-type attribute
|
|
specifying the class to load
|
|
###
|
|
loadModule: (element) ->
|
|
moduleType = $(element).data('type')
|
|
if moduleType == 'None'
|
|
return
|
|
|
|
try
|
|
new window[moduleType](element)
|
|
catch error
|
|
console.error "Unable to load #{moduleType}: #{error.message}" if console
|
|
|
|
###
|
|
Load all modules on the page of the specified type.
|
|
If container is provided, only load modules inside that element
|
|
Type is one of 'display' or 'edit'
|
|
###
|
|
loadModules: (type, container) ->
|
|
selector = ".xmodule_#{type}"
|
|
|
|
if container?
|
|
modules = $(container).find(selector)
|
|
else
|
|
modules = $(selector)
|
|
|
|
modules.each (idx, element) -> XModule.loadModule element
|