Format js
This commit is contained in:
parent
af85834a5a
commit
886e78d6fb
|
|
@ -1,50 +1,82 @@
|
|||
import app from 'flarum/admin/app';
|
||||
|
||||
app.initializers.add('blomstra-search', () => {
|
||||
const languages = new Map;
|
||||
['arabic', 'armenian', 'basque', 'bengali', 'brazilian', 'bulgarian', 'catalan', 'cjk', 'czech',
|
||||
'danish', 'dutch', 'english', 'estonian', 'finnish', 'french', 'galician', 'german', 'greek',
|
||||
'hindi', 'hungarian', 'indonesian', 'irish', 'italian', 'latvian', 'lithuanian', 'norwegian',
|
||||
'persian', 'portuguese', 'romanian', 'russian', 'sorani', 'spanish', 'swedish', 'turkish', 'thai']
|
||||
.forEach(language => {
|
||||
languages.set(language, language);
|
||||
});
|
||||
const languages = new Map();
|
||||
[
|
||||
'arabic',
|
||||
'armenian',
|
||||
'basque',
|
||||
'bengali',
|
||||
'brazilian',
|
||||
'bulgarian',
|
||||
'catalan',
|
||||
'cjk',
|
||||
'czech',
|
||||
'danish',
|
||||
'dutch',
|
||||
'english',
|
||||
'estonian',
|
||||
'finnish',
|
||||
'french',
|
||||
'galician',
|
||||
'german',
|
||||
'greek',
|
||||
'hindi',
|
||||
'hungarian',
|
||||
'indonesian',
|
||||
'irish',
|
||||
'italian',
|
||||
'latvian',
|
||||
'lithuanian',
|
||||
'norwegian',
|
||||
'persian',
|
||||
'portuguese',
|
||||
'romanian',
|
||||
'russian',
|
||||
'sorani',
|
||||
'spanish',
|
||||
'swedish',
|
||||
'turkish',
|
||||
'thai',
|
||||
].forEach((language) => {
|
||||
languages.set(language, language);
|
||||
});
|
||||
|
||||
app.extensionData
|
||||
.for('blomstra-search')
|
||||
.registerSetting({
|
||||
setting: 'blomstra-search.elastic-endpoint',
|
||||
label: app.translator.trans('blomstra-search.admin.elastic-endpoint'),
|
||||
type: 'input'
|
||||
})
|
||||
.registerSetting({
|
||||
setting: 'blomstra-search.elastic-username',
|
||||
label: app.translator.trans('blomstra-search.admin.elastic-username'),
|
||||
type: 'input'
|
||||
})
|
||||
.registerSetting({
|
||||
setting: 'blomstra-search.elastic-password',
|
||||
label: app.translator.trans('blomstra-search.admin.elastic-password'),
|
||||
type: 'password'
|
||||
})
|
||||
.registerSetting({
|
||||
setting: 'blomstra-search.elastic-index',
|
||||
label: app.translator.trans('blomstra-search.admin.elastic-index'),
|
||||
default: 'flarum',
|
||||
type: 'input'
|
||||
})
|
||||
.registerSetting({
|
||||
setting: 'blomstra-search.analyzer-language',
|
||||
label: app.translator.trans('blomstra-search.admin.analyzer.label'),
|
||||
help: app.translator.trans('blomstra-search.admin.analyzer.help'),
|
||||
type: 'select',
|
||||
options: Object.fromEntries(languages.entries()),
|
||||
default: 'english',
|
||||
})
|
||||
.registerSetting({
|
||||
setting: 'blomstra-search.elastic-index',
|
||||
label: app.translator.trans('blomstra-search.admin.elastic-index'),
|
||||
default: 'flarum',
|
||||
type: 'input'
|
||||
})
|
||||
app.extensionData
|
||||
.for('blomstra-search')
|
||||
.registerSetting({
|
||||
setting: 'blomstra-search.elastic-endpoint',
|
||||
label: app.translator.trans('blomstra-search.admin.elastic-endpoint'),
|
||||
type: 'input',
|
||||
})
|
||||
.registerSetting({
|
||||
setting: 'blomstra-search.elastic-username',
|
||||
label: app.translator.trans('blomstra-search.admin.elastic-username'),
|
||||
type: 'input',
|
||||
})
|
||||
.registerSetting({
|
||||
setting: 'blomstra-search.elastic-password',
|
||||
label: app.translator.trans('blomstra-search.admin.elastic-password'),
|
||||
type: 'password',
|
||||
})
|
||||
.registerSetting({
|
||||
setting: 'blomstra-search.elastic-index',
|
||||
label: app.translator.trans('blomstra-search.admin.elastic-index'),
|
||||
default: 'flarum',
|
||||
type: 'input',
|
||||
})
|
||||
.registerSetting({
|
||||
setting: 'blomstra-search.analyzer-language',
|
||||
label: app.translator.trans('blomstra-search.admin.analyzer.label'),
|
||||
help: app.translator.trans('blomstra-search.admin.analyzer.help'),
|
||||
type: 'select',
|
||||
options: Object.fromEntries(languages.entries()),
|
||||
default: 'english',
|
||||
})
|
||||
.registerSetting({
|
||||
setting: 'blomstra-search.elastic-index',
|
||||
label: app.translator.trans('blomstra-search.admin.elastic-index'),
|
||||
default: 'flarum',
|
||||
type: 'input',
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,33 +1,33 @@
|
|||
import app from 'flarum/forum/app';
|
||||
|
||||
import {override} from 'flarum/common/extend';
|
||||
import { override } from 'flarum/common/extend';
|
||||
|
||||
import DiscussionListState from 'flarum/forum/states/DiscussionListState';
|
||||
|
||||
export default function extendDiscussionState() {
|
||||
override(DiscussionListState.prototype, 'loadPage', async function (this: DiscussionListState, original, page: number = 1) {
|
||||
const preloaded = app.data.apiDocument || null;
|
||||
override(DiscussionListState.prototype, 'loadPage', async function (this: DiscussionListState, original, page: number = 1) {
|
||||
const preloaded = app.data.apiDocument || null;
|
||||
|
||||
// If existing payload is given or no search is made, fallback on native page.
|
||||
if (preloaded || !this.requestParams()?.filter?.q) return original.call(this, page);
|
||||
// If existing payload is given or no search is made, fallback on native page.
|
||||
if (preloaded || !this.requestParams()?.filter?.q) return original.call(this, page);
|
||||
|
||||
const params = this.requestParams();
|
||||
params.page = {
|
||||
offset: this.pageSize * (page - 1),
|
||||
...params.page,
|
||||
};
|
||||
const params = this.requestParams();
|
||||
params.page = {
|
||||
offset: this.pageSize * (page - 1),
|
||||
...params.page,
|
||||
};
|
||||
|
||||
if (Array.isArray(params.include)) {
|
||||
params.include = params.include.join(',');
|
||||
}
|
||||
if (Array.isArray(params.include)) {
|
||||
params.include = params.include.join(',');
|
||||
}
|
||||
|
||||
// Construct API search URI
|
||||
const url = `${app.forum.attribute('apiUrl')}/blomstra/search/${this.type}`;
|
||||
// Construct API search URI
|
||||
const url = `${app.forum.attribute('apiUrl')}/blomstra/search/${this.type}`;
|
||||
|
||||
// Make API GET request
|
||||
const results = await app.request({params, url, method: 'GET'});
|
||||
// Make API GET request
|
||||
const results = await app.request({ params, url, method: 'GET' });
|
||||
|
||||
// Parse API response into models and push to store
|
||||
return app.store.pushPayload(results);
|
||||
});
|
||||
// Parse API response into models and push to store
|
||||
return app.store.pushPayload(results);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue