on develop help sign in
Split into reflex-dom-core and reflex-dom
04a33a6Hamish Mackenzie
LICENSE → reflex-dom-core/LICENSErenamed

The content is the same.

Setup.hs → reflex-dom-core/Setup.hsrenamed

The content is the same.

reflex-dom.cabal → reflex-dom-core/reflex-dom-core.cabalrenamed+4−3
@@ -1,4 +1,4 @@
1−Name: reflex-dom
1+Name: reflex-dom-core
2Version: 0.4
2Version: 0.4
3Synopsis: Functional Reactive Web Apps with Reflex
3Synopsis: Functional Reactive Web Apps with Reflex
4Description: Reflex-DOM is a Functional Reactive web framework based on the Reflex FRP engine
4Description: Reflex-DOM is a Functional Reactive web framework based on the Reflex FRP engine
@@ -71,15 +71,15 @@ library
71
71
72 exposed-modules:
72 exposed-modules:
73 Foreign.JavaScript.TH
73 Foreign.JavaScript.TH
74− Reflex.Dom
75 Reflex.Dom.Builder.Class
74 Reflex.Dom.Builder.Class
76 Reflex.Dom.Builder.Class.Events
75 Reflex.Dom.Builder.Class.Events
77 Reflex.Dom.Builder.Immediate
76 Reflex.Dom.Builder.Immediate
78 Reflex.Dom.Builder.InputDisabled
77 Reflex.Dom.Builder.InputDisabled
79 Reflex.Dom.Builder.Static
78 Reflex.Dom.Builder.Static
80 Reflex.Dom.Class
79 Reflex.Dom.Class
81− Reflex.Dom.Internal
80+ Reflex.Dom.Core
82 Reflex.Dom.Location
81 Reflex.Dom.Location
82+ Reflex.Dom.Main
83 Reflex.Dom.Old
83 Reflex.Dom.Old
84 Reflex.Dom.Time
84 Reflex.Dom.Time
85 Reflex.Dom.WebSocket
85 Reflex.Dom.WebSocket
@@ -120,3 +120,4 @@ library
120source-repository head
120source-repository head
121 type: git
121 type: git
122 location: https://github.com/reflex-frp/reflex-dom
122 location: https://github.com/reflex-frp/reflex-dom
123+ subdir: reflex-dom-core
src/Foreign/JavaScript/TH.hs → reflex-dom-core/src/Foreign/JavaScript/TH.hsrenamed

The content is the same.

src/Reflex/Dom/Builder/Class.hs → reflex-dom-core/src/Reflex/Dom/Builder/Class.hsrenamed

The content is the same.

src/Reflex/Dom/Builder/Class/Events.hs → reflex-dom-core/src/Reflex/Dom/Builder/Class/Events.hsrenamed

The content is the same.

src/Reflex/Dom/Builder/Immediate.hs → reflex-dom-core/src/Reflex/Dom/Builder/Immediate.hsrenamed

The content is the same.

src/Reflex/Dom/Builder/InputDisabled.hs → reflex-dom-core/src/Reflex/Dom/Builder/InputDisabled.hsrenamed

The content is the same.

src/Reflex/Dom/Builder/Static.hs → reflex-dom-core/src/Reflex/Dom/Builder/Static.hsrenamed

The content is the same.

src/Reflex/Dom/Class.hs → reflex-dom-core/src/Reflex/Dom/Class.hsrenamed

The content is the same.

src/Reflex/Dom.hs → reflex-dom-core/src/Reflex/Dom/Core.hsrenamed+2−2
@@ -1,4 +1,4 @@
1−module Reflex.Dom (module X) where
1+module Reflex.Dom.Core (module X) where
2
2
3import Reflex as X hiding (askEvents)
3import Reflex as X hiding (askEvents)
4import Reflex.Dom.Builder.Class as X
4import Reflex.Dom.Builder.Class as X
@@ -6,8 +6,8 @@ import Reflex.Dom.Builder.Immediate as X
6import Reflex.Dom.Builder.InputDisabled as X
6import Reflex.Dom.Builder.InputDisabled as X
7import Reflex.Dom.Builder.Static as X
7import Reflex.Dom.Builder.Static as X
8import Reflex.Dom.Class as X
8import Reflex.Dom.Class as X
9−import Reflex.Dom.Internal as X
10import Reflex.Dom.Location as X
9import Reflex.Dom.Location as X
10+import Reflex.Dom.Main as X
11import Reflex.Dom.Old as X
11import Reflex.Dom.Old as X
12import Reflex.Dom.Time as X
12import Reflex.Dom.Time as X
13import Reflex.Dom.WebSocket as X
13import Reflex.Dom.WebSocket as X
src/Reflex/Dom/Location.hs → reflex-dom-core/src/Reflex/Dom/Location.hsrenamed

