@@ -37,7 +37,6 @@ import Data.Default
3737import Data.Dependent.Map (DMap)
3838import qualified Data.Dependent.Map as DMap
3939import Data.Dependent.Sum
40−import Data.Functor.Compose
4140import Data.Functor.Misc
4241import Data.IORef
4342import Data.Map (Map)
@@ -393,21 +392,21 @@ instance (Reflex t, MonadAdjust t m, MonadIO m, MonadHold t m, PerformEvent t m,
393392 { _immediateDomBuilderEnv_parent = toNode df
394393 }
395394 updateChildren = ffor dm' $ \(PatchDMap p) -> PatchDMap $
396− mapKeyValuePairsMonotonic (\(k :=> Compose mv) -> WrapArg k :=> Compose (fmap drawChildUpdate mv)) p
397− (children0, children') <- lift $ sequenceDMapWithAdjust (mapKeyValuePairsMonotonic (\(k :=> v) -> WrapArg k :=> drawChildInitial v) dm0) (updateChildren :: Event t (PatchDMap (DMap (WrapArg ((,,) DOM.DocumentFragment DOM.Text) k) m))) --TODO: Update stuff
395+ mapKeyValuePairsMonotonic (\(k :=> ComposeMaybe mv) -> WrapArg k :=> ComposeMaybe (fmap drawChildUpdate mv)) p
396+ (children0, children') <- lift $ sequenceDMapWithAdjust (mapKeyValuePairsMonotonic (\(k :=> v) -> WrapArg k :=> drawChildInitial v) dm0) (updateChildren :: Event t (PatchDMap (WrapArg ((,,) DOM.DocumentFragment DOM.Text) k) m)) --TODO: Update stuff
398397 let result0 = mapKeyValuePairsMonotonic (\(WrapArg k :=> Identity (_, _, v)) -> k :=> Identity v) children0
399398 placeholders0 = dmapToMap $ mapKeyValuePairsMonotonic (\(WrapArg k :=> Identity (_, ph, _)) -> Const2 (Some.This k) :=> Identity ph) children0
400399 result' = ffor children' $ \(PatchDMap p) -> PatchDMap $
401400 mapKeyValuePairsMonotonic (\(WrapArg k :=> v) -> k :=> fmap (\(_, _, r) -> r) v) p
402401 placeholders' = ffor children' $ \(PatchDMap p) -> PatchMap $
403− dmapToMap $ mapKeyValuePairsMonotonic (\(WrapArg k :=> v) -> Const2 (Some.This k) :=> Identity (fmap ((\(_, ph, _) -> ph) . runIdentity) (getCompose v))) p
402+ dmapToMap $ mapKeyValuePairsMonotonic (\(WrapArg k :=> v) -> Const2 (Some.This k) :=> Identity (fmap ((\(_, ph, _) -> ph) . runIdentity) (getComposeMaybe v))) p
404403 placeholders :: Behavior t (Map (Some k) DOM.Text) <- current . incrementalToDynamic <$> holdIncremental placeholders0 placeholders'
405404 lastPlaceholder <- textNodeInternal ("" :: Text)
406405 performEvent_ $ flip push children' $ \(PatchDMap p) -> do
407406 phs <- sample placeholders
408407 if DMap.null p then return Nothing else return $ Just $ do
409− let f :: DSum (WrapArg ((,,) DOM.DocumentFragment DOM.Text) k) (Compose Maybe Identity) -> Performable m ()
410− f (WrapArg k :=> Compose mv) = do
408+ let f :: DSum (WrapArg ((,,) DOM.DocumentFragment DOM.Text) k) (ComposeMaybe Identity) -> Performable m ()
409+ f (WrapArg k :=> ComposeMaybe mv) = do
411410 let nextPlaceholder = maybe lastPlaceholder snd $ Map.lookupGT (Some.This k) phs
412411 forM_ (Map.lookup (Some.This k) phs) $ \thisPlaceholder -> thisPlaceholder `deleteUpTo` nextPlaceholder
413412 forM_ mv $ \(Identity (df, _, _)) -> df `insertBefore` nextPlaceholder