From 4b2894a4553b6ad49a1d3b05d4563911567efb76 Mon Sep 17 00:00:00 2001 From: Alexander Tesfamichael Date: Sat, 17 Aug 2019 11:10:04 +0200 Subject: [PATCH] Add classList to get DOMTokenList for Element --- src/Web/DOM/Element.js | 6 ++++++ src/Web/DOM/Element.purs | 3 +++ 2 files changed, 9 insertions(+) diff --git a/src/Web/DOM/Element.js b/src/Web/DOM/Element.js index b6dd761..647c4bf 100644 --- a/src/Web/DOM/Element.js +++ b/src/Web/DOM/Element.js @@ -32,6 +32,12 @@ exports.className = function (node) { }; }; +exports.classList = function (element) { + return function () { + return element.classList; + }; +}; + exports.setClassName = function (className) { return function (node) { return function () { diff --git a/src/Web/DOM/Element.purs b/src/Web/DOM/Element.purs index b02366e..58e9ed1 100644 --- a/src/Web/DOM/Element.purs +++ b/src/Web/DOM/Element.purs @@ -17,6 +17,7 @@ module Web.DOM.Element , id , setId , className + , classList , setClassName , getElementsByTagName , getElementsByTagNameNS @@ -44,6 +45,7 @@ import Data.Nullable (Nullable, toMaybe, toNullable) import Effect (Effect) import Unsafe.Coerce (unsafeCoerce) import Web.DOM.ChildNode (ChildNode) +import Web.DOM.DOMTokenList (DOMTokenList) import Web.DOM.Internal.Types (Element) as Exports import Web.DOM.Internal.Types (Element, HTMLCollection, Node) import Web.DOM.NonDocumentTypeChildNode (NonDocumentTypeChildNode) @@ -95,6 +97,7 @@ foreign import tagName :: Element -> String foreign import id :: Element -> Effect String foreign import setId :: String -> Element -> Effect Unit foreign import className :: Element -> Effect String +foreign import classList :: Element -> Effect DOMTokenList foreign import setClassName :: String -> Element -> Effect Unit foreign import getElementsByTagName :: String -> Element -> Effect HTMLCollection