on develop help sign in
Merge pull request #48 from sztupi/pr-replace-dom-in-one-frame

remove old & add new DOM in on render frame in dyn/widgetHold

commit822eb63b5b06180354fa6256f733af5eeb5e1239 authorRyan Trinkle <ryan.trinkle@gmail.com> dateWed 3 Feb 2016, 09:44 (11 years ago) parent8911714c83487e
1 file changed+7−9
src/Reflex/Dom/Widget/Basic.hs+7−9
src/Reflex/Dom/Widget/Basic.hs+7−9
@@ -158,17 +158,15 @@ widgetHoldInternal child0 newChild = do
158158 addVoidAction $ switch childVoidAction --TODO: Should this be a switchPromptly?
159159 doc <- askDocument
160160 runWidget <- getRunWidget
161− let build c = do
162− Just df <- createDocumentFragment doc
163− (result, postBuild, voidActions) <- runWidget df c
164− runFrameWithTriggerRef newChildBuiltTriggerRef (result, voidActions)
165− postBuild
166− mp' <- getParentNode endPlaceholder
167− forM_ mp' $ \p' -> insertBefore p' (Just df) (Just endPlaceholder)
168− return ()
169161 addVoidAction $ ffor newChild $ \c -> do
162+ Just df <- createDocumentFragment doc
163+ (result, postBuild, voidActions) <- runWidget df c
164+ runFrameWithTriggerRef newChildBuiltTriggerRef (result, voidActions)
165+ postBuild
170166 liftIO $ deleteBetweenExclusive startPlaceholder endPlaceholder
171− build c
167+ mp' <- getParentNode endPlaceholder
168+ forM_ mp' $ \p' -> insertBefore p' (Just df) (Just endPlaceholder)
169+ return ()
172170 return (result0, fmap fst newChildBuilt)
173171
174172diffMapNoEq :: (Ord k) => Map k v -> Map k v -> Map k (Maybe v)