diff --git a/app/components/index-setting.hbs b/app/components/index-setting.hbs
index 702026c..a796433 100644
--- a/app/components/index-setting.hbs
+++ b/app/components/index-setting.hbs
@@ -1,5 +1,5 @@
-
+
diff --git a/app/models/index.js b/app/models/index.js
index a83611c..26e02ac 100644
--- a/app/models/index.js
+++ b/app/models/index.js
@@ -86,22 +86,42 @@ export default class Index {
}
getSetting(name) {
- return query(`${this.path}/settings/${dasherize(name)}`);
+ let url = `${this.path}/settings`;
+
+ if (name) {
+ url = `${url}/${dasherize(name)}`;
+ }
+
+ return query(url);
}
- updateSetting(name, value) {
- const method = ['faceting', 'pagination', 'typo-tolerance'].includes(name)
- ? 'PATCH'
- : 'PUT';
+ updateSetting(value, name) {
+ const method =
+ name === undefined ||
+ ['faceting', 'pagination', 'typo-tolerance'].includes(name)
+ ? 'PATCH'
+ : 'PUT';
- return query(`${this.path}/settings/${dasherize(name)}`, {
+ let url = `${this.path}/settings`;
+
+ if (name) {
+ url = `${url}/${dasherize(name)}`;
+ }
+
+ return query(url, {
method: method,
body: JSON.stringify(value),
});
}
resetSetting(name) {
- return query(`${this.path}/settings/${dasherize(name)}`, {
+ let url = `${this.path}/settings`;
+
+ if (name) {
+ url = `${url}/${dasherize(name)}`;
+ }
+
+ return query(url, {
method: 'DELETE',
});
}
diff --git a/app/router.js b/app/router.js
index a2fa6c2..3bb888c 100644
--- a/app/router.js
+++ b/app/router.js
@@ -10,7 +10,9 @@ Router.map(function () {
this.route('admin', function () {
this.route('indexes', function () {
this.route('item', { path: '/:index_uid' }, function () {
- this.route('settings');
+ this.route('settings', function () {
+ this.route('specific');
+ });
this.route('info');
this.route('edit');
this.route('documents', function () {
diff --git a/app/routes/admin/indexes/item/settings/index.js b/app/routes/admin/indexes/item/settings/index.js
new file mode 100644
index 0000000..3e3cc5e
--- /dev/null
+++ b/app/routes/admin/indexes/item/settings/index.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class AdminIndexesItemSettingsIndexRoute extends Route {}
diff --git a/app/routes/admin/indexes/item/settings/specific.js b/app/routes/admin/indexes/item/settings/specific.js
new file mode 100644
index 0000000..adba3b9
--- /dev/null
+++ b/app/routes/admin/indexes/item/settings/specific.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class AdminIndexesItemSettingsSpecificRoute extends Route {}
diff --git a/app/templates/admin/indexes/item/settings.hbs b/app/templates/admin/indexes/item/settings.hbs
index bc55029..4f6eb96 100644
--- a/app/templates/admin/indexes/item/settings.hbs
+++ b/app/templates/admin/indexes/item/settings.hbs
@@ -1,3 +1,6 @@
-{{#each @model.settingNames as |name|}}
-
-{{/each}}
+
+
+
+
+
+{{outlet}}
diff --git a/app/templates/admin/indexes/item/settings/index.hbs b/app/templates/admin/indexes/item/settings/index.hbs
new file mode 100644
index 0000000..294e084
--- /dev/null
+++ b/app/templates/admin/indexes/item/settings/index.hbs
@@ -0,0 +1 @@
+
diff --git a/app/templates/admin/indexes/item/settings/specific.hbs b/app/templates/admin/indexes/item/settings/specific.hbs
new file mode 100644
index 0000000..db4c0a7
--- /dev/null
+++ b/app/templates/admin/indexes/item/settings/specific.hbs
@@ -0,0 +1,3 @@
+{{#each @model.settingNames as |name|}}
+
+{{/each}}
diff --git a/tests/unit/routes/admin/indexes/item/settings/index-test.js b/tests/unit/routes/admin/indexes/item/settings/index-test.js
new file mode 100644
index 0000000..65344f3
--- /dev/null
+++ b/tests/unit/routes/admin/indexes/item/settings/index-test.js
@@ -0,0 +1,11 @@
+import { module, test } from 'qunit';
+import { setupTest } from 'meiliadmin/tests/helpers';
+
+module('Unit | Route | admin/indexes/item/settings/index', function (hooks) {
+ setupTest(hooks);
+
+ test('it exists', function (assert) {
+ let route = this.owner.lookup('route:admin/indexes/item/settings/index');
+ assert.ok(route);
+ });
+});
diff --git a/tests/unit/routes/admin/indexes/item/settings/specific-test.js b/tests/unit/routes/admin/indexes/item/settings/specific-test.js
new file mode 100644
index 0000000..b630eae
--- /dev/null
+++ b/tests/unit/routes/admin/indexes/item/settings/specific-test.js
@@ -0,0 +1,11 @@
+import { module, test } from 'qunit';
+import { setupTest } from 'meiliadmin/tests/helpers';
+
+module('Unit | Route | admin/indexes/item/settings/specific', function (hooks) {
+ setupTest(hooks);
+
+ test('it exists', function (assert) {
+ let route = this.owner.lookup('route:admin/indexes/item/settings/specific');
+ assert.ok(route);
+ });
+});