Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
purescript-gargantext
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
Grégoire Locqueville
purescript-gargantext
Commits
3b6bb6fe
Commit
3b6bb6fe
authored
Nov 24, 2021
by
arturo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Phylo] Memiescape (rc1.x)
* #219: debug with "vaccines by countries" input data
parent
a969007f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
58 additions
and
24 deletions
+58
-24
Phylo.purs
src/Gargantext/Components/Nodes/Corpus/Phylo.purs
+2
-2
JSON.purs
src/Gargantext/Components/PhyloExplorer/JSON.purs
+3
-1
Layout.purs
src/Gargantext/Components/PhyloExplorer/Layout.purs
+10
-6
Types.purs
src/Gargantext/Components/PhyloExplorer/Types.purs
+43
-15
No files found.
src/Gargantext/Components/Nodes/Corpus/Phylo.purs
View file @
3b6bb6fe
...
...
@@ -55,8 +55,8 @@ fetchPhyloJSON :: Aff (Either String PhyloDataSet)
fetchPhyloJSON =
let
-- @WIP remove dumb data
url = "http://localhost:5000/js/knowledge-phylomemy.json"
--
url = "http://localhost:5000/js/vaccines_countries_06_2021.json"
--
url = "http://localhost:5000/js/knowledge-phylomemy.json"
url = "http://localhost:5000/js/vaccines_countries_06_2021.json"
request = AX.defaultRequest
{ url = url
, method = Left GET
...
...
src/Gargantext/Components/PhyloExplorer/JSON.purs
View file @
3b6bb6fe
...
...
@@ -77,7 +77,9 @@ data RawObject
, lbl :: String
, penwidth :: String
, role :: String
, seaLvl :: String
-- @WIP: not in API; but present in certain data (eg. "Knowledge
-- visualisation")
, seaLvl :: Maybe String
, source :: String
, strFrom :: Maybe String
, strTo :: Maybe String
...
...
src/Gargantext/Components/PhyloExplorer/Layout.purs
View file @
3b6bb6fe
...
...
@@ -5,14 +5,15 @@ module Gargantext.Components.PhyloExplorer.Layout
import Gargantext.Prelude
import DOM.Simple (document, window)
import Data.
Array as Array
import Data.
Tuple.Nested ((/\))
import Gargantext.Components.PhyloExplorer.Draw (drawPhylo, highlightSource, setGlobalD3Reference, setGlobalDependencies, unhide)
import Gargantext.Components.PhyloExplorer.Types (PhyloDataSet(..))
import Gargantext.Components.PhyloExplorer.Types (PhyloDataSet(..)
, Source(..), sortSources
)
import Gargantext.Utils (nbsp)
import Gargantext.Utils.Reactix as R2
import Graphics.D3.Base (d3)
import Reactix as R
import Reactix.DOM.HTML as H
import Toestand as T
here :: R2.Here
here = R2.here "Gargantext.Components.PhyloExplorer"
...
...
@@ -28,7 +29,10 @@ layoutCpt = here.component "layout" cpt where
cpt { phyloDataSet: (PhyloDataSet o)
} _ = do
-- States
sources /\ sourcesBox <- R2.useBox' (mempty :: Array Source)
R.useEffectOnce' $ do
(sortSources >>> flip T.write_ sourcesBox) o.sources
unhide document o.name
setGlobalD3Reference window d3
setGlobalDependencies window (PhyloDataSet o)
...
...
@@ -108,11 +112,11 @@ layoutCpt = here.component "layout" cpt where
[ H.text "unselect source ✕" ]
]
<>
flip
Array.mapWithIndex o.
sources
( \
idx val
->
flip
map
sources
( \
(Source { id, label })
->
H.option
{ value: id
x
}
[ H.text
va
l ]
{ value: id }
[ H.text
labe
l ]
)
,
...
...
src/Gargantext/Components/PhyloExplorer/Types.purs
View file @
3b6bb6fe
module Gargantext.Components.PhyloExplorer.Types
( PhyloDataSet(..)
, parsePhyloJSONSet
, Branch(..), Period(..), Group(..)
, Link(..), AncestorLink(..), BranchLink(..)
, GlobalTerm(..)
, parsePhyloJSONSet
, Source(..)
, sortSources
) where
import Gargantext.Prelude
...
...
@@ -61,7 +63,8 @@ parsePhyloJSONSet (PhyloJSONSet o) = PhyloDataSet
, links
, name : o.name
, nbBranches : parseInt o.phyloBranches
, nbDocs : parseInt o.phyloDocs
-- @WIP remotely stringify as a Double instead of an Int (?)
, nbDocs : (parseFloat >>> parseInt') o.phyloDocs
, nbFoundations : parseInt o.phyloFoundations
, nbGroups : parseInt o.phyloGroups
, nbPeriods : parseInt o.phyloPeriods
...
...
@@ -217,7 +220,7 @@ parseLinks
, label : ""
, to : o.head
}
parse _ = Nothing
parse _
= Nothing
-----------------------------------------------------------
...
...
@@ -252,7 +255,7 @@ parseAncestorLinks
, label : ""
, to : o.head
}
parse _ = Nothing
parse _
= Nothing
-----------------------------------------------------------
...
...
@@ -276,14 +279,14 @@ parseBranchLinks
-- bc. BranchToGroup as 1-1 relation with "edgeType=branchLink"
filter :: RawEdge -> Boolean
filter (BranchToGroup o) = o.edgeType == "branchLink"
filter _
= false
filter _ = false
parse :: RawEdge -> Maybe BranchLink
parse (BranchToGroup o) = Just $ BranchLink
{ from : o.tail
, to : o.head
}
parse _ = Nothing
parse _
= Nothing
-----------------------------------------------------------
...
...
@@ -296,6 +299,40 @@ derive instance Generic GlobalTerm _
derive instance Eq GlobalTerm
instance Show GlobalTerm where show = genericShow
-----------------------------------------------------------
newtype Source = Source
{ label :: String
, id :: Int
}
derive instance Generic Source _
derive instance Eq Source
instance Show Source where show = genericShow
parseSources :: String -> Array String
parseSources
= String.replaceAll (String.Pattern "[") (String.Replacement "")
>>> String.replaceAll (String.Pattern "]") (String.Replacement "")
>>> String.replaceAll (String.Pattern "\"") (String.Replacement "")
>>> String.split (String.Pattern ",")
>>> Array.filter (\s -> not eq 0 $ String.length s)
-- @WIP: as some "Draw.js" business's methods still use `source` as an unsorted
-- `Array String`, we have to dissociate the parsing and sorting
-- computation (hence this second method to use for sorting purposes)
sortSources :: Array String -> Array Source
sortSources
= Array.mapWithIndex setSource
>>> Array.sortWith getLabel
where
setSource :: Int -> String -> Source
setSource id label = Source { id, label }
getLabel :: Source -> String
getLabel (Source { label }) = label
-----------------------------------------------------------
...
...
@@ -308,15 +345,6 @@ parseInt' n = maybe 0 identity $ Int.fromNumber n
parseFloat :: String -> Number
parseFloat s = maybe 0.0 identity $ Number.fromString s
parseSources :: String -> Array String
parseSources
= String.replace (String.Pattern "[") (String.Replacement "")
>>> String.replace (String.Pattern "]") (String.Replacement "")
>>> String.split (String.Pattern ",")
>>> Array.filter (\s -> not eq 0 $ String.length s)
>>> Array.sort
parseBB :: String -> Array Number
parseBB
= String.split (String.Pattern ",")
...
...
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