Set search when clicking on parts of the item card

When user clicks on correspondent etc. on an item card, the search is
set to this value.
This commit is contained in:
Eike Kettner 2020-11-14 01:44:15 +01:00
parent faf97222ea
commit 795cd8bc80
3 changed files with 48 additions and 3 deletions

View File

@ -6,6 +6,7 @@ import Api.Model.ItemLightList exposing (ItemLightList)
import Api.Model.ItemSearch
import Browser.Navigation as Nav
import Comp.FixedDropdown
import Comp.ItemCard
import Comp.ItemCardList
import Comp.ItemDetail.EditMenu exposing (SaveNameState(..))
import Comp.ItemDetail.FormChange exposing (FormChange(..))
@ -93,6 +94,26 @@ update mId key flags settings msg model =
m
model.itemListModel
searchMsg =
case result.linkTarget of
Comp.ItemCard.LinkNone ->
Cmd.none
Comp.ItemCard.LinkCorrOrg id ->
Util.Update.cmdUnit (SearchMenuMsg (Comp.SearchMenu.SetCorrOrg id))
Comp.ItemCard.LinkCorrPerson id ->
Util.Update.cmdUnit (SearchMenuMsg (Comp.SearchMenu.SetCorrPerson id))
Comp.ItemCard.LinkConcPerson id ->
Util.Update.cmdUnit (SearchMenuMsg (Comp.SearchMenu.SetConcPerson id))
Comp.ItemCard.LinkConcEquip id ->
Util.Update.cmdUnit (SearchMenuMsg (Comp.SearchMenu.SetConcEquip id))
Comp.ItemCard.LinkFolder id ->
Util.Update.cmdUnit (SearchMenuMsg (Comp.SearchMenu.SetFolder id))
nextView =
case ( model.viewMode, result.selection ) of
( SelectView svm, Data.ItemSelection.Active ids ) ->
@ -107,7 +128,7 @@ update mId key flags settings msg model =
, viewMode = nextView
, dragDropData = DD.DragDropData result.dragModel Nothing
}
, Cmd.batch [ Cmd.map ItemCardListMsg result.cmd ]
, Cmd.batch [ Cmd.map ItemCardListMsg result.cmd, searchMsg ]
)
ItemSearchResp scroll (Ok list) ->

View File

@ -300,7 +300,11 @@ viewSearchBar flags model =
]
]
[ a
[ class "search-menu-toggle ui blue icon button"
[ classList
[ ( "search-menu-toggle ui icon button", True )
, ( "primary", not (searchMenuFilled model) )
, ( "secondary", searchMenuFilled model )
]
, onClick ToggleSearchMenu
, href "#"
, title "Open search menu"
@ -345,6 +349,15 @@ viewSearchBar flags model =
]
searchMenuFilled : Model -> Bool
searchMenuFilled model =
let
is =
Comp.SearchMenu.getItemSearch model.searchMenuModel
in
is /= Api.Model.ItemSearch.empty
hasMoreSearch : Model -> Bool
hasMoreSearch model =
let

View File

@ -1,4 +1,10 @@
module Util.Update exposing (andThen1, andThen2)
module Util.Update exposing
( andThen1
, andThen2
, cmdUnit
)
import Task
andThen1 : List (a -> ( a, Cmd b )) -> a -> ( a, Cmd b )
@ -36,3 +42,8 @@ andThen2 fs m =
in
List.foldl update init fs
|> combine
cmdUnit : a -> Cmd a
cmdUnit a =
Task.perform (\_ -> a) (Task.succeed ())