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
-- The singletons package version is locked to the compiler
-- so let cabal choose the right one.
, singletons
>= 2.6
, singletons
-any
if impl (ghc >= 9.0)
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
import
IHaskell.Display.Widgets.Types
as
X
(
setField
,
getField
,
properties
,
triggerDisplay
,
triggerChange
,
triggerClick
,
triggerSelection
,
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
import
IHaskell.Display.Widgets.Common
import
IHaskell.Display.Widgets.Style.ButtonStyle
import
IHaskell.Display.Widgets.Layout.LayoutWidget
import
IHaskell.Display.Widgets.Style.DescriptionStyle
-- | A 'Button' represents a Button from IPython.html.widgets.
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)
import
Data.Aeson
import
Data.Aeson.Types
(
parse
)
import
Data.Text
(
Text
)
import
Data.IORef
(
newIORef
)
import
Data.Maybe
(
fromJust
,
isJust
)
import
qualified
Data.Scientific
as
Sci
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Eval.Widgets
import
IHaskell.IPython.Message.UUID
as
U
import
IHaskell.Display.Widgets.Singletons
(
Field
,
SField
)
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Common
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
-- To keep `cabal repl` happy when running from the ihaskell repo
import
Prelude
import
Control.Monad
(
void
)
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
qualified
Data.Scientific
as
Sci
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
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
-- To keep `cabal repl` happy when running from the ihaskell repo
import
Prelude
import
Control.Monad
(
void
)
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
qualified
Data.Scientific
as
Sci
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Layout/Common.hs
View file @
1f772ccb
...
...
@@ -13,15 +13,6 @@
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
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
-- To keep `cabal repl` happy when running from the ihaskell repo
import
Prelude
import
Control.Monad
(
void
)
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Eval.Widgets
...
...
@@ -27,7 +24,6 @@ import IHaskell.IPython.Message.UUID as U
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Layout.Types
import
IHaskell.Display.Widgets.Layout.Common
-- | A 'Layout' represents a Layout from IPython.html.widgets.
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)
import
Control.Monad
(
unless
)
import
qualified
Control.Exception
as
Ex
import
Data.Aeson
hiding
(
pairs
)
import
Data.List
(
intercalate
)
import
Data.Typeable
(
Typeable
,
TypeRep
,
typeOf
)
#
if
MIN_VERSION_vinyl
(
0
,
9
,
0
)
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
Data.Vinyl
(
Rec
(
..
))
import
qualified
IHaskell.Display.Widgets.Singletons
as
S
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
DirectionalLink
-- * Constructor
,
mkDirectionalLink
-- * Another constructor
,
jsdlink
)
where
-- To keep `cabal repl` happy when running from the ihaskell repo
...
...
@@ -17,8 +19,6 @@ import Prelude
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.Monoid
(
mempty
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Eval.Widgets
...
...
@@ -26,7 +26,6 @@ import IHaskell.IPython.Message.UUID as U
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Common
import
IHaskell.Display.Widgets.Layout.LayoutWidget
-- | An 'DirectionalLink' represents a DirectionalLink widget from IPython.html.widgets.
type
DirectionalLink
=
IPythonWidget
'D
i
rectionalLinkType
...
...
@@ -49,5 +48,13 @@ mkDirectionalLink = do
-- Return the DirectionalLink 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
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
Link
-- * Constructor
,
mkLink
-- * Easier constructor
,
jslink
)
where
-- To keep `cabal repl` happy when running from the ihaskell repo
...
...
@@ -17,8 +19,6 @@ import Prelude
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.Monoid
(
mempty
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Eval.Widgets
...
...
@@ -26,7 +26,6 @@ import IHaskell.IPython.Message.UUID as U
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Common
import
IHaskell.Display.Widgets.Layout.LayoutWidget
-- | An 'Link' represents a Link widget from IPython.html.widgets.
type
Link
=
IPythonWidget
'L
i
nkType
...
...
@@ -49,5 +48,13 @@ mkLink = do
-- Return the link 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
getCommUUID
=
uuid
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Media/Audio.hs
View file @
1f772ccb
...
...
@@ -17,7 +17,6 @@ import Prelude
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.Monoid
(
mempty
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Media/Image.hs
View file @
1f772ccb
...
...
@@ -17,7 +17,6 @@ import Prelude
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.Monoid
(
mempty
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
...
...
@@ -40,9 +39,9 @@ mkImageWidget = do
let
mediaAttrs
=
defaultMediaWidget
"ImageView"
"ImageModel"
layout
imageAttrs
=
(
ImageFormat
=::
PNG
)
:&
(
Width
=:+
0
)
:&
(
Height
=:+
0
)
:&
RNil
:&
(
Width
=:+
0
)
:&
(
Height
=:+
0
)
:&
RNil
widgetState
=
WidgetState
(
mediaAttrs
<+>
imageAttrs
)
stateIO
<-
newIORef
widgetState
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Media/Video.hs
View file @
1f772ccb
...
...
@@ -17,7 +17,6 @@ import Prelude
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.Monoid
(
mempty
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
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)
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
qualified
Data.Scientific
as
Sci
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Eval.Widgets
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/Singletons.hs
View file @
1f772ccb
...
...
@@ -16,9 +16,9 @@
{-# LANGUAGE StandaloneKindSignatures #-}
#
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
)
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
import
Control.Monad
(
when
)
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Eval.Widgets
...
...
ihaskell-display/ihaskell-widgets/src/IHaskell/Display/Widgets/String/Text.hs
View file @
1f772ccb
...
...
@@ -18,7 +18,6 @@ import Prelude
import
Control.Monad
(
when
)
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Eval.Widgets
...
...
@@ -54,7 +53,7 @@ mkTextWidget = do
instance
IHaskellWidget
TextWidget
where
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
case
nestedObjectLookup
val
[
"state"
,
"value"
]
of
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
import
Data.Aeson
import
Data.IORef
(
newIORef
)
import
Data.Vinyl
(
Rec
(
..
),
(
<+>
))
import
IHaskell.Display
import
IHaskell.Eval.Widgets
import
IHaskell.IPython.Message.UUID
as
U
import
IHaskell.Display.Widgets.Types
import
IHaskell.Display.Widgets.Common
-- | A 'DescriptionStyle' represents a Button Style from IPython.html.widgets.
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
import
GHC.IO.Exception
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.Display.Widgets.Singletons
(
Field
,
SField
,
toKey
,
HasKey
)
...
...
@@ -965,4 +965,13 @@ instance FromJSON Date where
<*>
((
+
1
)
<$>
v
.:
"month"
)
<*>
v
.:
"date"
parseJSON
Null
=
pure
NullDate
parseJSON
_
=
mzero
\ No newline at end of file
parseJSON
_
=
mzero
-- | 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
(
widgetSendOpen
,
widgetSendView
,
...
...
@@ -18,13 +18,11 @@ import Control.Concurrent.STM (atomically)
import
Control.Concurrent.STM.TChan
import
Control.Monad
(
foldM
)
import
Data.Aeson
import
Data.Aeson.Types
(
emptyArray
)
import
Data.ByteString.Lazy
(
toStrict
)
import
Data.ByteString.Base64
as
B64
(
decodeLenient
)
import
qualified
Data.Map
as
Map
import
Data.Text.Encoding
(
encodeUtf8
)
import
Data.HashMap.Strict
as
HM
(
lookup
,
insert
,
delete
)
import
Data.Functor
((
<&>
))
import
Data.Foldable
(
foldl
)
import
System.IO.Unsafe
(
unsafePerformIO
)
...
...
@@ -33,6 +31,14 @@ import IHaskell.Eval.Util (unfoldM)
import
IHaskell.IPython.Types
(
showMessageType
)
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
widgetMessages
::
TChan
WidgetMsg
{-# 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