Store item selection globally

This commit is contained in:
eikek
2022-02-27 15:00:34 +01:00
parent 203788c746
commit 63e0258db7
13 changed files with 458 additions and 311 deletions

View File

@ -19,6 +19,7 @@ import Api.Model.VersionInfo exposing (VersionInfo)
import Browser exposing (UrlRequest)
import Browser.Navigation exposing (Key)
import Data.Flags exposing (Flags)
import Data.ItemIds exposing (ItemIds)
import Data.ServerEvent exposing (ServerEvent)
import Data.UiSettings exposing (UiSettings)
import Data.UiTheme exposing (UiTheme)
@ -69,6 +70,7 @@ type alias Model =
, langMenuOpen : Bool
, showNewItemsArrived : Bool
, jobsWaiting : Int
, selectedItems : ItemIds
}
@ -133,6 +135,7 @@ init key url flags_ settings =
, langMenuOpen = False
, showNewItemsArrived = False
, jobsWaiting = 0
, selectedItems = Data.ItemIds.empty
}
, Cmd.batch
[ Cmd.map DashboardMsg dbc

View File

@ -584,11 +584,20 @@ updateSearch texts lmsg model =
_ ->
( Nothing, Nothing )
env =
{ bookmarkId = bmId
, lastViewedItemId = mid
, key = model.key
, selectedItems = model.selectedItems
, flags = model.flags
, settings = model.uiSettings
}
result =
Page.Search.Update.update bmId mid model.key model.flags texts.search model.uiSettings lmsg model.searchModel
Page.Search.Update.update texts.search env lmsg model.searchModel
model_ =
{ model | searchModel = result.model }
{ model | searchModel = result.model, selectedItems = result.selectedItems }
lc =
case result.appEvent of

View File

@ -549,17 +549,22 @@ viewShareDetail texts shareId itemId model =
viewSearch : Messages -> Maybe String -> Model -> List (Html Msg)
viewSearch texts bmId model =
let
env =
{ sidebarVisible = model.sidebarVisible
, flags = model.flags
, settings = model.uiSettings
, selectedItems = model.selectedItems
}
in
[ Html.map SearchMsg
(Search.viewSidebar texts.search
model.sidebarVisible
model.flags
model.uiSettings
env
model.searchModel
)
, Html.map SearchMsg
(Search.viewContent texts.search
model.flags
model.uiSettings
env
model.searchModel
)
]