From 4af12e95db164b87936bdf6ec2c42a3961a1c859 Mon Sep 17 00:00:00 2001 From: Jelle De Loecker Date: Mon, 12 Aug 2024 15:33:11 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=BD=EF=B8=8F=20Finally=20upgrade=20NWS?= =?UTF-8?q?API=20from=20v2.2.0=20to=20v2.2.12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + lib/core/hawkejs.js | 1 + lib/dom/element.js | 23 +++++++++++++++++++++++ lib/element/custom_element.js | 1 + package.json | 2 +- 5 files changed, 27 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c3e935..79d7734 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ * Add `CustomElement.defineStateVariable(name, config)` static method * Add `CustomElement#setState(name, value)` and `CustomElement#getState(name)` methods * Make *template slots* behave more like vanilla custom element slots +* Finally upgrade NWSAPI from v2.2.0 to v2.2.12 ## 2.3.19 (2024-04-13) diff --git a/lib/core/hawkejs.js b/lib/core/hawkejs.js index 0a73681..37f8d72 100644 --- a/lib/core/hawkejs.js +++ b/lib/core/hawkejs.js @@ -406,6 +406,7 @@ Main.setMethod(function createElement(name, xml) { result._l_tag_name = name; result.nodeName = uname; result.tagName = uname; + result.localName = name.toLowerCase(); } } diff --git a/lib/dom/element.js b/lib/dom/element.js index f370692..8d8e288 100644 --- a/lib/dom/element.js +++ b/lib/dom/element.js @@ -36,6 +36,29 @@ function isDataString(str) { return str[0] == 'd' && str[1] == 'a' && str[2] == 't' && str[3] == 'a' && str[4] == '-'; } +/** + * Refer NS methods to their regular counterparts + * + * @author Jelle De Loecker + * @since 2.4.0 + * @version 2.4.0 + */ +function setNSStubs(...names) { + for (let name of names) { + Element.setMethod(name + 'NS', function(ns, ...args) { + return this[name](...args); + }); + } +} + +setNSStubs( + 'getElementsByTagName', + 'hasAttribute', + 'getAttribute', + 'setAttribute', + 'removeAttribute' +); + /** * Elements are node type 1 * diff --git a/lib/element/custom_element.js b/lib/element/custom_element.js index d941a3e..1d7e850 100644 --- a/lib/element/custom_element.js +++ b/lib/element/custom_element.js @@ -307,6 +307,7 @@ Element.constitute(function registerElement() { this.setProperty('nodeName', tag_name); this.setProperty('tagName', upper_tag); this.setProperty('_l_node_name', lower_name); + this.setProperty('localName', lower_name); this.setProperty('_l_tag_name', upper_tag.toLowerCase()); if (Blast.isNode) { diff --git a/package.json b/package.json index e17512e..8585ea8 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "main": "./lib/init.js", "repository": "git@github.com:11ways/hawkejs.git", "dependencies": { - "nwsapi" : "2.2.0", + "nwsapi" : "2.2.12", "protoblast" : "~0.9.3" }, "devDependencies": {