mirror of
https://github.com/codeninjasllc/discourse.git
synced 2025-05-01 08:25:18 -04:00
Clean up user activity code in preparation for topic rendering
This commit is contained in:
parent
c9c6a8fd9d
commit
82465caf97
3 changed files with 20 additions and 64 deletions
app/assets/javascripts/discourse
controllers
templates/user
views/user
|
@ -33,7 +33,6 @@ Discourse.UserActivityRoute = Discourse.Route.extend({
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -45,8 +44,13 @@ Discourse.UserActivityRoute = Discourse.Route.extend({
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
Discourse.UserActivityIndexRoute = Discourse.Route.extend({
|
Discourse.UserActivityIndexRoute = Discourse.Route.extend({
|
||||||
|
privateMessageRoute: function() {
|
||||||
|
return (this.get('userActionType') === Discourse.UserAction.TYPES.messages_sent) ||
|
||||||
|
(this.get('userActionType') === Discourse.UserAction.TYPES.messages_received);
|
||||||
|
}.property('userActionType'),
|
||||||
|
|
||||||
model: function() {
|
model: function() {
|
||||||
return this.modelFor('user').findStream();
|
return this.modelFor('user').findStream(this.get('userActionType'));
|
||||||
},
|
},
|
||||||
|
|
||||||
setupController: function(controller, model) {
|
setupController: function(controller, model) {
|
||||||
|
@ -61,12 +65,15 @@ Discourse.UserActivityIndexRoute = Discourse.Route.extend({
|
||||||
// Build all the filter routes
|
// Build all the filter routes
|
||||||
Object.keys(Discourse.UserAction.TYPES).forEach(function (userAction) {
|
Object.keys(Discourse.UserAction.TYPES).forEach(function (userAction) {
|
||||||
Discourse["UserActivity" + userAction.classify() + "Route"] = Discourse.UserActivityIndexRoute.extend({
|
Discourse["UserActivity" + userAction.classify() + "Route"] = Discourse.UserActivityIndexRoute.extend({
|
||||||
model: function() {
|
userActionType: Discourse.UserAction.TYPES[userAction]
|
||||||
return this.modelFor('user').findStream(Discourse.UserAction.TYPES[userAction]);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Build the private message routes
|
||||||
|
Discourse.UserPrivateMessagesRoute = Discourse.UserActivityRoute.extend({});
|
||||||
|
Discourse.UserPrivateMessagesIndexRoute = Discourse.UserActivityMessagesReceivedRoute;
|
||||||
|
Discourse.UserPrivateMessagesSentRoute = Discourse.UserActivityMessagesSentRoute;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Show the user's default route
|
Show the user's default route
|
||||||
|
@ -82,62 +89,15 @@ Discourse.UserIndexRoute = Discourse.Route.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
model: function() {
|
model: function() {
|
||||||
var user = this.modelFor('user');
|
return this.modelFor('user').findStream();
|
||||||
return user.findStream();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
setupController: function(controller, stream) {
|
setupController: function(controller, stream) {
|
||||||
var userActivity = this.controllerFor('userActivity');
|
var userActivity = this.controllerFor('userActivity');
|
||||||
userActivity.setProperties({
|
userActivity.setProperties({ model: this.modelFor('user'), stream: stream });
|
||||||
model: this.modelFor('user'),
|
|
||||||
stream: stream
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
|
||||||
Base route for showing private messages
|
|
||||||
|
|
||||||
@class UserPrivateMessagesRoute
|
|
||||||
@extends Discourse.UserActivityRoute
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
Discourse.UserPrivateMessagesRoute = Discourse.UserActivityRoute.extend({});
|
|
||||||
|
|
||||||
/**
|
|
||||||
Default private messages route
|
|
||||||
|
|
||||||
@class UserPrivateMessagesIndexRoute
|
|
||||||
@extends Discourse.UserActivityIndexRoute
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
Discourse.UserPrivateMessagesIndexRoute = Discourse.UserActivityIndexRoute.extend({
|
|
||||||
privateMessageRoute: true,
|
|
||||||
|
|
||||||
model: function() {
|
|
||||||
return this.modelFor('user').findStream(Discourse.UserAction.TYPES.messages_received);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
Private messages sent route
|
|
||||||
|
|
||||||
@class UserPrivateMessagesSentRoute
|
|
||||||
@extends Discourse.UserActivityIndexRoute
|
|
||||||
@namespace Discourse
|
|
||||||
@module Discourse
|
|
||||||
**/
|
|
||||||
Discourse.UserPrivateMessagesSentRoute = Discourse.UserActivityIndexRoute.extend({
|
|
||||||
privateMessageRoute: true,
|
|
||||||
|
|
||||||
model: function() {
|
|
||||||
return this.modelFor('user').findStream(Discourse.UserAction.TYPES.messages_sent);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This controller supports all actions on a user's activity stream
|
This controller supports all actions on a user's activity stream
|
||||||
|
|
||||||
|
@ -149,12 +109,6 @@ Discourse.UserPrivateMessagesSentRoute = Discourse.UserActivityIndexRoute.extend
|
||||||
Discourse.UserActivityController = Discourse.ObjectController.extend({
|
Discourse.UserActivityController = Discourse.ObjectController.extend({
|
||||||
needs: ['composer'],
|
needs: ['composer'],
|
||||||
|
|
||||||
kickOffPrivateMessage: (function() {
|
|
||||||
if (this.get('content.openPrivateMessage')) {
|
|
||||||
this.composePrivateMessage();
|
|
||||||
}
|
|
||||||
}).observes('content.openPrivateMessage'),
|
|
||||||
|
|
||||||
composePrivateMessage: function() {
|
composePrivateMessage: function() {
|
||||||
return this.get('controllers.composer').open({
|
return this.get('controllers.composer').open({
|
||||||
action: Discourse.Composer.PRIVATE_MESSAGE,
|
action: Discourse.Composer.PRIVATE_MESSAGE,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{{#each view.stream.content}}
|
{{#with view.content}}
|
||||||
<div {{bindAttr class=":item hidden deleted moderator_action"}}>
|
<div {{bindAttr class=":item hidden deleted moderator_action"}}>
|
||||||
<div class='clearfix info'>
|
<div class='clearfix info'>
|
||||||
<a href="{{unbound userUrl}}" class='avatar-link'><div class='avatar-wrapper'>{{avatar this imageSize="large" extraClasses="actor" ignoreTitle="true"}}</div></a>
|
<a href="{{unbound userUrl}}" class='avatar-link'><div class='avatar-wrapper'>{{avatar this imageSize="large" extraClasses="actor" ignoreTitle="true"}}</div></a>
|
||||||
|
@ -20,5 +20,5 @@
|
||||||
</div>
|
</div>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
{{/each}}
|
{{/with}}
|
||||||
|
|
|
@ -7,10 +7,11 @@
|
||||||
@uses Discourse.Scrolling
|
@uses Discourse.Scrolling
|
||||||
@module Discourse
|
@module Discourse
|
||||||
**/
|
**/
|
||||||
Discourse.UserStreamView = Discourse.View.extend(Discourse.Scrolling, {
|
Discourse.UserStreamView = Ember.CollectionView.extend(Discourse.Scrolling, {
|
||||||
templateName: 'user/stream',
|
|
||||||
loading: false,
|
loading: false,
|
||||||
elementId: 'user-stream',
|
elementId: 'user-stream',
|
||||||
|
content: Em.computed.alias('controller.stream.content'),
|
||||||
|
itemViewClass: Ember.View.extend({ templateName: 'user/stream_item' }),
|
||||||
|
|
||||||
scrolled: function(e) {
|
scrolled: function(e) {
|
||||||
var eyeline = this.get('eyeline');
|
var eyeline = this.get('eyeline');
|
||||||
|
@ -33,6 +34,7 @@ Discourse.UserStreamView = Discourse.View.extend(Discourse.Scrolling, {
|
||||||
},
|
},
|
||||||
|
|
||||||
didInsertElement: function() {
|
didInsertElement: function() {
|
||||||
|
console.log(this.get('content'));
|
||||||
this.bindScrolling();
|
this.bindScrolling();
|
||||||
|
|
||||||
var eyeline = new Discourse.Eyeline('#user-stream .item');
|
var eyeline = new Discourse.Eyeline('#user-stream .item');
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue