Manage custom fields in webui

This commit is contained in:
Eike Kettner
2020-11-17 23:06:06 +01:00
parent 8d35d100d6
commit e90f65f941
11 changed files with 781 additions and 2 deletions

View File

@ -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

View File

@ -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
)

View File

@ -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