X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Shares%2FmTaskShare.icl;h=ee6282b775eb5803d4dc803235dd72ccbadb6dc5;hb=a2df77cbda43d5a24eeb8ac7db7452baae9f18aa;hp=60fb0a8da1568f2517df735ab401d447d753d1d0;hpb=c518754bec4758cce7d899463f9c68612c3bf4e4;p=mTask.git diff --git a/Shares/mTaskShare.icl b/Shares/mTaskShare.icl index 60fb0a8..ee6282b 100644 --- a/Shares/mTaskShare.icl +++ b/Shares/mTaskShare.icl @@ -15,6 +15,7 @@ manageShares :: [MTaskShare] -> Task () manageShares shares = withShared Nothing $ \cs->forever $ (viewSharesGrid cs shares -|| updateShares shares <<@ ArrangeVertical) @! () + updateShares :: [MTaskShare] -> Task BCValue updateShares shares = anyTask (map updateS shares) <<@ ArrangeWithTabs @@ -23,7 +24,7 @@ updateS sh = flip (<<@) (Title $ toString sh.identifier) $ forever $ viewSharedInformation "Current value" [] (getSDSShare sh) ||- ( updateSharedInformation "New value" [] (getSDSShare sh) - >>= \nv->allTasks (map getDevice sh.withDevice) + >>= \nv->allTasks (map (withDevice treturn) sh.withDevice) >>= \devs->allTasks (map (sendMessages [MTUpd sh.identifier nv]) devs) >>| treturn nv ) @@ -34,7 +35,7 @@ viewSharesGrid _ [] = viewInformation "No shares yet" [] [] viewSharesGrid cs sh = (allTasks [watch (getSDSShare m)\\m<-sh] <<@ NoUserInterface) >&^ \st->flip (<<@) NoUserInterface $ whileUnchanged st $ \mshs->enterChoice "" [ChooseFromGrid id] [{MTaskShare|ss&value=s}\\s<-fromJust mshs & ss<-sh] -// >>* [OnValue (withValue $ \s->Just (set (Just s) cs))] + >>* [OnValue (withValue $ \s->Just (set (Just s) cs))] @! fromJust mshs viewShare :: MTaskShare -> Task BCValue