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
142
Issues
142
List
Board
Labels
Milestones
Merge Requests
4
Merge Requests
4
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
purescript-gargantext
Commits
bbb3350a
Commit
bbb3350a
authored
Mar 08, 2021
by
James Laver
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
more twiddling
parent
21533aa5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
127 additions
and
138 deletions
+127
-138
GraphExplorer.purs
src/Gargantext/Components/GraphExplorer.purs
+16
-17
Router.purs
src/Gargantext/Components/Router.purs
+111
-121
No files found.
src/Gargantext/Components/GraphExplorer.purs
View file @
bbb3350a
...
@@ -50,7 +50,7 @@ type LayoutProps = (
...
@@ -50,7 +50,7 @@ type LayoutProps = (
, graphId :: GET.GraphId
, graphId :: GET.GraphId
, handed :: T.Cursor Types.Handed
, handed :: T.Cursor Types.Handed
, route :: T.Cursor AppRoute
, route :: T.Cursor AppRoute
, session :: Session
, session ::
R.Context
Session
, sessions :: T.Cursor Sessions
, sessions :: T.Cursor Sessions
, showLogin :: T.Cursor Boolean
, showLogin :: T.Cursor Boolean
, tasks :: T.Cursor (Maybe GAT.Reductor)
, tasks :: T.Cursor (Maybe GAT.Reductor)
...
@@ -69,24 +69,23 @@ explorerLayout :: Record LayoutProps -> R.Element
...
@@ -69,24 +69,23 @@ explorerLayout :: Record LayoutProps -> R.Element
explorerLayout props = R.createElement explorerLayoutCpt props []
explorerLayout props = R.createElement explorerLayoutCpt props []
explorerLayoutCpt :: R.Component LayoutProps
explorerLayoutCpt :: R.Component LayoutProps
explorerLayoutCpt = here.component "explorerLayout" cpt
explorerLayoutCpt = here.component "explorerLayout" cpt
where
where
cpt props _ = do
cpt props _ = do
graphVersion <- GUR.new
graphVersion <- GUR.new
session <- R.useContext props.session -- todo: ugh, props fiddling
pure $ explorerLayoutView graphVersion props
pure $ explorerLayoutView graphVersion props
explorerLayoutView :: GUR.ReloadS -> Record LayoutProps -> R.Element
explorerLayoutView :: GUR.ReloadS -> Record LayoutProps -> R.Element
explorerLayoutView graphVersion p = R.createElement el p []
explorerLayoutView graphVersion p = R.createElement el p [] where
where
el = here.component "explorerLayoutView" cpt
el = here.component "explorerLayoutView" cpt
cpt props@{ graphId, session } _ = do
cpt props@{ graphId, session } _ = do
useLoader graphId (getNodes session graphVersion) handler
useLoader graphId (getNodes session graphVersion) handler
where
where
handler loaded =
handler loaded =
explorer (Record.merge props { graph, graphVersion, hyperdataGraph: loaded, mMetaData })
explorer (Record.merge props { graph, graphVersion, hyperdataGraph: loaded, mMetaData })
where
where
GET.HyperdataGraph { graph: hyperdataGraph } = loaded
GET.HyperdataGraph { graph: hyperdataGraph } = loaded
Tuple mMetaData graph = convert hyperdataGraph
Tuple mMetaData graph = convert hyperdataGraph
--------------------------------------------------------------
--------------------------------------------------------------
explorer :: Record Props -> R.Element
explorer :: Record Props -> R.Element
...
...
src/Gargantext/Components/Router.purs
View file @
bbb3350a
module Gargantext.Components.Router (router) where
module Gargantext.Components.Router (router) where
import Data.Array (fromFoldable)
import Data.Array (fromFoldable)
import Data.Maybe (Maybe(..), maybe')
import Data.Maybe (Maybe(..))
import Prim.Row (class Cons, class Lacks)
import Reactix as R
import Reactix as R
import Record as Record
import Record as Record
import Record.Extra as RE
import Record.Extra as RE
...
@@ -14,7 +13,7 @@ import Gargantext.Prelude
...
@@ -14,7 +13,7 @@ import Gargantext.Prelude
import Gargantext.AsyncTasks as GAT
import Gargantext.AsyncTasks as GAT
import Gargantext.Components.App.Data (Cursors)
import Gargantext.Components.App.Data (Cursors)
import Gargantext.Components.Footer (footer)
import Gargantext.Components.Footer (footer)
import Gargantext.Components.Forest (forestLayout
, forestLayoutWithTopBar
)
import Gargantext.Components.Forest (forestLayout)
import Gargantext.Components.GraphExplorer (explorerLayout)
import Gargantext.Components.GraphExplorer (explorerLayout)
import Gargantext.Components.Lang (LandingLang(LL_EN))
import Gargantext.Components.Lang (LandingLang(LL_EN))
import Gargantext.Components.Login (login)
import Gargantext.Components.Login (login)
...
@@ -31,12 +30,12 @@ import Gargantext.Components.Nodes.Lists as Lists
...
@@ -31,12 +30,12 @@ import Gargantext.Components.Nodes.Lists as Lists
import Gargantext.Components.Nodes.Texts as Texts
import Gargantext.Components.Nodes.Texts as Texts
import Gargantext.Components.SessionLoader (sessionWrapper)
import Gargantext.Components.SessionLoader (sessionWrapper)
import Gargantext.Components.SimpleLayout (simpleLayout)
import Gargantext.Components.SimpleLayout (simpleLayout)
import Gargantext.Config (defaultFrontends, defaultBackends
, publicBackend
)
import Gargantext.Config (defaultFrontends, defaultBackends)
import Gargantext.Ends (Backend)
import Gargantext.Ends (Backend)
import Gargantext.Routes (AppRoute
(..)
)
import Gargantext.Routes (AppRoute)
import Gargantext.Routes as GR
import Gargantext.Routes as GR
import Gargantext.Sessions (Session)
import Gargantext.Sessions (Session)
import Gargantext.Types (CorpusId, ListId, NodeID, NodeType(..), SessionId
(..)
)
import Gargantext.Types (CorpusId, ListId, NodeID, NodeType(..), SessionId)
import Gargantext.Utils.Reactix as R2
import Gargantext.Utils.Reactix as R2
import Gargantext.Utils.Toestand as T2
import Gargantext.Utils.Toestand as T2
...
@@ -139,92 +138,91 @@ corpusCpt = here.component "corpus" cpt where
...
@@ -139,92 +138,91 @@ corpusCpt = here.component "corpus" cpt where
cpt props@{ cursors, nodeId, session, tasks } _ = do
cpt props@{ cursors, nodeId, session, tasks } _ = do
let sessionProps = RE.pick props :: Record SessionProps
let sessionProps = RE.pick props :: Record SessionProps
pure $ authed sessionProps $
pure $ authed sessionProps $
forested
props
[ corpusLayout { nodeId, session } ]
forested
{ cursors, tasks }
[ corpusLayout { nodeId, session } ]
type CorpusDocumentProps =
(
type CorpusDocumentProps =
corpusId :: CorpusId
(
corpusId :: CorpusId
, listID :: ListId
, listID :: ListId
| SessionNodeProps
| SessionNodeProps
)
)
corpusDocument :: R2.Component CorpusDocumentProps
corpusDocument :: R2.Component CorpusDocumentProps
corpusDocument = R.createElement corpusDocumentCpt
corpusDocument = R.createElement corpusDocumentCpt
corpusDocumentCpt :: R.Component CorpusDocumentProps
corpusDocumentCpt :: R.Component CorpusDocumentProps
corpusDocumentCpt = here.component "corpusDocument" cpt
corpusDocumentCpt = here.component "corpusDocument" cpt
where
where
cpt props@{ c
orpusId: corpusId', listId
, nodeId, session, sessionId, tasks } _ = do
cpt props@{ c
ursors, corpusId: corpusId', listID
, nodeId, session, sessionId, tasks } _ = do
let sessionProps = RE.pick props :: Record SessionProps
let sessionProps = RE.pick props :: Record SessionProps
pure $ authed sessionProps $
pure $ authed sessionProps $
forested
props
forested
{ cursors, tasks }
[ documentMainLayout {
corpusId', listId, nodeId, session, sessionId
} [] ]
[ documentMainLayout {
mCorpusId: corpusId, listId: listID, nodeId, session
} [] ]
where corpusId = Just corpusId'
where corpusId = Just corpusId'
dashboard :: R2.Component SessionNodeProps
dashboard :: R2.Component SessionNodeProps
dashboard = R.createElement dashboardCpt
dashboard = R.createElement dashboardCpt
dashboardCpt :: R.Component SessionNodeProps
dashboardCpt :: R.Component SessionNodeProps
dashboardCpt = here.component "dashboard" cpt
dashboardCpt = here.component "dashboard" cpt
where
where
cpt props@{ cursors
: session
, nodeId, session, tasks } _ = do
cpt props@{ cursors, nodeId, session, tasks } _ = do
let sessionProps = RE.pick props :: Record SessionProps
let sessionProps = RE.pick props :: Record SessionProps
pure $ authed sessionProps $
pure $ authed sessionProps $
forested
props
[ dashboardLayout { nodeId, session } [] ]
forested
{ cursors, tasks }
[ dashboardLayout { nodeId, session } [] ]
type DocumentProps = (
type DocumentProps = ( listId :: ListId | SessionNodeProps )
listId :: ListId
| SessionNodeProps
)
document :: R2.Component DocumentProps
document :: R2.Component DocumentProps
document = R.createElement documentCpt
document = R.createElement documentCpt
documentCpt :: R.Component DocumentProps
documentCpt :: R.Component DocumentProps
documentCpt = here.component "document" cpt
documentCpt = here.component "document" cpt where
where
cpt props@{ listId, nodeId, session, sessionId, tasks, cursors } _ = do
cpt props@{ listId, nodeId, session, sessionId, tasks } _ = do
let sessionProps = RE.pick props :: Record SessionProps
let sessionProps = RE.pick props :: Record SessionProps
pure $ authed sessionProps $
pure $ authed sessionProps $
forested { cursors, tasks }
forested props
[ documentMainLayout { listId, nodeId, mCorpusId, session } [] ]
[ documentMainLayout { listId, nodeId, corpusId, session } [] ]
where mCorpusId = Nothing
where corpusId = Nothing
home :: R2.Component Props
home :: R2.Component Props
home = R.createElement homeCpt
home = R.createElement homeCpt
homeCpt :: R.Component Props
homeCpt :: R.Component Props
homeCpt = here.component "home" cpt
homeCpt = here.component "home" cpt where
where
cpt props@{ cursors: cursors@{ sessions, showLogin }, tasks } _ = do
cpt props@{ cursors: { sessions, showLogin } } _ = do
pure $ forested { cursors, tasks } [ homeLayout { lang: LL_EN, sessions, showLogin } ]
pure $ forested props [ homeLayout { lang: LL_EN, sessions, showLogin } ]
lists :: R2.Component SessionNodeProps
lists :: R2.Component SessionNodeProps
lists = R.createElement listsCpt
lists = R.createElement listsCpt
listsCpt :: R.Component SessionNodeProps
listsCpt :: R.Component SessionNodeProps
listsCpt = here.component "lists" cpt
listsCpt = here.component "lists" cpt where
where
cpt props@{ cursors: { backend
cpt props@{ cursors: { backend
, handed
, reloadForest
, reloadRoot
, route
, sessions
, showLogin }
, nodeId
, session
, sessionId
, tasks } _ = do
let sessionProps = RE.pick props :: Record SessionProps
pure $ authed sessionProps $
Lists.listsWithForest
{ forestProps: { backend
, frontends
, handed
, handed
, reloadForest
, reloadForest
, reloadRoot
, reloadRoot
, route
, route
, sessions
, sessions
, showLogin
, showLogin }
, tasks }
, nodeId
, listsProps: { nodeId, reloadRoot, reloadForest, session, tasks }
, session
} []
, sessionId
where frontends = defaultFrontends
, tasks } _ = do
let sessionProps = RE.pick props :: Record SessionProps
pure $ authed sessionProps $
Lists.listsWithForest
{ forestProps: { backend
, frontends
, handed
, reloadForest
, reloadRoot
, route
, sessions
, showLogin
, tasks }
, listsProps: { nodeId, reloadRoot, reloadForest, session, tasks }
} []
where frontends = defaultFrontends
login' :: Cursors -> R.Element
login' :: Cursors -> R.Element
login' { backend, sessions, showLogin: visible } =
login' { backend, sessions, showLogin: visible } =
...
@@ -233,39 +231,40 @@ login' { backend, sessions, showLogin: visible } =
...
@@ -233,39 +231,40 @@ login' { backend, sessions, showLogin: visible } =
graphExplorer :: R2.Component SessionNodeProps
graphExplorer :: R2.Component SessionNodeProps
graphExplorer = R.createElement graphExplorerCpt
graphExplorer = R.createElement graphExplorerCpt
graphExplorerCpt :: R.Component SessionNodeProps
graphExplorerCpt :: R.Component SessionNodeProps
graphExplorerCpt = here.component "graphExplorer" cpt
graphExplorerCpt = here.component "graphExplorer" cpt where
where
cpt props@{ cursors: { backend
cpt props@{ cursors: { backend
, handed
, handed
, route
, route
, sessions
, sessions
, showLogin }
, showLogin }
, nodeId
, nodeId
, session
, session
, tasks } _ = do
, tasks } _ = do
let sessionProps = RE.pick props :: Record SessionProps
let sessionProps = RE.pick props :: Record SessionProps
pure $ authed sessionProps $
pure $ authed sessionProps $
simpleLayout { handed }
simpleLayout { handed }
[ explorerLayout { backend
[ explorerLayout { backend
, graphId: nodeId
, graphId: nodeId
, frontends
, frontends
, handed
, handed
, route
, route
, session
, session
, sessions
, sessions
, showLogin
, showLogin
, tasks } ]
, tasks } ]
where frontends = defaultFrontends
where frontends = defaultFrontends
routeFile :: R2.Component SessionNodeProps
routeFile :: R2.Component SessionNodeProps
routeFile = R.createElement routeFileCpt
routeFile = R.createElement routeFileCpt
routeFileCpt :: R.Component SessionNodeProps
routeFileCpt :: R.Component SessionNodeProps
routeFileCpt = here.component "routeFile" cpt
routeFileCpt = here.component "routeFile" cpt
where
where
cpt props@{ nodeId, session, sessionId, cursors, tasks } _ = do
cpt props@{ nodeId, session, sessionId } _ = do
let sessionProps = RE.pick props :: Record SessionProps
let sessionProps = RE.pick props :: Record SessionProps
pure $ authed sessionProps $
pure $ authed sessionProps $ forested props
[ fileLayout { nodeId, session } ]
forested { cursors, tasks }
[ fileLayout { nodeId, session } ]
type RouteFrameProps = (
type RouteFrameProps = (
nodeType :: NodeType
nodeType :: NodeType
...
@@ -274,24 +273,25 @@ type RouteFrameProps = (
...
@@ -274,24 +273,25 @@ type RouteFrameProps = (
routeFrame :: R2.Component RouteFrameProps
routeFrame :: R2.Component RouteFrameProps
routeFrame = R.createElement routeFrameCpt
routeFrame = R.createElement routeFrameCpt
routeFrameCpt :: R.Component RouteFrameProps
routeFrameCpt :: R.Component RouteFrameProps
routeFrameCpt = here.component "routeFrame" cpt
routeFrameCpt = here.component "routeFrame" cpt where
where
cpt props@{ nodeId, nodeType, session, sessionId, cursors, tasks } _ = do
cpt props@{ nodeId, nodeType, session, sessionId } _ = do
let sessionProps = RE.pick props :: Record SessionProps
let sessionProps = RE.pick props :: Record SessionProps
pure $ authed sessionProps $ forested { cursors, tasks } [ frameLayout { nodeId, nodeType, session } ]
pure $ authed sessionProps $ forested props [ frameLayout { nodeId, nodeType, session } ]
team :: R2.Component SessionNodeProps
team :: R2.Component SessionNodeProps
team = R.createElement teamCpt
team = R.createElement teamCpt
teamCpt :: R.Component SessionNodeProps
teamCpt :: R.Component SessionNodeProps
teamCpt = here.component "team" cpt
teamCpt = here.component "team" cpt where
where
cpt props@{ nodeId, session, sessionId, cursors, tasks } _ = do
cpt props@{ nodeId, session, sessionId } _ = do
let sessionProps = RE.pick props :: Record SessionProps
let sessionProps = RE.pick props :: Record SessionProps
pure $ authed sessionProps $ forested { cursors, tasks } [ corpusLayout { nodeId, session } ]
pure $ authed sessionProps $ forested props [ corpusLayout { nodeId, session } ]
texts :: R2.Component SessionNodeProps
texts :: R2.Component SessionNodeProps
texts = R.createElement textsCpt
texts = R.createElement textsCpt
textsCpt :: R.Component SessionNodeProps
textsCpt :: R.Component SessionNodeProps
textsCpt = here.component "texts" cpt
textsCpt = here.component "texts" cpt
where
where
...
@@ -323,39 +323,29 @@ textsCpt = here.component "texts" cpt
...
@@ -323,39 +323,29 @@ textsCpt = here.component "texts" cpt
user :: R2.Component SessionNodeProps
user :: R2.Component SessionNodeProps
user = R.createElement userCpt
user = R.createElement userCpt
userCpt :: R.Component SessionNodeProps
userCpt :: R.Component SessionNodeProps
userCpt = here.component "user" cpt
userCpt = here.component "user" cpt where
where
cpt props@{ cursors: cursors@{ reloadRoot }
cpt props@{ cursors: { reloadRoot }
, nodeId, session, sessionId, tasks } _ = do
, nodeId
let sessionProps = RE.pick props :: Record SessionProps
, session
pure $ authed sessionProps $
, sessionId
forested { cursors, tasks }
, tasks } _ = do
[ userLayout { frontends, nodeId, reloadRoot, session, tasks } ]
let sessionProps = RE.pick props :: Record SessionProps
where frontends = defaultFrontends
pure $ authed sessionProps $
forested props
[ userLayout { frontends, nodeId, reloadRoot, session, tasks } ]
where frontends = defaultFrontends
type ContactProps = (
type ContactProps = ( annuaireId :: NodeID | SessionNodeProps )
annuaireId :: NodeID
| SessionNodeProps
)
contact :: R2.Component ContactProps
contact :: R2.Component ContactProps
contact = R.createElement contactCpt
contact = R.createElement contactCpt
contactCpt :: R.Component ContactProps
contactCpt :: R.Component ContactProps
contactCpt = here.component "contact" cpt
contactCpt = here.component "contact" cpt where
where
cpt props@{ annuaireId, nodeId, session, sessionId, tasks
cpt props@{ annuaireId
, cursors: { reloadForest, reloadRoot } } _ = do
, cursors: { reloadForest, reloadRoot }
let sessionProps = RE.pick props :: Record SessionProps
, nodeId
let forestedProps = RE.pick props :: Record Props
, session
pure $ authed sessionProps $
, sessionId
forested forestedProps
, tasks } _ = do
[ contactLayout { annuaireId, frontends, nodeId, reloadForest, reloadRoot, session, tasks } [] ]
let sessionProps = RE.pick props :: Record SessionProps
where frontends = defaultFrontends
let forestedProps = RE.pick props :: Record Props
pure $ authed sessionProps $
forested forestedProps
[ contactLayout { annuaireId, frontends, nodeId, reloadForest, reloadRoot, session, tasks } [] ]
where frontends = defaultFrontends
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