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
828f44c8
Commit
828f44c8
authored
Jul 31, 2024
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/adinapoli/garg-375' into dev
parents
4df661c3
a243ea35
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
50 additions
and
6 deletions
+50
-6
App.purs
src/Gargantext/Components/App/App.purs
+9
-0
Router.purs
src/Gargantext/Components/Router.purs
+13
-6
Trace.js
src/Gargantext/Utils/Trace.js
+11
-0
Trace.purs
src/Gargantext/Utils/Trace.purs
+17
-0
No files found.
src/Gargantext/Components/App/App.purs
View file @
828f44c8
...
...
@@ -6,6 +6,7 @@ import Data.Tuple.Nested ((/\))
import Gargantext.AsyncTasks as GAT
import Gargantext.Components.App.Store as AppStore
import Gargantext.Components.Router (router)
import Gargantext.Config as Config
import Gargantext.Hooks (useHashRouter)
import Gargantext.Hooks.FirstEffect (useFirstEffect')
import Gargantext.Router as Router
...
...
@@ -99,5 +100,13 @@ mainAppCpt = here.component "main" cpt where
R.useEffectOnce' $ do
R2.loadLocalStorageState R2.openNodesKey boxes.forestOpen
T.listen (R2.listenLocalStorageState R2.openNodesKey) boxes.forestOpen
-- Store in the box the current backend, as
-- derived from the href, before the window gets
-- injected with the router.
R.useEffectOnce' $ do
mLoc <- Config.matchCurrentLocation
T.write_ mLoc boxes.backend
useHashRouter Router.router boxes.route -- Install router to window
pure $ router { boxes } -- Render router component
src/Gargantext/Components/Router.purs
View file @
828f44c8
...
...
@@ -12,6 +12,7 @@ import Data.Array as A
import Data.Foldable (intercalate)
import Data.Map as M
import Data.Maybe (Maybe(..), fromMaybe, maybe)
import Data.String (contains, Pattern(..))
import Data.Tuple (Tuple(..))
import Data.UUID (UUID)
import Data.UUID as UUID
...
...
@@ -39,15 +40,15 @@ import Gargantext.Components.Nodes.Texts as Texts
import Gargantext.Components.Tile (tileBlock)
import Gargantext.Components.TopBar as TopBar
import Gargantext.Components.TreeSearch (treeSearch)
import Gargantext.Config (defaultFrontends, defaultBackends)
import Gargantext.Config (defaultFrontends, defaultBackends
, matchCurrentLocation
)
import Gargantext.Context.Session as SessionContext
import Gargantext.Ends (Backend)
import Gargantext.Ends (Backend
(..)
)
import Gargantext.Hooks.LinkHandler (useLinkHandler)
import Gargantext.Hooks.Resize (ResizeType(..), useResizeHandler)
import Gargantext.Hooks.Session (useSession)
import Gargantext.Routes (AppRoute(..), Tile)
import Gargantext.Routes as GR
import Gargantext.Sessions (Session, sessionId, unSessions)
import Gargantext.Sessions (Session, sessionId, unSessions
, sessionUrl
)
import Gargantext.Sessions as Sessions
import Gargantext.Types (CorpusId, Handed(..), ListId, NodeID, NodeType(..), SessionId, SidePanelState(..), ID)
import Gargantext.Utils ((?))
...
...
@@ -779,19 +780,25 @@ type ShareProps = (nodeType :: String, nodeId :: ID | Props)
share :: R2.Component ShareProps
share = R.createElement shareCpt
-- | Ensures that we rewrite the Share URL into something that points
-- to the correct user in the correct session, see Gargantext#357.
findSuitableSession :: Maybe Backend -> Session -> Boolean
findSuitableSession Nothing _ = false
findSuitableSession (Just (Backend be)) s = (Pattern $ be.baseUrl) `contains` sessionUrl s ""
shareCpt :: R.Component ShareProps
shareCpt = here.component "share" cpt where
cpt { nodeType, nodeId, boxes} _ = do
{ goToRoute } <- useLinkHandler
sessions' <- T.useLive T.unequal boxes.sessions
backend <- T.useLive T.unequal boxes.backend
case unSessions sessions' of
[] -> do
[] -> do
R.useEffect' $ T.write_ true boxes.showLogin
R.useEffect' $ T.write_ (Just (Tuple nodeType nodeId)) boxes.loginRedirect
R.useEffect' $ goToRoute Login
pure $ H.text "no session"
s -> case
head
s of
s -> case
A.findIndex (findSuitableSession backend) s >>= A.index
s of
Just s' -> do
R.useEffect' $ goToRoute $ fromMaybe Login $ GR.nodeTypeAppRoute (fromMaybe Node $ read nodeType) (sessionId s') nodeId
pure $ H.text $ "session route: " <> (show $ fromMaybe Login $ GR.nodeTypeAppRoute (fromMaybe Node $ read nodeType) (sessionId s') nodeId)
...
...
src/Gargantext/Utils/Trace.js
0 → 100644
View file @
828f44c8
"use strict"
;
export
function
_traceAnythingId
(
a
)
{
console
.
log
(
a
);
return
a
;
}
export
function
_traceAnything
(
a
,
b
)
{
console
.
log
(
a
);
return
b
;
}
src/Gargantext/Utils/Trace.purs
0 → 100644
View file @
828f44c8
module Gargantext.Utils.Trace (
traceAnythingId
, traceAnything
) where
import Gargantext.Prelude
import Data.Function.Uncurried (Fn1, runFn1, Fn2, runFn2)
foreign import _traceAnythingId :: forall a. Fn1 a a
foreign import _traceAnything :: forall a b. Fn2 a b b
traceAnythingId :: forall a. a -> a
traceAnythingId a = runFn1 _traceAnythingId a
traceAnything :: forall a b. a -> b -> b
traceAnything a b = runFn2 _traceAnything a b
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