Skip to content

Commit 6c40c8a

Browse files
committed
refactor
1 parent 7e1ccbd commit 6c40c8a

File tree

2 files changed

+26
-33
lines changed

2 files changed

+26
-33
lines changed

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

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,9 @@ qx.Class.define("osparc.announcement.AnnouncementUIFactory", {
6363
}
6464

6565
return loginAnnouncement;
66-
}
67-
},
68-
69-
members: {
70-
__ribbonAnnouncement: null,
66+
},
7167

72-
__isValid: function(widgetType) {
73-
const announcement = this.getAnnouncement();
68+
isValid: function(announcement, widgetType) {
7469
if (announcement) {
7570
const now = new Date();
7671
const validPeriod = now > announcement.getStart() && now < announcement.getEnd();
@@ -80,6 +75,19 @@ qx.Class.define("osparc.announcement.AnnouncementUIFactory", {
8075
}
8176
return false;
8277
},
78+
},
79+
80+
members: {
81+
__announcements: null,
82+
__ribbonAnnouncement: null,
83+
84+
setAnnouncementsData: function(announcementsData) {
85+
this.__announcements = [];
86+
announcementsData.forEach(announcementData => {
87+
const announcement = new osparc.announcement.Announcement(announcementData);
88+
this.__announcements.push(announcement);
89+
});
90+
},
8391

8492
__applyAnnouncement: function() {
8593
if (this.__ribbonAnnouncement) {
@@ -92,15 +100,18 @@ qx.Class.define("osparc.announcement.AnnouncementUIFactory", {
92100
},
93101

94102
hasLoginAnnouncement: function() {
95-
return this.__isValid("login");
103+
const announcement = this.getAnnouncement();
104+
return this.self().isValid(announcement, "login");
96105
},
97106

98107
__hasRibbonAnnouncement: function() {
99-
return this.__isValid("ribbon");
108+
const announcement = this.getAnnouncement();
109+
return this.self().isValid(announcement, "ribbon");
100110
},
101111

102112
hasUserMenuAnnouncement: function() {
103-
return this.__isValid("user-menu") && this.getAnnouncement().getLink();
113+
const announcement = this.getAnnouncement();
114+
return this.self().isValid(announcement, "user-menu") && announcement.getLink();
104115
},
105116

106117
createLoginAnnouncement: function() {

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

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,13 @@ qx.Class.define("osparc.announcement.Tracker", {
2525

2626
members: {
2727
__checkInterval: null,
28-
__announcements: null,
2928

3029
checkAnnouncements: async function() {
31-
return new Promise(resolve => {
32-
osparc.data.Resources.get("announcements")
33-
.then(announcements => {
34-
if (announcements && announcements.length) {
35-
this.__setAnnouncements(announcements);
36-
} else {
37-
this.__setAnnouncements(null);
38-
}
39-
resolve();
40-
})
41-
.catch(err => console.error(err));
42-
});
30+
osparc.data.Resources.get("announcements")
31+
.then(announcements => {
32+
osparc.announcement.AnnouncementUIFactory.getInstance().setAnnouncements((announcements && announcements.length) ? announcements : []);
33+
})
34+
.catch(err => console.error(err));
4335
},
4436

4537
startTracker: function() {
@@ -52,15 +44,5 @@ qx.Class.define("osparc.announcement.Tracker", {
5244
clearInterval(this.__checkInterval);
5345
}
5446
},
55-
56-
__setAnnouncements: function(announcementsData) {
57-
this.__announcements = {};
58-
if (announcementsData) {
59-
announcementsData.forEach(announcementData => {
60-
const announcement = new osparc.announcement.Announcement(announcementData);
61-
osparc.announcement.AnnouncementUIFactory.getInstance().setAnnouncement(announcement);
62-
});
63-
}
64-
}
6547
}
6648
});

0 commit comments

Comments
 (0)