-- | Bindings to . To use this -- binding, include the browser-global version of @react-bootstrap.js@ so that @window.ReactBootstrap@ -- is defined. You can then use 'bootstrap_' inside your rendering functions. -- -- Note: I initially wrote these bindings when I was first starting React, but after some experience -- I think that bootstrap and react just do not fit together and I no longer use bootstrap and react -- together. While I am leaving this here for backwards compatibility, I suggest you use a different -- library. I am currently using and accessing the -- components using @foreign_@. module React.Flux.Addons.Bootstrap ( bootstrap_ ) where import React.Flux #ifdef __GHCJS__ import GHCJS.Types (JSVal, JSString) import React.Flux.Internal (toJSString) #endif -- | A bootstrap . For example, -- -- >bootstrap_ "Alert" [ "bsStyle" $= "danger" -- > , callback "onDismiss" $ dispatch CloseAlert -- > ] $ -- > p_ "Hello, World!" -- > -- >bootstrap_ "Nav" [ "activeKey" @= (1 :: Int) -- > , callback "onSelect" $ \(i :: Int) -> dispatch $ TabChange i -- > ] $ do -- > bootstrap_ "NavItem" ["eventKey" @= (1 :: Int)] "Item 1" -- > bootstrap_ "NavItem" ["eventKey" @= (2 :: Int)] "Item 2" -- > bootstrap_ "NavItem" ["eventKey" @= (3 :: Int)] "Item 3" bootstrap_ :: String -- ^ The component name. Uses @window[\'ReactBootstrap\'][name]@ to find the class, so -- the name can be anything exported to the @window.ReactBoostrap@ object. -> [PropertyOrHandler eventHandler] -- ^ Properties and callbacks to pass to the ReactBootstrap class. You can use 'callback' -- to create function properties. -> ReactElementM eventHandler a -- ^ The child or children of the component. -> ReactElementM eventHandler a #ifdef __GHCJS__ bootstrap_ n = foreignClass (js_ReactBootstrap $ toJSString n) foreign import javascript unsafe "window['ReactBootstrap'][$1]" js_ReactBootstrap :: JSString -> JSVal #else bootstrap_ _ _ x = x #endif