From a88d88308bb89f7f824561f29f0c27c5043c1d69 Mon Sep 17 00:00:00 2001 From: Stanislav Romanov Date: Wed, 30 Mar 2022 15:42:28 +0300 Subject: [PATCH] Small fixes --- app/components/button-group.js | 1 - app/controllers/admin/indexes/item/data.js | 20 ++++++++++++++++++++ app/routes/admin/indexes/item/data.js | 9 ++++++++- app/templates/admin/indexes/item/data.hbs | 12 ++++++------ 4 files changed, 34 insertions(+), 8 deletions(-) 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 @@
- Hits: {{@model.nbHits}} + Hits: {{@model.data.nbHits}} - Time spent: {{@model.processingTimeMs}} ms + Time spent: {{@model.data.processingTimeMs}} ms
-{{#if (gt @model.nbHits 0)}} +{{#if (gt @model.data.nbHits 0)}}
{{#if (eq this.dataView 'table')}} - table + {{/if}} - {{#if (eq this.dataView 'map')}} + {{!-- {{#if (eq this.dataView 'map')}} map - {{/if}} + {{/if}} --}} {{!-- {{#if (eq this.dataView 'card')}}