From 13b5c6390768e27486de3cc847f512c65e424dbd Mon Sep 17 00:00:00 2001 From: Martin Wendt Date: Fri, 2 Apr 2021 14:19:46 +0200 Subject: [PATCH] Replace deprecated $.trim() Close #1066 --- CHANGELOG.md | 4 ++++ src/jquery.fancytree.edit.js | 3 ++- src/jquery.fancytree.js | 18 +++++++++++++++--- test/test-ext-grid.html | 2 +- test/test-ext-table.html | 2 +- test/text-ext-filter.html | 2 +- test/unit/test-tools.js | 5 +++++ 7 files changed, 29 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac600d2c..6edbc516 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,8 @@ # 2.38.1-0 / Unreleased + * Replace deprecated jQuery functions: `$.isArray()`, `$.isFunction()`, + `$.trim()`, `$().click()` + * Update to jQuery 3.6 + # 2.38.0 / 2021-02-09 * [Added] #1041 Make assertions more debuggable * [Added] #1051 ext-filter Fuzzy matched title segment is not highlighted diff --git a/src/jquery.fancytree.edit.js b/src/jquery.fancytree.edit.js index c03ef3ac..b2f9a716 100644 --- a/src/jquery.fancytree.edit.js +++ b/src/jquery.fancytree.edit.js @@ -34,6 +34,7 @@ var isMac = /Mac/.test(navigator.platform), escapeHtml = $.ui.fancytree.escapeHtml, + trim = $.ui.fancytree.trim, unescapeHtml = $.ui.fancytree.unescapeHtml; /** @@ -152,7 +153,7 @@ $input = $title.find("input.fancytree-edit-input"); if (instOpts.trim) { - $input.val($.trim($input.val())); + $input.val(trim($input.val())); } newVal = $input.val(); diff --git a/src/jquery.fancytree.js b/src/jquery.fancytree.js index 10ca31cc..f4755cf1 100644 --- a/src/jquery.fancytree.js +++ b/src/jquery.fancytree.js @@ -189,10 +189,17 @@ return Object.prototype.hasOwnProperty.call(object, property); } + /* Replacement for the deprecated `jQuery.isFunction()`. */ function _isFunction(obj) { return typeof obj === "function"; } + /* Replacement for the deprecated `jQuery.trim()`. */ + function _trim(text) { + return text == null ? "" : text.trim(); + } + + /* Replacement for the deprecated `jQuery.isArray()`. */ var _isArray = Array.isArray; _assert($.ui, "Fancytree requires jQuery UI (http://jqueryui.com)"); @@ -236,7 +243,7 @@ var i, v, t, - verParts = $.map($.trim(dottedVersion).split("."), function(e) { + verParts = $.map(_trim(dottedVersion).split("."), function(e) { return parseInt(e, 10); }), testParts = $.map( @@ -2421,7 +2428,7 @@ } } } - this.extraClasses = $.trim(curClasses); + this.extraClasses = _trim(curClasses); // this.info("-> toggleClass('" + value + "', " + flag + "): '" + this.extraClasses + "'"); return wasAdded; }, @@ -7249,7 +7256,7 @@ d.title = d.title.substring(0, iPos); } } - d.title = $.trim(d.title); + d.title = _trim(d.title); // Make sure all fields exist for (i = 0, l = CLASS_ATTRS.length; i < l; i++) { @@ -7332,6 +7339,11 @@ ); $.ui.fancytree._extensions[definition.name] = definition; }, + /** Replacement for the deprecated `jQuery.trim()`. + * + * @param {string} text + */ + trim: _trim, /** Inverse of escapeHtml(). * * @param {string} s diff --git a/test/test-ext-grid.html b/test/test-ext-grid.html index 27963af4..c07d1994 100644 --- a/test/test-ext-grid.html +++ b/test/test-ext-grid.html @@ -243,7 +243,7 @@ } var n, tree = $.ui.fancytree.getTree(), - match = $.trim($(this).val()); + match = tools.trim($(this).val()); // Pass a string to perform case insensitive matching n = tree.filterNodes(match, { mode: "hide" }); diff --git a/test/test-ext-table.html b/test/test-ext-table.html index e81f560e..68f9b470 100644 --- a/test/test-ext-table.html +++ b/test/test-ext-table.html @@ -119,7 +119,7 @@ */ $("input[name=search]").on("keyup", function(e){ var match = $(this).val(); - if(e && e.which === $.ui.keyCode.ESCAPE || $.trim(match) === ""){ + if(e && e.which === $.ui.keyCode.ESCAPE || tools.trim(match) === ""){ $("#btnResetSearch").trigger("click"); return; } diff --git a/test/text-ext-filter.html b/test/text-ext-filter.html index b5cbec39..6386a2e0 100644 --- a/test/text-ext-filter.html +++ b/test/text-ext-filter.html @@ -79,7 +79,7 @@ }); opts.mode = $('#hideMode').is(':checked') ? 'hide' : 'dimm'; - if ((e && e.which === $.ui.keyCode.ESCAPE) || $.trim(match) === '') { + if ((e && e.which === $.ui.keyCode.ESCAPE) || tools.trim(match) === '') { $('button#btnResetSearch').trigger("click"); return; } diff --git a/test/unit/test-tools.js b/test/unit/test-tools.js index 6d66aefc..424d7314 100644 --- a/test/unit/test-tools.js +++ b/test/unit/test-tools.js @@ -153,6 +153,11 @@ return typeof obj === "function"; }; + /** Replacement for deprecated `$.trim`. */ + TOOLS.trim = function(text) { + return text == null ? "" : text.trim(); + }; + /** Helper to reset environment for asynchronous Fancytree tests. */ TOOLS.setup = function(assert) { if (!assert) {