From 4f25ca5538b71b96cb872dfe515062ab8d9950c4 Mon Sep 17 00:00:00 2001 From: Zia Fazal Date: Tue, 4 Apr 2017 16:31:13 +0500 Subject: [PATCH] fix loading of discussion on Prod like environment --- .../static/js/discussion_course.js | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/openedx/core/lib/xblock_builtin/xblock_discussion_course/static/js/discussion_course.js b/openedx/core/lib/xblock_builtin/xblock_discussion_course/static/js/discussion_course.js index d64f4841159d..fb8490c22309 100644 --- a/openedx/core/lib/xblock_builtin/xblock_discussion_course/static/js/discussion_course.js +++ b/openedx/core/lib/xblock_builtin/xblock_discussion_course/static/js/discussion_course.js @@ -8,8 +8,17 @@ function DiscussionCourseBlock(runtime, element) { if (Backbone.History.started) { Backbone.history.stop(); } - function defineDiscussionClasses(define) { + function defineDiscussionClasses() { 'use strict'; + window.RequireJS = window.RequireJS || {}; + RequireJS.requirejs = RequireJS.requirejs || window.requirejs; + RequireJS.require = RequireJS.require || window.require; + RequireJS.define = RequireJS.define || window.define; + + window.require = undefined; + window.define = undefined; + window.requirejs = undefined; + var discussionClasses = [ ['Content', 'common/js/discussion/content'], ['Discussion', 'common/js/discussion/discussion'], @@ -25,7 +34,7 @@ function DiscussionCourseBlock(runtime, element) { ]; discussionClasses.forEach(function(discussionClass) { - define( + RequireJS.define( discussionClass[1], [], function() { @@ -46,8 +55,8 @@ function DiscussionCourseBlock(runtime, element) { var requireConfigScript = document.createElement("script"); requireConfigScript.onload = function() { - defineDiscussionClasses(define); - initializeDiscussionBoardFactory(require) + defineDiscussionClasses(); + initializeDiscussionBoardFactory() }; requireConfigScript.src = "/static/lms/js/require-config.js"; document.body.appendChild(requireConfigScript); @@ -56,13 +65,13 @@ function DiscussionCourseBlock(runtime, element) { document.body.appendChild(vendorScript); } else { - defineDiscussionClasses(RequireJS.define); - initializeDiscussionBoardFactory(RequireJS.require); + defineDiscussionClasses(); + initializeDiscussionBoardFactory(); } }; - function initializeDiscussionBoardFactory(require) { - require( + function initializeDiscussionBoardFactory() { + RequireJS.require( ['discussion/js/discussion_board_factory'], function (DiscussionBoardFactory) { DiscussionBoardFactory({