diff --git a/src/Gargantext/Components/DocsTable.purs b/src/Gargantext/Components/DocsTable.purs index dc567ca987a03f874d4a6d1a0df8c344d04090ab..3962a7b4a10f01edf3d48af4f6a704de050384cc 100644 --- a/src/Gargantext/Components/DocsTable.purs +++ b/src/Gargantext/Components/DocsTable.purs @@ -24,6 +24,7 @@ import Data.Int (fromString) import Data.Symbol (SProxy(..)) import Data.Tuple (Tuple(..), fst) import Data.Tuple.Nested ((/\)) +import DOM.Simple.Event as DE import Effect (Effect) import Effect.Aff (Aff, launchAff) import Effect.Class (liftEffect) @@ -31,6 +32,7 @@ import Effect.Uncurried (EffectFn1, mkEffectFn1) import React as React import React (ReactClass, ReactElement, Children) import Reactix as R +import Reactix.SyntheticEvent as RE import Reactix.DOM.HTML as H import Unsafe.Coerce (unsafeCoerce) ------------------------------------------------------------------------ @@ -210,7 +212,7 @@ searchBar (query /\ setQuery) = R.createElement el {} [] [ H.div {className: "col col-md-3 form-group"} [ H.input { type: "text" , className: "form-control" - , on: {change: onSearchChange queryText} + , on: {change: onSearchChange queryText, keyUp: onSearchKeyup queryText} , placeholder: query} ] , H.div {className: "col col-md-1"} @@ -225,6 +227,13 @@ searchBar (query /\ setQuery) = R.createElement el {} [] onSearchChange (_ /\ setQueryText) = \e -> setQueryText $ const $ R2.unsafeEventValue e + onSearchKeyup :: R.State Query -> DE.KeyboardEvent -> Effect Unit + onSearchKeyup (queryText /\ _) = \e -> + if DE.key e == "Enter" then + setQuery $ const queryText + else + pure $ unit + onSearchClick :: forall e. R.State Query -> e -> Effect Unit onSearchClick (queryText /\ _) = \e -> setQuery $ const queryText