diff --git a/app/assets/javascripts/admin/controllers/admin_api_controller.js b/app/assets/javascripts/admin/controllers/admin_api_controller.js index 8a0861c6ea4..856c39c3d56 100644 --- a/app/assets/javascripts/admin/controllers/admin_api_controller.js +++ b/app/assets/javascripts/admin/controllers/admin_api_controller.js @@ -25,7 +25,7 @@ Discourse.AdminApiController = Ember.ArrayController.extend({ Creates an API key instance with internal user object @method regenerateKey - @param {Discourse.ApiKey} the key to regenerate + @param {Discourse.ApiKey} key the key to regenerate **/ regenerateKey: function(key) { bootbox.confirm(I18n.t("admin.api.confirm_regen"), I18n.t("no_value"), I18n.t("yes_value"), function(result) { @@ -39,7 +39,7 @@ Discourse.AdminApiController = Ember.ArrayController.extend({ Revokes an API key @method revokeKey - @param {Discourse.ApiKey} the key to revoke + @param {Discourse.ApiKey} key the key to revoke **/ revokeKey: function(key) { var self = this; diff --git a/app/assets/javascripts/admin/controllers/admin_backups_controller.js b/app/assets/javascripts/admin/controllers/admin_backups_controller.js index 600f02a7869..ccfa5a8a074 100644 --- a/app/assets/javascripts/admin/controllers/admin_backups_controller.js +++ b/app/assets/javascripts/admin/controllers/admin_backups_controller.js @@ -1,5 +1,5 @@ Discourse.AdminBackupsController = Ember.ObjectController.extend({ noOperationIsRunning: Em.computed.not("isOperationRunning"), rollbackEnabled: Em.computed.and("canRollback", "restoreEnabled", "noOperationIsRunning"), - rollbackDisabled: Em.computed.not("rollbackEnabled"), + rollbackDisabled: Em.computed.not("rollbackEnabled") }); diff --git a/app/assets/javascripts/admin/controllers/admin_backups_index_controller.js b/app/assets/javascripts/admin/controllers/admin_backups_index_controller.js index c505e177ebb..1867b252784 100644 --- a/app/assets/javascripts/admin/controllers/admin_backups_index_controller.js +++ b/app/assets/javascripts/admin/controllers/admin_backups_index_controller.js @@ -71,6 +71,5 @@ Discourse.AdminBackupsIndexController = Ember.ArrayController.extend({ }).then(function() { Discourse.set("isReadOnly", enable); }); - }, - + } }); diff --git a/app/assets/javascripts/admin/controllers/admin_backups_logs_controller.js b/app/assets/javascripts/admin/controllers/admin_backups_logs_controller.js index 1a9f8e7ccf0..1e4fd13ae73 100644 --- a/app/assets/javascripts/admin/controllers/admin_backups_logs_controller.js +++ b/app/assets/javascripts/admin/controllers/admin_backups_logs_controller.js @@ -1,4 +1,4 @@ Discourse.AdminBackupsLogsController = Ember.ArrayController.extend({ needs: ["adminBackups"], - status: Em.computed.alias("controllers.adminBackups"), + status: Em.computed.alias("controllers.adminBackups") }); diff --git a/app/assets/javascripts/admin/controllers/admin_email_logs_controllers.js b/app/assets/javascripts/admin/controllers/admin_email_logs_controllers.js index 356b25549cc..449104c0521 100644 --- a/app/assets/javascripts/admin/controllers/admin_email_logs_controllers.js +++ b/app/assets/javascripts/admin/controllers/admin_email_logs_controllers.js @@ -13,8 +13,7 @@ Discourse.AdminEmailSentController = Discourse.Controller.extend({ Discourse.EmailLog.findAll(this.get("filter")).then(function(logs) { self.set("model", logs); }); - }, 250).observes("filter.user", "filter.address", "filter.type", "filter.reply_key"), - + }, 250).observes("filter.user", "filter.address", "filter.type", "filter.reply_key") }); /** @@ -32,8 +31,7 @@ Discourse.AdminEmailSkippedController = Discourse.Controller.extend({ Discourse.EmailLog.findAll(this.get("filter")).then(function(logs) { self.set("model", logs); }); - }, 250).observes("filter.user", "filter.address", "filter.type", "filter.skipped_reason"), - + }, 250).observes("filter.user", "filter.address", "filter.type", "filter.skipped_reason") }); diff --git a/app/assets/javascripts/admin/models/api_key.js b/app/assets/javascripts/admin/models/api_key.js index 4c21df9a513..40968855841 100644 --- a/app/assets/javascripts/admin/models/api_key.js +++ b/app/assets/javascripts/admin/models/api_key.js @@ -40,7 +40,7 @@ Discourse.ApiKey.reopenClass({ Creates an API key instance with internal user object @method create - @param {Object} the properties to create + @param {...} var_args the properties to initialize this with @returns {Discourse.ApiKey} the ApiKey instance **/ create: function() { diff --git a/app/assets/javascripts/admin/models/backup.js b/app/assets/javascripts/admin/models/backup.js index 48cbe0e9d17..28a6115a8f3 100644 --- a/app/assets/javascripts/admin/models/backup.js +++ b/app/assets/javascripts/admin/models/backup.js @@ -85,6 +85,5 @@ Discourse.Backup.reopenClass({ window.location.pathname = Discourse.getURL("/"); } }); - }, - + } }); diff --git a/app/assets/javascripts/admin/models/backup_status.js b/app/assets/javascripts/admin/models/backup_status.js index 1127b5c8601..c11c8758148 100644 --- a/app/assets/javascripts/admin/models/backup_status.js +++ b/app/assets/javascripts/admin/models/backup_status.js @@ -12,6 +12,5 @@ Discourse.BackupStatus = Discourse.Model.extend({ restoreEnabled: function() { return Discourse.SiteSettings.allow_restore && !this.get("isOperationRunning"); - }.property("isOperationRunning"), - + }.property("isOperationRunning") }); diff --git a/app/assets/javascripts/admin/routes/admin_backups_route.js b/app/assets/javascripts/admin/routes/admin_backups_route.js index 74cd765c6cc..bed160c6389 100644 --- a/app/assets/javascripts/admin/routes/admin_backups_route.js +++ b/app/assets/javascripts/admin/routes/admin_backups_route.js @@ -31,7 +31,7 @@ Discourse.AdminBackupsRoute = Discourse.Route.extend({ }).then(function (status) { return Discourse.BackupStatus.create({ isOperationRunning: status.is_operation_running, - canRollback: status.can_rollback, + canRollback: status.can_rollback }); }); }, @@ -69,7 +69,7 @@ Discourse.AdminBackupsRoute = Discourse.Route.extend({ Destroys a backup @method destroyBackup - @param {Discourse.Backup} the backup to destroy + @param {Discourse.Backup} backup the backup to destroy **/ destroyBackup: function(backup) { var self = this; @@ -91,7 +91,7 @@ Discourse.AdminBackupsRoute = Discourse.Route.extend({ Start a restore and redirect the user to the logs tab @method startRestore - @param {Discourse.Backup} the backup to restore + @param {Discourse.Backup} backup the backup to restore **/ startRestore: function(backup) { var self = this; @@ -160,7 +160,6 @@ Discourse.AdminBackupsRoute = Discourse.Route.extend({ uploadError: function(filename, message) { bootbox.alert(I18n.t("admin.backups.upload.error", { filename: filename, message: message })); - }, + } } - }); diff --git a/app/assets/javascripts/admin/views/admin_customize_view.js b/app/assets/javascripts/admin/views/admin_customize_view.js index 83fc6961e6a..767559bf721 100644 --- a/app/assets/javascripts/admin/views/admin_customize_view.js +++ b/app/assets/javascripts/admin/views/admin_customize_view.js @@ -22,7 +22,7 @@ Discourse.AdminCustomizeView = Discourse.View.extend({ selectStylesheet: function() { this.set('selected', 'stylesheet'); }, selectMobileHeader: function() { this.set('selected', 'mobileHeader'); }, - selectMobileStylesheet: function() { this.set('selected', 'mobileStylesheet'); }, + selectMobileStylesheet: function() { this.set('selected', 'mobileStylesheet'); } }, didInsertElement: function() { diff --git a/app/assets/javascripts/discourse/components/auto_close_form_component.js b/app/assets/javascripts/discourse/components/auto_close_form_component.js index 2d8e1bbe709..b760c710930 100644 --- a/app/assets/javascripts/discourse/components/auto_close_form_component.js +++ b/app/assets/javascripts/discourse/components/auto_close_form_component.js @@ -8,7 +8,7 @@ Discourse.AutoCloseFormComponent = Ember.Component.extend({ autoCloseChanged: function() { if( this.get('autoCloseTime') && this.get('autoCloseTime').length > 0 ) { - this.set('autoCloseTime', this.get('autoCloseTime').replace(/[^\d-\s\:]/g, '') ); + this.set('autoCloseTime', this.get('autoCloseTime').replace(/[^:\d-\s]/g, '') ); } this.set('autoCloseValid', this.isAutoCloseValid()); }.observes('autoCloseTime'), diff --git a/app/assets/javascripts/discourse/controllers/_discovery_controller.js b/app/assets/javascripts/discourse/controllers/_discovery_controller.js index 0613340edac..fe94813e5b6 100644 --- a/app/assets/javascripts/discourse/controllers/_discovery_controller.js +++ b/app/assets/javascripts/discourse/controllers/_discovery_controller.js @@ -20,5 +20,5 @@ Discourse.DiscoveryController = Discourse.ObjectController.extend({ showMoreDailyUrl: function() { return this.showMoreUrl('daily'); }.property('category', 'noSubcategories'), showMoreWeeklyUrl: function() { return this.showMoreUrl('weekly'); }.property('category', 'noSubcategories'), showMoreMonthlyUrl: function() { return this.showMoreUrl('monthly'); }.property('category', 'noSubcategories'), - showMoreYearlyUrl: function() { return this.showMoreUrl('yearly'); }.property('category', 'noSubcategories'), + showMoreYearlyUrl: function() { return this.showMoreUrl('yearly'); }.property('category', 'noSubcategories') }); diff --git a/app/assets/javascripts/discourse/controllers/group_controller.js b/app/assets/javascripts/discourse/controllers/group_controller.js index 8d7d193ec04..2d7b0ff7df1 100644 --- a/app/assets/javascripts/discourse/controllers/group_controller.js +++ b/app/assets/javascripts/discourse/controllers/group_controller.js @@ -12,6 +12,6 @@ Discourse.GroupController = Discourse.ObjectController.extend({ // It would be nice if bootstrap marked action lists as selected when their links // were 'active' not the `li` tags. showingIndex: Em.computed.equal('showing', 'index'), - showingMembers: Em.computed.equal('showing', 'members'), + showingMembers: Em.computed.equal('showing', 'members') }); diff --git a/app/assets/javascripts/discourse/controllers/user_invited_controller.js b/app/assets/javascripts/discourse/controllers/user_invited_controller.js index db07e01ea07..fac3c5be298 100644 --- a/app/assets/javascripts/discourse/controllers/user_invited_controller.js +++ b/app/assets/javascripts/discourse/controllers/user_invited_controller.js @@ -44,8 +44,7 @@ Discourse.UserInvitedController = Ember.ArrayController.extend({ @property showSearch **/ showSearch: function() { - if (Em.isNone(this.get('searchTerm')) && this.get('model.length') === 0) { return false; } - return true; + return !(Em.isNone(this.get('searchTerm')) && this.get('model.length') === 0); }.property('searchTerm', 'model.length'), /** diff --git a/app/assets/javascripts/discourse/dialects/bbcode_dialect.js b/app/assets/javascripts/discourse/dialects/bbcode_dialect.js index 51357be810d..d47698d8b68 100644 --- a/app/assets/javascripts/discourse/dialects/bbcode_dialect.js +++ b/app/assets/javascripts/discourse/dialects/bbcode_dialect.js @@ -4,7 +4,14 @@ @method replaceBBCode @param {tag} tag the tag we want to match @param {function} emitter the function that creates JsonML for the tag - @param {Object} hash of options to pass to `inlineBetween` + @param {Object} opts options to pass to Discourse.Dialect.inlineBetween + @param {Function} [opts.emitter] The function that will be called with the contents and returns JsonML. + @param {String} [opts.start] The starting token we want to find + @param {String} [opts.stop] The ending token we want to find + @param {String} [opts.between] A shortcut for when the `start` and `stop` are the same. + @param {Boolean} [opts.rawContents] If true, the contents between the tokens will not be parsed. + @param {Boolean} [opts.wordBoundary] If true, the match must be on a word boundary + @param {Boolean} [opts.spaceBoundary] If true, the match must be on a sppace boundary **/ function replaceBBCode(tag, emitter, opts) { opts = opts || {}; diff --git a/app/assets/javascripts/discourse/dialects/dialect.js b/app/assets/javascripts/discourse/dialects/dialect.js index cf12fc64d1d..6dfe71cfb2c 100644 --- a/app/assets/javascripts/discourse/dialects/dialect.js +++ b/app/assets/javascripts/discourse/dialects/dialect.js @@ -120,10 +120,10 @@ function parseTree(tree, path, insideCounts) { **/ function invalidBoundary(args, prev) { - if (!args.wordBoundary && !args.spaceBoundary) { return; } + if (!args.wordBoundary && !args.spaceBoundary) { return false; } var last = prev[prev.length - 1]; - if (typeof last !== "string") { return; } + if (typeof last !== "string") { return false; } if (args.wordBoundary && (last.match(/(\w|\/)$/))) { return true; } if (args.spaceBoundary && (!last.match(/\s$/))) { return true; } @@ -143,15 +143,15 @@ Discourse.Dialect = { @method cook @param {String} text the raw text to cook + @param {Object} opts hash of options @returns {String} the cooked text **/ cook: function(text, opts) { if (!initialized) { initializeDialects(); } dialect.options = opts; - var tree = parser.toHTMLTree(text, 'Discourse'), - html = parser.renderJsonML(parseTree(tree)); + var tree = parser.toHTMLTree(text, 'Discourse'); - return html; + return parser.renderJsonML(parseTree(tree)); }, /** @@ -288,9 +288,8 @@ Discourse.Dialect = { the other helpers such as `replaceBlock` so consider using them first! @method registerBlock - @param {String} the name of the block handler - @param {Function} the handler - + @param {String} name the name of the block handler + @param {Function} handler the handler **/ registerBlock: function(name, handler) { dialect.block[name] = handler; diff --git a/app/assets/javascripts/discourse/lib/autocomplete.js b/app/assets/javascripts/discourse/lib/autocomplete.js index f439626b525..fdb424c0e86 100644 --- a/app/assets/javascripts/discourse/lib/autocomplete.js +++ b/app/assets/javascripts/discourse/lib/autocomplete.js @@ -271,7 +271,7 @@ $.fn.autocomplete = function(options) { }); return $(this).keydown(function(e) { - var c, caretPosition, i, initial, next, nextIsGood, prev, prevIsGood, stopFound, term, total, userToComplete; + var c, caretPosition, i, initial, next, prev, prevIsGood, stopFound, term, total, userToComplete; if(options.allowAny){ // saves us wiring up a change event as well, keypress is while its pressed @@ -298,7 +298,6 @@ $.fn.autocomplete = function(options) { if ((completeStart === null) && e.which === 8 && options.key) { c = Discourse.Utilities.caretPosition(me[0]); next = me[0].value[c]; - nextIsGood = next === void 0 || /\s/.test(next); c -= 1; initial = c; prevIsGood = true; diff --git a/app/assets/javascripts/discourse/lib/caret_position.js b/app/assets/javascripts/discourse/lib/caret_position.js index 8569d3b7660..c08127728f5 100644 --- a/app/assets/javascripts/discourse/lib/caret_position.js +++ b/app/assets/javascripts/discourse/lib/caret_position.js @@ -71,8 +71,6 @@ $.fn.caretPosition = function(options) { "line-height": important("line-height") }); - before = void 0; - after = void 0; pos = options && (options.pos || options.pos === 0) ? options.pos : getCaret(textarea[0]); val = textarea.val().replace("\r", ""); if (options && options.key) { diff --git a/app/assets/javascripts/discourse/lib/computed.js b/app/assets/javascripts/discourse/lib/computed.js index 5dab103d774..952a508dc80 100644 --- a/app/assets/javascripts/discourse/lib/computed.js +++ b/app/assets/javascripts/discourse/lib/computed.js @@ -110,6 +110,6 @@ Discourse.computed = { }); }); return computed.property.apply(computed, args); - }, + } }; diff --git a/app/assets/javascripts/discourse/lib/eyeline.js b/app/assets/javascripts/discourse/lib/eyeline.js index 54a0434f522..ded17866ec8 100644 --- a/app/assets/javascripts/discourse/lib/eyeline.js +++ b/app/assets/javascripts/discourse/lib/eyeline.js @@ -21,7 +21,6 @@ Discourse.Eyeline.prototype.update = function() { docViewBottom = docViewTop + windowHeight, $elements = $(this.selector), atBottom = false, - foundElement = false, bottomOffset = $elements.last().offset(), self = this; @@ -29,9 +28,6 @@ Discourse.Eyeline.prototype.update = function() { atBottom = (bottomOffset.top <= docViewBottom) && (bottomOffset.top >= docViewTop); } - // Whether we've seen any elements in this search - foundElement = false; - return $elements.each(function(i, elem) { var $elem = $(elem), elemTop = $elem.offset().top, diff --git a/app/assets/javascripts/discourse/lib/formatter.js b/app/assets/javascripts/discourse/lib/formatter.js index 946aebc3df3..337a81f8dd2 100644 --- a/app/assets/javascripts/discourse/lib/formatter.js +++ b/app/assets/javascripts/discourse/lib/formatter.js @@ -237,7 +237,7 @@ relativeAgeMediumSpan = function(distance, leaveAgo) { relativeAgeMedium = function(date, options){ var displayDate, fiveDaysAgo, oneMinuteAgo, fullReadable, leaveAgo; - var wrapInSpan = options.wrapInSpan === false ? false : true; + var wrapInSpan = options.wrapInSpan !== false; leaveAgo = options.leaveAgo; var distance = Math.round((new Date() - date) / 1000); diff --git a/app/assets/javascripts/discourse/lib/markdown.js b/app/assets/javascripts/discourse/lib/markdown.js index a2bdfde351e..00748dfae1c 100644 --- a/app/assets/javascripts/discourse/lib/markdown.js +++ b/app/assets/javascripts/discourse/lib/markdown.js @@ -13,10 +13,10 @@ Discourse.Markdown = { validIframes: [], /** - Whitelists classes for sanitization + Whitelists more classes for sanitization. + @param {...String} var_args Classes to whitelist @method whiteListClass - @param {String} val The value to whitelist. Can supply more than one argument **/ whiteListClass: function() { var args = Array.prototype.slice.call(arguments), @@ -113,7 +113,10 @@ Discourse.Markdown = { Checks to see if a URL is allowed in the cooked content @method urlAllowed - @param {String} url Url to check + @param {String} uri Url to check + @param {Number} effect ignored + @param {Number} ltype ignored + @param {Object} hints an object with hints, used to check if this url is from an iframe @return {String} url to insert in the cooked content **/ urlAllowed: function (uri, effect, ltype, hints) { diff --git a/app/assets/javascripts/discourse/lib/mobile.js b/app/assets/javascripts/discourse/lib/mobile.js index c1b904970fe..902053b71fd 100644 --- a/app/assets/javascripts/discourse/lib/mobile.js +++ b/app/assets/javascripts/discourse/lib/mobile.js @@ -14,7 +14,7 @@ Discourse.Mobile = { this.mobileView = $html.hasClass('mobile-view'); if (localStorage && localStorage.mobileView) { - var savedValue = (localStorage.mobileView === 'true' ? true : false); + var savedValue = (localStorage.mobileView === 'true'); if (savedValue !== this.mobileView) { this.reloadPage(savedValue); } diff --git a/app/assets/javascripts/discourse/lib/page_tracker.js b/app/assets/javascripts/discourse/lib/page_tracker.js index d8a74a148a5..cd581ee01e1 100644 --- a/app/assets/javascripts/discourse/lib/page_tracker.js +++ b/app/assets/javascripts/discourse/lib/page_tracker.js @@ -22,7 +22,8 @@ Discourse.PageTracker = Ember.Object.extend(Ember.Evented, { self = this; router.on('didTransition', function() { - self.trigger('change', this.get('url')); + var router = this; + self.trigger('change', router.get('url')); }); this.set('started', true); } diff --git a/app/assets/javascripts/discourse/lib/user_search.js b/app/assets/javascripts/discourse/lib/user_search.js index c0a11c80f70..9bf1989c9da 100644 --- a/app/assets/javascripts/discourse/lib/user_search.js +++ b/app/assets/javascripts/discourse/lib/user_search.js @@ -35,7 +35,7 @@ Discourse.UserSearch = { var promise = Ember.Deferred.create(); // TODO site setting for allowed regex in username - if (term.match(/[^a-zA-Z0-9\_\.]/)) { + if (term.match(/[^a-zA-Z0-9_\.]/)) { promise.resolve([]); return promise; } @@ -54,8 +54,7 @@ Discourse.UserSearch = { users.push(u); results.push(u); } - if (results.length > limit) return false; - return true; + return results.length <= limit; }); _.each(r.groups,function(g) { diff --git a/app/assets/javascripts/discourse/lib/utilities.js b/app/assets/javascripts/discourse/lib/utilities.js index 0e4e913524e..71dbe19522c 100644 --- a/app/assets/javascripts/discourse/lib/utilities.js +++ b/app/assets/javascripts/discourse/lib/utilities.js @@ -210,7 +210,7 @@ Discourse.Utilities = { Check the extension of the file against the list of authorized extensions @method isAuthorizedUpload - @param {File} files The file we want to upload + @param {File} file The file we want to upload **/ isAuthorizedUpload: function(file) { var extensions = Discourse.SiteSettings.authorized_extensions; diff --git a/app/assets/javascripts/discourse/mixins/modal_functionality.js b/app/assets/javascripts/discourse/mixins/modal_functionality.js index acb22820496..8cb98fc86a8 100644 --- a/app/assets/javascripts/discourse/mixins/modal_functionality.js +++ b/app/assets/javascripts/discourse/mixins/modal_functionality.js @@ -13,7 +13,8 @@ Discourse.ModalFunctionality = Em.Mixin.create({ Flash a message at the top of the modal @method blank - @param {String} name the name of the property we want to check + @param {String} message I18n name of the message + @param {String} messageClass CSS class to apply @return {Boolean} **/ flash: function(message, messageClass) { diff --git a/app/assets/javascripts/discourse/mixins/scroll_top.js b/app/assets/javascripts/discourse/mixins/scroll_top.js index b9c7c68cce8..da92d81bf04 100644 --- a/app/assets/javascripts/discourse/mixins/scroll_top.js +++ b/app/assets/javascripts/discourse/mixins/scroll_top.js @@ -12,7 +12,6 @@ Discourse.ScrollTop = Em.Mixin.create({ Em.run.schedule('afterRender', function() { $(document).scrollTop(0); }); - }.on('didInsertElement'), - + }.on('didInsertElement') }); diff --git a/app/assets/javascripts/discourse/models/category_list.js b/app/assets/javascripts/discourse/models/category_list.js index 69ac544513d..5048316ed31 100644 --- a/app/assets/javascripts/discourse/models/category_list.js +++ b/app/assets/javascripts/discourse/models/category_list.js @@ -66,7 +66,7 @@ Discourse.CategoryList.reopenClass({ can_create_category: result.category_list.can_create_category, can_create_topic: result.category_list.can_create_topic, draft_key: result.category_list.draft_key, - draft_sequence: result.category_list.draft_sequence, + draft_sequence: result.category_list.draft_sequence }); }); } diff --git a/app/assets/javascripts/discourse/models/composer.js b/app/assets/javascripts/discourse/models/composer.js index f05797533fb..4416bf5c01a 100644 --- a/app/assets/javascripts/discourse/models/composer.js +++ b/app/assets/javascripts/discourse/models/composer.js @@ -126,14 +126,10 @@ Discourse.Composer = Discourse.Model.extend({ // reply is always required if (this.get('missingReplyCharacters') > 0) return true; - if (this.get('canCategorize') && + return this.get('canCategorize') && !Discourse.SiteSettings.allow_uncategorized_topics && !this.get('categoryId') && - !Discourse.User.currentProp('staff')) { - return true; - } - - return false; + !Discourse.User.currentProp('staff'); }.property('loading', 'canEditTitle', 'titleLength', 'targetUsernames', 'replyLength', 'categoryId', 'missingReplyCharacters'), /** diff --git a/app/assets/javascripts/discourse/models/post.js b/app/assets/javascripts/discourse/models/post.js index f681d1f4725..a41377b15ca 100644 --- a/app/assets/javascripts/discourse/models/post.js +++ b/app/assets/javascripts/discourse/models/post.js @@ -103,11 +103,10 @@ Discourse.Post = Discourse.Model.extend({ }.property('updated_at'), flagsAvailable: function() { - var post = this, - flags = Discourse.Site.currentProp('flagTypes').filter(function(item) { + var post = this; + return Discourse.Site.currentProp('flagTypes').filter(function(item) { return post.get("actionByName." + (item.get('name_key')) + ".can_act"); }); - return flags; }.property('actions_summary.@each.can_act'), actionsHistory: function() { diff --git a/app/assets/javascripts/discourse/models/post_stream.js b/app/assets/javascripts/discourse/models/post_stream.js index c66f1a82d19..90e78859c0f 100644 --- a/app/assets/javascripts/discourse/models/post_stream.js +++ b/app/assets/javascripts/discourse/models/post_stream.js @@ -179,7 +179,6 @@ Discourse.PostStream = Em.Object.extend({ Cancel any active filters on the stream. @method cancelFilter - @returns {Ember.Deferred} a promise that resolves when the filter has been cancelled. **/ cancelFilter: function() { this.set('summary', false); @@ -373,8 +372,8 @@ Discourse.PostStream = Em.Object.extend({ `undoPost` when it fails. @method stagePost - @param {Discourse.Post} the post to stage in the stream - @param {Discourse.User} the user creating the post + @param {Discourse.Post} post the post to stage in the stream + @param {Discourse.User} user the user creating the post **/ stagePost: function(post, user) { diff --git a/app/assets/javascripts/discourse/models/top_list.js b/app/assets/javascripts/discourse/models/top_list.js index 3b05f67d1a9..a7a6078625c 100644 --- a/app/assets/javascripts/discourse/models/top_list.js +++ b/app/assets/javascripts/discourse/models/top_list.js @@ -19,7 +19,7 @@ Discourse.TopList.reopenClass({ can_create_topic: result.can_create_topic, draft: result.draft, draft_key: result.draft_key, - draft_sequence: result.draft_sequence, + draft_sequence: result.draft_sequence }); Discourse.Site.currentProp('periods').forEach(function(period) { diff --git a/app/assets/javascripts/discourse/models/topic.js b/app/assets/javascripts/discourse/models/topic.js index ca4858cd49c..bb7b60fe6e5 100644 --- a/app/assets/javascripts/discourse/models/topic.js +++ b/app/assets/javascripts/discourse/models/topic.js @@ -168,8 +168,7 @@ Discourse.Topic = Discourse.Model.extend({ if (!wordCount) return; // Avg for 500 words per minute when you account for skimming - var minutes = Math.floor(wordCount / 500.0); - return minutes; + return Math.floor(wordCount / 500.0); }.property('word_count'), toggleStar: function() { diff --git a/app/assets/javascripts/discourse/models/topic_list.js b/app/assets/javascripts/discourse/models/topic_list.js index 7c8b2e07f37..5c2d1b1cd6d 100644 --- a/app/assets/javascripts/discourse/models/topic_list.js +++ b/app/assets/javascripts/discourse/models/topic_list.js @@ -162,7 +162,7 @@ Discourse.TopicList.reopenClass({ Stitch together side loaded topic data @method topicsFrom - @param {Object} JSON object with topic data + @param {Object} result JSON object with topic data @returns {Array} the list of topics **/ topicsFrom: function(result) { @@ -204,8 +204,8 @@ Discourse.TopicList.reopenClass({ Lists topics on a given menu item @method list - @param {Object} The menu item to filter to - @param {Object} Any additional params + @param {Object} filter The menu item to filter to + @param {Object} params Any additional params to pass to TopicList.find() @returns {Promise} a promise that resolves to the list of topics **/ list: function(filter, params) { diff --git a/app/assets/javascripts/discourse/models/user.js b/app/assets/javascripts/discourse/models/user.js index c09e53feb50..e253b0c4766 100644 --- a/app/assets/javascripts/discourse/models/user.js +++ b/app/assets/javascripts/discourse/models/user.js @@ -461,6 +461,7 @@ Discourse.User.reopenClass(Discourse.Singleton, { @method checkUsername @param {String} username A username to check @param {String} email An email address to check + @param {Number} forUserId user id - provide when changing username **/ checkUsername: function(username, email, forUserId) { return Discourse.ajax('/users/check_username', { @@ -472,7 +473,7 @@ Discourse.User.reopenClass(Discourse.Singleton, { Groups the user's statistics @method groupStats - @param {Array} Given stats + @param {Array} stats Given stats @returns {Object} **/ groupStats: function(stats) { @@ -507,6 +508,7 @@ Discourse.User.reopenClass(Discourse.Singleton, { @param {String} name This user's name @param {String} email This user's email @param {String} password This user's password + @param {String} username This user's username @param {String} passwordConfirm This user's confirmed password @param {String} challenge @returns Result of ajax call diff --git a/app/assets/javascripts/discourse/routes/discovery_categories_route.js b/app/assets/javascripts/discourse/routes/discovery_categories_route.js index 369156330c8..42d2cfc78ef 100644 --- a/app/assets/javascripts/discourse/routes/discovery_categories_route.js +++ b/app/assets/javascripts/discourse/routes/discovery_categories_route.js @@ -45,5 +45,5 @@ Discourse.DiscoveryCategoriesRoute = Discourse.Route.extend({ })); this.controllerFor('editCategory').set('selectedTab', 'general'); } - }, + } }); diff --git a/app/assets/javascripts/discourse/routes/preferences_routes.js b/app/assets/javascripts/discourse/routes/preferences_routes.js index 8ec049e9d31..fbf0d63b2a7 100644 --- a/app/assets/javascripts/discourse/routes/preferences_routes.js +++ b/app/assets/javascripts/discourse/routes/preferences_routes.js @@ -57,7 +57,7 @@ Discourse.PreferencesRoute = Discourse.RestrictedUserRoute.extend({ Discourse.PreferencesIndexRoute = Discourse.RestrictedUserRoute.extend({ renderTemplate: function() { this.render('preferences', { into: 'user', outlet: 'userOutlet', controller: 'preferences' }); - }, + } }); /** diff --git a/app/assets/javascripts/discourse/templates/choose_topic.js.handlebars b/app/assets/javascripts/discourse/templates/choose_topic.js.handlebars index 9632519ea60..7f9cbf87961 100644 --- a/app/assets/javascripts/discourse/templates/choose_topic.js.handlebars +++ b/app/assets/javascripts/discourse/templates/choose_topic.js.handlebars @@ -12,6 +12,7 @@
{{/each}} diff --git a/app/assets/javascripts/discourse/templates/components/category-drop.js.handlebars b/app/assets/javascripts/discourse/templates/components/category-drop.js.handlebars index b9efc849563..36bba0c22fe 100644 --- a/app/assets/javascripts/discourse/templates/components/category-drop.js.handlebars +++ b/app/assets/javascripts/discourse/templates/components/category-drop.js.handlebars @@ -7,9 +7,9 @@ {{else}} {{#if noSubcategories}} - {{i18n categories.no_subcategory}} + {{i18n categories.no_subcategory}} {{else}} - {{allCategoriesLabel}} + {{allCategoriesLabel}} {{/if}} {{/if}} diff --git a/app/assets/javascripts/discourse/templates/composer/similar_topics.js.handlebars b/app/assets/javascripts/discourse/templates/composer/similar_topics.js.handlebars index f79ebc4219b..c2567e367ba 100644 --- a/app/assets/javascripts/discourse/templates/composer/similar_topics.js.handlebars +++ b/app/assets/javascripts/discourse/templates/composer/similar_topics.js.handlebars @@ -1,5 +1,5 @@ -

{{i18n composer.similar_topics}}

+

{{i18n composer.similar_topics}}