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": {