Prefill share mail form

To have access to the translated content, the messages must be given
to the update function. There is no way to set the values in the view.
This commit is contained in:
eikek 2021-10-10 11:48:08 +02:00
parent 16ccddab9f
commit 9009ebcb39
7 changed files with 102 additions and 99 deletions

View File

@ -17,6 +17,7 @@ import Browser.Navigation as Nav
import Data.Flags import Data.Flags
import Data.UiSettings exposing (UiSettings) import Data.UiSettings exposing (UiSettings)
import Data.UiTheme import Data.UiTheme
import Messages exposing (Messages)
import Page exposing (Page(..)) import Page exposing (Page(..))
import Page.CollectiveSettings.Data import Page.CollectiveSettings.Data
import Page.CollectiveSettings.Update import Page.CollectiveSettings.Update
@ -59,6 +60,10 @@ update msg model =
updateWithSub : Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) updateWithSub : Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
updateWithSub msg model = updateWithSub msg model =
let
texts =
Messages.get <| App.Data.getUiLanguage model
in
case msg of case msg of
ToggleSidebar -> ToggleSidebar ->
( { model | sidebarVisible = not model.sidebarVisible }, Cmd.none, Sub.none ) ( { model | sidebarVisible = not model.sidebarVisible }, Cmd.none, Sub.none )
@ -98,7 +103,7 @@ updateWithSub msg model =
ClientSettingsSaveResp settings (Ok res) -> ClientSettingsSaveResp settings (Ok res) ->
if res.success then if res.success then
applyClientSettings model settings applyClientSettings texts model settings
else else
( model, Cmd.none, Sub.none ) ( model, Cmd.none, Sub.none )
@ -116,7 +121,7 @@ updateWithSub msg model =
( { model | anonymousUiLang = lang, langMenuOpen = False }, Cmd.none, Sub.none ) ( { model | anonymousUiLang = lang, langMenuOpen = False }, Cmd.none, Sub.none )
HomeMsg lm -> HomeMsg lm ->
updateHome lm model updateHome texts lm model
ShareMsg lm -> ShareMsg lm ->
updateShare lm model updateShare lm model
@ -131,10 +136,10 @@ updateWithSub msg model =
updateManageData lm model updateManageData lm model
CollSettingsMsg m -> CollSettingsMsg m ->
updateCollSettings m model updateCollSettings texts m model
UserSettingsMsg m -> UserSettingsMsg m ->
updateUserSettings m model updateUserSettings texts m model
QueueMsg m -> QueueMsg m ->
updateQueue m model updateQueue m model
@ -149,7 +154,7 @@ updateWithSub msg model =
updateNewInvite m model updateNewInvite m model
ItemDetailMsg m -> ItemDetailMsg m ->
updateItemDetail m model updateItemDetail texts m model
VersionResp (Ok info) -> VersionResp (Ok info) ->
( { model | version = info }, Cmd.none, Sub.none ) ( { model | version = info }, Cmd.none, Sub.none )
@ -291,7 +296,7 @@ updateWithSub msg model =
) )
GetUiSettings (Ok settings) -> GetUiSettings (Ok settings) ->
applyClientSettings model settings applyClientSettings texts model settings
GetUiSettings (Err _) -> GetUiSettings (Err _) ->
( model, Cmd.none, Sub.none ) ( model, Cmd.none, Sub.none )
@ -301,11 +306,11 @@ updateWithSub msg model =
lm = lm =
Page.UserSettings.Data.ReceiveBrowserSettings sett Page.UserSettings.Data.ReceiveBrowserSettings sett
in in
updateUserSettings lm model updateUserSettings texts lm model
applyClientSettings : Model -> UiSettings -> ( Model, Cmd Msg, Sub Msg ) applyClientSettings : Messages -> Model -> UiSettings -> ( Model, Cmd Msg, Sub Msg )
applyClientSettings model settings = applyClientSettings texts model settings =
let let
setTheme = setTheme =
Ports.setUiTheme settings.uiTheme Ports.setUiTheme settings.uiTheme
@ -316,9 +321,9 @@ applyClientSettings model settings =
, setTheme , setTheme
, Sub.none , Sub.none
) )
, updateUserSettings Page.UserSettings.Data.UpdateSettings , updateUserSettings texts Page.UserSettings.Data.UpdateSettings
, updateHome Page.Home.Data.UiSettingsUpdated , updateHome texts Page.Home.Data.UiSettingsUpdated
, updateItemDetail Page.ItemDetail.Data.UiSettingsUpdated , updateItemDetail texts Page.ItemDetail.Data.UiSettingsUpdated
] ]
{ model | uiSettings = settings } { model | uiSettings = settings }
@ -357,8 +362,8 @@ updateShare lmsg model =
( model, Cmd.none, Sub.none ) ( model, Cmd.none, Sub.none )
updateItemDetail : Page.ItemDetail.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) updateItemDetail : Messages -> Page.ItemDetail.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
updateItemDetail lmsg model = updateItemDetail texts lmsg model =
let let
inav = inav =
Page.Home.Data.itemNav model.itemDetailModel.detail.item.id model.homeModel Page.Home.Data.itemNav model.itemDetailModel.detail.item.id model.homeModel
@ -378,12 +383,12 @@ updateItemDetail lmsg model =
} }
( hm, hc, hs ) = ( hm, hc, hs ) =
updateHome (Page.Home.Data.SetLinkTarget result.linkTarget) model_ updateHome texts (Page.Home.Data.SetLinkTarget result.linkTarget) model_
( hm1, hc1, hs1 ) = ( hm1, hc1, hs1 ) =
case result.removedItem of case result.removedItem of
Just removedId -> Just removedId ->
updateHome (Page.Home.Data.RemoveItem removedId) hm updateHome texts (Page.Home.Data.RemoveItem removedId) hm
Nothing -> Nothing ->
( hm, hc, hs ) ( hm, hc, hs )
@ -446,8 +451,8 @@ updateQueue lmsg model =
) )
updateUserSettings : Page.UserSettings.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) updateUserSettings : Messages -> Page.UserSettings.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
updateUserSettings lmsg model = updateUserSettings texts lmsg model =
let let
result = result =
Page.UserSettings.Update.update model.flags model.uiSettings lmsg model.userSettingsModel Page.UserSettings.Update.update model.flags model.uiSettings lmsg model.userSettingsModel
@ -458,7 +463,7 @@ updateUserSettings lmsg model =
( lm2, lc2, s2 ) = ( lm2, lc2, s2 ) =
case result.newSettings of case result.newSettings of
Just sett -> Just sett ->
applyClientSettings model_ sett applyClientSettings texts model_ sett
Nothing -> Nothing ->
( model_, Cmd.none, Sub.none ) ( model_, Cmd.none, Sub.none )
@ -475,11 +480,12 @@ updateUserSettings lmsg model =
) )
updateCollSettings : Page.CollectiveSettings.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) updateCollSettings : Messages -> Page.CollectiveSettings.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
updateCollSettings lmsg model = updateCollSettings texts lmsg model =
let let
( lm, lc, ls ) = ( lm, lc, ls ) =
Page.CollectiveSettings.Update.update model.flags Page.CollectiveSettings.Update.update texts.collectiveSettings
model.flags
lmsg lmsg
model.collSettingsModel model.collSettingsModel
in in
@ -508,8 +514,8 @@ updateLogin lmsg model =
) )
updateHome : Page.Home.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) updateHome : Messages -> Page.Home.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
updateHome lmsg model = updateHome texts lmsg model =
let let
mid = mid =
case model.page of case model.page of
@ -520,7 +526,7 @@ updateHome lmsg model =
Nothing Nothing
result = result =
Page.Home.Update.update mid model.key model.flags model.uiSettings lmsg model.homeModel Page.Home.Update.update mid model.key model.flags texts.home model.uiSettings lmsg model.homeModel
model_ = model_ =
{ model | homeModel = result.model } { model | homeModel = result.model }
@ -528,7 +534,7 @@ updateHome lmsg model =
( lm, lc, ls ) = ( lm, lc, ls ) =
case result.newSettings of case result.newSettings of
Just sett -> Just sett ->
applyClientSettings model_ sett applyClientSettings texts model_ sett
Nothing -> Nothing ->
( model_, Cmd.none, Sub.none ) ( model_, Cmd.none, Sub.none )
@ -562,11 +568,14 @@ initPage model_ page =
let let
model = model =
{ model_ | page = page } { model_ | page = page }
texts =
Messages.get <| App.Data.getUiLanguage model
in in
case page of case page of
HomePage -> HomePage ->
Util.Update.andThen2 Util.Update.andThen2
[ updateHome Page.Home.Data.Init [ updateHome texts Page.Home.Data.Init
, updateQueue Page.Queue.Data.StopRefresh , updateQueue Page.Queue.Data.StopRefresh
] ]
model model
@ -580,7 +589,7 @@ initPage model_ page =
CollectiveSettingPage -> CollectiveSettingPage ->
Util.Update.andThen2 Util.Update.andThen2
[ updateQueue Page.Queue.Data.StopRefresh [ updateQueue Page.Queue.Data.StopRefresh
, updateCollSettings Page.CollectiveSettings.Data.Init , updateCollSettings texts Page.CollectiveSettings.Data.Init
] ]
model model
@ -608,7 +617,7 @@ initPage model_ page =
ItemDetailPage id -> ItemDetailPage id ->
Util.Update.andThen2 Util.Update.andThen2
[ updateItemDetail (Page.ItemDetail.Data.Init id) [ updateItemDetail texts (Page.ItemDetail.Data.Init id)
, updateQueue Page.Queue.Data.StopRefresh , updateQueue Page.Queue.Data.StopRefresh
] ]
model model

