From d90afa30aaedf67b42d0b92fe66f03e5ab8ca4d8 Mon Sep 17 00:00:00 2001 From: Eike Kettner Date: Thu, 2 Jan 2020 21:16:33 +0100 Subject: [PATCH] Add search field to equipment view --- modules/webapp/src/main/elm/Api.elm | 6 +-- .../src/main/elm/Comp/EquipmentManage.elm | 38 ++++++++++++++++--- .../webapp/src/main/elm/Comp/ItemDetail.elm | 2 +- .../webapp/src/main/elm/Comp/SearchMenu.elm | 2 +- 4 files changed, 38 insertions(+), 10 deletions(-) diff --git a/modules/webapp/src/main/elm/Api.elm b/modules/webapp/src/main/elm/Api.elm index c1484d2e..31bb7eff 100644 --- a/modules/webapp/src/main/elm/Api.elm +++ b/modules/webapp/src/main/elm/Api.elm @@ -318,10 +318,10 @@ deleteTag flags tag receive = -- Equipments -getEquipments : Flags -> (Result Http.Error EquipmentList -> msg) -> Cmd msg -getEquipments flags receive = +getEquipments : Flags -> String -> (Result Http.Error EquipmentList -> msg) -> Cmd msg +getEquipments flags query receive = Http2.authGet - { url = flags.config.baseUrl ++ "/api/v1/sec/equipment" + { url = flags.config.baseUrl ++ "/api/v1/sec/equipment?q=" ++ Url.percentEncode query , account = getAccount flags , expect = Http.expectJson receive Api.Model.EquipmentList.decoder } diff --git a/modules/webapp/src/main/elm/Comp/EquipmentManage.elm b/modules/webapp/src/main/elm/Comp/EquipmentManage.elm index 6ab700f6..fb459fd5 100644 --- a/modules/webapp/src/main/elm/Comp/EquipmentManage.elm +++ b/modules/webapp/src/main/elm/Comp/EquipmentManage.elm @@ -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 ) LoadEquipments -> - ( { model | loading = True }, Api.getEquipments flags EquipmentResp ) + ( { model | loading = True }, Api.getEquipments flags "" EquipmentResp ) EquipmentResp (Ok equipments) -> let @@ -186,6 +187,9 @@ update flags msg model = in ( { model | deleteConfirm = cm }, cmd ) + SetQuery str -> + ( model, Api.getEquipments flags str EquipmentResp ) + 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 InitNewEquipment ] - [ 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 InitNewEquipment + ] + [ i [ class "plus icon" ] [] + , text "New Equipment" + ] + ] + ] + ] ] , Html.map TableMsg (Comp.EquipmentTable.view model.tableModel) , div diff --git a/modules/webapp/src/main/elm/Comp/ItemDetail.elm b/modules/webapp/src/main/elm/Comp/ItemDetail.elm index e33f9fbd..182ca64e 100644 --- a/modules/webapp/src/main/elm/Comp/ItemDetail.elm +++ b/modules/webapp/src/main/elm/Comp/ItemDetail.elm @@ -170,7 +170,7 @@ getOptions flags = [ Api.getTags flags "" GetTagsResp , Api.getOrgLight flags GetOrgResp , Api.getPersonsLight flags GetPersonResp - , Api.getEquipments flags GetEquipResp + , Api.getEquipments flags "" GetEquipResp ] diff --git a/modules/webapp/src/main/elm/Comp/SearchMenu.elm b/modules/webapp/src/main/elm/Comp/SearchMenu.elm index 998f58e7..6238c292 100644 --- a/modules/webapp/src/main/elm/Comp/SearchMenu.elm +++ b/modules/webapp/src/main/elm/Comp/SearchMenu.elm @@ -208,7 +208,7 @@ update flags msg model = , Cmd.batch [ Api.getTags flags "" GetTagsResp , Api.getOrgLight flags GetOrgResp - , Api.getEquipments flags GetEquipResp + , Api.getEquipments flags "" GetEquipResp , Api.getPersonsLight flags GetPersonResp , Cmd.map UntilDateMsg dpc , Cmd.map FromDateMsg dpc