The content is the same.

src/Reflex/Dom/Internal.hs → reflex-dom-core/src/Reflex/Dom/Main.hsrenamed+1−1
@@ -13,7 +13,7 @@
13{-# LANGUAGE TypeOperators #-}
13{-# LANGUAGE TypeOperators #-}
14{-# LANGUAGE UndecidableInstances #-}
14{-# LANGUAGE UndecidableInstances #-}
15{-# LANGUAGE PatternSynonyms #-}
15{-# LANGUAGE PatternSynonyms #-}
16−module Reflex.Dom.Internal where
16+module Reflex.Dom.Main where
17
17
18import Prelude hiding (concat, mapM, mapM_, sequence, sequence_)
18import Prelude hiding (concat, mapM, mapM_, sequence, sequence_)
19
19
src/Reflex/Dom/Old.hs → reflex-dom-core/src/Reflex/Dom/Old.hsrenamed

The content is the same.

src/Reflex/Dom/Storage.hs → reflex-dom-core/src/Reflex/Dom/Storage.hsrenamed

The content is the same.

src/Reflex/Dom/Time.hs → reflex-dom-core/src/Reflex/Dom/Time.hsrenamed

The content is the same.

src/Reflex/Dom/WebSocket.hs → reflex-dom-core/src/Reflex/Dom/WebSocket.hsrenamed

The content is the same.

src/Reflex/Dom/WebSocket/Foreign.hs → reflex-dom-core/src/Reflex/Dom/WebSocket/Foreign.hsrenamed

The content is the same.

src/Reflex/Dom/Widget.hs → reflex-dom-core/src/Reflex/Dom/Widget.hsrenamed

The content is the same.

src/Reflex/Dom/Widget/Basic.hs → reflex-dom-core/src/Reflex/Dom/Widget/Basic.hsrenamed

The content is the same.

src/Reflex/Dom/Widget/Input.hs → reflex-dom-core/src/Reflex/Dom/Widget/Input.hsrenamed

The content is the same.

src/Reflex/Dom/Widget/Lazy.hs → reflex-dom-core/src/Reflex/Dom/Widget/Lazy.hsrenamed

The content is the same.

src/Reflex/Dom/Widget/Resize.hs → reflex-dom-core/src/Reflex/Dom/Widget/Resize.hsrenamed

The content is the same.

src/Reflex/Dom/Xhr.hs → reflex-dom-core/src/Reflex/Dom/Xhr.hsrenamed

The content is the same.

src/Reflex/Dom/Xhr/Exception.hs → reflex-dom-core/src/Reflex/Dom/Xhr/Exception.hsrenamed

The content is the same.

src/Reflex/Dom/Xhr/Foreign.hs → reflex-dom-core/src/Reflex/Dom/Xhr/Foreign.hsrenamed

The content is the same.

src/Reflex/Dom/Xhr/ResponseType.hs → reflex-dom-core/src/Reflex/Dom/Xhr/ResponseType.hsrenamed

The content is the same.

test/BrokenHaltSpec.hs → reflex-dom-core/test/BrokenHaltSpec.hsrenamed

The content is the same.

test/HaltSpec.hs → reflex-dom-core/test/HaltSpec.hsrenamed

The content is the same.

test/hlint.hs → reflex-dom-core/test/hlint.hsrenamed

The content is the same.

reflex-dom/LICENSEnew file+12
@@ -0,0 +1,12 @@
1+Copyright (c) 2015, Obsidian Systems LLC
2+All rights reserved.
3+
4+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5+
6+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7+
8+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
9+
10+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
11+
12+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
reflex-dom/Setup.hsnew file+2
@@ -0,0 +1,2 @@
1+import Distribution.Simple
2+main = defaultMain
reflex-dom/reflex-dom.cabalnew file+67
@@ -0,0 +1,67 @@
1+Name: reflex-dom
2+Version: 0.4
3+Synopsis: Functional Reactive Web Apps with Reflex
4+Description: Reflex-DOM is a Functional Reactive web framework based on the Reflex FRP engine
5+License: BSD3
6+License-file: LICENSE
7+Author: Ryan Trinkle
8+Maintainer: ryan.trinkle@gmail.com
9+Stability: Experimental
10+Category: FRP, Web, GUI, HTML, Javascript, Reactive, Reactivity, User Interfaces, User-interface
11+Build-type: Simple
12+cabal-version: >=1.24
13+-- Deal with https://github.com/haskell/cabal/issues/2544 / https://github.com/haskell/cabal/issues/367
14+extra-source-files: src/Reflex/Dom/Xhr/Foreign.hs
15+ src/Reflex/Dom/WebSocket/Foreign.hs
16+ src/Reflex/Dom/Xhr/ResponseType.hs
17+ src/Reflex/Dom/Xhr/Exception.hs
18+
19+flag webkit2gtk
20+ description: Use WebKit2 version of WebKitGTK.
21+ default: True
22+
23+library
24+ hs-source-dirs: src
25+ build-depends:
26+ base >= 4.7 && < 4.10,
27+ bytestring == 0.10.*,
28+ reflex == 0.5.*,
29+ reflex-dom-core >=0.4 && <0.5,
30+ text == 1.2.*
31+ if flag(webkit2gtk)
32+ build-depends:
33+ jsaddle-webkit2gtk
34+ else
35+ build-depends:
36+ jsaddle-webkitgtk
37+
38+ exposed-modules:
39+ Reflex.Dom
40+ Reflex.Dom.Internal
41+ reexported-modules:
42+ Foreign.JavaScript.TH
43+ , Reflex.Dom.Builder.Class
44+ , Reflex.Dom.Builder.Class.Events
45+ , Reflex.Dom.Builder.Immediate
46+ , Reflex.Dom.Builder.InputDisabled
47+ , Reflex.Dom.Builder.Static
48+ , Reflex.Dom.Class
49+ , Reflex.Dom.Core
50+ , Reflex.Dom.Location
51+ , Reflex.Dom.Main
52+ , Reflex.Dom.Old
53+ , Reflex.Dom.Time
54+ , Reflex.Dom.WebSocket
55+ , Reflex.Dom.Widget
56+ , Reflex.Dom.Widget.Basic
57+ , Reflex.Dom.Widget.Input
58+ , Reflex.Dom.Widget.Lazy
59+ , Reflex.Dom.Widget.Resize
60+ , Reflex.Dom.Xhr
61+
62+ ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2 -ferror-spans
63+
64+source-repository head
65+ type: git
66+ location: https://github.com/reflex-frp/reflex-dom
67+ subdir: reflex-dom
reflex-dom/src/Reflex/Dom.hsnew file+7
@@ -0,0 +1,7 @@
1+module Reflex.Dom (module X) where
2+
3+import Reflex.Dom.Core as X hiding
4+ (mainWidget, mainWidgetWithHead, mainWidgetWithCss,
5+ mainWidgetWithHead', mainWidgetInElementById, runApp')
6+import Reflex.Dom.Internal as X
7+
reflex-dom/src/Reflex/Dom/Internal.hsnew file+41
@@ -0,0 +1,41 @@
1+{-# LANGUAGE RankNTypes #-}
2+{-# LANGUAGE TypeFamilies #-}
3+module Reflex.Dom.Internal
4+ (module Main, mainWidget, mainWidgetWithHead, mainWidgetWithCss,
5+ mainWidgetWithHead', mainWidgetInElementById, runApp') where
6+
7+import Data.ByteString (ByteString)
8+import Data.Text (Text)
9+import Reflex.Spider (Spider)
10+import Reflex.Dom.Core (Widget)
11+import Reflex.Dom.Main as Main hiding
12+ (mainWidget, mainWidgetWithHead, mainWidgetWithCss,
13+ mainWidgetWithHead', mainWidgetInElementById, runApp')
14+import qualified Reflex.Dom.Main as Main
15+ (mainWidget, mainWidgetWithHead, mainWidgetWithCss,
16+ mainWidgetWithHead', mainWidgetInElementById, runApp')
17+import Language.Javascript.JSaddle.WebKitGTK (run)
18+
19+mainWidget :: (forall x. Widget x ()) -> IO ()
20+mainWidget w = run $ Main.mainWidget w
21+{-# INLINE mainWidget #-}
22+
23+mainWidgetWithHead :: (forall x. Widget x ()) -> (forall x. Widget x ()) -> IO ()
24+mainWidgetWithHead h b = run $ Main.mainWidgetWithHead h b
25+{-# INLINE mainWidgetWithHead #-}
26+
27+mainWidgetWithCss :: ByteString -> (forall x. Widget x ()) -> IO ()
28+mainWidgetWithCss css w = run $ Main.mainWidgetWithCss css w
29+{-# INLINE mainWidgetWithCss #-}
30+
31+mainWidgetWithHead' :: (forall x. (a -> Widget x b, b -> Widget x a)) -> IO ()
32+mainWidgetWithHead' w = run $ Main.mainWidgetWithHead' w
33+{-# INLINE mainWidgetWithHead' #-}
34+
35+mainWidgetInElementById :: Text -> (forall x. Widget x ()) -> IO ()
36+mainWidgetInElementById eid w = run $ Main.mainWidgetInElementById eid w
37+{-# INLINE mainWidgetInElementById #-}
38+
39+runApp' :: (t ~ Spider) => (forall x. AppInput t -> Widget x (AppOutput t)) -> IO ()
40+runApp' app = run $ Main.runApp' app
41+{-# INLINE runApp' #-}