View File

@ -252,8 +252,6 @@ isValid model =
type alias ViewConfig = type alias ViewConfig =
{ withAttachments : Bool { withAttachments : Bool
, subjectTemplate : Maybe String
, bodyTemplate : Maybe String
, textAreaClass : String , textAreaClass : String
, showCancel : Bool , showCancel : Bool
} }
@ -264,8 +262,6 @@ view2 texts settings model =
let let
cfg = cfg =
{ withAttachments = True { withAttachments = True
, subjectTemplate = Nothing
, bodyTemplate = Nothing
, textAreaClass = "" , textAreaClass = ""
, showCancel = True , showCancel = True
} }
@ -357,11 +353,6 @@ view texts settings cfg model =
[ type_ "text" [ type_ "text"
, class S.textInput , class S.textInput
, onInput SetSubject , onInput SetSubject
, if model.subject == "" then
onFocus (SetSubject <| Maybe.withDefault "" cfg.subjectTemplate)
else
class ""
, value model.subject , value model.subject
] ]
[] []
@ -373,11 +364,7 @@ view texts settings cfg model =
] ]
, textarea , textarea
[ onInput SetBody [ onInput SetBody
, if model.body == "" then , value model.body
value <| Maybe.withDefault "" cfg.bodyTemplate
else
value model.body
, class S.textAreaInput , class S.textAreaInput
, class cfg.textAreaClass , class cfg.textAreaClass
] ]

