Commit 72aeb6ae authored by Sudhir Kumar's avatar Sudhir Kumar

renamed some module names

parent fd1f668f
'use strict';
exports.isNull = function(v) {
return v === null;
};
module GraphExplorer.DecodeMaybe where
import Prelude
import Data.Argonaut (class DecodeJson, JObject, getFieldOptional)
import Data.Either (Either)
import Data.Maybe (Maybe(..))
foreign import isNull :: forall a. a -> Boolean
getFieldOptional' :: forall a. DecodeJson a => JObject -> String -> Either String (Maybe a)
getFieldOptional' o s = (case _ of
Just v -> if isNull v then Nothing else v
Nothing -> Nothing
) <$> (getFieldOptional o s)
infix 7 getFieldOptional' as .?|
module GraphExplorer.Types where
module Gargantext.Components.GraphExplorer.Types where
import Prelude
......
module Gargantext.Data.Landing
where
module Gargantext.Components.Data.Landing where
data LandingData = LandingData { name :: String
......@@ -24,4 +23,3 @@ data Button = Button { title :: String
, text :: String
, href :: String
}
module Gargantext.Data.Lang
where
module Gargantext.Components.Data.Lang where
data Lang = EN | FR
module Gargantext.Lang.Landing.EnUS
where
module Gargantext.Components.Lang.Landing.EnUS where
import Gargantext.Data.Landing
import Gargantext.Components.Data.Landing
landingData :: LandingData
landingData = LandingData { name : "Gargantext"
......@@ -18,7 +17,7 @@ blockTexts = [ BlockText { title : "Random sentences in Gargantua's Books chapte
, icon : "fas fa-random"
, titleText : "Historic"
, text : "Chapter 1.XV. How Gargantua was put under other schoolmasters. Chapter 2.XXII. How Panurge served a Parisian lady a trick that pleased her not very well. Chapter 3.XXXVII. How Pantagruel persuaded Panurge to take counsel of a fool. Chapter 4.LXI. How Gaster invented means to get and preserve corn. Chapter 5.XXXVIII. Of the temple's admirable pavement."
, docButton : Button { title : "Your first map in less than 5 minutes"
, docButton : Button { title : "Your first map in less than 5 minutes"
, text : " Documentation"
, href : "https://iscpif.fr/gargantext/your-first-map/"
}
......@@ -28,7 +27,7 @@ blockTexts = [ BlockText { title : "Random sentences in Gargantua's Books chapte
, icon : "fas fa-random"
, titleText : "Presentation"
, text : "Autem nascetur iaculis, sedfusce enimsed cursus posuere consectetuer eu justo aliquammauris. Phasellus vero nisi porttitor elit quod, leo feliscras ultricies non tempor sagittis. Liberoduis facilisinam erat dapibusnam, lacus dui duis tristique volutpatut quis vestibulum magna. Nobis faucibusvestibulum dolores minim. Bibendumin malesuada adipiscing ante, mattis fames nequeetiam lorem. No diam id. Litora quisaenean commodo lobortisetiam neque, libero mollis scelerisque inceptos ullamcorper sea congue delenit possim."
, docButton : Button { title : "Your first map in less than 5 minutes"
, docButton : Button { title : "Your first map in less than 5 minutes"
, text : " Documentation"
, href : "https://iscpif.fr/gargantext/your-first-map/"
}
......@@ -38,11 +37,9 @@ blockTexts = [ BlockText { title : "Random sentences in Gargantua's Books chapte
, icon : "fas fa-random"
, titleText : "Tutoreil"
, text : "Il paraît que l'rdore des lettres dans un mot n'a pas d'imtraopnce. La première et la dernière lettre doeivnt être à la bonne place. Le reste peut être dans un désordre total et on peut touojurs lire sans prolèbme. On ne lit donc pas chaque lettre en ellêem-me, mais le mot comme un tout. Un chaegmnent de référentiel et nous tranpossons ce résultat au texte luimê-me: l'rdore des mots est failbement important copamré au contexte du texte qui, lui, est copmté: comptexter avec Gargantext."
, docButton : Button { title : "Your first map in less than 5 minutes"
, docButton : Button { title : "Your first map in less than 5 minutes"
, text : " Documentation"
, href : "https://iscpif.fr/gargantext/your-first-map/"
}
}
]
module Gargantext.Lang.Landing.FrFR
where
module Gargantext.Components.Lang.Landing.FrFR where
import Gargantext.Data.Landing
import Gargantext.Components.Data.Landing
landingData :: LandingData
landingData = LandingData { name : "Gargantext"
......@@ -18,7 +17,7 @@ blockTexts = [ BlockText { title : "Phrases aléatoires issues de l'oeuvre de Fr
, icon : "fas fa-random"
, titleText : "Historique"
, text : "Chapitre 1"
, docButton : Button { title : "Your first map in less than 5 minutes"
, docButton : Button { title : "Your first map in less than 5 minutes"
, text : " Documentation"
, href : "https://iscpif.fr/gargantext/your-first-map/"
}
......@@ -28,7 +27,7 @@ blockTexts = [ BlockText { title : "Phrases aléatoires issues de l'oeuvre de Fr
, icon : "fas fa-random"
, titleText : "Presentation"
, text : "Autem nascetur iaculis, sedfusce enimsed cursus posuere consectetuer eu justo aliquammauris. Phasellus vero nisi porttitor elit quod, leo feliscras ultricies non tempor sagittis. Liberoduis facilisinam erat dapibusnam, lacus dui duis tristique volutpatut quis vestibulum magna. Nobis faucibusvestibulum dolores minim. Bibendumin malesuada adipiscing ante, mattis fames nequeetiam lorem. No diam id. Litora quisaenean commodo lobortisetiam neque, libero mollis scelerisque inceptos ullamcorper sea congue delenit possim."
, docButton : Button { title : "Your first map in less than 5 minutes"
, docButton : Button { title : "Your first map in less than 5 minutes"
, text : " Documentation"
, href : "https://iscpif.fr/gargantext/your-first-map/"
}
......@@ -38,11 +37,9 @@ blockTexts = [ BlockText { title : "Phrases aléatoires issues de l'oeuvre de Fr
, icon : "fas fa-random"
, titleText : "Tutoreil"
, text : "Il paraît que l'rdore des lettres dans un mot n'a pas d'imtraopnce. La première et la dernière lettre doeivnt être à la bonne place. Le reste peut être dans un désordre total et on peut touojurs lire sans prolèbme. On ne lit donc pas chaque lettre en ellêem-me, mais le mot comme un tout. Un chaegmnent de référentiel et nous tranpossons ce résultat au texte luimê-me: l'rdore des mots est failbement important copamré au contexte du texte qui, lui, est copmté: comptexter avec Gargantext."
, docButton : Button { title : "Your first map in less than 5 minutes"
, docButton : Button { title : "Your first map in less than 5 minutes"
, text : " Documentation"
, href : "https://iscpif.fr/gargantext/your-first-map/"
}
}
]
module Login where
module Gargantext.Components.Login where
import Prelude hiding (div)
import Control.Monad.Aff (Aff, attempt)
import Control.Monad.Aff.Class (liftAff)
import Control.Monad.Aff.Console (log)
import Control.Monad.Cont.Trans (lift)
import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Class (liftEff)
import Control.Monad.Eff.Console (CONSOLE)
......@@ -19,19 +18,17 @@ import Data.HTTP.Method (Method(..))
import Data.Lens (over)
import Data.Maybe (Maybe(..))
import Data.MediaType.Common (applicationJSON)
import Modal (modalHide)
import Gargantext.Components.Modals.Modal (modalHide)
import Network.HTTP.Affjax (AJAX, affjax, defaultRequest)
import Network.HTTP.RequestHeader (RequestHeader(..))
import React.DOM (a, button, div, h2, h4, h5, i, input, label, p, span, text)
import React.DOM.Props (_data, _id, _type, aria, className, href, maxLength, name, onClick, onInput, placeholder, role, target, value)
import Routing.Hash.Aff (setHash)
import Thermite (PerformAction, Render, Spec, _render, modifyState, simpleSpec)
import Unsafe.Coerce (unsafeCoerce)
-- TODO: ask for login (modal) or account creation after 15 mn when user is not logged and has made one search at least
newtype State = State
{ username :: String
, password :: String
......
module Modal where
module Gargantext.Components.Modals.Modal where
import Control.Monad.Eff (Eff)
import Prelude (Unit)
......
......@@ -17,27 +17,18 @@ randomChars : randomizes chars in a word.
TODO: add some tests as examples.
-}
module Gargantext.RandomText where
module Gargantext.Components.RandomText where
import Prelude
import Control.Monad.Eff (Eff(..))
import Control.Monad.Eff.Random (RANDOM(..), randomInt)
import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Random (RANDOM, randomInt)
import Data.Array (drop, dropEnd, filter, foldl, head, length, tail, take, takeEnd, (!!))
import Data.Maybe (Maybe(Nothing, Just), fromJust)
import Data.Array ( length, (!!), filter, foldl
, head, tail
, take, takeEnd
, drop, dropEnd
)
import Data.String ( toCharArray, fromCharArray
, split, Pattern(..)
)
import Data.Tuple.Nested ((/\))
import Data.String (Pattern(..), fromCharArray, split, toCharArray)
import Partial (crash)
import Partial.Unsafe (unsafePartial)
import Unsafe.Coerce (unsafeCoerce)
-------------------------------------------------------------------
randomSentences :: forall a. String -> Eff ( random :: RANDOM | a ) String
......@@ -81,11 +72,11 @@ randomPart array = randomArrayPoly middle >>= \(middle') -> pure ( start <> midd
randomArrayPoly :: forall a b. Array a -> Eff ( random :: RANDOM | b ) (Array a)
randomArrayPoly wheel = case head wheel of
Nothing -> pure []
Just wheel' -> randomWheel (RandomWheel { before:wheel, during:wheel', after:[]})
Just wheel' -> randomWheel (RandomWheel { before:wheel, during:wheel', after:[]})
>>= \(RandomWheel rand) -> (pure rand.after)
randomWheel :: forall a b. RandomWheel b -> Eff ( random :: RANDOM | a ) (RandomWheel b)
randomWheel (RandomWheel {before:[], during:d, after:a}) =
randomWheel (RandomWheel {before:[], during:d, after:a}) =
pure (RandomWheel {before:[], during:d, after:a})
randomWheel (RandomWheel {before:b, during:d, after:a}) = do
......@@ -93,7 +84,7 @@ randomWheel (RandomWheel {before:b, during:d, after:a}) = do
randomWheel $ RandomWheel {before:b', during:d', after:(a <> [d'])}
randomArray :: forall a b. Array b -> Eff ( random :: RANDOM | a ) (RandomWheel b)
randomArray :: forall a b. Array b -> Eff ( random :: RANDOM | a ) (RandomWheel b)
randomArray array = unsafePartial $ do
n <- randomInt 0 (length array - 1)
......
module Tab where
module Gargantext.Components.Tab where
import Data.Array (fold)
import Data.Lens (Lens', Prism', over, view)
......
module NTree where
module Gargantext.Components.Tree where
import Prelude hiding (div)
......
module Gargantext.REST where
module Gargantext.Config.REST where
import Data.Argonaut
import Data.HTTP.Method (Method(..))
......
module Navigation where
module Gargantext.Navigation where
import DOM
import Gargantext.Data.Lang
import Prelude hiding (div)
import AddCorpusview as AC
import DocAnnotation as D
import Control.Monad.Cont.Trans (lift)
import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Class (liftEff)
import Control.Monad.Eff.Console (CONSOLE, log)
import CorpusAnalysis as CA
import Data.Array (concat, head, length)
import DOM (DOM)
import Data.Array (length)
import Data.Either (Either(..))
import Data.Foldable (fold, intercalate)
import Data.Lens (Lens', Prism', lens, over, prism)
import Data.Maybe (Maybe(Nothing, Just), fromJust)
import Data.Tuple (Tuple(..))
import Data.Maybe (Maybe(Nothing, Just))
import DocAnnotation as D
import DocView as DV
import Gargantext.Components.Tree as Tree
import Gargantext.Dashboard as Dsh
import Gargantext.Components.Data.Lang (Lang(..))
import Gargantext.Router (Routes(..))
import Gargantext.Users as U
import Graph as GE
import Landing as L
import Login as LN
import Modal (modalShow)
import NTree (fnTransform, loadDefaultNode)
import NTree as NT
import Gargantext.Components.Login as LN
import Gargantext.Components.Modals.Modal (modalShow)
import Network.HTTP.Affjax (AJAX)
import PageRouter (Routes(..))
import Partial.Unsafe (unsafePartial)
import NgramsTable as NG
import React (ReactElement)
import React.DOM (a, button, div, footer, form, hr, i, img, input, li, p, span, text, ul)
import React.DOM.Props (Props, _data, _id, _type, aria, className, href, name, onChange, onClick, placeholder, role, src, style, tabIndex, target, title)
import React.DOM.Props as RP
import Routing.Hash.Aff (setHash)
import React.DOM (a, button, div, footer, hr, img, input, li, p, span, text, ul)
import React.DOM.Props (_data, _id, _type, aria, className, href, onChange, onClick, placeholder, role, src, style, tabIndex, target, title)
import SearchForm as S
import Tabview as TV
import Thermite (PerformAction, Render, Spec, _render, cotransform, defaultPerformAction, defaultRender, focus, modifyState, simpleSpec, withState)
import Thermite (PerformAction, Render, Spec, _render, defaultPerformAction, defaultRender, focus, modifyState, simpleSpec, withState)
import Unsafe.Coerce (unsafeCoerce)
import Gargantext.Users as U
import NgramsTable as NG
import Gargantext.Dashboard as Dsh
import Graph as GE
type E e = (dom :: DOM, ajax :: AJAX, console :: CONSOLE | e)
......@@ -53,7 +45,7 @@ type AppState =
, searchState :: S.State
, userPage :: U.State
, docAnnotationView :: D.State
, ntreeView :: NT.State
, ntreeView :: Tree.State
, tabview :: TV.State
, search :: String
, corpusAnalysis :: CA.State
......@@ -75,7 +67,7 @@ initAppState =
, searchState : S.initialState
, userPage : U.initialState
, docAnnotationView : D.initialState
, ntreeView : NT.exampleTree
, ntreeView : Tree.exampleTree
, tabview : TV.initialState
, search : ""
, corpusAnalysis : CA.initialState
......@@ -97,7 +89,7 @@ data Action
| SearchA S.Action
| UserPageA U.Action
| DocAnnotationViewA D.Action
| TreeViewA NT.Action
| TreeViewA Tree.Action
| TabViewA TV.Action
| GraphExplorerA GE.Action
| DashboardA Dsh.Action
......@@ -123,12 +115,10 @@ performAction (ShowLogin) _ _ = void do
liftEff $ modalShow "loginModal"
modifyState $ _ {showLogin = true}
performAction (ShowAddcorpus) _ _ = void do
liftEff $ modalShow "addCorpus"
modifyState $ _ {showCorpus = true}
performAction Go _ _ = void do
liftEff $ modalShow "addCorpus"
modifyState $ _ {showCorpus = true}
......@@ -140,8 +130,8 @@ performAction Initialize _ state = void do
case state.initialized of
false -> do
lnodes <- lift $ loadDefaultNode
lnodes <- lift $ Tree.loadDefaultNode
case lnodes of
Left err -> do
modifyState id
......@@ -153,19 +143,15 @@ performAction Initialize _ state = void do
Right docs -> do
modifyState $ _ { initialized = true
, ntreeView = if length d > 0
then NT.exampleTree
--then fnTransform $ unsafePartial $ fromJust $ head d
else NT.initialState
then Tree.exampleTree
--then fnTransform $ unsafePartial $ fromJust $ head d
else Tree.initialState
, docViewState = docs
}
_ -> do
modifyState id
performAction Go _ _ = void do
_ <- lift $ setHash "/addCorpus"
modifyState id
performAction _ _ _ = void do
modifyState id
......@@ -179,55 +165,45 @@ _landingAction = prism LandingA \action ->
LandingA caction -> Right caction
_-> Left action
_loginState :: Lens' AppState LN.State
_loginState = lens (\s -> s.loginState) (\s ss -> s{loginState = ss})
_loginAction :: Prism' Action LN.Action
_loginAction = prism LoginA \action ->
case action of
LoginA caction -> Right caction
_-> Left action
_addCorpusState :: Lens' AppState AC.State
_addCorpusState = lens (\s -> s.addCorpusState) (\s ss -> s{addCorpusState = ss})
_addCorpusAction :: Prism' Action AC.Action
_addCorpusAction = prism AddCorpusA \action ->
case action of
AddCorpusA caction -> Right caction
_-> Left action
_docViewState :: Lens' AppState DV.State
_docViewState = lens (\s -> s.docViewState) (\s ss -> s{docViewState = ss})
_docViewAction :: Prism' Action DV.Action
_docViewAction = prism DocViewA \action ->
case action of
DocViewA caction -> Right caction
_-> Left action
_searchState :: Lens' AppState S.State
_searchState = lens (\s -> s.searchState) (\s ss -> s{searchState = ss})
_searchAction :: Prism' Action S.Action
_searchAction = prism SearchA \action ->
case action of
SearchA caction -> Right caction
_-> Left action
_userPageState :: Lens' AppState U.State
_userPageState = lens (\s -> s.userPage) (\s ss -> s{userPage = ss})
_userPageAction :: Prism' Action U.Action
_userPageAction = prism UserPageA \action ->
case action of
......@@ -243,29 +219,24 @@ _dashBoardAction = prism DashboardA \action ->
_docAnnotationViewState :: Lens' AppState D.State
_docAnnotationViewState = lens (\s -> s.docAnnotationView) (\s ss -> s{docAnnotationView = ss})
_docAnnotationViewAction :: Prism' Action D.Action
_docAnnotationViewAction = prism DocAnnotationViewA \action ->
case action of
DocAnnotationViewA caction -> Right caction
_-> Left action
_treeState :: Lens' AppState NT.State
_treeState :: Lens' AppState Tree.State
_treeState = lens (\s -> s.ntreeView) (\s ss -> s {ntreeView = ss})
_treeAction :: Prism' Action NT.Action
_treeAction :: Prism' Action Tree.Action
_treeAction = prism TreeViewA \action ->
case action of
TreeViewA caction -> Right caction
_-> Left action
_tabviewState :: Lens' AppState TV.State
_tabviewState = lens (\s -> s.tabview) (\s ss -> s {tabview = ss})
_tabviewAction :: Prism' Action TV.Action
_tabviewAction = prism TabViewA \action ->
case action of
......@@ -293,8 +264,6 @@ _graphExplorerAction = prism GraphExplorerA \action ->
GraphExplorerA caction -> Right caction
_-> Left action
_ngState :: Lens' AppState NG.State
_ngState = lens (\s -> s.ngState) (\s ss -> s{ngState = ss})
......@@ -304,7 +273,6 @@ _ngAction = prism NgramsA \action ->
NgramsA caction -> Right caction
_-> Left action
pagesComponent :: forall props eff. AppState -> Spec (E eff) AppState props Action
pagesComponent s =
case s.currentRoute of
......@@ -337,7 +305,6 @@ pagesComponent s =
routingSpec :: forall props eff. Spec (ajax :: AJAX, console :: CONSOLE, dom :: DOM |eff) AppState props Action
routingSpec = simpleSpec performAction defaultRender
layout0 :: forall eff props. Spec (E eff) AppState props Action
-> Spec (E eff) AppState props Action
layout0 layout =
......@@ -362,7 +329,7 @@ layout0 layout =
cont = over _render \render d p s c ->
[ div [ className "row" ] (render d p s c) ]
as = focus _treeState _treeAction NT.treeview
as = focus _treeState _treeAction Tree.treeview
bs = innerLayout $ layout
......@@ -394,7 +361,6 @@ layoutSidebar = over _render \render d p s c ->
]
divLogo :: ReactElement
divLogo = a [ className "navbar-brand logoSmall"
, href "#/"
......@@ -403,7 +369,6 @@ divLogo = a [ className "navbar-brand logoSmall"
] []
]
divDropdownLeft :: ReactElement
divDropdownLeft = divDropdownLeft' (LiNav { title : "About Gargantext"
, href : "#"
......@@ -412,7 +377,6 @@ divDropdownLeft = divDropdownLeft' (LiNav { title : "About Gargantext"
}
)
divDropdownLeft' :: LiNav -> ReactElement
divDropdownLeft' mb = ul [className "nav navbar-nav"]
[ ul [className "nav navbar-nav pull-left"]
......@@ -423,7 +387,6 @@ divDropdownLeft' mb = ul [className "nav navbar-nav"]
]
]
menuButton :: LiNav -> ReactElement
menuButton (LiNav { title : title'
, href : href'
......@@ -439,7 +402,6 @@ menuButton (LiNav { title : title'
, text (" " <> text')
]
menuElements' :: ReactElement
menuElements' = menuElements-- title, icon, text
[ -- ===========================================================
......@@ -493,7 +455,6 @@ menuElements ns = dropDown $ intercalate divider $ map (map liNav) ns
-- , target :: String
-- }
data LiNav = LiNav { title :: String
, href :: String
, icon :: String
......@@ -515,8 +476,6 @@ liNav (LiNav { title : title'
]
]
-- TODO put the search form in the center of the navBar
divSearchBar :: forall props eff. Spec (ajax :: AJAX, console :: CONSOLE, dom :: DOM |eff) AppState props Action
divSearchBar = simpleSpec performAction render
......@@ -562,8 +521,6 @@ divDropdownRight d =
]
]
layoutFooter :: forall props eff. Spec (ajax :: AJAX, console :: CONSOLE, dom :: DOM |eff) AppState props Action
layoutFooter = simpleSpec performAction render
where
......@@ -590,7 +547,6 @@ layoutFooter = simpleSpec performAction render
]
]
layoutSpec :: forall eff props. Spec (E eff) AppState props Action
layoutSpec =
fold
......
......@@ -21,7 +21,7 @@ import Data.Maybe (Maybe(..), fromMaybe)
import Data.MediaType.Common (applicationJSON)
import Data.Tuple (Tuple(..))
import Landing as L
import Modal (modalHide)
import Gargantext.Components.Modals.Modal (modalHide)
import Network.HTTP.Affjax (AJAX, affjax, defaultRequest)
import Network.HTTP.RequestHeader (RequestHeader(..))
import Prelude hiding (div)
......
module DocView where
import Data.Argonaut
import Data.Generic (class Generic, gShow)
import Prelude
import Gargantext.Charts.ECharts
import Gargantext.Chart (p'')
import Gargantext.Dashboard (globalPublis)
import Control.Monad.Eff.Class (liftEff)
import Control.Monad.Aff (Aff, attempt)
import Control.Monad.Aff.Class (liftAff)
import Control.Monad.Cont.Trans (lift)
import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Class (liftEff)
import Control.Monad.Eff.Console (CONSOLE, log)
import DOM (DOM)
import DOM.HTML (window) as DOM
......@@ -19,16 +14,21 @@ import DOM.HTML.Types (htmlDocumentToParentNode) as DOM
import DOM.HTML.Window (document) as DOM
import DOM.Node.ParentNode (QuerySelector(..))
import DOM.Node.ParentNode (querySelector) as DOM
import Data.Argonaut
import Data.Array (filter, replicate)
import Data.Either (Either(..))
import Data.Generic (class Generic, gShow)
import Data.HTTP.Method (Method(..))
import Data.Maybe (fromJust)
import Data.MediaType.Common (applicationJSON)
import Data.Tuple (Tuple(..))
import Gargantext.Chart (p'')
import Gargantext.Charts.ECharts
import Gargantext.Dashboard (globalPublis)
import Gargantext.Config.REST (get)
import Network.HTTP.Affjax (AJAX, affjax, defaultRequest)
import Network.HTTP.RequestHeader (RequestHeader(..))
import Partial.Unsafe (unsafePartial)
import Prelude (class Eq, class Ord, class Show, Unit, bind, map, not, pure, show, void, ($), (*), (+), (-), (/), (<), (<$>), (<>), (==), (>), (>=), (>>=))
import React (ReactElement)
import React as R
import React.DOM (a, b, b', br', div, h3, i, input, li, option, select, span, table, tbody, td, text, thead, th, tr, ul, nav)
......@@ -37,8 +37,6 @@ import ReactDOM as RDOM
import Thermite (PerformAction, Render, Spec, cotransform, createReactSpec, defaultPerformAction, modifyState, simpleSpec)
import Unsafe.Coerce (unsafeCoerce)
import Gargantext.REST (get)
--main :: forall e. Eff (dom:: DOM, console :: CONSOLE, ajax :: AJAX | e) Unit
--main = do
......
module Tabview where
import Prelude hiding (div)
import Authorview as AV
import Control.Monad.Eff.Console (CONSOLE)
import DOM (DOM)
import Data.Array (fold)
import Data.Either (Either(..))
import Data.Lens (Lens', Prism', lens, over, prism, view)
import Data.List (List, fromFoldable)
import Data.Lens (Lens', Prism', lens, prism)
import Data.List (fromFoldable)
import Data.Tuple (Tuple(..))
import DocView as DV
import Gargantext.Components.Tab as Tab
import Network.HTTP.Affjax (AJAX)
import Prelude hiding (div)
import React.DOM (a, div, li, text, ul)
import React.DOM.Props (_data, _id, aria, className, href, role)
import Sourceview as SV
import Tab (tabs)
import Tab as Tab
import Termsview as TV
import Thermite (Render, Spec, _performAction, _render, defaultPerformAction, defaultRender, focus, focusState, simpleSpec, withState)
import Thermite (Spec, focus)
data Action
= DocviewA DV.Action
......@@ -117,7 +114,7 @@ _tabAction = prism TabViewA \ action ->
tab1 :: forall eff props. Spec ( dom :: DOM, console :: CONSOLE, ajax :: AJAX| eff) State props Action
tab1 = tabs _tablens _tabAction $ fromFoldable [ Tuple "Doc View" docPageSpec
tab1 = Tab.tabs _tablens _tabAction $ fromFoldable [ Tuple "Doc View" docPageSpec
, Tuple "Author View" authorPageSpec
, Tuple "Source View" sourcePageSpec
, Tuple "Terms View" termsPageSpec
......
......@@ -8,9 +8,9 @@ import Data.Newtype (class Newtype)
import Network.HTTP.Affjax (AJAX)
import React (ReactElement)
import React.DOM (input, span, td, text, tr)
import React.DOM.Props (_type, checked, className, color, onChange, style, title)
import React.DOM.Props (_type, checked, className, onChange, style, title)
import Thermite (PerformAction, Render, Spec, modifyState, simpleSpec)
import Utils (getter, setter)
import Gargantext.Utils (getter, setter)
newtype State = State
{ term :: Term
......
......@@ -10,26 +10,25 @@ import Control.Monad.Eff.Console (CONSOLE, log)
import Control.Monad.Eff.Unsafe (unsafePerformEff)
import DOM (DOM)
import Data.Argonaut (decodeJson)
import Data.Array (length, mapWithIndex, take, (!!))
import Data.Array (length, mapWithIndex, (!!))
import Data.Either (Either(..))
import Data.HTTP.Method (Method(..))
import Data.Int (toNumber)
import Data.Maybe (Maybe(..), fromJust)
import Data.MediaType.Common (applicationJSON)
import Data.Newtype (class Newtype)
import Gargantext.Components.GraphExplorer.Types (Cluster(..), Edge(..), GraphData(..), Legend(..), Node(..), getLegendData)
import Gargantext.Utils (getter)
import GraphExplorer.Sigmajs (Color(Color), SigmaEasing, SigmaGraphData(SigmaGraphData), SigmaNode, SigmaSettings, canvas, edgeShape, edgeShapes, forceAtlas2, sStyle, sigma, sigmaEasing, sigmaEdge, sigmaEnableWebGL, sigmaNode, sigmaSettings)
import GraphExplorer.Types (Cluster(..), Edge(..), GraphData(..), Legend(..), Node(..), getLegendData)
import Math (cos, sin)
import Network.HTTP.Affjax (AJAX, affjax, defaultRequest)
import Network.HTTP.RequestHeader (RequestHeader(..))
import Partial.Unsafe (unsafePartial)
import Prelude (map)
import React (ReactElement, createElement)
import React (ReactElement)
import React.DOM (a, br', button, div, form', input, li, li', menu, option, p, select, span, text, ul, ul')
import React.DOM.Props (_data, _id, _type, aria, checked, className, href, name, onChange, placeholder, role, style, title, value)
import React.DOM.Props (_id, _type, checked, className, href, name, onChange, placeholder, style, title, value)
import Thermite (PerformAction, Render, Spec, modifyState, simpleSpec)
import Unsafe.Coerce (unsafeCoerce)
import Utils (getter)
data Action = NoOp
| LoadGraph String
......@@ -501,7 +500,7 @@ specOld = simpleSpec performAction render
Nothing -> span [] []
Just selectedNode -> p [] [text $ "BOUKLI HACENE Ghouthi, GRIPON Vincent, FARRUGIA Nicolas, ARZEL Matthieu, ", a [href "http://localhost:2015/#/userPage/1"][text "JEZEQUEL Michel. "], text "Finding All Matches in a Database using Binary Neural Networks. COGNITIVE 2017 : The Ninth International Conference on Advanced Cognitive Technologies and Applications, 19-23 february 2017, Athènes, Greece, 2017, pp. 59-64"]
, p []
[
[
]
]
]
......
module Gargantext.Users.API
where
module Gargantext.Users.API where
import Gargantext.Users.Types
import Prelude
import Gargantext.Users.Types (Action(..), State, User, _user)
import Control.Monad.Aff (Aff)
import Control.Monad.Aff.Console (CONSOLE, log)
import Control.Monad.Trans.Class (lift)
......@@ -10,9 +10,8 @@ import DOM (DOM)
import Data.Either (Either(..))
import Data.Lens (set)
import Data.Maybe (Maybe(..))
import Gargantext.REST (get)
import Gargantext.Config.REST (get)
import Network.HTTP.Affjax (AJAX)
import Prelude (bind, id, show, void, ($), (<<<), (<>))
import Thermite (PerformAction, modifyState)
getUser :: forall eff. Int -> Aff
......
......@@ -8,19 +8,19 @@ module Gargantext.Users.Types
)
where
import Prelude (($))
import Gargantext.Users.Types.Lens
import Gargantext.Users.Types.Types
import Gargantext.Users.Types.States
import Brevets as B
import Control.Monad.Aff.Console (CONSOLE)
import DOM (DOM)
import Data.List (fromFoldable)
import Data.Tuple (Tuple(..))
import Network.HTTP.Affjax (AJAX)
import Prelude (($))
import Projects as PS
import Tab (tabs)
import Gargantext.Components.Tab (tabs)
import Thermite (Spec, focus)
brevetSpec :: forall eff props. Spec (dom :: DOM, console::CONSOLE, ajax :: AJAX | eff) State props Action
......
......@@ -11,7 +11,7 @@ import Gargantext.Users.Types.Types (User)
import Network.HTTP.Affjax (AJAX)
import Projects as PS
import Publications as P
import Tab as Tab
import Gargantext.Components.Tab as Tab
import Thermite (Spec, focus)
_user :: Lens' State (Maybe User)
......
......@@ -6,7 +6,7 @@ import Data.Maybe (Maybe(..))
import Gargantext.Users.Types.Types (User)
import Projects as PS
import Publications as P
import Tab as Tab
import Gargantext.Components.Tab as Tab
data Action
= NoOp
......@@ -32,4 +32,3 @@ initialState =
, projects : PS.initialState
, user: Nothing
}
module Gargantext.Users.Types.Types where
import Prelude
import Data.Argonaut (class DecodeJson, decodeJson, (.?))
import Data.Generic (class Generic)
import Data.Maybe (Maybe)
import Prelude (bind, pure, ($))
import DecodeMaybe
import Gargantext.Utils.DecodeMaybe ((.?|))
newtype User =
User {
......
module Landing where
import Gargantext.Data.Landing
import Gargantext.Data.Lang
import Prelude hiding (div)
import Control.Monad.Cont.Trans (lift)
import Control.Monad.Eff.Console (CONSOLE)
import DOM (DOM)
import Gargantext.Lang.Landing.EnUS as En
import Gargantext.Lang.Landing.FrFR as Fr
import Gargantext.Components.Lang.Landing.EnUS as En
import Gargantext.Components.Lang.Landing.FrFR as Fr
import Gargantext.Components.Data.Landing (BlockText(..), BlockTexts(..), Button(..), LandingData(..))
import Gargantext.Components.Data.Lang (Lang(..))
import Network.HTTP.Affjax (AJAX)
import React (ReactElement)
import React.DOM (a, button, div, footer, h1, h3, hr, i, img, li, p, span, text, ul)
import React.DOM.Props (Props, _data, _id, aria, className, href, onClick, role, src, style, tabIndex, target, title)
import React.DOM (a, div, h3, i, img, p, span, text)
import React.DOM.Props (Props, _id, aria, className, href, src, target, title)
import Routing.Hash.Aff (setHash)
import Thermite (PerformAction, Render, Spec, simpleSpec)
import Thermite as T
import Thermite (PerformAction, Render, Spec, modifyState, simpleSpec)
newtype State = State
{ userName :: String
......@@ -43,21 +42,21 @@ performAction :: forall eff props. PerformAction ( console :: CONSOLE
| eff
) State props Action
performAction NoOp _ _ = void do
T.modifyState \state -> state
modifyState \state -> state
performAction Documentation _ _ = void do
T.modifyState \state -> state
modifyState \state -> state
performAction Enter _ _ = void do
lift $ setHash "/search"
T.modifyState \state -> state
modifyState \state -> state
performAction Login _ _ = void do
lift $ setHash "/login"
T.modifyState \state -> state
modifyState \state -> state
performAction SignUp _ _ = void do
T.modifyState \state -> state
modifyState \state -> state
-- Layout |
......
module PageRouter where
module Gargantext.Router where
import Prelude
......
module Utils where
module Gargantext.Utils where
import Prelude
......
module DecodeMaybe where
module Gargantext.Utils.DecodeMaybe where
import Prelude
......
......@@ -11,9 +11,9 @@ import DOM.HTML.Window (document) as DOM
import DOM.Node.ParentNode (QuerySelector(..))
import DOM.Node.ParentNode (querySelector) as DOM
import Data.Maybe (fromJust)
import Navigation (dispatchAction, initAppState, layoutSpec)
import Gargantext.Navigation (dispatchAction, initAppState, layoutSpec)
import Gargantext.Router (routeHandler, routing)
import Network.HTTP.Affjax (AJAX)
import PageRouter (routeHandler, routing)
import Partial.Unsafe (unsafePartial)
import React as R
import ReactDOM as RDOM
......
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