Verified Commit 592cbb1d authored by Przemyslaw Kaminski's avatar Przemyslaw Kaminski

Merge branch 'dev' into dev-websockets

parents dc1882a9 4df661c3
Pipeline #6466 passed with stages
in 21 minutes
{
"name": "Gargantext",
"version": "0.0.7.1.9",
"version": "0.0.7.1.14",
"scripts": {
"build": "spago build",
"bundle": "spago bundle --module Main --outfile dist/bundle.min.js --minify --source-maps",
......
......@@ -21,6 +21,7 @@ here = R2.here "Gargantext.Components.Frame.Layout"
type Props =
( frame :: NodePoly Hyperdata
, nodeType :: NodeType
, nodeId :: Int
)
layout :: R2.Leaf Props
......@@ -29,6 +30,7 @@ layoutCpt :: R.Component Props
layoutCpt = here.component "main" cpt where
cpt { frame: NodePoly { hyperdata: Hyperdata { base, frame_id } }
, nodeType
, nodeId
} _ = case nodeType of
-- Visio Node
......@@ -58,7 +60,7 @@ layoutCpt = here.component "main" cpt where
,
H.a
{ className : "fa fa-video-camera fa-5x"
, href : hframeUrl nodeType base frame_id
, href : hframeUrl nodeType base frame_id nodeId
, target: "_blank"
}
[]
......@@ -92,7 +94,7 @@ layoutCpt = here.component "main" cpt where
[
-- H.script { src: "https://visio.gargantext.org/external_api.js"} [],
H.iframe
{ src: hframeUrl nodeType base frame_id
{ src: hframeUrl nodeType base frame_id nodeId
, width: "100%"
, height: "100%"
}
......@@ -132,8 +134,8 @@ layoutCpt = here.component "main" cpt where
--------------------------------------------------------------
hframeUrl :: NodeType -> Base -> FrameId -> String
hframeUrl NodeFrameNotebook base frame_id = base <> "/" <> frame_id -- Temp fix : frame_id is currently the whole url created
hframeUrl Calc base frame_id = base <> "/" <> frame_id
hframeUrl NodeFrameVisio base frame_id = base <> "/" <> frame_id
hframeUrl _ base frame_id = base <> "/" <> frame_id <> "?view" -- "?both"
hframeUrl :: NodeType -> Base -> FrameId -> Int -> String
hframeUrl NodeFrameNotebook base frame_id _ = base <> "/" <> frame_id -- Temp fix : frame_id is currently the whole url created
hframeUrl Calc base frame_id _ = base <> "/" <> frame_id
hframeUrl NodeFrameVisio base frame_id _ = base <> "/" <> frame_id
hframeUrl _ base frame_id node_id = base <> "/" <> frame_id <> "?view&node_id=" <> show node_id -- "?both"
......@@ -40,7 +40,7 @@ nodeCpt = R2.hereComponent here "node" hCpt where
-- |
session <- useSession
state' /\ state <- R2.useBox' (Nothing :: Maybe PhyloSet)
state' /\ state <- R2.useBox' (Nothing :: Maybe (Maybe PhyloSet))
cache' /\ cache <- R2.useBox' (defaultCacheParams :: CacheParams)
-- | Computed
......@@ -92,28 +92,32 @@ nodeCpt = R2.hereComponent here "node" hCpt where
]
]
, defaultSlot:
R2.fromMaybe state' \(PhyloSet { corpusId, listId, phyloData, phyloConfig}) ->
let
state_ :: Record PhyloStore.State
state_ =
-- Data
{ phyloData
, phyloConfig
, corpusId
, listId
, phyloId: nodeId
-- (cache params)
, expandSelection: getter _.expandSelection cache'
, expandNeighborhood: getter _.expandNeighborhood cache'
-- (default options)
} `Record.merge` PhyloStore.options
in
PhyloStore.provide
state_
[
layout
{}
]
R2.fromMaybe state' \p ->
case p of
Just (PhyloSet {phyloData, phyloConfig, corpusId, listId}) ->
let
state_ :: Record PhyloStore.State
state_ =
-- Data
{ phyloData
, phyloConfig
, corpusId
, listId
, phyloId: nodeId
-- (cache params)
, expandSelection: getter _.expandSelection cache'
, expandNeighborhood: getter _.expandNeighborhood cache'
-- (default options)
} `Record.merge` PhyloStore.options
in
PhyloStore.provide
state_
[
layout
{}
]
_ -> H.p
{ className: "text-center pt-10" }
[ H.text "Phylo not generated yet, please update the node settings to see your phylonometry." ]
}
......@@ -70,6 +70,7 @@ nodeCpt = R2.hereComponent here "node" hCpt where
layout
{ frame
, nodeType
, nodeId
}
}
......
......@@ -30,7 +30,7 @@ import Simple.JSON.Generics as JSONG
import Type.Proxy (Proxy(..))
get :: S.Session -> NodeID -> AffRESTError (PhyloSet)
get :: S.Session -> NodeID -> AffRESTError (Maybe PhyloSet)
get session nodeId = request >>= (_ <#> parseToPhyloSet) >>> pure
where
request :: AffRESTError (PhyloJSON)
......
......@@ -23,7 +23,7 @@ import Simple.JSON as JSON
newtype PhyloJSON = PhyloJSON
{ pd_corpusId :: Int
, pd_listId :: Int
, pd_data ::
, pd_data :: Maybe (
{ _subgraph_cnt :: Int
, directed :: Boolean
, edges :: Array RawEdge
......@@ -31,7 +31,8 @@ newtype PhyloJSON = PhyloJSON
, strict :: Boolean
| GraphData
}
, pd_config ::
)
, pd_config :: Maybe (
{ clique :: Cluster
, exportLabel :: Array PhyloLabel
, exportSort :: Sort
......@@ -42,6 +43,7 @@ newtype PhyloJSON = PhyloJSON
, timeUnit :: TimeUnit
| ConfigData
}
)
}
derive instance Generic PhyloJSON _
......
......@@ -56,8 +56,8 @@ derive instance Generic PhyloSet _
derive instance Eq PhyloSet
instance Show PhyloSet where show = genericShow
parseToPhyloSet :: PhyloJSON -> PhyloSet
parseToPhyloSet (PhyloJSON o) = PhyloSet
parseToPhyloSet :: PhyloJSON -> Maybe PhyloSet
parseToPhyloSet (PhyloJSON o@{pd_data: Just p, pd_config: Just c}) = Just $ PhyloSet
{ corpusId : o.pd_corpusId
, listId : o.pd_listId
, phyloData : PhyloData
......@@ -91,9 +91,6 @@ parseToPhyloSet (PhyloJSON o) = PhyloSet
}
where
p = o.pd_data
c = o.pd_config
epochTS = p.phyloTimeScale == "epoch"
ancestorLinks = parseAncestorLinks p.edges
......@@ -102,6 +99,7 @@ parseToPhyloSet (PhyloJSON o) = PhyloSet
groups = parseGroups epochTS p.objects
links = parseLinks p.edges
periods = parsePeriods epochTS p.objects
parseToPhyloSet _ = Nothing
----------------------------------------------------------------------
......
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