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
ebd92fc9
Commit
ebd92fc9
authored
Nov 30, 2021
by
Przemyslaw Kaminski
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into dev-node-calc-parser
parents
6e5b1704
b2d308ef
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
66 additions
and
30 deletions
+66
-30
package.json
package.json
+1
-1
FolderView.purs
src/Gargantext/Components/FolderView.purs
+2
-2
NgramsTable.purs
src/Gargantext/Components/NgramsTable.purs
+5
-3
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.
package.json
View file @
ebd92fc9
{
"name"
:
"Gargantext"
,
"version"
:
"0.0.4.8.
5
"
,
"version"
:
"0.0.4.8.
9
"
,
"scripts"
:
{
"generate-purs-packages-nix"
:
"./nix/generate-purs-packages.nix"
,
"generate-psc-packages-nix"
:
"./nix/generate-packages-json.bash"
,
...
...
src/Gargantext/Components/FolderView.purs
View file @
ebd92fc9
...
...
@@ -122,7 +122,7 @@ folderViewMainCpt = here.component "folderViewMainCpt" cpt where
makeParentFolder linkHandlers Nothing _ _ true = [ H.button {className: "btn btn-primary", on: { click: \_ -> linkHandlers.goToRoute Home}} [ H.i { className: "fa fa-folder-open" } []
, H.br {}
, H.text ".."] ]
makeParentFolder linkHandlers Nothing _ true _ = [ H.button {className: "btn btn-primary", on: { click: \_ -> linkHandlers.goToPreviousPage } } [ H.i { className: "fa fa-folder-open" } []
makeParentFolder linkHandlers Nothing _ true _ = [ H.button {className: "btn btn-primary", on: { click: \_ -> linkHandlers.goToPreviousPage
unit
} } [ H.i { className: "fa fa-folder-open" } []
, H.br {}
, H.text ".."] ]
makeParentFolder _ Nothing _ _ _ = []
...
...
@@ -249,7 +249,7 @@ backButtonCpt = R.hooksComponent "backButton" cpt where
pure $
H.button {
className: "btn btn-primary"
, on: { click: \_ -> goToPreviousPage }
, on: { click: \_ -> goToPreviousPage
unit
}
} [
H.i { className: "fa fa-arrow-left", title: "Previous view"} []
]
...
...
src/Gargantext/Components/NgramsTable.purs
View file @
ebd92fc9
...
...
@@ -126,6 +126,7 @@ tableContainerCpt { dispatch
R2.row [ H.div {className: "col-md-2", style: {marginTop: "6px"}}
[ H.div {} syncResetButton
, if A.null props.tableBody && searchQuery /= "" then
-- , if (not $ Set.member (normNgram tabNgramType searchQuery) ngramsSelection) && searchQuery /= "" then
H.li { className: "list-group-item" } [
H.button { className: "btn btn-primary"
, on: { click: const $ dispatch
...
...
@@ -202,9 +203,9 @@ tableContainerCpt { dispatch
setTermSizeFilter x = T.modify (_ { termSizeFilter = x }) path
setSelection = dispatch <<< setTermListSetA ngramsTableCache ngramsSelection
editor = H.div {} $ maybe []
f
ngramsParent
editor = H.div {} $ maybe []
edit
ngramsParent
where
f
ngrams = [ H.p {} [H.text $ "Editing " <> ngramsTermText ngrams]
edit
ngrams = [ H.p {} [H.text $ "Editing " <> ngramsTermText ngrams]
, NTC.renderNgramsTree { ngramsTable
, ngrams
, ngramsStyle: []
...
...
@@ -481,6 +482,7 @@ mkDispatch { filteredRows
pure unit
Just parent -> do
here.log2 "[performAction] AddTermChildren, parent" parent
here.log2 "[performAction] AddTermChildren, ngramsChildren" ngramsChildren
let pc = patchSetFromMap ngramsChildren
pe = NgramsPatch { patch_list: mempty, patch_children: pc }
pt = singletonNgramsTablePatch parent pe
...
...
@@ -494,7 +496,7 @@ mkDispatch { filteredRows
in
singletonNgramsTablePatch h pp
here.log2 "[performAction] pt with patchSetFromMap" $ pt <> ppt
commitPatch (pt
<> ppt
) state
commitPatch (pt
{-<> ppt-}
) state
performAction (CoreAction a) = coreDispatch path state a
...
...
src/Gargantext/Components/Nodes/Corpus/Phylo.purs
View file @
ebd92fc9
...
...
@@ -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 @
ebd92fc9
...
...
@@ -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 @
ebd92fc9
...
...
@@ -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 @
ebd92fc9
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