Add data request
This commit is contained in:
parent
3eeefd0b51
commit
5ad8e3668a
5 changed files with 93 additions and 3 deletions
|
|
@ -1,4 +1,4 @@
|
|||
<div>
|
||||
<div class="mb-4">
|
||||
{{#if @label}}
|
||||
<label for={{this.id}} class="block font-medium mb-1 text-dark">{{@label}}</label>
|
||||
{{/if}}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,24 @@
|
|||
import Controller from '@ember/controller';
|
||||
import { action } from '@ember/object';
|
||||
import { tracked } from '@glimmer/tracking';
|
||||
import { trackedFunction } from 'ember-resources';
|
||||
|
||||
export default class AdminIndexesItemDataController extends Controller {
|
||||
@tracked searchText;
|
||||
@tracked searchText = 'hello';
|
||||
|
||||
request = trackedFunction(this, async () => {
|
||||
if (typeof this.searchText !== 'string' || this.searchText.length < 1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const response = await this.model.search(this.searchText);
|
||||
|
||||
return response;
|
||||
});
|
||||
|
||||
get data() {
|
||||
return this.request.value;
|
||||
}
|
||||
|
||||
@action
|
||||
searchTextChanged(value) {
|
||||
|
|
|
|||
|
|
@ -7,4 +7,29 @@
|
|||
@onChange={{this.searchTextChanged}}
|
||||
/>
|
||||
|
||||
{{outlet}}
|
||||
{{#if this.data}}
|
||||
{{log this.data}}
|
||||
|
||||
<div class="mb-4 flex items-center">
|
||||
<MdIcon @icon="check" class="mr-1" @size="18" />
|
||||
Hits: {{this.data.nbHits}}
|
||||
<MdIcon @icon="clock-outline" class="ml-6 mr-1" @size="18" />
|
||||
Time spent: {{this.data.processingTimeMs}} ms
|
||||
</div>
|
||||
|
||||
<div class="mb-4">
|
||||
<h2 class="text-xl mb-4">Results:</h2>
|
||||
<div class="odd:bg-light">
|
||||
{{#each this.data.hits as |item|}}
|
||||
<div class="mb-8">
|
||||
{{#each-in item as |key value|}}
|
||||
<div class="grid grid-cols-3 gap-4 p-2">
|
||||
<div>{{key}}</div>
|
||||
<div class="col-span-2">{{value}}</div>
|
||||
</div>
|
||||
{{/each-in}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
|||
49
package-lock.json
generated
49
package-lock.json
generated
|
|
@ -51,6 +51,7 @@
|
|||
"ember-page-title": "^7.0.0",
|
||||
"ember-qunit": "^5.1.5",
|
||||
"ember-resolver": "^8.0.3",
|
||||
"ember-resources": "^4.4.0",
|
||||
"ember-source": "~4.2.0",
|
||||
"ember-template-lint": "^4.2.0",
|
||||
"eslint": "^7.32.0",
|
||||
|
|
@ -2446,6 +2447,19 @@
|
|||
"node": "10.* || 12.* || >= 14.*"
|
||||
}
|
||||
},
|
||||
"node_modules/@embroider/addon-shim": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@embroider/addon-shim/-/addon-shim-1.5.0.tgz",
|
||||
"integrity": "sha512-5zgwA/wTYjgn2Oo6hKRQhF/5Gnwb+hGhj/WXhZQa5yA7fRRdBV1tVMS7b7SLawZcmOhuWkyPwFdgsYtGBvDB0w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@embroider/shared-internals": "^1.5.0",
|
||||
"semver": "^7.3.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": "12.* || 14.* || >= 16"
|
||||
}
|
||||
},
|
||||
"node_modules/@embroider/macros": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@embroider/macros/-/macros-1.5.0.tgz",
|
||||
|
|
@ -12979,6 +12993,20 @@
|
|||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/ember-resources": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/ember-resources/-/ember-resources-4.4.0.tgz",
|
||||
"integrity": "sha512-bMk3qdD7sgG33VY3Znri6z2p/XneITuT02zgFROS9flvUE124rnW/m9ND/fySt5EOE8URhS3IZ6MImIgI1dyCg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@ember/test-waiters": "^3.0.0",
|
||||
"@embroider/addon-shim": "^1.2.0",
|
||||
"@embroider/macros": "^1.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.2.0 < 13 || >= 14"
|
||||
}
|
||||
},
|
||||
"node_modules/ember-rfc176-data": {
|
||||
"version": "0.3.17",
|
||||
"resolved": "https://registry.npmjs.org/ember-rfc176-data/-/ember-rfc176-data-0.3.17.tgz",
|
||||
|
|
@ -26071,6 +26099,16 @@
|
|||
"semver": "^7.3.5"
|
||||
}
|
||||
},
|
||||
"@embroider/addon-shim": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@embroider/addon-shim/-/addon-shim-1.5.0.tgz",
|
||||
"integrity": "sha512-5zgwA/wTYjgn2Oo6hKRQhF/5Gnwb+hGhj/WXhZQa5yA7fRRdBV1tVMS7b7SLawZcmOhuWkyPwFdgsYtGBvDB0w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@embroider/shared-internals": "^1.5.0",
|
||||
"semver": "^7.3.5"
|
||||
}
|
||||
},
|
||||
"@embroider/macros": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@embroider/macros/-/macros-1.5.0.tgz",
|
||||
|
|
@ -34975,6 +35013,17 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"ember-resources": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/ember-resources/-/ember-resources-4.4.0.tgz",
|
||||
"integrity": "sha512-bMk3qdD7sgG33VY3Znri6z2p/XneITuT02zgFROS9flvUE124rnW/m9ND/fySt5EOE8URhS3IZ6MImIgI1dyCg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@ember/test-waiters": "^3.0.0",
|
||||
"@embroider/addon-shim": "^1.2.0",
|
||||
"@embroider/macros": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"ember-rfc176-data": {
|
||||
"version": "0.3.17",
|
||||
"resolved": "https://registry.npmjs.org/ember-rfc176-data/-/ember-rfc176-data-0.3.17.tgz",
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@
|
|||
"ember-page-title": "^7.0.0",
|
||||
"ember-qunit": "^5.1.5",
|
||||
"ember-resolver": "^8.0.3",
|
||||
"ember-resources": "^4.4.0",
|
||||
"ember-source": "~4.2.0",
|
||||
"ember-template-lint": "^4.2.0",
|
||||
"eslint": "^7.32.0",
|
||||
|
|
|
|||
Loading…
Reference in a new issue