fay-jquery: jQuery bindings for Fay.

[ bsd3, fay, library, web ] [ Propose Tags ]

jQuery bindings for Fay.

[Skip to Readme]




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,, 0.5, 0.6,,,,
Change log CHANGELOG.md
Dependencies fay-base (>=0.18), fay-text (>=0.2) [details]
License BSD-3-Clause
Copyright Adam Bergmark, Brian Victor, Chris Done
Author Adam Bergmark, Brian Victor, Chris Done
Maintainer adam@bergmark.nl
Category Web, Fay
Home page https://github.com/faylang/fay-jquery
Bug tracker https://github.com/faylang/fay-jquery/issues
Source repo head: git clone https://github.com/faylang/fay-jquery.git
Uploaded by AdamBergmark at 2015-08-13T08:11:43Z
Reverse Dependencies 6 direct, 0 indirect [details]
Downloads 10695 total (28 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-08-13 [all 1 reports]

Readme for fay-jquery-

[back to package description]

Fay jQuery


jQuery bindings for Fay. This project is experimental, but seems to work pretty well!

The short-term goals of this project are to help discover the real world requirements of Fay and to invite bikeshedding over the fay-jquery API. That means that names and types may change in rapid and annoying ways until conventions settle down.

The one consistent convention in the library is that the jQuery object on which methods operate is the last parameter to every function. This allows simple monadic composition:

{-# LANGUAGE RebindableSyntax, OverloadedStrings #-}

import Fay.Text (fromString)
import JQuery
import Prelude

(>=>) :: (a -> Fay b) -> (b -> Fay c) -> a -> Fay c
f >=> g = \x -> f x >>= g

makeSquare :: JQuery -> Fay JQuery
makeSquare = addClass "square" >=>
             setWidth 400 >=>
             setHeight 400

-- `ready` is the same as jQuery(document).ready(%1);
-- You generally need to wait for this event to fire before modifying the DOM.
main :: Fay ()
main = ready $ do
    select "#elementToMakeSquare" >>= makeSquare
    return ()



cabal install fay-text fay-jquery

Compile your file:

fay --package fay-jquery,fay-text MyFile.hs

Supported API calls

This binding is a work in progress. We're adding calls by section of the jQuery docs. There is some overlap in the sections, but the following sections are (mostly) complete.

  • Ajax
  • Attributes
  • Core
  • CSS
  • Effects (Basic, Fading)
  • Manipulation
  • Traversing
  • Events

Still to do

  • Data
  • Deferred Object
  • Effects (Custom, Sliding)
  • Forms
  • Internals
  • Miscellaneous
  • Offset
  • Plugins
  • Properties
  • Utilities

Not Applicable

  • Selectors