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": {