added html collapsibles

This commit is contained in:
Tom Giannattasio
2012-09-28 12:06:29 -04:00
parent b294c139ce
commit 8d44e6a3db
2 changed files with 29 additions and 0 deletions

View File

@@ -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

View 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')