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

[Merge]

parents e275bde5 83b79870
...@@ -168,26 +168,31 @@ topBarCpt = R.hooksComponent "G.C.A.topBar" cpt ...@@ -168,26 +168,31 @@ topBarCpt = R.hooksComponent "G.C.A.topBar" cpt
, role: "navigation" , role: "navigation"
, className: "navbar navbar-inverse navbar-fixed-top" } , className: "navbar navbar-inverse navbar-fixed-top" }
[ H.div { className: "container-fluid" } [ H.div { className: "container-fluid" }
[ H.div { className: "navbar-inner" } [ H.div { className: "navbar-inner" }
[ logo [ logo (fst handed)
, H.div { className: "collapse navbar-collapse" } , H.div { className: "collapse navbar-collapse" <> navHanded}
[ H.ul { className: "nav navbar-nav" } [divDropdownLeft] $ sortHanded
, H.ul { title: "If you are Left Handed you can change " [ H.ul { className: "nav navbar-nav" <> navHanded} [divDropdownLeft]
<> "the interface by clicking on me.\n" , H.ul { title: "If you are Left Handed you can change "
<> "Click to come back to previous state." <> "the interface by clicking on me. Click "
, className: "nav navbar-nav" <> "again to come back to previous state."
} [handedChooser { handed }] , className: "nav navbar-nav" <> navHanded
{-, H.ul { title: "Dark Mode soon here" } [handedChooser { handed }]
, className : "nav navbar-nav" , H.ul { className: "nav navbar-nav" <> navHanded} []
} [ H.li {} [ H.a {} [ H.span {className : "fa fa-moon"}[] {-, H.ul { title: "Dark Mode soon here"
] , className : "nav navbar-nav"
] } [ H.li {} [ H.a {} [ H.span {className : "fa fa-moon"}[]
] ]
-} ]
] ]
-}
]
]
] ]
]
] ]
where
navHanded = if fst handed == GT.LeftHanded then " navbar-right" else ""
sortHanded = if fst handed == GT.LeftHanded then reverse else reverse -- identity
-- SB.searchBar {session, databases: allDatabases} -- SB.searchBar {session, databases: allDatabases}
type HandedChooserProps = ( type HandedChooserProps = (
...@@ -215,15 +220,16 @@ handedChooserCpt = R.hooksComponent "G.C.A.handedChooser" cpt ...@@ -215,15 +220,16 @@ handedChooserCpt = R.hooksComponent "G.C.A.handedChooser" cpt
GT.LeftHanded -> GT.RightHanded GT.LeftHanded -> GT.RightHanded
GT.RightHanded -> GT.LeftHanded GT.RightHanded -> GT.LeftHanded
logo :: R.Element logo :: GT.Handed -> R.Element
logo = logo handed =
H.a { className, href: "#/" } H.a { className, href: "#/" }
[ H.img { src, title, width: "30", height: "28" } [ H.img { src, title, width: "30", height: "28" }
] ]
where where
className = "navbar-brand logoSmall" className = "navbar-brand logoSmall" <> navHanded
src = "images/logoSmall.png" src = "images/logoSmall.png"
title = "Back to home." title = "Back to home."
navHanded = if handed == GT.LeftHanded then " navbar-right" else ""
divDropdownLeft :: R.Element divDropdownLeft :: R.Element
divDropdownLeft = divDropdownLeft =
......
...@@ -48,7 +48,6 @@ forestCpt = R.hooksComponent "G.C.Forest.forest" cpt where ...@@ -48,7 +48,6 @@ forestCpt = R.hooksComponent "G.C.Forest.forest" cpt where
) )
(cpt' openNodes asyncTasks reload showLogin) (cpt' openNodes asyncTasks reload showLogin)
cpt' openNodes asyncTasks reload showLogin (frontends /\ route /\ sessions /\ _ /\ _ /\ _ /\ _ /\ handed) = do cpt' openNodes asyncTasks reload showLogin (frontends /\ route /\ sessions /\ _ /\ _ /\ _ /\ _ /\ handed) = do
--pure $ R.fragment $ A.cons (plus showLogin) trees
pure $ R2.row $ [plus handed showLogin] <> trees pure $ R2.row $ [plus handed showLogin] <> trees
where where
trees = tree <$> unSessions sessions trees = tree <$> unSessions sessions
......
...@@ -132,7 +132,7 @@ settingsBox FolderShared = ...@@ -132,7 +132,7 @@ settingsBox FolderShared =
SettingsBox { show : true SettingsBox { show : true
, edit : true , edit : true
, doc : Documentation FolderShared , doc : Documentation FolderShared
, buttons : [ Add [Team, Folder] , buttons : [ Add [Team, FolderShared]
-- , Delete -- , Delete
] ]
} }
......
...@@ -116,11 +116,10 @@ pieCpt = R.hooksComponent "G.C.N.C.C.P.pie" cpt ...@@ -116,11 +116,10 @@ pieCpt = R.hooksComponent "G.C.N.C.C.P.pie" cpt
loadedPie :: Record MetricsProps -> HistoMetrics -> R.Element loadedPie :: Record MetricsProps -> HistoMetrics -> R.Element
loadedPie { path, reload, session } loaded = loadedPie { path, reload, session } loaded =
H.div {} [ H.div {} [ U.reloadButton reload
U.reloadButton reload , U.chartUpdateButton { chartType: ChartPie, path, reload, session }
, U.chartUpdateButton { chartType: ChartPie, path, reload, session } , chart $ chartOptionsPie loaded
, chart $ chartOptionsPie loaded ]
]
bar :: Record Props -> R.Element bar :: Record Props -> R.Element
...@@ -132,15 +131,15 @@ barCpt = R.hooksComponent "LoadedMetricsBar" cpt ...@@ -132,15 +131,15 @@ barCpt = R.hooksComponent "LoadedMetricsBar" cpt
cpt {path, session} _ = do cpt {path, session} _ = do
reload <- R.useState' 0 reload <- R.useState' 0
--pure $ metricsLoadView {getMetrics, loaded: loadedBar, path, reload, session} --pure $ metricsLoadView {getMetrics, loaded: loadedBar, path, reload, session}
pure $ metricsWithCacheLoadView { pure $ metricsWithCacheLoadView
getMetricsHash { getMetricsHash
, handleResponse , handleResponse
, loaded: loadedPie , loaded: loadedPie
, mkRequest: mkRequest session , mkRequest: mkRequest session
, path , path
, reload , reload
, session , session
} }
loadedBar :: Record MetricsProps -> Loaded -> R.Element loadedBar :: Record MetricsProps -> Loaded -> R.Element
loadedBar { path, reload, session } loaded = loadedBar { path, reload, session } loaded =
......
...@@ -8,10 +8,10 @@ import Data.Maybe (Maybe(..), fromMaybe) ...@@ -8,10 +8,10 @@ import Data.Maybe (Maybe(..), fromMaybe)
import Reactix as R import Reactix as R
import Gargantext.Prelude import Gargantext.Prelude
import Gargantext.Components.Nodes.Corpus.Chart.Histo (histo) import Gargantext.Components.Nodes.Corpus.Chart.Histo (histo)
import Gargantext.Components.Nodes.Corpus.Chart.Metrics (metrics) import Gargantext.Components.Nodes.Corpus.Chart.Metrics (metrics)
import Gargantext.Components.Nodes.Corpus.Chart.Pie (pie) import Gargantext.Components.Nodes.Corpus.Chart.Pie (pie)
import Gargantext.Components.Nodes.Corpus.Chart.Tree (tree) import Gargantext.Components.Nodes.Corpus.Chart.Tree (tree)
import Gargantext.Sessions (Session) import Gargantext.Sessions (Session)
import Gargantext.Types (NodeID, Mode(..), TabSubType(..), TabType(..), modeTabType) import Gargantext.Types (NodeID, Mode(..), TabSubType(..), TabType(..), modeTabType)
...@@ -19,8 +19,10 @@ import Gargantext.Types (NodeID, Mode(..), TabSubType(..), TabType(..), modeTabT ...@@ -19,8 +19,10 @@ import Gargantext.Types (NodeID, Mode(..), TabSubType(..), TabType(..), modeTabT
data PredefinedChart = data PredefinedChart =
CDocsHistogram CDocsHistogram
| CAuthorsPie | CAuthorsPie
| CSourcesBar
| CInstitutesTree | CInstitutesTree
| CTermsMetrics | CTermsMetrics
derive instance genericPredefinedChart :: Generic PredefinedChart _ derive instance genericPredefinedChart :: Generic PredefinedChart _
instance showPredefinedChart :: Show PredefinedChart where instance showPredefinedChart :: Show PredefinedChart where
...@@ -42,30 +44,30 @@ instance encodePredefinedChart :: EncodeJson PredefinedChart where ...@@ -42,30 +44,30 @@ instance encodePredefinedChart :: EncodeJson PredefinedChart where
instance readPredefinedChart :: Read PredefinedChart where instance readPredefinedChart :: Read PredefinedChart where
read "CDocsHistogram" = Just CDocsHistogram read "CDocsHistogram" = Just CDocsHistogram
read "CAuthorsPie" = Just CAuthorsPie read "CAuthorsPie" = Just CAuthorsPie
read "CSourcesBar" = Just CSourcesBar
read "CInstitutesTree" = Just CInstitutesTree read "CInstitutesTree" = Just CInstitutesTree
read "CTermsMetrics" = Just CTermsMetrics read "CTermsMetrics" = Just CTermsMetrics
read _ = Nothing read _ = Nothing
allPredefinedCharts :: Array PredefinedChart allPredefinedCharts :: Array PredefinedChart
allPredefinedCharts = [ allPredefinedCharts =
CDocsHistogram [ CDocsHistogram
, CAuthorsPie , CAuthorsPie
, CTermsMetrics , CTermsMetrics
, CInstitutesTree , CInstitutesTree
, CSourcesBar
] ]
type Params = type Params =
( ( corpusId :: NodeID
corpusId :: NodeID , session :: Session
, session :: Session
-- optinal params -- optinal params
, limit :: Maybe Int , limit :: Maybe Int
, listId :: Maybe Int , listId :: Maybe Int
) )
render :: PredefinedChart -> Record Params -> R.Element render :: PredefinedChart -> Record Params -> R.Element
render CDocsHistogram { corpusId, listId, session } = histo { path, session } render CDocsHistogram { corpusId, listId, session } = histo { path, session }
where where
...@@ -93,5 +95,16 @@ render CTermsMetrics { corpusId, limit, listId, session } = metrics { path, sess ...@@ -93,5 +95,16 @@ render CTermsMetrics { corpusId, limit, listId, session } = metrics { path, sess
path = { corpusId path = { corpusId
, limit , limit
, listId: fromMaybe 0 listId , listId: fromMaybe 0 listId
, tabType: TabCorpus (TabNgramType $ modeTabType Authors) , tabType: TabCorpus (TabNgramType $ modeTabType Terms)
} }
render CSourcesBar { corpusId, limit, listId, session } = metrics { path, session }
where
path = { corpusId
, limit
, listId: fromMaybe 0 listId
, tabType: TabCorpus (TabNgramType $ modeTabType Sources)
}
...@@ -18,10 +18,10 @@ import Gargantext.Sessions (Session) ...@@ -18,10 +18,10 @@ import Gargantext.Sessions (Session)
import Gargantext.Types (ChartType(..), CTabNgramType(..), Mode(..), TabSubType(..), TabType(..), chartTypeFromString, modeTabType) import Gargantext.Types (ChartType(..), CTabNgramType(..), Mode(..), TabSubType(..), TabType(..), chartTypeFromString, modeTabType)
import Gargantext.Utils.Reactix as R2 import Gargantext.Utils.Reactix as R2
type Props = type Props = ( session :: Session
( session :: Session , corpusId :: Int
, corpusId :: Int , corpusData :: CorpusData
, corpusData :: CorpusData ) )
tabs :: Record Props -> R.Element tabs :: Record Props -> R.Element
tabs props = R.createElement tabsCpt props [] tabs props = R.createElement tabsCpt props []
...@@ -54,25 +54,29 @@ ngramsViewCpt = R.hooksComponent "G.C.N.L.T.ngramsView" cpt ...@@ -54,25 +54,29 @@ ngramsViewCpt = R.hooksComponent "G.C.N.L.T.ngramsView" cpt
chartType <- R.useState' Histo chartType <- R.useState' Histo
pure $ R.fragment pure $ R.fragment
$ charts tabNgramType chartType ( charts tabNgramType chartType
<> [ NT.mainNgramsTable { session <> [ NT.mainNgramsTable { session
, defaultListId , defaultListId
, nodeId: corpusId , nodeId: corpusId
, tabType , tabType
, tabNgramType , tabNgramType
, withAutoUpdate: false , withAutoUpdate: false
} }
] ]
)
where where
tabNgramType = modeTabType mode tabNgramType = modeTabType mode
tabType = TabCorpus (TabNgramType tabNgramType) tabType = TabCorpus (TabNgramType tabNgramType)
listId = defaultListId listId = defaultListId
path = {corpusId, listId, tabType, limit: (Just 1000)} path = { corpusId
, listId
, tabType
, limit: Just 1000
}
charts CTabTerms (chartType /\ setChartType) = [ charts CTabTerms (chartType /\ setChartType) = [
H.div { className: "row chart-type-selector" } [ H.div { className: "row chart-type-selector" } [
H.div { className: "col-md-3" } [ H.div { className: "col-md-3" } [
R2.select { className: "form-control" R2.select { className: "form-control"
, on: { change: \e -> setChartType , on: { change: \e -> setChartType
$ const $ const
...@@ -84,6 +88,7 @@ ngramsViewCpt = R.hooksComponent "G.C.N.L.T.ngramsView" cpt ...@@ -84,6 +88,7 @@ ngramsViewCpt = R.hooksComponent "G.C.N.L.T.ngramsView" cpt
H.option { value: show Histo } [ H.text $ show Histo ] H.option { value: show Histo } [ H.text $ show Histo ]
, H.option { value: show Scatter } [ H.text $ show Scatter ] , H.option { value: show Scatter } [ H.text $ show Scatter ]
, H.option { value: show ChartBar } [ H.text $ show ChartBar ] , H.option { value: show ChartBar } [ H.text $ show ChartBar ]
, H.option { value: show ChartPie } [ H.text $ show ChartPie ]
, H.option { value: show ChartTree } [ H.text $ show ChartTree ] , H.option { value: show ChartTree } [ H.text $ show ChartTree ]
] ]
] ]
......
...@@ -119,7 +119,7 @@ sessionPath (R.Tab t i) = sessionPath (R.NodeAPI Node i (showTabType ...@@ -119,7 +119,7 @@ sessionPath (R.Tab t i) = sessionPath (R.NodeAPI Node i (showTabType
sessionPath (R.Children n o l s i) = sessionPath (R.NodeAPI Node i ("children?type=" <> show n <> offsetUrl o <> limitUrl l <> orderUrl s)) sessionPath (R.Children n o l s i) = sessionPath (R.NodeAPI Node i ("children?type=" <> show n <> offsetUrl o <> limitUrl l <> orderUrl s))
sessionPath (R.NodeAPI Phylo pId p) = "phyloscape?nodeId=" <> (show $ fromMaybe 0 pId) <> p sessionPath (R.NodeAPI Phylo pId p) = "phyloscape?nodeId=" <> (show $ fromMaybe 0 pId) <> p
sessionPath (R.RecomputeNgrams nt nId lId) = "node/" <> (show nId) <> "/ngrams/recompute?" <> (defaultList lId) <> "&ngramsType=" <> (show nt) sessionPath (R.RecomputeNgrams nt nId lId) = "node/" <> (show nId) <> "/ngrams/recompute?" <> (defaultList lId) <> "&ngramsType=" <> (show nt)
sessionPath (R.RecomputeListChart ChartBar nt nId lId) = "node/" <> (show nId) <> "/pie?" <> (defaultList lId) <> "&ngramsType=" <> (show nt) sessionPath (R.RecomputeListChart ChartBar nt nId lId) = "node/" <> (show nId) <> "/chart?" <> (defaultList lId) <> "&ngramsType=" <> (show nt)
sessionPath (R.RecomputeListChart ChartPie nt nId lId) = "node/" <> (show nId) <> "/pie?" <> (defaultList lId) <> "&ngramsType=" <> (show nt) sessionPath (R.RecomputeListChart ChartPie nt nId lId) = "node/" <> (show nId) <> "/pie?" <> (defaultList lId) <> "&ngramsType=" <> (show nt)
sessionPath (R.RecomputeListChart ChartTree nt nId lId) = "node/" <> (show nId) <> "/tree?" <> (defaultList lId) <> "&ngramsType=" <> (show nt) <> "&listType=" <> show MapTerm sessionPath (R.RecomputeListChart ChartTree nt nId lId) = "node/" <> (show nId) <> "/tree?" <> (defaultList lId) <> "&ngramsType=" <> (show nt) <> "&listType=" <> show MapTerm
sessionPath (R.RecomputeListChart Histo nt nId lId) = "node/" <> (show nId) <> "/chart?" <> (defaultList lId) <> "&ngramsType=" <> (show nt) sessionPath (R.RecomputeListChart Histo nt nId lId) = "node/" <> (show nId) <> "/chart?" <> (defaultList lId) <> "&ngramsType=" <> (show nt)
......
...@@ -16,8 +16,6 @@ import Prelude ...@@ -16,8 +16,6 @@ import Prelude
import Prim.Row (class Union) import Prim.Row (class Union)
import URI.Query (Query) import URI.Query (Query)
data Handed = LeftHanded | RightHanded data Handed = LeftHanded | RightHanded
derive instance genericHanded :: Generic Handed _ derive instance genericHanded :: Generic Handed _
...@@ -393,10 +391,10 @@ data ChartType = Histo | Scatter | ChartPie | ChartBar | ChartTree ...@@ -393,10 +391,10 @@ data ChartType = Histo | Scatter | ChartPie | ChartBar | ChartTree
instance showChartType :: Show ChartType instance showChartType :: Show ChartType
where where
show Histo = "chart" show Histo = "chart"
show Scatter = "scatter" show Scatter = "scatter"
show ChartBar = "bar" show ChartBar = "bar"
show ChartPie = "pie" show ChartPie = "pie"
show ChartTree = "tree" show ChartTree = "tree"
chartTypeFromString :: String -> Maybe ChartType chartTypeFromString :: String -> Maybe ChartType
...@@ -518,7 +516,7 @@ instance showTabSubType :: Show a => Show (TabSubType a) where ...@@ -518,7 +516,7 @@ instance showTabSubType :: Show a => Show (TabSubType a) where
data TabType data TabType
= TabCorpus (TabSubType CTabNgramType) = TabCorpus (TabSubType CTabNgramType)
| TabPairing (TabSubType PTabNgramType) | TabPairing (TabSubType PTabNgramType)
| TabDocument (TabSubType CTabNgramType) | TabDocument (TabSubType CTabNgramType)
derive instance genericTabType :: Generic TabType _ derive instance genericTabType :: Generic TabType _
derive instance eqTabType :: Eq TabType derive instance eqTabType :: Eq TabType
...@@ -573,11 +571,11 @@ modeTabType Institutes = CTabInstitutes ...@@ -573,11 +571,11 @@ modeTabType Institutes = CTabInstitutes
modeTabType Terms = CTabTerms modeTabType Terms = CTabTerms
modeFromString :: String -> Maybe Mode modeFromString :: String -> Maybe Mode
modeFromString "Authors" = Just Authors modeFromString "Authors" = Just Authors
modeFromString "Sources" = Just Sources modeFromString "Sources" = Just Sources
modeFromString "Institutes" = Just Institutes modeFromString "Institutes" = Just Institutes
modeFromString "Terms" = Just Terms modeFromString "Terms" = Just Terms
modeFromString _ = Nothing modeFromString _ = Nothing
-- Async tasks -- Async tasks
......
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