diff --git a/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js b/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js
index b40fd6fc1bef..77595025bc45 100644
--- a/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js
+++ b/services/static-webserver/client/source/class/osparc/dashboard/Dashboard.js
@@ -38,9 +38,8 @@ qx.Class.define("osparc.dashboard.Dashboard", {
construct: function() {
this.base(arguments);
- this.getChildControl("bar").set({
- visibility: "excluded",
- });
+ osparc.utils.Utils.setIdToWidget(this.getChildControl("bar"), "dashboardTabs");
+ osparc.utils.Utils.setIdToWidget(this, "dashboard");
this.set({
contentPadding: this.self().PADDING,
diff --git a/services/static-webserver/client/source/class/osparc/dashboard/FolderButtonItem.js b/services/static-webserver/client/source/class/osparc/dashboard/FolderButtonItem.js
index 18dad5fc65d2..7302ce56f905 100644
--- a/services/static-webserver/client/source/class/osparc/dashboard/FolderButtonItem.js
+++ b/services/static-webserver/client/source/class/osparc/dashboard/FolderButtonItem.js
@@ -253,7 +253,7 @@ qx.Class.define("osparc.dashboard.FolderButtonItem", {
const dateBy = this.getChildControl("date-by");
dateBy.set({
date: value,
- toolTipText: this.tr("Moved to the bin"),
+ toolTipText: this.tr("Deleted"),
});
}
},
@@ -302,7 +302,7 @@ qx.Class.define("osparc.dashboard.FolderButtonItem", {
menu.addSeparator();
- const trashButton = new qx.ui.menu.Button(this.tr("Move to Bin"), "@FontAwesome5Solid/trash/12");
+ const trashButton = new qx.ui.menu.Button(this.tr("Delete"), "@FontAwesome5Solid/trash/12");
trashButton.addListener("execute", () => this.fireDataEvent("trashFolderRequested", this.getFolderId()), this);
menu.add(trashButton);
} else if (studyBrowserContext === "trash") {
diff --git a/services/static-webserver/client/source/class/osparc/dashboard/GridButtonItem.js b/services/static-webserver/client/source/class/osparc/dashboard/GridButtonItem.js
index 7e776c86e8bd..3ae3cd6bb98c 100644
--- a/services/static-webserver/client/source/class/osparc/dashboard/GridButtonItem.js
+++ b/services/static-webserver/client/source/class/osparc/dashboard/GridButtonItem.js
@@ -194,7 +194,7 @@ qx.Class.define("osparc.dashboard.GridButtonItem", {
const dateBy = this.getChildControl("date-by");
dateBy.set({
date: value,
- toolTipText: this.tr("Moved to the bin"),
+ toolTipText: this.tr("Deleted"),
});
}
}
diff --git a/services/static-webserver/client/source/class/osparc/dashboard/ListButtonItem.js b/services/static-webserver/client/source/class/osparc/dashboard/ListButtonItem.js
index 2bf551a20e66..20ca16244d12 100644
--- a/services/static-webserver/client/source/class/osparc/dashboard/ListButtonItem.js
+++ b/services/static-webserver/client/source/class/osparc/dashboard/ListButtonItem.js
@@ -203,7 +203,7 @@ qx.Class.define("osparc.dashboard.ListButtonItem", {
const dateBy = this.getChildControl("date-by");
dateBy.set({
date: value,
- toolTipText: this.tr("Moved to the bin"),
+ toolTipText: this.tr("Deleted"),
});
}
}
diff --git a/services/static-webserver/client/source/class/osparc/dashboard/NewPlusMenu.js b/services/static-webserver/client/source/class/osparc/dashboard/NewPlusMenu.js
index fb21a72cc616..6365ed424396 100644
--- a/services/static-webserver/client/source/class/osparc/dashboard/NewPlusMenu.js
+++ b/services/static-webserver/client/source/class/osparc/dashboard/NewPlusMenu.js
@@ -23,6 +23,10 @@ qx.Class.define("osparc.dashboard.NewPlusMenu", {
osparc.utils.Utils.prettifyMenu(this);
+ this.getContentElement().setStyles({
+ "border-color": qx.theme.manager.Color.getInstance().resolve("strong-main"),
+ });
+
this.set({
position: "bottom-left",
spacingX: 20,
diff --git a/services/static-webserver/client/source/class/osparc/dashboard/ResourceFilter.js b/services/static-webserver/client/source/class/osparc/dashboard/ResourceFilter.js
index f0bed4d36c6c..4c4141adcba7 100644
--- a/services/static-webserver/client/source/class/osparc/dashboard/ResourceFilter.js
+++ b/services/static-webserver/client/source/class/osparc/dashboard/ResourceFilter.js
@@ -57,7 +57,7 @@ qx.Class.define("osparc.dashboard.ResourceFilter", {
case "study": {
this._add(this.__createWorkspacesAndFoldersTree());
this._add(this.__createTrashBin());
- this._add(this.__createResourceTypeContextButtons());
+ // this._add(this.__createResourceTypeContextButtons());
this._add(filtersSpacer);
const scrollView = new qx.ui.container.Scroll();
scrollView.add(this.__createTagsFilterLayout());
@@ -67,7 +67,7 @@ qx.Class.define("osparc.dashboard.ResourceFilter", {
break;
}
case "template": {
- this._add(this.__createResourceTypeContextButtons());
+ // this._add(this.__createResourceTypeContextButtons());
this._add(filtersSpacer);
this._add(this.__createSharedWithFilterLayout());
const scrollView = new qx.ui.container.Scroll();
@@ -78,7 +78,7 @@ qx.Class.define("osparc.dashboard.ResourceFilter", {
break;
}
case "service":
- this._add(this.__createResourceTypeContextButtons());
+ // this._add(this.__createResourceTypeContextButtons());
this._add(filtersSpacer);
this._add(this.__createSharedWithFilterLayout());
this._add(this.__createServiceTypeFilterLayout());
@@ -124,7 +124,7 @@ qx.Class.define("osparc.dashboard.ResourceFilter", {
const trashButton = this.__trashButton = new qx.ui.toolbar.RadioButton().set({
value: false,
appearance: "filter-toggle-button",
- label: this.tr("Bin"),
+ label: this.tr("Recently Deleted"),
icon: "@FontAwesome5Solid/trash-alt/16",
paddingLeft: 10, // align it with the context
});
diff --git a/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js b/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js
index cbcc9bb2446b..9a35013ca351 100644
--- a/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js
+++ b/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js
@@ -476,7 +476,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
osparc.store.Workspaces.getInstance().trashWorkspace(workspaceId)
.then(() => {
this.__reloadWorkspaces();
- const msg = this.tr("Successfully moved to Bin");
+ const msg = this.tr("Successfully deleted");
osparc.FlashMessenger.getInstance().logAs(msg, "INFO");
this._resourceFilter.setTrashEmpty(false);
})
@@ -614,7 +614,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
osparc.store.Folders.getInstance().trashFolder(folderId, this.getCurrentWorkspaceId())
.then(() => {
this.__reloadFolders();
- const msg = this.tr("Successfully moved to Bin");
+ const msg = this.tr("Successfully deleted");
osparc.FlashMessenger.getInstance().logAs(msg, "INFO");
this._resourceFilter.setTrashEmpty(false);
})
@@ -626,11 +626,11 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
_trashFolderRequested: function(folderId) {
const trashDays = osparc.store.StaticInfo.getInstance().getTrashRetentionDays();
- let msg = this.tr("Are you sure you want to move the Folder and all its content to the Bin?");
+ let msg = this.tr("Are you sure you want to delete the Folder and all its content?");
msg += "
" + this.tr("It will be permanently deleted after ") + trashDays + " days.";
const confirmationWin = new osparc.ui.window.Confirmation(msg).set({
- caption: this.tr("Move to Bin"),
- confirmText: this.tr("Move to Bin"),
+ caption: this.tr("Delete"),
+ confirmText: this.tr("Delete"),
confirmAction: "warning",
});
confirmationWin.center();
@@ -1124,7 +1124,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
studiesTrashButton.set({
visibility: selection.length && currentContext === "studiesAndFolders" ? "visible" : "excluded",
- label: this.tr("Move to Bin") + (selection.length > 1 ? ` (${selection.length})` : ""),
+ label: this.tr("Delete") + (selection.length > 1 ? ` (${selection.length})` : ""),
});
studiesDeleteButton.set({
@@ -1388,7 +1388,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
},
__createTrashStudiesButton: function() {
- const trashButton = new qx.ui.form.Button(this.tr("Move to Bin"), "@FontAwesome5Solid/trash/14").set({
+ const trashButton = new qx.ui.form.Button(this.tr("Delete"), "@FontAwesome5Solid/trash/14").set({
appearance: "warning-button",
visibility: "excluded"
});
@@ -1648,11 +1648,13 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
const duplicateStudyButton = this.__getDuplicateMenuButton(studyData);
menu.add(duplicateStudyButton);
- const convertToPipelineButton = this.__getConvertToPipelineMenuButton(studyData);
- menu.add(convertToPipelineButton);
+ if (osparc.product.Utils.hasConvertToPipelineEnabled()) {
+ const convertToPipelineButton = this.__getConvertToPipelineMenuButton(studyData);
+ menu.add(convertToPipelineButton);
+ }
- if (osparc.product.Utils.isProduct("osparc")) {
- const exportStudyButton = this.__getExportMenuButton(studyData);
+ if (osparc.product.Utils.hasExportCMisEnabled()) {
+ const exportStudyButton = this.__getExportCMisMenuButton(studyData);
menu.add(exportStudyButton);
}
@@ -1886,7 +1888,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
.then(() => this._updateStudyData(studyData))
},
- __getExportMenuButton: function(studyData) {
+ __getExportCMisMenuButton: function(studyData) {
const exportButton = new qx.ui.menu.Button(this.tr("Export cMIS"), "@FontAwesome5Solid/cloud-download-alt/12");
exportButton["exportCMISButton"] = true;
const isDisabled = osparc.utils.DisabledPlugins.isExportDisabled();
@@ -1936,7 +1938,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
},
__getTrashStudyMenuButton: function(studyData) {
- const trashButton = new qx.ui.menu.Button(this.tr("Move to Bin"), "@FontAwesome5Solid/trash/12");
+ const trashButton = new qx.ui.menu.Button(this.tr("Delete"), "@FontAwesome5Solid/trash/12");
trashButton["trashButton"] = true;
trashButton.set({
appearance: "menu-button"
@@ -2137,7 +2139,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
osparc.store.Store.getInstance().trashStudy(studyData.uuid)
.then(() => {
this.__removeFromStudyList(studyData.uuid);
- const msg = this.tr("Successfully moved to Bin");
+ const msg = this.tr("Successfully deleted");
osparc.FlashMessenger.getInstance().logAs(msg, "INFO");
this._resourceFilter.setTrashEmpty(false);
})
@@ -2190,19 +2192,18 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
},
__createConfirmTrashWindow: function(studyNames) {
- let msg = this.tr("Are you sure you want to move");
+ let msg = this.tr("Are you sure you want to delete");
if (studyNames.length > 1) {
const studiesText = osparc.product.Utils.getStudyAlias({plural: true});
msg += ` ${studyNames.length} ${studiesText} `
} else {
msg += ` '${studyNames[0]}' `;
}
- msg += this.tr("to the Bin?");
const trashDays = osparc.store.StaticInfo.getInstance().getTrashRetentionDays();
msg += "
" + (studyNames.length > 1 ? "They" : "It") + this.tr(` will be permanently deleted after ${trashDays} days.`);
const confirmationWin = new osparc.ui.window.Confirmation(msg).set({
- caption: this.tr("Move to Bin"),
- confirmText: this.tr("Move to Bin"),
+ caption: this.tr("Delete"),
+ confirmText: this.tr("Delete"),
confirmAction: "warning",
});
osparc.utils.Utils.setIdToWidget(confirmationWin.getConfirmButton(), "confirmDeleteStudyBtn");
@@ -2234,7 +2235,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
},
__createConfirmEmptyTrashWindow: function() {
- const msg = this.tr("Items in the bin will be permanently deleted");
+ const msg = this.tr("All items will be permanently deleted");
const confirmationWin = new osparc.ui.window.Confirmation(msg).set({
caption: this.tr("Delete"),
confirmText: this.tr("Delete permanently"),
diff --git a/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowserHeader.js b/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowserHeader.js
index afe3d47bd954..fbd37b56ee73 100644
--- a/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowserHeader.js
+++ b/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowserHeader.js
@@ -193,7 +193,7 @@ qx.Class.define("osparc.dashboard.StudyBrowserHeader", {
break;
}
case "empty-trash-button": {
- control = new qx.ui.form.Button(this.tr("Empty Bin"), "@FontAwesome5Solid/trash/14").set({
+ control = new qx.ui.form.Button(this.tr("Delete all"), "@FontAwesome5Solid/trash/14").set({
appearance: "danger-button",
allowGrowY: false,
alignY: "middle",
@@ -276,10 +276,10 @@ qx.Class.define("osparc.dashboard.StudyBrowserHeader", {
break;
case "trash": {
this.__setIcon("@FontAwesome5Solid/trash/20");
- title.setValue(this.tr("Bin"));
+ title.setValue(this.tr("Recently Deleted"));
const trashDays = osparc.store.StaticInfo.getInstance().getTrashRetentionDays();
description.set({
- value: this.tr(`Items in the Bin will be permanently deleted after ${trashDays} days.`),
+ value: this.tr(`Items here will be permanently deleted after ${trashDays} days.`),
visibility: "visible",
});
break;
diff --git a/services/static-webserver/client/source/class/osparc/dashboard/WorkspaceButtonItem.js b/services/static-webserver/client/source/class/osparc/dashboard/WorkspaceButtonItem.js
index 11e5d2c90464..4f6f8e7059de 100644
--- a/services/static-webserver/client/source/class/osparc/dashboard/WorkspaceButtonItem.js
+++ b/services/static-webserver/client/source/class/osparc/dashboard/WorkspaceButtonItem.js
@@ -217,7 +217,7 @@ qx.Class.define("osparc.dashboard.WorkspaceButtonItem", {
menu.addSeparator();
- const trashButton = new qx.ui.menu.Button(this.tr("Move to Bin"), "@FontAwesome5Solid/trash/12");
+ const trashButton = new qx.ui.menu.Button(this.tr("Delete"), "@FontAwesome5Solid/trash/12");
trashButton.addListener("execute", () => this.__trashWorkspaceRequested(), this);
menu.add(trashButton);
} else if (studyBrowserContext === "trash") {
@@ -263,7 +263,7 @@ qx.Class.define("osparc.dashboard.WorkspaceButtonItem", {
const dateBy = this.getChildControl("date-by");
dateBy.set({
date: value,
- toolTipText: this.tr("Moved to the bin"),
+ toolTipText: this.tr("Deleted"),
});
}
},
@@ -300,11 +300,11 @@ qx.Class.define("osparc.dashboard.WorkspaceButtonItem", {
__trashWorkspaceRequested: function() {
const trashDays = osparc.store.StaticInfo.getInstance().getTrashRetentionDays();
- let msg = this.tr("Are you sure you want to move the Workspace and all its content to the Bin?");
+ let msg = this.tr("Are you sure you want to delete the Workspace and all its content?");
msg += "
" + this.tr("It will be permanently deleted after ") + trashDays + " days.";
const confirmationWin = new osparc.ui.window.Confirmation(msg).set({
- caption: this.tr("Move to Bin"),
- confirmText: this.tr("Move to Bin"),
+ caption: this.tr("Delete"),
+ confirmText: this.tr("Delete"),
confirmAction: "delete"
});
confirmationWin.center();
diff --git a/services/static-webserver/client/source/class/osparc/desktop/MainPage.js b/services/static-webserver/client/source/class/osparc/desktop/MainPage.js
index 7168c736ed35..729f91e70522 100644
--- a/services/static-webserver/client/source/class/osparc/desktop/MainPage.js
+++ b/services/static-webserver/client/source/class/osparc/desktop/MainPage.js
@@ -50,7 +50,7 @@ qx.Class.define("osparc.desktop.MainPage", {
const navBar = this.__navBar = new osparc.navigation.NavigationBar();
navBar.populateLayout();
navBar.addListener("backToDashboardPressed", () => this.__backToDashboardPressed(), this);
- navBar.addListener("downloadStudyLogs", () => this.__downloadStudyLogs(), this);
+ navBar.addListener("openLogger", () => this.__openLogger(), this);
this._add(navBar);
// Some resources request before building the main stack
@@ -171,9 +171,9 @@ qx.Class.define("osparc.desktop.MainPage", {
}
},
- __downloadStudyLogs: function() {
+ __openLogger: function() {
if (this.__studyEditor) {
- this.__studyEditor.getStudyLogger().downloadLogs();
+ osparc.ui.window.Window.popUpInWindow(this.__studyEditor.getStudyLogger(), this.tr("Platform logger"), 950, 650);
}
},
@@ -199,6 +199,11 @@ qx.Class.define("osparc.desktop.MainPage", {
__createDashboardLayout: function() {
const dashboard = this.__dashboard = new osparc.dashboard.Dashboard();
+ const tabsBar = dashboard.getChildControl("bar");
+ tabsBar.set({
+ paddingBottom: 6
+ });
+ this.__navBar.addDashboardTabButtons(tabsBar);
const dashboardLayout = new qx.ui.container.Composite(new qx.ui.layout.HBox(5));
dashboardLayout.add(dashboard, {
flex: 1
diff --git a/services/static-webserver/client/source/class/osparc/navigation/NavigationBar.js b/services/static-webserver/client/source/class/osparc/navigation/NavigationBar.js
index faeb6f21832c..f2b86429a680 100644
--- a/services/static-webserver/client/source/class/osparc/navigation/NavigationBar.js
+++ b/services/static-webserver/client/source/class/osparc/navigation/NavigationBar.js
@@ -57,7 +57,7 @@ qx.Class.define("osparc.navigation.NavigationBar", {
events: {
"backToDashboardPressed": "qx.event.type.Event",
- "downloadStudyLogs": "qx.event.type.Event"
+ "openLogger": "qx.event.type.Event"
},
properties: {
@@ -200,7 +200,7 @@ qx.Class.define("osparc.navigation.NavigationBar", {
break;
case "study-title-options":
control = new osparc.navigation.StudyTitleWOptions();
- control.addListener("downloadStudyLogs", () => this.fireEvent("downloadStudyLogs"));
+ control.addListener("openLogger", () => this.fireEvent("openLogger"));
this.getChildControl("left-items").add(control);
break;
case "read-only-info": {
@@ -324,6 +324,15 @@ qx.Class.define("osparc.navigation.NavigationBar", {
return registerButton;
},
+ addDashboardTabButtons: function(tabButtons) {
+ this.__tabButtons = tabButtons;
+ this.getChildControl("center-items").add(tabButtons);
+ this.bind("study", this.__tabButtons, "visibility", {
+ converter: s => s ? "excluded" : "visible"
+ });
+ this.__navBarResized();
+ },
+
__applyStudy: function(study) {
const readOnlyInfo = this.getChildControl("read-only-info")
if (study) {
diff --git a/services/static-webserver/client/source/class/osparc/navigation/StudyTitleWOptions.js b/services/static-webserver/client/source/class/osparc/navigation/StudyTitleWOptions.js
index 4147444812b4..d0485343de7d 100644
--- a/services/static-webserver/client/source/class/osparc/navigation/StudyTitleWOptions.js
+++ b/services/static-webserver/client/source/class/osparc/navigation/StudyTitleWOptions.js
@@ -31,7 +31,7 @@ qx.Class.define("osparc.navigation.StudyTitleWOptions", {
},
events: {
- "downloadStudyLogs": "qx.event.type.Event"
+ "openLogger": "qx.event.type.Event"
},
properties: {
@@ -93,12 +93,12 @@ qx.Class.define("osparc.navigation.StudyTitleWOptions", {
this.getStudy().getUi().setMode("standalone");
});
break;
- case "study-menu-download-logs":
+ case "study-menu-open-logger":
control = new qx.ui.menu.Button().set({
- label: this.tr("Download logs"),
+ label: this.tr("Platform Logs..."),
icon: "@FontAwesome5Solid/download/14"
});
- control.addListener("execute", () => this.fireEvent("downloadStudyLogs"));
+ control.addListener("execute", () => this.fireEvent("openLogger"));
break;
case "study-menu-button": {
const optionsMenu = new qx.ui.menu.Menu();
@@ -107,7 +107,7 @@ qx.Class.define("osparc.navigation.StudyTitleWOptions", {
optionsMenu.add(this.getChildControl("study-menu-reload"));
optionsMenu.add(this.getChildControl("study-menu-convert-to-pipeline"));
optionsMenu.add(this.getChildControl("study-menu-convert-to-standalone"));
- optionsMenu.add(this.getChildControl("study-menu-download-logs"));
+ optionsMenu.add(this.getChildControl("study-menu-open-logger"));
control = new qx.ui.form.MenuButton().set({
appearance: "fab-button",
menu: optionsMenu,
@@ -152,17 +152,22 @@ qx.Class.define("osparc.navigation.StudyTitleWOptions", {
});
const convertToPipelineButton = this.getChildControl("study-menu-convert-to-pipeline");
- study.getUi().bind("mode", convertToPipelineButton, "visibility", {
- converter: mode => mode === "standalone" ? "visible" : "excluded"
- });
-
const convertToStandaloneButton = this.getChildControl("study-menu-convert-to-standalone");
- const evaluateConvertToPipelineButton = () => {
- // exclude until we have the export to standalone backend functionality
+ if (osparc.product.Utils.hasConvertToPipelineEnabled()) {
+ study.getUi().bind("mode", convertToPipelineButton, "visibility", {
+ converter: mode => mode === "standalone" ? "visible" : "excluded"
+ });
+
+ const evaluateConvertToStandaloneButton = () => {
+ // exclude until we have the export to standalone backend functionality
+ convertToStandaloneButton.exclude();
+ };
+ study.getWorkbench().addListener("pipelineChanged", () => evaluateConvertToStandaloneButton());
+ study.getUi().addListener("changeMode", () => evaluateConvertToStandaloneButton());
+ } else {
+ convertToPipelineButton.exclude();
convertToStandaloneButton.exclude();
- };
- study.getWorkbench().addListener("pipelineChanged", () => evaluateConvertToPipelineButton());
- study.getUi().addListener("changeMode", () => evaluateConvertToPipelineButton());
+ }
} else {
this.exclude();
}
diff --git a/services/static-webserver/client/source/class/osparc/product/Utils.js b/services/static-webserver/client/source/class/osparc/product/Utils.js
index 99dd2b40c36a..03206b4ba711 100644
--- a/services/static-webserver/client/source/class/osparc/product/Utils.js
+++ b/services/static-webserver/client/source/class/osparc/product/Utils.js
@@ -188,6 +188,18 @@ qx.Class.define("osparc.product.Utils", {
return "REGISTER";
},
+ // oSPARC only
+ hasConvertToPipelineEnabled: function() {
+ const product = this.getProductName();
+ return product === "osparc";
+ },
+
+ // oSPARC only
+ hasExportCMisEnabled: function() {
+ const product = this.getProductName();
+ return product === "osparc";
+ },
+
// All products except oSPARC
hasIdlingTrackerEnabled: function() {
const product = this.getProductName();
diff --git a/services/static-webserver/client/source/class/osparc/widget/logger/LoggerView.js b/services/static-webserver/client/source/class/osparc/widget/logger/LoggerView.js
index c9a1795bf4a0..1658268f5630 100644
--- a/services/static-webserver/client/source/class/osparc/widget/logger/LoggerView.js
+++ b/services/static-webserver/client/source/class/osparc/widget/logger/LoggerView.js
@@ -126,6 +126,7 @@ qx.Class.define("osparc.widget.logger.LoggerView", {
switch (id) {
case "toolbar":
control = new qx.ui.toolbar.ToolBar();
+ control.setBackgroundColor("transparent");
this._add(control);
break;
case "pin-node": {
@@ -143,7 +144,9 @@ qx.Class.define("osparc.widget.logger.LoggerView", {
control = new qx.ui.form.TextField().set({
appearance: "toolbar-textfield",
liveUpdate: true,
- placeholder: this.tr("Filter")
+ placeholder: this.tr("Filter"),
+ marginLeft: 5,
+ marginRight: 5,
});
osparc.utils.Utils.setIdToWidget(control, "logsFilterField");
toolbar.add(control, {
@@ -221,7 +224,7 @@ qx.Class.define("osparc.widget.logger.LoggerView", {
toolTipText: this.tr("Download logs"),
appearance: "toolbar-button"
});
- osparc.utils.Utils.setIdToWidget(control, "downloadLogsButton");
+ osparc.utils.Utils.setIdToWidget(control, "__downloadLogsButton");
toolbar.add(control);
break;
}
@@ -256,7 +259,7 @@ qx.Class.define("osparc.widget.logger.LoggerView", {
toolbar.add(copySelectedToClipboardButton);
const downloadButton = this.getChildControl("download-logs-button");
- downloadButton.addListener("execute", () => this.downloadLogs(), this);
+ downloadButton.addListener("execute", () => this.__downloadLogs(), this);
toolbar.add(downloadButton);
return toolbar;
@@ -345,7 +348,7 @@ qx.Class.define("osparc.widget.logger.LoggerView", {
}
},
- downloadLogs: function() {
+ __downloadLogs: function() {
const logs = this.__getLogsString();
const blob = new Blob([logs], {type: "text/plain"});
osparc.utils.Utils.downloadBlobContent(blob, "logs.log");
diff --git a/services/static-webserver/client/source/resource/osparc/new_studies.json b/services/static-webserver/client/source/resource/osparc/new_studies.json
index 7770b61dce2e..cbb7799d3b7f 100644
--- a/services/static-webserver/client/source/resource/osparc/new_studies.json
+++ b/services/static-webserver/client/source/resource/osparc/new_studies.json
@@ -116,77 +116,33 @@
}]
},
"s4l": {
- "categories": [{
- "id": "apps",
- "title": "Apps"
- }, {
- "id": "osparc",
- "title": "oSPARC"
- }],
"resources": [{
- "category": "apps",
"resourceType": "service",
"expectedKey": "simcore/services/dynamic/s4l-ui",
"title": "Sim4Life",
"newStudyLabel": "New S4L project",
"idToWidget": "startS4LButton"
}, {
- "category": "apps",
- "resourceType": "service",
- "expectedKey": "simcore/services/dynamic/iseg-web",
- "title": "iSEG",
- "newStudyLabel": "New iSEG project"
- }, {
- "category": "apps",
"resourceType": "service",
"expectedKey": "simcore/services/dynamic/s4l-jupyter",
"title": "Jupyter Lab",
"icon": "https://upload.wikimedia.org/wikipedia/commons/3/38/Jupyter_logo.svg",
"newStudyLabel": "New S4L Jupyter Lab"
- }, {
- "category": "osparc",
- "resourceType": "study",
- "icon": "@FontAwesome5Solid/file/18",
- "title": "Empty Pipeline",
- "newStudyLabel": "New Pipeline",
- "idToWidget": "emptyStudyBtn"
}]
},
"s4lacad": {
- "categories": [{
- "id": "apps",
- "title": "Apps"
- }, {
- "id": "osparc",
- "title": "oSPARC"
- }],
"resources": [{
- "category": "apps",
"resourceType": "service",
"expectedKey": "simcore/services/dynamic/s4l-ui",
"title": "Sim4Life",
"newStudyLabel": "New S4L project",
"idToWidget": "startS4LButton"
}, {
- "category": "apps",
- "resourceType": "service",
- "expectedKey": "simcore/services/dynamic/iseg-web",
- "title": "iSEG",
- "newStudyLabel": "New iSEG project"
- }, {
- "category": "apps",
"resourceType": "service",
"expectedKey": "simcore/services/dynamic/s4l-jupyter",
"icon": "https://upload.wikimedia.org/wikipedia/commons/3/38/Jupyter_logo.svg",
"title": "Jupyter Lab",
"newStudyLabel": "New S4L Jupyter Lab"
- }, {
- "category": "osparc",
- "resourceType": "study",
- "icon": "@FontAwesome5Solid/file/18",
- "title": "Empty Pipeline",
- "newStudyLabel": "New Pipeline",
- "idToWidget": "emptyStudyBtn"
}]
},
"s4llite": {