@smart-webcomponents-angular/window 13.1.70 → 14.2.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/index.d.ts CHANGED
@@ -1,6 +1,3 @@
1
-
2
- import { NgElement } from '@angular/elements';
3
-
4
1
  export interface AccordionProperties {
5
2
  /**
6
3
  * Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
@@ -5755,6 +5752,11 @@ export interface ComboBoxProperties {
5755
5752
  * Default value: 2
5756
5753
  */
5757
5754
  minLength?: number;
5755
+ /**
5756
+ * Determines the maximum number of characters inside the input.
5757
+ * Default value: -1
5758
+ */
5759
+ maxLength?: number;
5758
5760
  /**
5759
5761
  * Sets or gets the name attribute for the element. Name is used when submiting HTML forms.
5760
5762
  * Default value: ""
@@ -6681,11 +6683,6 @@ export declare type DataAdapterVirtualDataSourceOnExpandDetailsAction = 'sort' |
6681
6683
  /**Request action type */
6682
6684
  export declare type DataAdapterVirtualDataSourceDetailsAction = 'sort' | 'filter' | 'dataBind' | 'scroll' | 'group' | 'expand' | 'pageIndexChange' | 'pageSizeChange';
6683
6685
  export interface DateInputProperties {
6684
- /**
6685
- * Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
6686
- * Default value: advanced
6687
- */
6688
- animation?: Animation | string;
6689
6686
  /**
6690
6687
  * Determines whether the calendar button pop-up will be closed automatically when date or time is selected through it.
6691
6688
  * Default value: false
@@ -6700,7 +6697,7 @@ export interface DateInputProperties {
6700
6697
  * Determines the format of the dates displayed in the input. Accepts valid ECMAScript Internationalization API format. Intl.DateTimeFormat is used to format date strings in JavaScript. By default the date format is 'numeric'. The default value is: { day: 'numeric', month: 'numeric', year: 'numeric' }
6701
6698
  * Default value: { day: 'numeric', month: 'numeric', year: 'numeric' }
6702
6699
  */
6703
- dateTimeFormat?: DateTimeFormat;
6700
+ dateTimeFormat?: any;
6704
6701
  /**
6705
6702
  * Enables or disables the element.
6706
6703
  * Default value: false
@@ -6721,6 +6718,11 @@ export interface DateInputProperties {
6721
6718
  * Default value:
6722
6719
  */
6723
6720
  dropDownWidth?: string | number;
6721
+ /**
6722
+ * Sets the format string. When this property is set, the dateTimeFormat property will be disabled and the formatting will use the value of the formatString. Built-in Date formats:// short date pattern'd' - 'M/d/yyyy',// long date pattern'D' - 'dddd, MMMM dd, yyyy',// short time pattern't' - 'h:mm tt',// long time pattern'T' - 'h:mm:ss tt',// long date, short time pattern'f' - 'dddd, MMMM dd, yyyy h:mm tt',// long date, long time pattern'F' - 'dddd, MMMM dd, yyyy h:mm:ss tt',// month/day pattern'M' - 'MMMM dd',// month/year pattern'Y' - 'yyyy MMMM',// S is a sortable format that does not vary by culture'S' - 'yyyy'-'MM'-'dd'T'HH':'mm':'ss'Date format strings:'d'-the day of the month;'dd'-the day of the month'ddd'-the abbreviated name of the day of the week'dddd'- the full name of the day of the week'h'-the hour, using a 12-hour clock from 1 to 12'hh'-the hour, using a 12-hour clock from 01 to 12'H'-the hour, using a 24-hour clock from 0 to 23'HH'- the hour, using a 24-hour clock from 00 to 23'm'-the minute, from 0 through 59'mm'-the minutes,from 00 though59'M'- the month, from 1 through 12'MM'- the month, from 01 through 12'MMM'-the abbreviated name of the month'MMMM'-the full name of the month's'-the second, from 0 through 59'ss'-the second, from 00 through 59't'- the first character of the AM/PM designator'tt'-the AM/PM designator'y'- the year, from 0 to 99'yy'- the year, from 00 to 99'yyy'-the year, with a minimum of three digits'yyyy'-the year as a four-digit number;'yyyyy'-the year as a four-digit number.
6723
+ * Default value: ""
6724
+ */
6725
+ formatString?: string;
6724
6726
  /**
6725
6727
  * Sets the purpose of the input and what, if any, permission the user agent has to provide automated assistance in filling out the element's input when in a form, as well as guidance to the browser as to the type of information expected in the element. This value corresponds to the standard HTML autocomplete attribute and can be set to values such as 'on', 'name', 'organization', 'street-address', etc.
6726
6728
  * Default value: "off"
@@ -6849,25 +6851,6 @@ export interface DateInput extends BaseElement, DateInputProperties {
6849
6851
  setValue(value: string | Date): void;
6850
6852
  }
6851
6853
 
6852
- /**Determines the format of the dates displayed in the input. Accepts valid ECMAScript Internationalization API format. Intl.DateTimeFormat is used to format date strings in JavaScript. By default the date format is 'numeric'. The default value is: { day: 'numeric', month: 'numeric', year: 'numeric' } */
6853
- export interface DateTimeFormat {
6854
- /**
6855
- * Day format.
6856
- * Default value: numeric
6857
- */
6858
- day?: DateTimeFormatDay | string;
6859
- /**
6860
- * Month format.
6861
- * Default value: numeric
6862
- */
6863
- month?: DateTimeFormatMonth | string;
6864
- /**
6865
- * Year format.
6866
- * Default value: numeric
6867
- */
6868
- year?: DateTimeFormatYear | string;
6869
- }
6870
-
6871
6854
  declare global {
6872
6855
  interface Document {
6873
6856
  createElement(tagName: "smart-date-input"): DateInput;
@@ -6878,12 +6861,6 @@ declare global {
6878
6861
  }
6879
6862
  }
6880
6863
 
6881
- /**Day format. */
6882
- export declare type DateTimeFormatDay = 'numeric' | '2-digit';
6883
- /**Month format. */
6884
- export declare type DateTimeFormatMonth = 'numeric' | '2-digit' | 'narrow' | 'short' | 'long';
6885
- /**Year format. */
6886
- export declare type DateTimeFormatYear = 'numeric' | '2-digit';
6887
6864
  export interface DateRangeInputProperties {
6888
6865
  /**
6889
6866
  * Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
@@ -7220,7 +7197,7 @@ export interface DateTimePickerProperties {
7220
7197
  */
7221
7198
  footer?: boolean;
7222
7199
  /**
7223
- * Determines the pattern that is used to display the value in.
7200
+ * Determines the pattern that is used to display the value in. Built-in Date formats:// short date pattern'd' - 'M/d/yyyy',// long date pattern'D' - 'dddd, MMMM dd, yyyy',// short time pattern't' - 'h:mm tt',// long time pattern'T' - 'h:mm:ss tt',// long date, short time pattern'f' - 'dddd, MMMM dd, yyyy h:mm tt',// long date, long time pattern'F' - 'dddd, MMMM dd, yyyy h:mm:ss tt',// month/day pattern'M' - 'MMMM dd',// month/year pattern'Y' - 'yyyy MMMM',// S is a sortable format that does not vary by culture'S' - 'yyyy'-'MM'-'dd'T'HH':'mm':'ss'Date format strings:'d'-the day of the month;'dd'-the day of the month'ddd'-the abbreviated name of the day of the week'dddd'- the full name of the day of the week'h'-the hour, using a 12-hour clock from 1 to 12'hh'-the hour, using a 12-hour clock from 01 to 12'H'-the hour, using a 24-hour clock from 0 to 23'HH'- the hour, using a 24-hour clock from 00 to 23'm'-the minute, from 0 through 59'mm'-the minutes,from 00 though59'M'- the month, from 1 through 12'MM'- the month, from 01 through 12'MMM'-the abbreviated name of the month'MMMM'-the full name of the month's'-the second, from 0 through 59'ss'-the second, from 00 through 59't'- the first character of the AM/PM designator'tt'-the AM/PM designator'y'- the year, from 0 to 99'yy'- the year, from 00 to 99'yyy'-the year, with a minimum of three digits'yyyy'-the year as a four-digit number;'yyyyy'-the year as a four-digit number.
7224
7201
  * Default value: "dd-MMM-yy HH:mm:ss.fff"
7225
7202
  */
7226
7203
  formatString?: string;
@@ -9673,7 +9650,7 @@ declare global {
9673
9650
  }
9674
9651
  }
9675
9652
 
9676
- export interface BaseElement extends NgElement, ElementProperties {
9653
+ export interface BaseElement extends HTMLElement, ElementProperties {
9677
9654
  /**
9678
9655
  * This event is triggered when the element is resized.
9679
9656
  * @param event. The custom event. */
@@ -13764,6 +13741,11 @@ export interface GridProperties {
13764
13741
  * Default value: []
13765
13742
  */
13766
13743
  columns?: {label: string, dataField: string}[] | string[] | number | GridColumn[];
13744
+ /**
13745
+ * Context Menu is the drop-down menu displayed after right-clicking a Grid row. It allows you to delete row, edit cell or row depending on the edit mode. The 'contextMenuItemCustom' dataSource option allows you to add custom menu item to the context menu. You can replace the context menu by using the 'selector' property and setting it to ID of a Smart.Menu component.
13746
+ * Default value: [object Object]
13747
+ */
13748
+ contextMenu?: GridContextMenu;
13767
13749
  /**
13768
13750
  * Column Menu is the drop-down menu displayed after clicking the column header's drop-down button, which is displayed when you hover the column header. It allows you to customize column settings. For example: Sort, Filter or Group the Grid by the current column.
13769
13751
  * Default value: [object Object]
@@ -13864,6 +13846,11 @@ export interface GridProperties {
13864
13846
  * Default value: null
13865
13847
  */
13866
13848
  onRender?: any;
13849
+ /**
13850
+ * Callback function() called when the grid has been rendered for first time and bindings are completed. The component is ready.
13851
+ * Default value: null
13852
+ */
13853
+ onLoad?: any;
13867
13854
  /**
13868
13855
  * Callback function(event: KeyboardEvent) called when the grid is on focus and a keyboard key is pressed.
13869
13856
  * Default value: null
@@ -13884,6 +13871,16 @@ export interface GridProperties {
13884
13871
  * Default value: null
13885
13872
  */
13886
13873
  onRowDetailUpdated?: {(index: number, row: GridRow, details: HTMLElement): void};
13874
+ /**
13875
+ * Callback function which is called when a row history is updated. The row history for edits is recorded when the 'storeHistory' property is enabled.
13876
+ * Default value: null
13877
+ */
13878
+ onRowHistory?: {(index: number, row: GridRow, history: any[]): void};
13879
+ /**
13880
+ * Callback function which is called when a row style is updated. The row style can be changed by using the row dialog or the 'setRowStyle' method.
13881
+ * Default value: null
13882
+ */
13883
+ onRowStyle?: {(index: number, row: GridRow, history: any[]): void};
13887
13884
  /**
13888
13885
  * Callback function which is called when a row has been inserted.
13889
13886
  * Default value: null
@@ -13904,6 +13901,16 @@ export interface GridProperties {
13904
13901
  * Default value: null
13905
13902
  */
13906
13903
  onRowUpdated?: {(index: number[], row: GridRow[]): void};
13904
+ /**
13905
+ * Callback function called by the Grid when defined. It is used to get the CSS class applied to a row.
13906
+ * Default value: null
13907
+ */
13908
+ onRowClass?: {(index: number, data: any, row: GridRow[]): void};
13909
+ /**
13910
+ * Callback function called by the Grid when defined. It is used to get the CSS class applied to a cell.
13911
+ * Default value: null
13912
+ */
13913
+ onCellClass?: {(index: number, dataField: string, cellValue: any, data: any, row: GridRow[]): void};
13907
13914
  /**
13908
13915
  * Callback function, which is called when a column has been initialized. This function can be used to customize the column settings.
13909
13916
  * Default value: null
@@ -13924,11 +13931,21 @@ export interface GridProperties {
13924
13931
  * Default value: null
13925
13932
  */
13926
13933
  onColumnUpdated?: {(index: number, column: GridColumn): void};
13934
+ /**
13935
+ * Callback function, which is called when a column has been cloned.
13936
+ * Default value: null
13937
+ */
13938
+ onColumnClone?: {(dataField: string, cloneColumnDataField: string, index: number, duplicateCells: boolean): void};
13927
13939
  /**
13928
13940
  * Callback function, which is called when a command is executed. The name argument is the command's name. The command argument is the command's function. details are built in command arguments passed by the Grid. The handled parameter allows you to cancel built-in command, because when you set it to true the Grid will not execute the default command's behavior.
13929
13941
  * Default value: null
13930
13942
  */
13931
13943
  onCommand?: {(name: string, command: any, details: GridCell, event: Event | KeyboardEvent | PointerEvent, handled: boolean): void};
13944
+ /**
13945
+ * Sets or gets the rows CSS class rules. Different CSS class names are conditionally applied. Example: rowCSSRules: { 'cell-class-1': settings => settings.data.quantity === 5, 'cell-class-2': settings => settings.data.quantity < 5, 'cell-class-3': settings => settings.data.quantity > 5 }. The settings object contains the following properties: index, data, row, api.
13946
+ * Default value: null
13947
+ */
13948
+ rowCSSRules?: any;
13932
13949
  /**
13933
13950
  * Sets or gets the id of the current user. Has to correspond to the id of an item from the users property/array. Depending on the current user, different privileges are enabled. If no current user is set, privileges depend on the element's properties.
13934
13951
  * Default value:
@@ -14013,13 +14030,15 @@ export interface Grid extends BaseElement, GridProperties {
14013
14030
  /* Get a member by its name */
14014
14031
  [name: string]: any;
14015
14032
  /**
14016
- * This event is triggered, when the edit begins.
14017
- * @param event. The custom event. Custom data event was created with: ev.detail(id, dataField, row, column, cell)
14033
+ * This event is triggered, when the edit begins. After the event occurs, editing starts. If you need to prevent the editing for specific cells, rows or columns, you can call event.preventDefault();.
14034
+ * @param event. The custom event. Custom data event was created with: ev.detail(id, dataField, row, column, cell, data, value)
14018
14035
  * id - The edited row id.
14019
14036
  * dataField - The edited column data field.
14020
14037
  * row - The edited row.
14021
14038
  * column - The edited column.
14022
14039
  * cell - The edited cell.
14040
+ * data - The edited row's data.
14041
+ * value - The edited cell's value.
14023
14042
  */
14024
14043
  onBeginEdit?: ((this: any, ev: Event) => any) | ((this: any, ev: CustomEvent<any>) => any) | null;
14025
14044
  /**
@@ -14122,6 +14141,14 @@ export interface Grid extends BaseElement, GridProperties {
14122
14141
  * comment - The comment object. The comment object has 'text: string', 'id: string', 'userId: string | number', and 'time: date' fields. The 'text' is the comment's text. 'id' is the comment's unique id, 'userId' is the user's id who entered the comment and 'time' is a javascript date object.
14123
14142
  */
14124
14143
  onCommentRemove?: ((this: any, ev: Event) => any) | ((this: any, ev: CustomEvent<any>) => any) | null;
14144
+ /**
14145
+ * This event is triggered, when the user clicks on a context menu item.
14146
+ * @param event. The custom event. Custom data event was created with: ev.detail(id, dataField, command)
14147
+ * id - The row's id.
14148
+ * dataField - The column's data field.
14149
+ * command - Command function.
14150
+ */
14151
+ onContextMenuItemClick?: ((this: any, ev: Event) => any) | ((this: any, ev: CustomEvent<any>) => any) | null;
14125
14152
  /**
14126
14153
  * This event is triggered, when the user starts a row drag.
14127
14154
  * @param event. The custom event. Custom data event was created with: ev.detail(row, id, index, originalEvent)
@@ -14245,12 +14272,14 @@ export interface Grid extends BaseElement, GridProperties {
14245
14272
  onCellDoubleClick?: ((this: any, ev: Event) => any) | ((this: any, ev: CustomEvent<any>) => any) | null;
14246
14273
  /**
14247
14274
  * This event is triggered, when the edit ends.
14248
- * @param event. The custom event. Custom data event was created with: ev.detail(id, dataField, row, column, cell)
14275
+ * @param event. The custom event. Custom data event was created with: ev.detail(id, dataField, row, column, cell, data, value)
14249
14276
  * id - The edited row id.
14250
14277
  * dataField - The edited column data field.
14251
14278
  * row - The edited row.
14252
14279
  * column - The edited column.
14253
14280
  * cell - The edited cell.
14281
+ * data - The edited row's data.
14282
+ * value - The edited cell's value.
14254
14283
  */
14255
14284
  onEndEdit?: ((this: any, ev: Event) => any) | ((this: any, ev: CustomEvent<any>) => any) | null;
14256
14285
  /**
@@ -14324,9 +14353,9 @@ export interface Grid extends BaseElement, GridProperties {
14324
14353
  * Adds a row. When batch editing is enabled, the row is not saved until the batch edit is saved.
14325
14354
  * @param {any} data. row data matching the data source
14326
14355
  * @param {boolean} insertAtBottom?. Determines whether to add the new row to the bottom or top of the collection. The default value is 'true'
14327
- * @param {any} callback?. Sets a callback function, which is called after the new row is added. The callback's argument is the new row.
14356
+ * @param callback?. Sets a callback function, which is called after the new row is added. The callback's argument is the new row.
14328
14357
  */
14329
- addRow(data: any, insertAtBottom?: boolean, callback?: any): void;
14358
+ addRow(data: any, insertAtBottom?: boolean, callback?: {(row: GridRow): void}): void;
14330
14359
  /**
14331
14360
  * Adds a new row and puts it into edit mode. When batch editing is enabled, the row is not saved until the batch edit is saved.
14332
14361
  * @param {string} position?. 'near' or 'far'
@@ -14347,7 +14376,7 @@ export interface Grid extends BaseElement, GridProperties {
14347
14376
  */
14348
14377
  addUnboundRow(count: number, position?: string): boolean;
14349
14378
  /**
14350
- * Adds a filter to a column. This method will apply a filter to the Grid data.
14379
+ * Adds a filter to a column. This method will apply a filter to the Grid data. Example for adding multiple filters to a column: grid.addFilter('lastName', ['CONTAINS "burke"', 'or', 'CONTAINS "peterson"']). Example for adding single filter to a column: grid.addFilter('lastName', 'CONTAINS "burke"'). Example for adding numeric filter: grid.addFilter('quantity', '&lt;= 5')
14351
14380
  * @param {string} dataField. column bound data field. For example, if you have a column with dataField: 'firstName', set 'firstName' here.
14352
14381
  * @param {string} filter. Filter expression like: 'startsWith B'. Example 2: ['contains Andrew or contains Nancy'], Example 3: ['quantity', '&lt;= 3 and &gt;= 8']. Filter conditions which you can use in the expressions: '=', 'EQUAL','&lt;&gt;', 'NOT_EQUAL', '!=', '&lt;', 'LESS_THAN','&gt;', 'GREATER_THAN', '&lt;=', 'LESS_THAN_OR_EQUAL', '&gt;=', 'GREATER_THAN_OR_EQUAL','starts with', 'STARTS_WITH','ends with', 'ENDS_WITH', '', 'EMPTY', 'CONTAINS','DOES_NOT_CONTAIN', 'NULL','NOT_NULL'
14353
14382
  * @param {boolean} refreshFilters?. Set this to false, if you will use multiple 'addFilter' calls. By doing this, you will avoid unnecessary renders.
@@ -14372,6 +14401,11 @@ export interface Grid extends BaseElement, GridProperties {
14372
14401
  * Auto-sizes grid columns. This method will update the <em>width</em> of all Grid columns.
14373
14402
  */
14374
14403
  autoSizeColumns(): void;
14404
+ /**
14405
+ * Auto-sizes grid column. This method will update the <em>width</em> of a Grid column by measuring the cells and column header label width.
14406
+ * @param {string} dataField?. column bound data field. For example, if you have a column with dataField: 'firstName', set 'firstName' here.
14407
+ */
14408
+ autoSizeColumn(dataField?: string): void;
14375
14409
  /**
14376
14410
  * This method returns true, if all rows in the Grid are selected.
14377
14411
  * @returns {boolean}
@@ -14442,9 +14476,9 @@ export interface Grid extends BaseElement, GridProperties {
14442
14476
  /**
14443
14477
  * Delete a row. When batch editing is enabled, the row is not saved until the batch edit is saved.
14444
14478
  * @param {string | number} rowId. row bound id
14445
- * @param {any} callback?. Sets a callback function, which is called after the row is deleted. The callback's argument is the deleted row.
14479
+ * @param callback?. Sets a callback function, which is called after the row is deleted. The callback's argument is the deleted row.
14446
14480
  */
14447
- deleteRow(rowId: string | number, callback?: any): void;
14481
+ deleteRow(rowId: string | number, callback?: {(row: GridRow): void}): void;
14448
14482
  /**
14449
14483
  * Scrolls to a row or cell. This method scrolls to a row or cell, when scrolling is necessary. If pagination is enabled, it will automatically change the page.
14450
14484
  * @param {string | number} rowId. row bound id
@@ -14462,10 +14496,15 @@ export interface Grid extends BaseElement, GridProperties {
14462
14496
  */
14463
14497
  endUpdate(refresh?: boolean): void;
14464
14498
  /**
14465
- * Expands a TreeGrid or Grouping row.
14499
+ * Expands a TreeGrid or Grouping row. For example, if you want to expand the first group, then its second sub grup, then the first sub sub group, you can use: grid.expandRow('0.1.0');
14466
14500
  * @param {string | number} rowId. row bound id
14467
14501
  */
14468
14502
  expandRow(rowId: string | number): void;
14503
+ /**
14504
+ * Expands rows to a given group level. For example 'grid.expandRowsToGroupLevel(1);' means that all groups at the root level will be expanded.
14505
+ * @param {number} level. row group level
14506
+ */
14507
+ expandRowsToGroupLevel(level: number): void;
14469
14508
  /**
14470
14509
  * Expands all TreeGrid or Grouping rows.
14471
14510
  */
@@ -14475,6 +14514,20 @@ export interface Grid extends BaseElement, GridProperties {
14475
14514
  * @param {string} Dataformat. 'xlsx', 'pdf', 'json', 'xml', 'csv', 'tsv', 'html', 'png', 'jpeg'.
14476
14515
  */
14477
14516
  exportData(Dataformat: string): void;
14517
+ /**
14518
+ * Finds entries by using a query and returns an array of row ids. Example: const rows = grid.find('nancy'); returns all rows that have 'nancy' value. Example 2: const rows = grid.find('nancy, davolio'); returns all rows that have 'nancy' and 'davolio' values in the same row. Example 3: const rows = grid.find(5, 'quantity', '>'); returns all rows where the value of the 'quantity' field is > 5.
14519
+ * @param {string} query. Search query
14520
+ * @param {string} dataField?. Column data field.
14521
+ * @param {string} condition?. Conditions which you can use in the expressions: '=', 'EQUAL','&lt;&gt;', 'NOT_EQUAL', '!=', '&lt;', 'LESS_THAN','&gt;', 'GREATER_THAN', '&lt;=', 'LESS_THAN_OR_EQUAL', '&gt;=', 'GREATER_THAN_OR_EQUAL','starts with', 'STARTS_WITH','ends with', 'ENDS_WITH', '', 'EMPTY', 'CONTAINS','DOES_NOT_CONTAIN', 'NULL','NOT_NULL'
14522
+ * @returns {any[]}
14523
+ */
14524
+ find(query: string, dataField?: string, condition?: string): any[];
14525
+ /**
14526
+ * Finds entries by using a query and returns an array of cells. Each cell in the array is also an array in this format: [id, dataField, value]. Example: const cells = grid.findCells('nancy'); returns all cells that have 'nancy' value. Example 2: const cells = grid.findCells('nancy, davolio'); returns all cells that have 'nancy' and 'davolio' values.
14527
+ * @param {string} query. Search query. You can enter multiple search strings, by using ','. Example: 'nancy, davolio'
14528
+ * @returns {any[]}
14529
+ */
14530
+ findCells(query: string): any[];
14478
14531
  /**
14479
14532
  * Navigates to a page, when paging is enabled.
14480
14533
  * @param {number} index. page index
@@ -14496,6 +14549,22 @@ export interface Grid extends BaseElement, GridProperties {
14496
14549
  * Navigates to the last page, when grid paging is enabled.
14497
14550
  */
14498
14551
  lastPage(): void;
14552
+ /**
14553
+ * Focuses and selects a cell or row. The keyboard navigation starts from the focused cell or row. Any previously applied selection will be cleared after calling this method.
14554
+ * @param {string | number} rowId. row bound id
14555
+ * @param {string} dataField?. column bound data field
14556
+ */
14557
+ focusAndSelect(rowId: string | number, dataField?: string): void;
14558
+ /**
14559
+ * Iterates through each row in the grid and calls the callback for each row. This is similar to the forEach method on a JavaScript array. This is called for each row, ignoring grouping, filtering or sorting applied in the Grid.
14560
+ * @param {any} rowCallback. Callback function with a row object as parameter. Example: grid.forEachRow((row) => { console.log(row.id) });
14561
+ */
14562
+ forEachRow(rowCallback: any): void;
14563
+ /**
14564
+ * Similar to forEachRow. Iterates through each row in the grid and calls the callback for each row. This method takes into account filtering and sorting applied to the Grid.
14565
+ * @param {any} rowCallback. Callback function with a row object as parameter. Example: grid.forEachRow((row) => { console.log(row.id) });
14566
+ */
14567
+ forEachRowAfterFilterAndSort(rowCallback: any): void;
14499
14568
  /**
14500
14569
  * Gets the maximum position of the vertical scrollbar. You can use this method in combination with the setVerticalScrollValue to apply a new scroll position.
14501
14570
  * @returns {number}
@@ -14521,6 +14590,11 @@ export interface Grid extends BaseElement, GridProperties {
14521
14590
  * @returns {any}
14522
14591
  */
14523
14592
  getColumns(): any;
14593
+ /**
14594
+ * Gets the editing cell(s), when the grid is editing.
14595
+ * @returns {any[]}
14596
+ */
14597
+ getEditCells(): any[];
14524
14598
  /**
14525
14599
  * Gets the groups array.
14526
14600
  * @returns {any[]}
@@ -14537,10 +14611,20 @@ export interface Grid extends BaseElement, GridProperties {
14537
14611
  */
14538
14612
  getSelection(): any;
14539
14613
  /**
14540
- * Gets the selected row ids.
14614
+ * Gets an Array where each item is an Array of row id and row data. If the Grid is used in virtual mode, the row data parameter is empty object, because the data is loaded on demand.
14541
14615
  * @returns {any[]}
14542
14616
  */
14543
14617
  getSelectedRows(): any[];
14618
+ /**
14619
+ * Gets the selected row ids.
14620
+ * @returns {any[]}
14621
+ */
14622
+ getSelectedRowIds(): any[];
14623
+ /**
14624
+ * Gets the selected row indexes.
14625
+ * @returns {any[]}
14626
+ */
14627
+ getSelectedRowIndexes(): any[];
14544
14628
  /**
14545
14629
  * Gets the selected cells. The method returns an array of cell. Each cell is an array with row id, column data field and cell value.
14546
14630
  * @returns {any[]}
@@ -14578,6 +14662,12 @@ export interface Grid extends BaseElement, GridProperties {
14578
14662
  * @returns {any}
14579
14663
  */
14580
14664
  getCellValue(rowId: string | number, dataField: string): any;
14665
+ /**
14666
+ * Gets a column. Returns a Grid column object.
14667
+ * @param {string} dataField. column bound data field. For example, if you have a column with dataField: 'firstName', set 'firstName' here.
14668
+ * @returns {GridColumn}
14669
+ */
14670
+ getColumn(dataField: string): GridColumn;
14581
14671
  /**
14582
14672
  * Gets a value of a column.
14583
14673
  * @param {string} dataField. column bound data field. For example, if you have a column with dataField: 'firstName', set 'firstName' here.
@@ -14592,6 +14682,18 @@ export interface Grid extends BaseElement, GridProperties {
14592
14682
  * @returns {any}
14593
14683
  */
14594
14684
  getRowProperty(rowId: string | number, propertyName: string): any;
14685
+ /**
14686
+ * Gets a row. Returns a Grid row object.
14687
+ * @param {string | number} rowId. row bound id
14688
+ * @returns {GridRow}
14689
+ */
14690
+ getRow(rowId: string | number): GridRow;
14691
+ /**
14692
+ * Gets a row by its index. Returns a Grid row object.
14693
+ * @param {number} rowIndex. row bound index
14694
+ * @returns {GridRow}
14695
+ */
14696
+ getRowByIndex(rowIndex: number): GridRow;
14595
14697
  /**
14596
14698
  * Gets the Data source data associated to the row.
14597
14699
  * @param {string | number} rowId. row bound id
@@ -14599,11 +14701,11 @@ export interface Grid extends BaseElement, GridProperties {
14599
14701
  */
14600
14702
  getRowData(rowId: string | number): any;
14601
14703
  /**
14602
- * Gets the Row's id.
14704
+ * Gets the Row's id by a row index.
14603
14705
  * @param {number} rowIndex. row index
14604
- * @returns {any}
14706
+ * @returns {string | number}
14605
14707
  */
14606
- getRowId(rowIndex: number): any;
14708
+ getRowId(rowIndex: number): string | number;
14607
14709
  /**
14608
14710
  * Gets whether a column's drop-down menu is opened.
14609
14711
  * @returns {boolean}
@@ -14641,14 +14743,20 @@ export interface Grid extends BaseElement, GridProperties {
14641
14743
  * Inserts a row. When batch editing is enabled, the row is not saved until the batch edit is saved.
14642
14744
  * @param {any} data. row data matching the data source
14643
14745
  * @param {number} index?. Determines the insert index. The default value is the last index.
14644
- * @param {any} callback?. Sets a callback function, which is called after the new row is added. The callback's argument is the new row.
14746
+ * @param callback?. Sets a callback function, which is called after the new row is added. The callback's argument is the new row.
14645
14747
  */
14646
- insertRow(data: any, index?: number, callback?: any): void;
14748
+ insertRow(data: any, index?: number, callback?: {(row: GridRow): void}): void;
14647
14749
  /**
14648
14750
  * Opens a column drop-down menu.
14649
14751
  * @param {string} dataField. column bound data field. For example, if you have a column with dataField: 'firstName', set 'firstName' here.
14650
14752
  */
14651
14753
  openMenu(dataField: string): void;
14754
+ /**
14755
+ * Opens a context menu. Note that context menu should be enabled.
14756
+ * @param {number} left. Left Position.
14757
+ * @param {number} top. Top Position.
14758
+ */
14759
+ openContextMenu(left: number, top: number): void;
14652
14760
  /**
14653
14761
  * Prints the Grid data. The method uses the options of the <em>dataExport</em> property. When printed, the Grid will not display any scrollbars so all rows and columns will be displayed. The grid will auto resize width and height to fit all contents. To customize the printing options, you can use the <em>dataExport</em> property.
14654
14762
  */
@@ -14746,6 +14854,24 @@ export interface Grid extends BaseElement, GridProperties {
14746
14854
  * @param {number[]} rowIndex. Array of row indexes
14747
14855
  */
14748
14856
  selectRowsByIndex(rowIndex: number[]): void;
14857
+ /**
14858
+ * Selects rows by using a query. Example: grid.selectRowsByQuery('nancy'); selects all rows that have 'nancy' value. Example 2: grid.selectRowsByQuery('nancy, davolio'); selects all rows that have 'nancy' and 'davolio' values in the same row. Example 3: grid.selectRowsByQuery(5, 'quantity', '>'); selects all rows where the value of the 'quantity' field is > 5.
14859
+ * @param {string} query. Search query
14860
+ * @param {string} dataField?. Column data field.
14861
+ * @param {string} condition?. Conditions which you can use in the expressions: '=', 'EQUAL','&lt;&gt;', 'NOT_EQUAL', '!=', '&lt;', 'LESS_THAN','&gt;', 'GREATER_THAN', '&lt;=', 'LESS_THAN_OR_EQUAL', '&gt;=', 'GREATER_THAN_OR_EQUAL','starts with', 'STARTS_WITH','ends with', 'ENDS_WITH', '', 'EMPTY', 'CONTAINS','DOES_NOT_CONTAIN', 'NULL','NOT_NULL'
14862
+ */
14863
+ selectRowsByQuery(query: string, dataField?: string, condition?: string): void;
14864
+ /**
14865
+ * Selects multiple cells by their ids and dataFields. Example: grid.selectCells([0, 1, 2], ['firstName', 'quantity', 'date']); - selects the 'firstName', 'quantity' and 'date' cells from the first, second and third rows.
14866
+ * @param {(string | number)[]} rowIds. Array of row ids
14867
+ * @param {string[]} dataFields. Array of data fields.
14868
+ */
14869
+ selectCells(rowIds: (string | number)[], dataFields: string[]): void;
14870
+ /**
14871
+ * Selects cells by using a query. Example: grid.selectCellsByQuery('nancy'); selects all cells that have 'nancy' value. Example 2: grid.selectCellsByQuery('nancy, davolio'); selects all cells that have 'nancy' and 'davolio' values in the same row.
14872
+ * @param {string} query. Search query
14873
+ */
14874
+ selectCellsByQuery(query: string): void;
14749
14875
  /**
14750
14876
  * Sets a new value to a cell.
14751
14877
  * @param {string | number} rowId. row bound id
@@ -14753,6 +14879,11 @@ export interface Grid extends BaseElement, GridProperties {
14753
14879
  * @param {string | number | Date | boolean} value. New Cell value.
14754
14880
  */
14755
14881
  setCellValue(rowId: string | number, dataField: string, value: string | number | Date | boolean): void;
14882
+ /**
14883
+ * Sets new columns to the Grid. The grid will redraw all the column headers, and then redraw all of the rows. By using 'setColumns', the grid will compare the new columns passed as argument to the method with existing columns. The Grid will automatically create new columns, keep old columns if they already exist and remove columns which are not in the 'setColumns' method argument. The benefit of that is that the state of the column like(sort, filter, width or other) will be kept, if the column exsits after the new columns are applied.
14884
+ * @param {GridColumn[]} columns. Columns array.
14885
+ */
14886
+ setColumns(columns: GridColumn[]): void;
14756
14887
  /**
14757
14888
  * Sets a property to a column.
14758
14889
  * @param {string} dataField. column bound data field. For example, if you have a column with dataField: 'firstName', set 'firstName' here.
@@ -14770,16 +14901,16 @@ export interface Grid extends BaseElement, GridProperties {
14770
14901
  /**
14771
14902
  * Sets a style to a row.
14772
14903
  * @param {string | number} rowId. row bound id
14773
- * @param {any} rowStyle. The row style object. The object may have one or all of the following properties: 'background', 'color', 'fontSize', 'fontFamily', 'textDecoration', 'fontStyle', 'fontWeight'.
14904
+ * @param rowStyle. The row style object. The object may have one or all of the following properties: 'background', 'color', 'fontSize', 'fontFamily', 'textDecoration', 'fontStyle', 'fontWeight'.
14774
14905
  */
14775
- setRowStyle(rowId: string | number, rowStyle: any): void;
14906
+ setRowStyle(rowId: string | number, rowStyle: {background?: string, color?: string, fontSize?: string, fontFamily?: string, textDecoration?: string, fontStyle?: string, fontWeight?: string}): void;
14776
14907
  /**
14777
14908
  * Sets a style to a row.
14778
14909
  * @param {string | number} rowId. row bound id
14779
14910
  * @param {string} dataField. Column bound field name.
14780
- * @param {any} rowStyle. The cell style object. The object may have one or all of the following properties: 'background', 'color', 'fontSize', 'fontFamily', 'textDecoration', 'fontStyle', 'fontWeight'.
14911
+ * @param rowStyle. The cell style object. The object may have one or all of the following properties: 'background', 'color', 'fontSize', 'fontFamily', 'textDecoration', 'fontStyle', 'fontWeight'.
14781
14912
  */
14782
- setCellStyle(rowId: string | number, dataField: string, rowStyle: any): void;
14913
+ setCellStyle(rowId: string | number, dataField: string, rowStyle: {background?: string, color?: string, fontSize?: string, fontFamily?: string, textDecoration?: string, fontStyle?: string, fontWeight?: string}): void;
14783
14914
  /**
14784
14915
  * Sets the position of the vertical scrollbar. You can use this method in combination with the getVerticalScrollValue and getVerticalScrollMax.
14785
14916
  * @param {number} value. The new scroll position
@@ -14799,9 +14930,9 @@ export interface Grid extends BaseElement, GridProperties {
14799
14930
  * Updates a row. When batch editing is enabled, the row is not saved until the batch edit is saved.
14800
14931
  * @param {string | number} rowId. row bound id
14801
14932
  * @param {any} data. row data matching the data source
14802
- * @param {any} callback?. Sets a callback function, which is called after the row is updated. The callback's argument is the updated row.
14933
+ * @param callback?. Sets a callback function, which is called after the row is updated. The callback's argument is the updated row.
14803
14934
  */
14804
- updateRow(rowId: string | number, data: any, callback?: any): void;
14935
+ updateRow(rowId: string | number, data: any, callback?: {(row: GridRow): void}): void;
14805
14936
  /**
14806
14937
  * Unselects a row, cell or column.
14807
14938
  * @param {string | number} rowId. row bound id
@@ -14946,6 +15077,11 @@ export interface GridAppearance {
14946
15077
  * Default value: false
14947
15078
  */
14948
15079
  showRowHeader?: boolean;
15080
+ /**
15081
+ * Shows or hides Row headers. In TreeGrid, the non-leaf tree items are displayed as normal rows. If this property is set to true, they are displayed as headers similar to the grouping rendering.
15082
+ * Default value: false
15083
+ */
15084
+ showTreeRowHeader?: boolean;
14949
15085
  /**
14950
15086
  * Shows row indexes in the row header. The showRowHeader property should be true
14951
15087
  * Default value: false
@@ -14976,6 +15112,11 @@ export interface GridAppearance {
14976
15112
  * Default value: true
14977
15113
  */
14978
15114
  showColumnHeaderLines?: boolean;
15115
+ /**
15116
+ * Shows drag icon on the column header when drag is enabled. The icon is displayed when you move the mouse cursor to the column header's left edge.
15117
+ * Default value: false
15118
+ */
15119
+ showColumnHeaderDragIcon?: boolean;
14979
15120
  /**
14980
15121
  * Shows column lines.
14981
15122
  * Default value: true
@@ -14993,12 +15134,12 @@ export interface GridAppearance {
14993
15134
  showColumnGroupsInColumnPanel?: boolean;
14994
15135
  /**
14995
15136
  * Shows filtered column background, when filter is applied.
14996
- * Default value: true
15137
+ * Default value: false
14997
15138
  */
14998
15139
  showFilterColumnBackground?: boolean;
14999
15140
  /**
15000
15141
  * Shows sorted column background, when sorting is applied.
15001
- * Default value: true
15142
+ * Default value: false
15002
15143
  */
15003
15144
  showSortColumnBackground?: boolean;
15004
15145
  /**
@@ -15056,6 +15197,11 @@ export interface GridAppearance {
15056
15197
  * Default value: false
15057
15198
  */
15058
15199
  showVerticalScrollBarOnFixedColumns?: boolean;
15200
+ /**
15201
+ * Shows the today's date as 'Today' vs '7/8/2022'. When the property is set to false, it will display the date.
15202
+ * Default value: true
15203
+ */
15204
+ showTodayDateAsString?: boolean;
15059
15205
  }
15060
15206
 
15061
15207
  /**An object containing settings related to the grid's behavior. */
@@ -15157,7 +15303,7 @@ export interface GridClipboard {
15157
15303
  * Sets or gets a callback on paste.
15158
15304
  * Default value: null
15159
15305
  */
15160
- onPasteValue?: any;
15306
+ onPasteValue?: {(args: {value: any, oldValue: any, dataField: string, id: string | number}): void};
15161
15307
  }
15162
15308
 
15163
15309
  export interface GridColumn {
@@ -15242,15 +15388,20 @@ export interface GridColumn {
15242
15388
  */
15243
15389
  cellsVerticalAlign?: VerticalAlignment | string;
15244
15390
  /**
15245
- * Sets or gets the column's header CSS class name.
15391
+ * Sets or gets the column's header CSS class name. You can apply multiple CSS class names by separating them with space.
15246
15392
  * Default value: ""
15247
15393
  */
15248
15394
  className?: string;
15249
15395
  /**
15250
- * Sets or gets the column's cells CSS class name.
15251
- * Default value: ""
15396
+ * Sets or gets the column's cells CSS class name(s). The property can be used with string and function. You can apply multiple CSS class names by separating them with space or you can return a CSS class name(s) when you use it as a function. The function gets called with the following parameters: index - row's index, dataField - column's data field, cellValue - current cell's value, rowData - current row's data, row - GridRow object. Ex: cellsClassName: (index, dataField, value, rowData, row) => { if (index === 0) { return 'cell-class-1' } }
15397
+ * Default value:
15252
15398
  */
15253
- cellsClassName?: string;
15399
+ cellsClassName?: any;
15400
+ /**
15401
+ * Sets or gets the column's cells CSS class rules. Different CSS class names are conditionally applied. Example: label: 'Quantity', dataField: 'quantity', editor: 'numberInput', cellsClassRules: { 'one': settings => settings.value > 5, 'two': settings => settings.value &lt;5, 'three': settings => settings.value === 3 }. The settings object contains the following properties: index, value, dataField, row, api.
15402
+ * Default value: null
15403
+ */
15404
+ cellsCSSRules?: any;
15254
15405
  /**
15255
15406
  * Sets the name of the column group.
15256
15407
  * Default value: ""
@@ -15282,7 +15433,7 @@ export interface GridColumn {
15282
15433
  */
15283
15434
  element?: HTMLElement;
15284
15435
  /**
15285
- * Sets or gets the column's editor. The property expects 'input', 'autoComplete', 'comboBox', 'dropDownList', 'image', 'numberInput', 'checkBox', 'multiInput', 'multiComboInput', 'checkInput', 'slider', 'dateTimePicker', 'timeInput', 'dateInput', 'dateRangeInput', 'maskedTextBox', 'textArea' or a custom object with 'template' property which defines the editor type, 'settings' property which defines the custom editor's properties, 'onInit(int row, string column, object editor, object rowData): object', 'onRender(int row, string column, object editor, object rowData): object', 'setValue(object value): void' and 'getValue(object value): object' callback functions.
15436
+ * Sets or gets the column's editor. The property expects 'input', 'autoComplete', 'comboBox', 'dropDownList', 'image', 'numberInput', 'checkBox', 'multiInput', 'multiComboInput', 'checkInput', 'slider', 'dateTimePicker', 'timeInput', 'dateInput', 'dateRangeInput', 'maskedTextBox', 'textArea' or a custom object with 'template' property which defines the editor type, 'settings' property which defines the custom editor's properties, 'onInit(int row, string column, object editor, object rowData): void', 'onRender(int row, string column, object editor, object rowData): void', 'setValue(object value): void' and 'getValue(object value): any' callback functions.
15286
15437
  * Default value: null
15287
15438
  */
15288
15439
  editor?: any;
@@ -15305,7 +15456,7 @@ export interface GridColumn {
15305
15456
  * Sets or gets the column's format function.
15306
15457
  * Default value: null
15307
15458
  */
15308
- formatFunction?: any;
15459
+ formatFunction?: {(formatObject: {row?: GridRow, column?: GridColumn, cell?: GridCell, oldValue?: any, value?: any, template?: any}): void};
15309
15460
  /**
15310
15461
  * Sets or gets the column's format settings. You can use any of the build in formatting options or to NumberFormat object like that: 'Intl: { NumberFormat: { style: \'currency\', currency: \'EUR\' }}' or DateTimeFormat object like that: 'Intl: { DateTimeFormat: { dateStyle: \'full\' }}''
15311
15462
  * Default value: [object Object]
@@ -15316,6 +15467,16 @@ export interface GridColumn {
15316
15467
  * Default value: ""
15317
15468
  */
15318
15469
  group?: string;
15470
+ /**
15471
+ * This function allows you to provide custom cell values, which will be displayed in the column's cells. The grid passes 3 arguments to the function - row id, column's dataField and row's data.
15472
+ * Default value: null
15473
+ */
15474
+ getCellValue?: any;
15475
+ /**
15476
+ * Gets the column's filter panel. The function should return HTMLElement which will represent the filter UI panel displayed in the filter menu. The function works in combination with updateFilterPanel
15477
+ * Default value: null
15478
+ */
15479
+ getFilterPanel?: any;
15319
15480
  /**
15320
15481
  * Sets or gets the column's icon. Expects CSS class name.
15321
15482
  * Default value: ""
@@ -15326,11 +15487,21 @@ export interface GridColumn {
15326
15487
  * Default value: ""
15327
15488
  */
15328
15489
  label?: string;
15490
+ /**
15491
+ * Sets or gets the column header's template. The property expects the 'id' of HTMLTemplateElement, HTML string or function which returns html string.
15492
+ * Default value:
15493
+ */
15494
+ labelTemplate?: string | HTMLTemplateElement | HTMLElement | {(label: string): string};
15329
15495
  /**
15330
15496
  * Sets or gets the minimum width.
15331
15497
  * Default value: 30
15332
15498
  */
15333
15499
  minWidth?: number;
15500
+ /**
15501
+ * Sets or gets the column's rowSpan function. Allows you to dynamically span cells.
15502
+ * Default value: null
15503
+ */
15504
+ rowSpan?: {(cellValue: any, rowIndex: number, data: any): number};
15334
15505
  /**
15335
15506
  * Sets or gets the sort order of the column. Accepts: 'asc', 'desc' and null.
15336
15507
  * Default value: null
@@ -15341,6 +15512,11 @@ export interface GridColumn {
15341
15512
  * Default value: null
15342
15513
  */
15343
15514
  sortIndex?: number;
15515
+ /**
15516
+ * Sets or gets a custom 'sortComparator' function. It can be used for implementing custom sorting. Ex: sortComparator: (value1, value2) =&gt; { if (value1 === value2) return 0; return value1 &lt;value2; }
15517
+ * Default value: null
15518
+ */
15519
+ sortComparator?: any;
15344
15520
  /**
15345
15521
  * Sets or gets whether the column's header action drop-down button is displayed. This button opens the column's menu.
15346
15522
  * Default value: true
@@ -15381,6 +15557,11 @@ export interface GridColumn {
15381
15557
  * Default value:
15382
15558
  */
15383
15559
  summary?: string[];
15560
+ /**
15561
+ * Updates the column's filter panel. The function works in combination with getFilterPanel
15562
+ * Default value: null
15563
+ */
15564
+ updateFilterPanel?: any;
15384
15565
  /**
15385
15566
  * Sets or gets whether the column is visible. Set the property to 'false' to hide the column.
15386
15567
  * Default value: true
@@ -15388,6 +15569,83 @@ export interface GridColumn {
15388
15569
  visible?: boolean;
15389
15570
  }
15390
15571
 
15572
+ /**Context Menu is the drop-down menu displayed after right-clicking a Grid row. It allows you to delete row, edit cell or row depending on the edit mode. The 'contextMenuItemCustom' dataSource option allows you to add custom menu item to the context menu. You can replace the context menu by using the 'selector' property and setting it to ID of a Smart.Menu component. */
15573
+ export interface GridContextMenu {
15574
+ /**
15575
+ * Sets or gets whether the context menu is enabled. If the value is false, the context menu will not be displayed, when user right clicks on a row.
15576
+ * Default value: false
15577
+ */
15578
+ enabled?: boolean;
15579
+ /**
15580
+ * Sets the data sources to the context menu.
15581
+ * Default value: [object Object]
15582
+ */
15583
+ dataSource?: GridContextMenuDataSource;
15584
+ /**
15585
+ * Sets the ID or CSS Class of a Smart.Menu component to be used as a context menu for the Grid.
15586
+ * Default value: ""
15587
+ */
15588
+ selector?: string;
15589
+ /**
15590
+ * Sets the width of the context menu.
15591
+ * Default value: 250
15592
+ */
15593
+ width?: number;
15594
+ /**
15595
+ * Sets the height of the context menu.
15596
+ * Default value: null
15597
+ */
15598
+ height?: number | null;
15599
+ }
15600
+
15601
+ /**Sets the data sources to the context menu. */
15602
+ export interface GridContextMenuDataSource {
15603
+ /**
15604
+ * Describes the delete item.
15605
+ * Default value: [object Object]
15606
+ */
15607
+ contextMenuItemDelete?: GridCommand;
15608
+ /**
15609
+ * Describes the edit item.
15610
+ * Default value: [object Object]
15611
+ */
15612
+ contextMenuItemEdit?: GridCommand;
15613
+ /**
15614
+ * Describes the custom item.
15615
+ * Default value: [object Object]
15616
+ */
15617
+ contextMenuItemCustom?: GridCommand;
15618
+ }
15619
+
15620
+ /**Describes the delete item. */
15621
+ export interface GridCommand {
15622
+ /**
15623
+ * Sets the command of the context menu item.
15624
+ * Default value: "contextMenuItemDeleteCommand"
15625
+ */
15626
+ command?: string;
15627
+ /**
15628
+ * Enables the context menu item.
15629
+ * Default value: true
15630
+ */
15631
+ enabled?: boolean;
15632
+ /**
15633
+ * Sets the visibility of the context menu item.
15634
+ * Default value: true
15635
+ */
15636
+ visible?: boolean;
15637
+ /**
15638
+ * Sets the icon of the context menu item.
15639
+ * Default value: "jqx-icon-delete"
15640
+ */
15641
+ icon?: string;
15642
+ /**
15643
+ * Sets the label of the context menu item.
15644
+ * Default value: ""
15645
+ */
15646
+ label?: string;
15647
+ }
15648
+
15391
15649
  /**Column Menu is the drop-down menu displayed after clicking the column header's drop-down button, which is displayed when you hover the column header. It allows you to customize column settings. For example: Sort, Filter or Group the Grid by the current column. */
15392
15650
  export interface GridColumnMenu {
15393
15651
  /**
@@ -15443,7 +15701,7 @@ export interface GridColumnMenuDataSource {
15443
15701
  * Describes the settings of the column menu item duplicate.
15444
15702
  * Default value: [object Object]
15445
15703
  */
15446
- columnMenuItemDuplicate?: GridCommand;
15704
+ columnMenuItemClone?: GridCommand;
15447
15705
  /**
15448
15706
  * Describes the settings of the column menu item insert left.
15449
15707
  * Default value: [object Object]
@@ -15464,6 +15722,11 @@ export interface GridColumnMenuDataSource {
15464
15722
  * Default value: [object Object]
15465
15723
  */
15466
15724
  columnMenuItemSortDesc?: GridCommand;
15725
+ /**
15726
+ * Describes the settings of the column menu item to add sorting.
15727
+ * Default value: [object Object]
15728
+ */
15729
+ columnMenuItemSort?: GridCommand;
15467
15730
  /**
15468
15731
  * Describes the settings of the column menu item remove sort.
15469
15732
  * Default value: [object Object]
@@ -15501,41 +15764,17 @@ export interface GridColumnMenuDataSource {
15501
15764
  columnMenuItemDelete?: GridCommand;
15502
15765
  }
15503
15766
 
15504
- /**Describes the settings of the column menu customize type */
15505
- export interface GridCommand {
15506
- /**
15507
- * Sets the command of the column menu customize type.
15508
- * Default value: "customizeTypeCommand"
15509
- */
15510
- command?: string;
15511
- /**
15512
- * Enables the column menu customize type.
15513
- * Default value: true
15514
- */
15515
- enabled?: boolean;
15516
- /**
15517
- * Sets the visibility of the column menu customize type.
15518
- * Default value: false
15519
- */
15520
- visible?: boolean;
15521
- /**
15522
- * Sets the icon of the column menu customize type.
15523
- * Default value: "jqx-icon-customize"
15524
- */
15525
- icon?: string;
15526
- /**
15527
- * Sets the label of the column menu customize type.
15528
- * Default value: ""
15529
- */
15530
- label?: string;
15531
- }
15532
-
15533
15767
  export interface GridColumnGroup {
15534
15768
  /**
15535
15769
  * Sets the label.
15536
15770
  * Default value: ""
15537
15771
  */
15538
15772
  label?: string;
15773
+ /**
15774
+ * Sets or gets the column header's template. The property expects the 'id' of HTMLTemplateElement, HTML string or function which returns html string.
15775
+ * Default value:
15776
+ */
15777
+ labelTemplate?: string | HTMLTemplateElement | HTMLElement | {(label: string): string};
15539
15778
  /**
15540
15779
  * Sets the align.
15541
15780
  * Default value: center
@@ -15617,7 +15856,7 @@ export interface GridCharting {
15617
15856
  * Sets or gets the chart's container.
15618
15857
  * Default value: null
15619
15858
  */
15620
- appendTo?: any;
15859
+ appendTo?: string | HTMLElement;
15621
15860
  /**
15622
15861
  * Sets or gets the charting dialog.
15623
15862
  * Default value: [object Object]
@@ -15805,12 +16044,12 @@ export interface GridDataSourceSettings {
15805
16044
  */
15806
16045
  mapChar?: string;
15807
16046
  /**
15808
- * Sets the virtual data source function which is called each time the Grid requests data. Demos using 'virtualDataSource' are available on the Grid demos page.
16047
+ * Sets the virtual data source function which is called each time the Grid requests data. Example for calling the callback function with the new data set: resultCallbackFunction({dataSource: data}); Demos using 'virtualDataSource' are available on the Grid demos page. Example: https://www.htmlelements.com/demos/grid/virtualscroll/
15809
16048
  * Default value: null
15810
16049
  */
15811
- virtualDataSource?: any;
16050
+ virtualDataSource?: {(resultCallbackFunction: any, details: DataAdapterVirtualDataSourceDetails): void};
15812
16051
  /**
15813
- * Sets the virtual data source on expand function. This function is called when we load data on demand in Tree or TreeGrid and virtualDataSource in these components is set, too
16052
+ * Sets the virtual data source on expand function. This function is called when we load data on demand in Tree or TreeGrid and virtualDataSource in these components is set, too. Example: https://www.htmlelements.com/demos/grid/virtual-tree-grid/
15814
16053
  * Default value: null
15815
16054
  */
15816
16055
  virtualDataSourceOnExpand?: any;
@@ -16117,6 +16356,11 @@ export interface GridFiltering {
16117
16356
  * Default value: false
16118
16357
  */
16119
16358
  enabled?: boolean;
16359
+ /**
16360
+ * Determines the filtering operator used in the Grid. By default filters are applied with 'and' operator i.e returns a set of rows matching the filter expressions of columnA AND columnB. The other option is to return a set of rows matching the filter expressions of columnA OR columnB. For example: grid.filtering.operator = 'or'; grid.addFilter('lastName', 'contains "davolio"') grid.addFilter('firstName', 'contains "Antoni"'); - that code will apply two filters to the Grid and will return all rows where firstName is 'Antoni' or the lastName is 'Davolio'
16361
+ * Default value: "and"
16362
+ */
16363
+ operator?: string;
16120
16364
  /**
16121
16365
  * An array of filtering conditions to apply to the DataGrid. Each member of the filter array is an array with two members. The first one is the column dataField to apply the filter to. The second one is the filtering condition. Example: [['firstName', 'contains Andrew or contains Nancy'], ['quantity', '&lt;= 3 and &gt;= 8']]. Additional example with filter which we want to apply to a column with filterMenuMode='excel' - [['firstName', 'EQUAL' 'Andrew' or 'EQUAL' 'Antoni' or 'EQUAL' 'Beate']]. Example with a string filter applied to a string column - [['lastName','CONTAINS' 'burke' or 'CONTAINS' 'peterson']]. Filter conditions which you can use in the expressions: '=', 'EQUAL','&lt;&gt;', 'NOT_EQUAL', '!=', '&lt;', 'LESS_THAN','&gt;', 'GREATER_THAN', '&lt;=', 'LESS_THAN_OR_EQUAL', '&gt;=', 'GREATER_THAN_OR_EQUAL','starts with', 'STARTS_WITH','ends with', 'ENDS_WITH', '', 'EMPTY', 'CONTAINS','DOES_NOT_CONTAIN', 'NULL','NOT_NULL'
16122
16366
  * Default value:
@@ -16228,6 +16472,11 @@ export interface GridGrouping {
16228
16472
  * Default value: false
16229
16473
  */
16230
16474
  autoExpandAll?: boolean;
16475
+ /**
16476
+ * Automatically expands all groups to a given level.
16477
+ * Default value: 0
16478
+ */
16479
+ autoExpandToLevel?: number;
16231
16480
  /**
16232
16481
  * Automatically hides all grouped columns.
16233
16482
  * Default value: false
@@ -16239,20 +16488,20 @@ export interface GridGrouping {
16239
16488
  */
16240
16489
  expandMode?: GridGroupingExpandMode | string;
16241
16490
  /**
16242
- * Sets the group render mode. 'basic' mode renders the group headers without taking into account the indent, groupRowHeight and column label properties. 'compact' mode is the same as basic, but also renders the column labels in the group headers. The default mode is 'advanced', which adds indents to groups that depend on the group level.
16243
- * Default value: advanced
16491
+ * Sets or gets the column's format function.
16492
+ * Default value: null
16244
16493
  */
16245
- renderMode?: GridGroupingRenderMode | string;
16494
+ formatFunction?: {(formatObject: {row?: GridRow, column?: GridColumn, cell?: GridCell, value?: any, template?: any}): void};
16246
16495
  /**
16247
16496
  * Sets the group row height.
16248
16497
  * Default value: 50
16249
16498
  */
16250
16499
  groupRowHeight?: string | number;
16251
16500
  /**
16252
- * Sets the indent of the group toggle button.
16253
- * Default value: 16
16501
+ * Sets or gets the data fields to group by.
16502
+ * Default value: []
16254
16503
  */
16255
- toggleButtonIndent?: number;
16504
+ groupBy?: string[];
16256
16505
  /**
16257
16506
  * Sets the indent of the group.
16258
16507
  * Default value: 16
@@ -16263,6 +16512,21 @@ export interface GridGrouping {
16263
16512
  * Default value: [object Object]
16264
16513
  */
16265
16514
  groupBar?: GridGroupingGroupBar;
16515
+ /**
16516
+ * Expands a group in the first grid render. Example: onGroupDefaultExpanded: (dataItem) =&gt;{ return dataItem.label === 'Peppermint Mocha Twist' }
16517
+ * Default value: null
16518
+ */
16519
+ onGroupDefaultExpanded?: any;
16520
+ /**
16521
+ * Sets the group render mode. 'basic' mode renders the group headers without taking into account the indent, groupRowHeight and column label properties. 'compact' mode is the same as basic, but also renders the column labels in the group headers. The default mode is 'advanced', which adds indents to groups that depend on the group level. In 'multipleColumns' mode, each group is displayed in its column.
16522
+ * Default value: advanced
16523
+ */
16524
+ renderMode?: GridGroupingRenderMode | string;
16525
+ /**
16526
+ * Sets the indent of the group toggle button.
16527
+ * Default value: 16
16528
+ */
16529
+ toggleButtonIndent?: number;
16266
16530
  /**
16267
16531
  * Describes the group summary row's settings.
16268
16532
  * Default value: [object Object]
@@ -16320,6 +16584,11 @@ export interface GridPaging {
16320
16584
  * Default value: 10
16321
16585
  */
16322
16586
  pageSize?: number;
16587
+ /**
16588
+ * Sets the number of hierarchical rows per page. For example, displays 2 root groups per page, when grouping is enabled.
16589
+ * Default value: 2
16590
+ */
16591
+ pageHierarchySize?: number;
16323
16592
  /**
16324
16593
  * Sets the start page.
16325
16594
  * Default value: 0
@@ -16523,7 +16792,7 @@ export interface GridRowDetail {
16523
16792
  * Sets the template of the row details.
16524
16793
  * Default value:
16525
16794
  */
16526
- template?: any;
16795
+ template?: string | HTMLTemplateElement;
16527
16796
  /**
16528
16797
  * Sets the visibility of the Column which allows you to dynamically expand/collapse the row details.
16529
16798
  * Default value: true
@@ -16584,12 +16853,12 @@ export interface GridHeader {
16584
16853
  * Sets a template for the header.
16585
16854
  * Default value:
16586
16855
  */
16587
- template?: string | HTMLTemplateElement;
16856
+ template?: string | HTMLTemplateElement | {(element: HTMLElement): void};
16588
16857
  /**
16589
16858
  * This callback function can be used for customization of the Header toolbar. The Toolbar HTML Element is passed as an argument.
16590
16859
  * Default value: null
16591
16860
  */
16592
- onInit?: any;
16861
+ onInit?: {(element: HTMLElement): void};
16593
16862
  /**
16594
16863
  * Determines the buttons displayed in the Grid header. 'columns' displays a button opening the columns chooser panel. 'filter' displays a button opening the filtering panel. 'group' displays a button opening the grouping panel. 'sort' displays a button opening the sorting panel. 'format' displays a button opening the conditional formatting panel. 'search' displays a button opening the search panel.
16595
16864
  * Default value: [ "columns", "filter", "group", "sort", "format", "search" ]
@@ -16608,7 +16877,7 @@ export interface GridFooter {
16608
16877
  * Sets a template for the footer.
16609
16878
  * Default value:
16610
16879
  */
16611
- template?: string | HTMLTemplateElement;
16880
+ template?: string | HTMLTemplateElement | {(element: HTMLElement): void};
16612
16881
  }
16613
16882
 
16614
16883
  export interface GridRow {
@@ -16986,16 +17255,36 @@ export interface GridSorting {
16986
17255
  * Default value:
16987
17256
  */
16988
17257
  sort?: string[];
17258
+ /**
17259
+ * Maintains sorting when user edits data in the sorted column. The feature is useful when you want to apply sort just once and you set the property to false.
17260
+ * Default value: true
17261
+ */
17262
+ maintainSort?: boolean;
16989
17263
  /**
16990
17264
  * Sets the count of allowed sorting columns. When the property value is set to 'many', users can sort data by multiple columns.
16991
17265
  * Default value: one
16992
17266
  */
16993
17267
  mode?: GridSortingMode | string;
17268
+ /**
17269
+ * Sets the command key. The property is used in the multi-column sorting. If commandKey='Control', users will be able to sort by multiple columns only while holding the 'Control' key.
17270
+ * Default value: Default
17271
+ */
17272
+ commandKey?: GridSortingCommandKey | string;
16994
17273
  /**
16995
17274
  * Enables switching between the three sort states: ascending, descending and not sorted.
16996
17275
  * Default value: true
16997
17276
  */
16998
17277
  sortToggleThreeStates?: boolean;
17278
+ /**
17279
+ * Enables switching between the sort states on column click. This is the default behavior.
17280
+ * Default value: true
17281
+ */
17282
+ sortToggleOnClick?: boolean;
17283
+ /**
17284
+ * Enables switching between the sort states on column click and holding down the command key.
17285
+ * Default value: false
17286
+ */
17287
+ sortToggleOnClickAndCommandKey?: boolean;
16999
17288
  }
17000
17289
 
17001
17290
  declare global {
@@ -17046,8 +17335,8 @@ export declare type GridFilteringFilterRowApplyMode = 'auto' | 'click';
17046
17335
  export declare type GridFilteringFilterMenuMode = 'default' | 'excel';
17047
17336
  /**Sets the group expand mode. */
17048
17337
  export declare type GridGroupingExpandMode = 'buttonClick' | 'rowClick';
17049
- /**Sets the group render mode. 'basic' mode renders the group headers without taking into account the indent, groupRowHeight and column label properties. 'compact' mode is the same as basic, but also renders the column labels in the group headers. The default mode is 'advanced', which adds indents to groups that depend on the group level. */
17050
- export declare type GridGroupingRenderMode = 'basic' | 'compact' | 'advanced';
17338
+ /**Sets the group render mode. 'basic' mode renders the group headers without taking into account the indent, groupRowHeight and column label properties. 'compact' mode is the same as basic, but also renders the column labels in the group headers. The default mode is 'advanced', which adds indents to groups that depend on the group level. In 'multipleColumns' mode, each group is displayed in its column. */
17339
+ export declare type GridGroupingRenderMode = 'basic' | 'compact' | 'advanced' | 'multipleColumns';
17051
17340
  /**Sets the ellipsis display mode. */
17052
17341
  export declare type GridPagerAutoEllipsis = 'none' | 'before' | 'after' | 'both';
17053
17342
  /**Sets or gets whether the selection allows you to select 'one', 'many' or a variation of 'many' called 'extended'. 'one' allows you to have only single cell or row selected. 'many' */
@@ -17058,6 +17347,8 @@ export declare type GridSelectionAction = 'none' | 'click' | 'doubleClick';
17058
17347
  export declare type GridSelectionCheckBoxesSelectAllMode = 'none' | 'page' | 'all';
17059
17348
  /**Sets the count of allowed sorting columns. When the property value is set to 'many', users can sort data by multiple columns. */
17060
17349
  export declare type GridSortingMode = 'one' | 'many';
17350
+ /**Sets the command key. The property is used in the multi-column sorting. If commandKey='Control', users will be able to sort by multiple columns only while holding the 'Control' key. */
17351
+ export declare type GridSortingCommandKey = 'Default' | 'Alt' | 'Control' | 'Shift';
17061
17352
  export interface GroupPanelProperties {
17062
17353
  /**
17063
17354
  * Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
@@ -17473,6 +17764,11 @@ export interface KanbanProperties {
17473
17764
  * Default value: true
17474
17765
  */
17475
17766
  allowDrop?: boolean;
17767
+ /**
17768
+ * This property changes the visual appeal of the Kanban columns and tasks. When set to true and the Kanban columns have their 'color' property set, the color is also applied to the tasks and edit dialog.
17769
+ * Default value: false
17770
+ */
17771
+ applyColumnColorToTasks?: boolean;
17476
17772
  /**
17477
17773
  * Enables or disables auto load state from the browser's localStorage. Information about tasks and their position and selected state, filtering, sorting, collapsed columns, as well as the values of the properties taskActions, taskComments, taskDue, taskPriority, taskProgress, taskTags, and taskUserIcon is loaded.
17478
17774
  * Default value: true
@@ -17483,6 +17779,11 @@ export interface KanbanProperties {
17483
17779
  * Default value: false
17484
17780
  */
17485
17781
  autoSaveState?: boolean;
17782
+ /**
17783
+ * Automatically updates the columns height depending on the tasks inside the column. The effect of this property is observed when 'columnColorEntireSurface' is true.
17784
+ * Default value: false
17785
+ */
17786
+ autoColumnHeight?: boolean;
17486
17787
  /**
17487
17788
  * Allows collapsing the card content.
17488
17789
  * Default value: false
@@ -17603,6 +17904,31 @@ export interface KanbanProperties {
17603
17904
  * Default value: * { 'en': { 'addFilter': '+ Add filter', 'and': 'And', 'apply': 'Apply', 'booleanFirst': '☐', 'booleanLast': '☑', 'cancel': 'Cancel', 'CONTAINS': 'contains', 'CONTAINS_CASE_SENSITIVE': 'contains (case sensitive)', 'dateFirst': '1', 'dateLast': '9', 'DOES_NOT_CONTAIN': 'does not contain', 'DOES_NOT_CONTAIN_CASE_SENSITIVE': 'does not contain (case sensitive)', 'EMPTY': 'empty', 'ENDS_WITH': 'ends with', 'ENDS_WITH_CASE_SENSITIVE': 'ends with (case sensitive)', 'EQUAL': 'equal', 'EQUAL_CASE_SENSITIVE': 'equal (case sensitive)', 'filter': 'Filter', 'filteredByMultiple': '%', 'removeComment': 'Remove comment', 'promptColumn': 'Are you sure you want to remove this column?'} }
17604
17905
  */
17605
17906
  messages?: any;
17907
+ /**
17908
+ * Callback function which can be used for customizing the tasks rendering. The Kanban calls it with 2 arguments - task html element and task data.
17909
+ * Default value: null
17910
+ */
17911
+ onTaskRender?: any;
17912
+ /**
17913
+ * Callback function which can be used for customizing the filter items. The function is called with 1 argument - Array of items which will be displayed in the filter drop down. You can modify that array to remove or update items to filter by.
17914
+ * Default value: null
17915
+ */
17916
+ onFilterPrepare?: any;
17917
+ /**
17918
+ * Callback function which can be used for customizing the sort items. The function is called with 1 argument - Array of items which will be displayed in the sort drop down. You can modify that array to remove or update items to sort by.
17919
+ * Default value: null
17920
+ */
17921
+ onSortPrepare?: any;
17922
+ /**
17923
+ * Callback function which can be used for customizing the column header rendering. The Kanban calls it with 3 arguments - column header html element and column data and column data field.
17924
+ * Default value: null
17925
+ */
17926
+ onColumnHeaderRender?: any;
17927
+ /**
17928
+ * Callback function which can be used for customizing the column footer rendering. The Kanban calls it with 3 arguments - column header html element and column data and column data field.
17929
+ * Default value: null
17930
+ */
17931
+ onColumnFooterRender?: any;
17606
17932
  /**
17607
17933
  * Determines selection mode.
17608
17934
  * Default value: zeroOrOne
@@ -17623,6 +17949,11 @@ export interface KanbanProperties {
17623
17949
  * Default value: false
17624
17950
  */
17625
17951
  rightToLeft?: boolean;
17952
+ /**
17953
+ * Sets or gets whether the edit dialog is displayed in readonly mode. In that mode it shows only the task details, but the editing is disabled. However, if comments are enabled, you will be able to add comments in the dialog.
17954
+ * Default value: false
17955
+ */
17956
+ readonly?: boolean;
17626
17957
  /**
17627
17958
  * Describes the swimlanes in the kanban board. Sub-columns are not applicable when swimlanes are present.
17628
17959
  * Default value:
@@ -17648,6 +17979,11 @@ export interface KanbanProperties {
17648
17979
  * Default value: false
17649
17980
  */
17650
17981
  taskActions?: boolean;
17982
+ /**
17983
+ * Represents a callback function which is called when the task actions menu is created. The task actions element is passed as parameter and allows you to customize the menu. Example: (list) => { list.innerHTML = 'Custom Item'; list.onclick = () => { alert('clicked'); }}
17984
+ * Default value: null
17985
+ */
17986
+ taskActionsRendered?: any;
17651
17987
  /**
17652
17988
  * Toggles the visibility of the task comments icon.
17653
17989
  * Default value: false
@@ -17907,7 +18243,14 @@ export interface Kanban extends BaseElement, KanbanProperties {
17907
18243
  * @param event. The custom event. */
17908
18244
  onSort?: ((this: any, ev: Event) => any) | ((this: any, ev: CustomEvent<any>) => any) | null;
17909
18245
  /**
17910
- * This event is triggered when a new task is added.
18246
+ * This event is triggered before a new task is added. You can use the event.detail.value and event.detail.id to customize the new Task before adding it to the Kanban. Example: kanban.onTaskBeforeAdd = (event) => { const data = event.detail.value; const id = event.detail.id; event.detail.id = 'BG12';}
18247
+ * @param event. The custom event. Custom data event was created with: ev.detail(value, id)
18248
+ * value - The task data that is added to the Kanban.
18249
+ * id - The task data id.
18250
+ */
18251
+ onTaskBeforeAdd?: ((this: any, ev: Event) => any) | ((this: any, ev: CustomEvent<any>) => any) | null;
18252
+ /**
18253
+ * This event is triggered when a new task is added. Example: kanban.onTaskAdd = (event) => { const data = event.detail.value; const id = event.detail.id; }
17911
18254
  * @param event. The custom event. Custom data event was created with: ev.detail(value, id)
17912
18255
  * value - The task data that is added to the Kanban.
17913
18256
  * id - The task data id.
@@ -17943,15 +18286,15 @@ export interface Kanban extends BaseElement, KanbanProperties {
17943
18286
  */
17944
18287
  onTaskDoubleClick?: ((this: any, ev: Event) => any) | ((this: any, ev: CustomEvent<any>) => any) | null;
17945
18288
  /**
17946
- * Adds filtering
17947
- * @param {string[]} filters. Filter information
17948
- * @param {string} operator?. Logical operator between the filters of different fields
18289
+ * Adds filtering. Example: const filterGroup = new Smart.FilterGroup(); const filterObject = filterGroup.createFilter('string', 'Italy', 'contains'); filterGroup.addFilter('and', filterObject); kanban.addFilter([['Country', filterGroup]]);
18290
+ * @param {any} filters. Filter information. Example: kanban.addFilter([['Country', filterGroup]]);. Each array item is a sub array with two items - 'dataField' and 'filterGroup' object. The 'dataField' is any valid data field from the data source bound to the Kanban like 'dueDate', 'startDate' or custom fields like 'Country'. Filter conditions which you can use in the expressions: '=', 'EQUAL','&lt;&gt;', 'NOT_EQUAL', '!=', '&lt;', 'LESS_THAN','&gt;', 'GREATER_THAN', '&lt;=', 'LESS_THAN_OR_EQUAL', '&gt;=', 'GREATER_THAN_OR_EQUAL','starts with', 'STARTS_WITH','ends with', 'ENDS_WITH', '', 'EMPTY', 'CONTAINS','DOES_NOT_CONTAIN', 'NULL','NOT_NULL'
18291
+ * @param {string} operator?. Logical operator between the filters of different fields. Possible values are: 'and', 'or'.
17949
18292
  */
17950
- addFilter(filters: string[], operator?: string): void;
18293
+ addFilter(filters: any, operator?: string): void;
17951
18294
  /**
17952
- * Adds sorting
18295
+ * Adds sorting. Example: kanban.addSort(['Country'], 'ascending');
17953
18296
  * @param {[] | string} dataFields. The data field(s) to sort by
17954
- * @param {[] | string} orderBy. The sort direction(s) to sort the data field(s) by
18297
+ * @param {[] | string} orderBy. The sort direction(s) to sort the data field(s) by. Possible values are: 'ascending' and 'descending'.
17955
18298
  */
17956
18299
  addSort(dataFields: [] | string, orderBy: [] | string): void;
17957
18300
  /**
@@ -18224,21 +18567,6 @@ export interface KanbanDataSource {
18224
18567
  * Default value: null
18225
18568
  */
18226
18569
  dueDate?: Date;
18227
- /**
18228
- * Callback function which can be used for customizing the tasks rendering. The Kanban calls it with 2 arguments - task html element and task data.
18229
- * Default value: null
18230
- */
18231
- onTaskRender?: any;
18232
- /**
18233
- * Callback function which can be used for customizing the column header rendering. The Kanban calls it with 3 arguments - column header html element and column data and column data field.
18234
- * Default value: null
18235
- */
18236
- onColumnHeaderRender?: any;
18237
- /**
18238
- * Callback function which can be used for customizing the column footer rendering. The Kanban calls it with 3 arguments - column header html element and column data and column data field.
18239
- * Default value: null
18240
- */
18241
- onColumnFooterRender?: any;
18242
18570
  /**
18243
18571
  * The task's priority.
18244
18572
  * Default value: "normal"
@@ -21642,12 +21970,14 @@ export interface NumberInput extends BaseElement, NumberInputProperties {
21642
21970
  * Returns the value in the desired format.
21643
21971
  * @param {string | number} value. The value to be formatted by the method.
21644
21972
  * @param {any} format?. The object that contains the formatting properties. The argument should contain Intl.NumberFormat valid properties. For example, { style: 'currency', currency: 'EUR' }
21973
+ * @returns {string}
21645
21974
  */
21646
- getFormattedValue(value: string | number, format?: any): void;
21975
+ getFormattedValue(value: string | number, format?: any): string;
21647
21976
  /**
21648
21977
  * Returns the number of the input.
21978
+ * @returns {number}
21649
21979
  */
21650
- getValue(): void;
21980
+ getValue(): number;
21651
21981
  /**
21652
21982
  * Selects the text inside the input or if it is <b>readonly</b> then the element is focused.
21653
21983
  */
@@ -24395,6 +24725,11 @@ export interface SchedulerProperties {
24395
24725
  * Default value: 30
24396
24726
  */
24397
24727
  autoScrollStep?: number;
24728
+ /**
24729
+ * Determines whether the all day cells in Day and Week views automatically change their height depending on the events count in these cells.
24730
+ * Default value: false
24731
+ */
24732
+ autoHeightAllDayCells?: boolean;
24398
24733
  /**
24399
24734
  * Determines the color scheme for the event background selector in the event window editor.
24400
24735
  * Default value: #D50000,#E67C73,#F4511E,#F6BF26,#33B679,#0B8043,#039BE5,#3F51B5,#7986CB,#8E24AA,#616161,
@@ -24817,7 +25152,7 @@ export interface SchedulerProperties {
24817
25152
  timeRulerTicks?: boolean;
24818
25153
  /**
24819
25154
  * Determines the timeZone for the element. By default if the local time zone is used if the property is not set.
24820
- * Default value:
25155
+ * Default value: Local
24821
25156
  */
24822
25157
  timeZone?: SchedulerTimeZone | string;
24823
25158
  /**
@@ -24860,6 +25195,11 @@ export interface SchedulerProperties {
24860
25195
  * Default value: menu
24861
25196
  */
24862
25197
  viewSelectorType?: SchedulerViewSelectorType | string;
25198
+ /**
25199
+ * Determines the Start Date rule. The Week and TimelineWeek views start by default from the current date taking into account the firstDayOfWeek property. When this property is set to 'dateCurrent', these views will start from the value of the 'dateCurrent'.
25200
+ * Default value: firstDayOfWeek
25201
+ */
25202
+ viewStartDay?: SchedulerViewStartDay | string;
24863
25203
  /**
24864
25204
  * Determines the format of the week days inside the element.
24865
25205
  * Default value: short
@@ -25167,6 +25507,16 @@ export interface Scheduler extends BaseElement, SchedulerProperties {
25167
25507
  * @param {any} eventObj. An object describing a Scheduler event that is not already present in the element.
25168
25508
  */
25169
25509
  addEvent(eventObj: any): void;
25510
+ /**
25511
+ * Adds a new view. Example: scheduler.addView('week', 'My View', 'myView', false, false, 10); scheduler.setView('myView');
25512
+ * @param {string} type. The view type.
25513
+ * @param {string} label. The view's label displayed in the header.
25514
+ * @param {string} value. The view's value used to identify the view.
25515
+ * @param {boolean} hideWeekend. Determines whether to hide the weekend.
25516
+ * @param {boolean} hideNonworkingWeekdays. Determines whether to hide the non working days.
25517
+ * @param {number} additionalDays. Determines whether to add additional days to the view.
25518
+ */
25519
+ addView(type: string, label: string, value: string, hideWeekend: boolean, hideNonworkingWeekdays: boolean, additionalDays: number): void;
25170
25520
  /**
25171
25521
  * Starts an update operation. This is appropriate when calling multiple methods or set multiple properties at once.
25172
25522
  */
@@ -25184,6 +25534,11 @@ export interface Scheduler extends BaseElement, SchedulerProperties {
25184
25534
  * Ends the update operation. This method will resume the rendering and will refresh the element.
25185
25535
  */
25186
25536
  endUpdate(): void;
25537
+ /**
25538
+ * Returns an array of the start and end view dates.
25539
+ * @returns {Date[]}
25540
+ */
25541
+ getViewDates(): Date[];
25187
25542
  /**
25188
25543
  * Refereshes the Scheduler by recalculating the Scrollbars.
25189
25544
  * @param {boolean} fullRefresh?. If set the Scheduler will be re-rendered completely.
@@ -25238,6 +25593,11 @@ export interface Scheduler extends BaseElement, SchedulerProperties {
25238
25593
  * @param {any[]} state?. An Array containing a valid structure of Scheduler events.
25239
25594
  */
25240
25595
  saveState(state?: any[]): void;
25596
+ /**
25597
+ * Sets the Scheduler's view. Example: scheduler.addView('week', 'My View', 'myView', false, false, 10); scheduler.setView('myView');
25598
+ * @param {string} view?. The view's value. For example: 'day'.
25599
+ */
25600
+ setView(view?: string): void;
25241
25601
  /**
25242
25602
  * Checks whether the Scheduler contains the event.
25243
25603
  * @param {any} eventObj. A Scheduler event object.
@@ -25673,17 +26033,12 @@ export declare type SchedulerTimelineDayScale = 'hour' | 'halfHour' | 'quarterHo
25673
26033
  export declare type SchedulerTimeZone = 'Local' | 'Dateline Standard Time' | 'UTC-11' | 'Hawaiteratoran Standard Time' | 'Alaskan Standard Time' | 'Pacific Standard Time (Mexico)' | 'Pacific Standard Time' | 'US Mountain Standard Time' | 'Mountain Standard Time (Mexico)' | 'Mountain Standard Time' | 'Central Standard Time' | 'Central America Standard Time' | 'Canada Central Standard Time' | 'Central Standard Time (Mexico)' | 'SA Pacific Standard Time' | 'Eastern Standard Time' | 'US Eastern Standard Time' | 'Venezuela Standard Time' | 'Atlantic Standard Time' | 'Paraguay Standard Time' | 'Central Brazilian Standard Time' | 'Pacific SA Standard Time' | 'SA Western Standard Time' | 'Newfoundland Standard Time' | 'SA Eastern Standard Time' | 'Argentina Standard Time' | 'E. South America Standard Time' | 'Bahia Standard Time' | 'Montevideo Standard Time' | 'Greenland Standard Time' | 'UTC-02' | 'Mid-Atlantic Standard Time' | 'Azores Standard Time' | 'Cape Verde Standard Time' | 'Morocco Standard Time' | 'UTC' | 'GMT Standard Time' | 'Greenwich Standard Time' | 'Central European Standard Time' | 'Namibia Standard Time' | 'W. Central Africa Standard Time' | 'W. Europe Standard Time' | 'Central Europe Standard Time' | 'Romance Standard Time' | 'FLE Standard Time' | 'South Africa Standard Time' | 'Turkey Standard Time' | 'GTB Standard Time' | 'Libya Standard Time' | 'E. Europe Standard Time' | 'Jordan Standard Time' | 'Middle East Standard Time' | 'Egypt Standard Time' | 'Syria Standard Time' | 'Israel Standard Time' | 'Arab Standard Time' | 'E. Africa Standard Time' | 'Arabic Standard Time' | 'Kaliningrad Standard Time' | 'Iran Standard Time' | 'Mauritius Standard Time' | 'Georgian Standard Time' | 'Caucasus Standard Time' | 'Arabian Standard Time' | 'Azerbaijan Standard Time' | 'Russian Standard Time' | 'Afghanistan Standard Time' | 'Pakistan Standard Time' | 'West Asia Standard Time' | 'India Standard Time' | 'Sri Lanka Standard Time' | 'Nepal Standard Time' | 'Central Asia Standard Time' | 'Bangladesh Standard Time' | 'Ekaterinburg Standard Time' | 'Myanmar Standard Time' | 'SE Asia Standard Time' | 'N. Central Asia Standard Time' | 'Ulaanbaatar Standard Time' | 'China Standard Time' | 'Singapore Standard Time' | 'North Asia Standard Time' | 'Taipei Standard Time' | 'W. Australia Standard Time' | 'Korea Standard Time' | 'North Asia East Standard Time' | 'Tokyo Standard Time' | 'AUS Central Standard Time' | 'Cen. Australia Standard Time' | 'West Pacific Standard Time' | 'Tasmania Standard Time' | 'E. Australia Standard Time' | 'AUS Eastern Standard Time' | 'Yakutsk Standard Time' | 'Vladivostok Standard Time' | 'Central Pacific Standard Time' | 'Magadan Standard Time' | 'Kamchatka Standard Time' | 'Fiji Standard Time' | 'New Zealand Standard Time' | 'UTC+12' | 'Tonga Standard Time' | 'Samoa Standard Time';
25674
26034
  /**Indicates the current Scheduler viewType. Custom views must contain a valid <b>type</b> property that corresponds to one of the view types. This property should not be set. */
25675
26035
  export declare type SchedulerViewType = 'day' | 'week' | 'month' | 'agenda' | 'timelineDay' | 'timelineWeek' | 'timelineMonth';
25676
- /**Determines the viewing date range of the timeline. The property should be set to an array of strings or view objects. When you set it to a string, you should use any of the following: 'day', 'week', 'month', 'agenda', 'timelineDay', 'timelineWeek', 'timelineMonth'. Custom views can be defined as objects instead of strings. The view object should contain the following properties: <b>label</b> - the label for the view.
25677
- <b>value</b> - the value for the view. The value is the unique identifier for the view.
25678
- <b>type</b> - the type of view. The type should be one of the default allowed values for a view.
25679
- <b>hideWeekend</b> - an Optional property that allows to hide the weekend only for this specific view.
25680
- <b>hideNonworkingWeekdays</b> - an Optional property that allows to hide the nonwrking weekdays for this specific view.
25681
- <b>shortcutKey</b> - an Optional property that allows to set a custom shortcut key for the view.
25682
- <b>hideHours</b> - an Optional property applicable only to <b>timelineWeek</b> view that allows to hide the hour cells and only show the day cells.
25683
- */
25684
- export declare type SchedulerViews = 'day' | 'week' | 'month' | 'agenda' | 'timelineDay' | 'timelineWeek' | 'timelineMonth';
26036
+
26037
+ export declare type SchedulerViews = SchedulerViewType[] | object[] | string[];
25685
26038
  /**Determines type of the view selector located in the header of the element. */
25686
26039
  export declare type SchedulerViewSelectorType = 'auto' | 'tabs' | 'menu';
26040
+ /**Determines the Start Date rule. The Week and TimelineWeek views start by default from the current date taking into account the firstDayOfWeek property. When this property is set to 'dateCurrent', these views will start from the value of the 'dateCurrent'. */
26041
+ export declare type SchedulerViewStartDay = 'firstDayOfWeek' | 'dateCurrent';
25687
26042
  /**Determines the format of the week days inside the element. */
25688
26043
  export declare type WeekDayFormat = 'short' | 'long' | 'narrow';
25689
26044
  export interface ScrollBarProperties {
@@ -27288,6 +27643,16 @@ export interface TableProperties {
27288
27643
  * Default value: null
27289
27644
  */
27290
27645
  onInit?: { (): void };
27646
+ /**
27647
+ * A callback function executed after the Table is being initialized.
27648
+ * Default value: null
27649
+ */
27650
+ onLoad?: { (): void };
27651
+ /**
27652
+ * A callback function executed when the Table's update is finished in the endUpdate method.
27653
+ * Default value: null
27654
+ */
27655
+ onUpdateComplete?: { (): void };
27291
27656
  /**
27292
27657
  * Sets or gets the page size (when paging is enabled).
27293
27658
  * Default value: 10
@@ -27499,7 +27864,7 @@ export interface Table extends BaseElement, TableProperties {
27499
27864
  /**
27500
27865
  * Adds a filter to a specific column.
27501
27866
  * @param {string} dataField. The column's data field.
27502
- * @param {any} filter. FilterGroup object.
27867
+ * @param {any} filter. FilterGroup object or a Filter expression. Filter expression like: 'startsWith B'. Example 2: ['contains Andrew or contains Nancy'], Example 3: ['quantity', '&lt;= 3 and &gt;= 8']. Filter conditions which you can use in the expressions: '=', 'EQUAL','&lt;&gt;', 'NOT_EQUAL', '!=', '&lt;', 'LESS_THAN','&gt;', 'GREATER_THAN', '&lt;=', 'LESS_THAN_OR_EQUAL', '&gt;=', 'GREATER_THAN_OR_EQUAL','starts with', 'STARTS_WITH','ends with', 'ENDS_WITH', '', 'EMPTY', 'CONTAINS','DOES_NOT_CONTAIN', 'NULL','NOT_NULL'
27503
27868
  */
27504
27869
  addFilter(dataField: string, filter: any): void;
27505
27870
  /**
@@ -29973,6 +30338,11 @@ export interface TreeProperties {
29973
30338
  * Default value: false
29974
30339
  */
29975
30340
  filterable?: boolean;
30341
+ /**
30342
+ * Applies a filter only after the 'Enter' key is pressed.
30343
+ * Default value: false
30344
+ */
30345
+ filterOnEnter?: boolean;
29976
30346
  /**
29977
30347
  * Sets custom text for placeholder in the filter input.
29978
30348
  * Default value: ""