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
e95f63ee
Commit
e95f63ee
authored
Oct 06, 2021
by
arturo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ngrams] Search in Ngrams Table
* #340
parent
41ecf1e2
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
97 additions
and
46 deletions
+97
-46
NgramsTable.purs
src/Gargantext/Components/NgramsTable.purs
+7
-9
Tabs.purs
src/Gargantext/Components/Nodes/Lists/Tabs.purs
+90
-37
No files found.
src/Gargantext/Components/NgramsTable.purs
View file @
e95f63ee
...
...
@@ -264,7 +264,7 @@ type PropsNoReload =
| CommonProps
)
type Props =
type Props =
( reloadForest :: T2.ReloadS
, reloadRoot :: T2.ReloadS
| PropsNoReload )
...
...
@@ -275,13 +275,13 @@ loadedNgramsTableCpt :: R.Component PropsNoReload
loadedNgramsTableCpt = here.component "loadedNgramsTable" cpt where
cpt props@{ path } _ = do
searchQuery <- T.useFocused (_.searchQuery) (\a b -> b { searchQuery = a }) path
pure $ R.fragment $
[ loadedNgramsTableHeader { searchQuery } []
, loadedNgramsTableBody props [] ]
type LoadedNgramsTableHeaderProps =
( searchQuery :: T.Box SearchQuery )
( searchQuery :: T.Box SearchQuery )
loadedNgramsTableHeader :: R2.Component LoadedNgramsTableHeaderProps
loadedNgramsTableHeader = R.createElement loadedNgramsTableHeaderCpt
...
...
@@ -500,9 +500,10 @@ displayRow { ngramsElement: NgramsElement {ngrams, root, list}
, termListFilter
, termSizeFilter } =
(
isNothing root
--
isNothing root
-- ^ Display only nodes without parents
&& maybe true (_ == list) termListFilter
-- ^^ (?) allow child nodes to be searched (see #340)
maybe true (_ == list) termListFilter
-- ^ and which matches the ListType filter.
&& ngramsChildren ^. at ngrams /= Just true
-- ^ and which are not scheduled to be added already
...
...
@@ -562,7 +563,7 @@ mainNgramsTableCacheOnCpt = here.component "mainNgramsTableCacheOn" cpt where
, path
, tabNgramType
, withAutoUpdate } _ = do
-- let path = initialPageParams session nodeId [defaultListId] tabType
path' <- T.useLive T.unequal path
...
...
@@ -731,6 +732,3 @@ sumOccurrences nt = sumOccChildren mempty
optps1 :: forall a. Show a => { desc :: String, mval :: Maybe a } -> R.Element
optps1 { desc, mval } = H.option { value: value } [H.text desc]
where value = maybe "" show mval
src/Gargantext/Components/Nodes/Lists/Tabs.purs
View file @
e95f63ee
module Gargantext.Components.Nodes.Lists.Tabs where
import Gargantext.Components.Nodes.Lists.Types hiding (here)
import Data.Array as A
import Data.Maybe (Maybe(..), fromMaybe)
import Data.Tuple.Nested ((/\))
...
...
@@ -12,15 +14,14 @@ import Gargantext.Components.Nodes.Corpus.Chart.Pie (pie, bar)
import Gargantext.Components.Nodes.Corpus.Chart.Tree (tree)
import Gargantext.Components.Nodes.Corpus.Chart.Utils (mNgramsTypeFromTabType)
import Gargantext.Components.Nodes.Corpus.Types (CorpusData)
import Gargantext.Components.Nodes.Lists.Types hiding (here)
import Gargantext.Components.Tab as Tab
import Gargantext.Prelude (bind, pure, unit, ($), (<>))
import Gargantext.Components.Table.Types (Params)
import Gargantext.Prelude (bind, pure, unit, ($))
import Gargantext.Sessions (Session)
import Gargantext.Types (CTabNgramType(..), Mode(..), TabSubType(..), TabType(..), modeTabType)
import Gargantext.Utils.Reactix as R2
import Gargantext.Utils.Toestand as T2
import Reactix as R
import Reactix.DOM.HTML as H
import Record as Record
import Record.Extra as RX
import Toestand as T
...
...
@@ -70,33 +71,32 @@ ngramsViewCpt = here.component "ngramsView" cpt where
path <- T.useBox $ NTC.initialPageParams props.session initialPath.corpusId [initialPath.listId] initialPath.tabType
{ listIds, nodeId, params } <- T.useLive T.unequal path
let path' = {
corpusId: nodeId
, limit: params.limit
, listId: fromMaybe defaultListId $ A.head listIds
, tabType: tabType
}
let chartParams = {
corpusId: path'.corpusId
, limit: Just path'.limit
, listId: path'.listId
, tabType: path'.tabType
}
pure $ R.fragment
( charts chartParams tabNgramType
<> [ NT.mainNgramsTable { afterSync: afterSync chartsReload
, boxes
, cacheState
, defaultListId
, path
, session
, tabNgramType
, tabType
, withAutoUpdate: false
} []
]
)
pure $
R.fragment
[
ngramsView'
{ mode
, boxes
, session
, params
, listIds
, nodeId
, corpusData: props.corpusData
} []
,
NT.mainNgramsTable
{ afterSync: afterSync chartsReload
, boxes
, cacheState
, defaultListId
, path
, session
, tabNgramType
, tabType
, withAutoUpdate: false
} []
]
where
afterSync chartsReload _ = do
case mNgramsType of
...
...
@@ -118,7 +118,56 @@ ngramsViewCpt = here.component "ngramsView" cpt where
, tabType
}
charts _params CTabTerms = [
----------------
-- @XXX re-render issue -> clone component
type NgramsViewProps' =
( mode :: Mode
, boxes :: Boxes
, session :: Session
, listIds :: Array Int
, params :: Params
, nodeId :: Int
, corpusData :: CorpusData
)
ngramsView' :: R2.Component NgramsViewProps'
ngramsView' = R.createElement ngramsViewCpt'
ngramsViewCpt' :: R.Memo NgramsViewProps'
ngramsViewCpt' = R.memo' $ here.component "ngramsView_clone" cpt where
cpt { mode
, boxes
, session
, listIds
, params
, nodeId
, corpusData: { defaultListId }
} _ = do
let path' = {
corpusId: nodeId
, limit: params.limit
, listId: fromMaybe defaultListId $ A.head listIds
, tabType: tabType
}
let chartParams = {
corpusId: path'.corpusId
, limit: Just path'.limit
, listId: path'.listId
, tabType: path'.tabType
}
pure $
R.fragment $
charts chartParams tabNgramType
where
charts _params CTabTerms = [
{-
H.div {className: "row"}
[ H.div {className: "col-12 d-flex justify-content-center"}
...
...
@@ -147,10 +196,14 @@ ngramsViewCpt = here.component "ngramsView" cpt where
]
, getChartFunction chartType $ { path: params, session }
-}
]
charts params _ = [ chart params mode ]
]
charts params' _ = [ chart params' mode ]
chart path Authors = pie { boxes, path, session, onClick: Nothing, onInit: Nothing }
chart path Institutes = tree { boxes, path, session, onClick: Nothing, onInit: Nothing }
chart path Sources = bar { boxes, path, session, onClick: Nothing, onInit: Nothing }
chart path Terms = metrics { boxes, path, session, onClick: Nothing, onInit: Nothing }
tabType = TabCorpus (TabNgramType tabNgramType)
chart path Authors = pie { boxes, path, session, onClick: Nothing, onInit: Nothing }
chart path Institutes = tree { boxes, path, session, onClick: Nothing, onInit: Nothing }
chart path Sources = bar { boxes, path, session, onClick: Nothing, onInit: Nothing }
chart path Terms = metrics { boxes, path, session, onClick: Nothing, onInit: Nothing }
tabNgramType = modeTabType mode
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