@@ -1,25 +1,30 @@
11module JQuery where
22
3+ import Eff
4+
5+ -- An effect type which indicates DOM manipulation
6+ foreign import data DOM :: !
7+
38 -- The jQuery wrapper type
49 foreign import data JQuery :: *
510
611 -- Wrapper function for jQuery selection $('..')
7− foreign import select :: String -> JQuery
12+ foreign import select "function select(selector) { return function () { return jQuery(selector); }; }" :: forall eff. String -> Eff (dom :: DOM | eff) JQuery
813
914 -- Wrapper function for jQuery creation e.g. $('<div>')
10− foreign import create :: String -> JQuery
15+ foreign import create "function create(html) { return function () { return jQuery(html); }; }" :: forall eff. String -> Eff (dom :: DOM | eff) JQuery
1116
1217 -- .attr({ ... })
13− foreign import attr :: forall attr. JQuery -> { | attr } -> JQuery
18+ foreign import attr "function attr(attrs) { return function(ob) { return function () { return ob.attr(attrs); }; }; }" :: forall eff attr. { | attr } -> JQuery -> Eff (dom :: DOM | eff) JQuery
1419
1520 -- .css({ ... })
16− foreign import css :: forall css. JQuery -> { | css } -> JQuery
21+ foreign import css "function css(props) { return function(ob) { return function () { return ob.css(props); }; }; }" :: forall eff css. { | css } -> JQuery -> Eff (dom :: DOM | eff) JQuery
1722
1823 -- .append(...)
19− foreign import append :: JQuery -> JQuery -> JQuery
20−
21− -- .appendTo(...)
22− foreign import appendTo :: JQuery -> JQuery -> JQuery
24+ foreign import append "function append(ob1) { return function(ob) { return function () { return ob.append(ob1); }; }; }" :: forall eff. JQuery -> JQuery -> Eff (dom :: DOM | eff) JQuery
2325
2426 -- .append(...)
25− foreign import appendText :: JQuery -> String -> JQuery
27+ foreign import appendText "function appendText(s) { return function(ob) { return function () { return ob.append(s); }; }; }" :: forall eff. String -> JQuery -> Eff (dom :: DOM | eff) JQuery
28+
29+ -- Get the document body
30+ foreign import body "function body() { return jQuery(document.body); }" :: forall eff. Eff (dom :: DOM | eff) JQuery