UNPKG

1.05 kBJavaScriptView Raw
1
2import { Autocomplete, AutocompleteConfig, AutocompleteUI} from '../Autocomplete';
3import { createSvgUse } from "../utils/svg";
4import { Spinner } from '../Spinner';
5
6Object.assign(AutocompleteConfig, {
7 iconSearch: 'search', // default inline svg icon ID to display
8});
9
10Object.assign(AutocompleteUI, {
11 getIcon(autocomplete) {
12 return autocomplete.getElementsByTagName('svg')[0];
13 },
14 createIcon() {
15 return createSvgUse(this.Config.iconSearch);
16 },
17 insertIcon(autocomplete, icon) {
18 autocomplete.appendChild(icon);
19 },
20});
21
22Object.assign(Autocomplete, {
23 initIcons(autocomplete) {
24 const icon = this.UI.createIcon();
25 this.UI.insertIcon(autocomplete, icon);
26 this.onBeforeUpdate(autocomplete, () => {
27 this.showSpinner(autocomplete);
28 });
29 this.onUpdate(autocomplete, (res, err) => {
30 this.hideSpinner(autocomplete);
31 });
32 },
33
34 showSpinner(autocomplete) {
35 Spinner.toggle(this.UI.getIcon(autocomplete));
36 },
37 hideSpinner(autocomplete) {
38 Spinner.toggle(this.UI.getIcon(autocomplete));
39 }
40});