From 1d8feb3fcb202732e4f57298f992597ee7b488d6 Mon Sep 17 00:00:00 2001 From: Dista Reza <38344883+distareza@users.noreply.github.com> Date: Fri, 19 Jul 2024 11:19:41 +0800 Subject: [PATCH 01/19] Update step-4-quick-filter-for-the-worklist-85ec3a9.md Fixing example code to align with previous step --- .../step-4-quick-filter-for-the-worklist-85ec3a9.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/03_Get-Started/step-4-quick-filter-for-the-worklist-85ec3a9.md b/docs/03_Get-Started/step-4-quick-filter-for-the-worklist-85ec3a9.md index a4d74a02..586ffd1e 100644 --- a/docs/03_Get-Started/step-4-quick-filter-for-the-worklist-85ec3a9.md +++ b/docs/03_Get-Started/step-4-quick-filter-for-the-worklist-85ec3a9.md @@ -26,11 +26,12 @@ You can view and download all files in the Demo Kit at [Worklist App - Step 4](h ```xml - + + - + ``` From 5328b4f39aff30a5bc398277fd0e7fcc660cdb3d Mon Sep 17 00:00:00 2001 From: Katan Patel Date: Tue, 23 Jul 2024 20:09:22 +1000 Subject: [PATCH 02/19] Update enabling-stream-support-b236d32.md Current link to the CAP Documentation is broken. I have a updated with a proposed alternative --- docs/06_SAP_Fiori_Elements/enabling-stream-support-b236d32.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/06_SAP_Fiori_Elements/enabling-stream-support-b236d32.md b/docs/06_SAP_Fiori_Elements/enabling-stream-support-b236d32.md index eb716ed2..87610482 100644 --- a/docs/06_SAP_Fiori_Elements/enabling-stream-support-b236d32.md +++ b/docs/06_SAP_Fiori_Elements/enabling-stream-support-b236d32.md @@ -180,7 +180,7 @@ To restrict the file size, add the attribute `MaxLength` to the `Property`. `Max > ### Note: > The `odata.mediaEditLink` annotation is currently not supported. -For more information, see [https://cap.cloud.sap/docs/guides/media-data](https://cap.cloud.sap/docs/guides/media-data). +For more information, see [https://cap.cloud.sap/docs/guides/providing-services#annotating-media-elements](https://cap.cloud.sap/docs/guides/providing-services#annotating-media-elements). From fd7776434aad709bf934337d92ef1abb7d93482f Mon Sep 17 00:00:00 2001 From: ditaccms-bot Date: Thu, 25 Jul 2024 07:50:36 +0000 Subject: [PATCH 03/19] Update from SAP DITA CMS (squashed): commit 31f6c68678fd7c8c48975246a1c9be64a46889f2 Author: REDACTED Date: Fri Jul 5 13:13:50 2024 +0000 Update from SAP DITA CMS 2024-07-05 13:13:50 Project: dita-all/zio1718112153780 Project map: 2b9bcd51c53b4d89b885a3e850c7601e.ditamap Output: loioa82e269bbb584cfcbdbd3ae8765d8e7f Language: en-US Builddable map: 5cbe4e5b4a19479a92b1d32ff23b7b63.ditamap commit 6e819b7113b10f67c009daaf90a9a46afb3ab2f5 Author: REDACTED Date: Fri Jul 5 12:34:23 2024 +0000 Update from SAP DITA CMS 2024-07-05 12:34:23 Project: dita-all/zio1718112153780 Project map: 2b9bcd51c53b4d89b885a3e850c7601e.ditamap Output: loioa82e269bbb584cfcbdbd3ae8765d8e7f Language: en-US Builddable map: 5cbe4e5b4a19479a92b1d32ff23b7b63.ditamap commit d37c37c5058ebbdc87f5cb12edeab77eb87dca71 Author: REDACTED Date: Fri Jul 5 10:16:09 2024 +0000 Update from SAP DITA CMS 2024-07-05 10:16:09 Project: dita-all/zio1718112153780 Project map: 2b9bcd51c53b4d89b885a3e850c7601e.ditamap Output: loioa82e269bbb584cfcbdbd3ae8765d8e7f Language: en-US Builddable map: 5cbe4e5b4a19479a92b1d32ff23b7b63.ditamap ################################################## [Remaining squash message was removed before commit...] --- .../images/Image_Map_What_s_New_60070cb.png | Bin 3969 -> 4015 bytes .../what-s-new-in-sapui5-1-100-27dec1d.md | 2 + .../what-s-new-in-sapui5-1-101-7733b00.md | 2 + .../what-s-new-in-sapui5-1-102-f038c99.md | 2 + .../what-s-new-in-sapui5-1-103-0e98c76.md | 2 + .../what-s-new-in-sapui5-1-104-69e567c.md | 2 + .../what-s-new-in-sapui5-1-105-4d6c00e.md | 2 + .../what-s-new-in-sapui5-1-106-5b497b0.md | 2 + .../what-s-new-in-sapui5-1-107-d4ff916.md | 2 + .../what-s-new-in-sapui5-1-108-66e33f0.md | 2 + .../what-s-new-in-sapui5-1-109-3264bd2.md | 2 + .../what-s-new-in-sapui5-1-110-71a855c.md | 2 + .../what-s-new-in-sapui5-1-111-7a67837.md | 2 + .../what-s-new-in-sapui5-1-112-34afc69.md | 2 + .../what-s-new-in-sapui5-1-113-a9553fe.md | 2 + .../what-s-new-in-sapui5-1-114-890fce1.md | 2 + .../what-s-new-in-sapui5-1-115-409fde8.md | 2 + .../what-s-new-in-sapui5-1-116-ebd6f34.md | 2 + .../what-s-new-in-sapui5-1-117-029d3b4.md | 2 + .../what-s-new-in-sapui5-1-118-3eecbde.md | 2 + .../what-s-new-in-sapui5-1-119-0b1903a.md | 2 + .../what-s-new-in-sapui5-1-120-2359b63.md | 2 + .../what-s-new-in-sapui5-1-121-91a4a2f.md | 2 + .../what-s-new-in-sapui5-1-122-5d078da.md | 2 + .../what-s-new-in-sapui5-1-123-9d00ac7.md | 2 + .../what-s-new-in-sapui5-1-124-7f77c3f.md | 151 ++++ .../what-s-new-in-sapui5-1-125-9d87044.md | 77 -- .../what-s-new-in-sapui5-1-126-1d98116.md | 787 ++++++++++++++++++ .../what-s-new-in-sapui5-1-38-f218918.md | 2 + .../what-s-new-in-sapui5-1-40-fbab50e.md | 2 + .../what-s-new-in-sapui5-1-42-468b05d.md | 2 + .../what-s-new-in-sapui5-1-44-a0cb7a0.md | 2 + .../what-s-new-in-sapui5-1-46-6307539.md | 2 + .../what-s-new-in-sapui5-1-48-fa1efac.md | 2 + .../what-s-new-in-sapui5-1-50-759e9f3.md | 2 + .../what-s-new-in-sapui5-1-52-849e1b6.md | 2 + .../what-s-new-in-sapui5-1-54-c838330.md | 2 + .../what-s-new-in-sapui5-1-56-108b7fd.md | 2 + .../what-s-new-in-sapui5-1-58-7c927aa.md | 2 + .../what-s-new-in-sapui5-1-60-5a0e1f7.md | 2 + .../what-s-new-in-sapui5-1-61-d991552.md | 2 + .../what-s-new-in-sapui5-1-62-771f4d5.md | 2 + .../what-s-new-in-sapui5-1-63-e8d9da7.md | 2 + .../what-s-new-in-sapui5-1-64-0e30822.md | 2 + .../what-s-new-in-sapui5-1-65-0f5acfd.md | 2 + .../what-s-new-in-sapui5-1-66-c9896e9.md | 2 + .../what-s-new-in-sapui5-1-67-a6b1472.md | 2 + .../what-s-new-in-sapui5-1-68-f94bf93.md | 2 + .../what-s-new-in-sapui5-1-69-89a18bd.md | 2 + .../what-s-new-in-sapui5-1-70-f073d69.md | 2 + .../what-s-new-in-sapui5-1-71-a93a6a3.md | 2 + .../what-s-new-in-sapui5-1-72-521cad9.md | 2 + .../what-s-new-in-sapui5-1-73-231dd13.md | 2 + .../what-s-new-in-sapui5-1-74-c22208a.md | 2 + .../what-s-new-in-sapui5-1-75-5cbb62d.md | 2 + .../what-s-new-in-sapui5-1-76-aad03b5.md | 2 + .../what-s-new-in-sapui5-1-77-c46b439.md | 2 + .../what-s-new-in-sapui5-1-78-f09b63e.md | 2 + .../what-s-new-in-sapui5-1-79-99c4cdc.md | 2 + .../what-s-new-in-sapui5-1-80-8cee506.md | 2 + .../what-s-new-in-sapui5-1-81-f5e2a21.md | 2 + .../what-s-new-in-sapui5-1-82-3a8dd13.md | 2 + .../what-s-new-in-sapui5-1-84-dc76640.md | 2 + .../what-s-new-in-sapui5-1-85-1d18eb5.md | 2 + .../what-s-new-in-sapui5-1-86-4c1c959.md | 2 + .../what-s-new-in-sapui5-1-87-b506da7.md | 2 + .../what-s-new-in-sapui5-1-88-e15a206.md | 2 + .../what-s-new-in-sapui5-1-89-e56cddc.md | 2 + .../what-s-new-in-sapui5-1-90-91c10c2.md | 2 + .../what-s-new-in-sapui5-1-91-0a2bd79.md | 2 + .../what-s-new-in-sapui5-1-92-1ef345d.md | 2 + .../what-s-new-in-sapui5-1-93-f273340.md | 2 + .../what-s-new-in-sapui5-1-94-c40f1e6.md | 2 + .../what-s-new-in-sapui5-1-95-a1aea67.md | 2 + .../what-s-new-in-sapui5-1-96-7a9269f.md | 2 + .../what-s-new-in-sapui5-1-97-fa0e282.md | 2 + .../what-s-new-in-sapui5-1-98-d9f16f2.md | 2 + .../what-s-new-in-sapui5-1-99-4f35848.md | 2 + .../browser-and-platform-support-74b59ef.md | 2 +- .../ecmascript-support-0cb44d7.md | 2 +- docs/02_Read-Me-First/upgrading-9638e4f.md | 3 - .../best-practices-for-developers-28fcd55.md | 17 +- .../data-binding-tutorial-e531093.md | 2 +- .../images/Tutorial_Data_Binding_896048e.png | Bin 62253 -> 111804 bytes .../step-1-browser-developer-tools-eadd60a.md | 9 +- .../step-1-no-data-binding-4cde849.md | 6 +- docs/03_Get-Started/step-1-ready-851bde4.md | 4 - ...rty-formatting-using-data-types-9252ee4.md | 4 +- ...est-suite-and-automated-testing-07c97a2.md | 2 +- ...ion-using-sap-ui-core-messaging-b8c4e53.md | 4 +- ...egation-binding-using-templates-97830de.md | 4 +- .../step-13-element-binding-6c7c5c2.md | 4 +- .../step-14-expression-binding-5cff8d1.md | 4 +- ...inding-using-a-factory-function-284a036.md | 4 +- .../step-2-bootstrap-typescript-32b14d8.md | 2 +- .../step-2-creating-a-model-5278bfd.md | 7 +- .../step-25-remote-odata-service-4406244.md | 2 +- ...server-configuration-typescript-3e1c64f.md | 6 +- .../step-3-create-property-binding-d70e989.md | 7 +- .../step-4-two-way-data-binding-c72b922.md | 4 +- .../step-5-one-way-data-binding-88756c0.md | 4 +- .../step-6-a-first-opa-test-1b47457.md | 150 ++-- .../step-6-resource-models-9790d9a.md | 4 +- ...-bundles-and-multiple-languages-4e593b4.md | 4 +- ...ierarchically-structured-models-9373793.md | 4 +- .../step-9-formatting-values-6fdf0ac.md | 16 +- ...walkthrough-tutorial-javascript-3da5f4b.md | 2 +- ...ootstrapping-sapui5-flexibility-642dab2.md | 20 +- ...nges-compared-to-odata-v2-model-abd4d7c.md | 2 +- ...ta-types-for-spreadsheet-export-283217d.md | 4 +- ...ies-to-libraries-and-components-8521ad1.md | 2 +- ...nts-and-libraries-manifest-json-be0cf40.md | 21 +- docs/04_Essentials/document-export-d4ff3b9.md | 10 + ...nitialization-and-read-requests-fccfb2e.md | 6 +- .../04_Essentials/layering-concept-9e63057.md | 24 +- docs/04_Essentials/pdf-export-f861f7f.md | 89 ++ ...-messages-in-the-odata-v4-model-fbe1cb5.md | 2 + .../spreadsheet-export-2691788.md | 19 +- ...preadsheet-export-configuration-7e12e6b.md | 19 +- ...spreadsheet-export-restrictions-2c64148.md | 13 +- ...readsheet-export-type-features-e7f52f4.md} | 6 +- ...g-from-content-delivery-network-2d3eb2f.md | 2 +- .../former-environments-d3f5ad2.md | 2 +- .../frame-options-62d9c4d.md | 10 +- ...a-to-the-sapui5-abap-repository-a883327.md | 2 + ...e-dialog-box-object-page-header-1fd8e52.md | 2 +- ...ct-page-with-nested-smart-table-b95adf3.md | 8 +- ...ox-using-extensions-list-report-25885b6.md | 2 +- .../adapting-the-filter-bar-609c39a.md | 26 +- ...nted-buttons-to-a-table-toolbar-5532c89.md | 4 +- ...ations-sort-order-filter-values-49a6ba5.md | 2 +- .../configuring-filter-bars-4bd7590.md | 2 +- ...only-view-as-the-default-option-8e6e885.md | 2 +- ...ring-the-content-of-quick-views-c245ad7.md | 2 +- ...external-applications-to-tables-f6a8fd2.md | 5 +- .../defining-and-adapting-sections-facfea0.md | 8 +- ...eport-table-multiple-table-mode-37aeed7.md | 7 +- ...-report-table-single-table-mode-0d390fe.md | 7 +- ...-entity-sets-and-table-settings-b6b59e4.md | 43 +- ...rent-representations-of-a-field-c18ada4.md | 106 ++- ...bling-the-editing-status-filter-8eb695a.md | 3 - ...diting-using-a-dialog-mass-edit-965ef5b.md | 91 +- ...mpty-row-mode-for-table-entries-cfb04f0.md | 21 + ...tic-operators-in-the-filter-bar-fef65d0.md | 91 +- ...gation-to-different-detail-page-75002b3.md | 7 +- ...-of-the-preferredmode-parameter-bfaf3cc.md | 20 +- .../images/Masked_Input_Field_6a86d90.png | Bin 0 -> 18401 bytes ...port_Table_-_Single_Table_Mode_975a002.png | Bin 0 -> 238730 bytes ...e_Views_on_a_List_Report_Table_ec09b05.png | Bin 118810 -> 0 bytes .../key-value-facet-c312735.md | 2 +- .../list-report-elements-1cf5c7f.md | 2 +- ...ior-based-on-the-chosen-variant-9f4e119.md | 136 --- ...itial-launch-of-the-application-9f4e119.md | 113 +++ .../managing-variants-8ce658e.md | 2 +- ...ple-views-on-list-report-tables-a37df40.md | 2 +- ...from-an-app-outbound-navigation-d782acf.md | 12 +- ...ity-sets-in-sap-keep-alive-mode-3c65f2c.md | 2 +- .../sap-fiori-elements-feature-map-62d3f7c.md | 2 +- .../security-configuration-ba0484b.md | 2 +- ...ide-effect-annotations-examples-61cf21d.md | 33 +- docs/06_SAP_Fiori_Elements/tables-c0f6592.md | 4 + .../the-field-building-block-5260b9c.md | 15 + .../tree-tables-7cf7a31.md | 64 +- ...al-parameters-from-the-back-end-8e3b6be.md | 2 +- .../using-the-export-feature-4bab6f2.md | 2 +- ...-input-field-on-the-object-page-04ff5b1.md | 15 +- .../smart-field-4864403.md | 30 +- .../smart-filter-bar-7bcdffc.md | 26 + .../smart-table-bed8274.md | 31 +- ...ables-which-one-should-i-choose-148892f.md | 27 + docs/index.md | 17 +- ...i-development-toolkit-for-html5-95d113b.md | 2 +- 172 files changed, 2135 insertions(+), 566 deletions(-) create mode 100644 docs/01_Whats-New/what-s-new-in-sapui5-1-126-1d98116.md create mode 100644 docs/04_Essentials/document-export-d4ff3b9.md create mode 100644 docs/04_Essentials/pdf-export-f861f7f.md rename docs/04_Essentials/{export-features-e7f52f4.md => spreadsheet-export-type-features-e7f52f4.md} (96%) create mode 100644 docs/06_SAP_Fiori_Elements/images/Masked_Input_Field_6a86d90.png create mode 100644 docs/06_SAP_Fiori_Elements/images/Multiple_Views_on_a_List_Report_Table_-_Single_Table_Mode_975a002.png delete mode 100644 docs/06_SAP_Fiori_Elements/images/Multiple_Views_on_a_List_Report_Table_ec09b05.png delete mode 100644 docs/06_SAP_Fiori_Elements/loading-behavior-based-on-the-chosen-variant-9f4e119.md create mode 100644 docs/06_SAP_Fiori_Elements/loading-behavior-of-data-on-initial-launch-of-the-application-9f4e119.md diff --git a/docs/01_Whats-New/images/Image_Map_What_s_New_60070cb.png b/docs/01_Whats-New/images/Image_Map_What_s_New_60070cb.png index 2c06a6244f9cc4602ba61e549d042f75e174438d..9efbd978aacf19536d872e2f5193bb75ce6bb9c2 100644 GIT binary patch literal 4015 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 S-M!hDYXe;qotj(7Xa5G`^SWOE literal 3969 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

E(^D|oYn643tNGn3E92AVDg}fvHThhv UP23ZAf1Qv^`lc62x|pbc1Lo_Y<^TWy diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-100-27dec1d.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-100-27dec1d.md index 588774d8..7415b898 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-100-27dec1d.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-100-27dec1d.md @@ -553,6 +553,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-101-7733b00.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-101-7733b00.md index 5ec5cdd3..81bd7029 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-101-7733b00.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-101-7733b00.md @@ -773,6 +773,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-102-f038c99.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-102-f038c99.md index 983b0258..7a6752e2 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-102-f038c99.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-102-f038c99.md @@ -1001,6 +1001,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-103-0e98c76.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-103-0e98c76.md index a059e40a..5f84afc5 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-103-0e98c76.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-103-0e98c76.md @@ -483,6 +483,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-104-69e567c.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-104-69e567c.md index e87b8c07..0a01f869 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-104-69e567c.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-104-69e567c.md @@ -326,6 +326,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-105-4d6c00e.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-105-4d6c00e.md index ac522ded..d0cbb5e4 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-105-4d6c00e.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-105-4d6c00e.md @@ -691,6 +691,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-106-5b497b0.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-106-5b497b0.md index e1099e3c..7e81bb2c 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-106-5b497b0.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-106-5b497b0.md @@ -657,6 +657,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-107-d4ff916.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-107-d4ff916.md index b3d4447b..b5d1a7e0 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-107-d4ff916.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-107-d4ff916.md @@ -577,6 +577,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-108-66e33f0.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-108-66e33f0.md index fc00bcfe..62fc1a93 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-108-66e33f0.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-108-66e33f0.md @@ -733,6 +733,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-109-3264bd2.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-109-3264bd2.md index 9cb77f9e..89352a6b 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-109-3264bd2.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-109-3264bd2.md @@ -669,6 +669,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-110-71a855c.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-110-71a855c.md index 42607fea..4dc91e55 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-110-71a855c.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-110-71a855c.md @@ -1030,6 +1030,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-111-7a67837.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-111-7a67837.md index 2e898498..625b1ba1 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-111-7a67837.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-111-7a67837.md @@ -775,6 +775,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-112-34afc69.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-112-34afc69.md index 0298a3bb..bff90719 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-112-34afc69.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-112-34afc69.md @@ -493,6 +493,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-113-a9553fe.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-113-a9553fe.md index e86e125d..6fafdf7c 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-113-a9553fe.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-113-a9553fe.md @@ -1169,6 +1169,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-114-890fce1.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-114-890fce1.md index 57b2bf20..b381a1f6 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-114-890fce1.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-114-890fce1.md @@ -524,6 +524,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-115-409fde8.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-115-409fde8.md index ab40ed97..ac1b3644 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-115-409fde8.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-115-409fde8.md @@ -713,6 +713,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-116-ebd6f34.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-116-ebd6f34.md index 754c5fe6..aad9d0b5 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-116-ebd6f34.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-116-ebd6f34.md @@ -701,6 +701,8 @@ Required **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-117-029d3b4.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-117-029d3b4.md index 0eae65c9..63c1ac4f 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-117-029d3b4.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-117-029d3b4.md @@ -1055,6 +1055,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-118-3eecbde.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-118-3eecbde.md index 910578d8..b9b7d451 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-118-3eecbde.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-118-3eecbde.md @@ -821,6 +821,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-119-0b1903a.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-119-0b1903a.md index 0ab724a9..1c30cf0d 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-119-0b1903a.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-119-0b1903a.md @@ -886,6 +886,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-120-2359b63.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-120-2359b63.md index fb50fd69..0bc485c3 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-120-2359b63.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-120-2359b63.md @@ -1395,6 +1395,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-121-91a4a2f.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-121-91a4a2f.md index dd66a21c..c8ff1cc2 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-121-91a4a2f.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-121-91a4a2f.md @@ -1937,6 +1937,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-122-5d078da.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-122-5d078da.md index 948a51cc..49ee5200 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-122-5d078da.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-122-5d078da.md @@ -824,6 +824,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.121](what-s-new-in-sapui5-1-121-91a4a2f.md "With this release SAPUI5 is upgraded from version 1.120 to 1.121.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-123-9d00ac7.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-123-9d00ac7.md index 4e615518..e77dfed9 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-123-9d00ac7.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-123-9d00ac7.md @@ -591,6 +591,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") [What's New in SAPUI5 1.121](what-s-new-in-sapui5-1-121-91a4a2f.md "With this release SAPUI5 is upgraded from version 1.120 to 1.121.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-124-7f77c3f.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-124-7f77c3f.md index ac6e54dd..4bbbfc15 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-124-7f77c3f.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-124-7f77c3f.md @@ -1024,3 +1024,154 @@ Info Only +**Related Information** + + +[What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") + +[What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") + +[What's New in SAPUI5 1.121](what-s-new-in-sapui5-1-121-91a4a2f.md "With this release SAPUI5 is upgraded from version 1.120 to 1.121.") + +[What's New in SAPUI5 1.120](what-s-new-in-sapui5-1-120-2359b63.md "With this release SAPUI5 is upgraded from version 1.119 to 1.120.") + +[What's New in SAPUI5 1.119](what-s-new-in-sapui5-1-119-0b1903a.md "With this release SAPUI5 is upgraded from version 1.118 to 1.119.") + +[What's New in SAPUI5 1.118](what-s-new-in-sapui5-1-118-3eecbde.md "With this release SAPUI5 is upgraded from version 1.117 to 1.118.") + +[What's New in SAPUI5 1.117](what-s-new-in-sapui5-1-117-029d3b4.md "With this release SAPUI5 is upgraded from version 1.116 to 1.117.") + +[What's New in SAPUI5 1.116](what-s-new-in-sapui5-1-116-ebd6f34.md "With this release SAPUI5 is upgraded from version 1.115 to 1.116.") + +[What's New in SAPUI5 1.115](what-s-new-in-sapui5-1-115-409fde8.md "With this release SAPUI5 is upgraded from version 1.114 to 1.115.") + +[What's New in SAPUI5 1.114](what-s-new-in-sapui5-1-114-890fce1.md "With this release SAPUI5 is upgraded from version 1.113 to 1.114.") + +[What's New in SAPUI5 1.113](what-s-new-in-sapui5-1-113-a9553fe.md "With this release SAPUI5 is upgraded from version 1.112 to 1.113.") + +[What's New in SAPUI5 1.112](what-s-new-in-sapui5-1-112-34afc69.md "With this release SAPUI5 is upgraded from version 1.111 to 1.112.") + +[What's New in SAPUI5 1.111](what-s-new-in-sapui5-1-111-7a67837.md "With this release SAPUI5 is upgraded from version 1.110 to 1.111.") + +[What's New in SAPUI5 1.110](what-s-new-in-sapui5-1-110-71a855c.md "With this release SAPUI5 is upgraded from version 1.109 to 1.110.") + +[What's New in SAPUI5 1.109](what-s-new-in-sapui5-1-109-3264bd2.md "With this release SAPUI5 is upgraded from version 1.108 to 1.109.") + +[What's New in SAPUI5 1.108](what-s-new-in-sapui5-1-108-66e33f0.md "With this release SAPUI5 is upgraded from version 1.107 to 1.108.") + +[What's New in SAPUI5 1.107](what-s-new-in-sapui5-1-107-d4ff916.md "With this release SAPUI5 is upgraded from version 1.106 to 1.107.") + +[What's New in SAPUI5 1.106](what-s-new-in-sapui5-1-106-5b497b0.md "With this release SAPUI5 is upgraded from version 1.105 to 1.106.") + +[What's New in SAPUI5 1.105](what-s-new-in-sapui5-1-105-4d6c00e.md "With this release SAPUI5 is upgraded from version 1.104 to 1.105.") + +[What's New in SAPUI5 1.104](what-s-new-in-sapui5-1-104-69e567c.md "With this release SAPUI5 is upgraded from version 1.103 to 1.104.") + +[What's New in SAPUI5 1.103](what-s-new-in-sapui5-1-103-0e98c76.md "With this release SAPUI5 is upgraded from version 1.102 to 1.103.") + +[What's New in SAPUI5 1.102](what-s-new-in-sapui5-1-102-f038c99.md "With this release SAPUI5 is upgraded from version 1.101 to 1.102.") + +[What's New in SAPUI5 1.101](what-s-new-in-sapui5-1-101-7733b00.md "With this release SAPUI5 is upgraded from version 1.100 to 1.101.") + +[What's New in SAPUI5 1.100](what-s-new-in-sapui5-1-100-27dec1d.md "With this release SAPUI5 is upgraded from version 1.99 to 1.100.") + +[What's New in SAPUI5 1.99](what-s-new-in-sapui5-1-99-4f35848.md "With this release SAPUI5 is upgraded from version 1.98 to 1.99.") + +[What's New in SAPUI5 1.98](what-s-new-in-sapui5-1-98-d9f16f2.md "With this release SAPUI5 is upgraded from version 1.97 to 1.98.") + +[What's New in SAPUI5 1.97](what-s-new-in-sapui5-1-97-fa0e282.md "With this release SAPUI5 is upgraded from version 1.96 to 1.97.") + +[What's New in SAPUI5 1.96](what-s-new-in-sapui5-1-96-7a9269f.md "With this release SAPUI5 is upgraded from version 1.95 to 1.96.") + +[What's New in SAPUI5 1.95](what-s-new-in-sapui5-1-95-a1aea67.md "With this release SAPUI5 is upgraded from version 1.94 to 1.95.") + +[What's New in SAPUI5 1.94](what-s-new-in-sapui5-1-94-c40f1e6.md "With this release SAPUI5 is upgraded from version 1.93 to 1.94.") + +[What's New in SAPUI5 1.93](what-s-new-in-sapui5-1-93-f273340.md "With this release SAPUI5 is upgraded from version 1.92 to 1.93.") + +[What's New in SAPUI5 1.92](what-s-new-in-sapui5-1-92-1ef345d.md "With this release SAPUI5 is upgraded from version 1.91 to 1.92.") + +[What's New in SAPUI5 1.91](what-s-new-in-sapui5-1-91-0a2bd79.md "With this release SAPUI5 is upgraded from version 1.90 to 1.91.") + +[What's New in SAPUI5 1.90](what-s-new-in-sapui5-1-90-91c10c2.md "With this release SAPUI5 is upgraded from version 1.89 to 1.90.") + +[What's New in SAPUI5 1.89](what-s-new-in-sapui5-1-89-e56cddc.md "With this release SAPUI5 is upgraded from version 1.88 to 1.89.") + +[What's New in SAPUI5 1.88](what-s-new-in-sapui5-1-88-e15a206.md "With this release SAPUI5 is upgraded from version 1.87 to 1.88.") + +[What's New in SAPUI5 1.87](what-s-new-in-sapui5-1-87-b506da7.md "With this release SAPUI5 is upgraded from version 1.86 to 1.87.") + +[What's New in SAPUI5 1.86](what-s-new-in-sapui5-1-86-4c1c959.md "With this release SAPUI5 is upgraded from version 1.85 to 1.86.") + +[What's New in SAPUI5 1.85](what-s-new-in-sapui5-1-85-1d18eb5.md "With this release SAPUI5 is upgraded from version 1.84 to 1.85.") + +[What's New in SAPUI5 1.84](what-s-new-in-sapui5-1-84-dc76640.md "With this release SAPUI5 is upgraded from version 1.82 to 1.84.") + +[What's New in SAPUI5 1.82](what-s-new-in-sapui5-1-82-3a8dd13.md "With this release SAPUI5 is upgraded from version 1.81 to 1.82.") + +[What's New in SAPUI5 1.81](what-s-new-in-sapui5-1-81-f5e2a21.md "With this release SAPUI5 is upgraded from version 1.80 to 1.81.") + +[What's New in SAPUI5 1.80](what-s-new-in-sapui5-1-80-8cee506.md "With this release SAPUI5 is upgraded from version 1.79 to 1.80.") + +[What's New in SAPUI5 1.79](what-s-new-in-sapui5-1-79-99c4cdc.md "With this release SAPUI5 is upgraded from version 1.78 to 1.79.") + +[What's New in SAPUI5 1.78](what-s-new-in-sapui5-1-78-f09b63e.md "With this release SAPUI5 is upgraded from version 1.77 to 1.78.") + +[What's New in SAPUI5 1.77](what-s-new-in-sapui5-1-77-c46b439.md "With this release SAPUI5 is upgraded from version 1.76 to 1.77.") + +[What's New in SAPUI5 1.76](what-s-new-in-sapui5-1-76-aad03b5.md "With this release SAPUI5 is upgraded from version 1.75 to 1.76.") + +[What's New in SAPUI5 1.75](what-s-new-in-sapui5-1-75-5cbb62d.md "With this release SAPUI5 is upgraded from version 1.74 to 1.75.") + +[What's New in SAPUI5 1.74](what-s-new-in-sapui5-1-74-c22208a.md "With this release SAPUI5 is upgraded from version 1.73 to 1.74.") + +[What's New in SAPUI5 1.73](what-s-new-in-sapui5-1-73-231dd13.md "With this release SAPUI5 is upgraded from version 1.72 to 1.73.") + +[What's New in SAPUI5 1.72](what-s-new-in-sapui5-1-72-521cad9.md "With this release SAPUI5 is upgraded from version 1.71 to 1.72.") + +[What's New in SAPUI5 1.71](what-s-new-in-sapui5-1-71-a93a6a3.md "With this release SAPUI5 is upgraded from version 1.70 to 1.71.") + +[What's New in SAPUI5 1.70](what-s-new-in-sapui5-1-70-f073d69.md "With this release SAPUI5 is upgraded from version 1.69 to 1.70.") + +[What's New in SAPUI5 1.69](what-s-new-in-sapui5-1-69-89a18bd.md "With this release SAPUI5 is upgraded from version 1.68 to 1.69.") + +[What's New in SAPUI5 1.68](what-s-new-in-sapui5-1-68-f94bf93.md "With this release SAPUI5 is upgraded from version 1.67 to 1.68.") + +[What's New in SAPUI5 1.67](what-s-new-in-sapui5-1-67-a6b1472.md "With this release SAPUI5 is upgraded from version 1.66 to 1.67.") + +[What's New in SAPUI5 1.66](what-s-new-in-sapui5-1-66-c9896e9.md "With this release SAPUI5 is upgraded from version 1.65 to 1.66.") + +[What's New in SAPUI5 1.65](what-s-new-in-sapui5-1-65-0f5acfd.md "With this release SAPUI5 is upgraded from version 1.64 to 1.65.") + +[What's New in SAPUI5 1.64](what-s-new-in-sapui5-1-64-0e30822.md "With this release SAPUI5 is upgraded from version 1.63 to 1.64.") + +[What's New in SAPUI5 1.63](what-s-new-in-sapui5-1-63-e8d9da7.md "With this release SAPUI5 is upgraded from version 1.62 to 1.63.") + +[What's New in SAPUI5 1.62](what-s-new-in-sapui5-1-62-771f4d5.md "With this release SAPUI5 is upgraded from version 1.61 to 1.62.") + +[What's New in SAPUI5 1.61](what-s-new-in-sapui5-1-61-d991552.md "With this release SAPUI5 is upgraded from version 1.60 to 1.61.") + +[What's New in SAPUI5 1.60](what-s-new-in-sapui5-1-60-5a0e1f7.md "With this release SAPUI5 is upgraded from version 1.58 to 1.60.") + +[What's New in SAPUI5 1.58](what-s-new-in-sapui5-1-58-7c927aa.md "With this release SAPUI5 is upgraded from version 1.56 to 1.58.") + +[What's New in SAPUI5 1.56](what-s-new-in-sapui5-1-56-108b7fd.md "With this release SAPUI5 is upgraded from version 1.54 to 1.56.") + +[What's New in SAPUI5 1.54](what-s-new-in-sapui5-1-54-c838330.md "With this release SAPUI5 is upgraded from version 1.52 to 1.54.") + +[What's New in SAPUI5 1.52](what-s-new-in-sapui5-1-52-849e1b6.md "With this release SAPUI5 is upgraded from version 1.50 to 1.52.") + +[What's New in SAPUI5 1.50](what-s-new-in-sapui5-1-50-759e9f3.md "With this release SAPUI5 is upgraded from version 1.48 to 1.50.") + +[What's New in SAPUI5 1.48](what-s-new-in-sapui5-1-48-fa1efac.md "With this release SAPUI5 is upgraded from version 1.46 to 1.48.") + +[What's New in SAPUI5 1.46](what-s-new-in-sapui5-1-46-6307539.md "With this release SAPUI5 is upgraded from version 1.44 to 1.46.") + +[What's New in SAPUI5 1.44](what-s-new-in-sapui5-1-44-a0cb7a0.md "With this release SAPUI5 is upgraded from version 1.42 to 1.44.") + +[What's New in SAPUI5 1.42](what-s-new-in-sapui5-1-42-468b05d.md "With this release SAPUI5 is upgraded from version 1.40 to 1.42.") + +[What's New in SAPUI5 1.40](what-s-new-in-sapui5-1-40-fbab50e.md "With this release SAPUI5 is upgraded from version 1.38 to 1.40.") + +[What's New in SAPUI5 1.38](what-s-new-in-sapui5-1-38-f218918.md "With this release SAPUI5 is upgraded from version 1.36 to 1.38.") + diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-125-9d87044.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-125-9d87044.md index 71d8bf04..bb1d6c95 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-125-9d87044.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-125-9d87044.md @@ -1,7 +1,5 @@ - - # What's New in SAPUI5 1.125 With this release SAPUI5 is upgraded from version 1.124 to 1.125. @@ -9,9 +7,6 @@ With this release SAPUI5 is upgraded from version 1.124 to 1.125. > ### Tip: > If you want to do a search across all versions of the What's New content, you can also find it in the [SAPUI5 What's New viewer](https://help.sap.com/whats-new/67f60363b57f4ac0b23efd17fa192d60). -> ### Note: -> Content marked as **[Preview](https://help.sap.com/docs/whats-new-disclaimer)** is provided as a courtesy, without a warranty, and may be subject to change. For more information, see the [preview disclaimer](https://help.sap.com/docs/whats-new-disclaimer). - **** @@ -56,78 +51,6 @@ Available as of -Upcoming - - - - -Deleted - - - - -Announcement - - - - -**End of Cloud Provisioning for SAPUI5 Versions \(Q2/2024\)** - - - - -**End of Cloud Provisioning for SAPUI5 Versions \(Q2/2024\)** - -> ### Note: -> The following information concerns important upcoming changes for end users. These changes may require end users to adjust and/or test cases to be adapted, but they won't stop or disrupt software or processes. - -The following SAPUI5 versions will be removed from the SAPUI5 Content Delivery Network \(CDN\) after the end of Q2/2024. - -**Minor Versions Reaching Their End of Cloud Provisioning** - -The following versions including all patches will be removed entirely: - -- 1.111 -- 1.112 -- 1.113 -- 1.115 - -**Action**: Upgrade to a version that is still in maintenance. - -**Patch Versions Reaching Their End of Cloud Provisioning** - -The following patches will be removed: - -- Long-term maintenance versions: - - - 1.38.60 to 1.38.61 - - 1.71.55 to 1.71.56 - - 1.84.32 to 1.84.34 - - 1.96.20 to 1.96.22 - - 1.108.11 to 1.108.18 - - **Action**: Upgrade to the latest available patch for the respective SAPUI5 version. - - -For more information, see [Version Overview](https://ui5.sap.com/versionoverview.html). - -**[Preview](https://help.sap.com/docs/whats-new-disclaimer)**•Deleted•Announcement•Info Only•Upcoming - - - - -Info Only - - - - -9999-01-01 - - - - - - 1.125 diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-126-1d98116.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-126-1d98116.md new file mode 100644 index 00000000..32372d70 --- /dev/null +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-126-1d98116.md @@ -0,0 +1,787 @@ + + + + +# What's New in SAPUI5 1.126 + +With this release SAPUI5 is upgraded from version 1.125 to 1.126. + +> ### Tip: +> If you want to do a search across all versions of the What's New content, you can also find it in the [SAPUI5 What's New viewer](https://help.sap.com/whats-new/67f60363b57f4ac0b23efd17fa192d60). + +> ### Note: +> Content marked as **[Preview](https://help.sap.com/docs/whats-new-disclaimer)** is provided as a courtesy, without a warranty, and may be subject to change. For more information, see the [preview disclaimer](https://help.sap.com/docs/whats-new-disclaimer). + +**** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +Version + + + +Type + + + +Category + + + +Title + + + +Description + + + +Action + + + +Available as of + +
+ +Upcoming + + + +Deleted + + + +Announcement + + + +**End of Cloud Provisioning for SAPUI5 Versions \(Q3/2024\)** + + + +**End of Cloud Provisioning for SAPUI5 Versions \(Q3/2024\)** + +> ### Note: +> The following information concerns important upcoming changes for end users. These changes may require end users to adjust and/or test cases to be adapted, but they won't stop or disrupt software or processes. + +The following SAPUI5 versions will be removed from the SAPUI5 Content Delivery Network \(CDN\) after the end of Q3/2024. + +**Minor Versions Reaching Their End of Cloud Provisioning** + +The following versions including all patches will be removed entirely: + +- 1.114 +- 1.115 +- 1.116 +- 1.117 +- 1.118 + +**Action**: Upgrade to a version that is still in maintenance. + +**Patch Versions Reaching Their End of Cloud Provisioning** + +The following patches will be removed: + +- Long-term maintenance versions: + + - 1.71.58 + - 1.84.35 to 1.84.36 + - 1.96.23 to 1.96.24 + - 1.108.19 to 1.108.22 + + **Action**: Upgrade to the latest available patch for the respective SAPUI5 version. + + +For more information, see [Version Overview](https://ui5.sap.com/versionoverview.html). + +**[Preview](https://help.sap.com/docs/whats-new-disclaimer)**•Deleted•Announcement•Info Only•Upcoming + + + +Info Only + + + +9999-01-01 + +
+ +1.126 + + + +Changed + + + +Control + + + +**`sap.ui.comp.navpopover.SmartLink`** + + + +**`sap.ui.comp.navpopover.SmartLink`** + +We have replaced the `navigationTargetsObtained` event with the `navigationTargetsObtainedCallback` property. For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.comp.navpopover.SmartLink%23methods/getNavigationTargetsObtainedCallback). + +Changed•Control•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +Feature + + + +**Document Export** + + + +**Document Export** + +We have restructured and improved the documentation for exporting data: We have renamed the former *Spreadsheet Export* to *Document Export* and included information about exporting files to PDF. + +For more information, see [Document Export](../04_Essentials/document-export-d4ff3b9.md), the [API Reference](https://ui5.sap.com/#/api/sap.ui.export.Spreadsheet) for the spreadsheet export, and the [API Reference](https://ui5.sap.com/#/api/sap.ui.export.ExportHandler%23overview) for the export handler. + +Changed•Feature•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +SAP Fiori Elements + + + +**SAP Fiori Elements for OData V2** + + + +**SAP Fiori Elements for OData V2** + +The following changes and new features are available for SAP Fiori elements for OData V2: + +- You can now include filter fields from navigation entities by configuring the `manifest.json` file. For more information, see [Adapting the Filter Bar](../06_SAP_Fiori_Elements/adapting-the-filter-bar-609c39a.md). + + +Changed•SAP Fiori Elements•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +SAP Fiori Elements + + + +**SAP Fiori Elements for OData V4** + + + +**SAP Fiori Elements for OData V4** + +The following changes and new features are available for SAP Fiori elements for OData V4: + +- In a tree table, you can now show newly created nodes at the position computed by the back end, for example by taking sorting into account. For more information, see [Tree Tables](../06_SAP_Fiori_Elements/tree-tables-7cf7a31.md). + +- You can now use buttons in the tree table toolbar to move a selected node before its previous sibling or after its next sibling. For more information, see [Tree Tables](../06_SAP_Fiori_Elements/tree-tables-7cf7a31.md). + +- We now support specifying which fields can be included or excluded from the Mass Edit dialog. For more information, see [Enabling Editing Using a Dialog \(Mass Edit\)](../06_SAP_Fiori_Elements/enabling-editing-using-a-dialog-mass-edit-965ef5b.md). + +- You can now specify the operation grouping mode for mass edit changes in the `manifest.json` file. For more information, see [Enabling Editing Using a Dialog \(Mass Edit\)](../06_SAP_Fiori_Elements/enabling-editing-using-a-dialog-mass-edit-965ef5b.md). + +- We now support a `manifest.json` file parameter to set the default creation mode in tables to `InlineCreationRows`. For more information, see [Enabling Inline Creation Mode or Empty Row Mode for Table Entries](../06_SAP_Fiori_Elements/enabling-inline-creation-mode-or-empty-row-mode-for-table-entries-cfb04f0.md). + +- You can now use semantic single date operators such as `"TODAY"` or `"TOMORROW"` as parameter values when using *FROM* or *TO* operations. For more information, see [Enabling Semantic Operators in the Filter Bar](../06_SAP_Fiori_Elements/enabling-semantic-operators-in-the-filter-bar-fef65d0.md). + +- We now support masked input fields that only accept values in a specified format. For more information, see [Different Representations of a Field](../06_SAP_Fiori_Elements/different-representations-of-a-field-c18ada4.md). + + +Changed•SAP Fiori Elements•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +Control + + + +**`sap.m.Avatar`** + + + +**`sap.m.Avatar`** + +- You can now add badges without requiring a press event. + +- When the `sap.m.Avatar` with a badge is in focus, the `badgeTooltip` is now announced by screen readers. + + +Changed•Control•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +Control + + + +**`sap.m.InputBase`** + + + +**`sap.m.InputBase`** + +We have exposed the `setPreferredUserInteraction` method to allow application developers to set the preferred interaction type for the input controls. For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.m.InputBase). + +Changed•Control•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +Control + + + +**`sap.m.RadioButton`** + + + +**`sap.m.RadioButton`** + +The control now supports wrapping. By default, the wrapping is disabled, and the label text is truncated without hyphenation. You can control its behavior using the new `wrapping` and `wrappingType` properties. For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.m.RadioButton) and the [Sample](https://ui5.sap.com/#/entity/sap.m.Carousel/sample/sap.m.sample.RadioButton). + +Changed•Control•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +Control + + + +**`sap.ui.integration.widgets.Card`** + + + +**`sap.ui.integration.widgets.Card`** + +- We have added a new `displayZeroValue` property to the \(experimental\) StackedBar micro chart. When set to `true` \(default\), each bar of the chart is displayed, even if its corresponding value is zero. For more information, see the [Card Micro Charts](https://ui5.sap.com/test-resources/sap/ui/integration/demokit/cardExplorer/webapp/index.html#/learn/features/microcharts) section and the [Sample](https://ui5.sap.com/test-resources/sap/ui/integration/demokit/cardExplorer/webapp/index.html#/explore/microCharts/stackedBarZeroValues) in the Card Explorer. + +- We have added a new `fitType` property to the icons in List and Table cards. Using the new property, you can now control how the image fits in the available icon space. For more information, see the [List Card Charts](https://ui5.sap.com/test-resources/sap/ui/integration/demokit/cardExplorer/webapp/index.html#/learn/typesDeclarative/list) and the [Table Card](https://ui5.sap.com/test-resources/sap/ui/integration/demokit/cardExplorer/webapp/index.html#/learn/typesDeclarative/table) sections in the Card Explorer. + +- We have \(experimentally\) enhanced the responsive behavior of the cards. For more information, see the [Sample](https://ui5.sap.com/test-resources/sap/ui/integration/demokit/cardExplorer/webapp/index.html#/explore/progressive) in the Card Explorer. + + +Changed•Control•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +Feature + + + +**SAPUI5 OData Models** + + + +**SAPUI5 OData Models** + +We have adapted the calculation of the `$top` and `$skip` query options for both the `sap.ui.model.odata.v2.ODataModel` and the `sap.ui.model.odata.v4.ODataModel` so that more data is requested when scrolling in a list. These requests now typically have a `$top` value that corresponds to the threshold parameter set for the `sap.ui.table.Table` control. + +For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.table.Table%23controlProperties). + +Changed•Feature•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +Feature + + + +**SAPUI5 OData V4 Model** + + + +**SAPUI5 OData V4 Model** + +The new version of the SAPUI5 OData V4 model introduces the following features: + +- When you use the experimental selection feature, a `selectionChanged` event is now raised by the `sap.ui.model.odata.v4.ODataListBinding` if the selection is either changed via `sap.ui.model.odata.v4.Context#setSelected` or by changing the value of the `@$ui5.context.isSelected` client-side annotation. + + For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.model.odata.v4.ODataListBinding%23events/selectionChanged). + +- We have provided the experimental `createInPlace` parameter for the `$$aggregation / sap.ui.model.odata.v4.ODataListBinding#setAggregation` binding parameter. When set, newly created nodes are shown in the back-end position and not in first position among their siblings. + + For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.model.odata.v4.ODataListBinding%23methods/setAggregation). + +- As an experimental feature, we now allow `OneWay` property bindings for structural properties that have a complex type. Certain restrictions apply. + + For more information, see [Property Binding With an Object Value](../04_Essentials/initialization-and-read-requests-fccfb2e.md#loiofccfb2eb41414f0792c165e69a878717__section_PBOV). + + +Changed•Feature•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +Control + + + +**`sap.ui.comp.smarttable.SmartTable`** + + + +**`sap.ui.comp.smarttable.SmartTable`** + +The smart table settings dialog now supports the `sap.m.DynamicDateRange` control for filtering. With the new `useDateRangeType` property, you can set the filter restriction interval to all date fields in the filter panel of the settings dialog. Once this setting is applied, they will be displayed as dynamic date range filters. For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.comp.smarttable.SmartTable) and the [Sample](https://ui5.sap.com/#/entity/sap.ui.comp.smarttable.SmartTable/sample/sap.ui.comp.sample.smarttable.mtableFilterControlConfiguration). + +Changed•Control•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Deprecated + + + +Feature + + + +**Deprecations** + + + +**Deprecations** + +There are currently no major deprecations. For a complete list of all deprecations, see [Deprecated APIs](https://ui5.sap.com/#/api/deprecated). + +Deprecated•Feature•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +Control + + + +**`sap.ui.mdc.Table`** + + + +**`sap.ui.mdc.Table`** + +We have now added keyboard support for reordering columns in this control. The reordering is done using drag and drop, which is why the keyboard support is offered via the aggregations of the drag and drop implementation. For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.core.dnd.DragDropBase%23methods/setKeyboardHandling). + +Changed•Control•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +Control + + + +**`sap.m.table.columnmenu.Menu`** + + + +**`sap.m.table.columnmenu.Menu`** + +We have adapted the entities of the `sap.m.table.columnmenu` class: The `IColumnHeaderMenu` interface is now no longer experimental and offers some new methods and events. We have also improved the documentation and provided a new sample with a custom column menu. For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.m.table.columnmenu.MenuBase) and the [Sample](https://ui5.sap.com/#/entity/sap.m.Table/sample/sap.m.sample.TableIColumnHeaderMenu). + +Changed•Control•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ +1.126 + + + +Changed + + + +Control + + + +**`sap.ui.comp.smartmultiinput.SmartMultiInput`** + + + +**`sap.ui.comp.smartmultiinput.SmartMultiInput`** + +We’ve now made `initialToken` a public aggregation of the `SmartMultiInput` control. A user can add any token of `sap.m.token` type by using the required information, such as a key and text. To use this feature, `SmartMultiInput` must be rendered in a no data binding scenario. It is only applicable when `SmartMultiInput` is rendered as a `MultiInput` with `ValueHelp`. For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.comp.smartmultiinput.SmartMultiInput). + +Changed•Control•Info Only•1.126 + + + +Info Only + + + +2024-07-11 + +
+ diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-38-f218918.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-38-f218918.md index 8f22a4fc..07d16529 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-38-f218918.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-38-f218918.md @@ -2192,6 +2192,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-40-fbab50e.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-40-fbab50e.md index fe17309e..701246c2 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-40-fbab50e.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-40-fbab50e.md @@ -1136,6 +1136,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-42-468b05d.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-42-468b05d.md index 2f33e308..95ec2736 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-42-468b05d.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-42-468b05d.md @@ -1602,6 +1602,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-44-a0cb7a0.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-44-a0cb7a0.md index 03690fca..f8f0c2a2 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-44-a0cb7a0.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-44-a0cb7a0.md @@ -1262,6 +1262,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-46-6307539.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-46-6307539.md index ddec2677..96d0b269 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-46-6307539.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-46-6307539.md @@ -1715,6 +1715,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-48-fa1efac.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-48-fa1efac.md index 6cf89dc0..782792bd 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-48-fa1efac.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-48-fa1efac.md @@ -1961,6 +1961,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-50-759e9f3.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-50-759e9f3.md index 94fee777..cbd55892 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-50-759e9f3.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-50-759e9f3.md @@ -1581,6 +1581,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-52-849e1b6.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-52-849e1b6.md index 7bd380c4..6b0a0016 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-52-849e1b6.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-52-849e1b6.md @@ -1942,6 +1942,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-54-c838330.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-54-c838330.md index 1374b4f5..afacd67f 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-54-c838330.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-54-c838330.md @@ -2151,6 +2151,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-56-108b7fd.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-56-108b7fd.md index 84eb6480..b9a98cc0 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-56-108b7fd.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-56-108b7fd.md @@ -1680,6 +1680,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-58-7c927aa.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-58-7c927aa.md index fc0916fc..9fe0fba5 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-58-7c927aa.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-58-7c927aa.md @@ -1762,6 +1762,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-60-5a0e1f7.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-60-5a0e1f7.md index 03e00643..c23fcbe2 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-60-5a0e1f7.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-60-5a0e1f7.md @@ -1584,6 +1584,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-61-d991552.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-61-d991552.md index 1f4093ed..7b1fbf06 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-61-d991552.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-61-d991552.md @@ -938,6 +938,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-62-771f4d5.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-62-771f4d5.md index e9de0936..110467bd 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-62-771f4d5.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-62-771f4d5.md @@ -868,6 +868,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-63-e8d9da7.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-63-e8d9da7.md index c179376f..2fdeaf23 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-63-e8d9da7.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-63-e8d9da7.md @@ -810,6 +810,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-64-0e30822.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-64-0e30822.md index 4daf2220..e84a28fe 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-64-0e30822.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-64-0e30822.md @@ -865,6 +865,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-65-0f5acfd.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-65-0f5acfd.md index aec90397..2b009bcf 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-65-0f5acfd.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-65-0f5acfd.md @@ -857,6 +857,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-66-c9896e9.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-66-c9896e9.md index 93de59ca..33623aeb 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-66-c9896e9.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-66-c9896e9.md @@ -723,6 +723,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-67-a6b1472.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-67-a6b1472.md index 38481116..6d89ff3d 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-67-a6b1472.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-67-a6b1472.md @@ -543,6 +543,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-68-f94bf93.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-68-f94bf93.md index 9ecae475..5e5ac0eb 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-68-f94bf93.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-68-f94bf93.md @@ -630,6 +630,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-69-89a18bd.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-69-89a18bd.md index d1647973..75a13dcd 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-69-89a18bd.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-69-89a18bd.md @@ -837,6 +837,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-70-f073d69.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-70-f073d69.md index 9b1917d3..f9fc253d 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-70-f073d69.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-70-f073d69.md @@ -651,6 +651,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-71-a93a6a3.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-71-a93a6a3.md index 5687f010..6eed05f9 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-71-a93a6a3.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-71-a93a6a3.md @@ -1042,6 +1042,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-72-521cad9.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-72-521cad9.md index 1e8cc896..d7228419 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-72-521cad9.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-72-521cad9.md @@ -1019,6 +1019,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-73-231dd13.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-73-231dd13.md index df53334e..1d7091e0 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-73-231dd13.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-73-231dd13.md @@ -1049,6 +1049,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-74-c22208a.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-74-c22208a.md index 7ed7e855..6ffc4e72 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-74-c22208a.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-74-c22208a.md @@ -1269,6 +1269,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-75-5cbb62d.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-75-5cbb62d.md index b49f7434..5b1353c2 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-75-5cbb62d.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-75-5cbb62d.md @@ -849,6 +849,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-76-aad03b5.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-76-aad03b5.md index 69a83bb6..08580327 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-76-aad03b5.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-76-aad03b5.md @@ -907,6 +907,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-77-c46b439.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-77-c46b439.md index 12ed6288..63083313 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-77-c46b439.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-77-c46b439.md @@ -893,6 +893,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-78-f09b63e.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-78-f09b63e.md index a683adff..a2e8c6bd 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-78-f09b63e.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-78-f09b63e.md @@ -707,6 +707,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-79-99c4cdc.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-79-99c4cdc.md index 79d332f0..0d1f270b 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-79-99c4cdc.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-79-99c4cdc.md @@ -572,6 +572,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-80-8cee506.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-80-8cee506.md index a45b4612..5e999f63 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-80-8cee506.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-80-8cee506.md @@ -504,6 +504,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-81-f5e2a21.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-81-f5e2a21.md index 29674335..a18888fb 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-81-f5e2a21.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-81-f5e2a21.md @@ -849,6 +849,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-82-3a8dd13.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-82-3a8dd13.md index cc9bcead..0220d1e0 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-82-3a8dd13.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-82-3a8dd13.md @@ -519,6 +519,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-84-dc76640.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-84-dc76640.md index d4da3ab3..4510fe34 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-84-dc76640.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-84-dc76640.md @@ -1117,6 +1117,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-85-1d18eb5.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-85-1d18eb5.md index d507e578..a123f440 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-85-1d18eb5.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-85-1d18eb5.md @@ -610,6 +610,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-86-4c1c959.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-86-4c1c959.md index 8928c778..c5affe59 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-86-4c1c959.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-86-4c1c959.md @@ -924,6 +924,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-87-b506da7.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-87-b506da7.md index 179a675b..34c923c9 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-87-b506da7.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-87-b506da7.md @@ -1056,6 +1056,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-88-e15a206.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-88-e15a206.md index 03febc5b..e1e68a23 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-88-e15a206.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-88-e15a206.md @@ -970,6 +970,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-89-e56cddc.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-89-e56cddc.md index 6bc87e0f..0bb10f8e 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-89-e56cddc.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-89-e56cddc.md @@ -688,6 +688,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-90-91c10c2.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-90-91c10c2.md index 53659264..cea7ba0c 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-90-91c10c2.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-90-91c10c2.md @@ -840,6 +840,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-91-0a2bd79.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-91-0a2bd79.md index 42c8c099..540bc78d 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-91-0a2bd79.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-91-0a2bd79.md @@ -493,6 +493,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-92-1ef345d.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-92-1ef345d.md index 3a62c31a..60908b7f 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-92-1ef345d.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-92-1ef345d.md @@ -633,6 +633,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-93-f273340.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-93-f273340.md index 9a62125c..b620d8fb 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-93-f273340.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-93-f273340.md @@ -766,6 +766,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-94-c40f1e6.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-94-c40f1e6.md index d85bc10b..f642a34e 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-94-c40f1e6.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-94-c40f1e6.md @@ -570,6 +570,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-95-a1aea67.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-95-a1aea67.md index f9f0a52e..0b154c6f 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-95-a1aea67.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-95-a1aea67.md @@ -480,6 +480,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-96-7a9269f.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-96-7a9269f.md index 0d4dc90e..8198fb97 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-96-7a9269f.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-96-7a9269f.md @@ -741,6 +741,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-97-fa0e282.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-97-fa0e282.md index 21846232..40c6d930 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-97-fa0e282.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-97-fa0e282.md @@ -792,6 +792,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-98-d9f16f2.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-98-d9f16f2.md index 82e47fcf..ec2822d0 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-98-d9f16f2.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-98-d9f16f2.md @@ -1074,6 +1074,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-99-4f35848.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-99-4f35848.md index 60e307b2..99bec799 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-99-4f35848.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-99-4f35848.md @@ -580,6 +580,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/02_Read-Me-First/browser-and-platform-support-74b59ef.md b/docs/02_Read-Me-First/browser-and-platform-support-74b59ef.md index a2170ac7..9c557fcb 100644 --- a/docs/02_Read-Me-First/browser-and-platform-support-74b59ef.md +++ b/docs/02_Read-Me-First/browser-and-platform-support-74b59ef.md @@ -9,7 +9,7 @@ Here you can find information on the browser and platform support for the SAPUI5 > > The following sections only contain additional information on restrictions and platform support information for specific SAPUI5 libraries in a summarized form. -As SAPUI5 is based on CSS3, HTML5, and modern ECMAScript \("ES2022"\), only browsers with corresponding capabilities are supported. In general, only major versions that are also supported by the respective platform can be supported by the SAPUI5 framework. +As SAPUI5 is based on CSS3, HTML5, and modern ECMAScript \("ES2023"\), only browsers with corresponding capabilities are supported. In general, only major versions that are also supported by the respective platform can be supported by the SAPUI5 framework. > ### Restriction: > With SAPUI5 1.116, the framework leverages features of modern ECMAScript up to and including [ECMAScript 2022 Language Specification](https://262.ecma-international.org/13.0/). Certain restrictions do apply, however. For more information, see [ECMAScript Support](ecmascript-support-0cb44d7.md). diff --git a/docs/02_Read-Me-First/ecmascript-support-0cb44d7.md b/docs/02_Read-Me-First/ecmascript-support-0cb44d7.md index 280cec1c..3525dc41 100644 --- a/docs/02_Read-Me-First/ecmascript-support-0cb44d7.md +++ b/docs/02_Read-Me-First/ecmascript-support-0cb44d7.md @@ -2,7 +2,7 @@ # ECMAScript Support -Since SAPUI5 1.116, the framework leverages features of modern ECMAScript, up to and including ES2022. You have to consider certain restrictions when using modern ECMAScript with your SAPUI5 project. +Since SAPUI5 1.125, the framework leverages features of modern ECMAScript, up to and including ES2023. You have to consider certain restrictions when using modern ECMAScript with your SAPUI5 project. > ### Caution: > The restrictions described here apply to the usage of modern ECMAScript features in projects that are written in native JavaScript. If your project is written in TypeScript, you only have to make sure that the listed constraints are met by the transpiled code. diff --git a/docs/02_Read-Me-First/upgrading-9638e4f.md b/docs/02_Read-Me-First/upgrading-9638e4f.md index f6955332..e2d15d72 100644 --- a/docs/02_Read-Me-First/upgrading-9638e4f.md +++ b/docs/02_Read-Me-First/upgrading-9638e4f.md @@ -10,10 +10,7 @@ Before upgrading to a newer SAPUI5 version, you must generally first ensure that - [Use Only Public APIs](../03_Get-Started/use-only-public-apis-b0d5fe2.md) - [Coding Issues to Avoid](../05_Developing_Apps/coding-issues-to-avoid-3877872.md) - [The Owner Component](../04_Essentials/the-owner-component-a7a3138.md) -- [Don't Use Deprecated or Experimental Features](../03_Get-Started/don-t-use-deprecated-or-experimental-features-a8bd1a8.md) - For SAPUI5 applications based on SAP Fiori elements: [Read Before Extending a Generated App](../06_SAP_Fiori_Elements/read-before-extending-a-generated-app-d9c146a.md) -See also related guidelines from [Best Practices for Developers](../03_Get-Started/best-practices-for-developers-28fcd55.md). - Afterwards, refer to the following version-specific sections that describe what else you have to consider: diff --git a/docs/03_Get-Started/best-practices-for-developers-28fcd55.md b/docs/03_Get-Started/best-practices-for-developers-28fcd55.md index eac9517e..e2dc0251 100644 --- a/docs/03_Get-Started/best-practices-for-developers-28fcd55.md +++ b/docs/03_Get-Started/best-practices-for-developers-28fcd55.md @@ -60,7 +60,9 @@ In general, **you must not use deprecated APIs** anymore, such as `sap.ui.getCor Also, see the relevant warnings and errors logged to the browser's dev console during runtime. You might need to increase the `sap-ui-log-level`; for more information, see [Logging and Tracing](../04_Essentials/logging-and-tracing-9f4d62c.md). -Some APIs may be only partially deprecated, for instance passing a non-object `vName` to [`sap.ui.core.theming.Parameters.get`](https://ui5.sap.com/#/api/sap.ui.core.theming.Parameters%23methods/sap.ui.core.theming.Parameters.get) . Refer to the API Reference for individual APIs. +Some APIs may be only partially deprecated, for instance passing a non-object `vName` to [`sap.ui.core.theming.Parameters.get`](https://ui5.sap.com/#/api/sap.ui.core.theming.Parameters%23methods/sap.ui.core.theming.Parameters.get). Refer to the API Reference for individual APIs. + +Using the native web API `XMLHttpRequest#open` with `false` as the third argument outside of workers is deprecated too, and browsers might end its support. Therefore, in addition to avoiding already deprecated SAPUI5 APIs, you must not call low-level APIs such as `jQuery.ajax` with a disabled `async` option either. **Additional Information:** @@ -71,6 +73,7 @@ Some APIs may be only partially deprecated, for instance passing a non-object `v - [Adapting to the Modularization of the Core](../04_Essentials/adapting-to-the-modularization-of-the-core-b8fdf0c.md) - [Deprecated jQuery.sap API Replacement](../04_Essentials/deprecated-jquery-sap-api-replacement-a075ed8.md) - [Deprecated Factories Replacement](../04_Essentials/deprecated-factories-replacement-491bd9c.md) +- [Synchronous `XMLHttpRequest`](https://xhr.spec.whatwg.org/#the-open()-method) @@ -202,7 +205,7 @@ In the following we'll focus on crucial aspects of app development, specifically When creating instances of SAPUI5 controls programmatically \(i.e. not declaratively via XML View or Fragment\), then: - Don't use the global name of a control. Require the corresponding module dependency instead. -- Use `createId` to ensure there are no ID collisions, e.g. `View.createId` to prefix the control's ID with the view ID. +- Use `createId` to ensure there are no ID collisions, e.g. [`sap.ui.core.mvc.View#createId`](https://ui5.sap.com/#/api/sap.ui.core.mvc.View%23methods/createId) to prefix the control's ID with the view ID. **Additional Information:** @@ -315,14 +318,14 @@ Take care of destroying programatically created models to prevent memory leaks. **OData V2 Model** -- [`v2.ODataModel#createEntry`](https://ui5.sap.com/#/api/sap.ui.model.odata.v2.ODataModel%23methods/createEntry) : Defining an array for the `mParameters.properties` is deprecated since SAPUI5 1.120. Pass the initial values as an object instead. +- [`v2.ODataModel#createEntry`](https://ui5.sap.com/#/api/sap.ui.model.odata.v2.ODataModel%23methods/createEntry): Defining an array for the `mParameters.properties` is deprecated since SAPUI5 1.120. Pass the initial values as an object instead. -- [`v2.ODataModel#refreshSecurityToken`](https://ui5.sap.com/#/api/sap.ui.model.odata.v2.ODataModel%23methods/refreshSecurityToken) : Pass `true` for the `bAsync` parameter explicitly as its default value is `false`. +- [`v2.ODataModel#refreshSecurityToken`](https://ui5.sap.com/#/api/sap.ui.model.odata.v2.ODataModel%23methods/refreshSecurityToken): Pass `true` for the `bAsync` parameter explicitly as its default value is `false`. **JSON Model** -[`JSONModel#loadData`](https://ui5.sap.com/#/api/sap.ui.model.json.JSONModel%23methods/loadData) : Do **not** pass `false` to the `bAsync` and `bCache` parameters, which are deprecated. +[`JSONModel#loadData`](https://ui5.sap.com/#/api/sap.ui.model.json.JSONModel%23methods/loadData): Do **not** pass `false` to the `bAsync` and `bCache` parameters, which are deprecated. **Additional Information:** @@ -356,7 +359,7 @@ Implement strict error handling to address critical issues. - Ensure a dependency on the renderer or embed it within the control class. -- Migrate to the rendering `apiVersion 2` or `apiVersion 4`.For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.core.RenderManager%23overview). +- Migrate to the rendering `apiVersion 2` or `apiVersion 4`. For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.core.RenderManager%23overview). - When utilizing [`RenderManager#icon`](https://ui5.sap.com/#/api/sap.ui.core.RenderManager%23methods/icon) during rendering, include a dependency to `sap/ui/core/IconPool` in your code. @@ -382,7 +385,7 @@ Implement strict error handling to address critical issues. - Don't use the global namespace of the library to add types. Use the return value of `Lib.init` instead to add them. -- Migrate to the library `apiVersion 2`.For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.core.Lib%23methods/sap.ui.core.Lib.init). +- Migrate to the library `apiVersion 2`. For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.core.Lib%23methods/sap.ui.core.Lib.init). - Use [`sap.ui.base.DataType.registerEnum`](https://ui5.sap.com/#/api/sap.ui.base.DataType%23methods/sap.ui.base.DataType.registerEnum) to register enums that shall be usable as a type of control properties. diff --git a/docs/03_Get-Started/data-binding-tutorial-e531093.md b/docs/03_Get-Started/data-binding-tutorial-e531093.md index 543cde46..615d4430 100644 --- a/docs/03_Get-Started/data-binding-tutorial-e531093.md +++ b/docs/03_Get-Started/data-binding-tutorial-e531093.md @@ -14,7 +14,7 @@ The UI uses data binding to bind controls to the model which holds the applicati ## Preview -![](images/Tutorial_Data_Binding_896048e.png) +![Preview of three panels of the UI5 application that is going to be built in this tutorial. Contains three panels with name input fields, address details, and a product list.](images/Tutorial_Data_Binding_896048e.png) > ### Tip: > You don't have to do all tutorial steps sequentially, you can also jump directly to any step you want. Just download the code from the previous step, copy it to your workspace and make sure that the application runs by calling the `webapp/index.html` file. diff --git a/docs/03_Get-Started/images/Tutorial_Data_Binding_896048e.png b/docs/03_Get-Started/images/Tutorial_Data_Binding_896048e.png index 4559f4ede02522a51bdf33394147622ed5f37879..2c020aa6298db411a62c891592d85759f25742ac 100644 GIT binary patch literal 111804 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 literal 62253 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 diff --git a/docs/03_Get-Started/step-1-browser-developer-tools-eadd60a.md b/docs/03_Get-Started/step-1-browser-developer-tools-eadd60a.md index ee95a7fb..c0e44379 100644 --- a/docs/03_Get-Started/step-1-browser-developer-tools-eadd60a.md +++ b/docs/03_Get-Started/step-1-browser-developer-tools-eadd60a.md @@ -12,11 +12,6 @@ Most modern web browsers contain some form of Developer Tools. They allow you to ## Opening the Example App and the Developer Tools -<-- Add the following lines to the package.json : -"scripts": { - "start": "ui5 serve -o index.html" -}, ---> 1. Download the example app with errors at [Troubleshooting](https://ui5.sap.com/#/entity/sap.ui.core.tutorial.troubleshooting/sample/sap.ui.core.tutorial.troubleshooting.01). 2. Extract the downloaded `.zip` file at the desired location on your local machine. @@ -93,7 +88,7 @@ Most modern web browsers contain some form of Developer Tools. They allow you to 2. Examine the `button` element by expanding the structure. -3. On the *Console* tab, enter `myView=sap.ui.require("sap/ui/core/Element").getElementById("container-HeapOfShards---app")`. +3. On the *Console* tab, enter `myView=sap.ui.require("sap/ui/core/Element").getElementbyId("container-HeapOfShards---app")`. 4. On the *Console* tab, enter `myView.byId("myButton")`. @@ -127,7 +122,7 @@ Most modern web browsers contain some form of Developer Tools. They allow you to > > > -> `Element.getElementById("container-HeapOfShards---app--myButton")`, with `Element` required from module `sap/ui/core/Element` +> `Element.getElementbyId("container-HeapOfShards---app--myButton")`, with `Element` required from module `sap/ui/core/Element` > > > diff --git a/docs/03_Get-Started/step-1-no-data-binding-4cde849.md b/docs/03_Get-Started/step-1-no-data-binding-4cde849.md index 72f96b99..76d9d40f 100644 --- a/docs/03_Get-Started/step-1-no-data-binding-4cde849.md +++ b/docs/03_Get-Started/step-1-no-data-binding-4cde849.md @@ -8,11 +8,7 @@ In this step, we create a basic application and simply place some text on the sc ## Preview - - -**Screen with text** - -![](images/Tutorial_Data_Binding_Step_1_6d391d5.png "Screen with text") +![The browser shows the text "Hi, my name is Harry Hawk"](images/Tutorial_Data_Binding_Step_1_6d391d5.png) diff --git a/docs/03_Get-Started/step-1-ready-851bde4.md b/docs/03_Get-Started/step-1-ready-851bde4.md index 4f02c788..d659ed5e 100644 --- a/docs/03_Get-Started/step-1-ready-851bde4.md +++ b/docs/03_Get-Started/step-1-ready-851bde4.md @@ -20,10 +20,6 @@ Let's get you ready for your journey! We bootstrap SAPUI5 in an HTML page and im -## Setup - -Install UI5 Tooling globally on your local machine by executing following command `npm install --global @ui5/cli`. - ## Coding You can view and download all files at [Quick Start - Step 1](https://ui5.sap.com/#/sample/sap.m.tutorial.quickstart.01/preview). diff --git a/docs/03_Get-Started/step-10-property-formatting-using-data-types-9252ee4.md b/docs/03_Get-Started/step-10-property-formatting-using-data-types-9252ee4.md index de72feac..8445df17 100644 --- a/docs/03_Get-Started/step-10-property-formatting-using-data-types-9252ee4.md +++ b/docs/03_Get-Started/step-10-property-formatting-using-data-types-9252ee4.md @@ -10,9 +10,9 @@ SAPUI5 provides a set of simple data types such as `Boolean`, `Currency`, `Date` -**New Sales Amount input field** +**An input field for a currency amount is added to the second panel** -![](images/Tutorial_Data_Binding_Step_10_d15f8bc.png "New Sales Amount input field ") +![The graphic has an explanatory text](images/Tutorial_Data_Binding_Step_10_d15f8bc.png "An input field for a currency amount is added to the second panel") diff --git a/docs/03_Get-Started/step-10-test-suite-and-automated-testing-07c97a2.md b/docs/03_Get-Started/step-10-test-suite-and-automated-testing-07c97a2.md index c25847a4..50a2acdd 100644 --- a/docs/03_Get-Started/step-10-test-suite-and-automated-testing-07c97a2.md +++ b/docs/03_Get-Started/step-10-test-suite-and-automated-testing-07c97a2.md @@ -31,7 +31,7 @@ You can view and download all files in the *Samples* in the Demo Kit at [Testing QUnit test suite for Bulletin Board - + diff --git a/docs/03_Get-Started/step-11-validation-using-sap-ui-core-messaging-b8c4e53.md b/docs/03_Get-Started/step-11-validation-using-sap-ui-core-messaging-b8c4e53.md index 49019f66..5840d85d 100644 --- a/docs/03_Get-Started/step-11-validation-using-sap-ui-core-messaging-b8c4e53.md +++ b/docs/03_Get-Started/step-11-validation-using-sap-ui-core-messaging-b8c4e53.md @@ -10,9 +10,9 @@ So far, we have created a currency field that can format itself correctly. The c -**A message appears** +**An error message is displayed upon entering text into the currency amount input field** -![](images/Tutorial_Data_Binding_Step_11_3_e67207b.png "A message appears") +![The graphic has an explanatory text](images/Tutorial_Data_Binding_Step_11_3_e67207b.png "An error message is displayed upon entering text into the currency amount input field") diff --git a/docs/03_Get-Started/step-12-aggregation-binding-using-templates-97830de.md b/docs/03_Get-Started/step-12-aggregation-binding-using-templates-97830de.md index dc0fbebd..cf444537 100644 --- a/docs/03_Get-Started/step-12-aggregation-binding-using-templates-97830de.md +++ b/docs/03_Get-Started/step-12-aggregation-binding-using-templates-97830de.md @@ -17,9 +17,9 @@ It will automatically create as many child controls as are needed to display the -**List with aggregation binding** +**A third panel with a list of products is displayed** -![](images/Tutorial_Data_Binding_Step_12_1642433.png "List with aggregation binding") +![The graphic has an explanatory text](images/Tutorial_Data_Binding_Step_12_1642433.png "A third panel with a list of products is displayed") diff --git a/docs/03_Get-Started/step-13-element-binding-6c7c5c2.md b/docs/03_Get-Started/step-13-element-binding-6c7c5c2.md index fa877d91..d8dd7fcb 100644 --- a/docs/03_Get-Started/step-13-element-binding-6c7c5c2.md +++ b/docs/03_Get-Started/step-13-element-binding-6c7c5c2.md @@ -10,9 +10,9 @@ Now we want to do something with that newly generated list. In most cases you wi -**Element binding implemented, product details displayed per item** +**A fourth panel with details for a selected product is displayed** -![](images/Tutorial_Data_Binding_Step_13_872d2ed.png "Element binding implemented, product details displayed per item") +![The graphic has an explanatory text](images/Tutorial_Data_Binding_Step_13_872d2ed.png "A fourth panel with details for a selected product is displayed") diff --git a/docs/03_Get-Started/step-14-expression-binding-5cff8d1.md b/docs/03_Get-Started/step-14-expression-binding-5cff8d1.md index 656d55a4..a06afc2a 100644 --- a/docs/03_Get-Started/step-14-expression-binding-5cff8d1.md +++ b/docs/03_Get-Started/step-14-expression-binding-5cff8d1.md @@ -10,9 +10,9 @@ Expression binding allows you to display a value on the screen that has been cal -**Values formatted** +**Prices are color-coded depending on a selected threshold** -![](images/Tutorial_Data_Binding_Step_14_b9fb758.png "Values formatted") +![The graphic has an explanatory text](images/Tutorial_Data_Binding_Step_14_b9fb758.png "Prices are color-coded depending on a selected threshold") diff --git a/docs/03_Get-Started/step-15-aggregation-binding-using-a-factory-function-284a036.md b/docs/03_Get-Started/step-15-aggregation-binding-using-a-factory-function-284a036.md index 3e9a7bde..f32001a9 100644 --- a/docs/03_Get-Started/step-15-aggregation-binding-using-a-factory-function-284a036.md +++ b/docs/03_Get-Started/step-15-aggregation-binding-using-a-factory-function-284a036.md @@ -10,9 +10,9 @@ Instead of hard-coding a single template control, we use a factory function to g -**Controls generated based on data** +**A different type of list item is displayed for a discontinued product** -![](images/Tutorial_Data_Binding_Step_15_db27ba8.png "Controls generated based on data") +![The graphic has an explanatory text](images/Tutorial_Data_Binding_Step_15_db27ba8.png "A different type of list item is displayed for a discontinued product") diff --git a/docs/03_Get-Started/step-2-bootstrap-typescript-32b14d8.md b/docs/03_Get-Started/step-2-bootstrap-typescript-32b14d8.md index b840aa96..67b389ab 100644 --- a/docs/03_Get-Started/step-2-bootstrap-typescript-32b14d8.md +++ b/docs/03_Get-Started/step-2-bootstrap-typescript-32b14d8.md @@ -47,7 +47,7 @@ Specify the compiler options as follows: ``` { "compilerOptions": { - "target": "es2022", + "target": "es2023", "module": "es2022", "moduleResolution": "node", "skipLibCheck": true, diff --git a/docs/03_Get-Started/step-2-creating-a-model-5278bfd.md b/docs/03_Get-Started/step-2-creating-a-model-5278bfd.md index 6f53e517..fd6f2e90 100644 --- a/docs/03_Get-Started/step-2-creating-a-model-5278bfd.md +++ b/docs/03_Get-Started/step-2-creating-a-model-5278bfd.md @@ -30,12 +30,7 @@ In this tutorial, we will focus on JSON models since they are the simplest ones ## Preview - - -**Screen with text derived from a model object \(No visual changes to last step\)** - -![](images/Tutorial_Data_Binding_Step_1_6d391d5.png "Screen with text derived from a model object (No visual changes to last - step)") +![The browser shows the text "Hi, my name is Harry Hawk"](images/Tutorial_Data_Binding_Step_1_6d391d5.png) diff --git a/docs/03_Get-Started/step-25-remote-odata-service-4406244.md b/docs/03_Get-Started/step-25-remote-odata-service-4406244.md index 893e5a98..3513d74c 100644 --- a/docs/03_Get-Started/step-25-remote-odata-service-4406244.md +++ b/docs/03_Get-Started/step-25-remote-odata-service-4406244.md @@ -53,7 +53,7 @@ metadata: type: application framework: name: OpenUI5 - version: "1.125.1" + version: "1.126.0" libraries: - name: sap.m - name: sap.ui.core diff --git a/docs/03_Get-Started/step-26-mock-server-configuration-typescript-3e1c64f.md b/docs/03_Get-Started/step-26-mock-server-configuration-typescript-3e1c64f.md index 2a693ffb..a8de2ba3 100644 --- a/docs/03_Get-Started/step-26-mock-server-configuration-typescript-3e1c64f.md +++ b/docs/03_Get-Started/step-26-mock-server-configuration-typescript-3e1c64f.md @@ -149,7 +149,7 @@ Finally, we call the `start` method on the mock server. From this point, each re ```js import MockServer from "sap/ui/core/util/MockServer"; -import UriParameters from "sap/base/util/UriParameters"; + export default { init: function () { @@ -158,12 +158,12 @@ export default { rootUri: sap.ui.require.toUrl("ui5/walkthrough/V2/Northwind/Northwind.svc/") }); - const uriParameters = new UriParameters(window.location.href); + const urlParams = new URLSearchParams(window.location.search); // configure mock server with a delay mockServer.config({ autoRespond: true, - autoRespondAfter: parseInt(uriParameters.get("serverDelay") || "500") + autoRespondAfter: parseInt(urlParams.get("serverDelay") || "500") }); // simulate diff --git a/docs/03_Get-Started/step-3-create-property-binding-d70e989.md b/docs/03_Get-Started/step-3-create-property-binding-d70e989.md index e259c7d4..872607b1 100644 --- a/docs/03_Get-Started/step-3-create-property-binding-d70e989.md +++ b/docs/03_Get-Started/step-3-create-property-binding-d70e989.md @@ -8,12 +8,7 @@ Although there is no visible difference, the text on the screen is now derived f ## Preview - - -**Screen with text derived from various sources \(No visual changes to last step\)** - -![](images/Tutorial_Data_Binding_Step_1_6d391d5.png "Screen with text derived from various sources (No visual changes to last - step)") +![The browser shows the text "Hi, my name is Harry Hawk"](images/Tutorial_Data_Binding_Step_1_6d391d5.png) diff --git a/docs/03_Get-Started/step-4-two-way-data-binding-c72b922.md b/docs/03_Get-Started/step-4-two-way-data-binding-c72b922.md index 65c9acf0..43d0e23d 100644 --- a/docs/03_Get-Started/step-4-two-way-data-binding-c72b922.md +++ b/docs/03_Get-Started/step-4-two-way-data-binding-c72b922.md @@ -10,9 +10,9 @@ In the examples used so far, we have used a read-only field to display the value -**Input fields can be enabled or disabled** +**Two input fields and a checkbox to enable or disable them** -![](images/Tutorial_Data_Binding_Step_4_61d68f1.png "Input fields can be enabled or disabled") +![The graphic has an explanatory text](images/Tutorial_Data_Binding_Step_4_61d68f1.png "Two input fields and a checkbox to enable or disable them") diff --git a/docs/03_Get-Started/step-5-one-way-data-binding-88756c0.md b/docs/03_Get-Started/step-5-one-way-data-binding-88756c0.md index f86dea62..e9aa5f95 100644 --- a/docs/03_Get-Started/step-5-one-way-data-binding-88756c0.md +++ b/docs/03_Get-Started/step-5-one-way-data-binding-88756c0.md @@ -10,9 +10,9 @@ In contrast to the two-way binding behavior shown above, one-way data binding is -**Two-way data binding disabled for the checkbox** +**Two input fields and a checkbox** -![](images/Tutorial_Data_Binding_Step_4_61d68f1.png "Two-way data binding disabled for the checkbox") +![The graphic has an explanatory text](images/Tutorial_Data_Binding_Step_4_61d68f1.png "Two input fields and a checkbox") diff --git a/docs/03_Get-Started/step-6-a-first-opa-test-1b47457.md b/docs/03_Get-Started/step-6-a-first-opa-test-1b47457.md index a8c1016d..861c41a6 100644 --- a/docs/03_Get-Started/step-6-a-first-opa-test-1b47457.md +++ b/docs/03_Get-Started/step-6-a-first-opa-test-1b47457.md @@ -50,9 +50,10 @@ The journey uses another structuring element of OPA called “page object” tha ```js sap.ui.define([ - "sap/ui/test/opaQunit", - "./pages/Worklist" -], function (opaTest) { + 'sap/ui/test/opaQunit', + 'sap/ui/test/Qunit', + './pages/Worklist' +], function (opaTest, QUnit, Worklist) { "use strict"; QUnit.module("Posts"); @@ -108,86 +109,79 @@ Now you might wonder where all those descriptive functions and the helper object ```js sap.ui.define([ - 'sap/ui/test/Opa5', - 'sap/ui/test/matchers/AggregationLengthEquals', - 'sap/ui/test/matchers/I18NText', - 'sap/ui/test/actions/Press' - ], - function (Opa5, - AggregationLengthEquals, - I18NText, - Press) { - "use strict"; - - var sViewName = "Worklist", - sTableId = "table"; - - Opa5.createPageObjects({ - onTheWorklistPage: { - actions: { - iPressOnMoreData: function () { - // Press action hits the "more" trigger on a table - return this.waitFor({ - id: sTableId, - viewName: sViewName, - actions: new Press(), - errorMessage: "The table does not have a trigger." - }); - } + 'sap/ui/test/Opa5', + 'sap/ui/test/matchers/AggregationLengthEquals', + 'sap/ui/test/matchers/I18NText', + 'sap/ui/test/actions/Press' +], function (Opa5, AggregationLengthEquals, I18NText, Press) { + "use strict"; + + var sViewName = "Worklist", + sTableId = "table"; + + Opa5.createPageObjects({ + onTheWorklistPage: { + actions: { + iPressOnMoreData: function () { + // Press action hits the "more" trigger on a table + return this.waitFor({ + id: sTableId, + viewName: sViewName, + actions: new Press(), + errorMessage: "The table does not have a trigger." + }); + } + }, + assertions: { + theTableShouldHavePagination: function () { + return this.waitFor({ + id: sTableId, + viewName: sViewName, + matchers: new AggregationLengthEquals({ + name: "items", + length: 20 + }), + success: function () { + Opa5.assert.ok(true, "The table has 20 items on the first page"); + }, + errorMessage: "The table does not contain all items." + }); + }, + + theTableShouldHaveAllEntries: function () { + return this.waitFor({ + id: sTableId, + viewName: sViewName, + matchers: new AggregationLengthEquals({ + name: "items", + length: 23 + }), + success: function () { + Opa5.assert.ok(true, "The table has 23 items"); + }, + errorMessage: "The table does not contain all items." + }); }, - assertions: { - theTableShouldHavePagination: function () { - return this.waitFor({ - id: sTableId, - viewName: sViewName, - matchers: new AggregationLengthEquals({ - name: "items", - length: 20 - }), - success: function () { - Opa5.assert.ok(true, "The table has 20 items on the first page"); - }, - errorMessage: "The table does not contain all items." - }); - }, - - theTableShouldHaveAllEntries: function () { - return this.waitFor({ - id: sTableId, - viewName: sViewName, - matchers: new AggregationLengthEquals({ - name: "items", - length: 23 - }), - success: function () { - Opa5.assert.ok(true, "The table has 23 items"); - }, - errorMessage: "The table does not contain all items." - }); - }, - - theTitleShouldDisplayTheTotalAmountOfItems: function () { - return this.waitFor({ - id: "tableHeader", - viewName: sViewName, - matchers: new I18NText({ - key: "worklistTableTitleCount", - propertyName: "text", - parameters: [23] - }), - success: function () { - Opa5.assert.ok(true, "The table header has 23 items"); - }, - errorMessage: "The table header does not contain the number of items: 23" - }); - } + theTitleShouldDisplayTheTotalAmountOfItems: function () { + return this.waitFor({ + id: "tableHeader", + viewName: sViewName, + matchers: new I18NText({ + key: "worklistTableTitleCount", + propertyName: "text", + parameters: [23] + }), + success: function () { + Opa5.assert.ok(true, "The table header has 23 items"); + }, + errorMessage: "The table header does not contain the number of items: 23" + }); } } - }); - + } }); - +}); ``` As you can see, the OPA page object is constructed with the call `Opa5.createPageObjects` and a `configuration` object that contains the actions and assertions properties. diff --git a/docs/03_Get-Started/step-6-resource-models-9790d9a.md b/docs/03_Get-Started/step-6-resource-models-9790d9a.md index e17a6b64..4853596a 100644 --- a/docs/03_Get-Started/step-6-resource-models-9790d9a.md +++ b/docs/03_Get-Started/step-6-resource-models-9790d9a.md @@ -12,9 +12,9 @@ The example we used at the start of this tutorial was overly simplistic as we st -**Texts derived from the resource model \(No visual change to last step\)** +**The texts are now derived from a resource model \(No visual change to last step\)** -![](images/Tutorial_Data_Binding_Step_4_61d68f1.png "Texts derived from the resource model (No visual change to last step)") +![The graphic has an explanatory text](images/Tutorial_Data_Binding_Step_4_61d68f1.png "The texts are now derived from a resource model (No visual change to last step)") diff --git a/docs/03_Get-Started/step-7-optional-resource-bundles-and-multiple-languages-4e593b4.md b/docs/03_Get-Started/step-7-optional-resource-bundles-and-multiple-languages-4e593b4.md index 4d6d38a0..ab3bbefc 100644 --- a/docs/03_Get-Started/step-7-optional-resource-bundles-and-multiple-languages-4e593b4.md +++ b/docs/03_Get-Started/step-7-optional-resource-bundles-and-multiple-languages-4e593b4.md @@ -10,9 +10,9 @@ The reason we have resource bundles is to allow an app to run in multiple langua -**German version of our UI** +**The texts are now adapted for the German locale** -![](images/Tutorial_Data_Binding_Step_7_d96cdf9.png "German version of our UI") +![The graphic has an explanatory text](images/Tutorial_Data_Binding_Step_7_d96cdf9.png "The texts are now adapted for the German locale") diff --git a/docs/03_Get-Started/step-8-binding-paths-accessing-properties-in-hierarchically-structured-models-9373793.md b/docs/03_Get-Started/step-8-binding-paths-accessing-properties-in-hierarchically-structured-models-9373793.md index 6e500581..fe6ccded 100644 --- a/docs/03_Get-Started/step-8-binding-paths-accessing-properties-in-hierarchically-structured-models-9373793.md +++ b/docs/03_Get-Started/step-8-binding-paths-accessing-properties-in-hierarchically-structured-models-9373793.md @@ -10,9 +10,9 @@ In step 6 , we stated that the fields in a resource model are arranged in a flat -**Second panel with additional data** +**A second panel with address data is added** -![](images/Tutorial_Data_Binding_Step_8_12705f5.png "Second panel with additional data") +![The graphic has an explanatory text](images/Tutorial_Data_Binding_Step_8_12705f5.png " A second panel with address data is added") diff --git a/docs/03_Get-Started/step-9-formatting-values-6fdf0ac.md b/docs/03_Get-Started/step-9-formatting-values-6fdf0ac.md index 1368c4e2..ddc6ce4f 100644 --- a/docs/03_Get-Started/step-9-formatting-values-6fdf0ac.md +++ b/docs/03_Get-Started/step-9-formatting-values-6fdf0ac.md @@ -10,9 +10,9 @@ We also want to provide our users a way of contacting Harry Hawk. Therefore we w -**Address with e-mail link** +**An e-mail link is added to the address panel** -![](images/Tutorial_Data_Binding_Step_9_1161575.png "Address with e-mail link") +![The graphic has an explanatory text](images/Tutorial_Data_Binding_Step_9_1161575.png "An e-mail link is added to the address panel") @@ -56,10 +56,14 @@ You can view and download all files in the Demo Kit at [Data Binding - Step 9](h **webapp/view/App.view.xml** ```xml - + + ... + + ## Property Binding With an Object Value -A property binding can have an object value, if the target type specified in the corresponding control property's binding info is "any" and the binding is relative or points to metadata. The binding's mode has to be `OneTime`, see [sap.ui.model.BindingMode](https://ui5.sap.com/#/api/sap.ui.model.BindingMode), unless the binding is for an action advertisement. +A property binding can have an object value if the target type specified in the corresponding control property's binding info is "any" and the binding is relative or points to metadata. The binding's mode has to be `OneTime`, see [sap.ui.model.BindingMode](https://ui5.sap.com/#/api/sap.ui.model.BindingMode), unless the binding is for an action advertisement. + +A `OneWay` binding mode is also supported \(**experimental** as of UI5 version 1.126.0\) for relative read-only data \(not metadata!\) bindings, but client-side updates of the object are not supported, and [`$$patchWithoutSideEffects`](parameters-1ab4f62.md) should be used for the parent entity. **Example: Using the controller method `'formatPhoneNumbersAsCSV'` to show a comma-separated list of phone numbers for business partner contacts** diff --git a/docs/04_Essentials/layering-concept-9e63057.md b/docs/04_Essentials/layering-concept-9e63057.md index 24d39b3e..0933ad2e 100644 --- a/docs/04_Essentials/layering-concept-9e63057.md +++ b/docs/04_Essentials/layering-concept-9e63057.md @@ -53,36 +53,46 @@ User-specific personalization settings \(for object pages\) - + -`CUSTOMER` +`PUBLIC` - + Customer -Key users +End users -UI changes to adapt apps for all users made using key user adaptation +Views that the end user saves as *Public* -End users +`CUSTOMER` -Views that the end user saves as *Public* +Customer + + + + +Key users + + + + +UI changes to adapt apps for all users made using key user adaptation diff --git a/docs/04_Essentials/pdf-export-f861f7f.md b/docs/04_Essentials/pdf-export-f861f7f.md new file mode 100644 index 00000000..7f047792 --- /dev/null +++ b/docs/04_Essentials/pdf-export-f861f7f.md @@ -0,0 +1,89 @@ + + +# PDF Export + +The PDF export allows you to export data to a Portable Document Format \(\*.pdf\). + + + + + +## Overview + +The PDF export allows you to export your data to a Portable Document Format \(\*.pdf\) document. You can export any type of content that has a tabular format, such as tables or lists. + +> ### Note: +> For more information, see the SAP Note [3198506](https://me.sap.com/notes/3198506). + +> ### Tip: +> If the export takes more than 5 minutes, we recommend to cancel the process and apply additional filter settings to reduce the amount of data that has to be exported. + + + + + +## Prerequisites + +The PDF export is not available in all systems. It is automatically available in systems where the application-specific OData service provides the `com.sap.vocabularies.PDF.v1.Features` annotation. This annotation determines the following: + +- If the PDF export is available + +- Which features are supported by the ABAP back-end system + + +The PDF export only works with a **server-side** export, since this export is required to support digital signatures. + + + + + +## Details + + + +### Configuration + +You can make the following settings: + +- Size limit: Defined by the `com.sap.vocabularies.PDF.v1.Features` annotation; between 20,000 and 50,000 rows can be exported + + The size is limited for performance and stability reasons with regards to the ABAP back-end system where the server-side processing takes place. + +- Filter settings: The user has to make suitable filter settings before the data is exported. + + + + +### Additional Settings on Export User Interface + +In addition to the regular `Export` dialog, the user can use the `Export As` dialog in the `SmartTable` or `Table` \(`sap.ui.mdc`\) control, which can be selected from a dropdown list next to the *Export Table* button, to define additional settings for the export. + +Some formatting is specific to the PDF export, such as the following: + +- *Split cells with multiple values* + + This setting defines whether to show cells with more than one value in separate columns. For the PDF export, this setting is mandatory. That's why this option is not shown in the dialog for the PDF export but applied automatically. + +- Duplicate columns + + The PDF export can't handle duplicate columns. For example, if several columns reference an amount and the related currency code, these columns are split up, and the currency code column is referenced multiple times. Those duplicates are eliminated, and only the first occurrence of this column becomes visible in the exported PDF file. + +- Column layout + + Since the width of each column is determined by the longest entry in any of its cells, this can result in unusual column layouts if one cell entry in a particular column is larger than the others. The column layout automatically adds as many columns as possible to one page. The last column automatically receives the remaining horizontal space. For PDF files, the layout strategy is "column first": All columns are distributed over the first couple of pages before any additional rows are displayed. + + > ### Tip: + > If a narrow column is placed between two columns with longer texts, this can result in three pages with only one single column per page. In this case, we recommend to adjust the column order. + + + + +### Restrictions + +Paging is not supported by the PDF export. + +**Related Information** + + +[API Reference: `sap.ui.export.ExportHandler`](https://ui5.sap.com/#/api/sap.ui.export.ExportHandler) + diff --git a/docs/04_Essentials/server-messages-in-the-odata-v4-model-fbe1cb5.md b/docs/04_Essentials/server-messages-in-the-odata-v4-model-fbe1cb5.md index bd9505ba..5a91cacc 100644 --- a/docs/04_Essentials/server-messages-in-the-odata-v4-model-fbe1cb5.md +++ b/docs/04_Essentials/server-messages-in-the-odata-v4-model-fbe1cb5.md @@ -270,6 +270,8 @@ There are three different channels for transporting messages to the client: Only transition messages are transported in the error response. The messages may be bound or unbound. Error messages are always reported in the error response in JSON format, as described in the OData JSON Format Version 4.0 in Section *19 Error Response*, with the following additions: +- If more than one message should be returned, the outer message needs to be any of the error messages. All other messages are provided as detail messages. All messages, both the outer and the detail messages, are reported to the message model. + - The instance annotation `com.sap.vocabularies.Common.v1.longtextUrl` can be used to provide a long text URL, which can be a relative or an absolute path. Relative paths are treated as relative to the request URL. Absolute paths are treated as relative to the server. - `target` is relative to the requested resource. diff --git a/docs/04_Essentials/spreadsheet-export-2691788.md b/docs/04_Essentials/spreadsheet-export-2691788.md index c7a1dcd3..ac4e7971 100644 --- a/docs/04_Essentials/spreadsheet-export-2691788.md +++ b/docs/04_Essentials/spreadsheet-export-2691788.md @@ -15,7 +15,10 @@ The spreadsheet export allows you to export your data to an Office Open XML docu If you use the `SmartTable` control to export data, you can also use different types of exports, the client export or the SAP Gateway export. > ### Tip: -> The `SmartTable` control offers you all the preconfigured content you need for the export. You can either simply use it without having to define any configuration yourself, or you can adapt the content to make it fit your own specific requirements. For other entitities, you have to define the configuration manually as described below. +> The `sap.ui.comp.smarttable.SmartTable` and `sap.ui.mdc.Table` controls offer you all the preconfigured content you need for the export. You can either simply use it without having to define any configuration yourself, or you can adapt the content to make it fit your own specific requirements. For other entitities, you have to define the configuration manually as described below. + +> ### Tip: +> If the export takes more than 5 minutes, we recommend to cancel the process and apply additional filter settings to reduce the amount of data that has to be exported. @@ -23,7 +26,7 @@ If you use the `SmartTable` control to export data, you can also use different t ## Prerequisites -If you want to export data manually, without `SmartTable`, you have to perform the following steps: +If you want to export data manually, without `SmartTable` or `Table` \(`sap.ui.mdc`\), you have to perform the following steps: 1. Load the `sap.ui.export.Spreadsheet` library within your controller coding. @@ -133,7 +136,7 @@ The following data types are supported: > ### Note: -> Currency values and numbers that cannot be represented in the standard format as defined by the *IEEE \(Institute of Electrical and Electronics Engineers\)* in the spreadsheet file because they are too large automatically use the `BigNumber` data type as a fallback option. The number is then stored as `string` and represented using the international format with a comma as a thousands separator and a period for the decimal point. +> Currency values and numbers that cannot be represented in the standard format as defined by the *IEEE \(Institute of Electrical and Electronics Engineers\)* in the spreadsheet file because they are too large automatically use the `BigNumber` data type as a fallback option \(standard IEEE 754\). The number is then stored as `string` and represented using the international format with a comma as a thousands separator and a period for the decimal point. For more information, see [Data Types for Spreadsheet Export](data-types-for-spreadsheet-export-283217d.md). @@ -141,7 +144,7 @@ For more information, see [Data Types for Spreadsheet Export](data-types-for-spr ### Additional Settings on Export User Interface -In addition to the regular `Export` dialog, the user can use the `Export As` dialog in the `SmartTable` control, which can be selected from a dropdown list next to the *Export to Spreadsheet* button, to define additional settings for the export. +In addition to the regular `Export` dialog, the user can use the `Export As` dialog in the `SmartTable` or `Table` \(`sap.ui.mdc`\) control, which can be selected from a dropdown list next to the *Export Table* button, to define additional settings for the export. The user can define the following for the exported file: @@ -151,13 +154,13 @@ The user can define the following for the exported file: The file format has been predefined. -- Whether to show cells with more than one value in separate columns +- Whether to show cells with more than one value in separate columns \(*Split cells with multiple values*\) - This option is used for columns based on text arrangements, currencies, and units of measure. For example, if both the name and the ID of a customer are displayed in one column, the exported file will show the customer data in two separate columns. This might result in duplicate columns if the file already contains columns with the same header name. + This option is used for columns that are based on text arrangements, currencies, and units of measure. For example, if both the name and the ID of a customer are displayed in one column, the exported file will show the customer data in two separate columns. This might result in duplicate columns if the file already contains columns with the same header name. - Whether to show any available filter settings - If this option is selected, the exported file has an additional *Filter* sheet showing the filters that were set on the columns as well as in the `FilterBar` control. The filters shown in the exported file currently contain the technical property that has been extracted from the binding. + If this option is selected, the exported file has an additional *Filter* sheet showing the filters that were set on the columns as well as in the `FilterBar` control. The filters shown in the exported file are the column labels. They are shown by default. If there is no column label, the property name is shown. The `beforeExport` event also provides the additional export settings defined by the user \(`userExportSettings` parameter\). This parameter is always available and contains the settings currently valid for the export, so the application developers can decide which settings to use. @@ -174,5 +177,5 @@ The `beforeExport` event also provides the additional export settings defined by [API Reference: `sap.ui.export.EdmType`](https://ui5.sap.com/#/api/sap.ui.export.EdmType) -[Export Features](export-features-e7f52f4.md "The SmartTable control offers various types of exports. The SmartTable control supports features such as file compression, header row, localization, meta information, hierarchies, data types, and Read Access Logging (RAL) support.") +[Spreadsheet Export Type Features](spreadsheet-export-type-features-e7f52f4.md "The SmartTable control offers different types of exports with various features.") diff --git a/docs/04_Essentials/spreadsheet-export-configuration-7e12e6b.md b/docs/04_Essentials/spreadsheet-export-configuration-7e12e6b.md index 3f236aad..dd918bd9 100644 --- a/docs/04_Essentials/spreadsheet-export-configuration-7e12e6b.md +++ b/docs/04_Essentials/spreadsheet-export-configuration-7e12e6b.md @@ -2,7 +2,7 @@ # Spreadsheet Export Configuration -To perform a spreadsheet export for any content other than `SmartTable`, you have to set up the configuration for the columns and data sources, and you can configure some other additional properties. +To perform a spreadsheet export for any content other than `SmartTable` or `sap.ui.mdc.Table`, you have to set up the configuration for the columns and data sources, and you can configure some other additional properties. @@ -269,7 +269,7 @@ The `label` property is optional, and its value must be of type `string`. Its va The optional `type` property defines the data type for this column and needs to match one of the values of the `sap.ui.export.EdmType` enumeration. If the `type` property has not been defined or the enumeration does not contain its value, the default type \(`sap.ui.export.EdmType.String`\) is used. For more information, see the [API Reference: `EdmType`](https://ui5.sap.com/#/api/sap.ui.export.EdmType). -The optional `width` property defines the column width based on the number of characters that can be visible. The Office Open XML spreadsheet standard uses a width calculation that is not equivalent to the CSS sizes. Therefore, the calculation is handled by the library. If no `width` property has been provided, or if its value is greater than *1*, the default width is used. The default width is 10 characters. If the column header text has a length that is greater than the actual width, it will override the width with the length of the column header text. +The optional `width` property defines the column width based on the number of characters that can be visible. The Office Open XML spreadsheet standard uses a width calculation that is not equivalent to the CSS sizes. Therefore, the calculation is handled by the library. If no `width` property has been provided, or if its value is smaller than *1*, the default width is used. The default width is 10 characters. If the column header text has a length that is greater than the actual width, it will override the width with the length of the column header text. The optional `textAlign` property defines the horizontal text alignment. Its value must be of type `string` and either be `left`, `right`, or `center`. Other CSS alignments like `begin` or `end` are not supported. If no `textAlign` property has been provided or its value is empty or not supported, the default alignment is used. The default alignment is defined by the type of the column. This is done by the application using the scenario and the generated Office Open XML spreadsheet, for example, Microsoft Excel. @@ -317,7 +317,7 @@ var exportConfiguration = { ### Data Source Configuration -Apart from the column configuration, data source configuration is the most important configuration for the export process. Data source configuration is mandatory. It can be a JSON array containing all data, a JSON object, `sap.ui.model.ListBinding`, or `sap.ui.model.TreeBinding` with the following properties: +Apart from the column configuration, data source configuration is the most important configuration for the export process. Data source configuration is mandatory. It can be a JSON array containing all data, a JSON object, `sap.ui.model.ListBinding`, or `sap.ui.model.TreeBinding`. If it is a JSON object, the following properties are required: **Data Source Configuration Properties** @@ -407,7 +407,7 @@ Request URL that is needed to request the data with all the filters and its orde -URL of the data service that serves the entity which is requested by the `dataUrl`". It is usually a substring of `dataUrl`. The URL can either be relative or absolute. If `dataUrl` is relative, `serviceUrl` must not be absolute. +URL of the data service that serves the entity which is requested by the `dataUrl`. It is usually a substring of `dataUrl`. The URL can either be relative or absolute. If `dataUrl` is relative, `serviceUrl` must not be absolute. > ### Note: > This property is required if OData batch requests are enabled. @@ -655,6 +655,11 @@ We recommend to use this property because there are often several similar apps t Identifies the application version through which a particular Office Open XML spreadsheet was created. This can be helpful for debugging because you can identify the version that caused the issues and compare it to previous builds. The more detailed your version information is, the easier it will be to identify your application changes within your source code management system. +> ### Note: +> You can only include the major and minor version in the version information. If you use more than one period as a separator, this can cause corrupt spreadsheet files in some system locales, which is also checked by the validation. + + + @@ -741,7 +746,7 @@ var exportConfiguration = { workbook: { context: { application: "Supplier Invoices List", - version: "6.1.0-SNAPSHOT", + version: "6.1", title: "Supplier Invoices", modifiedBy: "Doe, John", sheetName: "Invoices" @@ -789,7 +794,7 @@ The following properties are available for configuration: - `count` \(type `number`\) - The value of this property must be positive. It restricts the amount of exported data, which avoids browser crashes during the transfer of very large amounts of data. + The value of this property must be positive. This property is only used if `dataSource` is a plain string. If this is the case, it is taken over as `dataSource.count`. - `worker` \(type `boolean`\) @@ -841,7 +846,7 @@ var exportConfiguration = { ### Starting the Export Process -After you have created a valid configuration, you will have to create a new`sap.ui.export.Spreadsheet` instance and initialize it with the previously created configuration. After the instance has been initialized, you can start the export process by calling the `build` method. Everything else will be handled by the export library. The result will be an Office Open XML spreadsheet which is automatically downloaded. The export library does not offer you any events to which you can register. If you need to perform additional steps after the export has been completed, you can use the `Promise` that is returned by the `build` method. +After you have created a valid configuration, you will have to create a new `sap.ui.export.Spreadsheet` instance and initialize it with the previously created configuration. After the instance has been initialized, you can start the export process by calling the `build` method. Everything else will be handled by the export library. The result will be an Office Open XML spreadsheet which is automatically downloaded. The export library does not offer you any events to which you can register. If you need to perform additional steps after the export has been completed, you can use the `Promise` that is returned by the `build` method. The following code sample shows the start of an export: diff --git a/docs/04_Essentials/spreadsheet-export-restrictions-2c64148.md b/docs/04_Essentials/spreadsheet-export-restrictions-2c64148.md index 6448aef6..73668459 100644 --- a/docs/04_Essentials/spreadsheet-export-restrictions-2c64148.md +++ b/docs/04_Essentials/spreadsheet-export-restrictions-2c64148.md @@ -11,14 +11,7 @@ The following restrictions apply: -In Safari on iOS , the file name and file extension get lost due to a download attribute that is not supported. This issue is caused by the iOS Safari browser in every version before iOS 13. - - - - - - -Columns of type `sap.ui.export.EdmType.Date` and `sap.ui.export.EdmType.DateTime` support multiple calendars as defined by `module:sap/base/18n/date/CalendarType`. However, not all values of the `sap/base/18n/date/CalendarType` enumeration are supported. For more information about supported values for the `calendar` property for columns of type `sap.ui.export.EdmType.Date` and `sap.ui.export.EdmType.DateTime`, see [`Date`, `Time`, and `DateTime`.](data-types-for-spreadsheet-export-283217d.md#loio283217d8f187401c8045723abc27e5e0__section_tg5_hyv_43b) +Columns of type `sap.ui.export.EdmType.Date` and `sap.ui.export.EdmType.DateTime` support multiple calendars as defined by `module:sap/base/18n/date/CalendarType`. However, not all values of the `module:sap/base/18n/date/CalendarType` enumeration are supported. For more information about supported values for the `calendar` property for columns of type `sap.ui.export.EdmType.Date` and `sap.ui.export.EdmType.DateTime`, see [`Date`, `Time`, and `DateTime`.](data-types-for-spreadsheet-export-283217d.md#loio283217d8f187401c8045723abc27e5e0__section_tg5_hyv_43b) @@ -41,7 +34,7 @@ Custom columns are created by the application or SAP Fiori Elements and not by t -The maximum number of rows that can be exported is restricted to 1,048,576. +The maximum number of rows that can be exported is restricted to 1,048,575 and a column header row. @@ -89,7 +82,7 @@ Semantic cell highlighting -Custom formatters +Custom formatter functions diff --git a/docs/04_Essentials/export-features-e7f52f4.md b/docs/04_Essentials/spreadsheet-export-type-features-e7f52f4.md similarity index 96% rename from docs/04_Essentials/export-features-e7f52f4.md rename to docs/04_Essentials/spreadsheet-export-type-features-e7f52f4.md index 9b5f62c2..4bcc60d1 100644 --- a/docs/04_Essentials/export-features-e7f52f4.md +++ b/docs/04_Essentials/spreadsheet-export-type-features-e7f52f4.md @@ -1,8 +1,10 @@ -# Export Features +# Spreadsheet Export Type Features + +The `SmartTable` control offers different types of exports with various features. + -The `SmartTable` control offers various types of exports. The `SmartTable` control supports features such as file compression, header row, localization, meta information, hierarchies, data types, and Read Access Logging \(RAL\) support. The `SmartTable` control offers the following types of exports: diff --git a/docs/04_Essentials/variant-for-bootstrapping-from-content-delivery-network-2d3eb2f.md b/docs/04_Essentials/variant-for-bootstrapping-from-content-delivery-network-2d3eb2f.md index e2b1acda..507dfc08 100644 --- a/docs/04_Essentials/variant-for-bootstrapping-from-content-delivery-network-2d3eb2f.md +++ b/docs/04_Essentials/variant-for-bootstrapping-from-content-delivery-network-2d3eb2f.md @@ -27,7 +27,7 @@ The specific version allows you to select a particular fixed version for bootstr ```html diff --git a/docs/05_Developing_Apps/former-environments-d3f5ad2.md b/docs/05_Developing_Apps/former-environments-d3f5ad2.md index 45220a45..6a8a283f 100644 --- a/docs/05_Developing_Apps/former-environments-d3f5ad2.md +++ b/docs/05_Developing_Apps/former-environments-d3f5ad2.md @@ -21,7 +21,7 @@ SAP Web IDE is a web-based development environment that is optimized for develop SAP Web IDE can still be used if you have a productive SAP Business Technology Platform global account and have activated SAP Web IDE there. > ### Note: -> It is no longer possible to access SAP Web IDESAP Web IDE via a SAP BTP free tier account. +> It is no longer possible to access SAP Web IDE via a SAP BTP free tier account. It is recommended to use SAP Business Application Studio instead. See [App Development Using SAP Business Application Studio](app-development-using-sap-business-application-studio-6bbad66.md). diff --git a/docs/05_Developing_Apps/frame-options-62d9c4d.md b/docs/05_Developing_Apps/frame-options-62d9c4d.md index 5f242ce9..0f342ebd 100644 --- a/docs/05_Developing_Apps/frame-options-62d9c4d.md +++ b/docs/05_Developing_Apps/frame-options-62d9c4d.md @@ -269,8 +269,8 @@ To restrict the embedding to same-origin domains, set `frame-options` to `truste @@ -233,7 +224,7 @@ Here is a simple stub for a test Web site \(you may need to update the bootstrap Using Gherkin with OPA5 Website diff --git a/docs/04_Essentials/descriptor-for-applications-components-and-libraries-manifest-json-be0cf40.md b/docs/04_Essentials/descriptor-for-applications-components-and-libraries-manifest-json-be0cf40.md index c3d0069a..f40e448b 100644 --- a/docs/04_Essentials/descriptor-for-applications-components-and-libraries-manifest-json-be0cf40.md +++ b/docs/04_Essentials/descriptor-for-applications-components-and-libraries-manifest-json-be0cf40.md @@ -2244,7 +2244,7 @@ Specifies provided commands with a unique key/alias. Contains: - `shortcut`: String that describes a key combination. When the user presses the key combination, the command is triggered. -The name of the command that contains the `shortcut` definition acts as a prerequisite for using the `command` property of the [sap/ui/core/CommandExecution](https://sdk.openui5.org/api/sap.ui.core.CommandExecution) module. +The name of the command that contains the `shortcut` definition acts as a prerequisite for using the `command` property of the [sap/ui/core/CommandExecution](https://ui5.sap.com/#/api/sap.ui.core.CommandExecution) module. diff --git a/docs/04_Essentials/logging-ebcf60c.md b/docs/04_Essentials/logging-ebcf60c.md index e3900e49..16653405 100644 --- a/docs/04_Essentials/logging-ebcf60c.md +++ b/docs/04_Essentials/logging-ebcf60c.md @@ -20,7 +20,7 @@ Most error messages are sufficient to figure out what has gone wrong, for exampl > > diff --git a/docs/04_Essentials/multiple-module-locations-1dfab2e.md b/docs/04_Essentials/multiple-module-locations-1dfab2e.md index e9a9b4d7..6f8d476e 100644 --- a/docs/04_Essentials/multiple-module-locations-1dfab2e.md +++ b/docs/04_Essentials/multiple-module-locations-1dfab2e.md @@ -8,47 +8,39 @@ In web applications, modules can be located in different locations, such as serv The `sap.ui.loader.config` function associates a module name prefix with a URL prefix. All modules are loaded from the registered URL instead of the standard resource root URL: -``` +```js sap.ui.loader.config({ paths: { - 'my/module': 'https://example.com/resources/my/module' + "my/module": "https://example.com/resources/my/module" } }); ``` Thus, it is possible to redirect the request for the application-specific modules to the corresponding web application: -```html - - - - +```js +// Redirect the 'my.webapp' package to the local web app +sap.ui.loader.config({ + paths:{ + "my/webapp": "my-webapp/resources/my/webapp" + } +}); +sap.ui.require([ + "sap/ui/core/Core", + "my/webapp/MyModule01", // loads /my-webapp/resources/my/webapp/MyModule01.js +], (Core, MyModule01) => { + // ... +}); ``` > ### Note: > The registered URL above contains the transformed module name prefix `my/webapp/`. This allows a more flexible packaging of the modules, for example, if you decide to deploy all modules named `my.company.*` to the central URL `http://my.company/shared/` without packaging them into a two level hierarchy of subfolders: > -> ``` -> +> ```js > sap.ui.loader.config({ -> paths:{ -> "my/company": "http://my.company/shared/" -> } +> paths: { +> "my/company": "http://my.company/shared/" +> } > }); > ``` > diff --git a/docs/04_Essentials/variant-for-bootstrapping-from-content-delivery-network-2d3eb2f.md b/docs/04_Essentials/variant-for-bootstrapping-from-content-delivery-network-2d3eb2f.md index 507dfc08..edffdc45 100644 --- a/docs/04_Essentials/variant-for-bootstrapping-from-content-delivery-network-2d3eb2f.md +++ b/docs/04_Essentials/variant-for-bootstrapping-from-content-delivery-network-2d3eb2f.md @@ -26,13 +26,10 @@ The specific version allows you to select a particular fixed version for bootstr ```html - - + data-...="..." +> ``` The first segment of the URL after the host name is used to specify a concrete version, which needs to be provided in the following form: `release_number.version_number.patch_number`. For more information, see [Versioning and Maintenance of SAPUI5](../02_Read-Me-First/versioning-and-maintenance-of-sapui5-91f0214.md). @@ -49,11 +46,12 @@ The evergreen version allows you to automatically select the latest available pa

+ data-...="..." + > ``` @@ -82,19 +81,6 @@ The default version of our libraries has the generic URL [https://ui5.sap.com/re > ### Caution: > The default version is constantly being upgraded and this might have an impact on the stability of your application. Use this version for testing purposes only. -> -> If you want to use the default version, you can use the following bootstrap scripts: -> -> ```html -> -> -> ``` - ### Cache Control diff --git a/docs/05_Developing_Apps/create-an-index-html-file-f7cbafc.md b/docs/05_Developing_Apps/create-an-index-html-file-f7cbafc.md index 7b3f916f..db5d1939 100644 --- a/docs/05_Developing_Apps/create-an-index-html-file-f7cbafc.md +++ b/docs/05_Developing_Apps/create-an-index-html-file-f7cbafc.md @@ -19,16 +19,14 @@ A minimalistic `index.html` file is needed to test the project configuration. Th SAPUI5 Walkthrough - + data-sap-ui-async="true" + data-sap-ui-on-init="module:my/app/main" + data-sap-ui-resource-roots='{"my.app": "./"}' + > @@ -40,7 +38,7 @@ A minimalistic `index.html` file is needed to test the project configuration. Th **main.js** ```js - sap.ui.define(['sap/m/Text'], function(Text) { + sap.ui.define(["sap/m/Text"], function(Text) { new Text({ text: "OpenUI5 is loaded successfully!" }).placeAt("content"); @@ -51,7 +49,7 @@ A minimalistic `index.html` file is needed to test the project configuration. Th > ### Caution: > Adapt the path where the resources are located \(`src="/resources/sap-ui-core.js"`\) according to your installation. For OpenUI5 you can use `src="https://sdk.openui5.org/resources/sap-ui-core.js"`. For accessing SAPUI5 on the SAP Business Technology Platform, for example, use `src="https://ui5.sap.com/resources/sap-ui-core.js"`. > -> You can use this reference to the latest stable version of SAPUI5 for the tutorial or for testing purposes, but never use this for productive use. In an actual app, you always have to specify an SAPUI5 version explicitly. +> You can use this reference to the latest version of SAPUI5 for the tutorial or for testing purposes, but never use this for productive use. In an actual app, you always have to specify an SAPUI5 version explicitly. > > For more information, see [Variant for Bootstrapping from Content Delivery Network](../04_Essentials/variant-for-bootstrapping-from-content-delivery-network-2d3eb2f.md). diff --git a/docs/06_SAP_Fiori_Elements/creating-key-performance-indicators-8874399.md b/docs/06_SAP_Fiori_Elements/creating-key-performance-indicators-8874399.md index c9bedf63..969bb3a2 100644 --- a/docs/06_SAP_Fiori_Elements/creating-key-performance-indicators-8874399.md +++ b/docs/06_SAP_Fiori_Elements/creating-key-performance-indicators-8874399.md @@ -57,5 +57,5 @@ You can use any fragment but we recommend using the KPI building block to use th > > ``` -Check out our live example in the flexible programming model explorer at [Custom KPI Tags in List Report - Overview](https://sapui5.hana.ondemand.com/test-resources/sap/fe/core/fpmExplorer/index.html#/customElements/CustomKPITags/customKPIContent). +Check out our live example in the flexible programming model explorer at [Custom KPI Tags in List Report - Overview](https://ui5.sap.com/test-resources/sap/fe/core/fpmExplorer/index.html#/customElements/CustomKPITags/customKPIContent). diff --git a/docs/06_SAP_Fiori_Elements/defining-and-adapting-sections-facfea0.md b/docs/06_SAP_Fiori_Elements/defining-and-adapting-sections-facfea0.md index 798d1518..f1f9a644 100644 --- a/docs/06_SAP_Fiori_Elements/defining-and-adapting-sections-facfea0.md +++ b/docs/06_SAP_Fiori_Elements/defining-and-adapting-sections-facfea0.md @@ -250,7 +250,7 @@ To render a table in a section, follow these steps: > ] > ``` - Check out our live example in the flexible programming model explorer at [Table Extensibility](https://sapui5.hana.ondemand.com/test-resources/sap/fe/core/fpmExplorer/index.html#/controllerExtensions/tableExtensibility). + Check out our live example in the flexible programming model explorer at [Table Extensibility](https://ui5.sap.com/test-resources/sap/fe/core/fpmExplorer/index.html#/controllerExtensions/tableExtensibility). 2. To render a *Create* button, set `Org.OData.Capabilities.V1.InsertRestrictions/Insertable/Bool` to `true` for the entity set. For more information, see the section **Generic Actions** in [Adding Actions to Tables](adding-actions-to-tables-b623e0b.md). diff --git a/docs/06_SAP_Fiori_Elements/further-features-of-the-field-f49a0f7.md b/docs/06_SAP_Fiori_Elements/further-features-of-the-field-f49a0f7.md index 68f9cb88..6dfaa1c1 100644 --- a/docs/06_SAP_Fiori_Elements/further-features-of-the-field-f49a0f7.md +++ b/docs/06_SAP_Fiori_Elements/further-features-of-the-field-f49a0f7.md @@ -502,7 +502,7 @@ For example, `IsFiscalYearPeriod` indicates that the annotated `Edm.String` prop For more information about ABAP and CDS semantics annotations, see [Semantics Annotations](https://help.sap.com/docs/abap-cloud/abap-rap/semantics-annotations). -Check out our live example in the flexible programming model explorer at [Field - Fiscal types](https://sapui5.hana.ondemand.com/test-resources/sap/fe/core/fpmExplorer/index.html#/buildingBlocks/fieldFiscals). +Check out our live example in the flexible programming model explorer at [Field - Fiscal types](https://ui5.sap.com/test-resources/sap/fe/core/fpmExplorer/index.html#/buildingBlocks/fieldFiscals). From c4b918ac44890b052e327e7a3ed1e282dfc1a98d Mon Sep 17 00:00:00 2001 From: ditaccms-bot Date: Fri, 23 Aug 2024 08:06:18 +0000 Subject: [PATCH 10/19] Update from SAP DITA CMS (squashed): commit 7402a8ec65c701e6d18cdcee7703f29a443014ab Author: REDACTED Date: Thu Aug 22 13:01:17 2024 +0000 Update from SAP DITA CMS 2024-08-22 13:01:17 Project: dita-all/kzd1720691031928 Project map: 2b9bcd51c53b4d89b885a3e850c7601e.ditamap Output: loioa82e269bbb584cfcbdbd3ae8765d8e7f Language: en-US Builddable map: 5cbe4e5b4a19479a92b1d32ff23b7b63.ditamap commit 9b32a52eaa42663e93a2662297cbb8100f4205d2 Author: REDACTED Date: Thu Aug 22 12:32:17 2024 +0000 Update from SAP DITA CMS 2024-08-22 12:32:16 Project: dita-all/kzd1720691031928 Project map: 2b9bcd51c53b4d89b885a3e850c7601e.ditamap Output: loioa82e269bbb584cfcbdbd3ae8765d8e7f Language: en-US Builddable map: 5cbe4e5b4a19479a92b1d32ff23b7b63.ditamap commit 3e3940353075ff22fb613bcee9e4b967b593068b Author: REDACTED Date: Fri Aug 2 11:19:24 2024 +0000 Update from SAP DITA CMS 2024-08-02 11:19:24 Project: dita-all/kzd1720691031928 Project map: 2b9bcd51c53b4d89b885a3e850c7601e.ditamap Output: loioa82e269bbb584cfcbdbd3ae8765d8e7f Language: en-US Builddable map: 5cbe4e5b4a19479a92b1d32ff23b7b63.ditamap ################################################## [Remaining squash message was removed before commit...] --- .../images/Image_Map_What_s_New_60070cb.png | Bin 4015 -> 3986 bytes .../what-s-new-in-sapui5-1-100-27dec1d.md | 2 + .../what-s-new-in-sapui5-1-101-7733b00.md | 2 + .../what-s-new-in-sapui5-1-102-f038c99.md | 4 +- .../what-s-new-in-sapui5-1-103-0e98c76.md | 2 + .../what-s-new-in-sapui5-1-104-69e567c.md | 2 + .../what-s-new-in-sapui5-1-105-4d6c00e.md | 2 + .../what-s-new-in-sapui5-1-106-5b497b0.md | 2 + .../what-s-new-in-sapui5-1-107-d4ff916.md | 2 + .../what-s-new-in-sapui5-1-108-66e33f0.md | 2 + .../what-s-new-in-sapui5-1-109-3264bd2.md | 2 + .../what-s-new-in-sapui5-1-110-71a855c.md | 2 + .../what-s-new-in-sapui5-1-111-7a67837.md | 2 + .../what-s-new-in-sapui5-1-112-34afc69.md | 2 + .../what-s-new-in-sapui5-1-113-a9553fe.md | 2 + .../what-s-new-in-sapui5-1-114-890fce1.md | 2 + .../what-s-new-in-sapui5-1-115-409fde8.md | 2 + .../what-s-new-in-sapui5-1-116-ebd6f34.md | 2 + .../what-s-new-in-sapui5-1-117-029d3b4.md | 2 + .../what-s-new-in-sapui5-1-118-3eecbde.md | 2 + .../what-s-new-in-sapui5-1-119-0b1903a.md | 2 + .../what-s-new-in-sapui5-1-120-2359b63.md | 2 + .../what-s-new-in-sapui5-1-121-91a4a2f.md | 2 + .../what-s-new-in-sapui5-1-122-5d078da.md | 2 + .../what-s-new-in-sapui5-1-123-9d00ac7.md | 4 +- .../what-s-new-in-sapui5-1-124-7f77c3f.md | 4 +- .../what-s-new-in-sapui5-1-125-9d87044.md | 153 +++++ .../what-s-new-in-sapui5-1-126-1d98116.md | 77 --- .../what-s-new-in-sapui5-1-127-e5e1317.md | 554 ++++++++++++++++++ .../what-s-new-in-sapui5-1-38-f218918.md | 2 + .../what-s-new-in-sapui5-1-40-fbab50e.md | 2 + .../what-s-new-in-sapui5-1-42-468b05d.md | 2 + .../what-s-new-in-sapui5-1-44-a0cb7a0.md | 2 + .../what-s-new-in-sapui5-1-46-6307539.md | 2 + .../what-s-new-in-sapui5-1-48-fa1efac.md | 2 + .../what-s-new-in-sapui5-1-50-759e9f3.md | 2 + .../what-s-new-in-sapui5-1-52-849e1b6.md | 2 + .../what-s-new-in-sapui5-1-54-c838330.md | 2 + .../what-s-new-in-sapui5-1-56-108b7fd.md | 2 + .../what-s-new-in-sapui5-1-58-7c927aa.md | 2 + .../what-s-new-in-sapui5-1-60-5a0e1f7.md | 4 +- .../what-s-new-in-sapui5-1-61-d991552.md | 2 + .../what-s-new-in-sapui5-1-62-771f4d5.md | 2 + .../what-s-new-in-sapui5-1-63-e8d9da7.md | 2 + .../what-s-new-in-sapui5-1-64-0e30822.md | 2 + .../what-s-new-in-sapui5-1-65-0f5acfd.md | 2 + .../what-s-new-in-sapui5-1-66-c9896e9.md | 2 + .../what-s-new-in-sapui5-1-67-a6b1472.md | 2 + .../what-s-new-in-sapui5-1-68-f94bf93.md | 2 + .../what-s-new-in-sapui5-1-69-89a18bd.md | 2 + .../what-s-new-in-sapui5-1-70-f073d69.md | 2 + .../what-s-new-in-sapui5-1-71-a93a6a3.md | 2 + .../what-s-new-in-sapui5-1-72-521cad9.md | 2 + .../what-s-new-in-sapui5-1-73-231dd13.md | 2 + .../what-s-new-in-sapui5-1-74-c22208a.md | 2 + .../what-s-new-in-sapui5-1-75-5cbb62d.md | 2 + .../what-s-new-in-sapui5-1-76-aad03b5.md | 2 + .../what-s-new-in-sapui5-1-77-c46b439.md | 2 + .../what-s-new-in-sapui5-1-78-f09b63e.md | 2 + .../what-s-new-in-sapui5-1-79-99c4cdc.md | 2 + .../what-s-new-in-sapui5-1-80-8cee506.md | 2 + .../what-s-new-in-sapui5-1-81-f5e2a21.md | 2 + .../what-s-new-in-sapui5-1-82-3a8dd13.md | 2 + .../what-s-new-in-sapui5-1-84-dc76640.md | 2 + .../what-s-new-in-sapui5-1-85-1d18eb5.md | 2 + .../what-s-new-in-sapui5-1-86-4c1c959.md | 2 + .../what-s-new-in-sapui5-1-87-b506da7.md | 2 + .../what-s-new-in-sapui5-1-88-e15a206.md | 2 + .../what-s-new-in-sapui5-1-89-e56cddc.md | 2 + .../what-s-new-in-sapui5-1-90-91c10c2.md | 4 +- .../what-s-new-in-sapui5-1-91-0a2bd79.md | 2 + .../what-s-new-in-sapui5-1-92-1ef345d.md | 2 + .../what-s-new-in-sapui5-1-93-f273340.md | 2 + .../what-s-new-in-sapui5-1-94-c40f1e6.md | 2 + .../what-s-new-in-sapui5-1-95-a1aea67.md | 2 + .../what-s-new-in-sapui5-1-96-7a9269f.md | 2 + .../what-s-new-in-sapui5-1-97-fa0e282.md | 2 + .../what-s-new-in-sapui5-1-98-d9f16f2.md | 2 + .../what-s-new-in-sapui5-1-99-4f35848.md | 2 + ...deprecated-themes-and-libraries-a87ca84.md | 74 +-- docs/02_Read-Me-First/upgrading-9638e4f.md | 4 + .../best-practices-for-developers-28fcd55.md | 11 +- docs/03_Get-Started/prerequisites-0e84ac7.md | 10 + ...viewer-with-single-file-loading-0e21912.md | 10 + .../step-1-browser-developer-tools-eadd60a.md | 6 +- .../step-1-hello-world-2680aa9.md | 10 + .../step-1-hello-world-typescript-c20489e.md | 10 + .../step-1-no-data-binding-4cde849.md | 18 +- docs/03_Get-Started/step-1-ready-851bde4.md | 10 + ...-10-descriptor-for-applications-8f93bf2.md | 4 +- ...est-suite-and-automated-testing-07c97a2.md | 2 +- .../step-25-remote-odata-service-4406244.md | 2 +- .../step-27-unit-test-with-qunit-e1ce1de.md | 2 +- ...-dynamic-page-for-the-list-view-0830bce.md | 6 +- .../step-4-diagnostics-window-04b75ea.md | 6 +- ...mart-filter-bar-and-smart-table-1daa462.md | 2 +- ...asic-example-how-to-use-gherkin-4b0c519.md | 15 +- .../component-metadata-0187ea5.md | 7 +- ...tion-options-and-url-parameters-91f2d03.md | 4 +- ...for-testing-controls-with-qunit-0ddcc60.md | 12 +- ...erimental-configuration-options-b474a71.md | 30 - ...nts-and-libraries-manifest-json-be0cf40.md | 2 +- .../drag-and-drop-metadata-da7f3fc.md | 2 + .../enhanced-theming-concepts-45df6df.md | 32 +- ...test-sapui5-controls-with-qunit-a6b0657.md | 2 +- ...nitialization-and-read-requests-fccfb2e.md | 2 +- docs/04_Essentials/logging-ebcf60c.md | 2 +- docs/04_Essentials/models-d2c8cf7.md | 2 +- docs/04_Essentials/models-e1b6259.md | 2 +- .../multiple-module-locations-1dfab2e.md | 46 +- .../odata-v4-metadata-json-format-87aac89.md | 135 ++++- .../04_Essentials/property-binding-91f0652.md | 2 +- ...-messages-in-the-odata-v4-model-fbe1cb5.md | 6 +- docs/04_Essentials/setting-themes-e9fc648.md | 4 +- ...rted-locales-and-fallback-chain-ec753bc.md | 10 +- docs/04_Essentials/theming-497c27a.md | 12 +- .../using-controller-extension-21515f0.md | 81 ++- ...g-from-content-delivery-network-2d3eb2f.md | 30 +- .../create-an-index-html-file-f7cbafc.md | 16 +- .../development-environment-7bb04e0.md | 12 +- docs/06_SAP_Fiori_Elements/actions-cbf16c5.md | 2 +- .../adding-actions-to-tables-b623e0b.md | 52 +- .../configuring-charts-653ed0f.md | 4 +- ...-fields-with-a-valid-date-range-215d803.md | 70 +++ ...nfiguring-default-filter-values-f27ad7b.md | 4 +- ...ations-sort-order-filter-values-49a6ba5.md | 55 ++ ...only-view-as-the-default-option-d074e26.md | 2 +- ...nfiguring-the-visual-filter-bar-33f3d80.md | 2 +- ...external-applications-to-tables-f6a8fd2.md | 2 +- ...ting-key-performance-indicators-8874399.md | 2 +- .../defining-and-adapting-sections-facfea0.md | 8 +- ...-entity-sets-and-table-settings-b6b59e4.md | 20 +- ...rent-representations-of-a-field-c18ada4.md | 2 + ...bling-the-editing-status-filter-8eb695a.md | 61 +- .../draft-handling-ed9aa41.md | 2 +- ...tions-in-the-object-page-header-5fe4396.md | 12 +- ...-an-app-for-key-user-adaptation-ccd45ba.md | 2 +- ...diting-using-a-dialog-mass-edit-965ef5b.md | 6 +- ...og-mass-edit-in-the-list-report-7cc4f04.md | 2 +- ...mpty-row-mode-for-table-entries-cfb04f0.md | 124 ++-- ...ng-multiple-selection-in-tables-116b5d8.md | 6 +- ...quick-views-for-link-navigation-307ced1.md | 99 +++- ...tic-operators-in-the-filter-bar-fef65d0.md | 4 +- .../enabling-stream-support-b236d32.md | 4 +- .../enabling-table-personalization-3e2b4d2.md | 12 +- .../enabling-the-search-function-3cdebee.md | 2 + ...abling-the-upload-functionality-d59dbec.md | 84 +++ ...-annotations-for-visual-filters-16d43eb.md | 2 +- .../extension-points-for-tables-d525522.md | 2 +- .../field-help-a5608ea.md | 6 +- .../further-features-of-the-field-f49a0f7.md | 2 +- .../grouping-of-fields-7d7a0c4.md | 2 +- .../grouping-of-fields-cb1748e.md | 2 +- .../line-micro-chart-e5cb2af.md | 2 +- .../localization-of-ui-texts-b8cb649.md | 4 +- ...ple-views-on-list-report-tables-a37df40.md | 3 + ...from-an-app-outbound-navigation-d782acf.md | 10 +- .../sap-fiori-elements-feature-map-62d3f7c.md | 2 +- .../setting-the-table-type-7f844f1.md | 2 + .../table-groupings-d344c5a.md | 20 +- .../the-chart-building-block-52d065a.md | 2 +- .../the-share-functionality-022bf0d.md | 57 +- ...e-microsoft-teams-functionality-ff89e4b.md | 108 ++++ ...l-for-context-dependent-actions-5b0b686.md | 2 +- .../using-side-effect-events-27c9c3b.md | 99 ++++ ....md => using-the-export-button-4bab6f2.md} | 15 +- .../visual-filters-1714720.md | 6 +- .../filter-bar-2ae520a.md | 10 + .../smart-filter-bar-7bcdffc.md | 16 + .../smart-table-bed8274.md | 4 +- docs/index.md | 11 +- ...i-development-toolkit-for-html5-95d113b.md | 2 +- 172 files changed, 2032 insertions(+), 603 deletions(-) create mode 100644 docs/01_Whats-New/what-s-new-in-sapui5-1-127-e5e1317.md create mode 100644 docs/06_SAP_Fiori_Elements/configuring-date-fields-with-a-valid-date-range-215d803.md create mode 100644 docs/06_SAP_Fiori_Elements/enabling-the-upload-functionality-d59dbec.md create mode 100644 docs/06_SAP_Fiori_Elements/the-share-microsoft-teams-functionality-ff89e4b.md create mode 100644 docs/06_SAP_Fiori_Elements/using-side-effect-events-27c9c3b.md rename docs/06_SAP_Fiori_Elements/{using-the-export-feature-4bab6f2.md => using-the-export-button-4bab6f2.md} (92%) diff --git a/docs/01_Whats-New/images/Image_Map_What_s_New_60070cb.png b/docs/01_Whats-New/images/Image_Map_What_s_New_60070cb.png index 9efbd978aacf19536d872e2f5193bb75ce6bb9c2..b14c43bbab35f7976e92ddc1c19fb5697b108de6 100644 GIT binary patch literal 3986 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 literal 4015 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 S-M!hDYXe;qotj(7Xa5G`^SWOE diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-100-27dec1d.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-100-27dec1d.md index 7415b898..ea7ad430 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-100-27dec1d.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-100-27dec1d.md @@ -553,6 +553,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-101-7733b00.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-101-7733b00.md index 81bd7029..ceca4c39 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-101-7733b00.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-101-7733b00.md @@ -773,6 +773,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-102-f038c99.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-102-f038c99.md index 7a6752e2..a438c865 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-102-f038c99.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-102-f038c99.md @@ -813,7 +813,7 @@ The following changes and new features are available for SAP Fiori elements for - We now support the synchronization of data between pages when using the flexible column layout. For more information, see [Enabling the Flexible Column Layout](../06_SAP_Fiori_Elements/enabling-the-flexible-column-layout-e762257.md). -- You can now also export a table to PDF. For more information, see [Using the Export Feature](../06_SAP_Fiori_Elements/using-the-export-feature-4bab6f2.md). +- You can now also export a table to PDF. For more information, see [Using the Export Button](../06_SAP_Fiori_Elements/using-the-export-button-4bab6f2.md). - We've made additional minor adaptations to the dialog for handling draft changes, for example for navigation, which results in the following UI changes: @@ -1001,6 +1001,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-103-0e98c76.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-103-0e98c76.md index 5f84afc5..40bf0d61 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-103-0e98c76.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-103-0e98c76.md @@ -483,6 +483,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-104-69e567c.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-104-69e567c.md index 0a01f869..a2f594f7 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-104-69e567c.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-104-69e567c.md @@ -326,6 +326,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-105-4d6c00e.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-105-4d6c00e.md index d0cbb5e4..6206525c 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-105-4d6c00e.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-105-4d6c00e.md @@ -691,6 +691,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-106-5b497b0.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-106-5b497b0.md index 7e81bb2c..067c7ec2 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-106-5b497b0.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-106-5b497b0.md @@ -657,6 +657,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-107-d4ff916.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-107-d4ff916.md index b5d1a7e0..46a30186 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-107-d4ff916.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-107-d4ff916.md @@ -577,6 +577,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-108-66e33f0.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-108-66e33f0.md index 62fc1a93..724b50af 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-108-66e33f0.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-108-66e33f0.md @@ -733,6 +733,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-109-3264bd2.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-109-3264bd2.md index 89352a6b..a55a68f1 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-109-3264bd2.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-109-3264bd2.md @@ -669,6 +669,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-110-71a855c.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-110-71a855c.md index 4dc91e55..49779bf6 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-110-71a855c.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-110-71a855c.md @@ -1030,6 +1030,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-111-7a67837.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-111-7a67837.md index 625b1ba1..da2148ab 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-111-7a67837.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-111-7a67837.md @@ -775,6 +775,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-112-34afc69.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-112-34afc69.md index bff90719..f7cc0c08 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-112-34afc69.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-112-34afc69.md @@ -493,6 +493,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-113-a9553fe.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-113-a9553fe.md index 6fafdf7c..b12419a2 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-113-a9553fe.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-113-a9553fe.md @@ -1169,6 +1169,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-114-890fce1.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-114-890fce1.md index b381a1f6..aaf73c20 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-114-890fce1.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-114-890fce1.md @@ -524,6 +524,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-115-409fde8.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-115-409fde8.md index ac1b3644..3555d10e 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-115-409fde8.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-115-409fde8.md @@ -713,6 +713,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-116-ebd6f34.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-116-ebd6f34.md index aad9d0b5..69202902 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-116-ebd6f34.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-116-ebd6f34.md @@ -701,6 +701,8 @@ Required **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-117-029d3b4.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-117-029d3b4.md index 63c1ac4f..dc03a219 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-117-029d3b4.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-117-029d3b4.md @@ -1055,6 +1055,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-118-3eecbde.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-118-3eecbde.md index b9b7d451..4ae207af 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-118-3eecbde.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-118-3eecbde.md @@ -821,6 +821,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-119-0b1903a.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-119-0b1903a.md index 1c30cf0d..1cc66ddb 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-119-0b1903a.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-119-0b1903a.md @@ -886,6 +886,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-120-2359b63.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-120-2359b63.md index 0bc485c3..d85fb788 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-120-2359b63.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-120-2359b63.md @@ -1395,6 +1395,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-121-91a4a2f.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-121-91a4a2f.md index c8ff1cc2..171b3fd8 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-121-91a4a2f.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-121-91a4a2f.md @@ -1937,6 +1937,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-122-5d078da.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-122-5d078da.md index 49ee5200..d4184f16 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-122-5d078da.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-122-5d078da.md @@ -824,6 +824,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-123-9d00ac7.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-123-9d00ac7.md index e77dfed9..36b639e4 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-123-9d00ac7.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-123-9d00ac7.md @@ -75,7 +75,7 @@ SAP Fiori Elements The following changes and new features are available for SAP Fiori elements for OData V4: -- You can now set a request size limit for the export in a table using the `exportRequestSize` parameter defined in the manifest or the `Table` building block. For more information, see [Using the Export Feature](../06_SAP_Fiori_Elements/using-the-export-feature-4bab6f2.md). +- You can now set a request size limit for the export in a table using the `exportRequestSize` parameter defined in the manifest or the `Table` building block. For more information, see [Using the Export Button](../06_SAP_Fiori_Elements/using-the-export-button-4bab6f2.md). - For the `Table` building block and the `Chart` building block, we now provide getter and setter methods for the `SelectionVariant`. For more information, see [The Table Building Block](../06_SAP_Fiori_Elements/the-table-building-block-3801656.md) and [The Chart Building Block](../06_SAP_Fiori_Elements/the-chart-building-block-52d065a.md). @@ -591,6 +591,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-124-7f77c3f.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-124-7f77c3f.md index 4bbbfc15..cc4c91df 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-124-7f77c3f.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-124-7f77c3f.md @@ -431,7 +431,7 @@ The following changes and new features are available for SAP Fiori elements for - You can now perform edit operations such as cut and paste, drag and drop, and create on tree tables within a list report or an object page. For more information, see [Tree Tables](../06_SAP_Fiori_Elements/tree-tables-7cf7a31.md). -- You can now perform certain configurations to define how columns are exported to a spreadsheet. For more information, see [Using the Export Feature](../06_SAP_Fiori_Elements/using-the-export-feature-4bab6f2.md). +- You can now perform certain configurations to define how columns are exported to a spreadsheet. For more information, see [Using the Export Button](../06_SAP_Fiori_Elements/using-the-export-button-4bab6f2.md). - We now support a new building block for the tree table. For more information, see [Tree Tables](../06_SAP_Fiori_Elements/tree-tables-7cf7a31.md). @@ -1027,6 +1027,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") [What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-125-9d87044.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-125-9d87044.md index bb1d6c95..39ab6d6a 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-125-9d87044.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-125-9d87044.md @@ -681,3 +681,156 @@ Info Only +**Related Information** + + +[What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") + +[What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") + +[What's New in SAPUI5 1.122](what-s-new-in-sapui5-1-122-5d078da.md "With this release SAPUI5 is upgraded from version 1.121 to 1.122.") + +[What's New in SAPUI5 1.121](what-s-new-in-sapui5-1-121-91a4a2f.md "With this release SAPUI5 is upgraded from version 1.120 to 1.121.") + +[What's New in SAPUI5 1.120](what-s-new-in-sapui5-1-120-2359b63.md "With this release SAPUI5 is upgraded from version 1.119 to 1.120.") + +[What's New in SAPUI5 1.119](what-s-new-in-sapui5-1-119-0b1903a.md "With this release SAPUI5 is upgraded from version 1.118 to 1.119.") + +[What's New in SAPUI5 1.118](what-s-new-in-sapui5-1-118-3eecbde.md "With this release SAPUI5 is upgraded from version 1.117 to 1.118.") + +[What's New in SAPUI5 1.117](what-s-new-in-sapui5-1-117-029d3b4.md "With this release SAPUI5 is upgraded from version 1.116 to 1.117.") + +[What's New in SAPUI5 1.116](what-s-new-in-sapui5-1-116-ebd6f34.md "With this release SAPUI5 is upgraded from version 1.115 to 1.116.") + +[What's New in SAPUI5 1.115](what-s-new-in-sapui5-1-115-409fde8.md "With this release SAPUI5 is upgraded from version 1.114 to 1.115.") + +[What's New in SAPUI5 1.114](what-s-new-in-sapui5-1-114-890fce1.md "With this release SAPUI5 is upgraded from version 1.113 to 1.114.") + +[What's New in SAPUI5 1.113](what-s-new-in-sapui5-1-113-a9553fe.md "With this release SAPUI5 is upgraded from version 1.112 to 1.113.") + +[What's New in SAPUI5 1.112](what-s-new-in-sapui5-1-112-34afc69.md "With this release SAPUI5 is upgraded from version 1.111 to 1.112.") + +[What's New in SAPUI5 1.111](what-s-new-in-sapui5-1-111-7a67837.md "With this release SAPUI5 is upgraded from version 1.110 to 1.111.") + +[What's New in SAPUI5 1.110](what-s-new-in-sapui5-1-110-71a855c.md "With this release SAPUI5 is upgraded from version 1.109 to 1.110.") + +[What's New in SAPUI5 1.109](what-s-new-in-sapui5-1-109-3264bd2.md "With this release SAPUI5 is upgraded from version 1.108 to 1.109.") + +[What's New in SAPUI5 1.108](what-s-new-in-sapui5-1-108-66e33f0.md "With this release SAPUI5 is upgraded from version 1.107 to 1.108.") + +[What's New in SAPUI5 1.107](what-s-new-in-sapui5-1-107-d4ff916.md "With this release SAPUI5 is upgraded from version 1.106 to 1.107.") + +[What's New in SAPUI5 1.106](what-s-new-in-sapui5-1-106-5b497b0.md "With this release SAPUI5 is upgraded from version 1.105 to 1.106.") + +[What's New in SAPUI5 1.105](what-s-new-in-sapui5-1-105-4d6c00e.md "With this release SAPUI5 is upgraded from version 1.104 to 1.105.") + +[What's New in SAPUI5 1.104](what-s-new-in-sapui5-1-104-69e567c.md "With this release SAPUI5 is upgraded from version 1.103 to 1.104.") + +[What's New in SAPUI5 1.103](what-s-new-in-sapui5-1-103-0e98c76.md "With this release SAPUI5 is upgraded from version 1.102 to 1.103.") + +[What's New in SAPUI5 1.102](what-s-new-in-sapui5-1-102-f038c99.md "With this release SAPUI5 is upgraded from version 1.101 to 1.102.") + +[What's New in SAPUI5 1.101](what-s-new-in-sapui5-1-101-7733b00.md "With this release SAPUI5 is upgraded from version 1.100 to 1.101.") + +[What's New in SAPUI5 1.100](what-s-new-in-sapui5-1-100-27dec1d.md "With this release SAPUI5 is upgraded from version 1.99 to 1.100.") + +[What's New in SAPUI5 1.99](what-s-new-in-sapui5-1-99-4f35848.md "With this release SAPUI5 is upgraded from version 1.98 to 1.99.") + +[What's New in SAPUI5 1.98](what-s-new-in-sapui5-1-98-d9f16f2.md "With this release SAPUI5 is upgraded from version 1.97 to 1.98.") + +[What's New in SAPUI5 1.97](what-s-new-in-sapui5-1-97-fa0e282.md "With this release SAPUI5 is upgraded from version 1.96 to 1.97.") + +[What's New in SAPUI5 1.96](what-s-new-in-sapui5-1-96-7a9269f.md "With this release SAPUI5 is upgraded from version 1.95 to 1.96.") + +[What's New in SAPUI5 1.95](what-s-new-in-sapui5-1-95-a1aea67.md "With this release SAPUI5 is upgraded from version 1.94 to 1.95.") + +[What's New in SAPUI5 1.94](what-s-new-in-sapui5-1-94-c40f1e6.md "With this release SAPUI5 is upgraded from version 1.93 to 1.94.") + +[What's New in SAPUI5 1.93](what-s-new-in-sapui5-1-93-f273340.md "With this release SAPUI5 is upgraded from version 1.92 to 1.93.") + +[What's New in SAPUI5 1.92](what-s-new-in-sapui5-1-92-1ef345d.md "With this release SAPUI5 is upgraded from version 1.91 to 1.92.") + +[What's New in SAPUI5 1.91](what-s-new-in-sapui5-1-91-0a2bd79.md "With this release SAPUI5 is upgraded from version 1.90 to 1.91.") + +[What's New in SAPUI5 1.90](what-s-new-in-sapui5-1-90-91c10c2.md "With this release SAPUI5 is upgraded from version 1.89 to 1.90.") + +[What's New in SAPUI5 1.89](what-s-new-in-sapui5-1-89-e56cddc.md "With this release SAPUI5 is upgraded from version 1.88 to 1.89.") + +[What's New in SAPUI5 1.88](what-s-new-in-sapui5-1-88-e15a206.md "With this release SAPUI5 is upgraded from version 1.87 to 1.88.") + +[What's New in SAPUI5 1.87](what-s-new-in-sapui5-1-87-b506da7.md "With this release SAPUI5 is upgraded from version 1.86 to 1.87.") + +[What's New in SAPUI5 1.86](what-s-new-in-sapui5-1-86-4c1c959.md "With this release SAPUI5 is upgraded from version 1.85 to 1.86.") + +[What's New in SAPUI5 1.85](what-s-new-in-sapui5-1-85-1d18eb5.md "With this release SAPUI5 is upgraded from version 1.84 to 1.85.") + +[What's New in SAPUI5 1.84](what-s-new-in-sapui5-1-84-dc76640.md "With this release SAPUI5 is upgraded from version 1.82 to 1.84.") + +[What's New in SAPUI5 1.82](what-s-new-in-sapui5-1-82-3a8dd13.md "With this release SAPUI5 is upgraded from version 1.81 to 1.82.") + +[What's New in SAPUI5 1.81](what-s-new-in-sapui5-1-81-f5e2a21.md "With this release SAPUI5 is upgraded from version 1.80 to 1.81.") + +[What's New in SAPUI5 1.80](what-s-new-in-sapui5-1-80-8cee506.md "With this release SAPUI5 is upgraded from version 1.79 to 1.80.") + +[What's New in SAPUI5 1.79](what-s-new-in-sapui5-1-79-99c4cdc.md "With this release SAPUI5 is upgraded from version 1.78 to 1.79.") + +[What's New in SAPUI5 1.78](what-s-new-in-sapui5-1-78-f09b63e.md "With this release SAPUI5 is upgraded from version 1.77 to 1.78.") + +[What's New in SAPUI5 1.77](what-s-new-in-sapui5-1-77-c46b439.md "With this release SAPUI5 is upgraded from version 1.76 to 1.77.") + +[What's New in SAPUI5 1.76](what-s-new-in-sapui5-1-76-aad03b5.md "With this release SAPUI5 is upgraded from version 1.75 to 1.76.") + +[What's New in SAPUI5 1.75](what-s-new-in-sapui5-1-75-5cbb62d.md "With this release SAPUI5 is upgraded from version 1.74 to 1.75.") + +[What's New in SAPUI5 1.74](what-s-new-in-sapui5-1-74-c22208a.md "With this release SAPUI5 is upgraded from version 1.73 to 1.74.") + +[What's New in SAPUI5 1.73](what-s-new-in-sapui5-1-73-231dd13.md "With this release SAPUI5 is upgraded from version 1.72 to 1.73.") + +[What's New in SAPUI5 1.72](what-s-new-in-sapui5-1-72-521cad9.md "With this release SAPUI5 is upgraded from version 1.71 to 1.72.") + +[What's New in SAPUI5 1.71](what-s-new-in-sapui5-1-71-a93a6a3.md "With this release SAPUI5 is upgraded from version 1.70 to 1.71.") + +[What's New in SAPUI5 1.70](what-s-new-in-sapui5-1-70-f073d69.md "With this release SAPUI5 is upgraded from version 1.69 to 1.70.") + +[What's New in SAPUI5 1.69](what-s-new-in-sapui5-1-69-89a18bd.md "With this release SAPUI5 is upgraded from version 1.68 to 1.69.") + +[What's New in SAPUI5 1.68](what-s-new-in-sapui5-1-68-f94bf93.md "With this release SAPUI5 is upgraded from version 1.67 to 1.68.") + +[What's New in SAPUI5 1.67](what-s-new-in-sapui5-1-67-a6b1472.md "With this release SAPUI5 is upgraded from version 1.66 to 1.67.") + +[What's New in SAPUI5 1.66](what-s-new-in-sapui5-1-66-c9896e9.md "With this release SAPUI5 is upgraded from version 1.65 to 1.66.") + +[What's New in SAPUI5 1.65](what-s-new-in-sapui5-1-65-0f5acfd.md "With this release SAPUI5 is upgraded from version 1.64 to 1.65.") + +[What's New in SAPUI5 1.64](what-s-new-in-sapui5-1-64-0e30822.md "With this release SAPUI5 is upgraded from version 1.63 to 1.64.") + +[What's New in SAPUI5 1.63](what-s-new-in-sapui5-1-63-e8d9da7.md "With this release SAPUI5 is upgraded from version 1.62 to 1.63.") + +[What's New in SAPUI5 1.62](what-s-new-in-sapui5-1-62-771f4d5.md "With this release SAPUI5 is upgraded from version 1.61 to 1.62.") + +[What's New in SAPUI5 1.61](what-s-new-in-sapui5-1-61-d991552.md "With this release SAPUI5 is upgraded from version 1.60 to 1.61.") + +[What's New in SAPUI5 1.60](what-s-new-in-sapui5-1-60-5a0e1f7.md "With this release SAPUI5 is upgraded from version 1.58 to 1.60.") + +[What's New in SAPUI5 1.58](what-s-new-in-sapui5-1-58-7c927aa.md "With this release SAPUI5 is upgraded from version 1.56 to 1.58.") + +[What's New in SAPUI5 1.56](what-s-new-in-sapui5-1-56-108b7fd.md "With this release SAPUI5 is upgraded from version 1.54 to 1.56.") + +[What's New in SAPUI5 1.54](what-s-new-in-sapui5-1-54-c838330.md "With this release SAPUI5 is upgraded from version 1.52 to 1.54.") + +[What's New in SAPUI5 1.52](what-s-new-in-sapui5-1-52-849e1b6.md "With this release SAPUI5 is upgraded from version 1.50 to 1.52.") + +[What's New in SAPUI5 1.50](what-s-new-in-sapui5-1-50-759e9f3.md "With this release SAPUI5 is upgraded from version 1.48 to 1.50.") + +[What's New in SAPUI5 1.48](what-s-new-in-sapui5-1-48-fa1efac.md "With this release SAPUI5 is upgraded from version 1.46 to 1.48.") + +[What's New in SAPUI5 1.46](what-s-new-in-sapui5-1-46-6307539.md "With this release SAPUI5 is upgraded from version 1.44 to 1.46.") + +[What's New in SAPUI5 1.44](what-s-new-in-sapui5-1-44-a0cb7a0.md "With this release SAPUI5 is upgraded from version 1.42 to 1.44.") + +[What's New in SAPUI5 1.42](what-s-new-in-sapui5-1-42-468b05d.md "With this release SAPUI5 is upgraded from version 1.40 to 1.42.") + +[What's New in SAPUI5 1.40](what-s-new-in-sapui5-1-40-fbab50e.md "With this release SAPUI5 is upgraded from version 1.38 to 1.40.") + +[What's New in SAPUI5 1.38](what-s-new-in-sapui5-1-38-f218918.md "With this release SAPUI5 is upgraded from version 1.36 to 1.38.") + diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-126-1d98116.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-126-1d98116.md index 32372d70..4a7819f2 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-126-1d98116.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-126-1d98116.md @@ -1,7 +1,5 @@ - - # What's New in SAPUI5 1.126 With this release SAPUI5 is upgraded from version 1.125 to 1.126. @@ -9,9 +7,6 @@ With this release SAPUI5 is upgraded from version 1.125 to 1.126. > ### Tip: > If you want to do a search across all versions of the What's New content, you can also find it in the [SAPUI5 What's New viewer](https://help.sap.com/whats-new/67f60363b57f4ac0b23efd17fa192d60). -> ### Note: -> Content marked as **[Preview](https://help.sap.com/docs/whats-new-disclaimer)** is provided as a courtesy, without a warranty, and may be subject to change. For more information, see the [preview disclaimer](https://help.sap.com/docs/whats-new-disclaimer). - **** @@ -56,78 +51,6 @@ Available as of -Upcoming - - - - -Deleted - - - - -Announcement - - - - -**End of Cloud Provisioning for SAPUI5 Versions \(Q3/2024\)** - - - - -**End of Cloud Provisioning for SAPUI5 Versions \(Q3/2024\)** - -> ### Note: -> The following information concerns important upcoming changes for end users. These changes may require end users to adjust and/or test cases to be adapted, but they won't stop or disrupt software or processes. - -The following SAPUI5 versions will be removed from the SAPUI5 Content Delivery Network \(CDN\) after the end of Q3/2024. - -**Minor Versions Reaching Their End of Cloud Provisioning** - -The following versions including all patches will be removed entirely: - -- 1.114 -- 1.115 -- 1.116 -- 1.117 -- 1.118 - -**Action**: Upgrade to a version that is still in maintenance. - -**Patch Versions Reaching Their End of Cloud Provisioning** - -The following patches will be removed: - -- Long-term maintenance versions: - - - 1.71.58 - - 1.84.35 to 1.84.36 - - 1.96.23 to 1.96.24 - - 1.108.19 to 1.108.22 - - **Action**: Upgrade to the latest available patch for the respective SAPUI5 version. - - -For more information, see [Version Overview](https://ui5.sap.com/versionoverview.html). - -**[Preview](https://help.sap.com/docs/whats-new-disclaimer)**•Deleted•Announcement•Info Only•Upcoming - - - - -Info Only - - - - -9999-01-01 - - - - - - 1.126 diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-127-e5e1317.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-127-e5e1317.md new file mode 100644 index 00000000..e6ec10ae --- /dev/null +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-127-e5e1317.md @@ -0,0 +1,554 @@ + + + + +# What's New in SAPUI5 1.127 + +With this release SAPUI5 is upgraded from version 1.126 to 1.127. + +> ### Tip: +> If you want to do a search across all versions of the What's New content, you can also find it in the [SAPUI5 What's New viewer](https://help.sap.com/whats-new/67f60363b57f4ac0b23efd17fa192d60). + +> ### Note: +> Content marked as **[Preview](https://help.sap.com/docs/whats-new-disclaimer)** is provided as a courtesy, without a warranty, and may be subject to change. For more information, see the [preview disclaimer](https://help.sap.com/docs/whats-new-disclaimer). + +**** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +Version + + + +Type + + + +Category + + + +Title + + + +Description + + + +Action + + + +Available as of + +
+ +1.127 + + + +Changed + + + +Control + + + +**`sap.ui.mdc.Chart` \(experimental\)** + + + +**`sap.ui.mdc.Chart` \(experimental\)** + +To support time series for the chart, we have now implemented time dimensions. We have introduced the `timeUnitType` property for `PropertyInfo` to enable this feature. For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.mdc.chart.PropertyInfo%23properties). + +Changed•Control•Info Only•1.127 + + + +Info Only + + + +2024-08-08 + +
+ +1.127 + + + +Changed + + + +Control + + + +**`sap.ui.mdc.FilterBar`, `sap.ui.mdc.Table`, `sap.ui.mdc.Chart` \(experimental\)** + + + +**`sap.ui.mdc.FilterBar`, `sap.ui.mdc.Table`, `sap.ui.mdc.Chart` \(experimental\)** + +To validate `p13n`-relevant metadata in the application, we have implemented a consistency check that compares the result returned by the `fetchProperties` property of the delegate against the `propertyInfo` property. If the provided `propertyInfo` is not a subset of the result, an error is thrown. This check is implemented in all controls with a `propertyInfo` property and a `fetchProperties` callback in the related delegate. + +Changed•Control•Info Only•1.127 + + + +Info Only + + + +2024-08-08 + +
+ +1.127 + + + +Changed + + + +SAP Fiori Elements + + + +**SAP Fiori Elements for OData V2** + + + +**SAP Fiori Elements for OData V2** + +The following changes and new features are available for SAP Fiori elements for OData V2: + +- In object pages, you can now use the manifest setting at the application level to configure tables in create mode. For more information, see [Enabling Inline Creation Mode or Empty Row Mode for Table Entries](../06_SAP_Fiori_Elements/enabling-inline-creation-mode-or-empty-row-mode-for-table-entries-cfb04f0.md). + +- We now support the mass edit feature for grid tables in list report pages. For more information, see [Enabling Editing Using a Dialog \(Mass Edit\) in the List Report](../06_SAP_Fiori_Elements/enabling-editing-using-a-dialog-mass-edit-in-the-list-report-7cc4f04.md). + + +Changed•SAP Fiori Elements•Info Only•1.127 + + + +Info Only + + + +2024-08-08 + +
+ +1.127 + + + +Changed + + + +SAP Fiori Elements + + + +**SAP Fiori Elements for OData V4** + + + +**SAP Fiori Elements for OData V4** + +The following changes and new features are available for SAP Fiori elements for OData V4: + +- We’ve now enabled the date picker with a minimum allowed date and a maximum allowed date. For more information, see [Configuring Date Fields with a Valid Date Range](../06_SAP_Fiori_Elements/configuring-object-page-features-d26d3dd.md). + +- You can now use the *Share: Microsoft Teams* \> *As Card* option to share the header facets and actions of an object page. For more information, see [The *Share* Functionality](../06_SAP_Fiori_Elements/the-share-functionality-022bf0d.md). + +- We now exclude columns that use 1:n navigation from table exports. For more information, see [Using the *Export* Button](../06_SAP_Fiori_Elements/using-the-export-button-4bab6f2.md). + +- We now support uploading files to a table. For more information, see [Enabling Upload Functionality](../06_SAP_Fiori_Elements/enabling-the-upload-functionality-d59dbec.md). + +- Tables in the analytical list page now provide a *Show Details* link for subtotals with various units. For more information, see [Table Groupings](../06_SAP_Fiori_Elements/table-groupings-d344c5a.md). + +- We now limit the search string to 1000 characters. For more information, see [Enabling the Search Function](../06_SAP_Fiori_Elements/enabling-the-search-function-3cdebee.md). + +- We now support annotations that allow masking of input fields. For more information, see [Different Representations of a Field](../06_SAP_Fiori_Elements/different-representations-of-a-field-c18ada4.md) . + +- You can now define a `sideEffectsEventsInteractionType` for each side effect event separately. For more information, see [Using Side Effect Events](../06_SAP_Fiori_Elements/using-side-effect-events-27c9c3b.md). + + +Changed•SAP Fiori Elements•Info Only•1.127 + + + +Info Only + + + +2024-08-08 + +
+ +1.127 + + + +Changed + + + +SAP Fiori Elements + + + +**SAP Fiori Elements for OData V4** + + + +**SAP Fiori Elements for OData V4** + +The following changes and new features are available for SAP Fiori elements for OData V4: + +We've made performance improvements for side effect annotations related to action calls. + +Previously, even when an action didn't have an annotated side effect, the full entity was read after executing the action. Now, if an action doesn't have a side effect annotation and the service supports state messages, the system implicitly reads the state messages. For performance optimization, SAP Fiori elements for OData V4 no longer fetches unnecessary data. As a result, it's possible that the required data for an action is no longer executed if you haven't annotated the corresponding side effect. + +SAP Fiori elements for OData V4 always aims to read only the required data. If applications want data to be refreshed after a change made by a user, or by calling an action, they must define a side effect. With this change, SAP Fiori elements no longer implicitly reads the full instance after the execution of an action. Instead, SAP Fiori elements relies on the definition of side effects. + +> ### Example: +> Your app contains an action that results in a status change on the UI, such as the delivery status of an item changing from *Sent* to *Delivered*. +> +> Until now the status changed automatically, because all app data was loaded. Now, if the UI requires any other side effects, you must ensure that a side effect annotation exists for the action. + +Changed•SAP Fiori Elements•Recommended•1.127 + + + +Recommended + + + +2024-08-08 + +
+ +1.127 + + + +Changed + + + +Control + + + +**`sap.ui.comp.smartfield.SmartField, sap.ui.comp.smartfilterbar.SmartFilterBar`** + + + +**`sap.ui.comp.smartfield.SmartField, sap.ui.comp.smartfilterbar.SmartFilterBar`** + +From now on, if a field has both an `isFiscal*` annotation \(`IsFiscalYear`, `IsFiscalPeriod`, `IsFiscalYearPeriod`, `IsFiscalQuarter`, `IsFiscalYearQuarter`, `IsFiscalWeek`, or `IsFiscalYearWeek`\) and the `isDigitSequence` annotation, the `isFiscal*` annotation takes precedence. + +Changed•Control•Info Only•1.127 + + + +Info Only + + + +2024-08-08 + +
+ +1.127 + + + +Changed + + + +Control + + + +**`sap.ui.comp.filterbar.FilterBar, sap.ui.comp.smartfilterbar.SmartFilterBar`** + + + +**`sap.ui.comp.filterbar.FilterBar, sap.ui.comp.smartfilterbar.SmartFilterBar`** + +Filter bar and smart filter bar now support SAP Companion. You can enable it by setting custom data with the `sap-ui-DocumentationRef` key. For more information, see [Filter Bar](../10_More_About_Controls/filter-bar-2ae520a.md) and [Smart Filter Bar](../10_More_About_Controls/smart-filter-bar-7bcdffc.md). + +Changed•Control•Info Only•1.127 + + + +Info Only + + + +2024-08-08 + +
+ +1.127 + + + +Changed + + + +Feature + + + +**CSS Custom Properties for Theming of Custom Controls / Applications** + + + +**CSS Custom Properties for Theming of Custom Controls/Applications** + +We have included the theming parameters from the SAP Theming Base Content as CSS custom properties in the Horizon and Quartz themes of SAPUI5. You can now use them in your CSS for your custom controls or applications. We have also extended the Theme Parameter Toolbox to display the CSS custom properties for the Horizon and Quartz themes by default. The previous experimental `xx-css-variables` configuration option is no longer available. + +For more information, see [CSS Variables, Functions, and More](../04_Essentials/enhanced-theming-concepts-45df6df.md#loio45df6dff504647c686ab9ba72af827f6__section_CSS), [Theming](../04_Essentials/theming-497c27a.md), and [Theme Parameter Toolbox](https://ui5.sap.com/test-resources/sap/m/demokit/theming/webapp/index.html). + +Changed•Feature•Info Only•1.127 + + + +Info Only + + + +2024-08-08 + +
+ +1.127 + + + +Changed + + + +Feature + + + +**TypeScript** + + + +**TypeScript** + +Support for controller extensions in TypeScript is now complete, comprising now also the use of extensions implemented by others in your own controller in addition to the modification of controllers implemented by others with your own extension. + +For more information, see [Using Controller Extension with TypeScript](../04_Essentials/using-controller-extension-21515f0.md#loio21515f09c0324218bb705b27407f5d61__section_UCETS). + +Changed•Feature•Info Only•1.127 + + + +Info Only + + + +2024-08-08 + +
+ +1.127 + + + +Changed + + + +Feature + + + +**SAPUI5 OData V4 Model** + + + +**SAPUI5 OData V4 Model** + +The new version of the SAPUI5 OData V4 model introduces the following features: + +- We have improved the experimental `OneWay` binding support for property bindings for structural properties that have a complex type. Updates on the client are now properly reflected. + + For more information, see [Property Binding With an Object Value](../04_Essentials/initialization-and-read-requests-fccfb2e.md#loiofccfb2eb41414f0792c165e69a878717__section_PBOV). + +- We have added the experimental `iLevels` parameter to `sap.ui.model.odata.v4.Context#expand`. Note that it must not be used in productive applications yet. + + For more information, see the [API Reference](https://ui5.sap.com/#/api/sap.ui.model.odata.v4.Context%23methods/expand). + + +Changed•Feature•Info Only•1.127 + + + +Info Only + + + +2024-08-08 + +
+ +1.127 + + + +Changed + + + +Control + + + +**`sap.m.Menu` and `sap.ui.unified.Menu`** + + + +**`sap.m.Menu` and `sap.ui.unified.Menu`** + +You can now set the menu items of these controls to be selectable. To make this possible, we have introduced the `sap.m.MenuItemGroup` and `sap.ui.unified.MenuItemGroup` controls. You have three options to define the selection mode for a group of items: `None` \(default\), `SingleSelect`, and `MultiSelect`. For more information, see the [sap.m.MenuItemGroup](https://ui5.sap.com/#/api/sap.m.MenuItemGroup) and [sap.ui.unified.MenuItemGroup](https://ui5.sap.com/#/api/sap.ui.unified.MenuItemGroup) API references . + +Changed•Control•Info Only•1.127 + + + +Info Only + + + +2024-08-08 + +
+ diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-38-f218918.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-38-f218918.md index 07d16529..79bb4456 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-38-f218918.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-38-f218918.md @@ -2192,6 +2192,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-40-fbab50e.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-40-fbab50e.md index 701246c2..f63cdb4c 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-40-fbab50e.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-40-fbab50e.md @@ -1136,6 +1136,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-42-468b05d.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-42-468b05d.md index 95ec2736..cfb64046 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-42-468b05d.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-42-468b05d.md @@ -1602,6 +1602,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-44-a0cb7a0.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-44-a0cb7a0.md index f8f0c2a2..6cea24b8 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-44-a0cb7a0.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-44-a0cb7a0.md @@ -1262,6 +1262,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-46-6307539.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-46-6307539.md index 96d0b269..a288a4a8 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-46-6307539.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-46-6307539.md @@ -1715,6 +1715,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-48-fa1efac.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-48-fa1efac.md index 782792bd..e8d791fd 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-48-fa1efac.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-48-fa1efac.md @@ -1961,6 +1961,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-50-759e9f3.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-50-759e9f3.md index cbd55892..c63497b5 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-50-759e9f3.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-50-759e9f3.md @@ -1581,6 +1581,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-52-849e1b6.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-52-849e1b6.md index 6b0a0016..4439b506 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-52-849e1b6.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-52-849e1b6.md @@ -1942,6 +1942,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-54-c838330.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-54-c838330.md index afacd67f..62db4dc9 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-54-c838330.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-54-c838330.md @@ -2151,6 +2151,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-56-108b7fd.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-56-108b7fd.md index b9a98cc0..e0f69fb3 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-56-108b7fd.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-56-108b7fd.md @@ -1680,6 +1680,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-58-7c927aa.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-58-7c927aa.md index 9fe0fba5..f8714672 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-58-7c927aa.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-58-7c927aa.md @@ -1762,6 +1762,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-60-5a0e1f7.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-60-5a0e1f7.md index c055d7c6..df9aff73 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-60-5a0e1f7.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-60-5a0e1f7.md @@ -703,7 +703,7 @@ Control - We have implemented a dropdown list with a two-column layout. You can now use the `MultiComboBox` with a two-column layout to display additional information for your options. To enable this feature, you need to set the `showSecondaryValues` property to `true`. This feature was initially available only for the `ComboBox` and has now been enabled for the `MultiComboBox` as well. This property indicates whether the text values of the `additionalText` property of a `sap.ui.core.ListItem` are shown.For more information, see the [Sample](https://ui5.sap.com/#/sample/sap.m.sample.MultiComboBoxTwoColumnsLayout/preview). -- We have introduced grouping in the suggestion list of `sap.m.MultiComboBox`. This feature allows you to easily group items by common characteristics and to display a header describing the characteristics for each group. If data binding is used, grouping is defined on the `Sorter` in data binding. Alternatively, a group header could be added programmatically, as an instance of `sap.ui.core.SeparatorItem` with `key` and/or `text` properties, by adding it to the `items` aggregation of the `sap.m.MultiComboBox` control.For more information, see the [Sample](https://ui5.sap.com/#/sample/sap.m.sample.MultiComboBoxGrouping/preview). +- We have introduced grouping in the suggestion list of `sap.m.MultiComboBox`. This feature allows you to easily group items by common characteristics and to display a header describing the characteristics for each group. If data binding is used, grouping is defined on the `Sorter` in data binding. Alternatively, a group header could be added programmatically, as an instance of `sap.ui.core.SeparatorItem` with `key` and/or `text` properties, by adding it to the `items` aggregation of the `sap.m.MultiComboBox` control.For more information, see the [Sample](https://sdk.openui5.org/#/sample/sap.m.sample.MultiComboBoxGrouping/preview). Changed•Control•Info Only•1.60 @@ -1584,6 +1584,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-61-d991552.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-61-d991552.md index 7b1fbf06..4a43ea25 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-61-d991552.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-61-d991552.md @@ -938,6 +938,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-62-771f4d5.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-62-771f4d5.md index 110467bd..9bb8416f 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-62-771f4d5.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-62-771f4d5.md @@ -868,6 +868,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-63-e8d9da7.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-63-e8d9da7.md index 2fdeaf23..4643d615 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-63-e8d9da7.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-63-e8d9da7.md @@ -810,6 +810,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-64-0e30822.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-64-0e30822.md index e84a28fe..608bb9f5 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-64-0e30822.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-64-0e30822.md @@ -865,6 +865,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-65-0f5acfd.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-65-0f5acfd.md index 2b009bcf..7b05e71f 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-65-0f5acfd.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-65-0f5acfd.md @@ -857,6 +857,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-66-c9896e9.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-66-c9896e9.md index 33623aeb..028d3623 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-66-c9896e9.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-66-c9896e9.md @@ -723,6 +723,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-67-a6b1472.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-67-a6b1472.md index 6d89ff3d..bab03d1b 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-67-a6b1472.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-67-a6b1472.md @@ -543,6 +543,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-68-f94bf93.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-68-f94bf93.md index 5e5ac0eb..0c72d13e 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-68-f94bf93.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-68-f94bf93.md @@ -630,6 +630,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-69-89a18bd.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-69-89a18bd.md index 75a13dcd..99a3358e 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-69-89a18bd.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-69-89a18bd.md @@ -837,6 +837,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-70-f073d69.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-70-f073d69.md index f9fc253d..63fadd2e 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-70-f073d69.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-70-f073d69.md @@ -651,6 +651,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-71-a93a6a3.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-71-a93a6a3.md index 6eed05f9..b72443d5 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-71-a93a6a3.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-71-a93a6a3.md @@ -1042,6 +1042,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-72-521cad9.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-72-521cad9.md index d7228419..b67c9da2 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-72-521cad9.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-72-521cad9.md @@ -1019,6 +1019,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-73-231dd13.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-73-231dd13.md index 1d7091e0..3881e039 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-73-231dd13.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-73-231dd13.md @@ -1049,6 +1049,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-74-c22208a.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-74-c22208a.md index 6ffc4e72..2fdf77f4 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-74-c22208a.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-74-c22208a.md @@ -1269,6 +1269,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-75-5cbb62d.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-75-5cbb62d.md index 5b1353c2..4adef3cd 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-75-5cbb62d.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-75-5cbb62d.md @@ -849,6 +849,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-76-aad03b5.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-76-aad03b5.md index 08580327..4ad5794b 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-76-aad03b5.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-76-aad03b5.md @@ -907,6 +907,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-77-c46b439.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-77-c46b439.md index 63083313..f64cd3dd 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-77-c46b439.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-77-c46b439.md @@ -893,6 +893,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-78-f09b63e.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-78-f09b63e.md index a2e8c6bd..3037dbef 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-78-f09b63e.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-78-f09b63e.md @@ -707,6 +707,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-79-99c4cdc.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-79-99c4cdc.md index 0d1f270b..9240358d 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-79-99c4cdc.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-79-99c4cdc.md @@ -572,6 +572,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-80-8cee506.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-80-8cee506.md index 5e999f63..446ec899 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-80-8cee506.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-80-8cee506.md @@ -504,6 +504,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-81-f5e2a21.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-81-f5e2a21.md index a18888fb..dff31193 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-81-f5e2a21.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-81-f5e2a21.md @@ -849,6 +849,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-82-3a8dd13.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-82-3a8dd13.md index 0220d1e0..88bbf36b 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-82-3a8dd13.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-82-3a8dd13.md @@ -519,6 +519,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-84-dc76640.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-84-dc76640.md index 4510fe34..49c21e75 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-84-dc76640.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-84-dc76640.md @@ -1117,6 +1117,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-85-1d18eb5.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-85-1d18eb5.md index a123f440..a58b8af7 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-85-1d18eb5.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-85-1d18eb5.md @@ -610,6 +610,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-86-4c1c959.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-86-4c1c959.md index c5affe59..fe4b9082 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-86-4c1c959.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-86-4c1c959.md @@ -924,6 +924,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-87-b506da7.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-87-b506da7.md index 34c923c9..0874aef3 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-87-b506da7.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-87-b506da7.md @@ -1056,6 +1056,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-88-e15a206.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-88-e15a206.md index e1e68a23..ac679325 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-88-e15a206.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-88-e15a206.md @@ -970,6 +970,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-89-e56cddc.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-89-e56cddc.md index 0bb10f8e..071545ba 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-89-e56cddc.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-89-e56cddc.md @@ -688,6 +688,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-90-91c10c2.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-90-91c10c2.md index cea7ba0c..2c4321ce 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-90-91c10c2.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-90-91c10c2.md @@ -808,7 +808,7 @@ The following changes and new features are available for SAP Fiori elements for - Application developers can now extend controllers for a specific instance in an object page. For more information, see [Extending SAP Fiori Elements-Based Apps](../06_SAP_Fiori_Elements/extending-sap-fiori-elements-based-apps-358cf25.md). -- Application developers can now export the custom columns they have defined via manifest settings to a spreadsheet. For more information, see [Using the Export Feature](../06_SAP_Fiori_Elements/using-the-export-feature-4bab6f2.md). +- Application developers can now export the custom columns they have defined via manifest settings to a spreadsheet. For more information, see [Using the Export Button](../06_SAP_Fiori_Elements/using-the-export-button-4bab6f2.md). - SAP Fiori elements now supports path-based semantic objects for semantic links, so application developers can maintain different semantic objects for each item. For more information, see [Enabling Quick Views for Link Navigation](../06_SAP_Fiori_Elements/enabling-quick-views-for-link-navigation-307ced1.md). @@ -840,6 +840,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-91-0a2bd79.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-91-0a2bd79.md index 540bc78d..dba0c404 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-91-0a2bd79.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-91-0a2bd79.md @@ -493,6 +493,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-92-1ef345d.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-92-1ef345d.md index 60908b7f..bb04acf1 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-92-1ef345d.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-92-1ef345d.md @@ -633,6 +633,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-93-f273340.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-93-f273340.md index b620d8fb..fe00a405 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-93-f273340.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-93-f273340.md @@ -766,6 +766,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-94-c40f1e6.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-94-c40f1e6.md index f642a34e..a425a8b1 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-94-c40f1e6.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-94-c40f1e6.md @@ -570,6 +570,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-95-a1aea67.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-95-a1aea67.md index 0b154c6f..eae358ed 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-95-a1aea67.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-95-a1aea67.md @@ -480,6 +480,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-96-7a9269f.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-96-7a9269f.md index 8198fb97..66a784a5 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-96-7a9269f.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-96-7a9269f.md @@ -741,6 +741,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-97-fa0e282.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-97-fa0e282.md index 40c6d930..9de58659 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-97-fa0e282.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-97-fa0e282.md @@ -792,6 +792,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-98-d9f16f2.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-98-d9f16f2.md index ec2822d0..0a3373a0 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-98-d9f16f2.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-98-d9f16f2.md @@ -1074,6 +1074,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/01_Whats-New/what-s-new-in-sapui5-1-99-4f35848.md b/docs/01_Whats-New/what-s-new-in-sapui5-1-99-4f35848.md index 99bec799..c80f2bab 100644 --- a/docs/01_Whats-New/what-s-new-in-sapui5-1-99-4f35848.md +++ b/docs/01_Whats-New/what-s-new-in-sapui5-1-99-4f35848.md @@ -580,6 +580,8 @@ Info Only **Related Information** +[What's New in SAPUI5 1.125](what-s-new-in-sapui5-1-125-9d87044.md "With this release SAPUI5 is upgraded from version 1.124 to 1.125.") + [What's New in SAPUI5 1.124](what-s-new-in-sapui5-1-124-7f77c3f.md "With this release SAPUI5 is upgraded from version 1.123 to 1.124.") [What's New in SAPUI5 1.123](what-s-new-in-sapui5-1-123-9d00ac7.md "With this release SAPUI5 is upgraded from version 1.122 to 1.123.") diff --git a/docs/02_Read-Me-First/deprecated-themes-and-libraries-a87ca84.md b/docs/02_Read-Me-First/deprecated-themes-and-libraries-a87ca84.md index 9bf486b3..ecbaba81 100644 --- a/docs/02_Read-Me-First/deprecated-themes-and-libraries-a87ca84.md +++ b/docs/02_Read-Me-First/deprecated-themes-and-libraries-a87ca84.md @@ -231,7 +231,7 @@ Removed as of 1.114. Use `sap.sac.df.FlexAnalysis` instead. -Partly deprecated. For the deprecated parts, see [API Reference: `sap.ui.suite`](https://ui5.sap.com/#/api/sap.ui.suite). +  @@ -260,12 +260,12 @@ Removed as of 1.120 -1.96.10 +1.96 -Partly deprecated. For the deprecated parts, see [API Reference: `sap.ui.vtm`](https://ui5.sap.com/#/api/sap.ui.vtm). +  @@ -274,38 +274,8 @@ Partly deprecated. For the deprecated parts, see [API Reference: `sap.ui.vtm`](h `sap.zen.commons` - - - -1.89 - - - - -Partly deprecated. For the deprecated parts, see [API Reference: `sap.zen.commons`](https://ui5.sap.com/#/api/sap.zen.commons). - - - - - - `sap.zen.crosstab` - - - -1.89 - - - - -  - - - - - - `sap.zen.dsh` @@ -316,7 +286,7 @@ Partly deprecated. For the deprecated parts, see [API Reference: `sap.zen.common -Partly deprecated. For the deprecated parts, see [API Reference: `sap.zen.dsh`](https://ui5.sap.com/#/api/sap.zen.dsh). +  @@ -325,38 +295,8 @@ Partly deprecated. For the deprecated parts, see [API Reference: `sap.zen.dsh`]( `sap.ui.commons` - - - -1.38 - - - - -  - - - - - - `sap.ui.ux3` - - - -1.38 - - - - -  - - - - - - `sap.makit` @@ -391,17 +331,17 @@ Partly deprecated. For the deprecated parts, see [API Reference: `sap.zen.dsh`]( -`sap.ca` +`sap.ca.ui` -1.22 +1.28 -Partly deprecated. For the deprecated parts, see [API Reference: `sap.ca`](https://ui5.sap.com/#/api/sap.ca). +  diff --git a/docs/02_Read-Me-First/upgrading-9638e4f.md b/docs/02_Read-Me-First/upgrading-9638e4f.md index e2d15d72..7f8485db 100644 --- a/docs/02_Read-Me-First/upgrading-9638e4f.md +++ b/docs/02_Read-Me-First/upgrading-9638e4f.md @@ -10,7 +10,11 @@ Before upgrading to a newer SAPUI5 version, you must generally first ensure that - [Use Only Public APIs](../03_Get-Started/use-only-public-apis-b0d5fe2.md) - [Coding Issues to Avoid](../05_Developing_Apps/coding-issues-to-avoid-3877872.md) - [The Owner Component](../04_Essentials/the-owner-component-a7a3138.md) +- [Don't Use Deprecated or Experimental Features](../03_Get-Started/don-t-use-deprecated-or-experimental-features-a8bd1a8.md) +- [ECMAScript Support](ecmascript-support-0cb44d7.md) - For SAPUI5 applications based on SAP Fiori elements: [Read Before Extending a Generated App](../06_SAP_Fiori_Elements/read-before-extending-a-generated-app-d9c146a.md) +See also our related guidelines at [Best Practices for Developers](../03_Get-Started/best-practices-for-developers-28fcd55.md). + Afterwards, refer to the following version-specific sections that describe what else you have to consider: diff --git a/docs/03_Get-Started/best-practices-for-developers-28fcd55.md b/docs/03_Get-Started/best-practices-for-developers-28fcd55.md index e2dc0251..441435e1 100644 --- a/docs/03_Get-Started/best-practices-for-developers-28fcd55.md +++ b/docs/03_Get-Started/best-practices-for-developers-28fcd55.md @@ -307,7 +307,10 @@ Prevent bundling modules \(`Component-preload.js`\) into strings. ### Models -Take care of destroying programatically created models to prevent memory leaks. +- Take care of destroying programatically created models to prevent memory leaks. + +- Built-in framework models \(such as `ODataModel` or `JSONModel`\) and their related classes are considered *final*. They must not be modified or extended. For more information, see [Custom Model](../04_Essentials/custom-model-91f1c7e.md). + **OData V4 Model** @@ -363,13 +366,15 @@ Implement strict error handling to address critical issues. - When utilizing [`RenderManager#icon`](https://ui5.sap.com/#/api/sap.ui.core.RenderManager%23methods/icon) during rendering, include a dependency to `sap/ui/core/IconPool` in your code. -- Don't use `Control#rerender` to rerender a control as it's deprecated. Use [`Control#invalidate`](https://ui5.sap.com/#/api/sap.ui.core.Control%23methods/invalidate) instead if required. +- Don't rely on [`rerender`](https://ui5.sap.com/#/api/sap.ui.core.Control%23methods/rerender) as it is deprecated. +- Avoid overriding `invalidate` for unintended purposes. Custom logic before or after rendering should be implemented in `onBeforeRendering` or `onAfterRendering`. The actual rendering should be implemented in the `render` function of the control's renderer. +- Let the framework handle the invalidation instead of calling `invalidate` directly. It takes care of properly invalidating all affected controls, for example, when a managed control state changes via generated mutators or data binding. **Additional Information:** - [`RenderManager`](https://ui5.sap.com/#/api/sap.ui.core.RenderManager) -- [`RenderManager#icon`](https://ui5.sap.com/#/api/sap.ui.core.RenderManager%23methods/icon) +- [SAPUI5 Control Development Guidelines](../09_Developing_Controls/sapui5-control-development-guidelines-4549da6.md) diff --git a/docs/03_Get-Started/prerequisites-0e84ac7.md b/docs/03_Get-Started/prerequisites-0e84ac7.md index 7a3a0a15..4b162b19 100644 --- a/docs/03_Get-Started/prerequisites-0e84ac7.md +++ b/docs/03_Get-Started/prerequisites-0e84ac7.md @@ -30,6 +30,16 @@ In some steps, additional files are needed. They will be explained in those step +
+ +## Setup + +Open a terminal and install UI5 Tooling globally on your machine by executing the following command: + +`npm install --global @ui5/cli` + + + ## Coding diff --git a/docs/03_Get-Started/step-1-3d-viewer-with-single-file-loading-0e21912.md b/docs/03_Get-Started/step-1-3d-viewer-with-single-file-loading-0e21912.md index e4e6b282..45337183 100644 --- a/docs/03_Get-Started/step-1-3d-viewer-with-single-file-loading-0e21912.md +++ b/docs/03_Get-Started/step-1-3d-viewer-with-single-file-loading-0e21912.md @@ -18,6 +18,16 @@ By the end of this step, you will have created a Viewer application that allows + + +## Setup + +Open a terminal and install UI5 Tooling globally on your machine by executing the following command: + +`npm install --global @ui5/cli` + + + ## Coding You can view and download all files at [3D Viewer - Step 1 - 3D Viewer With Single File Loading](https://ui5.sap.com/#/entity/sap.ui.vk.tutorial.VIT/sample/sap.ui.vk.tutorial.VIT.01). diff --git a/docs/03_Get-Started/step-1-browser-developer-tools-eadd60a.md b/docs/03_Get-Started/step-1-browser-developer-tools-eadd60a.md index c0e44379..08fc128b 100644 --- a/docs/03_Get-Started/step-1-browser-developer-tools-eadd60a.md +++ b/docs/03_Get-Started/step-1-browser-developer-tools-eadd60a.md @@ -4,7 +4,7 @@ In this step, you will learn how to use your browser's developers tools to troubleshoot your SAPUI5 app. -Most modern web browsers contain some form of Developer Tools. They allow you to examine the details of the current web page. You can also use them to debug JavaScript code, analyze network performance, live-edit DOM elements, and much more. As an example, we will show you how to use the *Developer Tools* in Google Chrome. Other browsers have similar capabilities, and you can easily adapt the examples shown here to these browsers. +Most modern web browsers contain some form of developer tools. They allow you to examine the details of the current web page. You can also use them to debug JavaScript code, analyze network performance, live-edit DOM elements, and much more. As an example, we will show you how to use the *Developer Tools* in Google Chrome. Other browsers have similar capabilities, and you can easily adapt the examples shown here to these browsers. @@ -88,7 +88,7 @@ Most modern web browsers contain some form of Developer Tools. They allow you to 2. Examine the `button` element by expanding the structure. -3. On the *Console* tab, enter `myView=sap.ui.require("sap/ui/core/Element").getElementbyId("container-HeapOfShards---app")`. +3. On the *Console* tab, enter `myView=sap.ui.require("sap/ui/core/Element").getElementById("container-HeapOfShards---app")`. 4. On the *Console* tab, enter `myView.byId("myButton")`. @@ -122,7 +122,7 @@ Most modern web browsers contain some form of Developer Tools. They allow you to > > > -> `Element.getElementbyId("container-HeapOfShards---app--myButton")`, with `Element` required from module `sap/ui/core/Element` +> `Element.getElementById("container-HeapOfShards---app--myButton")`, with `Element` required from module `sap/ui/core/Element` > > > diff --git a/docs/03_Get-Started/step-1-hello-world-2680aa9.md b/docs/03_Get-Started/step-1-hello-world-2680aa9.md index fbd9eca3..d85148d9 100644 --- a/docs/03_Get-Started/step-1-hello-world-2680aa9.md +++ b/docs/03_Get-Started/step-1-hello-world-2680aa9.md @@ -12,6 +12,16 @@ As you know SAPUI5 is all about HTML5. Let’s get started with building a first + + +## Setup + +Open a terminal and install UI5 Tooling globally on your machine by executing the following command: + +`npm install --global @ui5/cli` + + + ## Coding You can view and download all files at [Walkthrough - Step 1](https://ui5.sap.com/#/entity/sap.m.tutorial.walkthrough/sample/sap.m.tutorial.walkthrough.01). diff --git a/docs/03_Get-Started/step-1-hello-world-typescript-c20489e.md b/docs/03_Get-Started/step-1-hello-world-typescript-c20489e.md index d70c0142..f8939411 100644 --- a/docs/03_Get-Started/step-1-hello-world-typescript-c20489e.md +++ b/docs/03_Get-Started/step-1-hello-world-typescript-c20489e.md @@ -16,6 +16,16 @@ As you know SAPUI5 is all about HTML5. Let’s get started with building a first + + +## Setup + +Open a terminal and install UI5 Tooling globally on your machine by executing the following command: + +`npm install --global @ui5/cli` + + + ## Coding diff --git a/docs/03_Get-Started/step-1-no-data-binding-4cde849.md b/docs/03_Get-Started/step-1-no-data-binding-4cde849.md index 76d9d40f..46126dd1 100644 --- a/docs/03_Get-Started/step-1-no-data-binding-4cde849.md +++ b/docs/03_Get-Started/step-1-no-data-binding-4cde849.md @@ -12,6 +12,16 @@ In this step, we create a basic application and simply place some text on the sc + + +## Setup + +Open a terminal and install UI5 Tooling globally on your machine by executing the following command: + +`npm install --global @ui5/cli` + + + ## Coding You can view and download all files in the Demo Kit at [Data Binding - Step 1](https://ui5.sap.com/#/entity/sap.ui.core.tutorial.databinding/sample/sap.ui.core.tutorial.databinding.01). @@ -133,13 +143,13 @@ You can view and download all files in the Demo Kit at [Data Binding - Step 1](h ``` -8. Open a terminal in the app root folder and execute `npm i -D @ui5/cli` to install UI5 Tooling in the app root folder.. +8. Open a terminal in the app root folder and execute `npm i -D @ui5/cli` to install UI5 Tooling in the app root folder. -9. Execute `npx ui5 init` in the app root folder. +9. Execute `ui5 init` in the app root folder. -10. Execute `npx ui5 use OpenUI5` +10. Execute `ui5 use OpenUI5` -11. Execute `npx ui5 add sap.m sap.ui.core sap.ui.layout themelib_sap_horizon` +11. Execute `ui5 add sap.m sap.ui.core sap.ui.layout themelib_sap_horizon` 12. Execute `npm start` to start the web server and to open a new browser window hosting your newly created `index.html`. diff --git a/docs/03_Get-Started/step-1-ready-851bde4.md b/docs/03_Get-Started/step-1-ready-851bde4.md index d659ed5e..970cefe8 100644 --- a/docs/03_Get-Started/step-1-ready-851bde4.md +++ b/docs/03_Get-Started/step-1-ready-851bde4.md @@ -18,6 +18,16 @@ Let's get you ready for your journey! We bootstrap SAPUI5 in an HTML page and im + + +## Setup + +Open a terminal and install UI5 Tooling globally on your machine by executing the following command: + +`npm install --global @ui5/cli` + + + ## Coding diff --git a/docs/03_Get-Started/step-10-descriptor-for-applications-8f93bf2.md b/docs/03_Get-Started/step-10-descriptor-for-applications-8f93bf2.md index eff50aa1..3a67bdc6 100644 --- a/docs/03_Get-Started/step-10-descriptor-for-applications-8f93bf2.md +++ b/docs/03_Get-Started/step-10-descriptor-for-applications-8f93bf2.md @@ -20,7 +20,7 @@ You can view and download all files at [Walkthrough - Step 10](https://ui5.sap.c -## webapp/manifest.json +## webapp/manifest.json \(New\) ``` { @@ -85,7 +85,7 @@ The content of the `manifest.json` file is a configuration object in JSON format - `type`: Defines what we want to configure; here: an application. - - `i18n`: Defines the path to the resource bundle file. + - `i18n`: Defines the path to the resource bundle file. The `supportedLocales` and `fallbackLocale` properties are set to empty strings, as our demo app uses only one `i18n.properties` file for simplicity and we'd like to prevent the browser from trying to load additional `i18n_*.properties` files based on your browser settings and your locale. - `title`: Title of the application in handlebars syntax referenced from the app's resource bundle. diff --git a/docs/03_Get-Started/step-10-test-suite-and-automated-testing-07c97a2.md b/docs/03_Get-Started/step-10-test-suite-and-automated-testing-07c97a2.md index 50a2acdd..c25847a4 100644 --- a/docs/03_Get-Started/step-10-test-suite-and-automated-testing-07c97a2.md +++ b/docs/03_Get-Started/step-10-test-suite-and-automated-testing-07c97a2.md @@ -31,7 +31,7 @@ You can view and download all files in the *Samples* in the Demo Kit at [Testing QUnit test suite for Bulletin Board - + diff --git a/docs/03_Get-Started/step-25-remote-odata-service-4406244.md b/docs/03_Get-Started/step-25-remote-odata-service-4406244.md index 3513d74c..6f4ed1db 100644 --- a/docs/03_Get-Started/step-25-remote-odata-service-4406244.md +++ b/docs/03_Get-Started/step-25-remote-odata-service-4406244.md @@ -53,7 +53,7 @@ metadata: type: application framework: name: OpenUI5 - version: "1.126.0" + version: "1.127.0" libraries: - name: sap.m - name: sap.ui.core diff --git a/docs/03_Get-Started/step-27-unit-test-with-qunit-e1ce1de.md b/docs/03_Get-Started/step-27-unit-test-with-qunit-e1ce1de.md index 06347f4f..a547022a 100644 --- a/docs/03_Get-Started/step-27-unit-test-with-qunit-e1ce1de.md +++ b/docs/03_Get-Started/step-27-unit-test-with-qunit-e1ce1de.md @@ -78,7 +78,7 @@ sap.ui.define([ We create a new `formatter.js` file under `webapp/test/unit/model` where the unit test for the custom formatter is implemented. The `formatter` file that we want to test is loaded as a dependency. -The formatter file just contains one QUnit module for our formatter function and one unit test for the formatter function. In the implementation of the `statusText` function that we created in Step 22, we use the translated texts when calling the formatter. As we do not want to test the UI5 binding functionality, we just use text in the test instead of a `ResourceBundle`. +The formatter file just contains one QUnit module for our formatter function and one unit test for the formatter function. In the implementation of the `statusText` function that we created in Step 23, we use the translated texts when calling the formatter. As we do not want to test the UI5 binding functionality, we just use text in the test instead of a `ResourceBundle`. Finally, we perform our assertions. We check each branch of the formatter logic by invoking the isolated formatter function with the values that we expect in the data model \(`A`, `B`, `C`, and everything else\). We strictly compare the result of the formatter function with the hard-coded strings that we expect from the resource bundle and give a meaningful error message if the test should fail. diff --git a/docs/03_Get-Started/step-3-using-dynamic-page-for-the-list-view-0830bce.md b/docs/03_Get-Started/step-3-using-dynamic-page-for-the-list-view-0830bce.md index ce6626e1..7b469517 100644 --- a/docs/03_Get-Started/step-3-using-dynamic-page-for-the-list-view-0830bce.md +++ b/docs/03_Get-Started/step-3-using-dynamic-page-for-the-list-view-0830bce.md @@ -24,7 +24,7 @@ In this step, we create the list view of the app using `sap.f.DynamicPage` contr You can view and download all files at [Flexible Column Layout App - Step 3](https://ui5.sap.com/#/sample/sap.f.tutorial.fiori2.03/preview). -## webapp/manifest.json \[MODIFY\] +webapp/manifest.json \[MODIFY\] @@ -71,11 +71,11 @@ First, we add the `sap.m` library as a dependency in the `manifest.json`. ```html ... @@ -224,7 +233,7 @@ Here is a simple stub for a test Web site \(you may need to update the bootstrap Using Gherkin with OPA5 Website diff --git a/docs/04_Essentials/component-metadata-0187ea5.md b/docs/04_Essentials/component-metadata-0187ea5.md index 3c0d91d4..5aaa7e38 100644 --- a/docs/04_Essentials/component-metadata-0187ea5.md +++ b/docs/04_Essentials/component-metadata-0187ea5.md @@ -46,7 +46,7 @@ The following properties are deprecated and no longer needed if you use the desc - `config`: Static configuration; specify the name-value pairs that you need in the component -- `extensions`: Extensions for components and views, see [Extending Apps](../08_Extending_SAPUI5_Applications/extending-apps-a264a9a.md) +- `customizing`: Extensions for components and views, see [Extending Apps](../08_Extending_SAPUI5_Applications/extending-apps-a264a9a.md) - `sap.ui.viewExtensions`: Used for providing custom view content in a specified extension point in the standard application @@ -167,3 +167,8 @@ UIComponent.extend("samples.components.shell.Component", { The getters and setters for these properties are generated automatically and can be overwritten if additional functionality is required. +**Related Information** + + +[API Reference: `sap.ui.core.Component.MetadataOptions`](https://ui5.sap.com/#/api/sap.ui.core.Component.MetadataOptions) + diff --git a/docs/04_Essentials/configuration-options-and-url-parameters-91f2d03.md b/docs/04_Essentials/configuration-options-and-url-parameters-91f2d03.md index ce70fd43..fe63cab6 100644 --- a/docs/04_Essentials/configuration-options-and-url-parameters-91f2d03.md +++ b/docs/04_Essentials/configuration-options-and-url-parameters-91f2d03.md @@ -1280,12 +1280,12 @@ Default value: `undefined` Defines code that has to be executed after the initialization. -In case a string is provided, this must be either the name of a module indicated by the prefix `module:` \(like `module:myapp/main/Module`\) or the name of a property within the `globalThis` object containing a function. Provided modules will be loaded and executed after initialization. +In case a string is provided, this must be either the name of a module indicated by the prefix `module:` \(like [`module:sap/ui/core/ComponentSupport`](https://ui5.sap.com/#/api/module:sap/ui/core/ComponentSupport)\) or the name of a property within the `globalThis` object containing a function. Provided modules will be loaded and executed after initialization. Within `globalThis["sap-ui-config"]["on-init"]` it is also possible to provide a function directly. > ### Caution: -> For productive scenarios, only the usage of a module is supported. Functions or function references to the `globalThis` object are only intended to be used within non-productive scenarios, for example testing or web-based debugging and code-sharing tools like Plunkr or JSBin. +> For productive scenarios, only the usage of a module is supported. Functions or function references to the `globalThis` object are only intended to be used within non-productive scenarios, such as testing, web-based debugging, or sharing minimal samples. **Deprecation:** As of UI5 1.120, only module names should be provided for **productive** scenarios. Only for **non-productive** scenarios, references to functions available on the `globalThis` object might also be used. diff --git a/docs/04_Essentials/cookbook-for-testing-controls-with-qunit-0ddcc60.md b/docs/04_Essentials/cookbook-for-testing-controls-with-qunit-0ddcc60.md index fea4f793..df8000bd 100644 --- a/docs/04_Essentials/cookbook-for-testing-controls-with-qunit-0ddcc60.md +++ b/docs/04_Essentials/cookbook-for-testing-controls-with-qunit-0ddcc60.md @@ -12,7 +12,7 @@ Internally, we prefer to pass an object to the test for retrieving the values - ```js // "Bar" required from module "sap/m/Bar" -// "nextUIUpdate" required from module "sap/ui/qunit/utils/nextUIUpdate" +// "nextUIUpdate" required from module "sap/ui/test/utils/nextUIUpdate" function renderBarInPageTestCase(sTestName, oOptions) { QUnit.test(sTestName, async(assert) => { // System under Test @@ -65,7 +65,7 @@ Here is an example for when a user presses [Esc\] on the select: // "Item" required from module "sap/ui/core/Item" // "Select" required from module "sap/m/Select" // "KeyCodes" required from module "sap/ui/events/KeyCodes" -// "nextUIUpdate" required from module "sap/ui/qunit/utils/nextUIUpdate" +// "nextUIUpdate" required from module "sap/ui/test/utils/nextUIUpdate" // "QUnitUtils" required from module "sap/ui/qunit/QUnitUtils" QUnit.test("Should close the popup menu if it is open and you press escape", async(assert) => { // Arrange @@ -116,14 +116,14 @@ In the rendering tests part, you have to place your control in the DOM. The best Make sure you destroy your control, since SAPUI5 will keep a reference to it and may also rerender it. -It's crucial that you wait for the Promise of `sap/ui/qunit/utils/nextUIUpdate` after each time you've caused a rerendering. +It's crucial that you wait for the Promise of `sap/ui/test/utils/nextUIUpdate` after each time you've caused a rerendering. Executing the module returns a Promise which resolves after rendering. If you don't wait for the Promise, the DOM won't be updated yet. You can use the following template to make sure that you remember to destroy your control: ```js -// "nextUIUpdate" required from module "sap/ui/qunit/utils/nextUIUpdate" +// "nextUIUpdate" required from module "sap/ui/test/utils/nextUIUpdate" QUnit.test("Should do Something", async(assert) => { // Arrange const oConstructor = { @@ -183,7 +183,7 @@ To test this, we add an `eventDelegate` to see how often the rendering function ```js // "Label" required from module "sap/m/Label" -// "nextUIUpdate" required from module "sap/ui/qunit/utils/nextUIUpdate" +// "nextUIUpdate" required from module "sap/ui/test/utils/nextUIUpdate" QUnit.test("Should suppress rerendering when tooltip is set", async(assert) => { // Arrange const oConstructor = { @@ -301,7 +301,7 @@ We use `clock.tick` to trigger the server response. If you didn't do this, the t ```js // "Label" required from module "sap/m/Label" -// "nextUIUpdate" required from module "sap/ui/qunit/utils/nextUIUpdate" +// "nextUIUpdate" required from module "sap/ui/test/utils/nextUIUpdate" //Your test: QUnit.test("Should do something with the model", async(assert) => { diff --git a/docs/04_Essentials/deprecated-and-experimental-configuration-options-b474a71.md b/docs/04_Essentials/deprecated-and-experimental-configuration-options-b474a71.md index 7349841c..a827e3a1 100644 --- a/docs/04_Essentials/deprecated-and-experimental-configuration-options-b474a71.md +++ b/docs/04_Essentials/deprecated-and-experimental-configuration-options-b474a71.md @@ -588,36 +588,6 @@ Options: `sync | async | off`. -`xx-css-variables` - -\(experimental\) - - - - -Type: `string` - -Default value: `false` - -Enable usage of CSS variables. - -Options: `false | true | additional`. - - - - -![YES](../02_Read-Me-First/images/Checked_Okay_3929e46.png) - - - - -![NO](images/Cancel_dfb38de.png) - - - - - - `xx-debug-module-loading` \(experimental\) diff --git a/docs/04_Essentials/descriptor-for-applications-components-and-libraries-manifest-json-be0cf40.md b/docs/04_Essentials/descriptor-for-applications-components-and-libraries-manifest-json-be0cf40.md index f40e448b..c3d0069a 100644 --- a/docs/04_Essentials/descriptor-for-applications-components-and-libraries-manifest-json-be0cf40.md +++ b/docs/04_Essentials/descriptor-for-applications-components-and-libraries-manifest-json-be0cf40.md @@ -2244,7 +2244,7 @@ Specifies provided commands with a unique key/alias. Contains: - `shortcut`: String that describes a key combination. When the user presses the key combination, the command is triggered. -The name of the command that contains the `shortcut` definition acts as a prerequisite for using the `command` property of the [sap/ui/core/CommandExecution](https://ui5.sap.com/#/api/sap.ui.core.CommandExecution) module. +The name of the command that contains the `shortcut` definition acts as a prerequisite for using the `command` property of the [sap/ui/core/CommandExecution](https://sdk.openui5.org/api/sap.ui.core.CommandExecution) module. diff --git a/docs/04_Essentials/drag-and-drop-metadata-da7f3fc.md b/docs/04_Essentials/drag-and-drop-metadata-da7f3fc.md index 1edb40c3..a5b9eaa9 100644 --- a/docs/04_Essentials/drag-and-drop-metadata-da7f3fc.md +++ b/docs/04_Essentials/drag-and-drop-metadata-da7f3fc.md @@ -54,3 +54,5 @@ You can use the following attributes in the metadata of a control for drag and d [API Reference: `sap.ui.core.Element.extend`](https://ui5.sap.com/#/api/sap.ui.core.Element/methods/sap.ui.core.Element.extend) +[API Reference: `sap.ui.base.ManagedObject.extend`](https://ui5.sap.com/#/api/sap.ui.base.ManagedObject/methods/sap.ui.base.ManagedObject.extend) + diff --git a/docs/04_Essentials/enhanced-theming-concepts-45df6df.md b/docs/04_Essentials/enhanced-theming-concepts-45df6df.md index 221e4ee6..3ec479fc 100644 --- a/docs/04_Essentials/enhanced-theming-concepts-45df6df.md +++ b/docs/04_Essentials/enhanced-theming-concepts-45df6df.md @@ -6,47 +6,47 @@ On top of pure CSS, SAPUI5 offers advanced theming concepts and functions which -## CSS Variables, Functions and More + -SAPUI5 uses the popular CSS preprocessor [LESS](http://lesscss.org/). This tool introduces several features, including CSS variables, a concept which has also been heavily demanded by the CSS community: In any UI5-controlled CSS file, variables can be defined and can then be referenced anywhere in the CSS code of the same library. These variables are mainly used for colors. All CSS variables are global. The CSS variable concept contributes to a consistent way of implementing and changing the styles. +## CSS Variables, Functions, and More -LESS adds more features like color calculations, mixins, and CSS selector nesting. The color calculations are used in SAPUI5 to derive many different color shades from just a few variables. +SAPUI5 provides a set of [CSS custom properties](https://developer.mozilla.org/en-US/docs/Web/CSS/--*) which allows you to make your application or custom controls theming-aware. The CSS custom properties are provided by the [SAP Theming Base Content](https://github.com/SAP/theming-base-content). It contains all necessary data to connect to the SAP global theming infrastructure. The content exposes the central set of colors, metrics, and resources of a theme. SAPUI5 applications or custom controls can easily make use of the CSS custom properties of the SAP Theming Base Content. This concept contributes to a consistent way of implementing and changing the styles. CSS provides a lot of additional features like calculations, nesting, and more. Here is the syntax: ``` -@sapUiText: #000000; /* define the text color as 'black' */ - button { - color: @sapUiText; /* buttons will automatically have the current text color, which is '#000000' right now */ + color: var(--sapButton_TextColor); /* buttons will automatically have the current text color, which is '#000000' right now */ [...] } - ``` -LESS then takes care of substituting all references to a CSS variable by the current value of this variable. This happens during the build of the control library. +The browser then takes care of substituting all references to a CSS custom property by the current value of this variable. Every time a CSS custom property is changed at runtime, it will affect all usages. + +Additionally, a specific theme can modify the CSS custom property values given by the base theme. So a control can just define its text color to use `--sapButton_TextColor` by default, which will automatically take care of applying the correct color for every theme or user modification: The theme generation will create one CSS file per theme, and the usage of the CSS custom property ensures that the theme-dependent value will always be taken into account. A visually very different theme can easily be created by simply changing a number of colors. -> ### Note: -> In development scenarios this LESS processing might even happen at runtime in the browser to shorten the build time for SAPUI5 libraries. This is indicated by a *less mode* rectangle when a page is launched. +While every library and control can introduce their own CSS custom properties, those provided by the SAP Theming Base Content are the most important. Ideally, there should only be a few of them, and they should be simple enough to be understood by most end users \(similar to what the Windows operating system offers end users\), but still cover as many aspects of the visual appearance as necessary to make them sufficient for most customer-required theme modifications. To be theming-aware, these CSS custom properties are ideally based on existing ones provided by the SAP Theming Base Content. -Additionally, a specific theme can modify the CSS parameter values given by the base theme. So a control can just define its text color to use `sapUiText` by default which will automatically take care of applying the correct color for every theme or user modification: The theme generation will create one CSS file per theme, and the substitution of the CSS parameter references will always take the theme-dependent value into account. So a visually very different theme can easily be created by simply changing a number of colors. +Additional benefits of CSS custom properties are, for example: -While every library and control can introduce their own CSS variables, those defined in `global.css` are most important. Ideally, there should only be a few of them, and they should be simple enough to be understood by most end users \(similar to what the Windows operating system offers end users\), but still cover as many aspects of the visual appearance as necessary to make them sufficient for most customer-required theme modifications. +- They promote modular and maintainable code by centralizing common values in one place. +- Although they can be manipulated via code at runtime without the need of a dedicated SAPUI5 re-rendering step, they must not be manipulated globally. -Additional benefits of CSS variables are, for example: + > ### Tip: + > All controls that use the Parameters API might require a re-rendering after an SAP CSS custom property has been changed \(e.g. charts\)! -- They can be used to generically build simple styling tools that allow for a limited degree of freedom \(=changing the CSS parameter values\). The UI theme designer is an example of such a tool. +- They facilitate cascading and inheritance, allowing you to define values that can be inherited by child elements. +- They can be used to generically build simple styling tools that allow for a limited degree of freedom \(=changing the CSS custom property values\). The UI theme designer is an example of such a tool. - They can also be linked to metadata, for example, to which group of colors they belong, to which colors they need to have some visual contrast. ## Compilation of One CSS File -SAPUI5 CSS generation does not only substitute the CSS variable values but also merges all CSS files of a control library into **one** file that is loaded at runtime, thus increasing the performance. +SAPUI5 CSS generation merges all CSS files of a control library into **one** file that is loaded at runtime, thus increasing the performance. Here are some of the reasons why you would not want to have all styles defined within one file during development: -- Less collisions and merging when different developers edit the styles of their controls - Clear separation between the styles for different controls, which helps to estimate and test the impact of a CSS modification - Keeping the door open for future optimization regarding runtime performance and data transfer by tailoring CSS files on server side that only contain the CSS required on the current application page diff --git a/docs/04_Essentials/how-to-test-sapui5-controls-with-qunit-a6b0657.md b/docs/04_Essentials/how-to-test-sapui5-controls-with-qunit-a6b0657.md index 0ae0aaef..2e454a78 100644 --- a/docs/04_Essentials/how-to-test-sapui5-controls-with-qunit-a6b0657.md +++ b/docs/04_Essentials/how-to-test-sapui5-controls-with-qunit-a6b0657.md @@ -138,7 +138,7 @@ Using fake timers can be error-prone. Fake timers should only be used with care ### I've set a property on my control: Why aren't the changes in the DOM? -The most likely reason for this is that it didn't wait for the `sap/ui/qunit/utils/nextUIUpdate` Promise. SAPUI5 does not render synchronously, but waiting for the Promise will proceed the test after the rendering is done. +The most likely reason for this is that it didn't wait for the `sap/ui/test/utils/nextUIUpdate` Promise. SAPUI5 does not render synchronously, but waiting for the Promise will proceed the test after the rendering is done. For more information, see [Rendering and Re-rendering Controls Within Tests](cookbook-for-testing-controls-with-qunit-0ddcc60.md#loio0ddcc60b05ee40dea1a3be09e8fee8f7__section_REREN) diff --git a/docs/04_Essentials/initialization-and-read-requests-fccfb2e.md b/docs/04_Essentials/initialization-and-read-requests-fccfb2e.md index 85170d46..61deff3c 100644 --- a/docs/04_Essentials/initialization-and-read-requests-fccfb2e.md +++ b/docs/04_Essentials/initialization-and-read-requests-fccfb2e.md @@ -160,7 +160,7 @@ For details, see [`sap.ui.model.odata.v4.ODataModel#bindProperty`](https://ui5.s A property binding can have an object value if the target type specified in the corresponding control property's binding info is "any" and the binding is relative or points to metadata. The binding's mode has to be `OneTime`, see [sap.ui.model.BindingMode](https://ui5.sap.com/#/api/sap.ui.model.BindingMode), unless the binding is for an action advertisement. -A `OneWay` binding mode is also supported \(**experimental** as of UI5 version 1.126.0\) for relative read-only data \(not metadata!\) bindings, but client-side updates of the object are not supported, and [`$$patchWithoutSideEffects`](parameters-1ab4f62.md) should be used for the parent entity. +A `OneWay` binding mode is also supported \(**experimental** as of UI5 version 1.126.0\) for relative read-only data \(not metadata!\) bindings to complex types and collections thereof; for entity types, use a context binding instead. **Example: Using the controller method `'formatPhoneNumbersAsCSV'` to show a comma-separated list of phone numbers for business partner contacts** diff --git a/docs/04_Essentials/logging-ebcf60c.md b/docs/04_Essentials/logging-ebcf60c.md index 16653405..e3900e49 100644 --- a/docs/04_Essentials/logging-ebcf60c.md +++ b/docs/04_Essentials/logging-ebcf60c.md @@ -20,7 +20,7 @@ Most error messages are sufficient to figure out what has gone wrong, for exampl > > diff --git a/docs/04_Essentials/models-d2c8cf7.md b/docs/04_Essentials/models-d2c8cf7.md index 8f3f1ed1..e53325f3 100644 --- a/docs/04_Essentials/models-d2c8cf7.md +++ b/docs/04_Essentials/models-d2c8cf7.md @@ -17,7 +17,7 @@ SAPUI5 provides the following predefined models. For an overview of the binding > > - OData V2 > - > - OData V4 \(limited feature scope\) + > - OData V4 - **JSON model**: Can be used to bind controls to JavaScript object data, which is usually serialized in the JSON format. The JSON model is a client-side model and, therefore, intended for small data sets, which are completely available on the client. The JSON model supports two-way \(default\), one-way and one-time binding modes. diff --git a/docs/04_Essentials/models-e1b6259.md b/docs/04_Essentials/models-e1b6259.md index 36346722..2c4dbf29 100644 --- a/docs/04_Essentials/models-e1b6259.md +++ b/docs/04_Essentials/models-e1b6259.md @@ -17,7 +17,7 @@ SAPUI5 provides the following predefined models. For an overview of the binding > > - OData V2 > - > - OData V4 \(limited feature scope\) + > - OData V4 - **JSON model**: Can be used to bind controls to JavaScript object data, which is usually serialized in the JSON format. The JSON model is a client-side model and, therefore, intended for small data sets, which are completely available on the client. The JSON model supports two-way \(default\), one-way and one-time binding modes. diff --git a/docs/04_Essentials/multiple-module-locations-1dfab2e.md b/docs/04_Essentials/multiple-module-locations-1dfab2e.md index 6f8d476e..e9a9b4d7 100644 --- a/docs/04_Essentials/multiple-module-locations-1dfab2e.md +++ b/docs/04_Essentials/multiple-module-locations-1dfab2e.md @@ -8,39 +8,47 @@ In web applications, modules can be located in different locations, such as serv The `sap.ui.loader.config` function associates a module name prefix with a URL prefix. All modules are loaded from the registered URL instead of the standard resource root URL: -```js +``` sap.ui.loader.config({ paths: { - "my/module": "https://example.com/resources/my/module" + 'my/module': 'https://example.com/resources/my/module' } }); ``` Thus, it is possible to redirect the request for the application-specific modules to the corresponding web application: -```js -// Redirect the 'my.webapp' package to the local web app -sap.ui.loader.config({ - paths:{ - "my/webapp": "my-webapp/resources/my/webapp" - } -}); -sap.ui.require([ - "sap/ui/core/Core", - "my/webapp/MyModule01", // loads /my-webapp/resources/my/webapp/MyModule01.js -], (Core, MyModule01) => { - // ... -}); +```html + + + + ``` > ### Note: > The registered URL above contains the transformed module name prefix `my/webapp/`. This allows a more flexible packaging of the modules, for example, if you decide to deploy all modules named `my.company.*` to the central URL `http://my.company/shared/` without packaging them into a two level hierarchy of subfolders: > -> ```js +> ``` +> > sap.ui.loader.config({ -> paths: { -> "my/company": "http://my.company/shared/" -> } +> paths:{ +> "my/company": "http://my.company/shared/" +> } > }); > ``` > diff --git a/docs/04_Essentials/odata-v4-metadata-json-format-87aac89.md b/docs/04_Essentials/odata-v4-metadata-json-format-87aac89.md index f5910198..09d7ded1 100644 --- a/docs/04_Essentials/odata-v4-metadata-json-format-87aac89.md +++ b/docs/04_Essentials/odata-v4-metadata-json-format-87aac89.md @@ -6,7 +6,7 @@ The OData V4 model provides access to metadata in a streamlined JSON format whic It is different to the $metadata service's JSON format \(see [OData JSON Format Version 4.0](http://docs.oasis-open.org/odata/odata-json-format/v4.0/os/odata-json-format-v4.0-os.html)\) and the OData JSON Format for Common Schema Definition Language \(CSDL\) Version 4.0 \(see [corresponding specification](http://docs.oasis-open.org/odata/odata-json-csdl/v4.0/odata-json-csdl-v4.0.html)\), intended to simplify client-side processing. -In the sections below, angled brackets indicate variable parts. The numbers next to each expression correspond to the numbered sections in the official specification, see [OData Version 4.0 Part 3: Common Schema Definition Language \(CSDL\) Plus Errata 03](http://docs.oasis-open.org/odata/odata-json-csdl/v4.0/odata-json-csdl-v4.0.html). Comments highlight optional properties, especially those that have certain default values. +In the sections below, angled brackets indicate variable parts. The numbers next to each expression correspond to the numbered sections in the official specification, see [OData Version 4.0 Part 3: Common Schema Definition Language \(CSDL\) Plus Errata 03](https://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part3-csdl.html). Comments highlight optional properties, especially those that have certain default values. @@ -16,9 +16,9 @@ We have prefixed constant property names with `"$"` as this is a legal first cha We assume that schema **aliases** have been resolved. We add a trailing dot after a schema's namespace, meaning qualified name "A.B" cannot clash with schema namespace "A.B.", for example. This trailing dot is also present for `"$Include"`, `"$TermNamespace"` and `"$TargetNamespace"` values. -$kind has been added to each object with a \(qualified\) OData name and to almost each object which can be annotated via external targeting, but not to enum members. Actions and functions are arrays of overloads and `$kind` has been added to each overload. +$kind has a value via the fallback rule "If targeting, but not to enum members. Actions and functions are arrays of overloads and has been added to each object with a \(qualified\) OData name and to almost each object which can be annotated via external targeting, but not to enum members. Actions and functions are arrays of overloads and `$kind` has been added to each overload. -We assume each **enum member** has a value via the fallback rule "If no values are specified, the members are assigned consecutive integer values in the order of their appearance, starting with zero for the first member." +We assume each **enum member** Facets like `MaxLength`, `Precision` and `Scale` are represented as numbers if possible \(`"$Scale" : "variable"` is the only exception\). `DefaultValue` is represented as a string for lack of type information in the general case. `"$MaxLength" : "max"` is omitted and will be treated the same as an unspecified length on the client-side. @@ -42,12 +42,12 @@ We use the `"@<14.3.1 Annotation Term>#<14.3.2 Annotation Qualifier>" : ### Note: > For segments which represent a path, such as the keys for the `"$ReferentialConstraint"` and`"$NavigationPropertyBinding"` maps, you need to use URL encoding for the slash character \(`"%2F"`\). > -> > ### Sample Code: -> > **Escaping the Slash Character** +> > ### Example: +> > Escaping the Slash Character > > > > ```xml -> > -> > +> > +> > > > ``` > > > > ```js @@ -147,20 +147,48 @@ The following JSON file represents the metadata document which corresponds to `G "<5.1.1 Schema Namespace>.<11.1.1 TypeDefinition Name>" : { "$kind" : "TypeDefinition", "$UnderlyingType" : "<11.1.2 TypeDefinition UnderlyingType>", - "$MaxLength" : <11.1.3 MaxLength>, // optional, number - "$Precision" : <11.1.3 Precision>, // optional, number - "$Scale" : <11.1.3 Scale> | "variable", // optional, number or fixed string + "$MaxLength" : <11.1.3 MaxLengthConstant and dynamic expressions are used as values for annotations. Their JSON + representation is shown in the following two tables. +{>, // optional, number + "$Precision" : <11.1.3 Precision + "$Version" : "<3.1.1 Edmx Version>", + "$Annotations" : { + "<14.2.1 Annotations Target>" : { + // Note: "<14.3.2 Annotation Qualifier>" defaults to "<14.2.2 Annotations Qualifier>", + // qualifiers are optional, "#" is omitted then + "@<14.3.1 Annotation Term>#>, // optional, number + "$Scale" : <<14.3.2 Annotation Qualifier>" : | "variable", // optional, number or fixed string "$Unicode" : false, // omit in case of default value: true - "$SRID" : "<11.1.3 SRID>" // optional + "$SRID" : "> // constant or dynamic expression + "@<14.3.1 Annotation Term<11.1.3 SRID>>#<14.3.2 Annotation Qualifier>@..." : // annotation of an annotation + } + }," // optional }, - "<5.1.1 Schema Namespace>.<12.1.1 Action Name>" : [{ + "$EntityContainer" : "<5.1.1 Schema Namespace>.<13.1.1 EntityContainer Name>", // root entity container for this $metadata document + "$Reference" : { + // server-relative, dereferencable URLs (to $metadata) only! + "<3.3.1 Reference Uri>" : { "@..." : , + "$Include" : ["<3.4.1 Include Namespace>.", ...], // optional + "$IncludeAnnotations" : [{ + "$TermNamespace" : "<3.5.1 IncludeAnnotations TermNamespace>.", + "$Qualifier" : "<3.5.2 IncludeAnnotations Qualifier>", // optional + "$TargetNamespace" : "<3.5.3 IncludeAnnotations TargetNamespace>." // optional + }, ...] // optional + } + }, // optional + "< + "<5.1.1 Schema Namespace>.<12.1.1 Action Name5.1.1 Schema Namespace>" : { + "$kind" : "Schema", + "@..." : // place inline annotations for schema itself here! + }, + "<>" : [{ "$kind" : "Action", "$IsBound" : true, // omit in case of default value: false "$EntitySetPath" : "<12.1.3 Action EntitySetPath>", // optional "$Parameter" : [{ "$Name" : "<12.4.1 Parameter Name>", "$isCollection" : true, // omit in case of default value: false - "$Type" : "<12.4.2 Parameter Type>", + "$Type" : "5.1.1 Schema Namespace>.<12.4.2 Parameter Type>", "$Nullable" : false, // omit in case of default value: true "$MaxLength" : <12.4.4 MaxLength>, // optional, number "$Precision" : <12.4.4 Precision>, // optional, number @@ -172,27 +200,92 @@ The following JSON file represents the metadata document which corresponds to `G "$Type" : "<12.3.1 ReturnType Type>", "$Nullable" : false, // omit in case of default value: true "$MaxLength" : <11.1.3 MaxLength>, // optional, number - "$Precision" : <11.1.3 Precision>, // optional, number + "$Precision" : <<8.1.1 EntityType Name>" : { + "$kind" : "EntityType", + "$BaseType" : "<11.1.3 Precision>, // optional, number "$Scale" : <11.1.3 Scale> | "variable", // optional, number or fixed string "$SRID" : "<11.1.3 SRID>" // optional - } // optional + } // optional8.1.2 EntityType BaseType>", // optional + "$Abstract" : true, // omit in case of default value: false + "$OpenType" : true, // omit in case of default value: false + "$HasStream" : true, // omit in case of default value: false + "$Key" : [ + "<8.3.1 PropertyRef Name }, ...], - "<5.1.1 Schema Namespace>.<12.2.1 Function Name>" : [{ + ">", // in case no Alias is given + {"<8.3.1 PropertyRef Alias>" : "<8.3.1 PropertyRef Name>"}, + ... + ], // optional + "<6.1.1 Property Name>" : { + "$kind" : "Property", + "$Type" : "<5.1.1 Schema Namespace>.<12.2.1 Function Name>" : [{<6.1.2 Property Type>", + "$isCollection" : true, // omit in case of default value: false + "$Nullable" : false, // omit in case of default value: true + "$MaxLength" : <6.2.2 MaxLength>, // optional, number + "$Precision" : <6.2.3 Precision>, // optional, number + "$Scale" : <6.2.4 Scale> | "variable", // optional, number or fixed string + "$Unicode" : false, // omit in case of default value: true + "$SRID" : "<6.2.6 SRID>", // optional + "$DefaultValue" : "<6.2.7 DefaultValue>" // optional + }, + "<7.1.1 NavigationProperty Name>" : { + "$kind" : "NavigationProperty", + "$isCollection" : true, // omit in case of default value: false + "$Type" : "<7.1.2 NavigationProperty Type>", + "$Nullable" : false, // omit in case of default value: true + "$Partner" : "<7.1.4 NavigationProperty Partner>", // optional + "$ContainsTarget" : true, // omit in case of default value: false + "$ReferentialConstraint" : { + "<7.2.1 ReferentialConstraint Property>" : "<7.2.2 ReferentialConstraint ReferencedProperty>", + "<7.2.1 ReferentialConstraint Property>@..." : + }, // optional + "$OnDelete" : "<7.3.1. OnDelete Action>", // optional + "$OnDelete@..." : "" + }, + }, + "<5.1.1 Schema Namespace>.<9.1.1 ComplexType Name>" : { + "$kind" : "ComplexType", + "$BaseType" : "<9.1.2 ComplexType BaseType>", // optional + "$Abstract" : true, // omit in case of default value: false + "$OpenType" : true, // omit in case of default value: false + "<6.1.1 Property Name>" : { + // see above + }, + "<7.1.1 NavigationProperty Name>" : { + // see above + } + }, + "<5.1.1 Schema Namespace>.<10.1.1 EnumType Name>" : { + "$kind" : "EnumType", + "$UnderlyingType" : "<10.1.2 EnumType UnderlyingType>", // omit in case of default value: Edm.Int32 + "$IsFlags" : true, // omit in case of default value: false + "<10.2.1 Member Name> "$kind" : "Function", "$IsBound" : true, // omit in case of default value: false "$IsComposable" : true, // omit in case of default value: false - "$EntitySetPath" : "<12.2.4 Function EntitySetPath>", // optional - "$Parameter" : [{ + "$EntitySetPath" : "<12.2.4 Function EntitySetPath" : "<>", // optional + "$Parameter" : [{10.2.2 Member Value>" // use string value in case of base type Edm.Int64, else number + }, + "<5.1.1 Schema Namespace>.<11.1.1 TypeDefinition Name> // see above }, ...], // optional "$ReturnType" : { // see above } }, ...], - "<5.1.1 Schema Namespace>.<13.1.1 EntityContainer Name>" : { + "<5.1.1 Schema Namespace>" : { + "$kind" : "TypeDefinition", + "$UnderlyingType" : "<11.1.2 TypeDefinition UnderlyingType>", + "$MaxLength" : <11.1.3 MaxLength>, // optional, number + "$Precision" : <11.1.3 Precision>, // optional, number + "$Scale" : <11.1.3 Scale.<13.1.1 EntityContainer Name>" : { "$kind" : "EntityContainer" // "$Extends" : "<13.1.2 EntityContainer Extends>", // not in the 1st step - "<13.2.1 EntitySet Name>" : { + "> | "variable", // optional, number or fixed string + "$Unicode" : false, // omit in case of default value: true + "$SRID" : "<11.1.3 SRID>" // optional + }, + "<5.1.1 Schema Namespace>.<13.2.1 EntitySet Name>" : { "$kind" : "EntitySet", "$Type" : "<13.2.2 EntitySet EntityType>", // Note: renamed for consistency! "$IncludeInServiceDocument" : false, // omit in case of default value: true @@ -239,8 +332,6 @@ The following JSON file represents the metadata document which corresponds to `G ## Constant and Dynamic Expressions -Constant and dynamic expressions are used as values for annotations. Their JSON representation is shown in the following two tables. - **Constant Expressions** diff --git a/docs/04_Essentials/property-binding-91f0652.md b/docs/04_Essentials/property-binding-91f0652.md index 2e897d27..4e9a5464 100644 --- a/docs/04_Essentials/property-binding-91f0652.md +++ b/docs/04_Essentials/property-binding-91f0652.md @@ -60,7 +60,7 @@ You can then set the `bindingMode` or other additional properties like this: ``` diff --git a/docs/04_Essentials/server-messages-in-the-odata-v4-model-fbe1cb5.md b/docs/04_Essentials/server-messages-in-the-odata-v4-model-fbe1cb5.md index 5a91cacc..1b5dd9f9 100644 --- a/docs/04_Essentials/server-messages-in-the-odata-v4-model-fbe1cb5.md +++ b/docs/04_Essentials/server-messages-in-the-odata-v4-model-fbe1cb5.md @@ -123,12 +123,14 @@ classification of end-user messages -`longtextURL`\* +`longtextUrl`\* + +`@Common.longtextUrl`\* -`descriptionURL` +`descriptionUrl` diff --git a/docs/04_Essentials/setting-themes-e9fc648.md b/docs/04_Essentials/setting-themes-e9fc648.md index eecaf7ad..1e202141 100644 --- a/docs/04_Essentials/setting-themes-e9fc648.md +++ b/docs/04_Essentials/setting-themes-e9fc648.md @@ -25,7 +25,7 @@ You define which theme is used by your app either by using the `theme` configura > http://myserver.com/sap/myapp/?sap-ui-theme=my_custom_theme@/sap/public/bc/themes/~client-111 > ``` > - > Although a full URL can be specified, the framework will only use the path information of the URL to prevent CSS-based attacks that would otherwise be possible by referencing CSS from a malicious server, unless the origin has been added to `sap-allowed-theme-origin`. For more information, see [Theme Origin Allowlist](setting-themes-e9fc648.md#loioe9fc648661d84ed89360bbec3ae02611__section_TOA). In a more complex landscape, for example, if the infrastructure of the UI theme designer is running on a separate server, a Web dispatcher can be used to combine both servers in one endpoint. + > Although a full URL can be specified, the framework will only use the path information of the URL to prevent CSS-based attacks that would otherwise be possible by referencing CSS from a malicious server, unless the origin has been added to `sap-allowed-theme-origins`. For more information, see [Theme Origin Allowlist](setting-themes-e9fc648.md#loioe9fc648661d84ed89360bbec3ae02611__section_TOA). In a more complex landscape, for example, if the infrastructure of the UI theme designer is running on a separate server, a Web dispatcher can be used to combine both servers in one endpoint. > ### Note: > The UI theme designer infrastructure stores themes for multiple technologies in the same location, each in its own subdirectory \(`UI5/` for SAPUI5\). Other SAP products \(such as SAP Enterprise Portal\) append only the common root URL to the `theme` parameter. SAPUI5 therefore appends folder `UI5/` to any given path that is defined in the `theme` parameter. @@ -83,7 +83,7 @@ To load an external custom theme, you can either declare it statically on the pa When configuring a theme with a `themeRoot` URL via the `theme` parameter, security restrictions apply. Absolute URLs to an origin other than the current page are cut off by default. The path segment will be resolved relative to the current page origin. -In order to allow other origins to be used via the URL parameter, the `sap-allowed-theme-origin` configuration option can be used: +In order to allow other origins to be used via the URL parameter, the `sap-allowed-theme-origins` configuration option can be used: `` diff --git a/docs/04_Essentials/supported-locales-and-fallback-chain-ec753bc.md b/docs/04_Essentials/supported-locales-and-fallback-chain-ec753bc.md index 53252eba..fd8822ad 100644 --- a/docs/04_Essentials/supported-locales-and-fallback-chain-ec753bc.md +++ b/docs/04_Essentials/supported-locales-and-fallback-chain-ec753bc.md @@ -5,13 +5,15 @@ You can configure a list of supported locales and a fallback locale in your app’s manifest to control the loading of resource bundles and avoid ‘404 Not Found’ network responses. > ### Note: -> 1. Available properties files for a resource bundle and the locales you specify in `supportedLocales` need to be in sync. Missing properties files result in 404 responses by the server. +> 1. [UI5 Tooling](https://sap.github.io/ui5-tooling/stable/) v4 and higher is capable of automatically adding supported locales to the manifest based on the available properties files. Detailed information and requirements can be found in [UI5 Builder - Generation of Supported Locales](https://sap.github.io/ui5-tooling/stable/pages/Builder/#generation-of-supported-locales). > -> 2. More severely, a missing entry in `supportedLocales` leads to a language fallback, even though the texts for the corresponding language are available. +> 2. Available properties files for a resource bundle and the locales you specify in `supportedLocales` need to be in sync. Missing properties files result in 404 responses by the server. > -> 3. Only use the `supportedLocales` feature if you are in control of adding and deleting properties files for resource bundles. If you use translation tools which control the lifecycle of properties files but are not able to update `supportedLocales`, you cannot make use of the `supportedLocales` feature yet. +> 3. More severely, a missing entry in `supportedLocales` leads to a language fallback, even if the texts for the corresponding language are available. > -> 4. The language tags can use modern or legacy ISO639 language codes. Whatever language code is used in the list of `supportedLocales` will also be used when requesting a file from the server. If the locale contains a legacy language code like "iw" and the `supportedLocales` contains \[...,"he",...\], "he" will be used in the URL. This mapping works in both directions. +> 4. Only use the `supportedLocales` feature if you are in control of maintaining the properties files for resource bundles within the same project or know the full list of supported locales. If the complete list of supported locales is not known, make sure to set the `supportedLocales` entry in the manifest to an empty list \(`[]`\) to indicate that all locales are supported. This prevents UI5 Tooling from adding a list of supported locales based on the available properties files. For more information, see [UI5 Builder - Generation of Supported Locales](https://sap.github.io/ui5-tooling/stable/pages/Builder/#generation-of-supported-locales). +> +> 5. The language tags can use modern or legacy ISO639 language codes. Whatever language code is used in the list of `supportedLocales` will also be used when requesting a file from the server. If the locale contains a legacy language code like "iw" and the `supportedLocales` contains \[...,"he",...\], "he" will be used in the URL. This mapping works in both directions. diff --git a/docs/04_Essentials/theming-497c27a.md b/docs/04_Essentials/theming-497c27a.md index 899db1c9..ac99e7c8 100644 --- a/docs/04_Essentials/theming-497c27a.md +++ b/docs/04_Essentials/theming-497c27a.md @@ -6,10 +6,10 @@ SAPUI5 is an HTML UI library, therefore styling is done using Cascading Style Sh SAPUI5 supports you when creating and using different visual designs - called **themes** - that can be used alternatively and switched on the fly. This way, the same application can look very different, depending on the user's design preference or accessibility requirements. Existing themes can serve as a basis for new themes and, in case of new design trends, it is possible to create a matching theme for all existing applications without modifying the applications. The theme handling is decoupled from application development and done in a separate layer. The SAPUI5 library loads the required CSS files and offers ways of switching themes. For more information about the themes that are available, see [Available Themes](available-themes-da0d2e7.md). -On top of pure CSS, SAPUI5 offers a variety of optional features that add value regarding modularization, modification, compatibility, and performance: +SAPUI5 offers a variety of optional features that add value regarding modularization, modification, compatibility, and performance: -- CSS variables, mixins, color calculations and other functions, provided by the Open Source library [LESS](http://lesscss.org/) -- In particular, CSS variables are used for centrally defined and centrally modifiable colors +- [CSS custom properties](https://developer.mozilla.org/en-US/docs/Web/CSS/--*) providing all theming-related colors, metrics, ... \(available since SAPUI5 1.127.0\) +- Variables, mixins, color calculations, and other functions, provided by the Open Source library [LESS](http://lesscss.org/) \(deprecated since SAPUI5 1.127.0\) - Compilation of one CSS file per control library from modular per-control CSS files - Optimization/compression of CSS size - Clean browser switch and mobile platform detection available \(inside CSS code\) @@ -18,7 +18,11 @@ On top of pure CSS, SAPUI5 offers a variety of optional features that add value To ensure these functions, SAPUI5 uses the following components: -- A CSS generator with several functions: LESS processing \(CSS variables substitution etc.\), merge of CSS files created for different themes and controls for optimal runtime consumption, as well as compression or right-to-left substitution if required. +- A CSS generator with several functions: LESS processing \(CSS variables substitution, etc.\), merging of CSS files created for different themes and controls for optimal runtime consumption, as well as compression or right-to-left substitution if required. + + > ### Tip: + > With the availability of CSS custom properties, LESS processing is going to be removed as soon as all SAPUI5 libraries make consistent use of the CSS custom properties. + - The SAPUI5 runtime handles the loading of the appropriate CSS file for the control libraries used in the application page by adding `