From d43e915dabcc062068336528df7d9a1bdd857f54 Mon Sep 17 00:00:00 2001 From: Brian Jacobel Date: Fri, 5 Aug 2016 12:28:50 -0400 Subject: [PATCH] Run eslint autofixer on /cms --- cms/static/cms/js/build.js | 5 +- cms/static/cms/js/require-config.js | 10 +- cms/static/cms/js/spec/main_spec.js | 146 ++-- cms/static/cms/js/xblock/cms.runtime.v1.js | 6 - cms/static/js/base.js | 201 +++-- .../certificates/collections/certificates.js | 16 +- .../factories/certificates_page_factory.js | 4 +- .../js/certificates/models/certificate.js | 20 +- .../js/certificates/spec/custom_matchers.js | 8 +- .../spec/models/certificate_spec.js | 8 +- .../spec/views/certificate_details_spec.js | 57 +- .../spec/views/certificate_editor_spec.js | 49 +- .../spec/views/certificate_preview_spec.js | 31 +- .../spec/views/certificates_list_spec.js | 7 +- .../certificates/views/certificate_details.js | 12 +- .../certificates/views/certificate_editor.js | 20 +- .../js/certificates/views/certificate_item.js | 4 +- .../certificates/views/certificate_preview.js | 30 +- .../certificates/views/certificates_list.js | 2 +- .../certificates/views/certificates_page.js | 2 +- .../certificates/views/signatory_details.js | 8 +- .../js/certificates/views/signatory_editor.js | 51 +- cms/static/js/collections/asset.js | 8 +- cms/static/js/collections/chapter.js | 6 +- .../js/collections/component_template.js | 4 +- cms/static/js/collections/course_grader.js | 17 +- cms/static/js/collections/course_update.js | 4 +- cms/static/js/collections/group.js | 8 +- cms/static/js/collections/metadata.js | 6 +- cms/static/js/collections/textbook.js | 14 +- cms/static/js/factories/asset_index.js | 12 +- cms/static/js/factories/container.js | 4 +- .../js/factories/course_create_rerun.js | 4 +- cms/static/js/factories/course_info.js | 10 +- cms/static/js/factories/edit_tabs.js | 6 +- cms/static/js/factories/export.js | 10 +- .../js/factories/group_configurations.js | 2 +- cms/static/js/factories/import.js | 25 +- cms/static/js/factories/index.js | 8 +- cms/static/js/factories/library.js | 4 +- cms/static/js/factories/login.js | 14 +- cms/static/js/factories/manage_users.js | 6 +- cms/static/js/factories/manage_users_lib.js | 10 +- cms/static/js/factories/outline.js | 2 +- cms/static/js/factories/register.js | 8 +- cms/static/js/factories/settings.js | 2 +- cms/static/js/factories/settings_advanced.js | 2 +- cms/static/js/factories/settings_graders.js | 6 +- cms/static/js/factories/textbooks.js | 4 +- cms/static/js/factories/videos_index.js | 6 +- cms/static/js/factories/xblock_validation.js | 8 +- cms/static/js/index.js | 54 +- cms/static/js/models/active_video_upload.js | 12 +- cms/static/js/models/asset.js | 38 +- cms/static/js/models/assignment_grade.js | 10 +- cms/static/js/models/chapter.js | 20 +- cms/static/js/models/checklist.js | 2 +- cms/static/js/models/component_template.js | 8 +- cms/static/js/models/course.js | 6 +- cms/static/js/models/course_info.js | 8 +- cms/static/js/models/course_update.js | 14 +- .../js/models/custom_sync_xblock_info.js | 2 +- cms/static/js/models/explicit_url.js | 6 +- cms/static/js/models/group.js | 8 +- cms/static/js/models/license.js | 74 +- cms/static/js/models/location.js | 32 +- cms/static/js/models/metadata.js | 42 +- cms/static/js/models/module_info.js | 16 +- cms/static/js/models/section.js | 69 +- cms/static/js/models/settings/advanced.js | 17 +- .../js/models/settings/course_details.js | 174 ++-- .../js/models/settings/course_grader.js | 123 ++- .../models/settings/course_grading_policy.js | 163 ++-- cms/static/js/models/textbook.js | 163 ++-- cms/static/js/models/uploads.js | 111 ++- cms/static/js/models/validation_helpers.js | 9 +- cms/static/js/models/xblock_container_info.js | 2 +- cms/static/js/models/xblock_info.js | 52 +- cms/static/js/models/xblock_outline_info.js | 4 +- cms/static/js/models/xblock_validation.js | 16 +- .../collections/auto_auth_collection.js | 8 +- .../collections/course_runs_collection.js | 16 +- .../collections/programs_collection.js | 10 +- .../js/programs/models/api_config_model.js | 6 +- .../js/programs/models/auto_auth_model.js | 8 +- cms/static/js/programs/models/course_model.js | 16 +- .../js/programs/models/course_run_model.js | 6 +- .../js/programs/models/organizations_model.js | 8 +- .../js/programs/models/program_model.js | 54 +- cms/static/js/programs/program_admin_app.js | 6 +- cms/static/js/programs/router.js | 26 +- cms/static/js/programs/shims/gettext.js | 8 +- cms/static/js/programs/utils/api_config.js | 7 +- cms/static/js/programs/utils/auth_utils.js | 34 +- .../js/programs/utils/validation_config.js | 80 +- .../js/programs/views/confirm_modal_view.js | 30 +- .../js/programs/views/course_details_view.js | 84 +- .../js/programs/views/course_run_view.js | 32 +- .../programs/views/program_admin_app_view.js | 20 +- .../js/programs/views/program_creator_view.js | 70 +- .../js/programs/views/program_details_view.js | 104 +-- cms/static/js/sock.js | 16 +- .../spec/factories/xblock_validation_spec.js | 29 +- .../js/spec/models/auto_auth_model_spec.js | 80 +- .../js/spec/models/component_template_spec.js | 83 +- .../js/spec/models/explicit_url_spec.js | 8 +- .../spec/models/group_configuration_spec.js | 108 +-- cms/static/js/spec/models/license_spec.js | 92 +-- cms/static/js/spec/models/xblock_info_spec.js | 22 +- .../js/spec/models/xblock_validation_spec.js | 124 +-- .../js/spec/utils/drag_and_drop_spec.js | 92 +-- .../spec/utils/handle_iframe_binding_spec.js | 45 +- cms/static/js/spec/utils/module_spec.js | 14 +- .../spec/video/file_uploader_editor_spec.js | 50 +- .../js/spec/video/transcripts/editor_spec.js | 69 +- .../video/transcripts/file_uploader_spec.js | 88 +- .../video/transcripts/message_manager_spec.js | 98 ++- .../js/spec/video/transcripts/utils_spec.js | 445 +++++----- .../spec/video/transcripts/videolist_spec.js | 202 +++-- .../js/spec/video/translations_editor_spec.js | 62 +- .../views/active_video_upload_list_spec.js | 142 ++-- cms/static/js/spec/views/assets_spec.js | 256 +++--- cms/static/js/spec/views/baseview_spec.js | 27 +- cms/static/js/spec/views/container_spec.js | 73 +- .../js/spec/views/group_configuration_spec.js | 129 ++- cms/static/js/spec/views/license_spec.js | 222 +++-- cms/static/js/spec/views/login_studio_spec.js | 6 +- .../js/spec/views/modals/base_modal_spec.js | 29 +- .../js/spec/views/modals/edit_xblock_spec.js | 35 +- .../modals/validation_error_modal_spec.js | 15 +- cms/static/js/spec/views/module_edit_spec.js | 2 +- .../js/spec/views/paged_container_spec.js | 196 +++-- .../js/spec/views/pages/container_spec.js | 379 +++++---- .../views/pages/container_subviews_spec.js | 206 ++--- .../spec/views/pages/course_outline_spec.js | 705 ++++++++-------- .../js/spec/views/pages/course_rerun_spec.js | 70 +- .../views/pages/group_configurations_spec.js | 24 +- cms/static/js/spec/views/pages/index_spec.js | 42 +- .../js/spec/views/pages/library_users_spec.js | 80 +- cms/static/js/spec/views/paging_spec.js | 121 ++- .../views/previous_video_upload_list_spec.js | 30 +- .../spec/views/previous_video_upload_spec.js | 64 +- .../views/programs/program_creator_spec.js | 182 ++-- .../views/programs/program_details_spec.js | 316 +++---- .../js/spec/views/settings/main_spec.js | 153 ++-- cms/static/js/spec/views/unit_outline_spec.js | 20 +- .../js/spec/views/xblock_editor_spec.js | 21 +- cms/static/js/spec/views/xblock_spec.js | 48 +- .../views/xblock_string_field_editor_spec.js | 62 +- .../js/spec/views/xblock_validation_spec.js | 92 +-- .../js/spec_helpers/assertion_helpers.js | 16 +- cms/static/js/spec_helpers/edit_helpers.js | 49 +- cms/static/js/spec_helpers/modal_helpers.js | 4 +- .../js/spec_helpers/validation_helpers.js | 6 +- cms/static/js/utils/cancel_on_escape.js | 6 +- cms/static/js/utils/change_on_enter.js | 8 +- cms/static/js/utils/date_utils.js | 42 +- cms/static/js/utils/drag_and_drop.js | 45 +- cms/static/js/utils/handle_iframe_binding.js | 28 +- cms/static/js/utils/modal.js | 18 +- cms/static/js/utils/module.js | 4 +- cms/static/js/utils/templates.js | 7 +- cms/static/js/views/abstract_editor.js | 22 +- cms/static/js/views/active_video_upload.js | 22 +- .../js/views/active_video_upload_list.js | 62 +- cms/static/js/views/asset.js | 170 ++-- cms/static/js/views/assets.js | 99 ++- cms/static/js/views/baseview.js | 14 +- cms/static/js/views/components/add_xblock.js | 11 +- .../js/views/components/add_xblock_button.js | 12 +- .../js/views/components/add_xblock_menu.js | 22 +- cms/static/js/views/container.js | 36 +- cms/static/js/views/content_group_details.js | 6 +- cms/static/js/views/content_group_item.js | 4 +- cms/static/js/views/course_info_edit.js | 41 +- cms/static/js/views/course_info_handout.js | 153 ++-- cms/static/js/views/course_info_helper.js | 10 +- cms/static/js/views/course_info_update.js | 495 ++++++----- cms/static/js/views/course_outline.js | 13 +- cms/static/js/views/course_rerun.js | 12 +- cms/static/js/views/edit_chapter.js | 10 +- cms/static/js/views/edit_textbook.js | 180 ++-- cms/static/js/views/experiment_group_edit.js | 6 +- .../js/views/group_configuration_details.js | 8 +- .../js/views/group_configuration_editor.js | 8 +- .../js/views/group_configuration_item.js | 2 +- cms/static/js/views/import.js | 123 ++- cms/static/js/views/instructor_info.js | 36 +- cms/static/js/views/learning_info.js | 12 +- cms/static/js/views/library_container.js | 4 +- cms/static/js/views/license.js | 136 +-- cms/static/js/views/list.js | 4 +- cms/static/js/views/list_item.js | 6 +- cms/static/js/views/list_item_editor.js | 2 +- cms/static/js/views/list_textbooks.js | 88 +- cms/static/js/views/manage_users_and_roles.js | 82 +- cms/static/js/views/metadata.js | 188 ++--- cms/static/js/views/modals/base_modal.js | 4 +- .../js/views/modals/course_outline_modals.js | 197 +++-- cms/static/js/views/modals/edit_xblock.js | 14 +- .../js/views/modals/validation_error_modal.js | 10 +- cms/static/js/views/module_edit.js | 155 ++-- cms/static/js/views/paged_container.js | 65 +- cms/static/js/views/pages/base_page.js | 2 +- cms/static/js/views/pages/container.js | 32 +- .../js/views/pages/container_subviews.js | 64 +- cms/static/js/views/pages/course_outline.js | 60 +- .../js/views/pages/group_configurations.js | 8 +- cms/static/js/views/pages/paged_container.js | 22 +- cms/static/js/views/paging.js | 13 +- cms/static/js/views/paging_header.js | 184 ++--- cms/static/js/views/previous_video_upload.js | 20 +- .../js/views/previous_video_upload_list.js | 14 +- cms/static/js/views/settings/advanced.js | 259 +++--- cms/static/js/views/settings/grader.js | 124 ++- cms/static/js/views/settings/grading.js | 590 +++++++------ cms/static/js/views/settings/main.js | 774 +++++++++--------- cms/static/js/views/show_textbook.js | 128 +-- cms/static/js/views/tabs.js | 2 - cms/static/js/views/unit_outline.js | 2 +- cms/static/js/views/uploads.js | 30 +- .../js/views/utils/create_course_utils.js | 18 +- .../js/views/utils/create_library_utils.js | 16 +- .../js/views/utils/create_utils_base.js | 32 +- cms/static/js/views/utils/xblock_utils.js | 18 +- cms/static/js/views/validation.js | 290 ++++--- .../js/views/video/transcripts/editor.js | 27 +- .../views/video/transcripts/file_uploader.js | 22 +- .../video/transcripts/message_manager.js | 44 +- .../video/transcripts/metadata_videolist.js | 59 +- .../js/views/video/transcripts/utils.js | 297 ++++--- .../js/views/video/translations_editor.js | 58 +- cms/static/js/views/xblock.js | 46 +- cms/static/js/views/xblock_editor.js | 13 +- cms/static/js/views/xblock_outline.js | 11 +- .../js/views/xblock_string_field_editor.js | 7 +- cms/static/js/views/xblock_validation.js | 25 +- cms/static/js/xblock/authoring.js | 4 +- .../js/xblock_asides/structured_tags.js | 3 +- cms/static/karma_cms_squire.conf.js | 2 +- 240 files changed, 7119 insertions(+), 7257 deletions(-) diff --git a/cms/static/cms/js/build.js b/cms/static/cms/js/build.js index ca5f98eaf7..fd90513c2a 100644 --- a/cms/static/cms/js/build.js +++ b/cms/static/cms/js/build.js @@ -16,7 +16,7 @@ var getModulesList = function(modules) { var result = [getModule(commonLibrariesPath)]; - return result.concat(modules.map(function (moduleName) { + return result.concat(modules.map(function(moduleName) { return getModule(moduleName, true); })); }; @@ -171,4 +171,5 @@ */ logLevel: 1 }; -}()) +}()) // eslint-disable-line semi +// A semicolon on the line above will break the requirejs optimizer diff --git a/cms/static/cms/js/require-config.js b/cms/static/cms/js/require-config.js index ebce5dc0f1..45aadf6498 100644 --- a/cms/static/cms/js/require-config.js +++ b/cms/static/cms/js/require-config.js @@ -1,4 +1,4 @@ -;(function(require, define) { +(function(require, define) { 'use strict'; if (window) { @@ -210,12 +210,12 @@ window.MathJax.Hub.Config({ tex2jax: { inlineMath: [ - ['\\(','\\)'], - ['[mathjaxinline]','[/mathjaxinline]'] + ['\\(', '\\)'], + ['[mathjaxinline]', '[/mathjaxinline]'] ], displayMath: [ - ['\\[','\\]'], - ['[mathjax]','[/mathjax]'] + ['\\[', '\\]'], + ['[mathjax]', '[/mathjax]'] ] } }); diff --git a/cms/static/cms/js/spec/main_spec.js b/cms/static/cms/js/spec/main_spec.js index e61d25d444..ed01a312b2 100644 --- a/cms/static/cms/js/spec/main_spec.js +++ b/cms/static/cms/js/spec/main_spec.js @@ -2,81 +2,81 @@ (function(sandbox) { 'use strict'; - require(["jquery", "backbone", "cms/js/main", "edx-ui-toolkit/js/utils/spec-helpers/ajax-helpers", "jquery.cookie"], + require(['jquery', 'backbone', 'cms/js/main', 'edx-ui-toolkit/js/utils/spec-helpers/ajax-helpers', 'jquery.cookie'], function($, Backbone, main, AjaxHelpers) { - describe("CMS", function() { - it("should initialize URL", function() { - expect(window.CMS.URL).toBeDefined(); - }); - }); - describe("main helper", function() { - beforeEach(function() { - this.previousAjaxSettings = $.extend(true, {}, $.ajaxSettings); - spyOn($, "cookie").and.callFake(function(param) { - if (param === "csrftoken") { - return "stubCSRFToken"; - } + describe('CMS', function() { + it('should initialize URL', function() { + expect(window.CMS.URL).toBeDefined(); + }); }); - return main(); - }); - afterEach(function() { - $.ajaxSettings = this.previousAjaxSettings; - return $.ajaxSettings; - }); - it("turn on Backbone emulateHTTP", function() { - expect(Backbone.emulateHTTP).toBeTruthy(); - }); - it("setup AJAX CSRF token", function() { - expect($.ajaxSettings.headers["X-CSRFToken"]).toEqual("stubCSRFToken"); - }); - }); - describe("AJAX Errors", function() { - var server; - server = null; - beforeEach(function() { - appendSetFixtures(sandbox({ - id: "page-notification" - })); - }); - afterEach(function() { - return server && server.restore(); - }); - it("successful AJAX request does not pop an error notification", function() { - server = AjaxHelpers.server([ - 200, { - "Content-Type": "application/json" - }, "{}" - ]); - expect($("#page-notification")).toBeEmpty(); - $.ajax("/test"); - expect($("#page-notification")).toBeEmpty(); - server.respond(); - expect($("#page-notification")).toBeEmpty(); - }); - it("AJAX request with error should pop an error notification", function() { - server = AjaxHelpers.server([ - 500, { - "Content-Type": "application/json" - }, "{}" - ]); - $.ajax("/test"); - server.respond(); - expect($("#page-notification")).not.toBeEmpty(); - expect($("#page-notification")).toContainElement('div.wrapper-notification-error'); - }); - it("can override AJAX request with error so it does not pop an error notification", function() { - server = AjaxHelpers.server([ - 500, { - "Content-Type": "application/json" - }, "{}" - ]); - $.ajax({ - url: "/test", - notifyOnError: false + describe('main helper', function() { + beforeEach(function() { + this.previousAjaxSettings = $.extend(true, {}, $.ajaxSettings); + spyOn($, 'cookie').and.callFake(function(param) { + if (param === 'csrftoken') { + return 'stubCSRFToken'; + } + }); + return main(); + }); + afterEach(function() { + $.ajaxSettings = this.previousAjaxSettings; + return $.ajaxSettings; + }); + it('turn on Backbone emulateHTTP', function() { + expect(Backbone.emulateHTTP).toBeTruthy(); + }); + it('setup AJAX CSRF token', function() { + expect($.ajaxSettings.headers['X-CSRFToken']).toEqual('stubCSRFToken'); + }); + }); + describe('AJAX Errors', function() { + var server; + server = null; + beforeEach(function() { + appendSetFixtures(sandbox({ + id: 'page-notification' + })); + }); + afterEach(function() { + return server && server.restore(); + }); + it('successful AJAX request does not pop an error notification', function() { + server = AjaxHelpers.server([ + 200, { + 'Content-Type': 'application/json' + }, '{}' + ]); + expect($('#page-notification')).toBeEmpty(); + $.ajax('/test'); + expect($('#page-notification')).toBeEmpty(); + server.respond(); + expect($('#page-notification')).toBeEmpty(); + }); + it('AJAX request with error should pop an error notification', function() { + server = AjaxHelpers.server([ + 500, { + 'Content-Type': 'application/json' + }, '{}' + ]); + $.ajax('/test'); + server.respond(); + expect($('#page-notification')).not.toBeEmpty(); + expect($('#page-notification')).toContainElement('div.wrapper-notification-error'); + }); + it('can override AJAX request with error so it does not pop an error notification', function() { + server = AjaxHelpers.server([ + 500, { + 'Content-Type': 'application/json' + }, '{}' + ]); + $.ajax({ + url: '/test', + notifyOnError: false + }); + server.respond(); + expect($('#page-notification')).toBeEmpty(); + }); }); - server.respond(); - expect($("#page-notification")).toBeEmpty(); }); - }); - }); }).call(this, sandbox); diff --git a/cms/static/cms/js/xblock/cms.runtime.v1.js b/cms/static/cms/js/xblock/cms.runtime.v1.js index 6c5e73aaf3..6b07ec80e1 100644 --- a/cms/static/cms/js/xblock/cms.runtime.v1.js +++ b/cms/static/cms/js/xblock/cms.runtime.v1.js @@ -24,7 +24,6 @@ define(['jquery', 'backbone', 'xblock/runtime.v1', 'URI', 'gettext', 'js/utils/m StudioRuntime = {}; BaseRuntime.v1 = (function(_super) { - __extends(v1, _super); v1.prototype.handlerUrl = function(element, handlerName, suffix, query) { @@ -150,11 +149,9 @@ define(['jquery', 'backbone', 'xblock/runtime.v1', 'URI', 'gettext', 'js/utils/m }; return v1; - })(XBlock.Runtime.v1); PreviewRuntime.v1 = (function(_super) { - __extends(v1, _super); function v1() { @@ -164,11 +161,9 @@ define(['jquery', 'backbone', 'xblock/runtime.v1', 'URI', 'gettext', 'js/utils/m v1.prototype.handlerPrefix = '/preview/xblock'; return v1; - })(BaseRuntime.v1); StudioRuntime.v1 = (function(_super) { - __extends(v1, _super); function v1() { @@ -178,7 +173,6 @@ define(['jquery', 'backbone', 'xblock/runtime.v1', 'URI', 'gettext', 'js/utils/m v1.prototype.handlerPrefix = '/xblock'; return v1; - })(BaseRuntime.v1); // Install the runtime's into the global namespace diff --git a/cms/static/js/base.js b/cms/static/js/base.js index 94c6cc2648..ed2c75f7bf 100644 --- a/cms/static/js/base.js +++ b/cms/static/js/base.js @@ -1,19 +1,19 @@ require([ - "domReady", - "jquery", - "underscore", - "gettext", - "common/js/components/views/feedback_notification", - "common/js/components/views/feedback_prompt", - "js/utils/date_utils", - "js/utils/module", - "js/utils/handle_iframe_binding", - "edx-ui-toolkit/js/dropdown-menu/dropdown-menu-view", - "jquery.ui", - "jquery.leanModal", - "jquery.form", - "jquery.smoothScroll" - ], + 'domReady', + 'jquery', + 'underscore', + 'gettext', + 'common/js/components/views/feedback_notification', + 'common/js/components/views/feedback_prompt', + 'js/utils/date_utils', + 'js/utils/module', + 'js/utils/handle_iframe_binding', + 'edx-ui-toolkit/js/dropdown-menu/dropdown-menu-view', + 'jquery.ui', + 'jquery.leanModal', + 'jquery.form', + 'jquery.smoothScroll' +], function( domReady, $, @@ -27,113 +27,110 @@ require([ DropdownMenuView ) { + var $body; -var $body; + domReady(function() { + var dropdownMenuView; -domReady(function() { - var dropdownMenuView; - - $body = $('body'); + $body = $('body'); - $body.on('click', '.embeddable-xml-input', function() { - $(this).select(); - }); + $body.on('click', '.embeddable-xml-input', function() { + $(this).select(); + }); - $body.addClass('js'); + $body.addClass('js'); - // alerts/notifications - manual close - $('.action-alert-close, .alert.has-actions .nav-actions a').bind('click', hideAlert); - $('.action-notification-close').bind('click', hideNotification); + // alerts/notifications - manual close + $('.action-alert-close, .alert.has-actions .nav-actions a').bind('click', hideAlert); + $('.action-notification-close').bind('click', hideNotification); - // nav - dropdown related - $body.click(function(e) { - $('.nav-dd .nav-item .wrapper-nav-sub').removeClass('is-shown'); - $('.nav-dd .nav-item .title').removeClass('is-selected'); - }); + // nav - dropdown related + $body.click(function(e) { + $('.nav-dd .nav-item .wrapper-nav-sub').removeClass('is-shown'); + $('.nav-dd .nav-item .title').removeClass('is-selected'); + }); - $('.nav-dd .nav-item, .filterable-column .nav-item').click(function(e) { + $('.nav-dd .nav-item, .filterable-column .nav-item').click(function(e) { + $subnav = $(this).find('.wrapper-nav-sub'); + $title = $(this).find('.title'); - $subnav = $(this).find('.wrapper-nav-sub'); - $title = $(this).find('.title'); - - if ($subnav.hasClass('is-shown')) { - $subnav.removeClass('is-shown'); - $title.removeClass('is-selected'); - } else { - $('.nav-dd .nav-item .title').removeClass('is-selected'); - $('.nav-dd .nav-item .wrapper-nav-sub').removeClass('is-shown'); - $title.addClass('is-selected'); - $subnav.addClass('is-shown'); + if ($subnav.hasClass('is-shown')) { + $subnav.removeClass('is-shown'); + $title.removeClass('is-selected'); + } else { + $('.nav-dd .nav-item .title').removeClass('is-selected'); + $('.nav-dd .nav-item .wrapper-nav-sub').removeClass('is-shown'); + $title.addClass('is-selected'); + $subnav.addClass('is-shown'); // if propagation is not stopped, the event will bubble up to the // body element, which will close the dropdown. - e.stopPropagation(); - } - }); + e.stopPropagation(); + } + }); - // general link management - new window/tab - $('a[rel="external"]:not([title])').attr('title', gettext('This link will open in a new browser window/tab')); - $('a[rel="external"]').attr('target', '_blank'); + // general link management - new window/tab + $('a[rel="external"]:not([title])').attr('title', gettext('This link will open in a new browser window/tab')); + $('a[rel="external"]').attr('target', '_blank'); - // general link management - lean modal window - $('a[rel="modal"]').attr('title', gettext('This link will open in a modal window')).leanModal({ - overlay: 0.50, - closeButton: '.action-modal-close' - }); - $('.action-modal-close').click(function(e) { - (e).preventDefault(); - }); + // general link management - lean modal window + $('a[rel="modal"]').attr('title', gettext('This link will open in a modal window')).leanModal({ + overlay: 0.50, + closeButton: '.action-modal-close' + }); + $('.action-modal-close').click(function(e) { + (e).preventDefault(); + }); - // general link management - smooth scrolling page links - $('a[rel*="view"][href^="#"]').bind('click', smoothScrollLink); + // general link management - smooth scrolling page links + $('a[rel*="view"][href^="#"]').bind('click', smoothScrollLink); - IframeUtils.iframeBinding(); + IframeUtils.iframeBinding(); - // disable ajax caching in IE so that backbone fetches work - if ($.browser.msie) { - $.ajaxSetup({ cache: false }); - } + // disable ajax caching in IE so that backbone fetches work + if ($.browser.msie) { + $.ajaxSetup({cache: false}); + } - //Initiate the edx tool kit dropdown menu - if ($('.js-header-user-menu').length){ - dropdownMenuView = new DropdownMenuView({ - el: '.js-header-user-menu' + // Initiate the edx tool kit dropdown menu + if ($('.js-header-user-menu').length) { + dropdownMenuView = new DropdownMenuView({ + el: '.js-header-user-menu' + }); + dropdownMenuView.postRender(); + } }); - dropdownMenuView.postRender(); - } -}); -function smoothScrollLink(e) { - (e).preventDefault(); + function smoothScrollLink(e) { + (e).preventDefault(); - $.smoothScroll({ - offset: -200, - easing: 'swing', - speed: 1000, - scrollElement: null, - scrollTarget: $(this).attr('href') - }); -} + $.smoothScroll({ + offset: -200, + easing: 'swing', + speed: 1000, + scrollElement: null, + scrollTarget: $(this).attr('href') + }); + } -function smoothScrollTop(e) { - (e).preventDefault(); + function smoothScrollTop(e) { + (e).preventDefault(); - $.smoothScroll({ - offset: -200, - easing: 'swing', - speed: 1000, - scrollElement: null, - scrollTarget: $('#view-top') - }); -} + $.smoothScroll({ + offset: -200, + easing: 'swing', + speed: 1000, + scrollElement: null, + scrollTarget: $('#view-top') + }); + } -function hideNotification(e) { - (e).preventDefault(); - $(this).closest('.wrapper-notification').removeClass('is-shown').addClass('is-hiding').attr('aria-hidden', 'true'); -} + function hideNotification(e) { + (e).preventDefault(); + $(this).closest('.wrapper-notification').removeClass('is-shown').addClass('is-hiding').attr('aria-hidden', 'true'); + } -function hideAlert(e) { - (e).preventDefault(); - $(this).closest('.wrapper-alert').removeClass('is-shown'); -} - -}); // end require() + function hideAlert(e) { + (e).preventDefault(); + $(this).closest('.wrapper-alert').removeClass('is-shown'); + } + }); // end require() diff --git a/cms/static/js/certificates/collections/certificates.js b/cms/static/js/certificates/collections/certificates.js index 778a43f7ed..e567514d21 100644 --- a/cms/static/js/certificates/collections/certificates.js +++ b/cms/static/js/certificates/collections/certificates.js @@ -29,7 +29,7 @@ function(Backbone, gettext, Certificate) { } catch (ex) { // If it didn't parse, and `certificate_info` is an object then return as it is // otherwise return empty array - if (typeof certificate_info === 'object'){ + if (typeof certificate_info === 'object') { return_array = certificate_info; } else { @@ -44,28 +44,28 @@ function(Backbone, gettext, Certificate) { return return_array; }, - onModelRemoved: function () { + onModelRemoved: function() { // remove the certificate web preview UI. - if(window.certWebPreview && this.length === 0) { + if (window.certWebPreview && this.length === 0) { window.certWebPreview.remove(); } this.toggleAddNewItemButtonState(); }, - onModelAdd: function () { + onModelAdd: function() { this.toggleAddNewItemButtonState(); }, toggleAddNewItemButtonState: function() { // user can create a new item e.g certificate; if not exceeded the maxAllowed limit. - if(this.length >= this.maxAllowed) { - $(".action-add").addClass('action-add-hidden'); + if (this.length >= this.maxAllowed) { + $('.action-add').addClass('action-add-hidden'); } else { - $(".action-add").removeClass('action-add-hidden'); + $('.action-add').removeClass('action-add-hidden'); } }, - parse: function (certificatesJson) { + parse: function(certificatesJson) { // Transforms the provided JSON into a Certificates collection var modelArray = this.certificate_array(certificatesJson); diff --git a/cms/static/js/certificates/factories/certificates_page_factory.js b/cms/static/js/certificates/factories/certificates_page_factory.js index 39d7941f42..cb935ddb06 100644 --- a/cms/static/js/certificates/factories/certificates_page_factory.js +++ b/cms/static/js/certificates/factories/certificates_page_factory.js @@ -20,7 +20,7 @@ define([ ], function($, CertificatesCollection, Certificate, CertificatesPage, CertificatePreview) { 'use strict'; - return function (certificatesJson, certificateUrl, courseOutlineUrl, course_modes, certificate_web_view_url, + return function(certificatesJson, certificateUrl, courseOutlineUrl, course_modes, certificate_web_view_url, is_active, certificate_activation_handler_url) { // Initialize the model collection, passing any necessary options to the constructor var certificatesCollection = new CertificatesCollection(certificatesJson, { @@ -31,7 +31,7 @@ function($, CertificatesCollection, Certificate, CertificatesPage, CertificatePr // associating the certificate_preview globally. // need to show / hide this view in some other places. - if(!window.certWebPreview && certificate_web_view_url) { + if (!window.certWebPreview && certificate_web_view_url) { window.certWebPreview = new CertificatePreview({ course_modes: course_modes, certificate_web_view_url: certificate_web_view_url, diff --git a/cms/static/js/certificates/models/certificate.js b/cms/static/js/certificates/models/certificate.js index 5518867312..a440d569d6 100644 --- a/cms/static/js/certificates/models/certificate.js +++ b/cms/static/js/certificates/models/certificate.js @@ -1,15 +1,15 @@ // Backbone.js Application Model: Certificate define([ - 'underscore', - 'backbone', - 'backbone-relational', - 'backbone.associations', - 'gettext', - 'cms/js/main', - 'js/certificates/models/signatory', - 'js/certificates/collections/signatories' - ], + 'underscore', + 'backbone', + 'backbone-relational', + 'backbone.associations', + 'gettext', + 'cms/js/main', + 'js/certificates/models/signatory', + 'js/certificates/collections/signatories' +], function(_, Backbone, BackboneRelational, BackboneAssociations, gettext, CoffeeSrcMain, SignatoryModel, SignatoryCollection) { 'use strict'; @@ -78,7 +78,7 @@ define([ attributes: {name: true} }; } - var allSignatoriesValid = _.every(attrs.signatories.models, function(signatory){ + var allSignatoriesValid = _.every(attrs.signatories.models, function(signatory) { return signatory.isValid(); }); if (!allSignatoriesValid) { diff --git a/cms/static/js/certificates/spec/custom_matchers.js b/cms/static/js/certificates/spec/custom_matchers.js index 38e21459e0..cd960f469f 100644 --- a/cms/static/js/certificates/spec/custom_matchers.js +++ b/cms/static/js/certificates/spec/custom_matchers.js @@ -3,13 +3,13 @@ define(['jquery'], function($) { // eslint-disable-line no-unused-vars 'use strict'; - return function () { + return function() { jasmine.addMatchers({ - toBeCorrectValuesInModel: function () { + toBeCorrectValuesInModel: function() { // Assert the value being tested has key values which match the provided values return { - compare: function (actual, values) { - var passed = _.every(values, function (value, key) { + compare: function(actual, values) { + var passed = _.every(values, function(value, key) { return actual.get(key) === value; }.bind(this)); diff --git a/cms/static/js/certificates/spec/models/certificate_spec.js b/cms/static/js/certificates/spec/models/certificate_spec.js index bfd229feab..6c37488859 100644 --- a/cms/static/js/certificates/spec/models/certificate_spec.js +++ b/cms/static/js/certificates/spec/models/certificate_spec.js @@ -11,7 +11,7 @@ function(CertificateModel, CertificateCollection) { beforeEach(function() { this.newModelOptions = {add: true}; this.model = new CertificateModel({editing: true}, this.newModelOptions); - this.collection = new CertificateCollection([ this.model ], {certificateUrl: '/outline'}); + this.collection = new CertificateCollection([this.model], {certificateUrl: '/outline'}); }); describe('Basic', function() { @@ -39,18 +39,16 @@ function(CertificateModel, CertificateCollection) { describe('Validation', function() { it('requires a name', function() { - var model = new CertificateModel({ name: '' }, this.newModelOptions); + var model = new CertificateModel({name: ''}, this.newModelOptions); expect(model.isValid()).toBeFalsy(); }); it('can pass validation', function() { - var model = new CertificateModel({ name: 'foo' }, this.newModelOptions); + var model = new CertificateModel({name: 'foo'}, this.newModelOptions); expect(model.isValid()).toBeTruthy(); }); - }); }); - }); diff --git a/cms/static/js/certificates/spec/views/certificate_details_spec.js b/cms/static/js/certificates/spec/views/certificate_details_spec.js index 863fac166f..4a58c5d97e 100644 --- a/cms/static/js/certificates/spec/views/certificate_details_spec.js +++ b/cms/static/js/certificates/spec/views/certificate_details_spec.js @@ -41,15 +41,15 @@ function(_, Course, CertificatesCollection, CertificateModel, CertificateDetails inputSignatoryTitle: '.signatory-title-input', inputSignatoryOrganization: '.signatory-organization-input' }; - var verifyAndConfirmPrompt = function(promptSpy, promptText){ + var verifyAndConfirmPrompt = function(promptSpy, promptText) { ViewHelpers.verifyPromptShowing(promptSpy, gettext(promptText)); ViewHelpers.confirmPrompt(promptSpy); ViewHelpers.verifyPromptHidden(promptSpy); }; describe('Certificate Details Spec:', function() { - var setValuesToInputs = function (view, values) { - _.each(values, function (value, selector) { + var setValuesToInputs = function(view, values) { + _.each(values, function(value, selector) { if (SELECTORS[selector]) { view.$(SELECTORS[selector]).val(value); view.$(SELECTORS[selector]).trigger('change'); @@ -96,8 +96,8 @@ function(_, Course, CertificatesCollection, CertificateModel, CertificateDetails is_active: true }, this.newModelOptions); - this.collection = new CertificatesCollection([ this.model ], { - certificateUrl: '/certificates/'+ window.course.id + this.collection = new CertificatesCollection([this.model], { + certificateUrl: '/certificates/' + window.course.id }); this.model.set('id', 0); this.view = new CertificateDetailsView({ @@ -120,44 +120,43 @@ function(_, Course, CertificatesCollection, CertificateModel, CertificateDetails describe('The Certificate Details view', function() { - - it('should parse a JSON string collection into a Backbone model collection', function () { - var course_title = "Test certificate course title override 2"; + it('should parse a JSON string collection into a Backbone model collection', function() { + var course_title = 'Test certificate course title override 2'; var CERTIFICATE_JSON = '[{"course_title": "' + course_title + '", "signatories":"[]"}]'; this.collection.parse(CERTIFICATE_JSON); var model = this.collection.at(1); expect(model.get('course_title')).toEqual(course_title); }); - it('should parse a JSON object collection into a Backbone model collection', function () { - var course_title = "Test certificate course title override 2"; + it('should parse a JSON object collection into a Backbone model collection', function() { + var course_title = 'Test certificate course title override 2'; var CERTIFICATE_JSON_OBJECT = [{ - "course_title" : course_title, - "signatories" : "[]" + 'course_title': course_title, + 'signatories': '[]' }]; this.collection.parse(CERTIFICATE_JSON_OBJECT); var model = this.collection.at(1); expect(model.get('course_title')).toEqual(course_title); }); - it('should have empty certificate collection if there is an error parsing certifcate JSON', function () { + it('should have empty certificate collection if there is an error parsing certifcate JSON', function() { var CERTIFICATE_INVALID_JSON = '[{"course_title": Test certificate course title override, "signatories":"[]"}]'; // eslint-disable-line max-len var collection_length = this.collection.length; this.collection.parse(CERTIFICATE_INVALID_JSON); - //collection length should remain the same since we have error parsing JSON + // collection length should remain the same since we have error parsing JSON expect(this.collection.length).toEqual(collection_length); }); - it('should display the certificate course title override', function () { + it('should display the certificate course title override', function() { expect(this.view.$(SELECTORS.course_title)).toExist(); expect(this.view.$(SELECTORS.course_title)).toContainText('Test Course Title Override'); }); - it('should present an Edit action', function () { + it('should present an Edit action', function() { expect(this.view.$('.edit')).toExist(); }); - it('should change to "edit" mode when clicking the Edit button and confirming the prompt', function(){ + it('should change to "edit" mode when clicking the Edit button and confirming the prompt', function() { expect(this.view.$('.action-edit .edit')).toExist(); var promptSpy = ViewHelpers.createPromptSpy(); this.view.$('.action-edit .edit').click(); @@ -165,67 +164,64 @@ function(_, Course, CertificatesCollection, CertificateModel, CertificateDetails expect(this.model.get('editing')).toBe(true); }); - it('should not show confirmation prompt when clicked on "edit" in case of inactive certificate', function(){ + it('should not show confirmation prompt when clicked on "edit" in case of inactive certificate', function() { this.model.set('is_active', false); expect(this.view.$('.action-edit .edit')).toExist(); this.view.$('.action-edit .edit').click(); expect(this.model.get('editing')).toBe(true); }); - it('should not present a Edit action if user is not global staff and certificate is active', function () { + it('should not present a Edit action if user is not global staff and certificate is active', function() { window.CMS.User = {isGlobalStaff: false}; appendSetFixtures(this.view.render().el); expect(this.view.$('.action-edit .edit')).not.toExist(); }); - it('should present a Delete action', function () { + it('should present a Delete action', function() { expect(this.view.$('.action-delete .delete')).toExist(); }); - it('should not present a Delete action if user is not global staff and certificate is active', function () { + it('should not present a Delete action if user is not global staff and certificate is active', function() { window.CMS.User = {isGlobalStaff: false}; appendSetFixtures(this.view.render().el); expect(this.view.$('.action-delete .delete')).not.toExist(); }); - it('should prompt the user when when clicking the Delete button', function(){ + it('should prompt the user when when clicking the Delete button', function() { expect(this.view.$('.action-delete .delete')).toExist(); this.view.$('.action-delete .delete').click(); }); - it('should scroll to top after rendering if necessary', function () { + it('should scroll to top after rendering if necessary', function() { $.smoothScroll = jasmine.createSpy('jQuery.smoothScroll'); appendSetFixtures(this.view.render().el); expect($.smoothScroll).toHaveBeenCalled(); }); - }); - describe('Signatory details', function(){ - + describe('Signatory details', function() { beforeEach(function() { this.view.render(); }); - it('displays certificate signatories details', function(){ + it('displays certificate signatories details', function() { this.view.$('.show-details').click(); expect(this.view.$(SELECTORS.signatory_name_value)).toContainText(''); expect(this.view.$(SELECTORS.signatory_title_value)).toContainText(''); expect(this.view.$(SELECTORS.signatory_organization_value)).toContainText(''); }); - it('should present Edit action on signaotry', function () { + it('should present Edit action on signaotry', function() { expect(this.view.$(SELECTORS.edit_signatory)).toExist(); }); - it('should not present Edit action on signaotry if user is not global staff and certificate is active', function () { + it('should not present Edit action on signaotry if user is not global staff and certificate is active', function() { window.CMS.User = {isGlobalStaff: false}; this.view.render(); expect(this.view.$(SELECTORS.edit_signatory)).not.toExist(); }); it('supports in-line editing of signatory information', function() { - this.view.$(SELECTORS.edit_signatory).click(); expect(this.view.$(SELECTORS.inputSignatoryName)).toExist(); expect(this.view.$(SELECTORS.inputSignatoryTitle)).toExist(); @@ -233,7 +229,6 @@ function(_, Course, CertificatesCollection, CertificateModel, CertificateDetails }); it('correctly persists changes made during in-line signatory editing', function() { - var requests = AjaxHelpers.requests(this), notificationSpy = ViewHelpers.createNotificationSpy(); diff --git a/cms/static/js/certificates/spec/views/certificate_editor_spec.js b/cms/static/js/certificates/spec/views/certificate_editor_spec.js index f674a9d56b..39416e56a8 100644 --- a/cms/static/js/certificates/spec/views/certificate_editor_spec.js +++ b/cms/static/js/certificates/spec/views/certificate_editor_spec.js @@ -37,14 +37,14 @@ function(_, Course, CertificateModel, SignatoryModel, CertificatesCollection, Ce note: '.wrapper-delete-button', addSignatoryButton: '.action-add-signatory', signatoryDeleteButton: '.signatory-panel-delete', - uploadSignatureButton:'.action-upload-signature', + uploadSignatureButton: '.action-upload-signature', uploadDialog: 'form.upload-dialog', uploadDialogButton: '.action-upload', uploadDialogFileInput: 'form.upload-dialog input[type=file]', saveCertificateButton: 'button.action-primary' }; - var clickDeleteItem = function (that, promptText, element, url) { + var clickDeleteItem = function(that, promptText, element, url) { var requests = AjaxHelpers.requests(that), promptSpy = ViewHelpers.createPromptSpy(), notificationSpy = ViewHelpers.createNotificationSpy(); @@ -53,7 +53,7 @@ function(_, Course, CertificateModel, SignatoryModel, CertificatesCollection, Ce ViewHelpers.verifyPromptShowing(promptSpy, promptText); ViewHelpers.confirmPrompt(promptSpy); ViewHelpers.verifyPromptHidden(promptSpy); - if (!_.isUndefined(url) && !_.isEmpty(url)){ + if (!_.isUndefined(url) && !_.isEmpty(url)) { AjaxHelpers.expectJsonRequest(requests, 'POST', url); expect(_.last(requests).requestHeaders['X-HTTP-Method-Override']).toBe('DELETE'); ViewHelpers.verifyNotificationShowing(notificationSpy, /Deleting/); @@ -62,7 +62,7 @@ function(_, Course, CertificateModel, SignatoryModel, CertificatesCollection, Ce } }; - var showConfirmPromptAndClickCancel = function (view, element, promptText) { + var showConfirmPromptAndClickCancel = function(view, element, promptText) { var promptSpy = ViewHelpers.createPromptSpy(); view.$(element).click(); ViewHelpers.verifyPromptShowing(promptSpy, promptText); @@ -70,15 +70,15 @@ function(_, Course, CertificateModel, SignatoryModel, CertificatesCollection, Ce ViewHelpers.verifyPromptHidden(promptSpy); }; - var uploadFile = function (file_path, requests){ + var uploadFile = function(file_path, requests) { $(SELECTORS.uploadDialogFileInput).change(); $(SELECTORS.uploadDialogButton).click(); AjaxHelpers.respondWithJson(requests, {asset: {url: file_path}}); }; describe('Certificate editor view', function() { - var setValuesToInputs = function (view, values) { - _.each(values, function (value, selector) { + var setValuesToInputs = function(view, values) { + _.each(values, function(value, selector) { if (SELECTORS[selector]) { view.$(SELECTORS[selector]).val(value); view.$(SELECTORS[selector]).trigger('change'); @@ -86,8 +86,8 @@ function(_, Course, CertificateModel, SignatoryModel, CertificatesCollection, Ce }); }; var basicModalTpl = readFixtures('basic-modal.underscore'), - modalButtonTpl = readFixtures('modal-button.underscore'), - uploadDialogTpl = readFixtures('upload-dialog.underscore'); + modalButtonTpl = readFixtures('modal-button.underscore'), + uploadDialogTpl = readFixtures('upload-dialog.underscore'); beforeEach(function() { TemplateHelpers.installTemplates(['certificate-editor', 'signatory-editor'], true); @@ -110,8 +110,8 @@ function(_, Course, CertificateModel, SignatoryModel, CertificatesCollection, Ce }, this.newModelOptions); - this.collection = new CertificatesCollection([ this.model ], { - certificateUrl: '/certificates/'+ window.course.id + this.collection = new CertificatesCollection([this.model], { + certificateUrl: '/certificates/' + window.course.id }); this.model.set('id', 0); this.view = new CertificateEditorView({ @@ -127,20 +127,20 @@ function(_, Course, CertificateModel, SignatoryModel, CertificatesCollection, Ce delete window.CMS.User; }); - describe('Basic', function () { - beforeEach(function(){ + describe('Basic', function() { + beforeEach(function() { appendSetFixtures( - $(""); - } else if (kind === "url") { + } else if (mimetype === 'application/javascript') { + if (kind === 'text') { + head.append(''); + } else if (kind === 'url') { return ViewUtils.loadJavaScript(data); } - } else if (mimetype === "text/html") { - if (placement === "head") { + } else if (mimetype === 'text/html') { + if (placement === 'head') { head.append(data); } } @@ -224,10 +224,10 @@ define(["jquery", "underscore", "common/js/components/utils/view_utils", "js/vie }, fireNotificationActionEvent: function(event) { - var eventName = $(event.currentTarget).data("notification-action"); + var eventName = $(event.currentTarget).data('notification-action'); if (eventName) { event.preventDefault(); - this.notifyRuntime(eventName, this.model.get("id")); + this.notifyRuntime(eventName, this.model.get('id')); } } }); diff --git a/cms/static/js/views/xblock_editor.js b/cms/static/js/views/xblock_editor.js index e549fa6b54..e2a52672ea 100644 --- a/cms/static/js/views/xblock_editor.js +++ b/cms/static/js/views/xblock_editor.js @@ -2,10 +2,9 @@ * XBlockEditorView displays the authoring view of an xblock, and allows the user to switch between * the available modes. */ -define(["jquery", "underscore", "gettext", "js/views/xblock", "js/views/metadata", "js/collections/metadata", - "jquery.inputnumber"], - function ($, _, gettext, XBlockView, MetadataView, MetadataCollection) { - +define(['jquery', 'underscore', 'gettext', 'js/views/xblock', 'js/views/metadata', 'js/collections/metadata', + 'jquery.inputnumber'], + function($, _, gettext, XBlockView, MetadataView, MetadataCollection) { var XBlockEditorView = XBlockView.extend({ // takes XBlockInfo as a model @@ -40,8 +39,8 @@ define(["jquery", "underscore", "gettext", "js/views/xblock", "js/views/metadata getDefaultModes: function() { return [ - { id: 'editor', name: gettext("Editor")}, - { id: 'settings', name: gettext("Settings")} + {id: 'editor', name: gettext('Editor')}, + {id: 'settings', name: gettext('Settings')} ]; }, @@ -134,7 +133,7 @@ define(["jquery", "underscore", "gettext", "js/views/xblock", "js/views/metadata metadataNameElements = this.$('[data-metadata-name]'); for (i = 0; i < metadataNameElements.length; i++) { element = metadataNameElements[i]; - metadataName = $(element).data("metadata-name"); + metadataName = $(element).data('metadata-name'); metadata[metadataName] = element.value; } return metadata; diff --git a/cms/static/js/views/xblock_outline.js b/cms/static/js/views/xblock_outline.js index 2d4e04398d..6e58b1c67d 100644 --- a/cms/static/js/views/xblock_outline.js +++ b/cms/static/js/views/xblock_outline.js @@ -13,10 +13,9 @@ * - scroll_offset - the scroll offset to use for the locator being shown * - edit_display_name - true if the shown xblock's display name should be in inline edit mode */ -define(["jquery", "underscore", "gettext", "js/views/baseview", "common/js/components/utils/view_utils", - "js/views/utils/xblock_utils", "js/views/xblock_string_field_editor"], +define(['jquery', 'underscore', 'gettext', 'js/views/baseview', 'common/js/components/utils/view_utils', + 'js/views/utils/xblock_utils', 'js/views/xblock_string_field_editor'], function($, _, gettext, BaseView, ViewUtils, XBlockViewUtils, XBlockStringFieldEditor) { - var XBlockOutlineView = BaseView.extend({ // takes XBlockInfo as a model @@ -49,7 +48,7 @@ define(["jquery", "underscore", "gettext", "js/views/baseview", "common/js/compo // need to add the current model's id/locator to the set of expanded locators if (this.model.get('is_header_visible') !== null && !this.model.get('is_header_visible')) { var locator = this.model.get('id'); - if(!_.isUndefined(this.expandedLocators) && !this.expandedLocators.contains(locator)) { + if (!_.isUndefined(this.expandedLocators) && !this.expandedLocators.contains(locator)) { this.expandedLocators.add(locator); this.refresh(); } @@ -216,7 +215,7 @@ define(["jquery", "underscore", "gettext", "js/views/baseview", "common/js/compo onSync: function(event) { if (ViewUtils.hasChangedAttributes(this.model, ['visibility_state', 'child_info', 'display_name'])) { - this.onXBlockChange(); + this.onXBlockChange(); } }, @@ -246,7 +245,7 @@ define(["jquery", "underscore", "gettext", "js/views/baseview", "common/js/compo if (locatorElement.length > 0) { ViewUtils.setScrollOffset(locatorElement, scrollOffset); } else { - console.error("Failed to show item with locator " + locatorToShow + ""); + console.error('Failed to show item with locator ' + locatorToShow + ''); } if (editDisplayName) { locatorElement.find('> div[class$="header"] .xblock-field-value-edit').click(); diff --git a/cms/static/js/views/xblock_string_field_editor.js b/cms/static/js/views/xblock_string_field_editor.js index ad9de8fdaa..d9eeb14fce 100644 --- a/cms/static/js/views/xblock_string_field_editor.js +++ b/cms/static/js/views/xblock_string_field_editor.js @@ -5,9 +5,8 @@ * XBlock field's value if it has been changed. If the user presses Escape, then any changes will * be removed and the input hidden again. */ -define(["js/views/baseview", "js/views/utils/xblock_utils"], - function (BaseView, XBlockViewUtils) { - +define(['js/views/baseview', 'js/views/utils/xblock_utils'], + function(BaseView, XBlockViewUtils) { var XBlockStringFieldEditor = BaseView.extend({ events: { 'click .xblock-field-value-edit': 'showInput', @@ -42,7 +41,7 @@ define(["js/views/baseview", "js/views/utils/xblock_utils"], return this.$('.xblock-field-value'); }, - getInput: function () { + getInput: function() { return this.$('.xblock-field-input'); }, diff --git a/cms/static/js/views/xblock_validation.js b/cms/static/js/views/xblock_validation.js index 4733c30f9d..a0e6bcf010 100644 --- a/cms/static/js/views/xblock_validation.js +++ b/cms/static/js/views/xblock_validation.js @@ -1,5 +1,5 @@ -define(["jquery", "underscore", "js/views/baseview", "gettext"], - function ($, _, BaseView, gettext) { +define(['jquery', 'underscore', 'js/views/baseview', 'gettext'], + function($, _, BaseView, gettext) { /** * View for xblock validation messages as displayed in Studio. */ @@ -12,7 +12,7 @@ define(["jquery", "underscore", "js/views/baseview", "gettext"], this.root = options.root; }, - render: function () { + render: function() { this.$el.html(this.template({ validation: this.model, additionalClasses: this.getAdditionalClasses(), @@ -27,7 +27,7 @@ define(["jquery", "underscore", "js/views/baseview", "gettext"], * @param messageType * @returns string representation of css class that will render the correct icon, or null if unknown type */ - getIcon: function (messageType) { + getIcon: function(messageType) { if (messageType === this.model.ERROR) { return 'fa-exclamation-circle'; } @@ -42,16 +42,16 @@ define(["jquery", "underscore", "js/views/baseview", "gettext"], * @param messageType * @returns string display name (translated) */ - getDisplayName: function (messageType) { + getDisplayName: function(messageType) { if (messageType === this.model.WARNING || messageType === this.model.NOT_CONFIGURED) { // Translators: This message will be added to the front of messages of type warning, // e.g. "Warning: this component has not been configured yet". - return gettext("Warning"); + return gettext('Warning'); } else if (messageType === this.model.ERROR) { // Translators: This message will be added to the front of messages of type error, // e.g. "Error: required field is missing". - return gettext("Error"); + return gettext('Error'); } return null; }, @@ -62,13 +62,12 @@ define(["jquery", "underscore", "js/views/baseview", "gettext"], * * @returns string of additional css classes (or empty string) */ - getAdditionalClasses: function () { - if (this.root && this.model.get("summary").type === this.model.NOT_CONFIGURED && - this.model.get("messages").length === 0) { - - return "no-container-content"; + getAdditionalClasses: function() { + if (this.root && this.model.get('summary').type === this.model.NOT_CONFIGURED && + this.model.get('messages').length === 0) { + return 'no-container-content'; } - return ""; + return ''; } }); diff --git a/cms/static/js/xblock/authoring.js b/cms/static/js/xblock/authoring.js index d9abe7d6a6..ffeed552b9 100644 --- a/cms/static/js/xblock/authoring.js +++ b/cms/static/js/xblock/authoring.js @@ -21,7 +21,7 @@ // Cohort partitions (user is allowed to select more than one) element.find('.field-visibility-content-group input:checked').each(function(index, input) { - checkboxValues = $(input).val().split("-"); + checkboxValues = $(input).val().split('-'); partitionId = parseInt(checkboxValues[0], 10); groupId = parseInt(checkboxValues[1], 10); @@ -61,7 +61,7 @@ VisibilityEditorView.prototype.collectFieldData = function collectFieldData() { return { metadata: { - "group_access": this.getGroupAccess() + 'group_access': this.getGroupAccess() } }; }; diff --git a/cms/static/js/xblock_asides/structured_tags.js b/cms/static/js/xblock_asides/structured_tags.js index 2fe124e30a..40e6c3e0a8 100644 --- a/cms/static/js/xblock_asides/structured_tags.js +++ b/cms/static/js/xblock_asides/structured_tags.js @@ -2,10 +2,9 @@ 'use strict'; function StructuredTagsView(runtime, element) { - var $element = $(element); - $element.find("select").each(function() { + $element.find('select').each(function() { var loader = this; var sts = $(this).attr('structured-tags-select-init'); diff --git a/cms/static/karma_cms_squire.conf.js b/cms/static/karma_cms_squire.conf.js index 97361e1a71..d861dc99ca 100644 --- a/cms/static/karma_cms_squire.conf.js +++ b/cms/static/karma_cms_squire.conf.js @@ -41,6 +41,6 @@ var options = { ] }; -module.exports = function (config) { +module.exports = function(config) { configModule.configure(config, options); };