-------------------------------------------------------------- -- Module for demonstrating the work of the library ---------------------------------------------------------------- module WebUI.Demo.LibDemo ( testDemo ) where -- Импорт модулей import qualified Text.Blaze.Html5 as H import Text.Hamlet import Text.Julius import WebUI.HFitUI import WebUI.Scripts.JavaScript.HJavaScript import WebUI.Themes.SolarizedUITheme -- | Demo test testDemo :: IO () testDemo = do res <- testOne putStrLn $ show res testOne :: UI H.Html testOne = widgetLayoutUI $ do -- Базовые виджеты shell <- shellExtUI "TestGL (Dyn)" [] (root, idRoot, _) <- expandWUI $ wuiPanel <#> boundsBRDNum (44, 0, 0, 0) <#> overflowHiddenX <#> overflowAutoY scriptsOutside <- wuiScriptSrc [] jsScript <- wuiScriptTextJS $ runScript defaultHBConfig {hbc_entryLine = "\n" } $ do var_b <- newVarInt "b" 10 var_c <- newVarInt "c" 5 var_cm <- newVar "cm" $ mathACos var_c (//) "Test variable" var_testPer <- newVar "testPer" HJsEmpty var_st <- newVarStr "st" "TestSt" flag_1 <- newVarBool "flag_1" True var_res <- newVar "res" HJsNull var_res <- eql var_res $ (var_b + var_c) * var_st / var_b var_res <- eql var_res var_b hjs $(juliusFile "templates/test/TestScript.julius") hjs $[julius| function veryTest (){ console.log("VeryTest"); } |] (***) $ "The first multi-line comment" +-+ "before the myFunc function" vatFn_myFunc <- functJS "myFunc" [] $ do return endH call vatFn_myFunc [] var_res_myFunc <- eqlMT (varJS "res_myFunc") $ call vatFn_myFunc [] var_testFunc <- eqlMT (varJS "testFunc") $ functJS "" [] $ do var_bbb <- newVarInt "bbb" 23 returnJS thisJS call var_testFunc [] var_res_testFunc <- eqlMT (varJS "res_testFunc") $ call var_testFunc [5, var_b, valStr "qwe", valInt 19, valBool True] var_res_new_testFunc <- eqlMT (varJS "res_new_testFunc") $ newJS $ call var_testFunc [5, var_b, valStr "qwe", valInt 19, valBool True] jsFinish shell `addWUIs` [ root , scriptsOutside , jsScript ]