HFitUI-0.1.0.0: src/WebUI/Scripts/JavaScript/HJavaScript.hs
----------------------------------------------------------------
-- Модуль приложения
-- Скрипты графического интерфейса (HScript)
-- Язык JavaScript
----------------------------------------------------------------
module WebUI.Scripts.JavaScript.HJavaScript
( module HJavaScriptBuilder
, module HJavaScriptTypes
, module HJavaScriptVars
, module HJavaScriptExps
, module HJavaScriptMath
, module HJavaScriptFunction
, module HJavaScriptElementDOM
, hjs
, ujs
, upjs
, hjsBR
, jsFinish
) where
-- Импорт модулей
import Prelude as PRL
import Data.Char (toLower)
import Data.String.Utils (strip)
import qualified Data.Text.Lazy as DTL
import Data.Int
import Control.Monad.RWS as ConMonRWS
import System.IO.Unsafe (unsafePerformIO)
import Text.Blaze.Html5
import Text.Hamlet
import Text.Lucius
import Text.Cassius
import Text.Julius
import WebUI.Scripts.HScript
import WebUI.Scripts.JavaScript.HJSUtils (smartTrim, ujs, upjs)
import WebUI.Scripts.JavaScript.HJSBuilder as HJavaScriptBuilder
import WebUI.Scripts.JavaScript.HJSTypes as HJavaScriptTypes
import WebUI.Scripts.JavaScript.HJSVars as HJavaScriptVars
import WebUI.Scripts.JavaScript.HJSExps as HJavaScriptExps
import WebUI.Scripts.JavaScript.HJSMath as HJavaScriptMath
import WebUI.Scripts.JavaScript.HJSFunction as HJavaScriptFunction
import WebUI.Scripts.JavaScript.HJSElementDOM as HJavaScriptElementDOM
-- | Подготовка JavaScript
prepareJS b = renderJavascriptUrl undefined b
-- | Виджет скрипта JS
hjs :: JavascriptUrl b
-> HSL HLangJS HLangJS
hjs js = do
hl <- return $ HL $ smartTrim $ do prepareJS js
modify (:> hl)
return hl
-- | Детектор WebGL
hjsBR :: HSL HLangJS HLangJS
hjsBR = do
c <- ask
hl <- return $ HL $ " " ++ (hbc_entryLine c)
modify (:> hl)
return hl
jsFinish :: HSL HLangJS HLFinish
jsFinish = do
return HLFinish