Commit 50559b64 by Toby Lawrence

[PERF-321] Move heavy JS files for WordCloud out of lms-modules.js

parent 246bd19e
...@@ -93,10 +93,6 @@ class WordCloudModule(WordCloudFields, XModule): ...@@ -93,10 +93,6 @@ class WordCloudModule(WordCloudFields, XModule):
js = { js = {
'js': [ 'js': [
resource_string(__name__, 'js/src/javascript_loader.js'), resource_string(__name__, 'js/src/javascript_loader.js'),
resource_string(__name__, 'js/src/word_cloud/d3.min.js'),
resource_string(__name__, 'js/src/word_cloud/d3.layout.cloud.js'),
resource_string(__name__, 'js/src/word_cloud/word_cloud.js'),
resource_string(__name__, 'js/src/word_cloud/word_cloud_main.js'),
], ],
} }
css = {'scss': [resource_string(__name__, 'css/word_cloud/display.scss')]} css = {'scss': [resource_string(__name__, 'css/word_cloud/display.scss')]}
...@@ -238,7 +234,17 @@ class WordCloudModule(WordCloudFields, XModule): ...@@ -238,7 +234,17 @@ class WordCloudModule(WordCloudFields, XModule):
}) })
def get_html(self): def get_html(self):
"""Template rendering.""" """
Template rendering.
"""
js_includes = [
self.runtime.local_resource_url(self, 'public/js/d3.min.js'),
self.runtime.local_resource_url(self, 'public/js/d3.layout.cloud.js'),
self.runtime.local_resource_url(self, 'public/js/word_cloud.js'),
self.runtime.local_resource_url(self, 'public/js/word_cloud_main.js'),
]
context = { context = {
'ajax_url': self.system.ajax_url, 'ajax_url': self.system.ajax_url,
'display_name': self.display_name, 'display_name': self.display_name,
...@@ -247,6 +253,7 @@ class WordCloudModule(WordCloudFields, XModule): ...@@ -247,6 +253,7 @@ class WordCloudModule(WordCloudFields, XModule):
'element_id': self.location.html_id(), 'element_id': self.location.html_id(),
'num_inputs': self.num_inputs, 'num_inputs': self.num_inputs,
'submitted': self.submitted, 'submitted': self.submitted,
'js_includes': js_includes,
} }
self.content = self.system.render_template('word_cloud.html', context) self.content = self.system.render_template('word_cloud.html', context)
return self.content return self.content
...@@ -255,5 +262,5 @@ class WordCloudModule(WordCloudFields, XModule): ...@@ -255,5 +262,5 @@ class WordCloudModule(WordCloudFields, XModule):
class WordCloudDescriptor(WordCloudFields, MetadataOnlyEditingDescriptor, EmptyDataRawDescriptor): class WordCloudDescriptor(WordCloudFields, MetadataOnlyEditingDescriptor, EmptyDataRawDescriptor):
"""Descriptor for WordCloud Xmodule.""" """Descriptor for WordCloud Xmodule."""
module_class = WordCloudModule module_class = WordCloudModule
resources_dir = None resources_dir = 'assets/word_cloud'
template_dir_name = 'word_cloud' template_dir_name = 'word_cloud'
...@@ -7,6 +7,10 @@ ...@@ -7,6 +7,10 @@
data-ajax-url="${ajax_url}" data-ajax-url="${ajax_url}"
> >
% for js_include in js_includes:
<script src="${js_include}"></script>
% endfor
% if display_name: % if display_name:
<h3 class="hd hd-3" id="word_cloud_${element_id}_heading">${display_name}</h3> <h3 class="hd hd-3" id="word_cloud_${element_id}_heading">${display_name}</h3>
% endif % endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment