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
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
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
Grégoire Locqueville
purescript-gargantext
Commits
32c5689d
Commit
32c5689d
authored
Oct 22, 2018
by
Mael NICOLAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changed User to Contact, need to resolve some issue on the type
parent
dcf2f584
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
96 additions
and
63 deletions
+96
-63
Annuaire.purs
src/Gargantext/Pages/Annuaire.purs
+9
-10
Contacts.purs
src/Gargantext/Pages/Annuaire/User/Contacts.purs
+7
-0
API.purs
src/Gargantext/Pages/Annuaire/User/Contacts/API.purs
+7
-7
Specs.purs
src/Gargantext/Pages/Annuaire/User/Contacts/Specs.purs
+13
-0
Documents.purs
...gantext/Pages/Annuaire/User/Contacts/Specs/Documents.purs
+1
-1
Renders.purs
...argantext/Pages/Annuaire/User/Contacts/Specs/Renders.purs
+9
-9
Types.purs
src/Gargantext/Pages/Annuaire/User/Contacts/Types.purs
+7
-7
Lens.purs
src/Gargantext/Pages/Annuaire/User/Contacts/Types/Lens.purs
+6
-6
States.purs
...Gargantext/Pages/Annuaire/User/Contacts/Types/States.purs
+21
-0
Types.purs
src/Gargantext/Pages/Annuaire/User/Contacts/Types/Types.purs
+5
-5
Users.purs
src/Gargantext/Pages/Annuaire/User/Users.purs
+0
-7
Layout.purs
src/Gargantext/Pages/Layout.purs
+2
-2
Actions.purs
src/Gargantext/Pages/Layout/Actions.purs
+3
-3
Specs.purs
src/Gargantext/Pages/Layout/Specs.purs
+2
-2
States.purs
src/Gargantext/Pages/Layout/States.purs
+4
-4
No files found.
src/Gargantext/Pages/Annuaire.purs
View file @
32c5689d
...
...
@@ -20,7 +20,7 @@ import Effect.Aff (Aff)
import Gargantext.Config (toUrl, NodeType(..), End(..))
import Gargantext.Config.REST (get)
import Gargantext.Pages.Annuaire.User.
Users.Types.Types (User
(..), HyperData(..))
import Gargantext.Pages.Annuaire.User.
Contacts.Types.Types (Contact
(..), HyperData(..))
import Gargantext.Utils.DecodeMaybe ((.?|))
import Data.Argonaut (class DecodeJson, decodeJson, (.?))
...
...
@@ -75,7 +75,7 @@ defaultAnnuaireInfo = AnnuaireInfo { id : 0
, hyperdata : ""
}
------------------------------------------------------------------------------
toRows :: AnnuaireTable -> Array (Maybe
User
)
toRows :: AnnuaireTable -> Array (Maybe
Contact
)
toRows (AnnuaireTable a) = a.annuaireTable
layoutAnnuaire :: Spec State {} Action
...
...
@@ -126,14 +126,14 @@ render dispatch _ state _ = [ div [className "row"]
individuals = maybe (toRows defaultAnnuaireTable) toRows state.stable
showRow :: Maybe
User
-> ReactElement
showRow :: Maybe
Contact
-> ReactElement
showRow Nothing = tr [][]
showRow (Just (
User { id : id, hyperdata : (HyperData user
) })) =
showRow (Just (
Contact { id : id, hyperdata : (HyperData contact
) })) =
tr []
[ td [] [ a [ href (toUrl Back NodeUser id) ] [ text $ maybe'
user.nom <> " " <> maybe' user
.prenom ] ]
, td [] [text $ maybe'
user
.fonction]
, td [] [text $ maybe'
user
.service]
, td [] [text $ maybe'
user
.groupe]
[ td [] [ a [ href (toUrl Back NodeUser id) ] [ text $ maybe'
contact.nom <> " " <> maybe' contact
.prenom ] ]
, td [] [text $ maybe'
contact
.fonction]
, td [] [text $ maybe'
contact
.service]
, td [] [text $ maybe'
contact
.groupe]
]
where
maybe' = maybe "" identity
...
...
@@ -169,7 +169,7 @@ instance decodeAnnuaireInfo :: DecodeJson AnnuaireInfo where
}
newtype AnnuaireTable = AnnuaireTable { annuaireTable :: Array (Maybe
User
)}
newtype AnnuaireTable = AnnuaireTable { annuaireTable :: Array (Maybe
Contact
)}
instance decodeAnnuaireTable :: DecodeJson AnnuaireTable where
decodeJson json = do
rows <- decodeJson json
...
...
@@ -177,7 +177,6 @@ instance decodeAnnuaireTable :: DecodeJson AnnuaireTable where
------------------------------------------------------------------------
performAction :: PerformAction State {} Action
performAction (Load aId) _ _ = do
eitherInfo <- lift $ getInfo aId
_ <- case eitherInfo of
(Right info') -> void $ modifyState $ _info ?~ info'
...
...
src/Gargantext/Pages/Annuaire/User/Contacts.purs
0 → 100644
View file @
32c5689d
module Gargantext.Pages.Annuaire.User.Contacts
(module Gargantext.Pages.Annuaire.User.Contacts.Types,
module Gargantext.Pages.Annuaire.User.Contacts.Specs)
where
import Gargantext.Pages.Annuaire.User.Contacts.Types
import Gargantext.Pages.Annuaire.User.Contacts.Specs
src/Gargantext/Pages/Annuaire/User/
User
s/API.purs
→
src/Gargantext/Pages/Annuaire/User/
Contact
s/API.purs
View file @
32c5689d
module Gargantext.Pages.Annuaire.User.
User
s.API where
module Gargantext.Pages.Annuaire.User.
Contact
s.API where
import Prelude
...
...
@@ -12,19 +12,19 @@ import Effect.Console (log)
import Gargantext.Config (toUrl, NodeType(..), End(..))
import Gargantext.Config.REST (get)
import Gargantext.Pages.Annuaire.User.
Users.Types (Action(..), State, User, _user
)
import Gargantext.Pages.Annuaire.User.
Contacts.Types (Action(..), State, Contact, _contact
)
import Thermite (PerformAction, modifyState)
getUser :: Int -> Aff (Either String
User
)
getUser :: Int -> Aff (Either String
Contact
)
getUser id = get $ toUrl Back Node id
performAction :: PerformAction State {} Action
performAction (Fetch
User user
Id) _ _ = do
value <- lift $ getUser
user
Id
performAction (Fetch
Contact contact
Id) _ _ = do
value <- lift $ getUser
contact
Id
_ <- case value of
(Right
user) -> void $ modifyState $ _user ?~ user
(Right
contact) -> void $ modifyState $ _contact ?~ contact
(Left err) -> do
liftEffect $ log err
liftEffect <<< log $ "Fetching
user
..."
liftEffect <<< log $ "Fetching
contact
..."
performAction _ _ _ = pure unit
src/Gargantext/Pages/Annuaire/User/
User
s/Specs.purs
→
src/Gargantext/Pages/Annuaire/User/
Contact
s/Specs.purs
View file @
32c5689d
module Gargantext.Pages.Annuaire.User.
User
s.Specs
(module Gargantext.Pages.Annuaire.User.
User
s.Specs.Renders,
module Gargantext.Pages.Annuaire.User.
Contact
s.Specs
(module Gargantext.Pages.Annuaire.User.
Contact
s.Specs.Renders,
layoutUser)
where
import Gargantext.Pages.Annuaire.User.
User
s.Specs.Renders
import Gargantext.Pages.Annuaire.User.
Contact
s.Specs.Renders
import Thermite (Spec, simpleSpec)
import Gargantext.Pages.Annuaire.User.
User
s.Types (Action, State)
import Gargantext.Pages.Annuaire.User.
User
s.API (performAction)
import Gargantext.Pages.Annuaire.User.
Contact
s.Types (Action, State)
import Gargantext.Pages.Annuaire.User.
Contact
s.API (performAction)
layoutUser :: Spec State {} Action
layoutUser = simpleSpec performAction render
src/Gargantext/Pages/Annuaire/User/
User
s/Specs/Documents.purs
→
src/Gargantext/Pages/Annuaire/User/
Contact
s/Specs/Documents.purs
View file @
32c5689d
module Gargantext.Pages.Annuaire.User.
User
s.Specs.Documents where
module Gargantext.Pages.Annuaire.User.
Contact
s.Specs.Documents where
import Prelude
import React.DOM (table, tbody, td, text, th, thead, tr)
...
...
src/Gargantext/Pages/Annuaire/User/
User
s/Specs/Renders.purs
→
src/Gargantext/Pages/Annuaire/User/
Contact
s/Specs/Renders.purs
View file @
32c5689d
module Gargantext.Pages.Annuaire.User.
User
s.Specs.Renders
module Gargantext.Pages.Annuaire.User.
Contact
s.Specs.Renders
where
import Gargantext.Pages.Annuaire.User.
User
s.Types
import Gargantext.Pages.Annuaire.User.
Contact
s.Types
import Data.List (List, zipWith, catMaybes, toUnfoldable)
import Data.Unfoldable (class Unfoldable)
...
...
@@ -20,20 +20,20 @@ render :: Render State {} Action
render dispatch _ state _ =
[
div [className "col-md-12"]
$ case state.
user
of
(Just (
User user)) -> display user.name [userInfos user
.hyperdata]
Nothing -> display "
User
not found" []
$ case state.
contact
of
(Just (
Contact contact)) -> display contact.name [contactInfos contact
.hyperdata]
Nothing -> display "
Contact
not found" []
]
display :: String -> Array ReactElement -> Array ReactElement
display title elems =
[ div [className "container-fluid"]
[ div [className "row", _id "
user
-page-header"]
[ div [className "row", _id "
contact
-page-header"]
[ div [className "col-md-6"] [ h3 [] [text title] ]
, div [className "col-md-8"] []
, div [className "col-md-2"] [ span [] [text ""] ]
]
, div [className "row", _id "
user
-page-info"]
, div [className "row", _id "
contact
-page-info"]
[ div [className "col-md-12"]
[ div [className "row"]
[ div [className "col-md-2"]
...
...
@@ -54,8 +54,8 @@ mapMyMap f m = toUnfoldable
infixl 4 mapMyMap as <.~$>
user
Infos :: Maybe HyperData -> ReactElement
user
Infos hyperdata =
contact
Infos :: Maybe HyperData -> ReactElement
contact
Infos hyperdata =
ul [className "list-group"] $
listInfo <.~$> (checkMaybe hyperdata)
where
...
...
src/Gargantext/Pages/Annuaire/User/
User
s/Types.purs
→
src/Gargantext/Pages/Annuaire/User/
Contact
s/Types.purs
View file @
32c5689d
module Gargantext.Pages.Annuaire.User.
User
s.Types
(module Gargantext.Pages.Annuaire.User.
User
s.Types.Types,
module Gargantext.Pages.Annuaire.User.
User
s.Types.Lens,
module Gargantext.Pages.Annuaire.User.
User
s.Types.States,
module Gargantext.Pages.Annuaire.User.
Contact
s.Types
(module Gargantext.Pages.Annuaire.User.
Contact
s.Types.Types,
module Gargantext.Pages.Annuaire.User.
Contact
s.Types.Lens,
module Gargantext.Pages.Annuaire.User.
Contact
s.Types.States,
brevetSpec,
projectSpec,
facets
...
...
@@ -10,9 +10,9 @@ module Gargantext.Pages.Annuaire.User.Users.Types
import Prelude
import Gargantext.Pages.Annuaire.User.
User
s.Types.Lens
import Gargantext.Pages.Annuaire.User.
User
s.Types.Types
import Gargantext.Pages.Annuaire.User.
User
s.Types.States
import Gargantext.Pages.Annuaire.User.
Contact
s.Types.Lens
import Gargantext.Pages.Annuaire.User.
Contact
s.Types.Types
import Gargantext.Pages.Annuaire.User.
Contact
s.Types.States
import Gargantext.Pages.Annuaire.User.Brevets as B
import Data.List (fromFoldable)
import Data.Tuple (Tuple(..))
...
...
src/Gargantext/Pages/Annuaire/User/
User
s/Types/Lens.purs
→
src/Gargantext/Pages/Annuaire/User/
Contact
s/Types/Lens.purs
View file @
32c5689d
module Gargantext.Pages.Annuaire.User.
User
s.Types.Lens where
module Gargantext.Pages.Annuaire.User.
Contact
s.Types.Lens where
import Gargantext.Pages.Annuaire.User.Brevets as B
import Data.Either (Either(..))
import Data.Lens (Lens', Prism', lens, prism)
import Data.Maybe (Maybe)
import Gargantext.Pages.Annuaire.User.
User
s.Types.States (Action(..), State)
import Gargantext.Pages.Annuaire.User.
Users.Types.Types (User
)
import Gargantext.Pages.Annuaire.User.
User
s.Specs.Documents as P
import Gargantext.Pages.Annuaire.User.
Contact
s.Types.States (Action(..), State)
import Gargantext.Pages.Annuaire.User.
Contacts.Types.Types (Contact
)
import Gargantext.Pages.Annuaire.User.
Contact
s.Specs.Documents as P
import Gargantext.Components.Tab as Tab
import Thermite (Spec, noState)
_
user :: Lens' State (Maybe User
)
_
user = lens (\s -> s.user) (\s ss -> s{user
= ss})
_
contact :: Lens' State (Maybe Contact
)
_
contact = lens (\s -> s.contact) (\s ss -> s{contact
= ss})
_tablens :: Lens' State Tab.State
_tablens = lens (\s -> s.activeTab) (\s ss -> s {activeTab = ss})
...
...
src/Gargantext/Pages/Annuaire/User/
User
s/Types/States.purs
→
src/Gargantext/Pages/Annuaire/User/
Contact
s/Types/States.purs
View file @
32c5689d
module Gargantext.Pages.Annuaire.User.
User
s.Types.States where
module Gargantext.Pages.Annuaire.User.
Contact
s.Types.States where
import Data.Maybe (Maybe(..))
import Gargantext.Pages.Annuaire.User.
Users.Types.Types (User
)
import Gargantext.Pages.Annuaire.User.
User
s.Specs.Documents as P
import Gargantext.Pages.Annuaire.User.
Contacts.Types.Types (Contact
)
import Gargantext.Pages.Annuaire.User.
Contact
s.Specs.Documents as P
import Gargantext.Components.Tab as Tab
data Action
= TabA Tab.Action
| Fetch
User
Int
| Fetch
Contact
Int
type State =
{ activeTab :: Int
,
user :: Maybe User
,
contact :: Maybe Contact
}
initialState :: State
initialState =
{ activeTab : 0
,
user
: Nothing
,
contact
: Nothing
}
src/Gargantext/Pages/Annuaire/User/
User
s/Types/Types.purs
→
src/Gargantext/Pages/Annuaire/User/
Contact
s/Types/Types.purs
View file @
32c5689d
module Gargantext.Pages.Annuaire.User.
User
s.Types.Types where
module Gargantext.Pages.Annuaire.User.
Contact
s.Types.Types where
import Prelude
...
...
@@ -36,8 +36,8 @@ the "user" field is encapsulated in a Maybe.
-}
newtype
User
=
User
{ id :: Int
newtype
Contact
=
Contact
{ id :: Int
, typename :: Maybe Int
, userId :: Int
, parentId :: Int
...
...
@@ -105,7 +105,7 @@ instance decodeUserHyperData :: DecodeJson HyperData where
, entite2, mail
}
instance decodeUser :: DecodeJson
User
where
instance decodeUser :: DecodeJson
Contact
where
decodeJson json = do
obj <- decodeJson json
id <- obj .? "id"
...
...
@@ -115,7 +115,7 @@ instance decodeUser :: DecodeJson User where
name <- obj .? "name"
date <- obj .?| "date"
hyperdata <- obj .? "hyperdata"
pure $
User
{ id, typename, userId
pure $
Contact
{ id, typename, userId
, parentId, name, date
, hyperdata
}
src/Gargantext/Pages/Annuaire/User/Users.purs
deleted
100644 → 0
View file @
dcf2f584
module Gargantext.Pages.Annuaire.User.Users
(module Gargantext.Pages.Annuaire.User.Users.Types,
module Gargantext.Pages.Annuaire.User.Users.Specs)
where
import Gargantext.Pages.Annuaire.User.Users.Types
import Gargantext.Pages.Annuaire.User.Users.Specs
src/Gargantext/Pages/Layout.purs
View file @
32c5689d
...
...
@@ -12,7 +12,7 @@ import Gargantext.Pages.Corpus.Doc.Facets.Documents as DV
import Gargantext.Pages.Corpus.Doc.Facets.Graph as GE
-- import Gargantext.Pages.Corpus.Doc.Facets.Terms.NgramsTable as NG
import Gargantext.Pages.Annuaire.User.
Users as U
import Gargantext.Pages.Annuaire.User.
Contacts as C
import Gargantext.Pages.Annuaire as Annuaire
-- import Gargantext.Pages.Home as L
-- import Gargantext.Pages.Layout.Specs.Search as S
...
...
@@ -51,7 +51,7 @@ dispatchAction dispatcher _ SearchView = do
dispatchAction dispatcher _ (UserPage id) = do
dispatcher $ SetRoute $ UserPage id
-- dispatcher $ UserPageA TODO
dispatcher $ UserPageA $
U.FetchUser
id
dispatcher $ UserPageA $
C.FetchContact
id
dispatchAction dispatcher _ (Annuaire id) = do
dispatcher $ SetRoute $ Annuaire id
...
...
src/Gargantext/Pages/Layout/Actions.purs
View file @
32c5689d
...
...
@@ -17,7 +17,7 @@ import Gargantext.Pages.Corpus as Corpus
import Gargantext.Pages.Corpus.Doc.Annotation as D
import Gargantext.Pages.Corpus.Doc.Facets.Documents as DV
import Gargantext.Pages.Corpus.Doc.Facets.Graph as GE
import Gargantext.Pages.Annuaire.User.
Users as U
import Gargantext.Pages.Annuaire.User.
Contacts as C
import Gargantext.Pages.Annuaire as Annuaire
import Gargantext.Pages.Layout.Specs.AddCorpus as AC
import Gargantext.Pages.Layout.Specs.Search as S
...
...
@@ -40,7 +40,7 @@ data Action
| GraphExplorerA GE.Action
| DocAnnotationViewA D.Action
| AnnuaireAction Annuaire.Action
| UserPageA
U
.Action
| UserPageA
C
.Action
| Go
| ShowLogin
| ShowAddcorpus
...
...
@@ -140,7 +140,7 @@ _searchAction = prism SearchA \action ->
SearchA caction -> Right caction
_-> Left action
_userPageAction :: Prism' Action
U
.Action
_userPageAction :: Prism' Action
C
.Action
_userPageAction = prism UserPageA \action ->
case action of
UserPageA caction -> Right caction
...
...
src/Gargantext/Pages/Layout/Specs.purs
View file @
32c5689d
...
...
@@ -18,7 +18,7 @@ import Gargantext.Pages.Corpus.Doc.Facets.Dashboard as Dsh
import Gargantext.Pages.Corpus.Doc.Facets.Documents as DV
import Gargantext.Pages.Corpus.Doc.Facets.Graph as GE
import Gargantext.Pages.Corpus.Doc.Facets.Terms.NgramsTable as NG
import Gargantext.Pages.Annuaire.User.
Users as U
import Gargantext.Pages.Annuaire.User.
Contacts as C
import Gargantext.Pages.Home as L
import Gargantext.Pages.Layout.Actions (Action(..), _corpusAction, _addCorpusAction, _docAnnotationViewAction, _docViewAction, _graphExplorerAction, _loginAction, _searchAction, _treeAction, _userPageAction, performAction, _annuaireAction)
import Gargantext.Pages.Layout.Specs.AddCorpus as AC
...
...
@@ -59,7 +59,7 @@ pagesComponent s =
selectSpec Home = layout0 $ noState (L.layoutLanding EN)
selectSpec AddCorpus = layout0 $ focus _addCorpusState _addCorpusAction AC.layoutAddcorpus
selectSpec (DocView i) = layout0 $ focus _docViewState _docViewAction DV.layoutDocview
selectSpec (UserPage i) = layout0 $ focus _userPageState _userPageAction
U
.layoutUser
selectSpec (UserPage i) = layout0 $ focus _userPageState _userPageAction
C
.layoutUser
selectSpec (DocAnnotation i) = layout0 $ focus _docAnnotationViewState
_docAnnotationViewAction Annotation.docview
-- To be removed
...
...
src/Gargantext/Pages/Layout/States.purs
View file @
32c5689d
...
...
@@ -12,7 +12,7 @@ import Gargantext.Pages.Corpus.Doc.Annotation as D
import Gargantext.Pages.Annuaire as Annuaire
import Gargantext.Pages.Corpus.Doc.Facets.Documents as DV
import Gargantext.Pages.Corpus.Doc.Facets.Graph as GE
import Gargantext.Pages.Annuaire.User.
Users as U
import Gargantext.Pages.Annuaire.User.
Contacts as C
import Gargantext.Pages.Layout.Specs.AddCorpus as AC
import Gargantext.Pages.Layout.Specs.Search as S
import Gargantext.Router (Routes(..))
...
...
@@ -24,7 +24,7 @@ type AppState =
, addCorpusState :: AC.State
, docViewState :: DV.State
, searchState :: S.State
, userPageState ::
U
.State
, userPageState ::
C
.State
, docAnnotationState :: D.State
, annuaireState :: Annuaire.State
, ntreeState :: Tree.State
...
...
@@ -43,7 +43,7 @@ initAppState =
, addCorpusState : AC.initialState
, docViewState : DV.tdata
, searchState : S.initialState
, userPageState :
U
.initialState
, userPageState :
C
.initialState
, docAnnotationState : D.initialState
, ntreeState : Tree.exampleTree
, annuaireState : Annuaire.initialState
...
...
@@ -70,7 +70,7 @@ _docViewState = lens (\s -> s.docViewState) (\s ss -> s{docViewState = ss})
_searchState :: Lens' AppState S.State
_searchState = lens (\s -> s.searchState) (\s ss -> s{searchState = ss})
_userPageState :: Lens' AppState
U
.State
_userPageState :: Lens' AppState
C
.State
_userPageState = lens (\s -> s.userPageState) (\s ss -> s{userPageState = ss})
_annuaireState :: Lens' AppState Annuaire.State
...
...
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