packages feed

fay-jquery 0.2.1.0 → 0.3.0.0

raw patch · 3 files changed

+1069/−1069 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Language.Fay.JQuery: AjaxSettings :: Defined String -> Defined Bool -> Defined (JQXHR -> AjaxSettings a b -> Fay ()) -> Defined Bool -> Defined (JQXHR -> String -> Fay ()) -> Defined String -> Defined Bool -> Defined a -> Defined String -> Defined (JQXHR -> Maybe String -> Maybe String -> Fay ()) -> Defined Bool -> Defined Bool -> Defined Bool -> Defined String -> Defined String -> Defined Bool -> Defined (b -> Fay ()) -> Defined Double -> Defined String -> Defined String -> Defined String -> AjaxSettings a b
- Language.Fay.JQuery: Animation :: AnimationType -> Speed -> Maybe Animation -> JQuery -> Animation
- Language.Fay.JQuery: DeepWithDataAndEvents :: CloneType
- Language.Fay.JQuery: FadeIn :: AnimationType
- Language.Fay.JQuery: FadeOut :: AnimationType
- Language.Fay.JQuery: FadeToggle :: AnimationType
- Language.Fay.JQuery: Fast :: Speed
- Language.Fay.JQuery: Hide :: AnimationType
- Language.Fay.JQuery: Instantly :: Speed
- Language.Fay.JQuery: KeyDown :: KeyCode
- Language.Fay.JQuery: KeyLeft :: KeyCode
- Language.Fay.JQuery: KeyRet :: KeyCode
- Language.Fay.JQuery: KeyRight :: KeyCode
- Language.Fay.JQuery: KeyUp :: KeyCode
- Language.Fay.JQuery: Show :: AnimationType
- Language.Fay.JQuery: Slow :: Speed
- Language.Fay.JQuery: SomeKey :: Double -> KeyCode
- Language.Fay.JQuery: Speed :: Double -> Speed
- Language.Fay.JQuery: Toggle :: AnimationType
- Language.Fay.JQuery: WithDataAndEvents :: CloneType
- Language.Fay.JQuery: WithoutDataAndEvents :: CloneType
- Language.Fay.JQuery: _element :: Animation -> JQuery
- Language.Fay.JQuery: _nextAnimation :: Animation -> Maybe Animation
- Language.Fay.JQuery: _onKeycode :: (Double -> Fay Bool) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: _speed :: Animation -> Speed
- Language.Fay.JQuery: _type :: Animation -> AnimationType
- Language.Fay.JQuery: accepts :: AjaxSettings a b -> Defined String
- Language.Fay.JQuery: add :: JQuery -> JQuery -> Fay JQuery
- Language.Fay.JQuery: addClass :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: addClassWith :: (Double -> String -> Fay String) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: addElement :: Element -> JQuery -> Fay JQuery
- Language.Fay.JQuery: addHtml :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: addSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: addSelectorWithContext :: String -> JQuery -> JQuery -> Fay JQuery
- Language.Fay.JQuery: after :: a -> JQuery -> Fay JQuery
- Language.Fay.JQuery: afterWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: ajax :: String -> (Automatic b -> Fay ()) -> (JQXHR -> Maybe String -> Maybe String -> Fay ()) -> Fay ()
- Language.Fay.JQuery: ajax' :: AjaxSettings (Automatic a) (Automatic b) -> Fay ()
- Language.Fay.JQuery: ajaxPost :: String -> Automatic f -> (Automatic g -> Fay ()) -> (JQXHR -> Maybe String -> Maybe String -> Fay ()) -> Fay ()
- Language.Fay.JQuery: ajaxPostParam :: String -> String -> Automatic f -> (Automatic g -> Fay ()) -> (JQXHR -> Maybe String -> Maybe String -> Fay ()) -> Fay ()
- Language.Fay.JQuery: andSelf :: JQuery -> Fay JQuery
- Language.Fay.JQuery: anim :: AnimationType -> JQuery -> Animation
- Language.Fay.JQuery: animate :: AnimationType -> Speed -> (JQuery -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: append :: a -> JQuery -> Fay JQuery
- Language.Fay.JQuery: appendJQuery :: JQuery -> JQuery -> Fay JQuery
- Language.Fay.JQuery: appendTo :: a -> JQuery -> Fay JQuery
- Language.Fay.JQuery: appendToJQuery :: JQuery -> JQuery -> Fay JQuery
- Language.Fay.JQuery: appendWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: async :: AjaxSettings a b -> Defined Bool
- Language.Fay.JQuery: before :: a -> JQuery -> Fay JQuery
- Language.Fay.JQuery: beforeSend :: AjaxSettings a b -> Defined (JQXHR -> AjaxSettings a b -> Fay ())
- Language.Fay.JQuery: beforeWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: bind :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: bindPreventBubble :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: blur :: (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: cache :: AjaxSettings a b -> Defined Bool
- Language.Fay.JQuery: chainAnim :: Animation -> Animation -> Animation
- Language.Fay.JQuery: chainAnims :: [Animation] -> Animation
- Language.Fay.JQuery: change :: (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: children :: JQuery -> Fay JQuery
- Language.Fay.JQuery: childrenMatching :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: click :: (Event -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: clone :: CloneType -> JQuery -> Fay JQuery
- Language.Fay.JQuery: closest :: JQuery -> JQuery -> Fay JQuery
- Language.Fay.JQuery: closestElement :: Element -> JQuery -> Fay JQuery
- Language.Fay.JQuery: closestSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: closestWithContext :: String -> String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: complete :: AjaxSettings a b -> Defined (JQXHR -> String -> Fay ())
- Language.Fay.JQuery: contentType :: AjaxSettings a b -> Defined String
- Language.Fay.JQuery: contents :: JQuery -> Fay JQuery
- Language.Fay.JQuery: createJQuery :: String -> a -> Fay JQuery
- Language.Fay.JQuery: crossDomain :: AjaxSettings a b -> Defined Bool
- Language.Fay.JQuery: data AjaxSettings a b
- Language.Fay.JQuery: data Animation
- Language.Fay.JQuery: data AnimationType
- Language.Fay.JQuery: data CloneType
- Language.Fay.JQuery: data Document
- Language.Fay.JQuery: data Element
- Language.Fay.JQuery: data Event
- Language.Fay.JQuery: data JQXHR
- Language.Fay.JQuery: data JQuery
- Language.Fay.JQuery: data KeyCode
- Language.Fay.JQuery: data Object
- Language.Fay.JQuery: data Speed
- Language.Fay.JQuery: data Window
- Language.Fay.JQuery: data' :: AjaxSettings a b -> Defined a
- Language.Fay.JQuery: dataType :: AjaxSettings a b -> Defined String
- Language.Fay.JQuery: dblclick :: (Event -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: defaultAjaxSettings :: AjaxSettings a b
- Language.Fay.JQuery: delegateTarget :: Event -> Fay Element
- Language.Fay.JQuery: detach :: JQuery -> Fay JQuery
- Language.Fay.JQuery: detachSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: documentReady :: (Event -> Fay ()) -> Document -> Fay ()
- Language.Fay.JQuery: each :: (Double -> Element -> Fay Bool) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: empty :: JQuery -> Fay JQuery
- Language.Fay.JQuery: emptyCallback :: a -> Fay ()
- Language.Fay.JQuery: end :: JQuery -> Fay JQuery
- Language.Fay.JQuery: eq :: Double -> JQuery -> Fay JQuery
- Language.Fay.JQuery: error' :: AjaxSettings a b -> Defined (JQXHR -> Maybe String -> Maybe String -> Fay ())
- Language.Fay.JQuery: eventType :: Event -> Fay String
- Language.Fay.JQuery: eventX :: Event -> JQuery -> Double
- Language.Fay.JQuery: eventY :: Event -> JQuery -> Double
- Language.Fay.JQuery: fadeIn :: Speed -> JQuery -> Fay JQuery
- Language.Fay.JQuery: fadeOut :: Speed -> JQuery -> Fay JQuery
- Language.Fay.JQuery: fadeToggle :: Speed -> JQuery -> Fay JQuery
- Language.Fay.JQuery: filter :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: filterElement :: Element -> JQuery -> Fay JQuery
- Language.Fay.JQuery: filterJQuery :: JQuery -> JQuery -> Fay JQuery
- Language.Fay.JQuery: filterWith :: (Double -> Fay Bool) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: findElement :: Element -> JQuery -> Fay JQuery
- Language.Fay.JQuery: findJQuery :: JQuery -> JQuery -> Fay JQuery
- Language.Fay.JQuery: findSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: first :: JQuery -> Fay JQuery
- Language.Fay.JQuery: focus :: JQuery -> Fay JQuery
- Language.Fay.JQuery: focusin :: (Event -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: focusout :: (Event -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: getAttr :: String -> JQuery -> Fay String
- Language.Fay.JQuery: getCss :: String -> JQuery -> Fay String
- Language.Fay.JQuery: getHeight :: JQuery -> Fay Double
- Language.Fay.JQuery: getHtml :: JQuery -> Fay String
- Language.Fay.JQuery: getInnerHeight :: JQuery -> Fay Double
- Language.Fay.JQuery: getInnerWidth :: JQuery -> Fay Double
- Language.Fay.JQuery: getOuterHeight :: JQuery -> Fay Double
- Language.Fay.JQuery: getOuterHeightBool :: Bool -> JQuery -> Fay Double
- Language.Fay.JQuery: getOuterWidth :: JQuery -> Fay Double
- Language.Fay.JQuery: getOuterWidthBool :: Bool -> JQuery -> Fay Double
- Language.Fay.JQuery: getProp :: String -> JQuery -> Fay String
- Language.Fay.JQuery: getScrollLeft :: JQuery -> Fay Double
- Language.Fay.JQuery: getScrollTop :: JQuery -> Fay Double
- Language.Fay.JQuery: getText :: JQuery -> Fay String
- Language.Fay.JQuery: getVal :: JQuery -> Fay String
- Language.Fay.JQuery: getWidth :: JQuery -> Fay Double
- Language.Fay.JQuery: global :: AjaxSettings a b -> Defined Bool
- Language.Fay.JQuery: has :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: hasClass :: String -> JQuery -> Fay Bool
- Language.Fay.JQuery: hasElement :: Element -> JQuery -> Fay JQuery
- Language.Fay.JQuery: hide :: Speed -> JQuery -> Fay JQuery
- Language.Fay.JQuery: holdReady :: Bool -> Fay JQuery
- Language.Fay.JQuery: hover :: (Event -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: ifModified :: AjaxSettings a b -> Defined Bool
- Language.Fay.JQuery: insertAfter :: JQuery -> Fay JQuery
- Language.Fay.JQuery: insertBefore :: JQuery -> Fay JQuery
- Language.Fay.JQuery: instance Show KeyCode
- Language.Fay.JQuery: is :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: isDefaultPrevented :: Event -> Fay Bool
- Language.Fay.JQuery: isElement :: Element -> JQuery -> Fay JQuery
- Language.Fay.JQuery: isImmediatePropagationStopped :: Event -> Fay Bool
- Language.Fay.JQuery: isJQuery :: JQuery -> JQuery -> Fay JQuery
- Language.Fay.JQuery: isLocal :: AjaxSettings a b -> Defined Bool
- Language.Fay.JQuery: isPropagationStopped :: Event -> Fay Element
- Language.Fay.JQuery: isWith :: (Double -> Bool) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: jQueryMap :: (Double -> Element -> Fay JQuery) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: jshow :: Speed -> JQuery -> Fay JQuery
- Language.Fay.JQuery: keydown :: (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: keypress :: (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: keyup :: (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: last :: JQuery -> Fay JQuery
- Language.Fay.JQuery: load :: (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: makeRqObj :: String -> a -> Object
- Language.Fay.JQuery: mimeType :: AjaxSettings a b -> Defined String
- Language.Fay.JQuery: mousedown :: (Event -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: mouseenter :: (Event -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: mouseleave :: (Event -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: mousemove :: (Event -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: mouseout :: (Event -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: mouseover :: (Event -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: mouseup :: (Event -> Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: namespace :: Event -> Fay String
- Language.Fay.JQuery: next :: JQuery -> Fay JQuery
- Language.Fay.JQuery: nextAll :: JQuery -> Fay JQuery
- Language.Fay.JQuery: nextAllSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: nextSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: nextUntil :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: nextUntilElement :: Element -> JQuery -> Fay JQuery
- Language.Fay.JQuery: nextUntilElementFiltered :: Element -> String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: nextUntilFiltered :: String -> String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: noConflict :: Fay JQuery
- Language.Fay.JQuery: noConflictBool :: Bool -> Fay JQuery
- Language.Fay.JQuery: not :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: notElement :: Element -> JQuery -> Fay JQuery
- Language.Fay.JQuery: notElements :: [Element] -> JQuery -> Fay JQuery
- Language.Fay.JQuery: notJQuery :: JQuery -> JQuery -> Fay JQuery
- Language.Fay.JQuery: notWith :: (Double -> Bool) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: offsetParent :: JQuery -> Fay JQuery
- Language.Fay.JQuery: on :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: onChange :: (Fay ()) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: onClick :: (Event -> Fay Bool) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: onDblClick :: (Event -> Fay Bool) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: onDelegate :: EventType -> Selector -> (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: onFocus :: (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: onKeycode :: (KeyCode -> Fay Bool) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: onLivechange :: Fay () -> JQuery -> Fay JQuery
- Language.Fay.JQuery: onSubmit :: Fay Bool -> JQuery -> Fay JQuery
- Language.Fay.JQuery: one :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: onselect :: (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: pageX :: Event -> Fay Double
- Language.Fay.JQuery: pageY :: Event -> Fay Double
- Language.Fay.JQuery: parent :: JQuery -> Fay JQuery
- Language.Fay.JQuery: parentSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: parents :: JQuery -> Fay JQuery
- Language.Fay.JQuery: parentsSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: parentsUntil :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: parentsUntilElement :: Element -> JQuery -> Fay JQuery
- Language.Fay.JQuery: parentsUntilElementFiltered :: Element -> String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: parentsUntilFiltered :: String -> String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: password :: AjaxSettings a b -> Defined String
- Language.Fay.JQuery: prepend :: JQuery -> Fay JQuery
- Language.Fay.JQuery: prependTo :: JQuery -> Fay JQuery
- Language.Fay.JQuery: prependWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: prev :: JQuery -> Fay JQuery
- Language.Fay.JQuery: prevAll :: JQuery -> Fay JQuery
- Language.Fay.JQuery: prevAllSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: prevSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: prevUntil :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: prevUntilElement :: Element -> JQuery -> Fay JQuery
- Language.Fay.JQuery: prevUntilElementFiltered :: Element -> String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: prevUntilFiltered :: String -> String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: preventDefault :: Event -> Fay ()
- Language.Fay.JQuery: processData :: AjaxSettings a b -> Defined Bool
- Language.Fay.JQuery: ready :: Fay () -> Fay ()
- Language.Fay.JQuery: remove :: JQuery -> Fay JQuery
- Language.Fay.JQuery: removeAttr :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: removeClass :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: removeClassWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: removeProp :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: removeSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: replaceAll :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: replaceWith :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: replaceWithJQuery :: JQuery -> JQuery -> Fay JQuery
- Language.Fay.JQuery: replaceWithWith :: (Fay JQuery) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: resize :: (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: runAnimation :: Animation -> Fay ()
- Language.Fay.JQuery: scroll :: (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: select :: String -> Fay JQuery
- Language.Fay.JQuery: selectElement :: Element -> Fay JQuery
- Language.Fay.JQuery: selectEmpty :: Fay JQuery
- Language.Fay.JQuery: selectObject :: a -> Fay JQuery
- Language.Fay.JQuery: setAttr :: String -> String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setAttrWith :: String -> (Double -> String -> Fay String) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setCss :: String -> String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setCssWith :: String -> (Double -> String -> Fay String) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setDraggable :: JQuery -> Fay JQuery
- Language.Fay.JQuery: setHeight :: Double -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setHeightWith :: (Double -> Double -> Fay Double) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setHtml :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setHtmlWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setProp :: String -> String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setPropWith :: String -> (Double -> String -> Fay String) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setScrollLeft :: Double -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setScrollTop :: Double -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setText :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setTextWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setVal :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setValWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setWidth :: Double -> JQuery -> Fay JQuery
- Language.Fay.JQuery: setWidthWith :: (Double -> Double -> Fay Double) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: siblings :: JQuery -> Fay JQuery
- Language.Fay.JQuery: siblingsSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: slice :: Double -> JQuery -> Fay JQuery
- Language.Fay.JQuery: sliceFromTo :: Double -> Double -> JQuery -> Fay JQuery
- Language.Fay.JQuery: speed :: Speed -> Animation -> Animation
- Language.Fay.JQuery: submit :: (Event -> Fay ()) -> JQuery -> Fay ()
- Language.Fay.JQuery: success :: AjaxSettings a b -> Defined (b -> Fay ())
- Language.Fay.JQuery: target :: Event -> Fay Element
- Language.Fay.JQuery: timeStamp :: Event -> Fay Double
- Language.Fay.JQuery: timeout :: AjaxSettings a b -> Defined Double
- Language.Fay.JQuery: toggle :: Speed -> JQuery -> Fay JQuery
- Language.Fay.JQuery: toggleAllClasses :: Bool -> JQuery -> Fay JQuery
- Language.Fay.JQuery: toggleClass :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: toggleClassBool :: String -> Bool -> JQuery -> Fay JQuery
- Language.Fay.JQuery: toggleClassBoolWith :: (Double -> String -> Bool -> Fay JQuery) -> Bool -> JQuery -> Fay JQuery
- Language.Fay.JQuery: toggleClassWith :: (Double -> String -> Bool -> Fay JQuery) -> JQuery -> Fay JQuery
- Language.Fay.JQuery: toggleEvents :: [Event -> Fay ()] -> JQuery -> Fay ()
- Language.Fay.JQuery: trigger :: EventType -> JQuery -> Fay ()
- Language.Fay.JQuery: triggerHandler :: EventType -> JQuery -> Fay ()
- Language.Fay.JQuery: type EventType = String
- Language.Fay.JQuery: type Selector = String
- Language.Fay.JQuery: type' :: AjaxSettings a b -> Defined String
- Language.Fay.JQuery: unKeycode :: JQuery -> Fay JQuery
- Language.Fay.JQuery: unhide :: JQuery -> Fay JQuery
- Language.Fay.JQuery: unload :: (Event -> Fay ()) -> Window -> Fay ()
- Language.Fay.JQuery: unwrap :: JQuery -> Fay JQuery
- Language.Fay.JQuery: url :: AjaxSettings a b -> Defined String
- Language.Fay.JQuery: username :: AjaxSettings a b -> Defined String
- Language.Fay.JQuery: validate :: JQuery -> Fay () -> Fay ()
- Language.Fay.JQuery: which :: Event -> Fay Int
- Language.Fay.JQuery: wrap :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: wrapAllElement :: Element -> JQuery -> Fay JQuery
- Language.Fay.JQuery: wrapAllHtml :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: wrapAllSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: wrapInnerElement :: Element -> JQuery -> Fay JQuery
- Language.Fay.JQuery: wrapInnerHtml :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: wrapInnerSelector :: String -> JQuery -> Fay JQuery
- Language.Fay.JQuery: wrapWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery
+ JQuery: AjaxSettings :: Defined String -> Defined Bool -> Defined (JQXHR -> AjaxSettings a b -> Fay ()) -> Defined Bool -> Defined (JQXHR -> String -> Fay ()) -> Defined String -> Defined Bool -> Defined a -> Defined String -> Defined (JQXHR -> Maybe String -> Maybe String -> Fay ()) -> Defined Bool -> Defined Bool -> Defined Bool -> Defined String -> Defined String -> Defined Bool -> Defined (b -> Fay ()) -> Defined Double -> Defined String -> Defined String -> Defined String -> AjaxSettings a b
+ JQuery: Animation :: AnimationType -> Speed -> Maybe Animation -> JQuery -> Animation
+ JQuery: DeepWithDataAndEvents :: CloneType
+ JQuery: FadeIn :: AnimationType
+ JQuery: FadeOut :: AnimationType
+ JQuery: FadeToggle :: AnimationType
+ JQuery: Fast :: Speed
+ JQuery: Hide :: AnimationType
+ JQuery: Instantly :: Speed
+ JQuery: KeyDown :: KeyCode
+ JQuery: KeyLeft :: KeyCode
+ JQuery: KeyRet :: KeyCode
+ JQuery: KeyRight :: KeyCode
+ JQuery: KeyUp :: KeyCode
+ JQuery: Show :: AnimationType
+ JQuery: Slow :: Speed
+ JQuery: SomeKey :: Double -> KeyCode
+ JQuery: Speed :: Double -> Speed
+ JQuery: Toggle :: AnimationType
+ JQuery: WithDataAndEvents :: CloneType
+ JQuery: WithoutDataAndEvents :: CloneType
+ JQuery: _element :: Animation -> JQuery
+ JQuery: _nextAnimation :: Animation -> Maybe Animation
+ JQuery: _onKeycode :: (Double -> Fay Bool) -> JQuery -> Fay JQuery
+ JQuery: _speed :: Animation -> Speed
+ JQuery: _type :: Animation -> AnimationType
+ JQuery: accepts :: AjaxSettings a b -> Defined String
+ JQuery: add :: JQuery -> JQuery -> Fay JQuery
+ JQuery: addClass :: String -> JQuery -> Fay JQuery
+ JQuery: addClassWith :: (Double -> String -> Fay String) -> JQuery -> Fay JQuery
+ JQuery: addElement :: Element -> JQuery -> Fay JQuery
+ JQuery: addHtml :: String -> JQuery -> Fay JQuery
+ JQuery: addSelector :: String -> JQuery -> Fay JQuery
+ JQuery: addSelectorWithContext :: String -> JQuery -> JQuery -> Fay JQuery
+ JQuery: after :: a -> JQuery -> Fay JQuery
+ JQuery: afterWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery
+ JQuery: ajax :: String -> (Automatic b -> Fay ()) -> (JQXHR -> Maybe String -> Maybe String -> Fay ()) -> Fay ()
+ JQuery: ajax' :: AjaxSettings (Automatic a) (Automatic b) -> Fay ()
+ JQuery: ajaxPost :: String -> Automatic f -> (Automatic g -> Fay ()) -> (JQXHR -> Maybe String -> Maybe String -> Fay ()) -> Fay ()
+ JQuery: ajaxPostParam :: String -> String -> Automatic f -> (Automatic g -> Fay ()) -> (JQXHR -> Maybe String -> Maybe String -> Fay ()) -> Fay ()
+ JQuery: andSelf :: JQuery -> Fay JQuery
+ JQuery: anim :: AnimationType -> JQuery -> Animation
+ JQuery: animate :: AnimationType -> Speed -> (JQuery -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: append :: a -> JQuery -> Fay JQuery
+ JQuery: appendJQuery :: JQuery -> JQuery -> Fay JQuery
+ JQuery: appendTo :: a -> JQuery -> Fay JQuery
+ JQuery: appendToJQuery :: JQuery -> JQuery -> Fay JQuery
+ JQuery: appendWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery
+ JQuery: async :: AjaxSettings a b -> Defined Bool
+ JQuery: before :: a -> JQuery -> Fay JQuery
+ JQuery: beforeSend :: AjaxSettings a b -> Defined (JQXHR -> AjaxSettings a b -> Fay ())
+ JQuery: beforeWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery
+ JQuery: bind :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: bindPreventBubble :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: blur :: (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: cache :: AjaxSettings a b -> Defined Bool
+ JQuery: chainAnim :: Animation -> Animation -> Animation
+ JQuery: chainAnims :: [Animation] -> Animation
+ JQuery: change :: (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: children :: JQuery -> Fay JQuery
+ JQuery: childrenMatching :: String -> JQuery -> Fay JQuery
+ JQuery: click :: (Event -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: clone :: CloneType -> JQuery -> Fay JQuery
+ JQuery: closest :: JQuery -> JQuery -> Fay JQuery
+ JQuery: closestElement :: Element -> JQuery -> Fay JQuery
+ JQuery: closestSelector :: String -> JQuery -> Fay JQuery
+ JQuery: closestWithContext :: String -> String -> JQuery -> Fay JQuery
+ JQuery: complete :: AjaxSettings a b -> Defined (JQXHR -> String -> Fay ())
+ JQuery: contentType :: AjaxSettings a b -> Defined String
+ JQuery: contents :: JQuery -> Fay JQuery
+ JQuery: createJQuery :: String -> a -> Fay JQuery
+ JQuery: crossDomain :: AjaxSettings a b -> Defined Bool
+ JQuery: data AjaxSettings a b
+ JQuery: data Animation
+ JQuery: data AnimationType
+ JQuery: data CloneType
+ JQuery: data Document
+ JQuery: data Element
+ JQuery: data Event
+ JQuery: data JQXHR
+ JQuery: data JQuery
+ JQuery: data KeyCode
+ JQuery: data Object
+ JQuery: data Speed
+ JQuery: data Window
+ JQuery: data' :: AjaxSettings a b -> Defined a
+ JQuery: dataType :: AjaxSettings a b -> Defined String
+ JQuery: dblclick :: (Event -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: defaultAjaxSettings :: AjaxSettings a b
+ JQuery: delegateTarget :: Event -> Fay Element
+ JQuery: detach :: JQuery -> Fay JQuery
+ JQuery: detachSelector :: String -> JQuery -> Fay JQuery
+ JQuery: documentReady :: (Event -> Fay ()) -> Document -> Fay ()
+ JQuery: each :: (Double -> Element -> Fay Bool) -> JQuery -> Fay JQuery
+ JQuery: empty :: JQuery -> Fay JQuery
+ JQuery: emptyCallback :: a -> Fay ()
+ JQuery: end :: JQuery -> Fay JQuery
+ JQuery: eq :: Double -> JQuery -> Fay JQuery
+ JQuery: error' :: AjaxSettings a b -> Defined (JQXHR -> Maybe String -> Maybe String -> Fay ())
+ JQuery: eventType :: Event -> Fay String
+ JQuery: eventX :: Event -> JQuery -> Double
+ JQuery: eventY :: Event -> JQuery -> Double
+ JQuery: fadeIn :: Speed -> JQuery -> Fay JQuery
+ JQuery: fadeOut :: Speed -> JQuery -> Fay JQuery
+ JQuery: fadeToggle :: Speed -> JQuery -> Fay JQuery
+ JQuery: filter :: String -> JQuery -> Fay JQuery
+ JQuery: filterElement :: Element -> JQuery -> Fay JQuery
+ JQuery: filterJQuery :: JQuery -> JQuery -> Fay JQuery
+ JQuery: filterWith :: (Double -> Fay Bool) -> JQuery -> Fay JQuery
+ JQuery: findElement :: Element -> JQuery -> Fay JQuery
+ JQuery: findJQuery :: JQuery -> JQuery -> Fay JQuery
+ JQuery: findSelector :: String -> JQuery -> Fay JQuery
+ JQuery: first :: JQuery -> Fay JQuery
+ JQuery: focus :: JQuery -> Fay JQuery
+ JQuery: focusin :: (Event -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: focusout :: (Event -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: getAttr :: String -> JQuery -> Fay String
+ JQuery: getCss :: String -> JQuery -> Fay String
+ JQuery: getHeight :: JQuery -> Fay Double
+ JQuery: getHtml :: JQuery -> Fay String
+ JQuery: getInnerHeight :: JQuery -> Fay Double
+ JQuery: getInnerWidth :: JQuery -> Fay Double
+ JQuery: getOuterHeight :: JQuery -> Fay Double
+ JQuery: getOuterHeightBool :: Bool -> JQuery -> Fay Double
+ JQuery: getOuterWidth :: JQuery -> Fay Double
+ JQuery: getOuterWidthBool :: Bool -> JQuery -> Fay Double
+ JQuery: getProp :: String -> JQuery -> Fay String
+ JQuery: getScrollLeft :: JQuery -> Fay Double
+ JQuery: getScrollTop :: JQuery -> Fay Double
+ JQuery: getText :: JQuery -> Fay String
+ JQuery: getVal :: JQuery -> Fay String
+ JQuery: getWidth :: JQuery -> Fay Double
+ JQuery: global :: AjaxSettings a b -> Defined Bool
+ JQuery: has :: String -> JQuery -> Fay JQuery
+ JQuery: hasClass :: String -> JQuery -> Fay Bool
+ JQuery: hasElement :: Element -> JQuery -> Fay JQuery
+ JQuery: hide :: Speed -> JQuery -> Fay JQuery
+ JQuery: holdReady :: Bool -> Fay JQuery
+ JQuery: hover :: (Event -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: ifModified :: AjaxSettings a b -> Defined Bool
+ JQuery: insertAfter :: a -> JQuery -> Fay JQuery
+ JQuery: insertBefore :: a -> JQuery -> Fay JQuery
+ JQuery: instance Show KeyCode
+ JQuery: is :: String -> JQuery -> Fay JQuery
+ JQuery: isDefaultPrevented :: Event -> Fay Bool
+ JQuery: isElement :: Element -> JQuery -> Fay JQuery
+ JQuery: isImmediatePropagationStopped :: Event -> Fay Bool
+ JQuery: isJQuery :: JQuery -> JQuery -> Fay JQuery
+ JQuery: isLocal :: AjaxSettings a b -> Defined Bool
+ JQuery: isPropagationStopped :: Event -> Fay Element
+ JQuery: isWith :: (Double -> Bool) -> JQuery -> Fay JQuery
+ JQuery: jQueryMap :: (Double -> Element -> Fay JQuery) -> JQuery -> Fay JQuery
+ JQuery: jshow :: Speed -> JQuery -> Fay JQuery
+ JQuery: keydown :: (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: keypress :: (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: keyup :: (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: last :: JQuery -> Fay JQuery
+ JQuery: load :: (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: makeRqObj :: String -> a -> Object
+ JQuery: mimeType :: AjaxSettings a b -> Defined String
+ JQuery: mousedown :: (Event -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: mouseenter :: (Event -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: mouseleave :: (Event -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: mousemove :: (Event -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: mouseout :: (Event -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: mouseover :: (Event -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: mouseup :: (Event -> Fay ()) -> JQuery -> Fay JQuery
+ JQuery: namespace :: Event -> Fay String
+ JQuery: next :: JQuery -> Fay JQuery
+ JQuery: nextAll :: JQuery -> Fay JQuery
+ JQuery: nextAllSelector :: String -> JQuery -> Fay JQuery
+ JQuery: nextSelector :: String -> JQuery -> Fay JQuery
+ JQuery: nextUntil :: String -> JQuery -> Fay JQuery
+ JQuery: nextUntilElement :: Element -> JQuery -> Fay JQuery
+ JQuery: nextUntilElementFiltered :: Element -> String -> JQuery -> Fay JQuery
+ JQuery: nextUntilFiltered :: String -> String -> JQuery -> Fay JQuery
+ JQuery: noConflict :: Fay JQuery
+ JQuery: noConflictBool :: Bool -> Fay JQuery
+ JQuery: not :: String -> JQuery -> Fay JQuery
+ JQuery: notElement :: Element -> JQuery -> Fay JQuery
+ JQuery: notElements :: [Element] -> JQuery -> Fay JQuery
+ JQuery: notJQuery :: JQuery -> JQuery -> Fay JQuery
+ JQuery: notWith :: (Double -> Bool) -> JQuery -> Fay JQuery
+ JQuery: offsetParent :: JQuery -> Fay JQuery
+ JQuery: on :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: onChange :: (Fay ()) -> JQuery -> Fay JQuery
+ JQuery: onClick :: (Event -> Fay Bool) -> JQuery -> Fay JQuery
+ JQuery: onDblClick :: (Event -> Fay Bool) -> JQuery -> Fay JQuery
+ JQuery: onDelegate :: EventType -> Selector -> (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: onFocus :: (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: onKeycode :: (KeyCode -> Fay Bool) -> JQuery -> Fay JQuery
+ JQuery: onLivechange :: Fay () -> JQuery -> Fay JQuery
+ JQuery: onSubmit :: Fay Bool -> JQuery -> Fay JQuery
+ JQuery: one :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: onselect :: (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: pageX :: Event -> Fay Double
+ JQuery: pageY :: Event -> Fay Double
+ JQuery: parent :: JQuery -> Fay JQuery
+ JQuery: parentSelector :: String -> JQuery -> Fay JQuery
+ JQuery: parents :: JQuery -> Fay JQuery
+ JQuery: parentsSelector :: String -> JQuery -> Fay JQuery
+ JQuery: parentsUntil :: String -> JQuery -> Fay JQuery
+ JQuery: parentsUntilElement :: Element -> JQuery -> Fay JQuery
+ JQuery: parentsUntilElementFiltered :: Element -> String -> JQuery -> Fay JQuery
+ JQuery: parentsUntilFiltered :: String -> String -> JQuery -> Fay JQuery
+ JQuery: password :: AjaxSettings a b -> Defined String
+ JQuery: prepend :: a -> JQuery -> Fay JQuery
+ JQuery: prependTo :: a -> JQuery -> Fay JQuery
+ JQuery: prependWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery
+ JQuery: prev :: JQuery -> Fay JQuery
+ JQuery: prevAll :: JQuery -> Fay JQuery
+ JQuery: prevAllSelector :: String -> JQuery -> Fay JQuery
+ JQuery: prevSelector :: String -> JQuery -> Fay JQuery
+ JQuery: prevUntil :: String -> JQuery -> Fay JQuery
+ JQuery: prevUntilElement :: Element -> JQuery -> Fay JQuery
+ JQuery: prevUntilElementFiltered :: Element -> String -> JQuery -> Fay JQuery
+ JQuery: prevUntilFiltered :: String -> String -> JQuery -> Fay JQuery
+ JQuery: preventDefault :: Event -> Fay ()
+ JQuery: processData :: AjaxSettings a b -> Defined Bool
+ JQuery: ready :: Fay () -> Fay ()
+ JQuery: remove :: JQuery -> Fay JQuery
+ JQuery: removeAttr :: String -> JQuery -> Fay JQuery
+ JQuery: removeClass :: String -> JQuery -> Fay JQuery
+ JQuery: removeClassWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery
+ JQuery: removeProp :: String -> JQuery -> Fay JQuery
+ JQuery: removeSelector :: String -> JQuery -> Fay JQuery
+ JQuery: replaceAll :: String -> JQuery -> Fay JQuery
+ JQuery: replaceWith :: String -> JQuery -> Fay JQuery
+ JQuery: replaceWithJQuery :: JQuery -> JQuery -> Fay JQuery
+ JQuery: replaceWithWith :: (Fay JQuery) -> JQuery -> Fay JQuery
+ JQuery: resize :: (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: runAnimation :: Animation -> Fay ()
+ JQuery: scroll :: (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: select :: String -> Fay JQuery
+ JQuery: selectElement :: Element -> Fay JQuery
+ JQuery: selectEmpty :: Fay JQuery
+ JQuery: selectObject :: a -> Fay JQuery
+ JQuery: setAttr :: String -> String -> JQuery -> Fay JQuery
+ JQuery: setAttrWith :: String -> (Double -> String -> Fay String) -> JQuery -> Fay JQuery
+ JQuery: setCss :: String -> String -> JQuery -> Fay JQuery
+ JQuery: setCssWith :: String -> (Double -> String -> Fay String) -> JQuery -> Fay JQuery
+ JQuery: setDraggable :: JQuery -> Fay JQuery
+ JQuery: setHeight :: Double -> JQuery -> Fay JQuery
+ JQuery: setHeightWith :: (Double -> Double -> Fay Double) -> JQuery -> Fay JQuery
+ JQuery: setHtml :: String -> JQuery -> Fay JQuery
+ JQuery: setHtmlWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery
+ JQuery: setProp :: String -> String -> JQuery -> Fay JQuery
+ JQuery: setPropWith :: String -> (Double -> String -> Fay String) -> JQuery -> Fay JQuery
+ JQuery: setScrollLeft :: Double -> JQuery -> Fay JQuery
+ JQuery: setScrollTop :: Double -> JQuery -> Fay JQuery
+ JQuery: setText :: String -> JQuery -> Fay JQuery
+ JQuery: setTextWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery
+ JQuery: setVal :: String -> JQuery -> Fay JQuery
+ JQuery: setValWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery
+ JQuery: setWidth :: Double -> JQuery -> Fay JQuery
+ JQuery: setWidthWith :: (Double -> Double -> Fay Double) -> JQuery -> Fay JQuery
+ JQuery: siblings :: JQuery -> Fay JQuery
+ JQuery: siblingsSelector :: String -> JQuery -> Fay JQuery
+ JQuery: slice :: Double -> JQuery -> Fay JQuery
+ JQuery: sliceFromTo :: Double -> Double -> JQuery -> Fay JQuery
+ JQuery: speed :: Speed -> Animation -> Animation
+ JQuery: submit :: (Event -> Fay ()) -> JQuery -> Fay ()
+ JQuery: success :: AjaxSettings a b -> Defined (b -> Fay ())
+ JQuery: target :: Event -> Fay Element
+ JQuery: timeStamp :: Event -> Fay Double
+ JQuery: timeout :: AjaxSettings a b -> Defined Double
+ JQuery: toggle :: Speed -> JQuery -> Fay JQuery
+ JQuery: toggleAllClasses :: Bool -> JQuery -> Fay JQuery
+ JQuery: toggleClass :: String -> JQuery -> Fay JQuery
+ JQuery: toggleClassBool :: String -> Bool -> JQuery -> Fay JQuery
+ JQuery: toggleClassBoolWith :: (Double -> String -> Bool -> Fay JQuery) -> Bool -> JQuery -> Fay JQuery
+ JQuery: toggleClassWith :: (Double -> String -> Bool -> Fay JQuery) -> JQuery -> Fay JQuery
+ JQuery: toggleEvents :: [Event -> Fay ()] -> JQuery -> Fay ()
+ JQuery: trigger :: EventType -> JQuery -> Fay ()
+ JQuery: triggerHandler :: EventType -> JQuery -> Fay ()
+ JQuery: type EventType = String
+ JQuery: type Selector = String
+ JQuery: type' :: AjaxSettings a b -> Defined String
+ JQuery: unKeycode :: JQuery -> Fay JQuery
+ JQuery: unhide :: JQuery -> Fay JQuery
+ JQuery: unload :: (Event -> Fay ()) -> Window -> Fay ()
+ JQuery: unwrap :: JQuery -> Fay JQuery
+ JQuery: url :: AjaxSettings a b -> Defined String
+ JQuery: username :: AjaxSettings a b -> Defined String
+ JQuery: validate :: JQuery -> Fay () -> Fay ()
+ JQuery: which :: Event -> Fay Int
+ JQuery: wrap :: String -> JQuery -> Fay JQuery
+ JQuery: wrapAllElement :: Element -> JQuery -> Fay JQuery
+ JQuery: wrapAllHtml :: String -> JQuery -> Fay JQuery
+ JQuery: wrapAllSelector :: String -> JQuery -> Fay JQuery
+ JQuery: wrapInnerElement :: Element -> JQuery -> Fay JQuery
+ JQuery: wrapInnerHtml :: String -> JQuery -> Fay JQuery
+ JQuery: wrapInnerSelector :: String -> JQuery -> Fay JQuery
+ JQuery: wrapWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery

Files

fay-jquery.cabal view
@@ -1,5 +1,5 @@ name:                fay-jquery-version:             0.2.1.0+version:             0.3.0.0 synopsis:            jQuery binding. description:         jQuery binding. homepage:            https://github.com/faylang/fay-jquery@@ -11,9 +11,9 @@ copyright:           Adam Bergmark, Brian Victor, Chris Done build-type:          Simple cabal-version:       >=1.8-data-files: src/Language/Fay/JQuery.hs+data-files: src/JQuery.hs  library   hs-source-dirs: src-  exposed-modules: Language.Fay.JQuery+  exposed-modules: JQuery   build-depends: fay-base >= 0.14.1.0
+ src/JQuery.hs view
@@ -0,0 +1,1066 @@+{-# LANGUAGE EmptyDataDecls    #-}+{-# LANGUAGE RankNTypes        #-}++module JQuery where++{--+Note that this is very much in flux. Function names, type signatures, and+data types all subject to drastic change.+--}++import           FFI+import           Prelude++data JQuery++data JQXHR++type EventType = String++type Selector = String+++-- Things that should go in fay or fay-dom+data Element++data Document++data Window++data Object++emptyCallback :: a -> Fay ()+emptyCallback = const $ return ()++----+---- Ajax+----++ajax :: String+     -> (Automatic b -> Fay ())+     -> (JQXHR -> Maybe String -> Maybe String -> Fay ())+     -> Fay ()+ajax ur succ err = ajax' $ defaultAjaxSettings+  { success = Defined succ+  , data' = Undefined :: Defined String -- hackety hack+  , error' = Defined err+  , url = Defined ur }++-- | Serializes the given object to JSON and passes it as the request body without request parameters.+--   The response is deserialized depending on its type.+ajaxPost :: String+         -> Automatic f+         -> (Automatic g -> Fay ())+         -> (JQXHR -> Maybe String -> Maybe String -> Fay ())+         -> Fay ()+ajaxPost ur dat succ err = ajax' $ defaultAjaxSettings+  { success = Defined succ+  , data' = Defined dat+  , error' = Defined err+  , url = Defined ur+  , type' = Defined "POST"+  , processData = Defined False+  , contentType = Defined "text/json"+  , dataType = Defined "json"+  }++-- | Same as ajaxPost but sends the data inside the given request parameter+ajaxPostParam :: String+              -> String+              -> Automatic f+              -> (Automatic g -> Fay ())+              -> (JQXHR -> Maybe String -> Maybe String -> Fay ())+              -> Fay ()+ajaxPostParam ur rqparam dat succ err = ajax' $ defaultAjaxSettings+  { success = Defined succ+  , data' = Defined $ makeRqObj rqparam dat+  , error' = Defined err+  , url = Defined ur+  , type' = Defined "POST"+  , processData = Defined False+  , contentType = Defined "text/json"+  , dataType = Defined "json"+  }++makeRqObj :: String -> a -> Object+makeRqObj = ffi "(function () { var o = {}; o[%1] = %2; return o; })()"++data AjaxSettings a b = AjaxSettings+  { accepts     :: Defined String+  , async       :: Defined Bool+  , beforeSend  :: Defined (JQXHR -> AjaxSettings a b -> Fay ())+  , cache       :: Defined Bool+  , complete    :: Defined (JQXHR -> String -> Fay ())+  -- , contents :: Defined (Object RegExp) -- skipped+  , contentType :: Defined String+  -- , context :: Defined Object -- skipped+  -- , converters :: Defined (Object Value) -- skipped+  , crossDomain :: Defined Bool+  , data'       :: Defined a+  -- , dataFilter  :: Defined (Data -> Type -> Fay ()) -- skipped+  , dataType    :: Defined String+  , error'      :: Defined (JQXHR -> Maybe String -> Maybe String -> Fay ())+  , global      :: Defined Bool+  -- , headers :: Object String -- need generic objects+  , ifModified  :: Defined Bool+  , isLocal     :: Defined Bool+  -- , jsonp -- skipped+  -- , jsonpCallback -- skipped+  , mimeType    :: Defined String+  , password    :: Defined String+  , processData :: Defined Bool+  -- , scriptCharset -- skipped+  -- , statusCode -- skipped+  , success     :: Defined (b -> Fay ())+  , timeout     :: Defined Double+  -- , traditional -- skipped+  , type'       :: Defined String+  , url         :: Defined String+  , username    :: Defined String+  -- , xhr :: XHR -- XHR needs to be added to fay-dom+  }++defaultAjaxSettings :: AjaxSettings a b+defaultAjaxSettings = AjaxSettings+  { accepts     = Undefined+  , async       = Undefined+  , beforeSend  = Undefined+  , cache       = Undefined+  , complete    = Undefined+  , contentType = Undefined+  , crossDomain = Undefined+  , data'       = Undefined+  , dataType    = Undefined+  , error'      = Undefined+  , global      = Undefined+  , ifModified  = Undefined+  , isLocal     = Undefined+  , mimeType    = Undefined+  , password    = Undefined+  , processData = Undefined+  , success     = Undefined+  , timeout     = Undefined+  , type'       = Undefined+  , url         = Undefined+  , username    = Undefined+  }++ajax' :: AjaxSettings (Automatic a) (Automatic b) -> Fay ()+ajax' = ffi "\+  \ (function (o) { \+    \ delete o['instance']; \+    \ for (var p in o) { \+      \ if (/\\$39\\$/.test(p)) { \+        \ o[p.replace(/\\$39\\$/g, '')] = o[p]; \+        \ delete o[p]; \+      \ } \+    \ } \+    \ console.log(o); \+    \ return jQuery.ajax(o); \+  \ })(%1)"++----+---- Attributes+----++addClass :: String -> JQuery -> Fay JQuery+addClass = ffi "%2['addClass'](%1)"++-- FIXME: https://github.com/chrisdone/fay/issues/38+addClassWith :: (Double -> String -> Fay String) -> JQuery -> Fay JQuery+addClassWith = ffi "%2['addClass'](%1)"++getAttr :: String -> JQuery -> Fay String+getAttr = ffi "%2['attr'](%1)"++setAttr :: String -> String -> JQuery -> Fay JQuery+setAttr = ffi "%3['attr'](%1, %2)"++-- TODO: setAttrs with map++setAttrWith :: String -> (Double -> String -> Fay String) -> JQuery -> Fay JQuery+setAttrWith = ffi "%3['attr'](%1, %2)"++hasClass :: String -> JQuery -> Fay Bool+hasClass = ffi "%2['hasClass'](%1)"++getHtml :: JQuery -> Fay String+getHtml = ffi "%1['html']()"++setHtml :: String -> JQuery -> Fay JQuery+setHtml = ffi "%2['html'](%1)"++setHtmlWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery+setHtmlWith = ffi "%2['html'](%1)"++-- TODO: html with props++getProp :: String -> JQuery -> Fay String+getProp = ffi "%2['prop'](%1)"++setProp :: String -> String -> JQuery -> Fay JQuery+setProp = ffi "%3['prop'](%1, %2)"++-- TODO: setProp with map++setPropWith :: String -> (Double -> String -> Fay String) -> JQuery -> Fay JQuery+setPropWith = ffi "%3['prop'](%1, %2)"++removeAttr :: String -> JQuery -> Fay JQuery+removeAttr = ffi "%2['removeAttr'](%1)"++removeClass :: String -> JQuery -> Fay JQuery+removeClass = ffi "%2['removeClass'](%1)"++removeClassWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery+removeClassWith = ffi "%2['removeClass'](%1)"++removeProp :: String -> JQuery -> Fay JQuery+removeProp = ffi "%2['removeProp'](%1)"++toggleClass :: String -> JQuery -> Fay JQuery+toggleClass = ffi "%2['toggleClass'](%1)"++toggleClassBool :: String -> Bool -> JQuery -> Fay JQuery+toggleClassBool = ffi "%3['toggleClass'](%1, %2)"++toggleAllClasses :: Bool -> JQuery -> Fay JQuery+toggleAllClasses = ffi "%2['toggleClass'](%1)"++toggleClassWith :: (Double -> String -> Bool -> Fay JQuery) -> JQuery -> Fay JQuery+toggleClassWith = ffi "%2['toggleClass'](%1)"++toggleClassBoolWith :: (Double -> String -> Bool -> Fay JQuery) -> Bool -> JQuery -> Fay JQuery+toggleClassBoolWith = ffi "%3['toggleClass'](%1, %2)"++getVal :: JQuery -> Fay String+getVal = ffi "%1['val']()"++setVal :: String -> JQuery -> Fay JQuery+setVal = ffi "%2['val'](%1)"++setValWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery+setValWith = ffi "%2['val'](%1)"++setText :: String -> JQuery -> Fay JQuery+setText = ffi "%2['text'](%1)"++setTextWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery+setTextWith = ffi "%2['text'](%1)"++getText :: JQuery -> Fay String+getText = ffi "%1['text']()"++----+---- Core+----++holdReady :: Bool -> Fay JQuery+holdReady = ffi "jQuery['holdReady'](%1)"++-- jQuery()+selectElement :: Element -> Fay JQuery+selectElement = ffi "jQuery(%1)"++selectObject :: a -> Fay JQuery+selectObject = ffi "jQuery(%1)"++select :: String -> Fay JQuery+select = ffi "jQuery(%1)"++selectEmpty :: Fay JQuery+selectEmpty = ffi "jQuery()"++createJQuery :: String -> a -> Fay JQuery+createJQuery = ffi "jQuery(%1, %2)"++ready :: Fay () -> Fay ()+ready = ffi "jQuery(%1)"+-- end jQuery()++-- is noConflict useful in the context of Fay?+noConflict :: Fay JQuery+noConflict = ffi "jQuery['noConflict']()"++noConflictBool :: Bool -> Fay JQuery+noConflictBool = ffi "jQuery['noConflict'](%1)"++-- TODO: jQuery['sub']()++-- TODO: jQuery['when'](): figure out Deferred first++----+---- CSS+----++getCss :: String -> JQuery -> Fay String+getCss = ffi "%2['css'](%1)"++setCss :: String -> String -> JQuery -> Fay JQuery+setCss = ffi "%3['css'](%1, %2)"++setCssWith :: String -> (Double -> String -> Fay String) -> JQuery -> Fay JQuery+setCssWith = ffi "%3['css'](%1, %2)"++getHeight :: JQuery -> Fay Double+getHeight = ffi "%1['height']()"++setHeight :: Double -> JQuery -> Fay JQuery+setHeight = ffi "%2['height'](%1)"++setHeightWith :: (Double -> Double -> Fay Double) -> JQuery -> Fay JQuery+setHeightWith = ffi "%2['height'](%1)"++getInnerHeight :: JQuery -> Fay Double+getInnerHeight = ffi "%1['innerHeight']()"++getInnerWidth :: JQuery -> Fay Double+getInnerWidth = ffi "%1['innerWidth']()"++-- TODO: figure out how to marshal coordinates+--getOffset :: JQuery -> Fay+--getOffset = ffi "%1['offset']()"++--setOffset+--setOffsetWith++-- TODO: css with map++-- TODO: cssHooks++getOuterHeight :: JQuery -> Fay Double+getOuterHeight = ffi "%1['outerHeight']()"++-- FIXME: better name+getOuterHeightBool :: Bool -> JQuery -> Fay Double+getOuterHeightBool = ffi "%2['outerHeight'](%1)"++getOuterWidth :: JQuery -> Fay Double+getOuterWidth = ffi "%1['outerWidth']()"++getOuterWidthBool :: Bool -> JQuery -> Fay Double+getOuterWidthBool = ffi "%2['outerWidth'](%1)"++-- TODO: marshal coordinates as in offset()+-- getPosition++getScrollLeft :: JQuery -> Fay Double+getScrollLeft = ffi "%1['scrollLeft']()"++setScrollLeft :: Double -> JQuery -> Fay JQuery+setScrollLeft = ffi "%2['scrollLeft'](%1)"++getScrollTop :: JQuery -> Fay Double+getScrollTop = ffi "%1['scrollTop']()"++setScrollTop :: Double -> JQuery -> Fay JQuery+setScrollTop = ffi "%2['scrollTop'](%1)"++getWidth :: JQuery -> Fay Double+getWidth = ffi "%1['width']()"++setWidth :: Double -> JQuery -> Fay JQuery+setWidth = ffi "%2['width'](%1)"++setWidthWith :: (Double -> Double -> Fay Double) -> JQuery -> Fay JQuery+setWidthWith = ffi "%2['width'](%1)"+++----+---- Data+----++----+---- Deferred Object+----++----+---- Effects+----++--+-- Basics+--++data AnimationType = Show | Hide | Toggle | FadeIn | FadeOut | FadeToggle++data Speed = Instantly | Slow | Fast | Speed Double++data Animation = Animation+  { _type :: AnimationType+  , _speed :: Speed+  , _nextAnimation :: Maybe Animation+  , _element :: JQuery+  }++anim :: AnimationType -> JQuery -> Animation+anim ty el = Animation ty Fast Nothing el++speed :: Speed -> Animation -> Animation+speed spd anim = anim { _speed = spd }++chainAnim :: Animation -> Animation -> Animation+chainAnim a1 a2 = a1 { _nextAnimation = Just a2 }++chainAnims :: [Animation] -> Animation+chainAnims [a] = a+chainAnims (a:as) = a `chainAnim` chainAnims as++runAnimation :: Animation -> Fay ()+runAnimation a = do+  animate (_type a) (_speed a) cb (_element a) >> return ()+    where+      cb = case _nextAnimation a of+                Just a2 -> const (runAnimation a2)+                Nothing -> const (return ())++animate :: AnimationType -> Speed -> (JQuery -> Fay ()) -> JQuery -> Fay JQuery+animate = ffi "%4[(function () { \+      \ switch (%1['instance']) { \+        \ case 'FadeIn': return 'fadeIn'; \+        \ case 'FadeOut': return 'fadeOut'; \+        \ case 'FadeToggle': return 'fadeToggle'; \+        \ default: return %1['instance']['toLowerCase'](); \+      \ } \+    \ })()]((function () { \+    \ if (%2['instance'] == 'Slow') { \+      \ return 'slow'; \+    \ } else if (%2['instance'] == 'Instantly') { \+      \ return null; \+    \ } else if (%2['instance'] == 'Fast') { \+      \ return 'fast'; \+    \ } else { \+      \ return %2['slot1']; \+    \ } \+  \ })(), function() { \+     \ %3(jQuery(this)); \+  \ })"++hide :: Speed -> JQuery -> Fay JQuery+hide spd = animate Hide spd emptyCallback++unhide :: JQuery -> Fay JQuery+unhide = ffi "%1['show']()"++jshow :: Speed -> JQuery -> Fay JQuery+jshow spd = animate Show spd emptyCallback++toggle :: Speed -> JQuery -> Fay JQuery+toggle spd = animate Toggle spd emptyCallback++--+-- Fading+--++fadeIn :: Speed -> JQuery -> Fay JQuery+fadeIn spd = animate FadeIn spd emptyCallback++fadeOut :: Speed -> JQuery -> Fay JQuery+fadeOut spd = animate FadeOut spd emptyCallback++-- TODO fadeTo++fadeToggle :: Speed -> JQuery -> Fay JQuery+fadeToggle spd = animate FadeToggle spd emptyCallback++----+---- Events+----++--+-- Browser Events+--++-- Skip error(), deprecated++resize :: (Event -> Fay ()) -> JQuery -> Fay ()+resize = ffi "%2['resize'](%1)"++scroll :: (Event -> Fay ()) -> JQuery -> Fay ()+scroll = ffi "%2['scroll'](%1)"++--+-- Document Loading+--++load :: (Event -> Fay()) -> JQuery -> Fay ()+load = ffi "%2['load'](%1)"++documentReady :: (Event -> Fay ()) -> Document -> Fay ()+documentReady = ffi "jQuery(%2)['ready'](%1)"++unload :: (Event -> Fay()) -> Window -> Fay ()+unload = ffi "jQuery(%2)['unload'](%1)"++--+-- Mouse Events+--++click :: (Event -> Fay ()) -> JQuery -> Fay JQuery+click = ffi "%2['click'](%1)"++dblclick :: (Event -> Fay ()) -> JQuery -> Fay JQuery+dblclick = ffi "%2['dblclick'](%1)"++focusin :: (Event -> Fay ()) -> JQuery -> Fay JQuery+focusin = ffi "%2['focusin'](%1)"++focusout :: (Event -> Fay ()) -> JQuery -> Fay JQuery+focusout = ffi "%2['focusout'](%1)"++hover :: (Event -> Fay ()) -> JQuery -> Fay JQuery+hover = ffi "%2['hover'](%1)"++mousedown :: (Event -> Fay ()) -> JQuery -> Fay JQuery+mousedown = ffi "%2['mousedown'](%1)"++mouseenter :: (Event -> Fay ()) -> JQuery -> Fay JQuery+mouseenter = ffi "%2['mouseenter'](%1)"++mouseleave :: (Event -> Fay ()) -> JQuery -> Fay JQuery+mouseleave = ffi "%2['mouseleave'](%1)"++mousemove :: (Event -> Fay ()) -> JQuery -> Fay JQuery+mousemove = ffi "%2['mousemove'](%1)"++mouseout :: (Event -> Fay ()) -> JQuery -> Fay JQuery+mouseout = ffi "%2['mouseout'](%1)"++mouseover :: (Event -> Fay ()) -> JQuery -> Fay JQuery+mouseover = ffi "%2['mouseover'](%1)"++mouseup :: (Event -> Fay ()) -> JQuery -> Fay JQuery+mouseup = ffi "%2['mouseup'](%1)"++-- Argument splat since an arbitrary number of events can be attached.+-- `toggle` in jQuery but clashes with the `toggle` animation.+toggleEvents :: [Event -> Fay ()] -> JQuery -> Fay ()+toggleEvents = ffi "%2['toggle']['apply'](%2, %1)"+++--+-- Event Handler Attachment+--++bind :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()+bind = ffi "%3['bind'](%1, %2)"++bindPreventBubble :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()+bindPreventBubble = ffi "%3['bind'](%1,%2,false)"++-- delegate() superceeded by on()+-- die() deprecated+-- live() deprecated+-- off() TODO how should this be handled?++on :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()+on = ffi "%3['on'](%1, %2)"++onDelegate :: EventType -> Selector -> (Event -> Fay()) -> JQuery -> Fay ()+onDelegate = ffi "%4['on'](%1,%2,%3)"++one :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()+one = ffi "%3['one'](%1, %2)"++trigger :: EventType -> JQuery -> Fay ()+trigger = ffi "%2['trigger'](%1)"++triggerHandler :: EventType -> JQuery -> Fay ()+triggerHandler = ffi "%2['triggerHandler'](%1)"+++-- unbind() not useful in Fay?+-- undelegate() not useful in Fay?++--+-- Event Object+--++-- event.data skipped++data Event++delegateTarget :: Event -> Fay Element+delegateTarget = ffi "jQuery(%1['delegateTarget'])"++isDefaultPrevented :: Event -> Fay Bool+isDefaultPrevented = ffi "%1['isDefaultPrevented']()"++isImmediatePropagationStopped :: Event -> Fay Bool+isImmediatePropagationStopped = ffi "%1['isImmediatePropagationStopped']()"++isPropagationStopped :: Event -> Fay Element+isPropagationStopped = ffi "%1['isPropagationStopped']()"++namespace :: Event -> Fay String+namespace = ffi "%1['namespace']"++pageX :: Event -> Fay Double+pageX = ffi "%1['pageX']"++pageY :: Event -> Fay Double+pageY = ffi "%1['pageY']"++preventDefault :: Event -> Fay ()+preventDefault = ffi "%1['preventDefault']()"++target :: Event -> Fay Element+target = ffi "%1['target']"++timeStamp :: Event -> Fay Double+timeStamp = ffi "%1['timeStamp']"++eventType :: Event -> Fay String+eventType = ffi "%1['type']"++which :: Event -> Fay Int+which = ffi "%1['which']"++--+-- Form Events+--++blur :: (Event -> Fay ()) -> JQuery -> Fay ()+blur = ffi "%2['blur'](%1)"++change :: (Event -> Fay ()) -> JQuery -> Fay ()+change = ffi "%2['change'](%1)"++onFocus :: (Event -> Fay ()) -> JQuery -> Fay ()+onFocus = ffi "%2['focus'](%1)"++focus :: JQuery -> Fay JQuery+focus = ffi "%1['focus']()"++-- TODO `select` would clash with the other select definition, should it be renamed?+onselect :: (Event -> Fay ()) -> JQuery -> Fay ()+onselect = ffi "%2['select'](%1)"++submit  :: (Event -> Fay ()) -> JQuery -> Fay ()+submit = ffi "%2['submit'](%1)"++--+-- Keyboard Events+--++keydown :: (Event -> Fay ()) -> JQuery -> Fay ()+keydown = ffi "%2['keydown'](%1)"++keypress :: (Event -> Fay ()) -> JQuery -> Fay ()+keypress = ffi "%2['keypress'](%1)"++keyup :: (Event -> Fay ()) -> JQuery -> Fay ()+keyup = ffi "%2['keyup'](%1)"++----+---- Forms+----++----+---- Internals+----++----+---- Manipulation+----++-- Is there a better way to constrain the type here?+after :: a -> JQuery -> Fay JQuery+after = ffi "%2['after'](%1)"++afterWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery+afterWith = ffi "%2['after'](%1)"++append :: a -> JQuery -> Fay JQuery+append = ffi "%2['append'](%1)"++appendJQuery :: JQuery -> JQuery -> Fay JQuery+appendJQuery = ffi "%2['append'](%1)"+++appendWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery+appendWith = ffi "%2['append'](%1)"++appendTo :: a -> JQuery -> Fay JQuery+appendTo = ffi "%2['appendTo'](%1)"++appendToJQuery :: JQuery -> JQuery -> Fay JQuery+appendToJQuery = ffi "%2['appendTo'](%1)"++++before :: a -> JQuery -> Fay JQuery+before = ffi "%2['before'](%1)"++beforeWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery+beforeWith = ffi "%2['before'](%1)"++data CloneType = WithoutDataAndEvents | WithDataAndEvents | DeepWithDataAndEvents++clone :: CloneType -> JQuery -> Fay JQuery+clone WithoutDataAndEvents  = ffi "%2['clone'](false)"+clone WithDataAndEvents     = ffi "%2['clone'](true, false)"+clone DeepWithDataAndEvents = ffi "%2['clone'](true, true)"++detach :: JQuery -> Fay JQuery+detach = ffi "%1['detach']()"++detachSelector :: String -> JQuery -> Fay JQuery+detachSelector = ffi "%2['detach'](%1)"++empty :: JQuery -> Fay JQuery+empty = ffi "%1['empty']()"++insertAfter :: a -> JQuery -> Fay JQuery+insertAfter = ffi "%2['insertAfter'](%1)"++insertBefore :: a -> JQuery -> Fay JQuery+insertBefore = ffi "%2['insertBefore'](%1)"++prepend :: a -> JQuery -> Fay JQuery+prepend = ffi "%2['prepend'](%1)"++prependWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery+prependWith = ffi "%2['prepend'](%1)"++prependTo :: a -> JQuery -> Fay JQuery+prependTo = ffi "%2['prependTo'](%1)"++remove :: JQuery -> Fay JQuery+remove = ffi "%1['remove']()"++removeSelector :: String -> JQuery -> Fay JQuery+removeSelector = ffi "%2['remove'](%1)"++replaceAll :: String -> JQuery -> Fay JQuery+replaceAll = ffi "%2['replaceAll'](%1)"++-- FIXME: create other forms of replaceWith+replaceWith :: String -> JQuery -> Fay JQuery+replaceWith = ffi "%2['replaceWith'](%1)"++replaceWithJQuery :: JQuery -> JQuery -> Fay JQuery+replaceWithJQuery = ffi "%2['replaceWith'](%1)"++-- FIXME: this name matches convention, but it's kind of silly+replaceWithWith :: (Fay JQuery) -> JQuery -> Fay JQuery+replaceWithWith = ffi "%2['replaceWith'](%1)"++unwrap :: JQuery -> Fay JQuery+unwrap = ffi "%1['unwrap']()"++-- FIXME: create other forms of wrap+wrap :: String -> JQuery -> Fay JQuery+wrap = ffi "%2['wrap'](%1)"++wrapWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery+wrapWith = ffi "%2['wrap'](%1)"++wrapAllHtml :: String -> JQuery -> Fay JQuery+wrapAllHtml = ffi "%2['wrapAll'](%1)"++wrapAllSelector :: String -> JQuery -> Fay JQuery+wrapAllSelector = ffi "%2['wrapAll'](%1)"++wrapAllElement :: Element -> JQuery -> Fay JQuery+wrapAllElement = ffi "%2['wrapAll'](%1)"++wrapInnerHtml :: String -> JQuery -> Fay JQuery+wrapInnerHtml = ffi "%2['wrapInner'](%1)"++wrapInnerSelector :: String -> JQuery -> Fay JQuery+wrapInnerSelector = ffi "%2['wrapInner'](%1)"++wrapInnerElement :: Element -> JQuery -> Fay JQuery+wrapInnerElement = ffi "%2['wrapInner'](%1)"+++----+---- Miscellaneous+----++----+---- Offset+----++----+---- Plugins+----++----+---- Properties+----++----+---- Selectors+----++----+---- Traversing+----++-- TODO: unify these under a typeclass?+addSelector :: String -> JQuery -> Fay JQuery+addSelector = ffi "%2['add'](%1)"++addElement :: Element -> JQuery -> Fay JQuery+addElement = ffi "%2['add'](%1)"++addHtml :: String -> JQuery -> Fay JQuery+addHtml = ffi "%2['add'](%1)"++add :: JQuery -> JQuery -> Fay JQuery+add = ffi "%2['add'](%1)"++addSelectorWithContext :: String -> JQuery -> JQuery -> Fay JQuery+addSelectorWithContext = ffi "%3['add'](%1, %2)"++andSelf :: JQuery -> Fay JQuery+andSelf = ffi "%1['andSelf']()"++children :: JQuery -> Fay JQuery+children = ffi "%1['children']()"++childrenMatching :: String -> JQuery -> Fay JQuery+childrenMatching = ffi "%2['children'](%1)"++closestSelector :: String -> JQuery -> Fay JQuery+closestSelector = ffi "%2['closest'](%1)"++-- TODO: is context really a string?+closestWithContext :: String -> String -> JQuery -> Fay JQuery+closestWithContext = ffi "%3['closest'](%1, %2)"++closest :: JQuery -> JQuery -> Fay JQuery+closest = ffi "%2['closest'](%1)"++closestElement :: Element -> JQuery -> Fay JQuery+closestElement = ffi "%2['closest'](%1)"++-- TODO: include deprecated array-based signature?++contents :: JQuery -> Fay JQuery+contents = ffi "%1['contents']()"++-- This just isn't cool[' Can']'t we all just use map?+each :: (Double -> Element -> Fay Bool) -> JQuery -> Fay JQuery+each = ffi "%2['each'](%1)"++end :: JQuery -> Fay JQuery+end = ffi "%1['end']()"++eq :: Double -> JQuery -> Fay JQuery+eq = ffi "%2['eq'](%1)"++filter :: String -> JQuery -> Fay JQuery+filter = ffi "%2['filter'](%1)"++filterWith :: (Double -> Fay Bool) -> JQuery -> Fay JQuery+filterWith = ffi "%2['filter'](%1)"++filterElement :: Element -> JQuery -> Fay JQuery+filterElement = ffi "%2['filter'](%1)"++filterJQuery :: JQuery -> JQuery -> Fay JQuery+filterJQuery = ffi "%2['filter'](%1)"++-- FIXME: not called find because Fay doesn't seem to deal well with name conflicts yet+findSelector :: String -> JQuery -> Fay JQuery+findSelector = ffi "%2['find'](%1)"++findJQuery :: JQuery -> JQuery -> Fay JQuery+findJQuery = ffi "%2['find'](%1)"++findElement :: Element -> JQuery -> Fay JQuery+findElement = ffi "%2['find'](%1)"++first :: JQuery -> Fay JQuery+first = ffi "%1['first']()"++has :: String -> JQuery -> Fay JQuery+has = ffi "%2['has'](%1)"++hasElement :: Element -> JQuery -> Fay JQuery+hasElement = ffi "%2['has'](%1)"++is :: String -> JQuery -> Fay JQuery+is = ffi "%2['is'](%1)"++isWith :: (Double -> Bool) -> JQuery -> Fay JQuery+isWith = ffi "%2['is'](%1)"++isJQuery :: JQuery -> JQuery -> Fay JQuery+isJQuery = ffi "%2['is'](%1)"++isElement :: Element -> JQuery -> Fay JQuery+isElement = ffi "%2['is'](%1)"++last :: JQuery -> Fay JQuery+last = ffi "%1['last']()"++-- FIXME: is the return value of the callback right?+jQueryMap :: (Double -> Element -> Fay JQuery) -> JQuery -> Fay JQuery+jQueryMap = ffi "%2['map'](%1)"++next :: JQuery -> Fay JQuery+next = ffi "%1['next']()"++nextSelector :: String -> JQuery -> Fay JQuery+nextSelector = ffi "%2['next'](%1)"++nextAll :: JQuery -> Fay JQuery+nextAll = ffi "%1['nextAll']()"++nextAllSelector :: String -> JQuery -> Fay JQuery+nextAllSelector = ffi "%2['nextAll'](%1)"++nextUntil :: String -> JQuery -> Fay JQuery+nextUntil = ffi "%2['nextUntil'](%1)"++nextUntilFiltered :: String -> String -> JQuery -> Fay JQuery+nextUntilFiltered = ffi "%3['nextUntil'](%1, %2)"++nextUntilElement :: Element -> JQuery -> Fay JQuery+nextUntilElement = ffi "%2['nextUntil'](%1)"++nextUntilElementFiltered :: Element -> String -> JQuery -> Fay JQuery+nextUntilElementFiltered = ffi "%3['nextUntil'](%1, %2)"++not :: String -> JQuery -> Fay JQuery+not = ffi "%2['not'](%1)"++notElement :: Element -> JQuery -> Fay JQuery+notElement = ffi "%2['not'](%1)"++notElements :: [Element] -> JQuery -> Fay JQuery+notElements = ffi "%2['not'](%1)"++notWith :: (Double -> Bool) -> JQuery -> Fay JQuery+notWith = ffi "%2['not'](%1)"++notJQuery :: JQuery -> JQuery -> Fay JQuery+notJQuery = ffi "%2['not'](%1)"++offsetParent :: JQuery -> Fay JQuery+offsetParent = ffi "%1['offsetParent']()"++parent :: JQuery -> Fay JQuery+parent = ffi "%1['parent']()"++parentSelector :: String -> JQuery -> Fay JQuery+parentSelector = ffi "%2['parent'](%1)"++parents :: JQuery -> Fay JQuery+parents = ffi "%1['parents']()"++parentsSelector :: String -> JQuery -> Fay JQuery+parentsSelector = ffi "%2['parents'](%1)"++parentsUntil :: String -> JQuery -> Fay JQuery+parentsUntil = ffi "%2['parentsUntil'](%1)"++parentsUntilFiltered :: String -> String -> JQuery -> Fay JQuery+parentsUntilFiltered = ffi "%3['parentsUntil'](%1, %2)"++parentsUntilElement :: Element -> JQuery -> Fay JQuery+parentsUntilElement = ffi "%2['parentsUntil'](%1)"++parentsUntilElementFiltered :: Element -> String -> JQuery -> Fay JQuery+parentsUntilElementFiltered = ffi "%3['parentsUntil'](%1, %2)"++prev :: JQuery -> Fay JQuery+prev = ffi "%1['prev']()"++prevSelector :: String -> JQuery -> Fay JQuery+prevSelector = ffi "%2['prev'](%1)"++prevAll :: JQuery -> Fay JQuery+prevAll = ffi "%1['prevAll']()"++prevAllSelector :: String -> JQuery -> Fay JQuery+prevAllSelector = ffi "%2['prevAll'](%1)"++prevUntil :: String -> JQuery -> Fay JQuery+prevUntil = ffi "%2['prevUntil'](%1)"++prevUntilFiltered :: String -> String -> JQuery -> Fay JQuery+prevUntilFiltered = ffi "%3['prevUntil'](%1, %2)"++prevUntilElement :: Element -> JQuery -> Fay JQuery+prevUntilElement = ffi "%2['prevUntil'](%1)"++prevUntilElementFiltered :: Element -> String -> JQuery -> Fay JQuery+prevUntilElementFiltered = ffi "%3['prevUntil'](%1, %2)"++siblings :: JQuery -> Fay JQuery+siblings = ffi "%1['siblings']()"++siblingsSelector :: String -> JQuery -> Fay JQuery+siblingsSelector = ffi "%2['siblings'](%1)"++slice :: Double -> JQuery -> Fay JQuery+slice = ffi "%2['slice'](%1)"++sliceFromTo :: Double -> Double -> JQuery -> Fay JQuery+sliceFromTo = ffi "%3['slice'](%1, %2)"++data KeyCode = KeyUp+             | KeyDown+             | KeyLeft+             | KeyRight+             | KeyRet+             | SomeKey Double+  deriving (Show)++onKeycode :: (KeyCode -> Fay Bool) -> JQuery -> Fay JQuery+onKeycode callback el = do+  _onKeycode (\code -> callback (case code of+                                   38 -> KeyUp+                                   40 -> KeyDown+                                   37 -> KeyLeft+                                   39 -> KeyRight+                                   13 -> KeyRet+                                   _  -> SomeKey code))+             el++_onKeycode :: (Double -> Fay Bool) -> JQuery -> Fay JQuery+_onKeycode = ffi "%2['keycode'](%1)"++unKeycode :: JQuery -> Fay JQuery+unKeycode = ffi "%1['unkeycode']()"++onClick :: (Event -> Fay Bool) -> JQuery -> Fay JQuery+onClick = ffi "%2['click'](%1)"++onChange :: (Fay ()) -> JQuery -> Fay JQuery+onChange = ffi "%2['change'](%1)"++onSubmit :: Fay Bool -> JQuery -> Fay JQuery+onSubmit = ffi "%2['submit'](%1)"++eventX :: Event -> JQuery -> Double+eventX = ffi "%1['pageX'] - %2['get'](0)['offsetLeft']"++eventY :: Event -> JQuery -> Double+eventY = ffi "%1['pageY'] - %2['get'](0)['offsetTop']"++onDblClick :: (Event -> Fay Bool) -> JQuery -> Fay JQuery+onDblClick = ffi "%2['dblclick'](%1)"++setDraggable :: JQuery -> Fay JQuery+setDraggable = ffi "%1['draggable']()"++validate :: JQuery -> Fay () -> Fay ()+validate = ffi "%1['validate']({ \"submitHandler\": %2 })"++onLivechange :: Fay () -> JQuery -> Fay JQuery+onLivechange = ffi "%2['livechange'](50,%1)"++-- vim implementation shortcut+-- inoremap <F6> <ESC>:normal 0ywo<ESC>pa= ffi ""<ESC>F"i++++----+---- Utilities+----
− src/Language/Fay/JQuery.hs
@@ -1,1066 +0,0 @@-{-# LANGUAGE EmptyDataDecls    #-}-{-# LANGUAGE RankNTypes        #-}--module Language.Fay.JQuery where--{---Note that this is very much in flux. Function names, type signatures, and-data types all subject to drastic change.---}--import           FFI-import           Prelude--data JQuery--data JQXHR--type EventType = String--type Selector = String----- Things that should go in fay or fay-dom-data Element--data Document--data Window--data Object--emptyCallback :: a -> Fay ()-emptyCallback = const $ return ()----------- Ajax-------ajax :: String-     -> (Automatic b -> Fay ())-     -> (JQXHR -> Maybe String -> Maybe String -> Fay ())-     -> Fay ()-ajax ur succ err = ajax' $ defaultAjaxSettings-  { success = Defined succ-  , data' = Undefined :: Defined String -- hackety hack-  , error' = Defined err-  , url = Defined ur }---- | Serializes the given object to JSON and passes it as the request body without request parameters.---   The response is deserialized depending on its type.-ajaxPost :: String-         -> Automatic f-         -> (Automatic g -> Fay ())-         -> (JQXHR -> Maybe String -> Maybe String -> Fay ())-         -> Fay ()-ajaxPost ur dat succ err = ajax' $ defaultAjaxSettings-  { success = Defined succ-  , data' = Defined dat-  , error' = Defined err-  , url = Defined ur-  , type' = Defined "POST"-  , processData = Defined False-  , contentType = Defined "text/json"-  , dataType = Defined "json"-  }---- | Same as ajaxPost but sends the data inside the given request parameter-ajaxPostParam :: String-              -> String-              -> Automatic f-              -> (Automatic g -> Fay ())-              -> (JQXHR -> Maybe String -> Maybe String -> Fay ())-              -> Fay ()-ajaxPostParam ur rqparam dat succ err = ajax' $ defaultAjaxSettings-  { success = Defined succ-  , data' = Defined $ makeRqObj rqparam dat-  , error' = Defined err-  , url = Defined ur-  , type' = Defined "POST"-  , processData = Defined False-  , contentType = Defined "text/json"-  , dataType = Defined "json"-  }--makeRqObj :: String -> a -> Object-makeRqObj = ffi "(function () { var o = {}; o[%1] = %2; return o; })()"--data AjaxSettings a b = AjaxSettings-  { accepts     :: Defined String-  , async       :: Defined Bool-  , beforeSend  :: Defined (JQXHR -> AjaxSettings a b -> Fay ())-  , cache       :: Defined Bool-  , complete    :: Defined (JQXHR -> String -> Fay ())-  -- , contents :: Defined (Object RegExp) -- skipped-  , contentType :: Defined String-  -- , context :: Defined Object -- skipped-  -- , converters :: Defined (Object Value) -- skipped-  , crossDomain :: Defined Bool-  , data'       :: Defined a-  -- , dataFilter  :: Defined (Data -> Type -> Fay ()) -- skipped-  , dataType    :: Defined String-  , error'      :: Defined (JQXHR -> Maybe String -> Maybe String -> Fay ())-  , global      :: Defined Bool-  -- , headers :: Object String -- need generic objects-  , ifModified  :: Defined Bool-  , isLocal     :: Defined Bool-  -- , jsonp -- skipped-  -- , jsonpCallback -- skipped-  , mimeType    :: Defined String-  , password    :: Defined String-  , processData :: Defined Bool-  -- , scriptCharset -- skipped-  -- , statusCode -- skipped-  , success     :: Defined (b -> Fay ())-  , timeout     :: Defined Double-  -- , traditional -- skipped-  , type'       :: Defined String-  , url         :: Defined String-  , username    :: Defined String-  -- , xhr :: XHR -- XHR needs to be added to fay-dom-  }--defaultAjaxSettings :: AjaxSettings a b-defaultAjaxSettings = AjaxSettings-  { accepts     = Undefined-  , async       = Undefined-  , beforeSend  = Undefined-  , cache       = Undefined-  , complete    = Undefined-  , contentType = Undefined-  , crossDomain = Undefined-  , data'       = Undefined-  , dataType    = Undefined-  , error'      = Undefined-  , global      = Undefined-  , ifModified  = Undefined-  , isLocal     = Undefined-  , mimeType    = Undefined-  , password    = Undefined-  , processData = Undefined-  , success     = Undefined-  , timeout     = Undefined-  , type'       = Undefined-  , url         = Undefined-  , username    = Undefined-  }--ajax' :: AjaxSettings (Automatic a) (Automatic b) -> Fay ()-ajax' = ffi "\-  \ (function (o) { \-    \ delete o['instance']; \-    \ for (var p in o) { \-      \ if (/\\$39\\$/.test(p)) { \-        \ o[p.replace(/\\$39\\$/g, '')] = o[p]; \-        \ delete o[p]; \-      \ } \-    \ } \-    \ console.log(o); \-    \ return jQuery.ajax(o); \-  \ })(%1)"----------- Attributes-------addClass :: String -> JQuery -> Fay JQuery-addClass = ffi "%2['addClass'](%1)"---- FIXME: https://github.com/chrisdone/fay/issues/38-addClassWith :: (Double -> String -> Fay String) -> JQuery -> Fay JQuery-addClassWith = ffi "%2['addClass'](%1)"--getAttr :: String -> JQuery -> Fay String-getAttr = ffi "%2['attr'](%1)"--setAttr :: String -> String -> JQuery -> Fay JQuery-setAttr = ffi "%3['attr'](%1, %2)"---- TODO: setAttrs with map--setAttrWith :: String -> (Double -> String -> Fay String) -> JQuery -> Fay JQuery-setAttrWith = ffi "%3['attr'](%1, %2)"--hasClass :: String -> JQuery -> Fay Bool-hasClass = ffi "%2['hasClass'](%1)"--getHtml :: JQuery -> Fay String-getHtml = ffi "%1['html']()"--setHtml :: String -> JQuery -> Fay JQuery-setHtml = ffi "%2['html'](%1)"--setHtmlWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery-setHtmlWith = ffi "%2['html'](%1)"---- TODO: html with props--getProp :: String -> JQuery -> Fay String-getProp = ffi "%2['prop'](%1)"--setProp :: String -> String -> JQuery -> Fay JQuery-setProp = ffi "%3['prop'](%1, %2)"---- TODO: setProp with map--setPropWith :: String -> (Double -> String -> Fay String) -> JQuery -> Fay JQuery-setPropWith = ffi "%3['prop'](%1, %2)"--removeAttr :: String -> JQuery -> Fay JQuery-removeAttr = ffi "%2['removeAttr'](%1)"--removeClass :: String -> JQuery -> Fay JQuery-removeClass = ffi "%2['removeClass'](%1)"--removeClassWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery-removeClassWith = ffi "%2['removeClass'](%1)"--removeProp :: String -> JQuery -> Fay JQuery-removeProp = ffi "%2['removeProp'](%1)"--toggleClass :: String -> JQuery -> Fay JQuery-toggleClass = ffi "%2['toggleClass'](%1)"--toggleClassBool :: String -> Bool -> JQuery -> Fay JQuery-toggleClassBool = ffi "%3['toggleClass'](%1, %2)"--toggleAllClasses :: Bool -> JQuery -> Fay JQuery-toggleAllClasses = ffi "%2['toggleClass'](%1)"--toggleClassWith :: (Double -> String -> Bool -> Fay JQuery) -> JQuery -> Fay JQuery-toggleClassWith = ffi "%2['toggleClass'](%1)"--toggleClassBoolWith :: (Double -> String -> Bool -> Fay JQuery) -> Bool -> JQuery -> Fay JQuery-toggleClassBoolWith = ffi "%3['toggleClass'](%1, %2)"--getVal :: JQuery -> Fay String-getVal = ffi "%1['val']()"--setVal :: String -> JQuery -> Fay JQuery-setVal = ffi "%2['val'](%1)"--setValWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery-setValWith = ffi "%2['val'](%1)"--setText :: String -> JQuery -> Fay JQuery-setText = ffi "%2['text'](%1)"--setTextWith :: (Double -> String -> Fay JQuery) -> JQuery -> Fay JQuery-setTextWith = ffi "%2['text'](%1)"--getText :: JQuery -> Fay String-getText = ffi "%1['text']()"----------- Core-------holdReady :: Bool -> Fay JQuery-holdReady = ffi "jQuery['holdReady'](%1)"---- jQuery()-selectElement :: Element -> Fay JQuery-selectElement = ffi "jQuery(%1)"--selectObject :: a -> Fay JQuery-selectObject = ffi "jQuery(%1)"--select :: String -> Fay JQuery-select = ffi "jQuery(%1)"--selectEmpty :: Fay JQuery-selectEmpty = ffi "jQuery()"--createJQuery :: String -> a -> Fay JQuery-createJQuery = ffi "jQuery(%1, %2)"--ready :: Fay () -> Fay ()-ready = ffi "jQuery(%1)"--- end jQuery()---- is noConflict useful in the context of Fay?-noConflict :: Fay JQuery-noConflict = ffi "jQuery['noConflict']()"--noConflictBool :: Bool -> Fay JQuery-noConflictBool = ffi "jQuery['noConflict'](%1)"---- TODO: jQuery['sub']()---- TODO: jQuery['when'](): figure out Deferred first----------- CSS-------getCss :: String -> JQuery -> Fay String-getCss = ffi "%2['css'](%1)"--setCss :: String -> String -> JQuery -> Fay JQuery-setCss = ffi "%3['css'](%1, %2)"--setCssWith :: String -> (Double -> String -> Fay String) -> JQuery -> Fay JQuery-setCssWith = ffi "%3['css'](%1, %2)"--getHeight :: JQuery -> Fay Double-getHeight = ffi "%1['height']()"--setHeight :: Double -> JQuery -> Fay JQuery-setHeight = ffi "%2['height'](%1)"--setHeightWith :: (Double -> Double -> Fay Double) -> JQuery -> Fay JQuery-setHeightWith = ffi "%2['height'](%1)"--getInnerHeight :: JQuery -> Fay Double-getInnerHeight = ffi "%1['innerHeight']()"--getInnerWidth :: JQuery -> Fay Double-getInnerWidth = ffi "%1['innerWidth']()"---- TODO: figure out how to marshal coordinates---getOffset :: JQuery -> Fay---getOffset = ffi "%1['offset']()"----setOffset---setOffsetWith---- TODO: css with map---- TODO: cssHooks--getOuterHeight :: JQuery -> Fay Double-getOuterHeight = ffi "%1['outerHeight']()"---- FIXME: better name-getOuterHeightBool :: Bool -> JQuery -> Fay Double-getOuterHeightBool = ffi "%2['outerHeight'](%1)"--getOuterWidth :: JQuery -> Fay Double-getOuterWidth = ffi "%1['outerWidth']()"--getOuterWidthBool :: Bool -> JQuery -> Fay Double-getOuterWidthBool = ffi "%2['outerWidth'](%1)"---- TODO: marshal coordinates as in offset()--- getPosition--getScrollLeft :: JQuery -> Fay Double-getScrollLeft = ffi "%1['scrollLeft']()"--setScrollLeft :: Double -> JQuery -> Fay JQuery-setScrollLeft = ffi "%2['scrollLeft'](%1)"--getScrollTop :: JQuery -> Fay Double-getScrollTop = ffi "%1['scrollTop']()"--setScrollTop :: Double -> JQuery -> Fay JQuery-setScrollTop = ffi "%2['scrollTop'](%1)"--getWidth :: JQuery -> Fay Double-getWidth = ffi "%1['width']()"--setWidth :: Double -> JQuery -> Fay JQuery-setWidth = ffi "%2['width'](%1)"--setWidthWith :: (Double -> Double -> Fay Double) -> JQuery -> Fay JQuery-setWidthWith = ffi "%2['width'](%1)"------------ Data---------------- Deferred Object---------------- Effects------------ Basics-----data AnimationType = Show | Hide | Toggle | FadeIn | FadeOut | FadeToggle--data Speed = Instantly | Slow | Fast | Speed Double--data Animation = Animation-  { _type :: AnimationType-  , _speed :: Speed-  , _nextAnimation :: Maybe Animation-  , _element :: JQuery-  }--anim :: AnimationType -> JQuery -> Animation-anim ty el = Animation ty Fast Nothing el--speed :: Speed -> Animation -> Animation-speed spd anim = anim { _speed = spd }--chainAnim :: Animation -> Animation -> Animation-chainAnim a1 a2 = a1 { _nextAnimation = Just a2 }--chainAnims :: [Animation] -> Animation-chainAnims [a] = a-chainAnims (a:as) = a `chainAnim` chainAnims as--runAnimation :: Animation -> Fay ()-runAnimation a = do-  animate (_type a) (_speed a) cb (_element a) >> return ()-    where-      cb = case _nextAnimation a of-                Just a2 -> const (runAnimation a2)-                Nothing -> const (return ())--animate :: AnimationType -> Speed -> (JQuery -> Fay ()) -> JQuery -> Fay JQuery-animate = ffi "%4[(function () { \-      \ switch (%1['instance']) { \-        \ case 'FadeIn': return 'fadeIn'; \-        \ case 'FadeOut': return 'fadeOut'; \-        \ case 'FadeToggle': return 'fadeToggle'; \-        \ default: return %1['instance']['toLowerCase'](); \-      \ } \-    \ })()]((function () { \-    \ if (%2['instance'] == 'Slow') { \-      \ return 'slow'; \-    \ } else if (%2['instance'] == 'Instantly') { \-      \ return null; \-    \ } else if (%2['instance'] == 'Fast') { \-      \ return 'fast'; \-    \ } else { \-      \ return %2['slot1']; \-    \ } \-  \ })(), function() { \-     \ %3(jQuery(this)); \-  \ })"--hide :: Speed -> JQuery -> Fay JQuery-hide spd = animate Hide spd emptyCallback--unhide :: JQuery -> Fay JQuery-unhide = ffi "%1['show']()"--jshow :: Speed -> JQuery -> Fay JQuery-jshow spd = animate Show spd emptyCallback--toggle :: Speed -> JQuery -> Fay JQuery-toggle spd = animate Toggle spd emptyCallback------- Fading-----fadeIn :: Speed -> JQuery -> Fay JQuery-fadeIn spd = animate FadeIn spd emptyCallback--fadeOut :: Speed -> JQuery -> Fay JQuery-fadeOut spd = animate FadeOut spd emptyCallback---- TODO fadeTo--fadeToggle :: Speed -> JQuery -> Fay JQuery-fadeToggle spd = animate FadeToggle spd emptyCallback----------- Events------------ Browser Events------- Skip error(), deprecated--resize :: (Event -> Fay ()) -> JQuery -> Fay ()-resize = ffi "%2['resize'](%1)"--scroll :: (Event -> Fay ()) -> JQuery -> Fay ()-scroll = ffi "%2['scroll'](%1)"------- Document Loading-----load :: (Event -> Fay()) -> JQuery -> Fay ()-load = ffi "%2['load'](%1)"--documentReady :: (Event -> Fay ()) -> Document -> Fay ()-documentReady = ffi "jQuery(%2)['ready'](%1)"--unload :: (Event -> Fay()) -> Window -> Fay ()-unload = ffi "jQuery(%2)['unload'](%1)"------- Mouse Events-----click :: (Event -> Fay ()) -> JQuery -> Fay JQuery-click = ffi "%2['click'](%1)"--dblclick :: (Event -> Fay ()) -> JQuery -> Fay JQuery-dblclick = ffi "%2['dblclick'](%1)"--focusin :: (Event -> Fay ()) -> JQuery -> Fay JQuery-focusin = ffi "%2['focusin'](%1)"--focusout :: (Event -> Fay ()) -> JQuery -> Fay JQuery-focusout = ffi "%2['focusout'](%1)"--hover :: (Event -> Fay ()) -> JQuery -> Fay JQuery-hover = ffi "%2['hover'](%1)"--mousedown :: (Event -> Fay ()) -> JQuery -> Fay JQuery-mousedown = ffi "%2['mousedown'](%1)"--mouseenter :: (Event -> Fay ()) -> JQuery -> Fay JQuery-mouseenter = ffi "%2['mouseenter'](%1)"--mouseleave :: (Event -> Fay ()) -> JQuery -> Fay JQuery-mouseleave = ffi "%2['mouseleave'](%1)"--mousemove :: (Event -> Fay ()) -> JQuery -> Fay JQuery-mousemove = ffi "%2['mousemove'](%1)"--mouseout :: (Event -> Fay ()) -> JQuery -> Fay JQuery-mouseout = ffi "%2['mouseout'](%1)"--mouseover :: (Event -> Fay ()) -> JQuery -> Fay JQuery-mouseover = ffi "%2['mouseover'](%1)"--mouseup :: (Event -> Fay ()) -> JQuery -> Fay JQuery-mouseup = ffi "%2['mouseup'](%1)"---- Argument splat since an arbitrary number of events can be attached.--- `toggle` in jQuery but clashes with the `toggle` animation.-toggleEvents :: [Event -> Fay ()] -> JQuery -> Fay ()-toggleEvents = ffi "%2['toggle']['apply'](%2, %1)"-------- Event Handler Attachment-----bind :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()-bind = ffi "%3['bind'](%1, %2)"--bindPreventBubble :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()-bindPreventBubble = ffi "%3['bind'](%1,%2,false)"---- delegate() superceeded by on()--- die() deprecated--- live() deprecated--- off() TODO how should this be handled?--on :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()-on = ffi "%3['on'](%1, %2)"--onDelegate :: EventType -> Selector -> (Event -> Fay()) -> JQuery -> Fay ()-onDelegate = ffi "%4['on'](%1,%2,%3)"--one :: EventType -> (Event -> Fay ()) -> JQuery -> Fay ()-one = ffi "%3['one'](%1, %2)"--trigger :: EventType -> JQuery -> Fay ()-trigger = ffi "%2['trigger'](%1)"--triggerHandler :: EventType -> JQuery -> Fay ()-triggerHandler = ffi "%2['triggerHandler'](%1)"----- unbind() not useful in Fay?--- undelegate() not useful in Fay?------- Event Object------- event.data skipped--data Event--delegateTarget :: Event -> Fay Element-delegateTarget = ffi "jQuery(%1['delegateTarget'])"--isDefaultPrevented :: Event -> Fay Bool-isDefaultPrevented = ffi "%1['isDefaultPrevented']()"--isImmediatePropagationStopped :: Event -> Fay Bool-isImmediatePropagationStopped = ffi "%1['isImmediatePropagationStopped']()"--isPropagationStopped :: Event -> Fay Element-isPropagationStopped = ffi "%1['isPropagationStopped']()"--namespace :: Event -> Fay String-namespace = ffi "%1['namespace']"--pageX :: Event -> Fay Double-pageX = ffi "%1['pageX']"--pageY :: Event -> Fay Double-pageY = ffi "%1['pageY']"--preventDefault :: Event -> Fay ()-preventDefault = ffi "%1['preventDefault']()"--target :: Event -> Fay Element-target = ffi "%1['target']"--timeStamp :: Event -> Fay Double-timeStamp = ffi "%1['timeStamp']"--eventType :: Event -> Fay String-eventType = ffi "%1['type']"--which :: Event -> Fay Int-which = ffi "%1['which']"------- Form Events-----blur :: (Event -> Fay ()) -> JQuery -> Fay ()-blur = ffi "%2['blur'](%1)"--change :: (Event -> Fay ()) -> JQuery -> Fay ()-change = ffi "%2['change'](%1)"--onFocus :: (Event -> Fay ()) -> JQuery -> Fay ()-onFocus = ffi "%2['focus'](%1)"--focus :: JQuery -> Fay JQuery-focus = ffi "%1['focus']()"---- TODO `select` would clash with the other select definition, should it be renamed?-onselect :: (Event -> Fay ()) -> JQuery -> Fay ()-onselect = ffi "%2['select'](%1)"--submit  :: (Event -> Fay ()) -> JQuery -> Fay ()-submit = ffi "%2['submit'](%1)"------- Keyboard Events-----keydown :: (Event -> Fay ()) -> JQuery -> Fay ()-keydown = ffi "%2['keydown'](%1)"--keypress :: (Event -> Fay ()) -> JQuery -> Fay ()-keypress = ffi "%2['keypress'](%1)"--keyup :: (Event -> Fay ()) -> JQuery -> Fay ()-keyup = ffi "%2['keyup'](%1)"----------- Forms---------------- Internals---------------- Manipulation--------- Is there a better way to constrain the type here?-after :: a -> JQuery -> Fay JQuery-after = ffi "%2['after'](%1)"--afterWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery-afterWith = ffi "%2['after'](%1)"--append :: a -> JQuery -> Fay JQuery-append = ffi "%2['append'](%1)"--appendJQuery :: JQuery -> JQuery -> Fay JQuery-appendJQuery = ffi "%2['append'](%1)"---appendWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery-appendWith = ffi "%2['append'](%1)"--appendTo :: a -> JQuery -> Fay JQuery-appendTo = ffi "%2['appendTo'](%1)"--appendToJQuery :: JQuery -> JQuery -> Fay JQuery-appendToJQuery = ffi "%2['appendTo'](%1)"----before :: a -> JQuery -> Fay JQuery-before = ffi "%2['before'](%1)"--beforeWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery-beforeWith = ffi "%2['before'](%1)"--data CloneType = WithoutDataAndEvents | WithDataAndEvents | DeepWithDataAndEvents--clone :: CloneType -> JQuery -> Fay JQuery-clone WithoutDataAndEvents  = ffi "%2['clone'](false)"-clone WithDataAndEvents     = ffi "%2['clone'](true, false)"-clone DeepWithDataAndEvents = ffi "%2['clone'](true, true)"--detach :: JQuery -> Fay JQuery-detach = ffi "%1['detach']()"--detachSelector :: String -> JQuery -> Fay JQuery-detachSelector = ffi "%2['detach'](%1)"--empty :: JQuery -> Fay JQuery-empty = ffi "%1['empty']()"--insertAfter :: JQuery -> Fay JQuery-insertAfter = ffi "%2['insertAfter'](%1)"--insertBefore :: JQuery -> Fay JQuery-insertBefore = ffi "%2['insertBefore'](%1)"--prepend :: JQuery -> Fay JQuery-prepend = ffi "%2['prepend'](%1)"--prependWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery-prependWith = ffi "%2['prepend'](%1)"--prependTo :: JQuery -> Fay JQuery-prependTo = ffi "%2['prependTo'](%1)"--remove :: JQuery -> Fay JQuery-remove = ffi "%1['remove']()"--removeSelector :: String -> JQuery -> Fay JQuery-removeSelector = ffi "%2['remove'](%1)"--replaceAll :: String -> JQuery -> Fay JQuery-replaceAll = ffi "%2['replaceAll'](%1)"---- FIXME: create other forms of replaceWith-replaceWith :: String -> JQuery -> Fay JQuery-replaceWith = ffi "%2['replaceWith'](%1)"--replaceWithJQuery :: JQuery -> JQuery -> Fay JQuery-replaceWithJQuery = ffi "%2['replaceWith'](%1)"---- FIXME: this name matches convention, but it's kind of silly-replaceWithWith :: (Fay JQuery) -> JQuery -> Fay JQuery-replaceWithWith = ffi "%2['replaceWith'](%1)"--unwrap :: JQuery -> Fay JQuery-unwrap = ffi "%1['unwrap']()"---- FIXME: create other forms of wrap-wrap :: String -> JQuery -> Fay JQuery-wrap = ffi "%2['wrap'](%1)"--wrapWith :: (Double -> Fay JQuery) -> JQuery -> Fay JQuery-wrapWith = ffi "%2['wrap'](%1)"--wrapAllHtml :: String -> JQuery -> Fay JQuery-wrapAllHtml = ffi "%2['wrapAll'](%1)"--wrapAllSelector :: String -> JQuery -> Fay JQuery-wrapAllSelector = ffi "%2['wrapAll'](%1)"--wrapAllElement :: Element -> JQuery -> Fay JQuery-wrapAllElement = ffi "%2['wrapAll'](%1)"--wrapInnerHtml :: String -> JQuery -> Fay JQuery-wrapInnerHtml = ffi "%2['wrapInner'](%1)"--wrapInnerSelector :: String -> JQuery -> Fay JQuery-wrapInnerSelector = ffi "%2['wrapInner'](%1)"--wrapInnerElement :: Element -> JQuery -> Fay JQuery-wrapInnerElement = ffi "%2['wrapInner'](%1)"------------ Miscellaneous---------------- Offset---------------- Plugins---------------- Properties---------------- Selectors---------------- Traversing--------- TODO: unify these under a typeclass?-addSelector :: String -> JQuery -> Fay JQuery-addSelector = ffi "%2['add'](%1)"--addElement :: Element -> JQuery -> Fay JQuery-addElement = ffi "%2['add'](%1)"--addHtml :: String -> JQuery -> Fay JQuery-addHtml = ffi "%2['add'](%1)"--add :: JQuery -> JQuery -> Fay JQuery-add = ffi "%2['add'](%1)"--addSelectorWithContext :: String -> JQuery -> JQuery -> Fay JQuery-addSelectorWithContext = ffi "%3['add'](%1, %2)"--andSelf :: JQuery -> Fay JQuery-andSelf = ffi "%1['andSelf']()"--children :: JQuery -> Fay JQuery-children = ffi "%1['children']()"--childrenMatching :: String -> JQuery -> Fay JQuery-childrenMatching = ffi "%2['children'](%1)"--closestSelector :: String -> JQuery -> Fay JQuery-closestSelector = ffi "%2['closest'](%1)"---- TODO: is context really a string?-closestWithContext :: String -> String -> JQuery -> Fay JQuery-closestWithContext = ffi "%3['closest'](%1, %2)"--closest :: JQuery -> JQuery -> Fay JQuery-closest = ffi "%2['closest'](%1)"--closestElement :: Element -> JQuery -> Fay JQuery-closestElement = ffi "%2['closest'](%1)"---- TODO: include deprecated array-based signature?--contents :: JQuery -> Fay JQuery-contents = ffi "%1['contents']()"---- This just isn't cool[' Can']'t we all just use map?-each :: (Double -> Element -> Fay Bool) -> JQuery -> Fay JQuery-each = ffi "%2['each'](%1)"--end :: JQuery -> Fay JQuery-end = ffi "%1['end']()"--eq :: Double -> JQuery -> Fay JQuery-eq = ffi "%2['eq'](%1)"--filter :: String -> JQuery -> Fay JQuery-filter = ffi "%2['filter'](%1)"--filterWith :: (Double -> Fay Bool) -> JQuery -> Fay JQuery-filterWith = ffi "%2['filter'](%1)"--filterElement :: Element -> JQuery -> Fay JQuery-filterElement = ffi "%2['filter'](%1)"--filterJQuery :: JQuery -> JQuery -> Fay JQuery-filterJQuery = ffi "%2['filter'](%1)"---- FIXME: not called find because Fay doesn't seem to deal well with name conflicts yet-findSelector :: String -> JQuery -> Fay JQuery-findSelector = ffi "%2['find'](%1)"--findJQuery :: JQuery -> JQuery -> Fay JQuery-findJQuery = ffi "%2['find'](%1)"--findElement :: Element -> JQuery -> Fay JQuery-findElement = ffi "%2['find'](%1)"--first :: JQuery -> Fay JQuery-first = ffi "%1['first']()"--has :: String -> JQuery -> Fay JQuery-has = ffi "%2['has'](%1)"--hasElement :: Element -> JQuery -> Fay JQuery-hasElement = ffi "%2['has'](%1)"--is :: String -> JQuery -> Fay JQuery-is = ffi "%2['is'](%1)"--isWith :: (Double -> Bool) -> JQuery -> Fay JQuery-isWith = ffi "%2['is'](%1)"--isJQuery :: JQuery -> JQuery -> Fay JQuery-isJQuery = ffi "%2['is'](%1)"--isElement :: Element -> JQuery -> Fay JQuery-isElement = ffi "%2['is'](%1)"--last :: JQuery -> Fay JQuery-last = ffi "%1['last']()"---- FIXME: is the return value of the callback right?-jQueryMap :: (Double -> Element -> Fay JQuery) -> JQuery -> Fay JQuery-jQueryMap = ffi "%2['map'](%1)"--next :: JQuery -> Fay JQuery-next = ffi "%1['next']()"--nextSelector :: String -> JQuery -> Fay JQuery-nextSelector = ffi "%2['next'](%1)"--nextAll :: JQuery -> Fay JQuery-nextAll = ffi "%1['nextAll']()"--nextAllSelector :: String -> JQuery -> Fay JQuery-nextAllSelector = ffi "%2['nextAll'](%1)"--nextUntil :: String -> JQuery -> Fay JQuery-nextUntil = ffi "%2['nextUntil'](%1)"--nextUntilFiltered :: String -> String -> JQuery -> Fay JQuery-nextUntilFiltered = ffi "%3['nextUntil'](%1, %2)"--nextUntilElement :: Element -> JQuery -> Fay JQuery-nextUntilElement = ffi "%2['nextUntil'](%1)"--nextUntilElementFiltered :: Element -> String -> JQuery -> Fay JQuery-nextUntilElementFiltered = ffi "%3['nextUntil'](%1, %2)"--not :: String -> JQuery -> Fay JQuery-not = ffi "%2['not'](%1)"--notElement :: Element -> JQuery -> Fay JQuery-notElement = ffi "%2['not'](%1)"--notElements :: [Element] -> JQuery -> Fay JQuery-notElements = ffi "%2['not'](%1)"--notWith :: (Double -> Bool) -> JQuery -> Fay JQuery-notWith = ffi "%2['not'](%1)"--notJQuery :: JQuery -> JQuery -> Fay JQuery-notJQuery = ffi "%2['not'](%1)"--offsetParent :: JQuery -> Fay JQuery-offsetParent = ffi "%1['offsetParent']()"--parent :: JQuery -> Fay JQuery-parent = ffi "%1['parent']()"--parentSelector :: String -> JQuery -> Fay JQuery-parentSelector = ffi "%2['parent'](%1)"--parents :: JQuery -> Fay JQuery-parents = ffi "%1['parents']()"--parentsSelector :: String -> JQuery -> Fay JQuery-parentsSelector = ffi "%2['parents'](%1)"--parentsUntil :: String -> JQuery -> Fay JQuery-parentsUntil = ffi "%2['parentsUntil'](%1)"--parentsUntilFiltered :: String -> String -> JQuery -> Fay JQuery-parentsUntilFiltered = ffi "%3['parentsUntil'](%1, %2)"--parentsUntilElement :: Element -> JQuery -> Fay JQuery-parentsUntilElement = ffi "%2['parentsUntil'](%1)"--parentsUntilElementFiltered :: Element -> String -> JQuery -> Fay JQuery-parentsUntilElementFiltered = ffi "%3['parentsUntil'](%1, %2)"--prev :: JQuery -> Fay JQuery-prev = ffi "%1['prev']()"--prevSelector :: String -> JQuery -> Fay JQuery-prevSelector = ffi "%2['prev'](%1)"--prevAll :: JQuery -> Fay JQuery-prevAll = ffi "%1['prevAll']()"--prevAllSelector :: String -> JQuery -> Fay JQuery-prevAllSelector = ffi "%2['prevAll'](%1)"--prevUntil :: String -> JQuery -> Fay JQuery-prevUntil = ffi "%2['prevUntil'](%1)"--prevUntilFiltered :: String -> String -> JQuery -> Fay JQuery-prevUntilFiltered = ffi "%3['prevUntil'](%1, %2)"--prevUntilElement :: Element -> JQuery -> Fay JQuery-prevUntilElement = ffi "%2['prevUntil'](%1)"--prevUntilElementFiltered :: Element -> String -> JQuery -> Fay JQuery-prevUntilElementFiltered = ffi "%3['prevUntil'](%1, %2)"--siblings :: JQuery -> Fay JQuery-siblings = ffi "%1['siblings']()"--siblingsSelector :: String -> JQuery -> Fay JQuery-siblingsSelector = ffi "%2['siblings'](%1)"--slice :: Double -> JQuery -> Fay JQuery-slice = ffi "%2['slice'](%1)"--sliceFromTo :: Double -> Double -> JQuery -> Fay JQuery-sliceFromTo = ffi "%3['slice'](%1, %2)"--data KeyCode = KeyUp-             | KeyDown-             | KeyLeft-             | KeyRight-             | KeyRet-             | SomeKey Double-  deriving (Show)--onKeycode :: (KeyCode -> Fay Bool) -> JQuery -> Fay JQuery-onKeycode callback el = do-  _onKeycode (\code -> callback (case code of-                                   38 -> KeyUp-                                   40 -> KeyDown-                                   37 -> KeyLeft-                                   39 -> KeyRight-                                   13 -> KeyRet-                                   _  -> SomeKey code))-             el--_onKeycode :: (Double -> Fay Bool) -> JQuery -> Fay JQuery-_onKeycode = ffi "%2['keycode'](%1)"--unKeycode :: JQuery -> Fay JQuery-unKeycode = ffi "%1['unkeycode']()"--onClick :: (Event -> Fay Bool) -> JQuery -> Fay JQuery-onClick = ffi "%2['click'](%1)"--onChange :: (Fay ()) -> JQuery -> Fay JQuery-onChange = ffi "%2['change'](%1)"--onSubmit :: Fay Bool -> JQuery -> Fay JQuery-onSubmit = ffi "%2['submit'](%1)"--eventX :: Event -> JQuery -> Double-eventX = ffi "%1['pageX'] - %2['get'](0)['offsetLeft']"--eventY :: Event -> JQuery -> Double-eventY = ffi "%1['pageY'] - %2['get'](0)['offsetTop']"--onDblClick :: (Event -> Fay Bool) -> JQuery -> Fay JQuery-onDblClick = ffi "%2['dblclick'](%1)"--setDraggable :: JQuery -> Fay JQuery-setDraggable = ffi "%1['draggable']()"--validate :: JQuery -> Fay () -> Fay ()-validate = ffi "%1['validate']({ \"submitHandler\": %2 })"--onLivechange :: Fay () -> JQuery -> Fay JQuery-onLivechange = ffi "%2['livechange'](50,%1)"---- vim implementation shortcut--- inoremap <F6> <ESC>:normal 0ywo<ESC>pa= ffi ""<ESC>F"i------------- Utilities-----