From a97fc9d8cc8338fef363be562a1c00da2f69fd17 Mon Sep 17 00:00:00 2001 From: Konstantin Dinev Date: Wed, 7 Jul 2021 16:15:57 +0300 Subject: [PATCH 1/3] feat(*): adding use strict to JS files #2075 --- demos/tree/api-and-events.html | 2 +- package.json | 3 +- ...fragistics.ui.combo.knockout-extensions.js | 1 + ...agistics.ui.editors.knockout-extensions.js | 1 + ...nfragistics.ui.tree.knockout-extensions.js | 1 + src/js/infragistics.loader.js | 2 +- src/js/modules/infragistics.datasource.js | 1 + src/js/modules/infragistics.templating.js | 2 +- src/js/modules/infragistics.ui.colorpicker.js | 2 +- .../infragistics.ui.colorpickersplitbutton.js | 2 +- src/js/modules/infragistics.ui.combo.js | 2 +- src/js/modules/infragistics.ui.dialog.js | 2 +- src/js/modules/infragistics.ui.editors.js | 2 +- src/js/modules/infragistics.ui.htmleditor.js | 1 + .../modules/infragistics.ui.layoutmanager.js | 2 +- src/js/modules/infragistics.ui.notifier.js | 2 +- src/js/modules/infragistics.ui.popover.js | 1 + src/js/modules/infragistics.ui.rating.js | 2 +- src/js/modules/infragistics.ui.scroll.js | 1 + src/js/modules/infragistics.ui.shared.js | 2 +- src/js/modules/infragistics.ui.splitbutton.js | 2 +- src/js/modules/infragistics.ui.splitter.js | 2 +- src/js/modules/infragistics.ui.tilemanager.js | 2 +- src/js/modules/infragistics.ui.toolbar.js | 1 + .../modules/infragistics.ui.toolbarbutton.js | 2 +- src/js/modules/infragistics.ui.tree.js | 2 +- src/js/modules/infragistics.ui.upload.js | 2 +- src/js/modules/infragistics.ui.validator.js | 1 + src/js/modules/infragistics.ui.videoplayer.js | 2 +- src/js/modules/infragistics.ui.widget.js | 2 +- src/js/modules/infragistics.ui.zoombar.js | 1 + src/js/modules/infragistics.util.jquery.js | 1 - src/js/modules/infragistics.util.js | 30 ++++++++++++------- .../tilemanager/tilemanager-test.js | 2 +- 34 files changed, 53 insertions(+), 33 deletions(-) diff --git a/demos/tree/api-and-events.html b/demos/tree/api-and-events.html index 988df2ec9..fb40e2f88 100644 --- a/demos/tree/api-and-events.html +++ b/demos/tree/api-and-events.html @@ -1,5 +1,5 @@ - + API and Events Sample - API and Events with Tree Control - Ignite UI for jQuery� diff --git a/package.json b/package.json index 332e02730..babdaf706 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "scripts": { "test": "karma start", "cover": "grunt hint && npm test -- --single-run", - "postinstall": "npm install -g grunt-cli" + "postinstall": "npm install -g grunt-cli", + "build": "grunt build" }, "dependencies": { "jquery": "^3.6.0", diff --git a/src/js/extensions/infragistics.ui.combo.knockout-extensions.js b/src/js/extensions/infragistics.ui.combo.knockout-extensions.js index 43bdd4320..7c368d0c0 100644 --- a/src/js/extensions/infragistics.ui.combo.knockout-extensions.js +++ b/src/js/extensions/infragistics.ui.combo.knockout-extensions.js @@ -12,6 +12,7 @@ */ /*global ko*/ +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { define( [ diff --git a/src/js/extensions/infragistics.ui.editors.knockout-extensions.js b/src/js/extensions/infragistics.ui.editors.knockout-extensions.js index fa7762e71..6a120170a 100644 --- a/src/js/extensions/infragistics.ui.editors.knockout-extensions.js +++ b/src/js/extensions/infragistics.ui.editors.knockout-extensions.js @@ -13,6 +13,7 @@ */ /*global ko*/ +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { define( [ diff --git a/src/js/extensions/infragistics.ui.tree.knockout-extensions.js b/src/js/extensions/infragistics.ui.tree.knockout-extensions.js index 8c7e942b0..abff2ec36 100644 --- a/src/js/extensions/infragistics.ui.tree.knockout-extensions.js +++ b/src/js/extensions/infragistics.ui.tree.knockout-extensions.js @@ -20,6 +20,7 @@ */ /*global ko*/ +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { define( [ diff --git a/src/js/infragistics.loader.js b/src/js/infragistics.loader.js index d93bc1ad8..2f9b44fca 100644 --- a/src/js/infragistics.loader.js +++ b/src/js/infragistics.loader.js @@ -5,7 +5,7 @@ * http://www.infragistics.com/ * */ - +"use strict"; if (typeof jQuery !== "function") { throw new Error("jQuery is undefined"); } diff --git a/src/js/modules/infragistics.datasource.js b/src/js/modules/infragistics.datasource.js index ed7369e53..ee6bf6b41 100644 --- a/src/js/modules/infragistics.datasource.js +++ b/src/js/modules/infragistics.datasource.js @@ -27,6 +27,7 @@ */ /*global Class, ActiveXObject, DOMParser, XPathResult, XMLSerializer */ +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.templating.js b/src/js/modules/infragistics.templating.js index d6cdf8570..b2a0bf39c 100644 --- a/src/js/modules/infragistics.templating.js +++ b/src/js/modules/infragistics.templating.js @@ -20,7 +20,7 @@ e.g. {{if condition}} do something {{else}} do something else {{/if}} limitation: Regular expressions are equivalent to finite automatons as described by theory of computation and more precisely the formal languages and automata computability theory. This means that they are limited to recognizing languages of the type AB^nC but noy languages of the type [AB]^n which are recognized by context-free grammars (Regular expressions are still a subset of context-free grammars). However the A^nB^n is recognized due to the fact that we can use greedy regular expressions allowing us to match the last existing token of a type. Thus nested if-statements would not be recognized without stack-tokenizing the block statement. */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.colorpicker.js b/src/js/modules/infragistics.ui.colorpicker.js index 5661501c4..a5bef6920 100644 --- a/src/js/modules/infragistics.ui.colorpicker.js +++ b/src/js/modules/infragistics.ui.colorpicker.js @@ -14,7 +14,7 @@ * infragistics.util.jquery.js * infragistics.ui.shared.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.colorpickersplitbutton.js b/src/js/modules/infragistics.ui.colorpickersplitbutton.js index 2d5dda59b..abac08e83 100644 --- a/src/js/modules/infragistics.ui.colorpickersplitbutton.js +++ b/src/js/modules/infragistics.ui.colorpickersplitbutton.js @@ -18,7 +18,7 @@ * infragistics.ui.splitbutton.js * infragistics.ui.colorpicker.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.combo.js b/src/js/modules/infragistics.ui.combo.js index 32506a56a..ad43a2208 100644 --- a/src/js/modules/infragistics.ui.combo.js +++ b/src/js/modules/infragistics.ui.combo.js @@ -23,7 +23,7 @@ * * */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.dialog.js b/src/js/modules/infragistics.ui.dialog.js index 4f4237493..c4718d30f 100644 --- a/src/js/modules/infragistics.ui.dialog.js +++ b/src/js/modules/infragistics.ui.dialog.js @@ -25,7 +25,7 @@ * *
*/ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.editors.js b/src/js/modules/infragistics.ui.editors.js index 8a9cbdda0..0052d3de2 100644 --- a/src/js/modules/infragistics.ui.editors.js +++ b/src/js/modules/infragistics.ui.editors.js @@ -15,7 +15,7 @@ * infragistics.ui.notifier.js * infragistics.ui.validator.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.htmleditor.js b/src/js/modules/infragistics.ui.htmleditor.js index 7bacb2e8f..a4febdf16 100644 --- a/src/js/modules/infragistics.ui.htmleditor.js +++ b/src/js/modules/infragistics.ui.htmleditor.js @@ -25,6 +25,7 @@ */ /*global Class*/ +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.layoutmanager.js b/src/js/modules/infragistics.ui.layoutmanager.js index a5ffdd087..d35302b40 100644 --- a/src/js/modules/infragistics.ui.layoutmanager.js +++ b/src/js/modules/infragistics.ui.layoutmanager.js @@ -12,7 +12,7 @@ * infragistics.util.js * infragistics.util.jquery.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.notifier.js b/src/js/modules/infragistics.ui.notifier.js index 33a71cb79..38b646769 100644 --- a/src/js/modules/infragistics.ui.notifier.js +++ b/src/js/modules/infragistics.ui.notifier.js @@ -14,7 +14,7 @@ * infragistics.ui.widget.js * infragistics.ui.popover.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.popover.js b/src/js/modules/infragistics.ui.popover.js index 1adf8a096..047ed7e03 100644 --- a/src/js/modules/infragistics.ui.popover.js +++ b/src/js/modules/infragistics.ui.popover.js @@ -15,6 +15,7 @@ */ /*global HTMLElement */ +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.rating.js b/src/js/modules/infragistics.ui.rating.js index a2b9753da..253227d47 100644 --- a/src/js/modules/infragistics.ui.rating.js +++ b/src/js/modules/infragistics.ui.rating.js @@ -22,7 +22,7 @@ * *
*/ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.scroll.js b/src/js/modules/infragistics.ui.scroll.js index 5fa0c4ed6..abf70b006 100644 --- a/src/js/modules/infragistics.ui.scroll.js +++ b/src/js/modules/infragistics.ui.scroll.js @@ -15,6 +15,7 @@ */ /*global MSGesture*/ +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.shared.js b/src/js/modules/infragistics.ui.shared.js index 02bdf8102..52c06592f 100644 --- a/src/js/modules/infragistics.ui.shared.js +++ b/src/js/modules/infragistics.ui.shared.js @@ -12,7 +12,7 @@ * infragistics.util.js * infragistics.util.jquery.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.splitbutton.js b/src/js/modules/infragistics.ui.splitbutton.js index 5190bc54b..4e7e52cd1 100644 --- a/src/js/modules/infragistics.ui.splitbutton.js +++ b/src/js/modules/infragistics.ui.splitbutton.js @@ -15,7 +15,7 @@ * infragistics.ui.shared.js * infragistics.ui.toolbarbutton.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.splitter.js b/src/js/modules/infragistics.ui.splitter.js index c588cc6f6..e7fb3c2f6 100644 --- a/src/js/modules/infragistics.ui.splitter.js +++ b/src/js/modules/infragistics.ui.splitter.js @@ -14,7 +14,7 @@ * infragistics.ui.widget.js * infragistics.ui.splitter-en.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.tilemanager.js b/src/js/modules/infragistics.ui.tilemanager.js index c3d36f67d..89cc04ef3 100644 --- a/src/js/modules/infragistics.ui.tilemanager.js +++ b/src/js/modules/infragistics.ui.tilemanager.js @@ -18,7 +18,7 @@ * infragistics.ui.layoutmanager.js * infragistics.ui.tilemanager-en.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.toolbar.js b/src/js/modules/infragistics.ui.toolbar.js index 571da0bf7..75dc07f7b 100644 --- a/src/js/modules/infragistics.ui.toolbar.js +++ b/src/js/modules/infragistics.ui.toolbar.js @@ -23,6 +23,7 @@ */ /*global Class */ +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.toolbarbutton.js b/src/js/modules/infragistics.ui.toolbarbutton.js index a7cc75e8a..96a0afc2d 100644 --- a/src/js/modules/infragistics.ui.toolbarbutton.js +++ b/src/js/modules/infragistics.ui.toolbarbutton.js @@ -13,7 +13,7 @@ * infragistics.util.jquery.js * infragistics.ui.shared.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.tree.js b/src/js/modules/infragistics.ui.tree.js index 15e0f0263..fecc7d1e4 100644 --- a/src/js/modules/infragistics.ui.tree.js +++ b/src/js/modules/infragistics.ui.tree.js @@ -19,7 +19,7 @@ * infragistics.ui.widget.js * infragistics.ui.tree-en.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.upload.js b/src/js/modules/infragistics.ui.upload.js index e4ff000f3..7dc72d3d6 100644 --- a/src/js/modules/infragistics.ui.upload.js +++ b/src/js/modules/infragistics.ui.upload.js @@ -14,7 +14,7 @@ * infragistics.ui.widget.js * infragistics.ui.shared.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.validator.js b/src/js/modules/infragistics.ui.validator.js index b28ab7611..7dc7c2f3f 100644 --- a/src/js/modules/infragistics.ui.validator.js +++ b/src/js/modules/infragistics.ui.validator.js @@ -24,6 +24,7 @@ */ /*global Class */ +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.videoplayer.js b/src/js/modules/infragistics.ui.videoplayer.js index bc32cdc6c..6e108a4cb 100644 --- a/src/js/modules/infragistics.ui.videoplayer.js +++ b/src/js/modules/infragistics.ui.videoplayer.js @@ -14,7 +14,7 @@ * infragistics.ui.widget.js * infragistics.ui.shared.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.widget.js b/src/js/modules/infragistics.ui.widget.js index 7ca21e411..dfa3f1438 100644 --- a/src/js/modules/infragistics.ui.widget.js +++ b/src/js/modules/infragistics.ui.widget.js @@ -13,7 +13,7 @@ * infragistics.util.js * infragistics.util.jquery.js */ - +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.ui.zoombar.js b/src/js/modules/infragistics.ui.zoombar.js index 6fe9b0057..877d81e4f 100644 --- a/src/js/modules/infragistics.ui.zoombar.js +++ b/src/js/modules/infragistics.ui.zoombar.js @@ -16,6 +16,7 @@ */ /*global Class */ +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.util.jquery.js b/src/js/modules/infragistics.util.jquery.js index 977f66a17..62cbb7828 100644 --- a/src/js/modules/infragistics.util.jquery.js +++ b/src/js/modules/infragistics.util.jquery.js @@ -15,7 +15,6 @@ * */ /*global xyz, Class, ActiveXObject, Modernizr, VBArray, Intl, XDomainRequest, unescape*/ /*jshint -W106*/ /*jshint -W116*/ /*jshint unused:false*/ - (function (factory) { if (typeof define === "function" && define.amd) { diff --git a/src/js/modules/infragistics.util.js b/src/js/modules/infragistics.util.js index f21855e42..edef1264f 100644 --- a/src/js/modules/infragistics.util.js +++ b/src/js/modules/infragistics.util.js @@ -20,6 +20,7 @@ // Inspired by base2 and Prototype /*global xyz, Class, ActiveXObject, Modernizr, VBArray, Intl, XDomainRequest, unescape, $, igRoot*/ /*jshint -W106*/ /*jshint -W116*/ /*jshint unused:false*/ +"use strict"; (function (factory) { if (typeof define === "function" && define.amd) { @@ -55,7 +56,7 @@ // The base Class implementation (does nothing) or expects Class to already be defined as a function // K.D. August 18, 2016 Bug #242 global scope Class object is overridden by Ignite UI for jQuery Class object - this.Class = this.Class || function () { }; + window.Class = window.Class || function () { }; // Create a new Class that inherits from this class Class.extend = function (prop, doAugment) { @@ -1531,17 +1532,26 @@ } // polyfill for IE11+. ChildNode.remove() is not supported by IE11+. - function removePolyfillIE() { - return this.parentNode && this.parentNode.removeChild(this); - } - - // polyfill for IE11+. ChildNode.remove() is not supported by IE11+. - if (!Element.prototype.remove) { - Element.prototype.remove = removePolyfillIE; + if (!Element.hasOwnProperty("remove")) { + Object.defineProperty(Element, 'remove', { + configurable: true, + enumerable: true, + writable: true, + value: function remove() { + this.parentNode.removeChild(this); + } + }); } - if (Text && !Text.prototype.remove) { - Text.prototype.remove = removePolyfillIE; + if (Text && !Text.hasOwnProperty("remove")) { + Object.defineProperty(Text, 'remove', { + configurable: true, + enumerable: true, + writable: true, + value: function remove() { + this.parentNode.removeChild(this); + } + }); } $.ig.Date.prototype.toStringFormat = function (value, format, provider) { diff --git a/tests/unit/tilemanager/tilemanager/tilemanager-test.js b/tests/unit/tilemanager/tilemanager/tilemanager-test.js index acca50d5a..6f5cf3226 100644 --- a/tests/unit/tilemanager/tilemanager/tilemanager-test.js +++ b/tests/unit/tilemanager/tilemanager/tilemanager-test.js @@ -1071,7 +1071,7 @@ QUnit.test('[ID2] igTileManager initialize on markup. Default config', function }); -QUnit.test('[ID3] iigTileManager initialize on markup. ColumnWidth and columnHeight in px', function (assert) { +QUnit.test('[ID3] igTileManager initialize on markup. ColumnWidth and columnHeight in px', function (assert) { assert.expect(660); this.assert = assert; From fad0dc654afae234a42dce21daa316741d45bdd7 Mon Sep 17 00:00:00 2001 From: Konstantin Dinev Date: Thu, 8 Jul 2021 17:08:03 +0300 Subject: [PATCH 2/3] chore(*): remove build against node 10 --- .github/workflows/node.js.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index e56b3a587..65697f699 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - node-version: [10.x, 12.x, 14.x, 15.x] + node-version: [12.x, 14.x, 15.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: From 804a486a18c3cfed68186e4e0e37142dfadd034c Mon Sep 17 00:00:00 2001 From: Stamen Stoychev Date: Tue, 17 Aug 2021 19:00:21 +0300 Subject: [PATCH 3/3] reducing scroll test specificity to pass more often --- tests/unit/scroll/scroll-test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/scroll/scroll-test.js b/tests/unit/scroll/scroll-test.js index 5ae1d9853..d0d3e79e0 100644 --- a/tests/unit/scroll/scroll-test.js +++ b/tests/unit/scroll/scroll-test.js @@ -1734,7 +1734,7 @@ QUnit.test(testId_57, function (assert) { scrollbarPixelContentRatio = (self.vhScroll().height() / (contentHeight - scrollContainerHeight)) * (vTrackHeight - vDragHeight), expectedPosY = self.getTransform3dValueY(self.vDrag(self.vhScrollId)); - assert.equal(expectedPosY.toFixed(4), scrollbarPixelContentRatio.toFixed(4), "igScroll did not scroll properly"); + assert.equal(expectedPosY.toFixed(2), scrollbarPixelContentRatio.toFixed(2), "igScroll did not scroll properly"); self.vhScroll().remove(); done(); }).catch(function (er) {