Commit a3a84dde by Eric Fischer

Infrastructural tweaks for Backgrid dependency loading

parent 7f799416
......@@ -32,6 +32,7 @@ before_script:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
script:
- "make verify-generated-files"
- "make test"
- "python manage.py makemessages -l eo"
branches:
......
......@@ -28,15 +28,17 @@ install-nltk-data:
STATIC_JS = openassessment/xblock/static/js
STATIC_CSS = openassessment/xblock/static/css
javascript:
node_modules/.bin/uglifyjs $(STATIC_JS)/src/oa_shared.js $(STATIC_JS)/src/*.js $(STATIC_JS)/src/lms/*.js > "$(STATIC_JS)/openassessment-lms.min.js"
node_modules/.bin/uglifyjs $(STATIC_JS)/src/oa_shared.js $(STATIC_JS)/src/*.js $(STATIC_JS)/src/studio/*.js > "$(STATIC_JS)/openassessment-studio.min.js"
javascript: update-npm-requirements
node_modules/.bin/uglifyjs $(STATIC_JS)/src/oa_shared.js $(STATIC_JS)/src/*.js $(STATIC_JS)/src/lms/*.js $(STATIC_JS)/lib/backgrid/backgrid.min.js -c > "$(STATIC_JS)/openassessment-lms.min.js"
node_modules/.bin/uglifyjs $(STATIC_JS)/src/oa_shared.js $(STATIC_JS)/src/*.js $(STATIC_JS)/src/studio/*.js $(STATIC_JS)/lib/backgrid/backgrid.min.js -c > "$(STATIC_JS)/openassessment-studio.min.js"
sass:
python scripts/compile_sass.py
verify-generated-files: javascript sass
git diff --exit-code
install-test:
pip install -q -r requirements/test.txt
......@@ -50,8 +52,8 @@ install-dev:
install: install-wheels install-python install-js install-nltk-data install-test install-dev javascript sass
quality:
jshint openassessment/xblock/static/js/src -c .jshintrc --verbose
./node_modules/jscs/bin/jscs openassessment/xblock/static/js/src --verbose
jshint $(STATIC_JS)/src -c .jshintrc --verbose
./node_modules/jscs/bin/jscs $(STATIC_JS)/src --verbose
./scripts/run-pep8.sh
./scripts/run-pylint.sh
......@@ -76,3 +78,8 @@ test-acceptance:
test-a11y:
./scripts/test-acceptance.sh accessibility
update-npm-requirements:
npm update
cp ./node_modules/backgrid/lib/backgrid*.js $(STATIC_JS)/lib/backgrid/
cp ./node_modules/backgrid/lib/backgrid*.css $(STATIC_CSS)/lib/backgrid/
......@@ -361,10 +361,8 @@ class OpenAssessmentBlock(MessageMixin,
"show_staff_area": self.is_course_staff and not self.in_studio_preview,
}
template = get_template("openassessmentblock/oa_base.html")
context = Context(context_dict)
fragment = Fragment(template.render(context))
return self._update_and_return_fragment(fragment, 'OpenAssessmentBlock')
return self._create_fragment(template, context_dict, initialize_js_func='OpenAssessmentBlock')
def ora_blocks_listing_view(self, context=None):
"""This view is used in the Open Response Assessment tab in the LMS Instructor Dashboard
......@@ -394,16 +392,16 @@ class OpenAssessmentBlock(MessageMixin,
}
template = get_template('openassessmentblock/instructor_dashboard/oa_listing.html')
context = Context(context_dict)
fragment = Fragment(template.render(context))
min_postfix = '.min' if settings.DEBUG else ''
css_lst = ["static/css/lib/backgrid/backgrid%s.css" % min_postfix]
js_lst = ["static/js/lib/backgrid/backgrid%s.js" % min_postfix]
return self._update_and_return_fragment(fragment, 'CourseOpenResponsesListingBlock',
additional_css=css_lst, additional_js=js_lst)
return self._create_fragment(
template,
context_dict,
initialize_js_func='CourseOpenResponsesListingBlock',
additional_css=["static/css/lib/backgrid/backgrid%s.css" % min_postfix],
additional_js=["static/js/lib/backgrid/backgrid%s.js" % min_postfix]
)
def grade_available_responses_view(self, context=None):
"""Grade Available Responses view.
......@@ -431,16 +429,17 @@ class OpenAssessmentBlock(MessageMixin,
)
template = get_template('openassessmentblock/instructor_dashboard/oa_grade_available_responses.html')
context = Context(context_dict)
fragment = Fragment(template.render(context))
return self._update_and_return_fragment(fragment, 'StaffAssessmentBlock')
return self._create_fragment(template, context_dict, initialize_js_func='StaffAssessmentBlock')
def _update_and_return_fragment(self, fragment, initialize_js_func, additional_css=None, additional_js=None):
def _create_fragment(self, template, context_dict, initialize_js_func, additional_css=None, additional_js=None):
"""
Auxiliary function to return updated fragment
Creates a fragment for display.
"""
context = Context(context_dict)
fragment = Fragment(template.render(context))
if additional_css is None:
additional_css = []
if additional_js is None:
......@@ -468,8 +467,7 @@ class OpenAssessmentBlock(MessageMixin,
fragment.add_css(load(css))
fragment.add_css(load(css_url))
for js in additional_js:
fragment.add_javascript(load(js))
# minified additional_js should be already included in 'make javascript'
fragment.add_javascript(load("static/js/openassessment-lms.min.js"))
js_context_dict = {
"ALLOWED_IMAGE_MIME_TYPES": self.ALLOWED_IMAGE_MIME_TYPES,
......
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