From cd3b58358e7fce7bf1c2a6025a017e94d762f892 Mon Sep 17 00:00:00 2001 From: Vinoth Kannan Date: Tue, 3 Mar 2020 10:34:20 +0530 Subject: [PATCH] FIX: convert topic & post models to ember object. --- .../components/knowledge-explorer-topic.js.es6 | 13 +++++++++++-- .../discourse/controllers/knowledge-explorer.js.es6 | 3 ++- .../discourse/models/knowledge-explorer.js.es6 | 3 ++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/assets/javascripts/discourse/components/knowledge-explorer-topic.js.es6 b/assets/javascripts/discourse/components/knowledge-explorer-topic.js.es6 index c3c7fac..a4538d8 100644 --- a/assets/javascripts/discourse/components/knowledge-explorer-topic.js.es6 +++ b/assets/javascripts/discourse/components/knowledge-explorer-topic.js.es6 @@ -6,11 +6,20 @@ export default Ember.Component.extend({ originalPostContent: reads("post.cooked"), - post: reads("topic.post_stream.posts.firstObject"), + post: computed("topic", function() { + return this.store.createRecord( + "post", + this.topic.post_stream.posts.firstObject + ); + }), model: computed("post", "topic", function() { const post = this.post; - post.topic = this.topic; + + if (!post.topic) { + post.set("topic", this.topic); + } + return post; }), diff --git a/assets/javascripts/discourse/controllers/knowledge-explorer.js.es6 b/assets/javascripts/discourse/controllers/knowledge-explorer.js.es6 index 483e190..3f9d825 100644 --- a/assets/javascripts/discourse/controllers/knowledge-explorer.js.es6 +++ b/assets/javascripts/discourse/controllers/knowledge-explorer.js.es6 @@ -1,5 +1,6 @@ import discourseComputed from "discourse-common/utils/decorators"; import Category from "discourse/models/category"; +import Topic from "discourse/models/topic"; import { on } from "discourse-common/utils/decorators"; import KnowledgeExplorer from "discourse/plugins/discourse-knowledge-explorer/discourse/models/knowledge-explorer"; @@ -87,7 +88,7 @@ export default Ember.Controller.extend({ KnowledgeExplorer.getTopic(topicId).then(result => { this.setProperties({ - topic: result, + topic: Topic.create(result), isTopicLoading: false }); }); diff --git a/assets/javascripts/discourse/models/knowledge-explorer.js.es6 b/assets/javascripts/discourse/models/knowledge-explorer.js.es6 index 30cdc52..2e7f36f 100644 --- a/assets/javascripts/discourse/models/knowledge-explorer.js.es6 +++ b/assets/javascripts/discourse/models/knowledge-explorer.js.es6 @@ -1,4 +1,5 @@ import { ajax } from "discourse/lib/ajax"; +import Topic from "discourse/models/topic"; function getTopic(id) { return ajax(`/t/${id}.json`); @@ -20,7 +21,7 @@ export default { if (params.selectedTopic) { promise = promise.then(data => { return getTopic(params.selectedTopic).then(topic => { - data.topic = topic; + data.topic = Topic.create(topic); return data; }); });