diff --git a/Gemfile b/Gemfile index 51afecde..86a7d2ab 100644 --- a/Gemfile +++ b/Gemfile @@ -23,7 +23,7 @@ gem 'coffee-rails' gem 'coffee-rails-source-maps' gem 'uglifier' gem 'jquery-rails' # needed for general jQuery stuff -gem 'jquery-ui-rails' # needed specifically for drag-and-drop ability +gem 'jquery-ui-rails', git: 'https://github.com/kylesferrazza/jquery-ui-rails' # needed specifically for drag-and-drop ability gem 'jquery-tablesorter' # needed to allow re-sortable tables gem 'cocoon' # used for dynamically generating nested forms diff --git a/Gemfile.lock b/Gemfile.lock index 41e874ab..f76a830d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,10 @@ +GIT + remote: https://github.com/kylesferrazza/jquery-ui-rails + revision: cde4160b2148e96ddf03ea16f40aeadcc96759d6 + specs: + jquery-ui-rails (6.1.0) + railties (>= 3.2.16) + GEM remote: https://rubygems.org/ specs: @@ -139,8 +146,6 @@ GEM thor (>= 0.14, < 2.0) jquery-tablesorter (1.27.1) railties (>= 3.2) - jquery-ui-rails (6.0.1) - railties (>= 3.2.16) json (2.2.0) kramdown (2.1.0) kramdown-parser-gfm (1.1.0) @@ -324,7 +329,7 @@ DEPENDENCIES i18n jquery-rails jquery-tablesorter - jquery-ui-rails + jquery-ui-rails! kramdown kramdown-parser-gfm launchy @@ -354,4 +359,4 @@ DEPENDENCIES yaml_db BUNDLED WITH - 2.0.1 + 2.1.4 diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index a306279c..92fedb4e 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -10,7 +10,7 @@ // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD // GO AFTER THE REQUIRES BELOW. // -//= require jquery +//= require jquery3 //= require jquery-ui/widgets/draggable //= require jquery-ui/widgets/resizable //= require jquery-ui/widgets/sortable @@ -47,7 +47,7 @@ function enableShowUsernames(elts) { - $(elts).click(function(){ + $(elts).on("click", function(){ $(this).toggleClass("active"); $("#" + $(this).data("target")).toggleClass("showusernames"); }); @@ -179,7 +179,7 @@ function activate_file_picker($e) { $e.find(".remove-custom-file").prop('disabled', false).removeClass("btn-default").addClass("btn-warning"); $e.find("input.remove-custom-file").val(''); }); - $e.find(".remove-custom-file").click(function() { + $e.find(".remove-custom-file").on("click", function() { $e.find("input.custom-file").replaceWith( $e.find("input.custom-file").clone(true)); $(this).prop('disabled', true).addClass("btn-default").removeClass("btn-warning"); @@ -291,7 +291,7 @@ function activateSpinner(obj, options) { input.prop("disabled", false); validate(); }); - input.bind("paste", function(e) { e.preventDefault(); }); + input.on("paste", function(e) { e.preventDefault(); }); $(upArrow).on('mousedown', function() { if (input.prop("disabled")) return; @@ -323,7 +323,7 @@ function makeSpinner(options) { var input = $("") .addClass("form-control numeric") .val(options.val || 0) - .bind("paste", function(e) { e.preventDefault(); }); + .on("paste", function(e) { e.preventDefault(); }); if (options.klass !== undefined) input.addClass(options.klass); if (options.max !== undefined) input.data("max", options.max); diff --git a/app/assets/javascripts/assignments.js b/app/assets/javascripts/assignments.js index 044ad413..96dacf81 100644 --- a/app/assets/javascripts/assignments.js +++ b/app/assets/javascripts/assignments.js @@ -219,7 +219,7 @@ } }); - $("form").submit(function(e) { + $("form").on("submit", function(e) { var graderTypeInputs = $("li.grader").filter(function(index) { return $(this).find("input[id^='assignment_graders_'][id$='_destroy'][value='1']").length == 0; diff --git a/app/assets/javascripts/courses.js b/app/assets/javascripts/courses.js index 39de934a..aea66fb6 100644 --- a/app/assets/javascripts/courses.js +++ b/app/assets/javascripts/courses.js @@ -44,7 +44,7 @@ function init() { enableReflectiveCalls(); $("span.findUser").each(function(i) { enableLookupUser($(this)); }); - $(".add-section-button").click(add_section); + $(".add-section-button").on("click", add_section); $("input.numeric").on("keypress", validateNumericInput); $('#sections').on('cocoon:after-insert', on_add_section); diff --git a/app/assets/javascripts/grades.js b/app/assets/javascripts/grades.js index bac65759..70b3feac 100644 --- a/app/assets/javascripts/grades.js +++ b/app/assets/javascripts/grades.js @@ -1,6 +1,6 @@ (function() { function initFiles() { - $(".symlink-jump").click(function(e) { + $(".symlink-jump").on("click", function(e) { e.preventDefault(); e.stopPropagation(); selectTreeviewFileByHref($(this).data("root"), $(this).attr("href")); diff --git a/app/assets/javascripts/jquery.matchHeight.js b/app/assets/javascripts/jquery.matchHeight.js index ab24d45c..f41fa65d 100644 --- a/app/assets/javascripts/jquery.matchHeight.js +++ b/app/assets/javascripts/jquery.matchHeight.js @@ -373,12 +373,12 @@ $(matchHeight._applyDataApi); // update heights on load and resize events - $(window).bind('load', function(event) { + $(window).on('load', function(event) { matchHeight._update(false, event); }); // throttled update heights on resize events - $(window).bind('resize orientationchange', function(event) { + $(window).on('resize orientationchange', function(event) { matchHeight._update(true, event); }); diff --git a/app/assets/javascripts/submissions.js b/app/assets/javascripts/submissions.js index 494d1671..f47359ea 100644 --- a/app/assets/javascripts/submissions.js +++ b/app/assets/javascripts/submissions.js @@ -1,6 +1,6 @@ (function() { function initFiles() { - $(".symlink-jump").click(function(e) { + $(".symlink-jump").on("click", function(e) { e.preventDefault(); e.stopPropagation(); selectTreeviewFileByHref($(this).data("root"), $(this).attr("href")); diff --git a/app/views/assignments/_codereview_form.html.erb b/app/views/assignments/_codereview_form.html.erb index 07d1afb3..2c6b9ed7 100644 --- a/app/views/assignments/_codereview_form.html.erb +++ b/app/views/assignments/_codereview_form.html.erb @@ -140,7 +140,7 @@ } }) $("#type-codereview").find("input[name$='[review_count]']").prop("disabled", <%= asgn&.graders&.first&.review_target != "peer" %>); - $("form").submit(function() { + $("form").on("submit", function() { enableSpinner($("#type-codereview").find("input[name$='[review_count]']")); }); diff --git a/app/views/assignments/_form.html.erb b/app/views/assignments/_form.html.erb index 9aeeaa60..1db3bf85 100644 --- a/app/views/assignments/_form.html.erb +++ b/app/views/assignments/_form.html.erb @@ -21,6 +21,6 @@ diff --git a/app/views/assignments/_index.js.erb b/app/views/assignments/_index.js.erb index 89ef44f6..efd88f85 100644 --- a/app/views/assignments/_index.js.erb +++ b/app/views/assignments/_index.js.erb @@ -46,7 +46,7 @@ $(function() { var assnNames = $("#assignments-table tbody td:first-child").map(function() { return $(this).text(); }).get(); var routeToSub = "<%= course_assignment_submission_path(course_id: @course.id, assignment_id: '(aid)', id: '(sid)') %>"; GoogleCharts.load('corechart', function() { - $("#students-table tbody tr").click(function(e) { + $("#students-table tbody tr").on("click", function(e) { var $p = $(this).find("p"); if ($(e.target).closest("p")[0] != $p[0]) { $p.toggleClass("hidden"); } var grades = $p.data("grades"); diff --git a/app/views/assignments/edit_weights.html.erb b/app/views/assignments/edit_weights.html.erb index 1896d765..040659a7 100644 --- a/app/views/assignments/edit_weights.html.erb +++ b/app/views/assignments/edit_weights.html.erb @@ -79,7 +79,7 @@ $(function() { } weights.blur(refresh); refresh(); - $("form").submit(ensureValidNumericInputOnSubmit); + $("form").on("submit", ensureValidNumericInputOnSubmit); }); diff --git a/app/views/grades/_edit_exam_grades.js.erb b/app/views/grades/_edit_exam_grades.js.erb index 4b23f44d..9b9134d0 100644 --- a/app/views/grades/_edit_exam_grades.js.erb +++ b/app/views/grades/_edit_exam_grades.js.erb @@ -103,7 +103,7 @@ function getGrades($table) { }); // Handle the modal dialogs - $("#grades-table button.trigger").click(function() { + $("#grades-table button.trigger").on("click", function() { var $target = $("#enter_grades"); var $row = $(this).closest("tr"); var name = $(this).data("name"); @@ -123,7 +123,7 @@ function getGrades($table) { $("button.trigger").prop("disabled", false); $("#" + $(this).data("row") + " button.trigger").focus(); }); - $("button.save").click(function() { + $("button.save").on("click", function() { var $modal = $(this).closest("div.modal"); var $row = $("#" + $modal.data("row")); var countBlanks = 0; @@ -164,7 +164,7 @@ function getGrades($table) { } }); }); - $("button.cancel").click(function() { + $("button.cancel").on("click", function() { $(this).closest("div.modal").modal("hide"); }); $('.spinner').each(function() { diff --git a/app/views/grades/_enter_comments.js.erb b/app/views/grades/_enter_comments.js.erb index 26153418..d1db074e 100644 --- a/app/views/grades/_enter_comments.js.erb +++ b/app/views/grades/_enter_comments.js.erb @@ -33,7 +33,7 @@ $(function() { } window.updateScore = updateScore; - $("form").submit(function(e) { + $("form").on("submit", function(e) { if (autosavePromise) { e.preventDefault(); alert("Please wait for autosave to complete"); diff --git a/app/views/grades/edit_CodereviewGrader.html.erb b/app/views/grades/edit_CodereviewGrader.html.erb index 7f79980a..fca80d33 100644 --- a/app/views/grades/edit_CodereviewGrader.html.erb +++ b/app/views/grades/edit_CodereviewGrader.html.erb @@ -107,12 +107,12 @@