mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-23 10:58:26 +00:00
Outline share detail page
This commit is contained in:
@ -33,6 +33,7 @@ import Page.NewInvite.Data
|
||||
import Page.Queue.Data
|
||||
import Page.Register.Data
|
||||
import Page.Share.Data
|
||||
import Page.ShareDetail.Data
|
||||
import Page.Upload.Data
|
||||
import Page.UserSettings.Data
|
||||
import Url exposing (Url)
|
||||
@ -54,6 +55,7 @@ type alias Model =
|
||||
, newInviteModel : Page.NewInvite.Data.Model
|
||||
, itemDetailModel : Page.ItemDetail.Data.Model
|
||||
, shareModel : Page.Share.Data.Model
|
||||
, shareDetailModel : Page.ShareDetail.Data.Model
|
||||
, navMenuOpen : Bool
|
||||
, userMenuOpen : Bool
|
||||
, subs : Sub Msg
|
||||
@ -88,7 +90,10 @@ init key url flags_ settings =
|
||||
Page.Login.Data.init flags (Page.loginPageReferrer page)
|
||||
|
||||
( shm, shc ) =
|
||||
Page.Share.Data.init (Page.shareId page) flags
|
||||
Page.Share.Data.init (Page.pageShareId page) flags
|
||||
|
||||
( sdm, sdc ) =
|
||||
Page.ShareDetail.Data.init (Page.pageShareDetail page) flags
|
||||
|
||||
homeViewMode =
|
||||
if settings.searchMenuVisible then
|
||||
@ -112,6 +117,7 @@ init key url flags_ settings =
|
||||
, newInviteModel = Page.NewInvite.Data.emptyModel
|
||||
, itemDetailModel = Page.ItemDetail.Data.emptyModel
|
||||
, shareModel = shm
|
||||
, shareDetailModel = sdm
|
||||
, navMenuOpen = False
|
||||
, userMenuOpen = False
|
||||
, subs = Sub.none
|
||||
@ -127,6 +133,7 @@ init key url flags_ settings =
|
||||
, Cmd.map CollSettingsMsg csc
|
||||
, Cmd.map LoginMsg loginc
|
||||
, Cmd.map ShareMsg shc
|
||||
, Cmd.map ShareDetailMsg sdc
|
||||
]
|
||||
)
|
||||
|
||||
@ -170,6 +177,7 @@ type Msg
|
||||
| NewInviteMsg Page.NewInvite.Data.Msg
|
||||
| ItemDetailMsg Page.ItemDetail.Data.Msg
|
||||
| ShareMsg Page.Share.Data.Msg
|
||||
| ShareDetailMsg Page.ShareDetail.Data.Msg
|
||||
| Logout
|
||||
| LogoutResp (Result Http.Error ())
|
||||
| SessionCheckResp (Result Http.Error AuthResult)
|
||||
|
@ -36,6 +36,8 @@ import Page.Register.Data
|
||||
import Page.Register.Update
|
||||
import Page.Share.Data
|
||||
import Page.Share.Update
|
||||
import Page.ShareDetail.Data
|
||||
import Page.ShareDetail.Update
|
||||
import Page.Upload.Data
|
||||
import Page.Upload.Update
|
||||
import Page.UserSettings.Data
|
||||
@ -119,6 +121,9 @@ updateWithSub msg model =
|
||||
ShareMsg lm ->
|
||||
updateShare lm model
|
||||
|
||||
ShareDetailMsg lm ->
|
||||
updateShareDetail lm model
|
||||
|
||||
LoginMsg lm ->
|
||||
updateLogin lm model
|
||||
|
||||
@ -318,9 +323,26 @@ applyClientSettings model settings =
|
||||
{ model | uiSettings = settings }
|
||||
|
||||
|
||||
updateShareDetail : Page.ShareDetail.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
updateShareDetail lmsg model =
|
||||
case Page.pageShareDetail model.page of
|
||||
Just ( shareId, itemId ) ->
|
||||
let
|
||||
( m, c ) =
|
||||
Page.ShareDetail.Update.update shareId itemId model.flags lmsg model.shareDetailModel
|
||||
in
|
||||
( { model | shareDetailModel = m }
|
||||
, Cmd.map ShareDetailMsg c
|
||||
, Sub.none
|
||||
)
|
||||
|
||||
Nothing ->
|
||||
( model, Cmd.none, Sub.none )
|
||||
|
||||
|
||||
updateShare : Page.Share.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
updateShare lmsg model =
|
||||
case Page.shareId model.page of
|
||||
case Page.pageShareId model.page of
|
||||
Just id ->
|
||||
let
|
||||
result =
|
||||
@ -593,3 +615,15 @@ initPage model_ page =
|
||||
|
||||
SharePage _ ->
|
||||
( model, Cmd.none, Sub.none )
|
||||
|
||||
ShareDetailPage _ _ ->
|
||||
case model_.page of
|
||||
SharePage _ ->
|
||||
let
|
||||
verifyResult =
|
||||
model.shareModel.verifyResult
|
||||
in
|
||||
updateShareDetail (Page.ShareDetail.Data.VerifyResp (Ok verifyResult)) model
|
||||
|
||||
_ ->
|
||||
( model, Cmd.none, Sub.none )
|
||||
|
@ -28,6 +28,7 @@ import Page.NewInvite.View2 as NewInvite
|
||||
import Page.Queue.View2 as Queue
|
||||
import Page.Register.View2 as Register
|
||||
import Page.Share.View as Share
|
||||
import Page.ShareDetail.View as ShareDetail
|
||||
import Page.Upload.View2 as Upload
|
||||
import Page.UserSettings.View2 as UserSettings
|
||||
import Styles as S
|
||||
@ -166,6 +167,9 @@ mainContent model =
|
||||
|
||||
SharePage id ->
|
||||
viewShare texts id model
|
||||
|
||||
ShareDetailPage shareId itemId ->
|
||||
viewShareDetail texts shareId itemId model
|
||||
)
|
||||
|
||||
|
||||
@ -434,11 +438,33 @@ viewShare texts shareId model =
|
||||
model.flags
|
||||
model.version
|
||||
model.uiSettings
|
||||
shareId
|
||||
model.shareModel
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
viewShareDetail : Messages -> String -> String -> Model -> List (Html Msg)
|
||||
viewShareDetail texts shareId itemId model =
|
||||
[ Html.map ShareDetailMsg
|
||||
(ShareDetail.viewSidebar texts.shareDetail
|
||||
model.sidebarVisible
|
||||
model.flags
|
||||
model.uiSettings
|
||||
model.shareDetailModel
|
||||
)
|
||||
, Html.map ShareDetailMsg
|
||||
(ShareDetail.viewContent texts.shareDetail
|
||||
model.flags
|
||||
model.uiSettings
|
||||
model.version
|
||||
shareId
|
||||
itemId
|
||||
model.shareDetailModel
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
viewHome : Messages -> Model -> List (Html Msg)
|
||||
viewHome texts model =
|
||||
[ Html.map HomeMsg
|
||||
|
Reference in New Issue
Block a user