Fixes some deprecations

This commit is contained in:
Robin Ward 2015-04-29 16:26:14 -04:00
parent 8294205f7c
commit 690b579a96
15 changed files with 75 additions and 85 deletions

View File

@ -2,10 +2,7 @@ var get = Ember.get;
export default Ember.Component.extend({ export default Ember.Component.extend({
classNameBindings: ['category::no-category', 'categories:has-drop','categoryStyle'], classNameBindings: ['category::no-category', 'categories:has-drop','categoryStyle'],
categoryStyle: Discourse.computed.setting('category_style'),
categoryStyle: function(){
return Discourse.SiteSettings.category_style;
}.property(),
tagName: 'li', tagName: 'li',
@ -50,11 +47,11 @@ export default Ember.Component.extend({
if (color) { if (color) {
var style = ""; var style = "";
if (color) { style += "background-color: #" + color + ";" } if (color) { style += "background-color: #" + color + ";" }
return style; return style.htmlSafe();
} }
} }
return "background-color: #eee;"; return "background-color: #eee;".htmlSafe();
}.property('category'), }.property('category'),
badgeStyle: function() { badgeStyle: function() {
@ -68,11 +65,11 @@ export default Ember.Component.extend({
var style = ""; var style = "";
if (color) { style += "background-color: #" + color + "; border-color: #" + color + ";"; } if (color) { style += "background-color: #" + color + "; border-color: #" + color + ";"; }
if (textColor) { style += "color: #" + textColor + "; "; } if (textColor) { style += "color: #" + textColor + "; "; }
return style; return style.htmlSafe();
} }
} }
return "background-color: #eee; color: #333"; return "background-color: #eee; color: #333".htmlSafe();
}.property('category'), }.property('category'),
clickEventName: function() { clickEventName: function() {

View File

@ -1,6 +1,4 @@
import ObjectController from 'discourse/controllers/object'; export default Ember.Controller.extend({
export default ObjectController.extend({
faqOverriden: Ember.computed.gt('siteSettings.faq_url.length', 0), faqOverriden: Ember.computed.gt('siteSettings.faq_url.length', 0),
contactInfo: function() { contactInfo: function() {

View File

@ -1,25 +1,19 @@
import ObjectController from 'discourse/controllers/object'; import ObjectController from 'discourse/controllers/object';
/**
Controller for showing a particular badge.
@class BadgesShowController
@extends ObjectController
@namespace Discourse
@module Discourse
**/
export default ObjectController.extend({ export default ObjectController.extend({
noMoreBadges: false,
userBadges: null,
needs: ["application"], needs: ["application"],
actions: { actions: {
loadMore: function() { loadMore() {
var self = this; const self = this;
var userBadges = this.get('userBadges'); const userBadges = this.get('userBadges');
Discourse.UserBadge.findByBadgeId(this.get('model.id'), { Discourse.UserBadge.findByBadgeId(this.get('model.id'), {
offset: userBadges.length offset: userBadges.length
}).then(function(userBadges) { }).then(function(result) {
self.get('userBadges').pushObjects(userBadges); userBadges.pushObjects(result);
if(userBadges.length === 0){ if(userBadges.length === 0){
self.set('noMoreBadges', true); self.set('noMoreBadges', true);
} }

View File

@ -1,13 +1,11 @@
import ObjectController from 'discourse/controllers/object'; export default Ember.Controller.extend({
export default ObjectController.extend({
needs: ['navigation/category', 'discovery/topics', 'application'], needs: ['navigation/category', 'discovery/topics', 'application'],
loading: false, loading: false,
category: Em.computed.alias('controllers.navigation/category.category'), category: Em.computed.alias('controllers.navigation/category.category'),
noSubcategories: Em.computed.alias('controllers.navigation/category.noSubcategories'), noSubcategories: Em.computed.alias('controllers.navigation/category.noSubcategories'),
loadedAllItems: Em.computed.not("controllers.discovery/topics.canLoadMore"), loadedAllItems: Em.computed.not("controllers.discovery/topics.model.canLoadMore"),
_showFooter: function() { _showFooter: function() {
this.set("controllers.application.showFooter", this.get("loadedAllItems")); this.set("controllers.application.showFooter", this.get("loadedAllItems"));

View File

@ -13,6 +13,7 @@ var controllerOpts = {
order: 'default', order: 'default',
ascending: false, ascending: false,
expandGloballyPinned: false,
actions: { actions: {
@ -80,6 +81,7 @@ var controllerOpts = {
}.property(), }.property(),
isFilterPage: function(filter, filterType) { isFilterPage: function(filter, filterType) {
if (!filter) { return false; }
return filter.match(new RegExp(filterType + '$', 'gi')) ? true : false; return filter.match(new RegExp(filterType + '$', 'gi')) ? true : false;
}, },
@ -92,15 +94,15 @@ var controllerOpts = {
}.property('filter', 'topics.length'), }.property('filter', 'topics.length'),
showDismissAtTop: function() { showDismissAtTop: function() {
return (this.isFilterPage(this.get('filter'), 'new') || return (this.isFilterPage(this.get('model.filter'), 'new') ||
this.isFilterPage(this.get('filter'), 'unread')) && this.isFilterPage(this.get('model.filter'), 'unread')) &&
this.get('topics.length') >= 30; this.get('model.topics.length') >= 30;
}.property('filter', 'topics.length'), }.property('model.filter', 'model.topics.length'),
hasTopics: Em.computed.gt('topics.length', 0), hasTopics: Em.computed.gt('model.topics.length', 0),
allLoaded: Em.computed.empty('more_topics_url'), allLoaded: Em.computed.empty('model.more_topics_url'),
latest: Discourse.computed.endWith('filter', 'latest'), latest: Discourse.computed.endWith('model.filter', 'latest'),
new: Discourse.computed.endWith('filter', 'new'), new: Discourse.computed.endWith('model.filter', 'new'),
top: Em.computed.notEmpty('period'), top: Em.computed.notEmpty('period'),
yearly: Em.computed.equal('period', 'yearly'), yearly: Em.computed.equal('period', 'yearly'),
monthly: Em.computed.equal('period', 'monthly'), monthly: Em.computed.equal('period', 'monthly'),
@ -114,7 +116,7 @@ var controllerOpts = {
if( category ) { if( category ) {
return I18n.t('topics.bottom.category', {category: category.get('name')}); return I18n.t('topics.bottom.category', {category: category.get('name')});
} else { } else {
var split = this.get('filter').split('/'); var split = (this.get('filter') || '').split('/');
if (this.get('topics.length') === 0) { if (this.get('topics.length') === 0) {
return I18n.t("topics.none." + split[0], { return I18n.t("topics.none." + split[0], {
category: split[1] category: split[1]
@ -130,7 +132,7 @@ var controllerOpts = {
footerEducation: function() { footerEducation: function() {
if (!this.get('allLoaded') || this.get('topics.length') > 0 || !Discourse.User.current()) { return; } if (!this.get('allLoaded') || this.get('topics.length') > 0 || !Discourse.User.current()) { return; }
var split = this.get('filter').split('/'); var split = (this.get('filter') || '').split('/');
if (split[0] !== 'new' && split[0] !== 'unread') { return; } if (split[0] !== 'new' && split[0] !== 'unread') { return; }

View File

@ -1,9 +1,9 @@
export default Em.ObjectController.extend({ export default Ember.Controller.extend({
showLoginButton: Em.computed.equal('path', 'login'), showLoginButton: Em.computed.equal('model.path', 'login'),
actions: { actions: {
markFaqRead: function() { markFaqRead: function() {
if (Discourse.User.current()) { if (this.currentUser) {
Discourse.ajax("/users/read-faq", { method: "POST" }); Discourse.ajax("/users/read-faq", { method: "POST" });
} }
} }

View File

@ -17,7 +17,7 @@ function entranceDate(dt, showTime) {
); );
} }
export default Ember.ObjectController.extend({ export default Ember.Controller.extend({
position: null, position: null,
createdDate: function() { createdDate: function() {
@ -51,11 +51,11 @@ export default Ember.ObjectController.extend({
}, },
enterTop: function() { enterTop: function() {
Discourse.URL.routeTo(this.get('url')); Discourse.URL.routeTo(this.get('model.url'));
}, },
enterBottom: function() { enterBottom: function() {
Discourse.URL.routeTo(this.get('lastPostUrl')); Discourse.URL.routeTo(this.get('model.lastPostUrl'));
} }
} }
}); });

View File

@ -1,6 +1,4 @@
import ObjectController from 'discourse/controllers/object'; export default Ember.Controller.extend({
export default ObjectController.extend({
needs: ['topic', 'application'], needs: ['topic', 'application'],
visible: false, visible: false,
user: null, user: null,

View File

@ -19,9 +19,12 @@ export default Ember.Mixin.create({
}, },
_rerenderString() { _rerenderString() {
const $sel = this.$();
if ($sel) { return; }
const buffer = []; const buffer = [];
this.renderString(buffer); this.renderString(buffer);
this.$().html(buffer.join('')); $sel.html(buffer.join(''));
}, },
rerenderString() { rerenderString() {

View File

@ -2,7 +2,7 @@ const rootURL = Discourse.BaseUri && Discourse.BaseUri !== "/" ? Discourse.BaseU
const Router = Ember.Router.extend({ const Router = Ember.Router.extend({
rootURL, rootURL,
location: Ember.Test ? 'none': 'discourse-location' location: Ember.testing ? 'none': 'discourse-location'
}); });
export function mapRoutes() { export function mapRoutes() {

View File

@ -14,15 +14,15 @@
</ul> </ul>
<section class='about'> <section class='about'>
<h2>{{i18n 'about.title' title=title}}</h2> <h2>{{i18n 'about.title' title=model.title}}</h2>
<p>{{description}}</p> <p>{{model.description}}</p>
</section> </section>
{{#if admins}} {{#if model.admins}}
<section class='about admins'> <section class='about admins'>
<h3>{{i18n 'about.our_admins'}}</h3> <h3>{{i18n 'about.our_admins'}}</h3>
{{#each a in admins}} {{#each a in model.admins}}
{{user-small user=a}} {{user-small user=a}}
{{/each}} {{/each}}
<div class='clearfix'></div> <div class='clearfix'></div>
@ -30,12 +30,12 @@
</section> </section>
{{/if}} {{/if}}
{{#if moderators}} {{#if model.moderators}}
<section class='about moderators'> <section class='about moderators'>
<h3>{{i18n 'about.our_moderators'}}</h3> <h3>{{i18n 'about.our_moderators'}}</h3>
<div class='users'> <div class='users'>
{{#each m in moderators}} {{#each m in model.moderators}}
{{user-small user=m}} {{user-small user=m}}
{{/each}} {{/each}}
</div> </div>
@ -55,33 +55,33 @@
</tr> </tr>
<tr> <tr>
<td class='title'>{{i18n 'about.topic_count'}}</td> <td class='title'>{{i18n 'about.topic_count'}}</td>
<td>{{number stats.topic_count}}</td> <td>{{number model.stats.topic_count}}</td>
<td>{{number stats.topics_7_days}}</td> <td>{{number model.stats.topics_7_days}}</td>
<td>{{number stats.topics_30_days}}</td> <td>{{number model.stats.topics_30_days}}</td>
</tr> </tr>
<tr> <tr>
<td>{{i18n 'about.post_count'}}</td> <td>{{i18n 'about.post_count'}}</td>
<td>{{number stats.post_count}}</td> <td>{{number model.stats.post_count}}</td>
<td>{{number stats.posts_7_days}}</td> <td>{{number model.stats.posts_7_days}}</td>
<td>{{number stats.posts_30_days}}</td> <td>{{number model.stats.posts_30_days}}</td>
</tr> </tr>
<tr> <tr>
<td>{{i18n 'about.user_count'}}</td> <td>{{i18n 'about.user_count'}}</td>
<td>{{number stats.user_count}}</td> <td>{{number model.stats.user_count}}</td>
<td>{{number stats.users_7_days}}</td> <td>{{number model.stats.users_7_days}}</td>
<td>{{number stats.users_30_days}}</td> <td>{{number model.stats.users_30_days}}</td>
</tr> </tr>
<tr> <tr>
<td>{{i18n 'about.active_user_count'}}</td> <td>{{i18n 'about.active_user_count'}}</td>
<td>&mdash;</td> <td>&mdash;</td>
<td>{{number stats.active_users_7_days}}</td> <td>{{number model.stats.active_users_7_days}}</td>
<td>{{number stats.active_users_30_days}}</td> <td>{{number model.stats.active_users_30_days}}</td>
</tr> </tr>
<tr> <tr>
<td>{{i18n 'about.like_count'}}</td> <td>{{i18n 'about.like_count'}}</td>
<td>{{number stats.like_count}}</td> <td>{{number model.stats.like_count}}</td>
<td>{{number stats.likes_7_days}}</td> <td>{{number model.stats.likes_7_days}}</td>
<td>{{number stats.likes_30_days}}</td> <td>{{number model.stats.likes_30_days}}</td>
</tr> </tr>
</table> </table>
</section> </section>

View File

@ -1,16 +1,16 @@
<div class='container show-badge'> <div class='container show-badge'>
<h1> <h1>
{{#link-to 'badges.index'}}{{i18n 'badges.title'}}{{/link-to}} {{#link-to 'badges.index'}}{{i18n 'badges.title'}}{{/link-to}}
<i class='fa fa-angle-right'></i> {{fa-icon "angle-right"}}
{{displayName}} {{model.displayName}}
</h1> </h1>
<table class='badges-listing'> <table class='badges-listing'>
<tbody> <tbody>
<tr> <tr>
<td class='badge'>{{user-badge badge=this}}</td> <td class='badge'>{{user-badge badge=model}}</td>
<td class='description'>{{{displayDescriptionHtml}}}</td> <td class='description'>{{{model.displayDescriptionHtml}}}</td>
<td class='grant-count'>{{i18n 'badges.granted' count=grant_count}}</td> <td class='grant-count'>{{i18n 'badges.granted' count=model.grant_count}}</td>
<td class='info'>{{i18n 'badges.allow_title'}} {{{view.allowTitle}}}<br>{{i18n 'badges.multiple_grant'}} {{{view.multipleGrant}}} <td class='info'>{{i18n 'badges.allow_title'}} {{{view.allowTitle}}}<br>{{i18n 'badges.multiple_grant'}} {{{view.multipleGrant}}}
</td> </td>
</tr> </tr>

View File

@ -1,6 +1,6 @@
{{#if category}} {{#if category}}
<a href {{action "expand"}} class="badge-category" {{bind-attr style="badgeStyle"}}> <a href {{action "expand"}} class="badge-category" style={{badgeStyle}}>
<span class="badge-category-bg" {{bind-attr style="categoryColor"}}></span> <span class="badge-category-bg" style={{categoryColor}}></span>
{{#if category.read_restricted}} {{#if category.read_restricted}}
{{fa-icon "lock"}} {{fa-icon "lock"}}
{{/if}} {{/if}}
@ -8,14 +8,14 @@
</a> </a>
{{else}} {{else}}
{{#if noSubcategories}} {{#if noSubcategories}}
<a href {{action "expand"}} class='badge-category home' {{bind-attr style="badgeStyle"}}>{{i18n 'categories.no_subcategory'}}</a> <a href {{action "expand"}} class='badge-category home' style={{badgeStyle}}>{{i18n 'categories.no_subcategory'}}</a>
{{else}} {{else}}
<a href {{action "expand"}} class='badge-category home' {{bind-attr style="badgeStyle"}}>{{allCategoriesLabel}}</a> <a href {{action "expand"}} class='badge-category home' style={{badgeStyle}}>{{allCategoriesLabel}}</a>
{{/if}} {{/if}}
{{/if}} {{/if}}
{{#if categories}} {{#if categories}}
<a href {{action "expand"}} {{bind-attr class="dropdownButtonClass" style="badgeStyle"}}><i {{bind-attr class="iconClass"}}></i></a> <a href {{action "expand"}} class={{dropdownButtonClass}} style={{badgeStyle}}><i class={{iconClass}}></i></a>
<section {{bind-attr class="expanded::hidden :category-dropdown-menu :chooser"}}> <section {{bind-attr class="expanded::hidden :category-dropdown-menu :chooser"}}>
<div class='cat'><a {{bind-attr href=allCategoriesUrl}} data-drop-close="true" class='badge-category home'>{{allCategoriesLabel}}</a></div> <div class='cat'><a {{bind-attr href=allCategoriesUrl}} data-drop-close="true" class='badge-category home'>{{allCategoriesLabel}}</a></div>
{{#if subCategory}} {{#if subCategory}}

View File

@ -39,19 +39,19 @@
canBulkSelect=canBulkSelect canBulkSelect=canBulkSelect
changeSort="changeSort" changeSort="changeSort"
toggleBulkSelect="toggleBulkSelect" toggleBulkSelect="toggleBulkSelect"
hideCategory=hideCategory hideCategory=model.hideCategory
order=order order=order
ascending=ascending ascending=ascending
bulkSelectEnabled=bulkSelectEnabled bulkSelectEnabled=bulkSelectEnabled
selected=selected selected=selected
expandGloballyPinned=expandGloballyPinned expandGloballyPinned=expandGloballyPinned
expandAllPinned=expandAllPinned expandAllPinned=model.expandAllPinned
topics=topics}} topics=model.topics}}
{{/if}} {{/if}}
</div> </div>
<footer class='topic-list-bottom'> <footer class='topic-list-bottom'>
{{conditional-loading-spinner condition=loadingMore}} {{conditional-loading-spinner condition=model.loadingMore}}
{{#if allLoaded}} {{#if allLoaded}}
{{#if showDismissRead}} {{#if showDismissRead}}
<button title="{{i18n 'topics.bulk.dismiss_topics_tooltip'}}" id='dismiss-topics' class='btn dismiss-read' {{action "dismissRead" "topics"}}>{{i18n 'topics.bulk.dismiss_topics'}}</button> <button title="{{i18n 'topics.bulk.dismiss_topics_tooltip'}}" id='dismiss-topics' class='btn dismiss-read' {{action "dismissRead" "topics"}}>{{i18n 'topics.bulk.dismiss_topics'}}</button>

View File

@ -1,9 +1,9 @@
<div class='container'> <div class='container'>
<div class='contents clearfix body-page'> <div class='contents clearfix body-page'>
{{{html}}} {{{model.html}}}
{{#if showLoginButton}} {{#if showLoginButton}}
<button class="btn btn-primary" {{action "showLogin"}}><i class="fa fa-user"></i>{{i18n 'log_in'}}</button> <button class="btn btn-primary" {{action "showLogin"}}>{{fa-icon "user"}}{{i18n 'log_in'}}</button>
{{/if}} {{/if}}
</div> </div>
</div> </div>