Rename space -> folder

This commit is contained in:
Eike Kettner
2020-07-11 11:38:57 +02:00
parent 0365c1980a
commit 2ab0b5e222
22 changed files with 755 additions and 754 deletions

View File

@ -1,4 +1,4 @@
module Comp.SpaceDetail exposing
module Comp.FolderDetail exposing
( Model
, Msg
, init
@ -9,10 +9,10 @@ module Comp.SpaceDetail exposing
import Api
import Api.Model.BasicResult exposing (BasicResult)
import Api.Model.FolderDetail exposing (FolderDetail)
import Api.Model.IdName exposing (IdName)
import Api.Model.IdResult exposing (IdResult)
import Api.Model.NewSpace exposing (NewSpace)
import Api.Model.SpaceDetail exposing (SpaceDetail)
import Api.Model.NewFolder exposing (NewFolder)
import Api.Model.User exposing (User)
import Api.Model.UserList exposing (UserList)
import Comp.FixedDropdown
@ -28,7 +28,7 @@ import Util.Maybe
type alias Model =
{ result : Maybe BasicResult
, space : SpaceDetail
, folder : FolderDetail
, name : Maybe String
, members : List IdName
, users : List User
@ -43,10 +43,10 @@ type Msg
= SetName String
| MemberDropdownMsg (Comp.FixedDropdown.Msg IdName)
| SaveName
| NewSpaceResp (Result Http.Error IdResult)
| ChangeSpaceResp (Result Http.Error BasicResult)
| NewFolderResp (Result Http.Error IdResult)
| ChangeFolderResp (Result Http.Error BasicResult)
| ChangeNameResp (Result Http.Error BasicResult)
| SpaceDetailResp (Result Http.Error SpaceDetail)
| FolderDetailResp (Result Http.Error FolderDetail)
| AddMember
| RemoveMember IdName
| RequestDelete
@ -55,16 +55,16 @@ type Msg
| GoBack
init : List User -> SpaceDetail -> Model
init users space =
init : List User -> FolderDetail -> Model
init users folder =
{ result = Nothing
, space = space
, name = Util.Maybe.fromString space.name
, members = space.members
, folder = folder
, name = Util.Maybe.fromString folder.name
, members = folder.members
, users = users
, memberDropdown =
Comp.FixedDropdown.initMap .name
(makeOptions users space)
(makeOptions users folder)
, selectedMember = Nothing
, loading = False
, deleteDimmer = Comp.YesNoDimmer.emptyModel
@ -73,17 +73,17 @@ init users space =
initEmpty : List User -> Model
initEmpty users =
init users Api.Model.SpaceDetail.empty
init users Api.Model.FolderDetail.empty
makeOptions : List User -> SpaceDetail -> List IdName
makeOptions users space =
makeOptions : List User -> FolderDetail -> List IdName
makeOptions users folder =
let
toIdName u =
IdName u.id u.login
notMember idn =
List.member idn (space.owner :: space.members) |> not
List.member idn (folder.owner :: folder.members) |> not
in
List.map toIdName users
|> List.filter notMember
@ -129,13 +129,13 @@ update flags msg model =
Just name ->
let
cmd =
if model.space.id == "" then
Api.createNewSpace flags (NewSpace name) NewSpaceResp
if model.folder.id == "" then
Api.createNewFolder flags (NewFolder name) NewFolderResp
else
Api.changeSpaceName flags
model.space.id
(NewSpace name)
Api.changeFolderName flags
model.folder.id
(NewFolder name)
ChangeNameResp
in
( { model
@ -149,9 +149,9 @@ update flags msg model =
Nothing ->
( model, Cmd.none, False )
NewSpaceResp (Ok ir) ->
NewFolderResp (Ok ir) ->
if ir.success then
( model, Api.getSpaceDetail flags ir.id SpaceDetailResp, False )
( model, Api.getFolderDetail flags ir.id FolderDetailResp, False )
else
( { model
@ -162,7 +162,7 @@ update flags msg model =
, False
)
NewSpaceResp (Err err) ->
NewFolderResp (Err err) ->
( { model
| loading = False
, result = Just (BasicResult False (Util.Http.errorToString err))
@ -171,10 +171,10 @@ update flags msg model =
, False
)
ChangeSpaceResp (Ok r) ->
ChangeFolderResp (Ok r) ->
if r.success then
( model
, Api.getSpaceDetail flags model.space.id SpaceDetailResp
, Api.getFolderDetail flags model.folder.id FolderDetailResp
, False
)
@ -184,7 +184,7 @@ update flags msg model =
, False
)
ChangeSpaceResp (Err err) ->
ChangeFolderResp (Err err) ->
( { model
| loading = False
, result = Just (BasicResult False (Util.Http.errorToString err))
@ -209,10 +209,10 @@ update flags msg model =
, False
)
SpaceDetailResp (Ok sd) ->
FolderDetailResp (Ok sd) ->
( init model.users sd, Cmd.none, False )
SpaceDetailResp (Err err) ->
FolderDetailResp (Err err) ->
( { model
| loading = False
, result = Just (BasicResult False (Util.Http.errorToString err))
@ -225,7 +225,7 @@ update flags msg model =
case model.selectedMember of
Just mem ->
( { model | loading = True }
, Api.addMember flags model.space.id mem.id ChangeSpaceResp
, Api.addMember flags model.folder.id mem.id ChangeFolderResp
, False
)
@ -234,7 +234,7 @@ update flags msg model =
RemoveMember idname ->
( { model | loading = True }
, Api.removeMember flags model.space.id idname.id ChangeSpaceResp
, Api.removeMember flags model.folder.id idname.id ChangeFolderResp
, False
)
@ -252,7 +252,7 @@ update flags msg model =
cmd =
if flag then
Api.deleteSpace flags model.space.id DeleteResp
Api.deleteFolder flags model.folder.id DeleteResp
else
Cmd.none
@ -278,23 +278,23 @@ view flags model =
let
isOwner =
Maybe.map .user flags.account
|> Maybe.map ((==) model.space.owner.name)
|> Maybe.map ((==) model.folder.owner.name)
|> Maybe.withDefault False
in
div []
([ Html.map DeleteMsg (Comp.YesNoDimmer.view model.deleteDimmer)
, if model.space.id == "" then
, if model.folder.id == "" then
div []
[ text "Create a new space. You are automatically set as owner of this new space."
[ text "Create a new folder. You are automatically set as owner of this new folder."
]
else
div []
[ text "Modify this space by changing the name or add/remove members."
[ text "Modify this folder by changing the name or add/remove members."
]
, if model.space.id /= "" && not isOwner then
, if model.folder.id /= "" && not isOwner then
div [ class "ui info message" ]
[ text "You are not the owner of this space and therefore are not allowed to edit it."
[ text "You are not the owner of this folder and therefore are not allowed to edit it."
]
else
@ -315,7 +315,7 @@ view flags model =
[ text "Owner"
]
, div [ class "" ]
[ text model.space.owner.name
[ text model.folder.owner.name
]
, div [ class "ui header" ]
[ text "Name"
@ -361,7 +361,7 @@ viewButtons _ =
viewMembers : Model -> List (Html Msg)
viewMembers model =
if model.space.id == "" then
if model.folder.id == "" then
[]
else

View File

@ -1,4 +1,4 @@
module Comp.SpaceManage exposing
module Comp.FolderManage exposing
( Model
, Msg
, empty
@ -8,13 +8,13 @@ module Comp.SpaceManage exposing
)
import Api
import Api.Model.SpaceDetail exposing (SpaceDetail)
import Api.Model.SpaceItem exposing (SpaceItem)
import Api.Model.SpaceList exposing (SpaceList)
import Api.Model.FolderDetail exposing (FolderDetail)
import Api.Model.FolderItem exposing (FolderItem)
import Api.Model.FolderList exposing (FolderList)
import Api.Model.User exposing (User)
import Api.Model.UserList exposing (UserList)
import Comp.SpaceDetail
import Comp.SpaceTable
import Comp.FolderDetail
import Comp.FolderTable
import Data.Flags exposing (Flags)
import Html exposing (..)
import Html.Attributes exposing (..)
@ -23,9 +23,9 @@ import Http
type alias Model =
{ tableModel : Comp.SpaceTable.Model
, detailModel : Maybe Comp.SpaceDetail.Model
, spaces : List SpaceItem
{ tableModel : Comp.FolderTable.Model
, detailModel : Maybe Comp.FolderDetail.Model
, folders : List FolderItem
, users : List User
, query : String
, owningOnly : Bool
@ -34,21 +34,21 @@ type alias Model =
type Msg
= TableMsg Comp.SpaceTable.Msg
| DetailMsg Comp.SpaceDetail.Msg
= TableMsg Comp.FolderTable.Msg
| DetailMsg Comp.FolderDetail.Msg
| UserListResp (Result Http.Error UserList)
| SpaceListResp (Result Http.Error SpaceList)
| SpaceDetailResp (Result Http.Error SpaceDetail)
| FolderListResp (Result Http.Error FolderList)
| FolderDetailResp (Result Http.Error FolderDetail)
| SetQuery String
| InitNewSpace
| InitNewFolder
| ToggleOwningOnly
empty : Model
empty =
{ tableModel = Comp.SpaceTable.init
{ tableModel = Comp.FolderTable.init
, detailModel = Nothing
, spaces = []
, folders = []
, users = []
, query = ""
, owningOnly = True
@ -61,7 +61,7 @@ init flags =
( empty
, Cmd.batch
[ Api.getUsers flags UserListResp
, Api.getSpaces flags empty.query empty.owningOnly SpaceListResp
, Api.getFolders flags empty.query empty.owningOnly FolderListResp
]
)
@ -76,14 +76,14 @@ update flags msg model =
TableMsg lm ->
let
( tm, action ) =
Comp.SpaceTable.update lm model.tableModel
Comp.FolderTable.update lm model.tableModel
cmd =
case action of
Comp.SpaceTable.EditAction item ->
Api.getSpaceDetail flags item.id SpaceDetailResp
Comp.FolderTable.EditAction item ->
Api.getFolderDetail flags item.id FolderDetailResp
Comp.SpaceTable.NoAction ->
Comp.FolderTable.NoAction ->
Cmd.none
in
( { model | tableModel = tm }, cmd )
@ -93,11 +93,11 @@ update flags msg model =
Just detail ->
let
( dm, dc, back ) =
Comp.SpaceDetail.update flags lm detail
Comp.FolderDetail.update flags lm detail
cmd =
if back then
Api.getSpaces flags model.query model.owningOnly SpaceListResp
Api.getFolders flags model.query model.owningOnly FolderListResp
else
Cmd.none
@ -121,7 +121,7 @@ update flags msg model =
SetQuery str ->
( { model | query = str }
, Api.getSpaces flags str model.owningOnly SpaceListResp
, Api.getFolders flags str model.owningOnly FolderListResp
)
ToggleOwningOnly ->
@ -130,7 +130,7 @@ update flags msg model =
not model.owningOnly
in
( { model | owningOnly = newOwning }
, Api.getSpaces flags model.query newOwning SpaceListResp
, Api.getFolders flags model.query newOwning FolderListResp
)
UserListResp (Ok ul) ->
@ -139,24 +139,24 @@ update flags msg model =
UserListResp (Err err) ->
( model, Cmd.none )
SpaceListResp (Ok sl) ->
( { model | spaces = sl.items }, Cmd.none )
FolderListResp (Ok sl) ->
( { model | folders = sl.items }, Cmd.none )
SpaceListResp (Err err) ->
FolderListResp (Err err) ->
( model, Cmd.none )
SpaceDetailResp (Ok sd) ->
( { model | detailModel = Comp.SpaceDetail.init model.users sd |> Just }
FolderDetailResp (Ok sd) ->
( { model | detailModel = Comp.FolderDetail.init model.users sd |> Just }
, Cmd.none
)
SpaceDetailResp (Err err) ->
FolderDetailResp (Err err) ->
( model, Cmd.none )
InitNewSpace ->
InitNewFolder ->
let
sd =
Comp.SpaceDetail.initEmpty model.users
Comp.FolderDetail.initEmpty model.users
in
( { model | detailModel = Just sd }
, Cmd.none
@ -177,10 +177,10 @@ view flags model =
viewTable model
viewDetail : Flags -> Comp.SpaceDetail.Model -> Html Msg
viewDetail : Flags -> Comp.FolderDetail.Model -> Html Msg
viewDetail flags detailModel =
div []
[ Html.map DetailMsg (Comp.SpaceDetail.view flags detailModel)
[ Html.map DetailMsg (Comp.FolderDetail.view flags detailModel)
]
@ -209,7 +209,7 @@ viewTable model =
, checked model.owningOnly
]
[]
, label [] [ text "Show owning spaces only" ]
, label [] [ text "Show owning folders only" ]
]
]
, div [ class "right menu" ]
@ -217,15 +217,15 @@ viewTable model =
[ a
[ class "ui primary button"
, href "#"
, onClick InitNewSpace
, onClick InitNewFolder
]
[ i [ class "plus icon" ] []
, text "New Space"
, text "New Folder"
]
]
]
]
, Html.map TableMsg (Comp.SpaceTable.view model.tableModel model.spaces)
, Html.map TableMsg (Comp.FolderTable.view model.tableModel model.folders)
, div
[ classList
[ ( "ui dimmer", True )

View File

@ -1,4 +1,4 @@
module Comp.SpaceTable exposing
module Comp.FolderTable exposing
( Action(..)
, Model
, Msg
@ -7,7 +7,7 @@ module Comp.SpaceTable exposing
, view
)
import Api.Model.SpaceItem exposing (SpaceItem)
import Api.Model.FolderItem exposing (FolderItem)
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Events exposing (onClick)
@ -20,12 +20,12 @@ type alias Model =
type Msg
= EditItem SpaceItem
= EditItem FolderItem
type Action
= NoAction
| EditAction SpaceItem
| EditAction FolderItem
init : Model
@ -40,7 +40,7 @@ update msg model =
( model, EditAction item )
view : Model -> List SpaceItem -> Html Msg
view : Model -> List FolderItem -> Html Msg
view _ items =
div []
[ table [ class "ui very basic center aligned table" ]
@ -58,7 +58,7 @@ view _ items =
]
viewItem : SpaceItem -> Html Msg
viewItem : FolderItem -> Html Msg
viewItem item =
tr []
[ td [ class "collapsing" ]