@ckeditor/ckeditor5-ui 40.0.0 → 40.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +3 -3
- package/lang/translations/pt-br.po +1 -1
- package/lang/translations/ug.po +26 -26
- package/package.json +3 -3
- package/src/arialiveannouncer.d.ts +94 -0
- package/src/arialiveannouncer.js +113 -0
- package/src/augmentation.d.ts +86 -86
- package/src/augmentation.js +5 -5
- package/src/autocomplete/autocompleteview.d.ts +81 -81
- package/src/autocomplete/autocompleteview.js +153 -146
- package/src/bindings/addkeyboardhandlingforgrid.d.ts +27 -27
- package/src/bindings/addkeyboardhandlingforgrid.js +107 -107
- package/src/bindings/clickoutsidehandler.d.ts +28 -28
- package/src/bindings/clickoutsidehandler.js +36 -36
- package/src/bindings/csstransitiondisablermixin.d.ts +40 -40
- package/src/bindings/csstransitiondisablermixin.js +55 -55
- package/src/bindings/injectcsstransitiondisabler.d.ts +59 -59
- package/src/bindings/injectcsstransitiondisabler.js +71 -71
- package/src/bindings/preventdefault.d.ts +33 -33
- package/src/bindings/preventdefault.js +34 -34
- package/src/bindings/submithandler.d.ts +57 -57
- package/src/bindings/submithandler.js +47 -47
- package/src/button/button.d.ts +172 -178
- package/src/button/button.js +5 -5
- package/src/button/buttonlabel.d.ts +34 -34
- package/src/button/buttonlabel.js +5 -5
- package/src/button/buttonlabelview.d.ts +31 -31
- package/src/button/buttonlabelview.js +42 -42
- package/src/button/buttonview.d.ts +181 -185
- package/src/button/buttonview.js +217 -219
- package/src/button/switchbuttonview.d.ts +45 -45
- package/src/button/switchbuttonview.js +75 -75
- package/src/colorgrid/colorgridview.d.ts +132 -132
- package/src/colorgrid/colorgridview.js +124 -124
- package/src/colorgrid/colortileview.d.ts +28 -28
- package/src/colorgrid/colortileview.js +40 -40
- package/src/colorgrid/utils.d.ts +47 -47
- package/src/colorgrid/utils.js +84 -84
- package/src/colorpicker/colorpickerview.d.ts +137 -137
- package/src/colorpicker/colorpickerview.js +270 -270
- package/src/colorpicker/utils.d.ts +43 -43
- package/src/colorpicker/utils.js +99 -99
- package/src/colorselector/colorgridsfragmentview.d.ts +194 -194
- package/src/colorselector/colorgridsfragmentview.js +289 -289
- package/src/colorselector/colorpickerfragmentview.d.ts +128 -128
- package/src/colorselector/colorpickerfragmentview.js +205 -205
- package/src/colorselector/colorselectorview.d.ts +242 -242
- package/src/colorselector/colorselectorview.js +256 -256
- package/src/colorselector/documentcolorcollection.d.ts +70 -70
- package/src/colorselector/documentcolorcollection.js +42 -42
- package/src/componentfactory.d.ts +81 -81
- package/src/componentfactory.js +104 -104
- package/src/dropdown/button/dropdownbutton.d.ts +25 -25
- package/src/dropdown/button/dropdownbutton.js +5 -5
- package/src/dropdown/button/dropdownbuttonview.d.ts +48 -48
- package/src/dropdown/button/dropdownbuttonview.js +66 -66
- package/src/dropdown/button/splitbuttonview.d.ts +161 -161
- package/src/dropdown/button/splitbuttonview.js +152 -152
- package/src/dropdown/dropdownpanelfocusable.d.ts +21 -21
- package/src/dropdown/dropdownpanelfocusable.js +5 -5
- package/src/dropdown/dropdownpanelview.d.ts +62 -62
- package/src/dropdown/dropdownpanelview.js +97 -97
- package/src/dropdown/dropdownview.d.ts +315 -315
- package/src/dropdown/dropdownview.js +379 -379
- package/src/dropdown/utils.d.ts +235 -235
- package/src/dropdown/utils.js +463 -458
- package/src/editableui/editableuiview.d.ts +72 -72
- package/src/editableui/editableuiview.js +112 -112
- package/src/editableui/inline/inlineeditableuiview.d.ts +40 -40
- package/src/editableui/inline/inlineeditableuiview.js +48 -48
- package/src/editorui/bodycollection.d.ts +55 -55
- package/src/editorui/bodycollection.js +84 -84
- package/src/editorui/boxed/boxededitoruiview.d.ts +40 -40
- package/src/editorui/boxed/boxededitoruiview.js +81 -81
- package/src/editorui/editorui.d.ts +288 -282
- package/src/editorui/editorui.js +412 -410
- package/src/editorui/editoruiview.d.ts +39 -39
- package/src/editorui/editoruiview.js +38 -38
- package/src/editorui/poweredby.d.ts +71 -71
- package/src/editorui/poweredby.js +276 -276
- package/src/focuscycler.d.ts +226 -226
- package/src/focuscycler.js +245 -245
- package/src/formheader/formheaderview.d.ts +59 -59
- package/src/formheader/formheaderview.js +69 -69
- package/src/highlightedtext/highlightedtextview.d.ts +38 -38
- package/src/highlightedtext/highlightedtextview.js +102 -102
- package/src/icon/iconview.d.ts +85 -85
- package/src/icon/iconview.js +114 -114
- package/src/iframe/iframeview.d.ts +50 -50
- package/src/iframe/iframeview.js +63 -63
- package/src/index.d.ts +73 -73
- package/src/index.js +70 -70
- package/src/input/inputbase.d.ts +107 -107
- package/src/input/inputbase.js +110 -110
- package/src/input/inputview.d.ts +36 -36
- package/src/input/inputview.js +24 -24
- package/src/inputnumber/inputnumberview.d.ts +49 -49
- package/src/inputnumber/inputnumberview.js +40 -40
- package/src/inputtext/inputtextview.d.ts +18 -18
- package/src/inputtext/inputtextview.js +27 -27
- package/src/label/labelview.d.ts +36 -36
- package/src/label/labelview.js +41 -41
- package/src/labeledfield/labeledfieldview.d.ts +187 -187
- package/src/labeledfield/labeledfieldview.js +157 -157
- package/src/labeledfield/utils.d.ts +123 -123
- package/src/labeledfield/utils.js +176 -176
- package/src/labeledinput/labeledinputview.d.ts +125 -125
- package/src/labeledinput/labeledinputview.js +125 -125
- package/src/list/listitemgroupview.d.ts +59 -51
- package/src/list/listitemgroupview.js +63 -75
- package/src/list/listitemview.d.ts +36 -36
- package/src/list/listitemview.js +42 -42
- package/src/list/listseparatorview.d.ts +18 -18
- package/src/list/listseparatorview.js +28 -28
- package/src/list/listview.d.ts +122 -122
- package/src/list/listview.js +187 -187
- package/src/model.d.ts +22 -22
- package/src/model.js +31 -31
- package/src/notification/notification.d.ts +211 -211
- package/src/notification/notification.js +187 -187
- package/src/panel/balloon/balloonpanelview.d.ts +685 -685
- package/src/panel/balloon/balloonpanelview.js +1010 -1010
- package/src/panel/balloon/contextualballoon.d.ts +299 -299
- package/src/panel/balloon/contextualballoon.js +572 -572
- package/src/panel/sticky/stickypanelview.d.ts +156 -156
- package/src/panel/sticky/stickypanelview.js +234 -234
- package/src/search/filteredview.d.ts +31 -31
- package/src/search/filteredview.js +5 -5
- package/src/search/searchinfoview.d.ts +45 -45
- package/src/search/searchinfoview.js +59 -59
- package/src/search/searchresultsview.d.ts +54 -54
- package/src/search/searchresultsview.js +65 -65
- package/src/search/text/searchtextqueryview.d.ts +76 -76
- package/src/search/text/searchtextqueryview.js +75 -75
- package/src/search/text/searchtextview.d.ts +219 -219
- package/src/search/text/searchtextview.js +201 -201
- package/src/spinner/spinnerview.d.ts +25 -25
- package/src/spinner/spinnerview.js +38 -38
- package/src/template.d.ts +942 -942
- package/src/template.js +1294 -1294
- package/src/textarea/textareaview.d.ts +88 -88
- package/src/textarea/textareaview.js +142 -140
- package/src/toolbar/balloon/balloontoolbar.d.ts +122 -122
- package/src/toolbar/balloon/balloontoolbar.js +300 -300
- package/src/toolbar/block/blockbuttonview.d.ts +35 -35
- package/src/toolbar/block/blockbuttonview.js +41 -41
- package/src/toolbar/block/blocktoolbar.d.ts +161 -161
- package/src/toolbar/block/blocktoolbar.js +395 -395
- package/src/toolbar/normalizetoolbarconfig.d.ts +40 -40
- package/src/toolbar/normalizetoolbarconfig.js +52 -51
- package/src/toolbar/toolbarlinebreakview.d.ts +18 -18
- package/src/toolbar/toolbarlinebreakview.js +28 -28
- package/src/toolbar/toolbarseparatorview.d.ts +18 -18
- package/src/toolbar/toolbarseparatorview.js +28 -28
- package/src/toolbar/toolbarview.d.ts +266 -266
- package/src/toolbar/toolbarview.js +719 -719
- package/src/tooltipmanager.d.ts +180 -180
- package/src/tooltipmanager.js +353 -353
- package/src/view.d.ts +422 -422
- package/src/view.js +396 -396
- package/src/viewcollection.d.ts +139 -139
- package/src/viewcollection.js +206 -206
- package/theme/components/arialiveannouncer/arialiveannouncer.css +10 -0
- package/theme/components/button/button.css +9 -1
- package/theme/components/formheader/formheader.css +0 -4
|
@@ -1,219 +1,219 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module ui/search/text/searchtextview
|
|
7
|
-
*/
|
|
8
|
-
import { FocusTracker, KeystrokeHandler, type Locale } from '@ckeditor/ckeditor5-utils';
|
|
9
|
-
import View from '../../view';
|
|
10
|
-
import { default as SearchTextQueryView, type SearchTextQueryViewConfig } from './searchtextqueryview';
|
|
11
|
-
import SearchResultsView from '../searchresultsview';
|
|
12
|
-
import FocusCycler from '../../focuscycler';
|
|
13
|
-
import type FilteredView from '../filteredview';
|
|
14
|
-
import type ViewCollection from '../../viewcollection';
|
|
15
|
-
import type InputBase from '../../input/inputbase';
|
|
16
|
-
import type InputTextView from '../../inputtext/inputtextview';
|
|
17
|
-
import '../../../theme/components/search/search.css';
|
|
18
|
-
/**
|
|
19
|
-
* A search component that allows filtering of an arbitrary view based on a search query
|
|
20
|
-
* specified by the user in a text field.
|
|
21
|
-
*
|
|
22
|
-
*```ts
|
|
23
|
-
* // This view must specify the `filter()` and `focus()` methods.
|
|
24
|
-
* const filteredView = ...;
|
|
25
|
-
*
|
|
26
|
-
* const searchView = new SearchTextView( locale, {
|
|
27
|
-
* searchFieldLabel: 'Search list items',
|
|
28
|
-
* filteredView
|
|
29
|
-
* } );
|
|
30
|
-
*
|
|
31
|
-
* view.render();
|
|
32
|
-
*
|
|
33
|
-
* document.body.append( view.element );
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export default class SearchTextView<TQueryFieldView extends InputBase<HTMLInputElement | HTMLTextAreaElement> = InputTextView> extends View {
|
|
37
|
-
/**
|
|
38
|
-
* Tracks information about the DOM focus in the view.
|
|
39
|
-
*
|
|
40
|
-
* @readonly
|
|
41
|
-
*/
|
|
42
|
-
focusTracker: FocusTracker;
|
|
43
|
-
/**
|
|
44
|
-
* An instance of the keystroke handler managing user interaction and accessibility.
|
|
45
|
-
*
|
|
46
|
-
* @readonly
|
|
47
|
-
*/
|
|
48
|
-
keystrokes: KeystrokeHandler;
|
|
49
|
-
/**
|
|
50
|
-
* A view hosting the {@link #filteredView} passed in the configuration and the {@link #infoView}.
|
|
51
|
-
*/
|
|
52
|
-
resultsView: SearchResultsView;
|
|
53
|
-
/**
|
|
54
|
-
* The view that is filtered by the search query.
|
|
55
|
-
*/
|
|
56
|
-
filteredView: FilteredView;
|
|
57
|
-
/**
|
|
58
|
-
* The view that displays the information about the search results.
|
|
59
|
-
*/
|
|
60
|
-
infoView: View | undefined;
|
|
61
|
-
/**
|
|
62
|
-
* The view that allows the user to enter the search query.
|
|
63
|
-
*/
|
|
64
|
-
queryView: SearchTextQueryView<TQueryFieldView>;
|
|
65
|
-
/**
|
|
66
|
-
* Controls whether the component is in read-only mode.
|
|
67
|
-
*
|
|
68
|
-
* @default true
|
|
69
|
-
* @observable
|
|
70
|
-
*/
|
|
71
|
-
isEnabled: boolean;
|
|
72
|
-
/**
|
|
73
|
-
* The number of results found for the current search query. Updated upon the {@link #search} event.
|
|
74
|
-
*
|
|
75
|
-
* @default 0
|
|
76
|
-
* @observable
|
|
77
|
-
*/
|
|
78
|
-
resultsCount: number;
|
|
79
|
-
/**
|
|
80
|
-
* The number of the items that can be searched in the {@link #filteredView}. Updated upon the {@link #search} event.
|
|
81
|
-
*
|
|
82
|
-
* @default 0
|
|
83
|
-
* @observable
|
|
84
|
-
*/
|
|
85
|
-
totalItemsCount: number;
|
|
86
|
-
/**
|
|
87
|
-
* The collection of children of the view.
|
|
88
|
-
*
|
|
89
|
-
* @readonly
|
|
90
|
-
*/
|
|
91
|
-
readonly children: ViewCollection;
|
|
92
|
-
/**
|
|
93
|
-
* The collection of focusable children of the view. Used by the focus management logic.
|
|
94
|
-
*
|
|
95
|
-
* @readonly
|
|
96
|
-
*/
|
|
97
|
-
readonly focusableChildren: ViewCollection;
|
|
98
|
-
locale: Locale;
|
|
99
|
-
/**
|
|
100
|
-
* Provides the focus management (keyboard navigation) between {@link #queryView} and {@link #filteredView}.
|
|
101
|
-
*
|
|
102
|
-
* @readonly
|
|
103
|
-
*/
|
|
104
|
-
focusCycler: FocusCycler;
|
|
105
|
-
/**
|
|
106
|
-
* The cached configuration object.
|
|
107
|
-
*
|
|
108
|
-
* @internal
|
|
109
|
-
*/
|
|
110
|
-
protected _config: SearchTextViewConfig<TQueryFieldView>;
|
|
111
|
-
/**
|
|
112
|
-
* Creates an instance of the {@link module:ui/search/text/searchtextview~SearchTextView} class.
|
|
113
|
-
*
|
|
114
|
-
* @param locale The localization services instance.
|
|
115
|
-
* @param config Configuration of the view.
|
|
116
|
-
*/
|
|
117
|
-
constructor(locale: Locale, config: SearchTextViewConfig<TQueryFieldView>);
|
|
118
|
-
/**
|
|
119
|
-
* @inheritDoc
|
|
120
|
-
*/
|
|
121
|
-
render(): void;
|
|
122
|
-
/**
|
|
123
|
-
* Focuses the {@link #queryView}.
|
|
124
|
-
*/
|
|
125
|
-
focus(): void;
|
|
126
|
-
/**
|
|
127
|
-
* Resets the component to its initial state.
|
|
128
|
-
*/
|
|
129
|
-
reset(): void;
|
|
130
|
-
/**
|
|
131
|
-
* Searches the {@link #filteredView} for the given query.
|
|
132
|
-
*
|
|
133
|
-
* @internal
|
|
134
|
-
* @param query The search query string.
|
|
135
|
-
*/
|
|
136
|
-
search(query: string): void;
|
|
137
|
-
/**
|
|
138
|
-
* Creates a search field view based on configured creator..
|
|
139
|
-
*/
|
|
140
|
-
private _createSearchTextQueryView;
|
|
141
|
-
/**
|
|
142
|
-
* Initializes the default {@link #infoView} behavior with default text labels when no custom info view
|
|
143
|
-
* was specified in the view config.
|
|
144
|
-
*/
|
|
145
|
-
private _enableDefaultInfoViewBehavior;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* The configuration of the {@link module:ui/search/text/searchtextview~SearchTextView} class.
|
|
149
|
-
*/
|
|
150
|
-
export interface SearchTextViewConfig<TConfigSearchField extends InputBase<HTMLInputElement | HTMLTextAreaElement>> {
|
|
151
|
-
/**
|
|
152
|
-
* The configuration of the view's query field.
|
|
153
|
-
*/
|
|
154
|
-
queryView: SearchTextQueryViewConfig<TConfigSearchField>;
|
|
155
|
-
/**
|
|
156
|
-
* The view that is filtered by the search query.
|
|
157
|
-
*/
|
|
158
|
-
filteredView: FilteredView;
|
|
159
|
-
/**
|
|
160
|
-
* The view that displays the information about the search results.
|
|
161
|
-
*/
|
|
162
|
-
infoView?: {
|
|
163
|
-
/**
|
|
164
|
-
* The view that displays the information about the search results. If not specified,
|
|
165
|
-
* {@link module:ui/search/searchinfoview~SearchInfoView} is used.
|
|
166
|
-
*/
|
|
167
|
-
instance?: View;
|
|
168
|
-
/**
|
|
169
|
-
* The configuration of text labels displayed in the {@link #infoView} in different states
|
|
170
|
-
* of the search component.
|
|
171
|
-
*
|
|
172
|
-
* **Note**: This configuration is only used when the {@link #infoView} is **not** specified.
|
|
173
|
-
* In other cases, please use the {@link module:ui/search/searchview~SearchTextViewSearchEvent} to bring about
|
|
174
|
-
* your own info text logic.
|
|
175
|
-
*/
|
|
176
|
-
text?: {
|
|
177
|
-
notFound?: {
|
|
178
|
-
primary: SearchTextViewDefaultInfoText;
|
|
179
|
-
secondary?: SearchTextViewDefaultInfoText;
|
|
180
|
-
};
|
|
181
|
-
noSearchableItems?: {
|
|
182
|
-
primary: SearchTextViewDefaultInfoText;
|
|
183
|
-
secondary?: SearchTextViewDefaultInfoText;
|
|
184
|
-
};
|
|
185
|
-
};
|
|
186
|
-
};
|
|
187
|
-
/**
|
|
188
|
-
* The custom CSS class name to be added to the search view element.
|
|
189
|
-
*/
|
|
190
|
-
class?: string;
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Describes value of a info text configuration in {@link module:ui/search/text/searchtextview~SearchTextViewConfig}.
|
|
194
|
-
* A string or a function that returns a string with the information about the search results.
|
|
195
|
-
*/
|
|
196
|
-
export type SearchTextViewDefaultInfoText = string | ((query: string, resultsCount: number, totalItemsCount: number) => string);
|
|
197
|
-
/**
|
|
198
|
-
* An event fired when the search query changes fired by {@link module:ui/search/text/searchtextview~SearchTextView#search}.
|
|
199
|
-
*
|
|
200
|
-
* @eventName ~SearchTextView#search
|
|
201
|
-
*/
|
|
202
|
-
export type SearchTextViewSearchEvent = {
|
|
203
|
-
name: 'search';
|
|
204
|
-
args: [SearchTextViewSearchEventData];
|
|
205
|
-
};
|
|
206
|
-
export type SearchTextViewSearchEventData = {
|
|
207
|
-
/**
|
|
208
|
-
* The search query string.
|
|
209
|
-
*/
|
|
210
|
-
query: string;
|
|
211
|
-
/**
|
|
212
|
-
* The number of results found for the current search query.
|
|
213
|
-
*/
|
|
214
|
-
resultsCount: number;
|
|
215
|
-
/**
|
|
216
|
-
* The number of the items that can be searched.
|
|
217
|
-
*/
|
|
218
|
-
totalItemsCount: number;
|
|
219
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module ui/search/text/searchtextview
|
|
7
|
+
*/
|
|
8
|
+
import { FocusTracker, KeystrokeHandler, type Locale } from '@ckeditor/ckeditor5-utils';
|
|
9
|
+
import View from '../../view';
|
|
10
|
+
import { default as SearchTextQueryView, type SearchTextQueryViewConfig } from './searchtextqueryview';
|
|
11
|
+
import SearchResultsView from '../searchresultsview';
|
|
12
|
+
import FocusCycler from '../../focuscycler';
|
|
13
|
+
import type FilteredView from '../filteredview';
|
|
14
|
+
import type ViewCollection from '../../viewcollection';
|
|
15
|
+
import type InputBase from '../../input/inputbase';
|
|
16
|
+
import type InputTextView from '../../inputtext/inputtextview';
|
|
17
|
+
import '../../../theme/components/search/search.css';
|
|
18
|
+
/**
|
|
19
|
+
* A search component that allows filtering of an arbitrary view based on a search query
|
|
20
|
+
* specified by the user in a text field.
|
|
21
|
+
*
|
|
22
|
+
*```ts
|
|
23
|
+
* // This view must specify the `filter()` and `focus()` methods.
|
|
24
|
+
* const filteredView = ...;
|
|
25
|
+
*
|
|
26
|
+
* const searchView = new SearchTextView( locale, {
|
|
27
|
+
* searchFieldLabel: 'Search list items',
|
|
28
|
+
* filteredView
|
|
29
|
+
* } );
|
|
30
|
+
*
|
|
31
|
+
* view.render();
|
|
32
|
+
*
|
|
33
|
+
* document.body.append( view.element );
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export default class SearchTextView<TQueryFieldView extends InputBase<HTMLInputElement | HTMLTextAreaElement> = InputTextView> extends View {
|
|
37
|
+
/**
|
|
38
|
+
* Tracks information about the DOM focus in the view.
|
|
39
|
+
*
|
|
40
|
+
* @readonly
|
|
41
|
+
*/
|
|
42
|
+
focusTracker: FocusTracker;
|
|
43
|
+
/**
|
|
44
|
+
* An instance of the keystroke handler managing user interaction and accessibility.
|
|
45
|
+
*
|
|
46
|
+
* @readonly
|
|
47
|
+
*/
|
|
48
|
+
keystrokes: KeystrokeHandler;
|
|
49
|
+
/**
|
|
50
|
+
* A view hosting the {@link #filteredView} passed in the configuration and the {@link #infoView}.
|
|
51
|
+
*/
|
|
52
|
+
resultsView: SearchResultsView;
|
|
53
|
+
/**
|
|
54
|
+
* The view that is filtered by the search query.
|
|
55
|
+
*/
|
|
56
|
+
filteredView: FilteredView;
|
|
57
|
+
/**
|
|
58
|
+
* The view that displays the information about the search results.
|
|
59
|
+
*/
|
|
60
|
+
infoView: View | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* The view that allows the user to enter the search query.
|
|
63
|
+
*/
|
|
64
|
+
queryView: SearchTextQueryView<TQueryFieldView>;
|
|
65
|
+
/**
|
|
66
|
+
* Controls whether the component is in read-only mode.
|
|
67
|
+
*
|
|
68
|
+
* @default true
|
|
69
|
+
* @observable
|
|
70
|
+
*/
|
|
71
|
+
isEnabled: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* The number of results found for the current search query. Updated upon the {@link #search} event.
|
|
74
|
+
*
|
|
75
|
+
* @default 0
|
|
76
|
+
* @observable
|
|
77
|
+
*/
|
|
78
|
+
resultsCount: number;
|
|
79
|
+
/**
|
|
80
|
+
* The number of the items that can be searched in the {@link #filteredView}. Updated upon the {@link #search} event.
|
|
81
|
+
*
|
|
82
|
+
* @default 0
|
|
83
|
+
* @observable
|
|
84
|
+
*/
|
|
85
|
+
totalItemsCount: number;
|
|
86
|
+
/**
|
|
87
|
+
* The collection of children of the view.
|
|
88
|
+
*
|
|
89
|
+
* @readonly
|
|
90
|
+
*/
|
|
91
|
+
readonly children: ViewCollection;
|
|
92
|
+
/**
|
|
93
|
+
* The collection of focusable children of the view. Used by the focus management logic.
|
|
94
|
+
*
|
|
95
|
+
* @readonly
|
|
96
|
+
*/
|
|
97
|
+
readonly focusableChildren: ViewCollection;
|
|
98
|
+
locale: Locale;
|
|
99
|
+
/**
|
|
100
|
+
* Provides the focus management (keyboard navigation) between {@link #queryView} and {@link #filteredView}.
|
|
101
|
+
*
|
|
102
|
+
* @readonly
|
|
103
|
+
*/
|
|
104
|
+
focusCycler: FocusCycler;
|
|
105
|
+
/**
|
|
106
|
+
* The cached configuration object.
|
|
107
|
+
*
|
|
108
|
+
* @internal
|
|
109
|
+
*/
|
|
110
|
+
protected _config: SearchTextViewConfig<TQueryFieldView>;
|
|
111
|
+
/**
|
|
112
|
+
* Creates an instance of the {@link module:ui/search/text/searchtextview~SearchTextView} class.
|
|
113
|
+
*
|
|
114
|
+
* @param locale The localization services instance.
|
|
115
|
+
* @param config Configuration of the view.
|
|
116
|
+
*/
|
|
117
|
+
constructor(locale: Locale, config: SearchTextViewConfig<TQueryFieldView>);
|
|
118
|
+
/**
|
|
119
|
+
* @inheritDoc
|
|
120
|
+
*/
|
|
121
|
+
render(): void;
|
|
122
|
+
/**
|
|
123
|
+
* Focuses the {@link #queryView}.
|
|
124
|
+
*/
|
|
125
|
+
focus(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Resets the component to its initial state.
|
|
128
|
+
*/
|
|
129
|
+
reset(): void;
|
|
130
|
+
/**
|
|
131
|
+
* Searches the {@link #filteredView} for the given query.
|
|
132
|
+
*
|
|
133
|
+
* @internal
|
|
134
|
+
* @param query The search query string.
|
|
135
|
+
*/
|
|
136
|
+
search(query: string): void;
|
|
137
|
+
/**
|
|
138
|
+
* Creates a search field view based on configured creator..
|
|
139
|
+
*/
|
|
140
|
+
private _createSearchTextQueryView;
|
|
141
|
+
/**
|
|
142
|
+
* Initializes the default {@link #infoView} behavior with default text labels when no custom info view
|
|
143
|
+
* was specified in the view config.
|
|
144
|
+
*/
|
|
145
|
+
private _enableDefaultInfoViewBehavior;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* The configuration of the {@link module:ui/search/text/searchtextview~SearchTextView} class.
|
|
149
|
+
*/
|
|
150
|
+
export interface SearchTextViewConfig<TConfigSearchField extends InputBase<HTMLInputElement | HTMLTextAreaElement>> {
|
|
151
|
+
/**
|
|
152
|
+
* The configuration of the view's query field.
|
|
153
|
+
*/
|
|
154
|
+
queryView: SearchTextQueryViewConfig<TConfigSearchField>;
|
|
155
|
+
/**
|
|
156
|
+
* The view that is filtered by the search query.
|
|
157
|
+
*/
|
|
158
|
+
filteredView: FilteredView;
|
|
159
|
+
/**
|
|
160
|
+
* The view that displays the information about the search results.
|
|
161
|
+
*/
|
|
162
|
+
infoView?: {
|
|
163
|
+
/**
|
|
164
|
+
* The view that displays the information about the search results. If not specified,
|
|
165
|
+
* {@link module:ui/search/searchinfoview~SearchInfoView} is used.
|
|
166
|
+
*/
|
|
167
|
+
instance?: View;
|
|
168
|
+
/**
|
|
169
|
+
* The configuration of text labels displayed in the {@link #infoView} in different states
|
|
170
|
+
* of the search component.
|
|
171
|
+
*
|
|
172
|
+
* **Note**: This configuration is only used when the {@link #infoView} is **not** specified.
|
|
173
|
+
* In other cases, please use the {@link module:ui/search/searchview~SearchTextViewSearchEvent} to bring about
|
|
174
|
+
* your own info text logic.
|
|
175
|
+
*/
|
|
176
|
+
text?: {
|
|
177
|
+
notFound?: {
|
|
178
|
+
primary: SearchTextViewDefaultInfoText;
|
|
179
|
+
secondary?: SearchTextViewDefaultInfoText;
|
|
180
|
+
};
|
|
181
|
+
noSearchableItems?: {
|
|
182
|
+
primary: SearchTextViewDefaultInfoText;
|
|
183
|
+
secondary?: SearchTextViewDefaultInfoText;
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* The custom CSS class name to be added to the search view element.
|
|
189
|
+
*/
|
|
190
|
+
class?: string;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Describes value of a info text configuration in {@link module:ui/search/text/searchtextview~SearchTextViewConfig}.
|
|
194
|
+
* A string or a function that returns a string with the information about the search results.
|
|
195
|
+
*/
|
|
196
|
+
export type SearchTextViewDefaultInfoText = string | ((query: string, resultsCount: number, totalItemsCount: number) => string);
|
|
197
|
+
/**
|
|
198
|
+
* An event fired when the search query changes fired by {@link module:ui/search/text/searchtextview~SearchTextView#search}.
|
|
199
|
+
*
|
|
200
|
+
* @eventName ~SearchTextView#search
|
|
201
|
+
*/
|
|
202
|
+
export type SearchTextViewSearchEvent = {
|
|
203
|
+
name: 'search';
|
|
204
|
+
args: [SearchTextViewSearchEventData];
|
|
205
|
+
};
|
|
206
|
+
export type SearchTextViewSearchEventData = {
|
|
207
|
+
/**
|
|
208
|
+
* The search query string.
|
|
209
|
+
*/
|
|
210
|
+
query: string;
|
|
211
|
+
/**
|
|
212
|
+
* The number of results found for the current search query.
|
|
213
|
+
*/
|
|
214
|
+
resultsCount: number;
|
|
215
|
+
/**
|
|
216
|
+
* The number of the items that can be searched.
|
|
217
|
+
*/
|
|
218
|
+
totalItemsCount: number;
|
|
219
|
+
};
|