@@ -2,6 +2,7 @@ import Component from '@glimmer/component';
22import { cached , tracked } from ' @glimmer/tracking' ;
33import { isArray } from ' @ember/array' ;
44import { action } from ' @ember/object' ;
5+ import { inject as service } from ' @ember/service' ;
56import { isEqual } from ' @ember/utils' ;
67
78import optional from ' ember-composable-helpers/helpers/optional' ;
@@ -20,6 +21,8 @@ import EuiComboBoxOptions from './eui-combo-box/options.gts';
2021import EuiComboBoxSearchMessage from ' ./eui-combo-box/search-message.gts' ;
2122import EuiComboBoxTrigger from ' ./eui-combo-box/trigger.gts' ;
2223
24+ import type EuiI18n from ' ../services/eui-i18n' ;
25+
2326interface PromiseProxy <T > extends Promise <T > {
2427 content: any ;
2528}
@@ -105,16 +108,28 @@ export const toPlainArray = <T,>(collection: T[] | Sliceable<T>): T[] => {
105108};
106109
107110export default class EuiComboBoxComponent extends Component <EuiComboBoxSignature > {
111+ @service declare euiI18n: EuiI18n ;
112+
108113 @tracked select: any = null ;
109114 @tracked private _resolvedOptions? : any [];
110115 @tracked searchText = ' ' ;
111116 @tracked private _searchResult? : any [];
117+
112118 private _filterResultsCache: {
113119 results: any [];
114120 options: any [];
115121 searchText: string ;
116122 } = { results: [], options: [], searchText: this .searchText };
117123
124+ get loadingMessage() {
125+ return ;
126+ this .args .loadingMessage ||
127+ this .euiI18n .lookupToken (
128+ ' euiComboBox.loadingMessage' ,
129+ ' Loading options...'
130+ );
131+ }
132+
118133 <template >
119134 {{! @glint-nocheck: not typesafe yet }}
120135 <PowerSelectMultiple
@@ -177,7 +192,7 @@ export default class EuiComboBoxComponent extends Component<EuiComboBoxSignature
177192 @ title ={{@ title }}
178193 @ triggerId ={{@ triggerId }}
179194 @ allowClear ={{and ( argOrDefault @ isClearable true ) ( not @ isDisabled) }}
180- @ loadingMessage ={{@ loadingMessage }}
195+ @ loadingMessage ={{this . loadingMessage }}
181196 @ selectedItemComponent ={{@ selectedItemComponent }}
182197 @ beforeOptionsComponent ={{@ beforeOptionsComponent }}
183198 @ afterOptionsComponent ={{@ afterOptionsComponent }}
0 commit comments