diff --git a/ember/.jshintrc b/ember/.jshintrc index 08096effa..e75f71963 100644 --- a/ember/.jshintrc +++ b/ember/.jshintrc @@ -2,7 +2,8 @@ "predef": [ "document", "window", - "-Promise" + "-Promise", + "moment" ], "browser": true, "boss": true, diff --git a/ember/app/components/discussions/discussion-listing.js b/ember/app/components/discussions/discussion-listing.js index 3dc433d90..40e2570fc 100755 --- a/ember/app/components/discussions/discussion-listing.js +++ b/ember/app/components/discussions/discussion-listing.js @@ -2,7 +2,6 @@ import Ember from 'ember'; import TaggedArray from '../../utils/tagged-array'; import ActionButton from '../ui/controls/action-button'; -import SeparatorItem from '../ui/items/separator-item'; export default Ember.Component.extend({ @@ -23,11 +22,11 @@ export default Ember.Component.extend({ }.property('childViews.@each.active'), displayUnread: function() { - return this.get('countType') == 'unread' && this.get('discussion.isUnread'); + return this.get('countType') === 'unread' && this.get('discussion.isUnread'); }.property('countType', 'discussion.isUnread'), displayLastPost: function() { - return this.get('terminalPostType') == 'last' && this.get('discussion.repliesCount'); + return this.get('terminalPostType') === 'last' && this.get('discussion.repliesCount'); }.property('terminalPostType', 'discussion.repliesCount'), start: function() { @@ -37,11 +36,13 @@ export default Ember.Component.extend({ discussionId: Ember.computed.alias('discussion.id'), relevantPosts: function() { - if (this.get('controller.show') != 'posts') return []; + if (this.get('controller.show') !== 'posts') { + return []; + } if (this.get('controller.searchQuery')) { 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')]; } else { return [this.get('discussion.lastPost')]; diff --git a/ember/app/components/discussions/post-wrapper.js b/ember/app/components/discussions/post-wrapper.js index 09e63d298..fb8e3cde7 100644 --- a/ember/app/components/discussions/post-wrapper.js +++ b/ember/app/components/discussions/post-wrapper.js @@ -1,7 +1,7 @@ import Ember from 'ember'; -import TaggedArray from '../../utils/tagged-array'; -import ActionButton from '../ui/controls/action-button'; +// import TaggedArray from '../../utils/tagged-array'; +// import ActionButton from '../ui/controls/action-button'; export default Ember.Component.extend({ tagName: 'article', @@ -45,18 +45,18 @@ export default Ember.Component.extend({ }, 100); }, - addControl: function(tag, title, icon, permissionAttribute) { - if (permissionAttribute && ! this.get('post').get(permissionAttribute)) { - return; - } + // addControl: function(tag, title, icon, permissionAttribute) { + // if (permissionAttribute && ! this.get('post').get(permissionAttribute)) { + // return; + // } - var self = this; - var action = function(post) { - self.get('controller').send(actionName, post); - }; + // var self = this; + // var action = function(post) { + // self.get('controller').send(actionName, post); + // }; - var item = MenuItem.extend({title: title, icon: icon, action: action}); - this.get('controls').addItem(tag, item); - } + // var item = MenuItem.extend({title: title, icon: icon, action: action}); + // this.get('controls').addItem(tag, item); + // } }); diff --git a/ember/app/components/discussions/stream-content.js b/ember/app/components/discussions/stream-content.js index 29d0b5590..a3b4db2f7 100644 --- a/ember/app/components/discussions/stream-content.js +++ b/ember/app/components/discussions/stream-content.js @@ -1,5 +1,7 @@ import Ember from 'ember'; +var $ = Ember.$; + export default Ember.Component.extend({ classNames: ['stream'], @@ -177,7 +179,7 @@ export default Ember.Component.extend({ if ($item.length) { var marginTop = this.getMarginTop(); 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}); } } diff --git a/ember/app/components/discussions/stream-item.js b/ember/app/components/discussions/stream-item.js index f51853b0a..578f69d8f 100644 --- a/ember/app/components/discussions/stream-item.js +++ b/ember/app/components/discussions/stream-item.js @@ -1,5 +1,7 @@ import Ember from 'ember'; +var $ = Ember.$; + // 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 // posts which have not been loaded. @@ -38,7 +40,7 @@ export default Ember.Component.extend({ if (this.get('loading')) { buffer.push(' '); } 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(''); }, @@ -93,9 +95,7 @@ export default Ember.Component.extend({ // anchor (i.e. this gap is terminal,) then we'll scroll to the // bottom of the document. Ember.run.scheduleOnce('afterRender', function() { - $('body').scrollTop(anchor.length - ? anchor.offset().top - scrollOffset - : $('body').height()); + $('body').scrollTop(anchor.length ? anchor.offset().top - scrollOffset : $('body').height()); }); }); } diff --git a/ember/app/components/discussions/stream-scrubber.js b/ember/app/components/discussions/stream-scrubber.js index 91e685918..598fa14be 100644 --- a/ember/app/components/discussions/stream-scrubber.js +++ b/ember/app/components/discussions/stream-scrubber.js @@ -1,5 +1,7 @@ import Ember from 'ember'; +var $ = Ember.$; + export default Ember.Component.extend({ layoutName: 'components/discussions/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 // either a single post or a 'gap' of one or more posts that haven't // been loaded yet. - $items.each(function(k) { + $items.each(function() { var $this = $(this), top = $this.offset().top, height = $this.outerHeight(true); @@ -319,7 +321,7 @@ export default Ember.Component.extend({ // jQuery likes to put overflow:hidden, but because the scrollbar // handle has a negative margin-left, we need to override. - if (func == 'animate') { + if (func === 'animate') { $part.css('overflow', 'visible'); } } @@ -369,7 +371,7 @@ export default Ember.Component.extend({ // percentage to account for it. var minPercentVisible = 50 / this.$('.scrubber-scrollbar').outerHeight() * 100; 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 { index: percentPerPost, diff --git a/ember/app/components/ui/controls/action-button.js b/ember/app/components/ui/controls/action-button.js index d27e2032f..94dc384df 100644 --- a/ember/app/components/ui/controls/action-button.js +++ b/ember/app/components/ui/controls/action-button.js @@ -19,9 +19,9 @@ export default Ember.Component.extend({ click: function(e) { e.preventDefault(); var action = this.get('action'); - if (typeof action == 'string') { + if (typeof action === 'string') { this.sendAction('action'); - } else if (typeof action == 'function') { + } else if (typeof action === 'function') { action(); } } diff --git a/ember/app/components/ui/controls/dropdown-split.js b/ember/app/components/ui/controls/dropdown-split.js index 037165ca8..ef1f9468b 100644 --- a/ember/app/components/ui/controls/dropdown-split.js +++ b/ember/app/components/ui/controls/dropdown-split.js @@ -1,5 +1,3 @@ -import Ember from 'ember'; - import DropdownButton from './dropdown-button'; export default DropdownButton.extend({ diff --git a/ember/app/components/ui/controls/item-list.js b/ember/app/components/ui/controls/item-list.js index 99dd5f714..367d3de7b 100644 --- a/ember/app/components/ui/controls/item-list.js +++ b/ember/app/components/ui/controls/item-list.js @@ -7,10 +7,12 @@ export default Ember.Component.extend({ layoutName: 'components/ui/controls/item-list', listItems: function() { - if (!Ember.isArray(this.get('items'))) return []; + if (!Ember.isArray(this.get('items'))) { + return []; + } var listItems = []; this.get('items').forEach(function(item) { - if (item.tagName != 'li') { + if (item.tagName !== 'li') { item = ComponentItem.extend({component: item}); } listItems.push(item); diff --git a/ember/app/components/ui/controls/search-input.js b/ember/app/components/ui/controls/search-input.js index 5edcbb21d..9f105c6d4 100644 --- a/ember/app/components/ui/controls/search-input.js +++ b/ember/app/components/ui/controls/search-input.js @@ -9,7 +9,7 @@ export default Ember.Component.extend({ didInsertElement: function() { var self = this; this.$().find('input').on('keydown', function(e) { - if (e.which == 27) { + if (e.which === 27) { self.clear(); } }); @@ -18,7 +18,7 @@ export default Ember.Component.extend({ }).on('click', function(e) { e.preventDefault(); self.clear(); - }) + }); }, clear: function() { diff --git a/ember/app/controllers/index.js b/ember/app/controllers/index.js index c988f69ab..dbf0494c5 100644 --- a/ember/app/controllers/index.js +++ b/ember/app/controllers/index.js @@ -28,11 +28,11 @@ export default Ember.ArrayController.extend(Ember.Evented, PaneableMixin, { ], terminalPostType: function() { - return ['newest', 'oldest'].indexOf(this.get('sort')) != -1 ? 'start' : 'last'; + return ['newest', 'oldest'].indexOf(this.get('sort')) !== -1 ? 'start' : 'last'; }.property('sort'), countType: function() { - return this.get('sort') == 'replies' ? 'replies' : 'unread'; + return this.get('sort') === 'replies' ? 'replies' : 'unread'; }.property('sort'), discussionsCount: function() { @@ -56,35 +56,39 @@ export default Ember.ArrayController.extend(Ember.Evented, PaneableMixin, { var show = this.get('show'); var searchQuery = this.get('searchQuery'); - if (sort == 'newest') { + if (sort === 'newest') { sort = 'created'; order = 'desc'; - } else if (sort == 'oldest') { + } else if (sort === 'oldest') { sort = 'created'; } - else if (sort == 'recent') { + else if (sort === 'recent') { sort = ''; } - else if (sort == 'replies') { + else if (sort === 'replies') { order = 'desc'; } var params = { - sort: (order == 'desc' ? '-' : '')+sort, + sort: (order === 'desc' ? '-' : '')+sort, q: searchQuery, start: start }; - if (show == 'posts') { - if (searchQuery) params.include = 'relevantPosts'; - else if (sort == 'created') params.include = 'startPost,startUser'; - else params.include = 'lastPost,lastUser'; + if (show === 'posts') { + if (searchQuery) { + params.include = 'relevantPosts'; + } else if (sort === 'created') { + params.include = 'startPost,startUser'; + } else { + params.include = 'lastPost,lastUser'; + } } return this.store.find('discussion', params).then(function(discussions) { - var results = Em.A(); + var results = Ember.A(); discussions.forEach(function(discussion) { - var relevantPosts = Em.A(); + var relevantPosts = Ember.A(); // discussion.get('relevantPosts.content').forEach(function(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('searchActive', !! this.get('searchQuery')); 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'}); } - else if ( ! this.get('searchQuery') && sortOptions[0].sort == 'relevance') { + else if ( ! this.get('searchQuery') && sortOptions[0].sort === 'relevance') { sortOptions.shiftObject(); } }.observes('searchQuery'), - paramsDidChange: function(show) { + paramsDidChange: function() { this.set('start', 0); }.observes('show', 'sort', 'searchQuery') diff --git a/ember/app/helpers/abbreviate-number.js b/ember/app/helpers/abbreviate-number.js index e48eaaaeb..b18457d7b 100644 --- a/ember/app/helpers/abbreviate-number.js +++ b/ember/app/helpers/abbreviate-number.js @@ -1,6 +1,6 @@ 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); }); diff --git a/ember/app/helpers/fa-icon.js b/ember/app/helpers/fa-icon.js index 6c5375e9d..988cc3593 100644 --- a/ember/app/helpers/fa-icon.js +++ b/ember/app/helpers/fa-icon.js @@ -1,6 +1,6 @@ import Ember from 'ember'; export default Ember.Handlebars.makeBoundHelper(function(icon, options) { - return new Handlebars.SafeString(''); + return new Ember.Handlebars.SafeString(''); }); diff --git a/ember/app/helpers/highlight-words.js b/ember/app/helpers/highlight-words.js index 298c37d73..dc1899f12 100644 --- a/ember/app/helpers/highlight-words.js +++ b/ember/app/helpers/highlight-words.js @@ -1,6 +1,6 @@ import Ember from 'ember'; -export default Ember.Handlebars.makeBoundHelper(function(text, phrase, options) { +export default Ember.Handlebars.makeBoundHelper(function(text, phrase) { if (phrase) { var words = phrase.split(' '); 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); }); diff --git a/ember/app/helpers/human-time.js b/ember/app/helpers/human-time.js index 300886f54..c05e8d065 100644 --- a/ember/app/helpers/human-time.js +++ b/ember/app/helpers/human-time.js @@ -5,11 +5,11 @@ export default Ember.Handlebars.makeBoundHelper(function(time) { var datetime = m.format(), full = m.format('LLLL'); - var second = 1e3; + // var second = 1e3; var minute = 6e4; var hour = 36e5; var day = 864e5; - var week = 6048e5; + // var week = 6048e5; var ago = null; 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'; } else if (diff < 30 * day) { ago = moment.duration(diff).days()+'d ago'; - } else if (m.year() == moment().year()) { + } else if (m.year() === moment().year()) { ago = m.format('D MMM'); } else { ago = m.format('MMM \'YY'); } - return new Handlebars.SafeString(''); + return new Ember.Handlebars.SafeString(''); }); diff --git a/ember/app/helpers/user-avatar.js b/ember/app/helpers/user-avatar.js index a06a4c59c..61c2efc47 100644 --- a/ember/app/helpers/user-avatar.js +++ b/ember/app/helpers/user-avatar.js @@ -1,9 +1,9 @@ import Ember from 'ember'; -function HSVtoRGB(h, s, v) { +function hsvToRgb(h, s, v) { var r, g, b, i, f, p, q, t; 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); f = h * 6 - i; @@ -11,12 +11,12 @@ function HSVtoRGB(h, s, v) { q = v * (1 - f * s); t = v * (1 - (1 - f) * s); switch (i % 6) { - case 0: r = v, g = t, b = p; break; - case 1: r = q, g = v, b = p; break; - case 2: r = p, g = v, b = t; break; - case 3: r = p, g = q, b = v; break; - case 4: r = t, g = p, b = v; break; - case 5: r = v, g = p, b = q; break; + case 0: r = v; g = t; b = p; break; + case 1: r = q; g = v; b = p; break; + case 2: r = p; g = v; b = t; break; + case 3: r = p; g = q; b = v; break; + case 4: r = t; g = p; b = v; break; + case 5: r = v; g = p; b = q; break; } return { r: Math.floor(r * 255), @@ -26,17 +26,21 @@ function HSVtoRGB(h, s, v) { } export default Ember.Handlebars.makeBoundHelper(function(user, options) { - if (!user) return; + if (!user) { + return; + } var number; if (number = user.get('avatarNumber')) { number = number + ''; var filename = number.length >= 3 ? number : new Array(3 - number.length + 1).join('0') + number; - return new Handlebars.SafeString(''); + return new Ember.Handlebars.SafeString(''); } var username = user.get('username'); - if (!username) username = '?'; + if (!username) { + username = '?'; + } var letter = username.charAt(0).toUpperCase(); @@ -46,8 +50,8 @@ export default Ember.Handlebars.makeBoundHelper(function(user, options) { } 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); - return new Handlebars.SafeString(''+letter+''); + return new Ember.Handlebars.SafeString(''+letter+''); }); diff --git a/ember/app/models/discussion-result.js b/ember/app/models/discussion-result.js index 94f9e604f..f6d80022a 100644 --- a/ember/app/models/discussion-result.js +++ b/ember/app/models/discussion-result.js @@ -2,7 +2,7 @@ import Ember from 'ember'; var DiscussionResult = Ember.ObjectProxy.extend({ - relevantPosts: Em.A(), + relevantPosts: null, startPost: null, lastPost: null diff --git a/ember/app/models/group.js b/ember/app/models/group.js index 35c19344a..6a6c5f1df 100644 --- a/ember/app/models/group.js +++ b/ember/app/models/group.js @@ -1,4 +1,3 @@ -import Ember from 'ember'; import DS from 'ember-data'; export default DS.Model.extend({ diff --git a/ember/app/models/post-result.js b/ember/app/models/post-result.js index b343270c8..1800ef7bf 100644 --- a/ember/app/models/post-result.js +++ b/ember/app/models/post-result.js @@ -8,7 +8,9 @@ var PostResult = Ember.ObjectProxy.extend({ PostResult.reopenClass({ create: function(post) { - if (!post) return null; + if (!post) { + return null; + } var result = this._super(); result.set('content', post); diff --git a/ember/app/models/post-stream.js b/ember/app/models/post-stream.js index 9e3aa997e..8aa90bf89 100644 --- a/ember/app/models/post-stream.js +++ b/ember/app/models/post-stream.js @@ -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: function() { var content = Ember.A(); - content.clear().pushObject(Em.Object.create({ + content.clear().pushObject(Ember.Object.create({ gap: true, indexStart: 0, 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 // one, we will turn on its loading flag. this.get('content').forEach(function(item) { - if (item.gap && ( - (item.indexStart >= start && item.indexStart <= end) - || (item.indexEnd >= start && item.indexEnd <= end) - )) { + if (item.gap && ((item.indexStart >= start && item.indexStart <= end) || (item.indexEnd >= start && item.indexEnd <= end))) { item.set('loading', true); 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. var item = this.findNearestToNumber(number); if (item) { - if (item.get('content.number') == number) { + if (item.get('content.number') === number) { return Ember.RSVP.resolve([item.get('content')]); } else if (item.gap) { item.set('direction', 'down').set('loading', true); @@ -143,7 +140,6 @@ export default Ember.ArrayProxy.extend(Ember.Evented, { }, addPost: function(post) { - var stream = this; var index = this.get('ids').indexOf(post.get('id')); var content = this.get('content'); diff --git a/ember/app/models/user.js b/ember/app/models/user.js index 991c9bb7a..c029005b6 100644 --- a/ember/app/models/user.js +++ b/ember/app/models/user.js @@ -1,4 +1,3 @@ -import Ember from 'ember'; import DS from 'ember-data'; export default DS.Model.extend({ diff --git a/ember/app/routes/discussion.js b/ember/app/routes/discussion.js index e745e0496..1597ae688 100644 --- a/ember/app/routes/discussion.js +++ b/ember/app/routes/discussion.js @@ -42,14 +42,14 @@ export default Ember.Route.extend({ var controller = this.get('controller'), oldStart = this.get('controller.start'); 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; } controller.trigger('startWasChanged', params.start); }); }, - willTransition: function(transition) { + willTransition: function() { // When we transition away from this discussion, we want to hide // the discussions list pane. This means that when the user // selects a different discussion within the pane, the pane will diff --git a/ember/app/routes/index.js b/ember/app/routes/index.js index ef31d3be6..0235bec30 100644 --- a/ember/app/routes/index.js +++ b/ember/app/routes/index.js @@ -1,5 +1,4 @@ import Ember from 'ember'; -import Discussion from '../models/discussion'; export default Ember.Route.extend({ @@ -18,14 +17,14 @@ export default Ember.Route.extend({ } }, - model: function(params) { + model: function() { var model = Ember.ArrayProxy.create(); return Ember.RSVP.resolve(model); }, actions: { - queryParamsDidChange: function(newParams, params) { + queryParamsDidChange: function() { var self = this; Ember.run.scheduleOnce('afterRender', function() { self.refresh(); diff --git a/ember/app/utils/tagged-array.js b/ember/app/utils/tagged-array.js index 76b253082..ce1152594 100644 --- a/ember/app/utils/tagged-array.js +++ b/ember/app/utils/tagged-array.js @@ -21,7 +21,7 @@ export default Ember.ArrayProxy.extend({ insertAfterTag: function(anchorTag, obj, tag) { var idx = this.indexOfTag(anchorTag); - this.insertAtWithTag(idx + 1, obj, newTag); + this.insertAtWithTag(idx + 1, obj, tag); }, insertBeforeTag: function(anchorTag, obj, tag) { diff --git a/ember/app/views/application.js b/ember/app/views/application.js index e49a34532..e38fe04e2 100644 --- a/ember/app/views/application.js +++ b/ember/app/views/application.js @@ -5,6 +5,8 @@ import SearchInput from '../components/ui/controls/search-input'; import DropdownSelect from '../components/ui/controls/dropdown-select'; import TaggedArray from '../utils/tagged-array'; +var $ = Ember.$; + export default Ember.View.extend({ title: function() { diff --git a/ember/app/views/discussion.js b/ember/app/views/discussion.js index 3ce760f7a..0cb73bb4c 100644 --- a/ember/app/views/discussion.js +++ b/ember/app/views/discussion.js @@ -3,9 +3,10 @@ import Ember from 'ember'; import TaggedArray from '../utils/tagged-array'; import ActionButton from '../components/ui/controls/action-button'; import DropdownSplit from '../components/ui/controls/dropdown-split'; -import DropdownButton from '../components/ui/controls/dropdown-button'; import StreamScrubber from '../components/discussions/stream-scrubber'; +var $ = Ember.$; + export default Ember.View.extend(Ember.Evented, { sidebarItems: null, diff --git a/ember/app/views/index.js b/ember/app/views/index.js index 361abb2f0..7b546cc56 100644 --- a/ember/app/views/index.js +++ b/ember/app/views/index.js @@ -5,6 +5,8 @@ import ActionButton from '../components/ui/controls/action-button'; import NavItem from '../components/ui/items/nav-item'; import TaggedArray from '../utils/tagged-array'; +var $ = Ember.$; + export default Ember.View.extend({ sidebarItems: null, @@ -24,7 +26,7 @@ export default Ember.View.extend({ return $sidebar.offset().top - $('#header').outerHeight(true) - parseInt($sidebar.css('margin-top')); }, 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', icon: 'edit', className: 'btn btn-primary new-discussion' - }) + }); sidebar.pushObjectWithTag(newDiscussion, 'newDiscussion'); var nav = TaggedArray.create(); diff --git a/ember/app/views/login.js b/ember/app/views/login.js index f0c3652a7..f73b336e1 100644 --- a/ember/app/views/login.js +++ b/ember/app/views/login.js @@ -14,7 +14,7 @@ export default Ember.View.extend({ }, willDestroyElement: function() { - this.get('controller.session').off('sessionAuthenticationSucceeded', this, this.hide) + this.get('controller.session').off('sessionAuthenticationSucceeded', this, this.hide); }, hide: function() {