mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-09-30 00:28:23 +00:00
Basic ui for addons
This commit is contained in:
@@ -12,6 +12,8 @@ module Page.ManageData.Data exposing
|
||||
, init
|
||||
)
|
||||
|
||||
import Comp.AddonArchiveManage
|
||||
import Comp.AddonRunConfigManage
|
||||
import Comp.BookmarkManage
|
||||
import Comp.CustomFieldManage
|
||||
import Comp.EquipmentManage
|
||||
@@ -31,6 +33,8 @@ type alias Model =
|
||||
, folderManageModel : Comp.FolderManage.Model
|
||||
, fieldManageModel : Comp.CustomFieldManage.Model
|
||||
, bookmarkModel : Comp.BookmarkManage.Model
|
||||
, addonArchiveModel : Comp.AddonArchiveManage.Model
|
||||
, addonRunConfigModel : Comp.AddonRunConfigManage.Model
|
||||
}
|
||||
|
||||
|
||||
@@ -42,6 +46,12 @@ init flags =
|
||||
|
||||
( bm, bc ) =
|
||||
Comp.BookmarkManage.init flags
|
||||
|
||||
( aam, aac ) =
|
||||
Comp.AddonArchiveManage.init flags
|
||||
|
||||
( arm, arc ) =
|
||||
Comp.AddonRunConfigManage.init flags
|
||||
in
|
||||
( { currentTab = Just TagTab
|
||||
, tagManageModel = m2
|
||||
@@ -51,10 +61,14 @@ init flags =
|
||||
, folderManageModel = Comp.FolderManage.empty
|
||||
, fieldManageModel = Comp.CustomFieldManage.empty
|
||||
, bookmarkModel = bm
|
||||
, addonArchiveModel = aam
|
||||
, addonRunConfigModel = arm
|
||||
}
|
||||
, Cmd.batch
|
||||
[ Cmd.map TagManageMsg c2
|
||||
, Cmd.map BookmarkMsg bc
|
||||
, Cmd.map AddonArchiveMsg aac
|
||||
, Cmd.map AddonRunConfigMsg arc
|
||||
]
|
||||
)
|
||||
|
||||
@@ -67,6 +81,8 @@ type Tab
|
||||
| FolderTab
|
||||
| CustomFieldTab
|
||||
| BookmarkTab
|
||||
| AddonArchiveTab
|
||||
| AddonRunConfigTab
|
||||
|
||||
|
||||
type Msg
|
||||
@@ -78,3 +94,5 @@ type Msg
|
||||
| FolderMsg Comp.FolderManage.Msg
|
||||
| CustomFieldMsg Comp.CustomFieldManage.Msg
|
||||
| BookmarkMsg Comp.BookmarkManage.Msg
|
||||
| AddonArchiveMsg Comp.AddonArchiveManage.Msg
|
||||
| AddonRunConfigMsg Comp.AddonRunConfigManage.Msg
|
||||
|
@@ -7,6 +7,8 @@
|
||||
|
||||
module Page.ManageData.Update exposing (update)
|
||||
|
||||
import Comp.AddonArchiveManage
|
||||
import Comp.AddonRunConfigManage
|
||||
import Comp.BookmarkManage
|
||||
import Comp.CustomFieldManage
|
||||
import Comp.EquipmentManage
|
||||
@@ -15,11 +17,12 @@ import Comp.OrgManage
|
||||
import Comp.PersonManage
|
||||
import Comp.TagManage
|
||||
import Data.Flags exposing (Flags)
|
||||
import Data.UiSettings exposing (UiSettings)
|
||||
import Page.ManageData.Data exposing (..)
|
||||
|
||||
|
||||
update : Flags -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
update flags msg model =
|
||||
update : Flags -> UiSettings -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
update flags uiSettings msg model =
|
||||
case msg of
|
||||
SetTab t ->
|
||||
let
|
||||
@@ -28,16 +31,16 @@ update flags msg model =
|
||||
in
|
||||
case t of
|
||||
TagTab ->
|
||||
update flags (TagManageMsg Comp.TagManage.LoadTags) m
|
||||
update flags uiSettings (TagManageMsg Comp.TagManage.LoadTags) m
|
||||
|
||||
EquipTab ->
|
||||
update flags (EquipManageMsg Comp.EquipmentManage.LoadEquipments) m
|
||||
update flags uiSettings (EquipManageMsg Comp.EquipmentManage.LoadEquipments) m
|
||||
|
||||
OrgTab ->
|
||||
update flags (OrgManageMsg Comp.OrgManage.LoadOrgs) m
|
||||
update flags uiSettings (OrgManageMsg Comp.OrgManage.LoadOrgs) m
|
||||
|
||||
PersonTab ->
|
||||
update flags (PersonManageMsg Comp.PersonManage.LoadPersons) m
|
||||
update flags uiSettings (PersonManageMsg Comp.PersonManage.LoadPersons) m
|
||||
|
||||
FolderTab ->
|
||||
let
|
||||
@@ -60,6 +63,20 @@ update flags msg model =
|
||||
in
|
||||
( { m | bookmarkModel = bm }, Cmd.map BookmarkMsg bc, Sub.none )
|
||||
|
||||
AddonArchiveTab ->
|
||||
let
|
||||
( aam, aac ) =
|
||||
Comp.AddonArchiveManage.init flags
|
||||
in
|
||||
( { m | addonArchiveModel = aam }, Cmd.map AddonArchiveMsg aac, Sub.none )
|
||||
|
||||
AddonRunConfigTab ->
|
||||
let
|
||||
( arm, arc ) =
|
||||
Comp.AddonRunConfigManage.init flags
|
||||
in
|
||||
( { m | addonRunConfigModel = arm }, Cmd.map AddonRunConfigMsg arc, Sub.none )
|
||||
|
||||
TagManageMsg m ->
|
||||
let
|
||||
( m2, c2 ) =
|
||||
@@ -117,3 +134,23 @@ update flags msg model =
|
||||
, Cmd.map BookmarkMsg c2
|
||||
, Sub.map BookmarkMsg s2
|
||||
)
|
||||
|
||||
AddonArchiveMsg lm ->
|
||||
let
|
||||
( aam, aac, aas ) =
|
||||
Comp.AddonArchiveManage.update flags lm model.addonArchiveModel
|
||||
in
|
||||
( { model | addonArchiveModel = aam }
|
||||
, Cmd.map AddonArchiveMsg aac
|
||||
, Sub.map AddonArchiveMsg aas
|
||||
)
|
||||
|
||||
AddonRunConfigMsg lm ->
|
||||
let
|
||||
( arm, arc, ars ) =
|
||||
Comp.AddonRunConfigManage.update flags uiSettings.timeZone lm model.addonRunConfigModel
|
||||
in
|
||||
( { model | addonRunConfigModel = arm }
|
||||
, Cmd.map AddonRunConfigMsg arc
|
||||
, Sub.map AddonRunConfigMsg ars
|
||||
)
|
||||
|
@@ -7,6 +7,8 @@
|
||||
|
||||
module Page.ManageData.View2 exposing (viewContent, viewSidebar)
|
||||
|
||||
import Comp.AddonArchiveManage
|
||||
import Comp.AddonRunConfigManage
|
||||
import Comp.BookmarkManage
|
||||
import Comp.CustomFieldManage
|
||||
import Comp.EquipmentManage
|
||||
@@ -27,7 +29,7 @@ import Styles as S
|
||||
|
||||
|
||||
viewSidebar : Texts -> Bool -> Flags -> UiSettings -> Model -> Html Msg
|
||||
viewSidebar texts visible _ settings model =
|
||||
viewSidebar texts visible flags settings model =
|
||||
div
|
||||
[ id "sidebar"
|
||||
, class S.sidebar
|
||||
@@ -134,6 +136,32 @@ viewSidebar texts visible _ settings model =
|
||||
[ text texts.bookmarks
|
||||
]
|
||||
]
|
||||
, a
|
||||
[ href "#"
|
||||
, onClick (SetTab AddonArchiveTab)
|
||||
, menuEntryActive model AddonArchiveTab
|
||||
, class S.sidebarLink
|
||||
, classList [ ( "hidden", not flags.config.addonsEnabled ) ]
|
||||
]
|
||||
[ Icons.addonIcon ""
|
||||
, span
|
||||
[ class "ml-3" ]
|
||||
[ text texts.addonArchives
|
||||
]
|
||||
]
|
||||
, a
|
||||
[ href "#"
|
||||
, onClick (SetTab AddonRunConfigTab)
|
||||
, menuEntryActive model AddonRunConfigTab
|
||||
, class S.sidebarLink
|
||||
, classList [ ( "hidden", not flags.config.addonsEnabled ) ]
|
||||
]
|
||||
[ Icons.addonRunConfigIcon ""
|
||||
, span
|
||||
[ class "ml-3" ]
|
||||
[ text texts.addonRunConfigs
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
@@ -166,6 +194,20 @@ viewContent texts flags settings model =
|
||||
Just BookmarkTab ->
|
||||
viewBookmarks texts flags settings model
|
||||
|
||||
Just AddonArchiveTab ->
|
||||
if flags.config.addonsEnabled then
|
||||
viewAddonArchives texts flags settings model
|
||||
|
||||
else
|
||||
[]
|
||||
|
||||
Just AddonRunConfigTab ->
|
||||
if flags.config.addonsEnabled then
|
||||
viewAddonRunConfigs texts flags settings model
|
||||
|
||||
else
|
||||
[]
|
||||
|
||||
Nothing ->
|
||||
[]
|
||||
)
|
||||
@@ -306,3 +348,33 @@ viewBookmarks texts flags settings model =
|
||||
]
|
||||
, Html.map BookmarkMsg (Comp.BookmarkManage.view texts.bookmarkManage settings flags model.bookmarkModel)
|
||||
]
|
||||
|
||||
|
||||
viewAddonArchives : Texts -> Flags -> UiSettings -> Model -> List (Html Msg)
|
||||
viewAddonArchives texts flags settings model =
|
||||
[ h2
|
||||
[ class S.header1
|
||||
, class "inline-flex items-center"
|
||||
]
|
||||
[ Icons.addonIcon ""
|
||||
, div [ class "ml-2" ]
|
||||
[ text texts.addonArchives
|
||||
]
|
||||
]
|
||||
, Html.map AddonArchiveMsg (Comp.AddonArchiveManage.view texts.addonArchiveManage settings flags model.addonArchiveModel)
|
||||
]
|
||||
|
||||
|
||||
viewAddonRunConfigs : Texts -> Flags -> UiSettings -> Model -> List (Html Msg)
|
||||
viewAddonRunConfigs texts flags settings model =
|
||||
[ h2
|
||||
[ class S.header1
|
||||
, class "inline-flex items-center"
|
||||
]
|
||||
[ Icons.addonRunConfigIcon "mr-4"
|
||||
, div [ class "ml-2" ]
|
||||
[ text texts.addonRunConfigs
|
||||
]
|
||||
]
|
||||
, Html.map AddonRunConfigMsg (Comp.AddonRunConfigManage.view texts.addonRunConfigManage settings flags model.addonRunConfigModel)
|
||||
]
|
||||
|
Reference in New Issue
Block a user