Skip to content

Commit 86246a6

Browse files
committed
Convert Discourse.Site and Discourse.ScreenTrack to use Discourse.Singleton
1 parent 51f5cf7 commit 86246a6

22 files changed

Lines changed: 42 additions & 48 deletions

app/assets/javascripts/admin/models/admin_user.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Discourse.AdminUser = Discourse.User.extend({
6767
},
6868

6969
trustLevels: function() {
70-
return Discourse.Site.instance().get('trustLevels');
70+
return Discourse.Site.currentProp('trustLevels');
7171
}.property(),
7272

7373
dirty: Discourse.computed.propertyNotEqual('originalTrustLevel', 'trustLevel.id'),

app/assets/javascripts/discourse.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ Discourse = Ember.Application.createWithMixins(Discourse.Ajax, {
198198
}), user.notification_channel_position);
199199

200200
bus.subscribe("/categories", function(data){
201-
var site = Discourse.Site.instance();
201+
var site = Discourse.Site.current();
202202
_.each(data.categories,function(c){
203203
site.updateCategory(c);
204204
});

app/assets/javascripts/discourse/components/screen_track.js

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -165,23 +165,13 @@ Discourse.ScreenTrack = Ember.Object.extend({
165165
});
166166

167167

168-
Discourse.ScreenTrack.reopenClass({
168+
Discourse.ScreenTrack.reopenClass(Discourse.Singleton, {
169169

170170
// Don't send events if we haven't scrolled in a long time
171171
PAUSE_UNLESS_SCROLLED: 1000 * 60 * 3,
172172

173173
// After 6 minutes stop tracking read position on post
174-
MAX_TRACKING_TIME: 1000 * 60 * 6,
175-
176-
177-
/**
178-
Returns a Screen Tracking singleton
179-
**/
180-
instance: function() {
181-
if (this.screenTrack) { return this.screenTrack; }
182-
this.screenTrack = Discourse.ScreenTrack.create();
183-
return this.screenTrack;
184-
}
174+
MAX_TRACKING_TIME: 1000 * 60 * 6
185175

186176
});
187177

app/assets/javascripts/discourse/controllers/login_controller.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Discourse.LoginController = Discourse.Controller.extend(Discourse.ModalFunctiona
1313
loggingIn: false,
1414

1515
site: function() {
16-
return Discourse.Site.instance();
16+
return Discourse.Site.current();
1717
}.property(),
1818

1919
/**

app/assets/javascripts/discourse/controllers/topic_controller.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ Discourse.TopicController = Discourse.ObjectController.extend(Discourse.Selected
222222
},
223223

224224
resetRead: function() {
225-
Discourse.ScreenTrack.instance().reset();
225+
Discourse.ScreenTrack.current().reset();
226226
this.unsubscribe();
227227

228228
var topicController = this;

app/assets/javascripts/discourse/models/archetype.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Discourse.Archetype = Discourse.Model.extend({
1111
hasOptions: Em.computed.gt('options.length', 0),
1212

1313
site: function() {
14-
return Discourse.Site.instance();
14+
return Discourse.Site.current();
1515
}.property(),
1616

1717
isDefault: Discourse.computed.propertyEqual('id', 'site.default_archetype'),

app/assets/javascripts/discourse/models/category.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ Discourse.Category.reopenClass({
125125
},
126126

127127
list: function() {
128-
return Discourse.Site.instance().get('categories');
128+
return Discourse.Site.currentProp('categories');
129129
},
130130

131131
findBySlugOrId: function(slugOrId) {

app/assets/javascripts/discourse/models/composer.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ var CLOSED = 'closed',
2222
Discourse.Composer = Discourse.Model.extend({
2323

2424
archetypes: function() {
25-
return Discourse.Site.instance().get('archetypes');
25+
return Discourse.Site.currentProp('archetypes');
2626
}.property(),
2727

2828
creatingTopic: Em.computed.equal('action', CREATE_TOPIC),
@@ -254,7 +254,7 @@ Discourse.Composer = Discourse.Model.extend({
254254
this._super();
255255
var val = Discourse.KeyValueStore.get('composer.showPreview') || 'true';
256256
this.set('showPreview', val === 'true');
257-
this.set('archetypeId', Discourse.Site.instance().get('default_archetype'));
257+
this.set('archetypeId', Discourse.Site.currentProp('default_archetype'));
258258
},
259259

260260
/**
@@ -329,7 +329,7 @@ Discourse.Composer = Discourse.Model.extend({
329329

330330
this.setProperties({
331331
categoryName: opts.categoryName || this.get('topic.category.name'),
332-
archetypeId: opts.archetypeId || Discourse.Site.instance().get('default_archetype'),
332+
archetypeId: opts.archetypeId || Discourse.Site.currentProp('default_archetype'),
333333
metaData: opts.metaData ? Em.Object.create(opts.metaData) : null,
334334
reply: opts.reply || this.get("reply") || ""
335335
});
@@ -453,7 +453,7 @@ Discourse.Composer = Discourse.Model.extend({
453453
user_id: currentUser.get('id'),
454454
metaData: this.get('metaData'),
455455
archetype: this.get('archetypeId'),
456-
post_type: Discourse.Site.instance().get('post_types.regular'),
456+
post_type: Discourse.Site.currentProp('post_types.regular'),
457457
target_usernames: this.get('targetUsernames'),
458458
actions_summary: Em.A(),
459459
moderator: currentUser.get('moderator'),

app/assets/javascripts/discourse/models/nav_item.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Discourse.NavItem = Discourse.Model.extend({
2323
categorySlug: function() {
2424
var split = this.get('name').split('/');
2525
if (split[0] === 'category' && split[1]) {
26-
var cat = Discourse.Site.instance().categories.findProperty('name', split[1]);
26+
var cat = Discourse.Site.current().categories.findProperty('name', split[1]);
2727
return cat ? Discourse.Category.slugFor(cat) : null;
2828
}
2929
return null;

app/assets/javascripts/discourse/models/notification.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Discourse.Notification = Discourse.Model.extend({
1919
}.property(),
2020

2121
rendered: function() {
22-
var notificationName = Discourse.Site.instance().get('notificationLookup')[this.notification_type];
22+
var notificationName = Discourse.Site.currentProp('notificationLookup')[this.notification_type];
2323
return I18n.t("notifications." + notificationName, {
2424
username: this.data.display_username,
2525
link: "<a href='" + (this.get('url')) + "'>" + this.data.topic_title + "</a>"

0 commit comments

Comments
 (0)