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
7f97bed3
Commit
7f97bed3
authored
Jan 20, 2021
by
Przemyslaw Kaminski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[bootstrap v4] open parent when moving node
parent
25507fe9
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
44 additions
and
51 deletions
+44
-51
Tree.purs
src/Gargantext/Components/Forest/Tree.purs
+3
-1
Node.purs
src/Gargantext/Components/Forest/Tree/Node.purs
+1
-1
Action.purs
src/Gargantext/Components/Forest/Tree/Node/Action.purs
+1
-0
Move.purs
src/Gargantext/Components/Forest/Tree/Node/Action/Move.purs
+7
-6
Share.purs
src/Gargantext/Components/Forest/Tree/Node/Action/Share.purs
+2
-2
Box.purs
src/Gargantext/Components/Forest/Tree/Node/Box.purs
+8
-8
Tools.purs
src/Gargantext/Components/Forest/Tree/Node/Tools.purs
+18
-28
SubTree.purs
...Gargantext/Components/Forest/Tree/Node/Tools/SubTree.purs
+4
-5
No files found.
src/Gargantext/Components/Forest/Tree.purs
View file @
7f97bed3
...
@@ -455,11 +455,13 @@ performAction (UploadArbitraryFile mName blob) { asyncTasks: (_ /\ dispatch)
...
@@ -455,11 +455,13 @@ performAction (UploadArbitraryFile mName blob) { asyncTasks: (_ /\ dispatch)
performAction DownloadNode _ = do
performAction DownloadNode _ = do
liftEffect $ log "[performAction] DownloadNode"
liftEffect $ log "[performAction] DownloadNode"
-------
-------
performAction (MoveNode {params}) p@{session} =
performAction (MoveNode {params}) p@{ openNodes: (_ /\ setOpenNodes)
, session } =
case params of
case params of
Nothing -> performAction NoAction p
Nothing -> performAction NoAction p
Just (SubTreeOut {in:in',out}) -> do
Just (SubTreeOut {in:in',out}) -> do
void $ moveNodeReq session in' out
void $ moveNodeReq session in' out
liftEffect $ setOpenNodes (Set.insert (mkNodeId session out))
performAction RefreshTree p
performAction RefreshTree p
performAction (MergeNode {params}) p@{session} =
performAction (MergeNode {params}) p@{session} =
...
...
src/Gargantext/Components/Forest/Tree/Node.purs
View file @
7f97bed3
...
@@ -115,7 +115,7 @@ nodeMainSpan = R.createElement nodeMainSpanCpt
...
@@ -115,7 +115,7 @@ nodeMainSpan = R.createElement nodeMainSpanCpt
, name: name' props
, name: name' props
, nodeType
, nodeType
, session
, session
}
}
[]
, fileTypeView { dispatch, droppedFile, id, isDragOver, nodeType }
, fileTypeView { dispatch, droppedFile, id, isDragOver, nodeType }
, H.div {} (map (\t -> asyncProgressBar { asyncTask: t
, H.div {} (map (\t -> asyncProgressBar { asyncTask: t
...
...
src/Gargantext/Components/Forest/Tree/Node/Action.purs
View file @
7f97bed3
...
@@ -2,6 +2,7 @@ module Gargantext.Components.Forest.Tree.Node.Action where
...
@@ -2,6 +2,7 @@ module Gargantext.Components.Forest.Tree.Node.Action where
import Data.Maybe (Maybe(..))
import Data.Maybe (Maybe(..))
import Effect.Aff (Aff)
import Effect.Aff (Aff)
import Gargantext.Prelude (class Show, Unit)
import Gargantext.Prelude (class Show, Unit)
import Gargantext.Sessions (Session)
import Gargantext.Sessions (Session)
import Gargantext.Types as GT
import Gargantext.Types as GT
...
...
src/Gargantext/Components/Forest/Tree/Node/Action/Move.purs
View file @
7f97bed3
...
@@ -6,15 +6,16 @@ import Effect.Aff (Aff)
...
@@ -6,15 +6,16 @@ import Effect.Aff (Aff)
import Reactix as R
import Reactix as R
import Reactix.DOM.HTML as H
import Reactix.DOM.HTML as H
import Gargantext.Prelude
import Gargantext.Components.Forest.Tree.Node.Action (Action(..))
import Gargantext.Components.Forest.Tree.Node.Action (Action(..))
import Gargantext.Components.Forest.Tree.Node.Tools (submitButton, panel)
import Gargantext.Components.Forest.Tree.Node.Tools (submitButton, panel)
import Gargantext.Components.Forest.Tree.Node.Tools.SubTree (subTreeView, SubTreeParamsIn)
import Gargantext.Components.Forest.Tree.Node.Tools.SubTree (subTreeView, SubTreeParamsIn)
import Gargantext.Prelude
import Gargantext.Routes (SessionRoute(..))
import Gargantext.Routes (SessionRoute(..))
import Gargantext.Sessions (Session, put_)
import Gargantext.Sessions (Session, put_)
import Gargantext.Types as GT
import Gargantext.Types as GT
import Gargantext.Utils.Reactix as R2
thisModule :: String
thisModule = "Gargantext.Components.Forest.Tree.Node.Action.Move"
thisModule = "Gargantext.Components.Forest.Tree.Node.Action.Move"
moveNodeReq :: Session -> GT.ID -> GT.ID -> Aff (Array GT.ID)
moveNodeReq :: Session -> GT.ID -> GT.ID -> Aff (Array GT.ID)
...
@@ -23,11 +24,11 @@ moveNodeReq session fromId toId =
...
@@ -23,11 +24,11 @@ moveNodeReq session fromId toId =
moveNode :: Record SubTreeParamsIn -> R.Element
moveNode :: Record SubTreeParamsIn -> R.Element
moveNode p = R.createElement moveNodeCpt p []
moveNode p = R.createElement moveNodeCpt p []
moveNodeCpt :: R.Component SubTreeParamsIn
moveNodeCpt = R.hooksComponentWithModule thisModule "moveNode" cpt
where
where
cpt p@{dispatch, subTreeParams, id, nodeType, session, handed} _ = do
moveNodeCpt :: R.Component SubTreeParamsIn
moveNodeCpt = R.hooksComponentWithModule thisModule "moveNode" cpt
cpt { dispatch, handed, id, nodeType, session, subTreeParams } _ = do
action@(valAction /\ setAction) :: R.State Action <- R.useState' (MoveNode {params: Nothing})
action@(valAction /\ setAction) :: R.State Action <- R.useState' (MoveNode {params: Nothing})
let button = case valAction of
let button = case valAction of
...
...
src/Gargantext/Components/Forest/Tree/Node/Action/Share.purs
View file @
7f97bed3
...
@@ -20,8 +20,8 @@ import Gargantext.Sessions (Session, post)
...
@@ -20,8 +20,8 @@ import Gargantext.Sessions (Session, post)
import Gargantext.Types (ID)
import Gargantext.Types (ID)
import Gargantext.Types as GT
import Gargantext.Types as GT
import Gargantext.Utils.Argonaut (genericSumDecodeJson, genericSumEncodeJson)
import Gargantext.Utils.Argonaut (genericSumDecodeJson, genericSumEncodeJson)
import Gargantext.Utils.Reactix as R2
thisModule :: String
thisModule = "Gargantext.Components.Forest.Tree.Node.Action.Share"
thisModule = "Gargantext.Components.Forest.Tree.Node.Action.Share"
------------------------------------------------------------------------
------------------------------------------------------------------------
...
@@ -34,7 +34,7 @@ shareAction username = Action.ShareTeam username
...
@@ -34,7 +34,7 @@ shareAction username = Action.ShareTeam username
------------------------------------------------------------------------
------------------------------------------------------------------------
textInputBox :: Record Tools.TextInputBoxProps -> R.Element
textInputBox :: Record Tools.TextInputBoxProps -> R.Element
textInputBox
= Tools.textInputBox
textInputBox
p = Tools.textInputBox p []
------------------------------------------------------------------------
------------------------------------------------------------------------
data ShareNodeParams = ShareTeamParams { username :: String }
data ShareNodeParams = ShareTeamParams { username :: String }
...
...
src/Gargantext/Components/Forest/Tree/Node/Box.purs
View file @
7f97bed3
...
@@ -100,7 +100,7 @@ nodePopupView p = R.createElement nodePopupCpt p []
...
@@ -100,7 +100,7 @@ nodePopupView p = R.createElement nodePopupCpt p []
, id
, id
, text: name
, text: name
, isOpen: renameIsOpen
, isOpen: renameIsOpen
}
}
[]
else
else
H.span { className: "text-primary center" } [H.text p.name]
H.span { className: "text-primary center" } [H.text p.name]
]
]
...
@@ -291,18 +291,18 @@ panelAction p = R.createElement panelActionCpt p []
...
@@ -291,18 +291,18 @@ panelAction p = R.createElement panelActionCpt p []
, id
, id
, text: "username"
, text: "username"
, isOpen
, isOpen
}
}
[]
] $ H.div {} []
] $ H.div {} []
cpt {action : AddingContact, dispatch, id, name } _ = do
cpt {action : AddingContact, dispatch, id, name } _ = do
isOpen <- R.useState' true
isOpen <- R.useState' true
pure $ Contact.textInputBox { id
pure $ Contact.textInputBox { id
, dispatch
, dispatch
, isOpen
, isOpen
, boxName:"addContact"
, boxName:"addContact"
, params : {firstname:"First Name", lastname: "Last Name"}
, params : {firstname:"First Name", lastname: "Last Name"}
, boxAction: \p -> AddContact p
, boxAction: \p -> AddContact p
}
}
...
...
src/Gargantext/Components/Forest/Tree/Node/Tools.purs
View file @
7f97bed3
...
@@ -64,22 +64,23 @@ type TextInputBoxProps =
...
@@ -64,22 +64,23 @@ type TextInputBoxProps =
, boxAction :: String -> Action
, boxAction :: String -> Action
)
)
textInputBox :: R
ecord TextInputBoxProps -> R.Element
textInputBox :: R
2.Component TextInputBoxProps
textInputBox p
@{ boxName, boxAction, dispatch, isOpen: (true /\ setIsOpen) } = R.createElement el p []
textInputBox p
rops@{ boxName } = R.createElement el props
where
where
el :: R.Component TextInputBoxProps
el = R.hooksComponentWithModule thisModule (boxName <> "Box") cpt
el = R.hooksComponentWithModule thisModule (boxName <> "Box") cpt
cpt
{id, text
} _ = do
cpt
p@{ boxAction, dispatch, id, isOpen: (true /\ setIsOpen), text
} _ = do
renameNodeNameRef <- R.useRef text
renameNodeNameRef <- R.useRef text
pure $ H.div {
className: "from-group row"
}
pure $ H.div {
className: "from-group row"
}
[ textInput renameNodeNameRef
[ textInput renameNodeNameRef
, submitBtn renameNodeNameRef
, submitBtn renameNodeNameRef
, cancelBtn
, cancelBtn
]
]
where
where
textInput renameNodeNameRef =
textInput renameNodeNameRef =
H.div {
className: "col-8"
}
H.div {
className: "col-8"
}
[ inputWithEnter {
[ inputWithEnter {
onEnter: submit renameNodeNameRef
onEnter: submit renameNodeNameRef
, onValueChanged: R.setRef renameNodeNameRef
, onValueChanged: R.setRef renameNodeNameRef
...
@@ -90,23 +91,15 @@ textInputBox p@{ boxName, boxAction, dispatch, isOpen: (true /\ setIsOpen) } = R
...
@@ -90,23 +91,15 @@ textInputBox p@{ boxName, boxAction, dispatch, isOpen: (true /\ setIsOpen) } = R
, placeholder: (boxName <> " Node")
, placeholder: (boxName <> " Node")
, type: "text"
, type: "text"
}
}
-- [ H.input { type: "text"
]
-- , placeholder: (boxName <> " Node")
-- , defaultValue: text
-- , className: "form-control"
-- , on: { input: setRenameNodeName
-- <<< const
-- <<< R.unsafeEventValue }
-- }
]
submitBtn renameNodeNameRef =
submitBtn renameNodeNameRef =
H.a {
className: "col-2 " <>
glyphicon "floppy-o"
H.a {
className: "col-2 " <>
glyphicon "floppy-o"
, type: "button"
, type: "button"
, on: { click: submit renameNodeNameRef }
, on: { click: submit renameNodeNameRef }
, title: "Submit"
, title: "Submit"
} []
} []
cancelBtn =
cancelBtn =
H.a {className: "text-danger col-2 " <> glyphicon "times"
H.a {
className: "text-danger col-2 " <> glyphicon "times"
, type: "button"
, type: "button"
, on: { click: \_ -> setIsOpen $ const false }
, on: { click: \_ -> setIsOpen $ const false }
, title: "Cancel"
, title: "Cancel"
...
@@ -114,10 +107,7 @@ textInputBox p@{ boxName, boxAction, dispatch, isOpen: (true /\ setIsOpen) } = R
...
@@ -114,10 +107,7 @@ textInputBox p@{ boxName, boxAction, dispatch, isOpen: (true /\ setIsOpen) } = R
submit renameNodeNameRef _ = do
submit renameNodeNameRef _ = do
setIsOpen $ const false
setIsOpen $ const false
launchAff_ $ dispatch ( boxAction $ R.readRef renameNodeNameRef )
launchAff_ $ dispatch ( boxAction $ R.readRef renameNodeNameRef )
textInputBox p@{ boxName, isOpen: (false /\ _) } = R.createElement el p []
cpt { isOpen: (false /\ _) } _ = pure $ H.div {} []
where
el = R.hooksComponentWithModule thisModule (boxName <> "Box") cpt
cpt {text} _ = pure $ H.div {} []
-- | END Rename Box
-- | END Rename Box
...
@@ -300,12 +290,12 @@ type NodeLinkProps = (
...
@@ -300,12 +290,12 @@ type NodeLinkProps = (
, handed :: GT.Handed
, handed :: GT.Handed
)
)
nodeLink :: Record NodeLinkProps -> R.Element
nodeLink :: R2.Component NodeLinkProps
nodeLink p = R.createElement nodeLinkCpt p []
nodeLink = R.createElement nodeLinkCpt
nodeLinkCpt :: R.Component NodeLinkProps
nodeLinkCpt = R.hooksComponentWithModule thisModule "nodeLink" cpt
where
where
nodeLinkCpt :: R.Component NodeLinkProps
nodeLinkCpt = R.hooksComponentWithModule thisModule "nodeLink" cpt
cpt { folderOpen: (_ /\ setFolderOpen)
cpt { folderOpen: (_ /\ setFolderOpen)
, frontends
, frontends
, handed
, handed
...
@@ -358,10 +348,10 @@ type NodeTextProps =
...
@@ -358,10 +348,10 @@ type NodeTextProps =
nodeText :: Record NodeTextProps -> R.Element
nodeText :: Record NodeTextProps -> R.Element
nodeText p = R.createElement nodeTextCpt p []
nodeText p = R.createElement nodeTextCpt p []
nodeTextCpt :: R.Component NodeTextProps
nodeTextCpt = R.hooksComponentWithModule thisModule "nodeText" cpt
where
where
nodeTextCpt :: R.Component NodeTextProps
nodeTextCpt = R.hooksComponentWithModule thisModule "nodeText" cpt
cpt { isSelected: true, name } _ = do
cpt { isSelected: true, name } _ = do
pure $ H.u {} [
pure $ H.u {} [
H.b {} [
H.b {} [
...
...
src/Gargantext/Components/Forest/Tree/Node/Tools/SubTree.purs
View file @
7f97bed3
...
@@ -3,7 +3,6 @@ module Gargantext.Components.Forest.Tree.Node.Tools.SubTree where
...
@@ -3,7 +3,6 @@ module Gargantext.Components.Forest.Tree.Node.Tools.SubTree where
import Data.Array as A
import Data.Array as A
import Data.Maybe (Maybe(..))
import Data.Maybe (Maybe(..))
import Data.Tuple.Nested ((/\))
import Data.Tuple.Nested ((/\))
import Effect.Uncurried (mkEffectFn1)
import Effect.Aff (Aff)
import Effect.Aff (Aff)
import React.SyntheticEvent as E
import React.SyntheticEvent as E
import Reactix as R
import Reactix as R
...
@@ -19,8 +18,8 @@ import Gargantext.Hooks.Loader (useLoader)
...
@@ -19,8 +18,8 @@ import Gargantext.Hooks.Loader (useLoader)
import Gargantext.Routes as GR
import Gargantext.Routes as GR
import Gargantext.Sessions (Session(..), get)
import Gargantext.Sessions (Session(..), get)
import Gargantext.Types as GT
import Gargantext.Types as GT
import Gargantext.Utils.Reactix as R2
thisModule :: String
thisModule = "Gargantext.Components.Forest.Tree.Node.Tools.SubTree"
thisModule = "Gargantext.Components.Forest.Tree.Node.Tools.SubTree"
type SubTreeParamsIn =
type SubTreeParamsIn =
...
@@ -37,10 +36,10 @@ type SubTreeParamsProps =
...
@@ -37,10 +36,10 @@ type SubTreeParamsProps =
subTreeView :: Record SubTreeParamsProps -> R.Element
subTreeView :: Record SubTreeParamsProps -> R.Element
subTreeView props = R.createElement subTreeViewCpt props []
subTreeView props = R.createElement subTreeViewCpt props []
subTreeViewCpt :: R.Component SubTreeParamsProps
subTreeViewCpt = R.hooksComponentWithModule thisModule "subTreeView" cpt
where
where
subTreeViewCpt :: R.Component SubTreeParamsProps
subTreeViewCpt = R.hooksComponentWithModule thisModule "subTreeView" cpt
cpt params@{ action
cpt params@{ action
, dispatch
, dispatch
, handed
, handed
...
...
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