mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-23 19:08:26 +00:00
Manage custom fields in webui
This commit is contained in:
@ -5,6 +5,7 @@ module Page.ManageData.Data exposing
|
||||
, init
|
||||
)
|
||||
|
||||
import Comp.CustomFieldManage
|
||||
import Comp.EquipmentManage
|
||||
import Comp.FolderManage
|
||||
import Comp.OrgManage
|
||||
@ -20,6 +21,7 @@ type alias Model =
|
||||
, orgManageModel : Comp.OrgManage.Model
|
||||
, personManageModel : Comp.PersonManage.Model
|
||||
, folderManageModel : Comp.FolderManage.Model
|
||||
, fieldManageModel : Comp.CustomFieldManage.Model
|
||||
}
|
||||
|
||||
|
||||
@ -31,6 +33,7 @@ init _ =
|
||||
, orgManageModel = Comp.OrgManage.emptyModel
|
||||
, personManageModel = Comp.PersonManage.emptyModel
|
||||
, folderManageModel = Comp.FolderManage.empty
|
||||
, fieldManageModel = Comp.CustomFieldManage.empty
|
||||
}
|
||||
, Cmd.none
|
||||
)
|
||||
@ -42,6 +45,7 @@ type Tab
|
||||
| OrgTab
|
||||
| PersonTab
|
||||
| FolderTab
|
||||
| CustomFieldTab
|
||||
|
||||
|
||||
type Msg
|
||||
@ -51,3 +55,4 @@ type Msg
|
||||
| OrgManageMsg Comp.OrgManage.Msg
|
||||
| PersonManageMsg Comp.PersonManage.Msg
|
||||
| FolderMsg Comp.FolderManage.Msg
|
||||
| CustomFieldMsg Comp.CustomFieldManage.Msg
|
||||
|
@ -1,5 +1,6 @@
|
||||
module Page.ManageData.Update exposing (update)
|
||||
|
||||
import Comp.CustomFieldManage
|
||||
import Comp.EquipmentManage
|
||||
import Comp.FolderManage
|
||||
import Comp.OrgManage
|
||||
@ -37,6 +38,13 @@ update flags msg model =
|
||||
in
|
||||
( { m | folderManageModel = sm }, Cmd.map FolderMsg sc )
|
||||
|
||||
CustomFieldTab ->
|
||||
let
|
||||
( cm, cc ) =
|
||||
Comp.CustomFieldManage.init flags
|
||||
in
|
||||
( { m | fieldManageModel = cm }, Cmd.map CustomFieldMsg cc )
|
||||
|
||||
TagManageMsg m ->
|
||||
let
|
||||
( m2, c2 ) =
|
||||
@ -73,3 +81,12 @@ update flags msg model =
|
||||
( { model | folderManageModel = m2 }
|
||||
, Cmd.map FolderMsg c2
|
||||
)
|
||||
|
||||
CustomFieldMsg lm ->
|
||||
let
|
||||
( m2, c2 ) =
|
||||
Comp.CustomFieldManage.update flags lm model.fieldManageModel
|
||||
in
|
||||
( { model | fieldManageModel = m2 }
|
||||
, Cmd.map CustomFieldMsg c2
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
module Page.ManageData.View exposing (view)
|
||||
|
||||
import Comp.CustomFieldManage
|
||||
import Comp.EquipmentManage
|
||||
import Comp.FolderManage
|
||||
import Comp.OrgManage
|
||||
@ -65,6 +66,18 @@ view flags settings model =
|
||||
[ Icons.folderIcon ""
|
||||
, text "Folder"
|
||||
]
|
||||
, div
|
||||
[ classActive (model.currentTab == Just CustomFieldTab) "link icon item"
|
||||
, classList
|
||||
[ ( "invisible hidden"
|
||||
, Data.UiSettings.fieldHidden settings Data.Fields.CustomFields
|
||||
)
|
||||
]
|
||||
, onClick (SetTab CustomFieldTab)
|
||||
]
|
||||
[ Icons.customFieldIcon ""
|
||||
, text "Custom Fields"
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
@ -86,6 +99,9 @@ view flags settings model =
|
||||
Just FolderTab ->
|
||||
viewFolder flags settings model
|
||||
|
||||
Just CustomFieldTab ->
|
||||
viewCustomFields flags settings model
|
||||
|
||||
Nothing ->
|
||||
[]
|
||||
)
|
||||
@ -93,6 +109,18 @@ view flags settings model =
|
||||
]
|
||||
|
||||
|
||||
viewCustomFields : Flags -> UiSettings -> Model -> List (Html Msg)
|
||||
viewCustomFields flags _ model =
|
||||
[ h2 [ class "ui header" ]
|
||||
[ Icons.customFieldIcon ""
|
||||
, div [ class "content" ]
|
||||
[ text "Custom Fields"
|
||||
]
|
||||
]
|
||||
, Html.map CustomFieldMsg (Comp.CustomFieldManage.view flags model.fieldManageModel)
|
||||
]
|
||||
|
||||
|
||||
viewFolder : Flags -> UiSettings -> Model -> List (Html Msg)
|
||||
viewFolder flags _ model =
|
||||
[ h2
|
||||
|
Reference in New Issue
Block a user