some fix
[gargantext.git] / src / Gargantext / Viz / Phylo / View / Display.hs
index 599688b5872299c38182ab0b917104761f77b74a..15c5de905e2bcb556e412db143683b9a466aed15 100644 (file)
@@ -18,9 +18,8 @@ module Gargantext.Viz.Phylo.View.Display
   where
 
 import Control.Lens     hiding (makeLenses, both, Level)
-
-import Data.List        (head,null,(++),sortOn)
-import Gargantext.Prelude             hiding (head)
+import Data.List        (null,(++),sortOn)
+import Gargantext.Prelude
 import Gargantext.Viz.Phylo
 import Gargantext.Viz.Phylo.Tools
 
@@ -33,22 +32,23 @@ toNestedView ns ns'
     where
       --------------------------------------
       lvl' :: Level
-      lvl' = getNodeLevel $ head $ nested
+      lvl' = getNodeLevel $ head' "toNestedView" nested
       --------------------------------------
       nested :: [PhyloNode]
       nested = foldl (\ns'' n -> let nIds' = getNodeParentsId n
                                 in map (\n' -> if elem (getNodeId n') nIds'
-                                               then n' & phylo_nodeLevelChilds %~ (++ [n])
+                                               then n' & pn_childs %~ (++ [n])
                                                else n') ns'') ns' ns
       --------------------------------------  
 
 
 -- | To process a DisplayMode to a PhyloView
-processDisplay :: DisplayMode -> PhyloView -> PhyloView
-processDisplay d v = case d of 
-                     Flat   -> v
-                     Nested -> let ns  = sortOn getNodeLevel $ v ^. phylo_viewNodes
-                                   lvl = getNodeLevel $ head ns
-                               in v & phylo_viewNodes .~ toNestedView (filter (\n -> lvl == getNodeLevel n) ns)
-                                                                      (filter (\n -> lvl <  getNodeLevel n) ns) 
-                     --_      -> panic "[ERR][Viz.Phylo.Example.processDisplay] display not found"
+processDisplay :: DisplayMode -> ExportMode -> PhyloView -> PhyloView
+processDisplay d e v = case e of 
+                       Json -> case d of 
+                               Flat   -> v
+                               Nested -> let ns  = sortOn getNodeLevel $ v ^. pv_nodes
+                                             lvl = getNodeLevel $ head' "processDisplay" ns
+                                         in v & pv_nodes .~ toNestedView (filter (\n -> lvl == getNodeLevel n) ns)
+                                                                         (filter (\n -> lvl <  getNodeLevel n) ns)
+                       _    -> v