@openui5/ts-types 1.97.1 → 1.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -264,7 +264,7 @@ interface JQuery<TElement = HTMLElement> extends Iterable<TElement> {
264
264
  ): jQuery;
265
265
  }
266
266
 
267
- // For Library Version: 1.97.1
267
+ // For Library Version: 1.100.0
268
268
 
269
269
  declare module "sap/base/assert" {
270
270
  /**
@@ -693,7 +693,7 @@ declare module "sap/base/Log" {
693
693
  /**
694
694
  * The default log level
695
695
  */
696
- iLogLevel?: Level
696
+ iDefaultLogLevel?: Level
697
697
  ): object;
698
698
  /**
699
699
  * Creates a new info-level entry in the log with the given message, details and calling component.
@@ -2001,6 +2001,76 @@ declare module "sap/base/util/Version" {
2001
2001
  }
2002
2002
  }
2003
2003
 
2004
+ declare module "sap/ui/util/XMLHelper" {
2005
+ /**
2006
+ * Error information as provided by the `DOMParser`.
2007
+ *
2008
+ * Note that the set of properties with meaningful content differs between browsers.
2009
+ */
2010
+ export type XMLParseErrorInfo = {
2011
+ errorCode?: int;
2012
+
2013
+ url?: sap.ui.core.URI;
2014
+
2015
+ reason?: string;
2016
+
2017
+ srcText?: string;
2018
+
2019
+ line?: int;
2020
+
2021
+ linepos?: int;
2022
+
2023
+ filepos?: int;
2024
+
2025
+ type?: "error" | "warning";
2026
+ };
2027
+
2028
+ /**
2029
+ * @SINCE 1.58
2030
+ *
2031
+ * Provides functionality for parsing XML formatted strings and serializing XML documents.
2032
+ */
2033
+ interface XMLHelper {
2034
+ /**
2035
+ * Extracts parse error information from the specified document (if any).
2036
+ *
2037
+ * If an error was found, the returned object contains a browser-specific subset of the properties described
2038
+ * in {@link module:sap/base/util/XMLHelper.XMLParseErrorInfo XMLParseErrorInfo}. Otherwise, it just contains
2039
+ * an `errorCode` property with value 0.
2040
+ */
2041
+ getParseError(
2042
+ /**
2043
+ * The parsed XML document
2044
+ */
2045
+ oDocument: XMLDocument
2046
+ ): XMLParseErrorInfo;
2047
+ /**
2048
+ * Parses the specified XML string into an XML document, using the native parsing functionality of the browser.
2049
+ * If an error occurs during parsing, a {@link module:sap/base/util/XMLHelper.XMLParseErrorInfo parse error
2050
+ * info object} is attached as the `parseError` property of the returned document.
2051
+ */
2052
+ parse(
2053
+ /**
2054
+ * An XML string
2055
+ */
2056
+ sXMLText: string
2057
+ ): XMLDocument;
2058
+ /**
2059
+ * Serializes the specified DOM tree into a string representation.
2060
+ * See:
2061
+ * {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLSerializer/serializeToString}
2062
+ */
2063
+ serialize(
2064
+ /**
2065
+ * the XML document object to be serialized as string
2066
+ */
2067
+ oXMLDocument: Node | Attr
2068
+ ): string;
2069
+ }
2070
+ const XMLHelper: XMLHelper;
2071
+ export default XMLHelper;
2072
+ }
2073
+
2004
2074
  declare module "sap/ui/core/ComponentSupport" {
2005
2075
  /**
2006
2076
  * @SINCE 1.58.0
@@ -2325,9 +2395,14 @@ declare module "sap/ui/dom/includeStylesheet" {
2325
2395
  /**
2326
2396
  * @SINCE 1.58
2327
2397
  *
2328
- * Includes the specified stylesheet via a <link>-tag in the head of the current document. If there
2329
- * is call to `includeStylesheet` providing the sId of an already included stylesheet, the existing element
2330
- * will be replaced.
2398
+ * Includes the specified stylesheet via a <link>-tag in the head of the current document.
2399
+ *
2400
+ * If `includeStylesheet` is called with an `sId` of an already included stylesheet and:
2401
+ * - either `fnLoadCallback` or `fnErrorCallback` is given: the old stylesheet is deleted and a new one
2402
+ * is inserted
2403
+ * - `vUrl` is different from the existing one's: the old stylesheet is deleted and a new one is inserted
2404
+ *
2405
+ * - otherwise: no action
2331
2406
  */
2332
2407
  export default function includeStylesheet(
2333
2408
  /**
@@ -3156,6 +3231,52 @@ declare module "sap/ui/performance/Measurement" {
3156
3231
  };
3157
3232
  }
3158
3233
 
3234
+ declare module "sap/ui/performance/trace/FESRHelper" {
3235
+ /**
3236
+ * @SINCE 1.100
3237
+ *
3238
+ * FESRHelper API Provides helper functionality for FESR and consumers of FESR
3239
+ */
3240
+ interface FESRHelper {
3241
+ /**
3242
+ * @SINCE 1.100
3243
+ *
3244
+ * Get semantic stepname for an event of a given element used for FESR.
3245
+ */
3246
+ getSemanticStepname(
3247
+ /**
3248
+ * The element conatining the semantic stepname
3249
+ */
3250
+ oElement: sap.ui.core.Element,
3251
+ /**
3252
+ * The event ID of the semantic stepname
3253
+ */
3254
+ sEventId: string
3255
+ ): string;
3256
+ /**
3257
+ * @SINCE 1.100
3258
+ *
3259
+ * Add semantic stepname for an event of a given element used for FESR.
3260
+ */
3261
+ setSemanticStepname(
3262
+ /**
3263
+ * The element the semantic stepname should be applied to
3264
+ */
3265
+ oElement: sap.ui.core.Element,
3266
+ /**
3267
+ * The event ID the semantic stepname is valid for
3268
+ */
3269
+ sEventId: string,
3270
+ /**
3271
+ * The semantic stepname
3272
+ */
3273
+ sStepname: string
3274
+ ): void;
3275
+ }
3276
+ const FESRHelper: FESRHelper;
3277
+ export default FESRHelper;
3278
+ }
3279
+
3159
3280
  declare module "sap/ui/performance/trace/Interaction" {
3160
3281
  /**
3161
3282
  * @SINCE 1.76
@@ -3267,6 +3388,49 @@ declare module "sap/ui/test/opaQunit" {
3267
3388
  */
3268
3389
  async?: boolean
3269
3390
  ): void;
3391
+ /**
3392
+ * QUnit test adapter for OPA: add a test to be executed by QUnit Has the same signature as QUnit.test (QUnit
3393
+ * version is also considered) Suggested usage:
3394
+ * ```javascript
3395
+ *
3396
+ * sap.ui.require(["sap/ui/test/Opa5", "sap/ui/test/opaQunit"], function (Opa5, opaTest) {
3397
+ *
3398
+ * Opa5.extendConfig({
3399
+ * assertions: new Opa5({
3400
+ * checkIfSomethingIsOk : function () {
3401
+ * this.waitFor({
3402
+ * success: function () {
3403
+ * Opa5.assert.ok(true, "Everything is fine");
3404
+ * }
3405
+ * });
3406
+ * }
3407
+ * })
3408
+ * });
3409
+ *
3410
+ * opaTest("Should test something", function (Given, When, Then) {
3411
+ * // Implementation of the test
3412
+ * Then.checkIfSomethingIsOk();
3413
+ * });
3414
+ *
3415
+ * });
3416
+ * ```
3417
+ */
3418
+ export default function opaQunit(
3419
+ /**
3420
+ * name of the QUnit test.
3421
+ */
3422
+ testName: string,
3423
+ /**
3424
+ * the test function. Expects 3 arguments, in order: {@link sap.ui.test.Opa.config}.arrangements, {@link
3425
+ * sap.ui.test.Opa.config}.actions, {@link sap.ui.test.Opa.config}.assertions. These arguments will be prefilled
3426
+ * by OPA
3427
+ */
3428
+ callback: Function,
3429
+ /**
3430
+ * available only in QUnit v1.x. Indicates whether the test is asynchronous. False by default.
3431
+ */
3432
+ async?: boolean
3433
+ ): void;
3270
3434
  }
3271
3435
 
3272
3436
  declare module "sap/ui/util/Mobile" {
@@ -3527,51 +3691,6 @@ declare module "sap/ui/util/Storage" {
3527
3691
  }
3528
3692
  }
3529
3693
 
3530
- declare module "sap/ui/util/XMLHelper" {
3531
- /**
3532
- * @SINCE 1.58
3533
- *
3534
- * Provides functionality for parsing XML formatted strings and serializing XML documents.
3535
- */
3536
- interface XMLHelper {
3537
- /**
3538
- * Extracts parse error information from the specified document (if any).
3539
- *
3540
- * If an error was found the returned object has the following error information parameters: errorCode,
3541
- * url, reason, srcText, line, linepos, filepos
3542
- */
3543
- getParseError(
3544
- /**
3545
- * the parsed XML document
3546
- */
3547
- oDocument: string
3548
- ): object;
3549
- /**
3550
- * Parses the specified XML formatted string text using native parsing function of the browser and returns
3551
- * a valid XML document. If an error occurred during parsing a parse error xobject is returned as property
3552
- * (parseError) of the returned XML document object. The parse error object has the following error information
3553
- * parameters: errorCode, url, reason, srcText, line, linepos, filepos
3554
- */
3555
- parse(
3556
- /**
3557
- * the XML data as string
3558
- */
3559
- sXMLText: string
3560
- ): object;
3561
- /**
3562
- * Serializes the specified XML document into a string representation.
3563
- */
3564
- serialize(
3565
- /**
3566
- * the XML document object to be serialized as string
3567
- */
3568
- oXMLDocument: string
3569
- ): object;
3570
- }
3571
- const XMLHelper: XMLHelper;
3572
- export default XMLHelper;
3573
- }
3574
-
3575
3694
  declare module "sap/ui/VersionInfo" {
3576
3695
  /**
3577
3696
  * @SINCE 1.56.0
@@ -3580,24 +3699,25 @@ declare module "sap/ui/VersionInfo" {
3580
3699
  /**
3581
3700
  * @SINCE 1.56.0
3582
3701
  *
3583
- * Loads the version info file (resources/sap-ui-version.json) asynchronously and returns a Promise. The
3584
- * returned Promise resolves with the version info files content.
3702
+ * Loads the version info asynchronously from resource "sap-ui-version.json".
3585
3703
  *
3586
- * If a library name is specified then the version info of the individual library will be retrieved.
3704
+ * By default, the returned promise will resolve with the whole version info file's content. If a library
3705
+ * name is specified in the options, then the promise will resolve with the version info for that library
3706
+ * only or with `undefined`, if the named library is not listed in the version info file.
3587
3707
  *
3588
- * In case of the version info file is not available an error will occur when calling this function.
3708
+ * If loading the version info file fails, the promise will be rejected with the corresponding error.
3589
3709
  */
3590
3710
  load(
3591
3711
  /**
3592
- * an object map (see below)
3712
+ * Map of options
3593
3713
  */
3594
- mOptions: {
3714
+ mOptions?: {
3595
3715
  /**
3596
- * name of the library (e.g. "sap.ui.core")
3716
+ * Name of a library (e.g. "sap.ui.core")
3597
3717
  */
3598
- library: string;
3718
+ library?: string;
3599
3719
  }
3600
- ): Promise<any>;
3720
+ ): Promise<object | undefined>;
3601
3721
  }
3602
3722
  const VersionInfo: VersionInfo;
3603
3723
  export default VersionInfo;
