From c7f7da151f417ac5e7df2a49ae53cce73af7389d Mon Sep 17 00:00:00 2001
From: pkupczyk <piotr.kupczyk@id.ethz.ch>
Date: Fri, 4 Feb 2022 10:55:53 +0100
Subject: [PATCH] SSDM-12150 : XLS Import usable from the New Admin UI - nicer
 labels in the nav browser and in the tabs

---
 openbis_ng_ui/src/js/common/messages.js       |  4 ++++
 .../src/js/components/tools/Tools.jsx         | 19 ++++++++++++++++++-
 .../tools/browser/ToolBrowserController.js    |  6 +++---
 .../ToolBrowserComponentFilter.test.js        |  6 +++---
 4 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/openbis_ng_ui/src/js/common/messages.js b/openbis_ng_ui/src/js/common/messages.js
index 36b43d885af..e45140908e4 100644
--- a/openbis_ng_ui/src/js/common/messages.js
+++ b/openbis_ng_ui/src/js/common/messages.js
@@ -45,6 +45,7 @@ const keys = {
   DATA_TYPE_NOT_SUPPORTED: 'DATA_TYPE_NOT_SUPPORTED',
   DATE: 'DATE',
   DEACTIVATE_USER: 'DEACTIVATE_USER',
+  DELETION: 'DELETION',
   DELETIONS: 'DELETIONS',
   DESCRIPTION: 'DESCRIPTION',
   DISALLOW_DELETION: 'DISALLOW_DELETION',
@@ -77,6 +78,7 @@ const keys = {
   FIRST_PAGE: 'FIRST_PAGE',
   FORM_PREVIEW: 'FORM_PREVIEW',
   FREEZES: 'FREEZES',
+  FREEZING: 'FREEZING',
   GENERATED_CODE_PREFIX: 'GENERATED_CODE_PREFIX',
   GENERATE_CODES: 'GENERATE_CODES',
   GLOBAL_FILTER: 'GLOBAL_FILTER',
@@ -268,6 +270,7 @@ const messages_en = {
   [keys.DATA_TYPE_NOT_SUPPORTED]: 'The selected data type is not supported yet.',
   [keys.DATE]: 'Date',
   [keys.DEACTIVATE_USER]: 'Deactivate user',
+  [keys.DELETION]: 'Deletion',
   [keys.DELETIONS]: 'Deletions',
   [keys.DESCRIPTION]: 'Description',
   [keys.DISALLOW_DELETION]: 'Disallow Deletion',
@@ -300,6 +303,7 @@ const messages_en = {
   [keys.FIRST_PAGE]: 'First Page',
   [keys.FORM_PREVIEW]: 'Form Preview',
   [keys.FREEZES]: 'Freezes',
+  [keys.FREEZING]: 'Freezing',
   [keys.GENERATED_CODE_PREFIX]: 'Generated code prefix',
   [keys.GENERATE_CODES]: 'Generate Codes',
   [keys.GLOBAL_FILTER]: 'Global Filter',
diff --git a/openbis_ng_ui/src/js/components/tools/Tools.jsx b/openbis_ng_ui/src/js/components/tools/Tools.jsx
index 40ae3a03dd0..07c590b20be 100644
--- a/openbis_ng_ui/src/js/components/tools/Tools.jsx
+++ b/openbis_ng_ui/src/js/components/tools/Tools.jsx
@@ -11,6 +11,8 @@ import PluginForm from '@src/js/components/tools/form/plugin/PluginForm.jsx'
 import QueryForm from '@src/js/components/tools/form/query/QueryForm.jsx'
 import HistoryForm from '@src/js/components/tools/form/history/HistoryForm.jsx'
 import ImportForm from '@src/js/components/tools/form/import/ImportForm.jsx'
+import ImportType from '@src/js/components/tools/form/import/ImportType.js'
+import openbis from '@src/js/services/openbis.js'
 import messages from '@src/js/common/messages.js'
 
 const styles = () => ({
@@ -96,7 +98,22 @@ class Tools extends React.Component {
         [objectType.IMPORT]: messages.get(messages.IMPORT) + ': ',
         [objectType.SEARCH]: messages.get(messages.SEARCH) + ': '
       }
-      label = prefixes[object.type] + object.id
+
+      let suffix = object.id
+
+      if (object.type === objectType.HISTORY) {
+        if (object.id === openbis.EventType.DELETION) {
+          suffix = messages.get(messages.DELETION)
+        } else if (object.id === openbis.EventType.FREEZING) {
+          suffix = messages.get(messages.FREEZING)
+        }
+      } else if (object.type === objectType.IMPORT) {
+        if (object.id === ImportType.ALL) {
+          suffix = messages.get(messages.ALL)
+        }
+      }
+
+      label = prefixes[object.type] + suffix
     }
 
     return <ContentTab label={label} changed={changed} />
diff --git a/openbis_ng_ui/src/js/components/tools/browser/ToolBrowserController.js b/openbis_ng_ui/src/js/components/tools/browser/ToolBrowserController.js
index 389e20e4210..1b78036308c 100644
--- a/openbis_ng_ui/src/js/components/tools/browser/ToolBrowserController.js
+++ b/openbis_ng_ui/src/js/components/tools/browser/ToolBrowserController.js
@@ -75,7 +75,7 @@ export default class ToolBrowserController extends BrowserController {
       const historyNodes = [
         {
           id: `history/deletion`,
-          text: openbis.EventType.DELETION,
+          text: messages.get(messages.DELETION),
           object: {
             type: objectType.HISTORY,
             id: openbis.EventType.DELETION
@@ -85,7 +85,7 @@ export default class ToolBrowserController extends BrowserController {
         },
         {
           id: `history/freeze`,
-          text: openbis.EventType.FREEZING,
+          text: messages.get(messages.FREEZING),
           object: {
             type: objectType.HISTORY,
             id: openbis.EventType.FREEZING
@@ -98,7 +98,7 @@ export default class ToolBrowserController extends BrowserController {
       const importNodes = [
         {
           id: `import/all`,
-          text: ImportType.ALL,
+          text: messages.get(messages.ALL),
           object: {
             type: objectType.IMPORT,
             id: ImportType.ALL
diff --git a/openbis_ng_ui/srcTest/js/components/tools/browser/ToolBrowserComponentFilter.test.js b/openbis_ng_ui/srcTest/js/components/tools/browser/ToolBrowserComponentFilter.test.js
index 3c2f3e1b91e..f65073d1d49 100644
--- a/openbis_ng_ui/srcTest/js/components/tools/browser/ToolBrowserComponentFilter.test.js
+++ b/openbis_ng_ui/srcTest/js/components/tools/browser/ToolBrowserComponentFilter.test.js
@@ -64,10 +64,10 @@ async function testFilter() {
       { level: 0, text: 'Queries' },
       { level: 1, text: testQuery.name },
       { level: 0, text: 'History' },
-      { level: 1, text: openbis.EventType.DELETION },
-      { level: 1, text: openbis.EventType.FREEZING },
+      { level: 1, text: 'Deletion' },
+      { level: 1, text: 'Freezing' },
       { level: 0, text: 'Import' },
-      { level: 1, text: ImportType.ALL }
+      { level: 1, text: 'All' }
     ]
   })
 }
-- 
GitLab