@abtnode/ux 1.16.25-beta-e3dbef52 → 1.16.25-beta-be3a37f4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/actions.js +3 -1
- package/es/blocklet/actions.js +11 -7
- package/es/locales/ar.js +7 -2
- package/es/locales/de.js +7 -2
- package/es/locales/en.js +6 -1
- package/es/locales/es.js +7 -2
- package/es/locales/fr.js +7 -2
- package/es/locales/hi.js +7 -2
- package/es/locales/i18n.db +0 -0
- package/es/locales/id.js +7 -2
- package/es/locales/ja.js +7 -2
- package/es/locales/ko.js +7 -2
- package/es/locales/pt.js +7 -2
- package/es/locales/ru.js +7 -2
- package/es/locales/th.js +7 -2
- package/es/locales/vi.js +7 -2
- package/es/locales/zh-tw.js +7 -2
- package/es/locales/zh.js +7 -2
- package/es/team/members/actions.js +61 -5
- package/es/team/members/index.js +87 -15
- package/lib/actions.js +3 -1
- package/lib/blocklet/actions.js +11 -7
- package/lib/locales/ar.js +7 -2
- package/lib/locales/de.js +7 -2
- package/lib/locales/en.js +6 -1
- package/lib/locales/es.js +7 -2
- package/lib/locales/fr.js +7 -2
- package/lib/locales/hi.js +7 -2
- package/lib/locales/i18n.db +0 -0
- package/lib/locales/id.js +7 -2
- package/lib/locales/ja.js +7 -2
- package/lib/locales/ko.js +7 -2
- package/lib/locales/pt.js +7 -2
- package/lib/locales/ru.js +7 -2
- package/lib/locales/th.js +7 -2
- package/lib/locales/vi.js +7 -2
- package/lib/locales/zh-tw.js +7 -2
- package/lib/locales/zh.js +7 -2
- package/lib/team/members/actions.js +61 -5
- package/lib/team/members/index.js +93 -19
- package/package.json +15 -14
package/es/actions.js
CHANGED
package/es/blocklet/actions.js
CHANGED
|
@@ -321,13 +321,17 @@ export default function BlockletActions({
|
|
|
321
321
|
name: t('common.restart'),
|
|
322
322
|
handler: createHandler('restart', node.api.restartBlocklet, true),
|
|
323
323
|
disabled: disableStart || blocklet.status !== 'running'
|
|
324
|
-
},
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
324
|
+
},
|
|
325
|
+
// hidden reload: https://github.com/ArcBlock/blocklet-server/issues/8655
|
|
326
|
+
// {
|
|
327
|
+
// action: 'reload',
|
|
328
|
+
// icon: Icons.Reload,
|
|
329
|
+
// name: t('common.reload'),
|
|
330
|
+
// handler: createHandler('reload', node.api.reloadBlocklet),
|
|
331
|
+
// disabled: disableStart || blocklet.status !== 'running',
|
|
332
|
+
// },
|
|
333
|
+
|
|
334
|
+
isDownloading(blocklet.status) ? cancelDownloadAction : removeAction, {
|
|
331
335
|
separator: true
|
|
332
336
|
}, {
|
|
333
337
|
onlyInMenu: true,
|
package/es/locales/ar.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: 'وثيقة المساعدة',
|
|
688
688
|
componentIncluded: 'مدرج',
|
|
689
689
|
componentForceRequired: 'مجبر مطلوب'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: 'يجب أن يكون طول العنوان على الأقل 3 أحرف',
|
|
692
|
+
descriptionValidationError: 'يجب أن تكون طول الوصف بين 3 و 160 حرفًا'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: 'عقدة',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: 'عنوان URL مخصص',
|
|
1190
1192
|
slack: 'خطاف سلاك',
|
|
1191
1193
|
tested: 'تم إرسال رسالة تجريبية'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: 'جلسات المستخدم النشطة',
|
|
1196
|
+
forceLogout: 'تسجيل الخروج القسري',
|
|
1197
|
+
forceLogoutDescription: 'هل تؤكد تسجيل خروج هذا المستخدم؟'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: 'تحويل الملكية',
|
package/es/locales/de.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: 'Hilfe-Dokument',
|
|
688
688
|
componentIncluded: 'Eingeschlossen',
|
|
689
689
|
componentForceRequired: 'Erzwungen Erforderlich'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: 'Die Länge des Titels muss mindestens 3 Zeichen betragen',
|
|
692
|
+
descriptionValidationError: 'Die Beschreibungslänge muss zwischen 3 und 160 Zeichen liegen'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: 'Knoten',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: 'Benutzerdefinierte URL',
|
|
1190
1192
|
slack: 'Slack-Webhook',
|
|
1191
1193
|
tested: 'Testnachricht gesendet'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: 'Aktive Benutzersitzungen',
|
|
1196
|
+
forceLogout: 'Erzwungenes Abmelden',
|
|
1197
|
+
forceLogoutDescription: 'Bestätigen Sie die erzwungene Abmeldung dieses Benutzers?'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: 'Änderung des Eigentums',
|
package/es/locales/en.js
CHANGED
|
@@ -350,6 +350,8 @@ export default {
|
|
|
350
350
|
installFromMarket: 'Install New Blocklets',
|
|
351
351
|
installFromUrl: 'Install From Url',
|
|
352
352
|
installFromCreate: 'Create Blocklet',
|
|
353
|
+
titleValidationError: 'Title length must be between 3 and 40 characters',
|
|
354
|
+
descriptionValidationError: 'Description length must be between 3 and 160 characters',
|
|
353
355
|
installFromDiskBackup: 'Restore from this server',
|
|
354
356
|
installedAt: 'Installed At',
|
|
355
357
|
internal: 'Internal',
|
|
@@ -1182,7 +1184,10 @@ export default {
|
|
|
1182
1184
|
url: 'Custom URL',
|
|
1183
1185
|
slack: 'Slack Webhook',
|
|
1184
1186
|
tested: 'Test message sent'
|
|
1185
|
-
}
|
|
1187
|
+
},
|
|
1188
|
+
activeUserSessions: 'Active User Sessions',
|
|
1189
|
+
forceLogout: 'Force logout',
|
|
1190
|
+
forceLogoutDescription: 'Confirm to force logout this user?'
|
|
1186
1191
|
},
|
|
1187
1192
|
transferNode: {
|
|
1188
1193
|
name: 'Transfer Ownership',
|
package/es/locales/es.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: 'Ayuda Documento',
|
|
688
688
|
componentIncluded: 'Incluido',
|
|
689
689
|
componentForceRequired: 'Obligatorio Requerido'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: 'La longitud del título debe ser de al menos 3 caracteres',
|
|
692
|
+
descriptionValidationError: 'La longitud de la descripción debe estar entre 3 y 160 caracteres'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: 'Nodo',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: 'URL personalizada',
|
|
1190
1192
|
slack: 'Slack Webhook',
|
|
1191
1193
|
tested: 'Mensaje de prueba enviado'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: 'Sesiones de usuario activas',
|
|
1196
|
+
forceLogout: 'Cerrar sesión forzada',
|
|
1197
|
+
forceLogoutDescription: '¿Confirmar para forzar el cierre de sesión de este usuario?'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: 'Transferir propiedad',
|
package/es/locales/fr.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: "Document d'aide",
|
|
688
688
|
componentIncluded: 'Inclus',
|
|
689
689
|
componentForceRequired: 'Forcé Requis'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: "La longueur du titre doit être d'au moins 3 caractères",
|
|
692
|
+
descriptionValidationError: 'La longueur de la description doit être comprise entre 3 et 160 caractères'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: 'Noeud',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: 'URL personnalisée',
|
|
1190
1192
|
slack: 'Webhook Slack',
|
|
1191
1193
|
tested: 'Message de test envoyé'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: "Sessions d'utilisateurs actives",
|
|
1196
|
+
forceLogout: 'Déconnexion forcée',
|
|
1197
|
+
forceLogoutDescription: 'Confirmez-vous la déconnexion forcée de cet utilisateur?'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: 'Transfert de propriété',
|
package/es/locales/hi.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: 'सहायता दस्तावेज़',
|
|
688
688
|
componentIncluded: 'शामिल',
|
|
689
689
|
componentForceRequired: 'मजबूरी आवश्यक'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: 'शीर्षक की लंबाई कम से कम 3 अक्षर होनी चाहिए',
|
|
692
|
+
descriptionValidationError: 'विवरण की लंबाई 3 और 160 वर्णों के बीच होनी चाहिए'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: 'नोड',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: 'कस्टम URL',
|
|
1190
1192
|
slack: 'स्लैक वेबहुक',
|
|
1191
1193
|
tested: 'परीक्षण संदेश भेजा गया'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: 'सक्रिय उपयोगकर्ता सत्र',
|
|
1196
|
+
forceLogout: 'बाहर करें बल',
|
|
1197
|
+
forceLogoutDescription: 'क्या आप इस उपयोगकर्ता को बाहर करने के लिए पुष्टि करें?'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: 'स्वामित्व स्थानांतरण',
|
package/es/locales/i18n.db
CHANGED
|
Binary file
|
package/es/locales/id.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: 'Dokumen Bantuan',
|
|
688
688
|
componentIncluded: 'Termasuk',
|
|
689
689
|
componentForceRequired: 'Dipaksa Diperlukan'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: 'Panjang judul harus setidaknya 3 karakter',
|
|
692
|
+
descriptionValidationError: 'Panjang deskripsi harus antara 3 dan 160 karakter.'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: 'Node',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: 'URL kustom',
|
|
1190
1192
|
slack: 'Slack Webhook',
|
|
1191
1193
|
tested: 'Pesan uji terkirim'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: 'Sesi Pengguna Aktif',
|
|
1196
|
+
forceLogout: 'Keluar paksa',
|
|
1197
|
+
forceLogoutDescription: 'Konfirmasi untuk logout paksa pengguna ini?'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: 'Pindahkan Kepemilikan',
|
package/es/locales/ja.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: 'ヘルプドキュメント',
|
|
688
688
|
componentIncluded: '含まれています',
|
|
689
689
|
componentForceRequired: '強制必要'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: 'タイトルの長さは最低3文字以上である必要があります',
|
|
692
|
+
descriptionValidationError: '説明の長さは3から160文字の間でなければなりません'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: 'ノード',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: 'カスタムURL',
|
|
1190
1192
|
slack: 'Slack Webhook',
|
|
1191
1193
|
tested: 'テストメッセージを送信しました'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: 'アクティブユーザーセッション',
|
|
1196
|
+
forceLogout: '強制ログアウト',
|
|
1197
|
+
forceLogoutDescription: 'このユーザーを強制的にログアウトしますか?'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: '権限の移譲',
|
package/es/locales/ko.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: '도움말 문서',
|
|
688
688
|
componentIncluded: '포함됨',
|
|
689
689
|
componentForceRequired: '강제 필수'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: '제목 길이는 최소 3자 이상이어야 합니다',
|
|
692
|
+
descriptionValidationError: '설명 길이는 3에서 160자 사이여야 합니다'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: '노드',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: '사용자 정의 URL',
|
|
1190
1192
|
slack: 'Slack Webhook',
|
|
1191
1193
|
tested: '테스트 메시지가 전송되었습니다'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: '활성 사용자 세션',
|
|
1196
|
+
forceLogout: '강제 로그아웃',
|
|
1197
|
+
forceLogoutDescription: '이 사용자를 강제로 로그아웃하시겠습니까?'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: '소유권 이전',
|
package/es/locales/pt.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: 'Documento de ajuda',
|
|
688
688
|
componentIncluded: 'Incluído',
|
|
689
689
|
componentForceRequired: 'Forçado Obrigatório'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: 'O comprimento do título deve ter pelo menos 3 caracteres',
|
|
692
|
+
descriptionValidationError: 'O comprimento da descrição deve estar entre 3 e 160 caracteres.'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: 'Nó',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: 'URL personalizado',
|
|
1190
1192
|
slack: 'Slack Webhook',
|
|
1191
1193
|
tested: 'Mensagem de teste enviada'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: 'Sessões de Usuários Ativos',
|
|
1196
|
+
forceLogout: 'Logout forçado',
|
|
1197
|
+
forceLogoutDescription: 'Confirmar o logout forçado deste usuário?'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: 'Transferir Propriedade',
|
package/es/locales/ru.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: 'Документация помощи',
|
|
688
688
|
componentIncluded: 'Включено',
|
|
689
689
|
componentForceRequired: 'Принудительно Требуется'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: 'Длина заголовка должна быть не менее 3 символов',
|
|
692
|
+
descriptionValidationError: 'Длина описания должна быть от 3 до 160 символов'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: 'Узел',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: 'Пользовательский URL',
|
|
1190
1192
|
slack: 'Слэк вебхук',
|
|
1191
1193
|
tested: 'Тестовое сообщение отправлено'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: 'Активные пользовательские сессии',
|
|
1196
|
+
forceLogout: 'Принудительный выход',
|
|
1197
|
+
forceLogoutDescription: 'Подтвердить выход из системы этого пользователя?'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: 'Передача собственности',
|
package/es/locales/th.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: 'เอกสารช่วยเหลือ',
|
|
688
688
|
componentIncluded: 'รวมอยู่ใน',
|
|
689
689
|
componentForceRequired: 'บังคับต้องการ'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: 'ความยาวของชื่อต้องมีอย่างน้อย 3 ตัวอักษร',
|
|
692
|
+
descriptionValidationError: 'ความยาวคำอธิบายต้องอยู่ระหว่าง 3 ถึง 160 ตัวอักษร.'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: 'โหนด',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: 'URL ที่กำหนดเอง',
|
|
1190
1192
|
slack: 'Slack Webhook',
|
|
1191
1193
|
tested: 'ส่งข้อความทดสอบแล้ว'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: 'เซสชันผู้ใช้ที่ใช้งานอยู่',
|
|
1196
|
+
forceLogout: 'ออกจากระบบบังคับ',
|
|
1197
|
+
forceLogoutDescription: 'ยืนยันให้ออกจากระบบผู้ใช้นี้หรือไม่?'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: 'โอนสิทธิ์การเป็นเจ้าของ',
|
package/es/locales/vi.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: 'Tài liệu giúp đỡ',
|
|
688
688
|
componentIncluded: 'Bao gồm',
|
|
689
689
|
componentForceRequired: 'Bắt Buộc Yêu Cầu'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: 'Độ dài tiêu đề phải ít nhất 3 ký tự',
|
|
692
|
+
descriptionValidationError: 'Chiều dài mô tả phải từ 3 đến 160 ký tự.'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: 'Nút',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: 'URL tùy chỉnh',
|
|
1190
1192
|
slack: 'Slack Webhook',
|
|
1191
1193
|
tested: 'Tin nhắn kiểm tra đã được gửi'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: 'Phiên người dùng hoạt động',
|
|
1196
|
+
forceLogout: 'Đăng xuất bắt buộc',
|
|
1197
|
+
forceLogoutDescription: 'Xác nhận đăng xuất buộc người dùng này?'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: 'Chuyển quyền sở hữu',
|
package/es/locales/zh-tw.js
CHANGED
|
@@ -687,7 +687,9 @@ export default {
|
|
|
687
687
|
installResourceHelp: '幫助文件',
|
|
688
688
|
componentIncluded: '已包含',
|
|
689
689
|
componentForceRequired: '強制要求'
|
|
690
|
-
}
|
|
690
|
+
},
|
|
691
|
+
titleValidationError: '標題長度必須至少為3到40個字符',
|
|
692
|
+
descriptionValidationError: '描述長度必須介於3到160個字符之間'
|
|
691
693
|
},
|
|
692
694
|
dashboard: {
|
|
693
695
|
nodeDid: '節點',
|
|
@@ -1189,7 +1191,10 @@ export default {
|
|
|
1189
1191
|
url: '客製網址',
|
|
1190
1192
|
slack: 'Slack Webhook',
|
|
1191
1193
|
tested: '測試訊息已發送'
|
|
1192
|
-
}
|
|
1194
|
+
},
|
|
1195
|
+
activeUserSessions: '活躍用戶會話',
|
|
1196
|
+
forceLogout: '強制登出',
|
|
1197
|
+
forceLogoutDescription: '確認是否強制登出此使用者?'
|
|
1193
1198
|
},
|
|
1194
1199
|
transferNode: {
|
|
1195
1200
|
name: '轉讓所有權',
|
package/es/locales/zh.js
CHANGED
|
@@ -690,7 +690,9 @@ export default {
|
|
|
690
690
|
noDescription: '请填写 Blocklet 描述',
|
|
691
691
|
noNote: '请填写 发布说明'
|
|
692
692
|
}
|
|
693
|
-
}
|
|
693
|
+
},
|
|
694
|
+
titleValidationError: '标题长度必须至少为3到40个字符',
|
|
695
|
+
descriptionValidationError: '描述长度必须在3到160个字符之间'
|
|
694
696
|
},
|
|
695
697
|
dashboard: {
|
|
696
698
|
nodeDid: '节点地址',
|
|
@@ -1193,7 +1195,10 @@ export default {
|
|
|
1193
1195
|
url: '自定义 URL',
|
|
1194
1196
|
slack: 'Slack 通知',
|
|
1195
1197
|
tested: '测试消息已经发送'
|
|
1196
|
-
}
|
|
1198
|
+
},
|
|
1199
|
+
activeUserSessions: '活跃用户会话',
|
|
1200
|
+
forceLogout: '强制注销',
|
|
1201
|
+
forceLogoutDescription: '确认是否强制退出此用户?'
|
|
1197
1202
|
},
|
|
1198
1203
|
transferNode: {
|
|
1199
1204
|
name: '转移所有者',
|
|
@@ -2,33 +2,66 @@ import { useState, useContext } from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import MenuItem from '@mui/material/MenuItem';
|
|
4
4
|
import AddIcon from '@mui/icons-material/Add';
|
|
5
|
+
import LogoutIcon from '@mui/icons-material/Logout';
|
|
5
6
|
import ListItemIcon from '@mui/material/ListItemIcon';
|
|
6
7
|
import ListItemText from '@mui/material/ListItemText';
|
|
7
8
|
import { LocaleContext } from '@arcblock/ux/lib/Locale/context';
|
|
8
9
|
import ForbidLoginIcon from '@arcblock/icons/lib/ForbidLoginIcon';
|
|
9
10
|
import AllowLoginIcon from '@arcblock/icons/lib/AllowLoginIcon';
|
|
10
11
|
import { getWalletDid } from '@blocklet/meta/lib/did-utils';
|
|
12
|
+
import { useConfirm } from '@arcblock/ux/lib/Dialog';
|
|
13
|
+
import { useMemoizedFn } from 'ahooks';
|
|
14
|
+
import pAll from 'p-all';
|
|
11
15
|
import { useTeamContext } from '../../contexts/team';
|
|
12
16
|
import Actions from '../../actions';
|
|
13
17
|
import IssuePassport from './issue-passport';
|
|
14
18
|
import ToggleUserApproval from './toggle-user-approval';
|
|
19
|
+
import { useNodeContext } from '../../contexts/node';
|
|
15
20
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
21
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
22
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
18
23
|
export default function MemberActions({
|
|
24
|
+
type,
|
|
19
25
|
user,
|
|
20
|
-
onIssuePassport
|
|
26
|
+
onIssuePassport,
|
|
27
|
+
onRefresh
|
|
21
28
|
}) {
|
|
22
29
|
const {
|
|
23
30
|
teamDid,
|
|
24
31
|
roles
|
|
25
32
|
} = useTeamContext();
|
|
33
|
+
const {
|
|
34
|
+
confirmHolder,
|
|
35
|
+
confirmApi
|
|
36
|
+
} = useConfirm();
|
|
26
37
|
const {
|
|
27
38
|
t
|
|
28
39
|
} = useContext(LocaleContext);
|
|
29
40
|
const [enablePassportIssuance, setEnablePassportIssuance] = useState(false);
|
|
41
|
+
const {
|
|
42
|
+
api
|
|
43
|
+
} = useNodeContext();
|
|
44
|
+
const logoutUser = useMemoizedFn(async () => {
|
|
45
|
+
const {
|
|
46
|
+
userSessions = []
|
|
47
|
+
} = user;
|
|
48
|
+
const list = userSessions.map(x => {
|
|
49
|
+
return () => api.logoutUser({
|
|
50
|
+
input: {
|
|
51
|
+
teamDid,
|
|
52
|
+
appPid: teamDid,
|
|
53
|
+
userDid: user.did,
|
|
54
|
+
visitorId: x.visitorId
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
await pAll(list, {
|
|
59
|
+
concurrency: 3,
|
|
60
|
+
stopOnError: false
|
|
61
|
+
});
|
|
62
|
+
});
|
|
30
63
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
31
|
-
children: [/*#__PURE__*/_jsx(Actions, {
|
|
64
|
+
children: [confirmHolder, /*#__PURE__*/_jsx(Actions, {
|
|
32
65
|
"data-cy": "member-actions",
|
|
33
66
|
actions: [{
|
|
34
67
|
icon: /*#__PURE__*/_jsx(AddIcon, {
|
|
@@ -66,7 +99,27 @@ export default function MemberActions({
|
|
|
66
99
|
primary: user.approved ? t('team.member.forbidLogin') : t('team.member.allowLogin')
|
|
67
100
|
})]
|
|
68
101
|
})
|
|
69
|
-
}, "toggle-approval")
|
|
102
|
+
}, "toggle-approval"), type === 'blocklet' && {
|
|
103
|
+
icon: /*#__PURE__*/_jsx(LogoutIcon, {
|
|
104
|
+
fontSize: "small"
|
|
105
|
+
}),
|
|
106
|
+
text: t('team.member.forceLogout'),
|
|
107
|
+
onClick: e => {
|
|
108
|
+
e.stopPropagation();
|
|
109
|
+
confirmApi.open({
|
|
110
|
+
title: t('team.member.forceLogout'),
|
|
111
|
+
content: t('team.member.forceLogoutDescription'),
|
|
112
|
+
confirmButtonText: t('common.confirm'),
|
|
113
|
+
cancelButtonText: t('common.cancel'),
|
|
114
|
+
onClick: event => event.stopPropagation(),
|
|
115
|
+
onConfirm: async () => {
|
|
116
|
+
await logoutUser();
|
|
117
|
+
await confirmApi.close();
|
|
118
|
+
onRefresh();
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}].filter(Boolean)
|
|
70
123
|
}), enablePassportIssuance && /*#__PURE__*/_jsx(IssuePassport, {
|
|
71
124
|
teamDid: teamDid,
|
|
72
125
|
ownerDid: user.did,
|
|
@@ -81,9 +134,12 @@ export default function MemberActions({
|
|
|
81
134
|
});
|
|
82
135
|
}
|
|
83
136
|
MemberActions.propTypes = {
|
|
137
|
+
type: PropTypes.oneOf(['server', 'blocklet']).isRequired,
|
|
84
138
|
user: PropTypes.object.isRequired,
|
|
85
|
-
onIssuePassport: PropTypes.func
|
|
139
|
+
onIssuePassport: PropTypes.func,
|
|
140
|
+
onRefresh: PropTypes.func
|
|
86
141
|
};
|
|
87
142
|
MemberActions.defaultProps = {
|
|
88
|
-
onIssuePassport: () => {}
|
|
143
|
+
onIssuePassport: () => {},
|
|
144
|
+
onRefresh: () => {}
|
|
89
145
|
};
|