on develop help sign in
Parameterize wrapElement on the handler function
commitbcc48472ca46995a5dfe25e5176c14982c5c954e authorRyan Trinkle <ryan.trinkle@gmail.com> dateFri 4 Sep 2015, 18:52 (11 years ago) parentc24dbf0
1 file changed+8−8
src/Reflex/Dom/Widget/Basic.hs+8−8
src/Reflex/Dom/Widget/Basic.hs+8−8
@@ -596,9 +596,9 @@ defaultDomEventHandler e evt = liftM (Just . EventResult) $ case evt of
596596 Blur -> return ()
597597 Change -> return ()
598598
599−wrapElement :: forall t h m. (Functor (Event t), MonadIO m, MonadSample t m, MonadReflexCreateTrigger t m, Reflex t, HasPostGui t h m) => Element -> m (El t)
600−wrapElement e = do
601− es <- wrapDomEventsMaybe e $ defaultDomEventHandler e
599+wrapElement :: forall t h m. (Functor (Event t), MonadIO m, MonadSample t m, MonadReflexCreateTrigger t m, Reflex t, HasPostGui t h m) => (forall en. Element -> EventName en -> EventM (EventType en) Element (Maybe (EventResult en))) -> Element -> m (El t)
600+wrapElement eh e = do
601+ es <- wrapDomEventsMaybe e $ eh e
602602 return $ El e es
603603
604604{-# INLINABLE elStopPropagationNS #-}
@@ -618,7 +618,7 @@ elWith elementTag cfg child = do
618618elWith' :: (MonadWidget t m, Attributes m attrs) => String -> ElConfig attrs -> m a -> m (El t, a)
619619elWith' elementTag cfg child = do
620620 (e, result) <- buildElementNS (cfg ^. namespace) elementTag (cfg ^. attributes) child
621− e' <- wrapElement e
621+ e' <- wrapElement defaultDomEventHandler e
622622 return (e', result)
623623
624624{-# INLINABLE emptyElWith #-}
@@ -630,7 +630,7 @@ emptyElWith elementTag cfg = do
630630{-# INLINABLE emptyElWith' #-}
631631emptyElWith' :: (MonadWidget t m, Attributes m attrs) => String -> ElConfig attrs -> m (El t)
632632emptyElWith' elementTag cfg = do
633− wrapElement =<< buildEmptyElementNS (cfg ^. namespace) elementTag (cfg ^. attributes)
633+ wrapElement defaultDomEventHandler =<< buildEmptyElementNS (cfg ^. namespace) elementTag (cfg ^. attributes)
634634
635635{-# INLINABLE elDynAttrNS' #-}
636636elDynAttrNS' :: forall t m a. MonadWidget t m => Maybe String -> String -> Dynamic t (Map String String) -> m a -> m (El t, a)
@@ -684,7 +684,7 @@ elDynHtml' elementTag html = do
684684 let h = castToHTMLElement e
685685 schedulePostBuild $ liftIO . htmlElementSetInnerHTML h =<< sample (current html)
686686 addVoidAction $ fmap (liftIO . htmlElementSetInnerHTML h) $ updated html
687− wrapElement e
687+ wrapElement defaultDomEventHandler e
688688
689689elDynHtmlAttr' :: MonadWidget t m => String -> Map String String -> Dynamic t String -> m (El t)
690690elDynHtmlAttr' elementTag attrs html = do
@@ -692,7 +692,7 @@ elDynHtmlAttr' elementTag attrs html = do
692692 let h = castToHTMLElement e
693693 schedulePostBuild $ liftIO . htmlElementSetInnerHTML h =<< sample (current html)
694694 addVoidAction $ fmap (liftIO . htmlElementSetInnerHTML h) $ updated html
695− wrapElement e
695+ wrapElement defaultDomEventHandler e
696696
697697data Link t
698698 = Link { _link_clicked :: Event t ()
@@ -805,7 +805,7 @@ unsafePlaceElement :: MonadWidget t m => Element -> m (El t)
805805unsafePlaceElement e = do
806806 p <- askParent
807807 _ <- liftIO $ nodeAppendChild p $ Just e
808− wrapElement e
808+ wrapElement defaultDomEventHandler e
809809
810810deriveGEq ''EventName
811811deriveGCompare ''EventName