mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-10 19:57:43 +02:00
UBERF-8063 Generic space archive/unarchive actions (#6530)
Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
This commit is contained in:
@@ -426,8 +426,8 @@ export function createModel (builder: Builder): void {
|
||||
key: 'isArchived',
|
||||
value: true,
|
||||
ask: true,
|
||||
label: task.string.Archive,
|
||||
message: task.string.ArchiveConfirm
|
||||
label: view.string.Archive,
|
||||
message: view.string.ArchiveConfirm
|
||||
},
|
||||
query: {
|
||||
isArchived: { $nin: [true] }
|
||||
|
||||
@@ -47,7 +47,7 @@ import { generateClassNotificationTypes } from '@hcengineering/model-notificatio
|
||||
import preference, { TPreference } from '@hcengineering/model-preference'
|
||||
import presentation from '@hcengineering/model-presentation'
|
||||
import tracker from '@hcengineering/model-tracker'
|
||||
import view, { actionTemplates, createAction, type ViewAction } from '@hcengineering/model-view'
|
||||
import view, { actionTemplates, createAction } from '@hcengineering/model-view'
|
||||
import workbench from '@hcengineering/model-workbench'
|
||||
import notification from '@hcengineering/notification'
|
||||
import { getEmbeddedLabel, type Asset } from '@hcengineering/platform'
|
||||
@@ -233,30 +233,6 @@ function defineTeamspace (builder: Builder): void {
|
||||
actions: [tracker.action.EditRelatedTargets, tracker.action.NewRelatedIssue]
|
||||
})
|
||||
|
||||
createAction(builder, {
|
||||
label: view.string.UnArchive,
|
||||
icon: view.icon.Archive,
|
||||
action: view.actionImpl.UpdateDocument as ViewAction,
|
||||
actionProps: {
|
||||
key: 'archived',
|
||||
ask: true,
|
||||
value: false,
|
||||
label: view.string.UnArchive,
|
||||
message: document.string.UnarchiveConfirm
|
||||
},
|
||||
input: 'any',
|
||||
category: view.category.General,
|
||||
target: document.class.Teamspace,
|
||||
visibilityTester: view.function.CanArchiveSpace,
|
||||
query: {
|
||||
archived: true
|
||||
},
|
||||
context: {
|
||||
mode: ['context', 'browser'],
|
||||
group: 'tools'
|
||||
}
|
||||
})
|
||||
|
||||
createAction(
|
||||
builder,
|
||||
{
|
||||
|
||||
@@ -64,7 +64,6 @@ export default mergeIds(documentId, document, {
|
||||
ConfigDescription: '' as IntlString,
|
||||
ParentDocument: '' as IntlString,
|
||||
ChildDocument: '' as IntlString,
|
||||
LockedBy: '' as IntlString,
|
||||
UnarchiveConfirm: '' as IntlString
|
||||
LockedBy: '' as IntlString
|
||||
}
|
||||
})
|
||||
|
||||
@@ -58,13 +58,7 @@ import { TAttachedDoc, TDoc, TType, TTypedSpace } from '@hcengineering/model-cor
|
||||
import presentation from '@hcengineering/model-presentation'
|
||||
import print from '@hcengineering/model-print'
|
||||
import tracker from '@hcengineering/model-tracker'
|
||||
import view, {
|
||||
type ViewAction,
|
||||
type Viewlet,
|
||||
actionTemplates,
|
||||
classPresenter,
|
||||
createAction
|
||||
} from '@hcengineering/model-view'
|
||||
import view, { type Viewlet, actionTemplates, classPresenter, createAction } from '@hcengineering/model-view'
|
||||
import workbench from '@hcengineering/model-workbench'
|
||||
import { getEmbeddedLabel } from '@hcengineering/platform'
|
||||
|
||||
@@ -285,30 +279,6 @@ function defineDrive (builder: Builder): void {
|
||||
actions: [tracker.action.EditRelatedTargets, print.action.Print, tracker.action.NewRelatedIssue]
|
||||
})
|
||||
|
||||
createAction(builder, {
|
||||
label: view.string.UnArchive,
|
||||
icon: view.icon.Archive,
|
||||
action: view.actionImpl.UpdateDocument as ViewAction,
|
||||
actionProps: {
|
||||
key: 'archived',
|
||||
ask: true,
|
||||
value: false,
|
||||
label: view.string.UnArchive,
|
||||
message: drive.string.UnarchiveConfirm
|
||||
},
|
||||
input: 'any',
|
||||
category: view.category.General,
|
||||
target: drive.class.Drive,
|
||||
visibilityTester: view.function.CanArchiveSpace,
|
||||
query: {
|
||||
archived: true
|
||||
},
|
||||
context: {
|
||||
mode: ['context', 'browser'],
|
||||
group: 'tools'
|
||||
}
|
||||
})
|
||||
|
||||
createAction(
|
||||
builder,
|
||||
{
|
||||
|
||||
@@ -103,7 +103,6 @@ export default mergeIds(driveId, drive, {
|
||||
Files: '' as IntlString,
|
||||
Folders: '' as IntlString,
|
||||
Version: '' as IntlString,
|
||||
Restore: '' as IntlString,
|
||||
UnarchiveConfirm: '' as IntlString
|
||||
Restore: '' as IntlString
|
||||
}
|
||||
})
|
||||
|
||||
@@ -157,9 +157,6 @@ export function createModel (builder: Builder): void {
|
||||
lead.viewlet.TableFunnel
|
||||
)
|
||||
|
||||
createAction(builder, { ...actionTemplates.archiveSpace, target: lead.class.Funnel })
|
||||
createAction(builder, { ...actionTemplates.unarchiveSpace, target: lead.class.Funnel })
|
||||
|
||||
createAction(builder, {
|
||||
...viewTemplates.open,
|
||||
target: lead.class.Funnel,
|
||||
|
||||
@@ -45,7 +45,7 @@ import attachment from '@hcengineering/model-attachment'
|
||||
import core, { TType } from '@hcengineering/model-core'
|
||||
import presentation from '@hcengineering/model-presentation'
|
||||
import tracker from '@hcengineering/model-tracker'
|
||||
import { type Action, type ViewAction } from '@hcengineering/view'
|
||||
import { type Action } from '@hcengineering/view'
|
||||
import view, { createAction } from '@hcengineering/model-view'
|
||||
import workbench from '@hcengineering/model-workbench'
|
||||
import { getEmbeddedLabel, type Asset } from '@hcengineering/platform'
|
||||
@@ -239,30 +239,6 @@ function defineProduct (builder: Builder): void {
|
||||
builder.mixin(products.class.Product, core.class.Class, view.mixin.IgnoreActions, {
|
||||
actions: [tracker.action.NewRelatedIssue]
|
||||
})
|
||||
|
||||
createAction(builder, {
|
||||
label: products.string.Unarchive,
|
||||
icon: view.icon.Archive,
|
||||
action: view.actionImpl.UpdateDocument as ViewAction,
|
||||
actionProps: {
|
||||
key: 'archived',
|
||||
ask: true,
|
||||
value: false,
|
||||
label: products.string.Unarchive,
|
||||
message: products.string.UnarchiveConfirm
|
||||
},
|
||||
input: 'any',
|
||||
category: view.category.General,
|
||||
target: products.class.Product,
|
||||
visibilityTester: view.function.CanArchiveSpace,
|
||||
query: {
|
||||
archived: true
|
||||
},
|
||||
context: {
|
||||
mode: ['context', 'browser'],
|
||||
group: 'tools'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function defineSpaceType (builder: Builder): void {
|
||||
|
||||
@@ -1067,9 +1067,6 @@ export function createModel (builder: Builder): void {
|
||||
recruit.completion.VacancyCategory
|
||||
)
|
||||
|
||||
createAction(builder, { ...actionTemplates.archiveSpace, target: recruit.class.Vacancy })
|
||||
createAction(builder, { ...actionTemplates.unarchiveSpace, target: recruit.class.Vacancy })
|
||||
|
||||
createAction(builder, {
|
||||
label: view.string.Open,
|
||||
icon: view.icon.Open,
|
||||
|
||||
@@ -79,7 +79,6 @@ import {
|
||||
} from '@hcengineering/task'
|
||||
import type { AnyComponent } from '@hcengineering/ui'
|
||||
import { PaletteColorIndexes } from '@hcengineering/ui/src/colors'
|
||||
import { type ViewAction } from '@hcengineering/view'
|
||||
import { createPublicLinkAction } from '@hcengineering/model-guest'
|
||||
|
||||
import task from './plugin'
|
||||
@@ -254,51 +253,6 @@ export const actionTemplates = template({
|
||||
action: task.actionImpl.EditStatuses,
|
||||
input: 'focus',
|
||||
category: task.category.Task
|
||||
},
|
||||
archiveSpace: {
|
||||
label: task.string.Archive,
|
||||
icon: view.icon.Archive,
|
||||
action: view.actionImpl.UpdateDocument as ViewAction,
|
||||
actionProps: {
|
||||
key: 'archived',
|
||||
value: true,
|
||||
ask: true,
|
||||
label: task.string.Archive,
|
||||
message: task.string.ArchiveConfirm
|
||||
},
|
||||
visibilityTester: view.function.CanArchiveSpace,
|
||||
input: 'any',
|
||||
category: task.category.Task,
|
||||
query: {
|
||||
archived: false
|
||||
},
|
||||
context: {
|
||||
mode: ['context', 'browser'],
|
||||
group: 'tools'
|
||||
},
|
||||
override: [view.action.Archive, view.action.Delete]
|
||||
},
|
||||
unarchiveSpace: {
|
||||
label: task.string.Unarchive,
|
||||
icon: view.icon.Archive,
|
||||
action: view.actionImpl.UpdateDocument as ViewAction,
|
||||
actionProps: {
|
||||
key: 'archived',
|
||||
ask: true,
|
||||
value: false,
|
||||
label: task.string.Unarchive,
|
||||
message: task.string.UnarchiveConfirm
|
||||
},
|
||||
visibilityTester: view.function.CanArchiveSpace,
|
||||
input: 'any',
|
||||
category: task.category.Task,
|
||||
query: {
|
||||
archived: true
|
||||
},
|
||||
context: {
|
||||
mode: ['context', 'browser'],
|
||||
group: 'tools'
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -26,16 +26,12 @@ import type { Action, ActionCategory, ViewAction, Viewlet } from '@hcengineering
|
||||
export default mergeIds(taskId, task, {
|
||||
action: {
|
||||
EditStatuses: '' as Ref<Action>,
|
||||
ArchiveSpace: '' as Ref<Action>,
|
||||
UnarchiveSpace: '' as Ref<Action>,
|
||||
ArchiveState: '' as Ref<Action>,
|
||||
PublicLink: '' as Ref<Action<Doc, any>>,
|
||||
ExportTasks: '' as Ref<Action>
|
||||
},
|
||||
actionImpl: {
|
||||
EditStatuses: '' as ViewAction,
|
||||
ArchiveSpace: '' as ViewAction,
|
||||
UnarchiveSpace: '' as ViewAction,
|
||||
SelectStatus: '' as ViewAction,
|
||||
ExportTasks: '' as ViewAction
|
||||
},
|
||||
|
||||
@@ -21,7 +21,7 @@ import view, { actionTemplates, createAction } from '@hcengineering/model-view'
|
||||
import workbench, { createNavigateAction } from '@hcengineering/model-workbench'
|
||||
import { type IntlString } from '@hcengineering/platform'
|
||||
import { TrackerEvents, trackerId } from '@hcengineering/tracker'
|
||||
import { type KeyBinding, type ViewAction } from '@hcengineering/view'
|
||||
import { type KeyBinding } from '@hcengineering/view'
|
||||
import tracker from './plugin'
|
||||
|
||||
import tags from '@hcengineering/tags'
|
||||
@@ -151,29 +151,6 @@ export function createActions (builder: Builder, issuesId: string, componentsId:
|
||||
},
|
||||
tracker.action.DeleteProjectClean
|
||||
)
|
||||
createAction(builder, {
|
||||
label: tracker.string.Unarchive,
|
||||
icon: view.icon.Archive,
|
||||
action: view.actionImpl.UpdateDocument as ViewAction,
|
||||
actionProps: {
|
||||
key: 'archived',
|
||||
ask: true,
|
||||
value: false,
|
||||
label: tracker.string.Unarchive,
|
||||
message: tracker.string.UnarchiveConfirm
|
||||
},
|
||||
input: 'any',
|
||||
category: tracker.category.Tracker,
|
||||
visibilityTester: view.function.CanArchiveSpace,
|
||||
query: {
|
||||
archived: true
|
||||
},
|
||||
context: {
|
||||
mode: ['context', 'browser'],
|
||||
group: 'tools'
|
||||
},
|
||||
target: tracker.class.Project
|
||||
})
|
||||
|
||||
createAction(
|
||||
builder,
|
||||
|
||||
@@ -40,8 +40,6 @@ export default mergeIds(trackerId, tracker, {
|
||||
CreatedDate: '' as IntlString,
|
||||
ChangeStatus: '' as IntlString,
|
||||
ConfigDescription: '' as IntlString,
|
||||
Unarchive: '' as IntlString,
|
||||
UnarchiveConfirm: '' as IntlString,
|
||||
AllProjects: '' as IntlString,
|
||||
MapRelatedIssues: '' as IntlString,
|
||||
Extensions: '' as IntlString
|
||||
|
||||
@@ -690,6 +690,24 @@ export function createModel (builder: Builder): void {
|
||||
view.action.Archive
|
||||
)
|
||||
|
||||
createAction(
|
||||
builder,
|
||||
{
|
||||
action: view.actionImpl.UnArchive,
|
||||
label: view.string.UnArchive,
|
||||
icon: view.icon.Archive,
|
||||
category: view.category.General,
|
||||
input: 'any',
|
||||
query: {
|
||||
archived: true
|
||||
},
|
||||
target: core.class.Space,
|
||||
visibilityTester: view.function.CanArchiveSpace,
|
||||
context: { mode: ['context', 'browser'], group: 'tools' }
|
||||
},
|
||||
view.action.UnArchive
|
||||
)
|
||||
|
||||
createAction(
|
||||
builder,
|
||||
{
|
||||
|
||||
@@ -24,6 +24,7 @@ import view from '@hcengineering/view-resources/src/plugin'
|
||||
export default mergeIds(viewId, view, {
|
||||
actionImpl: {
|
||||
Archive: '' as ViewAction,
|
||||
UnArchive: '' as ViewAction,
|
||||
Join: '' as ViewAction,
|
||||
Leave: '' as ViewAction,
|
||||
Move: '' as ViewAction,
|
||||
|
||||
@@ -58,7 +58,6 @@
|
||||
"Icon": "Icon",
|
||||
"Color": "Color",
|
||||
"RoleLabel": "Role: {role}",
|
||||
"Embeddings": "Embeddings",
|
||||
"UnarchiveConfirm": "Do you want to unarchive teamspace?"
|
||||
"Embeddings": "Embeddings"
|
||||
}
|
||||
}
|
||||
@@ -51,7 +51,6 @@
|
||||
"Icon": "Icono",
|
||||
"Color": "Color",
|
||||
"RoleLabel": "Role: {role}",
|
||||
"Embeddings": "Incrustaciones",
|
||||
"UnarchiveConfirm": "¿Quieres desarchivar el trabajo?"
|
||||
"Embeddings": "Incrustaciones"
|
||||
}
|
||||
}
|
||||
@@ -51,7 +51,6 @@
|
||||
"Icon": "Icône",
|
||||
"Color": "Couleur",
|
||||
"RoleLabel": "Rôle : {role}",
|
||||
"Embeddings": "Intégrations",
|
||||
"UnarchiveConfirm": "Voulez-vous désarchiver le l'espace d'équipe ?"
|
||||
"Embeddings": "Intégrations"
|
||||
}
|
||||
}
|
||||
@@ -51,7 +51,6 @@
|
||||
"Icon": "Ícone",
|
||||
"Color": "Cor",
|
||||
"RoleLabel": "Papel: {role}",
|
||||
"Embeddings": "Incorporações",
|
||||
"UnarchiveConfirm": "Você deseja desarquivar o trabalho?"
|
||||
"Embeddings": "Incorporações"
|
||||
}
|
||||
}
|
||||
@@ -58,7 +58,6 @@
|
||||
"Icon": "Иконка",
|
||||
"Color": "Цвет",
|
||||
"RoleLabel": "Роль: {role}",
|
||||
"Embeddings": "Вложения",
|
||||
"UnarchiveConfirm": "Вы уверены, что хотите разархивировать пространство?"
|
||||
"Embeddings": "Вложения"
|
||||
}
|
||||
}
|
||||
@@ -62,7 +62,6 @@
|
||||
"Icon": "图标",
|
||||
"Color": "颜色",
|
||||
"RoleLabel": "角色:{role}",
|
||||
"Embeddings": "嵌入",
|
||||
"UnarchiveConfirm": "您确定要取消存档吗?"
|
||||
"Embeddings": "嵌入"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
"Rename": "Rename",
|
||||
"Restore": "Restore",
|
||||
"RoleLabel": "Role",
|
||||
"Root": "/",
|
||||
"UnarchiveConfirm": "Are you sure you want to unarchive the drive?"
|
||||
"Root": "/"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
"Rename": "Renombrar",
|
||||
"Restore": "Restaurar",
|
||||
"RoleLabel": "Rol",
|
||||
"Root": "/",
|
||||
"UnarchiveConfirm": "¿Estás seguro de que deseas desarchivar la unidad?"
|
||||
"Root": "/"
|
||||
}
|
||||
}
|
||||
@@ -27,7 +27,6 @@
|
||||
"Rename": "Renommer",
|
||||
"Restore": "Restaurer",
|
||||
"RoleLabel": "Rôle",
|
||||
"Root": "/",
|
||||
"UnarchiveConfirm": "Êtes-vous sûr de vouloir désarchiver le disque?"
|
||||
"Root": "/"
|
||||
}
|
||||
}
|
||||
@@ -27,7 +27,6 @@
|
||||
"Rename": "Renomear",
|
||||
"Restore": "Restaurar",
|
||||
"RoleLabel": "Papel",
|
||||
"Root": "/",
|
||||
"UnarchiveConfirm": "Tem a certeza de que deseja desarquivar a unidade?"
|
||||
"Root": "/"
|
||||
}
|
||||
}
|
||||
@@ -27,7 +27,6 @@
|
||||
"Rename": "Переименовать",
|
||||
"Restore": "Восстановить",
|
||||
"RoleLabel": "Роль",
|
||||
"Root": "/",
|
||||
"UnarchiveConfirm": "Вы уверены, что хотите разархивировать диск?"
|
||||
"Root": "/"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
"Rename": "重命名",
|
||||
"Restore": "恢复",
|
||||
"RoleLabel": "角色",
|
||||
"Root": "/",
|
||||
"UnarchiveConfirm": "您确定要取消存档磁盘吗?"
|
||||
"Root": "/"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,8 +15,6 @@
|
||||
"CreateProductVersion": "Create product version",
|
||||
"NoProductVersionParent": "No parent version",
|
||||
"NoProductVersions": "No product versions",
|
||||
"Unarchive": "Unarchive",
|
||||
"UnarchiveConfirm": "Do you want to unarchive product?",
|
||||
"CreateDialogClose": "Do you want to close this dialog?",
|
||||
"CreateDialogCloseNote": "All changes will be lost",
|
||||
"Description": "Description",
|
||||
|
||||
@@ -15,8 +15,6 @@
|
||||
"CreateProductVersion": "Créer une version de produit",
|
||||
"NoProductVersionParent": "Aucune version parente",
|
||||
"NoProductVersions": "Aucune version de produit",
|
||||
"Unarchive": "Désarchiver",
|
||||
"UnarchiveConfirm": "Voulez-vous désarchiver le produit ?",
|
||||
"CreateDialogClose": "Voulez-vous fermer cette fenêtre ?",
|
||||
"CreateDialogCloseNote": "Tous les changements seront perdus",
|
||||
"Description": "Description",
|
||||
|
||||
@@ -15,8 +15,6 @@
|
||||
"CreateProductVersion": "Создать версию продукта",
|
||||
"NoProductVersionParent": "Нет родительской версии",
|
||||
"NoProductVersions": "Нет версий продукта",
|
||||
"Unarchive": "Разархивировать",
|
||||
"UnarchiveConfirm": "Вы действительно хотите разархивировать продукт?",
|
||||
"CreateDialogClose": "Вы действительно хотите закрыть окно?",
|
||||
"CreateDialogCloseNote": "Все внесенные изменения будут потеряны",
|
||||
"Description": "Описание",
|
||||
|
||||
@@ -15,8 +15,6 @@
|
||||
"CreateProductVersion": "创建产品版本",
|
||||
"NoProductVersionParent": "无父版本",
|
||||
"NoProductVersions": "无产品版本",
|
||||
"Unarchive": "取消归档",
|
||||
"UnarchiveConfirm": "您要取消归档产品吗?",
|
||||
"CreateDialogClose": "您要关闭此对话框吗?",
|
||||
"CreateDialogCloseNote": "所有更改将会丢失",
|
||||
"Description": "描述",
|
||||
|
||||
@@ -48,8 +48,6 @@ export default mergeIds(productsId, products, {
|
||||
CreateProductVersion: '' as IntlString,
|
||||
NoProductVersionParent: '' as IntlString,
|
||||
NoProductVersions: '' as IntlString,
|
||||
Unarchive: '' as IntlString,
|
||||
UnarchiveConfirm: '' as IntlString,
|
||||
CreateDialogClose: '' as IntlString,
|
||||
CreateDialogCloseNote: '' as IntlString,
|
||||
Description: '' as IntlString,
|
||||
|
||||
@@ -26,8 +26,6 @@
|
||||
"Rank": "Rank",
|
||||
"TaskCreateLabel": "Task",
|
||||
"EditStates": "Edit states",
|
||||
"Archive": "Archive",
|
||||
"Unarchive": "Unarchive",
|
||||
"MarkAsDone": "Mark as done",
|
||||
"MarkAsUndone": "Mark as undone",
|
||||
"Kanban": "Kanban",
|
||||
@@ -64,8 +62,6 @@
|
||||
"States": "States",
|
||||
"NoDoneState": "Not done",
|
||||
"ManageStatusesWithin": "Manage application statuses within",
|
||||
"UnarchiveConfirm": "Do you want to unarchive?",
|
||||
"ArchiveConfirm": "Do you want to archive?",
|
||||
"StatusDelete": "Delete status",
|
||||
"StatusDeleteConfirm": "Do you want to delete this status?",
|
||||
"CantStatusDelete": "Can't delete status",
|
||||
|
||||
@@ -26,8 +26,6 @@
|
||||
"Rank": "Orden",
|
||||
"TaskCreateLabel": "Tarea",
|
||||
"EditStates": "Editar estados",
|
||||
"Archive": "Archivar",
|
||||
"Unarchive": "Desarchivar",
|
||||
"MarkAsDone": "Marcar como hecho",
|
||||
"MarkAsUndone": "Marcar como pendiente",
|
||||
"Kanban": "Kanban",
|
||||
@@ -64,8 +62,6 @@
|
||||
"States": "Estados",
|
||||
"NoDoneState": "No hecho",
|
||||
"ManageStatusesWithin": "Gestionar estados de la aplicación en",
|
||||
"UnarchiveConfirm": "¿Desea desarchivar?",
|
||||
"ArchiveConfirm": "¿Desea archivar?",
|
||||
"StatusDelete": "Eliminar estado",
|
||||
"StatusDeleteConfirm": "¿Desea eliminar este estado?",
|
||||
"CantStatusDelete": "No se puede eliminar el estado",
|
||||
|
||||
@@ -26,8 +26,6 @@
|
||||
"Rank": "Rang",
|
||||
"TaskCreateLabel": "Tâche",
|
||||
"EditStates": "Modifier les états",
|
||||
"Archive": "Archiver",
|
||||
"Unarchive": "Désarchiver",
|
||||
"MarkAsDone": "Marquer comme terminé",
|
||||
"MarkAsUndone": "Marquer comme non terminé",
|
||||
"Kanban": "Kanban",
|
||||
@@ -64,8 +62,6 @@
|
||||
"States": "États",
|
||||
"NoDoneState": "Non terminé",
|
||||
"ManageStatusesWithin": "Gérer les statuts de l'application dans",
|
||||
"UnarchiveConfirm": "Voulez-vous désarchiver ?",
|
||||
"ArchiveConfirm": "Voulez-vous archiver ?",
|
||||
"StatusDelete": "Supprimer le statut",
|
||||
"StatusDeleteConfirm": "Voulez-vous supprimer ce statut ?",
|
||||
"CantStatusDelete": "Impossible de supprimer le statut",
|
||||
|
||||
@@ -26,8 +26,6 @@
|
||||
"Rank": "Classificação",
|
||||
"TaskCreateLabel": "Tarefa",
|
||||
"EditStates": "Editar estados",
|
||||
"Archive": "Arquivar",
|
||||
"Unarchive": "Desarquivar",
|
||||
"MarkAsDone": "Marcar como feito",
|
||||
"MarkAsUndone": "Marcar como não feito",
|
||||
"Kanban": "Kanban",
|
||||
@@ -64,8 +62,6 @@
|
||||
"States": "Estados",
|
||||
"NoDoneState": "Não feito",
|
||||
"ManageStatusesWithin": "Gerenciar estados da aplicação dentro de",
|
||||
"UnarchiveConfirm": "Deseja desarquivar?",
|
||||
"ArchiveConfirm": "Deseja arquivar?",
|
||||
"StatusDelete": "Eliminar estado",
|
||||
"StatusDeleteConfirm": "Deseja eliminar este estado?",
|
||||
"CantStatusDelete": "Não é possível eliminar o estado",
|
||||
|
||||
@@ -26,8 +26,6 @@
|
||||
"Rank": "Ранк",
|
||||
"TaskCreateLabel": "Задача",
|
||||
"EditStates": "Редактировать статусы",
|
||||
"Archive": "Архивировать",
|
||||
"Unarchive": "Разархивировать",
|
||||
"MarkAsDone": "Отметить выполненным",
|
||||
"MarkAsUndone": "Отметить невыполненным",
|
||||
"Kanban": "Канбан",
|
||||
@@ -64,8 +62,6 @@
|
||||
"States": "Статусы",
|
||||
"NoDoneState": "Не завершено",
|
||||
"ManageStatusesWithin": "Управление статусами для",
|
||||
"UnarchiveConfirm": "Вы действительно хотите разархивировать?",
|
||||
"ArchiveConfirm": "Вы действительно хотите архивировать?",
|
||||
"StatusDelete": "Удалить статус",
|
||||
"StatusDeleteConfirm": "Вы действительно хотите удалить этот статус?",
|
||||
"CantStatusDelete": "Невозможно удалить статус",
|
||||
|
||||
@@ -26,8 +26,6 @@
|
||||
"Rank": "排名",
|
||||
"TaskCreateLabel": "任务",
|
||||
"EditStates": "编辑状态",
|
||||
"Archive": "归档",
|
||||
"Unarchive": "取消归档",
|
||||
"MarkAsDone": "标记为完成",
|
||||
"MarkAsUndone": "标记为未完成",
|
||||
"Kanban": "看板",
|
||||
@@ -64,8 +62,6 @@
|
||||
"States": "状态",
|
||||
"NoDoneState": "未完成",
|
||||
"ManageStatusesWithin": "管理应用状态",
|
||||
"UnarchiveConfirm": "您确定要取消归档吗?",
|
||||
"ArchiveConfirm": "您确定要归档吗?",
|
||||
"StatusDelete": "删除状态",
|
||||
"StatusDeleteConfirm": "您确定要删除此状态吗?",
|
||||
"CantStatusDelete": "无法删除状态",
|
||||
|
||||
@@ -58,14 +58,10 @@ export default mergeIds(taskId, task, {
|
||||
AllStates: '' as IntlString,
|
||||
NoDoneState: '' as IntlString,
|
||||
ManageStatusesWithin: '' as IntlString,
|
||||
ArchiveConfirm: '' as IntlString,
|
||||
UnarchiveConfirm: '' as IntlString,
|
||||
StatusDeleteConfirm: '' as IntlString,
|
||||
StatusDelete: '' as IntlString,
|
||||
CantStatusDelete: '' as IntlString,
|
||||
CantStatusDeleteError: '' as IntlString,
|
||||
Archive: '' as IntlString,
|
||||
Unarchive: '' as IntlString,
|
||||
|
||||
Tasks: '' as IntlString,
|
||||
Task: '' as IntlString,
|
||||
|
||||
@@ -273,8 +273,6 @@
|
||||
"NoStatusFound": "No matching status found",
|
||||
"CreateMissingStatus": "Create missing status",
|
||||
"UnsetParent": "Parent issue will be unset",
|
||||
"Unarchive": "Unarchive",
|
||||
"UnarchiveConfirm": "Do you want to unarchive project?",
|
||||
"AllProjects": "All projects",
|
||||
"IssueNotificationTitle": "{issueTitle}",
|
||||
"IssueNotificationBody": "Updated by {senderName}",
|
||||
|
||||
@@ -256,8 +256,6 @@
|
||||
"NoStatusFound": "No se encontró ningún estado coincidente",
|
||||
"CreateMissingStatus": "Crear estado faltante",
|
||||
"UnsetParent": "El problema padre será desmarcado",
|
||||
"Unarchive": "Desarchivar",
|
||||
"UnarchiveConfirm": "¿Desea desarchivar el proyecto?",
|
||||
"AllProjects": "Todos los proyectos",
|
||||
"IssueNotificationTitle": "{issueTitle}",
|
||||
"IssueNotificationBody": "Actualizado por {senderName}",
|
||||
|
||||
@@ -256,8 +256,6 @@
|
||||
"NoStatusFound": "Aucun statut correspondant trouvé",
|
||||
"CreateMissingStatus": "Créer un statut manquant",
|
||||
"UnsetParent": "Le problème parent sera désélectionné",
|
||||
"Unarchive": "Désarchiver",
|
||||
"UnarchiveConfirm": "Voulez-vous désarchiver le projet ?",
|
||||
"AllProjects": "Tous les projets",
|
||||
"IssueNotificationTitle": "{issueTitle}",
|
||||
"IssueNotificationBody": "Mis à jour par {senderName}",
|
||||
|
||||
@@ -256,8 +256,6 @@
|
||||
"NoStatusFound": "Nenhum estado correspondente encontrado",
|
||||
"CreateMissingStatus": "Criar estado em falta",
|
||||
"UnsetParent": "O problema pai será desassociado",
|
||||
"Unarchive": "Desarquivar",
|
||||
"UnarchiveConfirm": "Deseja desarquivar o projeto?",
|
||||
"AllProjects": "Todos os projetos",
|
||||
"IssueNotificationTitle": "{issueTitle}",
|
||||
"IssueNotificationBody": "Atualizado por {senderName}",
|
||||
|
||||
@@ -273,8 +273,6 @@
|
||||
"NoStatusFound": "Статус не найдет",
|
||||
"CreateMissingStatus": "Создать отсутствующий статус",
|
||||
"UnsetParent": "Родительская задача будет убрана",
|
||||
"Unarchive": "Разархивировать",
|
||||
"UnarchiveConfirm": "Вы действительно хотите разархивировать?",
|
||||
"AllProjects": "All projects",
|
||||
"IssueNotificationTitle": "{issueTitle}",
|
||||
"IssueNotificationBody": "Обновлено {senderName}",
|
||||
|
||||
@@ -273,8 +273,6 @@
|
||||
"NoStatusFound": "未找到匹配的状态",
|
||||
"CreateMissingStatus": "创建缺失的状态",
|
||||
"UnsetParent": "父问题将被取消设置",
|
||||
"Unarchive": "取消归档",
|
||||
"UnarchiveConfirm": "您想要取消归档项目吗?",
|
||||
"AllProjects": "所有项目",
|
||||
"IssueNotificationTitle": "{issueTitle}",
|
||||
"IssueNotificationBody": "由 {senderName} 更新",
|
||||
|
||||
@@ -118,6 +118,7 @@
|
||||
"Type": "Type",
|
||||
"ToViewCommands": "to view available commands",
|
||||
"UnArchive": "Unarchive",
|
||||
"UnArchiveConfirm": "Do you want to unarchive this {count, plural, =1 {object} other {# objects}}?",
|
||||
"Pin": "Pin",
|
||||
"Unpin": "Unpin",
|
||||
"Archived": "Archived",
|
||||
|
||||
@@ -113,6 +113,7 @@
|
||||
"Type": "Tipo",
|
||||
"ToViewCommands": "para ver los comandos disponibles",
|
||||
"UnArchive": "Desarchivar",
|
||||
"UnArchiveConfirm": "¿Desea desarchivar {count, plural, =1 {este objeto} other {# objetos}}?",
|
||||
"Pin": "Fijar",
|
||||
"Unpin": "Desfijar",
|
||||
"Archived": "Archivado",
|
||||
|
||||
@@ -113,6 +113,7 @@
|
||||
"Type": "Type",
|
||||
"ToViewCommands": "pour voir les commandes disponibles",
|
||||
"UnArchive": "Désarchiver",
|
||||
"UnArchiveConfirm": "Voulez-vous désarchiver {count, plural, =1 {cet objet} other {# objets}} ?",
|
||||
"Pin": "Épingler",
|
||||
"Unpin": "Détacher",
|
||||
"Archived": "Archivé",
|
||||
|
||||
@@ -113,6 +113,7 @@
|
||||
"Type": "Tipo",
|
||||
"ToViewCommands": "para ver os comandos disponíveis",
|
||||
"UnArchive": "Desarquivar",
|
||||
"UnArchiveConfirm": "Deseja desarquivar {count, plural, =1 {este objecto} other {estes # objectos}}?",
|
||||
"Pin": "Fixar",
|
||||
"Unpin": "Desafixar",
|
||||
"Archived": "Arquivado",
|
||||
|
||||
@@ -115,6 +115,7 @@
|
||||
"Type": "Введите",
|
||||
"ToViewCommands": "чтобы увидеть команды",
|
||||
"UnArchive": "Разархивировать",
|
||||
"UnArchiveConfirm": "Вы действительно хотите разархивировать {count, plural, =1 {этот объект} one {этот # объект} few {эти # объекта} other {эти # объектов}}?",
|
||||
"Pin": "Закрепить",
|
||||
"Unpin": "Открепить",
|
||||
"Archived": "Архивированные",
|
||||
|
||||
@@ -118,6 +118,7 @@
|
||||
"Type": "类型",
|
||||
"ToViewCommands": "查看可用命令",
|
||||
"UnArchive": "取消归档",
|
||||
"UnArchiveConfirm": "您想要取消归档这个 {count, plural, =1 {对象} other {# 个对象}} 吗?",
|
||||
"Pin": "固定",
|
||||
"Unpin": "取消固定",
|
||||
"Archived": "已归档",
|
||||
|
||||
@@ -128,6 +128,27 @@ function Archive (object: Space | Space[]): void {
|
||||
)
|
||||
}
|
||||
|
||||
function UnArchive (object: Space | Space[]): void {
|
||||
showPopup(
|
||||
MessageBox,
|
||||
{
|
||||
label: view.string.UnArchive,
|
||||
message: view.string.UnArchiveConfirm,
|
||||
params: { count: Array.isArray(object) ? object.length : 1 },
|
||||
action: async () => {
|
||||
const objs = Array.isArray(object) ? object : [object]
|
||||
const client = getClient()
|
||||
const promises: Array<Promise<TxResult>> = []
|
||||
for (const obj of objs) {
|
||||
promises.push(client.update(obj, { archived: false }))
|
||||
}
|
||||
await Promise.all(promises)
|
||||
}
|
||||
},
|
||||
undefined
|
||||
)
|
||||
}
|
||||
|
||||
async function Leave (object: Space | Space[]): Promise<void> {
|
||||
const client = getClient()
|
||||
const promises: Array<Promise<TxResult>> = []
|
||||
@@ -564,6 +585,7 @@ export const actionImpl = {
|
||||
CopyTextToClipboard,
|
||||
Delete,
|
||||
Archive,
|
||||
UnArchive,
|
||||
Join,
|
||||
Leave,
|
||||
Move,
|
||||
|
||||
@@ -44,6 +44,7 @@ export default mergeIds(viewId, view, {
|
||||
DeletePopupCreatorLabel: '' as IntlString,
|
||||
DeletePopupOwnerLabel: '' as IntlString,
|
||||
ArchiveConfirm: '' as IntlString,
|
||||
UnArchiveConfirm: '' as IntlString,
|
||||
Assignees: '' as IntlString,
|
||||
Labels: '' as IntlString,
|
||||
ActionPlaceholder: '' as IntlString,
|
||||
|
||||
@@ -126,6 +126,7 @@ const view = plugin(viewId, {
|
||||
action: {
|
||||
Delete: '' as Ref<Action>,
|
||||
Archive: '' as Ref<Action>,
|
||||
UnArchive: '' as Ref<Action>,
|
||||
Join: '' as Ref<Action>,
|
||||
Leave: '' as Ref<Action>,
|
||||
Move: '' as Ref<Action>,
|
||||
|
||||
Reference in New Issue
Block a user