diff --git a/js/forum/dist/extension.js b/js/forum/dist/extension.js index 1551c43..260f9ed 100644 --- a/js/forum/dist/extension.js +++ b/js/forum/dist/extension.js @@ -16,11 +16,23 @@ System.register('jjandxa/flarum-ext-chinese-search/main', ['flarum/components/Di DiscussionList.prototype.loadResults = function (offset) { + var preloadedDiscussions = app.preloadedDocument(); + var params = this.requestParams(); params.page = { offset: offset }; params.include = params.include.join(','); + if (preloadedDiscussions && params.filter.q !== undefined && params.filter.q.indexOf('is:') === -1 && params.filter.q.indexOf('tag:') === -1 && params.filter.q.indexOf('author:') === -1) { + + var resultData = app.store.find('xun/discussions', params); + + return m.deferred().resolve(resultData).promise; + } else if (preloadedDiscussions) { + return m.deferred().resolve(preloadedDiscussions).promise; + } + if (params.filter.q !== undefined && params.filter.q.indexOf('is:') === -1 && params.filter.q.indexOf('tag:') === -1 && params.filter.q.indexOf('author:') === -1) { + return app.store.find('xun/discussions', params); } return app.store.find('discussions', params); diff --git a/js/forum/src/main.js b/js/forum/src/main.js index 0a296cc..29c873f 100644 --- a/js/forum/src/main.js +++ b/js/forum/src/main.js @@ -5,13 +5,28 @@ app.initializers.add('flarum-ext-chinese-search', function() { DiscussionList.prototype.loadResults = function (offset) { + + const preloadedDiscussions = app.preloadedDocument(); + const params = this.requestParams(); params.page = {offset}; params.include = params.include.join(','); + if (preloadedDiscussions && params.filter.q !== undefined && params.filter.q.indexOf('is:') === -1 + && params.filter.q.indexOf('tag:') === -1 + && params.filter.q.indexOf('author:') === -1) { + + const resultData = app.store.find('xun/discussions', params); + + return m.deferred().resolve(resultData).promise; + } else if (preloadedDiscussions) { + return m.deferred().resolve(preloadedDiscussions).promise; + } + if (params.filter.q !== undefined && params.filter.q.indexOf('is:') === -1 && params.filter.q.indexOf('tag:') === -1 && params.filter.q.indexOf('author:') === -1) { + return app.store.find('xun/discussions', params); } return app.store.find('discussions', params);