diff --git a/plugins/setting-assets/lang/en.json b/plugins/setting-assets/lang/en.json index b7f93aa7a3..ea38cef7eb 100644 --- a/plugins/setting-assets/lang/en.json +++ b/plugins/setting-assets/lang/en.json @@ -115,6 +115,8 @@ "DeleteRoleConfirmation": "Are you sure you want to delete this role? All users with this role will lose their permissions.", "DeleteWorkspace": "Delete workspace", "DeleteWorkspaceConfirm": "Are you sure you want to delete this workspace? You and all other members will lose access to this workspace. All information from the workspace will be lost. This action cannot be undone. Do you want to proceed?", + "DeleteSpaceType": "Delete space type", + "DeleteSpaceTypeConfirm": "Are you sure you want to delete this space type?", "WorkspaceName": "Workspace name", "Workspace": "Workspace" } diff --git a/plugins/setting-assets/lang/es.json b/plugins/setting-assets/lang/es.json index 1e1caa99bd..b20dcbfc88 100644 --- a/plugins/setting-assets/lang/es.json +++ b/plugins/setting-assets/lang/es.json @@ -106,6 +106,8 @@ "DeleteRoleConfirmation": "¿Está seguro de que desea eliminar esta función? Todos los usuarios con este rol perderán sus permisos", "DeleteWorkspace": "Eliminar espacio de trabajo", "DeleteWorkspaceConfirm": "¿Estás seguro de que quieres eliminar este espacio de trabajo? Tú y todos los demás miembros perderán el acceso a este espacio de trabajo. Toda la información del espacio de trabajo se perderá. Esta acción no se puede deshacer. ¿Quieres continuar?", + "DeleteSpaceType": "Eliminar tipo de espacio", + "DeleteSpaceTypeConfirm": "¿Estás seguro de que quieres eliminar este tipo de espacio?", "WorkspaceName": "Nombre del espacio de trabajo", "Workspace": "Espacio de trabajo" } diff --git a/plugins/setting-assets/lang/fr.json b/plugins/setting-assets/lang/fr.json index ba1b4a32d4..3f669b24e5 100644 --- a/plugins/setting-assets/lang/fr.json +++ b/plugins/setting-assets/lang/fr.json @@ -115,6 +115,8 @@ "DeleteRoleConfirmation": "Êtes-vous sûr de vouloir supprimer ce rôle ? Tous les utilisateurs ayant ce rôle perdront leurs permissions.", "DeleteWorkspace": "Supprimer l'espace de travail", "DeleteWorkspaceConfirm": "Êtes-vous sûr de vouloir supprimer cet espace de travail ? Vous et tous les autres membres perdrez l'accès à cet espace de travail. Toutes les informations de l'espace de travail seront perdues. Cette action est irréversible. Voulez-vous continuer?", + "DeleteSpaceType": "Supprimer le type d'espace", + "DeleteSpaceTypeConfirm": "Êtes-vous sûr de vouloir supprimer ce type d'espace ?", "WorkspaceName": "Nom de l'espace de travail", "Workspace": "Espace de travail" } diff --git a/plugins/setting-assets/lang/pt.json b/plugins/setting-assets/lang/pt.json index 826c155ab9..c23a7f786b 100644 --- a/plugins/setting-assets/lang/pt.json +++ b/plugins/setting-assets/lang/pt.json @@ -106,6 +106,8 @@ "DeleteRoleConfirmation": "Tem a certeza de que pretende eliminar esta função? Todos os utilizadores com esta função perderão as suas permissões.", "DeleteWorkspace": "Eliminar espaço de trabalho", "DeleteWorkspaceConfirm": "Tem certeza de que deseja excluir este espaço de trabalho? Você e todos os outros membros perderão o acesso a este espaço de trabalho. Todas as informações do espaço de trabalho serão perdidas. Esta ação não pode ser desfeita. Deseja prosseguir?", + "DeleteSpaceType": "Eliminar tipo de espaço", + "DeleteSpaceTypeConfirm": "Tem certeza de que deseja excluir este tipo de espaço?", "WorkspaceName": "Nome do espaço de trabalho", "Workspace": "Espaço de trabalho" } diff --git a/plugins/setting-assets/lang/ru.json b/plugins/setting-assets/lang/ru.json index 8a16f42d3a..e43c5efe08 100644 --- a/plugins/setting-assets/lang/ru.json +++ b/plugins/setting-assets/lang/ru.json @@ -116,6 +116,8 @@ "DeleteRoleConfirmation": "Вы действительно хотите удалить эту роль? Все пользователи с этой ролью потеряют имеющиеся разрешения.", "DeleteWorkspace": "Удалить рабочее пространство", "DeleteWorkspaceConfirm": "Вы действительно хотите удалить это рабочее пространство? Вы и все остальные пользователи потеряют доступ к этому рабочему пространству. Вся информация из рабочего пространства будет утеряна. Это действие нельзя отменить. Вы хотите продолжить?", + "DeleteSpaceType": "Удалить тип пространства", + "DeleteSpaceTypeConfirm": "Вы действительно хотите удалить этот тип пространства?", "WorkspaceName": "Название рабочего пространства", "Workspace": "Рабочее пространство" } diff --git a/plugins/setting-assets/lang/zh.json b/plugins/setting-assets/lang/zh.json index fb3cb7b404..b2a32c6335 100644 --- a/plugins/setting-assets/lang/zh.json +++ b/plugins/setting-assets/lang/zh.json @@ -115,6 +115,8 @@ "DeleteRoleConfirmation": "您确定要删除此角色吗?拥有此角色的所有用户将失去其权限。", "DeleteWorkspace": "删除工作区", "DeleteWorkspaceConfirm": "您确定要删除此工作区吗?您和所有其他成员将失去对此工作区的访问权限。工作区中的所有信息将丢失。此操作无法撤销。您要继续吗?", + "DeleteSpaceType": "删除空间类型", + "DeleteSpaceTypeConfirm": "您确定要删除此空间类型吗?", "WorkspaceName": "工作区名称", "Workspace": "工作区" } diff --git a/plugins/setting-resources/src/components/spaceTypes/ManageSpaceTypeContent.svelte b/plugins/setting-resources/src/components/spaceTypes/ManageSpaceTypeContent.svelte index d6e822567f..fb411c3e92 100644 --- a/plugins/setting-resources/src/components/spaceTypes/ManageSpaceTypeContent.svelte +++ b/plugins/setting-resources/src/components/spaceTypes/ManageSpaceTypeContent.svelte @@ -148,34 +148,6 @@ > {#if type !== undefined && descriptor !== undefined}
- {#if canEdit} - { - // TODO: copy space type - }} - /> - { - // TODO: delete space type - }} - /> - { - showMenu(ev, { object: type }) - }} - /> - {/if} { spacesCount = res.length + loading = false }, { projection: { _id: 1 } @@ -45,6 +58,8 @@ spacesCountQuery.unsubscribe() } + $: canDelete = !loading && spacesCount === 0 + async function attributeUpdated (field: T, value: SpaceType[T]): Promise { if (disabled || type === undefined || type[field] === value) { return @@ -79,6 +94,24 @@ } await ops.commit() }) + + async function handleDelete (): Promise { + if (!canDelete || disabled || type == null) { + return + } + + showPopup(MessageBox, { + label: settingRes.string.DeleteSpaceType, + message: settingRes.string.DeleteSpaceTypeConfirm, + action: async () => { + if (type == null) { + return + } + + await deleteObjects(client, [type]) + } + }) + } {#if descriptor !== undefined} @@ -97,15 +130,20 @@ }} /> - +
+ + {#if canDelete} + + {/if} +