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
149
Issues
149
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
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
0862c0a7
Commit
0862c0a7
authored
Oct 28, 2022
by
arturo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
>>> continue
parent
f4e6ba80
Pipeline
#3333
failed with stage
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
87 additions
and
19 deletions
+87
-19
Table.purs
src/Gargantext/Components/Table.purs
+87
-19
No files found.
src/Gargantext/Components/Table.purs
View file @
0862c0a7
...
@@ -9,7 +9,7 @@ import Data.Maybe (Maybe(..))
...
@@ -9,7 +9,7 @@ import Data.Maybe (Maybe(..))
import Data.Sequence as Seq
import Data.Sequence as Seq
import Data.Tuple.Nested ((/\))
import Data.Tuple.Nested ((/\))
import Effect (Effect)
import Effect (Effect)
import Effect.Aff (launchAff_)
import Effect.Aff (
Milliseconds(..), delay,
launchAff_)
import Effect.Class (liftEffect)
import Effect.Class (liftEffect)
import Gargantext.Components.App.Store as AppStore
import Gargantext.Components.App.Store as AppStore
import Gargantext.Components.Bootstrap as B
import Gargantext.Components.Bootstrap as B
...
@@ -272,35 +272,70 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
...
@@ -272,35 +272,70 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
date' /\ _
date' /\ _
<- R2.useBox' defaultData.date
<- R2.useBox' defaultData.date
onNamePending' /\ onNamePending
<- R2.useBox' false
onTitlePending' /\ onTitlePending
<- R2.useBox' false
onDescPending' /\ onDescPending
<- R2.useBox' false
onQueryPending' /\ onQueryPending
<- R2.useBox' false
onAuthorsPending' /\ onAuthorsPending
<- R2.useBox' false
-- | Behaviors
-- | Behaviors
-- |
-- |
let
let
onRenameCorpus newName = do
onRenameCorpus newName = do
saveCorpusName {name: newName, session, nodeId}
saveCorpusName { name: newName
, session
, nodeId
, onPending: onNamePending
}
onRenameTitle newTitle = do
onRenameTitle newTitle = do
_ <- T.modify (\(CorpusInfo c) -> CorpusInfo $ c {title = newTitle}) corpusInfoS
_ <- T.modify (\(CorpusInfo c) -> CorpusInfo $ c {title = newTitle}) corpusInfoS
corpusInfo <- T.read corpusInfoS
corpusInfo <- T.read corpusInfoS
let newFields = saveCorpusInfo corpusInfo h.fields
let newFields = saveCorpusInfo corpusInfo h.fields
save {fields: newFields, session, nodeId}
save { fields: newFields
, session
, nodeId
, onPending: onTitlePending
}
onRenameDesc newDesc = do
onRenameDesc newDesc = do
_ <- T.modify (\(CorpusInfo c) -> CorpusInfo $ c {desc = newDesc}) corpusInfoS
_ <- T.modify (\(CorpusInfo c) -> CorpusInfo $ c {desc = newDesc}) corpusInfoS
corpusInfo <- T.read corpusInfoS
corpusInfo <- T.read corpusInfoS
let newFields = saveCorpusInfo corpusInfo h.fields
let newFields = saveCorpusInfo corpusInfo h.fields
save {fields: newFields, session, nodeId}
save { fields: newFields
, session
, nodeId
, onPending: onDescPending
}
onRenameQuery newQuery = do
onRenameQuery newQuery = do
_ <- T.modify (\(CorpusInfo c) -> CorpusInfo $ c {query = newQuery}) corpusInfoS
_ <- T.modify (\(CorpusInfo c) -> CorpusInfo $ c {query = newQuery}) corpusInfoS
corpusInfo <- T.read corpusInfoS
corpusInfo <- T.read corpusInfoS
let newFields = saveCorpusInfo corpusInfo h.fields
let newFields = saveCorpusInfo corpusInfo h.fields
save {fields: newFields, session, nodeId}
save { fields: newFields
, session
, nodeId
, onPending: onQueryPending
}
onRenameAuthors newAuthors = do
onRenameAuthors newAuthors = do
_ <- T.modify (\(CorpusInfo c) -> CorpusInfo $ c {authors = newAuthors}) corpusInfoS
_ <- T.modify (\(CorpusInfo c) -> CorpusInfo $ c {authors = newAuthors}) corpusInfoS
corpusInfo <- T.read corpusInfoS
corpusInfo <- T.read corpusInfoS
let newFields = saveCorpusInfo corpusInfo h.fields
let newFields = saveCorpusInfo corpusInfo h.fields
save {fields: newFields, session, nodeId}
save { fields: newFields
, session
, nodeId
, onPending: onAuthorsPending
}
-- | Render
-- | Render
-- |
-- |
...
@@ -351,6 +386,9 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
...
@@ -351,6 +386,9 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
, type: "submit"
, type: "submit"
, callback: const $ onRenameCorpus name'
, callback: const $ onRenameCorpus name'
, className: "input-group-text"
, className: "input-group-text"
, status: onNamePending' ?
Disabled $
Enabled
}
}
[
[
B.icon
B.icon
...
@@ -397,6 +435,9 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
...
@@ -397,6 +435,9 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
, type: "submit"
, type: "submit"
, callback: const $ onRenameTitle title'
, callback: const $ onRenameTitle title'
, className: "input-group-text"
, className: "input-group-text"
, status: onTitlePending' ?
Disabled $
Enabled
}
}
[
[
B.icon
B.icon
...
@@ -443,6 +484,9 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
...
@@ -443,6 +484,9 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
, type: "submit"
, type: "submit"
, callback: const $ onRenameDesc desc'
, callback: const $ onRenameDesc desc'
, className: "input-group-text"
, className: "input-group-text"
, status: onDescPending' ?
Disabled $
Enabled
}
}
[
[
B.icon
B.icon
...
@@ -493,6 +537,9 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
...
@@ -493,6 +537,9 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
, type: "submit"
, type: "submit"
, callback: const $ onRenameQuery query'
, callback: const $ onRenameQuery query'
, className: "input-group-text"
, className: "input-group-text"
, status: onQueryPending' ?
Disabled $
Enabled
}
}
[
[
B.icon
B.icon
...
@@ -539,6 +586,9 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
...
@@ -539,6 +586,9 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
, type: "submit"
, type: "submit"
, callback: const $ onRenameAuthors authors'
, callback: const $ onRenameAuthors authors'
, className: "input-group-text"
, className: "input-group-text"
, status: onAuthorsPending' ?
Disabled $
Enabled
}
}
[
[
B.icon
B.icon
...
@@ -585,25 +635,43 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
...
@@ -585,25 +635,43 @@ tableHeaderEditionBlockCpt = here.component "tableHeaderEditionBlock" cpt where
-----------------------------------------------------------
-----------------------------------------------------------
save :: {fields :: FTFieldList, session :: Session, nodeId :: Int} -> Effect Unit
save ::
save {fields, session, nodeId} = do
{ fields :: FTFieldList
, session :: Session
, nodeId :: Int
, onPending :: T.Box Boolean
}
-> Effect Unit
save { fields, session, nodeId, onPending } = do
T.write_ true onPending
launchAff_ do
launchAff_ do
res <- saveCorpus $ {hyperdata: Hyperdata {fields}, session, nodeId}
res <- saveCorpus $ {hyperdata: Hyperdata {fields}, session, nodeId}
liftEffect $ do
liftEffect $ do
_ <- case res of
case res of
Left err -> here.warn2 "[corpusLayoutView] onClickSave RESTError" err
Left err -> here.warn2 "[corpusLayoutView] onClickSave RESTError" err
_ -> pure unit
_ -> pure unit
pure unit
-- add a human minimal cognitive delay telling something has being executed
delay $ Milliseconds 200.0
saveCorpusName :: {name :: String, session :: Session, nodeId :: Int} -> Effect Unit
liftEffect $ T.write_ false onPending
saveCorpusName {name, session, nodeId} = do
saveCorpusName ::
{ name :: String
, session :: Session
, nodeId :: Int
, onPending :: T.Box Boolean
}
-> Effect Unit
saveCorpusName { name, session, nodeId, onPending } = do
T.write_ true onPending
launchAff_ do
launchAff_ do
res <- rename session nodeId $ RenameValue {text: name}
res <- rename session nodeId $ RenameValue {text: name}
liftEffect $ do
liftEffect $ do
_ <- case res of
case res of
Left err -> here.warn2 "[corpusLayoutView] onClickSave RESTError" err
Left err -> here.warn2 "[corpusLayoutView] onClickSave RESTError" err
_ -> pure unit
_ -> pure unit
pure unit
-- add a human minimal cognitive delay telling something has being executed
delay $ Milliseconds 200.0
liftEffect $ T.write_ false onPending
tableHeaderLayout :: R2.Component TableHeaderLayoutProps
tableHeaderLayout :: R2.Component TableHeaderLayoutProps
tableHeaderLayout = R.createElement tableHeaderLayoutCpt
tableHeaderLayout = R.createElement tableHeaderLayoutCpt
...
...
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