Commit 054525ff by E. Kolpakov

Tweaked discussion xblocks to get rid of local overrides

parent a9fe8e69
var $$course_id = "{{course_id}}"; var $$course_id = "{{course_id}}";
function DiscussionCourseBlock(runtime, element) { function DiscussionCourseBlock(runtime, element) {
var el = $(element).find('section.discussion'); var el = $(element).find('section.discussion');
var testUrl = runtime.handlerUrl(element, 'test'); var testUrl = runtime.handlerUrl(element, 'test');
if (testUrl.match(/^(http|https):\/\//)) { if (testUrl.match(/^(http|https):\/\//)) {
var hostname = testUrl.match(/^(.*:\/\/[a-z0-9:\-.]+)\//)[1]; var hostname = testUrl.match(/^(.*:\/\/[a-z0-9:\-.]+)\//)[1];
DiscussionUtil.setBaseUrl(hostname); DiscussionUtil.setBaseUrl(hostname);
} }
if (runtime.local_overrides && runtime.local_overrides.discussion) { DiscussionUtil.force_async = true;
runtime.local_overrides.discussion(element, DiscussionUtil); DiscussionApp.start(el);
}
DiscussionApp.start(el);
} }
var $$course_id = "{{course_id}}"; var $$course_id = "{{course_id}}";
function DiscussionInlineBlock(runtime, element) { function DiscussionInlineBlock(runtime, element) {
var el = $(element).find('.discussion-module'); var el = $(element).find('.discussion-module');
var testUrl = runtime.handlerUrl(element, 'test'); var testUrl = runtime.handlerUrl(element, 'test');
if (testUrl.match(/^(http|https):\/\//)) { if (testUrl.match(/^(http|https):\/\//)) {
var hostname = testUrl.match(/^(.*:\/\/[a-z0-9:\-.]+)\//)[1]; var hostname = testUrl.match(/^(.*:\/\/[a-z0-9:\-.]+)\//)[1];
DiscussionUtil.setBaseUrl(hostname); DiscussionUtil.setBaseUrl(hostname);
} }
if (runtime.local_overrides && runtime.local_overrides.discussion) { DiscussionUtil.force_async = true;
runtime.local_overrides.discussion(element, DiscussionUtil); new DiscussionModuleView({ el: el });
}
new DiscussionModuleView({ el: el });
} }
...@@ -16,6 +16,9 @@ if Backbone? ...@@ -16,6 +16,9 @@ if Backbone?
Content.loadContentInfos(content_info) Content.loadContentInfos(content_info)
discussion = new Discussion(threads, {pages: thread_pages, sort: sort_preference}) discussion = new Discussion(threads, {pages: thread_pages, sort: sort_preference})
course_settings = new DiscussionCourseSettings(element.data("course-settings")) course_settings = new DiscussionCourseSettings(element.data("course-settings"))
if Backbone.History.started
# TODO: hardcoded route - replace with relative path based on current URL and existing history.root
DiscussionUtil.route_prefix = "courses/#{$$course_id}/discussion"
new DiscussionRouter({discussion: discussion, course_settings: course_settings}) new DiscussionRouter({discussion: discussion, course_settings: course_settings})
if !Backbone.History.started if !Backbone.History.started
Backbone.history.start({pushState: true, root: "/courses/#{$$course_id}/discussion/forum/"}) Backbone.history.start({pushState: true, root: "/courses/#{$$course_id}/discussion/forum/"})
......
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