View File

@ -26,7 +26,6 @@ import Comp.ShareView
import Data.Flags exposing (Flags) import Data.Flags exposing (Flags)
import Data.Icons as Icons import Data.Icons as Icons
import Data.ItemQuery exposing (ItemQuery) import Data.ItemQuery exposing (ItemQuery)
import Data.SearchMode exposing (SearchMode)
import Data.UiSettings exposing (UiSettings) import Data.UiSettings exposing (UiSettings)
import Html exposing (..) import Html exposing (..)
import Html.Attributes exposing (..) import Html.Attributes exposing (..)
@ -131,8 +130,8 @@ type alias UpdateResult =
} }
update : Flags -> Msg -> Model -> UpdateResult update : Texts -> Flags -> Msg -> Model -> UpdateResult
update flags msg model = update texts flags msg model =
case msg of case msg of
CancelPublish -> CancelPublish ->
{ model = model { model = model
@ -155,7 +154,7 @@ update flags msg model =
MailMsg lm -> MailMsg lm ->
let let
( mm, mc ) = ( mm, mc ) =
Comp.ShareMail.update flags lm model.mailModel Comp.ShareMail.update texts.shareMail flags lm model.mailModel
in in
{ model = { model | mailModel = mm } { model = { model | mailModel = mm }
, cmd = Cmd.map MailMsg mc , cmd = Cmd.map MailMsg mc
@ -204,7 +203,7 @@ update flags msg model =
GetShareResp (Ok share) -> GetShareResp (Ok share) ->
let let
( mm, mc ) = ( mm, mc ) =
Comp.ShareMail.update flags (Comp.ShareMail.setMailInfo share) model.mailModel Comp.ShareMail.update texts.shareMail flags (Comp.ShareMail.setMailInfo share) model.mailModel
in in
{ model = { model =
{ model { model

View File

@ -67,8 +67,8 @@ setMailInfo share =
SetMailInfo share SetMailInfo share
update : Flags -> Msg -> Model -> ( Model, Cmd Msg ) update : Texts -> Flags -> Msg -> Model -> ( Model, Cmd Msg )
update flags msg model = update texts flags msg model =
case msg of case msg of
MailMsg lm -> MailMsg lm ->
let let
@ -107,7 +107,22 @@ update flags msg model =
defaultResult defaultResult
SetMailInfo share -> SetMailInfo share ->
( { model | share = share }, Cmd.none ) let
url =
flags.config.baseUrl ++ Page.pageToString (SharePage share.id)
name =
share.name
lm =
Comp.ItemMail.setMailInfo
(texts.subjectTemplate name)
(texts.bodyTemplate url)
nm =
{ model | share = share }
in
update texts flags (MailMsg lm) nm
SendMailResp (Ok res) -> SendMailResp (Ok res) ->
if res.success then if res.success then
@ -138,19 +153,8 @@ update flags msg model =
view : Texts -> Flags -> UiSettings -> Model -> Html Msg view : Texts -> Flags -> UiSettings -> Model -> Html Msg
view texts flags settings model = view texts flags settings model =
let let
url =
flags.config.baseUrl ++ (Page.pageToString <| SharePage model.share.id)
subject =
texts.subjectTemplate model.share.name
body =
texts.bodyTemplate url
cfg = cfg =
{ withAttachments = False { withAttachments = False
, subjectTemplate = Just subject
, bodyTemplate = Just body
, textAreaClass = "h-52" , textAreaClass = "h-52"
, showCancel = False , showCancel = False
} }

View File

@ -110,8 +110,8 @@ loadShares =
--- update --- update
update : Flags -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) update : Texts -> Flags -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
update flags msg model = update texts flags msg model =
case msg of case msg of
InitNewShare -> InitNewShare ->
let let
@ -121,7 +121,7 @@ update flags msg model =
share = share =
Api.Model.ShareDetail.empty Api.Model.ShareDetail.empty
in in
update flags (FormMsg (Comp.ShareForm.setShare { share | enabled = True })) nm update texts flags (FormMsg (Comp.ShareForm.setShare { share | enabled = True })) nm
SetViewMode vm -> SetViewMode vm ->
( { model | viewMode = vm, formError = FormErrorNone } ( { model | viewMode = vm, formError = FormErrorNone }
@ -150,7 +150,7 @@ update flags msg model =
in in
case action of case action of
Comp.ShareTable.Edit share -> Comp.ShareTable.Edit share ->
setShare share flags model setShare texts share flags model
RequestDelete -> RequestDelete ->
( { model | deleteConfirm = DeleteConfirmOn }, Cmd.none, Sub.none ) ( { model | deleteConfirm = DeleteConfirmOn }, Cmd.none, Sub.none )
@ -209,14 +209,14 @@ update flags msg model =
( { model | loading = False, formError = FormErrorHttp err }, Cmd.none, Sub.none ) ( { model | loading = False, formError = FormErrorHttp err }, Cmd.none, Sub.none )
GetShareResp (Ok share) -> GetShareResp (Ok share) ->
setShare share flags model setShare texts share flags model
GetShareResp (Err err) -> GetShareResp (Err err) ->
( { model | formError = FormErrorHttp err }, Cmd.none, Sub.none ) ( { model | formError = FormErrorHttp err }, Cmd.none, Sub.none )
DeleteShareResp (Ok res) -> DeleteShareResp (Ok res) ->
if res.success then if res.success then
update flags (SetViewMode Table) { model | loading = False } update texts flags (SetViewMode Table) { model | loading = False }
else else
( { model | formError = FormErrorSubmit res.message, loading = False }, Cmd.none, Sub.none ) ( { model | formError = FormErrorSubmit res.message, loading = False }, Cmd.none, Sub.none )
@ -227,13 +227,13 @@ update flags msg model =
MailMsg lm -> MailMsg lm ->
let let
( mm, mc ) = ( mm, mc ) =
Comp.ShareMail.update flags lm model.mailModel Comp.ShareMail.update texts.shareMail flags lm model.mailModel
in in
( { model | mailModel = mm }, Cmd.map MailMsg mc, Sub.none ) ( { model | mailModel = mm }, Cmd.map MailMsg mc, Sub.none )
setShare : ShareDetail -> Flags -> Model -> ( Model, Cmd Msg, Sub Msg ) setShare : Texts -> ShareDetail -> Flags -> Model -> ( Model, Cmd Msg, Sub Msg )
setShare share flags model = setShare texts share flags model =
let let
shareUrl = shareUrl =
flags.config.baseUrl ++ Page.pageToString (SharePage share.id) flags.config.baseUrl ++ Page.pageToString (SharePage share.id)
@ -245,10 +245,10 @@ setShare share flags model =
Ports.initClipboard (Comp.ShareView.clipboardData share) Ports.initClipboard (Comp.ShareView.clipboardData share)
( nm, nc, ns ) = ( nm, nc, ns ) =
update flags (FormMsg <| Comp.ShareForm.setShare share) nextModel update texts flags (FormMsg <| Comp.ShareForm.setShare share) nextModel
( nm2, nc2, ns2 ) = ( nm2, nc2, ns2 ) =
update flags (MailMsg <| Comp.ShareMail.setMailInfo share) nm update texts flags (MailMsg <| Comp.ShareMail.setMailInfo share) nm
in in
( nm2, Cmd.batch [ initClipboard, nc, nc2 ], Sub.batch [ ns, ns2 ] ) ( nm2, Cmd.batch [ initClipboard, nc, nc2 ], Sub.batch [ ns, ns2 ] )

View File

@ -13,11 +13,12 @@ import Comp.ShareManage
import Comp.SourceManage import Comp.SourceManage
import Comp.UserManage import Comp.UserManage
import Data.Flags exposing (Flags) import Data.Flags exposing (Flags)
import Messages.Page.CollectiveSettings exposing (Texts)
import Page.CollectiveSettings.Data exposing (..) import Page.CollectiveSettings.Data exposing (..)
update : Flags -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg ) update : Texts -> Flags -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
update flags msg model = update texts flags msg model =
case msg of case msg of
SetTab t -> SetTab t ->
let let
@ -26,19 +27,19 @@ update flags msg model =
in in
case t of case t of
SourceTab -> SourceTab ->
update flags (SourceMsg Comp.SourceManage.LoadSources) m update texts flags (SourceMsg Comp.SourceManage.LoadSources) m
UserTab -> UserTab ->
update flags (UserMsg Comp.UserManage.LoadUsers) m update texts flags (UserMsg Comp.UserManage.LoadUsers) m
InsightsTab -> InsightsTab ->
update flags Init m update texts flags Init m
SettingsTab -> SettingsTab ->
update flags Init m update texts flags Init m
ShareTab -> ShareTab ->
update flags (ShareMsg Comp.ShareManage.loadShares) m update texts flags (ShareMsg Comp.ShareManage.loadShares) m
SourceMsg m -> SourceMsg m ->
let let
@ -50,7 +51,7 @@ update flags msg model =
ShareMsg lm -> ShareMsg lm ->
let let
( sm, sc, ss ) = ( sm, sc, ss ) =
Comp.ShareManage.update flags lm model.shareModel Comp.ShareManage.update texts.shareManage flags lm model.shareModel
in in
( { model | shareModel = sm }, Cmd.map ShareMsg sc, Sub.map ShareMsg ss ) ( { model | shareModel = sm }, Cmd.map ShareMsg sc, Sub.map ShareMsg ss )

View File

@ -27,6 +27,7 @@ import Data.ItemSelection
import Data.Items import Data.Items
import Data.SearchMode exposing (SearchMode) import Data.SearchMode exposing (SearchMode)
import Data.UiSettings exposing (UiSettings) import Data.UiSettings exposing (UiSettings)
import Messages.Page.Home exposing (Texts)
import Page exposing (Page(..)) import Page exposing (Page(..))
import Page.Home.Data exposing (..) import Page.Home.Data exposing (..)
import Process import Process
@ -48,8 +49,8 @@ type alias UpdateResult =
} }
update : Maybe String -> Nav.Key -> Flags -> UiSettings -> Msg -> Model -> UpdateResult update : Maybe String -> Nav.Key -> Flags -> Texts -> UiSettings -> Msg -> Model -> UpdateResult
update mId key flags settings msg model = update mId key flags texts settings msg model =
case msg of case msg of
Init -> Init ->
let let
@ -63,7 +64,7 @@ update mId key flags settings msg model =
in in
makeResult <| makeResult <|
Util.Update.andThen3 Util.Update.andThen3
[ update mId key flags settings (SearchMenuMsg Comp.SearchMenu.Init) [ update mId key flags texts settings (SearchMenuMsg Comp.SearchMenu.Init)
, doSearch searchParam , doSearch searchParam
] ]
model model
@ -73,7 +74,7 @@ update mId key flags settings msg model =
nm = nm =
{ model | searchOffset = 0, powerSearchInput = Comp.PowerSearchInput.init } { model | searchOffset = 0, powerSearchInput = Comp.PowerSearchInput.init }
in in
update mId key flags settings (SearchMenuMsg Comp.SearchMenu.ResetForm) nm update mId key flags texts settings (SearchMenuMsg Comp.SearchMenu.ResetForm) nm
SearchMenuMsg m -> SearchMenuMsg m ->
let let
@ -119,7 +120,7 @@ update mId key flags settings msg model =
SetLinkTarget lt -> SetLinkTarget lt ->
case linkTargetMsg lt of case linkTargetMsg lt of
Just m -> Just m ->
update mId key flags settings m model update mId key flags texts settings m model
Nothing -> Nothing ->
makeResult ( model, Cmd.none, Sub.none ) makeResult ( model, Cmd.none, Sub.none )
@ -167,7 +168,7 @@ update mId key flags settings msg model =
in in
makeResult <| makeResult <|
Util.Update.andThen3 Util.Update.andThen3
[ update mId key flags settings (ItemCardListMsg (Comp.ItemCardList.SetResults list)) [ update mId key flags texts settings (ItemCardListMsg (Comp.ItemCardList.SetResults list))
, if scroll then , if scroll then
scrollToCard mId scrollToCard mId
@ -189,7 +190,7 @@ update mId key flags settings msg model =
, moreAvailable = list.groups /= [] , moreAvailable = list.groups /= []
} }
in in
update mId key flags settings (ItemCardListMsg (Comp.ItemCardList.AddResults list)) m update mId key flags texts settings (ItemCardListMsg (Comp.ItemCardList.AddResults list)) m
ItemSearchAddResp (Err _) -> ItemSearchAddResp (Err _) ->
withSub withSub
@ -289,18 +290,18 @@ update mId key flags settings msg model =
smMsg = smMsg =
SearchMenuMsg (Comp.SearchMenu.SetTextSearch str) SearchMenuMsg (Comp.SearchMenu.SetTextSearch str)
in in
update mId key flags settings smMsg model update mId key flags texts settings smMsg model
ToggleSearchType -> ToggleSearchType ->
case model.searchTypeDropdownValue of case model.searchTypeDropdownValue of
BasicSearch -> BasicSearch ->
update mId key flags settings (SearchMenuMsg Comp.SearchMenu.SetFulltextSearch) model update mId key flags texts settings (SearchMenuMsg Comp.SearchMenu.SetFulltextSearch) model
ContentOnlySearch -> ContentOnlySearch ->
update mId key flags settings (SearchMenuMsg Comp.SearchMenu.SetNamesSearch) model update mId key flags texts settings (SearchMenuMsg Comp.SearchMenu.SetNamesSearch) model
KeyUpSearchbarMsg (Just Enter) -> KeyUpSearchbarMsg (Just Enter) ->
update mId key flags settings (DoSearch model.searchTypeDropdownValue) model update mId key flags texts settings (DoSearch model.searchTypeDropdownValue) model
KeyUpSearchbarMsg _ -> KeyUpSearchbarMsg _ ->
withSub ( model, Cmd.none ) withSub ( model, Cmd.none )
@ -614,6 +615,7 @@ update mId key flags settings msg model =
update mId update mId
key key
flags flags
texts
settings settings
(DoSearch model.searchTypeDropdownValue) (DoSearch model.searchTypeDropdownValue)
model_ model_
@ -676,7 +678,7 @@ update mId key flags settings msg model =
SelectView svm -> SelectView svm ->
let let
result = result =
Comp.PublishItems.update flags lmsg svm.publishModel Comp.PublishItems.update texts.publishItems flags lmsg svm.publishModel
nextView = nextView =
case result.outcome of case result.outcome of
@ -693,6 +695,7 @@ update mId key flags settings msg model =
update mId update mId
key key
flags flags
texts
settings settings
(DoSearch model.searchTypeDropdownValue) (DoSearch model.searchTypeDropdownValue)
model_ model_
@ -809,7 +812,7 @@ update mId key flags settings msg model =
model_ = model_ =
{ model | viewMode = viewMode } { model | viewMode = viewMode }
in in
update mId key flags settings (DoSearch model.lastSearchType) model_ update mId key flags texts settings (DoSearch model.lastSearchType) model_
SearchStatsResp result -> SearchStatsResp result ->
let let
@ -819,7 +822,7 @@ update mId key flags settings msg model =
stats = stats =
Result.withDefault model.searchStats result Result.withDefault model.searchStats result
in in
update mId key flags settings lm { model | searchStats = stats } update mId key flags texts settings lm { model | searchStats = stats }
TogglePreviewFullWidth -> TogglePreviewFullWidth ->
let let
@ -861,16 +864,16 @@ update mId key flags settings msg model =
makeResult ( model_, cmd_, Sub.map PowerSearchMsg result.subs ) makeResult ( model_, cmd_, Sub.map PowerSearchMsg result.subs )
Comp.PowerSearchInput.SubmitSearch -> Comp.PowerSearchInput.SubmitSearch ->
update mId key flags settings (DoSearch model_.searchTypeDropdownValue) model_ update mId key flags texts settings (DoSearch model_.searchTypeDropdownValue) model_
KeyUpPowerSearchbarMsg (Just Enter) -> KeyUpPowerSearchbarMsg (Just Enter) ->
update mId key flags settings (DoSearch model.searchTypeDropdownValue) model update mId key flags texts settings (DoSearch model.searchTypeDropdownValue) model
KeyUpPowerSearchbarMsg _ -> KeyUpPowerSearchbarMsg _ ->
withSub ( model, Cmd.none ) withSub ( model, Cmd.none )
RemoveItem id -> RemoveItem id ->
update mId key flags settings (ItemCardListMsg (Comp.ItemCardList.RemoveItem id)) model update mId key flags texts settings (ItemCardListMsg (Comp.ItemCardList.RemoveItem id)) model
TogglePublishCurrentQueryView -> TogglePublishCurrentQueryView ->
case createQuery model of case createQuery model of
@ -889,7 +892,7 @@ update mId key flags settings msg model =
PublishView inPM -> PublishView inPM ->
let let
result = result =
Comp.PublishItems.update flags lmsg inPM Comp.PublishItems.update texts.publishItems flags lmsg inPM
in in
case result.outcome of case result.outcome of
Comp.PublishItems.OutcomeInProgress -> Comp.PublishItems.OutcomeInProgress ->