Skip to content

Commit d7dda43

Browse files
committed
setAnnouncementsData
1 parent 1d1ff1d commit d7dda43

File tree

3 files changed

+16
-13
lines changed

3 files changed

+16
-13
lines changed

services/static-webserver/client/source/class/osparc/announcement/AnnouncementUIFactory.js

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -100,24 +100,27 @@ qx.Class.define("osparc.announcement.AnnouncementUIFactory", {
100100
},
101101

102102
hasLoginAnnouncement: function() {
103-
const announcement = this.getAnnouncement();
104-
return this.self().isValid(announcement, "login");
103+
return this.__announcements && this.__announcements.some(announcement => this.self().isValid(announcement, "login"));
105104
},
106105

107106
__hasRibbonAnnouncement: function() {
108-
const announcement = this.getAnnouncement();
109-
return this.self().isValid(announcement, "ribbon");
107+
return this.__announcements && this.__announcements.some(announcement => this.self().isValid(announcement, "ribbon"));
110108
},
111109

112110
hasUserMenuAnnouncement: function() {
113-
const announcement = this.getAnnouncement();
114-
return this.self().isValid(announcement, "user-menu") && announcement.getLink();
111+
return this.__announcements && this.__announcements.some(announcement => this.self().isValid(announcement, "ribbon") && announcement.getLink());
115112
},
116113

117-
createLoginAnnouncement: function() {
118-
const announcement = this.getAnnouncement();
119-
const loginAnnouncement = this.self().createLoginAnnouncement(announcement.getTitle(), announcement.getDescription());
120-
return loginAnnouncement;
114+
createLoginAnnouncements: function() {
115+
const loginAnnouncements = [];
116+
this.__announcements.forEach(announcement => {
117+
if (this.self().isValid(announcement, "login")) {
118+
loginAnnouncements.push(this.self().createLoginAnnouncement(announcement.getTitle(), announcement.getDescription()));
119+
}
120+
});
121+
const layout = new qx.ui.container.Composite(new qx.ui.layout.VBox(10));
122+
loginAnnouncements.forEach(loginAnnouncement => layout.add(loginAnnouncement));
123+
return layout;
121124
},
122125

123126
__addRibbonAnnouncement: function() {

services/static-webserver/client/source/class/osparc/announcement/Tracker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ qx.Class.define("osparc.announcement.Tracker", {
2929
checkAnnouncements: async function() {
3030
osparc.data.Resources.get("announcements")
3131
.then(announcements => {
32-
osparc.announcement.AnnouncementUIFactory.getInstance().setAnnouncements((announcements && announcements.length) ? announcements : []);
32+
osparc.announcement.AnnouncementUIFactory.getInstance().setAnnouncementsData((announcements && announcements.length) ? announcements : []);
3333
})
3434
.catch(err => console.error(err));
3535
},

services/static-webserver/client/source/class/osparc/auth/ui/LoginView.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ qx.Class.define("osparc.auth.ui.LoginView", {
4242
_buildPage: function() {
4343
const announcementUIFactory = osparc.announcement.AnnouncementUIFactory.getInstance();
4444
if (announcementUIFactory.hasLoginAnnouncement()) {
45-
this.addAt(announcementUIFactory.createLoginAnnouncement(), 0);
45+
this.addAt(announcementUIFactory.createLoginAnnouncements(), 0);
4646
} else {
4747
announcementUIFactory.addListenerOnce("changeAnnouncement", e => {
4848
if (announcementUIFactory.hasLoginAnnouncement()) {
49-
this.addAt(announcementUIFactory.createLoginAnnouncement(), 0);
49+
this.addAt(announcementUIFactory.createLoginAnnouncements(), 0);
5050
}
5151
});
5252
}

0 commit comments

Comments
 (0)