packages feed

digestive-functors-heist 0.6.2.1 → 0.7.0.0

raw patch · 3 files changed

+32/−37 lines, 3 filesdep ~digestive-functorsPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: digestive-functors

API changes (from Hackage documentation)

- Text.Digestive.Heist.Compiled: formSplice' :: Monad m => [(Text, Splice m)] -> [(Text, AttrSplice m)] -> m (View Text) -> Splice m
- Text.Digestive.Heist.Compiled: formSplice :: Monad m => m (View Text) -> Splice m
+ Text.Digestive.Heist.Compiled: formSplice :: Monad m => [(Text, Splice m)] -> [(Text, AttrSplice m)] -> RuntimeSplice m (View Text) -> Splice m

Files

digestive-functors-heist.cabal view
@@ -1,5 +1,5 @@ Name:          digestive-functors-heist-Version:       0.6.2.1+Version:       0.7.0.0 Synopsis:      Heist frontend for the digestive-functors library Description:   Heist frontend for the digestive-functors library Homepage:      http://github.com/jaspervdj/digestive-functors@@ -21,7 +21,7 @@   Build-depends:     base               >= 4      && < 5,     blaze-builder      >= 0.3    && < 0.4,-    digestive-functors >= 0.6    && < 0.7,+    digestive-functors >= 0.6.1  && < 0.7,     heist              >= 0.11.1 && < 0.13,     mtl                >= 2      && < 2.2,     text               >= 0.11   && < 0.12,
src/Text/Digestive/Heist.hs view
@@ -138,6 +138,12 @@   --------------------------------------------------------------------------------+-- | +setDisabled :: Text -> View v -> [(Text, Text)] -> [(Text, Text)]+setDisabled ref view = if viewDisabled ref view then (("disabled",""):) else id+++-------------------------------------------------------------------------------- -- | Generate an input field with a supplied type. Example: -- -- > <dfInput type="date" ref="date" />@@ -146,7 +152,7 @@     (ref, attrs) <- getRefAttributes Nothing     let ref'  = absoluteRef ref view         value = fieldInputText ref view-    return $ makeElement "input" [] $ addAttrs attrs+    return $ makeElement "input" [] $ addAttrs attrs $ setDisabled ref view         [("id", ref'), ("name", ref'), ("value", value)]  @@ -159,7 +165,7 @@     (ref, attrs) <- getRefAttributes Nothing     let ref'  = absoluteRef ref view         value = fieldInputText ref view-    return $ makeElement "input" [] $ addAttrs attrs+    return $ makeElement "input" [] $ addAttrs attrs $ setDisabled ref view         [("type", "text"), ("id", ref'), ("name", ref'), ("value", value)]  @@ -172,8 +178,8 @@     (ref, attrs) <- getRefAttributes Nothing     let ref'  = absoluteRef ref view         value = fieldInputText ref view-    return $ makeElement "textarea" [X.TextNode value] $ addAttrs attrs-        [("id", ref'), ("name", ref')]+    return $ makeElement "textarea" [X.TextNode value] $ addAttrs attrs $+        setDisabled ref view [("id", ref'), ("name", ref')]   --------------------------------------------------------------------------------@@ -185,7 +191,7 @@     (ref, attrs) <- getRefAttributes Nothing     let ref'  = absoluteRef ref view         value = fieldInputText ref view-    return $ makeElement "input" [] $ addAttrs attrs+    return $ makeElement "input" [] $ addAttrs attrs $ setDisabled ref view         [("type", "password"), ("id", ref'), ("name", ref'), ("value", value)]  @@ -198,7 +204,7 @@     (ref, attrs) <- getRefAttributes Nothing     let ref'  = absoluteRef ref view         value = fieldInputText ref view-    return $ makeElement "input" [] $ addAttrs attrs+    return $ makeElement "input" [] $ addAttrs attrs $ setDisabled ref view         [("type", "hidden"), ("id", ref'), ("name", ref'), ("value", value)]  @@ -218,7 +224,7 @@             (attr sel ("selected", "selected") [("value", value i)])             [X.TextNode c] -    return $ makeElement "select" kids $ addAttrs attrs+    return $ makeElement "select" kids $ addAttrs attrs $ setDisabled ref view         [("id", ref'), ("name", ref')]  @@ -240,7 +246,7 @@             (attr sel ("selected", "selected") [("value", value i)])             [X.TextNode c] -    return $ makeElement "select" kids $ addAttrs attrs+    return $ makeElement "select" kids $ addAttrs attrs $ setDisabled ref view         [("id", ref'), ("name", ref')]  @@ -280,7 +286,7 @@     let ref'  = absoluteRef ref view         value = fieldInputBool ref view     return $ makeElement "input" [] $ addAttrs attrs $-        attr value ("checked", "checked") $+        attr value ("checked", "checked") $ setDisabled ref view         [("type", "checkbox"), ("id", ref'), ("name", ref')]  @@ -293,7 +299,7 @@     (ref, attrs) <- getRefAttributes Nothing     let ref'  = absoluteRef ref view         value = maybe "" T.pack $ fieldInputFile ref view-    return $ makeElement "input" [] $ addAttrs attrs+    return $ makeElement "input" [] $ addAttrs attrs $ setDisabled ref view         [("type", "file"), ("id", ref'), ("name", ref'), ("value", value)]  @@ -411,6 +417,11 @@     return nodes  +disableOnclick :: Text -> View v -> [(Text, Text)] -> [(Text, Text)]+disableOnclick ref view =+    if viewDisabled ref view then const [("disabled","")] else id++ -------------------------------------------------------------------------------- -- | This splice allows variable length lists.  It binds several attribute -- splices providing functionality for dynamically manipulating the list.  The@@ -440,11 +451,11 @@             [ ("id", listRef)             , ("class", "inputList")             ]-        addControl _ = return+        addControl _ = return $ disableOnclick ref view             [ ("onclick", T.concat [ "addInputListItem(this, '"                                    , listRef                                    , "'); return false;"] ) ]-        removeControl _ = return+        removeControl _ = return $ disableOnclick ref view             [ ("onclick", T.concat [ "removeInputListItem(this, '"                                    , listRef                                    , "'); return false;"] ) ]
src/Text/Digestive/Heist/Compiled.hs view
@@ -29,7 +29,6 @@ module Text.Digestive.Heist.Compiled     ( -- * Core methods       formSplice-    , formSplice'        -- * Main splices     , dfInput@@ -57,7 +56,6 @@ -------------------------------------------------------------------------------- import           Blaze.ByteString.Builder import           Control.Monad         (mplus)-import           Control.Monad.Trans import           Data.Function         (on) import           Data.List             (unionBy) import           Data.Maybe            (fromMaybe)@@ -111,26 +109,12 @@ -- -- Then you can use the customerForm tag just like you would use the dfForm -- tag in interpreted templates anywhere you want to have a customer form.-formSplice :: Monad m => m (View Text) -> Splice m-formSplice = formSplice' [] []------------------------------------------------------------------------------------ | A compiled splice for a specific form.  You pass in a runtime action that--- gets the form's view and this function returns a splice that creates a form--- tag.  In your HeistConfig you might have a compiled splice like this:------ `("customerForm", formSplice (liftM fst $ runForm "customer" custForm))`------ Then you can use the customerForm tag just like you would use the dfForm--- tag in interpreted templates anywhere you want to have a customer form.---formSplice' :: Monad m => m (View Text) -> Splice m-formSplice' :: Monad m-            => [(Text, Splice m)]-            -> [(Text, AttrSplice m)]-            -> m (View Text)-            -> Splice m-formSplice' ss as getView = do+formSplice :: Monad m+           => [(Text, Splice m)]+           -> [(Text, AttrSplice m)]+           -> RuntimeSplice m (View Text)+           -> Splice m+formSplice ss as getView = do     node <- getParamNode     let (_, attrs) = getRefAttributes node Nothing         tree = X.Element "form"@@ -141,7 +125,7 @@                  (X.childNodes node)         action = runNode tree     defer (\vp -> withLocalSplices (digestiveSplices vp ++ ss) as action)-          (lift getView)+          getView   --------------------------------------------------------------------------------