Commit c81b315a authored by Alexandre Delanoë's avatar Alexandre Delanoë

[GRAPH] Adding legend box (WIP)

parent 5cff20a1
...@@ -23,6 +23,11 @@ legendCpt = R.hooksComponent "Legend" cpt ...@@ -23,6 +23,11 @@ legendCpt = R.hooksComponent "Legend" cpt
entry :: Legend -> R.Element entry :: Legend -> R.Element
entry (Legend {id_, label}) = entry (Legend {id_, label}) =
RH.p {} RH.p {}
[ RH.span { style: { width: 10, height: 10, backgroundColor: intColor id_, display: "inline-block" } } [] [ RH.span { style: { width : 10
, height: 10
, backgroundColor: intColor id_
, display: "inline-block"
}
} []
, RH.text $ " " <> label , RH.text $ " " <> label
] ]
...@@ -14,7 +14,8 @@ import Data.Tuple.Nested ((/\)) ...@@ -14,7 +14,8 @@ import Data.Tuple.Nested ((/\))
import Effect (Effect) import Effect (Effect)
import Effect.Aff (Aff, launchAff_) import Effect.Aff (Aff, launchAff_)
import Effect.Class (liftEffect) import Effect.Class (liftEffect)
import Gargantext.Components.GraphExplorer.Types as GET import Gargantext.Components.GraphExplorer.Types as GET
import Gargantext.Components.GraphExplorer.Legend as Legend
import Gargantext.Components.NgramsTable.Core as NTC import Gargantext.Components.NgramsTable.Core as NTC
import Gargantext.Components.Nodes.Corpus.Graph.Tabs (tabs) as CGT import Gargantext.Components.Nodes.Corpus.Graph.Tabs (tabs) as CGT
import Gargantext.Components.RandomText (words) import Gargantext.Components.RandomText (words)
...@@ -30,16 +31,16 @@ import Reactix as R ...@@ -30,16 +31,16 @@ import Reactix as R
import Reactix.DOM.HTML as RH import Reactix.DOM.HTML as RH
type Props = type Props =
( frontends :: Frontends ( frontends :: Frontends
, graph :: SigmaxT.SGraph , graph :: SigmaxT.SGraph
, graphId :: Int , graphId :: Int
, graphVersion :: R.State Int , graphVersion :: R.State Int
, metaData :: GET.MetaData , metaData :: GET.MetaData
, removedNodeIds :: R.State SigmaxT.NodeIds , removedNodeIds :: R.State SigmaxT.NodeIds
, selectedNodeIds :: R.State SigmaxT.NodeIds , selectedNodeIds :: R.State SigmaxT.NodeIds
, session :: Session , session :: Session
, showSidePanel :: GET.SidePanelState , showSidePanel :: GET.SidePanelState
, treeReload :: R.State Int , treeReload :: R.State Int
) )
sidebar :: Record Props -> R.Element sidebar :: Record Props -> R.Element
...@@ -52,9 +53,8 @@ sidebarCpt = R.hooksComponent "Sidebar" cpt ...@@ -52,9 +53,8 @@ sidebarCpt = R.hooksComponent "Sidebar" cpt
pure $ RH.div {} [] pure $ RH.div {} []
cpt {showSidePanel: GET.InitialClosed} _children = do cpt {showSidePanel: GET.InitialClosed} _children = do
pure $ RH.div {} [] pure $ RH.div {} []
cpt props _children = do cpt props@{metaData} _children = do
let nodesMap = SigmaxT.nodesGraphMap props.graph let nodesMap = SigmaxT.nodesGraphMap props.graph
pure $ pure $
RH.div { id: "sp-container" } RH.div { id: "sp-container" }
[ RH.div {} [ RH.div {}
...@@ -70,15 +70,31 @@ sidebarCpt = R.hooksComponent "Sidebar" cpt ...@@ -70,15 +70,31 @@ sidebarCpt = R.hooksComponent "Sidebar" cpt
removeButton "Remove candidate" CandidateTerm props nodesMap removeButton "Remove candidate" CandidateTerm props nodesMap
, removeButton "Remove stop" StopTerm props nodesMap , removeButton "Remove stop" StopTerm props nodesMap
] ]
, RH.li { className: "nav-item" }
[ RH.a { id: "home-tab"
, className: "nav-link active"
, data: {toggle: "tab"}
, href: "#legend"
, role: "tab"
, aria: {controls: "legend", selected: "true"}
}
[ RH.text "Legend" ]
, let (GET.MetaData {legend}) = metaData
in Legend.legend { items: Seq.fromFoldable legend}
]
, RH.li { className: "nav-item" } , RH.li { className: "nav-item" }
[ RH.a { id: "home-tab" [ RH.a { id: "home-tab"
, className: "nav-link active" , className: "nav-link active"
, data: {toggle: "tab"} , data: {toggle: "tab"}
, href: "#home" , href: "#nodes"
, role: "tab" , role: "tab"
, aria: {controls: "home", selected: "true"} , aria: {controls: "nodes", selected: "false"}
} }
[ RH.text "Neighbours" ] [ RH.text "Nodes" ]
, RH.div { className: "col-md-12", id: "query" }
[ query props.frontends props.metaData props.session nodesMap props.selectedNodeIds]
] ]
] ]
, RH.div { className: "tab-content", id: "myTabContent" } , RH.div { className: "tab-content", id: "myTabContent" }
...@@ -95,10 +111,6 @@ sidebarCpt = R.hooksComponent "Sidebar" cpt ...@@ -95,10 +111,6 @@ sidebarCpt = R.hooksComponent "Sidebar" cpt
] ]
] ]
-} -}
, RH.div { className: "col-md-12", id: "query" }
[
query props.frontends props.metaData props.session nodesMap props.selectedNodeIds
]
] ]
] ]
] ]
...@@ -126,7 +138,7 @@ sidebarCpt = R.hooksComponent "Sidebar" cpt ...@@ -126,7 +138,7 @@ sidebarCpt = R.hooksComponent "Sidebar" cpt
, session: props.session , session: props.session
, termList: rType , termList: rType
, treeReload: props.treeReload } , treeReload: props.treeReload }
snd props.removedNodeIds $ const $ fst props.selectedNodeIds snd props.removedNodeIds $ const $ fst props.selectedNodeIds
snd props.selectedNodeIds $ const SigmaxT.emptyNodeIds snd props.selectedNodeIds $ const SigmaxT.emptyNodeIds
...@@ -148,8 +160,7 @@ neighbourBadges graph (selectedNodeIds /\ _) = SigmaxT.neighbours graph selected ...@@ -148,8 +160,7 @@ neighbourBadges graph (selectedNodeIds /\ _) = SigmaxT.neighbours graph selected
selectedNodes = SigmaxT.graphNodes $ SigmaxT.nodesById graph selectedNodeIds selectedNodes = SigmaxT.graphNodes $ SigmaxT.nodesById graph selectedNodeIds
type DeleteNodes = type DeleteNodes =
( ( graphId :: Int
graphId :: Int
, metaData :: GET.MetaData , metaData :: GET.MetaData
, nodes :: Array (Record SigmaxT.Node) , nodes :: Array (Record SigmaxT.Node)
, session :: Session , session :: Session
......
...@@ -58,14 +58,12 @@ derive instance newtypeGraphData :: Newtype GraphData _ ...@@ -58,14 +58,12 @@ derive instance newtypeGraphData :: Newtype GraphData _
newtype MetaData = MetaData newtype MetaData = MetaData
{ { title :: String
title :: String , legend :: Array Legend
, legend :: Array Legend
, corpusId :: Array Int , corpusId :: Array Int
, list :: { , list :: { listId :: ListId
listId :: ListId , version :: Version
, version :: Version }
}
} }
getLegend :: GraphData -> Maybe (Array Legend) getLegend :: GraphData -> Maybe (Array Legend)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment