45 lines
1.9 KiB
TypeScript
45 lines
1.9 KiB
TypeScript
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);
|
|
});
|
|
|
|
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',
|
|
})
|
|
});
|