Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
gargantext-ihaskell
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gargantext
gargantext-ihaskell
Commits
1f772ccb
Commit
1f772ccb
authored
Aug 05, 2021
by
David Davó
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added jslink and removed warnings
parent
6275019a
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
50 additions
and
73 deletions
+50
-73
ihaskell-widgets.cabal
ihaskell-display/ihaskell-widgets/ihaskell-widgets.cabal
+1
-1
Widgets.hs
...-display/ihaskell-widgets/src/IHaskell/Display/Widgets.hs
+1
-1
Button.hs
...y/ihaskell-widgets/src/IHaskell/Display/Widgets/Button.hs
+0
-1
Controller.hs
...ets/src/IHaskell/Display/Widgets/Controller/Controller.hs
+0
-4
ControllerAxis.hs
...src/IHaskell/Display/Widgets/Controller/ControllerAxis.hs
+0
-2
ControllerButton.hs
...c/IHaskell/Display/Widgets/Controller/ControllerButton.hs
+0
-2
Common.hs
...ell-widgets/src/IHaskell/Display/Widgets/Layout/Common.hs
+0
-9
LayoutWidget.hs
...dgets/src/IHaskell/Display/Widgets/Layout/LayoutWidget.hs
+0
-4
Types.hs
...kell-widgets/src/IHaskell/Display/Widgets/Layout/Types.hs
+1
-23
DirectionalLink.hs
...gets/src/IHaskell/Display/Widgets/Link/DirectionalLink.hs
+10
-3
Link.hs
...haskell-widgets/src/IHaskell/Display/Widgets/Link/Link.hs
+10
-3
Audio.hs
...skell-widgets/src/IHaskell/Display/Widgets/Media/Audio.hs
+0
-1
Image.hs
...skell-widgets/src/IHaskell/Display/Widgets/Media/Image.hs
+3
-4
Video.hs
...skell-widgets/src/IHaskell/Display/Widgets/Media/Video.hs
+0
-1
Dropdown.hs
...idgets/src/IHaskell/Display/Widgets/Selection/Dropdown.hs
+0
-1
Singletons.hs
...askell-widgets/src/IHaskell/Display/Widgets/Singletons.hs
+2
-2
Password.hs
...l-widgets/src/IHaskell/Display/Widgets/String/Password.hs
+0
-1
Text.hs
...skell-widgets/src/IHaskell/Display/Widgets/String/Text.hs
+1
-2
DescriptionStyle.hs
...ts/src/IHaskell/Display/Widgets/Style/DescriptionStyle.hs
+0
-2
Types.hs
...ay/ihaskell-widgets/src/IHaskell/Display/Widgets/Types.hs
+11
-2
Widgets.hs
src/IHaskell/Eval/Widgets.hs
+10
-4
No files found.
ihaskell-display/ihaskell-widgets/ihaskell-widgets.cabal
View file @
1f772ccb
...
@@ -140,7 +140,7 @@ library
...
@@ -140,7 +140,7 @@ library
-- The singletons package version is locked to the compiler
-- The singletons package version is locked to the compiler
-- so let cabal choose the right one.
-- so let cabal choose the right one.
, singletons
>= 2.6
, singletons
-any
if impl (ghc >= 9.0)
if impl (ghc >= 9.0)
build-depends: singletons-base -any
build-depends: singletons-base -any
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets.hs
View file @
1f772ccb
...
@@ -68,4 +68,4 @@ import IHaskell.Display.Widgets.Common as X
...
@@ -68,4 +68,4 @@ import IHaskell.Display.Widgets.Common as X
import
IHaskell.Display.Widgets.Types
as
X
(
setField
,
getField
,
properties
,
triggerDisplay
,
import
IHaskell.Display.Widgets.Types
as
X
(
setField
,
getField
,
properties
,
triggerDisplay
,
triggerChange
,
triggerClick
,
triggerSelection
,
triggerChange
,
triggerClick
,
triggerSelection
,
triggerSubmit
,
ChildWidget
(
..
),
StyleWidget
(
..
),
triggerSubmit
,
ChildWidget
(
..
),
StyleWidget
(
..
),
WidgetFieldPair
(
..
),
Date
(
..
))
WidgetFieldPair
(
..
),
Date
(
..
)
,
unlink
)
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Button.hs
View file @
1f772ccb
...
@@ -27,7 +27,6 @@ import IHaskell.Display.Widgets.Types
...
@@ -27,7 +27,6 @@ import IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Common
import
IHaskell.Display.Widgets.Common
import
IHaskell.Display.Widgets.Style.ButtonStyle
import
IHaskell.Display.Widgets.Style.ButtonStyle
import
IHaskell.Display.Widgets.Layout.LayoutWidget
import
IHaskell.Display.Widgets.Layout.LayoutWidget
import
IHaskell.Display.Widgets.Style.DescriptionStyle
-- | A 'Button' represents a Button from IPython.html.widgets.
-- | A 'Button' represents a Button from IPython.html.widgets.
type
Button
=
IPythonWidget
'B
u
ttonType
type
Button
=
IPythonWidget
'B
u
ttonType
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Controller/Controller.hs
View file @
1f772ccb
...
@@ -20,17 +20,13 @@ import Control.Monad (void)
...
@@ -20,17 +20,13 @@ import Control.Monad (void)
import
Data.Aeson
import
Data.Aeson
import
Data.Aeson.Types
(
parse
)
import
Data.Aeson.Types
(
parse
)
import
Data.Text
(
Text
)
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
Data.Maybe
(
fromJust
,
isJust
)
import
qualified
Data.Scientific
as
Sci
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
import
IHaskell.Eval.Widgets
import
IHaskell.Eval.Widgets
import
IHaskell.IPython.Message.UUID
as
U
import
IHaskell.IPython.Message.UUID
as
U
import
IHaskell.Display.Widgets.Singletons
(
Field
,
SField
)
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Common
import
IHaskell.Display.Widgets.Common
import
IHaskell.Display.Widgets.Layout.LayoutWidget
import
IHaskell.Display.Widgets.Layout.LayoutWidget
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Controller/ControllerAxis.hs
View file @
1f772ccb
...
@@ -15,10 +15,8 @@ module IHaskell.Display.Widgets.Controller.ControllerAxis
...
@@ -15,10 +15,8 @@ module IHaskell.Display.Widgets.Controller.ControllerAxis
-- To keep `cabal repl` happy when running from the ihaskell repo
-- To keep `cabal repl` happy when running from the ihaskell repo
import
Prelude
import
Prelude
import
Control.Monad
(
void
)
import
Data.Aeson
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
qualified
Data.Scientific
as
Sci
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Controller/ControllerButton.hs
View file @
1f772ccb
...
@@ -15,10 +15,8 @@ module IHaskell.Display.Widgets.Controller.ControllerButton
...
@@ -15,10 +15,8 @@ module IHaskell.Display.Widgets.Controller.ControllerButton
-- To keep `cabal repl` happy when running from the ihaskell repo
-- To keep `cabal repl` happy when running from the ihaskell repo
import
Prelude
import
Prelude
import
Control.Monad
(
void
)
import
Data.Aeson
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
qualified
Data.Scientific
as
Sci
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Layout/Common.hs
View file @
1f772ccb
...
@@ -13,15 +13,6 @@
...
@@ -13,15 +13,6 @@
module
IHaskell.Display.Widgets.Layout.Common
where
module
IHaskell.Display.Widgets.Layout.Common
where
import
Data.Aeson
import
Data.Aeson.Types
(
emptyObject
)
import
Data.HashMap.Strict
as
HM
import
Data.Text
(
pack
,
Text
)
import
Data.Typeable
(
Typeable
)
import
IHaskell.Display
(
IHaskellWidget
)
import
IHaskell.Eval.Widgets
(
widgetSendClose
)
import
qualified
IHaskell.Display.Widgets.Singletons
as
S
import
qualified
IHaskell.Display.Widgets.Singletons
as
S
pattern
AlignContent
=
S
.
SLAlignContent
pattern
AlignContent
=
S
.
SLAlignContent
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Layout/LayoutWidget.hs
View file @
1f772ccb
...
@@ -15,11 +15,8 @@ module IHaskell.Display.Widgets.Layout.LayoutWidget
...
@@ -15,11 +15,8 @@ module IHaskell.Display.Widgets.Layout.LayoutWidget
-- To keep `cabal repl` happy when running from the ihaskell repo
-- To keep `cabal repl` happy when running from the ihaskell repo
import
Prelude
import
Prelude
import
Control.Monad
(
void
)
import
Data.Aeson
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
import
IHaskell.Eval.Widgets
import
IHaskell.Eval.Widgets
...
@@ -27,7 +24,6 @@ import IHaskell.IPython.Message.UUID as U
...
@@ -27,7 +24,6 @@ import IHaskell.IPython.Message.UUID as U
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Layout.Types
import
IHaskell.Display.Widgets.Layout.Types
import
IHaskell.Display.Widgets.Layout.Common
-- | A 'Layout' represents a Layout from IPython.html.widgets.
-- | A 'Layout' represents a Layout from IPython.html.widgets.
type
Layout
=
IPythonWidget
'L
a
youtType
type
Layout
=
IPythonWidget
'L
a
youtType
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Layout/Types.hs
View file @
1f772ccb
...
@@ -24,31 +24,9 @@ import Prelude hiding (Right,Left)
...
@@ -24,31 +24,9 @@ import Prelude hiding (Right,Left)
import
Control.Monad
(
unless
)
import
Control.Monad
(
unless
)
import
qualified
Control.Exception
as
Ex
import
qualified
Control.Exception
as
Ex
import
Data.Aeson
hiding
(
pairs
)
import
Data.List
(
intercalate
)
import
Data.List
(
intercalate
)
import
Data.Typeable
(
Typeable
,
TypeRep
,
typeOf
)
#
if
MIN_VERSION_vinyl
(
0
,
9
,
0
)
import
Data.Vinyl
(
Rec
(
..
))
import
Data.Vinyl
(
Rec
(
..
),
Dict
(
..
))
import
Data.Vinyl.Recursive
((
<+>
),
recordToList
,
reifyConstraint
,
rmap
)
#
else
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
),
recordToList
,
reifyConstraint
,
rmap
,
Dict
(
..
))
#
endif
import
Data.Vinyl.Lens
(
rget
,
rput
,
type
(
∈
))
#
if
MIN_VERSION_singletons
(
3
,
0
,
0
)
import
Data.List.Singletons
#
elif
MIN_VERSION_singletons
(
2
,
4
,
0
)
import
Data.Singletons.Prelude.List
#
else
import
Data.Singletons.Prelude
((
:++
))
#
endif
#
if
MIN_VERSION_singletons
(
3
,
0
,
0
)
import
Data.Singletons.Base.TH
#
else
import
Data.Singletons.TH
#
endif
import
qualified
IHaskell.Display.Widgets.Singletons
as
S
import
qualified
IHaskell.Display.Widgets.Singletons
as
S
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Types
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Link/DirectionalLink.hs
View file @
1f772ccb
...
@@ -10,6 +10,8 @@ module IHaskell.Display.Widgets.Link.DirectionalLink
...
@@ -10,6 +10,8 @@ module IHaskell.Display.Widgets.Link.DirectionalLink
DirectionalLink
DirectionalLink
-- * Constructor
-- * Constructor
,
mkDirectionalLink
,
mkDirectionalLink
-- * Another constructor
,
jsdlink
)
where
)
where
-- To keep `cabal repl` happy when running from the ihaskell repo
-- To keep `cabal repl` happy when running from the ihaskell repo
...
@@ -17,8 +19,6 @@ import Prelude
...
@@ -17,8 +19,6 @@ import Prelude
import
Data.Aeson
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
Data.Monoid
(
mempty
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
import
IHaskell.Eval.Widgets
import
IHaskell.Eval.Widgets
...
@@ -26,7 +26,6 @@ import IHaskell.IPython.Message.UUID as U
...
@@ -26,7 +26,6 @@ import IHaskell.IPython.Message.UUID as U
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Common
import
IHaskell.Display.Widgets.Common
import
IHaskell.Display.Widgets.Layout.LayoutWidget
-- | An 'DirectionalLink' represents a DirectionalLink widget from IPython.html.widgets.
-- | An 'DirectionalLink' represents a DirectionalLink widget from IPython.html.widgets.
type
DirectionalLink
=
IPythonWidget
'D
i
rectionalLinkType
type
DirectionalLink
=
IPythonWidget
'D
i
rectionalLinkType
...
@@ -49,5 +48,13 @@ mkDirectionalLink = do
...
@@ -49,5 +48,13 @@ mkDirectionalLink = do
-- Return the DirectionalLink widget
-- Return the DirectionalLink widget
return
widget
return
widget
-- | An easier constructor that links two widgets
jsdlink
::
WidgetFieldPair
->
WidgetFieldPair
->
IO
DirectionalLink
jsdlink
wfp1
wfp2
=
do
dlink
<-
mkDirectionalLink
_
<-
setField
dlink
Source
wfp1
_
<-
setField
dlink
Target
wfp2
return
dlink
instance
IHaskellWidget
DirectionalLink
where
instance
IHaskellWidget
DirectionalLink
where
getCommUUID
=
uuid
getCommUUID
=
uuid
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Link/Link.hs
View file @
1f772ccb
...
@@ -10,6 +10,8 @@ module IHaskell.Display.Widgets.Link.Link
...
@@ -10,6 +10,8 @@ module IHaskell.Display.Widgets.Link.Link
Link
Link
-- * Constructor
-- * Constructor
,
mkLink
,
mkLink
-- * Easier constructor
,
jslink
)
where
)
where
-- To keep `cabal repl` happy when running from the ihaskell repo
-- To keep `cabal repl` happy when running from the ihaskell repo
...
@@ -17,8 +19,6 @@ import Prelude
...
@@ -17,8 +19,6 @@ import Prelude
import
Data.Aeson
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
Data.Monoid
(
mempty
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
import
IHaskell.Eval.Widgets
import
IHaskell.Eval.Widgets
...
@@ -26,7 +26,6 @@ import IHaskell.IPython.Message.UUID as U
...
@@ -26,7 +26,6 @@ import IHaskell.IPython.Message.UUID as U
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Common
import
IHaskell.Display.Widgets.Common
import
IHaskell.Display.Widgets.Layout.LayoutWidget
-- | An 'Link' represents a Link widget from IPython.html.widgets.
-- | An 'Link' represents a Link widget from IPython.html.widgets.
type
Link
=
IPythonWidget
'L
i
nkType
type
Link
=
IPythonWidget
'L
i
nkType
...
@@ -49,5 +48,13 @@ mkLink = do
...
@@ -49,5 +48,13 @@ mkLink = do
-- Return the link widget
-- Return the link widget
return
widget
return
widget
-- | An easier constructor that links two widgets
jslink
::
WidgetFieldPair
->
WidgetFieldPair
->
IO
Link
jslink
wfp1
wfp2
=
do
link
<-
mkLink
_
<-
setField
link
Source
wfp1
_
<-
setField
link
Target
wfp2
return
link
instance
IHaskellWidget
Link
where
instance
IHaskellWidget
Link
where
getCommUUID
=
uuid
getCommUUID
=
uuid
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Media/Audio.hs
View file @
1f772ccb
...
@@ -17,7 +17,6 @@ import Prelude
...
@@ -17,7 +17,6 @@ import Prelude
import
Data.Aeson
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
Data.Monoid
(
mempty
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Media/Image.hs
View file @
1f772ccb
...
@@ -17,7 +17,6 @@ import Prelude
...
@@ -17,7 +17,6 @@ import Prelude
import
Data.Aeson
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
Data.Monoid
(
mempty
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
...
@@ -40,9 +39,9 @@ mkImageWidget = do
...
@@ -40,9 +39,9 @@ mkImageWidget = do
let
mediaAttrs
=
defaultMediaWidget
"ImageView"
"ImageModel"
layout
let
mediaAttrs
=
defaultMediaWidget
"ImageView"
"ImageModel"
layout
imageAttrs
=
(
ImageFormat
=::
PNG
)
imageAttrs
=
(
ImageFormat
=::
PNG
)
:&
(
Width
=:+
0
)
:&
(
Width
=:+
0
)
:&
(
Height
=:+
0
)
:&
(
Height
=:+
0
)
:&
RNil
:&
RNil
widgetState
=
WidgetState
(
mediaAttrs
<+>
imageAttrs
)
widgetState
=
WidgetState
(
mediaAttrs
<+>
imageAttrs
)
stateIO
<-
newIORef
widgetState
stateIO
<-
newIORef
widgetState
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Media/Video.hs
View file @
1f772ccb
...
@@ -17,7 +17,6 @@ import Prelude
...
@@ -17,7 +17,6 @@ import Prelude
import
Data.Aeson
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
Data.Monoid
(
mempty
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Selection/Dropdown.hs
View file @
1f772ccb
...
@@ -19,7 +19,6 @@ import Control.Monad (void)
...
@@ -19,7 +19,6 @@ import Control.Monad (void)
import
Data.Aeson
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
qualified
Data.Scientific
as
Sci
import
qualified
Data.Scientific
as
Sci
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
import
IHaskell.Eval.Widgets
import
IHaskell.Eval.Widgets
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Singletons.hs
View file @
1f772ccb
...
@@ -16,9 +16,9 @@
...
@@ -16,9 +16,9 @@
{-# LANGUAGE StandaloneKindSignatures #-}
{-# LANGUAGE StandaloneKindSignatures #-}
#
endif
#
endif
module
IHaskell.Display.Widgets.Singletons
where
{-# OPTIONS_GHC -fno-warn-missing-signatures #-}
import
Data.Kind
module
IHaskell.Display.Widgets.Singletons
where
#
if
MIN_VERSION_singletons
(
3
,
0
,
0
)
#
if
MIN_VERSION_singletons
(
3
,
0
,
0
)
import
Data.Singletons.Base.TH
import
Data.Singletons.Base.TH
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/String/Password.hs
View file @
1f772ccb
...
@@ -18,7 +18,6 @@ import Prelude
...
@@ -18,7 +18,6 @@ import Prelude
import
Control.Monad
(
when
)
import
Control.Monad
(
when
)
import
Data.Aeson
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
import
IHaskell.Eval.Widgets
import
IHaskell.Eval.Widgets
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/String/Text.hs
View file @
1f772ccb
...
@@ -18,7 +18,6 @@ import Prelude
...
@@ -18,7 +18,6 @@ import Prelude
import
Control.Monad
(
when
)
import
Control.Monad
(
when
)
import
Data.Aeson
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
import
IHaskell.Eval.Widgets
import
IHaskell.Eval.Widgets
...
@@ -54,7 +53,7 @@ mkTextWidget = do
...
@@ -54,7 +53,7 @@ mkTextWidget = do
instance
IHaskellWidget
TextWidget
where
instance
IHaskellWidget
TextWidget
where
getCommUUID
=
uuid
getCommUUID
=
uuid
-- Two possibilities: 1. content -> event -> "submit" 2. s
ync_data
-> value -> <new_value>
-- Two possibilities: 1. content -> event -> "submit" 2. s
tate
-> value -> <new_value>
comm
tw
val
_
=
do
comm
tw
val
_
=
do
case
nestedObjectLookup
val
[
"state"
,
"value"
]
of
case
nestedObjectLookup
val
[
"state"
,
"value"
]
of
Just
(
String
value
)
->
setField'
tw
StringValue
value
>>
triggerChange
tw
Just
(
String
value
)
->
setField'
tw
StringValue
value
>>
triggerChange
tw
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Style/DescriptionStyle.hs
View file @
1f772ccb
...
@@ -17,14 +17,12 @@ import Prelude
...
@@ -17,14 +17,12 @@ import Prelude
import
Data.Aeson
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.IORef
(
newIORef
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Display
import
IHaskell.Eval.Widgets
import
IHaskell.Eval.Widgets
import
IHaskell.IPython.Message.UUID
as
U
import
IHaskell.IPython.Message.UUID
as
U
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Common
-- | A 'DescriptionStyle' represents a Button Style from IPython.html.widgets.
-- | A 'DescriptionStyle' represents a Button Style from IPython.html.widgets.
type
DescriptionStyle
=
IPythonWidget
'D
e
scriptionStyleType
type
DescriptionStyle
=
IPythonWidget
'D
e
scriptionStyleType
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Types.hs
View file @
1f772ccb
...
@@ -108,7 +108,7 @@ import Data.Text.Lazy.Encoding
...
@@ -108,7 +108,7 @@ import Data.Text.Lazy.Encoding
import
GHC.IO.Exception
import
GHC.IO.Exception
import
IHaskell.Eval.Widgets
(
widgetSendUpdate
,
widgetSendView
)
import
IHaskell.Eval.Widgets
(
widgetSendUpdate
,
widgetSendView
)
import
IHaskell.Display
(
Base64
,
IHaskellWidget
(
..
),
IHaskellDisplay
(
..
),
Display
(
..
),
widgetdisplay
,
base64
)
import
IHaskell.Display
(
IHaskellWidget
(
..
),
IHaskellDisplay
(
..
),
Display
(
..
),
widgetdisplay
,
base64
)
import
IHaskell.IPython.Message.UUID
import
IHaskell.IPython.Message.UUID
import
IHaskell.Display.Widgets.Singletons
(
Field
,
SField
,
toKey
,
HasKey
)
import
IHaskell.Display.Widgets.Singletons
(
Field
,
SField
,
toKey
,
HasKey
)
...
@@ -965,4 +965,13 @@ instance FromJSON Date where
...
@@ -965,4 +965,13 @@ instance FromJSON Date where
<*>
((
+
1
)
<$>
v
.:
"month"
)
<*>
((
+
1
)
<$>
v
.:
"month"
)
<*>
v
.:
"date"
<*>
v
.:
"date"
parseJSON
Null
=
pure
NullDate
parseJSON
Null
=
pure
NullDate
parseJSON
_
=
mzero
parseJSON
_
=
mzero
\ No newline at end of file
-- | Allows you to unlink a jslink
unlink
::
(
'S
.
Source
∈
WidgetFields
w
,
'S
.
Target
∈
WidgetFields
w
,
IHaskellWidget
(
IPythonWidget
w
))
=>
IPythonWidget
w
->
IO
(
IPythonWidget
w
)
unlink
w
=
do
_
<-
setField'
w
Source
EmptyWT
_
<-
setField'
w
Target
EmptyWT
return
w
\ No newline at end of file
src/IHaskell/Eval/Widgets.hs
View file @
1f772ccb
{-# language NoImplicitPrelude, DoAndIfThenElse, OverloadedStrings, ExtendedDefaultRules #-}
{-# language NoImplicitPrelude, DoAndIfThenElse, OverloadedStrings, ExtendedDefaultRules
, CPP
#-}
module
IHaskell.Eval.Widgets
(
module
IHaskell.Eval.Widgets
(
widgetSendOpen
,
widgetSendOpen
,
widgetSendView
,
widgetSendView
,
...
@@ -18,13 +18,11 @@ import Control.Concurrent.STM (atomically)
...
@@ -18,13 +18,11 @@ import Control.Concurrent.STM (atomically)
import
Control.Concurrent.STM.TChan
import
Control.Concurrent.STM.TChan
import
Control.Monad
(
foldM
)
import
Control.Monad
(
foldM
)
import
Data.Aeson
import
Data.Aeson
import
Data.Aeson.Types
(
emptyArray
)
import
Data.ByteString.Lazy
(
toStrict
)
import
Data.ByteString.Base64
as
B64
(
decodeLenient
)
import
Data.ByteString.Base64
as
B64
(
decodeLenient
)
import
qualified
Data.Map
as
Map
import
qualified
Data.Map
as
Map
import
Data.Text.Encoding
(
encodeUtf8
)
import
Data.Text.Encoding
(
encodeUtf8
)
import
Data.HashMap.Strict
as
HM
(
lookup
,
insert
,
delete
)
import
Data.HashMap.Strict
as
HM
(
lookup
,
insert
,
delete
)
import
Data.Functor
((
<&>
))
import
Data.Foldable
(
foldl
)
import
Data.Foldable
(
foldl
)
import
System.IO.Unsafe
(
unsafePerformIO
)
import
System.IO.Unsafe
(
unsafePerformIO
)
...
@@ -33,6 +31,14 @@ import IHaskell.Eval.Util (unfoldM)
...
@@ -33,6 +31,14 @@ import IHaskell.Eval.Util (unfoldM)
import
IHaskell.IPython.Types
(
showMessageType
)
import
IHaskell.IPython.Types
(
showMessageType
)
import
IHaskell.Types
import
IHaskell.Types
#
if
MIN_VERSION_base
(
4
,
11
,
0
)
import
Data.Functor
((
<&>
))
#
else
(
<&>
)
::
Functor
f
=>
f
a
->
(
a
->
b
)
->
f
b
a
<&>
f
=
fmap
f
a
infixl
1
<&>
#
endif
-- All comm_open messages go here
-- All comm_open messages go here
widgetMessages
::
TChan
WidgetMsg
widgetMessages
::
TChan
WidgetMsg
{-# NOINLINE widgetMessages #-}
{-# NOINLINE widgetMessages #-}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment