Skip to content
This repository was archived by the owner on Oct 4, 2020. It is now read-only.

Commit d1d6bcd

Browse files
authored
Merge pull request #59 from nwolverson/htmlelement
Add HTMLElement properties/methods
2 parents 319bf89 + 6b01dea commit d1d6bcd

File tree

2 files changed

+239
-0
lines changed

2 files changed

+239
-0
lines changed

src/DOM/HTML/HTMLElement.js

+201
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
"use strict";
2+
3+
// ----------------------------------------------------------------------------
4+
5+
exports.title = function (elt) {
6+
return function () {
7+
return elt.title;
8+
};
9+
};
10+
11+
exports.setTitle = function (title) {
12+
return function (elt) {
13+
return function () {
14+
elt.title = title;
15+
return {};
16+
};
17+
};
18+
};
19+
20+
// ----------------------------------------------------------------------------
21+
22+
exports.lang = function (elt) {
23+
return function () {
24+
return elt.lang;
25+
};
26+
};
27+
28+
exports.setLang = function (lang) {
29+
return function (elt) {
30+
return function () {
31+
elt.lang = lang;
32+
return {};
33+
};
34+
};
35+
};
36+
37+
// ----------------------------------------------------------------------------
38+
39+
exports.dir = function (elt) {
40+
return function () {
41+
return elt.dir;
42+
};
43+
};
44+
45+
exports.setDir = function (dir) {
46+
return function (elt) {
47+
return function () {
48+
elt.dir = dir;
49+
return {};
50+
};
51+
};
52+
};
53+
54+
// ----------------------------------------------------------------------------
55+
56+
exports.className = function (elt) {
57+
return function () {
58+
return elt.className;
59+
};
60+
};
61+
62+
exports.setClassName = function (className) {
63+
return function (elt) {
64+
return function () {
65+
elt.className = className;
66+
return {};
67+
};
68+
};
69+
};
70+
71+
// ----------------------------------------------------------------------------
72+
73+
exports.hidden = function (elt) {
74+
return function () {
75+
return elt.hidden;
76+
};
77+
};
78+
79+
exports.setHidden = function (hidden) {
80+
return function (elt) {
81+
return function () {
82+
elt.hidden = hidden;
83+
return {};
84+
};
85+
};
86+
};
87+
88+
// ----------------------------------------------------------------------------
89+
90+
exports.click = function (elt) {
91+
return function () {
92+
return elt.click();
93+
};
94+
};
95+
96+
// ----------------------------------------------------------------------------
97+
98+
exports.tabIndex = function (elt) {
99+
return function () {
100+
return elt.tabIndex;
101+
};
102+
};
103+
104+
exports.setTabIndex = function (tabIndex) {
105+
return function (elt) {
106+
return function () {
107+
elt.tabIndex = tabIndex;
108+
return {};
109+
};
110+
};
111+
};
112+
113+
// ----------------------------------------------------------------------------
114+
115+
exports.hidden = function (elt) {
116+
return function () {
117+
return elt.hidden;
118+
};
119+
};
120+
121+
exports.setHidden = function (hidden) {
122+
return function (elt) {
123+
return function () {
124+
elt.hidden = hidden;
125+
return {};
126+
};
127+
};
128+
};
129+
130+
// ----------------------------------------------------------------------------
131+
132+
exports.focus = function (elt) {
133+
return function () {
134+
return elt.focus();
135+
};
136+
};
137+
138+
// ----------------------------------------------------------------------------
139+
140+
exports.blur = function (elt) {
141+
return function () {
142+
return elt.blur();
143+
};
144+
};
145+
146+
// ----------------------------------------------------------------------------
147+
148+
exports.draggable = function (elt) {
149+
return function () {
150+
return elt.draggable;
151+
};
152+
};
153+
154+
exports.setDraggable = function (draggable) {
155+
return function (elt) {
156+
return function () {
157+
elt.draggable = draggable;
158+
return {};
159+
};
160+
};
161+
};
162+
163+
// ----------------------------------------------------------------------------
164+
165+
exports.contentEditable = function (elt) {
166+
return function () {
167+
return elt.contentEditable;
168+
};
169+
};
170+
171+
exports.setContentEditable = function (contentEditable) {
172+
return function (elt) {
173+
return function () {
174+
elt.contentEditable = contentEditable;
175+
return {};
176+
};
177+
};
178+
};
179+
180+
exports.isContentEditable = function (elt) {
181+
return function () {
182+
return elt.isContentEditable;
183+
};
184+
};
185+
186+
// ----------------------------------------------------------------------------
187+
188+
exports.spellcheck = function (elt) {
189+
return function () {
190+
return elt.spellcheck;
191+
};
192+
};
193+
194+
exports.setSpellcheck = function (spellcheck) {
195+
return function (elt) {
196+
return function () {
197+
elt.spellcheck = spellcheck;
198+
return {};
199+
};
200+
};
201+
};

src/DOM/HTML/HTMLElement.purs

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
module DOM.HTML.HTMLElement where
2+
3+
import Prelude
4+
import Control.Monad.Eff (Eff)
5+
import DOM (DOM)
6+
import DOM.HTML.Types (HTMLElement)
7+
8+
foreign import title :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) String
9+
foreign import setTitle :: forall eff. String -> HTMLElement -> Eff (dom :: DOM | eff) Unit
10+
11+
foreign import lang :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) String
12+
foreign import setLang :: forall eff. String -> HTMLElement -> Eff (dom :: DOM | eff) Unit
13+
14+
foreign import dir :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) String
15+
foreign import setDir :: forall eff. String -> HTMLElement -> Eff (dom :: DOM | eff) Unit
16+
17+
foreign import className :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) String
18+
foreign import setClassName :: forall eff. String -> HTMLElement -> Eff (dom :: DOM | eff) Unit
19+
20+
foreign import hidden :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) Boolean
21+
foreign import setHidden :: forall eff. Boolean -> HTMLElement -> Eff (dom :: DOM | eff) Unit
22+
23+
foreign import tabIndex :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) Int
24+
foreign import setTabIndex :: forall eff. Int -> HTMLElement -> Eff (dom :: DOM | eff) Unit
25+
26+
foreign import draggable :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) Boolean
27+
foreign import setDraggable :: forall eff. Boolean -> HTMLElement -> Eff (dom :: DOM | eff) Unit
28+
29+
foreign import contentEditable :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) String
30+
foreign import setContentEditable :: forall eff. String -> HTMLElement -> Eff (dom :: DOM | eff) Unit
31+
foreign import isContentEditable :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) Boolean
32+
33+
foreign import spellcheck :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) Boolean
34+
foreign import setSpellcheck :: forall eff. Boolean -> HTMLElement -> Eff (dom :: DOM | eff) Unit
35+
36+
foreign import click :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) Unit
37+
foreign import focus :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) Unit
38+
foreign import blur :: forall eff. HTMLElement -> Eff (dom :: DOM | eff) Unit

0 commit comments

Comments
 (0)