@@ -3974,8 +4094,8 @@ declare namespace sap {
3974
4094
  * using `sap.ui.require("something")` are automagically converted into `sap.ui.define` dependencies before
3975
4095
  * executing the factory function.
3976
4096
  *
3977
- * Limitations, Design Considerations:
3978
- * - **Limitation**: as dependency management is not supported for Non-UI5 modules, the only way to ensure
4097
+ * Restrictions, Design Considerations:
4098
+ * - **Restriction**: as dependency management is not supported for Non-UI5 modules, the only way to ensure
3979
4099
  * proper execution order for such modules currently is to rely on the order in the dependency array. Obviously,
3980
4100
  * this only works as long as `sap.ui.define` uses synchronous loading. It will be enhanced when asynchronous
3981
4101
  * loading is implemented.
@@ -4223,8 +4343,8 @@ declare namespace sap {
4223
4343
  * using `sap.ui.require("something")` are automagically converted into `sap.ui.define` dependencies before
4224
4344
  * executing the factory function.
4225
4345
  *
4226
- * Limitations, Design Considerations:
4227
- * - **Limitation**: as dependency management is not supported for Non-UI5 modules, the only way to ensure
4346
+ * Restrictions, Design Considerations:
4347
+ * - **Restriction**: as dependency management is not supported for Non-UI5 modules, the only way to ensure
4228
4348
  * proper execution order for such modules currently is to rely on the order in the dependency array. Obviously,
4229
4349
  * this only works as long as `sap.ui.define` uses synchronous loading. It will be enhanced when asynchronous
4230
4350
  * loading is implemented.
@@ -4466,8 +4586,8 @@ declare namespace sap {
4466
4586
  * using `sap.ui.require("something")` are automagically converted into `sap.ui.define` dependencies before
4467
4587
  * executing the factory function.
4468
4588
  *
4469
- * Limitations, Design Considerations:
4470
- * - **Limitation**: as dependency management is not supported for Non-UI5 modules, the only way to ensure
4589
+ * Restrictions, Design Considerations:
4590
+ * - **Restriction**: as dependency management is not supported for Non-UI5 modules, the only way to ensure
4471
4591
  * proper execution order for such modules currently is to rely on the order in the dependency array. Obviously,
4472
4592
  * this only works as long as `sap.ui.define` uses synchronous loading. It will be enhanced when asynchronous
4473
4593
  * loading is implemented.
@@ -4710,8 +4830,8 @@ declare namespace sap {
4710
4830
  * using `sap.ui.require("something")` are automagically converted into `sap.ui.define` dependencies before
4711
4831
  * executing the factory function.
4712
4832
  *
4713
- * Limitations, Design Considerations:
4714
- * - **Limitation**: as dependency management is not supported for Non-UI5 modules, the only way to ensure
4833
+ * Restrictions, Design Considerations:
4834
+ * - **Restriction**: as dependency management is not supported for Non-UI5 modules, the only way to ensure
4715
4835
  * proper execution order for such modules currently is to rely on the order in the dependency array. Obviously,
4716
4836
  * this only works as long as `sap.ui.define` uses synchronous loading. It will be enhanced when asynchronous
4717
4837
  * loading is implemented.
@@ -5442,7 +5562,7 @@ declare namespace sap {
5442
5562
  fnCallback?: Function,
5443
5563
  /**
5444
5564
  * Callback function to execute if an error was detected while loading the dependencies or executing the
5445
- * factory function. Note that due to browser limitations not all errors will be reported via this callback.
5565
+ * factory function. Note that due to browser restrictions not all errors will be reported via this callback.
5446
5566
  * In general, module loading is designed for the non-error case. Error handling is not complete.
5447
5567
  */
5448
5568
  fnErrback?: Function
@@ -6284,6 +6404,38 @@ declare namespace sap {
6284
6404
  events?: Record<string, Function>;
6285
6405
  };
6286
6406
 
6407
+ /**
6408
+ * Configuration for the binding of a managed object
6409
+ *
6410
+ * `path` is the only mandatory property, all others are optional.
6411
+ */
6412
+ type ObjectBindingInfo = {
6413
+ /**
6414
+ * Path in the model to bind to, either an absolute path or relative to the binding context for the corresponding
6415
+ * model. If the path contains a '>' sign, the string preceding it will override the `model` property,
6416
+ * and the remainder after the '>' sign will be used as binding path
6417
+ */
6418
+ path: string;
6419
+ /**
6420
+ * Name of the model to bind against; when `undefined` or omitted, the default model is used
6421
+ */
6422
+ model?: string;
6423
+ /**
6424
+ * Whether the binding is initially suspended
6425
+ */
6426
+ suspended?: boolean;
6427
+ /**
6428
+ * Map of additional parameters for this binding; the names and value ranges of the supported parameters
6429
+ * depend on the model implementation and should be documented with the `bindContext` method of the corresponding
6430
+ * model class or with the model-specific subclass of `sap.ui.model.ContextBinding`
6431
+ */
6432
+ parameters?: object;
6433
+ /**
6434
+ * Map of event handler functions keyed by the name of the binding events that they are attached to
6435
+ */
6436
+ events?: Record<string, Function>;
6437
+ };
6438
+
6287
6439
  /**
6288
6440
  * Configuration for the binding of a managed property.
6289
6441
  *
@@ -7439,15 +7591,14 @@ declare namespace sap {
7439
7591
  * - `byValue: boolean` (either can be omitted or set to the boolean value `true`) If set to `true`,
7440
7592
  * the property value will be {@link module:sap/base/util/deepClone deep cloned} on write and read operations
7441
7593
  * to ensure that the internal value can't be modified by the outside. The property `byValue` is currently
7442
- * limited to a `boolean` value. Other types are reserved for future use. Class definitions must only use
7443
- * boolean values for the flag (or omit it), but readers of ManagedObject metadata should handle any truthy
7444
- * value as `true` to be future safe. Note that using `byValue:true` has a performance impact on property
7445
- * access and therefore should be used carefully. It also doesn't make sense to set this option for properties
7446
- * with a primitive type (they have value semantic anyhow) or for properties with arrays of primitive types
7447
- * (they have been cloned already in the past with a cheaper implementation). Future versions of UI5 might
7448
- * encourage this as a limitation during class definition. `group:string` a semantic grouping
7449
- * of the properties, intended to be used in design time tools. Allowed values are (case sensitive): Accessibility,
7450
- * Appearance, Behavior, Data, Designtime, Dimension, Identification, Misc
7594
+ * restricted to a `boolean` value. Other types are reserved for future use. Class definitions must only
7595
+ * use boolean values for the flag (or omit it), but readers of ManagedObject metadata should handle any
7596
+ * truthy value as `true` to be future safe. Note that using `byValue:true` has a performance impact on
7597
+ * property access and therefore should be used carefully. It also doesn't make sense to set this option
7598
+ * for properties with a primitive type (they have value semantic anyhow) or for properties with arrays
7599
+ * of primitive types (they are already cloned with a less expensive implementation). `group:string`
7600
+ * a semantic grouping of the properties, intended to be used in design time tools. Allowed values are (case
7601
+ * sensitive): Accessibility, Appearance, Behavior, Data, Designtime, Dimension, Identification, Misc
7451
7602
  * - `defaultValue: any` the default value for the property or null if there is no defaultValue.
7452
7603
  *
7453
7604
  * - `bindable: boolean|string` (either can be omitted or set to the boolean value `true` or the
@@ -8068,34 +8219,9 @@ declare namespace sap {
8068
8219
  */
8069
8220
  bindObject(
8070
8221
  /**
8071
- * An object describing the binding
8222
+ * Binding info
8072
8223
  */
8073
- oBindingInfo: {
8074
- /**
8075
- * Path in the model to bind to, either an absolute path or relative to the binding context for the corresponding
8076
- * model; when the path contains a '>' sign, the string preceding it will override the `model` property
8077
- * and the remainder after the '>' will be used as binding path
8078
- */
8079
- path: string;
8080
- /**
8081
- * Name of the model to bind against; when `undefined` or omitted, the default model is used
8082
- */
8083
- model?: string;
8084
- /**
8085
- * Map of additional parameters for this binding; the names and value ranges of the supported parameters
8086
- * depend on the model implementation, they should be documented with the `bindContext` method of the corresponding
8087
- * model class or with the model specific subclass of `sap.ui.model.ContextBinding`
8088
- */
8089
- parameters?: object;
8090
- /**
8091
- * Whether the binding should be suspended initially
8092
- */
8093
- suspended?: boolean;
8094
- /**
8095
- * Map of event handler functions keyed by the name of the binding events that they should be attached to
8096
- */
8097
- events?: object;
8098
- }
8224
+ oBindingInfo: sap.ui.base.ManagedObject.ObjectBindingInfo
8099
8225
  ): this;
8100
8226
  /**
8101
8227
  * Binds a property to the model.
@@ -8918,11 +9044,7 @@ declare namespace sap {
8918
9044
  /**
8919
9045
  * name of the aggregation to refresh
8920
9046
  */
8921
- sName: string,
8922
- /**
8923
- * the change reason
8924
- */
8925
- sChangeReason: sap.ui.model.ChangeReason
9047
+ sName: string
8926
9048
  ): void;
8927
9049
  /**
8928
9050
  * Removes an object from the aggregation named `sAggregationName` with cardinality 0..n.
@@ -10604,18 +10726,18 @@ declare namespace sap {
10604
10726
  /**
10605
10727
  * Horizontal position of the scrollbar
10606
10728
  */
10607
- iHorizontalPosition: int,
10729
+ x: int,
10608
10730
  /**
10609
10731
  * Vertical position of the scrollbar
10610
10732
  */
10611
- iVerticalPosition: int,
10733
+ y: int,
10612
10734
  /**
10613
10735
  * The duration of animated scrolling in milliseconds. To scroll immediately without animation, give 0 as
10614
10736
  * value.
10615
10737
  */
10616
- iTime: int,
10738
+ time: int,
10617
10739
 
10618
- fnCallback: Function
10740
+ fnScrollEndCallback: Function
10619
10741
  ): this;
10620
10742
  /**
10621
10743
  * Scrolls to a specific position in scroll container.
@@ -10624,13 +10746,13 @@ declare namespace sap {
10624
10746
  /**
10625
10747
  * Horizontal position of the scrollbar
10626
10748
  */
10627
- iHorizontalPosition: int,
10749
+ x: int,
10628
10750
  /**
10629
10751
  * Vertical position of the scrollbar
10630
10752
  */
10631
- iVerticalPosition: int,
10753
+ y: int,
10632
10754
 
10633
- fnCallback: Function
10755
+ fnScrollEndCallback: Function
10634
10756
  ): this;
10635
10757
  /**
10636
10758
  * Scrolls to an element within a container.
@@ -10785,7 +10907,7 @@ declare namespace sap {
10785
10907
  /**
10786
10908
  * Returns the calculated position of the drop action relative to the valid dropped control.
10787
10909
  */
10788
- getDropPosition(): string;
10910
+ getDropPosition(): sap.ui.core.dnd.RelativeDropPosition;
10789
10911
  /**
10790
10912
  * Returns the drop indicator.
10791
10913
  */
@@ -12018,11 +12140,89 @@ declare namespace sap {
12018
12140
  */
12019
12141
  OnOrBetween = "OnOrBetween",
12020
12142
  }
12143
+ /**
12144
+ * @SINCE 1.100.0
12145
+ *
12146
+ * Drop positions relative to a dropped element.
12147
+ */
12148
+ enum RelativeDropPosition {
12149
+ /**
12150
+ * Drop after the control.
12151
+ */
12152
+ After = "After",
12153
+ /**
12154
+ * Drop before the control.
12155
+ */
12156
+ Before = "Before",
12157
+ /**
12158
+ * Drop on the control.
12159
+ */
12160
+ On = "On",
12161
+ }
12021
12162
  }
12022
12163
  /**
12023
12164
  * Format classes
12024
12165
  */
12025
12166
  namespace format {
12167
+ namespace DateFormat {
12168
+ /**
12169
+ * @SINCE 1.99
12170
+ *
12171
+ * Interface for a timezone-specific DateFormat, which is able to format and parse a date based on a given
12172
+ * timezone. The timezone is used to convert the given date, and also for timezone-related pattern symbols.
12173
+ * The timezone is an IANA timezone ID, e.g. "America/New_York".
12174
+ * See:
12175
+ * sap.ui.core.format.DateFormat
12176
+ */
12177
+ interface DateTimeWithTimezone {
12178
+ __implements__sap_ui_core_format_DateFormat_DateTimeWithTimezone: boolean;
12179
+
12180
+ /**
12181
+ * @SINCE 1.99
12182
+ * @EXPERIMENTAL (since 1.99.0)
12183
+ *
12184
+ * Format a date object to a string according to the given timezone and format options.
12185
+ */
12186
+ format(
12187
+ /**
12188
+ * The date to format
12189
+ */
12190
+ oJSDate: Date,
12191
+ /**
12192
+ * The IANA timezone ID in which the date will be calculated and formatted e.g. "America/New_York". If the
12193
+ * parameter is omitted, `null` or an empty string, the timezone will be taken from {@link sap.ui.core.Configuration#getTimezone}.
12194
+ * For an invalid IANA timezone ID, an empty string will be returned.
12195
+ */
12196
+ sTimezone?: string
12197
+ ): string;
12198
+ /**
12199
+ * @SINCE 1.99
12200
+ * @EXPERIMENTAL (since 1.99.0)
12201
+ *
12202
+ * Parse a string which is formatted according to the given format options to an array containing a date
12203
+ * object and the timezone.
12204
+ */
12205
+ parse(
12206
+ /**
12207
+ * the string containing a formatted date/time value
12208
+ */
12209
+ sValue: string,
12210
+ /**
12211
+ * The IANA timezone ID which should be used to convert the date e.g. "America/New_York". If the parameter
12212
+ * is omitted, `null` or an empty string, the timezone will be taken from {@link sap.ui.core.Configuration#getTimezone}.
12213
+ * For an invalid IANA timezone ID, `null` will be returned.
12214
+ */
12215
+ sTimezone?: string,
12216
+ /**
12217
+ * Whether to be strict with regards to the value ranges of date fields, e.g. for a month pattern of `MM`
12218
+ * and a value range of [1-12] `strict` ensures that the value is within the range; if it is larger than
12219
+ * `12` it cannot be parsed and `null` is returned
12220
+ */
12221
+ bStrict?: boolean
12222
+ ): any[];
12223
+ }
12224
+ }
12225
+
12026
12226
  namespace NumberFormat {
12027
12227
  /**
12028
12228
  * Specifies a rounding behavior for numerical operations capable of discarding precision. Each rounding
@@ -12072,6 +12272,9 @@ declare namespace sap {
12072
12272
  * The DateFormat is a static class for formatting and parsing single date and time values or date and time
12073
12273
  * intervals according to a set of format options.
12074
12274
  *
12275
+ * Important: Every Date is converted with the timezone taken from {@link sap.ui.core.Configuration#getTimezone}.
12276
+ * The timezone falls back to the browser's local timezone.
12277
+ *
12075
12278
  * Supported format options are pattern based on Unicode LDML Date Format notation. Please note that only
12076
12279
  * a subset of the LDML date symbols is supported. If no pattern is specified a default pattern according
12077
12280
  * to the locale settings is used.
@@ -12186,9 +12389,8 @@ declare namespace sap {
12186
12389
  */
12187
12390
  strictParsing?: boolean;
12188
12391
  /**
12189
- * if true, the date is formatted relatively to todays date if it is within the given day range, e.g. "today",
12190
- * "yesterday", "in 5 days"@param {boolean} [oFormatOptions.UTC] if true, the date is formatted and parsed
12191
- * as UTC instead of the local timezone
12392
+ * if true, the date is formatted relatively to today's date if it is within the given day range, e.g. "today",
12393
+ * "yesterday", "in 5 days"
12192
12394
  */
12193
12395
  relative?: boolean;
12194
12396
  /**
@@ -12234,6 +12436,78 @@ declare namespace sap {
12234
12436
  */
12235
12437
  oLocale?: sap.ui.core.Locale
12236
12438
  ): sap.ui.core.format.DateFormat;
12439
+ /**
12440
+ * @SINCE 1.99.0
12441
+ * @EXPERIMENTAL (since 1.99.0)
12442
+ *
12443
+ * Get a datetimeWithTimezone instance of the DateFormat, which can be used for formatting.
12444
+ */
12445
+ static getDateTimeWithTimezoneInstance(
12446
+ /**
12447
+ * An object which defines the format options
12448
+ */
12449
+ oFormatOptions?: {
12450
+ /**
12451
+ * A string containing pattern symbols (e.g. "yMMMd" or "Hms") which will be converted into a pattern for
12452
+ * the used locale that matches the wanted symbols best. The symbols must be in canonical order, that is:
12453
+ * 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),
12454
+ * Minute (m), Second (s), Timezone (z/Z/v/V/O/X/x) See http://unicode.org/reports/tr35/tr35-dates.html#availableFormats_appendItems
12455
+ */
12456
+ format?: string;
12457
+ /**
12458
+ * a datetime pattern in LDML format. It is not verified whether the pattern represents a full datetime.
12459
+ */
12460
+ pattern?: string;
12461
+ /**
12462
+ * Specifies the display of the timezone:
12463
+ * - "Show": display both datetime and timezone
12464
+ * - "Hide": display only datetime
12465
+ * - "Only": display only timezone It is ignored for formatting when an options pattern or a format
12466
+ * are supplied.
12467
+ */
12468
+ showTimezone?: sap.ui.core.format.DateFormatTimezoneDisplay;
12469
+ /**
12470
+ * Can be either 'short, 'medium', 'long' or 'full'. For datetime you can also define mixed styles, separated
12471
+ * with a slash, where the first part is the date style and the second part is the time style (e.g. "medium/short").
12472
+ * If no pattern is given, a locale-dependent default datetime pattern of that style from the LocaleData
12473
+ * class is used.
12474
+ */
12475
+ style?: string;
12476
+ /**
12477
+ * Whether to check by parsing if the value is a valid datetime
12478
+ */
12479
+ strictParsing?: boolean;
12480
+ /**
12481
+ * Whether the date is formatted relatively to today's date if it is within the given day range, e.g. "today",
12482
+ * "yesterday", "in 5 days"
12483
+ */
12484
+ relative?: boolean;
12485
+ /**
12486
+ * The day range used for relative formatting. If `oFormatOptions.relativeScale` is set to the default value
12487
+ * 'day', the `relativeRange is by default [-6, 6], which means that only the previous 6 and the following
12488
+ * 6 days are formatted relatively. If oFormatOptions.relativeScale` is set to 'auto', all dates are
12489
+ * formatted relatively.
12490
+ */
12491
+ relativeRange?: int[];
12492
+ /**
12493
+ * If 'auto' is set, a new relative time format is switched on for all Date/Time instances.
12494
+ */
12495
+ relativeScale?: string;
12496
+ /**
12497
+ * The style of the relative format. The valid values are "wide", "short", "narrow"
12498
+ */
12499
+ relativeStyle?: string;
12500
+ /**
12501
+ * The calendar type which is used to format and parse the date. This value is by default either set in
12502
+ * the configuration or calculated based on the current locale.
12503
+ */
12504
+ calendarType?: sap.ui.core.CalendarType;
12505
+ },
12506
+ /**
12507
+ * Locale to ask for locale-specific texts/settings
12508
+ */
12509
+ oLocale?: sap.ui.core.Locale
12510
+ ): sap.ui.core.format.DateFormat.DateTimeWithTimezone;
12237
12511
  /**
12238
12512
  * Get a time instance of the DateFormat, which can be used for formatting.
12239
12513
  */
@@ -12312,6 +12586,12 @@ declare namespace sap {
12312
12586
  ): sap.ui.core.format.DateFormat;
12313
12587
  /**
12314
12588
  * Format a date according to the given format options.
12589
+ *
12590
+ * Uses the timezone from {@link sap.ui.core.Configuration#getTimezone}, which falls back to the browser's
12591
+ * local timezone to convert the given date.
12592
+ *
12593
+ * When using instances from getDateTimeWithTimezoneInstance, please see the corresponding documentation:
12594
+ * {@link sap.ui.core.format.DateFormat.getDateTimeWithTimezoneInstance#format}.
12315
12595
  */
12316
12596
  format(
12317
12597
  /**
@@ -12325,6 +12605,12 @@ declare namespace sap {
12325
12605
  ): string;
12326
12606
  /**
12327
12607
  * Parse a string which is formatted according to the given format options.
12608
+ *
12609
+ * Uses the timezone from {@link sap.ui.core.Configuration#getTimezone}, which falls back to the browser's
12610
+ * local timezone to convert the given date.
12611
+ *
12612
+ * When using instances from getDateTimeWithTimezoneInstance, please see the corresponding documentation:
12613
+ * {@link sap.ui.core.format.DateFormat.getDateTimeWithTimezoneInstance#parse}.
12328
12614
  */
12329
12615
  parse(
12330
12616
  /**
@@ -12332,11 +12618,11 @@ declare namespace sap {
12332
12618
  */
12333
12619
  sValue: string,
12334
12620
  /**
12335
- * whether to use UTC, if no timezone is contained
12621
+ * whether to use UTC
12336
12622
  */
12337
12623
  bUTC: boolean,
12338
12624
  /**
12339
- * to use strict value check
12625
+ * whether to use strict value check
12340
12626
  */
12341
12627
  bStrict: boolean
12342
12628
  ): Date | Date[];
@@ -12547,115 +12833,122 @@ declare namespace sap {
12547
12833
  */
12548
12834
  oFormatOptions?: {
12549
12835
  /**
12550
- * defines minimal number of non-decimal digits
12836
+ * defines whether the currency is shown as a code in currency format. The currency symbol is displayed
12837
+ * when this option is set to `false` and a symbol has been defined for the given currency code.
12551
12838
  */
12552
- minIntegerDigits?: int;
12553
- /**
12554
- * defines maximum number of non-decimal digits. If the number exceeds this maximum, e.g. 1e+120, "?" characters
12555
- * are shown instead of digits.
12556
- */
12557
- maxIntegerDigits?: int;
12839
+ currencyCode?: boolean;
12558
12840
  /**
12559
- * defines minimal number of decimal digits
12841
+ * can be set either to 'standard' (the default value) or to 'accounting' for an accounting-specific currency
12842
+ * display
12560
12843
  */
12561
- minFractionDigits?: int;
12844
+ currencyContext?: string;
12562
12845
  /**
12563
- * defines maximum number of decimal digits
12846
+ * defines a set of custom currencies exclusive to this NumberFormat instance. Custom currencies must not
12847
+ * only consist of digits. If custom currencies are defined on the instance, no other currencies can be
12848
+ * formatted and parsed by this instance. Globally available custom currencies can be added via the global
12849
+ * configuration. See the above examples. See also {@link sap.ui.core.Configuration.FormatSettings#setCustomCurrencies}
12850
+ * and {@link sap.ui.core.Configuration.FormatSettings#addCustomCurrencies}.
12564
12851
  */
12565
- maxFractionDigits?: int;
12852
+ customCurrencies?: Record<string, object>;
12566
12853
  /**
12567
12854
  * defines the number of decimal digits
12568
12855
  */
12569
12856
  decimals?: int;
12570
12857
  /**
12571
- * defines the number of decimal in the shortened format string. If this isn't specified, the 'decimals'
12572
- * options is used
12573
- */
12574
- shortDecimals?: int;
12575
- /**
12576
- * only use short number formatting for values above this limit
12858
+ * defines the character used as decimal separator. Note: `decimalSeparator` must always be different from
12859
+ * `groupingSeparator`.
12577
12860
  */
12578
- shortLimit?: int;
12579
- /**
12580
- * @since 1.40 specifies a number from which the scale factor for 'short' or 'long' style format is generated.
12581
- * The generated scale factor is used for all numbers which are formatted with this format instance. This
12582
- * option has effect only when the option 'style' is set to 'short' or 'long'. This option is by default
12583
- * set with `undefined` which means the scale factor is selected automatically for each number being formatted.
12584
- */
12585
- shortRefNumber?: int;
12861
+ decimalSeparator?: string;
12586
12862
  /**
12587
- * @since 1.40 specifies whether the scale factor is shown in the formatted number. This option takes effect
12588
- * only when the 'style' options is set to either 'short' or 'long'.
12863
+ * @since 1.30.0 defines what an empty string is parsed as, and what is formatted as an empty string. The
12864
+ * allowed values are "" (empty string), NaN, `null`, or 0. The 'format' and 'parse' functions are done
12865
+ * in a symmetric way. For example, when this parameter is set to NaN, an empty string is parsed as [NaN,
12866
+ * undefined], and NaN is formatted as an empty string.
12589
12867
  */
12590
- showScale?: boolean;
12868
+ emptyString?: number;
12591
12869
  /**
12592
- * CLDR number pattern which is used to format the number
12870
+ * defines the grouping base size in digits if it is different from the grouping size (e.g. Indian grouping)
12593
12871
  */
12594
- pattern?: string;
12872
+ groupingBaseSize?: int;
12595
12873
  /**
12596
12874
  * defines whether grouping is enabled (show the grouping separators)
12597
12875
  */
12598
12876
  groupingEnabled?: boolean;
12599
12877
  /**
12600
- * defines the used grouping separator, note that the groupingSeparator must always be different than the
12601
- * used decimalSeparator.
12878
+ * defines the character used as grouping separator. Note: `groupingSeparator` must always be different
12879
+ * from `decimalSeparator`.
12602
12880
  */
12603
12881
  groupingSeparator?: string;
12604
12882
  /**
12605
- * defines the grouping size in digits, the default is three
12883
+ * defines the grouping size in digits; the default is `3`. It must be a positive number.
12606
12884
  */
12607
12885
  groupingSize?: int;
12608
12886
  /**
12609
- * defines the grouping base size in digits, in case it is different from the grouping size (e.g. indian
12610
- * grouping)
12887
+ * defines the maximum number of decimal digits
12611
12888
  */
12612
- groupingBaseSize?: int;
12889
+ maxFractionDigits?: int;
12613
12890
  /**
12614
- * defines the used decimal separator, note that the decimalSeparator must always be different than the
12615
- * used groupingSeparator.
12891
+ * defines the maximum number of non-decimal digits. If the number exceeds this maximum, e.g. 1e+120, "?"
12892
+ * characters are shown instead of digits.
12616
12893
  */
12617
- decimalSeparator?: string;
12894
+ maxIntegerDigits?: int;
12618
12895
  /**
12619
- * defines the used plus symbol
12896
+ * defines the minimal number of decimal digits
12620
12897
  */
12621
- plusSign?: string;
12898
+ minFractionDigits?: int;
12899
+ /**
12900
+ * defines the minimal number of non-decimal digits
12901
+ */
12902
+ minIntegerDigits?: int;
12622
12903
  /**
12623
12904
  * defines the used minus symbol
12624
12905
  */
12625
12906
  minusSign?: string;
12626
12907
  /**
12627
- * @since 1.28.2 defines whether to output string from parse function in order to keep the precision for
12628
- * big numbers. Numbers in scientific notation are parsed back to the standard notation. For example "5e-3"
12908
+ * @since 1.28.2 defines whether to output the string from the parse function in order to keep the precision
12909
+ * for big numbers. Numbers in scientific notation are parsed back to standard notation. For example, "5e-3"
12629
12910
  * is parsed to "0.005".
12630
12911
  */
12631
12912
  parseAsString?: boolean;
12913
+ /**
12914
+ * CLDR number pattern which is used to format the number
12915
+ */
12916
+ pattern?: string;
12917
+ /**
12918
+ * defines the used plus symbol
12919
+ */
12920
+ plusSign?: string;
12632
12921
  /**
12633
12922
  * Whether {@link #format} preserves decimal digits except trailing zeros in case there are more decimals
12634
12923
  * than the `maxFractionDigits` format option allows. If decimals are not preserved, the formatted number
12635
12924
  * is rounded to `maxFractionDigits`.
12636
12925
  */
12637
12926
  preserveDecimals?: boolean;
12638
- /**
12639
- * defines the style of format. Valid values are 'short, 'long' or 'standard' (based on CLDR decimalFormat).
12640
- * Numbers are formatted into compact forms when it's set to 'short' or 'long'. When this option is set,
12641
- * the default value of option 'precision' is set to 2. This can be changed by setting either min/maxFractionDigits,
12642
- * decimals, shortDecimals or precision option.
12643
- */
12644
- style?: string;
12645
12927
  /**
12646
12928
  * specifies a rounding behavior for discarding the digits after the maximum fraction digits defined by
12647
- * maxFractionDigits. Rounding will only be applied, if the passed value if of type number. This can be
12648
- * assigned by value in {@link sap.ui.core.format.NumberFormat.RoundingMode RoundingMode} or a function
12649
- * which will be used for rounding the number. The function is called with two parameters: the number and
12650
- * how many decimal digits should be reserved.
12929
+ * maxFractionDigits. Rounding will only be applied if the passed value is of type `number`. This can be
12930
+ * assigned
12931
+ * - by value in {@link sap.ui.core.format.NumberFormat.RoundingMode RoundingMode},
12932
+ * - via a function that is used for rounding the number and takes two parameters: the number itself,
12933
+ * and the number of decimal digits that should be reserved.
12651
12934
  */
12652
12935
  roundingMode?: sap.ui.core.format.NumberFormat.RoundingMode;
12653
12936
  /**
12654
- * Overrides the global configuration value {@link sap.ui.core.Configuration.FormatSettings#getTrailingCurrencyCode}
12655
- * whose default value is `true</>. This is ignored if oFormatOptions.currencyCode` is set to `false`
12656
- * or if `oFormatOptions.pattern` is supplied
12937
+ * defines the number of decimal in the shortened format string. If this isn't specified, the 'decimals'
12938
+ * options is used
12657
12939
  */
12658
- trailingCurrencyCode?: boolean;
12940
+ shortDecimals?: int;
12941
+ /**
12942
+ * only use short number formatting for values above this limit
12943
+ */
12944
+ shortLimit?: int;
12945
+ /**
12946
+ * @since 1.40 specifies a number from which the scale factor for 'short' or 'long' style format is generated.
12947
+ * The generated scale factor is used for all numbers which are formatted with this format instance. This
12948
+ * option has effect only when the option 'style' is set to 'short' or 'long'. This option is by default
12949
+ * set with `undefined` which means the scale factor is selected automatically for each number being formatted.
12950
+ */
12951
+ shortRefNumber?: int;
12659
12952
  /**
12660
12953
  * defines whether the currency code/symbol is shown in the formatted string, e.g. true: "1.00 EUR", false:
12661
12954
  * "1.00" for locale "en" If both `showMeasure` and `showNumber` are false, an empty string is returned
@@ -12668,29 +12961,23 @@ declare namespace sap {
12668
12961
  */
12669
12962
  showNumber?: boolean;
12670
12963
  /**
12671
- * defines whether the currency is shown as code in currency format. The currency symbol is displayed when
12672
- * this is set to false and there is a symbol defined for the given currency code.
12673
- */
12674
- currencyCode?: boolean;
12675
- /**
12676
- * It can be set either with 'standard' (the default value) or with 'accounting' for an accounting specific
12677
- * currency display
12964
+ * @since 1.40 specifies whether the scale factor is shown in the formatted number. This option takes effect
12965
+ * only when the 'style' options is set to either 'short' or 'long'.
12678
12966
  */
12679
- currencyContext?: string;
12967
+ showScale?: boolean;
12680
12968
  /**
12681
- * @since 1.30.0 defines what empty string is parsed as and what is formatted as empty string. The allowed
12682
- * values are "" (empty string), NaN, null or 0. The 'format' and 'parse' are done in a symmetric way. For
12683
- * example when this parameter is set to NaN, empty string is parsed as [NaN, undefined] and NaN is formatted
12684
- * as empty string.
12969
+ * defines the style of format. Valid values are 'short, 'long' or 'standard' (based on CLDR decimalFormat).
12970
+ * When set to 'short' or 'long', numbers are formatted into compact forms. When this option is set, the
12971
+ * default value of the 'precision' option is set to 2. This can be changed by setting either min/maxFractionDigits,
12972
+ * decimals, shortDecimals, or the 'precision' option itself.
12685
12973
  */
12686
- emptyString?: number;
12974
+ style?: string;
12687
12975
  /**
12688
- * defines a set of custom currencies exclusive to this NumberFormat instance. If custom currencies are
12689
- * defined on the instance, no other currencies can be formatted and parsed by this instance. Globally available
12690
- * custom currencies can be added via the global configuration. See the above examples. See also {@link
12691
- * sap.ui.core.Configuration.FormatSettings#setCustomCurrencies} and {@link sap.ui.core.Configuration.FormatSettings#addCustomCurrencies}.
12976
+ * overrides the global configuration value {@link sap.ui.core.Configuration.FormatSettings#getTrailingCurrencyCode},
12977
+ * which has a default value of `true</>. This is ignored if oFormatOptions.currencyCode` is set to
12978
+ * `false`, or if `oFormatOptions.pattern` is supplied.
12692
12979
  */
12693
- customCurrencies?: Record<string, object>;
12980
+ trailingCurrencyCode?: boolean;
12694
12981
  },
12695
12982
  /**
12696
12983
  * Locale to get the formatter for
@@ -12705,6 +12992,19 @@ declare namespace sap {
12705
12992
  *
12706
12993
  * This instance has HALF_AWAY_FROM_ZERO set as default rounding mode. Please set the roundingMode property
12707
12994
  * in oFormatOptions to change the default value.
12995
+ *
12996
+ * The following example shows how grouping is done:
12997
+ * ```javascript
12998
+ *
12999
+ * var oFormat = NumberFormat.getFloatInstance({
13000
+ * "groupingEnabled": true, // grouping is enabled
13001
+ * "groupingSeparator": '.', // grouping separator is '.'
13002
+ * "groupingSize": 3, // the amount of digits to be grouped (here: thousand)
13003
+ * "decimalSeparator": "," // the decimal separator must be different from the grouping separator
13004
+ * });
13005
+ *
13006
+ * oFormat.format(1234.56); // "1.234,56"
13007
+ * ```
12708
13008
  */
12709
13009
  static getFloatInstance(
12710
13010
  /**
@@ -12712,121 +13012,121 @@ declare namespace sap {
12712
13012
  * to the type and locale settings are used.
12713
13013
  */
12714
13014
  oFormatOptions?: {
12715
- /**
12716
- * defines minimal number of non-decimal digits
12717
- */
12718
- minIntegerDigits?: int;
12719
- /**
12720
- * defines maximum number of non-decimal digits. If the number exceeds this maximum, e.g. 1e+120, "?" characters
12721
- * are shown instead of digits.
12722
- */
12723
- maxIntegerDigits?: int;
12724
- /**
12725
- * defines minimal number of decimal digits
12726
- */
12727
- minFractionDigits?: int;
12728
- /**
12729
- * defines maximum number of decimal digits
12730
- */
12731
- maxFractionDigits?: int;
12732
13015
  /**
12733
13016
  * defines the number of decimal digits
12734
13017
  */
12735
13018
  decimals?: int;
12736
13019
  /**
12737
- * defines the number of decimal in the shortened format string. If this isn't specified, the 'decimals'
12738
- * options is used
13020
+ * defines the character used as decimal separator. Note: `decimalSeparator` must always be different from
13021
+ * `groupingSeparator`.
12739
13022
  */
12740
- shortDecimals?: int;
12741
- /**
12742
- * only use short number formatting for values above this limit
12743
- */
12744
- shortLimit?: int;
12745
- /**
12746
- * @since 1.40 specifies a number from which the scale factor for 'short' or 'long' style format is generated.
12747
- * The generated scale factor is used for all numbers which are formatted with this format instance. This
12748
- * option has effect only when the option 'style' is set to 'short' or 'long'. This option is by default
12749
- * set with `undefined` which means the scale factor is selected automatically for each number being formatted.
12750
- */
12751
- shortRefNumber?: int;
12752
- /**
12753
- * @since 1.40 specifies whether the scale factor is shown in the formatted number. This option takes effect
12754
- * only when the 'style' options is set to either 'short' or 'long'.
12755
- */
12756
- showScale?: boolean;
13023
+ decimalSeparator?: string;
12757
13024
  /**
12758
- * defines the number precision, number of decimals is calculated dependent on the integer digits
13025
+ * @since 1.30.0 defines what an empty string is parsed as, and what is formatted as an empty string. The
13026
+ * allowed values are "" (empty string), NaN, `null`, or 0. The 'format' and 'parse' functions are done
13027
+ * in a symmetric way. For example, when this parameter is set to NaN, an empty string is parsed as NaN,
13028
+ * and NaN is formatted as an empty string.
12759
13029
  */
12760
- precision?: int;
13030
+ emptyString?: number;
12761
13031
  /**
12762
- * CLDR number pattern which is used to format the number
13032
+ * defines the grouping base size in digits if it is different from the grouping size (e.g. Indian grouping)
12763
13033
  */
12764
- pattern?: string;
13034
+ groupingBaseSize?: int;
12765
13035
  /**
12766
13036
  * defines whether grouping is enabled (show the grouping separators)
12767
13037
  */
12768
13038
  groupingEnabled?: boolean;
12769
13039
  /**
12770
- * defines the used grouping separator, note that the groupingSeparator must always be different than the
12771
- * used decimalSeparator.
13040
+ * defines the character used as grouping separator. Note: `groupingSeparator` must always be different
13041
+ * from `decimalSeparator`.
12772
13042
  */
12773
13043
  groupingSeparator?: string;
12774
13044
  /**
12775
- * defines the grouping size in digits, the default is three
13045
+ * defines the grouping size in digits; the default is `3`. It must be a positive number.
12776
13046
  */
12777
13047
  groupingSize?: int;
12778
13048
  /**
12779
- * defines the grouping base size in digits, in case it is different from the grouping size (e.g. indian
12780
- * grouping)
13049
+ * defines the maximum number of decimal digits
12781
13050
  */
12782
- groupingBaseSize?: int;
13051
+ maxFractionDigits?: int;
12783
13052
  /**
12784
- * defines the used decimal separator, note that the decimalSeparator must always be different than the
12785
- * used groupingSeparator.
13053
+ * defines the maximum number of non-decimal digits. If the number exceeds this maximum, e.g. 1e+120, "?"
13054
+ * characters are shown instead of digits.
12786
13055
  */
12787
- decimalSeparator?: string;
13056
+ maxIntegerDigits?: int;
12788
13057
  /**
12789
- * defines the used plus symbol
13058
+ * defines the minimal number of decimal digits
12790
13059
  */
12791
- plusSign?: string;
13060
+ minFractionDigits?: int;
13061
+ /**
13062
+ * defines the minimal number of non-decimal digits
13063
+ */
13064
+ minIntegerDigits?: int;
12792
13065
  /**
12793
13066
  * defines the used minus symbol
12794
13067
  */
12795
13068
  minusSign?: string;
12796
13069
  /**
12797
- * @since 1.28.2 defines whether to output string from parse function in order to keep the precision for
12798
- * big numbers. Numbers in scientific notation are parsed back to the standard notation. For example "5e-3"
13070
+ * @since 1.28.2 defines whether to output the string from the parse function in order to keep the precision
13071
+ * for big numbers. Numbers in scientific notation are parsed back to standard notation. For example, "5e-3"
12799
13072
  * is parsed to "0.005".
12800
13073
  */
12801
13074
  parseAsString?: boolean;
13075
+ /**
13076
+ * CLDR number pattern which is used to format the number
13077
+ */
13078
+ pattern?: string;
13079
+ /**
13080
+ * defines the used plus symbol
13081
+ */
13082
+ plusSign?: string;
13083
+ /**
13084
+ * defines the numerical precision; the number of decimals is calculated dependent on the integer digits
13085
+ */
13086
+ precision?: int;
12802
13087
  /**
12803
13088
  * Whether {@link #format} preserves decimal digits except trailing zeros in case there are more decimals
12804
13089
  * than the `maxFractionDigits` format option allows. If decimals are not preserved, the formatted number
12805
13090
  * is rounded to `maxFractionDigits`.
12806
13091
  */
12807
13092
  preserveDecimals?: boolean;
12808
- /**
12809
- * defines the style of format. Valid values are 'short, 'long' or 'standard' (based on CLDR decimalFormat).
12810
- * Numbers are formatted into compact forms when it's set to 'short' or 'long'. When this option is set,
12811
- * the default value of option 'precision' is set to 2. This can be changed by setting either min/maxFractionDigits,
12812
- * decimals, shortDecimals or precision option.
12813
- */
12814
- style?: string;
12815
13093
  /**
12816
13094
  * specifies a rounding behavior for discarding the digits after the maximum fraction digits defined by
12817
- * maxFractionDigits. Rounding will only be applied, if the passed value if of type number. This can be
12818
- * assigned by value in {@link sap.ui.core.format.NumberFormat.RoundingMode RoundingMode} or a function
12819
- * which will be used for rounding the number. The function is called with two parameters: the number and
12820
- * how many decimal digits should be reserved.
13095
+ * maxFractionDigits. Rounding will only be applied if the passed value is of type `number`. This can be
13096
+ * assigned
13097
+ * - by value in {@link sap.ui.core.format.NumberFormat.RoundingMode RoundingMode},
13098
+ * - via a function that is used for rounding the number and takes two parameters: the number itself,
13099
+ * and the number of decimal digits that should be reserved.
12821
13100
  */
12822
13101
  roundingMode?: sap.ui.core.format.NumberFormat.RoundingMode;
12823
13102
  /**
12824
- * @since 1.30.0 defines what empty string is parsed as and what is formatted as empty string. The allowed
12825
- * values are "" (empty string), NaN, null or 0. The 'format' and 'parse' are done in a symmetric way. For
12826
- * example when this parameter is set to NaN, empty string is parsed as NaN and NaN is formatted as empty
12827
- * string.
13103
+ * defines the number of decimal in the shortened format string. If this isn't specified, the 'decimals'
13104
+ * options is used
12828
13105
  */
12829
- emptyString?: number;
13106
+ shortDecimals?: int;
13107
+ /**
13108
+ * only use short number formatting for values above this limit
13109
+ */
13110
+ shortLimit?: int;
13111
+ /**
13112
+ * @since 1.40 specifies a number from which the scale factor for 'short' or 'long' style format is generated.
13113
+ * The generated scale factor is used for all numbers which are formatted with this format instance. This
13114
+ * option has effect only when the option 'style' is set to 'short' or 'long'. This option is by default
13115
+ * set with `undefined` which means the scale factor is selected automatically for each number being formatted.
13116
+ */
13117
+ shortRefNumber?: int;
13118
+ /**
13119
+ * @since 1.40 specifies whether the scale factor is shown in the formatted number. This option takes effect
13120
+ * only when the 'style' options is set to either 'short' or 'long'.
13121
+ */
13122
+ showScale?: boolean;
13123
+ /**
13124
+ * defines the style of format. Valid values are 'short, 'long' or 'standard' (based on CLDR decimalFormat).
13125
+ * When set to 'short' or 'long', numbers are formatted into compact forms. When this option is set, the
13126
+ * default value of the 'precision' option is set to 2. This can be changed by setting either min/maxFractionDigits,
13127
+ * decimals, shortDecimals, or the 'precision' option itself.
13128
+ */
13129
+ style?: string;
12830
13130
  },
12831
13131
  /**
12832
13132
  * Locale to get the formatter for
@@ -12841,6 +13141,18 @@ declare namespace sap {
12841
13141
  *
12842
13142
  * This instance has TOWARDS_ZERO set as default rounding mode. Please set the roundingMode property
12843
13143
  * in oFormatOptions to change the default value.
13144
+ *
13145
+ * The following example shows how grouping is done:
13146
+ * ```javascript
13147
+ *
13148
+ * var oFormat = NumberFormat.getIntegerInstance({
13149
+ * "groupingEnabled": true, // grouping is enabled
13150
+ * "groupingSeparator": '.', // grouping separator is '.'
13151
+ * "groupingSize": 3 // the amount of digits to be grouped (here: thousand)
13152
+ * });
13153
+ *
13154
+ * oFormat.format(1234); // "1.234"
13155
+ * ```
12844
13156
  */
12845
13157
  static getIntegerInstance(
12846
13158
  /**
@@ -12848,120 +13160,121 @@ declare namespace sap {
12848
13160
  * to the type and locale settings are used.
12849
13161
  */
12850
13162
  oFormatOptions?: {
12851
- /**
12852
- * defines minimal number of non-decimal digits
12853
- */
12854
- minIntegerDigits?: int;
12855
- /**
12856
- * defines maximum number of non-decimal digits. If the number exceeds this maximum, e.g. 1e+120, "?" characters
12857
- * are shown instead of digits.
12858
- */
12859
- maxIntegerDigits?: int;
12860
- /**
12861
- * defines minimal number of decimal digits
12862
- */
12863
- minFractionDigits?: int;
12864
- /**
12865
- * defines maximum number of decimal digits
12866
- */
12867
- maxFractionDigits?: int;
12868
13163
  /**
12869
13164
  * defines the number of decimal digits
12870
13165
  */
12871
13166
  decimals?: int;
12872
13167
  /**
12873
- * defines the number of decimal in the shortened format string. If this isn't specified, the 'decimals'
12874
- * options is used
12875
- */
12876
- shortDecimals?: int;
12877
- /**
12878
- * only use short number formatting for values above this limit
12879
- */
12880
- shortLimit?: int;
12881
- /**
12882
- * @since 1.40 specifies a number from which the scale factor for 'short' or 'long' style format is generated.
12883
- * The generated scale factor is used for all numbers which are formatted with this format instance. This
12884
- * option has effect only when the option 'style' is set to 'short' or 'long'. This option is by default
12885
- * set with `undefined` which means the scale factor is selected automatically for each number being formatted.
13168
+ * defines the character used as decimal separator. Note: `decimalSeparator` must always be different from
13169
+ * `groupingSeparator`.
12886
13170
  */
12887
- shortRefNumber?: int;
12888
- /**
12889
- * @since 1.40 specifies whether the scale factor is shown in the formatted number. This option takes effect
12890
- * only when the 'style' options is set to either 'short' or 'long'.
12891
- */
12892
- showScale?: boolean;
13171
+ decimalSeparator?: string;
12893
13172
  /**
12894
- * defines the number precision, number of decimals is calculated dependent on the integer digits
13173
+ * @since 1.30.0 defines what an empty string is parsed as, and what is formatted as an empty string. The
13174
+ * allowed values are only NaN, null or 0. The 'format' and 'parse' functions are done in a symmetric way.
13175
+ * For example, when this parameter is set to NaN, an empty string is parsed as NaN, and NaN is formatted
13176
+ * as an empty string.
12895
13177
  */
12896
- precision?: int;
13178
+ emptyString?: number;
12897
13179
  /**
12898
- * CLDR number pattern which is used to format the number
13180
+ * defines the grouping base size in digits if it is different from the grouping size (e.g. Indian grouping)
12899
13181
  */
12900
- pattern?: string;
13182
+ groupingBaseSize?: int;
12901
13183
  /**
12902
13184
  * defines whether grouping is enabled (show the grouping separators)
12903
13185
  */
12904
13186
  groupingEnabled?: boolean;
12905
13187
  /**
12906
- * defines the used grouping separator, note that the groupingSeparator must always be different than the
12907
- * used decimalSeparator.
13188
+ * defines the character used as grouping separator. Note: `groupingSeparator` must always be different
13189
+ * from `decimalSeparator`.
12908
13190
  */
12909
13191
  groupingSeparator?: string;
12910
13192
  /**
12911
- * defines the grouping size in digits, the default is three
13193
+ * defines the grouping size in digits; the default is `3`. It must be a positive number.
12912
13194
  */
12913
13195
  groupingSize?: int;
12914
13196
  /**
12915
- * defines the grouping base size in digits, in case it is different from the grouping size (e.g. indian
12916
- * grouping)
13197
+ * defines the maximum number of decimal digits
12917
13198
  */
12918
- groupingBaseSize?: int;
13199
+ maxFractionDigits?: int;
12919
13200
  /**
12920
- * defines the used decimal separator, note that the decimalSeparator must always be different than the
12921
- * used groupingSeparator.
13201
+ * defines the maximum number of non-decimal digits. If the number exceeds this maximum, e.g. 1e+120, "?"
13202
+ * characters are shown instead of digits.
12922
13203
  */
12923
- decimalSeparator?: string;
13204
+ maxIntegerDigits?: int;
12924
13205
  /**
12925
- * defines the used plus symbol
13206
+ * defines the minimal number of decimal digits
12926
13207
  */
12927
- plusSign?: string;
13208
+ minFractionDigits?: int;
13209
+ /**
13210
+ * defines the minimal number of non-decimal digits
13211
+ */
13212
+ minIntegerDigits?: int;
12928
13213
  /**
12929
13214
  * defines the used minus symbol
12930
13215
  */
12931
13216
  minusSign?: string;
12932
13217
  /**
12933
- * @since 1.28.2 defines whether to output string from parse function in order to keep the precision for
12934
- * big numbers. Numbers in scientific notation are parsed back to the standard notation. For example "5e+3"
13218
+ * @since 1.28.2 defines whether to output the string from the parse function in order to keep the precision
13219
+ * for big numbers. Numbers in scientific notation are parsed back to standard notation. For example, "5e+3"
12935
13220
  * is parsed to "5000".
12936
13221
  */
12937
13222
  parseAsString?: boolean;
13223
+ /**
13224
+ * CLDR number pattern which is used to format the number
13225
+ */
13226
+ pattern?: string;
13227
+ /**
13228
+ * defines the used plus symbol
13229
+ */
13230
+ plusSign?: string;
13231
+ /**
13232
+ * defines the numerical precision; the number of decimals is calculated dependent on the integer digits
13233
+ */
13234
+ precision?: int;
12938
13235
  /**
12939
13236
  * Whether {@link #format} preserves decimal digits except trailing zeros in case there are more decimals
12940
13237
  * than the `maxFractionDigits` format option allows. If decimals are not preserved, the formatted number
12941
13238
  * is rounded to `maxFractionDigits`.
12942
13239
  */
12943
13240
  preserveDecimals?: boolean;
12944
- /**
12945
- * defines the style of format. Valid values are 'short, 'long' or 'standard' (based on CLDR decimalFormat).
12946
- * Numbers are formatted into compact forms when it's set to 'short' or 'long'. When this option is set,
12947
- * the default value of option 'precision' is set to 2. This can be changed by setting either min/maxFractionDigits,
12948
- * decimals, shortDecimals or precision option.
12949
- */
12950
- style?: string;
12951
13241
  /**
12952
13242
  * specifies a rounding behavior for discarding the digits after the maximum fraction digits defined by
12953
- * maxFractionDigits. Rounding will only be applied, if the passed value if of type number. This can be
12954
- * assigned by value in {@link sap.ui.core.format.NumberFormat.RoundingMode RoundingMode} or a function
12955
- * which will be used for rounding the number. The function is called with two parameters: the number and
12956
- * how many decimal digits should be reserved.
13243
+ * maxFractionDigits. Rounding will only be applied if the passed value is of type `number`. This can be
13244
+ * assigned
13245
+ * - by value in {@link sap.ui.core.format.NumberFormat.RoundingMode RoundingMode},
13246
+ * - via a function that is used for rounding the number and takes two parameters: the number itself,
13247
+ * and the number of decimal digits that should be reserved.
12957
13248
  */
12958
13249
  roundingMode?: sap.ui.core.format.NumberFormat.RoundingMode;
12959
13250
  /**
12960
- * @since 1.30.0 defines what empty string is parsed as and what is formatted as empty string. The allowed
12961
- * values are only NaN, null or 0. The 'format' and 'parse' are done in a symmetric way. For example when
12962
- * this parameter is set to NaN, empty string is parsed as NaN and NaN is formatted as empty string.
13251
+ * defines the number of decimal in the shortened format string. If this isn't specified, the 'decimals'
13252
+ * options is used
12963
13253
  */
12964
- emptyString?: number;
13254
+ shortDecimals?: int;
13255
+ /**
13256
+ * only use short number formatting for values above this limit
13257
+ */
13258
+ shortLimit?: int;
13259
+ /**
13260
+ * @since 1.40 specifies a number from which the scale factor for 'short' or 'long' style format is generated.
13261
+ * The generated scale factor is used for all numbers which are formatted with this format instance. This
13262
+ * option has effect only when the option 'style' is set to 'short' or 'long'. This option is by default
13263
+ * set with `undefined` which means the scale factor is selected automatically for each number being formatted.
13264
+ */
13265
+ shortRefNumber?: int;
13266
+ /**
13267
+ * @since 1.40 specifies whether the scale factor is shown in the formatted number. This option takes effect
13268
+ * only when the 'style' options is set to either 'short' or 'long'.
13269
+ */
13270
+ showScale?: boolean;
13271
+ /**
13272
+ * defines the style of format. Valid values are 'short, 'long' or 'standard' (based on CLDR decimalFormat).
13273
+ * When set to 'short' or 'long', numbers are formatted into compact forms. When this option is set, the
13274
+ * default value of the 'precision' option is set to 2. This can be changed by setting either min/maxFractionDigits,
13275
+ * decimals, shortDecimals, or the 'precision' option itself.
13276
+ */
13277
+ style?: string;
12965
13278
  },
12966
13279
  /**
12967
13280
  * Locale to get the formatter for
@@ -12987,125 +13300,125 @@ declare namespace sap {
12987
13300
  * to the type and locale settings are used.
12988
13301
  */
12989
13302
  oFormatOptions?: {
12990
- /**
12991
- * defines minimal number of non-decimal digits
12992
- */
12993
- minIntegerDigits?: int;
12994
- /**
12995
- * defines maximum number of non-decimal digits. If the number exceeds this maximum, e.g. 1e+120, "?" characters
12996
- * are shown instead of digits.
12997
- */
12998
- maxIntegerDigits?: int;
12999
- /**
13000
- * defines minimal number of decimal digits
13001
- */
13002
- minFractionDigits?: int;
13003
- /**
13004
- * defines maximum number of decimal digits
13005
- */
13006
- maxFractionDigits?: int;
13007
13303
  /**
13008
13304
  * defines the number of decimal digits
13009
13305
  */
13010
13306
  decimals?: int;
13011
13307
  /**
13012
- * defines the number of decimal in the shortened format string. If this isn't specified, the 'decimals'
13013
- * options is used
13014
- */
13015
- shortDecimals?: int;
13016
- /**
13017
- * only use short number formatting for values above this limit
13018
- */
13019
- shortLimit?: int;
13020
- /**
13021
- * @since 1.40 specifies a number from which the scale factor for 'short' or 'long' style format is generated.
13022
- * The generated scale factor is used for all numbers which are formatted with this format instance. This
13023
- * option has effect only when the option 'style' is set to 'short' or 'long'. This option is by default
13024
- * set with `undefined` which means the scale factor is selected automatically for each number being formatted.
13308
+ * defines the character used as decimal separator. Note: `decimalSeparator` must always be different from
13309
+ * `groupingSeparator`.
13025
13310
  */
13026
- shortRefNumber?: int;
13027
- /**
13028
- * @since 1.40 specifies whether the scale factor is shown in the formatted number. This option takes effect
13029
- * only when the 'style' options is set to either 'short' or 'long'.
13030
- */
13031
- showScale?: boolean;
13311
+ decimalSeparator?: string;
13032
13312
  /**
13033
- * defines the number precision, number of decimals is calculated dependent on the integer digits
13313
+ * @since 1.30.0 defines what an empty string is parsed as, and what is formatted as an empty string. The
13314
+ * allowed values are "" (empty string), NaN, `null`, or 0. The 'format' and 'parse' functions are done
13315
+ * in a symmetric way. For example, when this parameter is set to NaN, an empty string is parsed as NaN,
13316
+ * and NaN is formatted as an empty string.
13034
13317
  */
13035
- precision?: int;
13318
+ emptyString?: number;
13036
13319
  /**
13037
- * CLDR number pattern which is used to format the number
13320
+ * defines the grouping base size in digits if it is different from the grouping size (e.g. Indian grouping)
13038
13321
  */
13039
- pattern?: string;
13322
+ groupingBaseSize?: int;
13040
13323
  /**
13041
13324
  * defines whether grouping is enabled (show the grouping separators)
13042
13325
  */
13043
13326
  groupingEnabled?: boolean;
13044
13327
  /**
13045
- * defines the used grouping separator, note that the groupingSeparator must always be different than the
13046
- * used decimalSeparator.
13328
+ * defines the character used as grouping separator. Note: `groupingSeparator` must always be different
13329
+ * from `decimalSeparator`.
13047
13330
  */
13048
13331
  groupingSeparator?: string;
13049
13332
  /**
13050
- * defines the grouping size in digits, the default is three
13333
+ * defines the grouping size in digits; the default is `3`. It must be a positive number.
13051
13334
  */
13052
13335
  groupingSize?: int;
13053
13336
  /**
13054
- * defines the grouping base size in digits, in case it is different from the grouping size (e.g. indian
13055
- * grouping)
13337
+ * defines the maximum number of decimal digits
13056
13338
  */
13057
- groupingBaseSize?: int;
13339
+ maxFractionDigits?: int;
13058
13340
  /**
13059
- * defines the used decimal separator, note that the decimalSeparator must always be different than the
13060
- * used groupingSeparator.
13341
+ * defines the maximum number of non-decimal digits. If the number exceeds this maximum, e.g. 1e+120, "?"
13342
+ * characters are shown instead of digits.
13061
13343
  */
13062
- decimalSeparator?: string;
13344
+ maxIntegerDigits?: int;
13063
13345
  /**
13064
- * defines the used plus symbol
13346
+ * defines the minimal number of decimal digits
13065
13347
  */
13066
- plusSign?: string;
13348
+ minFractionDigits?: int;
13349
+ /**
13350
+ * defines the minimal number of non-decimal digits
13351
+ */
13352
+ minIntegerDigits?: int;
13067
13353
  /**
13068
13354
  * defines the used minus symbol
13069
13355
  */
13070
13356
  minusSign?: string;
13357
+ /**
13358
+ * @since 1.28.2 defines whether to output the string from the parse function in order to keep the precision
13359
+ * for big numbers. Numbers in scientific notation are parsed back to standard notation. For example, "5e-3"
13360
+ * is parsed to "0.005".
13361
+ */
13362
+ parseAsString?: boolean;
13363
+ /**
13364
+ * CLDR number pattern which is used to format the number
13365
+ */
13366
+ pattern?: string;
13071
13367
  /**
13072
13368
  * defines the used percent symbol
13073
13369
  */
13074
13370
  percentSign?: string;
13075
13371
  /**
13076
- * @since 1.28.2 defines whether to output string from parse function in order to keep the precision for
13077
- * big numbers. Numbers in scientific notation are parsed back to the standard notation. For example "5e-3"
13078
- * is parsed to "0.005".
13372
+ * defines the used plus symbol
13079
13373
  */
13080
- parseAsString?: boolean;
13374
+ plusSign?: string;
13375
+ /**
13376
+ * defines the numerical precision; the number of decimals is calculated dependent on the integer digits
13377
+ */
13378
+ precision?: int;
13081
13379
  /**
13082
13380
  * Whether {@link #format} preserves decimal digits except trailing zeros in case there are more decimals
13083
13381
  * than the `maxFractionDigits` format option allows. If decimals are not preserved, the formatted number
13084
13382
  * is rounded to `maxFractionDigits`.
13085
13383
  */
13086
13384
  preserveDecimals?: boolean;
13087
- /**
13088
- * defines the style of format. Valid values are 'short, 'long' or 'standard' (based on CLDR decimalFormat).
13089
- * Numbers are formatted into compact forms when it's set to 'short' or 'long'. When this option is set,
13090
- * the default value of option 'precision' is set to 2. This can be changed by setting either min/maxFractionDigits,
13091
- * decimals, shortDecimals or precision option.
13092
- */
13093
- style?: string;
13094
13385
  /**
13095
13386
  * specifies a rounding behavior for discarding the digits after the maximum fraction digits defined by
13096
- * maxFractionDigits. Rounding will only be applied, if the passed value if of type number. This can be
13097
- * assigned by value in {@link sap.ui.core.format.NumberFormat.RoundingMode RoundingMode} or a function
13098
- * which will be used for rounding the number. The function is called with two parameters: the number and
13099
- * how many decimal digits should be reserved.
13387
+ * maxFractionDigits. Rounding will only be applied if the passed value is of type `number`. This can be
13388
+ * assigned
13389
+ * - by value in {@link sap.ui.core.format.NumberFormat.RoundingMode RoundingMode},
13390
+ * - via a function that is used for rounding the number and takes two parameters: the number itself,
13391
+ * and the number of decimal digits that should be reserved.
13100
13392
  */
13101
13393
  roundingMode?: sap.ui.core.format.NumberFormat.RoundingMode;
13102
13394
  /**
13103
- * @since 1.30.0 defines what empty string is parsed as and what is formatted as empty string. The allowed
13104
- * values are "" (empty string), NaN, null or 0. The 'format' and 'parse' are done in a symmetric way. For
13105
- * example when this parameter is set to NaN, empty string is parsed as NaN and NaN is formatted as empty
13106
- * string.
13395
+ * defines the number of decimal in the shortened format string. If this isn't specified, the 'decimals'
13396
+ * options is used
13107
13397
  */
13108
- emptyString?: number;
13398
+ shortDecimals?: int;
13399
+ /**
13400
+ * only use short number formatting for values above this limit
13401
+ */
13402
+ shortLimit?: int;
13403
+ /**
13404
+ * @since 1.40 specifies a number from which the scale factor for 'short' or 'long' style format is generated.
13405
+ * The generated scale factor is used for all numbers which are formatted with this format instance. This
13406
+ * option has effect only when the option 'style' is set to 'short' or 'long'. This option is by default
13407
+ * set with `undefined` which means the scale factor is selected automatically for each number being formatted.
13408
+ */
13409
+ shortRefNumber?: int;
13410
+ /**
13411
+ * @since 1.40 specifies whether the scale factor is shown in the formatted number. This option takes effect
13412
+ * only when the 'style' options is set to either 'short' or 'long'.
13413
+ */
13414
+ showScale?: boolean;
13415
+ /**
13416
+ * defines the style of format. Valid values are 'short, 'long' or 'standard' (based on CLDR decimalFormat).
13417
+ * When set to 'short' or 'long', numbers are formatted into compact forms. When this option is set, the
13418
+ * default value of the 'precision' option is set to 2. This can be changed by setting either min/maxFractionDigits,
13419
+ * decimals, shortDecimals, or the 'precision' option itself.
13420
+ */
13421
+ style?: string;
13109
13422
  },
13110
13423
  /**
13111
13424
  * Locale to get the formatter for
@@ -13128,123 +13441,118 @@ declare namespace sap {
13128
13441
  */
13129
13442
  oFormatOptions?: {
13130
13443
  /**
13131
- * defines minimal number of non-decimal digits
13132
- */
13133
- minIntegerDigits?: int;
13134
- /**
13135
- * defines maximum number of non-decimal digits. If the number exceeds this maximum, e.g. 1e+120, "?" characters
13136
- * are shown instead of digits.
13137
- */
13138
- maxIntegerDigits?: int;
13139
- /**
13140
- * defines minimal number of decimal digits
13444
+ * defines the allowed units for formatting and parsing, e.g. ["size-meter", "volume-liter", ...]
13141
13445
  */
13142
- minFractionDigits?: int;
13446
+ allowedUnits?: any[];
13143
13447
  /**
13144
- * defines maximum number of decimal digits
13448
+ * defines a set of custom units, e.g. {"electric-inductance": { "displayName": "henry", "unitPattern-count-one":
13449
+ * "{0} H", "unitPattern-count-other": "{0} H", "perUnitPattern": "{0}/H", "decimals": 2, "precision": 4
13450
+ * }}
13145
13451
  */
13146
- maxFractionDigits?: int;
13452
+ customUnits?: Record<string, object>;
13147
13453
  /**
13148
13454
  * defines the number of decimal digits
13149
13455
  */
13150
13456
  decimals?: int;
13151
13457
  /**
13152
- * defines the number of decimal in the shortened format string. If this isn't specified, the 'decimals'
13153
- * options is used
13154
- */
13155
- shortDecimals?: int;
13156
- /**
13157
- * only use short number formatting for values above this limit
13158
- */
13159
- shortLimit?: int;
13160
- /**
13161
- * @since 1.40 specifies a number from which the scale factor for 'short' or 'long' style format is generated.
13162
- * The generated scale factor is used for all numbers which are formatted with this format instance. This
13163
- * option has effect only when the option 'style' is set to 'short' or 'long'. This option is by default
13164
- * set with `undefined` which means the scale factor is selected automatically for each number being formatted.
13165
- */
13166
- shortRefNumber?: int;
13167
- /**
13168
- * @since 1.40 specifies whether the scale factor is shown in the formatted number. This option takes effect
13169
- * only when the 'style' options is set to either 'short' or 'long'.
13458
+ * defines the character used as decimal separator. Note: `decimalSeparator` must always be different from
13459
+ * `groupingSeparator`.
13170
13460
  */
13171
- showScale?: boolean;
13461
+ decimalSeparator?: string;
13172
13462
  /**
13173
- * defines the number precision, number of decimals is calculated dependent on the integer digits
13463
+ * @since 1.30.0 defines what an empty string is parsed as, and what is formatted as an empty string. The
13464
+ * allowed values are "" (empty string), NaN, `null`, or 0. The 'format' and 'parse' functions are done
13465
+ * in a symmetric way. For example, when this parameter is set to NaN, an empty string is parsed as [NaN,
13466
+ * undefined], and NaN is formatted as an empty string.
13174
13467
  */
13175
- precision?: int;
13468
+ emptyString?: number;
13176
13469
  /**
13177
- * CLDR number pattern which is used to format the number
13470
+ * defines the grouping base size in digits if it is different from the grouping size (e.g. Indian grouping)
13178
13471
  */
13179
- pattern?: string;
13472
+ groupingBaseSize?: int;
13180
13473
  /**
13181
13474
  * defines whether grouping is enabled (show the grouping separators)
13182
13475
  */
13183
13476
  groupingEnabled?: boolean;
13184
13477
  /**
13185
- * defines the used grouping separator, note that the groupingSeparator must always be different than the
13186
- * used decimalSeparator.
13478
+ * defines the character used as grouping separator. Note: `groupingSeparator` must always be different
13479
+ * from `decimalSeparator`.
13187
13480
  */
13188
13481
  groupingSeparator?: string;
13189
13482
  /**
13190
- * defines the grouping size in digits, the default is three
13483
+ * defines the grouping size in digits; the default is `3`. It must be a positive number.
13191
13484
  */
13192
13485
  groupingSize?: int;
13193
13486
  /**
13194
- * defines the grouping base size in digits, in case it is different from the grouping size (e.g. indian
13195
- * grouping)
13487
+ * defines the maximum number of decimal digits
13196
13488
  */
13197
- groupingBaseSize?: int;
13198
- /**
13199
- * defines the used decimal separator, note that the decimalSeparator must always be different than the
13200
- * used groupingSeparator.
13201
- */
13202
- decimalSeparator?: string;
13489
+ maxFractionDigits?: int;
13203
13490
  /**
13204
- * defines a set of custom units, e.g. {"electric-inductance": { "displayName": "henry", "unitPattern-count-one":
13205
- * "{0} H", "unitPattern-count-other": "{0} H", "perUnitPattern": "{0}/H", "decimals": 2, "precision": 4
13206
- * }}
13491
+ * defines the maximum number of non-decimal digits. If the number exceeds this maximum, e.g. 1e+120, "?"
13492
+ * characters are shown instead of digits.
13207
13493
  */
13208
- customUnits?: Record<string, object>;
13494
+ maxIntegerDigits?: int;
13209
13495
  /**
13210
- * defines the allowed units for formatting and parsing, e.g. ["size-meter", "volume-liter", ...]
13496
+ * defines the minimal number of decimal digits
13211
13497
  */
13212
- allowedUnits?: any[];
13498
+ minFractionDigits?: int;
13213
13499
  /**
13214
- * defines the used plus symbol
13500
+ * defines the minimal number of non-decimal digits
13215
13501
  */
13216
- plusSign?: string;
13502
+ minIntegerDigits?: int;
13217
13503
  /**
13218
13504
  * defines the used minus symbol
13219
13505
  */
13220
13506
  minusSign?: string;
13221
13507
  /**
13222
- * @since 1.28.2 defines whether to output string from parse function in order to keep the precision for
13223
- * big numbers. Numbers in scientific notation are parsed back to the standard notation. For example "5e-3"
13508
+ * @since 1.28.2 defines whether to output the string from the parse function in order to keep the precision
13509
+ * for big numbers. Numbers in scientific notation are parsed back to standard notation. For example, "5e-3"
13224
13510
  * is parsed to "0.005".
13225
13511
  */
13226
13512
  parseAsString?: boolean;
13513
+ /**
13514
+ * CLDR number pattern which is used to format the number
13515
+ */
13516
+ pattern?: string;
13517
+ /**
13518
+ * defines the used plus symbol
13519
+ */
13520
+ plusSign?: string;
13521
+ /**
13522
+ * defines the numerical precision; the number of decimals is calculated dependent on the integer digits
13523
+ */
13524
+ precision?: int;
13227
13525
  /**
13228
13526
  * Whether {@link #format} preserves decimal digits except trailing zeros in case there are more decimals
13229
13527
  * than the `maxFractionDigits` format option allows. If decimals are not preserved, the formatted number
13230
13528
  * is rounded to `maxFractionDigits`.
13231
13529
  */
13232
13530
  preserveDecimals?: boolean;
13233
- /**
13234
- * defines the style of format. Valid values are 'short, 'long' or 'standard' (based on CLDR decimalFormat).
13235
- * Numbers are formatted into compact forms when it's set to 'short' or 'long'. When this option is set,
13236
- * the default value of option 'precision' is set to 2. This can be changed by setting either min/maxFractionDigits,
13237
- * decimals, shortDecimals or precision option.
13238
- */
13239
- style?: string;
13240
13531
  /**
13241
13532
  * specifies a rounding behavior for discarding the digits after the maximum fraction digits defined by
13242
- * maxFractionDigits. Rounding will only be applied, if the passed value if of type number. This can be
13243
- * assigned by value in {@link sap.ui.core.format.NumberFormat.RoundingMode RoundingMode} or a function
13244
- * which will be used for rounding the number. The function is called with two parameters: the number and
13245
- * how many decimal digits should be reserved.
13533
+ * maxFractionDigits. Rounding will only be applied if the passed value is of type `number`. This can be
13534
+ * assigned
13535
+ * - by value in {@link sap.ui.core.format.NumberFormat.RoundingMode RoundingMode},
13536
+ * - via a function that is used for rounding the number and takes two parameters: the number itself,
13537
+ * and the number of decimal digits that should be reserved.
13246
13538
  */
13247
13539
  roundingMode?: sap.ui.core.format.NumberFormat.RoundingMode;
13540
+ /**
13541
+ * defines the number of decimals in the shortened format string. If this option isn't specified, the 'decimals'
13542
+ * option is used instead.
13543
+ */
13544
+ shortDecimals?: int;
13545
+ /**
13546
+ * only use short number formatting for values above this limit
13547
+ */
13548
+ shortLimit?: int;
13549
+ /**
13550
+ * @since 1.40 specifies a number from which the scale factor for the 'short' or 'long' style format is
13551
+ * generated. The generated scale factor is used for all numbers which are formatted with this format instance.
13552
+ * This option has effect only when the option 'style' is set to 'short' or 'long'. This option is by default
13553
+ * set with `undefined` which means the scale factor is selected automatically for each number being formatted.
13554
+ */
13555
+ shortRefNumber?: int;
13248
13556
  /**
13249
13557
  * defines whether the unit of measure is shown in the formatted string, e.g. for input 1 and "duration-day"
13250
13558
  * true: "1 day", false: "1". If both `showMeasure` and `showNumber` are false, an empty string is returned
@@ -13259,12 +13567,17 @@ declare namespace sap {
13259
13567
  */
13260
13568
  showNumber?: boolean;
13261
13569
  /**
13262
- * @since 1.30.0 defines what empty string is parsed as and what is formatted as empty string. The allowed
13263
- * values are "" (empty string), NaN, null or 0. The 'format' and 'parse' are done in a symmetric way. For
13264
- * example when this parameter is set to NaN, empty string is parsed as [NaN, undefined] and NaN is formatted
13265
- * as empty string.
13570
+ * @since 1.40 specifies whether the scale factor is shown in the formatted number. This option takes effect
13571
+ * only when the 'style' options is set to either 'short' or 'long'.
13572
+ */
13573
+ showScale?: boolean;
13574
+ /**
13575
+ * defines the style of format. Valid values are 'short, 'long' or 'standard' (based on CLDR decimalFormat).
13576
+ * When set to 'short' or 'long', numbers are formatted into compact forms. When this option is set, the
13577
+ * default value of the 'precision' option is set to 2. This can be changed by setting either min/maxFractionDigits,
13578
+ * decimals, shortDecimals, or the 'precision' option itself.
13266
13579
  */
13267
- emptyString?: number;
13580
+ style?: string;
13268
13581
  },
13269
13582
  /**
13270
13583
  * Locale to get the formatter for
@@ -13284,6 +13597,19 @@ declare namespace sap {
13284
13597
  */
13285
13598
  sMeasure?: string
13286
13599
  ): string;
13600
+ /**
13601
+ * @SINCE 1.100
13602
+ *
13603
+ * Returns the scaling factor which is calculated based on the format options and the current locale being
13604
+ * used.
13605
+ *
13606
+ * This function only returns a meaningful scaling factor when the 'style' formatting option is set to 'short'
13607
+ * or 'long', and the 'shortRefNumber' option for calculating the scale factor is set.
13608
+ *
13609
+ * Consider using this function when the 'showScale' option is set to `false`, which causes the scale factor
13610
+ * not to appear in every formatted number but in a shared place.
13611
+ */
13612
+ getScale(): string | undefined;
13287
13613
  /**
13288
13614
  * Parse a string which is formatted according to the given format options.
13289
13615
  */
@@ -13294,6 +13620,25 @@ declare namespace sap {
13294
13620
  sValue: string
13295
13621
  ): number | any[] | string;
13296
13622
  }
13623
+ /**
13624
+ * @SINCE 1.99.0
13625
+ *
13626
+ * Configuration options for the `showTimezone` format option of `DateFormat#getDateTimeWithTimezoneInstance`.
13627
+ */
13628
+ enum DateFormatTimezoneDisplay {
13629
+ /**
13630
+ * Do not add the IANA timezone ID to the format output.
13631
+ */
13632
+ Hide = "Hide",
13633
+ /**
13634
+ * Only output the IANA timezone ID.
13635
+ */
13636
+ Only = "Only",
13637
+ /**
13638
+ * Add the IANA timezone ID to the format output.
13639
+ */
13640
+ Show = "Show",
13641
+ }
13297
13642
  }
13298
13643
 
13299
13644
  namespace message {
@@ -14040,6 +14385,8 @@ declare namespace sap {
14040
14385
 
14041
14386
  namespace XMLView {
14042
14387
  /**
14388
+ * @SINCE 1.34
14389
+ *
14043
14390
  * Specifies the available preprocessor types for XMLViews
14044
14391
  * See:
14045
14392
  * sap.ui.core.mvc.XMLView
@@ -14677,6 +15024,8 @@ declare namespace sap {
14677
15024
  static asyncSupport: boolean;
14678
15025
 
14679
15026
  /**
15027
+ * @SINCE 1.56.0
15028
+ *
14680
15029
  * Creates a JSON view of the given configuration.
14681
15030
  */
14682
15031
  static create(
@@ -15146,6 +15495,8 @@ declare namespace sap {
15146
15495
  */
15147
15496
  static getMetadata(): sap.ui.core.ElementMetadata;
15148
15497
  /**
15498
+ * @SINCE 1.30
15499
+ *
15149
15500
  * Register a preprocessor for all views of a specific type.
15150
15501
  *
15151
15502
  * The preprocessor can be registered for several stages of view initialization, which are dependent on
@@ -15758,6 +16109,13 @@ declare namespace sap {
15758
16109
  * On root level, you can only define content for the default aggregation, e.g. without adding the `<content>`
15759
16110
  * tag. If you want to specify content for another aggregation of a view like `dependents`, place it in
15760
16111
  * a child control's dependents aggregation or add it by using {@link sap.ui.core.mvc.XMLView#addDependent}.
16112
+ *
16113
+ * **Note:**
16114
+ * The XML view offers special handling for context binding and style classes. You can specify them via
16115
+ * the `binding` and `class` attributes on a control's XML node. Please be aware that these attributes are
16116
+ * not properties of the respective controls and thus are not supported by a control's constructor. For
16117
+ * more information, see {@link topic:91f05e8b6f4d1014b6dd926db0e91070 Context Binding (Element Binding)}
16118
+ * and {@link topic:b564935324f449209354c7e2f9903f22 Using CSS Style Sheets in XML Views}.
15761
16119
  */
15762
16120
  class XMLView extends sap.ui.core.mvc.View {
15763
16121
  /**
@@ -15816,6 +16174,8 @@ declare namespace sap {
15816
16174
  static asyncSupport: boolean;
15817
16175
 
15818
16176
  /**
16177
+ * @SINCE 1.56.0
16178
+ *
15819
16179
  * Instantiates an XMLView from the given configuration options.
15820
16180
  *
15821
16181
  * If a `viewName` is given, it must be a dot-separated name of an XML view resource (without the mandatory
@@ -15901,6 +16261,8 @@ declare namespace sap {
15901
16261
  */
15902
16262
  static getMetadata(): sap.ui.core.ElementMetadata;
15903
16263
  /**
16264
+ * @SINCE 1.30
16265
+ *
15904
16266
  * Register a preprocessor for all views of a specific type.
15905
16267
  *
15906
16268
  * The preprocessor can be registered for several stages of view initialization, for xml views these are
@@ -15947,6 +16309,8 @@ declare namespace sap {
15947
16309
  mSettings?: object
15948
16310
  ): void;
15949
16311
  /**
16312
+ * @SINCE 1.30
16313
+ *
15950
16314
  * Register a preprocessor for all views of a specific type.
15951
16315
  *
15952
16316
  * The preprocessor can be registered for several stages of view initialization, for xml views these are
@@ -16055,14 +16419,6 @@ declare namespace sap {
16055
16419
  * The theming parameters are immutable and cannot be changed at runtime. Multiple `Parameters.get()`
16056
16420
  * API calls for the same parameter name will always result in the same parameter value.
16057
16421
  *
16058
- * **Important, since 1.93:** When using the `Parameters.get()` API to retrieve theming parameters defined
16059
- * as CSS variables, please be aware that the API can also unknowingly retrieve arbitrary CSS variables
16060
- * defined in the DOM. All CSS variables defined via the `:root` pseudo-class can be retrieved this way.
16061
- * Please make sure to only access theming parameters defined in a UI5 theme/library.
16062
- *
16063
- *
16064
- *
16065
- *
16066
16422
  * The following API variants are available (see also the below examples):
16067
16423
  * - **(deprecated since 1.92)** If no parameter is given a key-value map containing all parameters is
16068
16424
  * returned
@@ -16377,7 +16733,9 @@ declare namespace sap {
16377
16733
  * To replace the CLDR currency digits completely ` { "DEFAULT": {"digits": 2}, "ADP": {"digits": 0}, ...
16378
16734
  * "XPF": {"digits": 0} } `
16379
16735
  *
16380
- * Note: To unset the custom currencies: call with `undefined`
16736
+ * Note: To unset the custom currencies: call with `undefined` Custom currencies must not only consist of
16737
+ * digits but contain at least one non-digit character, e.g. "a", so that the measure part can be distinguished
16738
+ * from the number part.
16381
16739
  */
16382
16740
  setCustomCurrencies(
16383
16741
  /**
@@ -16512,7 +16870,7 @@ declare namespace sap {
16512
16870
  /**
16513
16871
  * must be one of decimal, group, plusSign, minusSign.
16514
16872
  */
16515
- sStyle: string,
16873
+ sType: string,
16516
16874
  /**
16517
16875
  * will be used to represent the given symbol type
16518
16876
  */
@@ -17185,7 +17543,7 @@ declare namespace sap {
17185
17543
 
17186
17544
  class Route extends sap.ui.base.EventProvider {
17187
17545
  /**
17188
- * Instantiates an SAPUI5 Route
17546
+ * Instantiates a route
17189
17547
  */
17190
17548
  constructor(
17191
17549
  /**
@@ -17264,21 +17622,21 @@ declare namespace sap {
17264
17622
  targetParent?: string;
17265
17623
  /**
17266
17624
  * **Deprecated since 1.28, use `target.controlId` instead.**
17267
- * Views will be put into a container Control, this might be a {@link sap.ui.ux3.Shell} control or a {@link
17268
- * sap.m.NavContainer} if working with mobile, or any other container. The id of this control has to be
17269
- * put in here
17625
+ * Views will be put into a container Control, this might be an {@link sap.ui.ux3.Shell} control or an
17626
+ * {@link sap.m.NavContainer} if working with mobile, or any other container. The id of this control has
17627
+ * to be put in here
17270
17628
  */
17271
17629
  targetControl?: string;
17272
17630
  /**
17273
17631
  * **Deprecated since 1.28, use `target.controlAggregation` instead.**
17274
- * The name of an aggregation of the targetControl, that contains views. Eg: a {@link sap.m.NavContainer}
17632
+ * The name of an aggregation of the targetControl, that contains views. Eg: an {@link sap.m.NavContainer}
17275
17633
  * has an aggregation "pages", another Example is the {@link sap.ui.ux3.Shell} it has "content".
17276
17634
  */
17277
17635
  targetAggregation?: string;
17278
17636
  /**
17279
17637
  * **Deprecated since 1.28, use `target.clearControlAggregation` instead.**
17280
17638
  * Defines a boolean that can be passed to specify if the aggregation should be cleared before adding the
17281
- * View to it. When using a {@link sap.ui.ux3.Shell} this should be true. For a {@link sap.m.NavContainer}
17639
+ * View to it. When using an {@link sap.ui.ux3.Shell} this should be true. For an {@link sap.m.NavContainer}
17282
17640
  * it should be false
17283
17641
  */
17284
17642
  clearTarget?: boolean;
@@ -17543,7 +17901,7 @@ declare namespace sap {
17543
17901
 
17544
17902
  class Router extends sap.ui.base.EventProvider {
17545
17903
  /**
17546
- * Instantiates a SAPUI5 Router
17904
+ * Instantiates a router
17547
17905
  */
17548
17906
  constructor(
17549
17907
  /**
@@ -17681,7 +18039,8 @@ declare namespace sap {
17681
18039
  * {
17682
18040
  * //same name as in the config.bypassed.target
17683
18041
  * notFound: {
17684
- * viewName: "notFound",
18042
+ * type: "View"
18043
+ * name: "notFound",
17685
18044
  * ...
17686
18045
  * // more properties to place the view in the correct container
17687
18046
  * }
@@ -18753,8 +19112,8 @@ declare namespace sap {
18753
19112
  */
18754
19113
  constructor(oOptions: {
18755
19114
  /**
18756
- * the views instance will create the views of all the targets defined, so if 2 targets have the same viewName,
18757
- * the same instance of the view will be displayed.
19115
+ * the views instance will create the instances of all the targets defined, so if 2 targets have the same
19116
+ * `type` and `name` set, the same instance of the target will be displayed.
18758
19117
  */
18759
19118
  views: sap.ui.core.routing.Views;
18760
19119
  /**
@@ -18892,8 +19251,8 @@ declare namespace sap {
18892
19251
  /**
18893
19252
  * Defines the name of the View or Component that will be created. For type 'Component', use option 'usage'
18894
19253
  * instead if an owner component exists. To place the view or component into a Control, use the options
18895
- * 'controlAggregation' and 'controlId'. Instance of View or Component will only be created once per 'name'
18896
- * or 'usage' combined with 'id'.
19254
+ * `controlAggregation` and `controlId`. Instance of View or Component will only be created once per `name`
19255
+ * or `usage` combined with `id`.
18897
19256
  * ```javascript
18898
19257
  *
18899
19258
  *
@@ -18928,21 +19287,22 @@ declare namespace sap {
18928
19287
  *
18929
19288
  * {
18930
19289
  * targets: {
18931
- * // If display("masterWelcome") is called, the master viewName will be placed in the 'MasterPages' of a control with the id splitContainter
19290
+ * // If display("masterWelcome") is called, the view with name "Welcome" will be placed in the 'MasterPages' of a control with the id splitContainter
18932
19291
  * masterWelcome: {
18933
19292
  * type: "View",
18934
19293
  * name: "Welcome",
18935
- * controlId: "splitContainer",
18936
- * controlAggregation: "masterPages",
18937
19294
  * id: "masterWelcome",
19295
+ * controlId: "splitContainer",
19296
+ * controlAggregation: "masterPages"
18938
19297
  * },
18939
- * // If display("detailWelcome") is called after the masterWelcome, a second instance with an own controller instance will be added in the detail pages.
19298
+ * // If display("detailWelcome") is called after the "masterWelcome" target, a second instance of the same view with its own controller instance will be added in the detail pages.
18940
19299
  * detailWelcome: {
18941
19300
  * type: "View",
18942
- * name: "WelcomeWithAlias",
19301
+ * name: "Welcome",
19302
+ * // another instance will be created because a different id is used
19303
+ * id: "detailWelcome",
18943
19304
  * controlId: "splitContainer",
18944
- * controlAggregation: "detailPages",
18945
- * id: "detailWelcome"
19305
+ * controlAggregation: "detailPages"
18946
19306
  * }
18947
19307
  * }
18948
19308
  * }
@@ -18962,8 +19322,9 @@ declare namespace sap {
18962
19322
  */
18963
19323
  viewType?: string;
18964
19324
  /**
18965
- * A prefix that will be prepended in front of the name.
18966
- * **Example:** name is set to "myView" and path is set to "myApp" - the created view name will be "myApp.myView".
19325
+ * A prefix that will be prepended in front of the `name`.
19326
+ * **Example:** `name` is set to "myView" and `path` is set to "myApp" - the created view's name will be
19327
+ * "myApp.myView".
18967
19328
  */
18968
19329
  path?: string;
18969
19330
  /**
@@ -21059,6 +21420,153 @@ declare namespace sap {
21059
21420
 
21060
21421
  namespace util {
21061
21422
  namespace MockServer {
21423
+ /**
21424
+ * Methods that can be used to respond to a request.
21425
+ */
21426
+ interface Response {
21427
+ __implements__sap_ui_core_util_MockServer_Response: boolean;
21428
+
21429
+ /**
21430
+ * Responds to the incoming request with the given `iStatusCode`, `mHeaders` and `sBody`.
21431
+ */
21432
+ respond(
21433
+ /**
21434
+ * HTTP status code to send with the response
21435
+ */
21436
+ StatusCode?: int,
21437
+ /**
21438
+ * HTTP headers to send with the response
21439
+ */
21440
+ mHeaders?: Record<string, string>,
21441
+ /**
21442
+ * A string that will be sent as response body
21443
+ */
21444
+ sBody?: string
21445
+ ): void;
21446
+ /**
21447
+ * Convenience variant of {@link #respond} which allows to send the content of an external resource as response.
21448
+ *
21449
+ * This method first synchronously fetches the given `sFileUrl`. Depending on the extension and path of
21450
+ * the `sFileUrl`, it propagates the received response body to {@link #respondJSON}, {@link #respondXML}
21451
+ * or {@link #respond}, using the given `iStatus` and `mHeaders`.
21452
+ *
21453
+ * The status code and headers of the received response are ignored. In particular, the `Content-Type` header
21454
+ * is not used for the mock server's response.
21455
+ */
21456
+ respondFile(
21457
+ /**
21458
+ * HTTP status code to send with the response
21459
+ */
21460
+ iStatusCode: int,
21461
+ /**
21462
+ * HTTP Headers to send with the response
21463
+ */
21464
+ mHeaders: Record<string, string>,
21465
+ /**
21466
+ * URL to get the response body from
21467
+ */
21468
+ sFileUrl: string
21469
+ ): void;
21470
+ /**
21471
+ * Convenience variant of {@link #respond} which allows to send the content of an external resource as response.
21472
+ *
21473
+ * This method first synchronously fetches the given `sFileUrl`. Depending on the extension and path of
21474
+ * the `sFileUrl`, it propagates the received response body to {@link #respondJSON}, {@link #respondXML}
21475
+ * or {@link #respond}, using the given `iStatus` and `mHeaders`.
21476
+ *
21477
+ * The status code and headers of the received response are ignored. In particular, the `Content-Type` header
21478
+ * is not used for the mock server's response.
21479
+ */
21480
+ respondFile(
21481
+ /**
21482
+ * HTTP status code to send with the response
21483
+ */
21484
+ iStatusCode: int,
21485
+ /**
21486
+ * URL to get the response body from
21487
+ */
21488
+ sFileUrl: string
21489
+ ): void;
21490
+ /**
21491
+ * Convenience variant of {@link #respond} which allows to send the content of an external resource as response.
21492
+ *
21493
+ * This method first synchronously fetches the given `sFileUrl`. Depending on the extension and path of
21494
+ * the `sFileUrl`, it propagates the received response body to {@link #respondJSON}, {@link #respondXML}
21495
+ * or {@link #respond}, using the given `iStatus` and `mHeaders`.
21496
+ *
21497
+ * The status code and headers of the received response are ignored. In particular, the `Content-Type` header
21498
+ * is not used for the mock server's response.
21499
+ */
21500
+ respondFile(
21501
+ /**
21502
+ * HTTP Headers to send with the response
21503
+ */
21504
+ mHeaders: Record<string, string>,
21505
+ /**
21506
+ * URL to get the response body from
21507
+ */
21508
+ sFileUrl: string
21509
+ ): void;
21510
+ /**
21511
+ * Convenience variant of {@link #respond} which allows to send the content of an external resource as response.
21512
+ *
21513
+ * This method first synchronously fetches the given `sFileUrl`. Depending on the extension and path of
21514
+ * the `sFileUrl`, it propagates the received response body to {@link #respondJSON}, {@link #respondXML}
21515
+ * or {@link #respond}, using the given `iStatus` and `mHeaders`.
21516
+ *
21517
+ * The status code and headers of the received response are ignored. In particular, the `Content-Type` header
21518
+ * is not used for the mock server's response.
21519
+ */
21520
+ respondFile(
21521
+ /**
21522
+ * URL to get the response body from
21523
+ */
21524
+ sFileUrl: string
21525
+ ): void;
21526
+ /**
21527
+ * Convenience variant of {@link #respond} which simplifies sending a JSON response.
21528
+ *
21529
+ * The response content `vBody` can either be given as a string, which is then assumed to be in JSON format.
21530
+ * Or it can be any JSON-stringifiable value which then will be converted to a string using `JSON.stringify`.
21531
+ * If no `vBody` is given, an empty response will be sent.
21532
+ *
21533
+ * If no `Content-Type` header is given, it will be set to `application/json`.
21534
+ */
21535
+ respondJSON(
21536
+ /**
21537
+ * HTTP status code to send with the response
21538
+ */
21539
+ iStatusCode?: int,
21540
+ /**
21541
+ * HTTP Headers to send with the response
21542
+ */
21543
+ mHeaders?: Record<string, string>,
21544
+ /**
21545
+ * A valid JSON-string or a JSON-stringifiable object that should be sent as response body
21546
+ */
21547
+ vBody?: object | string
21548
+ ): void;
21549
+ /**
21550
+ * Convenience variant of {@link #respond} which simplifies sending an XML response.
21551
+ *
21552
+ * If no `Content-Type` header is given, it will be set to `application/xml`.
21553
+ */
21554
+ respondXML(
21555
+ /**
21556
+ * HTTP status code to send with the response
21557
+ */
21558
+ iStatusCode?: int,
21559
+ /**
21560
+ * HTTP Headers to send with the response
21561
+ */
21562
+ mHeaders?: Record<string, string>,
21563
+ /**
21564
+ * XML string to send as response body
21565
+ */
21566
+ sXmlString?: string
21567
+ ): void;
21568
+ }
21569
+
21062
21570
  /**
21063
21571
  * Enum for the method.
21064
21572
  */
@@ -21075,6 +21583,29 @@ declare namespace sap {
21075
21583
 
21076
21584
  PUT = "PUT",
21077
21585
  }
21586
+
21587
+ type RequestHandler = {
21588
+ /**
21589
+ * Any HTTP verb
21590
+ */
21591
+ method: sap.ui.core.util.MockServer.HTTPMETHOD;
21592
+ /**
21593
+ * A string path is converted to a regular expression, so it can contain normal regular expression syntax.
21594
+ *
21595
+ * All regular expression groups are forwarded as arguments to the `response` function. In addition to this,
21596
+ * parameters can be written in this notation: `:param`. These placeholders will be replaced by regular
21597
+ * expression groups.
21598
+ */
21599
+ path: string | RegExp;
21600
+ /**
21601
+ * A response handler function that will be called when an incoming request matches `method` and `path`.
21602
+ * The first parameter of the handler will be a `Response` object which can be used to respond on the request.
21603
+ */
21604
+ response: (
21605
+ p1: sap.ui.core.util.MockServer.Response,
21606
+ p2: any
21607
+ ) => void;
21608
+ };
21078
21609
  }
21079
21610
 
21080
21611
  namespace XMLPreprocessor {
@@ -21118,9 +21649,6 @@ declare namespace sap {
21118
21649
  * refers to ".../Value". This means, the root formatter can access the ith part of the composite binding
21119
21650
  * at will (since 1.31.0); see also {@link #.getInterface getInterface}. The function `foo` is called with
21120
21651
  * arguments such that ` oInterface.getModel(i).getObject(oInterface.getPath(i)) === arguments[i + 1]` holds.
21121
- * This use is not supported within an expression binding, that is, `<Text text="{= ${parts: [{path:
21122
- * 'Label'}, {path: 'Value'}], formatter: 'foo'} }"/>` does not work as expected because the property `requiresIContext
21123
- * = true` is ignored.
21124
21652
  *
21125
21653
  * To distinguish those two use cases, just check whether `oInterface.getModel() === undefined`, in which
21126
21654
  * case the formatter is called on root level of a composite binding. To find out the number of parts, probe
@@ -22330,9 +22858,9 @@ declare namespace sap {
22330
22858
  */
22331
22859
  attachAfter(
22332
22860
  /**
22333
- * type according to HTTP Method
22861
+ * event type according to HTTP Method
22334
22862
  */
22335
- event: string,
22863
+ sHttpMethod: string,
22336
22864
  /**
22337
22865
  * the name of the function that will be called at this exit The callback function exposes an event with
22338
22866
  * parameters, depending on the type of the request. oEvent.getParameters() lists the parameters as per
@@ -22351,9 +22879,9 @@ declare namespace sap {
22351
22879
  */
22352
22880
  attachBefore(
22353
22881
  /**
22354
- * type according to HTTP Method
22882
+ * event type according to HTTP Method
22355
22883
  */
22356
- event: string,
22884
+ sHttpMethod: string,
22357
22885
  /**
22358
22886
  * the name of the function that will be called at this exit. The callback function exposes an event with
22359
22887
  * parameters, depending on the type of the request. oEvent.getParameters() lists the parameters as per
@@ -22386,9 +22914,9 @@ declare namespace sap {
22386
22914
  */
22387
22915
  detachAfter(
22388
22916
  /**
22389
- * type according to HTTP Method
22917
+ * event type according to HTTP Method
22390
22918
  */
22391
- event: string,
22919
+ sHttpMethod: string,
22392
22920
  /**
22393
22921
  * the name of the function that will be called at this exit
22394
22922
  */
@@ -22403,9 +22931,9 @@ declare namespace sap {
22403
22931
  */
22404
22932
  detachBefore(
22405
22933
  /**
22406
- * type according to HTTP Method
22934
+ * event type according to HTTP Method
22407
22935
  */
22408
- event: string,
22936
+ sHttpMethod: string,
22409
22937
  /**
22410
22938
  * the name of the function that will be called at this exit
22411
22939
  */
@@ -22436,7 +22964,7 @@ declare namespace sap {
22436
22964
  *
22437
22965
  * Default value is `[]`
22438
22966
  */
22439
- getRequests(): object[];
22967
+ getRequests(): sap.ui.core.util.MockServer.RequestHandler[];
22440
22968
  /**
22441
22969
  * Getter for property `rootUri`. Has to be relative and requires a trailing '/'. It also needs to match
22442
22970
  * the URI set in OData/JSON models or simple XHR calls in order for the mock server to intercept them.
@@ -22474,34 +23002,14 @@ declare namespace sap {
22474
23002
  /**
22475
23003
  * Setter for property `requests`.
22476
23004
  *
22477
- * Default value is is `[]`
22478
- *
22479
- * Each array entry should consist of an object with the following properties / values:
22480
- *
22481
- *
22482
- * - **method : "GET"|"POST"|"DELETE|"PUT"**
22483
- * (any HTTP verb)
22484
- * - **path : "/path/to/resource"**
22485
- * The path is converted to a regular expression, so it can contain normal regular expression syntax. All
22486
- * regular expression groups are forwarded as arguments to the `response` function. In addition to this,
22487
- * parameters can be written in this notation: `:param`. These placeholder will be replaced by regular expression
22488
- * groups.
22489
- * - **response : function(xhr, param1, param2, ...) { }**
22490
- * The xhr object can be used to respond on the request. Supported methods are:
22491
- * `xhr.respond(iStatusCode, mHeaders, sBody)`
22492
- * `xhr.respondJSON(iStatusCode, mHeaders, oJsonObjectOrString)`. By default a JSON header is set for response
22493
- * header
22494
- * `xhr.respondXML(iStatusCode, mHeaders, sXmlString)`. By default an XML header is set for response header
22495
- *
22496
- * `xhr.respondFile(iStatusCode, mHeaders, sFileUrl)`. By default the mime type of the file is set for
22497
- * response header
23005
+ * Default value is `[]`
22498
23006
  */
22499
23007
  setRequests(
22500
23008
  /**
22501
- * new value for property `requests`
23009
+ * new value for the `requests` property
22502
23010
  */
22503
- requests: object[]
22504
- ): void;
23011
+ requests: sap.ui.core.util.MockServer.RequestHandler[]
23012
+ ): this;
22505
23013
  /**
22506
23014
  * Setter for property `rootUri`. All request path URI are prefixed with this root URI if set.
22507
23015
  *
@@ -23027,7 +23535,7 @@ declare namespace sap {
23027
23535
  * Marker interface for subclasses of `sap.ui.core.UIComponent`.
23028
23536
  *
23029
23537
  * Implementing this interface allows a {@link sap.ui.core.UIComponent} to be created fully asynchronously.
23030
- * This interface will implicitily set the component's rootView and router configuration to async. Nested
23538
+ * This interface will implicitly set the component's rootView and router configuration to async. Nested
23031
23539
  * views will also be handled asynchronously. Additionally the error handling during the processing of views
23032
23540
  * is stricter and will fail if a view definition contains errors, e.g. broken binding strings.
23033
23541
  *
@@ -23047,6 +23555,38 @@ declare namespace sap {
23047
23555
  __implements__sap_ui_core_IAsyncContentCreation: boolean;
23048
23556
  }
23049
23557
 
23558
+ /**
23559
+ * @SINCE 1.98.0
23560
+ * @EXPERIMENTAL (since 1.98)
23561
+ *
23562
+ * Marker interface for controls that can serve as a menu for a table column header.
23563
+ *
23564
+ * Implementation of this interface implements the `openBy` and `getAriaHasPopupType` methods.
23565
+ */
23566
+ interface IColumnHeaderMenu {
23567
+ __implements__sap_ui_core_IColumnHeaderMenu: boolean;
23568
+
23569
+ /**
23570
+ * @SINCE 1.98.0
23571
+ * @EXPERIMENTAL (since 1.98)
23572
+ *
23573
+ * Returns the sap.ui.core.aria.HasPopup<\code> type of the menu.
23574
+ */
23575
+ getAriaHasPopupType(): sap.ui.core.aria.HasPopup;
23576
+ /**
23577
+ * @SINCE 1.98.0
23578
+ * @EXPERIMENTAL (since 1.98)
23579
+ *
23580
+ * Opens the menu using the column header.
23581
+ */
23582
+ openBy(
23583
+ /**
23584
+ * Specifies the control where the menu is placed.
23585
+ */
23586
+ oControl: sap.ui.core.Control
23587
+ ): void;
23588
+ }
23589
+
23050
23590
  /**
23051
23591
  * Marker interface for controls that can serve as a context menu.
23052
23592
  *
@@ -23610,9 +24150,17 @@ declare namespace sap {
23610
24150
 
23611
24151
  interface $IconSettings extends sap.ui.core.$ControlSettings {
23612
24152
  /**
23613
- * This property should be set by the return value of calling sap.ui.core.IconPool.getIconURI with an Icon
23614
- * name parameter and an optional collection parameter which is required when using application extended
23615
- * Icons. A list of standard FontIcon is available here.
24153
+ * This property can be set by following options:
24154
+ *
24155
+ * **Option 1:**
24156
+ * The value has to be matched by following pattern `sap-icon://collection-name/icon-name` where `collection-name`
24157
+ * and `icon-name` have to be replaced by the desired values. In case the default UI5 icons are used the
24158
+ * `collection-name` can be omited.
24159
+ * Example: `sap-icon://accept`
24160
+ *
24161
+ * **Option 2:** The value is determined by using {@link sap.ui.core.IconPool.getIconURI} with an Icon name
24162
+ * parameter and an optional collection parameter which is required when using application extended Icons.
24163
+ * Example: `IconPool.getIconURI("accept")`
23616
24164
  */
23617
24165
  src?: sap.ui.core.URI | sap.ui.base.ManagedObject.PropertyBindingInfo;
23618
24166
 
@@ -24270,6 +24818,28 @@ declare namespace sap {
24270
24818
  */
24271
24819
  oListener?: object
24272
24820
  ): void;
24821
+ /**
24822
+ * Attaches event handler `fnFunction` to the {@link #event:formatError formatError} event of `sap.ui.core.Core`.
24823
+ *
24824
+ * When called, the context of the listener (its `this`) will be bound to `oListener` if specified, otherwise
24825
+ * it will be bound to a dummy event provider object.
24826
+ *
24827
+ * Please note that this event is a bubbling event and may already be canceled before reaching the core.
24828
+ */
24829
+ attachFormatError(
24830
+ /**
24831
+ * An object that will be passed to the handler along with the event object when the event is fired
24832
+ */
24833
+ oData: object,
24834
+ /**
24835
+ * The function to be called, when the event occurs
24836
+ */
24837
+ fnFunction: Function,
24838
+ /**
24839
+ * Context object to call the event handler with. Defaults to a dummy event provider object
24840
+ */
24841
+ oListener?: object
24842
+ ): this;
24273
24843
  /**
24274
24844
  * Attaches event handler `fnFunction` to the {@link #event:formatError formatError} event of `sap.ui.core.Core`.
24275
24845
  *
@@ -27541,7 +28111,7 @@ declare namespace sap {
27541
28111
  /**
27542
28112
  * Static info to construct the metadata from
27543
28113
  */
27544
- oStaticInfo: object
28114
+ oClassInfo: object
27545
28115
  );
27546
28116
 
27547
28117
  /**
@@ -27829,8 +28399,7 @@ declare namespace sap {
27829
28399
  /**
27830
28400
  * @SINCE 1.27.0
27831
28401
  *
27832
- * Returns whether the framework automatically adds automatically the ARIA role 'application' to the HTML
27833
- * body or not.
28402
+ * Returns whether the framework automatically adds the ARIA role 'application' to the HTML body or not.
27834
28403
  */
27835
28404
  getAutoAriaBodyRole(): boolean;
27836
28405
  /**
@@ -27878,7 +28447,7 @@ declare namespace sap {
27878
28447
  /**
27879
28448
  * Returns a string that identifies the current language.
27880
28449
  *
27881
- * The value returned by this methods in most cases corresponds to the exact value that has been configured
28450
+ * The value returned by this method in most cases corresponds to the exact value that has been configured
27882
28451
  * by the user or application or that has been determined from the user agent settings. It has not been
27883
28452
  * normalized, but has been validated against a relaxed version of {@link http://www.ietf.org/rfc/bcp/bcp47.txt
27884
28453
  * BCP47}, allowing underscores ('_') instead of the suggested dashes ('-') and not taking the case of letters
@@ -27966,6 +28535,13 @@ declare namespace sap {
27966
28535
  * Returns the theme name
27967
28536
  */
27968
28537
  getTheme(): string;
28538
+ /**
28539
+ * @SINCE 1.99.0
28540
+ * @EXPERIMENTAL (since 1.99.0)
28541
+ *
28542
+ * Retrieves the configured IANA timezone ID
28543
+ */
28544
+ getTimezone(): string;
27969
28545
  /**
27970
28546
  * Prefix to be used for automatically generated control IDs. Default is a double underscore "__".
27971
28547
  */
@@ -28115,8 +28691,8 @@ declare namespace sap {
28115
28691
  /**
28116
28692
  * @SINCE 1.95.0
28117
28693
  *
28118
- * Sets the security token handlers for an OData V4 model. See chapter "Security Token Handling" in {@link
28119
- * topic:9613f1f2d88747cab21896f7216afdac Model Instantiation and Data Access}.
28694
+ * Sets the security token handlers for an OData V4 model. See chapter {@link topic:9613f1f2d88747cab21896f7216afdac/section_STH
28695
+ * Security Token Handling}.
28120
28696
  * See:
28121
28697
  * #getSecurityTokenHandlers
28122
28698
  */
@@ -28126,6 +28702,22 @@ declare namespace sap {
28126
28702
  */
28127
28703
  aSecurityTokenHandlers: Function[]
28128
28704
  ): void;
28705
+ /**
28706
+ * @SINCE 1.99.0
28707
+ * @EXPERIMENTAL (since 1.99.0)
28708
+ *
28709
+ * Sets the timezone such that all date and time based calculations use this timezone.
28710
+ *
28711
+ * When the timezone has changed, the Core will fire its {@link sap.ui.core.Core#event:localizationChanged
28712
+ * localizationChanged} event.
28713
+ */
28714
+ setTimezone(
28715
+ /**
28716
+ * IANA timezone ID, e.g. "America/New_York". Use `null` to reset the timezone to the browser's local timezone.
28717
+ * An invalid IANA timezone ID will fall back to the browser's timezone.
28718
+ */
28719
+ sTimezone?: string | null
28720
+ ): this;
28129
28721
  }
28130
28722
  /**
28131
28723
  * Base Class for Controls.
@@ -28431,24 +29023,6 @@ declare namespace sap {
28431
29023
  */
28432
29024
  vFieldGroupIds?: string | string[]
28433
29025
  ): boolean;
28434
- /**
28435
- * Overrides {@link sap.ui.core.Element#clone Element.clone} to clone additional internal state.
28436
- *
28437
- * The additionally cloned information contains:
28438
- * - browser event handlers attached with {@link #attachBrowserEvent}
28439
- * - text selection behavior
28440
- * - style classes added with {@link #addStyleClass}
28441
- */
28442
- clone(
28443
- /**
28444
- * a suffix to be appended to the cloned element id
28445
- */
28446
- sIdSuffix?: string,
28447
- /**
28448
- * an array of local IDs within the cloned hierarchy (internally used)
28449
- */
28450
- aLocalIds?: string[]
28451
- ): this;
28452
29026
  /**
28453
29027
  * Removes event handlers which have been previously attached using {@link #attachBrowserEvent}.
28454
29028
  *
@@ -29401,30 +29975,11 @@ declare namespace sap {
29401
29975
  /**
29402
29976
  * the binding path or an object with more detailed binding options
29403
29977
  */
29404
- vPath:
29405
- | string
29406
- | {
29407
- /**
29408
- * the binding path
29409
- */
29410
- path: string;
29411
- /**
29412
- * map of additional parameters for this binding
29413
- */
29414
- parameters?: object;
29415
- /**
29416
- * name of the model
29417
- */
29418
- model?: string;
29419
- /**
29420
- * map of event listeners for the binding events
29421
- */
29422
- events?: object;
29423
- },
29978
+ vPath: string | sap.ui.base.ManagedObject.ObjectBindingInfo,
29424
29979
  /**
29425
- * map of additional parameters for this binding (only taken into account when vPath is a string in that
29426
- * case it corresponds to vPath.parameters). The supported parameters are listed in the corresponding model-specific
29427
- * implementation of `sap.ui.model.ContextBinding`.
29980
+ * map of additional parameters for this binding. Only taken into account when `vPath` is a string. In that
29981
+ * case it corresponds to `mParameters` of {@link sap.ui.base.ManagedObject.ObjectBindingInfo}. The supported
29982
+ * parameters are listed in the corresponding model-specific implementation of `sap.ui.model.ContextBinding`.
29428
29983
  */
29429
29984
  mParameters?: object
29430
29985
  ): this;
@@ -29625,6 +30180,10 @@ declare namespace sap {
29625
30180
  * visible before the focus is set
29626
30181
  */
29627
30182
  preventScroll?: boolean;
30183
+ /**
30184
+ * Further control-specific setting of the focus target within the control @since 1.98
30185
+ */
30186
+ targetInfo?: any;
29628
30187
  }
29629
30188
  ): void;
29630
30189
  /**
@@ -30816,8 +31375,10 @@ declare namespace sap {
30816
31375
  * Icon uses embedded font instead of pixel image. Comparing to image, Icon is easily scalable, color can
30817
31376
  * be altered live and various effects can be added using css.
30818
31377
  *
30819
- * A set of built in Icons is available and they can be fetched by calling sap.ui.core.IconPool.getIconURI
30820
- * and set this value to the src property on the Icon.
31378
+ * A set of built in Icons is available in the Icon
31379
+ * Explorer.
31380
+ *
31381
+ * For further information, see {@link topic:21ea0ea94614480d9a910b2e93431291 Icon and Icon Pool}.
30821
31382
  */
30822
31383
  class Icon
30823
31384
  extends sap.ui.core.Control
@@ -31068,9 +31629,17 @@ declare namespace sap {
31068
31629
  /**
31069
31630
  * Gets current value of property {@link #getSrc src}.
31070
31631
  *
31071
- * This property should be set by the return value of calling sap.ui.core.IconPool.getIconURI with an Icon
31072
- * name parameter and an optional collection parameter which is required when using application extended
31073
- * Icons. A list of standard FontIcon is available here.
31632
+ * This property can be set by following options:
31633
+ *
31634
+ * **Option 1:**
31635
+ * The value has to be matched by following pattern `sap-icon://collection-name/icon-name` where `collection-name`
31636
+ * and `icon-name` have to be replaced by the desired values. In case the default UI5 icons are used the
31637
+ * `collection-name` can be omited.
31638
+ * Example: `sap-icon://accept`
31639
+ *
31640
+ * **Option 2:** The value is determined by using {@link sap.ui.core.IconPool.getIconURI} with an Icon name
31641
+ * parameter and an optional collection parameter which is required when using application extended Icons.
31642
+ * Example: `IconPool.getIconURI("accept")`
31074
31643
  */
31075
31644
  getSrc(): sap.ui.core.URI;
31076
31645
  /**
@@ -31283,9 +31852,17 @@ declare namespace sap {
31283
31852
  /**
31284
31853
  * Sets a new value for property {@link #getSrc src}.
31285
31854
  *
31286
- * This property should be set by the return value of calling sap.ui.core.IconPool.getIconURI with an Icon
31287
- * name parameter and an optional collection parameter which is required when using application extended
31288
- * Icons. A list of standard FontIcon is available here.
31855
+ * This property can be set by following options:
31856
+ *
31857
+ * **Option 1:**
31858
+ * The value has to be matched by following pattern `sap-icon://collection-name/icon-name` where `collection-name`
31859
+ * and `icon-name` have to be replaced by the desired values. In case the default UI5 icons are used the
31860
+ * `collection-name` can be omited.
31861
+ * Example: `sap-icon://accept`
31862
+ *
31863
+ * **Option 2:** The value is determined by using {@link sap.ui.core.IconPool.getIconURI} with an Icon name
31864
+ * parameter and an optional collection parameter which is required when using application extended Icons.
31865
+ * Example: `IconPool.getIconURI("accept")`
31289
31866
  *
31290
31867
  * When called with a value of `null` or `undefined`, the default value of the property will be restored.
31291
31868
  */
@@ -32257,7 +32834,7 @@ declare namespace sap {
32257
32834
  iWeekNumber: int
32258
32835
  ): string;
32259
32836
  /**
32260
- * Get combined datetime pattern with given date and and time style.
32837
+ * Get combined datetime pattern with given date and time style.
32261
32838
  */
32262
32839
  getCombinedDateTimePattern(
32263
32840
  /**
@@ -33849,7 +34426,7 @@ declare namespace sap {
33849
34426
  * Opens the popup's content at the position either specified here or beforehand via {@link #setPosition}.
33850
34427
  * Content must be capable of being positioned via "position:absolute;" All parameters are optional (open()
33851
34428
  * may be called without any parameters). iDuration may just be omitted, but if any of "at", "of", "offset",
33852
- * "collision" is given, also the preceding positioning parameters ("my", at",...) must be given.
34429
+ * "collision" is given, also the preceding positional parameters ("my", at",...) must be given.
33853
34430
  *
33854
34431
  * If the Popup's OpenState is different from "CLOSED" (i.e. if the Popup is already open, opening or closing),
33855
34432
  * the call is ignored.
@@ -33886,7 +34463,7 @@ declare namespace sap {
33886
34463
  * defines how the position of an element should be adjusted in case it overflows the within area in some
33887
34464
  * direction.
33888
34465
  */
33889
- collision?: string,
34466
+ collision?: sap.ui.core.Collision,
33890
34467
  /**
33891
34468
  * defines the area the popup should be placed in. This affects the collision detection.
33892
34469
  */
@@ -33898,7 +34475,7 @@ declare namespace sap {
33898
34475
  /**
33899
34476
  * defines whether the popup should follow the dock reference when the reference changes its position.
33900
34477
  */
33901
- followOf?: boolean
34478
+ followOf?: boolean | Function | null
33902
34479
  ): void;
33903
34480
  /**
33904
34481
  * Sets the animation functions to use for opening and closing the Popup. Any null value will be ignored
@@ -34046,9 +34623,9 @@ declare namespace sap {
34046
34623
  offset?: string,
34047
34624
  /**
34048
34625
  * defines how the position of an element should be adjusted in case it overflows the within area in some
34049
- * direction. The valid values that refer to jQuery-UI's position parameters are "flip", "fit" and "none".
34626
+ * direction.
34050
34627
  */
34051
- collision?: string,
34628
+ collision?: sap.ui.core.Collision,
34052
34629
  /**
34053
34630
  * defines the area the popup should be placed in. This affects the collision detection.
34054
34631
  */
@@ -37635,7 +38212,7 @@ declare namespace sap {
37635
38212
  *
37636
38213
  * Noteworthy details:
37637
38214
  * - whitespace is mandatory around a '-' or '+' operator and optional otherwise
37638
- * - parentheses are accepted but not checked for being balanced (a limitation of regexp based checks)
38215
+ * - parentheses are accepted but not checked for being balanced (a restriction of regexp based checks)
37639
38216
  *
37640
38217
  * - semantic constraints like type restrictions are not checked
37641
38218
  *
@@ -37649,8 +38226,10 @@ declare namespace sap {
37649
38226
  * Collision behavior: horizontal/vertical.
37650
38227
  *
37651
38228
  * Defines how the position of an element should be adjusted in case it overflows the window in some direction.
37652
- * For both directions this can be "flip", "fit" or "none". If only one behavior is provided it is applied
37653
- * to both directions. Examples: "flip", "fit none".
38229
+ * For both directions this can be "flip", "fit", "flipfit" or "none". If only one behavior is provided
38230
+ * it is applied to both directions.
38231
+ *
38232
+ * Examples: "flip", "fit none", "flipfit fit"
37654
38233
  */
37655
38234
  type Collision = string;
37656
38235
 
@@ -37693,7 +38272,7 @@ declare namespace sap {
37693
38272
  *
37694
38273
  * Noteworthy details:
37695
38274
  * - whitespace is mandatory around a '-' or '+' operator and optional otherwise
37696
- * - parentheses are accepted but not checked for being balanced (a limitation of regexp based checks)
38275
+ * - parentheses are accepted but not checked for being balanced (a restriction of regexp based checks)
37697
38276
  *
37698
38277
  * - semantic constraints like type restrictions are not checked
37699
38278
  *
@@ -39564,10 +40143,9 @@ declare namespace sap {
39564
40143
  /**
39565
40144
  * A comma-separated list of property names that need to be selected.
39566
40145
  * If the `select` parameter is given, it has to contain all properties that are contained in the analytical
39567
- * information (see {@link sap.ui.model.analytics.AnalyticalBinding#updateAnalyticalInfo}) and their associated
39568
- * dimensions and measures. It must not contain additional dimensions or measures or associated properties
39569
- * for additional dimensions or measures. But it may contain additional properties like a text property
39570
- * of a dimension that is also selected.
40146
+ * information (see {@link sap.ui.model.analytics.AnalyticalBinding#updateAnalyticalInfo}). It must not
40147
+ * contain additional dimensions or measures or associated properties for additional dimensions or measures.
40148
+ * But it may contain additional properties like a text property of a dimension that is also selected.
39571
40149
  * All properties of the `select` parameter are also considered in {@link sap.ui.model.analytics.AnalyticalBinding#getDownloadUrl}.
39572
40150
  * The `select` parameter must not contain any duplicate entry.
39573
40151
  * If the `select` parameter does not fit to the analytical information or if the `select` parameter contains
@@ -39724,19 +40302,56 @@ declare namespace sap {
39724
40302
  */
39725
40303
  getNodeContexts(
39726
40304
  /**
39727
- * specifying the aggregation level for which contexts shall be fetched. Supported parameters are:
39728
- *
39729
- * - oContext: parent context identifying the requested group of child contexts
39730
- * - level: level number for oContext, because it might occur at multiple levels; context with group ID
39731
- * `"/"` has level 0
39732
- * - numberOfExpandedLevels: number of child levels that shall be fetched automatically
39733
- * - startIndex: index of first child entry to return from the parent context (zero-based)
39734
- * - length: number of entries to return; counting begins at the given start index
39735
- * - threshold: number of additional entries that shall be locally available in the binding for subsequent
39736
- * accesses to child entries of the given parent context.
40305
+ * Parent context identifying the requested group of child contexts
39737
40306
  */
39738
- mParameters: object
39739
- ): any[];
40307
+ oContext: sap.ui.model.Context,
40308
+ /**
40309
+ * Parameters, specifying the aggregation level for which contexts shall be fetched or (legacy signature
40310
+ * variant) index of first child entry to return from the parent context (zero-based)
40311
+ */
40312
+ mParameters:
40313
+ | {
40314
+ /**
40315
+ * Level number for oContext, because it might occur at multiple levels; context with group ID `"/"` has
40316
+ * level 0
40317
+ */
40318
+ level: int;
40319
+ /**
40320
+ * Number of child levels that shall be fetched automatically
40321
+ */
40322
+ numberOfExpandedLevels?: int;
40323
+ /**
40324
+ * Index of first child entry to return from the parent context (zero-based)
40325
+ */
40326
+ startIndex?: int;
40327
+ /**
40328
+ * Number of entries to return; counting begins at the given start index
40329
+ */
40330
+ length?: int;
40331
+ /**
40332
+ * Number of additional entries that shall be locally available in the binding for subsequent accesses to
40333
+ * child entries of the given parent context
40334
+ */
40335
+ threshold?: int;
40336
+ }
40337
+ | int,
40338
+ /**
40339
+ * Same meaning as `mParameters.length`, legacy signature variant only
40340
+ */
40341
+ iLength?: int,
40342
+ /**
40343
+ * Same meaning as `mParameters.threshold`, legacy signature variant only
40344
+ */
40345
+ iThreshold?: int,
40346
+ /**
40347
+ * Same meaning as `mParameters.level`, legacy signature variant only
40348
+ */
40349
+ iLevel?: int,
40350
+ /**
40351
+ * Same meaning as `mParameters.numberOfExpandedLevels`, legacy signature variant only
40352
+ */
40353
+ iNumberOfExpandedLevels?: int
40354
+ ): sap.ui.model.Context[];
39740
40355
  /**
39741
40356
  * Gets the metadata of a property with a given name.
39742
40357
  */
@@ -39926,34 +40541,41 @@ declare namespace sap {
39926
40541
  * Updates the binding's structure with new analytical information.
39927
40542
  *
39928
40543
  * Analytical information is the mapping of UI columns to properties in the bound OData entity set. Every
39929
- * column object contains the name of the bound property and in addition:
40544
+ * column object contains the `name` of the bound property and in addition:
39930
40545
  * - A column bound to a dimension property has further boolean properties:
39931
- * grouped: dimension will be used for building groups
39932
- * - visible: if the column is visible, values for the related property will be fetched from the OData
39933
- * service
40546
+ * grouped: dimension is used for building groups
39934
40547
  * - inResult: if the column is not visible, but declared to be part of the result, values for the related
39935
- * property will also be fetched from the OData service
40548
+ * property are also fetched from the OData service
40549
+ * - visible: if the column is visible, values for the related property are fetched from the OData service
40550
+ *
39936
40551
  * - A column bound to a measure property has further boolean properties:
39937
- * total: totals and sub-totals will be provided for the measure at all aggregation levels
40552
+ * inResult: if the column is not visible, but declared to be part of the result, values for the related
40553
+ * property are also fetched from the OData service
40554
+ * - total: totals and sub-totals are provided for the measure at all aggregation levels
40555
+ * - visible: if the column is visible, values for the related property are fetched from the OData service
39938
40556
  *
39939
40557
  * - A column bound to a hierarchy property has further properties:
39940
- * grouped: boolean value; indicates whether the hierarchy will be used for building groups
40558
+ * grouped: boolean value; indicates whether the hierarchy is used for building groups
39941
40559
  * - level: integer value; the hierarchy level is mandatory for at least one of those columns that represent
39942
- * the same hierarchy.
40560
+ * the same hierarchy
39943
40561
  *
39944
40562
  * Invoking this function resets the state of the binding and subsequent data requests such as calls to
39945
- * getNodeContexts() will need to trigger OData requests in order to fetch the data that are in line with
39946
- * this analytical information.
40563
+ * getNodeContexts() trigger OData requests in order to fetch the data that are in line with this analytical
40564
+ * information.
39947
40565
  *
39948
- * Please be aware that a call of this function might lead to additional back-end requests, as well as a
39949
- * control re-rendering later on. Whenever possible use the API of the analytical control, instead of relying
39950
- * on the binding.
40566
+ * Be aware that a call of this function might lead to additional back-end requests, as well as a control
40567
+ * re-rendering later on. Whenever possible use the API of the analytical control, instead of relying on
40568
+ * the binding.
39951
40569
  */
39952
40570
  updateAnalyticalInfo(
39953
40571
  /**
39954
- * an array with objects holding the analytical information for every column, from left to right.
40572
+ * An array with objects holding the analytical information for every column
40573
+ */
40574
+ aColumns: object[],
40575
+ /**
40576
+ * Whether to fire a change event asynchronously even if columns didn't change
39955
40577
  */
39956
- aColumns: any[]
40578
+ bForceChange: boolean
39957
40579
  ): void;
39958
40580
  }
39959
40581
 
@@ -40263,24 +40885,24 @@ declare namespace sap {
40263
40885
  bMerge?: boolean
40264
40886
  ): void;
40265
40887
  /**
40266
- * Sets a new value for the given property `sPropertyName` in the model. If the model value changed all
40267
- * interested parties are informed.
40888
+ * Sets `oValue` as new value for the property defined by the given `sPath` and `oContext`. Once the new
40889
+ * model value has been set, all interested parties are informed.
40268
40890
  */
40269
40891
  setProperty(
40270
40892
  /**
40271
- * path of the property to set
40893
+ * The path of the property to set
40272
40894
  */
40273
40895
  sPath: string,
40274
40896
  /**
40275
- * value to set the property to
40897
+ * The new value to be set for this property
40276
40898
  */
40277
40899
  oValue: any,
40278
40900
  /**
40279
- * the context which will be used to set the property
40901
+ * The context used to set the property
40280
40902
  */
40281
- oContext?: object,
40903
+ oContext?: sap.ui.model.Context,
40282
40904
  /**
40283
- * whether to update other bindings dependent on this property asynchronously
40905
+ * Whether to update other bindings dependent on this property asynchronously
40284
40906
  */
40285
40907
  bAsyncUpdate?: boolean
40286
40908
  ): boolean;
@@ -41264,6 +41886,128 @@ declare namespace sap {
41264
41886
  vValue: any
41265
41887
  ): void;
41266
41888
  }
41889
+ /**
41890
+ * @SINCE 1.99.0
41891
+ * @EXPERIMENTAL
41892
+ *
41893
+ * This class represents the `DateTimeWithTimezone` composite type which has the parts timestamp and time
41894
+ * zone. The type formats the timestamp part using the time zone part. For this, the timestamp part has
41895
+ * to be provided in the UTC time zone. When using this type with the {@link sap.ui.model.odata.v2.ODataModel},
41896
+ * you need to set the parameter `useUndefinedIfUnresolved` for both parts.
41897
+ */
41898
+ class DateTimeWithTimezone extends sap.ui.model.CompositeType {
41899
+ /**
41900
+ * Constructor for a `DateTimeWithTimezone` composite type.
41901
+ * See:
41902
+ * {sap.ui.model.odata.v2.ODataModel#bindProperty}
41903
+ */
41904
+ constructor(
41905
+ /**
41906
+ * Format options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateTimeWithTimezoneInstance
41907
+ * DateFormat}. The `strictParsing` format option is set to `true` by default and can be overwritten. Format
41908
+ * options are immutable, that is, they can only be set once on construction.
41909
+ */
41910
+ oFormatOptions?: object,
41911
+ /**
41912
+ * Constraints are not supported
41913
+ */
41914
+ oConstraints?: object
41915
+ );
41916
+
41917
+ /**
41918
+ * Creates a new subclass of class sap.ui.model.odata.type.DateTimeWithTimezone with name `sClassName` and
41919
+ * enriches it with the information contained in `oClassInfo`.
41920
+ *
41921
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.model.CompositeType.extend}.
41922
+ */
41923
+ static extend<T extends Record<string, unknown>>(
41924
+ /**
41925
+ * Name of the class being created
41926
+ */
41927
+ sClassName: string,
41928
+ /**
41929
+ * Object literal with information about the class
41930
+ */
41931
+ oClassInfo?: sap.ClassInfo<
41932
+ T,
41933
+ sap.ui.model.odata.type.DateTimeWithTimezone
41934
+ >,
41935
+ /**
41936
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
41937
+ * used by this class
41938
+ */
41939
+ FNMetaImpl?: Function
41940
+ ): Function;
41941
+ /**
41942
+ * Returns a metadata object for class sap.ui.model.odata.type.DateTimeWithTimezone.
41943
+ */
41944
+ static getMetadata(): sap.ui.base.Metadata;
41945
+ /**
41946
+ * Formats the given values of the parts of the `DateTimeWithTimezone` composite type to the given target
41947
+ * type.
41948
+ */
41949
+ formatValue(
41950
+ /**
41951
+ * The array of the part values to be formatted; the first entry has to be a `Date` object for the timestamp,
41952
+ * and the second entry has to be a string representing a time zone ID
41953
+ */
41954
+ aValues: any[],
41955
+ /**
41956
+ * The target type, must be "object", "string", or a type with one of these types as its {@link sap.ui.base.DataType#getPrimitiveType
41957
+ * primitive type}; see {@link sap.ui.model.odata.type} for more information
41958
+ */
41959
+ sTargetType: string
41960
+ ): any;
41961
+ /**
41962
+ * Returns the type's name.
41963
+ */
41964
+ getName(): string;
41965
+ /**
41966
+ * Gets an array of indices that determine which parts of this type shall not propagate their model messages
41967
+ * to the attached control. Prerequisite is that the corresponding binding supports this feature, see {@link
41968
+ * sap.ui.model.Binding#supportsIgnoreMessages}. If the `showTimezone` format option is set to `sap.ui.core.format.DateFormatTimezoneDisplay.Hide`
41969
+ * and the time zone is not shown in the control, the part for the time zone shall not propagate model messages
41970
+ * to the control. Analogously, if the format option `showTimezone` is set to `sap.ui.core.format.DateFormatTimezoneDisplay.Only`,
41971
+ * the date and time are not shown in the control and the parts for the date and time shall not propagate
41972
+ * model messages to the control.
41973
+ * See:
41974
+ * sap.ui.model.Binding#supportsIgnoreMessages
41975
+ */
41976
+ getPartsIgnoringMessages(): number[];
41977
+ /**
41978
+ * Parses the given value.
41979
+ */
41980
+ parseValue(
41981
+ /**
41982
+ * The value to be parsed
41983
+ */
41984
+ vValue: string | Date,
41985
+ /**
41986
+ * The source type (the expected type of `vValue`); must be "object", "string", or a type with one of these
41987
+ * types as its {@link sap.ui.base.DataType#getPrimitiveType primitive type}; see {@link sap.ui.model.odata.type}
41988
+ * for more information
41989
+ */
41990
+ sSourceType: string,
41991
+ /**
41992
+ * The array of current part values; the first entry has to be a `Date` object for the timestamp, and the
41993
+ * second entry has to be a string representing a time zone ID; **Note:** This parameter is required, see
41994
+ * definition of this parameter in {@link sap.ui.model.CompositeType#parseValue}
41995
+ */
41996
+ aCurrentValues?: any[]
41997
+ ): any[];
41998
+ /**
41999
+ * Validates whether the given raw values meet the defined constraints. This method does nothing as no constraints
42000
+ * are supported.
42001
+ * See:
42002
+ * sap.ui.model.SimpleType#validateValue
42003
+ */
42004
+ validateValue(
42005
+ /**
42006
+ * The set of values to be validated
42007
+ */
42008
+ aValues: any[]
42009
+ ): void;
42010
+ }
41267
42011
  /**
41268
42012
  * @SINCE 1.27.0
41269
42013
  *
@@ -43022,12 +43766,26 @@ declare namespace sap {
43022
43766
  * and the entity for this context has been stored in the back end, {@link #created} returns `undefined`.
43023
43767
  */
43024
43768
  created(): Promise<any>;
43769
+ /**
43770
+ * @SINCE 1.98.0
43771
+ *
43772
+ * Returns whether this context is inactive. An inactive context will only be sent to the server after the
43773
+ * first property update. From then on it behaves like any other created context. The result of this function
43774
+ * can also be accessed via the "@$ui5.context.isInactive" instance annotation at the entity, see {@link
43775
+ * sap.ui.model.odata.v2.ODataModel#getProperty} for details.
43776
+ * See:
43777
+ * sap.ui.model.odata.v2.ODataListBinding#create
43778
+ * sap.ui.model.odata.v2.ODataModel#createEntry
43779
+ */
43780
+ isInactive(): boolean;
43025
43781
  /**
43026
43782
  * @SINCE 1.94.0
43027
43783
  *
43028
43784
  * For a context created using {@link sap.ui.model.odata.v2.ODataModel#createEntry} or {@link sap.ui.model.odata.v2.ODataListBinding#create},
43029
43785
  * the method returns `true` if the context is transient or `false` if the context is not transient. A transient
43030
- * context represents an entity created on the client which has not been persisted in the back end.
43786
+ * context represents an entity created on the client which has not been persisted in the back end. The
43787
+ * result of this function can also be accessed via the "@$ui5.context.isTransient" instance annotation
43788
+ * at the entity, see {@link sap.ui.model.odata.v2.ODataModel#getProperty} for details.
43031
43789
  */
43032
43790
  isTransient(): boolean;
43033
43791
  }
@@ -43643,8 +44401,8 @@ declare namespace sap {
43643
44401
  */
43644
44402
  countMode?: sap.ui.model.odata.CountMode;
43645
44403
  /**
43646
- * A key used in combination with the resolved path of this binding to identify the entities created this
43647
- * binding's {@link #create} method.
44404
+ * A key used in combination with the resolved path of this binding to identify the entities created by
44405
+ * this binding's {@link #create} method.
43648
44406
  *
43649
44407
  * **Note:** Different controls or control aggregation bindings to the same collection must have different
43650
44408
  * `createdEntitiesKey` values.
@@ -43719,6 +44477,234 @@ declare namespace sap {
43719
44477
  * Returns a metadata object for class sap.ui.model.odata.v2.ODataListBinding.
43720
44478
  */
43721
44479
  static getMetadata(): sap.ui.base.Metadata;
44480
+ /**
44481
+ * @SINCE 1.98.0
44482
+ *
44483
+ * Attach event handler `fnFunction` to the 'createActivate' event of this binding.
44484
+ */
44485
+ attachCreateActivate(
44486
+ /**
44487
+ * The function to call when the event occurs
44488
+ */
44489
+ fnFunction: Function,
44490
+ /**
44491
+ * Object on which to call the given function
44492
+ */
44493
+ oListener?: object
44494
+ ): void;
44495
+ /**
44496
+ * @SINCE 1.98.0
44497
+ *
44498
+ * Creates a new entity for this binding's collection via {@link sap.ui.model.odata.v2.ODataModel#createEntry}
44499
+ * using the parameters given in `mParameters` and inserts it at the list position specified by the `bAtEnd`
44500
+ * parameter. See {@link topic:6c47b2b39db9404582994070ec3d57a2#loio4c4cd99af9b14e08bb72470cc7cabff4 Creating
44501
+ * Entities documentation} for comprehensive information on the topic.
44502
+ *
44503
+ * Note: This method requires that the model metadata has been loaded; see {@link sap.ui.model.odata.v2.ODataModel#metadataLoaded}.
44504
+ */
44505
+ create(
44506
+ /**
44507
+ * The initial data for the created entity; see the `mParameters.properties` parameter of {@link sap.ui.model.odata.v2.ODataModel#createEntry}
44508
+ */
44509
+ oInitialData: object,
44510
+ /**
44511
+ * Whether the entity is inserted at the end of the list. The first insertion determines the overall position
44512
+ * of created contexts within the list. Every succeeding insertion is relative to the created contexts within
44513
+ * this list. Note: the order of created contexts in the binding does not necessarily correspond to the
44514
+ * order of the resulting back end creation requests.
44515
+ */
44516
+ bAtEnd: boolean,
44517
+ /**
44518
+ * A map of parameters as specified for {@link sap.ui.model.odata.v2.ODataModel#createEntry} where only
44519
+ * the following subset of these is supported.
44520
+ */
44521
+ mParameters: {
44522
+ /**
44523
+ * The ID of the `ChangeSet` that this request should belong to
44524
+ */
44525
+ changeSetId?: string;
44526
+ /**
44527
+ * The error callback function
44528
+ */
44529
+ error?: Function;
44530
+ /**
44531
+ * A comma-separated list of navigation properties to be expanded for the newly created entity; see {@link
44532
+ * sap.ui.model.odata.v2.ODataModel#createEntry}
44533
+ */
44534
+ expand?: string;
44535
+ /**
44536
+ * The ID of a request group; requests belonging to the same group will be bundled in one batch request
44537
+ */
44538
+ groupId?: string;
44539
+ /**
44540
+ * Whether the created context is inactive. An inactive context will only be sent to the server after the
44541
+ * first property update. From then on it behaves like any other created context.
44542
+ */
44543
+ inactive?: boolean;
44544
+ /**
44545
+ * The success callback function
44546
+ */
44547
+ success?: Function;
44548
+ }
44549
+ ): sap.ui.model.odata.v2.Context;
44550
+ /**
44551
+ * @SINCE 1.98.0
44552
+ *
44553
+ * Creates a new entity for this binding's collection via {@link sap.ui.model.odata.v2.ODataModel#createEntry}
44554
+ * using the parameters given in `mParameters` and inserts it at the list position specified by the `bAtEnd`
44555
+ * parameter. See {@link topic:6c47b2b39db9404582994070ec3d57a2#loio4c4cd99af9b14e08bb72470cc7cabff4 Creating
44556
+ * Entities documentation} for comprehensive information on the topic.
44557
+ *
44558
+ * Note: This method requires that the model metadata has been loaded; see {@link sap.ui.model.odata.v2.ODataModel#metadataLoaded}.
44559
+ */
44560
+ create(
44561
+ /**
44562
+ * The initial data for the created entity; see the `mParameters.properties` parameter of {@link sap.ui.model.odata.v2.ODataModel#createEntry}
44563
+ */
44564
+ oInitialData: object,
44565
+ /**
44566
+ * A map of parameters as specified for {@link sap.ui.model.odata.v2.ODataModel#createEntry} where only
44567
+ * the following subset of these is supported.
44568
+ */
44569
+ mParameters: {
44570
+ /**
44571
+ * The ID of the `ChangeSet` that this request should belong to
44572
+ */
44573
+ changeSetId?: string;
44574
+ /**
44575
+ * The error callback function
44576
+ */
44577
+ error?: Function;
44578
+ /**
44579
+ * A comma-separated list of navigation properties to be expanded for the newly created entity; see {@link
44580
+ * sap.ui.model.odata.v2.ODataModel#createEntry}
44581
+ */
44582
+ expand?: string;
44583
+ /**
44584
+ * The ID of a request group; requests belonging to the same group will be bundled in one batch request
44585
+ */
44586
+ groupId?: string;
44587
+ /**
44588
+ * Whether the created context is inactive. An inactive context will only be sent to the server after the
44589
+ * first property update. From then on it behaves like any other created context.
44590
+ */
44591
+ inactive?: boolean;
44592
+ /**
44593
+ * The success callback function
44594
+ */
44595
+ success?: Function;
44596
+ }
44597
+ ): sap.ui.model.odata.v2.Context;
44598
+ /**
44599
+ * @SINCE 1.98.0
44600
+ *
44601
+ * Creates a new entity for this binding's collection via {@link sap.ui.model.odata.v2.ODataModel#createEntry}
44602
+ * using the parameters given in `mParameters` and inserts it at the list position specified by the `bAtEnd`
44603
+ * parameter. See {@link topic:6c47b2b39db9404582994070ec3d57a2#loio4c4cd99af9b14e08bb72470cc7cabff4 Creating
44604
+ * Entities documentation} for comprehensive information on the topic.
44605
+ *
44606
+ * Note: This method requires that the model metadata has been loaded; see {@link sap.ui.model.odata.v2.ODataModel#metadataLoaded}.
44607
+ */
44608
+ create(
44609
+ /**
44610
+ * Whether the entity is inserted at the end of the list. The first insertion determines the overall position
44611
+ * of created contexts within the list. Every succeeding insertion is relative to the created contexts within
44612
+ * this list. Note: the order of created contexts in the binding does not necessarily correspond to the
44613
+ * order of the resulting back end creation requests.
44614
+ */
44615
+ bAtEnd: boolean,
44616
+ /**
44617
+ * A map of parameters as specified for {@link sap.ui.model.odata.v2.ODataModel#createEntry} where only
44618
+ * the following subset of these is supported.
44619
+ */
44620
+ mParameters: {
44621
+ /**
44622
+ * The ID of the `ChangeSet` that this request should belong to
44623
+ */
44624
+ changeSetId?: string;
44625
+ /**
44626
+ * The error callback function
44627
+ */
44628
+ error?: Function;
44629
+ /**
44630
+ * A comma-separated list of navigation properties to be expanded for the newly created entity; see {@link
44631
+ * sap.ui.model.odata.v2.ODataModel#createEntry}
44632
+ */
44633
+ expand?: string;
44634
+ /**
44635
+ * The ID of a request group; requests belonging to the same group will be bundled in one batch request
44636
+ */
44637
+ groupId?: string;
44638
+ /**
44639
+ * Whether the created context is inactive. An inactive context will only be sent to the server after the
44640
+ * first property update. From then on it behaves like any other created context.
44641
+ */
44642
+ inactive?: boolean;
44643
+ /**
44644
+ * The success callback function
44645
+ */
44646
+ success?: Function;
44647
+ }
44648
+ ): sap.ui.model.odata.v2.Context;
44649
+ /**
44650
+ * @SINCE 1.98.0
44651
+ *
44652
+ * Creates a new entity for this binding's collection via {@link sap.ui.model.odata.v2.ODataModel#createEntry}
44653
+ * using the parameters given in `mParameters` and inserts it at the list position specified by the `bAtEnd`
44654
+ * parameter. See {@link topic:6c47b2b39db9404582994070ec3d57a2#loio4c4cd99af9b14e08bb72470cc7cabff4 Creating
44655
+ * Entities documentation} for comprehensive information on the topic.
44656
+ *
44657
+ * Note: This method requires that the model metadata has been loaded; see {@link sap.ui.model.odata.v2.ODataModel#metadataLoaded}.
44658
+ */
44659
+ create(
44660
+ /**
44661
+ * A map of parameters as specified for {@link sap.ui.model.odata.v2.ODataModel#createEntry} where only
44662
+ * the following subset of these is supported.
44663
+ */
44664
+ mParameters: {
44665
+ /**
44666
+ * The ID of the `ChangeSet` that this request should belong to
44667
+ */
44668
+ changeSetId?: string;
44669
+ /**
44670
+ * The error callback function
44671
+ */
44672
+ error?: Function;
44673
+ /**
44674
+ * A comma-separated list of navigation properties to be expanded for the newly created entity; see {@link
44675
+ * sap.ui.model.odata.v2.ODataModel#createEntry}
44676
+ */
44677
+ expand?: string;
44678
+ /**
44679
+ * The ID of a request group; requests belonging to the same group will be bundled in one batch request
44680
+ */
44681
+ groupId?: string;
44682
+ /**
44683
+ * Whether the created context is inactive. An inactive context will only be sent to the server after the
44684
+ * first property update. From then on it behaves like any other created context.
44685
+ */
44686
+ inactive?: boolean;
44687
+ /**
44688
+ * The success callback function
44689
+ */
44690
+ success?: Function;
44691
+ }
44692
+ ): sap.ui.model.odata.v2.Context;
44693
+ /**
44694
+ * @SINCE 1.98.0
44695
+ *
44696
+ * Detach event handler `fnFunction` from the 'createActivate' event of this binding.
44697
+ */
44698
+ detachCreateActivate(
44699
+ /**
44700
+ * The function to call when the event occurs
44701
+ */
44702
+ fnFunction: Function,
44703
+ /**
44704
+ * Object on which to call the given function
44705
+ */
44706
+ oListener?: object
44707
+ ): void;
43722
44708
  /**
43723
44709
  * Filters the list.
43724
44710
  *
@@ -43745,6 +44731,15 @@ declare namespace sap {
43745
44731
  */
43746
44732
  bReturnSuccess?: boolean
43747
44733
  ): this;
44734
+ /**
44735
+ * @SINCE 1.98.0
44736
+ *
44737
+ * Returns all current contexts of this list binding in no special order. Just like {@link #getCurrentContexts},
44738
+ * this method does not request any data from a back end and does not change the binding's state. In contrast
44739
+ * to {@link #getCurrentContexts}, it does not only return those contexts that were last requested by a
44740
+ * control, but all contexts that are currently available in the binding.
44741
+ */
44742
+ getAllCurrentContexts(): sap.ui.model.odata.v2.Context[];
43748
44743
  /**
43749
44744
  * Return contexts for the list.
43750
44745
  */
@@ -43762,6 +44757,18 @@ declare namespace sap {
43762
44757
  */
43763
44758
  iThreshold?: int
43764
44759
  ): sap.ui.model.odata.v2.Context[];
44760
+ /**
44761
+ * @SINCE 1.98.0
44762
+ *
44763
+ * Returns the count of active entries in the list if the list length is final, otherwise `undefined`. Contrary
44764
+ * to {#getLength}, this method does not consider inactive entries which are created via {#create}.
44765
+ * See:
44766
+ * #create
44767
+ * #getLength
44768
+ * #isLengthFinal
44769
+ * sap.ui.model.odata.v2.Context#isInactive
44770
+ */
44771
+ getCount(): number | undefined;
43765
44772
  /**
43766
44773
  * @SINCE 1.24
43767
44774
  *
@@ -43787,6 +44794,13 @@ declare namespace sap {
43787
44794
  * do nothing, method will be called again when metadata is loaded.
43788
44795
  */
43789
44796
  initialize(): sap.ui.model.odata.v2.ODataListBinding;
44797
+ /**
44798
+ * @SINCE 1.98.0
44799
+ *
44800
+ * Returns whether the overall position of created entries is at the end of the list; this is determined
44801
+ * by the first call to {@link sap.ui.model.odata.v2.ODataListBinding#create}.
44802
+ */
44803
+ isFirstCreateAtEnd(): boolean | undefined;
43790
44804
  /**
43791
44805
  * Refreshes the binding, check whether the model data has been changed and fire change event if this is
43792
44806
  * the case. For server side models this should refetch the data from the server. To update a control, even
@@ -44401,7 +45415,8 @@ declare namespace sap {
44401
45415
  /**
44402
45416
  * Creates a new property binding for this model.
44403
45417
  * See:
44404
- * sap.ui.model.Model.prototype.bindProperty
45418
+ * sap.ui.model.Model#bindProperty
45419
+ * #getProperty
44405
45420
  */
44406
45421
  bindProperty(
44407
45422
  /**
@@ -44421,13 +45436,18 @@ declare namespace sap {
44421
45436
  * Whether this binding does not propagate model messages to the control; supported since 1.82.0. Some composite
44422
45437
  * types like {@link sap.ui.model.type.Currency} automatically ignore model messages for some of their parts
44423
45438
  * depending on their format options; setting this parameter to `true` or `false` overrules the automatism
44424
- * of the type.
45439
+ * of the type
44425
45440
  *
44426
45441
  * For example, a binding for a currency code is used in a composite binding for rendering the proper number
44427
45442
  * of decimals, but the currency code is not displayed in the attached control. In that case, messages for
44428
- * the currency code shall not be displayed at that control, only messages for the amount.
45443
+ * the currency code shall not be displayed at that control, only messages for the amount
44429
45444
  */
44430
45445
  ignoreMessages?: boolean;
45446
+ /**
45447
+ * Whether the value of the created property binding is `undefined` if it is unresolved; if not set, its
45448
+ * value is `null`. Supported since 1.100.0
45449
+ */
45450
+ useUndefinedIfUnresolved?: boolean;
44431
45451
  }
44432
45452
  ): sap.ui.model.PropertyBinding;
44433
45453
  /**
@@ -44686,7 +45706,7 @@ declare namespace sap {
44686
45706
  * Maps the function import parameter name as specified in the function import's metadata to its value;
44687
45707
  * the value is formatted based on the parameter's type as specified in the metadata
44688
45708
  */
44689
- urlParameters?: Record<string, string>;
45709
+ urlParameters?: Record<string, any>;
44690
45710
  /**
44691
45711
  * **Deprecated - use `groupId` instead**
44692
45712
  */
@@ -44699,7 +45719,9 @@ declare namespace sap {
44699
45719
  */
44700
45720
  canonicalRequestsEnabled(): boolean;
44701
45721
  /**
44702
- * Trigger a `POST` request to the OData service that was specified in the model constructor.
45722
+ * Trigger a `POST` request to the OData service that was specified in the model constructor; see {@link
45723
+ * topic:6c47b2b39db9404582994070ec3d57a2#loio4c4cd99af9b14e08bb72470cc7cabff4 Creating Entities documentation}
45724
+ * for comprehensive information on the topic.
44703
45725
  *
44704
45726
  * Please note that deep creates are not supported and may not work.
44705
45727
  */
@@ -44817,7 +45839,9 @@ declare namespace sap {
44817
45839
  ): sap.ui.model.odata.v2.Context | undefined;
44818
45840
  /**
44819
45841
  * Creates a new entry object which is described by the metadata of the entity type of the specified `sPath`
44820
- * Name. A context object is returned which can be used to bind against the newly created object.
45842
+ * Name. A context object is returned which can be used to bind against the newly created object. See {@link
45843
+ * topic:6c47b2b39db9404582994070ec3d57a2#loio4c4cd99af9b14e08bb72470cc7cabff4 Creating Entities documentation}
45844
+ * for comprehensive information on the topic.
44821
45845
  *
44822
45846
  * For each created entry a request is created and stored in a request queue. The request queue can be submitted
44823
45847
  * by calling {@link #submitChanges}. As long as the context is transient (see {@link sap.ui.model.odata.v2.Context#isTransient}),
@@ -44912,6 +45936,11 @@ declare namespace sap {
44912
45936
  * A map of headers
44913
45937
  */
44914
45938
  headers?: Record<string, string>;
45939
+ /**
45940
+ * Whether the created context is inactive. An inactive context will only be sent to the server after the
45941
+ * first property update. From then on it behaves like any other created context. Supported since 1.98.0
45942
+ */
45943
+ inactive?: boolean;
44915
45944
  /**
44916
45945
  * An array that specifies a set of properties or the entry
44917
45946
  */
@@ -44947,7 +45976,7 @@ declare namespace sap {
44947
45976
  oKeyProperties: object
44948
45977
  ): string;
44949
45978
  /**
44950
- * @deprecated - since 1.95.0; use {@link #resetChanges} instead
45979
+ * @deprecated (since 1.95.0) - use {@link #resetChanges} instead
44951
45980
  *
44952
45981
  * Deletes a created entry from the request queue and from the model.
44953
45982
  *
@@ -45461,11 +46490,13 @@ declare namespace sap {
45461
46490
  */
45462
46491
  getPendingChanges(): Record<string, object>;
45463
46492
  /**
45464
- * Returns the value for the property with the given `sPath`.
46493
+ * Returns the value for the property with the given `sPath`. Since 1.100, a path starting with "@$ui5."
46494
+ * which represents an instance annotation is supported. The following instance annotations are allowed;
46495
+ * they return information on the given oContext, which must be set and be an {@link sap.ui.model.odata.v2.Context}:
45465
46496
  *
45466
- * If the path points to a navigation property which has been loaded via `$expand` then the `bIncludeExpandEntries`
45467
- * parameter determines if the navigation property should be included in the returned value or not. Please
45468
- * note that this currently works for 1..1 navigation properties only.
46497
+ * - `@$ui5.context.isInactive`: The return value of {@link sap.ui.model.odata.v2.Context#isInactive}
46498
+ *
46499
+ * - `@$ui5.context.isTransient`: The return value of {@link sap.ui.model.odata.v2.Context#isTransient}
45469
46500
  */
45470
46501
  getProperty(
45471
46502
  /**
@@ -45477,11 +46508,9 @@ declare namespace sap {
45477
46508
  */
45478
46509
  oContext?: object,
45479
46510
  /**
45480
- * @deprecated Please use {@link #getObject} function with select/expand parameters instead. This parameter
45481
- * should be set when a URI or custom parameter with a `$expand` system query option was used to retrieve
45482
- * associated entries embedded/inline. If true then the `getProperty` function returns a desired property
45483
- * value/entry and includes the associated expand entries (if any). Note: A copy and not a reference of
45484
- * the entry will be returned.
46511
+ * Deprecated, use {@link #getObject} function with 'select' and 'expand' parameters instead. Whether entities
46512
+ * for navigation properties of this property which have been read via `$expand` are part of the return
46513
+ * value.
45485
46514
  */
45486
46515
  bIncludeExpandEntries?: boolean
45487
46516
  ): any;
@@ -45812,7 +46841,7 @@ declare namespace sap {
45812
46841
  */
45813
46842
  resetChanges(
45814
46843
  /**
45815
- * Paths to be be reset; if no array is passed, all changes are reset
46844
+ * Paths to be reset; if no array is passed, all changes are reset
45816
46845
  */
45817
46846
  aPath?: any[],
45818
46847
  /**
@@ -46459,16 +47488,16 @@ declare namespace sap {
46459
47488
  * ```javascript
46460
47489
  *
46461
47490
  * <Annotations Target="com.sap.gateway.default.iwbep.tea_busi.v0001.EQUIPMENT">
46462
- * <Annotation Term="com.sap.vocabularies.UI.v1.Facets">
46463
- * <Collection>
46464
- * <Record Type="com.sap.vocabularies.UI.v1.ReferenceFacet">
46465
- * <PropertyValue Property="Target" AnnotationPath="EQUIPMENT_2_PRODUCT/@com.sap.vocabularies.Common.v1.QuickInfo" />
46466
- * </Record>
46467
- * </Collection>
46468
- * </Annotation>
47491
+ * <Annotation Term="com.sap.vocabularies.UI.v1.Facets">
47492
+ * <Collection>
47493
+ * <Record Type="com.sap.vocabularies.UI.v1.ReferenceFacet">
47494
+ * <PropertyValue Property="Target" AnnotationPath="EQUIPMENT_2_PRODUCT/@com.sap.vocabularies.Common.v1.QuickInfo" />
47495
+ * </Record>
47496
+ * </Collection>
47497
+ * </Annotation>
46469
47498
  * </Annotations>
46470
47499
  * <Annotations Target="com.sap.gateway.default.iwbep.tea_busi_product.v0001.Product">
46471
- * <Annotation Term="com.sap.vocabularies.Common.v1.QuickInfo" Path="Name" />
47500
+ * <Annotation Term="com.sap.vocabularies.Common.v1.QuickInfo" Path="Name" />
46472
47501
  * </Annotations>
46473
47502
  * ```
46474
47503
  *
@@ -46482,16 +47511,16 @@ declare namespace sap {
46482
47511
  * ```javascript
46483
47512
  *
46484
47513
  * <Annotations Target="com.sap.gateway.default.iwbep.tea_busi.v0001.EQUIPMENT">
46485
- * <Annotation Term="com.sap.vocabularies.UI.v1.LineItem">
46486
- * <Collection>
46487
- * <Record Type="com.sap.vocabularies.UI.v1.DataField">
46488
- * <PropertyValue Property="Value" Path="EQUIPMENT_2_PRODUCT/Name" />
46489
- * </Record>
46490
- * </Collection>
46491
- * </Annotation>
47514
+ * <Annotation Term="com.sap.vocabularies.UI.v1.LineItem">
47515
+ * <Collection>
47516
+ * <Record Type="com.sap.vocabularies.UI.v1.DataField">
47517
+ * <PropertyValue Property="Value" Path="EQUIPMENT_2_PRODUCT/Name" />
47518
+ * </Record>
47519
+ * </Collection>
47520
+ * </Annotation>
46492
47521
  * </Annotations>
46493
47522
  * <Annotations Target="com.sap.gateway.default.iwbep.tea_busi_product.v0001.Product/Name">
46494
- * <Annotation Term="com.sap.vocabularies.Common.v1.QuickInfo" Path="PRODUCT_2_SUPPLIER/Supplier_Name" />
47523
+ * <Annotation Term="com.sap.vocabularies.Common.v1.QuickInfo" Path="PRODUCT_2_SUPPLIER/Supplier_Name" />
46495
47524
  * </Annotations>
46496
47525
  * ```
46497
47526
  *
@@ -46749,7 +47778,7 @@ declare namespace sap {
46749
47778
  */
46750
47779
  context: sap.ui.model.Context;
46751
47780
  }
46752
- ): string | Promise<any>;
47781
+ ): string | Promise<any> | undefined;
46753
47782
  /**
46754
47783
  * @SINCE 1.63.0
46755
47784
  *
@@ -47080,11 +48109,15 @@ declare namespace sap {
47080
48109
  * The group ID to be used for the DELETE request; if not specified, the update group ID for the context's
47081
48110
  * binding is used, see {@link #getUpdateGroupId}; the resulting group ID must not have {@link sap.ui.model.odata.v4.SubmitMode.API}.
47082
48111
  * Since 1.81, if this context is transient (see {@link #isTransient}), no group ID needs to be specified.
48112
+ * Since 1.98.0, you can use `null` to prevent the DELETE request in case of a kept-alive context that is
48113
+ * not in the collection and of which you know that it does not exist on the server anymore (for example,
48114
+ * a draft after activation).
47083
48115
  */
47084
48116
  sGroupId?: string,
47085
48117
  /**
47086
48118
  * Whether not to request the new count from the server; useful in case of {@link #replaceWith} where it
47087
- * is known that the count remains unchanged (since 1.97.0)
48119
+ * is known that the count remains unchanged (since 1.97.0). Since 1.98.0, this is implied if a `null` group
48120
+ * ID is used.
47088
48121
  */
47089
48122
  bDoNotRequestCount?: boolean
47090
48123
  ): Promise<any>;
@@ -47151,6 +48184,8 @@ declare namespace sap {
47151
48184
  *
47152
48185
  * Returns `undefined` if the data is not (yet) available; no request is triggered. Use {@link #requestObject}
47153
48186
  * for asynchronous access.
48187
+ *
48188
+ * The header context of a list binding only delivers `$count` (wrapped in an object if `sPath` is "").
47154
48189
  * See:
47155
48190
  * sap.ui.model.Context#getObject
47156
48191
  */
@@ -47194,7 +48229,8 @@ declare namespace sap {
47194
48229
  *
47195
48230
  * Returns whether there are pending changes for bindings dependent on this context, or for unresolved bindings
47196
48231
  * (see {@link sap.ui.model.Binding#isResolved}) which were dependent on this context at the time the pending
47197
- * change was created. This includes the context itself being transient (see {@link #isTransient}).
48232
+ * change was created. This includes the context itself being {@link #isTransient transient}. Since 1.98.0,
48233
+ * {@link #isInactive inactive} contexts are ignored.
47198
48234
  */
47199
48235
  hasPendingChanges(): boolean;
47200
48236
  /**
@@ -47206,6 +48242,17 @@ declare namespace sap {
47206
48242
  * #expand
47207
48243
  */
47208
48244
  isExpanded(): boolean | undefined;
48245
+ /**
48246
+ * @SINCE 1.98.0
48247
+ *
48248
+ * Returns whether this context is inactive. The result of this function can also be accessed via instance
48249
+ * annotation "@$ui5.context.isInactive" at the entity.
48250
+ * See:
48251
+ * #isTransient
48252
+ * sap.ui.model.odata.v4.ODataListBinding#create
48253
+ * sap.ui.model.odata.v4.ODataListBinding#event:createActivate
48254
+ */
48255
+ isInactive(): boolean;
47209
48256
  /**
47210
48257
  * @SINCE 1.81.0
47211
48258
  *
@@ -47221,6 +48268,8 @@ declare namespace sap {
47221
48268
  * `true` if the context is transient, meaning that the promise returned by {@link #created} is not yet
47222
48269
  * resolved or rejected, and returns `false` if the context is not transient. The result of this function
47223
48270
  * can also be accessed via instance annotation "@$ui5.context.isTransient" at the entity.
48271
+ * See:
48272
+ * #isInactive
47224
48273
  */
47225
48274
  isTransient(): boolean;
47226
48275
  /**
@@ -47250,8 +48299,9 @@ declare namespace sap {
47250
48299
  /**
47251
48300
  * @SINCE 1.97.0
47252
48301
  *
47253
- * Replaces this context with the given other context. You probably want to delete this context afterwards
47254
- * without requesting the new count from the server, see the `bDoNotRequestCount` parameter of {@link #delete}.
48302
+ * Replaces this context with the given other context "in situ", that is, at the index it currently has
48303
+ * in its list binding's collection. You probably want to delete this context afterwards without requesting
48304
+ * the new count from the server, see the `bDoNotRequestCount` parameter of {@link #delete}.
47255
48305
  */
47256
48306
  replaceWith(
47257
48307
  /**
@@ -47279,6 +48329,8 @@ declare namespace sap {
47279
48329
  * "OData JSON Format Version 4.0". Note that the function clones the result. Modify values via {@link
47280
48330
  * sap.ui.model.odata.v4.Context#setProperty}.
47281
48331
  *
48332
+ * The header context of a list binding only delivers `$count` (wrapped in an object if `sPath` is "").
48333
+ *
47282
48334
  * If you want {@link #requestObject} to read fresh data, call {@link #refresh} first.
47283
48335
  * See:
47284
48336
  * #getBinding
@@ -47398,6 +48450,12 @@ declare namespace sap {
47398
48450
  * Sets this context's `keepAlive` attribute. If `true` the context is kept alive even when it is removed
47399
48451
  * from its binding's collection, for example if a filter is applied and the entity represented by this
47400
48452
  * context does not match the filter criteria.
48453
+ *
48454
+ * Normally, a context's lifecycle is managed implicitly. It is created once it is needed and destroyed
48455
+ * if it is not needed anymore, for example, because it is no longer part of its list binding's collection.
48456
+ * It is thus unsafe to keep a reference to a context instance which is not explicitly kept alive. Once
48457
+ * a context is not kept alive anymore, the implicit lifecycle management again takes control and destroys
48458
+ * the context if it is no longer needed.
47401
48459
  * See:
47402
48460
  * #isKeepAlive
47403
48461
  */
@@ -47412,8 +48470,10 @@ declare namespace sap {
47412
48470
  */
47413
48471
  fnOnBeforeDestroy?: Function,
47414
48472
  /**
47415
- * Whether to request messages for this entity. Only used if `bKeepAlive` is `true`. The binding keeps requesting
47416
- * messages until it is destroyed. Supported since 1.92.0
48473
+ * Whether to request messages for this entity. Only used if `bKeepAlive` is `true`. Determines the messages
48474
+ * property from the annotation "com.sap.vocabularies.Common.v1.Messages" at the entity type. If found,
48475
+ * the binding keeps requesting messages until it is destroyed. Otherwise an error is logged in the console
48476
+ * and no messages are requested. Supported since 1.92.0
47417
48477
  */
47418
48478
  bRequestMessages?: boolean
47419
48479
  ): void;
@@ -47646,6 +48706,12 @@ declare namespace sap {
47646
48706
  * The value of this binding is the result of the operation. To access a result of primitive type, bind
47647
48707
  * a control to the path "value", for example `<Text text="{value}"/>`. If the result has a complex or
47648
48708
  * entity type, you can bind properties as usual, for example `<Text text="{street}"/>`.
48709
+ *
48710
+ * Since 1.98.0, a single-valued navigation property can be treated like a function if
48711
+ * it has the same type as the operation binding's parent context, that parent context is in a list
48712
+ * binding for a top-level entity set, there is a navigation property binding which points to that
48713
+ * same entity set, no operation parameters have been set, the `bReplaceWithRVC` parameter is
48714
+ * used.
47649
48715
  */
47650
48716
  execute(
47651
48717
  /**
@@ -47713,7 +48779,8 @@ declare namespace sap {
47713
48779
  getRootBinding():
47714
48780
  | sap.ui.model.odata.v4.ODataContextBinding
47715
48781
  | sap.ui.model.odata.v4.ODataListBinding
47716
- | sap.ui.model.odata.v4.ODataPropertyBinding;
48782
+ | sap.ui.model.odata.v4.ODataPropertyBinding
48783
+ | undefined;
47717
48784
  /**
47718
48785
  * @SINCE 1.81.0
47719
48786
  *
@@ -47730,7 +48797,8 @@ declare namespace sap {
47730
48797
  * Returns `true` if this binding or its dependent bindings have pending property changes or created entities
47731
48798
  * which have not been sent successfully to the server. This function does not take into account the deletion
47732
48799
  * of entities (see {@link sap.ui.model.odata.v4.Context#delete}) and the execution of OData operations
47733
- * (see {@link sap.ui.model.odata.v4.ODataContextBinding#execute}).
48800
+ * (see {@link sap.ui.model.odata.v4.ODataContextBinding#execute}). Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isInactive
48801
+ * inactive} contexts are ignored.
47734
48802
  *
47735
48803
  * Note: If this binding is relative, its data is cached separately for each parent context path. This method
47736
48804
  * returns `true` if there are pending changes for the current parent context path of this binding. If this
@@ -47739,9 +48807,12 @@ declare namespace sap {
47739
48807
  hasPendingChanges(
47740
48808
  /**
47741
48809
  * Whether to ignore changes which will not be lost by APIs like {@link sap.ui.model.odata.v4.ODataListBinding#changeParameters
47742
- * changeParameters}, {@link sap.ui.model.odata.v4.ODataListBinding#filter filter}, {@link sap.ui.model.odata.v4.ODataListBinding#sort
47743
- * sort}, or {@link sap.ui.model.odata.v4.ODataListBinding#suspend suspend} because they relate to a {@link
47744
- * sap.ui.model.odata.v4.Context#setKeepAlive kept-alive} context of this binding.
48810
+ * changeParameters}, {@link sap.ui.model.odata.v4.ODataListBinding#filter filter}, {@link sap.ui.model.odata.v4.ODataListBinding#refresh
48811
+ * refresh} (since 1.100.0), {@link sap.ui.model.odata.v4.ODataListBinding#sort sort}, or {@link sap.ui.model.odata.v4.ODataListBinding#suspend
48812
+ * suspend} because they relate to a {@link sap.ui.model.odata.v4.Context#setKeepAlive kept-alive} context
48813
+ * of this binding (since 1.97.0). Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isTransient transient}
48814
+ * contexts of a {@link #getRootBinding root binding} are treated as kept-alive by this flag. Since 1.99.0,
48815
+ * the same happens for bindings using the `$$ownRequest` parameter (see {@link sap.ui.model.odata.v4.ODataModel#bindList}).
47745
48816
  */
47746
48817
  bIgnoreKeptAlive?: boolean
47747
48818
  ): boolean;
@@ -47760,20 +48831,6 @@ declare namespace sap {
47760
48831
  * Method not supported
47761
48832
  */
47762
48833
  isInitial(): boolean;
47763
- /**
47764
- * @SINCE 1.95.0
47765
- * @EXPERIMENTAL
47766
- *
47767
- * Moves the bound entity into the given list binding. This binding loses its data. The method may only
47768
- * be called when this binding has finished loading. You can verify this by calling `oBinding.getBoundContext().requestObject()`.
47769
- * If that promise resolves, the binding has finished loading.
47770
- */
47771
- moveEntityTo(
47772
- /**
47773
- * The list binding to take the entity
47774
- */
47775
- oListBinding: sap.ui.model.odata.v4.ODataListBinding
47776
- ): void;
47777
48834
  /**
47778
48835
  * @SINCE 1.37.0
47779
48836
  *
@@ -47786,10 +48843,10 @@ declare namespace sap {
47786
48843
  * determines the binding's data; it is **independent** of the order of calls to {@link sap.ui.model.odata.v4.ODataModel#submitBatch}
47787
48844
  * with the given group ID.
47788
48845
  *
47789
- * If there are pending changes, an error is thrown. Use {@link #hasPendingChanges} to check if there are
47790
- * pending changes. If there are changes, call {@link sap.ui.model.odata.v4.ODataModel#submitBatch} to submit
47791
- * the changes or {@link sap.ui.model.odata.v4.ODataModel#resetChanges} to reset the changes before calling
47792
- * {@link #refresh}.
48846
+ * If there are pending changes that cannot be ignored, an error is thrown. Use {@link #hasPendingChanges}
48847
+ * to check if there are such pending changes. If there are, call {@link sap.ui.model.odata.v4.ODataModel#submitBatch}
48848
+ * to submit the changes or {@link sap.ui.model.odata.v4.ODataModel#resetChanges} to reset the changes before
48849
+ * calling {@link #refresh}.
47793
48850
  *
47794
48851
  * Use {@link #requestRefresh} if you want to wait for the refresh.
47795
48852
  * See:
@@ -47879,7 +48936,8 @@ declare namespace sap {
47879
48936
  * Suspends this binding. A suspended binding does not fire change events nor does it trigger data service
47880
48937
  * requests. Call {@link #resume} to resume the binding. Before 1.53.0, this method was not supported and
47881
48938
  * threw an error. Since 1.97.0, pending changes are ignored if they relate to a {@link sap.ui.model.odata.v4.Context#setKeepAlive
47882
- * kept-alive} context of this binding.
48939
+ * kept-alive} context of this binding. Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isTransient transient}
48940
+ * contexts of a {@link #getRootBinding root binding} do not count as pending changes.
47883
48941
  * See:
47884
48942
  * {@link topic:b0f5c531e5034a27952cc748954cbe39 Suspend and Resume}
47885
48943
  * sap.ui.model.Binding#suspend
@@ -47900,8 +48958,9 @@ declare namespace sap {
47900
48958
  * @SINCE 1.37.0
47901
48959
  *
47902
48960
  * List binding for an OData V4 model. An event handler can only be attached to this binding for the following
47903
- * events: 'AggregatedDataStateChange', 'change', 'createCompleted', 'createSent', 'dataReceived', 'dataRequested',
47904
- * 'DataStateChange', 'patchCompleted', 'patchSent', and 'refresh'. For other events, an error is thrown.
48961
+ * events: 'AggregatedDataStateChange', 'change', 'createActivate', 'createCompleted', 'createSent', 'dataReceived',
48962
+ * 'dataRequested', 'DataStateChange', 'patchCompleted', 'patchSent', and 'refresh'. For other events, an
48963
+ * error is thrown.
47905
48964
  */
47906
48965
  class ODataListBinding extends sap.ui.model.ListBinding {
47907
48966
  constructor();
@@ -47934,6 +48993,21 @@ declare namespace sap {
47934
48993
  * Returns a metadata object for class sap.ui.model.odata.v4.ODataListBinding.
47935
48994
  */
47936
48995
  static getMetadata(): sap.ui.base.Metadata;
48996
+ /**
48997
+ * @SINCE 1.98.0
48998
+ *
48999
+ * Attach event handler `fnFunction` to the 'createActivate' event of this binding.
49000
+ */
49001
+ attachCreateActivate(
49002
+ /**
49003
+ * The function to call when the event occurs
49004
+ */
49005
+ fnFunction: Function,
49006
+ /**
49007
+ * Object on which to call the given function
49008
+ */
49009
+ oListener?: object
49010
+ ): void;
47937
49011
  /**
47938
49012
  * @SINCE 1.66.0
47939
49013
  *
@@ -48040,9 +49114,9 @@ declare namespace sap {
48040
49114
  * For creating the new entity, the binding's update group ID is used, see {@link #getUpdateGroupId}.
48041
49115
  *
48042
49116
  * You can call {@link sap.ui.model.odata.v4.Context#delete} to delete the created context again. As long
48043
- * as the context is transient (see {@link sap.ui.model.odata.v4.Context#isTransient}), {@link #resetChanges}
48044
- * and a call to {@link sap.ui.model.odata.v4.ODataModel#resetChanges} with the update group ID as parameter
48045
- * also delete the created context together with other changes.
49117
+ * as the context is {@link sap.ui.model.odata.v4.Context#isTransient transient} and {@link sap.ui.model.odata.v4.Context#isInactive
49118
+ * active}, {@link #resetChanges} and a call to {@link sap.ui.model.odata.v4.ODataModel#resetChanges} with
49119
+ * the update group ID as parameter also delete the created context together with other changes.
48046
49120
  *
48047
49121
  * If the creation of the entity on the server failed, the creation is repeated automatically. If the binding's
48048
49122
  * update group ID has {@link sap.ui.model.odata.v4.SubmitMode.API}, it is repeated with the next call of
@@ -48088,14 +49162,19 @@ declare namespace sap {
48088
49162
  */
48089
49163
  bSkipRefresh?: boolean,
48090
49164
  /**
48091
- * Whether the entity is inserted at the end of the list. When creating multiple entities, this parameter
48092
- * must have the same value for each entity. Supported since 1.66.0
49165
+ * Whether the entity is inserted at the end of the list. Supported since 1.66.0. Since 1.99.0 the first
49166
+ * insertion determines the overall position of created contexts within the binding's context list. Every
49167
+ * succeeding insertion is relative to the created contexts within this list.
48093
49168
  */
48094
49169
  bAtEnd?: boolean,
48095
49170
  /**
48096
49171
  * Create an inactive context. Such a context will only be sent to the server after the first property update.
48097
49172
  * From then on it behaves like any other created context. This parameter is experimental and its implementation
48098
- * may still change. Do not use it in productive code yet. Supported since 1.97.0
49173
+ * may still change. Do not use it in productive code yet. Supported since 1.97.0 Since 1.98.0, when
49174
+ * the first property updates happens, the context is no longer {@link sap.ui.model.odata.v4.Context#isInactive
49175
+ * inactive} and the {@link sap.ui.model.odata.v4.ODataListBinding#event:createActivate createActivate}
49176
+ * event is fired. While inactive, it does not count as a {@link #hasPendingChanges pending change} and
49177
+ * does not contribute to the {@link #getCount count}.
48099
49178
  */
48100
49179
  bInactive?: boolean
48101
49180
  ): sap.ui.model.odata.v4.Context;
@@ -48107,6 +49186,21 @@ declare namespace sap {
48107
49186
  * sap.ui.model.Binding#destroy
48108
49187
  */
48109
49188
  destroy(): void;
49189
+ /**
49190
+ * @SINCE 1.98.0
49191
+ *
49192
+ * Detach event handler `fnFunction` from the 'createActivate' event of this binding.
49193
+ */
49194
+ detachCreateActivate(
49195
+ /**
49196
+ * The function to call when the event occurs
49197
+ */
49198
+ fnFunction: Function,
49199
+ /**
49200
+ * Object on which to call the given function
49201
+ */
49202
+ oListener?: object
49203
+ ): void;
48110
49204
  /**
48111
49205
  * @SINCE 1.66.0
48112
49206
  *
@@ -48211,6 +49305,17 @@ declare namespace sap {
48211
49305
  */
48212
49306
  sFilterType?: sap.ui.model.FilterType
48213
49307
  ): this;
49308
+ /**
49309
+ * @SINCE 1.98.0
49310
+ *
49311
+ * Returns all current contexts of this list binding in no special order. Just like {@link #getCurrentContexts},
49312
+ * this method does not request any data from a back end and does not change the binding's state. In contrast
49313
+ * to {@link #getCurrentContexts}, it does not only return those contexts that were last requested by a
49314
+ * control, but all contexts that are currently available in the binding, including kept-alive contexts.
49315
+ * To filter out kept-alive contexts that are not part of the list, you could check whether the index is
49316
+ * `undefined`, as described in {@link sap.ui.model.odata.v4.Context#getIndex}.
49317
+ */
49318
+ getAllCurrentContexts(): sap.ui.model.odata.v4.Context[];
48214
49319
  /**
48215
49320
  * @SINCE 1.37.0
48216
49321
  *
@@ -48248,7 +49353,8 @@ declare namespace sap {
48248
49353
  * Returns the count of elements.
48249
49354
  *
48250
49355
  * If known, the value represents the sum of the element count of the collection on the server and the number
48251
- * of transient entities created on the client. Otherwise, it is `undefined`. The value is a number of type
49356
+ * of {@link sap.ui.model.odata.v4.Context#isInactive active} {@link sap.ui.model.odata.v4.Context#isTransient
49357
+ * transient} entities created on the client. Otherwise, it is `undefined`. The value is a number of type
48252
49358
  * `Edm.Int64`. Since 1.91.0, in case of data aggregation with group levels, the count is the leaf count
48253
49359
  * on the server; it is only determined if the `$count` system query option is given.
48254
49360
  *
@@ -48317,6 +49423,30 @@ declare namespace sap {
48317
49423
  * #getCount
48318
49424
  */
48319
49425
  getHeaderContext(): sap.ui.model.odata.v4.Context;
49426
+ /**
49427
+ * @SINCE 1.99.0
49428
+ *
49429
+ * Calls {@link sap.ui.model.odata.v4.Context#setKeepAlive} at the context for the given path and returns
49430
+ * it. Since 1.100.0 the function always returns such a context. If none exists yet, it is created without
49431
+ * data and a request for its entity is sent.
49432
+ * See:
49433
+ * sap.ui.model.odata.v4.Model#getKeepAliveContext
49434
+ */
49435
+ getKeepAliveContext(
49436
+ /**
49437
+ * The path of the context to be kept alive
49438
+ */
49439
+ sPath: string,
49440
+ /**
49441
+ * Whether to request messages for the context's entity
49442
+ */
49443
+ bRequestMessages?: boolean,
49444
+ /**
49445
+ * The group ID used for read requests for the context's entity or its properties. If not given, the binding's
49446
+ * {@link #getGroupId group ID} is used. Supported since 1.100.0
49447
+ */
49448
+ sGroupId?: string
49449
+ ): sap.ui.model.odata.v4.Context | undefined;
48320
49450
  /**
48321
49451
  * @SINCE 1.37.0
48322
49452
  *
@@ -48346,7 +49476,8 @@ declare namespace sap {
48346
49476
  getRootBinding():
48347
49477
  | sap.ui.model.odata.v4.ODataContextBinding
48348
49478
  | sap.ui.model.odata.v4.ODataListBinding
48349
- | sap.ui.model.odata.v4.ODataPropertyBinding;
49479
+ | sap.ui.model.odata.v4.ODataPropertyBinding
49480
+ | undefined;
48350
49481
  /**
48351
49482
  * @SINCE 1.81.0
48352
49483
  *
@@ -48363,7 +49494,8 @@ declare namespace sap {
48363
49494
  * Returns `true` if this binding or its dependent bindings have pending property changes or created entities
48364
49495
  * which have not been sent successfully to the server. This function does not take into account the deletion
48365
49496
  * of entities (see {@link sap.ui.model.odata.v4.Context#delete}) and the execution of OData operations
48366
- * (see {@link sap.ui.model.odata.v4.ODataContextBinding#execute}).
49497
+ * (see {@link sap.ui.model.odata.v4.ODataContextBinding#execute}). Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isInactive
49498
+ * inactive} contexts are ignored.
48367
49499
  *
48368
49500
  * Note: If this binding is relative, its data is cached separately for each parent context path. This method
48369
49501
  * returns `true` if there are pending changes for the current parent context path of this binding. If this
@@ -48372,9 +49504,12 @@ declare namespace sap {
48372
49504
  hasPendingChanges(
48373
49505
  /**
48374
49506
  * Whether to ignore changes which will not be lost by APIs like {@link sap.ui.model.odata.v4.ODataListBinding#changeParameters
48375
- * changeParameters}, {@link sap.ui.model.odata.v4.ODataListBinding#filter filter}, {@link sap.ui.model.odata.v4.ODataListBinding#sort
48376
- * sort}, or {@link sap.ui.model.odata.v4.ODataListBinding#suspend suspend} because they relate to a {@link
48377
- * sap.ui.model.odata.v4.Context#setKeepAlive kept-alive} context of this binding.
49507
+ * changeParameters}, {@link sap.ui.model.odata.v4.ODataListBinding#filter filter}, {@link sap.ui.model.odata.v4.ODataListBinding#refresh
49508
+ * refresh} (since 1.100.0), {@link sap.ui.model.odata.v4.ODataListBinding#sort sort}, or {@link sap.ui.model.odata.v4.ODataListBinding#suspend
49509
+ * suspend} because they relate to a {@link sap.ui.model.odata.v4.Context#setKeepAlive kept-alive} context
49510
+ * of this binding (since 1.97.0). Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isTransient transient}
49511
+ * contexts of a {@link #getRootBinding root binding} are treated as kept-alive by this flag. Since 1.99.0,
49512
+ * the same happens for bindings using the `$$ownRequest` parameter (see {@link sap.ui.model.odata.v4.ODataModel#bindList}).
48378
49513
  */
48379
49514
  bIgnoreKeptAlive?: boolean
48380
49515
  ): boolean;
@@ -48388,6 +49523,13 @@ declare namespace sap {
48388
49523
  * #getRootBinding
48389
49524
  */
48390
49525
  initialize(): void;
49526
+ /**
49527
+ * @SINCE 1.99.0
49528
+ *
49529
+ * Returns whether the overall position of created entries is at the end of the list; this is determined
49530
+ * by the first call to {@link #create}.
49531
+ */
49532
+ isFirstCreateAtEnd(): boolean | undefined;
48391
49533
  /**
48392
49534
  * @SINCE 1.37.0
48393
49535
  *
@@ -48415,10 +49557,10 @@ declare namespace sap {
48415
49557
  * determines the binding's data; it is **independent** of the order of calls to {@link sap.ui.model.odata.v4.ODataModel#submitBatch}
48416
49558
  * with the given group ID.
48417
49559
  *
48418
- * If there are pending changes, an error is thrown. Use {@link #hasPendingChanges} to check if there are
48419
- * pending changes. If there are changes, call {@link sap.ui.model.odata.v4.ODataModel#submitBatch} to submit
48420
- * the changes or {@link sap.ui.model.odata.v4.ODataModel#resetChanges} to reset the changes before calling
48421
- * {@link #refresh}.
49560
+ * If there are pending changes that cannot be ignored, an error is thrown. Use {@link #hasPendingChanges}
49561
+ * to check if there are such pending changes. If there are, call {@link sap.ui.model.odata.v4.ODataModel#submitBatch}
49562
+ * to submit the changes or {@link sap.ui.model.odata.v4.ODataModel#resetChanges} to reset the changes before
49563
+ * calling {@link #refresh}.
48422
49564
  *
48423
49565
  * Use {@link #requestRefresh} if you want to wait for the refresh.
48424
49566
  * See:
@@ -48623,7 +49765,8 @@ declare namespace sap {
48623
49765
  * Suspends this binding. A suspended binding does not fire change events nor does it trigger data service
48624
49766
  * requests. Call {@link #resume} to resume the binding. Before 1.53.0, this method was not supported and
48625
49767
  * threw an error. Since 1.97.0, pending changes are ignored if they relate to a {@link sap.ui.model.odata.v4.Context#setKeepAlive
48626
- * kept-alive} context of this binding.
49768
+ * kept-alive} context of this binding. Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isTransient transient}
49769
+ * contexts of a {@link #getRootBinding root binding} do not count as pending changes.
48627
49770
  * See:
48628
49771
  * {@link topic:b0f5c531e5034a27952cc748954cbe39 Suspend and Resume}
48629
49772
  * sap.ui.model.Binding#suspend
@@ -48701,7 +49844,7 @@ declare namespace sap {
48701
49844
  */
48702
49845
  as?: string;
48703
49846
  }>
48704
- ): object;
49847
+ ): object | undefined;
48705
49848
  }
48706
49849
  /**
48707
49850
  * @SINCE 1.37.0
@@ -48869,7 +50012,7 @@ declare namespace sap {
48869
50012
  * See:
48870
50013
  * #requestData
48871
50014
  */
48872
- getData(): object;
50015
+ getData(): object | undefined;
48873
50016
  /**
48874
50017
  * @SINCE 1.51.0
48875
50018
  *
@@ -49447,7 +50590,7 @@ declare namespace sap {
49447
50590
  */
49448
50591
  synchronizationMode: string;
49449
50592
  /**
49450
- * The group ID that is used for update requests. If no update group ID is specified, ` mParameters.groupId`
50593
+ * The group ID that is used for update requests. If no update group ID is specified, `mParameters.groupId`
49451
50594
  * is used. Valid update group IDs are `undefined`, '$auto', '$direct' or an application group ID.
49452
50595
  */
49453
50596
  updateGroupId?: string;
@@ -49628,6 +50771,12 @@ declare namespace sap {
49628
50771
  * from its context's path for data service requests; only the value `true` is allowed.
49629
50772
  */
49630
50773
  $$canonicalPath?: boolean;
50774
+ /**
50775
+ * Whether this binding is considered for a match when {@link #getKeepAliveContext} is called; only the
50776
+ * value `true` is allowed. Must not be combined with `$apply`, `$$aggregation`, `$$canonicalPath`, or `$$sharedRequest`.
50777
+ * If the binding is relative, `$$ownRequest` must be set as well. Supported since 1.99.0
50778
+ */
50779
+ $$getKeepAliveContext?: boolean;
49631
50780
  /**
49632
50781
  * The group ID to be used for **read** requests triggered by this binding; if not specified, either the
49633
50782
  * parent binding's group ID (if the binding is relative) or the model's group ID is used, see {@link sap.ui.model.odata.v4.ODataModel#constructor}.
@@ -49885,6 +51034,54 @@ declare namespace sap {
49885
51034
  */
49886
51035
  bIncludeContextId?: boolean
49887
51036
  ): object;
51037
+ /**
51038
+ * @SINCE 1.99.0
51039
+ *
51040
+ * Returns a context with the given path belonging to a matching list binding that has been marked with
51041
+ * `$$getKeepAliveContext` (see {@link #bindList}). If such a matching binding can be found, a context is
51042
+ * returned and kept alive (see {@link sap.ui.model.odata.v4.ODataListBinding#getKeepAliveContext}). Since
51043
+ * 1.100.0 a temporary binding is used if no such binding could be found. If such a binding is created or
51044
+ * resolved later, the context and its data are transferred to it, and the temporary binding is destroyed
51045
+ * again.
51046
+ *
51047
+ * A `$$getKeepAliveContext` binding matches if its resolved binding path is the collection path of the
51048
+ * context. If the context is created using a temporary binding and the parameters of the `$$getKeepAliveContext`
51049
+ * binding differ from the given `mParameters` (except `$$groupId` which is especially used for the context),
51050
+ * that binding later runs into an error when trying to read data.
51051
+ *
51052
+ * **Note**: The context received by this function may change its {@link sap.ui.model.odata.v4.Context#getBinding
51053
+ * binding} during its lifetime.
51054
+ */
51055
+ getKeepAliveContext(
51056
+ /**
51057
+ * A list context path to an entity
51058
+ */
51059
+ sPath: string,
51060
+ /**
51061
+ * Whether to request messages for the context's entity
51062
+ */
51063
+ bRequestMessages?: boolean,
51064
+ /**
51065
+ * Parameters for the context or the temporary binding; supported since 1.100.0. All custom query options
51066
+ * and the following binding-specific parameters for a list binding may be given (see {@link #bindList}
51067
+ * for details).
51068
+ */
51069
+ mParameters?: {
51070
+ /**
51071
+ * The group ID used for read requests for the context's entity or its properties. If not given, the model's
51072
+ * {@link #getGroupId group ID} is used
51073
+ */
51074
+ $$groupId?: string;
51075
+ /**
51076
+ * Whether implicit loading of side effects via PATCH requests is switched off
51077
+ */
51078
+ $$patchWithoutSideEffects?: boolean;
51079
+ /**
51080
+ * The group ID to be used for **update** requests triggered by the context's binding
51081
+ */
51082
+ $$updateGroupId?: string;
51083
+ }
51084
+ ): sap.ui.model.odata.v4.Context | undefined;
49888
51085
  /**
49889
51086
  * @SINCE 1.85.0
49890
51087
  *
@@ -49945,7 +51142,8 @@ declare namespace sap {
49945
51142
  * @SINCE 1.39.0
49946
51143
  *
49947
51144
  * Returns `true` if there are pending changes, meaning updates or created entities (see {@link sap.ui.model.odata.v4.ODataListBinding#create})
49948
- * that have not yet been successfully sent to the server.
51145
+ * that have not yet been successfully sent to the server. Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isInactive
51146
+ * inactive} contexts are ignored.
49949
51147
  */
49950
51148
  hasPendingChanges(
49951
51149
  /**
@@ -50126,7 +51324,8 @@ declare namespace sap {
50126
51324
  getRootBinding():
50127
51325
  | sap.ui.model.odata.v4.ODataContextBinding
50128
51326
  | sap.ui.model.odata.v4.ODataListBinding
50129
- | sap.ui.model.odata.v4.ODataPropertyBinding;
51327
+ | sap.ui.model.odata.v4.ODataPropertyBinding
51328
+ | undefined;
50130
51329
  /**
50131
51330
  * @SINCE 1.81.0
50132
51331
  *
@@ -50157,7 +51356,8 @@ declare namespace sap {
50157
51356
  * Returns `true` if this binding or its dependent bindings have pending property changes or created entities
50158
51357
  * which have not been sent successfully to the server. This function does not take into account the deletion
50159
51358
  * of entities (see {@link sap.ui.model.odata.v4.Context#delete}) and the execution of OData operations
50160
- * (see {@link sap.ui.model.odata.v4.ODataContextBinding#execute}).
51359
+ * (see {@link sap.ui.model.odata.v4.ODataContextBinding#execute}). Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isInactive
51360
+ * inactive} contexts are ignored.
50161
51361
  *
50162
51362
  * Note: If this binding is relative, its data is cached separately for each parent context path. This method
50163
51363
  * returns `true` if there are pending changes for the current parent context path of this binding. If this
@@ -50166,9 +51366,12 @@ declare namespace sap {
50166
51366
  hasPendingChanges(
50167
51367
  /**
50168
51368
  * Whether to ignore changes which will not be lost by APIs like {@link sap.ui.model.odata.v4.ODataListBinding#changeParameters
50169
- * changeParameters}, {@link sap.ui.model.odata.v4.ODataListBinding#filter filter}, {@link sap.ui.model.odata.v4.ODataListBinding#sort
50170
- * sort}, or {@link sap.ui.model.odata.v4.ODataListBinding#suspend suspend} because they relate to a {@link
50171
- * sap.ui.model.odata.v4.Context#setKeepAlive kept-alive} context of this binding.
51369
+ * changeParameters}, {@link sap.ui.model.odata.v4.ODataListBinding#filter filter}, {@link sap.ui.model.odata.v4.ODataListBinding#refresh
51370
+ * refresh} (since 1.100.0), {@link sap.ui.model.odata.v4.ODataListBinding#sort sort}, or {@link sap.ui.model.odata.v4.ODataListBinding#suspend
51371
+ * suspend} because they relate to a {@link sap.ui.model.odata.v4.Context#setKeepAlive kept-alive} context
51372
+ * of this binding (since 1.97.0). Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isTransient transient}
51373
+ * contexts of a {@link #getRootBinding root binding} are treated as kept-alive by this flag. Since 1.99.0,
51374
+ * the same happens for bindings using the `$$ownRequest` parameter (see {@link sap.ui.model.odata.v4.ODataModel#bindList}).
50172
51375
  */
50173
51376
  bIgnoreKeptAlive?: boolean
50174
51377
  ): boolean;
@@ -50190,10 +51393,10 @@ declare namespace sap {
50190
51393
  * determines the binding's data; it is **independent** of the order of calls to {@link sap.ui.model.odata.v4.ODataModel#submitBatch}
50191
51394
  * with the given group ID.
50192
51395
  *
50193
- * If there are pending changes, an error is thrown. Use {@link #hasPendingChanges} to check if there are
50194
- * pending changes. If there are changes, call {@link sap.ui.model.odata.v4.ODataModel#submitBatch} to submit
50195
- * the changes or {@link sap.ui.model.odata.v4.ODataModel#resetChanges} to reset the changes before calling
50196
- * {@link #refresh}.
51396
+ * If there are pending changes that cannot be ignored, an error is thrown. Use {@link #hasPendingChanges}
51397
+ * to check if there are such pending changes. If there are, call {@link sap.ui.model.odata.v4.ODataModel#submitBatch}
51398
+ * to submit the changes or {@link sap.ui.model.odata.v4.ODataModel#resetChanges} to reset the changes before
51399
+ * calling {@link #refresh}.
50197
51400
  *
50198
51401
  * Use {@link #requestRefresh} if you want to wait for the refresh.
50199
51402
  * See:
@@ -53874,6 +55077,17 @@ declare namespace sap {
53874
55077
  */
53875
55078
  fnFilter: Function
53876
55079
  ): void;
55080
+ /**
55081
+ * Private method iterating the registered bindings of this model instance and initiating their check for
55082
+ * update
55083
+ */
55084
+ checkUpdate(
55085
+ bAsync: boolean,
55086
+ /**
55087
+ * an optional test function to filter the binding
55088
+ */
55089
+ fnFilter: Function
55090
+ ): void;
53877
55091
  /**
53878
55092
  * Inserts the user-defined custom data into the model.
53879
55093
  */
@@ -55293,7 +56507,7 @@ declare namespace sap {
55293
56507
  /**
55294
56508
  * Update the bound control even if no data has been changed
55295
56509
  */
55296
- bForceUpdate: boolean
56510
+ bForceUpdate?: boolean
55297
56511
  ): void;
55298
56512
  /**
55299
56513
  * Resumes the binding update. Change events will be fired again.
@@ -56058,6 +57272,13 @@ declare namespace sap {
56058
57272
  */
56059
57273
  bNewState?: boolean
56060
57274
  ): boolean;
57275
+ /**
57276
+ * @SINCE 1.98.0
57277
+ *
57278
+ * Returns an array of all model and control messages of all parts of the composite binding, regardless
57279
+ * of whether they are old or new.
57280
+ */
57281
+ getAllMessages(): sap.ui.core.Message[];
56061
57282
  /**
56062
57283
  * Returns the changes of the data state in a map that the control can use in the `refreshDataState` method.
56063
57284
  * The changed property's name is the key in the map. Each element in the map contains an object of below
@@ -56080,7 +57301,7 @@ declare namespace sap {
56080
57301
  }
56081
57302
  >;
56082
57303
  /**
56083
- * Returns the array of state messages of the control.
57304
+ * Returns the array of current state messages of the control.
56084
57305
  */
56085
57306
  getControlMessages(): sap.ui.core.Message[];
56086
57307
  /**
@@ -56099,11 +57320,11 @@ declare namespace sap {
56099
57320
  */
56100
57321
  getInvalidValue(): any;
56101
57322
  /**
56102
- * Returns the array of all state messages combining the model and control messages.
57323
+ * Returns the array of all current state messages combining the model and control messages.
56103
57324
  */
56104
57325
  getMessages(): sap.ui.core.Message[];
56105
57326
  /**
56106
- * Returns the array of state messages of the model or undefined.
57327
+ * Returns the array of current state messages of the model.
56107
57328
  */
56108
57329
  getModelMessages(): sap.ui.core.Message[];
56109
57330
  /**
@@ -56231,6 +57452,18 @@ declare namespace sap {
56231
57452
  */
56232
57453
  aCurrentValues?: any[]
56233
57454
  ): any[] | any;
57455
+ /**
57456
+ * @SINCE 1.100.0
57457
+ *
57458
+ * Processes the types of the parts of this composite type. A concrete composite type may override this
57459
+ * method if it needs to derive information from the types of the parts.
57460
+ */
57461
+ processPartTypes(
57462
+ /**
57463
+ * Types of the composite binding's parts
57464
+ */
57465
+ aPartTypes: sap.ui.model.SimpleType[]
57466
+ ): void;
56234
57467
  /**
56235
57468
  * Validates whether the given raw values meet the defined constraints. This method does nothing if no constraints
56236
57469
  * are defined.
@@ -56472,6 +57705,12 @@ declare namespace sap {
56472
57705
  */
56473
57706
  bNewState?: boolean
56474
57707
  ): boolean;
57708
+ /**
57709
+ * @SINCE 1.98.0
57710
+ *
57711
+ * Returns an array of all model and control messages, regardless of whether they are old or new.
57712
+ */
57713
+ getAllMessages(): sap.ui.core.Message[];
56475
57714
  /**
56476
57715
  * Returns the changes of the data state in a map that the control can use in the `refreshDataState` method.
56477
57716
  * The changed property's name is the key in the map. Each element in the map contains an object with the
@@ -56480,7 +57719,7 @@ declare namespace sap {
56480
57719
  */
56481
57720
  getChanges(): object;
56482
57721
  /**
56483
- * Returns the array of state messages of the control.
57722
+ * Returns the array of this data state's current control messages.
56484
57723
  */
56485
57724
  getControlMessages(): sap.ui.core.Message[];
56486
57725
  /**
@@ -56490,12 +57729,12 @@ declare namespace sap {
56490
57729
  */
56491
57730
  getInvalidValue(): any;
56492
57731
  /**
56493
- * Returns the array of this data state's messages combining the model and control messages. The array is
56494
- * sorted descendingly by message severity.
57732
+ * Returns the array of this data state's current messages combining the model and control messages. The
57733
+ * array is sorted descendingly by message severity.
56495
57734
  */
56496
57735
  getMessages(): sap.ui.core.Message[];
56497
57736
  /**
56498
- * Returns the array of state messages of the model or undefined.
57737
+ * Returns the array of this data state's current model messages.
56499
57738
  */
56500
57739
  getModelMessages(): sap.ui.core.Message[];
56501
57740
  /**
@@ -57029,8 +58268,8 @@ declare namespace sap {
57029
58268
  *
57030
58269
  * Returns all current contexts of this list binding in no special order. Just like {@link #getCurrentContexts},
57031
58270
  * this method does not request any data from a back end and does not change the binding's state. In contrast
57032
- * to {@link #getCurrentContexts}, it does not only return the contexts as last requested by a control,
57033
- * but all that are currently available in the binding.
58271
+ * to {@link #getCurrentContexts}, it does not only return those contexts that were last requested by a
58272
+ * control, but all contexts that are currently available in the binding.
57034
58273
  */
57035
58274
  getAllCurrentContexts(): sap.ui.model.Context[];
57036
58275
  /**
@@ -57551,7 +58790,7 @@ declare namespace sap {
57551
58790
  * the server
57552
58791
  */
57553
58792
  bReload?: boolean
57554
- ): sap.ui.model.Context;
58793
+ ): sap.ui.model.Context | undefined;
57555
58794
  /**
57556
58795
  * Destroys the model and clears the model data.
57557
58796
  *
@@ -59351,9 +60590,8 @@ declare namespace sap {
59351
60590
  *
59352
60591
  * If this flag is set to `true`, the Safari browser runs in standalone fullscreen mode on iOS.
59353
60592
  *
59354
- * **Note:** This flag is only available if the Safari browser was detected. Furthermore, if this mode is
59355
- * detected, technically not a standard Safari is used. There might be slight differences in behavior and
59356
- * detection, e.g. the availability of {@link sap.ui.Device.browser.version}.
60593
+ * **Note:** This flag is only available if the Safari browser was detected. There might be slight differences
60594
+ * in behavior and detection, e.g. regarding the availability of {@link sap.ui.Device.browser.version}.
59357
60595
  */
59358
60596
  export const fullscreen: boolean;
59359
60597
 
@@ -59414,12 +60652,13 @@ declare namespace sap {
59414
60652
 
59415
60653
  /**
59416
60654
  * @SINCE 1.31.0
60655
+ * @deprecated (since 1.98)
59417
60656
  *
59418
60657
  * If this flag is set to `true`, the Safari browser runs in webview mode on iOS.
59419
60658
  *
59420
- * **Note:** This flag is only available if the Safari browser was detected. Furthermore, if this mode is
59421
- * detected, technically not a standard Safari is used. There might be slight differences in behavior and
59422
- * detection, e.g. the availability of {@link sap.ui.Device.browser.version}.
60659
+ * **Note:** Since iOS 11 it is no longer reliably possible to detect whether an application runs in `webview`.
60660
+ * The flag is `true` if the browser's user agent contains 'SAPFioriClient'. Applications using WKWebView
60661
+ * have the possibility to customize the user agent, and to explicitly add this information.
59423
60662
  */
59424
60663
  export const webview: boolean;
59425
60664
 
@@ -59800,11 +61039,6 @@ declare namespace sap {
59800
61039
  */
59801
61040
  export const android: boolean;
59802
61041
 
59803
- /**
59804
- * If this flag is set to `true`, a Blackberry operating system is used.
59805
- */
59806
- export const blackberry: boolean;
59807
-
59808
61042
  /**
59809
61043
  * If this flag is set to `true`, an iOS operating system is used.
59810
61044
  */
@@ -59832,14 +61066,14 @@ declare namespace sap {
59832
61066
  /**
59833
61067
  * The version of the operating system as `float`.
59834
61068
  *
59835
- * Might be `-1` if no version can be determined.
61069
+ * Might be `-1` if no version can reliably be determined.
59836
61070
  */
59837
61071
  export const version: float;
59838
61072
 
59839
61073
  /**
59840
61074
  * The version of the operating system as `string`.
59841
61075
  *
59842
- * Might be empty if no version can be determined.
61076
+ * Might be empty if no version can reliably be determined.
59843
61077
  */
59844
61078
  export const versionStr: string;
59845
61079
 
@@ -59848,11 +61082,6 @@ declare namespace sap {
59848
61082
  */
59849
61083
  export const windows: boolean;
59850
61084
 
59851
- /**
59852
- * If this flag is set to `true`, a Windows Phone operating system is used.
59853
- */
59854
- export const windows_phone: boolean;
59855
-
59856
61085
  /**
59857
61086
  * Enumeration containing the names of known operating systems.
59858
61087
  */
@@ -59864,13 +61093,6 @@ declare namespace sap {
59864
61093
  */
59865
61094
  export const ANDROID: undefined;
59866
61095
 
59867
- /**
59868
- * Blackberry operating system name.
59869
- * See:
59870
- * sap.ui.Device.os.name
59871
- */
59872
- export const BLACKBERRY: undefined;
59873
-
59874
61096
  /**
59875
61097
  * iOS operating system name.
59876
61098
  * See:
@@ -59898,13 +61120,6 @@ declare namespace sap {
59898
61120
  * sap.ui.Device.os.name
59899
61121
  */
59900
61122
  export const WINDOWS: undefined;
59901
-
59902
- /**
59903
- * Windows Phone operating system name.
59904
- * See:
59905
- * sap.ui.Device.os.name
59906
- */
59907
- export const WINDOWS_PHONE: undefined;
59908
61123
  }
59909
61124
  }
59910
61125
  /**
@@ -60164,6 +61379,22 @@ declare namespace sap {
60164
61379
  * If it is set to `true`, the Control Key modifier will be used
60165
61380
  */
60166
61381
  ctrlKey?: boolean | sap.ui.base.ManagedObject.PropertyBindingInfo;
61382
+
61383
+ /**
61384
+ * @SINCE 1.98
61385
+ *
61386
+ * Provide percent value for the X coordinate axis to calculate the position of the click event. The value
61387
+ * must be in the range [0 - 100]
61388
+ */
61389
+ xPercentage?: float | sap.ui.base.ManagedObject.PropertyBindingInfo;
61390
+
61391
+ /**
61392
+ * @SINCE 1.98
61393
+ *
61394
+ * Provide percent value for the Y coordinate axis to calculate the position of the click event. The value
61395
+ * must be in the range [0 - 100]
61396
+ */
61397
+ yPercentage?: float | sap.ui.base.ManagedObject.PropertyBindingInfo;
60167
61398
  }
60168
61399
 
60169
61400
  interface $ScrollSettings extends sap.ui.test.actions.$ActionSettings {
@@ -60714,6 +61945,24 @@ declare namespace sap {
60714
61945
  * If it is set to `true`, the Shift Key modifier will be used
60715
61946
  */
60716
61947
  getShiftKey(): boolean;
61948
+ /**
61949
+ * @SINCE 1.98
61950
+ *
61951
+ * Gets current value of property {@link #getXPercentage xPercentage}.
61952
+ *
61953
+ * Provide percent value for the X coordinate axis to calculate the position of the click event. The value
61954
+ * must be in the range [0 - 100]
61955
+ */
61956
+ getXPercentage(): float;
61957
+ /**
61958
+ * @SINCE 1.98
61959
+ *
61960
+ * Gets current value of property {@link #getYPercentage yPercentage}.
61961
+ *
61962
+ * Provide percent value for the Y coordinate axis to calculate the position of the click event. The value
61963
+ * must be in the range [0 - 100]
61964
+ */
61965
+ getYPercentage(): float;
60717
61966
  /**
60718
61967
  * @SINCE 1.97
60719
61968
  *
@@ -60759,6 +62008,38 @@ declare namespace sap {
60759
62008
  */
60760
62009
  bShiftKey: boolean
60761
62010
  ): this;
62011
+ /**
62012
+ * @SINCE 1.98
62013
+ *
62014
+ * Sets a new value for property {@link #getXPercentage xPercentage}.
62015
+ *
62016
+ * Provide percent value for the X coordinate axis to calculate the position of the click event. The value
62017
+ * must be in the range [0 - 100]
62018
+ *
62019
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
62020
+ */
62021
+ setXPercentage(
62022
+ /**
62023
+ * New value for property `xPercentage`
62024
+ */
62025
+ fXPercentage: float
62026
+ ): this;
62027
+ /**
62028
+ * @SINCE 1.98
62029
+ *
62030
+ * Sets a new value for property {@link #getYPercentage yPercentage}.
62031
+ *
62032
+ * Provide percent value for the Y coordinate axis to calculate the position of the click event. The value
62033
+ * must be in the range [0 - 100]
62034
+ *
62035
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
62036
+ */
62037
+ setYPercentage(
62038
+ /**
62039
+ * New value for property `yPercentage`
62040
+ */
62041
+ fYPercentage: float
62042
+ ): this;
60762
62043
  }
60763
62044
  /**
60764
62045
  * @SINCE 1.90
@@ -64053,7 +65334,7 @@ declare namespace sap {
64053
65334
  /**
64054
65335
  * the type of the target control(s)
64055
65336
  */
64056
- vControlType?: string,
65337
+ sControlType?: string,
64057
65338
  /**
64058
65339
  * if true, only popover and dialogs are searched for
64059
65340
  */
@@ -64319,9 +65600,9 @@ declare namespace sap {
64319
65600
  */
64320
65601
  sAggregationName: string,
64321
65602
  /**
64322
- * iNumber length to check against
65603
+ * length to check against
64323
65604
  */
64324
- int?: undefined
65605
+ iNumber: int
64325
65606
  ): this;
64326
65607
  /**
64327
65608
  * Adds a matcher to aggregation items checking for certain properties. At least one item must match the
@@ -64437,7 +65718,7 @@ declare namespace sap {
64437
65718
  /**
64438
65719
  * the type of the target control(s)
64439
65720
  */
64440
- vControlType: string
65721
+ sControlType: string
64441
65722
  ): this;
64442
65723
  /**
64443
65724
  * Defines whether target control is part of a popover or dialog (sets `searchOpenDialogs` property).
@@ -65214,12 +66495,16 @@ declare namespace sap {
65214
66495
 
65215
66496
  "sap/ui/core/format/DateFormat": undefined;
65216
66497
 
66498
+ "sap/ui/core/format/DateFormatTimezoneDisplay": undefined;
66499
+
65217
66500
  "sap/ui/core/format/FileSizeFormat": undefined;
65218
66501
 
65219
66502
  "sap/ui/core/format/ListFormat": undefined;
65220
66503
 
65221
66504
  "sap/ui/core/format/NumberFormat": undefined;
65222
66505
 
66506
+ "sap/ui/core/format/TimezoneUtil": undefined;
66507
+
65223
66508
  "sap/ui/core/Fragment": undefined;
65224
66509
 
65225
66510
  "sap/ui/core/History": undefined;
@@ -65296,6 +66581,8 @@ declare namespace sap {
65296
66581
 
65297
66582
  "sap/ui/core/Patcher": undefined;
65298
66583
 
66584
+ "sap/ui/core/Placeholder": undefined;
66585
+
65299
66586
  "sap/ui/core/Popup": undefined;
65300
66587
 
65301
66588
  "sap/ui/core/postmessage/Bus": undefined;
@@ -65602,6 +66889,8 @@ declare namespace sap {
65602
66889
 
65603
66890
  "sap/ui/model/odata/type/DateTimeOffset": undefined;
65604
66891
 
66892
+ "sap/ui/model/odata/type/DateTimeWithTimezone": undefined;
66893
+
65605
66894
  "sap/ui/model/odata/type/Decimal": undefined;
65606
66895
 
65607
66896
  "sap/ui/model/odata/type/Double": undefined;
@@ -65732,6 +67021,8 @@ declare namespace sap {
65732
67021
 
65733
67022
  "sap/ui/performance/trace/FESR": undefined;
65734
67023
 
67024
+ "sap/ui/performance/trace/FESRHelper": undefined;
67025
+
65735
67026
  "sap/ui/performance/trace/initTraces": undefined;
65736
67027
 
65737
67028
  "sap/ui/performance/trace/Interaction": undefined;
@@ -65752,6 +67043,10 @@ declare namespace sap {
65752
67043
 
65753
67044
  "sap/ui/test/actions/Scroll": undefined;
65754
67045
 
67046
+ "sap/ui/test/generic/GenericTestCollection": undefined;
67047
+
67048
+ "sap/ui/test/generic/Utils": undefined;
67049
+
65755
67050
  "sap/ui/test/gherkin/dataTableUtils": undefined;
65756
67051
 
65757
67052
  "sap/ui/test/gherkin/opa5TestHarness": undefined;