mirror of
https://github.com/ilyakooo0/reflex-dom.git
synced 2024-09-11 06:35:30 +03:00
04a33a6720
reflex-dom-core contains all the code that does not depend on WebKitGTK
28 lines
728 B
Haskell
28 lines
728 B
Haskell
{-# LANGUAGE FlexibleContexts #-}
|
|
|
|
import Control.Monad.IO.Class
|
|
import Data.Foldable
|
|
import GHCJS.DOM
|
|
import qualified Graphics.UI.Gtk as Gtk
|
|
import Reflex.Dom
|
|
import Reflex.Spider.Internal (SpiderHostFrame)
|
|
|
|
main :: IO ()
|
|
main = do
|
|
getFirstEventAndHalt return
|
|
putStrLn "stopped once"
|
|
|
|
forM_ [1 .. 1000] $ \i -> getFirstEventAndHalt return
|
|
putStrLn "stopped many times"
|
|
|
|
type SpiderM = Widget Spider (Gui Spider (WithWebView SpiderHost) SpiderHostFrame)
|
|
|
|
getFirstEventAndHalt :: (Event Spider () -> SpiderM (Event Spider ())) -> IO ()
|
|
getFirstEventAndHalt action = mainWidget $ do
|
|
tick <- getPostBuild
|
|
event <- action tick
|
|
webView <- askWebView
|
|
quit <- getQuitWidget
|
|
performEvent_ (quit <$ event)
|
|
return ()
|