diff --git a/services/static-webserver/client/source/class/osparc/dashboard/CardBase.js b/services/static-webserver/client/source/class/osparc/dashboard/CardBase.js index 2be758253a0..3f5356f0073 100644 --- a/services/static-webserver/client/source/class/osparc/dashboard/CardBase.js +++ b/services/static-webserver/client/source/class/osparc/dashboard/CardBase.js @@ -920,7 +920,6 @@ qx.Class.define("osparc.dashboard.CardBase", { }); control.addListener("tap", e => { e.stopPropagation(); - this.setValue(false); this.fireDataEvent("emptyStudyClicked", this.getUuid()); }, this); return control; diff --git a/services/static-webserver/client/source/class/osparc/form/tag/TagItem.js b/services/static-webserver/client/source/class/osparc/form/tag/TagItem.js index c1a458426c7..78ad6306865 100644 --- a/services/static-webserver/client/source/class/osparc/form/tag/TagItem.js +++ b/services/static-webserver/client/source/class/osparc/form/tag/TagItem.js @@ -14,6 +14,9 @@ qx.Class.define("osparc.form.tag.TagItem", { construct: function() { this.base(arguments); this._setLayout(new qx.ui.layout.HBox(5)); + this.set({ + alignY: "middle", + }); this.__validationManager = new qx.ui.form.validation.Manager(); }, @@ -94,7 +97,9 @@ qx.Class.define("osparc.form.tag.TagItem", { let control; switch (id) { case "tag": - control = new osparc.ui.basic.Tag(); + control = new osparc.ui.basic.Tag().set({ + alignY: "middle", + }); this.bind("name", control, "value"); this.bind("color", control, "color"); break; @@ -102,6 +107,7 @@ qx.Class.define("osparc.form.tag.TagItem", { control = new qx.ui.basic.Label().set({ rich: true, allowGrowX: true, + alignY: "middle", }); this.bind("description", control, "value"); break; @@ -109,10 +115,8 @@ qx.Class.define("osparc.form.tag.TagItem", { control = new qx.ui.basic.Image().set({ minWidth: 30, alignY: "middle", - cursor: "pointer", }); - osparc.dashboard.CardBase.populateShareIcon(control, this.getAccessRights()) - control.addListener("tap", () => this.__openAccessRights(), this); + osparc.dashboard.CardBase.populateShareIcon(control, this.getAccessRights()); break; case "name-input": control = new qx.ui.form.TextField().set({ @@ -202,7 +206,6 @@ qx.Class.define("osparc.form.tag.TagItem", { this._add(this.getChildControl("description"), { flex: 1 }); - this._add(this.getChildControl("shared-icon")); this._add(this.__tagItemButtons()); this.resetBackgroundColor(); }, @@ -227,22 +230,32 @@ qx.Class.define("osparc.form.tag.TagItem", { __tagItemButtons: function() { const canIWrite = osparc.share.CollaboratorsTag.canIWrite(this.getMyAccessRights()); const canIDelete = osparc.share.CollaboratorsTag.canIDelete(this.getMyAccessRights()); + const buttonContainer = new qx.ui.container.Composite(new qx.ui.layout.HBox(5)); + + const sharedIcon = this.getChildControl("shared-icon"); + sharedIcon.set({ + cursor: canIWrite ? "pointer" : null, + }); + if (canIWrite) { + sharedIcon.addListener("tap", () => this.__openAccessRights(), this); + } + buttonContainer.add(sharedIcon); - const buttonContainer = new qx.ui.container.Composite(new qx.ui.layout.HBox()); const editButton = new qx.ui.form.Button().set({ icon: "@FontAwesome5Solid/pencil-alt/12", toolTipText: this.tr("Edit"), enabled: canIWrite, }); + buttonContainer.add(editButton); + editButton.addListener("execute", () => this.setMode(this.self().modes.EDIT), this); + const deleteButton = new osparc.ui.form.FetchButton().set({ appearance: "danger-button", icon: "@FontAwesome5Solid/trash/12", toolTipText: this.tr("Delete"), enabled: canIDelete, }); - buttonContainer.add(editButton); buttonContainer.add(deleteButton); - editButton.addListener("execute", () => this.setMode(this.self().modes.EDIT), this); deleteButton.addListener("execute", () => { deleteButton.setFetching(true); osparc.store.Tags.getInstance().deleteTag(this.getId()) @@ -250,6 +263,7 @@ qx.Class.define("osparc.form.tag.TagItem", { .catch(console.error) .finally(() => deleteButton.setFetching(false)); }, this); + return buttonContainer; }, /** diff --git a/services/static-webserver/client/source/class/osparc/share/AddCollaborators.js b/services/static-webserver/client/source/class/osparc/share/AddCollaborators.js index 788650a1af3..f59327843c8 100644 --- a/services/static-webserver/client/source/class/osparc/share/AddCollaborators.js +++ b/services/static-webserver/client/source/class/osparc/share/AddCollaborators.js @@ -51,6 +51,10 @@ qx.Class.define("osparc.share.AddCollaborators", { _createChildControlImpl: function(id) { let control; switch (id) { + case "intro-text": + control = new qx.ui.basic.Label(); + this._addAt(control, 0); + break; case "buttons-layout": control = new qx.ui.container.Composite(new qx.ui.layout.HBox()); this._add(control); diff --git a/services/static-webserver/client/source/class/osparc/share/NewCollaboratorsManager.js b/services/static-webserver/client/source/class/osparc/share/NewCollaboratorsManager.js index ee149c77422..412fef60293 100644 --- a/services/static-webserver/client/source/class/osparc/share/NewCollaboratorsManager.js +++ b/services/static-webserver/client/source/class/osparc/share/NewCollaboratorsManager.js @@ -55,8 +55,12 @@ qx.Class.define("osparc.share.NewCollaboratorsManager", { }, __renderLayout: function() { + let text = this.__showOrganizations ? + this.tr("Select users or organizations from the list below.") : + this.tr("Select users from the list below."); + text += this.tr("
Search them if they aren't listed."); const introLabel = new qx.ui.basic.Label().set({ - value: this.tr("Select users or organizations from the list bellow. Search them if they aren't listed."), + value: text, rich: true, wrap: true, paddingBottom: 5