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 782ea1c3d21..5996f308c0d 100644 --- a/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js +++ b/services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js @@ -676,11 +676,13 @@ qx.Class.define("osparc.dashboard.StudyBrowser", { this.setMultiSelection(false); }); - const store = osparc.store.Store.getInstance(); - store.addListener("changeTags", () => { + const tagsStore = osparc.store.Tags.getInstance(); + tagsStore.addListener("tagsChanged", () => { this.invalidateStudies(); this.__reloadStudies(); }, this); + + const store = osparc.store.Store.getInstance(); store.addListener("studyStateChanged", e => { const { studyId, diff --git a/services/static-webserver/client/source/class/osparc/form/tag/TagManager.js b/services/static-webserver/client/source/class/osparc/form/tag/TagManager.js index 04b6c06c393..10db2579bee 100644 --- a/services/static-webserver/client/source/class/osparc/form/tag/TagManager.js +++ b/services/static-webserver/client/source/class/osparc/form/tag/TagManager.js @@ -42,7 +42,7 @@ qx.Class.define("osparc.form.tag.TagManager", { if (!title) { title = qx.locale.Manager.tr("Apply Tags"); } - return osparc.ui.window.Window.popUpInWindow(tagManager, title, 280, null).set({ + return osparc.ui.window.Window.popUpInWindow(tagManager, title, 300, null).set({ allowMinimize: false, allowMaximize: false, showMinimize: false, diff --git a/services/static-webserver/client/source/class/osparc/info/StudyMedium.js b/services/static-webserver/client/source/class/osparc/info/StudyMedium.js index cb9eab2b432..b31cddd3958 100644 --- a/services/static-webserver/client/source/class/osparc/info/StudyMedium.js +++ b/services/static-webserver/client/source/class/osparc/info/StudyMedium.js @@ -119,6 +119,9 @@ qx.Class.define("osparc.info.StudyMedium", { }, { label: this.tr("ACCESS RIGHTS"), view: osparc.info.StudyUtils.createAccessRights(this.getStudy()) + }, { + label: this.tr("SHARED"), + view: osparc.info.StudyUtils.createShared(this.getStudy()) }, { label: this.tr("CREATED"), view: osparc.info.StudyUtils.createCreationDate(this.getStudy()) diff --git a/services/static-webserver/client/source/class/osparc/info/StudyUtils.js b/services/static-webserver/client/source/class/osparc/info/StudyUtils.js index 386a3958d18..6a809cd5c73 100644 --- a/services/static-webserver/client/source/class/osparc/info/StudyUtils.js +++ b/services/static-webserver/client/source/class/osparc/info/StudyUtils.js @@ -101,6 +101,20 @@ qx.Class.define("osparc.info.StudyUtils", { return accessRights; }, + /** + * @param study {osparc.data.model.Study} Study Model + */ + createShared: function(study) { + const isShared = new qx.ui.basic.Label(); + const populateLabel = () => { + const nCollabs = Object.keys(study.getAccessRights()).length; + isShared.setValue(nCollabs === 1 ? qx.locale.Manager.tr("Not Shared") : "+" + String(nCollabs-1)); + } + study.addListener("changeAccessRights", () => populateLabel()); + populateLabel(); + return isShared; + }, + /** * @param study {osparc.data.model.Study} Study Model */ diff --git a/services/static-webserver/client/source/class/osparc/store/Tags.js b/services/static-webserver/client/source/class/osparc/store/Tags.js index d672722f516..18513fb209d 100644 --- a/services/static-webserver/client/source/class/osparc/store/Tags.js +++ b/services/static-webserver/client/source/class/osparc/store/Tags.js @@ -119,7 +119,7 @@ qx.Class.define("osparc.store.Tags", { .then(accessRightsArray => { const accessRights = {}; accessRightsArray.forEach(ar => accessRights[ar.gid] = ar); - tag.setAccessRights(accessRights) + tag.setAccessRights(accessRights); }) .catch(err => console.error(err)); }, diff --git a/services/static-webserver/client/source/class/osparc/utils/Utils.js b/services/static-webserver/client/source/class/osparc/utils/Utils.js index 9d70b38a3a8..a1fa80f0b36 100644 --- a/services/static-webserver/client/source/class/osparc/utils/Utils.js +++ b/services/static-webserver/client/source/class/osparc/utils/Utils.js @@ -95,6 +95,7 @@ qx.Class.define("osparc.utils.Utils", { if (control && control.getContentElement()) { control.getContentElement().setAttribute("autocomplete", "off"); control.getContentElement().setAttribute("type", "search"); + control.getContentElement().setAttribute("name", "osparc-nope1234"); } },