1
0
mirror of https://github.com/flarum/core.git synced 2025-07-30 21:20:24 +02:00

Fix JSHint errors

This commit is contained in:
Toby Zerner
2015-01-21 14:29:00 +10:30
parent bc91f61f17
commit df7da9338d
28 changed files with 108 additions and 94 deletions

View File

@@ -2,7 +2,8 @@
"predef": [ "predef": [
"document", "document",
"window", "window",
"-Promise" "-Promise",
"moment"
], ],
"browser": true, "browser": true,
"boss": true, "boss": true,

View File

@@ -2,7 +2,6 @@ import Ember from 'ember';
import TaggedArray from '../../utils/tagged-array'; import TaggedArray from '../../utils/tagged-array';
import ActionButton from '../ui/controls/action-button'; import ActionButton from '../ui/controls/action-button';
import SeparatorItem from '../ui/items/separator-item';
export default Ember.Component.extend({ export default Ember.Component.extend({
@@ -23,11 +22,11 @@ export default Ember.Component.extend({
}.property('childViews.@each.active'), }.property('childViews.@each.active'),
displayUnread: function() { displayUnread: function() {
return this.get('countType') == 'unread' && this.get('discussion.isUnread'); return this.get('countType') === 'unread' && this.get('discussion.isUnread');
}.property('countType', 'discussion.isUnread'), }.property('countType', 'discussion.isUnread'),
displayLastPost: function() { displayLastPost: function() {
return this.get('terminalPostType') == 'last' && this.get('discussion.repliesCount'); return this.get('terminalPostType') === 'last' && this.get('discussion.repliesCount');
}.property('terminalPostType', 'discussion.repliesCount'), }.property('terminalPostType', 'discussion.repliesCount'),
start: function() { start: function() {
@@ -37,11 +36,13 @@ export default Ember.Component.extend({
discussionId: Ember.computed.alias('discussion.id'), discussionId: Ember.computed.alias('discussion.id'),
relevantPosts: function() { relevantPosts: function() {
if (this.get('controller.show') != 'posts') return []; if (this.get('controller.show') !== 'posts') {
return [];
}
if (this.get('controller.searchQuery')) { if (this.get('controller.searchQuery')) {
return this.get('discussion.relevantPosts'); return this.get('discussion.relevantPosts');
} else if (this.get('controller.sort') == 'newest' || this.get('controller.sort') == 'oldest') { } else if (this.get('controller.sort') === 'newest' || this.get('controller.sort') === 'oldest') {
return [this.get('discussion.startPost')]; return [this.get('discussion.startPost')];
} else { } else {
return [this.get('discussion.lastPost')]; return [this.get('discussion.lastPost')];

View File

@@ -1,7 +1,7 @@
import Ember from 'ember'; import Ember from 'ember';
import TaggedArray from '../../utils/tagged-array'; // import TaggedArray from '../../utils/tagged-array';
import ActionButton from '../ui/controls/action-button'; // import ActionButton from '../ui/controls/action-button';
export default Ember.Component.extend({ export default Ember.Component.extend({
tagName: 'article', tagName: 'article',
@@ -45,18 +45,18 @@ export default Ember.Component.extend({
}, 100); }, 100);
}, },
addControl: function(tag, title, icon, permissionAttribute) { // addControl: function(tag, title, icon, permissionAttribute) {
if (permissionAttribute && ! this.get('post').get(permissionAttribute)) { // if (permissionAttribute && ! this.get('post').get(permissionAttribute)) {
return; // return;
} // }
var self = this; // var self = this;
var action = function(post) { // var action = function(post) {
self.get('controller').send(actionName, post); // self.get('controller').send(actionName, post);
}; // };
var item = MenuItem.extend({title: title, icon: icon, action: action}); // var item = MenuItem.extend({title: title, icon: icon, action: action});
this.get('controls').addItem(tag, item); // this.get('controls').addItem(tag, item);
} // }
}); });

View File

@@ -1,5 +1,7 @@
import Ember from 'ember'; import Ember from 'ember';
var $ = Ember.$;
export default Ember.Component.extend({ export default Ember.Component.extend({
classNames: ['stream'], classNames: ['stream'],
@@ -177,7 +179,7 @@ export default Ember.Component.extend({
if ($item.length) { if ($item.length) {
var marginTop = this.getMarginTop(); var marginTop = this.getMarginTop();
var scrollTop = $item.is(':first-child') ? 0 : $item.offset().top - marginTop; var scrollTop = $item.is(':first-child') ? 0 : $item.offset().top - marginTop;
if (scrollTop != $(document).scrollTop()) { if (scrollTop !== $(document).scrollTop()) {
$container.stop(true).animate({scrollTop: scrollTop}); $container.stop(true).animate({scrollTop: scrollTop});
} }
} }

View File

@@ -1,5 +1,7 @@
import Ember from 'ember'; import Ember from 'ember';
var $ = Ember.$;
// A discussion 'item' represents one item in the post stream. In other words, a // A discussion 'item' represents one item in the post stream. In other words, a
// single item may represent a single post, or it may represent a gap of many // single item may represent a single post, or it may represent a gap of many
// posts which have not been loaded. // posts which have not been loaded.
@@ -38,7 +40,7 @@ export default Ember.Component.extend({
if (this.get('loading')) { if (this.get('loading')) {
buffer.push(' '); buffer.push(' ');
} else { } else {
buffer.push(this.get('count')+' more post'+(this.get('count') != 1 ? 's' : '')); buffer.push(this.get('count')+' more post'+(this.get('count') !== 1 ? 's' : ''));
} }
buffer.push('</span>'); buffer.push('</span>');
}, },
@@ -93,9 +95,7 @@ export default Ember.Component.extend({
// anchor (i.e. this gap is terminal,) then we'll scroll to the // anchor (i.e. this gap is terminal,) then we'll scroll to the
// bottom of the document. // bottom of the document.
Ember.run.scheduleOnce('afterRender', function() { Ember.run.scheduleOnce('afterRender', function() {
$('body').scrollTop(anchor.length $('body').scrollTop(anchor.length ? anchor.offset().top - scrollOffset : $('body').height());
? anchor.offset().top - scrollOffset
: $('body').height());
}); });
}); });
} }

View File

@@ -1,5 +1,7 @@
import Ember from 'ember'; import Ember from 'ember';
var $ = Ember.$;
export default Ember.Component.extend({ export default Ember.Component.extend({
layoutName: 'components/discussions/stream-scrubber', layoutName: 'components/discussions/stream-scrubber',
classNames: ['scrubber', 'stream-scrubber'], classNames: ['scrubber', 'stream-scrubber'],
@@ -245,7 +247,7 @@ export default Ember.Component.extend({
// Now loop through each of the items in the discussion. An 'item' is // Now loop through each of the items in the discussion. An 'item' is
// either a single post or a 'gap' of one or more posts that haven't // either a single post or a 'gap' of one or more posts that haven't
// been loaded yet. // been loaded yet.
$items.each(function(k) { $items.each(function() {
var $this = $(this), var $this = $(this),
top = $this.offset().top, top = $this.offset().top,
height = $this.outerHeight(true); height = $this.outerHeight(true);
@@ -319,7 +321,7 @@ export default Ember.Component.extend({
// jQuery likes to put overflow:hidden, but because the scrollbar // jQuery likes to put overflow:hidden, but because the scrollbar
// handle has a negative margin-left, we need to override. // handle has a negative margin-left, we need to override.
if (func == 'animate') { if (func === 'animate') {
$part.css('overflow', 'visible'); $part.css('overflow', 'visible');
} }
} }
@@ -369,7 +371,7 @@ export default Ember.Component.extend({
// percentage to account for it. // percentage to account for it.
var minPercentVisible = 50 / this.$('.scrubber-scrollbar').outerHeight() * 100; var minPercentVisible = 50 / this.$('.scrubber-scrollbar').outerHeight() * 100;
var percentPerVisiblePost = Math.max(100 / count, minPercentVisible / visible); var percentPerVisiblePost = Math.max(100 / count, minPercentVisible / visible);
var percentPerPost = count == visible ? 0 : (100 - percentPerVisiblePost * visible) / (count - visible); var percentPerPost = count === visible ? 0 : (100 - percentPerVisiblePost * visible) / (count - visible);
return { return {
index: percentPerPost, index: percentPerPost,

View File

@@ -19,9 +19,9 @@ export default Ember.Component.extend({
click: function(e) { click: function(e) {
e.preventDefault(); e.preventDefault();
var action = this.get('action'); var action = this.get('action');
if (typeof action == 'string') { if (typeof action === 'string') {
this.sendAction('action'); this.sendAction('action');
} else if (typeof action == 'function') { } else if (typeof action === 'function') {
action(); action();
} }
} }

View File

@@ -1,5 +1,3 @@
import Ember from 'ember';
import DropdownButton from './dropdown-button'; import DropdownButton from './dropdown-button';
export default DropdownButton.extend({ export default DropdownButton.extend({

View File

@@ -7,10 +7,12 @@ export default Ember.Component.extend({
layoutName: 'components/ui/controls/item-list', layoutName: 'components/ui/controls/item-list',
listItems: function() { listItems: function() {
if (!Ember.isArray(this.get('items'))) return []; if (!Ember.isArray(this.get('items'))) {
return [];
}
var listItems = []; var listItems = [];
this.get('items').forEach(function(item) { this.get('items').forEach(function(item) {
if (item.tagName != 'li') { if (item.tagName !== 'li') {
item = ComponentItem.extend({component: item}); item = ComponentItem.extend({component: item});
} }
listItems.push(item); listItems.push(item);

View File

@@ -9,7 +9,7 @@ export default Ember.Component.extend({
didInsertElement: function() { didInsertElement: function() {
var self = this; var self = this;
this.$().find('input').on('keydown', function(e) { this.$().find('input').on('keydown', function(e) {
if (e.which == 27) { if (e.which === 27) {
self.clear(); self.clear();
} }
}); });
@@ -18,7 +18,7 @@ export default Ember.Component.extend({
}).on('click', function(e) { }).on('click', function(e) {
e.preventDefault(); e.preventDefault();
self.clear(); self.clear();
}) });
}, },
clear: function() { clear: function() {

View File

@@ -28,11 +28,11 @@ export default Ember.ArrayController.extend(Ember.Evented, PaneableMixin, {
], ],
terminalPostType: function() { terminalPostType: function() {
return ['newest', 'oldest'].indexOf(this.get('sort')) != -1 ? 'start' : 'last'; return ['newest', 'oldest'].indexOf(this.get('sort')) !== -1 ? 'start' : 'last';
}.property('sort'), }.property('sort'),
countType: function() { countType: function() {
return this.get('sort') == 'replies' ? 'replies' : 'unread'; return this.get('sort') === 'replies' ? 'replies' : 'unread';
}.property('sort'), }.property('sort'),
discussionsCount: function() { discussionsCount: function() {
@@ -56,35 +56,39 @@ export default Ember.ArrayController.extend(Ember.Evented, PaneableMixin, {
var show = this.get('show'); var show = this.get('show');
var searchQuery = this.get('searchQuery'); var searchQuery = this.get('searchQuery');
if (sort == 'newest') { if (sort === 'newest') {
sort = 'created'; sort = 'created';
order = 'desc'; order = 'desc';
} else if (sort == 'oldest') { } else if (sort === 'oldest') {
sort = 'created'; sort = 'created';
} }
else if (sort == 'recent') { else if (sort === 'recent') {
sort = ''; sort = '';
} }
else if (sort == 'replies') { else if (sort === 'replies') {
order = 'desc'; order = 'desc';
} }
var params = { var params = {
sort: (order == 'desc' ? '-' : '')+sort, sort: (order === 'desc' ? '-' : '')+sort,
q: searchQuery, q: searchQuery,
start: start start: start
}; };
if (show == 'posts') { if (show === 'posts') {
if (searchQuery) params.include = 'relevantPosts'; if (searchQuery) {
else if (sort == 'created') params.include = 'startPost,startUser'; params.include = 'relevantPosts';
else params.include = 'lastPost,lastUser'; } else if (sort === 'created') {
params.include = 'startPost,startUser';
} else {
params.include = 'lastPost,lastUser';
}
} }
return this.store.find('discussion', params).then(function(discussions) { return this.store.find('discussion', params).then(function(discussions) {
var results = Em.A(); var results = Ember.A();
discussions.forEach(function(discussion) { discussions.forEach(function(discussion) {
var relevantPosts = Em.A(); var relevantPosts = Ember.A();
// discussion.get('relevantPosts.content').forEach(function(post) { // discussion.get('relevantPosts.content').forEach(function(post) {
// relevantPosts.pushObject(PostResult.create(post)); // relevantPosts.pushObject(PostResult.create(post));
// }); // });
@@ -118,21 +122,21 @@ export default Ember.ArrayController.extend(Ember.Evented, PaneableMixin, {
} }
}, },
searchQueryDidChange: function(q) { searchQueryDidChange: function() {
this.get('controllers.application').set('searchQuery', this.get('searchQuery')); this.get('controllers.application').set('searchQuery', this.get('searchQuery'));
this.get('controllers.application').set('searchActive', !! this.get('searchQuery')); this.get('controllers.application').set('searchActive', !! this.get('searchQuery'));
var sortOptions = this.get('sortOptions'); var sortOptions = this.get('sortOptions');
if (this.get('searchQuery') && sortOptions[0].sort != 'relevance') { if (this.get('searchQuery') && sortOptions[0].sort !== 'relevance') {
sortOptions.unshiftObject({sort: 'relevance', label: 'Relevance'}); sortOptions.unshiftObject({sort: 'relevance', label: 'Relevance'});
} }
else if ( ! this.get('searchQuery') && sortOptions[0].sort == 'relevance') { else if ( ! this.get('searchQuery') && sortOptions[0].sort === 'relevance') {
sortOptions.shiftObject(); sortOptions.shiftObject();
} }
}.observes('searchQuery'), }.observes('searchQuery'),
paramsDidChange: function(show) { paramsDidChange: function() {
this.set('start', 0); this.set('start', 0);
}.observes('show', 'sort', 'searchQuery') }.observes('show', 'sort', 'searchQuery')

View File

@@ -1,6 +1,6 @@
import Ember from 'ember'; import Ember from 'ember';
export default Ember.Handlebars.makeBoundHelper(function(number, options) { export default Ember.Handlebars.makeBoundHelper(function(number) {
return new Ember.Handlebars.SafeString(''+number); return new Ember.Handlebars.SafeString(''+number);
}); });

View File

@@ -1,6 +1,6 @@
import Ember from 'ember'; import Ember from 'ember';
export default Ember.Handlebars.makeBoundHelper(function(icon, options) { export default Ember.Handlebars.makeBoundHelper(function(icon, options) {
return new Handlebars.SafeString('<i class="fa fa-fw fa-'+icon+' '+(options.hash.class || '')+'"></i>'); return new Ember.Handlebars.SafeString('<i class="fa fa-fw fa-'+icon+' '+(options.hash.class || '')+'"></i>');
}); });

View File

@@ -1,6 +1,6 @@
import Ember from 'ember'; import Ember from 'ember';
export default Ember.Handlebars.makeBoundHelper(function(text, phrase, options) { export default Ember.Handlebars.makeBoundHelper(function(text, phrase) {
if (phrase) { if (phrase) {
var words = phrase.split(' '); var words = phrase.split(' ');
var replacement = function(matched) { var replacement = function(matched) {
@@ -13,6 +13,6 @@ export default Ember.Handlebars.makeBoundHelper(function(text, phrase, options)
); );
}); });
} }
return new Handlebars.SafeString(text); return new Ember.Handlebars.SafeString(text);
}); });

View File

@@ -5,11 +5,11 @@ export default Ember.Handlebars.makeBoundHelper(function(time) {
var datetime = m.format(), var datetime = m.format(),
full = m.format('LLLL'); full = m.format('LLLL');
var second = 1e3; // var second = 1e3;
var minute = 6e4; var minute = 6e4;
var hour = 36e5; var hour = 36e5;
var day = 864e5; var day = 864e5;
var week = 6048e5; // var week = 6048e5;
var ago = null; var ago = null;
var diff = Math.abs(m.diff(moment())); var diff = Math.abs(m.diff(moment()));
@@ -20,12 +20,12 @@ export default Ember.Handlebars.makeBoundHelper(function(time) {
ago = moment.duration(diff).hours()+'h ago'; ago = moment.duration(diff).hours()+'h ago';
} else if (diff < 30 * day) { } else if (diff < 30 * day) {
ago = moment.duration(diff).days()+'d ago'; ago = moment.duration(diff).days()+'d ago';
} else if (m.year() == moment().year()) { } else if (m.year() === moment().year()) {
ago = m.format('D MMM'); ago = m.format('D MMM');
} else { } else {
ago = m.format('MMM \'YY'); ago = m.format('MMM \'YY');
} }
return new Handlebars.SafeString('<time pubdate datetime="'+datetime+'" title="'+full+'">'+ago+'</time>'); return new Ember.Handlebars.SafeString('<time pubdate datetime="'+datetime+'" title="'+full+'">'+ago+'</time>');
}); });

View File

@@ -1,9 +1,9 @@
import Ember from 'ember'; import Ember from 'ember';
function HSVtoRGB(h, s, v) { function hsvToRgb(h, s, v) {
var r, g, b, i, f, p, q, t; var r, g, b, i, f, p, q, t;
if (h && s === undefined && v === undefined) { if (h && s === undefined && v === undefined) {
s = h.s, v = h.v, h = h.h; s = h.s; v = h.v; h = h.h;
} }
i = Math.floor(h * 6); i = Math.floor(h * 6);
f = h * 6 - i; f = h * 6 - i;
@@ -11,12 +11,12 @@ function HSVtoRGB(h, s, v) {
q = v * (1 - f * s); q = v * (1 - f * s);
t = v * (1 - (1 - f) * s); t = v * (1 - (1 - f) * s);
switch (i % 6) { switch (i % 6) {
case 0: r = v, g = t, b = p; break; case 0: r = v; g = t; b = p; break;
case 1: r = q, g = v, b = p; break; case 1: r = q; g = v; b = p; break;
case 2: r = p, g = v, b = t; break; case 2: r = p; g = v; b = t; break;
case 3: r = p, g = q, b = v; break; case 3: r = p; g = q; b = v; break;
case 4: r = t, g = p, b = v; break; case 4: r = t; g = p; b = v; break;
case 5: r = v, g = p, b = q; break; case 5: r = v; g = p; b = q; break;
} }
return { return {
r: Math.floor(r * 255), r: Math.floor(r * 255),
@@ -26,17 +26,21 @@ function HSVtoRGB(h, s, v) {
} }
export default Ember.Handlebars.makeBoundHelper(function(user, options) { export default Ember.Handlebars.makeBoundHelper(function(user, options) {
if (!user) return; if (!user) {
return;
}
var number; var number;
if (number = user.get('avatarNumber')) { if (number = user.get('avatarNumber')) {
number = number + ''; number = number + '';
var filename = number.length >= 3 ? number : new Array(3 - number.length + 1).join('0') + number; var filename = number.length >= 3 ? number : new Array(3 - number.length + 1).join('0') + number;
return new Handlebars.SafeString('<img src="/packages/flarum/core/avatars/'+filename+'.jpg" class="avatar '+options.hash.class+'">'); return new Ember.Handlebars.SafeString('<img src="/packages/flarum/core/avatars/'+filename+'.jpg" class="avatar '+options.hash.class+'">');
} }
var username = user.get('username'); var username = user.get('username');
if (!username) username = '?'; if (!username) {
username = '?';
}
var letter = username.charAt(0).toUpperCase(); var letter = username.charAt(0).toUpperCase();
@@ -46,8 +50,8 @@ export default Ember.Handlebars.makeBoundHelper(function(user, options) {
} }
var hue = num % 360; var hue = num % 360;
var rgb = HSVtoRGB(hue / 360, 100 / 255, 200 / 255); var rgb = hsvToRgb(hue / 360, 100 / 255, 200 / 255);
var bg = ''+rgb.r.toString(16)+rgb.g.toString(16)+rgb.b.toString(16); var bg = ''+rgb.r.toString(16)+rgb.g.toString(16)+rgb.b.toString(16);
return new Handlebars.SafeString('<span class="avatar '+options.hash.class+'" style="background:#'+bg+'" title="'+username+'">'+letter+'</span>'); return new Ember.Handlebars.SafeString('<span class="avatar '+options.hash.class+'" style="background:#'+bg+'" title="'+username+'">'+letter+'</span>');
}); });

View File

@@ -2,7 +2,7 @@ import Ember from 'ember';
var DiscussionResult = Ember.ObjectProxy.extend({ var DiscussionResult = Ember.ObjectProxy.extend({
relevantPosts: Em.A(), relevantPosts: null,
startPost: null, startPost: null,
lastPost: null lastPost: null

View File

@@ -1,4 +1,3 @@
import Ember from 'ember';
import DS from 'ember-data'; import DS from 'ember-data';
export default DS.Model.extend({ export default DS.Model.extend({

View File

@@ -8,7 +8,9 @@ var PostResult = Ember.ObjectProxy.extend({
PostResult.reopenClass({ PostResult.reopenClass({
create: function(post) { create: function(post) {
if (!post) return null; if (!post) {
return null;
}
var result = this._super(); var result = this._super();
result.set('content', post); result.set('content', post);

View File

@@ -43,7 +43,7 @@ export default Ember.ArrayProxy.extend(Ember.Evented, {
// Clear the contents of the post stream, resetting it to one big gap. // Clear the contents of the post stream, resetting it to one big gap.
clear: function() { clear: function() {
var content = Ember.A(); var content = Ember.A();
content.clear().pushObject(Em.Object.create({ content.clear().pushObject(Ember.Object.create({
gap: true, gap: true,
indexStart: 0, indexStart: 0,
indexEnd: this.get('count') - 1, indexEnd: this.get('count') - 1,
@@ -60,10 +60,7 @@ export default Ember.ArrayProxy.extend(Ember.Evented, {
// Find the appropriate gap objects in the post stream. When we find // Find the appropriate gap objects in the post stream. When we find
// one, we will turn on its loading flag. // one, we will turn on its loading flag.
this.get('content').forEach(function(item) { this.get('content').forEach(function(item) {
if (item.gap && ( if (item.gap && ((item.indexStart >= start && item.indexStart <= end) || (item.indexEnd >= start && item.indexEnd <= end))) {
(item.indexStart >= start && item.indexStart <= end)
|| (item.indexEnd >= start && item.indexEnd <= end)
)) {
item.set('loading', true); item.set('loading', true);
item.set('direction', backwards ? 'up' : 'down'); item.set('direction', backwards ? 'up' : 'down');
} }
@@ -96,7 +93,7 @@ export default Ember.ArrayProxy.extend(Ember.Evented, {
// request.) Or, if it's a gap, we'll switch on its loading flag. // request.) Or, if it's a gap, we'll switch on its loading flag.
var item = this.findNearestToNumber(number); var item = this.findNearestToNumber(number);
if (item) { if (item) {
if (item.get('content.number') == number) { if (item.get('content.number') === number) {
return Ember.RSVP.resolve([item.get('content')]); return Ember.RSVP.resolve([item.get('content')]);
} else if (item.gap) { } else if (item.gap) {
item.set('direction', 'down').set('loading', true); item.set('direction', 'down').set('loading', true);
@@ -143,7 +140,6 @@ export default Ember.ArrayProxy.extend(Ember.Evented, {
}, },
addPost: function(post) { addPost: function(post) {
var stream = this;
var index = this.get('ids').indexOf(post.get('id')); var index = this.get('ids').indexOf(post.get('id'));
var content = this.get('content'); var content = this.get('content');

View File

@@ -1,4 +1,3 @@
import Ember from 'ember';
import DS from 'ember-data'; import DS from 'ember-data';
export default DS.Model.extend({ export default DS.Model.extend({

View File

@@ -42,14 +42,14 @@ export default Ember.Route.extend({
var controller = this.get('controller'), var controller = this.get('controller'),
oldStart = this.get('controller.start'); oldStart = this.get('controller.start');
Ember.run.next(function() { Ember.run.next(function() {
if (! params.start || ! controller || ! controller.get('loaded') || params.start == oldStart) { if (! params.start || ! controller || ! controller.get('loaded') || params.start === oldStart) {
return; return;
} }
controller.trigger('startWasChanged', params.start); controller.trigger('startWasChanged', params.start);
}); });
}, },
willTransition: function(transition) { willTransition: function() {
// When we transition away from this discussion, we want to hide // When we transition away from this discussion, we want to hide
// the discussions list pane. This means that when the user // the discussions list pane. This means that when the user
// selects a different discussion within the pane, the pane will // selects a different discussion within the pane, the pane will

View File

@@ -1,5 +1,4 @@
import Ember from 'ember'; import Ember from 'ember';
import Discussion from '../models/discussion';
export default Ember.Route.extend({ export default Ember.Route.extend({
@@ -18,14 +17,14 @@ export default Ember.Route.extend({
} }
}, },
model: function(params) { model: function() {
var model = Ember.ArrayProxy.create(); var model = Ember.ArrayProxy.create();
return Ember.RSVP.resolve(model); return Ember.RSVP.resolve(model);
}, },
actions: { actions: {
queryParamsDidChange: function(newParams, params) { queryParamsDidChange: function() {
var self = this; var self = this;
Ember.run.scheduleOnce('afterRender', function() { Ember.run.scheduleOnce('afterRender', function() {
self.refresh(); self.refresh();

View File

@@ -21,7 +21,7 @@ export default Ember.ArrayProxy.extend({
insertAfterTag: function(anchorTag, obj, tag) { insertAfterTag: function(anchorTag, obj, tag) {
var idx = this.indexOfTag(anchorTag); var idx = this.indexOfTag(anchorTag);
this.insertAtWithTag(idx + 1, obj, newTag); this.insertAtWithTag(idx + 1, obj, tag);
}, },
insertBeforeTag: function(anchorTag, obj, tag) { insertBeforeTag: function(anchorTag, obj, tag) {

View File

@@ -5,6 +5,8 @@ import SearchInput from '../components/ui/controls/search-input';
import DropdownSelect from '../components/ui/controls/dropdown-select'; import DropdownSelect from '../components/ui/controls/dropdown-select';
import TaggedArray from '../utils/tagged-array'; import TaggedArray from '../utils/tagged-array';
var $ = Ember.$;
export default Ember.View.extend({ export default Ember.View.extend({
title: function() { title: function() {

View File

@@ -3,9 +3,10 @@ import Ember from 'ember';
import TaggedArray from '../utils/tagged-array'; import TaggedArray from '../utils/tagged-array';
import ActionButton from '../components/ui/controls/action-button'; import ActionButton from '../components/ui/controls/action-button';
import DropdownSplit from '../components/ui/controls/dropdown-split'; import DropdownSplit from '../components/ui/controls/dropdown-split';
import DropdownButton from '../components/ui/controls/dropdown-button';
import StreamScrubber from '../components/discussions/stream-scrubber'; import StreamScrubber from '../components/discussions/stream-scrubber';
var $ = Ember.$;
export default Ember.View.extend(Ember.Evented, { export default Ember.View.extend(Ember.Evented, {
sidebarItems: null, sidebarItems: null,

View File

@@ -5,6 +5,8 @@ import ActionButton from '../components/ui/controls/action-button';
import NavItem from '../components/ui/items/nav-item'; import NavItem from '../components/ui/items/nav-item';
import TaggedArray from '../utils/tagged-array'; import TaggedArray from '../utils/tagged-array';
var $ = Ember.$;
export default Ember.View.extend({ export default Ember.View.extend({
sidebarItems: null, sidebarItems: null,
@@ -24,7 +26,7 @@ export default Ember.View.extend({
return $sidebar.offset().top - $('#header').outerHeight(true) - parseInt($sidebar.css('margin-top')); return $sidebar.offset().top - $('#header').outerHeight(true) - parseInt($sidebar.css('margin-top'));
}, },
bottom: function () { bottom: function () {
return (this.bottom = $('#footer').outerHeight(true)) return (this.bottom = $('#footer').outerHeight(true));
} }
} }
}); });
@@ -57,7 +59,7 @@ export default Ember.View.extend({
label: 'Start a Discussion', label: 'Start a Discussion',
icon: 'edit', icon: 'edit',
className: 'btn btn-primary new-discussion' className: 'btn btn-primary new-discussion'
}) });
sidebar.pushObjectWithTag(newDiscussion, 'newDiscussion'); sidebar.pushObjectWithTag(newDiscussion, 'newDiscussion');
var nav = TaggedArray.create(); var nav = TaggedArray.create();

View File

@@ -14,7 +14,7 @@ export default Ember.View.extend({
}, },
willDestroyElement: function() { willDestroyElement: function() {
this.get('controller.session').off('sessionAuthenticationSucceeded', this, this.hide) this.get('controller.session').off('sessionAuthenticationSucceeded', this, this.hide);
}, },
hide: function() { hide: function() {