mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-23 19:08:26 +00:00
Check query in client
This commit is contained in:
@ -27,6 +27,7 @@ import Comp.ItemCardList
|
||||
import Comp.ItemDetail.FormChange exposing (FormChange)
|
||||
import Comp.ItemDetail.MultiEditMenu exposing (SaveNameState(..))
|
||||
import Comp.LinkTarget exposing (LinkTarget)
|
||||
import Comp.PowerSearchInput
|
||||
import Comp.SearchMenu
|
||||
import Comp.YesNoDimmer
|
||||
import Data.Flags exposing (Flags)
|
||||
@ -56,7 +57,7 @@ type alias Model =
|
||||
, dragDropData : DD.DragDropData
|
||||
, scrollToCard : Maybe String
|
||||
, searchStats : SearchStats
|
||||
, powerSearchInput : Maybe String
|
||||
, powerSearchInput : Comp.PowerSearchInput.Model
|
||||
}
|
||||
|
||||
|
||||
@ -122,7 +123,7 @@ init flags viewMode =
|
||||
, scrollToCard = Nothing
|
||||
, viewMode = viewMode
|
||||
, searchStats = Api.Model.SearchStats.empty
|
||||
, powerSearchInput = Nothing
|
||||
, powerSearchInput = Comp.PowerSearchInput.init
|
||||
}
|
||||
|
||||
|
||||
@ -196,7 +197,7 @@ type Msg
|
||||
| SetLinkTarget LinkTarget
|
||||
| SearchStatsResp (Result Http.Error SearchStats)
|
||||
| TogglePreviewFullWidth
|
||||
| SetPowerSearch String
|
||||
| PowerSearchMsg Comp.PowerSearchInput.Msg
|
||||
| KeyUpPowerSearchbarMsg (Maybe KeyCode)
|
||||
|
||||
|
||||
@ -247,7 +248,7 @@ doSearchDefaultCmd param model =
|
||||
Q.request <|
|
||||
Q.and
|
||||
[ Comp.SearchMenu.getItemQuery model.searchMenuModel
|
||||
, Maybe.map Q.Fragment model.powerSearchInput
|
||||
, Maybe.map Q.Fragment model.powerSearchInput.input
|
||||
]
|
||||
|
||||
mask =
|
||||
|
@ -1,15 +1,14 @@
|
||||
module Page.Home.Update exposing (update)
|
||||
|
||||
import Api
|
||||
import Api.Model.IdList exposing (IdList)
|
||||
import Api.Model.ItemLightList exposing (ItemLightList)
|
||||
import Api.Model.ItemQuery
|
||||
import Browser.Navigation as Nav
|
||||
import Comp.FixedDropdown
|
||||
import Comp.ItemCardList
|
||||
import Comp.ItemDetail.FormChange exposing (FormChange(..))
|
||||
import Comp.ItemDetail.MultiEditMenu exposing (SaveNameState(..))
|
||||
import Comp.LinkTarget exposing (LinkTarget)
|
||||
import Comp.PowerSearchInput
|
||||
import Comp.SearchMenu
|
||||
import Comp.YesNoDimmer
|
||||
import Data.Flags exposing (Flags)
|
||||
@ -54,7 +53,7 @@ update mId key flags settings msg model =
|
||||
ResetSearch ->
|
||||
let
|
||||
nm =
|
||||
{ model | searchOffset = 0, powerSearchInput = Nothing }
|
||||
{ model | searchOffset = 0, powerSearchInput = Comp.PowerSearchInput.init }
|
||||
in
|
||||
update mId key flags settings (SearchMenuMsg Comp.SearchMenu.ResetForm) nm
|
||||
|
||||
@ -580,8 +579,23 @@ update mId key flags settings msg model =
|
||||
in
|
||||
noSub ( model, cmd )
|
||||
|
||||
SetPowerSearch str ->
|
||||
noSub ( { model | powerSearchInput = Util.Maybe.fromString str }, Cmd.none )
|
||||
PowerSearchMsg lm ->
|
||||
let
|
||||
result =
|
||||
Comp.PowerSearchInput.update lm model.powerSearchInput
|
||||
|
||||
cmd_ =
|
||||
Cmd.map PowerSearchMsg result.cmd
|
||||
|
||||
model_ =
|
||||
{ model | powerSearchInput = result.model }
|
||||
in
|
||||
case result.action of
|
||||
Comp.PowerSearchInput.NoAction ->
|
||||
( model_, cmd_, Sub.map PowerSearchMsg result.subs )
|
||||
|
||||
Comp.PowerSearchInput.SubmitSearch ->
|
||||
update mId key flags settings (DoSearch model_.searchTypeDropdownValue) model_
|
||||
|
||||
KeyUpPowerSearchbarMsg (Just Enter) ->
|
||||
update mId key flags settings (DoSearch model.searchTypeDropdownValue) model
|
||||
|
@ -3,6 +3,7 @@ module Page.Home.View2 exposing (viewContent, viewSidebar)
|
||||
import Comp.Basic as B
|
||||
import Comp.ItemCardList
|
||||
import Comp.MenuBar as MB
|
||||
import Comp.PowerSearchInput
|
||||
import Comp.SearchMenu
|
||||
import Comp.SearchStatsView
|
||||
import Comp.YesNoDimmer
|
||||
@ -135,17 +136,12 @@ defaultMenuBar _ settings model =
|
||||
powerSearchBar =
|
||||
div
|
||||
[ class "relative flex flex-grow flex-row" ]
|
||||
[ input
|
||||
[ type_ "text"
|
||||
, placeholder "Search query …"
|
||||
, onInput SetPowerSearch
|
||||
, Util.Html.onKeyUpCode KeyUpPowerSearchbarMsg
|
||||
, Maybe.map value model.powerSearchInput
|
||||
|> Maybe.withDefault (value "")
|
||||
, class S.textInput
|
||||
, class "text-sm "
|
||||
]
|
||||
[]
|
||||
[ Html.map PowerSearchMsg
|
||||
(Comp.PowerSearchInput.viewInput []
|
||||
model.powerSearchInput
|
||||
)
|
||||
, Html.map PowerSearchMsg
|
||||
(Comp.PowerSearchInput.viewResult [] model.powerSearchInput)
|
||||
]
|
||||
in
|
||||
MB.view
|
||||
|
Reference in New Issue
Block a user