added html collapsibles
This commit is contained in:
@@ -17,6 +17,9 @@ log = logging.getLogger("mitx.courseware")
|
||||
|
||||
|
||||
class HtmlModule(XModule):
|
||||
js = {'coffee': [resource_string(__name__, 'js/src/html/display.coffee')]}
|
||||
js_module_name = "HTMLModule"
|
||||
|
||||
def get_html(self):
|
||||
return self.html
|
||||
|
||||
|
||||
26
common/lib/xmodule/xmodule/js/src/html/display.coffee
Normal file
26
common/lib/xmodule/xmodule/js/src/html/display.coffee
Normal file
@@ -0,0 +1,26 @@
|
||||
class @HTMLModule
|
||||
|
||||
constructor: (@element) ->
|
||||
@el = $(@element)
|
||||
@setCollapsibles()
|
||||
|
||||
$: (selector) ->
|
||||
$(selector, @el)
|
||||
|
||||
setCollapsibles: =>
|
||||
$('.longform').hide();
|
||||
$('.shortform').append('<a href="#" class="full">See full output</a>');
|
||||
$('.collapsible section').hide();
|
||||
$('.full').click @toggleFull
|
||||
$('.collapsible header a').click @toggleHint
|
||||
|
||||
toggleFull: (event) =>
|
||||
$(event.target).parent().siblings().slideToggle()
|
||||
$(event.target).parent().parent().toggleClass('open')
|
||||
text = $(event.target).text() == 'See full output' ? 'Hide output' : 'See full output'
|
||||
$(this).text(text)
|
||||
|
||||
toggleHint: (event) =>
|
||||
event.preventDefault()
|
||||
$(event.target).parent().siblings().slideToggle()
|
||||
$(event.target).parent().parent().toggleClass('open')
|
||||
Reference in New Issue
Block a user