mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-22 02:18:26 +00:00
Initial outline for managing spaces
This commit is contained in:
@ -2,13 +2,15 @@ module Page.ManageData.Data exposing
|
||||
( Model
|
||||
, Msg(..)
|
||||
, Tab(..)
|
||||
, emptyModel
|
||||
, init
|
||||
)
|
||||
|
||||
import Comp.EquipmentManage
|
||||
import Comp.OrgManage
|
||||
import Comp.PersonManage
|
||||
import Comp.SpaceManage
|
||||
import Comp.TagManage
|
||||
import Data.Flags exposing (Flags)
|
||||
|
||||
|
||||
type alias Model =
|
||||
@ -17,17 +19,21 @@ type alias Model =
|
||||
, equipManageModel : Comp.EquipmentManage.Model
|
||||
, orgManageModel : Comp.OrgManage.Model
|
||||
, personManageModel : Comp.PersonManage.Model
|
||||
, spaceManageModel : Comp.SpaceManage.Model
|
||||
}
|
||||
|
||||
|
||||
emptyModel : Model
|
||||
emptyModel =
|
||||
{ currentTab = Nothing
|
||||
, tagManageModel = Comp.TagManage.emptyModel
|
||||
, equipManageModel = Comp.EquipmentManage.emptyModel
|
||||
, orgManageModel = Comp.OrgManage.emptyModel
|
||||
, personManageModel = Comp.PersonManage.emptyModel
|
||||
}
|
||||
init : Flags -> ( Model, Cmd Msg )
|
||||
init _ =
|
||||
( { currentTab = Nothing
|
||||
, tagManageModel = Comp.TagManage.emptyModel
|
||||
, equipManageModel = Comp.EquipmentManage.emptyModel
|
||||
, orgManageModel = Comp.OrgManage.emptyModel
|
||||
, personManageModel = Comp.PersonManage.emptyModel
|
||||
, spaceManageModel = Comp.SpaceManage.empty
|
||||
}
|
||||
, Cmd.none
|
||||
)
|
||||
|
||||
|
||||
type Tab
|
||||
@ -35,6 +41,7 @@ type Tab
|
||||
| EquipTab
|
||||
| OrgTab
|
||||
| PersonTab
|
||||
| SpaceTab
|
||||
|
||||
|
||||
type Msg
|
||||
@ -43,3 +50,4 @@ type Msg
|
||||
| EquipManageMsg Comp.EquipmentManage.Msg
|
||||
| OrgManageMsg Comp.OrgManage.Msg
|
||||
| PersonManageMsg Comp.PersonManage.Msg
|
||||
| SpaceMsg Comp.SpaceManage.Msg
|
||||
|
@ -3,6 +3,7 @@ module Page.ManageData.Update exposing (update)
|
||||
import Comp.EquipmentManage
|
||||
import Comp.OrgManage
|
||||
import Comp.PersonManage
|
||||
import Comp.SpaceManage
|
||||
import Comp.TagManage
|
||||
import Data.Flags exposing (Flags)
|
||||
import Page.ManageData.Data exposing (..)
|
||||
@ -29,6 +30,13 @@ update flags msg model =
|
||||
PersonTab ->
|
||||
update flags (PersonManageMsg Comp.PersonManage.LoadPersons) m
|
||||
|
||||
SpaceTab ->
|
||||
let
|
||||
( sm, sc ) =
|
||||
Comp.SpaceManage.init flags
|
||||
in
|
||||
( { m | spaceManageModel = sm }, Cmd.map SpaceMsg sc )
|
||||
|
||||
TagManageMsg m ->
|
||||
let
|
||||
( m2, c2 ) =
|
||||
@ -56,3 +64,12 @@ update flags msg model =
|
||||
Comp.PersonManage.update flags m model.personManageModel
|
||||
in
|
||||
( { model | personManageModel = m2 }, Cmd.map PersonManageMsg c2 )
|
||||
|
||||
SpaceMsg lm ->
|
||||
let
|
||||
( m2, c2 ) =
|
||||
Comp.SpaceManage.update flags lm model.spaceManageModel
|
||||
in
|
||||
( { model | spaceManageModel = m2 }
|
||||
, Cmd.map SpaceMsg c2
|
||||
)
|
||||
|
@ -3,6 +3,7 @@ module Page.ManageData.View exposing (view)
|
||||
import Comp.EquipmentManage
|
||||
import Comp.OrgManage
|
||||
import Comp.PersonManage
|
||||
import Comp.SpaceManage
|
||||
import Comp.TagManage
|
||||
import Data.Icons as Icons
|
||||
import Data.UiSettings exposing (UiSettings)
|
||||
@ -50,6 +51,13 @@ view settings model =
|
||||
[ Icons.personIcon ""
|
||||
, text "Person"
|
||||
]
|
||||
, div
|
||||
[ classActive (model.currentTab == Just SpaceTab) "link icon item"
|
||||
, onClick (SetTab SpaceTab)
|
||||
]
|
||||
[ Icons.spaceIcon ""
|
||||
, text "Space"
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
@ -68,6 +76,9 @@ view settings model =
|
||||
Just PersonTab ->
|
||||
viewPerson settings model
|
||||
|
||||
Just SpaceTab ->
|
||||
viewSpace settings model
|
||||
|
||||
Nothing ->
|
||||
[]
|
||||
)
|
||||
@ -75,6 +86,22 @@ view settings model =
|
||||
]
|
||||
|
||||
|
||||
viewSpace : UiSettings -> Model -> List (Html Msg)
|
||||
viewSpace _ model =
|
||||
[ h2
|
||||
[ class "ui header"
|
||||
]
|
||||
[ Icons.spaceIcon ""
|
||||
, div
|
||||
[ class "content"
|
||||
]
|
||||
[ text "Spaces"
|
||||
]
|
||||
]
|
||||
, Html.map SpaceMsg (Comp.SpaceManage.view model.spaceManageModel)
|
||||
]
|
||||
|
||||
|
||||
viewTags : Model -> List (Html Msg)
|
||||
viewTags model =
|
||||
[ h2 [ class "ui header" ]
|
||||
|
Reference in New Issue
Block a user