@grapecity/wijmo.input 5.20261.50 → 5.20262.60
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/es2015-commonjs.js +2 -2
- package/es2015-esm.js +2 -2
- package/es5-esm.js +2 -2
- package/index.d.ts +563 -384
- package/index.js +2 -2
- package/package.json +2 -2
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
3
|
+
* Wijmo Library 5.20262.60
|
|
4
4
|
* https://developer.mescius.com/wijmo
|
|
5
5
|
*
|
|
6
6
|
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
@@ -115,6 +115,11 @@ export declare const MultiAutoCompleteClsNames: {
|
|
|
115
115
|
export declare const MultiSelectClsNames: {
|
|
116
116
|
hostElement: string;
|
|
117
117
|
};
|
|
118
|
+
export declare const MultiLineComboBoxClsNames: {
|
|
119
|
+
dropDownPanel: string;
|
|
120
|
+
hostElement: string;
|
|
121
|
+
screenReaderOnly: string;
|
|
122
|
+
};
|
|
118
123
|
export declare const MultiSelectListBoxClsNames: {
|
|
119
124
|
header: string;
|
|
120
125
|
hostElement: string;
|
|
@@ -158,6 +163,7 @@ export declare class InputNumber extends Control {
|
|
|
158
163
|
_min: number;
|
|
159
164
|
_max: number;
|
|
160
165
|
_format: string;
|
|
166
|
+
_truncate: boolean;
|
|
161
167
|
_step: number;
|
|
162
168
|
_showBtn: boolean;
|
|
163
169
|
_readOnly: boolean;
|
|
@@ -178,7 +184,6 @@ export declare class InputNumber extends Control {
|
|
|
178
184
|
_delKey: boolean;
|
|
179
185
|
_rptUp: _ClickRepeater;
|
|
180
186
|
_rptDn: _ClickRepeater;
|
|
181
|
-
_fromKb: boolean;
|
|
182
187
|
static _ctrlTemplate: string;
|
|
183
188
|
_inputElementAriaLabel: string;
|
|
184
189
|
_ariaLabelledby: string;
|
|
@@ -271,6 +276,16 @@ export declare class InputNumber extends Control {
|
|
|
271
276
|
* standard numeric format string</a>.
|
|
272
277
|
*/
|
|
273
278
|
format: string;
|
|
279
|
+
/**
|
|
280
|
+
* Gets or sets whether the control truncates numeric values that exceed
|
|
281
|
+
* the decimal precision defined by {@link format}, instead of applying rounding.
|
|
282
|
+
*
|
|
283
|
+
* For example, if {@link format} = 'n2' and the value is 99.999,
|
|
284
|
+
* setting {@link truncate} to true will store 99.99 rather than rounding to 100.
|
|
285
|
+
*
|
|
286
|
+
* Default is **false**, which preserves the standard rounding behavior.
|
|
287
|
+
*/
|
|
288
|
+
truncate: boolean;
|
|
274
289
|
/**
|
|
275
290
|
* Gets or sets the text shown in the control.
|
|
276
291
|
*/
|
|
@@ -1185,7 +1200,6 @@ export declare class ListBox<T = any> extends Control {
|
|
|
1185
1200
|
_getSelectedElement(visible: boolean): HTMLElement | null;
|
|
1186
1201
|
_handleResize(): void;
|
|
1187
1202
|
_createItem(i: number, groupIndex?: number): string;
|
|
1188
|
-
_getAriaSelected(isSelected: boolean, isChecked: boolean | null): boolean;
|
|
1189
1203
|
_createHeaderItem(group: CollectionViewGroup, groupIndex: number): string;
|
|
1190
1204
|
private _click;
|
|
1191
1205
|
private _keydown;
|
|
@@ -1246,204 +1260,6 @@ export declare class FormatItemEventArgs extends EventArgs {
|
|
|
1246
1260
|
*/
|
|
1247
1261
|
readonly item: HTMLElement;
|
|
1248
1262
|
}
|
|
1249
|
-
/**
|
|
1250
|
-
* The {@link MultiSelectListBox} control contains a {@link ListBox} with
|
|
1251
|
-
* a "Select All" button and a "Filter" input.
|
|
1252
|
-
*
|
|
1253
|
-
* The "Select All" and "Filter" elements can be shown or hidden using
|
|
1254
|
-
* the {@link showSelectAllCheckbox} and {@link showFilterInput} properties.
|
|
1255
|
-
*
|
|
1256
|
-
* The {@link MultiSelectListBox} control is used as a drop-down by the
|
|
1257
|
-
* {@link MultiSelect} control.
|
|
1258
|
-
*/
|
|
1259
|
-
export declare class MultiSelectListBox<T = any> extends Control {
|
|
1260
|
-
_selectAll: HTMLElement;
|
|
1261
|
-
_filter: HTMLInputElement;
|
|
1262
|
-
_lbHost: HTMLElement;
|
|
1263
|
-
_lbx: ListBox;
|
|
1264
|
-
_cbSelectAll: HTMLInputElement;
|
|
1265
|
-
_spSelectAll: HTMLSpanElement;
|
|
1266
|
-
_ariaLabel: string;
|
|
1267
|
-
_selectAllLabel: string;
|
|
1268
|
-
_filterPlaceholder: string;
|
|
1269
|
-
_filterText: string;
|
|
1270
|
-
_checkOnFilter: boolean;
|
|
1271
|
-
_delay: number;
|
|
1272
|
-
_toSearch: any;
|
|
1273
|
-
static _DEF_CHECKED_PATH: string;
|
|
1274
|
-
static _ctrlTemplate: string;
|
|
1275
|
-
/**
|
|
1276
|
-
* Gets or sets the template used to instantiate {@link MultiSelectListBox} controls.
|
|
1277
|
-
*/
|
|
1278
|
-
static controlTemplate: string;
|
|
1279
|
-
/**
|
|
1280
|
-
* Initializes a new instance of the {@link MultiSelectListBox} class.
|
|
1281
|
-
*
|
|
1282
|
-
* @param element The DOM element that hosts the control, or a CSS selector for the host element (e.g. '#theCtrl').
|
|
1283
|
-
* @param options The JavaScript object containing initialization data for the control.
|
|
1284
|
-
*/
|
|
1285
|
-
constructor(element: any, options?: any);
|
|
1286
|
-
/**
|
|
1287
|
-
* Gets or sets the array or {@link ICollectionView} object that contains
|
|
1288
|
-
* the list items.
|
|
1289
|
-
*/
|
|
1290
|
-
itemsSource: any;
|
|
1291
|
-
/**
|
|
1292
|
-
* Gets the {@link ICollectionView} object used as the item source.
|
|
1293
|
-
*/
|
|
1294
|
-
readonly collectionView: ICollectionView<T>;
|
|
1295
|
-
/**
|
|
1296
|
-
* Gets or sets the minimum number of rows and/or columns required to enable
|
|
1297
|
-
* virtualization in the drop-down {@link ListBox}.
|
|
1298
|
-
*
|
|
1299
|
-
* The default value for this property is a very big number, meaning virtualization is
|
|
1300
|
-
* disabled. To enable virtualization, set its value to 0 or a positive number.
|
|
1301
|
-
*
|
|
1302
|
-
* For more detals, please see the {@link ListBox.virtualizationThreshold}
|
|
1303
|
-
* property.
|
|
1304
|
-
*/
|
|
1305
|
-
virtualizationThreshold: number;
|
|
1306
|
-
/**
|
|
1307
|
-
* Gets or sets the name of the property to use as the visual
|
|
1308
|
-
* representation of the items.
|
|
1309
|
-
*/
|
|
1310
|
-
displayMemberPath: string;
|
|
1311
|
-
/**
|
|
1312
|
-
* Gets or sets a value indicating whether items contain plain
|
|
1313
|
-
* text or HTML.
|
|
1314
|
-
*
|
|
1315
|
-
* The default value for this property is **false**.
|
|
1316
|
-
*/
|
|
1317
|
-
isContentHtml: boolean;
|
|
1318
|
-
/**
|
|
1319
|
-
* Gets or sets a value that determines whether searches performed
|
|
1320
|
-
* while the user types should case-sensitive.
|
|
1321
|
-
*
|
|
1322
|
-
* The default value for this property is **false**.
|
|
1323
|
-
*/
|
|
1324
|
-
caseSensitiveSearch: boolean;
|
|
1325
|
-
/**
|
|
1326
|
-
* Gets or sets the delay, in milliseconds, between when a keystroke occurs
|
|
1327
|
-
* and when the search is performed to update the filter.
|
|
1328
|
-
*
|
|
1329
|
-
* This property is relevant only when the {@link showFilterInput}
|
|
1330
|
-
* property is set to **true**.
|
|
1331
|
-
*
|
|
1332
|
-
* The default value for this property is **500** milliseconds.
|
|
1333
|
-
*/
|
|
1334
|
-
delay: number;
|
|
1335
|
-
/**
|
|
1336
|
-
* Gets or sets a value that determines whether the {@link MultiSelectListBox} should
|
|
1337
|
-
* include group header items to delimit data groups.
|
|
1338
|
-
*
|
|
1339
|
-
* Data groups are created by modifying the {@link ICollectionView.groupDescriptions}
|
|
1340
|
-
* property of the {@link ICollectionView} object used as an {@link itemsSource}.
|
|
1341
|
-
*
|
|
1342
|
-
* The {@link MultiSelectListBox} only shows the first level of grouping.
|
|
1343
|
-
*
|
|
1344
|
-
* The default value for this property is **false**.
|
|
1345
|
-
*/
|
|
1346
|
-
showGroups: boolean;
|
|
1347
|
-
/**
|
|
1348
|
-
* Gets or sets a value that determines whether the {@link MultiSelectListBox}
|
|
1349
|
-
* should automatically check all filtered items when the filter text changes.
|
|
1350
|
-
*
|
|
1351
|
-
* The default value for this property is **true**, which causes the control
|
|
1352
|
-
* to behave like Excel and check all visible items when the filter is applied.
|
|
1353
|
-
*
|
|
1354
|
-
* For example, in a control with three items "Alice", "Bob", and "Mary",
|
|
1355
|
-
* typing "a" into the filter would cause the control to show items "Alice"
|
|
1356
|
-
* and "Mary", and both would be checked.
|
|
1357
|
-
*
|
|
1358
|
-
* Setting this property to **false** prevents the control from automatically
|
|
1359
|
-
* checking filtered items, and to keep checked items visible regardless of the
|
|
1360
|
-
* filter value.
|
|
1361
|
-
*
|
|
1362
|
-
* For example, in a control with three items "Alice", "Bob", and "Mary",
|
|
1363
|
-
* typing "a" into the filter would cause the control to show items "Alice"
|
|
1364
|
-
* and "Mary", but neither would be checked.
|
|
1365
|
-
* If the user then checked "Mary", and typed "b" into the filter, the list
|
|
1366
|
-
* would show items "Mary" (still checked) and "Bob" (unchecked).
|
|
1367
|
-
*/
|
|
1368
|
-
checkOnFilter: boolean;
|
|
1369
|
-
/**
|
|
1370
|
-
* Gets or sets the index of the currently selected item.
|
|
1371
|
-
*/
|
|
1372
|
-
selectedIndex: number;
|
|
1373
|
-
/**
|
|
1374
|
-
* Gets a reference to the {@link ListBox} control hosted by this
|
|
1375
|
-
* {@link MultiSelectListBox}.
|
|
1376
|
-
*/
|
|
1377
|
-
readonly listBox: ListBox;
|
|
1378
|
-
/**
|
|
1379
|
-
* Gets or sets whether the control should display a "filter" input
|
|
1380
|
-
* above the items to filter the items displayed.
|
|
1381
|
-
*
|
|
1382
|
-
* The default value for this property is **false**.
|
|
1383
|
-
*/
|
|
1384
|
-
showFilterInput: boolean;
|
|
1385
|
-
/**
|
|
1386
|
-
* Gets or sets the string used as a placeholder for the filter input element.
|
|
1387
|
-
*
|
|
1388
|
-
* The default value for this property is **null**, which causes the control
|
|
1389
|
-
* to show a localized version of the string "Filter".
|
|
1390
|
-
*/
|
|
1391
|
-
filterInputPlaceholder: string;
|
|
1392
|
-
/**
|
|
1393
|
-
* Gets or sets whether the control should display a "Select All" checkbox
|
|
1394
|
-
* above the items to select or de-select all items.
|
|
1395
|
-
*
|
|
1396
|
-
* The default value for this property is **false**.
|
|
1397
|
-
*/
|
|
1398
|
-
showSelectAllCheckbox: boolean;
|
|
1399
|
-
/**
|
|
1400
|
-
* Gets or sets the string to be used as a label for the "Select All"
|
|
1401
|
-
* checkbox that is displayed when the {@link showSelectAllCheckbox}
|
|
1402
|
-
* property is set to true.
|
|
1403
|
-
*
|
|
1404
|
-
* The default value for this property is **null**, which causes the control
|
|
1405
|
-
* to show a localized version of the string "Select All".
|
|
1406
|
-
*/
|
|
1407
|
-
selectAllLabel: string;
|
|
1408
|
-
/**
|
|
1409
|
-
* Gets or sets the name of the property used to control the checkboxes
|
|
1410
|
-
* placed next to each item.
|
|
1411
|
-
*/
|
|
1412
|
-
checkedMemberPath: string;
|
|
1413
|
-
/**
|
|
1414
|
-
* Gets or sets an array containing the items that are currently checked.
|
|
1415
|
-
*/
|
|
1416
|
-
checkedItems: any[];
|
|
1417
|
-
/**
|
|
1418
|
-
* Gets or sets the aria-labelledby attribute of {@link MultiSelectListBox} input element.
|
|
1419
|
-
*/
|
|
1420
|
-
ariaLabelledBy: string;
|
|
1421
|
-
_updateAriaLabel(): void;
|
|
1422
|
-
/**
|
|
1423
|
-
* Occurs when the value of the {@link checkedItems} property changes.
|
|
1424
|
-
*/
|
|
1425
|
-
readonly checkedItemsChanged: Event<MultiSelectListBox<any>, EventArgs>;
|
|
1426
|
-
/**
|
|
1427
|
-
* Raises the {@link checkedItemsChanged} event.
|
|
1428
|
-
*/
|
|
1429
|
-
onCheckedItemsChanged(e?: any): void;
|
|
1430
|
-
/**
|
|
1431
|
-
* Occurs when the value of the {@link selectedIndex} property changes.
|
|
1432
|
-
*/
|
|
1433
|
-
readonly selectedIndexChanged: Event<MultiSelectListBox<any>, EventArgs>;
|
|
1434
|
-
/**
|
|
1435
|
-
* Raises the {@link selectedIndexChanged} event.
|
|
1436
|
-
*/
|
|
1437
|
-
onSelectedIndexChanged(e?: EventArgs): void;
|
|
1438
|
-
refresh(fullUpdate?: boolean): void;
|
|
1439
|
-
dispose(): void;
|
|
1440
|
-
_applyFilter(): void;
|
|
1441
|
-
_updateCheckAllCheckbox(): void;
|
|
1442
|
-
_setIsDisabled(value: boolean): void;
|
|
1443
|
-
_setTabOrder(value: number): void;
|
|
1444
|
-
tryForceClearDelayAndFilter(): void;
|
|
1445
|
-
onLostFocus(): void;
|
|
1446
|
-
}
|
|
1447
1263
|
export interface _IDateRange {
|
|
1448
1264
|
from: Date | null;
|
|
1449
1265
|
to: Date | null;
|
|
@@ -2721,6 +2537,7 @@ export declare class Popup extends Control {
|
|
|
2721
2537
|
* ```
|
|
2722
2538
|
*/
|
|
2723
2539
|
show(modal?: boolean, handleResult?: Function): void;
|
|
2540
|
+
_getActiveElement(): HTMLElement | null;
|
|
2724
2541
|
/**
|
|
2725
2542
|
* Hides the {@link Popup}.
|
|
2726
2543
|
*
|
|
@@ -3896,12 +3713,14 @@ export declare class ComboBox<T = any> extends DropDown {
|
|
|
3896
3713
|
_findNextWhenIsEditableFalse(search: string, step: number, start?: number): number;
|
|
3897
3714
|
protected _keydown(e: KeyboardEvent): void;
|
|
3898
3715
|
_afterOpenDropdownByDownArrow(): void;
|
|
3899
|
-
_input(
|
|
3716
|
+
_input(e: Event): void;
|
|
3900
3717
|
_handleDragTextState(): void;
|
|
3901
3718
|
_shouldOpenDropdown(): boolean;
|
|
3902
3719
|
_handleIsEditableFalseInput(): void;
|
|
3903
3720
|
_updateSelection(index: number, editStart: number): void;
|
|
3904
|
-
_updateComponentText(): void;
|
|
3721
|
+
_updateComponentText(e?: Event): void;
|
|
3722
|
+
private _getInputTextForUpdate;
|
|
3723
|
+
private _shouldUseCurrentTextAfterComposition;
|
|
3905
3724
|
_updateEmptyValueFlag(): void;
|
|
3906
3725
|
_controlDropdownVisibility(): void;
|
|
3907
3726
|
_resetDragState(): void;
|
|
@@ -3913,192 +3732,60 @@ export declare class ComboBox<T = any> extends DropDown {
|
|
|
3913
3732
|
_updateDropDownWhenInput(): void;
|
|
3914
3733
|
}
|
|
3915
3734
|
/**
|
|
3916
|
-
*
|
|
3917
|
-
*
|
|
3735
|
+
* The {@link MultiLineComboBox} control extends {@link ComboBox} and uses a
|
|
3736
|
+
* multi-line text area as the input element.
|
|
3737
|
+
*
|
|
3738
|
+
* The control keeps the standard {@link ComboBox} item source and drop-down
|
|
3739
|
+
* selection behavior, while allowing users to enter line breaks in the input
|
|
3740
|
+
* field.
|
|
3918
3741
|
*/
|
|
3919
|
-
export
|
|
3742
|
+
export declare class MultiLineComboBox<T = any> extends ComboBox<T> {
|
|
3743
|
+
static _ctrlTemplate: string;
|
|
3744
|
+
private _screenReaderHelper;
|
|
3920
3745
|
/**
|
|
3921
|
-
*
|
|
3922
|
-
*
|
|
3746
|
+
* Initializes a new instance of the {@link MultiLineComboBox} class.
|
|
3747
|
+
*
|
|
3748
|
+
* @param element The DOM element that hosts the control, or a selector for the host element.
|
|
3749
|
+
* @param options The JavaScript object containing initialization data for the control.
|
|
3923
3750
|
*/
|
|
3924
|
-
(
|
|
3751
|
+
constructor(element: any, options?: any);
|
|
3752
|
+
/**
|
|
3753
|
+
* Gets or sets the template used to instantiate {@link MultiLineComboBox} control.
|
|
3754
|
+
*/
|
|
3755
|
+
static controlTemplate: string;
|
|
3756
|
+
/**
|
|
3757
|
+
* Gets the input element type for this control.
|
|
3758
|
+
*
|
|
3759
|
+
* This property always returns **"textarea"** because the
|
|
3760
|
+
* {@link MultiLineComboBox} uses a textarea element instead of an input element.
|
|
3761
|
+
*
|
|
3762
|
+
* Setting this property has no effect.
|
|
3763
|
+
*/
|
|
3764
|
+
inputType: string;
|
|
3765
|
+
/**
|
|
3766
|
+
* Gets or sets a value that determines whether to remove leading and trailing
|
|
3767
|
+
* whitespace characters from multi-line values.
|
|
3768
|
+
*
|
|
3769
|
+
* The default value of this property is **false**, so the control preserves
|
|
3770
|
+
* leading and trailing linebreaks and spaces.
|
|
3771
|
+
*/
|
|
3772
|
+
trimText: boolean;
|
|
3773
|
+
getAriaLabelForScreenReader(): any;
|
|
3774
|
+
private _addScreenReaderHelper;
|
|
3775
|
+
private _ariaReadSelectedChange;
|
|
3776
|
+
_updateInputAriaLabel(): void;
|
|
3777
|
+
protected _keydown(e: KeyboardEvent): void;
|
|
3778
|
+
_handleMultiLineComboBoxKey(e: KeyboardEvent): boolean;
|
|
3779
|
+
private _shouldOpenDropdownByArrow;
|
|
3780
|
+
private _selectItem;
|
|
3781
|
+
private _insertTextAreaLineBreak;
|
|
3782
|
+
private _isTextAreaLineBreak;
|
|
3783
|
+
private _preventNativeLineBreak;
|
|
3784
|
+
protected _wheel(e: WheelEvent): void;
|
|
3785
|
+
private canChangeItem;
|
|
3925
3786
|
}
|
|
3926
3787
|
/**
|
|
3927
|
-
*
|
|
3928
|
-
* drop-down lists that contain custom objects or simple strings.
|
|
3929
|
-
*
|
|
3930
|
-
* The {@link MultiSelect} control extends {@link ComboBox}, with all the usual
|
|
3931
|
-
* properties, including {@link MultiSelect.itemsSource} and
|
|
3932
|
-
* {@link MultiSelect.displayMemberPath}.
|
|
3933
|
-
*
|
|
3934
|
-
* Like the {@link ListBox} control, it has a {@link MultiSelect.checkedMemberPath}
|
|
3935
|
-
* property that defines the name of the property that determines whether an
|
|
3936
|
-
* item is checked or not.
|
|
3937
|
-
*
|
|
3938
|
-
* The items currently checked (selected) can be obtained using the
|
|
3939
|
-
* {@link MultiSelect.checkedItems} property.
|
|
3940
|
-
*
|
|
3941
|
-
* The control header is fully customizable. By default, it shows up to two items
|
|
3942
|
-
* selected and the item count after that. You can change the maximum number of
|
|
3943
|
-
* items to display ({@link MultiSelect.maxHeaderItems}), the message shown when no
|
|
3944
|
-
* items are selected ({@link MultiSelect.placeholder}), and the format string used to
|
|
3945
|
-
* show the item count ({@link MultiSelect.headerFormat}).
|
|
3946
|
-
*
|
|
3947
|
-
* Alternatively, you can provide a function to generate the header content based
|
|
3948
|
-
* on whatever criteria your application requires ({@link MultiSelect.headerFormatter}).
|
|
3949
|
-
*
|
|
3950
|
-
* The example below shows how you can use a {@link MultiSelect} control to select
|
|
3951
|
-
* multiple items from a drop-down list:
|
|
3952
|
-
*
|
|
3953
|
-
* {@sample Input/MultiSelect/Overview Example}
|
|
3954
|
-
*/
|
|
3955
|
-
export declare class MultiSelect extends ComboBox {
|
|
3956
|
-
private _maxHdrItems;
|
|
3957
|
-
private _readOnly;
|
|
3958
|
-
private _hdrFmt;
|
|
3959
|
-
private _hdrFormatter;
|
|
3960
|
-
private _msLbx;
|
|
3961
|
-
static _DEF_CHECKED_PATH: string;
|
|
3962
|
-
static _ctrlTemplate: string;
|
|
3963
|
-
_inputElementAriaLabel: string;
|
|
3964
|
-
/**
|
|
3965
|
-
* Gets or sets the template used to instantiate {@link MultiSelect} control.
|
|
3966
|
-
*/
|
|
3967
|
-
static controlTemplate: string;
|
|
3968
|
-
/**
|
|
3969
|
-
* Initializes a new instance of the {@link MultiSelect} class.
|
|
3970
|
-
*
|
|
3971
|
-
* @param element The DOM element that hosts the control, or a CSS selector for the host element (e.g. '#theCtrl').
|
|
3972
|
-
* @param options The JavaScript object containing initialization data for the control.
|
|
3973
|
-
*/
|
|
3974
|
-
constructor(element: any, options?: any);
|
|
3975
|
-
/**
|
|
3976
|
-
* Gets or sets whether the control should display a "Select All" checkbox
|
|
3977
|
-
* above the items to select or de-select all items.
|
|
3978
|
-
*
|
|
3979
|
-
* The default value for this property is **false**.
|
|
3980
|
-
*/
|
|
3981
|
-
showSelectAllCheckbox: boolean;
|
|
3982
|
-
/**
|
|
3983
|
-
* Gets or sets whether the control should display a "filter" input
|
|
3984
|
-
* above the items to filter the items displayed.
|
|
3985
|
-
*
|
|
3986
|
-
* The default value for this property is **false**.
|
|
3987
|
-
*/
|
|
3988
|
-
showFilterInput: boolean;
|
|
3989
|
-
/**
|
|
3990
|
-
* Gets or sets the delay, in milliseconds, between when a keystroke occurs
|
|
3991
|
-
* and when the search is performed to update the filter.
|
|
3992
|
-
*
|
|
3993
|
-
* This property is relevant only when the {@link showFilterInput}
|
|
3994
|
-
* property is set to **true**.
|
|
3995
|
-
*
|
|
3996
|
-
* The default value for this property is **500** milliseconds.
|
|
3997
|
-
*/
|
|
3998
|
-
delay: number;
|
|
3999
|
-
/**
|
|
4000
|
-
* Gets or sets a value that determines whether searches performed
|
|
4001
|
-
* while the user types should case-sensitive.
|
|
4002
|
-
*
|
|
4003
|
-
* The default value for this property is **false**.
|
|
4004
|
-
*/
|
|
4005
|
-
caseSensitiveSearch: boolean;
|
|
4006
|
-
/**
|
|
4007
|
-
* Gets or sets the string used as a placeholder for the filter input
|
|
4008
|
-
* element on the {@link MultiSelectListBox} drop-down.
|
|
4009
|
-
*
|
|
4010
|
-
* The default value for this property is **null**, which causes the
|
|
4011
|
-
* control to use a localized version of the string "Filter".
|
|
4012
|
-
*/
|
|
4013
|
-
filterInputPlaceholder: string | null;
|
|
4014
|
-
/**
|
|
4015
|
-
* Gets or sets a value that determines whether the {@link MultiSelectListBox}
|
|
4016
|
-
* in the drop-down should automatically select all the filtered items when the
|
|
4017
|
-
* filter text changes.
|
|
4018
|
-
*
|
|
4019
|
-
* The default value for this property is **true**.
|
|
4020
|
-
*/
|
|
4021
|
-
checkOnFilter: boolean;
|
|
4022
|
-
/**
|
|
4023
|
-
* Gets or sets the string to be used as a label for the "Select All"
|
|
4024
|
-
* checkbox that is displayed when the {@link showSelectAllCheckbox}
|
|
4025
|
-
* property is set to true.
|
|
4026
|
-
*
|
|
4027
|
-
* The default value for this property is **null**, which causes the
|
|
4028
|
-
* control to use a localized version of the string "Select All".
|
|
4029
|
-
*/
|
|
4030
|
-
selectAllLabel: string | null;
|
|
4031
|
-
/**
|
|
4032
|
-
* Gets or sets the name of the property used to control the checkboxes
|
|
4033
|
-
* placed next to each item.
|
|
4034
|
-
*/
|
|
4035
|
-
checkedMemberPath: string;
|
|
4036
|
-
/**
|
|
4037
|
-
* Gets or sets the maximum number of items to display on the control header.
|
|
4038
|
-
*
|
|
4039
|
-
* If no items are selected, the header displays the text specified by the
|
|
4040
|
-
* {@link placeholder} property.
|
|
4041
|
-
*
|
|
4042
|
-
* If the number of selected items is smaller than or equal to the value of the
|
|
4043
|
-
* {@link maxHeaderItems} property, the selected items are shown in the header.
|
|
4044
|
-
*
|
|
4045
|
-
* If the number of selected items is greater than {@link maxHeaderItems}, the
|
|
4046
|
-
* header displays the selected item count instead.
|
|
4047
|
-
*
|
|
4048
|
-
* The default value for this property is **2**.
|
|
4049
|
-
*/
|
|
4050
|
-
maxHeaderItems: number;
|
|
4051
|
-
/**
|
|
4052
|
-
* Gets or sets the format string used to create the header content
|
|
4053
|
-
* when the control has more than {@link maxHeaderItems} items checked.
|
|
4054
|
-
*
|
|
4055
|
-
* The format string may contain the '{count}' replacement string
|
|
4056
|
-
* which gets replaced with the number of items currently checked.
|
|
4057
|
-
*
|
|
4058
|
-
* The default value for this property is **null**, which causes the
|
|
4059
|
-
* control to use a localized version of the string "{count:n0} items selected".
|
|
4060
|
-
*/
|
|
4061
|
-
headerFormat: string | null;
|
|
4062
|
-
/**
|
|
4063
|
-
* Gets or sets a function that gets the text displayed in the control
|
|
4064
|
-
* header.
|
|
4065
|
-
*
|
|
4066
|
-
* By default, the control header content is determined based on the
|
|
4067
|
-
* {@link placeholder}, {@link maxHeaderItems}, and on the current selection.
|
|
4068
|
-
*
|
|
4069
|
-
* You may customize the header content by specifying a function that
|
|
4070
|
-
* returns a custom string based on whatever criteria your application
|
|
4071
|
-
* requires.
|
|
4072
|
-
*/
|
|
4073
|
-
headerFormatter: IHeaderFormatter | null;
|
|
4074
|
-
/**
|
|
4075
|
-
* Gets or sets an array containing the items that are currently checked.
|
|
4076
|
-
*/
|
|
4077
|
-
checkedItems: any[];
|
|
4078
|
-
/**
|
|
4079
|
-
* Occurs when the value of the {@link checkedItems} property changes.
|
|
4080
|
-
*/
|
|
4081
|
-
readonly checkedItemsChanged: Event<MultiSelect, EventArgs>;
|
|
4082
|
-
/**
|
|
4083
|
-
* Raises the {@link checkedItemsChanged} event.
|
|
4084
|
-
*/
|
|
4085
|
-
onCheckedItemsChanged(e?: EventArgs): void;
|
|
4086
|
-
dispose(): void;
|
|
4087
|
-
onIsDroppedDownChanged(e?: EventArgs): void;
|
|
4088
|
-
onLostFocus(): void;
|
|
4089
|
-
protected _createDropDown(): void;
|
|
4090
|
-
_updateBtnAria(): void;
|
|
4091
|
-
_updateTbxAria(): void;
|
|
4092
|
-
isReadOnly: boolean;
|
|
4093
|
-
refresh(fullUpdate?: boolean): void;
|
|
4094
|
-
protected _setText(_text: string, _fullMatch: boolean): void;
|
|
4095
|
-
protected _keydown(e: KeyboardEvent): void;
|
|
4096
|
-
protected _hasItems(): boolean;
|
|
4097
|
-
private _updateHeader;
|
|
4098
|
-
getAriaLabelForScreenReader(): any;
|
|
4099
|
-
}
|
|
4100
|
-
/**
|
|
4101
|
-
* Interface implemented by command objects.
|
|
3788
|
+
* Interface implemented by command objects.
|
|
4102
3789
|
*
|
|
4103
3790
|
* For details, please see the {@link Menu.command} property.
|
|
4104
3791
|
*/
|
|
@@ -4412,6 +4099,7 @@ export declare class Menu extends ComboBox {
|
|
|
4412
4099
|
private _showSubMenu;
|
|
4413
4100
|
private _raiseCommand;
|
|
4414
4101
|
private _focusMenuOwner;
|
|
4102
|
+
protected _focusOwner(owner: HTMLElement): void;
|
|
4415
4103
|
private _getCommand;
|
|
4416
4104
|
private _getCommandParm;
|
|
4417
4105
|
private _executeCommand;
|
|
@@ -4722,6 +4410,26 @@ export interface IGetItemsCallback {
|
|
|
4722
4410
|
* */
|
|
4723
4411
|
(items: any[]): void;
|
|
4724
4412
|
}
|
|
4413
|
+
/**
|
|
4414
|
+
* Represents a custom filter function used by {@link AutoComplete} and {@link MultiSelectListBox}.
|
|
4415
|
+
*
|
|
4416
|
+
* @param item The data item to test.
|
|
4417
|
+
* @param query The current search query string.
|
|
4418
|
+
* @param text The display text (after displayMemberPath processing).
|
|
4419
|
+
* @returns **true** to include the item in the filtered results, **false** to exclude it.
|
|
4420
|
+
*/
|
|
4421
|
+
export declare type CustomFilterCallback = (item: any, query: string, text: string) => boolean;
|
|
4422
|
+
/**
|
|
4423
|
+
* Represents a custom highlight function used by {@link AutoComplete}.
|
|
4424
|
+
*
|
|
4425
|
+
* @param item The data item being displayed.
|
|
4426
|
+
* @param query The current search query string.
|
|
4427
|
+
* @param text The display text (after displayMemberPath processing).
|
|
4428
|
+
* @returns An HTML string with highlighted portions wrapped in highlight spans.
|
|
4429
|
+
*
|
|
4430
|
+
* **Security Note**: Escape user input with {@link escapeHtml} to prevent XSS attacks.
|
|
4431
|
+
*/
|
|
4432
|
+
export declare type CustomHighlightCallback = (item: any, query: string, text: string) => string;
|
|
4725
4433
|
/**
|
|
4726
4434
|
* The {@link AutoComplete} control is an input control that allows callers
|
|
4727
4435
|
* to customize the item list as the user types.
|
|
@@ -4746,6 +4454,9 @@ export declare class AutoComplete extends ComboBox {
|
|
|
4746
4454
|
private _itemCount;
|
|
4747
4455
|
private _beginsWith;
|
|
4748
4456
|
private _delay;
|
|
4457
|
+
private _searchDuringComposition;
|
|
4458
|
+
private _customFilter;
|
|
4459
|
+
private _customHighlight;
|
|
4749
4460
|
_selItems: any;
|
|
4750
4461
|
private _toSearch;
|
|
4751
4462
|
private _query;
|
|
@@ -4796,6 +4507,18 @@ export declare class AutoComplete extends ComboBox {
|
|
|
4796
4507
|
* The default value for this property is **500** milliseconds.
|
|
4797
4508
|
*/
|
|
4798
4509
|
delay: number;
|
|
4510
|
+
/**
|
|
4511
|
+
* Gets or sets whether AutoComplete should search while IME composition is active.
|
|
4512
|
+
*
|
|
4513
|
+
* The default value for this property is **false**.
|
|
4514
|
+
*
|
|
4515
|
+
* When set to **false**, search timing stays unchanged and filtering starts
|
|
4516
|
+
* only after the composition is committed.
|
|
4517
|
+
*
|
|
4518
|
+
* When set to **true**, the control may filter immediately from the current
|
|
4519
|
+
* composing text while composition is still active.
|
|
4520
|
+
*/
|
|
4521
|
+
searchDuringComposition: boolean;
|
|
4799
4522
|
/**
|
|
4800
4523
|
* Gets or sets a string containing a comma-separated list of properties to use
|
|
4801
4524
|
* when searching for items.
|
|
@@ -4858,6 +4581,43 @@ export declare class AutoComplete extends ComboBox {
|
|
|
4858
4581
|
* The default value for this property is **wj-state-match**.
|
|
4859
4582
|
*/
|
|
4860
4583
|
cssMatch: string;
|
|
4584
|
+
/**
|
|
4585
|
+
* Gets or sets a custom filter function for filtering items.
|
|
4586
|
+
*
|
|
4587
|
+
* When set, this function is used instead of the default filtering logic.
|
|
4588
|
+
* The function receives the item, the current query string, and the display text,
|
|
4589
|
+
* and should return true to include the item or false to exclude it.
|
|
4590
|
+
*
|
|
4591
|
+
* Set to null to restore default filtering behavior.
|
|
4592
|
+
*
|
|
4593
|
+
* @remarks
|
|
4594
|
+
* When customFilter is set, these properties are ignored:
|
|
4595
|
+
* - {@link caseSensitiveSearch}, {@link beginsWithSearch}, {@link isContentHtml}
|
|
4596
|
+
*
|
|
4597
|
+
* These properties are still honored:
|
|
4598
|
+
* - {@link maxItems}, {@link minLength}
|
|
4599
|
+
*/
|
|
4600
|
+
customFilter: CustomFilterCallback;
|
|
4601
|
+
/**
|
|
4602
|
+
* Gets or sets a custom highlight function for highlighting matched text.
|
|
4603
|
+
*
|
|
4604
|
+
* When set, this function is called for each filtered item to generate
|
|
4605
|
+
* the HTML to display in the drop-down list. The function receives the
|
|
4606
|
+
* item, query, and display text, and should return HTML with highlighted
|
|
4607
|
+
* portions wrapped in <span class="wj-state-match">.
|
|
4608
|
+
*
|
|
4609
|
+
* Set to null to restore default highlighting behavior.
|
|
4610
|
+
*
|
|
4611
|
+
* @remarks
|
|
4612
|
+
* **Security**: Always use {@link escapeHtml} on user content to prevent XSS.
|
|
4613
|
+
*
|
|
4614
|
+
* The highlight function is called before formatItem event handlers,
|
|
4615
|
+
* allowing handlers to override the result.
|
|
4616
|
+
*
|
|
4617
|
+
* If the function throws an exception, the error is logged and the
|
|
4618
|
+
* original text is displayed without highlighting.
|
|
4619
|
+
*/
|
|
4620
|
+
customHighlight: CustomHighlightCallback;
|
|
4861
4621
|
/**
|
|
4862
4622
|
* Raises the {@link selectedIndexChanged} event.
|
|
4863
4623
|
*/
|
|
@@ -4865,6 +4625,13 @@ export declare class AutoComplete extends ComboBox {
|
|
|
4865
4625
|
_updateTbxAria(): void;
|
|
4866
4626
|
_keydown(e: KeyboardEvent): void;
|
|
4867
4627
|
_input(_e: Event): void;
|
|
4628
|
+
/**
|
|
4629
|
+
* Sets the focus to the control and selects all its content.
|
|
4630
|
+
*/
|
|
4631
|
+
selectAll(): void;
|
|
4632
|
+
private _canSearchWhileComposing;
|
|
4633
|
+
private _hasExternalCompositionFocus;
|
|
4634
|
+
private _isLegacyImeGuardBrowser;
|
|
4868
4635
|
private _isBlurInput;
|
|
4869
4636
|
protected _commitText(noFocus?: boolean): void;
|
|
4870
4637
|
_setText(text: string | null): void;
|
|
@@ -4978,4 +4745,416 @@ export declare class MultiAutoComplete extends AutoComplete {
|
|
|
4978
4745
|
_setTabOrder(value: number): void;
|
|
4979
4746
|
_updateTabIndex(): void;
|
|
4980
4747
|
}
|
|
4748
|
+
/**
|
|
4749
|
+
* The {@link MultiSelectListBox} control contains a {@link ListBox} with
|
|
4750
|
+
* a "Select All" button and a "Filter" input.
|
|
4751
|
+
*
|
|
4752
|
+
* The "Select All" and "Filter" elements can be shown or hidden using
|
|
4753
|
+
* the {@link showSelectAllCheckbox} and {@link showFilterInput} properties.
|
|
4754
|
+
*
|
|
4755
|
+
* The {@link MultiSelectListBox} control is used as a drop-down by the
|
|
4756
|
+
* {@link MultiSelect} control.
|
|
4757
|
+
*/
|
|
4758
|
+
export declare class MultiSelectListBox<T = any> extends Control {
|
|
4759
|
+
_selectAll: HTMLElement;
|
|
4760
|
+
_filter: HTMLInputElement;
|
|
4761
|
+
_lbHost: HTMLElement;
|
|
4762
|
+
_lbx: ListBox;
|
|
4763
|
+
_cbSelectAll: HTMLInputElement;
|
|
4764
|
+
_spSelectAll: HTMLSpanElement;
|
|
4765
|
+
_ariaLabel: string;
|
|
4766
|
+
_selectAllLabel: string;
|
|
4767
|
+
_filterPlaceholder: string;
|
|
4768
|
+
_filterText: string;
|
|
4769
|
+
_checkOnFilter: boolean;
|
|
4770
|
+
_delay: number;
|
|
4771
|
+
_toSearch: any;
|
|
4772
|
+
_customFilter: CustomFilterCallback;
|
|
4773
|
+
static _DEF_CHECKED_PATH: string;
|
|
4774
|
+
static _ctrlTemplate: string;
|
|
4775
|
+
/**
|
|
4776
|
+
* Gets or sets the template used to instantiate {@link MultiSelectListBox} controls.
|
|
4777
|
+
*/
|
|
4778
|
+
static controlTemplate: string;
|
|
4779
|
+
/**
|
|
4780
|
+
* Initializes a new instance of the {@link MultiSelectListBox} class.
|
|
4781
|
+
*
|
|
4782
|
+
* @param element The DOM element that hosts the control, or a CSS selector for the host element (e.g. '#theCtrl').
|
|
4783
|
+
* @param options The JavaScript object containing initialization data for the control.
|
|
4784
|
+
*/
|
|
4785
|
+
constructor(element: any, options?: any);
|
|
4786
|
+
/**
|
|
4787
|
+
* Gets or sets the array or {@link ICollectionView} object that contains
|
|
4788
|
+
* the list items.
|
|
4789
|
+
*/
|
|
4790
|
+
itemsSource: any;
|
|
4791
|
+
/**
|
|
4792
|
+
* Gets the {@link ICollectionView} object used as the item source.
|
|
4793
|
+
*/
|
|
4794
|
+
readonly collectionView: ICollectionView<T>;
|
|
4795
|
+
/**
|
|
4796
|
+
* Gets or sets the minimum number of rows and/or columns required to enable
|
|
4797
|
+
* virtualization in the drop-down {@link ListBox}.
|
|
4798
|
+
*
|
|
4799
|
+
* The default value for this property is a very big number, meaning virtualization is
|
|
4800
|
+
* disabled. To enable virtualization, set its value to 0 or a positive number.
|
|
4801
|
+
*
|
|
4802
|
+
* For more detals, please see the {@link ListBox.virtualizationThreshold}
|
|
4803
|
+
* property.
|
|
4804
|
+
*/
|
|
4805
|
+
virtualizationThreshold: number;
|
|
4806
|
+
/**
|
|
4807
|
+
* Gets or sets the name of the property to use as the visual
|
|
4808
|
+
* representation of the items.
|
|
4809
|
+
*/
|
|
4810
|
+
displayMemberPath: string;
|
|
4811
|
+
/**
|
|
4812
|
+
* Gets or sets a value indicating whether items contain plain
|
|
4813
|
+
* text or HTML.
|
|
4814
|
+
*
|
|
4815
|
+
* The default value for this property is **false**.
|
|
4816
|
+
*/
|
|
4817
|
+
isContentHtml: boolean;
|
|
4818
|
+
/**
|
|
4819
|
+
* Gets or sets a value that determines whether searches performed
|
|
4820
|
+
* while the user types should case-sensitive.
|
|
4821
|
+
*
|
|
4822
|
+
* The default value for this property is **false**.
|
|
4823
|
+
*/
|
|
4824
|
+
caseSensitiveSearch: boolean;
|
|
4825
|
+
/**
|
|
4826
|
+
* Gets or sets the delay, in milliseconds, between when a keystroke occurs
|
|
4827
|
+
* and when the search is performed to update the filter.
|
|
4828
|
+
*
|
|
4829
|
+
* This property is relevant only when the {@link showFilterInput}
|
|
4830
|
+
* property is set to **true**.
|
|
4831
|
+
*
|
|
4832
|
+
* The default value for this property is **500** milliseconds.
|
|
4833
|
+
*/
|
|
4834
|
+
delay: number;
|
|
4835
|
+
/**
|
|
4836
|
+
* Gets or sets a custom filter function for filtering items.
|
|
4837
|
+
*
|
|
4838
|
+
* When set, this function is used instead of the default regex-based filtering.
|
|
4839
|
+
*
|
|
4840
|
+
* @param item The data item to test.
|
|
4841
|
+
* @param query The current filter text.
|
|
4842
|
+
* @param text The display text (after displayMemberPath processing).
|
|
4843
|
+
* @returns **true** to include the item, **false** to exclude it.
|
|
4844
|
+
*
|
|
4845
|
+
* Setting to null restores default filtering. Requires {@link showFilterInput} to be true.
|
|
4846
|
+
*/
|
|
4847
|
+
customFilter: CustomFilterCallback;
|
|
4848
|
+
/**
|
|
4849
|
+
* Gets or sets a value that determines whether the {@link MultiSelectListBox} should
|
|
4850
|
+
* include group header items to delimit data groups.
|
|
4851
|
+
*
|
|
4852
|
+
* Data groups are created by modifying the {@link ICollectionView.groupDescriptions}
|
|
4853
|
+
* property of the {@link ICollectionView} object used as an {@link itemsSource}.
|
|
4854
|
+
*
|
|
4855
|
+
* The {@link MultiSelectListBox} only shows the first level of grouping.
|
|
4856
|
+
*
|
|
4857
|
+
* The default value for this property is **false**.
|
|
4858
|
+
*/
|
|
4859
|
+
showGroups: boolean;
|
|
4860
|
+
/**
|
|
4861
|
+
* Gets or sets a value that determines whether the {@link MultiSelectListBox}
|
|
4862
|
+
* should automatically check all filtered items when the filter text changes.
|
|
4863
|
+
*
|
|
4864
|
+
* The default value for this property is **true**, which causes the control
|
|
4865
|
+
* to behave like Excel and check all visible items when the filter is applied.
|
|
4866
|
+
*
|
|
4867
|
+
* For example, in a control with three items "Alice", "Bob", and "Mary",
|
|
4868
|
+
* typing "a" into the filter would cause the control to show items "Alice"
|
|
4869
|
+
* and "Mary", and both would be checked.
|
|
4870
|
+
*
|
|
4871
|
+
* Setting this property to **false** prevents the control from automatically
|
|
4872
|
+
* checking filtered items, and to keep checked items visible regardless of the
|
|
4873
|
+
* filter value.
|
|
4874
|
+
*
|
|
4875
|
+
* For example, in a control with three items "Alice", "Bob", and "Mary",
|
|
4876
|
+
* typing "a" into the filter would cause the control to show items "Alice"
|
|
4877
|
+
* and "Mary", but neither would be checked.
|
|
4878
|
+
* If the user then checked "Mary", and typed "b" into the filter, the list
|
|
4879
|
+
* would show items "Mary" (still checked) and "Bob" (unchecked).
|
|
4880
|
+
*/
|
|
4881
|
+
checkOnFilter: boolean;
|
|
4882
|
+
/**
|
|
4883
|
+
* Gets or sets the index of the currently selected item.
|
|
4884
|
+
*/
|
|
4885
|
+
selectedIndex: number;
|
|
4886
|
+
/**
|
|
4887
|
+
* Gets a reference to the {@link ListBox} control hosted by this
|
|
4888
|
+
* {@link MultiSelectListBox}.
|
|
4889
|
+
*/
|
|
4890
|
+
readonly listBox: ListBox;
|
|
4891
|
+
/**
|
|
4892
|
+
* Gets or sets whether the control should display a "filter" input
|
|
4893
|
+
* above the items to filter the items displayed.
|
|
4894
|
+
*
|
|
4895
|
+
* The default value for this property is **false**.
|
|
4896
|
+
*/
|
|
4897
|
+
showFilterInput: boolean;
|
|
4898
|
+
/**
|
|
4899
|
+
* Gets or sets the string used as a placeholder for the filter input element.
|
|
4900
|
+
*
|
|
4901
|
+
* The default value for this property is **null**, which causes the control
|
|
4902
|
+
* to show a localized version of the string "Filter".
|
|
4903
|
+
*/
|
|
4904
|
+
filterInputPlaceholder: string;
|
|
4905
|
+
/**
|
|
4906
|
+
* Gets or sets whether the control should display a "Select All" checkbox
|
|
4907
|
+
* above the items to select or de-select all items.
|
|
4908
|
+
*
|
|
4909
|
+
* The default value for this property is **false**.
|
|
4910
|
+
*/
|
|
4911
|
+
showSelectAllCheckbox: boolean;
|
|
4912
|
+
/**
|
|
4913
|
+
* Gets or sets the string to be used as a label for the "Select All"
|
|
4914
|
+
* checkbox that is displayed when the {@link showSelectAllCheckbox}
|
|
4915
|
+
* property is set to true.
|
|
4916
|
+
*
|
|
4917
|
+
* The default value for this property is **null**, which causes the control
|
|
4918
|
+
* to show a localized version of the string "Select All".
|
|
4919
|
+
*/
|
|
4920
|
+
selectAllLabel: string;
|
|
4921
|
+
/**
|
|
4922
|
+
* Gets or sets the name of the property used to control the checkboxes
|
|
4923
|
+
* placed next to each item.
|
|
4924
|
+
*/
|
|
4925
|
+
checkedMemberPath: string;
|
|
4926
|
+
/**
|
|
4927
|
+
* Gets or sets an array containing the items that are currently checked.
|
|
4928
|
+
*/
|
|
4929
|
+
checkedItems: any[];
|
|
4930
|
+
/**
|
|
4931
|
+
* Gets or sets the aria-labelledby attribute of {@link MultiSelectListBox} input element.
|
|
4932
|
+
*/
|
|
4933
|
+
ariaLabelledBy: string;
|
|
4934
|
+
_updateAriaLabel(): void;
|
|
4935
|
+
/**
|
|
4936
|
+
* Occurs when the value of the {@link checkedItems} property changes.
|
|
4937
|
+
*/
|
|
4938
|
+
readonly checkedItemsChanged: Event<MultiSelectListBox<any>, EventArgs>;
|
|
4939
|
+
/**
|
|
4940
|
+
* Raises the {@link checkedItemsChanged} event.
|
|
4941
|
+
*/
|
|
4942
|
+
onCheckedItemsChanged(e?: any): void;
|
|
4943
|
+
/**
|
|
4944
|
+
* Occurs when the value of the {@link selectedIndex} property changes.
|
|
4945
|
+
*/
|
|
4946
|
+
readonly selectedIndexChanged: Event<MultiSelectListBox<any>, EventArgs>;
|
|
4947
|
+
/**
|
|
4948
|
+
* Raises the {@link selectedIndexChanged} event.
|
|
4949
|
+
*/
|
|
4950
|
+
onSelectedIndexChanged(e?: EventArgs): void;
|
|
4951
|
+
refresh(fullUpdate?: boolean): void;
|
|
4952
|
+
dispose(): void;
|
|
4953
|
+
_applyFilter(): void;
|
|
4954
|
+
protected _getItemText(item: any, binding?: Binding): string;
|
|
4955
|
+
_updateCheckAllCheckbox(): void;
|
|
4956
|
+
_setIsDisabled(value: boolean): void;
|
|
4957
|
+
_setTabOrder(value: number): void;
|
|
4958
|
+
tryForceClearDelayAndFilter(): void;
|
|
4959
|
+
onLostFocus(): void;
|
|
4960
|
+
}
|
|
4961
|
+
/**
|
|
4962
|
+
* Represents a method that returns a string used as a header for a
|
|
4963
|
+
* {@link MultiSelect} control.
|
|
4964
|
+
*/
|
|
4965
|
+
export interface IHeaderFormatter {
|
|
4966
|
+
/**
|
|
4967
|
+
* @param sender {@link MultiSelect} whose header is being formatted.
|
|
4968
|
+
* @returns The text to show in the control's header element.
|
|
4969
|
+
*/
|
|
4970
|
+
(sender: MultiSelect): string;
|
|
4971
|
+
}
|
|
4972
|
+
/**
|
|
4973
|
+
* The {@link MultiSelect} control allows users to select multiple items from
|
|
4974
|
+
* drop-down lists that contain custom objects or simple strings.
|
|
4975
|
+
*
|
|
4976
|
+
* The {@link MultiSelect} control extends {@link ComboBox}, with all the usual
|
|
4977
|
+
* properties, including {@link MultiSelect.itemsSource} and
|
|
4978
|
+
* {@link MultiSelect.displayMemberPath}.
|
|
4979
|
+
*
|
|
4980
|
+
* Like the {@link ListBox} control, it has a {@link MultiSelect.checkedMemberPath}
|
|
4981
|
+
* property that defines the name of the property that determines whether an
|
|
4982
|
+
* item is checked or not.
|
|
4983
|
+
*
|
|
4984
|
+
* The items currently checked (selected) can be obtained using the
|
|
4985
|
+
* {@link MultiSelect.checkedItems} property.
|
|
4986
|
+
*
|
|
4987
|
+
* The control header is fully customizable. By default, it shows up to two items
|
|
4988
|
+
* selected and the item count after that. You can change the maximum number of
|
|
4989
|
+
* items to display ({@link MultiSelect.maxHeaderItems}), the message shown when no
|
|
4990
|
+
* items are selected ({@link MultiSelect.placeholder}), and the format string used to
|
|
4991
|
+
* show the item count ({@link MultiSelect.headerFormat}).
|
|
4992
|
+
*
|
|
4993
|
+
* Alternatively, you can provide a function to generate the header content based
|
|
4994
|
+
* on whatever criteria your application requires ({@link MultiSelect.headerFormatter}).
|
|
4995
|
+
*
|
|
4996
|
+
* The example below shows how you can use a {@link MultiSelect} control to select
|
|
4997
|
+
* multiple items from a drop-down list:
|
|
4998
|
+
*
|
|
4999
|
+
* {@sample Input/MultiSelect/Overview Example}
|
|
5000
|
+
*/
|
|
5001
|
+
export declare class MultiSelect extends ComboBox {
|
|
5002
|
+
private _maxHdrItems;
|
|
5003
|
+
private _readOnly;
|
|
5004
|
+
private _hdrFmt;
|
|
5005
|
+
private _hdrFormatter;
|
|
5006
|
+
private _msLbx;
|
|
5007
|
+
static _DEF_CHECKED_PATH: string;
|
|
5008
|
+
static _ctrlTemplate: string;
|
|
5009
|
+
_inputElementAriaLabel: string;
|
|
5010
|
+
/**
|
|
5011
|
+
* Gets or sets the template used to instantiate {@link MultiSelect} control.
|
|
5012
|
+
*/
|
|
5013
|
+
static controlTemplate: string;
|
|
5014
|
+
/**
|
|
5015
|
+
* Initializes a new instance of the {@link MultiSelect} class.
|
|
5016
|
+
*
|
|
5017
|
+
* @param element The DOM element that hosts the control, or a CSS selector for the host element (e.g. '#theCtrl').
|
|
5018
|
+
* @param options The JavaScript object containing initialization data for the control.
|
|
5019
|
+
*/
|
|
5020
|
+
constructor(element: any, options?: any);
|
|
5021
|
+
/**
|
|
5022
|
+
* Gets or sets whether the control should display a "Select All" checkbox
|
|
5023
|
+
* above the items to select or de-select all items.
|
|
5024
|
+
*
|
|
5025
|
+
* The default value for this property is **false**.
|
|
5026
|
+
*/
|
|
5027
|
+
showSelectAllCheckbox: boolean;
|
|
5028
|
+
/**
|
|
5029
|
+
* Gets or sets whether the control should display a "filter" input
|
|
5030
|
+
* above the items to filter the items displayed.
|
|
5031
|
+
*
|
|
5032
|
+
* The default value for this property is **false**.
|
|
5033
|
+
*/
|
|
5034
|
+
showFilterInput: boolean;
|
|
5035
|
+
/**
|
|
5036
|
+
* Gets or sets the delay, in milliseconds, between when a keystroke occurs
|
|
5037
|
+
* and when the search is performed to update the filter.
|
|
5038
|
+
*
|
|
5039
|
+
* This property is relevant only when the {@link showFilterInput}
|
|
5040
|
+
* property is set to **true**.
|
|
5041
|
+
*
|
|
5042
|
+
* The default value for this property is **500** milliseconds.
|
|
5043
|
+
*/
|
|
5044
|
+
delay: number;
|
|
5045
|
+
/**
|
|
5046
|
+
* Gets or sets a value that determines whether searches performed
|
|
5047
|
+
* while the user types should case-sensitive.
|
|
5048
|
+
*
|
|
5049
|
+
* The default value for this property is **false**.
|
|
5050
|
+
*/
|
|
5051
|
+
caseSensitiveSearch: boolean;
|
|
5052
|
+
/**
|
|
5053
|
+
* Gets or sets the string used as a placeholder for the filter input
|
|
5054
|
+
* element on the {@link MultiSelectListBox} drop-down.
|
|
5055
|
+
*
|
|
5056
|
+
* The default value for this property is **null**, which causes the
|
|
5057
|
+
* control to use a localized version of the string "Filter".
|
|
5058
|
+
*/
|
|
5059
|
+
filterInputPlaceholder: string | null;
|
|
5060
|
+
/**
|
|
5061
|
+
* Gets or sets a value that determines whether the {@link MultiSelectListBox}
|
|
5062
|
+
* in the drop-down should automatically select all the filtered items when the
|
|
5063
|
+
* filter text changes.
|
|
5064
|
+
*
|
|
5065
|
+
* The default value for this property is **true**.
|
|
5066
|
+
*/
|
|
5067
|
+
checkOnFilter: boolean;
|
|
5068
|
+
/**
|
|
5069
|
+
* Gets or sets a custom filter function for filtering items.
|
|
5070
|
+
*
|
|
5071
|
+
* When set, this function is used instead of the default regex-based filtering
|
|
5072
|
+
* in the filter input. Requires {@link showFilterInput} to be true.
|
|
5073
|
+
*
|
|
5074
|
+
* @param item The data item to test.
|
|
5075
|
+
* @param query The current filter text.
|
|
5076
|
+
* @param text The display text (after displayMemberPath processing).
|
|
5077
|
+
* @returns **true** to include the item, **false** to exclude it.
|
|
5078
|
+
*
|
|
5079
|
+
* Setting to null restores default filtering.
|
|
5080
|
+
*/
|
|
5081
|
+
customFilter: CustomFilterCallback;
|
|
5082
|
+
/**
|
|
5083
|
+
* Gets or sets the string to be used as a label for the "Select All"
|
|
5084
|
+
* checkbox that is displayed when the {@link showSelectAllCheckbox}
|
|
5085
|
+
* property is set to true.
|
|
5086
|
+
*
|
|
5087
|
+
* The default value for this property is **null**, which causes the
|
|
5088
|
+
* control to use a localized version of the string "Select All".
|
|
5089
|
+
*/
|
|
5090
|
+
selectAllLabel: string | null;
|
|
5091
|
+
/**
|
|
5092
|
+
* Gets or sets the name of the property used to control the checkboxes
|
|
5093
|
+
* placed next to each item.
|
|
5094
|
+
*/
|
|
5095
|
+
checkedMemberPath: string;
|
|
5096
|
+
/**
|
|
5097
|
+
* Gets or sets the maximum number of items to display on the control header.
|
|
5098
|
+
*
|
|
5099
|
+
* If no items are selected, the header displays the text specified by the
|
|
5100
|
+
* {@link placeholder} property.
|
|
5101
|
+
*
|
|
5102
|
+
* If the number of selected items is smaller than or equal to the value of the
|
|
5103
|
+
* {@link maxHeaderItems} property, the selected items are shown in the header.
|
|
5104
|
+
*
|
|
5105
|
+
* If the number of selected items is greater than {@link maxHeaderItems}, the
|
|
5106
|
+
* header displays the selected item count instead.
|
|
5107
|
+
*
|
|
5108
|
+
* The default value for this property is **2**.
|
|
5109
|
+
*/
|
|
5110
|
+
maxHeaderItems: number;
|
|
5111
|
+
/**
|
|
5112
|
+
* Gets or sets the format string used to create the header content
|
|
5113
|
+
* when the control has more than {@link maxHeaderItems} items checked.
|
|
5114
|
+
*
|
|
5115
|
+
* The format string may contain the '{count}' replacement string
|
|
5116
|
+
* which gets replaced with the number of items currently checked.
|
|
5117
|
+
*
|
|
5118
|
+
* The default value for this property is **null**, which causes the
|
|
5119
|
+
* control to use a localized version of the string "{count:n0} items selected".
|
|
5120
|
+
*/
|
|
5121
|
+
headerFormat: string | null;
|
|
5122
|
+
/**
|
|
5123
|
+
* Gets or sets a function that gets the text displayed in the control
|
|
5124
|
+
* header.
|
|
5125
|
+
*
|
|
5126
|
+
* By default, the control header content is determined based on the
|
|
5127
|
+
* {@link placeholder}, {@link maxHeaderItems}, and on the current selection.
|
|
5128
|
+
*
|
|
5129
|
+
* You may customize the header content by specifying a function that
|
|
5130
|
+
* returns a custom string based on whatever criteria your application
|
|
5131
|
+
* requires.
|
|
5132
|
+
*/
|
|
5133
|
+
headerFormatter: IHeaderFormatter | null;
|
|
5134
|
+
/**
|
|
5135
|
+
* Gets or sets an array containing the items that are currently checked.
|
|
5136
|
+
*/
|
|
5137
|
+
checkedItems: any[];
|
|
5138
|
+
/**
|
|
5139
|
+
* Occurs when the value of the {@link checkedItems} property changes.
|
|
5140
|
+
*/
|
|
5141
|
+
readonly checkedItemsChanged: Event<MultiSelect, EventArgs>;
|
|
5142
|
+
/**
|
|
5143
|
+
* Raises the {@link checkedItemsChanged} event.
|
|
5144
|
+
*/
|
|
5145
|
+
onCheckedItemsChanged(e?: EventArgs): void;
|
|
5146
|
+
dispose(): void;
|
|
5147
|
+
onIsDroppedDownChanged(e?: EventArgs): void;
|
|
5148
|
+
onLostFocus(): void;
|
|
5149
|
+
protected _createDropDown(): void;
|
|
5150
|
+
_updateBtnAria(): void;
|
|
5151
|
+
_updateTbxAria(): void;
|
|
5152
|
+
isReadOnly: boolean;
|
|
5153
|
+
refresh(fullUpdate?: boolean): void;
|
|
5154
|
+
protected _setText(_text: string, _fullMatch: boolean): void;
|
|
5155
|
+
protected _keydown(e: KeyboardEvent): void;
|
|
5156
|
+
protected _hasItems(): boolean;
|
|
5157
|
+
private _updateHeader;
|
|
5158
|
+
getAriaLabelForScreenReader(): any;
|
|
5159
|
+
}
|
|
4981
5160
|
export {};
|