[breadcrumbs] back to the original version, move approute to frontend

parent 97df2e14
Pipeline #5897 passed with stages
in 193 minutes and 23 seconds
...@@ -26,7 +26,7 @@ import Gargantext.Database.Admin.Config () ...@@ -26,7 +26,7 @@ import Gargantext.Database.Admin.Config ()
import Gargantext.Database.Admin.Types.Node (allNodeTypes, NodeId(..), NodeType) import Gargantext.Database.Admin.Types.Node (allNodeTypes, NodeId(..), NodeType)
import Gargantext.Database.Admin.Types.Node qualified as NN import Gargantext.Database.Admin.Types.Node qualified as NN
import Gargantext.Database.Prelude (CmdCommon) import Gargantext.Database.Prelude (CmdCommon)
import Gargantext.Database.Query.Table.Node (getNode, getChildrenByType, getClosestParentIdByType) import Gargantext.Database.Query.Table.Node (getNode)
import Gargantext.Database.Query.Tree qualified as T import Gargantext.Database.Query.Tree qualified as T
import Gargantext.Database.Schema.Node (NodePoly(_node_parent_id)) import Gargantext.Database.Schema.Node (NodePoly(_node_parent_id))
import Gargantext.Database.Schema.Node qualified as N import Gargantext.Database.Schema.Node qualified as N
...@@ -51,46 +51,11 @@ data TreeFirstLevel m = TreeFirstLevel ...@@ -51,46 +51,11 @@ data TreeFirstLevel m = TreeFirstLevel
, parent :: m (Maybe TreeNode) , parent :: m (Maybe TreeNode)
, children :: [TreeNode] , children :: [TreeNode]
} deriving (Generic, GQLType) } deriving (Generic, GQLType)
data AppRoute =
AnnuaireRoute { nodeId :: Int }
| ContactPageRoute { annuaireId :: Int
, nodeId :: Int }
| CorpusRoute { nodeId :: Int }
| CorpusCodeRoute { nodeId :: Int }
| CorpusDocumentRoute { corpusId :: Int
, documentId :: Int
, listId :: Int }
| DashboardRoute { nodeId :: Int }
| DocumentRoute { documentId :: Int
, listId :: Int }
| FolderRoute { nodeId :: Int }
| FolderPrivateRoute { nodeId :: Int }
| FolderPublicRoute { nodeId :: Int }
| FolderSharedRoute { nodeId :: Int }
| ListsRoute { nodeId :: Int }
| NodeTextsRoute { nodeId :: Int }
| PGraphExplorerRoute { nodeId :: Int }
| PhyloExplorerRoute { nodeId :: Int }
| RouteFileRoute { nodeId :: Int }
| RouteFrameCalcRoute { nodeId :: Int }
| RouteFrameCodeRoute { nodeId :: Int }
| RouteFrameVisioRoute { nodeId :: Int }
| RouteFrameWriteRoute { nodeId :: Int }
| TeamRoute { nodeId :: Int }
| TreeFlatRoute { nodeId :: Int
, query :: Text }
| UserPageRoute { nodeId :: Int }
| ForgotPasswordRoute
| HomeRoute
| LoginRoute
deriving (Generic, GQLType)
data BreadcrumbArgs = BreadcrumbArgs data BreadcrumbArgs = BreadcrumbArgs
{ {
route :: AppRoute nodeId :: Int
} deriving (Generic, GQLType) } deriving (Generic, GQLType)
data BreadcrumbInfo = BreadcrumbInfo data BreadcrumbInfo = BreadcrumbInfo
...@@ -153,7 +118,7 @@ nodeToTreeNode N.Node {..} = ...@@ -153,7 +118,7 @@ nodeToTreeNode N.Node {..} =
Nothing Nothing
resolveBreadcrumb :: (CmdCommon env) => BreadcrumbArgs -> GqlM e env BreadcrumbInfo resolveBreadcrumb :: (CmdCommon env) => BreadcrumbArgs -> GqlM e env BreadcrumbInfo
resolveBreadcrumb BreadcrumbArgs { route } = dbRecursiveParents route resolveBreadcrumb BreadcrumbArgs { nodeId } = dbRecursiveParents nodeId
convertDbTreeToTreeNode :: HasCallStack => T.DbTreeNode -> TreeNode convertDbTreeToTreeNode :: HasCallStack => T.DbTreeNode -> TreeNode
convertDbTreeToTreeNode T.DbTreeNode { _dt_name, _dt_nodeId, _dt_typeId, _dt_parentId } = convertDbTreeToTreeNode T.DbTreeNode { _dt_name, _dt_nodeId, _dt_typeId, _dt_parentId } =
...@@ -164,72 +129,9 @@ convertDbTreeToTreeNode T.DbTreeNode { _dt_name, _dt_nodeId, _dt_typeId, _dt_par ...@@ -164,72 +129,9 @@ convertDbTreeToTreeNode T.DbTreeNode { _dt_name, _dt_nodeId, _dt_typeId, _dt_par
, parent_id = NN.unNodeId <$> _dt_parentId , parent_id = NN.unNodeId <$> _dt_parentId
} }
dbRecursiveParents :: (CmdCommon env) => AppRoute -> GqlM e env BreadcrumbInfo
dbRecursiveParents (AnnuaireRoute { .. }) = do dbRecursiveParents :: (CmdCommon env) => Int -> GqlM e env BreadcrumbInfo
dbRecursiveParents' nodeId dbRecursiveParents nodeId = do
dbRecursiveParents (ContactPageRoute { .. }) = do
dbRecursiveParents' annuaireId
dbRecursiveParents (CorpusRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (CorpusCodeRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (CorpusDocumentRoute { .. }) = do
docIds <- lift $ getChildrenByType (UnsafeMkNodeId corpusId) NN.NodeTexts
let docId = maybe corpusId NN._NodeId $ head docIds
dbRecursiveParents' docId
dbRecursiveParents (DashboardRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (DocumentRoute { .. }) = do
mCorpusId <- lift $ getClosestParentIdByType (UnsafeMkNodeId listId) NN.NodeCorpus
let nodeId = maybe listId NN._NodeId mCorpusId
dbRecursiveParents' nodeId
dbRecursiveParents (FolderRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (FolderPrivateRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (FolderPublicRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (FolderSharedRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (ListsRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (NodeTextsRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (PGraphExplorerRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (PhyloExplorerRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (RouteFileRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (RouteFrameCalcRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (RouteFrameCodeRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (RouteFrameVisioRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (RouteFrameWriteRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (TeamRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (TreeFlatRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents (UserPageRoute { .. }) = do
dbRecursiveParents' nodeId
dbRecursiveParents ForgotPasswordRoute = do
pure $ BreadcrumbInfo { parents = [] }
dbRecursiveParents HomeRoute = do
pure $ BreadcrumbInfo { parents = [] }
dbRecursiveParents LoginRoute = do
pure $ BreadcrumbInfo { parents = [] }
-- let nId = UnsafeMkNodeId node_id
-- dbParents <- lift $ T.recursiveParents nId allNodeTypes
-- let treeNodes = map convertDbTreeToTreeNode dbParents
-- let breadcrumbInfo = BreadcrumbInfo { parents = treeNodes }
-- pure breadcrumbInfo
dbRecursiveParents' :: (CmdCommon env) => Int -> GqlM e env BreadcrumbInfo
dbRecursiveParents' nodeId = do
let nId = UnsafeMkNodeId nodeId let nId = UnsafeMkNodeId nodeId
dbParents <- lift $ T.recursiveParents nId allNodeTypes dbParents <- lift $ T.recursiveParents nId allNodeTypes
let treeNodes = map convertDbTreeToTreeNode dbParents let treeNodes = map convertDbTreeToTreeNode dbParents
......
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