diff --git a/app/assets/javascripts/discourse/adapters/topic.js.es6 b/app/assets/javascripts/discourse/adapters/topic.js.es6 new file mode 100644 index 00000000000..858eee01eb8 --- /dev/null +++ b/app/assets/javascripts/discourse/adapters/topic.js.es6 @@ -0,0 +1,12 @@ +import RestAdapter from 'discourse/adapters/rest'; + +export default RestAdapter.extend({ + + find(store, type, findArgs) { + if (findArgs.similar) { + return Discourse.ajax("/topics/similar_to", { data: findArgs.similar }); + } else { + return this._super(store, type, findArgs); + } + } +}); diff --git a/app/assets/javascripts/discourse/controllers/composer.js.es6 b/app/assets/javascripts/discourse/controllers/composer.js.es6 index 357828a7181..1cc221a9ada 100644 --- a/app/assets/javascripts/discourse/controllers/composer.js.es6 +++ b/app/assets/javascripts/discourse/controllers/composer.js.es6 @@ -332,9 +332,9 @@ export default Ember.ObjectController.extend(Presence, { this.set('similarTopicsMessage', message); } - Discourse.Topic.findSimilarTo(title, body).then(function (newTopics) { + this.store.find('topic', {similar: {title, raw: body}}).then(function(newTopics) { similarTopics.clear(); - similarTopics.pushObjects(newTopics); + similarTopics.pushObjects(newTopics.get('content')); if (similarTopics.get('length') > 0) { message.set('similarTopics', similarTopics); @@ -343,7 +343,6 @@ export default Ember.ObjectController.extend(Presence, { messageController.send("hideMessage", message); } }); - }, saveDraft() { diff --git a/app/assets/javascripts/discourse/models/topic.js.es6 b/app/assets/javascripts/discourse/models/topic.js.es6 index 1dfd002d348..bba5b4c2ec5 100644 --- a/app/assets/javascripts/discourse/models/topic.js.es6 +++ b/app/assets/javascripts/discourse/models/topic.js.es6 @@ -434,16 +434,6 @@ Topic.reopenClass({ return result; }, - findSimilarTo(title, body) { - return Discourse.ajax("/topics/similar_to", { data: {title: title, raw: body} }).then(function (results) { - if (Array.isArray(results)) { - return results.map(function(topic) { return Topic.create(topic); }); - } else { - return Ember.A(); - } - }); - }, - // Load a topic, but accepts a set of filters find(topicId, opts) { let url = Discourse.getURL("/t/") + topicId; diff --git a/app/assets/javascripts/discourse/templates/composer/similar_topics.hbs b/app/assets/javascripts/discourse/templates/composer/similar_topics.hbs index 73b5ee6e78c..b8f183dd908 100644 --- a/app/assets/javascripts/discourse/templates/composer/similar_topics.hbs +++ b/app/assets/javascripts/discourse/templates/composer/similar_topics.hbs @@ -1,8 +1,12 @@ -{{fa-icon "times-circle"}} +{{fa-icon "times-circle"}}