Fix updating queue page

This commit is contained in:
eikek
2022-01-30 17:38:23 +01:00
parent 14a413e787
commit d67b063735
3 changed files with 24 additions and 28 deletions

View File

@ -499,8 +499,11 @@ updateRegister lmsg model =
updateQueue : Page.Queue.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
updateQueue lmsg model =
let
notQueuePage =
model.page /= QueuePage
( lm, lc ) =
Page.Queue.Update.update model.flags lmsg model.queueModel
Page.Queue.Update.update model.flags notQueuePage lmsg model.queueModel
in
( { model | queueModel = lm }
, Cmd.map QueueMsg lc
@ -509,7 +512,7 @@ updateQueue lmsg model =
updateUserSettings : Messages -> Page.UserSettings.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
updateUserSettings texts lmsg model =
updateUserSettings _ lmsg model =
let
result =
Page.UserSettings.Update.update model.flags model.uiSettings lmsg model.userSettingsModel
@ -626,54 +629,50 @@ initPage model_ page =
texts =
Messages.get <| App.Data.getUiLanguage model
noop =
( model, Cmd.none, Sub.none )
in
case page of
SearchPage _ ->
Util.Update.andThen2
[ updateSearch texts Page.Search.Data.Init
, updateQueue Page.Queue.Data.StopRefresh
]
model
LoginPage _ ->
updateQueue Page.Queue.Data.StopRefresh model
noop
ManageDataPage ->
updateQueue Page.Queue.Data.StopRefresh model
noop
CollectiveSettingPage ->
Util.Update.andThen2
[ updateQueue Page.Queue.Data.StopRefresh
, updateCollSettings texts Page.CollectiveSettings.Data.Init
[ updateCollSettings texts Page.CollectiveSettings.Data.Init
]
model
UserSettingPage ->
Util.Update.andThen2
[ updateQueue Page.Queue.Data.StopRefresh
]
model
noop
QueuePage ->
updateQueue Page.Queue.Data.Init model
RegisterPage ->
updateQueue Page.Queue.Data.StopRefresh model
noop
UploadPage _ ->
Util.Update.andThen2
[ updateQueue Page.Queue.Data.StopRefresh
, updateUpload Page.Upload.Data.reset
[ updateUpload Page.Upload.Data.reset
]
model
NewInvitePage ->
updateQueue Page.Queue.Data.StopRefresh model
noop
ItemDetailPage id ->
Util.Update.andThen2
[ updateItemDetail texts (Page.ItemDetail.Data.Init id)
, updateQueue Page.Queue.Data.StopRefresh
]
model

View File

@ -31,7 +31,6 @@ type alias Model =
, formState : FormState
, pollingInterval : Float
, init : Bool
, stopRefresh : Bool
, currentMillis : Int
, showLog : Maybe JobDetail
, deleteConfirm : Comp.YesNoDimmer.Model
@ -60,7 +59,6 @@ emptyModel =
, formState = InitialForm
, pollingInterval = 1200
, init = False
, stopRefresh = False
, currentMillis = 0
, showLog = Nothing
, deleteConfirm = Comp.YesNoDimmer.emptyModel
@ -72,7 +70,6 @@ emptyModel =
type Msg
= Init
| StateResp (Result Http.Error JobQueueState)
| StopRefresh
| NewTime Time.Posix
| ShowLog JobDetail
| QuitShowLog

View File

@ -15,8 +15,8 @@ import Task
import Time
update : Flags -> Msg -> Model -> ( Model, Cmd Msg )
update flags msg model =
update : Flags -> Bool -> Msg -> Model -> ( Model, Cmd Msg )
update flags stopRefresh msg model =
case msg of
Init ->
let
@ -30,12 +30,15 @@ update flags msg model =
, getNewTime
]
in
( { model | init = True, stopRefresh = False }, start )
( { model | init = True }, start )
StateResp (Ok s) ->
let
stop =
model.pollingInterval <= 0 || stopRefresh
refresh =
if model.pollingInterval <= 0 || model.stopRefresh then
if stop then
Cmd.none
else
@ -44,14 +47,11 @@ update flags msg model =
, getNewTime
]
in
( { model | state = s, stopRefresh = False }, refresh )
( { model | state = s, init = False }, refresh )
StateResp (Err err) ->
( { model | formState = HttpError err }, Cmd.none )
StopRefresh ->
( { model | stopRefresh = True, init = False }, Cmd.none )
NewTime t ->
( { model | currentMillis = Time.posixToMillis t }, Cmd.none )
@ -66,7 +66,7 @@ update flags msg model =
newModel =
{ model | cancelJobRequest = Just job.id }
in
update flags (DimmerMsg job Comp.YesNoDimmer.Activate) newModel
update flags stopRefresh (DimmerMsg job Comp.YesNoDimmer.Activate) newModel
DimmerMsg job m ->
let