mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-26 02:48:25 +00:00
Manage bookmarks
This commit is contained in:
@ -12,6 +12,7 @@ module Page.ManageData.Data exposing
|
||||
, init
|
||||
)
|
||||
|
||||
import Comp.BookmarkManage
|
||||
import Comp.CustomFieldManage
|
||||
import Comp.EquipmentManage
|
||||
import Comp.FolderManage
|
||||
@ -29,6 +30,7 @@ type alias Model =
|
||||
, personManageModel : Comp.PersonManage.Model
|
||||
, folderManageModel : Comp.FolderManage.Model
|
||||
, fieldManageModel : Comp.CustomFieldManage.Model
|
||||
, bookmarkModel : Comp.BookmarkManage.Model
|
||||
}
|
||||
|
||||
|
||||
@ -37,6 +39,9 @@ init flags =
|
||||
let
|
||||
( m2, c2 ) =
|
||||
Comp.TagManage.update flags Comp.TagManage.LoadTags Comp.TagManage.emptyModel
|
||||
|
||||
( bm, bc ) =
|
||||
Comp.BookmarkManage.init flags
|
||||
in
|
||||
( { currentTab = Just TagTab
|
||||
, tagManageModel = m2
|
||||
@ -45,8 +50,12 @@ init flags =
|
||||
, personManageModel = Comp.PersonManage.emptyModel
|
||||
, folderManageModel = Comp.FolderManage.empty
|
||||
, fieldManageModel = Comp.CustomFieldManage.empty
|
||||
, bookmarkModel = bm
|
||||
}
|
||||
, Cmd.map TagManageMsg c2
|
||||
, Cmd.batch
|
||||
[ Cmd.map TagManageMsg c2
|
||||
, Cmd.map BookmarkMsg bc
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
@ -57,6 +66,7 @@ type Tab
|
||||
| PersonTab
|
||||
| FolderTab
|
||||
| CustomFieldTab
|
||||
| BookmarkTab
|
||||
|
||||
|
||||
type Msg
|
||||
@ -67,3 +77,4 @@ type Msg
|
||||
| PersonManageMsg Comp.PersonManage.Msg
|
||||
| FolderMsg Comp.FolderManage.Msg
|
||||
| CustomFieldMsg Comp.CustomFieldManage.Msg
|
||||
| BookmarkMsg Comp.BookmarkManage.Msg
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
module Page.ManageData.Update exposing (update)
|
||||
|
||||
import Comp.BookmarkManage
|
||||
import Comp.CustomFieldManage
|
||||
import Comp.EquipmentManage
|
||||
import Comp.FolderManage
|
||||
@ -17,7 +18,7 @@ import Data.Flags exposing (Flags)
|
||||
import Page.ManageData.Data exposing (..)
|
||||
|
||||
|
||||
update : Flags -> Msg -> Model -> ( Model, Cmd Msg )
|
||||
update : Flags -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
update flags msg model =
|
||||
case msg of
|
||||
SetTab t ->
|
||||
@ -43,42 +44,49 @@ update flags msg model =
|
||||
( sm, sc ) =
|
||||
Comp.FolderManage.init flags
|
||||
in
|
||||
( { m | folderManageModel = sm }, Cmd.map FolderMsg sc )
|
||||
( { m | folderManageModel = sm }, Cmd.map FolderMsg sc, Sub.none )
|
||||
|
||||
CustomFieldTab ->
|
||||
let
|
||||
( cm, cc ) =
|
||||
Comp.CustomFieldManage.init flags
|
||||
in
|
||||
( { m | fieldManageModel = cm }, Cmd.map CustomFieldMsg cc )
|
||||
( { m | fieldManageModel = cm }, Cmd.map CustomFieldMsg cc, Sub.none )
|
||||
|
||||
BookmarkTab ->
|
||||
let
|
||||
( bm, bc ) =
|
||||
Comp.BookmarkManage.init flags
|
||||
in
|
||||
( { m | bookmarkModel = bm }, Cmd.map BookmarkMsg bc, Sub.none )
|
||||
|
||||
TagManageMsg m ->
|
||||
let
|
||||
( m2, c2 ) =
|
||||
Comp.TagManage.update flags m model.tagManageModel
|
||||
in
|
||||
( { model | tagManageModel = m2 }, Cmd.map TagManageMsg c2 )
|
||||
( { model | tagManageModel = m2 }, Cmd.map TagManageMsg c2, Sub.none )
|
||||
|
||||
EquipManageMsg m ->
|
||||
let
|
||||
( m2, c2 ) =
|
||||
Comp.EquipmentManage.update flags m model.equipManageModel
|
||||
in
|
||||
( { model | equipManageModel = m2 }, Cmd.map EquipManageMsg c2 )
|
||||
( { model | equipManageModel = m2 }, Cmd.map EquipManageMsg c2, Sub.none )
|
||||
|
||||
OrgManageMsg m ->
|
||||
let
|
||||
( m2, c2 ) =
|
||||
Comp.OrgManage.update flags m model.orgManageModel
|
||||
in
|
||||
( { model | orgManageModel = m2 }, Cmd.map OrgManageMsg c2 )
|
||||
( { model | orgManageModel = m2 }, Cmd.map OrgManageMsg c2, Sub.none )
|
||||
|
||||
PersonManageMsg m ->
|
||||
let
|
||||
( m2, c2 ) =
|
||||
Comp.PersonManage.update flags m model.personManageModel
|
||||
in
|
||||
( { model | personManageModel = m2 }, Cmd.map PersonManageMsg c2 )
|
||||
( { model | personManageModel = m2 }, Cmd.map PersonManageMsg c2, Sub.none )
|
||||
|
||||
FolderMsg lm ->
|
||||
let
|
||||
@ -87,6 +95,7 @@ update flags msg model =
|
||||
in
|
||||
( { model | folderManageModel = m2 }
|
||||
, Cmd.map FolderMsg c2
|
||||
, Sub.none
|
||||
)
|
||||
|
||||
CustomFieldMsg lm ->
|
||||
@ -96,4 +105,15 @@ update flags msg model =
|
||||
in
|
||||
( { model | fieldManageModel = m2 }
|
||||
, Cmd.map CustomFieldMsg c2
|
||||
, Sub.none
|
||||
)
|
||||
|
||||
BookmarkMsg lm ->
|
||||
let
|
||||
( m2, c2, s2 ) =
|
||||
Comp.BookmarkManage.update flags lm model.bookmarkModel
|
||||
in
|
||||
( { model | bookmarkModel = m2 }
|
||||
, Cmd.map BookmarkMsg c2
|
||||
, Sub.map BookmarkMsg s2
|
||||
)
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
module Page.ManageData.View2 exposing (viewContent, viewSidebar)
|
||||
|
||||
import Comp.BookmarkManage
|
||||
import Comp.CustomFieldManage
|
||||
import Comp.EquipmentManage
|
||||
import Comp.FolderManage
|
||||
@ -121,6 +122,18 @@ viewSidebar texts visible _ settings model =
|
||||
[ text texts.basics.customFields
|
||||
]
|
||||
]
|
||||
, a
|
||||
[ href "#"
|
||||
, onClick (SetTab BookmarkTab)
|
||||
, menuEntryActive model BookmarkTab
|
||||
, class S.sidebarLink
|
||||
]
|
||||
[ i [ class "fa fa-bookmark" ] []
|
||||
, span
|
||||
[ class "ml-3" ]
|
||||
[ text texts.bookmarks
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
@ -150,6 +163,9 @@ viewContent texts flags settings model =
|
||||
Just CustomFieldTab ->
|
||||
viewCustomFields texts flags settings model
|
||||
|
||||
Just BookmarkTab ->
|
||||
viewBookmarks texts flags settings model
|
||||
|
||||
Nothing ->
|
||||
[]
|
||||
)
|
||||
@ -274,3 +290,18 @@ viewCustomFields texts flags _ model =
|
||||
model.fieldManageModel
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
viewBookmarks : Texts -> Flags -> UiSettings -> Model -> List (Html Msg)
|
||||
viewBookmarks texts flags settings model =
|
||||
[ h2
|
||||
[ class S.header1
|
||||
, class "inline-flex items-center"
|
||||
]
|
||||
[ i [ class "fa fa-bookmark" ] []
|
||||
, div [ class "ml-2" ]
|
||||
[ text texts.bookmarks
|
||||
]
|
||||
]
|
||||
, Html.map BookmarkMsg (Comp.BookmarkManage.view texts.bookmarkManage settings flags model.bookmarkModel)
|
||||
]
|
||||
|
Reference in New Issue
Block a user