Convert edit_tabs factory to webpack

This commit is contained in:
Calen Pennington
2018-03-23 15:53:55 -04:00
parent ee6360543b
commit 79cd02b001
5 changed files with 38 additions and 22 deletions

View File

@@ -21,7 +21,6 @@
'js/factories/base',
'js/factories/course_create_rerun',
'js/factories/course_info',
'js/factories/edit_tabs',
'js/factories/export',
'js/factories/group_configurations',
'js/certificates/factories/certificates_page_factory',

View File

@@ -1,20 +1,25 @@
define([
'js/models/explicit_url', 'js/views/tabs', 'xmodule', 'cms/js/main', 'xblock/cms.runtime.v1'
], function(TabsModel, TabsEditView, xmoduleLoader) {
'use strict';
return function(courseLocation, explicitUrl) {
xmoduleLoader.done(function() {
var model = new TabsModel({
id: courseLocation,
explicit_url: explicitUrl
}),
editView;
import * as TabsModel from 'js/models/explicit_url';
import * as TabsEditView from 'js/views/tabs';
import * as xmoduleLoader from 'xmodule';
import './base';
import 'cms/js/main';
import 'xblock/cms.runtime.v1';
editView = new TabsEditView({
el: $('.tab-list'),
model: model,
mast: $('.wrapper-mast')
});
'use strict';
export default function EditTabsFactory(courseLocation, explicitUrl) {
xmoduleLoader.done(function() {
var model = new TabsModel({
id: courseLocation,
explicit_url: explicitUrl
}),
editView;
editView = new TabsEditView({
el: $('.tab-list'),
model: model,
mast: $('.wrapper-mast')
});
};
});
});
};
export {EditTabsFactory}

View File

@@ -22,7 +22,7 @@
<%block name="page_bundle">
<%static:webpack entry="js/factories/edit_tabs">
EditTabsFactory("${context_course.location | n, js_escaped_string}", "${reverse('tabs_handler', kwargs={'course_key_string': context_course.id})}");
});
</%static:webpack>
</%block>
<%block name="content">

View File

@@ -53,8 +53,14 @@ REQUIREJS_WAIT = {
# Pages
re.compile(r'^Pages \|'): [
'js/models/explicit_url', 'js/views/tabs',
'xmodule', 'cms/js/main', 'xblock/cms.runtime.v1'
'js/models/explicit_url', 'js/views/tabs', 'cms/js/main', 'xblock/cms.runtime.v1'
],
}
TRUTHY_WAIT = {
# Pages
re.compile(r'^Pages \|'): [
'XBlock'
],
}
@@ -71,6 +77,11 @@ def wait_for_js_to_load():
world.wait_for_requirejs(req)
break
for test, req in TRUTHY_WAIT.items():
if test.search(world.browser.title):
for var in req:
world.wait_for_js_variable_truthy(var)
# Selenium's `execute_async_script` function pauses Selenium's execution
# until the browser calls a specific Javascript callback; in effect,

View File

@@ -36,6 +36,7 @@ module.exports = {
'js/factories/context_course': './cms/static/js/factories/context_course.js',
'js/factories/library': './cms/static/js/factories/library.js',
'js/factories/xblock_validation': './cms/static/js/factories/xblock_validation.js',
'js/factories/edit_tabs': './cms/static/js/factories/edit_tabs.js',
'js/sock': './cms/static/js/sock.js',
// LMS