mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-03-25 16:45:05 +00:00
Add search field to person view
This commit is contained in:
parent
906ee9034e
commit
7ba413e49f
@ -94,6 +94,7 @@ import File exposing (File)
|
||||
import Http
|
||||
import Json.Encode as JsonEncode
|
||||
import Task
|
||||
import Url
|
||||
import Util.File
|
||||
import Util.Http as Http2
|
||||
|
||||
@ -368,7 +369,7 @@ getOrgLight flags receive =
|
||||
getOrganizations : Flags -> String -> (Result Http.Error OrganizationList -> msg) -> Cmd msg
|
||||
getOrganizations flags query receive =
|
||||
Http2.authGet
|
||||
{ url = flags.config.baseUrl ++ "/api/v1/sec/organization?full=true&q=" ++ query
|
||||
{ url = flags.config.baseUrl ++ "/api/v1/sec/organization?full=true&q=" ++ Url.percentEncode query
|
||||
, account = getAccount flags
|
||||
, expect = Http.expectJson receive Api.Model.OrganizationList.decoder
|
||||
}
|
||||
@ -413,10 +414,10 @@ getPersonsLight flags receive =
|
||||
}
|
||||
|
||||
|
||||
getPersons : Flags -> (Result Http.Error PersonList -> msg) -> Cmd msg
|
||||
getPersons flags receive =
|
||||
getPersons : Flags -> String -> (Result Http.Error PersonList -> msg) -> Cmd msg
|
||||
getPersons flags query receive =
|
||||
Http2.authGet
|
||||
{ url = flags.config.baseUrl ++ "/api/v1/sec/person?full=true"
|
||||
{ url = flags.config.baseUrl ++ "/api/v1/sec/person?full=true&q=" ++ Url.percentEncode query
|
||||
, account = getAccount flags
|
||||
, expect = Http.expectJson receive Api.Model.PersonList.decoder
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ import Comp.YesNoDimmer
|
||||
import Data.Flags exposing (Flags)
|
||||
import Html exposing (..)
|
||||
import Html.Attributes exposing (..)
|
||||
import Html.Events exposing (onClick, onSubmit)
|
||||
import Html.Events exposing (onClick, onInput, onSubmit)
|
||||
import Http
|
||||
import Util.Http
|
||||
import Util.Maybe
|
||||
@ -59,6 +59,7 @@ type Msg
|
||||
| SubmitResp (Result Http.Error BasicResult)
|
||||
| YesNoMsg Comp.YesNoDimmer.Msg
|
||||
| RequestDelete
|
||||
| SetQuery String
|
||||
|
||||
|
||||
update : Flags -> Msg -> Model -> ( Model, Cmd Msg )
|
||||
@ -101,7 +102,7 @@ update flags msg model =
|
||||
( { model | formModel = m2 }, Cmd.map FormMsg c2 )
|
||||
|
||||
LoadPersons ->
|
||||
( { model | loading = True }, Api.getPersons flags PersonResp )
|
||||
( { model | loading = True }, Api.getPersons flags "" PersonResp )
|
||||
|
||||
PersonResp (Ok orgs) ->
|
||||
let
|
||||
@ -186,6 +187,9 @@ update flags msg model =
|
||||
in
|
||||
( { model | deleteConfirm = cm }, cmd )
|
||||
|
||||
SetQuery str ->
|
||||
( model, Api.getPersons flags str PersonResp )
|
||||
|
||||
|
||||
view : Model -> Html Msg
|
||||
view model =
|
||||
@ -199,9 +203,33 @@ view model =
|
||||
viewTable : Model -> Html Msg
|
||||
viewTable model =
|
||||
div []
|
||||
[ button [ class "ui basic button", onClick InitNewPerson ]
|
||||
[ i [ class "plus icon" ] []
|
||||
, text "Create new"
|
||||
[ div [ class "ui secondary menu" ]
|
||||
[ div [ class "ui container" ]
|
||||
[ div [ class "fitted-item" ]
|
||||
[ div [ class "ui icon input" ]
|
||||
[ input
|
||||
[ type_ "text"
|
||||
, onInput SetQuery
|
||||
, placeholder "Search…"
|
||||
]
|
||||
[]
|
||||
, i [ class "ui search icon" ]
|
||||
[]
|
||||
]
|
||||
]
|
||||
, div [ class "right menu" ]
|
||||
[ div [ class "fitted-item" ]
|
||||
[ a
|
||||
[ class "ui primary button"
|
||||
, href "#"
|
||||
, onClick InitNewPerson
|
||||
]
|
||||
[ i [ class "plus icon" ] []
|
||||
, text "New Person"
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
, Html.map TableMsg (Comp.PersonTable.view model.tableModel)
|
||||
, div
|
||||
|
Loading…
x
Reference in New Issue
Block a user