From c53eeaaa6806b2e872f6ee21d4db01d5c437c152 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Wed, 5 Jul 2017 16:47:01 -0400 Subject: [PATCH] REFACTOR: Remove `requirejs` calls --- .../javascripts/admin/components/ip-lookup.js.es6 | 2 +- .../admin/components/permalink-form.js.es6 | 4 ++-- app/assets/javascripts/admin/models/api-key.js.es6 | 5 +++-- .../javascripts/admin/routes/admin-reports.js.es6 | 11 ++--------- app/assets/javascripts/application.js | 11 +++++++---- app/assets/javascripts/deprecated.js | 7 ++----- .../components/search-advanced-options.js.es6 | 4 ++-- .../discourse/controllers/discovery/topics.js.es6 | 2 +- .../javascripts/discourse/controllers/invite.js.es6 | 6 ++---- app/assets/javascripts/discourse/lib/search.js.es6 | 8 +++----- app/assets/javascripts/discourse/models/post.js.es6 | 2 +- .../javascripts/discourse/routes/application.js.es6 | 2 +- 12 files changed, 27 insertions(+), 37 deletions(-) diff --git a/app/assets/javascripts/admin/components/ip-lookup.js.es6 b/app/assets/javascripts/admin/components/ip-lookup.js.es6 index 58b71d73d25..a185e4c0b6e 100644 --- a/app/assets/javascripts/admin/components/ip-lookup.js.es6 +++ b/app/assets/javascripts/admin/components/ip-lookup.js.es6 @@ -1,4 +1,5 @@ import { ajax } from 'discourse/lib/ajax'; +import AdminUser from 'admin/models/admin-user'; export default Ember.Component.extend({ classNames: ["ip-lookup"], @@ -44,7 +45,6 @@ export default Ember.Component.extend({ self.set("totalOthersWithSameIP", result.total); }); - const AdminUser = requirejs('admin/models/admin-user').default; AdminUser.findAll("active", data).then(function (users) { self.setProperties({ other_accounts: users, diff --git a/app/assets/javascripts/admin/components/permalink-form.js.es6 b/app/assets/javascripts/admin/components/permalink-form.js.es6 index 321f613589c..90dcf2a7b20 100644 --- a/app/assets/javascripts/admin/components/permalink-form.js.es6 +++ b/app/assets/javascripts/admin/components/permalink-form.js.es6 @@ -1,3 +1,5 @@ +import Permalink from 'admin/models/permalink'; + export default Ember.Component.extend({ classNames: ['permalink-form'], formSubmitted: false, @@ -18,8 +20,6 @@ export default Ember.Component.extend({ actions: { submit: function() { - const Permalink = requirejs('admin/models/permalink').default; - if (!this.get('formSubmitted')) { const self = this; self.set('formSubmitted', true); diff --git a/app/assets/javascripts/admin/models/api-key.js.es6 b/app/assets/javascripts/admin/models/api-key.js.es6 index 274b2fd09b3..024a1433929 100644 --- a/app/assets/javascripts/admin/models/api-key.js.es6 +++ b/app/assets/javascripts/admin/models/api-key.js.es6 @@ -1,4 +1,6 @@ +import AdminUser from 'admin/models/admin-user'; import { ajax } from 'discourse/lib/ajax'; + const ApiKey = Discourse.Model.extend({ /** @@ -36,8 +38,7 @@ ApiKey.reopenClass({ @param {...} var_args the properties to initialize this with @returns {ApiKey} the ApiKey instance **/ - create: function() { - const AdminUser = requirejs('admin/models/admin-user').default; + create() { var result = this._super.apply(this, arguments); if (result.user) { result.user = AdminUser.create(result.user); diff --git a/app/assets/javascripts/admin/routes/admin-reports.js.es6 b/app/assets/javascripts/admin/routes/admin-reports.js.es6 index fc609296646..65771110e86 100644 --- a/app/assets/javascripts/admin/routes/admin-reports.js.es6 +++ b/app/assets/javascripts/admin/routes/admin-reports.js.es6 @@ -1,16 +1,9 @@ -/** - Handles routes for admin reports +import Report from 'admin/models/report'; - @class AdminReportsRoute - @extends Discourse.Route - @namespace Discourse - @module Discourse -**/ export default Discourse.Route.extend({ queryParams: { mode: {}, "start_date": {}, "end_date": {}, "category_id": {}, "group_id": {} }, - model: function(params) { - const Report = requirejs('admin/models/report').default; + model(params) { return Report.find(params.type, params['start_date'], params['end_date'], params['category_id'], params['group_id']); }, diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 29c8e300b10..632ad9d8f94 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -27,15 +27,21 @@ //= require ./discourse/lib/eyeline //= require ./discourse/lib/show-modal //= require ./discourse/mixins/scrolling +//= require ./discourse/lib/ajax-error //= require ./discourse/models/model //= require ./discourse/models/rest +//= require ./discourse/models/result-set +//= require ./discourse/models/store +//= require ./discourse/models/action-summary +//= require ./discourse/models/topic +//= require ./discourse/models/draft +//= require ./discourse/models/composer //= require ./discourse/models/badge-grouping //= require ./discourse/models/badge //= require ./discourse/models/permission-type //= require ./discourse/models/user-action-group //= require ./discourse/models/category //= require ./discourse/models/input-validation -//= require ./discourse/lib/ajax-error //= require ./discourse/lib/search //= require ./discourse/lib/user-search //= require ./discourse/lib/export-csv @@ -44,10 +50,7 @@ //= require ./discourse/lib/debounce //= require ./discourse/lib/safari-hacks //= require_tree ./discourse/adapters -//= require ./discourse/models/result-set -//= require ./discourse/models/store //= require ./discourse/models/post-action-type -//= require ./discourse/models/action-summary //= require ./discourse/models/post //= require ./discourse/lib/posts-with-placeholders //= require ./discourse/models/post-stream diff --git a/app/assets/javascripts/deprecated.js b/app/assets/javascripts/deprecated.js index a4174c50c84..e96105b5818 100644 --- a/app/assets/javascripts/deprecated.js +++ b/app/assets/javascripts/deprecated.js @@ -1,7 +1,4 @@ +// ensure Discourse is added as a global (function() { - var Discourse = requirejs('discourse').default; - - Discourse.dialect_deprecated = true; - - window.Discourse = Discourse; + window.Discourse = requirejs('discourse').default; })(); diff --git a/app/assets/javascripts/discourse/components/search-advanced-options.js.es6 b/app/assets/javascripts/discourse/components/search-advanced-options.js.es6 index 7dbba30e1ba..e0fea77cd55 100644 --- a/app/assets/javascripts/discourse/components/search-advanced-options.js.es6 +++ b/app/assets/javascripts/discourse/components/search-advanced-options.js.es6 @@ -1,5 +1,7 @@ import { observes } from 'ember-addons/ember-computed-decorators'; import { escapeExpression } from 'discourse/lib/utilities'; +import Group from 'discourse/models/group'; +import Badge from 'discourse/models/badge'; const REGEXP_BLOCKS = /(([^" \t\n\x0B\f\r]+)?(("[^"]+")?))/g; @@ -525,12 +527,10 @@ export default Em.Component.extend({ }, groupFinder(term) { - const Group = requirejs('discourse/models/group').default; return Group.findAll({search: term, ignore_automatic: false}); }, badgeFinder(term) { - const Badge = requirejs('discourse/models/badge').default; return Badge.findAll({search: term}); } }); diff --git a/app/assets/javascripts/discourse/controllers/discovery/topics.js.es6 b/app/assets/javascripts/discourse/controllers/discovery/topics.js.es6 index 01b9f87d51b..e955208acc2 100644 --- a/app/assets/javascripts/discourse/controllers/discovery/topics.js.es6 +++ b/app/assets/javascripts/discourse/controllers/discovery/topics.js.es6 @@ -4,6 +4,7 @@ import BulkTopicSelection from 'discourse/mixins/bulk-topic-selection'; import { endWith } from 'discourse/lib/computed'; import showModal from 'discourse/lib/show-modal'; import { userPath } from 'discourse/lib/url'; +import TopicList from 'discourse/models/topic-list'; const controllerOpts = { discovery: Ember.inject.controller(), @@ -60,7 +61,6 @@ const controllerOpts = { this.topicTrackingState.resetTracking(); this.store.findFiltered('topicList', {filter}).then(list => { - const TopicList = requirejs('discourse/models/topic-list').default; TopicList.hideUniformCategory(list, this.get('category')); this.setProperties({ model: list }); diff --git a/app/assets/javascripts/discourse/controllers/invite.js.es6 b/app/assets/javascripts/discourse/controllers/invite.js.es6 index 06964b772a2..f9d4d52dcdd 100644 --- a/app/assets/javascripts/discourse/controllers/invite.js.es6 +++ b/app/assets/javascripts/discourse/controllers/invite.js.es6 @@ -1,6 +1,8 @@ import ModalFunctionality from 'discourse/mixins/modal-functionality'; import { emailValid } from 'discourse/lib/utilities'; import computed from 'ember-addons/ember-computed-decorators'; +import Group from 'discourse/models/group'; +import Invite from 'discourse/models/invite'; export default Ember.Controller.extend(ModalFunctionality, { userInvitedShow: Ember.inject.controller('user-invited-show'), @@ -144,7 +146,6 @@ export default Ember.Controller.extend(ModalFunctionality, { }.property('isPrivateTopic'), groupFinder(term) { - const Group = requirejs('discourse/models/group').default; return Group.findAll({search: term, ignore_automatic: true}); }, @@ -191,9 +192,7 @@ export default Ember.Controller.extend(ModalFunctionality, { actions: { createInvite() { - const Invite = requirejs('discourse/models/invite').default; const self = this; - if (this.get('disabled')) { return; } const groupNames = this.get('model.groupNames'), @@ -237,7 +236,6 @@ export default Ember.Controller.extend(ModalFunctionality, { }, generateInvitelink() { - const Invite = requirejs('discourse/models/invite').default; const self = this; if (this.get('disabled')) { return; } diff --git a/app/assets/javascripts/discourse/lib/search.js.es6 b/app/assets/javascripts/discourse/lib/search.js.es6 index 1209e0a34ee..9b9828deaab 100644 --- a/app/assets/javascripts/discourse/lib/search.js.es6 +++ b/app/assets/javascripts/discourse/lib/search.js.es6 @@ -6,13 +6,11 @@ import Category from 'discourse/models/category'; import { search as searchCategoryTag } from 'discourse/lib/category-tag-search'; import userSearch from 'discourse/lib/user-search'; import { userPath } from 'discourse/lib/url'; +import User from 'discourse/models/user'; +import Post from 'discourse/models/post'; +import Topic from 'discourse/models/topic'; export function translateResults(results, opts) { - - const User = requirejs('discourse/models/user').default; - const Post = requirejs('discourse/models/post').default; - const Topic = requirejs('discourse/models/topic').default; - if (!opts) opts = {}; // Topics might not be included diff --git a/app/assets/javascripts/discourse/models/post.js.es6 b/app/assets/javascripts/discourse/models/post.js.es6 index fecbf35c84b..367dee640c6 100644 --- a/app/assets/javascripts/discourse/models/post.js.es6 +++ b/app/assets/javascripts/discourse/models/post.js.es6 @@ -8,6 +8,7 @@ import computed from 'ember-addons/ember-computed-decorators'; import { postUrl } from 'discourse/lib/utilities'; import { cook } from 'discourse/lib/text'; import { userPath } from 'discourse/lib/url'; +import Composer from 'discourse/models/composer'; const Post = RestModel.extend({ @@ -104,7 +105,6 @@ const Post = RestModel.extend({ createProperties() { // composer only used once, defer the dependency - const Composer = requirejs('discourse/models/composer').default; const data = this.getProperties(Composer.serializedFieldsForCreate()); data.reply_to_post_number = this.get('reply_to_post_number'); data.image_sizes = this.get('imageSizes'); diff --git a/app/assets/javascripts/discourse/routes/application.js.es6 b/app/assets/javascripts/discourse/routes/application.js.es6 index 3165b7fa2a6..5fe33977bf2 100644 --- a/app/assets/javascripts/discourse/routes/application.js.es6 +++ b/app/assets/javascripts/discourse/routes/application.js.es6 @@ -8,6 +8,7 @@ import mobile from 'discourse/lib/mobile'; import { findAll } from 'discourse/models/login-method'; import { getOwner } from 'discourse-common/lib/get-owner'; import { userPath } from 'discourse/lib/url'; +import Composer from 'discourse/models/composer'; function unlessReadOnly(method, message) { return function() { @@ -58,7 +59,6 @@ const ApplicationRoute = Discourse.Route.extend(OpenComposer, { reply = post ? window.location.protocol + "//" + window.location.host + post.get("url") : null; // used only once, one less dependency - const Composer = requirejs('discourse/models/composer').default; return this.controllerFor('composer').open({ action: Composer.PRIVATE_MESSAGE, usernames: recipient,