From b5462e5effdd9eddcb4a8b11093a8e829a917138 Mon Sep 17 00:00:00 2001 From: jjandxa Date: Sun, 12 Aug 2018 20:27:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=BB=E9=A1=B5=E5=B8=96?= =?UTF-8?q?=E5=AD=90=E6=9F=A5=E7=9C=8B=E8=AF=A6=E6=83=85bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/forum/dist/extension.js | 12 ++++++++++++ js/forum/src/main.js | 15 +++++++++++++++ 2 files changed, 27 insertions(+) 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);