From a76e8c994e5cf20fcf50763e1a4f9045538fa8af Mon Sep 17 00:00:00 2001 From: OpenUI5 Bot Date: Wed, 30 Sep 2026 10:08:22 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75632=20[openui5]?= =?UTF-8?q?=20Update=20the=20definition=20files=20for=20OpenUI5=201.153=20?= =?UTF-8?q?by=20@openui5bot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: sapui5 --- types/openui5/openui5-tests.ts | 2 + types/openui5/package.json | 2 +- types/openui5/sap.f.d.ts | 2 +- types/openui5/sap.m.d.ts | 293 +- types/openui5/sap.tnt.d.ts | 2 +- types/openui5/sap.ui.codeeditor.d.ts | 2 +- types/openui5/sap.ui.commons.d.ts | 2 +- types/openui5/sap.ui.core.d.ts | 342 +- types/openui5/sap.ui.dt.d.ts | 2 +- types/openui5/sap.ui.fl.d.ts | 2 +- types/openui5/sap.ui.integration.d.ts | 2 +- types/openui5/sap.ui.layout.d.ts | 2 +- types/openui5/sap.ui.mdc.d.ts | 5279 +++++++++++++++--------- types/openui5/sap.ui.rta.d.ts | 10 +- types/openui5/sap.ui.suite.d.ts | 2 +- types/openui5/sap.ui.support.d.ts | 2 +- types/openui5/sap.ui.table.d.ts | 65 +- types/openui5/sap.ui.testrecorder.d.ts | 2 +- types/openui5/sap.ui.unified.d.ts | 2 +- types/openui5/sap.ui.ux3.d.ts | 2 +- types/openui5/sap.uxap.d.ts | 2 +- 21 files changed, 3863 insertions(+), 2158 deletions(-) diff --git a/types/openui5/openui5-tests.ts b/types/openui5/openui5-tests.ts index 1233e7c494ab08..712dd47e9c5eb6 100644 --- a/types/openui5/openui5-tests.ts +++ b/types/openui5/openui5-tests.ts @@ -306,3 +306,5 @@ const p13nEngine = new Engine(); // version 1.151.0 added - tests are not required as the type definitions are generated and the generator is sufficiently tested // version 1.152.0 added - tests are not required as the type definitions are generated and the generator is sufficiently tested + +// version 1.153.0 added - tests are not required as the type definitions are generated and the generator is sufficiently tested diff --git a/types/openui5/package.json b/types/openui5/package.json index 4f2663252447e8..991974f9a8cb39 100644 --- a/types/openui5/package.json +++ b/types/openui5/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@types/openui5", - "version": "1.152.9999", + "version": "1.153.9999", "nonNpm": true, "nonNpmDescription": "openui5", "projects": [ diff --git a/types/openui5/sap.f.d.ts b/types/openui5/sap.f.d.ts index 1bfc8442cd05c1..56e7635fce1e01 100644 --- a/types/openui5/sap.f.d.ts +++ b/types/openui5/sap.f.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/tnt/library" { export interface IToolHeader { diff --git a/types/openui5/sap.m.d.ts b/types/openui5/sap.m.d.ts index 0447b0f81f2e5d..9b9475e68ff150 100644 --- a/types/openui5/sap.m.d.ts +++ b/types/openui5/sap.m.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/f/library" { export interface IShellBar { @@ -348,13 +348,11 @@ declare module "sap/m/p13n/Engine" { controller: Record; }; - export type State = { - /** - * A map of arbitrary keys that contain a controller instance as value. The key must be unique and needs - * to be provided for later access when using `Engine` functionality specific for one controller type. - */ - controller: Record; - }; + /** + * A flat map whose keys are the controller keys registered with the `Engine` (see {@link sap.m.p13n.EngineRegistrationConfig}) + * and whose values are arrays of state items understood by the corresponding controller. + */ + export type State = Record; } declare module "sap/m/library" { @@ -1762,6 +1760,24 @@ declare module "sap/m/library" { readonly?: boolean | null; }; + /** + * Defines the alignment of the `description` within the description wrapper of the {@link sap.m.Input } + * control. + * + * This enum is part of the 'sap/m/library' module export and must be accessed by the property 'InputDescriptionAlign'. + * + * @since 1.153 + */ + export enum InputDescriptionAlign { + /** + * The description is aligned to the far end of the input wrapper container, away from the input field. + */ + End = "End", + /** + * The description is aligned next to the input field. + */ + Start = "Start", + } /** * Defines the available content sizes for the `InputListItem` control. * @@ -19657,6 +19673,33 @@ declare module "sap/m/DatePicker" { * app level), the {@link sap.ui.core.format.DateFormat} makes an attempt to parse it based on the locale * settings. For more information, see the respective documentation in the API Reference. * + * Relative date input: + * + * Besides a formatted date string, the input field also accepts locale-aware **relative date values** sourced + * from {@link https://unicode.org/reports/tr35/tr35-dates.html#Calendar_Fields CLDR calendar fields}. These + * allow the user to type natural-language expressions like `today`, `yesterday`, or `next week` instead + * of an explicit date. + * + * The accepted values depend on the current locale. In English (en), the following values are recognized + * (case-insensitive): + * - **Day:** `today`, `yesterday`, `tomorrow`, `in N days`, `N days ago` + * - **Week:** `this week`, `last week`, `next week`, `in N weeks`, `N weeks ago` + * - **Month:** `this month`, `last month`, `next month`, `in N months`, `N months ago` + * - **Year:** `this year`, `last year`, `next year`, `in N years`, `N years ago` + * + * **Note:** The relative expressions are locale-specific. In other locales, the equivalent CLDR terms are + * used (for example, `heute`, `gestern`, `morgen` in German). Week-, month-, and year-based expressions + * resolve to a date offset from today (for example, `next week` = today + 7 days). To retrieve the full + * list of accepted relative expressions for a given locale programmatically, use {@link sap.ui.core.LocaleData#getRelativePatterns LocaleData#getRelativePatterns}: + * + * ```javascript + * + * // LocaleData imported from sap/ui/core/LocaleData, Locale from sap/ui/core/Locale + * LocaleData.getInstance(new Locale("en")) + * .getRelativePatterns(["day", "week", "month", "year"]); + * ``` + * + * * Responsive behavior: * * The `DatePicker` is smaller in compact mode and provides a touch-friendly size in cozy mode. @@ -20831,6 +20874,9 @@ declare module "sap/m/DateRangeSelection" { * app level), the {@link sap.ui.core.format.DateFormat} makes an attempt to parse it based on the locale * settings. For more information, see the respective documentation in the API Reference. * + * **Note:** Unlike `DatePicker`, relative date input (for example, `today`, `next week`) is not supported + * in `DateRangeSelection`. Both dates in the range must be entered as explicit formatted values. + * * Responsive behavior: * * The `DateRangeSelection` is fully responsive. It is smaller in compact mode and provides a touch-friendly @@ -43376,7 +43422,8 @@ declare module "sap/m/ImageContent" { /** * Gets current value of property {@link #getDescription description}. * - * Description of image. This text is used to provide ScreenReader information. + * Description of image. This text is used to provide ScreenReader information when the control is interactive + * (has a press handler). * * * @returns Value of property `description` @@ -43392,22 +43439,6 @@ declare module "sap/m/ImageContent" { * @returns Value of property `src` */ getSrc(): URI; - /** - * Sets a new value for property {@link #getDescription description}. - * - * Description of image. This text is used to provide ScreenReader information. - * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. - * - * - * @returns Reference to `this` in order to allow method chaining - */ - setDescription( - /** - * New value for property `description` - */ - sDescription?: string - ): this; /** * Sets a new value for property {@link #getSrc src}. * @@ -43437,7 +43468,8 @@ declare module "sap/m/ImageContent" { src?: URI | PropertyBindingInfo | `{${string}}`; /** - * Description of image. This text is used to provide ScreenReader information. + * Description of image. This text is used to provide ScreenReader information when the control is interactive + * (has a press handler). */ description?: string | PropertyBindingInfo; @@ -43476,7 +43508,12 @@ declare module "sap/m/Input" { import Item from "sap/ui/core/Item"; - import { ITableItem, InputTextFormatMode, InputType } from "sap/m/library"; + import { + ITableItem, + InputDescriptionAlign, + InputTextFormatMode, + InputType, + } from "sap/m/library"; import { AggregationBindingInfo, @@ -44209,6 +44246,25 @@ declare module "sap/m/Input" { * @returns Value of property `description` */ getDescription(): string; + /** + * Gets current value of property {@link #getDescriptionAlign descriptionAlign}. + * + * Defines the alignment of the `description` within the description wrapper container. + * + * This property only takes effect if the `description` property is set. When set to `Start`, the description + * is displayed next to the input field. When set to `End`, the description is aligned to the far end of + * the input wrapper container, away from the input field. + * + * **Note:** The `descriptionAlign` property should be used mainly when the input is rendered in a table + * cell. + * + * Default value is `Start`. + * + * @since 1.153 + * + * @returns Value of property `descriptionAlign` + */ + getDescriptionAlign(): InputDescriptionAlign; /** * Gets the inner input DOM value. * @@ -44459,8 +44515,10 @@ declare module "sap/m/Input" { * * The suggestionColumns and suggestionRows are for tabular input suggestions. This aggregation allows for * binding the table cells. The items of this aggregation are to be bound directly or to set in the suggest - * event method. **Note:** If `suggestionItems` & `suggestionRows` are set in parallel, the last aggeragtion - * to come would overwrite the previous ones. + * event method. **Note:** Applications should only use `sap.m.Label` or `sap.m.Text` controls as rows content + * in order to preserve the intended functionality. Usage of other controls would require applications to + * use `setRowResultFunction` to provide a custom text extractor. **Note:** If `suggestionItems` & `suggestionRows` + * are set in parallel, the last aggeragtion to come would overwrite the previous ones. * * @since 1.21.1 */ @@ -44918,6 +44976,34 @@ declare module "sap/m/Input" { */ sDescription?: string ): this; + /** + * Sets a new value for property {@link #getDescriptionAlign descriptionAlign}. + * + * Defines the alignment of the `description` within the description wrapper container. + * + * This property only takes effect if the `description` property is set. When set to `Start`, the description + * is displayed next to the input field. When set to `End`, the description is aligned to the far end of + * the input wrapper container, away from the input field. + * + * **Note:** The `descriptionAlign` property should be used mainly when the input is rendered in a table + * cell. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `Start`. + * + * @since 1.153 + * + * @returns Reference to `this` in order to allow method chaining + */ + setDescriptionAlign( + /** + * New value for property `descriptionAlign` + */ + sDescriptionAlign?: + | InputDescriptionAlign + | keyof typeof InputDescriptionAlign + ): this; /** * Sets the inner input DOM value. * @@ -45628,6 +45714,23 @@ declare module "sap/m/Input" { */ description?: string | PropertyBindingInfo; + /** + * Defines the alignment of the `description` within the description wrapper container. + * + * This property only takes effect if the `description` property is set. When set to `Start`, the description + * is displayed next to the input field. When set to `End`, the description is aligned to the far end of + * the input wrapper container, away from the input field. + * + * **Note:** The `descriptionAlign` property should be used mainly when the input is rendered in a table + * cell. + * + * @since 1.153 + */ + descriptionAlign?: + | (InputDescriptionAlign | keyof typeof InputDescriptionAlign) + | PropertyBindingInfo + | `{${string}}`; + /** * This property only takes effect if the description property is set. It controls the distribution of space * between the input field and the description text. The default value is 50% leaving the other 50% for @@ -45754,8 +45857,10 @@ declare module "sap/m/Input" { /** * The suggestionColumns and suggestionRows are for tabular input suggestions. This aggregation allows for * binding the table cells. The items of this aggregation are to be bound directly or to set in the suggest - * event method. **Note:** If `suggestionItems` & `suggestionRows` are set in parallel, the last aggeragtion - * to come would overwrite the previous ones. + * event method. **Note:** Applications should only use `sap.m.Label` or `sap.m.Text` controls as rows content + * in order to preserve the intended functionality. Usage of other controls would require applications to + * use `setRowResultFunction` to provide a custom text extractor. **Note:** If `suggestionItems` & `suggestionRows` + * are set in parallel, the last aggeragtion to come would overwrite the previous ones. * * @since 1.21.1 */ @@ -67498,7 +67603,16 @@ declare module "sap/m/NotificationList" { /** * The NotificationList control provides a container for `NotificationListGroup` and `NotificationListItem`. * + * **Note:** `sap.m.NotificationList` will no longer be aligned with future design updates. Use the UI5 + * Web Components' notifications instead, which are UXC-compliant and are the successors going forward. + * They can be integrated seamlessly using ui5-tooling-modules. See {@link https://ui5.sap.com/#/topic/1c80793df5bb424091954697fc0b2828 Using Web Components } + * and the {@link https://github.com/SAP-samples/uxc-integration UXC integration sample}. + * * @since 1.90 + * @deprecated As of version 1.153. Will no longer be aligned with future design updates. Replaced by the + * UI5 Web Components' notifications, which are UXC-compliant. The UI5 Web Components can be integrated + * seamlessly using ui5-tooling-modules. See {@link topic:1c80793df5bb424091954697fc0b2828 Using Web Components } + * and the {@link https://github.com/SAP-samples/uxc-integration UXC integration sample}. */ export default class NotificationList extends ListBase { /** @@ -67572,6 +67686,11 @@ declare module "sap/m/NotificationList" { } /** * Describes the settings that can be provided to the NotificationList constructor. + * + * @deprecated As of version 1.153. Will no longer be aligned with future design updates. Replaced by the + * UI5 Web Components' notifications, which are UXC-compliant. The UI5 Web Components can be integrated + * seamlessly using ui5-tooling-modules. See {@link topic:1c80793df5bb424091954697fc0b2828 Using Web Components } + * and the {@link https://github.com/SAP-samples/uxc-integration UXC integration sample}. */ export interface $NotificationListSettings extends $ListBaseSettings {} } @@ -67615,7 +67734,16 @@ declare module "sap/m/NotificationListBase" { * Note: There are several properties, that are inherited from `ListItemBase` and have no visual representation * in the Notifications - `counter`, `highlight`, `highlightText`, `navigated`, `selected`, `type` * + * **Note:** `sap.m.NotificationListBase` and its subclasses will no longer be aligned with future design + * updates. Use the UI5 Web Components' notifications instead, which are UXC-compliant and are the successors + * going forward. They can be integrated seamlessly using ui5-tooling-modules. See {@link https://ui5.sap.com/#/topic/1c80793df5bb424091954697fc0b2828 Using Web Components } + * and the {@link https://github.com/SAP-samples/uxc-integration UXC integration sample}. + * * @since 1.38 + * @deprecated As of version 1.153. Will no longer be aligned with future design updates. Replaced by the + * UI5 Web Components' notifications, which are UXC-compliant. The UI5 Web Components can be integrated + * seamlessly using ui5-tooling-modules. See {@link topic:1c80793df5bb424091954697fc0b2828 Using Web Components } + * and the {@link https://github.com/SAP-samples/uxc-integration UXC integration sample}. */ export default abstract class NotificationListBase extends ListItemBase { /** @@ -68053,6 +68181,11 @@ declare module "sap/m/NotificationListBase" { } /** * Describes the settings that can be provided to the NotificationListBase constructor. + * + * @deprecated As of version 1.153. Will no longer be aligned with future design updates. Replaced by the + * UI5 Web Components' notifications, which are UXC-compliant. The UI5 Web Components can be integrated + * seamlessly using ui5-tooling-modules. See {@link topic:1c80793df5bb424091954697fc0b2828 Using Web Components } + * and the {@link https://github.com/SAP-samples/uxc-integration UXC integration sample}. */ export interface $NotificationListBaseSettings extends $ListItemBaseSettings { /** @@ -68154,7 +68287,16 @@ declare module "sap/m/NotificationListGroup" { * displayed. * - `showEmptyGroup` - determines if the header/footer of an empty group is displayed. * + * **Note:** `sap.m.NotificationListGroup` will no longer be aligned with future design updates. Use the + * UI5 Web Components' notifications instead, which are UXC-compliant and are the successors going forward. + * They can be integrated seamlessly using ui5-tooling-modules. See {@link https://ui5.sap.com/#/topic/1c80793df5bb424091954697fc0b2828 Using Web Components } + * and the {@link https://github.com/SAP-samples/uxc-integration UXC integration sample}. + * * @since 1.34 + * @deprecated As of version 1.153. Will no longer be aligned with future design updates. Replaced by the + * UI5 Web Components' notifications, which are UXC-compliant. The UI5 Web Components can be integrated + * seamlessly using ui5-tooling-modules. See {@link topic:1c80793df5bb424091954697fc0b2828 Using Web Components } + * and the {@link https://github.com/SAP-samples/uxc-integration UXC integration sample}. */ export default class NotificationListGroup extends NotificationListBase { /** @@ -68623,6 +68765,11 @@ declare module "sap/m/NotificationListGroup" { } /** * Describes the settings that can be provided to the NotificationListGroup constructor. + * + * @deprecated As of version 1.153. Will no longer be aligned with future design updates. Replaced by the + * UI5 Web Components' notifications, which are UXC-compliant. The UI5 Web Components can be integrated + * seamlessly using ui5-tooling-modules. See {@link topic:1c80793df5bb424091954697fc0b2828 Using Web Components } + * and the {@link https://github.com/SAP-samples/uxc-integration UXC integration sample}. */ export interface $NotificationListGroupSettings extends $NotificationListBaseSettings { /** @@ -68739,7 +68886,16 @@ declare module "sap/m/NotificationListItem" { * on mobile devices). For each item you can set some additional status information about the item * processing by adding a {@link sap.m.MessageStrip} to the `processingMessage` aggregation. * + * **Note:** `sap.m.NotificationListItem` will no longer be aligned with future design updates. Use the + * UI5 Web Components' notifications instead, which are UXC-compliant and are the successors going forward. + * They can be integrated seamlessly using ui5-tooling-modules. See {@link https://ui5.sap.com/#/topic/1c80793df5bb424091954697fc0b2828 Using Web Components } + * and the {@link https://github.com/SAP-samples/uxc-integration UXC integration sample}. + * * @since 1.34 + * @deprecated As of version 1.153. Will no longer be aligned with future design updates. Replaced by the + * UI5 Web Components' notifications, which are UXC-compliant. The UI5 Web Components can be integrated + * seamlessly using ui5-tooling-modules. See {@link topic:1c80793df5bb424091954697fc0b2828 Using Web Components } + * and the {@link https://github.com/SAP-samples/uxc-integration UXC integration sample}. */ export default class NotificationListItem extends NotificationListBase { /** @@ -69065,6 +69221,11 @@ declare module "sap/m/NotificationListItem" { } /** * Describes the settings that can be provided to the NotificationListItem constructor. + * + * @deprecated As of version 1.153. Will no longer be aligned with future design updates. Replaced by the + * UI5 Web Components' notifications, which are UXC-compliant. The UI5 Web Components can be integrated + * seamlessly using ui5-tooling-modules. See {@link topic:1c80793df5bb424091954697fc0b2828 Using Web Components } + * and the {@link https://github.com/SAP-samples/uxc-integration UXC integration sample}. */ export interface $NotificationListItemSettings extends $NotificationListBaseSettings { /** @@ -106689,6 +106850,20 @@ declare module "sap/m/RadioButtonGroup" { * @returns Value of property `enabled` */ getEnabled(): boolean; + /** + * Gets current value of property {@link #getRequired required}. + * + * Indicates whether the selection of a radio button is required. + * + * A `selectedIndex` less than 0 means that no radio button is selected. + * + * Default value is `false`. + * + * @since 1.153 + * + * @returns Value of property `required` + */ + getRequired(): boolean; /** * Returns the selected radio button. * @@ -106884,6 +107059,27 @@ declare module "sap/m/RadioButtonGroup" { */ bEnabled: boolean ): this; + /** + * Sets a new value for property {@link #getRequired required}. + * + * Indicates whether the selection of a radio button is required. + * + * A `selectedIndex` less than 0 means that no radio button is selected. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `false`. + * + * @since 1.153 + * + * @returns Reference to `this` in order to allow method chaining + */ + setRequired( + /** + * New value for property `required` + */ + bRequired?: boolean + ): this; /** * Sets the selected sap.m.RadioButton using sap.m.RadioButton. * @@ -107031,6 +107227,15 @@ declare module "sap/m/RadioButtonGroup" { | PropertyBindingInfo | `{${string}}`; + /** + * Indicates whether the selection of a radio button is required. + * + * A `selectedIndex` less than 0 means that no radio button is selected. + * + * @since 1.153 + */ + required?: boolean | PropertyBindingInfo | `{${string}}`; + /** * Returns a list of the RadioButtons in a RadioButtonGroup */ @@ -113598,6 +113803,8 @@ declare module "sap/m/Select" { import Item from "sap/ui/core/Item"; + import SeparatorItem from "sap/ui/core/SeparatorItem"; + import Event from "sap/ui/base/Event"; import { @@ -113717,6 +113924,30 @@ declare module "sap/m/Select" { */ oItem: Item ): this; + /** + * Creates a `sap.ui.core.SeparatorItem` group header and adds it to the `items` aggregation, allowing the + * dropdown to display items organized in named groups (consistent with `sap.m.ComboBox` / `sap.m.MultiComboBox`). + * + * This method is also called by the framework when a data binding with a `group: true` sorter is used. + * + * @since 1.153 + * + * @returns The group header item that was added. + */ + addItemGroup( + /** + * The group data object; `oGroup.text` or `oGroup.key` is used as the header label. + */ + oGroup: object, + /** + * An optional pre-created `SeparatorItem`; if omitted, a new one is created from `oGroup`. + */ + oHeader?: SeparatorItem, + /** + * If `true`, the control is not invalidated. + */ + bSuppressInvalidate?: boolean + ): SeparatorItem; /** * Attaches event handler `fnFunction` to the {@link #event:beforeOpen beforeOpen} event of this `sap.m.Select`. * diff --git a/types/openui5/sap.tnt.d.ts b/types/openui5/sap.tnt.d.ts index fe2c2320d6f1e8..3c0427e5cf290a 100644 --- a/types/openui5/sap.tnt.d.ts +++ b/types/openui5/sap.tnt.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/tnt/library" { /** diff --git a/types/openui5/sap.ui.codeeditor.d.ts b/types/openui5/sap.ui.codeeditor.d.ts index 529bb4225494d3..20054f3949df5b 100644 --- a/types/openui5/sap.ui.codeeditor.d.ts +++ b/types/openui5/sap.ui.codeeditor.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/codeeditor/library" {} diff --git a/types/openui5/sap.ui.commons.d.ts b/types/openui5/sap.ui.commons.d.ts index 90b71bea270818..3685509596f3f8 100644 --- a/types/openui5/sap.ui.commons.d.ts +++ b/types/openui5/sap.ui.commons.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/commons/library" { import { ColorPickerMode as ColorPickerMode1 } from "sap/ui/unified/library"; diff --git a/types/openui5/sap.ui.core.d.ts b/types/openui5/sap.ui.core.d.ts index 43d4e231ea99ac..9b8979703fa28c 100644 --- a/types/openui5/sap.ui.core.d.ts +++ b/types/openui5/sap.ui.core.d.ts @@ -279,7 +279,7 @@ declare namespace sap { "sap/ui/thirdparty/qunit-2": undefined; } } -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/base/assert" { /** @@ -29696,12 +29696,12 @@ declare module "sap/ui/core/ExtensionPoint" { } declare module "sap/ui/core/format/DateFormat" { + import Locale from "sap/ui/core/Locale"; + import CalendarWeekNumbering from "sap/base/i18n/date/CalendarWeekNumbering"; import CalendarType from "sap/base/i18n/date/CalendarType"; - import Locale from "sap/ui/core/Locale"; - import UI5Date from "sap/ui/core/date/UI5Date"; /** @@ -29735,94 +29735,7 @@ declare module "sap/ui/core/format/DateFormat" { /** * Object which defines the format options */ - oFormatOptions?: { - /** - * since 1.108.0 specifies the calendar week numbering. If specified, this overwrites `oFormatOptions.firstDayOfWeek` - * and `oFormatOptions.minimalDaysInFirstWeek`. - */ - calendarWeekNumbering?: - | CalendarWeekNumbering - | keyof typeof CalendarWeekNumbering; - /** - * since 1.105.0 specifies the first day of the week starting with `0` (which is Sunday); if not defined, - * the value taken from the locale is used - */ - firstDayOfWeek?: int; - /** - * since 1.105.0 minimal days at the beginning of the year which define the first calendar week; if not - * defined, the value taken from the locale is used - */ - minimalDaysInFirstWeek?: int; - /** - * since 1.34.0 contains pattern symbols (e.g. "yMMMd" or "Hms") which will be converted into the pattern - * in the used locale, which matches the wanted symbols best. The symbols must be in canonical order, that - * is: Era (G), Year (y/Y), Quarter (q/Q), Month (M/L), Week (w), Day-Of-Week (E/e/c), Day (d), Hour (h/H/k/K/j/J), - * Minute (m), Second (s), Timezone (z/Z/v/V/O/X/x) See {@link https://unicode.org/reports/tr35/tr35-dates.html#availableFormats_appendItems Unicode Locale Data Markup Language (LDML): Elements availableFormats, appendItems}. - */ - format?: string; - /** - * a data pattern in LDML format. It is not verified whether the pattern represents only a date. - */ - pattern?: string; - /** - * can be either 'short, 'medium', 'long' or 'full'. If no pattern is given, a locale dependent default - * date pattern of that style is used from the LocaleData class. - */ - style?: string; - /** - * if true, by parsing it is checked if the value is a valid date - */ - strictParsing?: boolean; - /** - * if true, the date is formatted relatively to todays date if it is within the given day range, e.g. "today", - * "1 day ago", "in 5 days" - */ - relative?: boolean; - /** - * the day range used for relative formatting. If `oFormatOptions.relativeScale` is set to default value - * 'day', the relativeRange is by default [-6, 6], which means only the last 6 days, today and the next - * 6 days are formatted relatively. Otherwise when `oFormatOptions.relativeScale` is set to 'auto', all - * dates are formatted relatively. - */ - relativeRange?: int[]; - /** - * if 'auto' is set, new relative time format is switched on for all Date/Time Instances. The relative scale - * is chosen depending on the difference between the given date and now. - */ - relativeScale?: string; - /** - * since 1.32.10, 1.34.4 the style of the relative format. The valid values are "wide", "short", "narrow" - */ - relativeStyle?: string; - /** - * since 1.48.0 if true, the {@link sap.ui.core.format.DateFormat#format format} method expects an array - * with two dates as the first argument and formats them as interval. Further interval "Jan 10, 2008 - Jan - * 12, 2008" will be formatted as "Jan 10-12, 2008" if the 'format' option is set with necessary symbols. - * Otherwise the two given dates are formatted separately and concatenated with local dependent pattern. - */ - interval?: boolean; - /** - * Since 1.113.0, a delimiter for intervals. With a given interval delimiter a specific interval format - * is created. **Example:** If `oFormatOptions.intervalDelimiter` is set to "...", an interval would be - * given as "Jan 10, 2008...Feb 12, 2008". **Note:** If this format option is set, the locale-specific interval - * notation is overruled, for example "Jan 10 – Feb 12, 2008" becomes "Jan 10, 2008...Feb 12, 2008". - */ - intervalDelimiter?: string; - /** - * Only relevant if oFormatOptions.interval is set to 'true'. This allows to pass an array with only one - * date object to the {@link sap.ui.core.format.DateFormat#format format} method. - */ - singleIntervalValue?: boolean; - /** - * if true, the date is formatted and parsed as UTC instead of the local timezone - */ - UTC?: boolean; - /** - * The calender type which is used to format and parse the date. This value is by default either set in - * configuration or calculated based on current locale. - */ - calendarType?: CalendarType | keyof typeof CalendarType; - }, + oFormatOptions?: DateFormatOptions, /** * Locale to ask for locale specific texts/settings */ @@ -30233,6 +30146,21 @@ declare module "sap/ui/core/format/DateFormat" { bStrict?: boolean ): Date | Date[] | UI5Date | UI5Date[]; } + /** + * The format options type for date formats. + */ + export type DateFormatOptions = IntervalFormatOptions & { + /** + * A date pattern in {@link https://unicode.org/reports/tr35/tr35-dates.html#table-date-field-symbol-table LDML format}. + * It is not verified whether the pattern represents only a date. + */ + pattern?: string; + /** + * The locale-dependent formatting style for the date, used if no `pattern` is provided. + */ + style?: "short" | "medium" | "long" | "full"; + }; + /** * Interface for a timezone-specific DateFormat, which is able to format and parse a date based on a given * timezone. The timezone is used to convert the given date, and also for timezone-related pattern symbols. @@ -30303,6 +30231,136 @@ declare module "sap/ui/core/format/DateFormat" { ] | null; } + + /** + * The base format options for date formats. + */ + export type FormatOptions = { + /** + * The calendar type used to format and parse the date. By default, this value is taken from the configuration + * (see {@link module:sap/base/i18n/Formatting.setCalendarType Formatting.setCalendarType}), or - if not + * set - calculated based on the current locale, see {@link module:sap/base/i18n/Formatting.getCalendarType Formatting.getCalendarType}. + */ + calendarType?: CalendarType | keyof typeof CalendarType; + /** + * Specifies the calendar week numbering. If specified, this overwrites `firstDayOfWeek` and `minimalDaysInFirstWeek`. + * + * @since 1.108.0 + */ + calendarWeekNumbering?: + | CalendarWeekNumbering + | keyof typeof CalendarWeekNumbering; + /** + * Specifies the first day of the week starting with `0` (which is Sunday). If not defined, the value is + * taken from the locale, see {@link sap.ui.core.LocaleData.getFirstDayOfWeek LocaleData.getFirstDayOfWeek}. + * + * @since 1.105.0 + */ + firstDayOfWeek?: int; + /** + * Contains pattern symbols (for example, "yMMMd" or "Hms") that are converted into the pattern in the used + * locale which matches the wanted symbols best. The symbols must be in canonical order: Era (G), Year (y/Y), + * Quarter (q/Q), Month (M/L), Week (w), Day-Of-Week (E/e/c), Day (d), Hour (h/H/k/K/j/J), Minute (m), Second + * (s), Timezone (z/Z/v/V/O/X/x) See {@link https://unicode.org/reports/tr35/tr35-dates.html#availableFormats_appendItems Unicode Locale Data Markup Language (LDML): Elements availableFormats, appendItems}. + * + * @since 1.34.0 + */ + format?: string; + /** + * Minimal days at the beginning of the year that define the first calendar week. If not defined, the value + * is taken from the locale, see {@link sap.ui.core.LocaleData.getMinimalDaysInFirstWeek LocaleData.getMinimalDaysInFirstWeek}. + * + * @since 1.105.0 + */ + minimalDaysInFirstWeek?: int; + /** + * If `true`, the date is formatted relatively to today's date if it is within the given `relativeRange`. + * **Example:** + * - Today is the **2026-01-05** + * - `relative` is set to `true` + * - `relativeRange` is set to `[-2, 2]` + * - This means that only dates two days prior or after **2026-01-05** are formatted in the relative format + * + * - For example, date **2026-01-07** would be formatted to `"in 2 days"` for the English locale + * - Whereas, the **2026-01-08** would be formatted in the non-relative format as it is out of the `relativeRange` + */ + relative?: boolean; + /** + * The date range in which the relative formatting is applied. It depends on the `relativeScale`. For example, + * `relativeScale="day"` and `relativeRange=[-2, 2]` means only dates that are 2 **days** before or 2 **days** + * after today's date are formatted relatively. If no range given, the range is determined depending on + * the `relativeScale`. This is the list of defaults depending on the `relativeScale`: + * - `relativeScale="second"`, `relativeRange=[-60, 60]` + * - `relativeScale="minute"`, `relativeRange=[-60, 60]` + * - `relativeScale="hour"`, `relativeRange=[-24, 24]` + * - `relativeScale="day"`, `relativeRange=[-6, 6]` + * - `relativeScale="week"`, `relativeRange=[-4, 4]` + * - `relativeScale="month"`, `relativeRange=[-12, 12]` + * - `relativeScale="year"`, `relativeRange=[-10, 10]` Otherwise, when `relativeScale` is set to + * `auto`, all dates are formatted relatively. + */ + relativeRange?: int[]; + /** + * If `auto` is set, a new relative time format is switched on for all Date/Time instances. The relative + * scale is chosen depending on the difference between the given date and now. + */ + relativeScale?: + | "auto" + | "year" + | "month" + | "week" + | "day" + | "hour" + | "minute" + | "second"; + /** + * The style of the relative format. + * + * @since 1.34.4 + */ + relativeStyle?: "narrow" | "short" | "wide"; + /** + * If `true`, parsing validates that the value is a valid date. For example, the parsing of an overflowing + * value like **2026-01-32** returns `null` instead of **2026-02-01**. + */ + strictParsing?: boolean; + /** + * If `true`, the date is formatted and parsed as UTC instead of the local timezone. + */ + UTC?: boolean; + }; + + /** + * Extends the format options for a single date, time, or date and time to include interval-related settings. + */ + export type IntervalFormatOptions = FormatOptions & { + /** + * If `true`, the {@link sap.ui.core.format.DateFormat#format format} method expects an array with two dates + * as the first argument and formats them as an interval. For example, the interval "Jan 10, 2008 - Jan + * 12, 2008" is formatted as "Jan 10-12, 2008" if the `format` option is set to `"yMMMd"`. If no `format` + * is set, the two dates are formatted separately and concatenated with a locale-dependent pattern. + * + * @since 1.48.0 + */ + interval?: boolean; + /** + * A delimiter for intervals. A specific interval format is created with a given delimiter. + * **Example:** If `oFormatOptions.intervalDelimiter` is set to "...", the formatted result would be "Jan + * 10, 2008...Feb 12, 2008". **Note:** If this format option is set, the locale-specific interval notation + * is overridden. For example, "Jan 10 – Feb 12, 2008" becomes "Jan 10, 2008...Feb 12, 2008". + * + * @since 1.113.0 + */ + intervalDelimiter?: string; + /** + * Only relevant if `interval` is set to `true`. This allows you to pass an array with only one date object + * to the {@link sap.ui.core.format.DateFormat#format format} method, which is then formatted as a single + * value. For example, the value `[UI5Date.getInstance("2026-01-20")]` is formatted to `"Jan 20, 2026"` + * in the English locale. If the `pattern` format option is set to an interval pattern, the formatted result + * displays the value as an interval, but the dates of this interval are the same. + */ + singleIntervalValue?: boolean; + }; } declare module "sap/ui/core/format/DateFormatTimezoneDisplay" { @@ -30951,7 +31009,7 @@ declare module "sap/ui/core/format/NumberFormat" { currencyCode?: boolean; /** * Can be set either to 'standard' (the default value) or to 'accounting' for an accounting-specific currency - * display + * display. */ currencyContext?: | "standard" @@ -31012,18 +31070,17 @@ declare module "sap/ui/core/format/NumberFormat" { */ preserveDecimals?: boolean; /** - * Defines whether the currency code/symbol is shown in the formatted string, e.g. true: "1.00 EUR", false: - * "1.00" for locale "en" If both `showMeasure` and `showNumber` are false, an empty string is returned + * Defines whether the currency code/symbol is shown in the formatted string, for example, `1 EUR` for locale + * `"en"`. `NumberFormat.getCurrencyInstance({showMeasure: true}).format(1, "EUR"); // "1.00 EUR"` `NumberFormat.getCurrencyInstance({showMeasure: + * false}).format(1, "EUR"); // "1.00"` If both `showMeasure` and `showNumber` are false, an empty string + * is returned. */ showMeasure?: boolean; /** - * Defines whether the number is shown as part of the result string, e.g. 1 EUR for locale "en" - * ```javascript - * `NumberFormat.getCurrencyInstance({showNumber: true}).format(1, "EUR"); // "1.00 EUR"```` - * - * ```javascript - * `NumberFormat.getCurrencyInstance({showNumber: false}).format(1, "EUR"); // "EUR"```` - * If both `showMeasure` and `showNumber` are false, an empty string is returned + * Defines whether the number is shown as part of the result string, for example, `1 EUR` for locale `"en"`. + * `NumberFormat.getCurrencyInstance({showNumber: true}).format(1, "EUR"); // "1.00 EUR"` `NumberFormat.getCurrencyInstance({showNumber: + * false}).format(1, "EUR"); // "EUR"` If both `showMeasure` and `showNumber` are false, an empty string + * is returned. */ showNumber?: boolean; /** @@ -31303,6 +31360,7 @@ declare module "sap/ui/core/format/NumberFormat" { /** * Defines a set of custom units, for example: * ```javascript + * * {"electric-inductance": { * "displayName": "henry", * "unitPattern-count-one": "{0} H", @@ -31311,7 +31369,8 @@ declare module "sap/ui/core/format/NumberFormat" { * "decimals": 2, * "precision": 4 * } - * }``` + * } + * ``` */ customUnits?: Record; /** @@ -31359,29 +31418,17 @@ declare module "sap/ui/core/format/NumberFormat" { */ preserveDecimals?: boolean; /** - * Defines whether the unit of measure is shown in the formatted string, for example 1 day for locale "en" - * - * ```javascript - * NumberFormat.getUnitInstance({showMeasure: true}) - * .format(1, "duration-day"); // "1 day"``` - * - * ```javascript - * NumberFormat.getUnitInstance({showMeasure: false}) - * .format(1, "duration-day"); // "1"``` - * If both `showMeasure` and `showNumber` are set to false, an empty string is returned. + * Defines whether the unit of measure is shown in the formatted string, for example, `1 day` for locale + * `"en"`. `NumberFormat.getUnitInstance({showMeasure: true}).format(1, "duration-day"); // "1 day"` `NumberFormat.getUnitInstance({showMeasure: + * false}).format(1, "duration-day"); // "1"` If both `showMeasure` and `showNumber` are set to false, an + * empty string is returned. */ showMeasure?: boolean; /** - * Defines whether the number is shown as part of the formatted string, for example 1 day for locale "en" - * - * ```javascript - * NumberFormat.getUnitInstance({showNumber: true}) - * .format(1, "duration-day"); // "1 day"``` - * - * ```javascript - * NumberFormat.getUnitInstance({showNumber: false}) - * .format(1, "duration-day"); // "day"``` - * If both `showMeasure` and `showNumber` are false, an empty string is returned + * Defines whether the number is shown as part of the formatted string, for example, `1 day` for locale + * `"en"`. `NumberFormat.getUnitInstance({showNumber: true}).format(1, "duration-day"); // "1 day"` `NumberFormat.getUnitInstance({showNumber: + * false}).format(1, "duration-day"); // "day"` If both `showMeasure` and `showNumber` are false, an empty + * string is returned. */ showNumber?: boolean; /** @@ -68334,6 +68381,8 @@ declare module "sap/ui/model/odata/type/Currency" { declare module "sap/ui/model/odata/type/Date" { import ODataType from "sap/ui/model/odata/type/ODataType"; + import { DateFormatOptions } from "sap/ui/core/format/DateFormat"; + import UI5Date from "sap/ui/core/date/UI5Date"; import FormatException from "sap/ui/model/FormatException"; @@ -68362,9 +68411,9 @@ declare module "sap/ui/model/odata/type/Date" { */ constructor( /** - * Format options as defined in {@link sap.ui.core.format.DateFormat.getDateInstance} + * The format options */ - oFormatOptions?: object, + oFormatOptions?: DateFormatOptions, /** * constraints; {@link #validateValue validateValue} throws an error if any constraint is violated */ @@ -81398,6 +81447,8 @@ declare module "sap/ui/model/type/Date" { import UI5Date from "sap/ui/core/date/UI5Date"; + import { DateFormatOptions } from "sap/ui/core/format/DateFormat"; + /** * This class represents date simple types. */ @@ -81407,20 +81458,9 @@ declare module "sap/ui/model/type/Date" { */ constructor( /** - * Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateInstance DateFormat}. + * The format options */ - oFormatOptions?: { - /** - * Additional set of options used to create a second `DateFormat` object for conversions between string - * values in the data source (e.g. model) and `Date`. This second format object is used to convert from - * a model `string` to `Date` before converting the `Date` to `string` with the primary format object. Vice - * versa, this 'source' format is also used to format an already parsed external value (e.g. user input) - * into the string format that is expected by the data source. For a list of all available options, see - * {@link sap.ui.core.format.DateFormat.getDateInstance DateFormat}. In case an empty object is given, the - * default is the ISO date notation (yyyy-MM-dd). - */ - source?: object; - }, + oFormatOptions?: DateTypeFormatOptions, /** * Value constraints */ @@ -81500,6 +81540,22 @@ declare module "sap/ui/model/type/Date" { oMaximum?: UI5Date ): string | undefined; } + /** + * The format options for the `sap.ui.model.type.Date`. + */ + export type DateTypeFormatOptions = DateFormatOptions & { + /** + * Additional set of format options for a second `DateFormat` object. This object handles conversions between + * string values in the data source (for example, model) and `Date` objects. These source options are used + * for two-way data binding: + * - **Model to View:** Converts a string from the model to a `Date` object. Afterwards the main format + * options are used to convert that `Date` object to a string for display. + * - **View to Model:** Converts a parsed external value, for example, user input, into the string format + * that the data source requires. If an empty object is provided, the default format is the ISO date + * notation (yyyy-MM-dd). + */ + source?: DateFormatOptions; + }; } declare module "sap/ui/model/type/DateInterval" { @@ -88315,6 +88371,12 @@ declare namespace sap { * @since 1.37.0 */ waitFor?: Promise | Array>; + /** + * a marker to indicate that the Component is a launcher, e.g. the fiori launchpad (experimental setting) + * + * @since 1.153.0 + */ + isLauncher?: boolean; }; /** * Controls when and from where to load the manifest for the Component. When set to any truthy value, the @@ -91337,6 +91399,12 @@ declare namespace sap { "sap/ui/core/Placeholder": undefined; + "sap/ui/core/popover/PopoverFlipMode": undefined; + + "sap/ui/core/popover/PopoverPhysicalSide": undefined; + + "sap/ui/core/popover/Positioning": undefined; + "sap/ui/core/Popup": undefined; "sap/ui/core/postmessage/Bus": undefined; diff --git a/types/openui5/sap.ui.dt.d.ts b/types/openui5/sap.ui.dt.d.ts index 3bfd7cacbd4c24..5d25feeb9f5779 100644 --- a/types/openui5/sap.ui.dt.d.ts +++ b/types/openui5/sap.ui.dt.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/dt/library" { export namespace designtime { diff --git a/types/openui5/sap.ui.fl.d.ts b/types/openui5/sap.ui.fl.d.ts index b498dc1eefa0ab..e66d29ec4e5cd3 100644 --- a/types/openui5/sap.ui.fl.d.ts +++ b/types/openui5/sap.ui.fl.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/fl/library" {} diff --git a/types/openui5/sap.ui.integration.d.ts b/types/openui5/sap.ui.integration.d.ts index dca900a446cdef..29ebc5be45e60c 100644 --- a/types/openui5/sap.ui.integration.d.ts +++ b/types/openui5/sap.ui.integration.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/integration/library" { import { URI } from "sap/ui/core/library"; diff --git a/types/openui5/sap.ui.layout.d.ts b/types/openui5/sap.ui.layout.d.ts index 16f5245aa9aa13..696da763e5b201 100644 --- a/types/openui5/sap.ui.layout.d.ts +++ b/types/openui5/sap.ui.layout.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/layout/library" { import Control from "sap/ui/core/Control"; diff --git a/types/openui5/sap.ui.mdc.d.ts b/types/openui5/sap.ui.mdc.d.ts index fae61041423cba..4ffff24bcd3bcd 100644 --- a/types/openui5/sap.ui.mdc.d.ts +++ b/types/openui5/sap.ui.mdc.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/mdc/AggregationBaseDelegate" { import BaseDelegate from "sap/ui/mdc/BaseDelegate"; @@ -2185,6 +2185,179 @@ declare module "sap/ui/mdc/LinkDelegate" { export default LinkDelegate; } +declare module "sap/ui/mdc/ListDelegate" { + import AggregationBaseDelegate from "sap/ui/mdc/AggregationBaseDelegate"; + + import Context from "sap/ui/model/Context"; + + import { FilterDelegateObject } from "sap/ui/mdc/library"; + + import Sorter from "sap/ui/model/Sorter"; + + import Control from "sap/ui/core/Control"; + + import { AggregationBindingInfo } from "sap/ui/base/ManagedObject"; + + import ListBinding from "sap/ui/model/ListBinding"; + + /** + * Base delegate for {@link sap.ui.mdc.List}. Extend this object in your project to use all functionalities + * of the list. + * + * @since 1.151 + */ + interface ListDelegate extends AggregationBaseDelegate { + /** + * Returns the export capabilities for the given list. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns A promise that resolves with the export capabilities + */ + fetchExportCapabilities( + /** + * Instance of the list + */ + oList: /* was: sap.ui.mdc.List */ any + ): Promise; + /** + * Formats the title text of a group header row of the list. + * + * Override this method in a concrete delegate to provide a custom group header label. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns The group header title + */ + formatGroupHeader( + /** + * Instance of the list + */ + oList: /* was: sap.ui.mdc.List */ any, + /** + * Binding context + */ + oContext: Context, + /** + * Key of the grouped property + */ + sPropertyKey: string + ): string; + /** + * Returns the filter delegate of the list that provides basic filter functionality, such as adding filter + * fields. + * + * Application delegates must override this method and return an object with a working `addItem` implementation + * to enable the inbuilt filter personalization panel. The default implementation returns `null` from `addItem`, + * which means the filter panel is available but no filter fields are created unless overridden. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns Object for the list's filter personalization + */ + getFilterDelegate(): FilterDelegateObject; + /** + * Returns group-level sorters to be applied when updating the list's binding based on the group conditions + * of the list. + * + * Override this method in a concrete delegate to customize group sorter construction. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns Array of group sorters + */ + getGroupSorters( + /** + * Instance of the list + */ + oList: /* was: sap.ui.mdc.List */ any + ): Sorter[]; + /** + * Returns the item template to be used for list items. + * + * Override this method in a concrete delegate to provide a custom template. Return `null` to use the template + * from the list's `itemTemplate` aggregation instead. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns The item template, or `null` to fall back to the aggregation template + */ + getItemTemplate( + /** + * Instance of the list + */ + oList: /* was: sap.ui.mdc.List */ any, + /** + * The current binding info + */ + oBindingInfo: object + ): Control | null; + /** + * Returns sorters to be applied when updating the list's binding based on the sort conditions of the list. + * + * Override this method in a concrete delegate to customize sort sorter construction. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns Array of sorters + */ + getSorters( + /** + * Instance of the list + */ + oList: /* was: sap.ui.mdc.List */ any + ): Sorter[]; + /** + * Rebinds the list with the binding info object returned from {@link module:sap/ui/mdc/ListDelegate.updateBindingInfo updateBindingInfo}. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + */ + rebind( + /** + * Instance of the list + */ + oList: /* was: sap.ui.mdc.List */ any, + /** + * The binding info object used to bind the list + */ + oBindingInfo: AggregationBindingInfo + ): void; + /** + * Updates the items binding of the list. + * + * The default implementation rebinds the list. Model-specific subclasses may call dedicated binding methods + * to update the binding instead of triggering a full rebind. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + */ + updateBinding( + /** + * Instance of the list + */ + oList: /* was: sap.ui.mdc.List */ any, + /** + * The binding info object used to bind the list items + */ + oBindingInfo: AggregationBindingInfo, + /** + * The current binding instance, if one exists + */ + oBinding?: ListBinding, + /** + * Additional settings + */ + mSettings?: { + /** + * Indicates that the binding must be refreshed even if `oBindingInfo` has not changed + */ + forceRefresh?: boolean; + } + ): void; + } + const ListDelegate: ListDelegate; + export default ListDelegate; +} + declare module "sap/ui/mdc/odata/TypeMap" { import DefaultTypeMap from "sap/ui/mdc/DefaultTypeMap"; @@ -2390,6 +2563,18 @@ declare module "sap/ui/mdc/odata/v4/TableDelegate" { * The configuration that is applied if data aggregation is enabled in the delegate. */ aggregationConfiguration?: { + /** + * You can override the automatic detection of whether data aggregation is enabled in the delegate. If set + * to `true`, data aggregation is enabled if supported by the table type. If set to `false`, data aggregation + * is disabled. Group and aggregate conditions, as well as the `p13nMode` `Group` and `Aggregate`, are ignored, + * and the corresponding personalization is not offered. If not set, the automatic detection applies (see + * {@link module:sap/ui/mdc/odata/v4/TableDelegate}). This setting only takes effect for table types that + * support it. Currently, this is the {@link sap.ui.mdc.table.GridTableType GridTable}. Additional table + * types might support this setting in the future. + * + * @since 1.153 + */ + enabled?: boolean; /** * Determines whether aggregation on the leaf level is enabled. If it is enabled, every column change affects * the data in the table. @@ -2767,10 +2952,14 @@ declare module "sap/ui/mdc/TableDelegate" { * Providing accessible feedback (e.g. screen reader announcements) while the validation is ongoing or once * it has completed is the responsibility of the implementation. * + * By default, this method returns a `Promise` that resolves to `true`, which allows the dialog to close. + * When overriding this method, consider calling the `validateP13nState` method of the `TableDelegate` base + * class, as it may provide additional validation in future versions. + * * @since 1.152 + * @ui5-protected Do not call from applications (only from related classes in the framework) * - * @returns A promise that resolves to `false` (or the literal value `false`) to prevent the dialog from - * closing. Any other value allows the dialog to close. + * @returns A promise that resolves to `true` if the dialog may close, or `false` to prevent it from closing. */ validateP13nState( /** @@ -2782,7 +2971,7 @@ declare module "sap/ui/mdc/TableDelegate" { * one processed by {@link sap.ui.mdc.p13n.StateUtil StateUtil}. */ oState: object - ): Promise | boolean; + ): Promise; } const TableDelegate: TableDelegate; export default TableDelegate; @@ -3214,6 +3403,7 @@ declare module "sap/ui/mdc/ValueHelpDelegate" { import { default as ValueHelp, ItemForValueConfiguration, + ConnectConfig, } from "sap/ui/mdc/ValueHelp"; import ListBinding from "sap/ui/model/ListBinding"; @@ -3654,7 +3844,7 @@ declare module "sap/ui/mdc/ValueHelpDelegate" { /** * Connect configuration object */ - oConfig?: /* was: sap.ui.mdc.valuehelp.base.ConnectConfig */ any + oConfig?: ConnectConfig ): void; /** * Determines if a value help container is to be opened on user interaction, navigation, or configuration @@ -16815,85 +17005,73 @@ declare module "sap/ui/mdc/link/LinkItem" { } } -declare module "sap/ui/mdc/MultiValueField" { +declare module "sap/ui/mdc/list/DragDropConfig" { import { - default as FieldBase, - $FieldBaseSettings, - } from "sap/ui/mdc/field/FieldBase"; - - import { IFormContent, ISemanticFormContent } from "sap/ui/core/library"; + default as DragDropConfigBase, + $DragDropConfigBaseSettings, + DragDropConfigBase$DragEnterEventParameters, + DragDropConfigBase$DragOverEventParameters, + DragDropConfigBase$DropEventParameters, + } from "sap/ui/mdc/util/DragDropConfigBase"; - import { IOverflowToolbarContent } from "sap/m/library"; + import ElementMetadata from "sap/ui/core/ElementMetadata"; - import MultiValueFieldItem from "sap/ui/mdc/field/MultiValueFieldItem"; + import Context from "sap/ui/model/Context"; - import { - PropertyBindingInfo, - AggregationBindingInfo, - } from "sap/ui/base/ManagedObject"; + import UI5Element from "sap/ui/core/Element"; - import ElementMetadata from "sap/ui/core/ElementMetadata"; + import { dnd } from "sap/ui/core/library"; import Event from "sap/ui/base/Event"; /** - * A `MultiValueField` control can hold multiple values. The values are stored as items. A `MultiValueField` - * control can be used to bind its items to data of a certain data type. Based on the data type settings, - * a default control is rendered by the `MultiValueField` control as follows: - * - * - * - In display mode, usually a {@link sap.m.Tokenizer Tokenizer} control is rendered. - * - If {@link sap.ui.mdc.field.FieldBase#getMultipleLines multipleLines} is set, an {@link sap.m.ExpandableText ExpandableText } - * control is rendered. - * - In edit mode, usually a {@link sap.m.MultiInput MultiInput} control is rendered. - * - If {@link sap.ui.mdc.field.FieldBase#getMultipleLines multipleLines} is set, a {@link sap.m.TextArea TextArea } - * control is rendered. + * Provides the configuration for the drag-and-drop operations of the items of the list. * - * @since 1.93.0 + * @since 1.153 */ - export default class MultiValueField - extends FieldBase - implements IFormContent, ISemanticFormContent, IOverflowToolbarContent - { - __implements__sap_ui_core_IFormContent: boolean; - __implements__sap_ui_core_ISemanticFormContent: boolean; - __implements__sap_m_IOverflowToolbarContent: boolean; + export default class DragDropConfig extends DragDropConfigBase { /** - * Constructor for a new `MultiValueField` control. + * Constructor for a new DragDropConfig. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description * of the syntax of the settings object. + * + * This class does not have its own settings, but all settings applicable to the base type {@link sap.ui.mdc.util.DragDropConfigBase#constructor sap.ui.mdc.util.DragDropConfigBase } + * can be used. */ constructor( /** - * Initial settings for the new control + * Initial settings for the new DragDropConfig */ - mSettings?: $MultiValueFieldSettings + mSettings?: $DragDropConfigSettings ); /** - * Constructor for a new `MultiValueField` control. + * Constructor for a new DragDropConfig. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description * of the syntax of the settings object. + * + * This class does not have its own settings, but all settings applicable to the base type {@link sap.ui.mdc.util.DragDropConfigBase#constructor sap.ui.mdc.util.DragDropConfigBase } + * can be used. */ constructor( /** - * ID for the new control, generated automatically if no ID is given + * ID for the new DragDropConfig, generated automatically if no ID is given */ sId?: string, /** - * Initial settings for the new control + * Initial settings for the new DragDropConfig */ - mSettings?: $MultiValueFieldSettings + mSettings?: $DragDropConfigSettings ); /** - * Creates a new subclass of class sap.ui.mdc.MultiValueField with name `sClassName` and enriches it with - * the information contained in `oClassInfo`. + * Creates a new subclass of class sap.ui.mdc.list.DragDropConfig with name `sClassName` and enriches it + * with the information contained in `oClassInfo`. * - * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.mdc.field.FieldBase.extend}. + * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.mdc.util.DragDropConfigBase.extend}. * * * @returns Created class / constructor function @@ -16906,7 +17084,7 @@ declare module "sap/ui/mdc/MultiValueField" { /** * Object literal with information about the class */ - oClassInfo?: sap.ClassInfo, + oClassInfo?: sap.ClassInfo, /** * Constructor function for the metadata object; if not given, it defaults to the metadata implementation * used by this class @@ -16914,71 +17092,291 @@ declare module "sap/ui/mdc/MultiValueField" { FNMetaImpl?: Function ): Function; /** - * Returns a metadata object for class sap.ui.mdc.MultiValueField. + * Returns a metadata object for class sap.ui.mdc.list.DragDropConfig. * * * @returns Metadata object describing this class */ static getMetadata(): ElementMetadata; + } + + export type DragSource = Context | UI5Element; + + /** + * Describes the settings that can be provided to the DragDropConfig constructor. + */ + export interface $DragDropConfigSettings extends $DragDropConfigBaseSettings {} + + /** + * Parameters of the DragDropConfig#dragEnter event. + */ + export interface DragDropConfig$DragEnterEventParameters extends DragDropConfigBase$DragEnterEventParameters { /** - * Adds some item to the aggregation {@link #getItems items}. - * - * - * @returns Reference to `this` in order to allow method chaining + * The binding context of the item on which the dragged element will be dropped */ - addItem( - /** - * The item to add; if empty, nothing is inserted - */ - oItem: MultiValueFieldItem - ): this; + bindingContext?: Context; + /** - * Attaches event handler `fnFunction` to the {@link #event:change change} event of this `sap.ui.mdc.MultiValueField`. - * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.MultiValueField` itself. - * - * This event is fired when the {@link #getItems items} aggregation of the field is changed by user interaction. - * - * **Note** This event is only triggered if the used content control has a change event. - * - * - * @returns Reference to `this` in order to allow method chaining + * The binding context of the dragged item or the dragged control itself */ - attachChange( - /** - * An application-specific payload object that will be passed to the event handler along with the event - * object when firing the event - */ - oData: object, - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: MultiValueField$ChangeEvent) => void, - /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.MultiValueField` itself - */ - oListener?: object - ): this; + dragSource?: DragSource; + /** - * Attaches event handler `fnFunction` to the {@link #event:change change} event of this `sap.ui.mdc.MultiValueField`. - * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.MultiValueField` itself. - * - * This event is fired when the {@link #getItems items} aggregation of the field is changed by user interaction. - * - * **Note** This event is only triggered if the used content control has a change event. - * - * - * @returns Reference to `this` in order to allow method chaining + * The calculated position of the drop action relative to the item being dropped */ - attachChange( - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: MultiValueField$ChangeEvent) => void, - /** + dropPosition?: + | dnd.RelativeDropPosition + | keyof typeof dnd.RelativeDropPosition; + + /** + * The underlying browser event + */ + browserEvent?: DragEvent; + } + + /** + * Event object of the DragDropConfig#dragEnter event. + */ + export type DragDropConfig$DragEnterEvent = Event< + DragDropConfig$DragEnterEventParameters, + DragDropConfig + >; + + /** + * Parameters of the DragDropConfig#dragOver event. + */ + export interface DragDropConfig$DragOverEventParameters extends DragDropConfigBase$DragOverEventParameters { + /** + * The binding context of the item on which the dragged element will be dropped + */ + bindingContext?: Context; + + /** + * The binding context of the dragged item or the dragged control itself + */ + dragSource?: DragSource; + + /** + * The calculated position of the drop action relative to the item being dropped + */ + dropPosition?: + | dnd.RelativeDropPosition + | keyof typeof dnd.RelativeDropPosition; + + /** + * The underlying browser event + */ + browserEvent?: DragEvent; + } + + /** + * Event object of the DragDropConfig#dragOver event. + */ + export type DragDropConfig$DragOverEvent = Event< + DragDropConfig$DragOverEventParameters, + DragDropConfig + >; + + /** + * Parameters of the DragDropConfig#drop event. + */ + export interface DragDropConfig$DropEventParameters extends DragDropConfigBase$DropEventParameters { + /** + * The binding context of the item on which the dragged element is dropped + */ + bindingContext?: Context; + + /** + * The binding context of the dragged item or the dragged control itself + */ + dragSource?: DragSource; + + /** + * The calculated position of the drop action relative to the dropped item + */ + dropPosition?: + | dnd.RelativeDropPosition + | keyof typeof dnd.RelativeDropPosition; + + /** + * The underlying browser event + */ + browserEvent?: DragEvent; + } + + /** + * Event object of the DragDropConfig#drop event. + */ + export type DragDropConfig$DropEvent = Event< + DragDropConfig$DropEventParameters, + DragDropConfig + >; +} + +declare module "sap/ui/mdc/MultiValueField" { + import { + default as FieldBase, + $FieldBaseSettings, + } from "sap/ui/mdc/field/FieldBase"; + + import { IFormContent, ISemanticFormContent } from "sap/ui/core/library"; + + import { IOverflowToolbarContent } from "sap/m/library"; + + import MultiValueFieldItem from "sap/ui/mdc/field/MultiValueFieldItem"; + + import { + PropertyBindingInfo, + AggregationBindingInfo, + } from "sap/ui/base/ManagedObject"; + + import ElementMetadata from "sap/ui/core/ElementMetadata"; + + import Event from "sap/ui/base/Event"; + + /** + * A `MultiValueField` control can hold multiple values. The values are stored as items. A `MultiValueField` + * control can be used to bind its items to data of a certain data type. Based on the data type settings, + * a default control is rendered by the `MultiValueField` control as follows: + * + * + * - In display mode, usually a {@link sap.m.Tokenizer Tokenizer} control is rendered. + * - If {@link sap.ui.mdc.field.FieldBase#getMultipleLines multipleLines} is set, an {@link sap.m.ExpandableText ExpandableText } + * control is rendered. + * - In edit mode, usually a {@link sap.m.MultiInput MultiInput} control is rendered. + * - If {@link sap.ui.mdc.field.FieldBase#getMultipleLines multipleLines} is set, a {@link sap.m.TextArea TextArea } + * control is rendered. + * + * @since 1.93.0 + */ + export default class MultiValueField + extends FieldBase + implements IFormContent, ISemanticFormContent, IOverflowToolbarContent + { + __implements__sap_ui_core_IFormContent: boolean; + __implements__sap_ui_core_ISemanticFormContent: boolean; + __implements__sap_m_IOverflowToolbarContent: boolean; + /** + * Constructor for a new `MultiValueField` control. + * + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. + */ + constructor( + /** + * Initial settings for the new control + */ + mSettings?: $MultiValueFieldSettings + ); + /** + * Constructor for a new `MultiValueField` control. + * + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. + */ + constructor( + /** + * ID for the new control, generated automatically if no ID is given + */ + sId?: string, + /** + * Initial settings for the new control + */ + mSettings?: $MultiValueFieldSettings + ); + + /** + * Creates a new subclass of class sap.ui.mdc.MultiValueField with name `sClassName` and enriches it with + * the information contained in `oClassInfo`. + * + * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.mdc.field.FieldBase.extend}. + * + * + * @returns Created class / constructor function + */ + static extend>( + /** + * Name of the class being created + */ + sClassName: string, + /** + * Object literal with information about the class + */ + oClassInfo?: sap.ClassInfo, + /** + * Constructor function for the metadata object; if not given, it defaults to the metadata implementation + * used by this class + */ + FNMetaImpl?: Function + ): Function; + /** + * Returns a metadata object for class sap.ui.mdc.MultiValueField. + * + * + * @returns Metadata object describing this class + */ + static getMetadata(): ElementMetadata; + /** + * Adds some item to the aggregation {@link #getItems items}. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + addItem( + /** + * The item to add; if empty, nothing is inserted + */ + oItem: MultiValueFieldItem + ): this; + /** + * Attaches event handler `fnFunction` to the {@link #event:change change} event of this `sap.ui.mdc.MultiValueField`. + * + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.MultiValueField` itself. + * + * This event is fired when the {@link #getItems items} aggregation of the field is changed by user interaction. + * + * **Note** This event is only triggered if the used content control has a change event. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + attachChange( + /** + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event + */ + oData: object, + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: MultiValueField$ChangeEvent) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.MultiValueField` itself + */ + oListener?: object + ): this; + /** + * Attaches event handler `fnFunction` to the {@link #event:change change} event of this `sap.ui.mdc.MultiValueField`. + * + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.MultiValueField` itself. + * + * This event is fired when the {@link #getItems items} aggregation of the field is changed by user interaction. + * + * **Note** This event is only triggered if the used content control has a change event. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + attachChange( + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: MultiValueField$ChangeEvent) => void, + /** * Context object to call the event handler with. Defaults to this `sap.ui.mdc.MultiValueField` itself */ oListener?: object @@ -20866,31 +21264,43 @@ declare module "sap/ui/mdc/table/ColumnSettings" { } declare module "sap/ui/mdc/table/DragDropConfig" { - import { - default as DragDropBase, - $DragDropBaseSettings, - } from "sap/ui/core/dnd/DragDropBase"; - - import { dnd } from "sap/ui/core/library"; - - import ElementMetadata from "sap/ui/core/ElementMetadata"; - import Context from "sap/ui/model/Context"; import UI5Element from "sap/ui/core/Element"; - import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; - - import Event from "sap/ui/base/Event"; + export type DragSource = Context | UI5Element; +} + +declare module "sap/ui/mdc/table/GridTableType" { + import { + default as TableTypeBase, + $TableTypeBaseSettings, + } from "sap/ui/mdc/table/TableTypeBase"; + + import ElementMetadata from "sap/ui/core/ElementMetadata"; + + import TableRowCountMode from "sap/ui/mdc/enums/TableRowCountMode"; + + import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; /** - * Provides the configuration for the drag-and-drop operations of the rows of the table. + * The table type info class for the metadata-driven table. * - * @since 1.119 + * + * **Important Notes for `{@link sap.ui.mdc.table.RowSettings#setRowActionCount rowActionCount}`:** + * + * + * The `rowActionCount` property is used to determine the number of row actions that are displayed for each + * row in the table. The actual number of displayed actions can be limited by the underlying table type: + * + * - `GridTable`: Maximum number of three actions including the overflow button. 0 means no actions are + * visible. + * + * @since 1.65 */ - export default class DragDropConfig extends DragDropBase { + export default class GridTableType extends TableTypeBase { /** - * Constructor for a new DragDropConfig. + * Constructor for a new `GridTableType`. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description @@ -20898,12 +21308,12 @@ declare module "sap/ui/mdc/table/DragDropConfig" { */ constructor( /** - * Initial settings for the new DragDropConfig + * Initial settings for the new object */ - mSettings?: $DragDropConfigSettings + mSettings?: $GridTableTypeSettings ); /** - * Constructor for a new DragDropConfig. + * Constructor for a new `GridTableType`. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description @@ -20911,20 +21321,20 @@ declare module "sap/ui/mdc/table/DragDropConfig" { */ constructor( /** - * ID for the new DragDropConfig, generated automatically if no ID is given + * Optional ID for the new object; generated automatically if no non-empty ID is given */ sId?: string, /** - * Initial settings for the new DragDropConfig + * Initial settings for the new object */ - mSettings?: $DragDropConfigSettings + mSettings?: $GridTableTypeSettings ); /** - * Creates a new subclass of class sap.ui.mdc.table.DragDropConfig with name `sClassName` and enriches it + * Creates a new subclass of class sap.ui.mdc.table.GridTableType with name `sClassName` and enriches it * with the information contained in `oClassInfo`. * - * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.dnd.DragDropBase.extend}. + * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.mdc.table.TableTypeBase.extend}. * * * @returns Created class / constructor function @@ -20937,7 +21347,7 @@ declare module "sap/ui/mdc/table/DragDropConfig" { /** * Object literal with information about the class */ - oClassInfo?: sap.ClassInfo, + oClassInfo?: sap.ClassInfo, /** * Constructor function for the metadata object; if not given, it defaults to the metadata implementation * used by this class @@ -20945,793 +21355,847 @@ declare module "sap/ui/mdc/table/DragDropConfig" { FNMetaImpl?: Function ): Function; /** - * Returns a metadata object for class sap.ui.mdc.table.DragDropConfig. + * Returns a metadata object for class sap.ui.mdc.table.GridTableType. * * * @returns Metadata object describing this class */ static getMetadata(): ElementMetadata; /** - * Attaches event handler `fnFunction` to the {@link #event:dragEnd dragEnd} event of this `sap.ui.mdc.table.DragDropConfig`. + * Gets current value of property {@link #getEnableColumnFreeze enableColumnFreeze}. * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.table.DragDropConfig` itself. + * Determines whether the number of fixed columns is configurable via the column menu. * - * This event is fired when the row drag operation is ended, if the `draggable` property is set to true. + * Default value is `false`. * + * @since 1.136 * - * @returns Reference to `this` in order to allow method chaining + * @returns Value of property `enableColumnFreeze` */ - attachDragEnd( - /** - * An application-specific payload object that will be passed to the event handler along with the event - * object when firing the event - */ - oData: object, - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: DragDropConfig$DragEndEvent) => void, - /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.DragDropConfig` itself - */ - oListener?: object - ): this; + getEnableColumnFreeze(): boolean; /** - * Attaches event handler `fnFunction` to the {@link #event:dragEnd dragEnd} event of this `sap.ui.mdc.table.DragDropConfig`. + * Gets current value of property {@link #getFixedColumnCount fixedColumnCount}. * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.table.DragDropConfig` itself. + * Defines the number of fixed columns. * - * This event is fired when the row drag operation is ended, if the `draggable` property is set to true. + * Default value is `0`. * * - * @returns Reference to `this` in order to allow method chaining + * @returns Value of property `fixedColumnCount` */ - attachDragEnd( - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: DragDropConfig$DragEndEvent) => void, - /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.DragDropConfig` itself - */ - oListener?: object - ): this; + getFixedColumnCount(): int; /** - * Attaches event handler `fnFunction` to the {@link #event:dragEnter dragEnter} event of this `sap.ui.mdc.table.DragDropConfig`. + * Gets current value of property {@link #getRowCount rowCount}. * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.table.DragDropConfig` itself. + * Row count of the inner table. This property specifies the minimum row count if `sap.ui.mdc.enums.TableRowCountMode.Auto` + * is used. This property specifies the row count if `sap.ui.mdc.enums.TableRowCountMode.Interactive` or + * `sap.ui.mdc.enums.TableRowCountMode.Fixed` is used. * - * This event is fired when a dragged element enters a table row, if the `droppable` property is set to - * true. + * Default value is `10`. * * - * @returns Reference to `this` in order to allow method chaining + * @returns Value of property `rowCount` */ - attachDragEnter( - /** - * An application-specific payload object that will be passed to the event handler along with the event - * object when firing the event - */ - oData: object, - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: DragDropConfig$DragEnterEvent) => void, - /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.DragDropConfig` itself - */ - oListener?: object - ): this; + getRowCount(): int; /** - * Attaches event handler `fnFunction` to the {@link #event:dragEnter dragEnter} event of this `sap.ui.mdc.table.DragDropConfig`. + * Gets current value of property {@link #getRowCountMode rowCountMode}. * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.table.DragDropConfig` itself. + * Defines how the table handles the row count. * - * This event is fired when a dragged element enters a table row, if the `droppable` property is set to - * true. + * Default value is `Auto`. * * - * @returns Reference to `this` in order to allow method chaining + * @returns Value of property `rowCountMode` */ - attachDragEnter( - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: DragDropConfig$DragEnterEvent) => void, - /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.DragDropConfig` itself - */ - oListener?: object - ): this; + getRowCountMode(): TableRowCountMode; /** - * Attaches event handler `fnFunction` to the {@link #event:dragOver dragOver} event of this `sap.ui.mdc.table.DragDropConfig`. + * Gets current value of property {@link #getScrollThreshold scrollThreshold}. * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.table.DragDropConfig` itself. + * Number of records to be requested from the model when the user scrolls through the table. + * + * The property defines how many additional (not yet visible) data records from the back-end system are + * pre-fetched during scrolling. If the `scrollThreshold` is lower than the number of visible rows, the + * number of visible rows is used as the `scrollThreshold`. If the value is 0, thresholding is disabled. + * + * **Note:** This property only takes effect if it is set to a positive integer value. Otherwise the `threshold` + * property is used. * - * This event is fired when an element is being dragged over a table row, if the `droppable` property is - * set to true. + * Default value is `-1`. * + * @since 1.128 * - * @returns Reference to `this` in order to allow method chaining + * @returns Value of property `scrollThreshold` */ - attachDragOver( - /** - * An application-specific payload object that will be passed to the event handler along with the event - * object when firing the event - */ - oData: object, - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: DragDropConfig$DragOverEvent) => void, - /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.DragDropConfig` itself - */ - oListener?: object - ): this; + getScrollThreshold(): int; /** - * Attaches event handler `fnFunction` to the {@link #event:dragOver dragOver} event of this `sap.ui.mdc.table.DragDropConfig`. + * Gets current value of property {@link #getSelectionLimit selectionLimit}. * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.table.DragDropConfig` itself. + * Number of indices which can be selected in a range. Accepts positive integer values. If set to 0, the + * selection limit is disabled, and the Select All checkbox appears instead of the Deselect All button. * - * This event is fired when an element is being dragged over a table row, if the `droppable` property is - * set to true. + * **Note:** To avoid severe performance problems, the limit should only be set to 0 in the following cases: * + * - With client-side models + * - With server-side models if they are used in client mode + * - If the entity set is small * - * @returns Reference to `this` in order to allow method chaining + * In other cases, we recommend to set the limit to at least double the value of the {@link sap.ui.mdc.Table#getThreshold threshold } + * property of the table. + * + * Default value is `200`. + * + * + * @returns Value of property `selectionLimit` */ - attachDragOver( - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: DragDropConfig$DragOverEvent) => void, - /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.DragDropConfig` itself - */ - oListener?: object - ): this; + getSelectionLimit(): int; /** - * Attaches event handler `fnFunction` to the {@link #event:dragStart dragStart} event of this `sap.ui.mdc.table.DragDropConfig`. + * Gets current value of property {@link #getShowHeaderSelector showHeaderSelector}. * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.table.DragDropConfig` itself. + * Determines whether the header selector is shown. * - * This event is fired when the user starts dragging a table row, if the `draggable` property is set to - * true. + * Default value is `true`. * * - * @returns Reference to `this` in order to allow method chaining + * @returns Value of property `showHeaderSelector` */ - attachDragStart( - /** - * An application-specific payload object that will be passed to the event handler along with the event - * object when firing the event - */ - oData: object, - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: DragDropConfig$DragStartEvent) => void, - /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.DragDropConfig` itself - */ - oListener?: object - ): this; + getShowHeaderSelector(): boolean; /** - * Attaches event handler `fnFunction` to the {@link #event:dragStart dragStart} event of this `sap.ui.mdc.table.DragDropConfig`. + * Sets a new value for property {@link #getEnableColumnFreeze enableColumnFreeze}. * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.table.DragDropConfig` itself. + * Determines whether the number of fixed columns is configurable via the column menu. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * This event is fired when the user starts dragging a table row, if the `draggable` property is set to - * true. + * Default value is `false`. * + * @since 1.136 * * @returns Reference to `this` in order to allow method chaining */ - attachDragStart( - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: DragDropConfig$DragStartEvent) => void, + setEnableColumnFreeze( /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.DragDropConfig` itself + * New value for property `enableColumnFreeze` */ - oListener?: object + bEnableColumnFreeze?: boolean ): this; /** - * Attaches event handler `fnFunction` to the {@link #event:drop drop} event of this `sap.ui.mdc.table.DragDropConfig`. + * Sets a new value for property {@link #getFixedColumnCount fixedColumnCount}. * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.table.DragDropConfig` itself. + * Defines the number of fixed columns. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * This event is fired when an element is dropped on a table row, if the `droppable` property is set to - * true. + * Default value is `0`. * * * @returns Reference to `this` in order to allow method chaining */ - attachDrop( - /** - * An application-specific payload object that will be passed to the event handler along with the event - * object when firing the event - */ - oData: object, - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: DragDropConfig$DropEvent) => void, + setFixedColumnCount( /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.DragDropConfig` itself + * New value for property `fixedColumnCount` */ - oListener?: object + iFixedColumnCount?: int ): this; /** - * Attaches event handler `fnFunction` to the {@link #event:drop drop} event of this `sap.ui.mdc.table.DragDropConfig`. + * Sets a new value for property {@link #getRowCount rowCount}. * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.table.DragDropConfig` itself. + * Row count of the inner table. This property specifies the minimum row count if `sap.ui.mdc.enums.TableRowCountMode.Auto` + * is used. This property specifies the row count if `sap.ui.mdc.enums.TableRowCountMode.Interactive` or + * `sap.ui.mdc.enums.TableRowCountMode.Fixed` is used. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * This event is fired when an element is dropped on a table row, if the `droppable` property is set to - * true. + * Default value is `10`. * * * @returns Reference to `this` in order to allow method chaining */ - attachDrop( - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: DragDropConfig$DropEvent) => void, + setRowCount( /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.DragDropConfig` itself + * New value for property `rowCount` */ - oListener?: object + iRowCount?: int ): this; /** - * Detaches event handler `fnFunction` from the {@link #event:dragEnd dragEnd} event of this `sap.ui.mdc.table.DragDropConfig`. + * Sets a new value for property {@link #getRowCountMode rowCountMode}. * - * The passed function and listener object must match the ones used for event registration. + * Defines how the table handles the row count. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `Auto`. * * * @returns Reference to `this` in order to allow method chaining */ - detachDragEnd( + setRowCountMode( /** - * The function to be called, when the event occurs + * New value for property `rowCountMode` */ - fnFunction: (p1: DragDropConfig$DragEndEvent) => void, - /** - * Context object on which the given function had to be called - */ - oListener?: object + sRowCountMode?: TableRowCountMode | keyof typeof TableRowCountMode ): this; /** - * Detaches event handler `fnFunction` from the {@link #event:dragEnter dragEnter} event of this `sap.ui.mdc.table.DragDropConfig`. + * Sets a new value for property {@link #getScrollThreshold scrollThreshold}. * - * The passed function and listener object must match the ones used for event registration. + * Number of records to be requested from the model when the user scrolls through the table. + * + * The property defines how many additional (not yet visible) data records from the back-end system are + * pre-fetched during scrolling. If the `scrollThreshold` is lower than the number of visible rows, the + * number of visible rows is used as the `scrollThreshold`. If the value is 0, thresholding is disabled. + * + * **Note:** This property only takes effect if it is set to a positive integer value. Otherwise the `threshold` + * property is used. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `-1`. * + * @since 1.128 * * @returns Reference to `this` in order to allow method chaining */ - detachDragEnter( - /** - * The function to be called, when the event occurs - */ - fnFunction: (p1: DragDropConfig$DragEnterEvent) => void, + setScrollThreshold( /** - * Context object on which the given function had to be called + * New value for property `scrollThreshold` */ - oListener?: object + iScrollThreshold?: int ): this; /** - * Detaches event handler `fnFunction` from the {@link #event:dragOver dragOver} event of this `sap.ui.mdc.table.DragDropConfig`. + * Sets a new value for property {@link #getSelectionLimit selectionLimit}. * - * The passed function and listener object must match the ones used for event registration. + * Number of indices which can be selected in a range. Accepts positive integer values. If set to 0, the + * selection limit is disabled, and the Select All checkbox appears instead of the Deselect All button. + * + * **Note:** To avoid severe performance problems, the limit should only be set to 0 in the following cases: + * + * - With client-side models + * - With server-side models if they are used in client mode + * - If the entity set is small + * + * In other cases, we recommend to set the limit to at least double the value of the {@link sap.ui.mdc.Table#getThreshold threshold } + * property of the table. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `200`. * * * @returns Reference to `this` in order to allow method chaining */ - detachDragOver( - /** - * The function to be called, when the event occurs - */ - fnFunction: (p1: DragDropConfig$DragOverEvent) => void, + setSelectionLimit( /** - * Context object on which the given function had to be called + * New value for property `selectionLimit` */ - oListener?: object + iSelectionLimit?: int ): this; /** - * Detaches event handler `fnFunction` from the {@link #event:dragStart dragStart} event of this `sap.ui.mdc.table.DragDropConfig`. + * Sets a new value for property {@link #getShowHeaderSelector showHeaderSelector}. * - * The passed function and listener object must match the ones used for event registration. + * Determines whether the header selector is shown. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `true`. * * * @returns Reference to `this` in order to allow method chaining */ - detachDragStart( - /** - * The function to be called, when the event occurs - */ - fnFunction: (p1: DragDropConfig$DragStartEvent) => void, + setShowHeaderSelector( /** - * Context object on which the given function had to be called + * New value for property `showHeaderSelector` */ - oListener?: object + bShowHeaderSelector?: boolean ): this; + } + /** + * Describes the settings that can be provided to the GridTableType constructor. + */ + export interface $GridTableTypeSettings extends $TableTypeBaseSettings { + /** + * Defines how the table handles the row count. + */ + rowCountMode?: + | (TableRowCountMode | keyof typeof TableRowCountMode) + | PropertyBindingInfo + | `{${string}}`; + + /** + * Row count of the inner table. This property specifies the minimum row count if `sap.ui.mdc.enums.TableRowCountMode.Auto` + * is used. This property specifies the row count if `sap.ui.mdc.enums.TableRowCountMode.Interactive` or + * `sap.ui.mdc.enums.TableRowCountMode.Fixed` is used. + */ + rowCount?: int | PropertyBindingInfo | `{${string}}`; + /** - * Detaches event handler `fnFunction` from the {@link #event:drop drop} event of this `sap.ui.mdc.table.DragDropConfig`. + * Number of indices which can be selected in a range. Accepts positive integer values. If set to 0, the + * selection limit is disabled, and the Select All checkbox appears instead of the Deselect All button. * - * The passed function and listener object must match the ones used for event registration. + * **Note:** To avoid severe performance problems, the limit should only be set to 0 in the following cases: * + * - With client-side models + * - With server-side models if they are used in client mode + * - If the entity set is small * - * @returns Reference to `this` in order to allow method chaining + * In other cases, we recommend to set the limit to at least double the value of the {@link sap.ui.mdc.Table#getThreshold threshold } + * property of the table. */ - detachDrop( - /** - * The function to be called, when the event occurs - */ - fnFunction: (p1: DragDropConfig$DropEvent) => void, - /** - * Context object on which the given function had to be called - */ - oListener?: object - ): this; + selectionLimit?: int | PropertyBindingInfo | `{${string}}`; + /** - * Fires event {@link #event:dragEnd dragEnd} to attached listeners. - * - * @ui5-protected Do not call from applications (only from related classes in the framework) + * Determines whether the header selector is shown. + */ + showHeaderSelector?: boolean | PropertyBindingInfo | `{${string}}`; + + /** + * Determines whether the number of fixed columns is configurable via the column menu. * - * @returns Reference to `this` in order to allow method chaining + * @since 1.136 */ - fireDragEnd( - /** - * Parameters to pass along with the event - */ - mParameters?: DragDropConfig$DragEndEventParameters - ): this; + enableColumnFreeze?: boolean | PropertyBindingInfo | `{${string}}`; + /** - * Fires event {@link #event:dragEnter dragEnter} to attached listeners. + * Defines the number of fixed columns. + */ + fixedColumnCount?: int | PropertyBindingInfo | `{${string}}`; + + /** + * Number of records to be requested from the model when the user scrolls through the table. * - * Listeners may prevent the default action of this event by calling the `preventDefault` method on the - * event object. The return value of this method indicates whether the default action should be executed. + * The property defines how many additional (not yet visible) data records from the back-end system are + * pre-fetched during scrolling. If the `scrollThreshold` is lower than the number of visible rows, the + * number of visible rows is used as the `scrollThreshold`. If the value is 0, thresholding is disabled. * - * @ui5-protected Do not call from applications (only from related classes in the framework) + * **Note:** This property only takes effect if it is set to a positive integer value. Otherwise the `threshold` + * property is used. * - * @returns Whether or not to prevent the default action + * @since 1.128 */ - fireDragEnter( - /** - * Parameters to pass along with the event - */ - mParameters?: DragDropConfig$DragEnterEventParameters - ): boolean; + scrollThreshold?: int | PropertyBindingInfo | `{${string}}`; + } +} + +declare module "sap/ui/mdc/table/ResponsiveColumnSettings" { + import { + default as ColumnSettings, + $ColumnSettingsSettings, + } from "sap/ui/mdc/table/ColumnSettings"; + + import { Priority } from "sap/ui/core/library"; + + import ElementMetadata from "sap/ui/core/ElementMetadata"; + + import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; + + /** + * The table type info class for the metadata-driven table. + * + * @since 1.110 + */ + export default class ResponsiveColumnSettings extends ColumnSettings { /** - * Fires event {@link #event:dragOver dragOver} to attached listeners. - * - * Listeners may prevent the default action of this event by calling the `preventDefault` method on the - * event object. The return value of this method indicates whether the default action should be executed. - * - * @ui5-protected Do not call from applications (only from related classes in the framework) + * Constructor for a new `ResponsiveColumnSettings`. * - * @returns Whether or not to prevent the default action + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. */ - fireDragOver( + constructor( /** - * Parameters to pass along with the event + * Initial settings for the new object */ - mParameters?: DragDropConfig$DragOverEventParameters - ): boolean; + mSettings?: $ResponsiveColumnSettingsSettings + ); /** - * Fires event {@link #event:dragStart dragStart} to attached listeners. - * - * Listeners may prevent the default action of this event by calling the `preventDefault` method on the - * event object. The return value of this method indicates whether the default action should be executed. - * - * @ui5-protected Do not call from applications (only from related classes in the framework) + * Constructor for a new `ResponsiveColumnSettings`. * - * @returns Whether or not to prevent the default action + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. */ - fireDragStart( + constructor( /** - * Parameters to pass along with the event + * Optional ID for the new object; generated automatically if no non-empty ID is given */ - mParameters?: DragDropConfig$DragStartEventParameters - ): boolean; + sId?: string, + /** + * Initial settings for the new object + */ + mSettings?: $ResponsiveColumnSettingsSettings + ); + /** - * Fires event {@link #event:drop drop} to attached listeners. + * Returns a metadata object for class sap.ui.mdc.table.ResponsiveColumnSettings. * - * @ui5-protected Do not call from applications (only from related classes in the framework) * - * @returns Reference to `this` in order to allow method chaining + * @returns Metadata object describing this class */ - fireDrop( - /** - * Parameters to pass along with the event - */ - mParameters?: DragDropConfig$DropEventParameters - ): this; + static getMetadata(): ElementMetadata; /** - * Gets current value of property {@link #getDraggable draggable}. + * Gets current value of property {@link #getImportance importance}. * - * Determines whether the rows of the table are draggable. + * Defines the column importance. * - * **Note:** Setting this property to `true` may expose the rows of the table in other `DropInfo` event - * parameters. In this case, only the binding context of the row is allowed to be used. Internal controls - * and their types are subject to change without notice. + * Columns are moved to the pop-in area in the following order: + * - With importance `High`: moved last + * - With importance `Medium` or `None`: moved second + * - With importance `Low`: moved first * - * Default value is `false`. + * Default value is `"None"`. * + * @since 1.110 * - * @returns Value of property `draggable` + * @returns Value of property `importance` */ - getDraggable(): boolean; + getImportance(): Priority; /** - * Gets current value of property {@link #getDropEffect dropEffect}. + * Gets current value of property {@link #getMergeFunction mergeFunction}. * - * Defines the visual drop effect. + * Defines the control serialization function to merge duplicate cells into one cell block. This function + * is used to compare values of two cells. * - * Default value is `"Move"`. + * **Note:** Don't set this property for cells for which the content provides a user interaction, such as + * `sap.m.Link`. * + * @since 1.110 * - * @returns Value of property `dropEffect` + * @returns Value of property `mergeFunction` */ - getDropEffect(): dnd.DropEffect; + getMergeFunction(): string; /** - * Gets current value of property {@link #getDroppable droppable}. + * Sets a new value for property {@link #getImportance importance}. * - * Determines whether the rows of the table are droppable. + * Defines the column importance. * - * Default value is `false`. - * - * - * @returns Value of property `droppable` - */ - getDroppable(): boolean; - /** - * Gets current value of property {@link #getDropPosition dropPosition}. - * - * Defines the position for the drop action, visualized by a rectangle. - * - * Default value is `"On"`. - * - * - * @returns Value of property `dropPosition` - */ - getDropPosition(): dnd.DropPosition; - /** - * Sets a new value for property {@link #getDraggable draggable}. - * - * Determines whether the rows of the table are draggable. - * - * **Note:** Setting this property to `true` may expose the rows of the table in other `DropInfo` event - * parameters. In this case, only the binding context of the row is allowed to be used. Internal controls - * and their types are subject to change without notice. - * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. - * - * Default value is `false`. - * - * - * @returns Reference to `this` in order to allow method chaining - */ - setDraggable( - /** - * New value for property `draggable` - */ - bDraggable?: boolean - ): this; - /** - * Sets a new value for property {@link #getDropEffect dropEffect}. - * - * Defines the visual drop effect. + * Columns are moved to the pop-in area in the following order: + * - With importance `High`: moved last + * - With importance `Medium` or `None`: moved second + * - With importance `Low`: moved first * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * Default value is `"Move"`. + * Default value is `"None"`. * + * @since 1.110 * * @returns Reference to `this` in order to allow method chaining */ - setDropEffect( + setImportance( /** - * New value for property `dropEffect` + * New value for property `importance` */ - sDropEffect?: dnd.DropEffect | keyof typeof dnd.DropEffect + sImportance?: Priority | keyof typeof Priority ): this; /** - * Sets a new value for property {@link #getDroppable droppable}. - * - * Determines whether the rows of the table are droppable. - * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. - * - * Default value is `false`. - * + * Sets a new value for property {@link #getMergeFunction mergeFunction}. * - * @returns Reference to `this` in order to allow method chaining - */ - setDroppable( - /** - * New value for property `droppable` - */ - bDroppable?: boolean - ): this; - /** - * Sets a new value for property {@link #getDropPosition dropPosition}. + * Defines the control serialization function to merge duplicate cells into one cell block. This function + * is used to compare values of two cells. * - * Defines the position for the drop action, visualized by a rectangle. + * **Note:** Don't set this property for cells for which the content provides a user interaction, such as + * `sap.m.Link`. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * Default value is `"On"`. - * + * @since 1.110 * * @returns Reference to `this` in order to allow method chaining */ - setDropPosition( + setMergeFunction( /** - * New value for property `dropPosition` + * New value for property `mergeFunction` */ - sDropPosition?: dnd.DropPosition | keyof typeof dnd.DropPosition + sMergeFunction: string ): this; } - - export type DragSource = Context | UI5Element; - /** - * Describes the settings that can be provided to the DragDropConfig constructor. + * Describes the settings that can be provided to the ResponsiveColumnSettings constructor. */ - export interface $DragDropConfigSettings extends $DragDropBaseSettings { + export interface $ResponsiveColumnSettingsSettings extends $ColumnSettingsSettings { /** - * Determines whether the rows of the table are draggable. + * Defines the column importance. * - * **Note:** Setting this property to `true` may expose the rows of the table in other `DropInfo` event - * parameters. In this case, only the binding context of the row is allowed to be used. Internal controls - * and their types are subject to change without notice. - */ - draggable?: boolean | PropertyBindingInfo | `{${string}}`; - - /** - * Determines whether the rows of the table are droppable. - */ - droppable?: boolean | PropertyBindingInfo | `{${string}}`; - - /** - * Defines the visual drop effect. - */ - dropEffect?: - | (dnd.DropEffect | keyof typeof dnd.DropEffect) - | PropertyBindingInfo - | `{${string}}`; - - /** - * Defines the position for the drop action, visualized by a rectangle. + * Columns are moved to the pop-in area in the following order: + * - With importance `High`: moved last + * - With importance `Medium` or `None`: moved second + * - With importance `Low`: moved first + * + * @since 1.110 */ - dropPosition?: - | (dnd.DropPosition | keyof typeof dnd.DropPosition) + importance?: + | (Priority | keyof typeof Priority) | PropertyBindingInfo | `{${string}}`; /** - * This event is fired when the user starts dragging a table row, if the `draggable` property is set to - * true. + * Defines the control serialization function to merge duplicate cells into one cell block. This function + * is used to compare values of two cells. + * + * **Note:** Don't set this property for cells for which the content provides a user interaction, such as + * `sap.m.Link`. + * + * @since 1.110 */ - dragStart?: (oEvent: DragDropConfig$DragStartEvent) => void; + mergeFunction?: string | PropertyBindingInfo; + } +} - /** - * This event is fired when the row drag operation is ended, if the `draggable` property is set to true. - */ - dragEnd?: (oEvent: DragDropConfig$DragEndEvent) => void; +declare module "sap/ui/mdc/table/ResponsiveTableType" { + import { + default as TableTypeBase, + $TableTypeBaseSettings, + } from "sap/ui/mdc/table/TableTypeBase"; - /** - * This event is fired when a dragged element enters a table row, if the `droppable` property is set to - * true. - */ - dragEnter?: (oEvent: DragDropConfig$DragEnterEvent) => void; + import { Priority } from "sap/ui/core/library"; - /** - * This event is fired when an element is being dragged over a table row, if the `droppable` property is - * set to true. - */ - dragOver?: (oEvent: DragDropConfig$DragOverEvent) => void; + import TableGrowingMode from "sap/ui/mdc/enums/TableGrowingMode"; - /** - * This event is fired when an element is dropped on a table row, if the `droppable` property is set to - * true. - */ - drop?: (oEvent: DragDropConfig$DropEvent) => void; - } + import ElementMetadata from "sap/ui/core/ElementMetadata"; - /** - * Parameters of the DragDropConfig#dragEnd event. - */ - export interface DragDropConfig$DragEndEventParameters { - /** - * The binding context of the dragged row - */ - bindingContext?: Context; + import TablePopinDisplay from "sap/ui/mdc/enums/TablePopinDisplay"; - /** - * The underlying browser event - */ - browserEvent?: DragEvent; - } + import { PopinLayout } from "sap/m/library"; - /** - * Event object of the DragDropConfig#dragEnd event. - */ - export type DragDropConfig$DragEndEvent = Event< - DragDropConfig$DragEndEventParameters, - DragDropConfig - >; + import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; /** - * Parameters of the DragDropConfig#dragEnter event. + * The table type info class for the metadata-driven table. + * + * + * **Important Notes for `{@link sap.ui.mdc.table.RowSettings#setRowActionCount rowActionCount}`:** + * + * + * The `rowActionCount` property is used to determine the number of row actions that are displayed for each + * row in the table. The actual number of displayed actions can be limited by the underlying table type: + * + * + * - `ResponsiveTable`: Maximum of 2-3 actions depending on configuration (1 navigation action + 2 additional + * actions) + * - `rowActionCount` = 0: navigation action is always visible if it exists + * + * @since 1.65 */ - export interface DragDropConfig$DragEnterEventParameters { + export default class ResponsiveTableType extends TableTypeBase { /** - * The binding context of the row on which the dragged element will be dropped + * Constructor for a new `ResponsiveTableType`. + * + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. */ - bindingContext?: Context; - + constructor( + /** + * Initial settings for the new object + */ + mSettings?: $ResponsiveTableTypeSettings + ); /** - * The binding context of the dragged row or the dragged control itself + * Constructor for a new `ResponsiveTableType`. + * + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. */ - dragSource?: DragSource; + constructor( + /** + * Optional ID for the new object; generated automatically if no non-empty ID is given + */ + sId?: string, + /** + * Initial settings for the new object + */ + mSettings?: $ResponsiveTableTypeSettings + ); /** - * The calculated position of the drop action relative to the row being dropped + * Creates a new subclass of class sap.ui.mdc.table.ResponsiveTableType with name `sClassName` and enriches + * it with the information contained in `oClassInfo`. + * + * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.mdc.table.TableTypeBase.extend}. + * + * + * @returns Created class / constructor function */ - dropPosition?: - | dnd.RelativeDropPosition - | keyof typeof dnd.RelativeDropPosition; - + static extend>( + /** + * Name of the class being created + */ + sClassName: string, + /** + * Object literal with information about the class + */ + oClassInfo?: sap.ClassInfo, + /** + * Constructor function for the metadata object; if not given, it defaults to the metadata implementation + * used by this class + */ + FNMetaImpl?: Function + ): Function; /** - * The underlying browser event + * Returns a metadata object for class sap.ui.mdc.table.ResponsiveTableType. + * + * + * @returns Metadata object describing this class */ - browserEvent?: DragEvent; - } - - /** - * Event object of the DragDropConfig#dragEnter event. - */ - export type DragDropConfig$DragEnterEvent = Event< - DragDropConfig$DragEnterEventParameters, - DragDropConfig - >; - - /** - * Parameters of the DragDropConfig#dragOver event. - */ - export interface DragDropConfig$DragOverEventParameters { + static getMetadata(): ElementMetadata; /** - * The binding context of the row on which the dragged element will be dropped - */ - bindingContext?: Context; - + * Gets current value of property {@link #getDetailsButtonSetting detailsButtonSetting}. + * + * Defines which columns are hidden instead of moved into the pop-in area depending on their importance. + * See {@link sap.ui.mdc.table.ResponsiveColumnSettings#getImportance} for more details. + * + * **Note:** To hide columns based on their importance, it's mandatory to set `showDetailsButton` to `true`. + * If no importance is given, a device-dependent default configuration is used. + * If this property is changed after the table has been initialized, the new changes take effect only when + * the Show / Hide Details button is pressed a second time. + * + * @since 1.86 + * + * @returns Value of property `detailsButtonSetting` + */ + getDetailsButtonSetting(): Priority[]; /** - * The binding context of the dragged row or the dragged control itself + * Gets current value of property {@link #getGrowingMode growingMode}. + * + * Specifies the growing mode. + * + * Default value is `Basic`. + * + * + * @returns Value of property `growingMode` */ - dragSource?: DragSource; - + getGrowingMode(): TableGrowingMode; /** - * The calculated position of the drop action relative to the row being dropped + * Gets current value of property {@link #getPopinDisplay popinDisplay}. + * + * Defines how the pop-in content is displayed. + * + * Default value is `Inline`. + * + * @since 1.143 + * + * @returns Value of property `popinDisplay` */ - dropPosition?: - | dnd.RelativeDropPosition - | keyof typeof dnd.RelativeDropPosition; - + getPopinDisplay(): TablePopinDisplay; /** - * The underlying browser event + * Gets current value of property {@link #getPopinLayout popinLayout}. + * + * Defines the layout in which the table pop-in rows are rendered. + * + * Default value is `"Block"`. + * + * @since 1.96 + * + * @returns Value of property `popinLayout` */ - browserEvent?: DragEvent; - } - - /** - * Event object of the DragDropConfig#dragOver event. - */ - export type DragDropConfig$DragOverEvent = Event< - DragDropConfig$DragOverEventParameters, - DragDropConfig - >; - - /** - * Parameters of the DragDropConfig#dragStart event. - */ - export interface DragDropConfig$DragStartEventParameters { + getPopinLayout(): PopinLayout; + /** + * Gets current value of property {@link #getShowDetailsButton showDetailsButton}. + * + * Specifies whether the Show / Hide Details button is shown. + * + * If the available screen space gets too narrow, the columns configured with `High` and `Medium` importance + * move to the pop-in area, while the columns with `Low` importance are hidden. + * On mobile phones, the columns with `Medium` importance are also hidden. + * As soon as the first column is hidden, this button appears in the table toolbar and gives the user the + * possibility to toggle the visibility of the hidden columns in the pop-in area. + * + * Default value is `false`. + * + * @since 1.79 + * + * @returns Value of property `showDetailsButton` + */ + getShowDetailsButton(): boolean; /** - * The binding context of the dragged row + * Sets a new value for property {@link #getDetailsButtonSetting detailsButtonSetting}. + * + * Defines which columns are hidden instead of moved into the pop-in area depending on their importance. + * See {@link sap.ui.mdc.table.ResponsiveColumnSettings#getImportance} for more details. + * + * **Note:** To hide columns based on their importance, it's mandatory to set `showDetailsButton` to `true`. + * If no importance is given, a device-dependent default configuration is used. + * If this property is changed after the table has been initialized, the new changes take effect only when + * the Show / Hide Details button is pressed a second time. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * @since 1.86 + * + * @returns Reference to `this` in order to allow method chaining */ - bindingContext?: Context; - + setDetailsButtonSetting( + /** + * New value for property `detailsButtonSetting` + */ + sDetailsButtonSetting: Array + ): this; /** - * The underlying browser event + * Sets a new value for property {@link #getGrowingMode growingMode}. + * + * Specifies the growing mode. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `Basic`. + * + * + * @returns Reference to `this` in order to allow method chaining */ - browserEvent?: DragEvent; + setGrowingMode( + /** + * New value for property `growingMode` + */ + sGrowingMode?: TableGrowingMode | keyof typeof TableGrowingMode + ): this; + /** + * Sets a new value for property {@link #getPopinDisplay popinDisplay}. + * + * Defines how the pop-in content is displayed. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `Inline`. + * + * @since 1.143 + * + * @returns Reference to `this` in order to allow method chaining + */ + setPopinDisplay( + /** + * New value for property `popinDisplay` + */ + sPopinDisplay?: TablePopinDisplay | keyof typeof TablePopinDisplay + ): this; + /** + * Sets a new value for property {@link #getPopinLayout popinLayout}. + * + * Defines the layout in which the table pop-in rows are rendered. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `"Block"`. + * + * @since 1.96 + * + * @returns Reference to `this` in order to allow method chaining + */ + setPopinLayout( + /** + * New value for property `popinLayout` + */ + sPopinLayout?: PopinLayout | keyof typeof PopinLayout + ): this; + /** + * Sets a new value for property {@link #getShowDetailsButton showDetailsButton}. + * + * Specifies whether the Show / Hide Details button is shown. + * + * If the available screen space gets too narrow, the columns configured with `High` and `Medium` importance + * move to the pop-in area, while the columns with `Low` importance are hidden. + * On mobile phones, the columns with `Medium` importance are also hidden. + * As soon as the first column is hidden, this button appears in the table toolbar and gives the user the + * possibility to toggle the visibility of the hidden columns in the pop-in area. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `false`. + * + * @since 1.79 + * + * @returns Reference to `this` in order to allow method chaining + */ + setShowDetailsButton( + /** + * New value for property `showDetailsButton` + */ + bShowDetailsButton?: boolean + ): this; } - /** - * Event object of the DragDropConfig#dragStart event. + * Describes the settings that can be provided to the ResponsiveTableType constructor. */ - export type DragDropConfig$DragStartEvent = Event< - DragDropConfig$DragStartEventParameters, - DragDropConfig - >; + export interface $ResponsiveTableTypeSettings extends $TableTypeBaseSettings { + /** + * Specifies the growing mode. + */ + growingMode?: + | (TableGrowingMode | keyof typeof TableGrowingMode) + | PropertyBindingInfo + | `{${string}}`; - /** - * Parameters of the DragDropConfig#drop event. - */ - export interface DragDropConfig$DropEventParameters { /** - * The binding context of the row on which the dragged element is dropped + * Specifies whether the Show / Hide Details button is shown. + * + * If the available screen space gets too narrow, the columns configured with `High` and `Medium` importance + * move to the pop-in area, while the columns with `Low` importance are hidden. + * On mobile phones, the columns with `Medium` importance are also hidden. + * As soon as the first column is hidden, this button appears in the table toolbar and gives the user the + * possibility to toggle the visibility of the hidden columns in the pop-in area. + * + * @since 1.79 */ - bindingContext?: Context; + showDetailsButton?: boolean | PropertyBindingInfo | `{${string}}`; /** - * The binding context of the dragged row or the dragged control itself + * Defines which columns are hidden instead of moved into the pop-in area depending on their importance. + * See {@link sap.ui.mdc.table.ResponsiveColumnSettings#getImportance} for more details. + * + * **Note:** To hide columns based on their importance, it's mandatory to set `showDetailsButton` to `true`. + * If no importance is given, a device-dependent default configuration is used. + * If this property is changed after the table has been initialized, the new changes take effect only when + * the Show / Hide Details button is pressed a second time. + * + * @since 1.86 */ - dragSource?: DragSource; + detailsButtonSetting?: + | Array + | PropertyBindingInfo + | `{${string}}`; /** - * The calculated position of the drop action relative to the dropped row + * Defines the layout in which the table pop-in rows are rendered. + * + * @since 1.96 */ - dropPosition?: - | dnd.RelativeDropPosition - | keyof typeof dnd.RelativeDropPosition; + popinLayout?: + | (PopinLayout | keyof typeof PopinLayout) + | PropertyBindingInfo + | `{${string}}`; /** - * The underlying browser event + * Defines how the pop-in content is displayed. + * + * @since 1.143 */ - browserEvent?: DragEvent; + popinDisplay?: + | (TablePopinDisplay | keyof typeof TablePopinDisplay) + | PropertyBindingInfo + | `{${string}}`; } - - /** - * Event object of the DragDropConfig#drop event. - */ - export type DragDropConfig$DropEvent = Event< - DragDropConfig$DropEventParameters, - DragDropConfig - >; } -declare module "sap/ui/mdc/table/GridTableType" { - import { - default as TableTypeBase, - $TableTypeBaseSettings, - } from "sap/ui/mdc/table/TableTypeBase"; +declare module "sap/ui/mdc/table/RowActionItem" { + import { default as UI5Element, $ElementSettings } from "sap/ui/core/Element"; + + import { URI } from "sap/ui/core/library"; import ElementMetadata from "sap/ui/core/ElementMetadata"; - import TableRowCountMode from "sap/ui/mdc/enums/TableRowCountMode"; + import TableRowActionType from "sap/ui/mdc/enums/TableRowActionType"; import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; + import Context from "sap/ui/model/Context"; + + import Event from "sap/ui/base/Event"; + /** - * The table type info class for the metadata-driven table. - * - * - * **Important Notes for `{@link sap.ui.mdc.table.RowSettings#setRowActionCount rowActionCount}`:** - * - * - * The `rowActionCount` property is used to determine the number of row actions that are displayed for each - * row in the table. The actual number of displayed actions can be limited by the underlying table type: - * - * - `GridTable`: Maximum number of three actions including the overflow button. 0 means no actions are - * visible. - * - * @since 1.65 + * The `RowActionItem` control represents a action for a row. This control can only be used in the context + * of `sap.ui.mdc.Table` control to define row actions. */ - export default class GridTableType extends TableTypeBase { + export default class RowActionItem extends UI5Element { /** - * Constructor for a new `GridTableType`. + * Constructor for new RowActionItem. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description @@ -21739,12 +22203,12 @@ declare module "sap/ui/mdc/table/GridTableType" { */ constructor( /** - * Initial settings for the new object + * initial settings for the new control */ - mSettings?: $GridTableTypeSettings + mSettings?: $RowActionItemSettings ); /** - * Constructor for a new `GridTableType`. + * Constructor for new RowActionItem. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description @@ -21756,16 +22220,16 @@ declare module "sap/ui/mdc/table/GridTableType" { */ sId?: string, /** - * Initial settings for the new object + * initial settings for the new control */ - mSettings?: $GridTableTypeSettings + mSettings?: $RowActionItemSettings ); /** - * Creates a new subclass of class sap.ui.mdc.table.GridTableType with name `sClassName` and enriches it + * Creates a new subclass of class sap.ui.mdc.table.RowActionItem with name `sClassName` and enriches it * with the information contained in `oClassInfo`. * - * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.mdc.table.TableTypeBase.extend}. + * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.Element.extend}. * * * @returns Created class / constructor function @@ -21778,7 +22242,7 @@ declare module "sap/ui/mdc/table/GridTableType" { /** * Object literal with information about the class */ - oClassInfo?: sap.ClassInfo, + oClassInfo?: sap.ClassInfo, /** * Constructor function for the metadata object; if not given, it defaults to the metadata implementation * used by this class @@ -21786,528 +22250,312 @@ declare module "sap/ui/mdc/table/GridTableType" { FNMetaImpl?: Function ): Function; /** - * Returns a metadata object for class sap.ui.mdc.table.GridTableType. + * Returns a metadata object for class sap.ui.mdc.table.RowActionItem. * * * @returns Metadata object describing this class */ static getMetadata(): ElementMetadata; /** - * Gets current value of property {@link #getEnableColumnFreeze enableColumnFreeze}. - * - * Determines whether the number of fixed columns is configurable via the column menu. - * - * Default value is `false`. - * - * @since 1.136 - * - * @returns Value of property `enableColumnFreeze` - */ - getEnableColumnFreeze(): boolean; - /** - * Gets current value of property {@link #getFixedColumnCount fixedColumnCount}. - * - * Defines the number of fixed columns. - * - * Default value is `0`. - * - * - * @returns Value of property `fixedColumnCount` - */ - getFixedColumnCount(): int; - /** - * Gets current value of property {@link #getRowCount rowCount}. - * - * Row count of the inner table. This property specifies the minimum row count if `sap.ui.mdc.enums.TableRowCountMode.Auto` - * is used. This property specifies the row count if `sap.ui.mdc.enums.TableRowCountMode.Interactive` or - * `sap.ui.mdc.enums.TableRowCountMode.Fixed` is used. - * - * Default value is `10`. - * - * - * @returns Value of property `rowCount` - */ - getRowCount(): int; - /** - * Gets current value of property {@link #getRowCountMode rowCountMode}. - * - * Defines how the table handles the row count. - * - * Default value is `Auto`. - * - * - * @returns Value of property `rowCountMode` - */ - getRowCountMode(): TableRowCountMode; - /** - * Gets current value of property {@link #getScrollThreshold scrollThreshold}. - * - * Number of records to be requested from the model when the user scrolls through the table. - * - * The property defines how many additional (not yet visible) data records from the back-end system are - * pre-fetched during scrolling. If the `scrollThreshold` is lower than the number of visible rows, the - * number of visible rows is used as the `scrollThreshold`. If the value is 0, thresholding is disabled. - * - * **Note:** This property only takes effect if it is set to a positive integer value. Otherwise the `threshold` - * property is used. - * - * Default value is `-1`. - * - * @since 1.128 - * - * @returns Value of property `scrollThreshold` - */ - getScrollThreshold(): int; - /** - * Gets current value of property {@link #getSelectionLimit selectionLimit}. - * - * Number of indices which can be selected in a range. Accepts positive integer values. If set to 0, the - * selection limit is disabled, and the Select All checkbox appears instead of the Deselect All button. - * - * **Note:** To avoid severe performance problems, the limit should only be set to 0 in the following cases: - * - * - With client-side models - * - With server-side models if they are used in client mode - * - If the entity set is small - * - * In other cases, we recommend to set the limit to at least double the value of the {@link sap.ui.mdc.Table#getThreshold threshold } - * property of the table. - * - * Default value is `200`. - * - * - * @returns Value of property `selectionLimit` - */ - getSelectionLimit(): int; - /** - * Gets current value of property {@link #getShowHeaderSelector showHeaderSelector}. - * - * Determines whether the header selector is shown. - * - * Default value is `true`. - * + * Attaches event handler `fnFunction` to the {@link #event:press press} event of this `sap.ui.mdc.table.RowActionItem`. * - * @returns Value of property `showHeaderSelector` - */ - getShowHeaderSelector(): boolean; - /** - * Sets a new value for property {@link #getEnableColumnFreeze enableColumnFreeze}. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.table.RowActionItem` itself. * - * Determines whether the number of fixed columns is configurable via the column menu. + * Fired when the row action item is pressed. * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * If the table type is {@link sap.ui.mdc.table.GridTableType GridTable}, the `press` event is fired when + * a row action item is pressed. * - * Default value is `false`. + * If the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}, the `press` event + * and the table's `rowPress` event are fired when a row with a row action item is pressed. * - * @since 1.136 * * @returns Reference to `this` in order to allow method chaining */ - setEnableColumnFreeze( + attachPress( /** - * New value for property `enableColumnFreeze` + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event */ - bEnableColumnFreeze?: boolean - ): this; - /** - * Sets a new value for property {@link #getFixedColumnCount fixedColumnCount}. - * - * Defines the number of fixed columns. - * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. - * - * Default value is `0`. - * - * - * @returns Reference to `this` in order to allow method chaining - */ - setFixedColumnCount( + oData: object, /** - * New value for property `fixedColumnCount` + * The function to be called when the event occurs */ - iFixedColumnCount?: int - ): this; - /** - * Sets a new value for property {@link #getRowCount rowCount}. - * - * Row count of the inner table. This property specifies the minimum row count if `sap.ui.mdc.enums.TableRowCountMode.Auto` - * is used. This property specifies the row count if `sap.ui.mdc.enums.TableRowCountMode.Interactive` or - * `sap.ui.mdc.enums.TableRowCountMode.Fixed` is used. - * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. - * - * Default value is `10`. - * - * - * @returns Reference to `this` in order to allow method chaining - */ - setRowCount( + fnFunction: (p1: RowActionItem$PressEvent) => void, /** - * New value for property `rowCount` + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.RowActionItem` itself */ - iRowCount?: int + oListener?: object ): this; /** - * Sets a new value for property {@link #getRowCountMode rowCountMode}. + * Attaches event handler `fnFunction` to the {@link #event:press press} event of this `sap.ui.mdc.table.RowActionItem`. * - * Defines how the table handles the row count. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.table.RowActionItem` itself. * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * Fired when the row action item is pressed. * - * Default value is `Auto`. + * If the table type is {@link sap.ui.mdc.table.GridTableType GridTable}, the `press` event is fired when + * a row action item is pressed. + * + * If the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}, the `press` event + * and the table's `rowPress` event are fired when a row with a row action item is pressed. * * * @returns Reference to `this` in order to allow method chaining */ - setRowCountMode( + attachPress( /** - * New value for property `rowCountMode` + * The function to be called when the event occurs */ - sRowCountMode?: TableRowCountMode | keyof typeof TableRowCountMode - ): this; - /** - * Sets a new value for property {@link #getScrollThreshold scrollThreshold}. - * - * Number of records to be requested from the model when the user scrolls through the table. - * - * The property defines how many additional (not yet visible) data records from the back-end system are - * pre-fetched during scrolling. If the `scrollThreshold` is lower than the number of visible rows, the - * number of visible rows is used as the `scrollThreshold`. If the value is 0, thresholding is disabled. - * - * **Note:** This property only takes effect if it is set to a positive integer value. Otherwise the `threshold` - * property is used. - * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. - * - * Default value is `-1`. - * - * @since 1.128 - * - * @returns Reference to `this` in order to allow method chaining - */ - setScrollThreshold( + fnFunction: (p1: RowActionItem$PressEvent) => void, /** - * New value for property `scrollThreshold` + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.RowActionItem` itself */ - iScrollThreshold?: int + oListener?: object ): this; /** - * Sets a new value for property {@link #getSelectionLimit selectionLimit}. - * - * Number of indices which can be selected in a range. Accepts positive integer values. If set to 0, the - * selection limit is disabled, and the Select All checkbox appears instead of the Deselect All button. - * - * **Note:** To avoid severe performance problems, the limit should only be set to 0 in the following cases: - * - * - With client-side models - * - With server-side models if they are used in client mode - * - If the entity set is small - * - * In other cases, we recommend to set the limit to at least double the value of the {@link sap.ui.mdc.Table#getThreshold threshold } - * property of the table. - * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * Detaches event handler `fnFunction` from the {@link #event:press press} event of this `sap.ui.mdc.table.RowActionItem`. * - * Default value is `200`. + * The passed function and listener object must match the ones used for event registration. * * * @returns Reference to `this` in order to allow method chaining */ - setSelectionLimit( + detachPress( /** - * New value for property `selectionLimit` + * The function to be called, when the event occurs */ - iSelectionLimit?: int - ): this; - /** - * Sets a new value for property {@link #getShowHeaderSelector showHeaderSelector}. - * - * Determines whether the header selector is shown. - * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. - * - * Default value is `true`. + fnFunction: (p1: RowActionItem$PressEvent) => void, + /** + * Context object on which the given function had to be called + */ + oListener?: object + ): this; + /** + * Fires event {@link #event:press press} to attached listeners. * + * @ui5-protected Do not call from applications (only from related classes in the framework) * * @returns Reference to `this` in order to allow method chaining */ - setShowHeaderSelector( + firePress( /** - * New value for property `showHeaderSelector` + * Parameters to pass along with the event */ - bShowHeaderSelector?: boolean + mParameters?: RowActionItem$PressEventParameters ): this; - } - /** - * Describes the settings that can be provided to the GridTableType constructor. - */ - export interface $GridTableTypeSettings extends $TableTypeBaseSettings { - /** - * Defines how the table handles the row count. - */ - rowCountMode?: - | (TableRowCountMode | keyof typeof TableRowCountMode) - | PropertyBindingInfo - | `{${string}}`; - - /** - * Row count of the inner table. This property specifies the minimum row count if `sap.ui.mdc.enums.TableRowCountMode.Auto` - * is used. This property specifies the row count if `sap.ui.mdc.enums.TableRowCountMode.Interactive` or - * `sap.ui.mdc.enums.TableRowCountMode.Fixed` is used. - */ - rowCount?: int | PropertyBindingInfo | `{${string}}`; - /** - * Number of indices which can be selected in a range. Accepts positive integer values. If set to 0, the - * selection limit is disabled, and the Select All checkbox appears instead of the Deselect All button. + * Gets current value of property {@link #getIcon icon}. * - * **Note:** To avoid severe performance problems, the limit should only be set to 0 in the following cases: + * Icon for the row action item. * - * - With client-side models - * - With server-side models if they are used in client mode - * - If the entity set is small + * **Note:** A custom icon cannot be set when the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}. * - * In other cases, we recommend to set the limit to at least double the value of the {@link sap.ui.mdc.Table#getThreshold threshold } - * property of the table. - */ - selectionLimit?: int | PropertyBindingInfo | `{${string}}`; - - /** - * Determines whether the header selector is shown. - */ - showHeaderSelector?: boolean | PropertyBindingInfo | `{${string}}`; - - /** - * Determines whether the number of fixed columns is configurable via the column menu. * - * @since 1.136 - */ - enableColumnFreeze?: boolean | PropertyBindingInfo | `{${string}}`; - - /** - * Defines the number of fixed columns. + * @returns Value of property `icon` */ - fixedColumnCount?: int | PropertyBindingInfo | `{${string}}`; - + getIcon(): URI; /** - * Number of records to be requested from the model when the user scrolls through the table. + * Gets current value of property {@link #getText text}. * - * The property defines how many additional (not yet visible) data records from the back-end system are - * pre-fetched during scrolling. If the `scrollThreshold` is lower than the number of visible rows, the - * number of visible rows is used as the `scrollThreshold`. If the value is 0, thresholding is disabled. + * Text for the row action item. * - * **Note:** This property only takes effect if it is set to a positive integer value. Otherwise the `threshold` - * property is used. + * **Note:** A custom text cannot be set when the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}. * - * @since 1.128 - */ - scrollThreshold?: int | PropertyBindingInfo | `{${string}}`; - } -} - -declare module "sap/ui/mdc/table/ResponsiveColumnSettings" { - import { - default as ColumnSettings, - $ColumnSettingsSettings, - } from "sap/ui/mdc/table/ColumnSettings"; - - import { Priority } from "sap/ui/core/library"; - - import ElementMetadata from "sap/ui/core/ElementMetadata"; - - import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; - - /** - * The table type info class for the metadata-driven table. - * - * @since 1.110 - */ - export default class ResponsiveColumnSettings extends ColumnSettings { - /** - * Constructor for a new `ResponsiveColumnSettings`. * - * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated - * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description - * of the syntax of the settings object. + * @returns Value of property `text` */ - constructor( - /** - * Initial settings for the new object - */ - mSettings?: $ResponsiveColumnSettingsSettings - ); + getText(): string; /** - * Constructor for a new `ResponsiveColumnSettings`. + * Gets current value of property {@link #getType type}. * - * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated - * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description - * of the syntax of the settings object. + * Type of the row action item. + * + * Setting the type ensures default values for the properties `icon` and `text`. If an icon or text is set + * explicitly, this setting is used. + * + * Default value is `Custom`. + * + * + * @returns Value of property `type` */ - constructor( - /** - * Optional ID for the new object; generated automatically if no non-empty ID is given - */ - sId?: string, - /** - * Initial settings for the new object - */ - mSettings?: $ResponsiveColumnSettingsSettings - ); - + getType(): TableRowActionType; /** - * Returns a metadata object for class sap.ui.mdc.table.ResponsiveColumnSettings. + * Gets current value of property {@link #getVisible visible}. + * + * Whether the item should be visible on the screen. + * + * Default value is `true`. * * - * @returns Metadata object describing this class + * @returns Value of property `visible` */ - static getMetadata(): ElementMetadata; + getVisible(): boolean; /** - * Gets current value of property {@link #getImportance importance}. + * Sets a new value for property {@link #getIcon icon}. * - * Defines the column importance. + * Icon for the row action item. * - * Columns are moved to the pop-in area in the following order: - * - With importance `High`: moved last - * - With importance `Medium` or `None`: moved second - * - With importance `Low`: moved first + * **Note:** A custom icon cannot be set when the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}. * - * Default value is `"None"`. + * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * @since 1.110 * - * @returns Value of property `importance` + * @returns Reference to `this` in order to allow method chaining */ - getImportance(): Priority; + setIcon( + /** + * New value for property `icon` + */ + sIcon: URI + ): this; /** - * Gets current value of property {@link #getMergeFunction mergeFunction}. + * Sets a new value for property {@link #getText text}. * - * Defines the control serialization function to merge duplicate cells into one cell block. This function - * is used to compare values of two cells. + * Text for the row action item. * - * **Note:** Don't set this property for cells for which the content provides a user interaction, such as - * `sap.m.Link`. + * **Note:** A custom text cannot be set when the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}. * - * @since 1.110 + * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * @returns Value of property `mergeFunction` + * + * @returns Reference to `this` in order to allow method chaining */ - getMergeFunction(): string; + setText( + /** + * New value for property `text` + */ + sText: string + ): this; /** - * Sets a new value for property {@link #getImportance importance}. + * Sets a new value for property {@link #getType type}. * - * Defines the column importance. + * Type of the row action item. * - * Columns are moved to the pop-in area in the following order: - * - With importance `High`: moved last - * - With importance `Medium` or `None`: moved second - * - With importance `Low`: moved first + * Setting the type ensures default values for the properties `icon` and `text`. If an icon or text is set + * explicitly, this setting is used. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * Default value is `"None"`. + * Default value is `Custom`. * - * @since 1.110 * * @returns Reference to `this` in order to allow method chaining */ - setImportance( + setType( /** - * New value for property `importance` + * New value for property `type` */ - sImportance?: Priority | keyof typeof Priority + sType?: TableRowActionType | keyof typeof TableRowActionType ): this; /** - * Sets a new value for property {@link #getMergeFunction mergeFunction}. - * - * Defines the control serialization function to merge duplicate cells into one cell block. This function - * is used to compare values of two cells. + * Sets a new value for property {@link #getVisible visible}. * - * **Note:** Don't set this property for cells for which the content provides a user interaction, such as - * `sap.m.Link`. + * Whether the item should be visible on the screen. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * @since 1.110 + * Default value is `true`. + * * * @returns Reference to `this` in order to allow method chaining */ - setMergeFunction( + setVisible( /** - * New value for property `mergeFunction` + * New value for property `visible` */ - sMergeFunction: string + bVisible?: boolean ): this; } /** - * Describes the settings that can be provided to the ResponsiveColumnSettings constructor. + * Describes the settings that can be provided to the RowActionItem constructor. */ - export interface $ResponsiveColumnSettingsSettings extends $ColumnSettingsSettings { + export interface $RowActionItemSettings extends $ElementSettings { /** - * Defines the column importance. + * Type of the row action item. * - * Columns are moved to the pop-in area in the following order: - * - With importance `High`: moved last - * - With importance `Medium` or `None`: moved second - * - With importance `Low`: moved first + * Setting the type ensures default values for the properties `icon` and `text`. If an icon or text is set + * explicitly, this setting is used. + */ + type?: + | (TableRowActionType | keyof typeof TableRowActionType) + | PropertyBindingInfo + | `{${string}}`; + + /** + * Text for the row action item. * - * @since 1.110 + * **Note:** A custom text cannot be set when the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}. + */ + text?: string | PropertyBindingInfo; + + /** + * Icon for the row action item. + * + * **Note:** A custom icon cannot be set when the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}. + */ + icon?: URI | PropertyBindingInfo | `{${string}}`; + + /** + * Whether the item should be visible on the screen. */ - importance?: - | (Priority | keyof typeof Priority) - | PropertyBindingInfo - | `{${string}}`; + visible?: boolean | PropertyBindingInfo | `{${string}}`; /** - * Defines the control serialization function to merge duplicate cells into one cell block. This function - * is used to compare values of two cells. + * Fired when the row action item is pressed. * - * **Note:** Don't set this property for cells for which the content provides a user interaction, such as - * `sap.m.Link`. + * If the table type is {@link sap.ui.mdc.table.GridTableType GridTable}, the `press` event is fired when + * a row action item is pressed. * - * @since 1.110 + * If the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}, the `press` event + * and the table's `rowPress` event are fired when a row with a row action item is pressed. */ - mergeFunction?: string | PropertyBindingInfo; + press?: (oEvent: RowActionItem$PressEvent) => void; } -} - -declare module "sap/ui/mdc/table/ResponsiveTableType" { - import { - default as TableTypeBase, - $TableTypeBaseSettings, - } from "sap/ui/mdc/table/TableTypeBase"; - import { Priority } from "sap/ui/core/library"; + /** + * Parameters of the RowActionItem#press event. + */ + export interface RowActionItem$PressEventParameters { + /** + * The binding context of the pressed row action + */ + bindingContext?: Context; + } - import TableGrowingMode from "sap/ui/mdc/enums/TableGrowingMode"; + /** + * Event object of the RowActionItem#press event. + */ + export type RowActionItem$PressEvent = Event< + RowActionItem$PressEventParameters, + RowActionItem + >; +} - import ElementMetadata from "sap/ui/core/ElementMetadata"; +declare module "sap/ui/mdc/table/RowSettings" { + import { default as UI5Element, $ElementSettings } from "sap/ui/core/Element"; - import TablePopinDisplay from "sap/ui/mdc/enums/TablePopinDisplay"; + import RowActionItem from "sap/ui/mdc/table/RowActionItem"; - import { PopinLayout } from "sap/m/library"; + import ElementMetadata from "sap/ui/core/ElementMetadata"; - import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; + import { + PropertyBindingInfo, + AggregationBindingInfo, + } from "sap/ui/base/ManagedObject"; /** - * The table type info class for the metadata-driven table. - * - * - * **Important Notes for `{@link sap.ui.mdc.table.RowSettings#setRowActionCount rowActionCount}`:** - * - * - * The `rowActionCount` property is used to determine the number of row actions that are displayed for each - * row in the table. The actual number of displayed actions can be limited by the underlying table type: - * - * - * - `ResponsiveTable`: Maximum of 2-3 actions depending on configuration (1 navigation action + 2 additional - * actions) - * - `rowActionCount` = 0: navigation action is always visible if it exists - * - * @since 1.65 + * The `RowSettings` control is used to configure a row. This control can only be used in the context of + * the `sap.ui.mdc.Table` control to define row settings. */ - export default class ResponsiveTableType extends TableTypeBase { + export default class RowSettings extends UI5Element { /** - * Constructor for a new `ResponsiveTableType`. + * Constructor for new `RowSettings`. + * + * **Note:** Only use bindings that are bound against the rows, as working functionality cannot be ensured + * for other binding types. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description @@ -22315,12 +22563,15 @@ declare module "sap/ui/mdc/table/ResponsiveTableType" { */ constructor( /** - * Initial settings for the new object + * Initial settings for the new control */ - mSettings?: $ResponsiveTableTypeSettings + mSettings?: $RowSettingsSettings ); /** - * Constructor for a new `ResponsiveTableType`. + * Constructor for new `RowSettings`. + * + * **Note:** Only use bindings that are bound against the rows, as working functionality cannot be ensured + * for other binding types. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description @@ -22332,16 +22583,16 @@ declare module "sap/ui/mdc/table/ResponsiveTableType" { */ sId?: string, /** - * Initial settings for the new object + * Initial settings for the new control */ - mSettings?: $ResponsiveTableTypeSettings + mSettings?: $RowSettingsSettings ); /** - * Creates a new subclass of class sap.ui.mdc.table.ResponsiveTableType with name `sClassName` and enriches - * it with the information contained in `oClassInfo`. + * Creates a new subclass of class sap.ui.mdc.table.RowSettings with name `sClassName` and enriches it with + * the information contained in `oClassInfo`. * - * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.mdc.table.TableTypeBase.extend}. + * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.Element.extend}. * * * @returns Created class / constructor function @@ -22354,7 +22605,7 @@ declare module "sap/ui/mdc/table/ResponsiveTableType" { /** * Object literal with information about the class */ - oClassInfo?: sap.ClassInfo, + oClassInfo?: sap.ClassInfo, /** * Constructor function for the metadata object; if not given, it defaults to the metadata implementation * used by this class @@ -22362,288 +22613,417 @@ declare module "sap/ui/mdc/table/ResponsiveTableType" { FNMetaImpl?: Function ): Function; /** - * Returns a metadata object for class sap.ui.mdc.table.ResponsiveTableType. + * Returns a metadata object for class sap.ui.mdc.table.RowSettings. * * * @returns Metadata object describing this class */ static getMetadata(): ElementMetadata; /** - * Gets current value of property {@link #getDetailsButtonSetting detailsButtonSetting}. + * Adds some rowAction to the aggregation {@link #getRowActions rowActions}. * - * Defines which columns are hidden instead of moved into the pop-in area depending on their importance. - * See {@link sap.ui.mdc.table.ResponsiveColumnSettings#getImportance} for more details. * - * **Note:** To hide columns based on their importance, it's mandatory to set `showDetailsButton` to `true`. - * If no importance is given, a device-dependent default configuration is used. - * If this property is changed after the table has been initialized, the new changes take effect only when - * the Show / Hide Details button is pressed a second time. + * @returns Reference to `this` in order to allow method chaining + */ + addRowAction( + /** + * The rowAction to add; if empty, nothing is inserted + */ + oRowAction: RowActionItem + ): this; + /** + * Destroys all the rowActions in the aggregation {@link #getRowActions rowActions}. * - * @since 1.86 * - * @returns Value of property `detailsButtonSetting` + * @returns Reference to `this` in order to allow method chaining */ - getDetailsButtonSetting(): Priority[]; + destroyRowActions(): this; /** - * Gets current value of property {@link #getGrowingMode growingMode}. + * Gets current value of property {@link #getHighlight highlight}. * - * Specifies the growing mode. + * The highlight state of the rows. * - * Default value is `Basic`. + * If the highlight is set to {@link module:sap/ui/core/message/MessageType MessageType.None} (default), + * no highlights are visible. Valid values for the `highlight` property are values of the enumerations {@link module:sap/ui/core/message/MessageType } + * or {@link sap.ui.core.IndicationColor} (only values of `Indication01` to `Indication10` are supported + * for accessibility contrast reasons). * + * Accessibility support is provided with the {@link sap.ui.mdc.table.RowSettings#setHighlightText highlightText } + * property. If the `highlight` property is set to a value of {@link module:sap/ui/core/message/MessageType}, + * the `highlightText` property does not need to be set because a default text is used. However, the default + * text can be overridden by setting the `highlightText` property. In all other cases the `highlightText` + * property must be set. * - * @returns Value of property `growingMode` + * Default value is `"None"`. + * + * + * @returns Value of property `highlight` */ - getGrowingMode(): TableGrowingMode; + getHighlight(): string; /** - * Gets current value of property {@link #getPopinDisplay popinDisplay}. + * Gets current value of property {@link #getHighlightText highlightText}. * - * Defines how the pop-in content is displayed. + * Defines the semantics of the {@link sap.ui.mdc.table.RowSettings#setHighlight highlight} property for + * accessibility purposes. * - * Default value is `Inline`. + * Default value is `empty string`. * - * @since 1.143 * - * @returns Value of property `popinDisplay` + * @returns Value of property `highlightText` */ - getPopinDisplay(): TablePopinDisplay; + getHighlightText(): string; /** - * Gets current value of property {@link #getPopinLayout popinLayout}. + * Gets current value of property {@link #getNavigated navigated}. * - * Defines the layout in which the table pop-in rows are rendered. + * The navigated state of a row. The navigation indicator is displayed at the end of a row. + * + * Default value is `false`. + * + * + * @returns Value of property `navigated` + */ + getNavigated(): boolean; + /** + * Gets current value of property {@link #getRowActionCount rowActionCount}. + * + * Defines the number of row actions to display. + * + * This property is useful for bound row actions where the count cannot be determined automatically. If + * not set, the count is derived from: + * - Bound actions: Defaults to 1 (must be set explicitly if multiple actions exist) + * - Static actions: The length of the `rowActions` aggregation + * + * **Note:** + * If the `rowActionCount` property is not explicitly set, the table will automatically determine the number + * of row actions that is displayed based on the configuration of the `RowSettings` and the underlying table + * type. In this case, the table will check how many actions are configured in the `RowSettings` and will + * display as many actions as possible up to the maximum number of actions supported by the underlying table + * type. + * + * + * If the `rowActionCount` property is explicitly set, its value will be used to determine how many row + * actions are displayed, regardless of the number of actions configured in the `RowSettings`. However, + * the actual number of displayed actions will still be limited by the maximum number of actions supported + * by the underlying table type. + * + * **Example:** + * If the underlying table type supports a maximum number of 3 row actions, and there are 5 actions configured + * in the `RowSettings`: + * + * + * - `rowActionCount` is not set, the table will display 3 actions (the maximum supported). + * - `rowActionCount` is set to 2, the table will display 2 actions (as specified), even though more actions + * are configured in the `RowSettings`. + * + * For bound row actions, the `rowActionCount` must be set explicitly, as the count cannot be determined + * automatically. For static actions, the count defaults to the length of the `rowActions` aggregation in + * the `RowSettings`. + * + * Default value is `-1`. + * + * @since 1.148 + * + * @returns Value of property `rowActionCount` + */ + getRowActionCount(): int; + /** + * Gets content of aggregation {@link #getRowActions rowActions}. + * + * The actions that appear at the end of a row. + * + * **Note:** This aggregation cannot be bound with a factory. If the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}, + * only the `Navigation` row action type is supported. + */ + getRowActions(): RowActionItem[]; + /** + * Checks for the provided `sap.ui.mdc.table.RowActionItem` in the aggregation {@link #getRowActions rowActions}. + * and returns its index if found or -1 otherwise. + * + * + * @returns The index of the provided control in the aggregation if found, or -1 otherwise + */ + indexOfRowAction( + /** + * The rowAction whose index is looked for + */ + oRowAction: RowActionItem + ): int; + /** + * Inserts a rowAction into the aggregation {@link #getRowActions rowActions}. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + insertRowAction( + /** + * The rowAction to insert; if empty, nothing is inserted + */ + oRowAction: RowActionItem, + /** + * The `0`-based index the rowAction should be inserted at; for a negative value of `iIndex`, the rowAction + * is inserted at position 0; for a value greater than the current size of the aggregation, the rowAction + * is inserted at the last position + */ + iIndex: int + ): this; + /** + * Removes all the controls from the aggregation {@link #getRowActions rowActions}. * - * Default value is `"Block"`. + * Additionally, it unregisters them from the hosting UIArea. * - * @since 1.96 * - * @returns Value of property `popinLayout` + * @returns An array of the removed elements (might be empty) */ - getPopinLayout(): PopinLayout; + removeAllRowActions(): RowActionItem[]; /** - * Gets current value of property {@link #getShowDetailsButton showDetailsButton}. - * - * Specifies whether the Show / Hide Details button is shown. - * - * If the available screen space gets too narrow, the columns configured with `High` and `Medium` importance - * move to the pop-in area, while the columns with `Low` importance are hidden. - * On mobile phones, the columns with `Medium` importance are also hidden. - * As soon as the first column is hidden, this button appears in the table toolbar and gives the user the - * possibility to toggle the visibility of the hidden columns in the pop-in area. - * - * Default value is `false`. + * Removes a rowAction from the aggregation {@link #getRowActions rowActions}. * - * @since 1.79 * - * @returns Value of property `showDetailsButton` + * @returns The removed rowAction or `null` */ - getShowDetailsButton(): boolean; + removeRowAction( + /** + * The rowAction to remove or its index or id + */ + vRowAction: int | string | RowActionItem + ): RowActionItem | null; /** - * Sets a new value for property {@link #getDetailsButtonSetting detailsButtonSetting}. + * Sets a new value for property {@link #getHighlight highlight}. * - * Defines which columns are hidden instead of moved into the pop-in area depending on their importance. - * See {@link sap.ui.mdc.table.ResponsiveColumnSettings#getImportance} for more details. + * The highlight state of the rows. * - * **Note:** To hide columns based on their importance, it's mandatory to set `showDetailsButton` to `true`. - * If no importance is given, a device-dependent default configuration is used. - * If this property is changed after the table has been initialized, the new changes take effect only when - * the Show / Hide Details button is pressed a second time. + * If the highlight is set to {@link module:sap/ui/core/message/MessageType MessageType.None} (default), + * no highlights are visible. Valid values for the `highlight` property are values of the enumerations {@link module:sap/ui/core/message/MessageType } + * or {@link sap.ui.core.IndicationColor} (only values of `Indication01` to `Indication10` are supported + * for accessibility contrast reasons). + * + * Accessibility support is provided with the {@link sap.ui.mdc.table.RowSettings#setHighlightText highlightText } + * property. If the `highlight` property is set to a value of {@link module:sap/ui/core/message/MessageType}, + * the `highlightText` property does not need to be set because a default text is used. However, the default + * text can be overridden by setting the `highlightText` property. In all other cases the `highlightText` + * property must be set. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * @since 1.86 + * Default value is `"None"`. + * * * @returns Reference to `this` in order to allow method chaining */ - setDetailsButtonSetting( + setHighlight( /** - * New value for property `detailsButtonSetting` + * New value for property `highlight` */ - sDetailsButtonSetting: Array + sHighlight?: string ): this; /** - * Sets a new value for property {@link #getGrowingMode growingMode}. + * Sets a new value for property {@link #getHighlightText highlightText}. * - * Specifies the growing mode. + * Defines the semantics of the {@link sap.ui.mdc.table.RowSettings#setHighlight highlight} property for + * accessibility purposes. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * Default value is `Basic`. + * Default value is `empty string`. * * * @returns Reference to `this` in order to allow method chaining */ - setGrowingMode( + setHighlightText( /** - * New value for property `growingMode` + * New value for property `highlightText` */ - sGrowingMode?: TableGrowingMode | keyof typeof TableGrowingMode + sHighlightText?: string ): this; /** - * Sets a new value for property {@link #getPopinDisplay popinDisplay}. + * Sets a new value for property {@link #getNavigated navigated}. * - * Defines how the pop-in content is displayed. + * The navigated state of a row. The navigation indicator is displayed at the end of a row. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * Default value is `Inline`. + * Default value is `false`. * - * @since 1.143 * * @returns Reference to `this` in order to allow method chaining */ - setPopinDisplay( + setNavigated( /** - * New value for property `popinDisplay` + * New value for property `navigated` */ - sPopinDisplay?: TablePopinDisplay | keyof typeof TablePopinDisplay + bNavigated?: boolean ): this; /** - * Sets a new value for property {@link #getPopinLayout popinLayout}. + * Sets a new value for property {@link #getRowActionCount rowActionCount}. * - * Defines the layout in which the table pop-in rows are rendered. + * Defines the number of row actions to display. * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * This property is useful for bound row actions where the count cannot be determined automatically. If + * not set, the count is derived from: + * - Bound actions: Defaults to 1 (must be set explicitly if multiple actions exist) + * - Static actions: The length of the `rowActions` aggregation * - * Default value is `"Block"`. + * **Note:** + * If the `rowActionCount` property is not explicitly set, the table will automatically determine the number + * of row actions that is displayed based on the configuration of the `RowSettings` and the underlying table + * type. In this case, the table will check how many actions are configured in the `RowSettings` and will + * display as many actions as possible up to the maximum number of actions supported by the underlying table + * type. * - * @since 1.96 * - * @returns Reference to `this` in order to allow method chaining - */ - setPopinLayout( - /** - * New value for property `popinLayout` - */ - sPopinLayout?: PopinLayout | keyof typeof PopinLayout - ): this; - /** - * Sets a new value for property {@link #getShowDetailsButton showDetailsButton}. + * If the `rowActionCount` property is explicitly set, its value will be used to determine how many row + * actions are displayed, regardless of the number of actions configured in the `RowSettings`. However, + * the actual number of displayed actions will still be limited by the maximum number of actions supported + * by the underlying table type. * - * Specifies whether the Show / Hide Details button is shown. + * **Example:** + * If the underlying table type supports a maximum number of 3 row actions, and there are 5 actions configured + * in the `RowSettings`: * - * If the available screen space gets too narrow, the columns configured with `High` and `Medium` importance - * move to the pop-in area, while the columns with `Low` importance are hidden. - * On mobile phones, the columns with `Medium` importance are also hidden. - * As soon as the first column is hidden, this button appears in the table toolbar and gives the user the - * possibility to toggle the visibility of the hidden columns in the pop-in area. + * + * - `rowActionCount` is not set, the table will display 3 actions (the maximum supported). + * - `rowActionCount` is set to 2, the table will display 2 actions (as specified), even though more actions + * are configured in the `RowSettings`. + * + * For bound row actions, the `rowActionCount` must be set explicitly, as the count cannot be determined + * automatically. For static actions, the count defaults to the length of the `rowActions` aggregation in + * the `RowSettings`. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * Default value is `false`. + * Default value is `-1`. * - * @since 1.79 + * @since 1.148 * * @returns Reference to `this` in order to allow method chaining */ - setShowDetailsButton( + setRowActionCount( /** - * New value for property `showDetailsButton` + * New value for property `rowActionCount` */ - bShowDetailsButton?: boolean + iRowActionCount?: int ): this; } /** - * Describes the settings that can be provided to the ResponsiveTableType constructor. + * Describes the settings that can be provided to the RowSettings constructor. */ - export interface $ResponsiveTableTypeSettings extends $TableTypeBaseSettings { + export interface $RowSettingsSettings extends $ElementSettings { /** - * Specifies the growing mode. + * The highlight state of the rows. + * + * If the highlight is set to {@link module:sap/ui/core/message/MessageType MessageType.None} (default), + * no highlights are visible. Valid values for the `highlight` property are values of the enumerations {@link module:sap/ui/core/message/MessageType } + * or {@link sap.ui.core.IndicationColor} (only values of `Indication01` to `Indication10` are supported + * for accessibility contrast reasons). + * + * Accessibility support is provided with the {@link sap.ui.mdc.table.RowSettings#setHighlightText highlightText } + * property. If the `highlight` property is set to a value of {@link module:sap/ui/core/message/MessageType}, + * the `highlightText` property does not need to be set because a default text is used. However, the default + * text can be overridden by setting the `highlightText` property. In all other cases the `highlightText` + * property must be set. */ - growingMode?: - | (TableGrowingMode | keyof typeof TableGrowingMode) - | PropertyBindingInfo - | `{${string}}`; + highlight?: string | PropertyBindingInfo; /** - * Specifies whether the Show / Hide Details button is shown. - * - * If the available screen space gets too narrow, the columns configured with `High` and `Medium` importance - * move to the pop-in area, while the columns with `Low` importance are hidden. - * On mobile phones, the columns with `Medium` importance are also hidden. - * As soon as the first column is hidden, this button appears in the table toolbar and gives the user the - * possibility to toggle the visibility of the hidden columns in the pop-in area. - * - * @since 1.79 + * Defines the semantics of the {@link sap.ui.mdc.table.RowSettings#setHighlight highlight} property for + * accessibility purposes. */ - showDetailsButton?: boolean | PropertyBindingInfo | `{${string}}`; + highlightText?: string | PropertyBindingInfo; /** - * Defines which columns are hidden instead of moved into the pop-in area depending on their importance. - * See {@link sap.ui.mdc.table.ResponsiveColumnSettings#getImportance} for more details. - * - * **Note:** To hide columns based on their importance, it's mandatory to set `showDetailsButton` to `true`. - * If no importance is given, a device-dependent default configuration is used. - * If this property is changed after the table has been initialized, the new changes take effect only when - * the Show / Hide Details button is pressed a second time. - * - * @since 1.86 + * The navigated state of a row. The navigation indicator is displayed at the end of a row. */ - detailsButtonSetting?: - | Array - | PropertyBindingInfo - | `{${string}}`; + navigated?: boolean | PropertyBindingInfo | `{${string}}`; /** - * Defines the layout in which the table pop-in rows are rendered. + * Defines the number of row actions to display. * - * @since 1.96 + * This property is useful for bound row actions where the count cannot be determined automatically. If + * not set, the count is derived from: + * - Bound actions: Defaults to 1 (must be set explicitly if multiple actions exist) + * - Static actions: The length of the `rowActions` aggregation + * + * **Note:** + * If the `rowActionCount` property is not explicitly set, the table will automatically determine the number + * of row actions that is displayed based on the configuration of the `RowSettings` and the underlying table + * type. In this case, the table will check how many actions are configured in the `RowSettings` and will + * display as many actions as possible up to the maximum number of actions supported by the underlying table + * type. + * + * + * If the `rowActionCount` property is explicitly set, its value will be used to determine how many row + * actions are displayed, regardless of the number of actions configured in the `RowSettings`. However, + * the actual number of displayed actions will still be limited by the maximum number of actions supported + * by the underlying table type. + * + * **Example:** + * If the underlying table type supports a maximum number of 3 row actions, and there are 5 actions configured + * in the `RowSettings`: + * + * + * - `rowActionCount` is not set, the table will display 3 actions (the maximum supported). + * - `rowActionCount` is set to 2, the table will display 2 actions (as specified), even though more actions + * are configured in the `RowSettings`. + * + * For bound row actions, the `rowActionCount` must be set explicitly, as the count cannot be determined + * automatically. For static actions, the count defaults to the length of the `rowActions` aggregation in + * the `RowSettings`. + * + * @since 1.148 */ - popinLayout?: - | (PopinLayout | keyof typeof PopinLayout) - | PropertyBindingInfo - | `{${string}}`; + rowActionCount?: int | PropertyBindingInfo | `{${string}}`; /** - * Defines how the pop-in content is displayed. + * The actions that appear at the end of a row. * - * @since 1.143 + * **Note:** This aggregation cannot be bound with a factory. If the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}, + * only the `Navigation` row action type is supported. */ - popinDisplay?: - | (TablePopinDisplay | keyof typeof TablePopinDisplay) - | PropertyBindingInfo + rowActions?: + | RowActionItem[] + | RowActionItem + | AggregationBindingInfo | `{${string}}`; } } -declare module "sap/ui/mdc/table/RowActionItem" { - import { default as UI5Element, $ElementSettings } from "sap/ui/core/Element"; - - import { URI } from "sap/ui/core/library"; - - import ElementMetadata from "sap/ui/core/ElementMetadata"; - - import TableRowActionType from "sap/ui/mdc/enums/TableRowActionType"; - - import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; - - import Context from "sap/ui/model/Context"; +declare module "sap/ui/mdc/table/TableTypeBase" { + import { default as UI5Element, $ElementSettings } from "sap/ui/core/Element"; - import Event from "sap/ui/base/Event"; + import ElementMetadata from "sap/ui/core/ElementMetadata"; /** - * The `RowActionItem` control represents a action for a row. This control can only be used in the context - * of `sap.ui.mdc.Table` control to define row actions. + * The table type info base class for the metadata-driven table. Base class with no implementation. + * + * + * @since 1.65 */ - export default class RowActionItem extends UI5Element { + export default abstract class TableTypeBase extends UI5Element { /** - * Constructor for new RowActionItem. + * Constructor for a new `TableTypeBase`. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description * of the syntax of the settings object. + * + * This class does not have its own settings, but all settings applicable to the base type {@link sap.ui.core.Element#constructor sap.ui.core.Element } + * can be used. */ constructor( /** - * initial settings for the new control + * Initial settings for the new object */ - mSettings?: $RowActionItemSettings + mSettings?: $TableTypeBaseSettings ); /** - * Constructor for new RowActionItem. + * Constructor for a new `TableTypeBase`. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description * of the syntax of the settings object. + * + * This class does not have its own settings, but all settings applicable to the base type {@link sap.ui.core.Element#constructor sap.ui.core.Element } + * can be used. */ constructor( /** @@ -22651,13 +23031,13 @@ declare module "sap/ui/mdc/table/RowActionItem" { */ sId?: string, /** - * initial settings for the new control + * Initial settings for the new object */ - mSettings?: $RowActionItemSettings + mSettings?: $TableTypeBaseSettings ); /** - * Creates a new subclass of class sap.ui.mdc.table.RowActionItem with name `sClassName` and enriches it + * Creates a new subclass of class sap.ui.mdc.table.TableTypeBase with name `sClassName` and enriches it * with the information contained in `oClassInfo`. * * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.Element.extend}. @@ -22673,7 +23053,7 @@ declare module "sap/ui/mdc/table/RowActionItem" { /** * Object literal with information about the class */ - oClassInfo?: sap.ClassInfo, + oClassInfo?: sap.ClassInfo, /** * Constructor function for the metadata object; if not given, it defaults to the metadata implementation * used by this class @@ -22681,595 +23061,781 @@ declare module "sap/ui/mdc/table/RowActionItem" { FNMetaImpl?: Function ): Function; /** - * Returns a metadata object for class sap.ui.mdc.table.RowActionItem. + * Returns a metadata object for class sap.ui.mdc.table.TableTypeBase. * * * @returns Metadata object describing this class */ static getMetadata(): ElementMetadata; + } + /** + * Describes the settings that can be provided to the TableTypeBase constructor. + */ + export interface $TableTypeBaseSettings extends $ElementSettings {} +} + +declare module "sap/ui/mdc/table/TreeTableType" { + import { + default as GridTableType, + $GridTableTypeSettings, + } from "sap/ui/mdc/table/GridTableType"; + + import ElementMetadata from "sap/ui/core/ElementMetadata"; + + /** + * The table type info class for the metadata-driven table. + * + * @since 1.109 + */ + export default class TreeTableType extends GridTableType { /** - * Attaches event handler `fnFunction` to the {@link #event:press press} event of this `sap.ui.mdc.table.RowActionItem`. - * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.table.RowActionItem` itself. - * - * Fired when the row action item is pressed. - * - * If the table type is {@link sap.ui.mdc.table.GridTableType GridTable}, the `press` event is fired when - * a row action item is pressed. - * - * If the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}, the `press` event - * and the table's `rowPress` event are fired when a row with a row action item is pressed. + * Constructor for a new `TreeTableType`. * + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. * - * @returns Reference to `this` in order to allow method chaining + * This class does not have its own settings, but all settings applicable to the base type {@link sap.ui.mdc.table.GridTableType#constructor sap.ui.mdc.table.GridTableType } + * can be used. */ - attachPress( - /** - * An application-specific payload object that will be passed to the event handler along with the event - * object when firing the event - */ - oData: object, - /** - * The function to be called when the event occurs - */ - fnFunction: (p1: RowActionItem$PressEvent) => void, + constructor( /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.RowActionItem` itself + * Initial settings for the new object */ - oListener?: object - ): this; + mSettings?: $TreeTableTypeSettings + ); /** - * Attaches event handler `fnFunction` to the {@link #event:press press} event of this `sap.ui.mdc.table.RowActionItem`. - * - * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, - * otherwise it will be bound to this `sap.ui.mdc.table.RowActionItem` itself. - * - * Fired when the row action item is pressed. - * - * If the table type is {@link sap.ui.mdc.table.GridTableType GridTable}, the `press` event is fired when - * a row action item is pressed. - * - * If the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}, the `press` event - * and the table's `rowPress` event are fired when a row with a row action item is pressed. + * Constructor for a new `TreeTableType`. * + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. * - * @returns Reference to `this` in order to allow method chaining + * This class does not have its own settings, but all settings applicable to the base type {@link sap.ui.mdc.table.GridTableType#constructor sap.ui.mdc.table.GridTableType } + * can be used. */ - attachPress( + constructor( /** - * The function to be called when the event occurs + * Optional ID for the new object; generated automatically if no non-empty ID is given */ - fnFunction: (p1: RowActionItem$PressEvent) => void, + sId?: string, /** - * Context object to call the event handler with. Defaults to this `sap.ui.mdc.table.RowActionItem` itself + * Initial settings for the new object */ - oListener?: object - ): this; + mSettings?: $TreeTableTypeSettings + ); + /** - * Detaches event handler `fnFunction` from the {@link #event:press press} event of this `sap.ui.mdc.table.RowActionItem`. + * Creates a new subclass of class sap.ui.mdc.table.TreeTableType with name `sClassName` and enriches it + * with the information contained in `oClassInfo`. * - * The passed function and listener object must match the ones used for event registration. + * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.mdc.table.GridTableType.extend}. * * - * @returns Reference to `this` in order to allow method chaining + * @returns Created class / constructor function */ - detachPress( + static extend>( /** - * The function to be called, when the event occurs + * Name of the class being created */ - fnFunction: (p1: RowActionItem$PressEvent) => void, + sClassName: string, /** - * Context object on which the given function had to be called + * Object literal with information about the class */ - oListener?: object - ): this; + oClassInfo?: sap.ClassInfo, + /** + * Constructor function for the metadata object; if not given, it defaults to the metadata implementation + * used by this class + */ + FNMetaImpl?: Function + ): Function; /** - * Fires event {@link #event:press press} to attached listeners. + * Returns a metadata object for class sap.ui.mdc.table.TreeTableType. * - * @ui5-protected Do not call from applications (only from related classes in the framework) * - * @returns Reference to `this` in order to allow method chaining + * @returns Metadata object describing this class */ - firePress( - /** - * Parameters to pass along with the event - */ - mParameters?: RowActionItem$PressEventParameters - ): this; + static getMetadata(): ElementMetadata; + } + /** + * Describes the settings that can be provided to the TreeTableType constructor. + */ + export interface $TreeTableTypeSettings extends $GridTableTypeSettings {} +} + +declare module "sap/ui/mdc/util/PropertyHelper" { + /** + * An object literal that describes attributes of a complex data property. A complex property references + * other properties in the `propertyInfos` attribute. + */ + export type ComplexPropertyInfo = PropertyInfoBase & { + /** + * A list of related properties (by key). These related properties must not themselves be complex. + */ + propertyInfos: string[]; + }; + + /** + * An object literal that describes attributes of a data property. + */ + export type PropertyInfo = PropertyInfoBase & { + /** + * The name of the data type + */ + dataType: string; + /** + * Defines the formatting options for the data type + */ + formatOptions?: object; + /** + * Defines the constraints for the data type + */ + constraints?: object; + /** + * The technical path for a data source property + */ + path?: string; + /** + * Defines the maximum number of filter conditions for the property. Possible values that can be used: + * + * - 1 is a single-filter expression field + * - -1 is a multi-filter expression field This information is, for example, used in the `addItem` + * method of the `FilterBar` control to forward this information to the created `FilterField` instance. + */ + maxConditions?: int; + /** + * Whether filtering by this property is case-sensitive + */ + caseSensitive?: boolean; + }; + + export type PropertyInfoBase = { + /** + * Unique, stable key for the property. It must only contain characters allowed for IDs, see {@link sap.ui.core.ID}. + * Does not have to be an existing attribute in the data model or the technical name of an attribute in + * the data model. + */ + key: string; + /** + * Translatable text that labels the property + */ + label: string; + /** + * Translatable text that can optionally be offered as tooltip, for example, in a personalization dialog + */ + tooltip?: string; + /** + * Whether the property is or can be visible to a user + */ + visible?: boolean; + /** + * Key of the group in which the property is located. Used to visually group properties in personalization + * dialogs. The group with the `basic` key is always shown as the first group. + */ + group?: string; + /** + * Translatable text of the group. + */ + groupLabel?: string; + }; +} + +declare module "sap/ui/mdc/util/DragDropConfigBase" { + import { + default as DragDropBase, + $DragDropBaseSettings, + } from "sap/ui/core/dnd/DragDropBase"; + + import Event from "sap/ui/base/Event"; + + import { dnd } from "sap/ui/core/library"; + + import ElementMetadata from "sap/ui/core/ElementMetadata"; + + import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; + + import Context from "sap/ui/model/Context"; + + /** + * Abstract base class for drag-and-drop configuration of MDC controls that wrap an inner control behind + * a hidden `_content` aggregation. + * + * Subclasses must implement {@link #_getItemsAggregationName} and {@link #_getDragSource}. + * + * @since 1.153 + */ + export default abstract class DragDropConfigBase extends DragDropBase { /** - * Gets current value of property {@link #getIcon icon}. - * - * Icon for the row action item. - * - * **Note:** A custom icon cannot be set when the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}. + * Constructor for a new `DragDropConfigBase`. * + * Provides the shared drag-and-drop infrastructure for `sap.ui.mdc.list.DragDropConfig` and `sap.ui.mdc.table.DragDropConfig`. + * Not intended for direct use by applications. * - * @returns Value of property `icon` + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. */ - getIcon(): URI; + constructor( + /** + * Initial settings for the new object + */ + mSettings?: $DragDropConfigBaseSettings + ); /** - * Gets current value of property {@link #getText text}. - * - * Text for the row action item. - * - * **Note:** A custom text cannot be set when the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}. + * Constructor for a new `DragDropConfigBase`. * + * Provides the shared drag-and-drop infrastructure for `sap.ui.mdc.list.DragDropConfig` and `sap.ui.mdc.table.DragDropConfig`. + * Not intended for direct use by applications. * - * @returns Value of property `text` + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. */ - getText(): string; + constructor( + /** + * ID for the new object, generated automatically if no ID is given + */ + sId?: string, + /** + * Initial settings for the new object + */ + mSettings?: $DragDropConfigBaseSettings + ); + /** - * Gets current value of property {@link #getType type}. - * - * Type of the row action item. - * - * Setting the type ensures default values for the properties `icon` and `text`. If an icon or text is set - * explicitly, this setting is used. + * Creates a new subclass of class sap.ui.mdc.util.DragDropConfigBase with name `sClassName` and enriches + * it with the information contained in `oClassInfo`. * - * Default value is `Custom`. + * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.dnd.DragDropBase.extend}. * * - * @returns Value of property `type` + * @returns Created class / constructor function */ - getType(): TableRowActionType; + static extend>( + /** + * Name of the class being created + */ + sClassName: string, + /** + * Object literal with information about the class + */ + oClassInfo?: sap.ClassInfo, + /** + * Constructor function for the metadata object; if not given, it defaults to the metadata implementation + * used by this class + */ + FNMetaImpl?: Function + ): Function; /** - * Gets current value of property {@link #getVisible visible}. - * - * Whether the item should be visible on the screen. - * - * Default value is `true`. + * Returns a metadata object for class sap.ui.mdc.util.DragDropConfigBase. * * - * @returns Value of property `visible` + * @returns Metadata object describing this class */ - getVisible(): boolean; + static getMetadata(): ElementMetadata; /** - * Sets a new value for property {@link #getIcon icon}. - * - * Icon for the row action item. + * Attaches event handler `fnFunction` to the {@link #event:dragEnd dragEnd} event of this `sap.ui.mdc.util.DragDropConfigBase`. * - * **Note:** A custom icon cannot be set when the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.util.DragDropConfigBase` itself. * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * This event is fired when the drag operation is ended, if the `draggable` property is set to `true`. * * * @returns Reference to `this` in order to allow method chaining */ - setIcon( + attachDragEnd( /** - * New value for property `icon` + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event */ - sIcon: URI + oData: object, + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: DragDropConfigBase$DragEndEvent) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.util.DragDropConfigBase` + * itself + */ + oListener?: object ): this; /** - * Sets a new value for property {@link #getText text}. - * - * Text for the row action item. + * Attaches event handler `fnFunction` to the {@link #event:dragEnd dragEnd} event of this `sap.ui.mdc.util.DragDropConfigBase`. * - * **Note:** A custom text cannot be set when the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.util.DragDropConfigBase` itself. * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * This event is fired when the drag operation is ended, if the `draggable` property is set to `true`. * * * @returns Reference to `this` in order to allow method chaining */ - setText( + attachDragEnd( /** - * New value for property `text` + * The function to be called when the event occurs */ - sText: string + fnFunction: (p1: DragDropConfigBase$DragEndEvent) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.util.DragDropConfigBase` + * itself + */ + oListener?: object ): this; /** - * Sets a new value for property {@link #getType type}. + * Attaches event handler `fnFunction` to the {@link #event:dragEnter dragEnter} event of this `sap.ui.mdc.util.DragDropConfigBase`. * - * Type of the row action item. - * - * Setting the type ensures default values for the properties `icon` and `text`. If an icon or text is set - * explicitly, this setting is used. - * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.util.DragDropConfigBase` itself. * - * Default value is `Custom`. + * This event is fired when a dragged element enters an item, if the `droppable` property is set to `true`. * * * @returns Reference to `this` in order to allow method chaining */ - setType( + attachDragEnter( /** - * New value for property `type` + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event */ - sType?: TableRowActionType | keyof typeof TableRowActionType + oData: object, + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.util.DragDropConfigBase` + * itself + */ + oListener?: object ): this; /** - * Sets a new value for property {@link #getVisible visible}. + * Attaches event handler `fnFunction` to the {@link #event:dragEnter dragEnter} event of this `sap.ui.mdc.util.DragDropConfigBase`. * - * Whether the item should be visible on the screen. - * - * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.util.DragDropConfigBase` itself. * - * Default value is `true`. + * This event is fired when a dragged element enters an item, if the `droppable` property is set to `true`. * * * @returns Reference to `this` in order to allow method chaining */ - setVisible( + attachDragEnter( /** - * New value for property `visible` + * The function to be called when the event occurs */ - bVisible?: boolean + fnFunction: (p1: Event) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.util.DragDropConfigBase` + * itself + */ + oListener?: object ): this; - } - /** - * Describes the settings that can be provided to the RowActionItem constructor. - */ - export interface $RowActionItemSettings extends $ElementSettings { - /** - * Type of the row action item. - * - * Setting the type ensures default values for the properties `icon` and `text`. If an icon or text is set - * explicitly, this setting is used. - */ - type?: - | (TableRowActionType | keyof typeof TableRowActionType) - | PropertyBindingInfo - | `{${string}}`; - - /** - * Text for the row action item. - * - * **Note:** A custom text cannot be set when the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}. - */ - text?: string | PropertyBindingInfo; - - /** - * Icon for the row action item. - * - * **Note:** A custom icon cannot be set when the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}. - */ - icon?: URI | PropertyBindingInfo | `{${string}}`; - - /** - * Whether the item should be visible on the screen. - */ - visible?: boolean | PropertyBindingInfo | `{${string}}`; - /** - * Fired when the row action item is pressed. + * Attaches event handler `fnFunction` to the {@link #event:dragOver dragOver} event of this `sap.ui.mdc.util.DragDropConfigBase`. * - * If the table type is {@link sap.ui.mdc.table.GridTableType GridTable}, the `press` event is fired when - * a row action item is pressed. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.util.DragDropConfigBase` itself. * - * If the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}, the `press` event - * and the table's `rowPress` event are fired when a row with a row action item is pressed. - */ - press?: (oEvent: RowActionItem$PressEvent) => void; - } - - /** - * Parameters of the RowActionItem#press event. - */ - export interface RowActionItem$PressEventParameters { - /** - * The binding context of the pressed row action - */ - bindingContext?: Context; - } - - /** - * Event object of the RowActionItem#press event. - */ - export type RowActionItem$PressEvent = Event< - RowActionItem$PressEventParameters, - RowActionItem - >; -} - -declare module "sap/ui/mdc/table/RowSettings" { - import { default as UI5Element, $ElementSettings } from "sap/ui/core/Element"; - - import RowActionItem from "sap/ui/mdc/table/RowActionItem"; - - import ElementMetadata from "sap/ui/core/ElementMetadata"; - - import { - PropertyBindingInfo, - AggregationBindingInfo, - } from "sap/ui/base/ManagedObject"; - - /** - * The `RowSettings` control is used to configure a row. This control can only be used in the context of - * the `sap.ui.mdc.Table` control to define row settings. - */ - export default class RowSettings extends UI5Element { - /** - * Constructor for new `RowSettings`. + * This event is fired when an element is being dragged over an item, if the `droppable` property is set + * to `true`. * - * **Note:** Only use bindings that are bound against the rows, as working functionality cannot be ensured - * for other binding types. * - * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated - * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description - * of the syntax of the settings object. + * @returns Reference to `this` in order to allow method chaining */ - constructor( + attachDragOver( /** - * Initial settings for the new control + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event */ - mSettings?: $RowSettingsSettings - ); + oData: object, + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.util.DragDropConfigBase` + * itself + */ + oListener?: object + ): this; /** - * Constructor for new `RowSettings`. + * Attaches event handler `fnFunction` to the {@link #event:dragOver dragOver} event of this `sap.ui.mdc.util.DragDropConfigBase`. * - * **Note:** Only use bindings that are bound against the rows, as working functionality cannot be ensured - * for other binding types. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.util.DragDropConfigBase` itself. * - * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated - * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description - * of the syntax of the settings object. + * This event is fired when an element is being dragged over an item, if the `droppable` property is set + * to `true`. + * + * + * @returns Reference to `this` in order to allow method chaining */ - constructor( + attachDragOver( /** - * Optional ID for the new object; generated automatically if no non-empty ID is given + * The function to be called when the event occurs */ - sId?: string, + fnFunction: (p1: Event) => void, /** - * Initial settings for the new control + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.util.DragDropConfigBase` + * itself */ - mSettings?: $RowSettingsSettings - ); - + oListener?: object + ): this; /** - * Creates a new subclass of class sap.ui.mdc.table.RowSettings with name `sClassName` and enriches it with - * the information contained in `oClassInfo`. + * Attaches event handler `fnFunction` to the {@link #event:dragStart dragStart} event of this `sap.ui.mdc.util.DragDropConfigBase`. * - * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.Element.extend}. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.util.DragDropConfigBase` itself. * + * This event is fired when the user starts dragging an item, if the `draggable` property is set to `true`. * - * @returns Created class / constructor function + * + * @returns Reference to `this` in order to allow method chaining */ - static extend>( + attachDragStart( /** - * Name of the class being created + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event */ - sClassName: string, + oData: object, /** - * Object literal with information about the class + * The function to be called when the event occurs */ - oClassInfo?: sap.ClassInfo, + fnFunction: (p1: DragDropConfigBase$DragStartEvent) => void, /** - * Constructor function for the metadata object; if not given, it defaults to the metadata implementation - * used by this class + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.util.DragDropConfigBase` + * itself */ - FNMetaImpl?: Function - ): Function; + oListener?: object + ): this; /** - * Returns a metadata object for class sap.ui.mdc.table.RowSettings. + * Attaches event handler `fnFunction` to the {@link #event:dragStart dragStart} event of this `sap.ui.mdc.util.DragDropConfigBase`. * + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.util.DragDropConfigBase` itself. * - * @returns Metadata object describing this class - */ - static getMetadata(): ElementMetadata; - /** - * Adds some rowAction to the aggregation {@link #getRowActions rowActions}. + * This event is fired when the user starts dragging an item, if the `draggable` property is set to `true`. * * * @returns Reference to `this` in order to allow method chaining */ - addRowAction( + attachDragStart( /** - * The rowAction to add; if empty, nothing is inserted + * The function to be called when the event occurs */ - oRowAction: RowActionItem + fnFunction: (p1: DragDropConfigBase$DragStartEvent) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.util.DragDropConfigBase` + * itself + */ + oListener?: object ): this; /** - * Destroys all the rowActions in the aggregation {@link #getRowActions rowActions}. + * Attaches event handler `fnFunction` to the {@link #event:drop drop} event of this `sap.ui.mdc.util.DragDropConfigBase`. + * + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.util.DragDropConfigBase` itself. + * + * This event is fired when an element is dropped on an item, if the `droppable` property is set to `true`. * * * @returns Reference to `this` in order to allow method chaining */ - destroyRowActions(): this; + attachDrop( + /** + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event + */ + oData: object, + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.util.DragDropConfigBase` + * itself + */ + oListener?: object + ): this; /** - * Gets current value of property {@link #getHighlight highlight}. + * Attaches event handler `fnFunction` to the {@link #event:drop drop} event of this `sap.ui.mdc.util.DragDropConfigBase`. * - * The highlight state of the rows. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.util.DragDropConfigBase` itself. * - * If the highlight is set to {@link module:sap/ui/core/message/MessageType MessageType.None} (default), - * no highlights are visible. Valid values for the `highlight` property are values of the enumerations {@link module:sap/ui/core/message/MessageType } - * or {@link sap.ui.core.IndicationColor} (only values of `Indication01` to `Indication10` are supported - * for accessibility contrast reasons). + * This event is fired when an element is dropped on an item, if the `droppable` property is set to `true`. * - * Accessibility support is provided with the {@link sap.ui.mdc.table.RowSettings#setHighlightText highlightText } - * property. If the `highlight` property is set to a value of {@link module:sap/ui/core/message/MessageType}, - * the `highlightText` property does not need to be set because a default text is used. However, the default - * text can be overridden by setting the `highlightText` property. In all other cases the `highlightText` - * property must be set. * - * Default value is `"None"`. + * @returns Reference to `this` in order to allow method chaining + */ + attachDrop( + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.util.DragDropConfigBase` + * itself + */ + oListener?: object + ): this; + /** + * Detaches event handler `fnFunction` from the {@link #event:dragEnd dragEnd} event of this `sap.ui.mdc.util.DragDropConfigBase`. * + * The passed function and listener object must match the ones used for event registration. * - * @returns Value of property `highlight` + * + * @returns Reference to `this` in order to allow method chaining */ - getHighlight(): string; + detachDragEnd( + /** + * The function to be called, when the event occurs + */ + fnFunction: (p1: DragDropConfigBase$DragEndEvent) => void, + /** + * Context object on which the given function had to be called + */ + oListener?: object + ): this; /** - * Gets current value of property {@link #getHighlightText highlightText}. - * - * Defines the semantics of the {@link sap.ui.mdc.table.RowSettings#setHighlight highlight} property for - * accessibility purposes. + * Detaches event handler `fnFunction` from the {@link #event:dragEnter dragEnter} event of this `sap.ui.mdc.util.DragDropConfigBase`. * - * Default value is `empty string`. + * The passed function and listener object must match the ones used for event registration. * * - * @returns Value of property `highlightText` + * @returns Reference to `this` in order to allow method chaining */ - getHighlightText(): string; + detachDragEnter( + /** + * The function to be called, when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object on which the given function had to be called + */ + oListener?: object + ): this; /** - * Gets current value of property {@link #getNavigated navigated}. + * Detaches event handler `fnFunction` from the {@link #event:dragOver dragOver} event of this `sap.ui.mdc.util.DragDropConfigBase`. * - * The navigated state of a row. The navigation indicator is displayed at the end of a row. - * - * Default value is `false`. + * The passed function and listener object must match the ones used for event registration. * * - * @returns Value of property `navigated` + * @returns Reference to `this` in order to allow method chaining */ - getNavigated(): boolean; + detachDragOver( + /** + * The function to be called, when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object on which the given function had to be called + */ + oListener?: object + ): this; /** - * Gets current value of property {@link #getRowActionCount rowActionCount}. - * - * Defines the number of row actions to display. + * Detaches event handler `fnFunction` from the {@link #event:dragStart dragStart} event of this `sap.ui.mdc.util.DragDropConfigBase`. * - * This property is useful for bound row actions where the count cannot be determined automatically. If - * not set, the count is derived from: - * - Bound actions: Defaults to 1 (must be set explicitly if multiple actions exist) - * - Static actions: The length of the `rowActions` aggregation + * The passed function and listener object must match the ones used for event registration. * - * **Note:** - * If the `rowActionCount` property is not explicitly set, the table will automatically determine the number - * of row actions that is displayed based on the configuration of the `RowSettings` and the underlying table - * type. In this case, the table will check how many actions are configured in the `RowSettings` and will - * display as many actions as possible up to the maximum number of actions supported by the underlying table - * type. * + * @returns Reference to `this` in order to allow method chaining + */ + detachDragStart( + /** + * The function to be called, when the event occurs + */ + fnFunction: (p1: DragDropConfigBase$DragStartEvent) => void, + /** + * Context object on which the given function had to be called + */ + oListener?: object + ): this; + /** + * Detaches event handler `fnFunction` from the {@link #event:drop drop} event of this `sap.ui.mdc.util.DragDropConfigBase`. * - * If the `rowActionCount` property is explicitly set, its value will be used to determine how many row - * actions are displayed, regardless of the number of actions configured in the `RowSettings`. However, - * the actual number of displayed actions will still be limited by the maximum number of actions supported - * by the underlying table type. + * The passed function and listener object must match the ones used for event registration. * - * **Example:** - * If the underlying table type supports a maximum number of 3 row actions, and there are 5 actions configured - * in the `RowSettings`: * + * @returns Reference to `this` in order to allow method chaining + */ + detachDrop( + /** + * The function to be called, when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object on which the given function had to be called + */ + oListener?: object + ): this; + /** + * Fires event {@link #event:dragEnd dragEnd} to attached listeners. * - * - `rowActionCount` is not set, the table will display 3 actions (the maximum supported). - * - `rowActionCount` is set to 2, the table will display 2 actions (as specified), even though more actions - * are configured in the `RowSettings`. + * @ui5-protected Do not call from applications (only from related classes in the framework) * - * For bound row actions, the `rowActionCount` must be set explicitly, as the count cannot be determined - * automatically. For static actions, the count defaults to the length of the `rowActions` aggregation in - * the `RowSettings`. + * @returns Reference to `this` in order to allow method chaining + */ + fireDragEnd( + /** + * Parameters to pass along with the event + */ + mParameters?: DragDropConfigBase$DragEndEventParameters + ): this; + /** + * Fires event {@link #event:dragEnter dragEnter} to attached listeners. * - * Default value is `-1`. + * Listeners may prevent the default action of this event by calling the `preventDefault` method on the + * event object. The return value of this method indicates whether the default action should be executed. * - * @since 1.148 + * @ui5-protected Do not call from applications (only from related classes in the framework) * - * @returns Value of property `rowActionCount` + * @returns Whether or not to prevent the default action */ - getRowActionCount(): int; + fireDragEnter( + /** + * Parameters to pass along with the event + */ + mParameters?: object + ): boolean; /** - * Gets content of aggregation {@link #getRowActions rowActions}. + * Fires event {@link #event:dragOver dragOver} to attached listeners. * - * The actions that appear at the end of a row. + * Listeners may prevent the default action of this event by calling the `preventDefault` method on the + * event object. The return value of this method indicates whether the default action should be executed. * - * **Note:** This aggregation cannot be bound with a factory. If the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}, - * only the `Navigation` row action type is supported. + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns Whether or not to prevent the default action */ - getRowActions(): RowActionItem[]; + fireDragOver( + /** + * Parameters to pass along with the event + */ + mParameters?: object + ): boolean; /** - * Checks for the provided `sap.ui.mdc.table.RowActionItem` in the aggregation {@link #getRowActions rowActions}. - * and returns its index if found or -1 otherwise. + * Fires event {@link #event:dragStart dragStart} to attached listeners. + * + * Listeners may prevent the default action of this event by calling the `preventDefault` method on the + * event object. The return value of this method indicates whether the default action should be executed. * + * @ui5-protected Do not call from applications (only from related classes in the framework) * - * @returns The index of the provided control in the aggregation if found, or -1 otherwise + * @returns Whether or not to prevent the default action */ - indexOfRowAction( + fireDragStart( /** - * The rowAction whose index is looked for + * Parameters to pass along with the event */ - oRowAction: RowActionItem - ): int; + mParameters?: DragDropConfigBase$DragStartEventParameters + ): boolean; /** - * Inserts a rowAction into the aggregation {@link #getRowActions rowActions}. + * Fires event {@link #event:drop drop} to attached listeners. * + * @ui5-protected Do not call from applications (only from related classes in the framework) * * @returns Reference to `this` in order to allow method chaining */ - insertRowAction( - /** - * The rowAction to insert; if empty, nothing is inserted - */ - oRowAction: RowActionItem, + fireDrop( /** - * The `0`-based index the rowAction should be inserted at; for a negative value of `iIndex`, the rowAction - * is inserted at position 0; for a value greater than the current size of the aggregation, the rowAction - * is inserted at the last position + * Parameters to pass along with the event */ - iIndex: int + mParameters?: object ): this; /** - * Removes all the controls from the aggregation {@link #getRowActions rowActions}. + * Gets current value of property {@link #getDraggable draggable}. * - * Additionally, it unregisters them from the hosting UIArea. + * Determines whether the items are draggable. * + * **Note:** Setting this property to `true` may expose the items in other `DropInfo` event parameters. + * In this case, only the binding context of the item is allowed to be used. Internal controls and their + * types are subject to change without notice. * - * @returns An array of the removed elements (might be empty) + * Default value is `false`. + * + * + * @returns Value of property `draggable` */ - removeAllRowActions(): RowActionItem[]; + getDraggable(): boolean; /** - * Removes a rowAction from the aggregation {@link #getRowActions rowActions}. + * Gets current value of property {@link #getDropEffect dropEffect}. + * + * Defines the visual drop effect. + * + * Default value is `"Move"`. * * - * @returns The removed rowAction or `null` + * @returns Value of property `dropEffect` */ - removeRowAction( - /** - * The rowAction to remove or its index or id - */ - vRowAction: int | string | RowActionItem - ): RowActionItem | null; + getDropEffect(): dnd.DropEffect; /** - * Sets a new value for property {@link #getHighlight highlight}. + * Gets current value of property {@link #getDroppable droppable}. * - * The highlight state of the rows. + * Determines whether the items are droppable. * - * If the highlight is set to {@link module:sap/ui/core/message/MessageType MessageType.None} (default), - * no highlights are visible. Valid values for the `highlight` property are values of the enumerations {@link module:sap/ui/core/message/MessageType } - * or {@link sap.ui.core.IndicationColor} (only values of `Indication01` to `Indication10` are supported - * for accessibility contrast reasons). + * Default value is `false`. + * + * + * @returns Value of property `droppable` + */ + getDroppable(): boolean; + /** + * Gets current value of property {@link #getDropPosition dropPosition}. + * + * Defines the position for the drop action, visualized by a rectangle. + * + * Default value is `"On"`. * - * Accessibility support is provided with the {@link sap.ui.mdc.table.RowSettings#setHighlightText highlightText } - * property. If the `highlight` property is set to a value of {@link module:sap/ui/core/message/MessageType}, - * the `highlightText` property does not need to be set because a default text is used. However, the default - * text can be overridden by setting the `highlightText` property. In all other cases the `highlightText` - * property must be set. + * + * @returns Value of property `dropPosition` + */ + getDropPosition(): dnd.DropPosition; + /** + * Sets a new value for property {@link #getDraggable draggable}. + * + * Determines whether the items are draggable. + * + * **Note:** Setting this property to `true` may expose the items in other `DropInfo` event parameters. + * In this case, only the binding context of the item is allowed to be used. Internal controls and their + * types are subject to change without notice. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * Default value is `"None"`. + * Default value is `false`. * * * @returns Reference to `this` in order to allow method chaining */ - setHighlight( + setDraggable( /** - * New value for property `highlight` + * New value for property `draggable` */ - sHighlight?: string + bDraggable?: boolean ): this; /** - * Sets a new value for property {@link #getHighlightText highlightText}. + * Sets a new value for property {@link #getDropEffect dropEffect}. * - * Defines the semantics of the {@link sap.ui.mdc.table.RowSettings#setHighlight highlight} property for - * accessibility purposes. + * Defines the visual drop effect. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * Default value is `empty string`. + * Default value is `"Move"`. * * * @returns Reference to `this` in order to allow method chaining */ - setHighlightText( + setDropEffect( /** - * New value for property `highlightText` + * New value for property `dropEffect` */ - sHighlightText?: string + sDropEffect?: dnd.DropEffect | keyof typeof dnd.DropEffect ): this; /** - * Sets a new value for property {@link #getNavigated navigated}. + * Sets a new value for property {@link #getDroppable droppable}. * - * The navigated state of a row. The navigation indicator is displayed at the end of a row. + * Determines whether the items are droppable. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * @@ -23278,200 +23844,248 @@ declare module "sap/ui/mdc/table/RowSettings" { * * @returns Reference to `this` in order to allow method chaining */ - setNavigated( + setDroppable( /** - * New value for property `navigated` + * New value for property `droppable` */ - bNavigated?: boolean + bDroppable?: boolean ): this; /** - * Sets a new value for property {@link #getRowActionCount rowActionCount}. - * - * Defines the number of row actions to display. - * - * This property is useful for bound row actions where the count cannot be determined automatically. If - * not set, the count is derived from: - * - Bound actions: Defaults to 1 (must be set explicitly if multiple actions exist) - * - Static actions: The length of the `rowActions` aggregation - * - * **Note:** - * If the `rowActionCount` property is not explicitly set, the table will automatically determine the number - * of row actions that is displayed based on the configuration of the `RowSettings` and the underlying table - * type. In this case, the table will check how many actions are configured in the `RowSettings` and will - * display as many actions as possible up to the maximum number of actions supported by the underlying table - * type. - * - * - * If the `rowActionCount` property is explicitly set, its value will be used to determine how many row - * actions are displayed, regardless of the number of actions configured in the `RowSettings`. However, - * the actual number of displayed actions will still be limited by the maximum number of actions supported - * by the underlying table type. - * - * **Example:** - * If the underlying table type supports a maximum number of 3 row actions, and there are 5 actions configured - * in the `RowSettings`: - * - * - * - `rowActionCount` is not set, the table will display 3 actions (the maximum supported). - * - `rowActionCount` is set to 2, the table will display 2 actions (as specified), even though more actions - * are configured in the `RowSettings`. + * Sets a new value for property {@link #getDropPosition dropPosition}. * - * For bound row actions, the `rowActionCount` must be set explicitly, as the count cannot be determined - * automatically. For static actions, the count defaults to the length of the `rowActions` aggregation in - * the `RowSettings`. + * Defines the position for the drop action, visualized by a rectangle. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * - * Default value is `-1`. + * Default value is `"On"`. * - * @since 1.148 * * @returns Reference to `this` in order to allow method chaining */ - setRowActionCount( + setDropPosition( /** - * New value for property `rowActionCount` + * New value for property `dropPosition` */ - iRowActionCount?: int + sDropPosition?: dnd.DropPosition | keyof typeof dnd.DropPosition ): this; } /** - * Describes the settings that can be provided to the RowSettings constructor. + * Describes the settings that can be provided to the DragDropConfigBase constructor. */ - export interface $RowSettingsSettings extends $ElementSettings { + export interface $DragDropConfigBaseSettings extends $DragDropBaseSettings { /** - * The highlight state of the rows. - * - * If the highlight is set to {@link module:sap/ui/core/message/MessageType MessageType.None} (default), - * no highlights are visible. Valid values for the `highlight` property are values of the enumerations {@link module:sap/ui/core/message/MessageType } - * or {@link sap.ui.core.IndicationColor} (only values of `Indication01` to `Indication10` are supported - * for accessibility contrast reasons). + * Determines whether the items are draggable. * - * Accessibility support is provided with the {@link sap.ui.mdc.table.RowSettings#setHighlightText highlightText } - * property. If the `highlight` property is set to a value of {@link module:sap/ui/core/message/MessageType}, - * the `highlightText` property does not need to be set because a default text is used. However, the default - * text can be overridden by setting the `highlightText` property. In all other cases the `highlightText` - * property must be set. + * **Note:** Setting this property to `true` may expose the items in other `DropInfo` event parameters. + * In this case, only the binding context of the item is allowed to be used. Internal controls and their + * types are subject to change without notice. */ - highlight?: string | PropertyBindingInfo; + draggable?: boolean | PropertyBindingInfo | `{${string}}`; /** - * Defines the semantics of the {@link sap.ui.mdc.table.RowSettings#setHighlight highlight} property for - * accessibility purposes. + * Determines whether the items are droppable. */ - highlightText?: string | PropertyBindingInfo; + droppable?: boolean | PropertyBindingInfo | `{${string}}`; /** - * The navigated state of a row. The navigation indicator is displayed at the end of a row. + * Defines the visual drop effect. */ - navigated?: boolean | PropertyBindingInfo | `{${string}}`; + dropEffect?: + | (dnd.DropEffect | keyof typeof dnd.DropEffect) + | PropertyBindingInfo + | `{${string}}`; /** - * Defines the number of row actions to display. - * - * This property is useful for bound row actions where the count cannot be determined automatically. If - * not set, the count is derived from: - * - Bound actions: Defaults to 1 (must be set explicitly if multiple actions exist) - * - Static actions: The length of the `rowActions` aggregation - * - * **Note:** - * If the `rowActionCount` property is not explicitly set, the table will automatically determine the number - * of row actions that is displayed based on the configuration of the `RowSettings` and the underlying table - * type. In this case, the table will check how many actions are configured in the `RowSettings` and will - * display as many actions as possible up to the maximum number of actions supported by the underlying table - * type. - * - * - * If the `rowActionCount` property is explicitly set, its value will be used to determine how many row - * actions are displayed, regardless of the number of actions configured in the `RowSettings`. However, - * the actual number of displayed actions will still be limited by the maximum number of actions supported - * by the underlying table type. - * - * **Example:** - * If the underlying table type supports a maximum number of 3 row actions, and there are 5 actions configured - * in the `RowSettings`: - * - * - * - `rowActionCount` is not set, the table will display 3 actions (the maximum supported). - * - `rowActionCount` is set to 2, the table will display 2 actions (as specified), even though more actions - * are configured in the `RowSettings`. - * - * For bound row actions, the `rowActionCount` must be set explicitly, as the count cannot be determined - * automatically. For static actions, the count defaults to the length of the `rowActions` aggregation in - * the `RowSettings`. - * - * @since 1.148 + * Defines the position for the drop action, visualized by a rectangle. + */ + dropPosition?: + | (dnd.DropPosition | keyof typeof dnd.DropPosition) + | PropertyBindingInfo + | `{${string}}`; + + /** + * This event is fired when the user starts dragging an item, if the `draggable` property is set to `true`. + */ + dragStart?: (oEvent: DragDropConfigBase$DragStartEvent) => void; + + /** + * This event is fired when the drag operation is ended, if the `draggable` property is set to `true`. + */ + dragEnd?: (oEvent: DragDropConfigBase$DragEndEvent) => void; + + /** + * This event is fired when a dragged element enters an item, if the `droppable` property is set to `true`. + */ + dragEnter?: (oEvent: Event) => void; + + /** + * This event is fired when an element is being dragged over an item, if the `droppable` property is set + * to `true`. + */ + dragOver?: (oEvent: Event) => void; + + /** + * This event is fired when an element is dropped on an item, if the `droppable` property is set to `true`. + */ + drop?: (oEvent: Event) => void; + } + + /** + * Parameters of the DragDropConfigBase#dragEnd event. + */ + export interface DragDropConfigBase$DragEndEventParameters { + /** + * The binding context of the dragged item + */ + bindingContext?: Context; + + /** + * The underlying browser event + */ + browserEvent?: DragEvent; + } + + /** + * Event object of the DragDropConfigBase#dragEnd event. + */ + export type DragDropConfigBase$DragEndEvent = Event< + DragDropConfigBase$DragEndEventParameters, + DragDropConfigBase + >; + + /** + * Parameters of the DragDropConfigBase#dragEnter event. + */ + export interface DragDropConfigBase$DragEnterEventParameters {} + + /** + * Event object of the DragDropConfigBase#dragEnter event. + */ + export type DragDropConfigBase$DragEnterEvent = Event< + DragDropConfigBase$DragEnterEventParameters, + DragDropConfigBase + >; + + /** + * Parameters of the DragDropConfigBase#dragOver event. + */ + export interface DragDropConfigBase$DragOverEventParameters {} + + /** + * Event object of the DragDropConfigBase#dragOver event. + */ + export type DragDropConfigBase$DragOverEvent = Event< + DragDropConfigBase$DragOverEventParameters, + DragDropConfigBase + >; + + /** + * Parameters of the DragDropConfigBase#dragStart event. + */ + export interface DragDropConfigBase$DragStartEventParameters { + /** + * The binding context of the dragged item */ - rowActionCount?: int | PropertyBindingInfo | `{${string}}`; + bindingContext?: Context; /** - * The actions that appear at the end of a row. - * - * **Note:** This aggregation cannot be bound with a factory. If the table type is {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}, - * only the `Navigation` row action type is supported. + * The underlying browser event */ - rowActions?: - | RowActionItem[] - | RowActionItem - | AggregationBindingInfo - | `{${string}}`; + browserEvent?: DragEvent; } + + /** + * Event object of the DragDropConfigBase#dragStart event. + */ + export type DragDropConfigBase$DragStartEvent = Event< + DragDropConfigBase$DragStartEventParameters, + DragDropConfigBase + >; + + /** + * Parameters of the DragDropConfigBase#drop event. + */ + export interface DragDropConfigBase$DropEventParameters {} + + /** + * Event object of the DragDropConfigBase#drop event. + */ + export type DragDropConfigBase$DropEvent = Event< + DragDropConfigBase$DropEventParameters, + DragDropConfigBase + >; } -declare module "sap/ui/mdc/table/TableTypeBase" { - import { default as UI5Element, $ElementSettings } from "sap/ui/core/Element"; +declare module "sap/ui/mdc/ValueHelp" { + import { default as Element1, $ElementSettings } from "sap/ui/mdc/Element"; + + import Event from "sap/ui/base/Event"; + + import Control from "sap/ui/core/Control"; + + import { valuehelp } from "sap/ui/mdc/library"; + + import FormatException from "sap/ui/model/FormatException"; + + import ParseException from "sap/ui/model/ParseException"; import ElementMetadata from "sap/ui/core/ElementMetadata"; + import RequestShowContainerReason from "sap/ui/mdc/enums/RequestShowContainerReason"; + + import Type from "sap/ui/model/Type"; + + import FieldDisplay from "sap/ui/mdc/enums/FieldDisplay"; + + import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; + + import Container from "sap/ui/mdc/valuehelp/base/Container"; + /** - * The table type info base class for the metadata-driven table. Base class with no implementation. - * + * The `ValueHelp` element can be assigned to the {@link sap.ui.mdc.Field Field}, {@link sap.ui.mdc.MultiValueField MultiValueField}, + * and {@link sap.ui.mdc.FilterField FilterField} controls using the `valueHelp` association. One `ValueHelp` + * element instance can be assigned to multiple fields (like in different table rows). It should be placed + * in the control tree on the container holding the fields. * - * @since 1.65 + * @since 1.95.0 */ - export default abstract class TableTypeBase extends UI5Element { + export default abstract class ValueHelp extends Element1 { /** - * Constructor for a new `TableTypeBase`. + * Constructor for a new `ValueHelp`. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description * of the syntax of the settings object. - * - * This class does not have its own settings, but all settings applicable to the base type {@link sap.ui.core.Element#constructor sap.ui.core.Element } - * can be used. */ constructor( /** - * Initial settings for the new object + * Initial settings for the new element */ - mSettings?: $TableTypeBaseSettings + mSettings?: $ValueHelpSettings ); /** - * Constructor for a new `TableTypeBase`. + * Constructor for a new `ValueHelp`. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description * of the syntax of the settings object. - * - * This class does not have its own settings, but all settings applicable to the base type {@link sap.ui.core.Element#constructor sap.ui.core.Element } - * can be used. */ constructor( /** - * Optional ID for the new object; generated automatically if no non-empty ID is given + * ID for the new element, generated automatically if no ID is given */ sId?: string, /** - * Initial settings for the new object + * Initial settings for the new element */ - mSettings?: $TableTypeBaseSettings + mSettings?: $ValueHelpSettings ); /** - * Creates a new subclass of class sap.ui.mdc.table.TableTypeBase with name `sClassName` and enriches it - * with the information contained in `oClassInfo`. + * Creates a new subclass of class sap.ui.mdc.ValueHelp with name `sClassName` and enriches it with the + * information contained in `oClassInfo`. * - * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.Element.extend}. + * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.mdc.Element.extend}. * * * @returns Created class / constructor function @@ -23484,7 +24098,7 @@ declare module "sap/ui/mdc/table/TableTypeBase" { /** * Object literal with information about the class */ - oClassInfo?: sap.ClassInfo, + oClassInfo?: sap.ClassInfo, /** * Constructor function for the metadata object; if not given, it defaults to the metadata implementation * used by this class @@ -23492,281 +24106,328 @@ declare module "sap/ui/mdc/table/TableTypeBase" { FNMetaImpl?: Function ): Function; /** - * Returns a metadata object for class sap.ui.mdc.table.TableTypeBase. + * Returns a metadata object for class sap.ui.mdc.ValueHelp. * * * @returns Metadata object describing this class */ static getMetadata(): ElementMetadata; - } - /** - * Describes the settings that can be provided to the TableTypeBase constructor. - */ - export interface $TableTypeBaseSettings extends $ElementSettings {} -} - -declare module "sap/ui/mdc/table/TreeTableType" { - import { - default as GridTableType, - $GridTableTypeSettings, - } from "sap/ui/mdc/table/GridTableType"; - - import ElementMetadata from "sap/ui/core/ElementMetadata"; - - /** - * The table type info class for the metadata-driven table. - * - * @since 1.109 - */ - export default class TreeTableType extends GridTableType { /** - * Constructor for a new `TreeTableType`. + * Attaches event handler `fnFunction` to the {@link #event:closed closed} event of this `sap.ui.mdc.ValueHelp`. * - * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated - * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description - * of the syntax of the settings object. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. * - * This class does not have its own settings, but all settings applicable to the base type {@link sap.ui.mdc.table.GridTableType#constructor sap.ui.mdc.table.GridTableType } - * can be used. + * This event is fired after the value help has been closed. + * + * + * @returns Reference to `this` in order to allow method chaining */ - constructor( + attachClosed( /** - * Initial settings for the new object + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event */ - mSettings?: $TreeTableTypeSettings - ); + oData: object, + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself + */ + oListener?: object + ): this; /** - * Constructor for a new `TreeTableType`. + * Attaches event handler `fnFunction` to the {@link #event:closed closed} event of this `sap.ui.mdc.ValueHelp`. * - * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated - * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description - * of the syntax of the settings object. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. + * + * This event is fired after the value help has been closed. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + attachClosed( + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself + */ + oListener?: object + ): this; + /** + * Attaches event handler `fnFunction` to the {@link #event:disconnect disconnect} event of this `sap.ui.mdc.ValueHelp`. + * + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. + * + * This event is fired when the `ValueHelp` element is disconnected from a control. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + attachDisconnect( + /** + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event + */ + oData: object, + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself + */ + oListener?: object + ): this; + /** + * Attaches event handler `fnFunction` to the {@link #event:disconnect disconnect} event of this `sap.ui.mdc.ValueHelp`. + * + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. + * + * This event is fired when the `ValueHelp` element is disconnected from a control. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + attachDisconnect( + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself + */ + oListener?: object + ): this; + /** + * Attaches event handler `fnFunction` to the {@link #event:navigated navigated} event of this `sap.ui.mdc.ValueHelp`. + * + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. + * + * This event is fired after the user navigated, using the arrow keys, in the value help. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + attachNavigated( + /** + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event + */ + oData: object, + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: ValueHelp$NavigatedEvent) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself + */ + oListener?: object + ): this; + /** + * Attaches event handler `fnFunction` to the {@link #event:navigated navigated} event of this `sap.ui.mdc.ValueHelp`. + * + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. + * + * This event is fired after the user navigated, using the arrow keys, in the value help. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. * - * This class does not have its own settings, but all settings applicable to the base type {@link sap.ui.mdc.table.GridTableType#constructor sap.ui.mdc.table.GridTableType } - * can be used. + * + * @returns Reference to `this` in order to allow method chaining */ - constructor( + attachNavigated( /** - * Optional ID for the new object; generated automatically if no non-empty ID is given + * The function to be called when the event occurs */ - sId?: string, + fnFunction: (p1: ValueHelp$NavigatedEvent) => void, /** - * Initial settings for the new object + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself */ - mSettings?: $TreeTableTypeSettings - ); - + oListener?: object + ): this; /** - * Creates a new subclass of class sap.ui.mdc.table.TreeTableType with name `sClassName` and enriches it - * with the information contained in `oClassInfo`. + * Attaches event handler `fnFunction` to the {@link #event:open open} event of this `sap.ui.mdc.ValueHelp`. * - * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.mdc.table.GridTableType.extend}. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. + * + * This event is fired as the value help opening is triggered. * * - * @returns Created class / constructor function + * @returns Reference to `this` in order to allow method chaining */ - static extend>( + attachOpen( /** - * Name of the class being created + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event */ - sClassName: string, + oData: object, /** - * Object literal with information about the class + * The function to be called when the event occurs */ - oClassInfo?: sap.ClassInfo, + fnFunction: (p1: ValueHelp$OpenEvent) => void, /** - * Constructor function for the metadata object; if not given, it defaults to the metadata implementation - * used by this class + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself */ - FNMetaImpl?: Function - ): Function; + oListener?: object + ): this; /** - * Returns a metadata object for class sap.ui.mdc.table.TreeTableType. + * Attaches event handler `fnFunction` to the {@link #event:open open} event of this `sap.ui.mdc.ValueHelp`. * + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. * - * @returns Metadata object describing this class - */ - static getMetadata(): ElementMetadata; - } - /** - * Describes the settings that can be provided to the TreeTableType constructor. - */ - export interface $TreeTableTypeSettings extends $GridTableTypeSettings {} -} - -declare module "sap/ui/mdc/util/PropertyHelper" { - /** - * An object literal that describes attributes of a complex data property. A complex property references - * other properties in the `propertyInfos` attribute. - */ - export type ComplexPropertyInfo = PropertyInfoBase & { - /** - * A list of related properties (by key). These related properties must not themselves be complex. - */ - propertyInfos: string[]; - }; - - /** - * An object literal that describes attributes of a data property. - */ - export type PropertyInfo = PropertyInfoBase & { - /** - * The name of the data type - */ - dataType: string; - /** - * Defines the formatting options for the data type - */ - formatOptions?: object; - /** - * Defines the constraints for the data type - */ - constraints?: object; - /** - * The technical path for a data source property - */ - path?: string; - /** - * Defines the maximum number of filter conditions for the property. Possible values that can be used: + * This event is fired as the value help opening is triggered. * - * - 1 is a single-filter expression field - * - -1 is a multi-filter expression field This information is, for example, used in the `addItem` - * method of the `FilterBar` control to forward this information to the created `FilterField` instance. - */ - maxConditions?: int; - /** - * Whether filtering by this property is case-sensitive - */ - caseSensitive?: boolean; - }; - - export type PropertyInfoBase = { - /** - * Unique, stable key for the property. It must only contain characters allowed for IDs, see {@link sap.ui.core.ID}. - * Does not have to be an existing attribute in the data model or the technical name of an attribute in - * the data model. - */ - key: string; - /** - * Translatable text that labels the property - */ - label: string; - /** - * Translatable text that can optionally be offered as tooltip, for example, in a personalization dialog - */ - tooltip?: string; - /** - * Whether the property is or can be visible to a user - */ - visible?: boolean; - /** - * Key of the group in which the property is located. Used to visually group properties in personalization - * dialogs. The group with the `basic` key is always shown as the first group. - */ - group?: string; - /** - * Translatable text of the group. + * + * @returns Reference to `this` in order to allow method chaining */ - groupLabel?: string; - }; -} - -declare module "sap/ui/mdc/ValueHelp" { - import { default as Element1, $ElementSettings } from "sap/ui/mdc/Element"; - - import Event from "sap/ui/base/Event"; - - import { valuehelp } from "sap/ui/mdc/library"; - - import ElementMetadata from "sap/ui/core/ElementMetadata"; - - import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; - - import Container from "sap/ui/mdc/valuehelp/base/Container"; - - /** - * The `ValueHelp` element can be assigned to the {@link sap.ui.mdc.Field Field}, {@link sap.ui.mdc.MultiValueField MultiValueField}, - * and {@link sap.ui.mdc.FilterField FilterField} controls using the `valueHelp` association. One `ValueHelp` - * element instance can be assigned to multiple fields (like in different table rows). It should be placed - * in the control tree on the container holding the fields. - * - * @since 1.95.0 - */ - export default abstract class ValueHelp extends Element1 { + attachOpen( + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: ValueHelp$OpenEvent) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself + */ + oListener?: object + ): this; /** - * Constructor for a new `ValueHelp`. + * Attaches event handler `fnFunction` to the {@link #event:opened opened} event of this `sap.ui.mdc.ValueHelp`. * - * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated - * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description - * of the syntax of the settings object. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. + * + * This event is fired as the value help is fully open. + * + * + * @returns Reference to `this` in order to allow method chaining */ - constructor( + attachOpened( /** - * Initial settings for the new element + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event */ - mSettings?: $ValueHelpSettings - ); + oData: object, + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: ValueHelp$OpenedEvent) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself + */ + oListener?: object + ): this; /** - * Constructor for a new `ValueHelp`. + * Attaches event handler `fnFunction` to the {@link #event:opened opened} event of this `sap.ui.mdc.ValueHelp`. * - * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated - * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description - * of the syntax of the settings object. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. + * + * This event is fired as the value help is fully open. + * + * + * @returns Reference to `this` in order to allow method chaining */ - constructor( + attachOpened( /** - * ID for the new element, generated automatically if no ID is given + * The function to be called when the event occurs */ - sId?: string, + fnFunction: (p1: ValueHelp$OpenedEvent) => void, /** - * Initial settings for the new element + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself */ - mSettings?: $ValueHelpSettings - ); - + oListener?: object + ): this; /** - * Creates a new subclass of class sap.ui.mdc.ValueHelp with name `sClassName` and enriches it with the - * information contained in `oClassInfo`. + * Attaches event handler `fnFunction` to the {@link #event:select select} event of this `sap.ui.mdc.ValueHelp`. * - * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.mdc.Element.extend}. + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. * + * This event is fired when a value is selected in the value help. * - * @returns Created class / constructor function + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + * + * + * @returns Reference to `this` in order to allow method chaining */ - static extend>( + attachSelect( /** - * Name of the class being created + * An application-specific payload object that will be passed to the event handler along with the event + * object when firing the event */ - sClassName: string, + oData: object, /** - * Object literal with information about the class + * The function to be called when the event occurs */ - oClassInfo?: sap.ClassInfo, + fnFunction: (p1: ValueHelp$SelectEvent) => void, /** - * Constructor function for the metadata object; if not given, it defaults to the metadata implementation - * used by this class + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself */ - FNMetaImpl?: Function - ): Function; + oListener?: object + ): this; /** - * Returns a metadata object for class sap.ui.mdc.ValueHelp. + * Attaches event handler `fnFunction` to the {@link #event:select select} event of this `sap.ui.mdc.ValueHelp`. + * + * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, + * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. * + * This event is fired when a value is selected in the value help. * - * @returns Metadata object describing this class + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + * + * + * @returns Reference to `this` in order to allow method chaining */ - static getMetadata(): ElementMetadata; + attachSelect( + /** + * The function to be called when the event occurs + */ + fnFunction: (p1: ValueHelp$SelectEvent) => void, + /** + * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself + */ + oListener?: object + ): this; /** - * Attaches event handler `fnFunction` to the {@link #event:closed closed} event of this `sap.ui.mdc.ValueHelp`. + * Attaches event handler `fnFunction` to the {@link #event:switchToValueHelp switchToValueHelp} event of + * this `sap.ui.mdc.ValueHelp`. * * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. * - * This event is fired after the value help has been closed. + * This event is fired if the user wants to switch from typeahead to value help. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. * * * @returns Reference to `this` in order to allow method chaining */ - attachClosed( + attachSwitchToValueHelp( /** * An application-specific payload object that will be passed to the event handler along with the event * object when firing the event @@ -23782,17 +24443,21 @@ declare module "sap/ui/mdc/ValueHelp" { oListener?: object ): this; /** - * Attaches event handler `fnFunction` to the {@link #event:closed closed} event of this `sap.ui.mdc.ValueHelp`. + * Attaches event handler `fnFunction` to the {@link #event:switchToValueHelp switchToValueHelp} event of + * this `sap.ui.mdc.ValueHelp`. * * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. * - * This event is fired after the value help has been closed. + * This event is fired if the user wants to switch from typeahead to value help. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. * * * @returns Reference to `this` in order to allow method chaining */ - attachClosed( + attachSwitchToValueHelp( /** * The function to be called when the event occurs */ @@ -23803,17 +24468,22 @@ declare module "sap/ui/mdc/ValueHelp" { oListener?: object ): this; /** - * Attaches event handler `fnFunction` to the {@link #event:open open} event of this `sap.ui.mdc.ValueHelp`. + * Attaches event handler `fnFunction` to the {@link #event:typeaheadSuggested typeaheadSuggested} event + * of this `sap.ui.mdc.ValueHelp`. * * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. * - * This event is fired as the value help opening is triggered. + * This event is fired after a suggested item has been found for a type-ahead. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. * + * @since 1.120.0 * * @returns Reference to `this` in order to allow method chaining */ - attachOpen( + attachTypeaheadSuggested( /** * An application-specific payload object that will be passed to the event handler along with the event * object when firing the event @@ -23822,45 +24492,58 @@ declare module "sap/ui/mdc/ValueHelp" { /** * The function to be called when the event occurs */ - fnFunction: (p1: ValueHelp$OpenEvent) => void, + fnFunction: (p1: ValueHelp$TypeaheadSuggestedEvent) => void, /** * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself */ oListener?: object ): this; /** - * Attaches event handler `fnFunction` to the {@link #event:open open} event of this `sap.ui.mdc.ValueHelp`. + * Attaches event handler `fnFunction` to the {@link #event:typeaheadSuggested typeaheadSuggested} event + * of this `sap.ui.mdc.ValueHelp`. * * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. * - * This event is fired as the value help opening is triggered. + * This event is fired after a suggested item has been found for a type-ahead. * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + * + * @since 1.120.0 * * @returns Reference to `this` in order to allow method chaining */ - attachOpen( + attachTypeaheadSuggested( /** * The function to be called when the event occurs */ - fnFunction: (p1: ValueHelp$OpenEvent) => void, + fnFunction: (p1: ValueHelp$TypeaheadSuggestedEvent) => void, /** * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself */ oListener?: object ): this; /** - * Attaches event handler `fnFunction` to the {@link #event:opened opened} event of this `sap.ui.mdc.ValueHelp`. + * Attaches event handler `fnFunction` to the {@link #event:visualFocusSet visualFocusSet} event of this + * `sap.ui.mdc.ValueHelp`. * * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. * - * This event is fired as the value help is fully open. + * This event is fired if the visual focus is set to the value help. + * + * In this case the visual focus needs to be removed from the opening field, but the real focus must stay + * there. * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + * + * @since 1.127.0 * * @returns Reference to `this` in order to allow method chaining */ - attachOpened( + attachVisualFocusSet( /** * An application-specific payload object that will be passed to the event handler along with the event * object when firing the event @@ -23869,33 +24552,78 @@ declare module "sap/ui/mdc/ValueHelp" { /** * The function to be called when the event occurs */ - fnFunction: (p1: ValueHelp$OpenedEvent) => void, + fnFunction: (p1: Event) => void, /** * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself */ oListener?: object ): this; /** - * Attaches event handler `fnFunction` to the {@link #event:opened opened} event of this `sap.ui.mdc.ValueHelp`. + * Attaches event handler `fnFunction` to the {@link #event:visualFocusSet visualFocusSet} event of this + * `sap.ui.mdc.ValueHelp`. * * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, * otherwise it will be bound to this `sap.ui.mdc.ValueHelp` itself. * - * This event is fired as the value help is fully open. + * This event is fired if the visual focus is set to the value help. + * + * In this case the visual focus needs to be removed from the opening field, but the real focus must stay + * there. * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + * + * @since 1.127.0 * * @returns Reference to `this` in order to allow method chaining */ - attachOpened( + attachVisualFocusSet( /** * The function to be called when the event occurs */ - fnFunction: (p1: ValueHelp$OpenedEvent) => void, + fnFunction: (p1: Event) => void, /** * Context object to call the event handler with. Defaults to this `sap.ui.mdc.ValueHelp` itself */ oListener?: object ): this; + /** + * closes the value help. + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + */ + close( + /** + * If set, closing must not restore the focus on the field + */ + bDoNotRestoreFocus: boolean + ): void; + /** + * Connects the `ValueHelp` element to a control. + * + * If the `ValueHelp` element is used as an association to multiple controls, it has to know the currently + * active control to open and interact. + * + * If the `ValueHelp` element is connected to a control, the `disconnected` event is fired to inform the + * previously connected control. + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + connect( + /** + * Control to which the `ValueHelp` element is connected to + */ + oControl: Control, + /** + * Configuration object that holds required data of the connected control + */ + oConfig?: ConnectConfig + ): this; /** * Destroys the dialog in the aggregation {@link #getDialog dialog}. * @@ -23928,6 +24656,42 @@ declare module "sap/ui/mdc/ValueHelp" { */ oListener?: object ): this; + /** + * Detaches event handler `fnFunction` from the {@link #event:disconnect disconnect} event of this `sap.ui.mdc.ValueHelp`. + * + * The passed function and listener object must match the ones used for event registration. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + detachDisconnect( + /** + * The function to be called, when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object on which the given function had to be called + */ + oListener?: object + ): this; + /** + * Detaches event handler `fnFunction` from the {@link #event:navigated navigated} event of this `sap.ui.mdc.ValueHelp`. + * + * The passed function and listener object must match the ones used for event registration. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + detachNavigated( + /** + * The function to be called, when the event occurs + */ + fnFunction: (p1: ValueHelp$NavigatedEvent) => void, + /** + * Context object on which the given function had to be called + */ + oListener?: object + ): this; /** * Detaches event handler `fnFunction` from the {@link #event:open open} event of this `sap.ui.mdc.ValueHelp`. * @@ -23964,6 +24728,83 @@ declare module "sap/ui/mdc/ValueHelp" { */ oListener?: object ): this; + /** + * Detaches event handler `fnFunction` from the {@link #event:select select} event of this `sap.ui.mdc.ValueHelp`. + * + * The passed function and listener object must match the ones used for event registration. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + detachSelect( + /** + * The function to be called, when the event occurs + */ + fnFunction: (p1: ValueHelp$SelectEvent) => void, + /** + * Context object on which the given function had to be called + */ + oListener?: object + ): this; + /** + * Detaches event handler `fnFunction` from the {@link #event:switchToValueHelp switchToValueHelp} event + * of this `sap.ui.mdc.ValueHelp`. + * + * The passed function and listener object must match the ones used for event registration. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + detachSwitchToValueHelp( + /** + * The function to be called, when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object on which the given function had to be called + */ + oListener?: object + ): this; + /** + * Detaches event handler `fnFunction` from the {@link #event:typeaheadSuggested typeaheadSuggested} event + * of this `sap.ui.mdc.ValueHelp`. + * + * The passed function and listener object must match the ones used for event registration. + * + * @since 1.120.0 + * + * @returns Reference to `this` in order to allow method chaining + */ + detachTypeaheadSuggested( + /** + * The function to be called, when the event occurs + */ + fnFunction: (p1: ValueHelp$TypeaheadSuggestedEvent) => void, + /** + * Context object on which the given function had to be called + */ + oListener?: object + ): this; + /** + * Detaches event handler `fnFunction` from the {@link #event:visualFocusSet visualFocusSet} event of this + * `sap.ui.mdc.ValueHelp`. + * + * The passed function and listener object must match the ones used for event registration. + * + * @since 1.127.0 + * + * @returns Reference to `this` in order to allow method chaining + */ + detachVisualFocusSet( + /** + * The function to be called, when the event occurs + */ + fnFunction: (p1: Event) => void, + /** + * Context object on which the given function had to be called + */ + oListener?: object + ): this; /** * Fires event {@link #event:closed closed} to attached listeners. * @@ -23977,6 +24818,32 @@ declare module "sap/ui/mdc/ValueHelp" { */ mParameters?: object ): this; + /** + * Fires event {@link #event:disconnect disconnect} to attached listeners. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns Reference to `this` in order to allow method chaining + */ + fireDisconnect( + /** + * Parameters to pass along with the event + */ + mParameters?: object + ): this; + /** + * Fires event {@link #event:navigated navigated} to attached listeners. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns Reference to `this` in order to allow method chaining + */ + fireNavigated( + /** + * Parameters to pass along with the event + */ + mParameters?: ValueHelp$NavigatedEventParameters + ): this; /** * Fires event {@link #event:open open} to attached listeners. * @@ -23984,25 +24851,107 @@ declare module "sap/ui/mdc/ValueHelp" { * * @returns Reference to `this` in order to allow method chaining */ - fireOpen( - /** - * Parameters to pass along with the event - */ - mParameters?: ValueHelp$OpenEventParameters - ): this; + fireOpen( + /** + * Parameters to pass along with the event + */ + mParameters?: ValueHelp$OpenEventParameters + ): this; + /** + * Fires event {@link #event:opened opened} to attached listeners. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns Reference to `this` in order to allow method chaining + */ + fireOpened( + /** + * Parameters to pass along with the event + */ + mParameters?: ValueHelp$OpenedEventParameters + ): this; + /** + * Fires event {@link #event:select select} to attached listeners. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns Reference to `this` in order to allow method chaining + */ + fireSelect( + /** + * Parameters to pass along with the event + */ + mParameters?: ValueHelp$SelectEventParameters + ): this; + /** + * Fires event {@link #event:switchToValueHelp switchToValueHelp} to attached listeners. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns Reference to `this` in order to allow method chaining + */ + fireSwitchToValueHelp( + /** + * Parameters to pass along with the event + */ + mParameters?: object + ): this; + /** + * Fires event {@link #event:typeaheadSuggested typeaheadSuggested} to attached listeners. + * + * @since 1.120.0 + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns Reference to `this` in order to allow method chaining + */ + fireTypeaheadSuggested( + /** + * Parameters to pass along with the event + */ + mParameters?: ValueHelp$TypeaheadSuggestedEventParameters + ): this; + /** + * Fires event {@link #event:visualFocusSet visualFocusSet} to attached listeners. + * + * @since 1.127.0 + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns Reference to `this` in order to allow method chaining + */ + fireVisualFocusSet( + /** + * Parameters to pass along with the event + */ + mParameters?: object + ): this; + /** + * Gets current value of property {@link #getConditions conditions}. + * + * The conditions of the selected items. + * + * **Note:** This property must only be set by the control the `ValueHelp` element belongs to, not by the + * application. + * + * **Note:** A condition must have the structure of {@link sap.ui.mdc.condition.ConditionObject ConditionObject}. + * + * **Note:** Always set the conditions from outside the value help only as long the value help is closed. + * + * Default value is `[]`. + * + * + * @returns Value of property `conditions` + */ + getConditions(): object[]; /** - * Fires event {@link #event:opened opened} to attached listeners. + * Returns the control the value help is connected to. * - * @ui5-protected Do not call from applications (only from related classes in the framework) + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. * - * @returns Reference to `this` in order to allow method chaining + * + * @returns Control to which the `ValueHelp` element is connected to */ - fireOpened( - /** - * Parameters to pass along with the event - */ - mParameters?: ValueHelp$OpenedEventParameters - ): this; + getControl(): Control; /** * Gets current value of property {@link #getDelegate delegate}. * @@ -24033,6 +24982,47 @@ declare module "sap/ui/mdc/ValueHelp" { * Container that is used and opened if the value help icon of the input field is pressed. */ getDialog(): valuehelp.base.IDialogContainer; + /** + * Gets current value of property {@link #getFilterValue filterValue}. + * + * The value by which the help is filtered. Here the field provides the typed value to allow the value help + * to filter for it. + * + * **Note:** This only takes effect if the `ValueHelp` elements content supports filtering. + * + * **Note:** This property must only be set by the control the `ValueHelp` element belongs to, not by the + * application. + * + * Default value is `empty string`. + * + * + * @returns Value of property `filterValue` + */ + getFilterValue(): string; + /** + * Determines the icon for the value help. + * + * + * @returns Name of the icon. If `null` no value help icon will be shown and it is used only as typeahead. + */ + getIcon(): null | string; + /** + * Determines the item (key and description) for a given value. + * + * The value help checks if there is an item with a key or description that fits this value. + * + * **Note:** This function must only be called by the control the `ValuedHelp` element belongs to, not by + * the application. + * + * + * @returns Promise returning object containing description, key and payload. + */ + getItemForValue( + /** + * Configuration + */ + oConfig: ItemForValueConfiguration + ): Promise; /** * Gets content of aggregation {@link #getTypeahead typeahead}. * @@ -24058,6 +25048,156 @@ declare module "sap/ui/mdc/ValueHelp" { * @returns Value of property `validateInput` */ getValidateInput(): boolean; + /** + * Determines if the focus is set in the value help or stays in the calling control. + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + * + * + * @returns if true, focus goes to the value help, if false it stays in the calling control. + */ + isFocusInHelp(): boolean; + /** + * Determines if navigation via arrow keys should be possible. + * + * In ComboBox-like case keyboard-navigation should be anabled if closed and if open. If only typeahead + * is used (and maybe an value help dialog) keyboard-navigation schould be enabled only if typeahed is open. + * + * As not all rowas might be loaded navigation with home, end, page up or dowm might be disabled, depending + * of the used content. + * + * + * @returns If `true`, the navigation should be enabled if value help is closed + */ + isNavigationEnabled( + /** + * Number of steps for navigation (e.g. 1 means next item, -1 means previous item) + */ + iStep: int + ): boolean; + /** + * Determines if the value help is open. + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + * + * + * @returns true if open or opening + */ + isOpen(): boolean; + /** + * If set, the connected field must not allow other values than the items of the `FixedList`. Free text + * must be prevented. + * + * @since 1.138 + * + * @returns If set, only fixed values are allowed + */ + isRestrictedToFixedValues(): boolean; + /** + * Defines if the value help can be used for input validation. + * + * + * @returns True if value help can be used for input validation + */ + isValidationSupported(): boolean; + /** + * Triggers navigation in the value help. + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + */ + navigate( + /** + * Number of steps for navigation (e.g. 1 means next item, -1 means previous item) + */ + iStep: int + ): void; + /** + * Triggers some logic that must be executed in `ValueHelp` element if a `Change` event on the connected + * control is fired. + * + * This is done if the corresponding control value is changed (not during navigation). + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + */ + onControlChange(): void; + /** + * Opens the value help for the control to which the `ValueHelp` element is connected. + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + */ + open( + /** + * Flag that determines whether value help is opened for type-ahead or for complex help + */ + bTypeahead: boolean + ): void; + /** + * The focus visualization of the field help needs to be removed as the user starts typing into the field. + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + */ + removeVisualFocus(): void; + /** + * Determines if the value help typeahead is to be opened on user interaction, navigation, or configuration + * changes. + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + * + * @since 1.136 + * + * @returns `true` if the value help container is shown + */ + requestShowTypeahead( + /** + * Interaction event possibly triggering the opening of the value help + */ + sReason: + | RequestShowContainerReason + | keyof typeof RequestShowContainerReason + ): Promise; + /** + * Determines if the value help is to be opened with a dialog or typeahead in value help mode. + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + * + * @since 1.136 + * + * @returns `true` if the value help container is to be shown + */ + requestShowValueHelp(): Promise; + /** + * Sets a new value for property {@link #getConditions conditions}. + * + * The conditions of the selected items. + * + * **Note:** This property must only be set by the control the `ValueHelp` element belongs to, not by the + * application. + * + * **Note:** A condition must have the structure of {@link sap.ui.mdc.condition.ConditionObject ConditionObject}. + * + * **Note:** Always set the conditions from outside the value help only as long the value help is closed. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `[]`. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + setConditions( + /** + * New value for property `conditions` + */ + sConditions?: object[] + ): this; /** * Sets a new value for property {@link #getDelegate delegate}. * @@ -24101,6 +25241,42 @@ declare module "sap/ui/mdc/ValueHelp" { */ oDialog: valuehelp.base.IDialogContainer ): this; + /** + * Sets a new value for property {@link #getFilterValue filterValue}. + * + * The value by which the help is filtered. Here the field provides the typed value to allow the value help + * to filter for it. + * + * **Note:** This only takes effect if the `ValueHelp` elements content supports filtering. + * + * **Note:** This property must only be set by the control the `ValueHelp` element belongs to, not by the + * application. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `empty string`. + * + * + * @returns Reference to `this` in order to allow method chaining + */ + setFilterValue( + /** + * New value for property `filterValue` + */ + sFilterValue?: string + ): this; + /** + * Temporarily highlights a typeahead item identified by it's id. Navigation events or other updates may + * lead to the item no longer being highlighted. + * + * @since 1.123.0 + */ + setHighlightId( + /** + * control id of the item to be highlighted + */ + sHighlightId: string + ): void; /** * Sets the aggregated {@link #getTypeahead typeahead}. * @@ -24139,7 +25315,52 @@ declare module "sap/ui/mdc/ValueHelp" { */ bValidateInput?: boolean ): this; + /** + * The focus visualization of the field help needs to be set as the user starts naigation into the value + * help items. + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + * + * @since 1.127.0 + */ + setVisualFocus(): void; + /** + * Skips the opening of the value help if it is pending because of loading content. + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + */ + skipOpening(): void; + /** + * Toggles the open state of the value help. + * + * **Note:** This function must only be called by the control the `ValueHelp` element belongs to, not by + * the application. + */ + toggleOpen( + /** + * Flag that determines whether value help is opened for type-ahead or for complex help + */ + bTypeahead: boolean + ): void; } + /** + * Configuration object to be provided when connecting with a control. + */ + export type ConnectConfig = ( + maxConditions?: int, + dataType?: Type, + additionalDataType?: Type, + operators?: string[], + display?: FieldDisplay | keyof typeof FieldDisplay, + delegate?: object, + delegateName?: object, + payload?: object, + defaultOperatorName?: string, + emptyAllowed?: boolean + ) => object; + /** * Configuration object type to determine a `ValueHelpItem` for a given value. */ @@ -24168,6 +25389,18 @@ declare module "sap/ui/mdc/ValueHelp" { * Describes the settings that can be provided to the ValueHelp constructor. */ export interface $ValueHelpSettings extends $ElementSettings { + /** + * The conditions of the selected items. + * + * **Note:** This property must only be set by the control the `ValueHelp` element belongs to, not by the + * application. + * + * **Note:** A condition must have the structure of {@link sap.ui.mdc.condition.ConditionObject ConditionObject}. + * + * **Note:** Always set the conditions from outside the value help only as long the value help is closed. + */ + conditions?: object[] | PropertyBindingInfo | `{${string}}`; + /** * Object related to the `Delegate` module that provides the required APIs to execute model-specific logic. * The object has the following properties: @@ -24186,6 +25419,17 @@ declare module "sap/ui/mdc/ValueHelp" { */ delegate?: object | PropertyBindingInfo | `{${string}}`; + /** + * The value by which the help is filtered. Here the field provides the typed value to allow the value help + * to filter for it. + * + * **Note:** This only takes effect if the `ValueHelp` elements content supports filtering. + * + * **Note:** This property must only be set by the control the `ValueHelp` element belongs to, not by the + * application. + */ + filterValue?: string | PropertyBindingInfo; + /** * If this property is set, the user input of the corresponding field is validated against the value help. * If no entry is found for the user input, an error is shown on the field. @@ -24209,6 +25453,22 @@ declare module "sap/ui/mdc/ValueHelp" { */ typeahead?: valuehelp.base.ITypeaheadContainer; + /** + * This event is fired when a value is selected in the value help. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + */ + select?: (oEvent: ValueHelp$SelectEvent) => void; + + /** + * This event is fired when the `ValueHelp` element is disconnected from a control. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + */ + disconnect?: (oEvent: Event) => void; + /** * This event is fired after the value help has been closed. */ @@ -24223,6 +25483,45 @@ declare module "sap/ui/mdc/ValueHelp" { * This event is fired as the value help is fully open. */ opened?: (oEvent: ValueHelp$OpenedEvent) => void; + + /** + * This event is fired after the user navigated, using the arrow keys, in the value help. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + */ + navigated?: (oEvent: ValueHelp$NavigatedEvent) => void; + + /** + * This event is fired if the user wants to switch from typeahead to value help. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + */ + switchToValueHelp?: (oEvent: Event) => void; + + /** + * This event is fired after a suggested item has been found for a type-ahead. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + * + * @since 1.120.0 + */ + typeaheadSuggested?: (oEvent: ValueHelp$TypeaheadSuggestedEvent) => void; + + /** + * This event is fired if the visual focus is set to the value help. + * + * In this case the visual focus needs to be removed from the opening field, but the real focus must stay + * there. + * + * **Note:** This event must only be handled by the control the `ValueHelp` element belongs to, not by the + * application. + * + * @since 1.127.0 + */ + visualFocusSet?: (oEvent: Event) => void; } /** @@ -28461,6 +29760,16 @@ declare namespace sap { "sap/ui/mdc/enums/LinkType": undefined; + "sap/ui/mdc/enums/ListActionType": undefined; + + "sap/ui/mdc/enums/ListGrowingMode": undefined; + + "sap/ui/mdc/enums/ListP13nMode": undefined; + + "sap/ui/mdc/enums/ListSelectionMode": undefined; + + "sap/ui/mdc/enums/ListType": undefined; + "sap/ui/mdc/enums/OperatorName": undefined; "sap/ui/mdc/enums/OperatorOverwrite": undefined; @@ -28579,6 +29888,22 @@ declare namespace sap { "sap/ui/mdc/LinkDelegate": undefined; + "sap/ui/mdc/List": undefined; + + "sap/ui/mdc/list/DragDropConfig": undefined; + + "sap/ui/mdc/list/GridListType": undefined; + + "sap/ui/mdc/list/ItemActionItem": undefined; + + "sap/ui/mdc/list/ItemSettings": undefined; + + "sap/ui/mdc/list/ListType": undefined; + + "sap/ui/mdc/list/ListTypeBase": undefined; + + "sap/ui/mdc/ListDelegate": undefined; + "sap/ui/mdc/mixin/ActionToolbarMixin": undefined; "sap/ui/mdc/mixin/AdaptationMixin": undefined; @@ -28643,14 +29968,22 @@ declare namespace sap { "sap/ui/mdc/TableDelegate": undefined; + "sap/ui/mdc/util/Common": undefined; + "sap/ui/mdc/util/DateUtil": undefined; "sap/ui/mdc/util/DensityHelper": undefined; + "sap/ui/mdc/util/DragDropConfigBase": undefined; + + "sap/ui/mdc/util/ExportUtils": undefined; + "sap/ui/mdc/util/FilterUtil": undefined; "sap/ui/mdc/util/InfoBar": undefined; + "sap/ui/mdc/util/P13nUtils": undefined; + "sap/ui/mdc/util/PromiseCache": undefined; "sap/ui/mdc/util/PropertyHelper": undefined; diff --git a/types/openui5/sap.ui.rta.d.ts b/types/openui5/sap.ui.rta.d.ts index 51b5e865d278b7..99111ea99a50f0 100644 --- a/types/openui5/sap.ui.rta.d.ts +++ b/types/openui5/sap.ui.rta.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/rta/api/startAdaptation" { import Control from "sap/ui/core/Control"; @@ -199,6 +199,8 @@ declare module "sap/ui/rta/plugin/annotations/AnnotationChangeDialog" { declare namespace sap { interface IUI5DefineDependencyNames { + "sap/ui/rta/api/FrontendActionsAPI": undefined; + "sap/ui/rta/api/startAdaptation": undefined; "sap/ui/rta/api/startKeyUserAdaptation": undefined; @@ -221,6 +223,12 @@ declare namespace sap { "sap/ui/rta/service/Selection": undefined; + "sap/ui/rta/util/ai/AIVisualization": undefined; + + "sap/ui/rta/util/ai/FrontendActionError": undefined; + + "sap/ui/rta/util/ai/FrontendActionResult": undefined; + "sap/ui/rta/util/ReloadManager": undefined; } } diff --git a/types/openui5/sap.ui.suite.d.ts b/types/openui5/sap.ui.suite.d.ts index ac10fbd086aa8a..87a1177c029ac7 100644 --- a/types/openui5/sap.ui.suite.d.ts +++ b/types/openui5/sap.ui.suite.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/suite/library" { /** diff --git a/types/openui5/sap.ui.support.d.ts b/types/openui5/sap.ui.support.d.ts index 0faad9da901122..1ea88a508e662a 100644 --- a/types/openui5/sap.ui.support.d.ts +++ b/types/openui5/sap.ui.support.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/support/library" { /** diff --git a/types/openui5/sap.ui.table.d.ts b/types/openui5/sap.ui.table.d.ts index d9c587b3801c01..fbbdd3a3f1ce1a 100644 --- a/types/openui5/sap.ui.table.d.ts +++ b/types/openui5/sap.ui.table.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/table/library" { import TreeAutoExpandMode1 from "sap/ui/model/TreeAutoExpandMode"; @@ -162,6 +162,27 @@ declare module "sap/ui/table/library" { */ VerticalScrollBar = "vsb", } + /** + * Whether the scroll handle is shown during vertical scrolling. + * + * This enum is part of the 'sap/ui/table/library' module export and must be accessed by the property 'ShowScrollHandle'. + * + * @since 1.153 + */ + export enum ShowScrollHandle { + /** + * The default behavior. The scroll handle is shown only on touch scrolling. + */ + Default = "Default", + /** + * The scroll handle is not shown. + */ + Off = "Off", + /** + * The scroll handle is shown when the user scrolls the table vertically. + */ + On = "On", + } /** * Sort order of a column * @@ -6276,6 +6297,7 @@ declare module "sap/ui/table/Table" { NavigationMode, SelectionBehavior, SelectionMode, + ShowScrollHandle, VisibleRowCountMode, } from "sap/ui/table/library"; @@ -8696,6 +8718,18 @@ declare module "sap/ui/table/Table" { * @returns Value of property `showOverlay` */ getShowOverlay(): boolean; + /** + * Gets current value of property {@link #getShowScrollHandle showScrollHandle}. + * + * Defines whether the scroll handle is shown during vertical scrolling. + * + * Default value is `Default`. + * + * @since 1.153 + * + * @returns Value of property `showScrollHandle` + */ + getShowScrollHandle(): ShowScrollHandle; /** * Gets the sorted columns in the order in which sorting was performed through the {@link sap.ui.table.Table#sort } * method and menus. Does not reflect sorting at binding level or the columns sort visualization set with @@ -9717,6 +9751,25 @@ declare module "sap/ui/table/Table" { */ bShowOverlay?: boolean ): this; + /** + * Sets a new value for property {@link #getShowScrollHandle showScrollHandle}. + * + * Defines whether the scroll handle is shown during vertical scrolling. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `Default`. + * + * @since 1.153 + * + * @returns Reference to `this` in order to allow method chaining + */ + setShowScrollHandle( + /** + * New value for property `showScrollHandle` + */ + sShowScrollHandle?: ShowScrollHandle | keyof typeof ShowScrollHandle + ): this; /** * Sets the threshold value, which will be added to all data requests in case the Table is bound against * an OData service. @@ -10028,6 +10081,16 @@ declare module "sap/ui/table/Table" { */ scrollThreshold?: int | PropertyBindingInfo | `{${string}}`; + /** + * Defines whether the scroll handle is shown during vertical scrolling. + * + * @since 1.153 + */ + showScrollHandle?: + | (ShowScrollHandle | keyof typeof ShowScrollHandle) + | PropertyBindingInfo + | `{${string}}`; + /** * Flag to enable or disable column reordering * diff --git a/types/openui5/sap.ui.testrecorder.d.ts b/types/openui5/sap.ui.testrecorder.d.ts index b1d8cbc2d9e151..d5a12f183ddba2 100644 --- a/types/openui5/sap.ui.testrecorder.d.ts +++ b/types/openui5/sap.ui.testrecorder.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/testrecorder/library" {} diff --git a/types/openui5/sap.ui.unified.d.ts b/types/openui5/sap.ui.unified.d.ts index 51d48c7f2c53e6..998c5bcf8c8f78 100644 --- a/types/openui5/sap.ui.unified.d.ts +++ b/types/openui5/sap.ui.unified.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/unified/library" { /** diff --git a/types/openui5/sap.ui.ux3.d.ts b/types/openui5/sap.ui.ux3.d.ts index 3d30284b3228f3..9b89b0456ade84 100644 --- a/types/openui5/sap.ui.ux3.d.ts +++ b/types/openui5/sap.ui.ux3.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/ui/ux3/library" { /** diff --git a/types/openui5/sap.uxap.d.ts b/types/openui5/sap.uxap.d.ts index fa954aac9f95e8..d4fb763c209ce5 100644 --- a/types/openui5/sap.uxap.d.ts +++ b/types/openui5/sap.uxap.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.152.0 +// For Library Version: 1.153.0 declare module "sap/uxap/library" { /**