diff --git a/app/components/button-group.js b/app/components/button-group.js index 7229039..94e7365 100644 --- a/app/components/button-group.js +++ b/app/components/button-group.js @@ -1,6 +1,5 @@ import Component from '@glimmer/component'; import { action } from '@ember/object'; -// import { tracked } from '@glimmer/tracking'; export default class ButtonGroupComponent extends Component { @action diff --git a/app/controllers/admin/indexes/item/data.js b/app/controllers/admin/indexes/item/data.js index 0f0da1c..4234f50 100644 --- a/app/controllers/admin/indexes/item/data.js +++ b/app/controllers/admin/indexes/item/data.js @@ -10,6 +10,26 @@ export default class AdminIndexesItemDataController extends Controller { queryParams = ['q', 'page', 'limit']; + get sortedFields() { + const fields = Object.keys(this.model.stats.fieldDistribution); + const primaryKey = this.model.index.primaryKey ?? 'id'; + const sortedArray = fields + .filter((item) => item !== primaryKey) + .sort((a, b) => { + if (a > b || a.charAt(0) === '_') { + return 1; + } + + if (a < b) { + return -1; + } + + return 0; + }); + + return [primaryKey].concat(sortedArray); + } + @action searchTextChanged(value) { this.q = value === '' ? null : value; diff --git a/app/routes/admin/indexes/item/data.js b/app/routes/admin/indexes/item/data.js index f5c1951..97f3922 100644 --- a/app/routes/admin/indexes/item/data.js +++ b/app/routes/admin/indexes/item/data.js @@ -1,4 +1,5 @@ import Route from '@ember/routing/route'; +import { hash } from 'rsvp'; export default class AdminIndexesItemDataRoute extends Route { queryParams = { @@ -15,8 +16,14 @@ export default class AdminIndexesItemDataRoute extends Route { async model({ q, page, limit }) { const offset = limit * --page; + const index = this.modelFor('admin.indexes.item'); + const stats = index.getStats(); - return this.modelFor('admin.indexes.item').search(q, { offset, limit }); + return hash({ + data: index.search(q, { offset, limit }), + index, + stats, + }); } resetController(controller, isExiting) { diff --git a/app/templates/admin/indexes/item/data.hbs b/app/templates/admin/indexes/item/data.hbs index 23ea5c8..94a0ab2 100644 --- a/app/templates/admin/indexes/item/data.hbs +++ b/app/templates/admin/indexes/item/data.hbs @@ -9,12 +9,12 @@