meilisearch-admin/app/controllers/admin/indexes/item/data.js

38 lines
886 B
JavaScript
Raw Normal View History

2022-03-24 08:36:20 +00:00
import Controller from '@ember/controller';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
export default class AdminIndexesItemDataController extends Controller {
2022-03-25 11:47:58 +00:00
@tracked q = null;
@tracked limit = 20;
@tracked page = 1;
2022-03-30 06:58:35 +00:00
@tracked dataView = 'table';
2022-03-24 10:56:55 +00:00
2022-03-25 11:47:58 +00:00
queryParams = ['q', 'page', 'limit'];
2022-03-24 08:36:20 +00:00
2022-03-30 12:42:28 +00:00
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);
}
2022-03-24 08:36:20 +00:00
@action
searchTextChanged(value) {
2022-03-25 11:47:58 +00:00
this.q = value === '' ? null : value;
2022-03-24 08:36:20 +00:00
}
}