@openui5/sap.ui.core 1.119.1 → 1.120.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRDPARTY.txt +6 -6
- package/package.json +1 -1
- package/src/jquery.sap.global.js +40 -111
- package/src/jquery.sap.properties.js +7 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +5 -3
- package/src/jquery.sap.storage.js +6 -3
- package/src/sap/base/Event.js +32 -78
- package/src/sap/base/Eventing.js +114 -271
- package/src/sap/base/Log.js +21 -1
- package/src/sap/base/config.js +14 -9
- package/src/sap/base/i18n/Formatting.js +378 -250
- package/src/sap/base/i18n/LanguageTag.js +64 -66
- package/src/sap/base/i18n/Localization.js +124 -85
- package/src/sap/base/i18n/ResourceBundle.js +1 -1
- package/src/sap/base/i18n/date/CalendarType.js +2 -2
- package/src/sap/base/i18n/date/CalendarWeekNumbering.js +2 -2
- package/src/sap/base/i18n/date/TimezoneUtils.js +43 -6
- package/src/sap/base/util/LoaderExtensions.js +8 -2
- package/src/sap/base/util/mixedFetch.js +1 -0
- package/src/sap/base/util/resolveReference.js +31 -13
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/base/util/syncFetch.js +1 -0
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +6 -7
- package/src/sap/ui/base/BindingInfo.js +3 -3
- package/src/sap/ui/base/BindingParser.js +5 -2
- package/src/sap/ui/base/DataType.js +57 -1
- package/src/sap/ui/base/DesignTime.js +69 -0
- package/src/sap/ui/base/Event.js +2 -2
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/ExpressionParser.js +25 -4
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +102 -29
- package/src/sap/ui/base/ManagedObjectMetadata.js +29 -31
- package/src/sap/ui/base/ManagedObjectObserver.js +1 -0
- package/src/sap/ui/base/Metadata.js +3 -3
- package/src/sap/ui/base/Object.js +19 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +3 -3
- package/src/sap/ui/core/AnimationMode.js +2 -2
- package/src/sap/ui/core/AppCacheBuster.js +30 -18
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/CalendarType.js +6 -0
- package/src/sap/ui/core/Component.js +150 -80
- package/src/sap/ui/core/ComponentContainer.js +4 -3
- package/src/sap/ui/core/ComponentMetadata.js +3 -4
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +390 -706
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/ControlBehavior.js +37 -28
- package/src/sap/ui/core/Core.js +327 -151
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +3 -1
- package/src/sap/ui/core/Element.js +18 -8
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +3 -2
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +13 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +2 -3
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +17 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +8 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +195 -29
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +118 -32
- package/src/sap/ui/core/Manifest.js +4 -2
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Placeholder.js +18 -0
- package/src/sap/ui/core/Popup.js +5 -0
- package/src/sap/ui/core/RenderManager.js +21 -17
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.js +51 -47
- package/src/sap/ui/core/ResizeHandler.js +2 -2
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Shortcut.js +5 -3
- package/src/sap/ui/core/Supportability.js +146 -0
- package/src/sap/ui/core/Theming.js +130 -88
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +4 -3
- package/src/sap/ui/core/UIArea.js +1 -4
- package/src/sap/ui/core/UIComponent.js +38 -12
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +3 -3
- package/src/sap/ui/core/_IconRegistry.js +13 -6
- package/src/sap/ui/core/cldr/ar.json +143 -137
- package/src/sap/ui/core/cldr/ar_EG.json +143 -137
- package/src/sap/ui/core/cldr/ar_SA.json +143 -137
- package/src/sap/ui/core/cldr/bg.json +423 -423
- package/src/sap/ui/core/cldr/ca.json +541 -494
- package/src/sap/ui/core/cldr/cs.json +475 -364
- package/src/sap/ui/core/cldr/cy.json +656 -477
- package/src/sap/ui/core/cldr/da.json +334 -275
- package/src/sap/ui/core/cldr/de.json +388 -291
- package/src/sap/ui/core/cldr/de_AT.json +388 -291
- package/src/sap/ui/core/cldr/de_CH.json +394 -297
- package/src/sap/ui/core/cldr/el.json +169 -166
- package/src/sap/ui/core/cldr/el_CY.json +169 -166
- package/src/sap/ui/core/cldr/en.json +558 -521
- package/src/sap/ui/core/cldr/en_AU.json +558 -520
- package/src/sap/ui/core/cldr/en_GB.json +476 -439
- package/src/sap/ui/core/cldr/en_HK.json +520 -482
- package/src/sap/ui/core/cldr/en_IE.json +486 -448
- package/src/sap/ui/core/cldr/en_IN.json +466 -428
- package/src/sap/ui/core/cldr/en_NZ.json +506 -468
- package/src/sap/ui/core/cldr/en_PG.json +506 -468
- package/src/sap/ui/core/cldr/en_SG.json +506 -468
- package/src/sap/ui/core/cldr/en_ZA.json +486 -448
- package/src/sap/ui/core/cldr/es.json +473 -468
- package/src/sap/ui/core/cldr/es_AR.json +445 -440
- package/src/sap/ui/core/cldr/es_BO.json +479 -474
- package/src/sap/ui/core/cldr/es_CL.json +469 -464
- package/src/sap/ui/core/cldr/es_CO.json +387 -381
- package/src/sap/ui/core/cldr/es_MX.json +502 -497
- package/src/sap/ui/core/cldr/es_PE.json +455 -450
- package/src/sap/ui/core/cldr/es_UY.json +479 -474
- package/src/sap/ui/core/cldr/es_VE.json +499 -494
- package/src/sap/ui/core/cldr/et.json +378 -320
- package/src/sap/ui/core/cldr/fa.json +104 -104
- package/src/sap/ui/core/cldr/fi.json +401 -315
- package/src/sap/ui/core/cldr/fr.json +391 -385
- package/src/sap/ui/core/cldr/fr_BE.json +391 -385
- package/src/sap/ui/core/cldr/fr_CA.json +499 -493
- package/src/sap/ui/core/cldr/fr_CH.json +334 -328
- package/src/sap/ui/core/cldr/fr_LU.json +391 -385
- package/src/sap/ui/core/cldr/he.json +291 -159
- package/src/sap/ui/core/cldr/hi.json +157 -128
- package/src/sap/ui/core/cldr/hr.json +514 -461
- package/src/sap/ui/core/cldr/hu.json +287 -257
- package/src/sap/ui/core/cldr/id.json +463 -416
- package/src/sap/ui/core/cldr/it.json +468 -413
- package/src/sap/ui/core/cldr/it_CH.json +468 -413
- package/src/sap/ui/core/cldr/ja.json +98 -61
- package/src/sap/ui/core/cldr/kk.json +631 -571
- package/src/sap/ui/core/cldr/ko.json +79 -71
- package/src/sap/ui/core/cldr/lt.json +361 -270
- package/src/sap/ui/core/cldr/lv.json +234 -242
- package/src/sap/ui/core/cldr/ms.json +463 -408
- package/src/sap/ui/core/cldr/nb.json +176 -143
- package/src/sap/ui/core/cldr/nl.json +463 -393
- package/src/sap/ui/core/cldr/nl_BE.json +463 -393
- package/src/sap/ui/core/cldr/pl.json +633 -344
- package/src/sap/ui/core/cldr/pt.json +447 -336
- package/src/sap/ui/core/cldr/pt_PT.json +488 -449
- package/src/sap/ui/core/cldr/ro.json +477 -383
- package/src/sap/ui/core/cldr/ru.json +367 -332
- package/src/sap/ui/core/cldr/ru_UA.json +361 -326
- package/src/sap/ui/core/cldr/sk.json +502 -537
- package/src/sap/ui/core/cldr/sl.json +168 -161
- package/src/sap/ui/core/cldr/sr.json +276 -225
- package/src/sap/ui/core/cldr/sr_Latn.json +972 -907
- package/src/sap/ui/core/cldr/sv.json +420 -346
- package/src/sap/ui/core/cldr/th.json +117 -94
- package/src/sap/ui/core/cldr/tr.json +413 -359
- package/src/sap/ui/core/cldr/uk.json +395 -368
- package/src/sap/ui/core/cldr/vi.json +392 -379
- package/src/sap/ui/core/cldr/zh_CN.json +91 -33
- package/src/sap/ui/core/cldr/zh_HK.json +90 -32
- package/src/sap/ui/core/cldr/zh_SG.json +90 -32
- package/src/sap/ui/core/cldr/zh_TW.json +75 -51
- package/src/sap/ui/core/date/CalendarWeekNumbering.js +6 -0
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/date/_Calendars.js +5 -2
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +3 -2
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +33 -21
- package/src/sap/ui/core/format/NumberFormat.js +3 -2
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +2 -2
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +128 -8
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +2 -2
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/message/MessageType.js +2 -1
- package/src/sap/ui/core/messagebundle.properties +24 -0
- package/src/sap/ui/core/messagebundle_ar.properties +15 -3
- package/src/sap/ui/core/messagebundle_bg.properties +14 -2
- package/src/sap/ui/core/messagebundle_ca.properties +13 -1
- package/src/sap/ui/core/messagebundle_cs.properties +15 -3
- package/src/sap/ui/core/messagebundle_cy.properties +16 -4
- package/src/sap/ui/core/messagebundle_da.properties +15 -3
- package/src/sap/ui/core/messagebundle_de.properties +15 -3
- package/src/sap/ui/core/messagebundle_el.properties +16 -4
- package/src/sap/ui/core/messagebundle_en.properties +12 -0
- package/src/sap/ui/core/messagebundle_en_GB.properties +16 -4
- package/src/sap/ui/core/messagebundle_es.properties +15 -3
- package/src/sap/ui/core/messagebundle_es_MX.properties +15 -3
- package/src/sap/ui/core/messagebundle_et.properties +15 -3
- package/src/sap/ui/core/messagebundle_fi.properties +15 -3
- package/src/sap/ui/core/messagebundle_fr.properties +15 -3
- package/src/sap/ui/core/messagebundle_fr_CA.properties +14 -2
- package/src/sap/ui/core/messagebundle_hi.properties +16 -4
- package/src/sap/ui/core/messagebundle_hr.properties +14 -2
- package/src/sap/ui/core/messagebundle_hu.properties +16 -4
- package/src/sap/ui/core/messagebundle_id.properties +15 -3
- package/src/sap/ui/core/messagebundle_it.properties +17 -5
- package/src/sap/ui/core/messagebundle_iw.properties +15 -3
- package/src/sap/ui/core/messagebundle_ja.properties +25 -13
- package/src/sap/ui/core/messagebundle_kk.properties +15 -3
- package/src/sap/ui/core/messagebundle_ko.properties +14 -2
- package/src/sap/ui/core/messagebundle_lt.properties +15 -3
- package/src/sap/ui/core/messagebundle_lv.properties +15 -3
- package/src/sap/ui/core/messagebundle_mk.properties +352 -0
- package/src/sap/ui/core/messagebundle_ms.properties +15 -3
- package/src/sap/ui/core/messagebundle_nl.properties +15 -3
- package/src/sap/ui/core/messagebundle_no.properties +14 -2
- package/src/sap/ui/core/messagebundle_pl.properties +15 -3
- package/src/sap/ui/core/messagebundle_pt.properties +15 -3
- package/src/sap/ui/core/messagebundle_pt_PT.properties +14 -2
- package/src/sap/ui/core/messagebundle_ro.properties +15 -3
- package/src/sap/ui/core/messagebundle_ru.properties +15 -3
- package/src/sap/ui/core/messagebundle_sh.properties +43 -31
- package/src/sap/ui/core/messagebundle_sk.properties +16 -4
- package/src/sap/ui/core/messagebundle_sl.properties +15 -3
- package/src/sap/ui/core/messagebundle_sv.properties +22 -10
- package/src/sap/ui/core/messagebundle_th.properties +15 -3
- package/src/sap/ui/core/messagebundle_tr.properties +15 -3
- package/src/sap/ui/core/messagebundle_uk.properties +18 -6
- package/src/sap/ui/core/messagebundle_vi.properties +18 -6
- package/src/sap/ui/core/messagebundle_zh_CN.properties +15 -3
- package/src/sap/ui/core/messagebundle_zh_TW.properties +15 -3
- package/src/sap/ui/core/mvc/Controller.js +22 -16
- package/src/sap/ui/core/mvc/EventHandlerResolver.js +5 -15
- package/src/sap/ui/core/mvc/HTMLView.js +2 -2
- package/src/sap/ui/core/mvc/JSONView.js +4 -1
- package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -0
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/OverrideExecution.js +4 -4
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +24 -14
- package/src/sap/ui/core/mvc/ViewType.js +2 -0
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +2 -1
- package/src/sap/ui/core/plugin/LessSupport.js +3 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/Router.js +2 -4
- package/src/sap/ui/core/routing/Target.js +1 -3
- package/src/sap/ui/core/routing/Targets.js +2 -3
- package/src/sap/ui/core/routing/Views.js +2 -3
- package/src/sap/ui/core/routing/async/Target.js +1 -1
- package/src/sap/ui/core/rules/Config.support.js +11 -17
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Hotkeys.js +5 -3
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -3
- package/src/sap/ui/core/support/Support.js +3 -5
- package/src/sap/ui/core/support/ToolsAPI.js +15 -11
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- package/src/sap/ui/core/support/plugins/Interaction.js +4 -4
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +7 -5
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +3 -1
- package/src/sap/ui/core/syncStyleClass.js +2 -2
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/themes/base/global.less +9 -9
- package/src/sap/ui/core/theming/Parameters.js +18 -19
- package/src/sap/ui/core/theming/ThemeManager.js +23 -4
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +3 -0
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +4 -4
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +29 -7
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientListBinding.js +3 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +3 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/DataState.js +2 -2
- package/src/sap/ui/model/Filter.js +39 -1
- package/src/sap/ui/model/FilterProcessor.js +12 -2
- package/src/sap/ui/model/ListBinding.js +5 -0
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +4 -4
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +5 -1
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/TreeBinding.js +3 -0
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +3 -1
- package/src/sap/ui/model/json/JSONListBinding.js +3 -1
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/json/JSONTreeBinding.js +3 -2
- package/src/sap/ui/model/message/MessageListBinding.js +3 -0
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/AnnotationHelper.js +9 -3
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +3 -0
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +9 -5
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -2
- package/src/sap/ui/model/odata/ODataTreeBinding.js +2 -0
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +9 -14
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +35 -13
- package/src/sap/ui/model/odata/v2/ODataModel.js +21 -8
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +33 -2
- package/src/sap/ui/model/odata/v4/Context.js +81 -7
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +217 -75
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +6 -6
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +406 -199
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +12 -7
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +53 -30
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +6 -4
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +6 -6
- package/src/sap/ui/model/resource/ResourceModel.js +5 -6
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLListBinding.js +3 -0
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/model/xml/XMLTreeBinding.js +3 -0
- package/src/sap/ui/performance/BeaconRequest.js +2 -2
- package/src/sap/ui/qunit/QUnitUtils.js +64 -45
- package/src/sap/ui/qunit/qunit-coverage.js +6 -0
- package/src/sap/ui/qunit/utils/ControlIterator.js +31 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/security/Security.js +128 -0
- package/src/sap/ui/test/BlanketReporter.js +2 -3
- package/src/sap/ui/test/BlanketReporterUI.view.xml +1 -1
- package/src/sap/ui/test/BranchTracking.js +2 -3
- package/src/sap/ui/test/ModuleTracking.js +48 -20
- package/src/sap/ui/test/OpaExtension.js +3 -3
- package/src/sap/ui/test/OpaPlugin.js +16 -6
- package/src/sap/ui/test/TestUtils.js +7 -4
- package/src/sap/ui/test/_BrowserLogCollector.js +1 -0
- package/src/sap/ui/test/_ControlFinder.js +3 -2
- package/src/sap/ui/test/_LogCollector.js +1 -0
- package/src/sap/ui/test/_UsageReport.js +115 -114
- package/src/sap/ui/test/actions/EnterText.js +20 -2
- package/src/sap/ui/test/autowaiter/WaiterBase.js +1 -0
- package/src/sap/ui/test/autowaiter/_moduleWaiter.js +1 -2
- package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +1 -1
- package/src/sap/ui/test/generic/GenericTestCollection.js +5 -0
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/generic/Utils.js +1 -1
- package/src/sap/ui/test/matchers/LabelFor.js +2 -12
- package/src/sap/ui/test/matchers/Matcher.js +1 -1
- package/src/sap/ui/test/pipelines/PipelineFactory.js +1 -0
- package/src/sap/ui/test/selectors/_Selector.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +84 -11
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/localService/mockserver.js +3 -4
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/ChartAnnotation.fragment.xml +7 -7
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Component.js +2 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Detail.view.xml +12 -13
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Facets.fragment.xml +4 -4
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Field.fragment.xml +8 -8
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/FormFacet.fragment.xml +3 -5
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/LabeledField.fragment.xml +3 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Table.fragment.xml +10 -10
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/TableFacet.fragment.xml +3 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/extension/HeaderInfo.fragment.xml +1 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Field.fragment.xml +2 -2
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Template.view.xml +19 -21
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/TemplateV4.view.xml +2 -2
- package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Component.js +2 -3
- package/test/sap/ui/core/demokit/sample/common/SandboxModelHelper.js +2 -3
- package/test/sap/ui/core/demokit/sample/common/ValueHelp.js +2 -3
- package/test/sap/ui/core/demokit/sample/common/pages/Any.js +7 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +15 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +3 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +39 -16
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +18 -21
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +509 -395
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +586 -422
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Facets.fragment.xml +22 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/FormattedText.fragment.xml +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Main.view.xml +7 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +0 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +54 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +34 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +156 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.view.xml +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Facets.fragment.xml +22 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/FormattedText.fragment.xml +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Main.view.xml +5 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.controller.js +2 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +2 -2
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +2 -3
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +2 -3
- package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +18 -0
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +4 -3
- package/test/sap/ui/core/qunit/Core.qunit.js +5 -14
- package/test/sap/ui/core/qunit/Core_libraryPreloadFiles.qunit.js +4 -4
- package/test/sap/ui/core/qunit/Core_libraryPreloadFiles_unavoidablyUsingEval.qunit.js +6 -6
- package/test/sap/ui/core/qunit/Core_unavoidablyUsingEval.qunit.js +31 -30
- package/test/sap/ui/core/qunit/DataState.qunit.js +7 -4
- package/test/sap/ui/core/qunit/DuplicateIds.qunit.js +3 -0
- package/test/sap/ui/core/qunit/DuplicateIds_noError.qunit.js +4 -0
- package/test/sap/ui/core/qunit/Element_metadata_renderer.qunit.js +6 -0
- package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +144 -85
- package/test/sap/ui/core/qunit/HTML.qunit.js +87 -84
- package/test/sap/ui/core/qunit/InvisibleText.qunit.js +22 -1
- package/test/sap/ui/core/qunit/LRUPersistentCache.qunit.js +4 -4
- package/test/sap/ui/core/qunit/Lib.qunit.js +22 -1
- package/test/sap/ui/core/qunit/ListBinding.qunit.js +14 -1
- package/test/sap/ui/core/qunit/ManagedObject.qunit.js +5 -2
- package/test/sap/ui/core/qunit/ManagedObjectMetadata.qunit.js +41 -40
- package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +2 -1
- package/test/sap/ui/core/qunit/{ManagedObject_noBoot.qunit.js → ManagedObject_BindingParser.qunit.js} +10 -9
- package/test/sap/ui/core/qunit/Object.qunit.js +36 -0
- package/test/sap/ui/core/qunit/RenderManager.qunit.js +86 -94
- package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +11 -97
- package/test/sap/ui/core/qunit/StaticBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/UIArea.qunit.js +34 -35
- package/test/sap/ui/core/qunit/analytics/AnalyticalTreeBindingAdapter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +3 -0
- package/test/sap/ui/core/qunit/app/DesignMode_controllerDeactivated.qunit.js +5 -6
- package/test/sap/ui/core/qunit/app/DesignMode_suppressedDeactivation.qunit.js +5 -6
- package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/app/_createDesignModeTests_legacyAPIs.qunit.js +8 -10
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +2 -2
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +30 -30
- package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +123 -10
- package/test/sap/ui/core/qunit/base/util/resolveReference.qunit.js +9 -0
- package/test/sap/ui/core/qunit/base/util/testdata/MyModule.js +5 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.beforeBootstrap.qunit.js +4 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.html +1 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +9 -10
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload_legacyAPIs.qunit.js +0 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithinBody.qunit.html +2 -1
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithinHead.qunit.html +2 -1
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +122 -266
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibConfigured.qunit.html +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibConfigured.qunit.js +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibLoaded.qunit.html +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibLoaded.qunit.js +16 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibNotLoaded.qunit.html +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibNotLoaded.qunit.js +14 -0
- package/test/sap/ui/core/qunit/bootstrap/ControlBehavior.qunit.js +110 -0
- package/test/sap/ui/core/qunit/bootstrap/PreloadCfg.qunit.js +4 -3
- package/test/sap/ui/core/qunit/bootstrap/ResourceRoot_ResourcesURL_Standard.qunit.html +1 -1
- package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.beforeBootstrap.qunit.js +2 -3
- package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +39 -34
- package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted_legacyAPIs.qunit.js +5 -1
- package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +51 -15
- package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery-compat.qunit.html +23 -0
- package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery-compat.qunit.js +1 -1
- package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery.sap.stubs.qunit.js +16 -20
- package/test/sap/ui/core/qunit/compat_legacyAPIs/testsuite.compat.qunit.js +1 -4
- package/test/sap/ui/core/qunit/component/Component.qunit.js +74 -4
- package/test/sap/ui/core/qunit/component/Models.qunit.js +3 -1
- package/test/sap/ui/core/qunit/component/Preloading.qunit.js +8 -12
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +8 -2
- package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Component.js +23 -0
- package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Main.view.xml +8 -0
- package/test/sap/ui/core/qunit/component/testdata/routerPreloading/manifest.json +34 -0
- package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Component.js +23 -0
- package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Main.view.xml +8 -0
- package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/manifest.json +28 -0
- package/test/sap/ui/core/qunit/date/_Calendars.qunit.js +52 -0
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +18 -0
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaksUsingIterator.qunit.js +3 -4
- package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +18 -0
- package/test/sap/ui/core/qunit/generic/legacy/SettersContextReturn.qunit.js +15 -0
- package/test/sap/ui/core/qunit/generic/testsuite.generic.qunit.js +21 -0
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessAmbiguous.js +2 -3
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessDuplicate.js +2 -3
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessFailing.js +2 -3
- package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.html +16 -0
- package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.js +1 -1
- package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.html +16 -0
- package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.js +1 -1
- package/test/sap/ui/core/qunit/gherkin/testsuite.gherkin.qunit.js +3 -2
- package/test/sap/ui/core/qunit/i18n/Buddhist.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/GenericLocaleData.qunit.js +217 -114
- package/test/sap/ui/core/qunit/i18n/Islamic.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/Japanese.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +341 -7
- package/test/sap/ui/core/qunit/i18n/Persian.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +10 -1
- package/test/sap/ui/core/qunit/i18n/helper/_timezones.js +17 -11
- package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +7 -1
- package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +5 -1
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +2 -2
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
- package/test/sap/ui/core/qunit/internal/AnnotationParser.qunit.html +1 -2
- package/test/sap/ui/core/qunit/internal/ODataV4.qunit.html +6 -1
- package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +2 -1
- package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.html +24 -0
- package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.js +12 -6
- package/test/sap/ui/core/qunit/jquery.sap.global-config_beforeBootstrap.qunit.js +1 -1
- package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +30 -0
- package/test/sap/ui/core/qunit/loader/exposeAsAMDLoader.qunit.html +1 -0
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ClientTreeBindingAdapter.qunit.js +6 -0
- package/test/sap/ui/core/qunit/model/CompositeDataState.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Context.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ContextBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Filter.qunit.js +49 -0
- package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +40 -1
- package/test/sap/ui/core/qunit/model/ListBinding.qunit.js +23 -5
- package/test/sap/ui/core/qunit/model/Model.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Sorter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/TreeBinding.qunit.js +43 -3
- package/test/sap/ui/core/qunit/model/TreeBindingAdapter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +107 -93
- package/test/sap/ui/core/qunit/mvc/View.qunit.js +3 -0
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +17 -14
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +23 -12
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +29 -82
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML_unavoidablySync.qunit.js +123 -0
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +4 -0
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +4 -0
- package/test/sap/ui/core/qunit/mvc/testsuite.mvc.qunit.js +16 -0
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +408 -419
- package/test/sap/ui/core/qunit/odata/AnnotationHelper.qunit.js +6 -4
- package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +16 -0
- package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +8 -1
- package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +5 -1
- package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/type/DateTimeWithTimezone.qunit.js +6 -6
- package/test/sap/ui/core/qunit/odata/type/Time.qunit.js +3 -4
- package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +36 -13
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +952 -292
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +6 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBindingNoFakeService.qunit.js +6 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +215 -1
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +194 -3
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +3 -2
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +69 -2
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +601 -99
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1859 -407
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +7 -5
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +909 -422
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +21 -6
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +104 -33
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +8 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +9 -9
- package/test/sap/ui/core/qunit/odata/v4/lib/_V2MetadataConverter.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_V4MetadataConverter.qunit.js +3 -3
- package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +16 -0
- package/test/sap/ui/core/qunit/opa/_LogCollector.qunit.js +17 -9
- package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +51 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_timeoutWaiter.js +11 -0
- package/test/sap/ui/core/qunit/opa/fixture/miniUI5Site.js +14 -8
- package/test/sap/ui/core/qunit/opa/fixture/uncaughtError.js +18 -12
- package/test/sap/ui/core/qunit/performance/BeaconRequest.qunit.js +18 -2
- package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +1 -0
- package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +5 -4
- package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +20 -18
- package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +1 -4
- package/test/sap/ui/core/qunit/routing/fixture/routingConfig/Component.js +2 -25
- package/test/sap/ui/core/qunit/routing/fixture/routingConfig/manifest.json +28 -0
- package/test/sap/ui/core/qunit/rule/misc/silentEventBus.qunit.js +1 -2
- package/test/sap/ui/core/qunit/testdata/libraries/scenario11/lib1/library.js +11 -0
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library-preload.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library-preload.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/terminologies/integration/lib/library-preload.js +1 -1
- package/test/sap/ui/core/qunit/testdata/shortcutHints/Component.js +9 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/RootView.controller.js +8 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/RootView.view.xml +16 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/lib/MyControl.js +27 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/manifest.json +26 -0
- package/test/sap/ui/core/qunit/testdata/uilib-custom-theme-fallback/library.js +4 -5
- package/test/sap/ui/core/qunit/testdata/uilib-failing-css-import/library.js +5 -6
- package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.controller.js +2 -1
- package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.view.xml +18 -1
- package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +3 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +0 -4
- package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +6 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.managed.object.qunit.js +4 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.modular.core.qunit.js +1 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.security.qunit.js +3 -9
- package/test/sap/ui/core/qunit/types/DataType.qunit.js +14 -3
- package/test/sap/ui/core/qunit/types/Date.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +391 -147
- package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +32 -29
- package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +7 -4
- package/test/sap/ui/core/qunit/types/FileSizeFormat.qunit.js +5 -1
- package/test/sap/ui/core/qunit/types/ListFormat.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/NumberFormat.qunit.js +4 -3
- package/test/sap/ui/core/qunit/types/NumberFormatCurrencies.qunit.js +5 -4
- package/test/sap/ui/core/qunit/types/NumberFormatCurrenciesTrailing.qunit.js +4 -3
- package/test/sap/ui/core/qunit/types/SimpleType.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/TimezoneUtil.qunit.js +23 -0
- package/test/sap/ui/core/qunit/types/Types.qunit.js +44 -10
- package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +3 -0
- package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +592 -83
- package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-allowlist.js +7 -0
- package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-frameOptions.js +7 -0
- package/test/sap/ui/core/qunit/{bootstrap/CfgFromGlobalObject.qunit.html → util/jQuery.sap.FrameOptions-meta-tag-override-mode.qunit.html} +7 -11
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-mode.qunit.js +3 -4
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-service.qunit.html +26 -0
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-service.qunit.js +3 -4
- package/test/sap/ui/core/qunit/{bootstrap/CfgDefaults.qunit.html → util/jQuery.sap.FrameOptions-meta-tag.qunit.html} +5 -8
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag.qunit.js +3 -4
- package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +10 -10
- package/test/sap/ui/core/qunit/util/jquery.sap.logger.qunit.html +18 -0
- package/test/sap/ui/core/qunit/util/jquery.sap.resources.qunit.js +1 -1
- package/test/sap/ui/core/qunit/util/testsuite.util.qunit.js +1 -3
- package/test/sap/ui/core/qunit/xml/XMLListBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +3 -0
- package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +3 -0
- package/test/sap/ui/core/relnotes/changes-1.119.json +1 -12
- package/test/sap/ui/core/relnotes/changes-1.120.json +360 -0
- package/test/sap/ui/core/terminologies/App.controller.js +2 -3
- package/test/sap/ui/core/terminologies/main.js +2 -3
- package/test/sap/ui/test/qunit/TestUtils.qunit.js +3 -3
- package/src/sap/ui/core/ConfigTest.js +0 -17
- package/src/sap/ui/core/_ConfigurationProvider.js +0 -187
- package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +0 -57
- package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +0 -71
- package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.html +0 -29
- package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.js +0 -40
- package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.beforeBootstrap.qunit.js +0 -20
- package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.qunit.js +0 -40
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.html +0 -42
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +0 -49
- package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +0 -96
- package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-meta-tag.js +0 -10
- package/test/sap/ui/core/samples/mvc/JSONView.html +0 -65
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
|
-
/*global globalThis*/
|
|
7
6
|
sap.ui.define([
|
|
8
7
|
"sap/base/config",
|
|
9
8
|
"sap/base/Eventing",
|
|
@@ -20,16 +19,18 @@ sap.ui.define([
|
|
|
20
19
|
TimezoneUtils
|
|
21
20
|
) {
|
|
22
21
|
"use strict";
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
|
|
23
|
+
const oWritableConfig = BaseConfig.getWritableInstance();
|
|
25
24
|
let sLanguageSetByApi;
|
|
26
|
-
|
|
25
|
+
const oEventing = new Eventing();
|
|
26
|
+
let mChanges;
|
|
27
|
+
let bLanguageWarningLogged = false;
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
30
|
* A map of preferred Calendar types according to the language.
|
|
30
31
|
* @private
|
|
31
32
|
*/
|
|
32
|
-
|
|
33
|
+
const _mPreferredCalendar = {
|
|
33
34
|
"ar-SA": CalendarType.Islamic,
|
|
34
35
|
"fa": CalendarType.Persian,
|
|
35
36
|
"th": CalendarType.Buddhist,
|
|
@@ -37,7 +38,7 @@ sap.ui.define([
|
|
|
37
38
|
};
|
|
38
39
|
|
|
39
40
|
// Note: keys must be uppercase
|
|
40
|
-
|
|
41
|
+
const M_ABAP_LANGUAGE_TO_LOCALE = {
|
|
41
42
|
"ZH" : "zh-Hans",
|
|
42
43
|
"ZF" : "zh-Hant",
|
|
43
44
|
"SH" : "sr-Latn",
|
|
@@ -50,30 +51,29 @@ sap.ui.define([
|
|
|
50
51
|
"3Q" : "en-US-x-saprigi"
|
|
51
52
|
};
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
const M_ISO639_OLD_TO_NEW = {
|
|
54
55
|
"iw" : "he",
|
|
55
56
|
"ji" : "yi"
|
|
56
57
|
};
|
|
57
58
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
function inverse(obj) {
|
|
61
|
-
return Object.keys(obj).reduce(function(inv, key) {
|
|
59
|
+
const M_LOCALE_TO_ABAP_LANGUAGE = ((obj) => {
|
|
60
|
+
return Object.keys(obj).reduce((inv, key) => {
|
|
62
61
|
inv[obj[key]] = key;
|
|
63
62
|
return inv;
|
|
64
63
|
}, {});
|
|
65
|
-
}
|
|
64
|
+
})(M_ABAP_LANGUAGE_TO_LOCALE);
|
|
66
65
|
|
|
67
66
|
/**
|
|
68
67
|
* Maps wellknown private use extensions to pseudo language tags.
|
|
69
68
|
* @param {string} sPrivateUse A Locale
|
|
70
69
|
* @returns {string|undefined} the pseudo language tag or undefined
|
|
71
70
|
* @private
|
|
71
|
+
* @since 1.120.0
|
|
72
72
|
*/
|
|
73
73
|
function getPseudoLanguageTag(sPrivateUse) {
|
|
74
|
-
|
|
74
|
+
let sPseudoLanguageTag;
|
|
75
75
|
if ( sPrivateUse ) {
|
|
76
|
-
|
|
76
|
+
const m = /-(saptrc|sappsd|saprigi)(?:-|$)/i.exec(sPrivateUse);
|
|
77
77
|
sPseudoLanguageTag = m && "en-US-x-" + m[1].toLowerCase();
|
|
78
78
|
}
|
|
79
79
|
return sPseudoLanguageTag;
|
|
@@ -96,9 +96,10 @@ sap.ui.define([
|
|
|
96
96
|
* @param {string} sValue The raw designtime property e.g. $cldr-rtl-locales:ar,fa,he$
|
|
97
97
|
* @returns {string[]|null} The designtime property e.g. ['ar', 'fa', 'he']
|
|
98
98
|
* @private
|
|
99
|
+
* @since 1.120.0
|
|
99
100
|
*/
|
|
100
101
|
function getDesigntimePropertyAsArray(sValue) {
|
|
101
|
-
|
|
102
|
+
const m = /\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(sValue);
|
|
102
103
|
return (m && m[2]) ? m[2].split(/,/) : null;
|
|
103
104
|
}
|
|
104
105
|
|
|
@@ -110,13 +111,13 @@ sap.ui.define([
|
|
|
110
111
|
* The value is determined from the CLDR JSON files which are
|
|
111
112
|
* bundled with the UI5 runtime.
|
|
112
113
|
*/
|
|
113
|
-
|
|
114
|
+
const A_RTL_LOCALES = getDesigntimePropertyAsArray("$cldr-rtl-locales:ar,fa,he$") || [];
|
|
114
115
|
|
|
115
116
|
/**
|
|
116
117
|
* List of locales for which translated texts have been bundled with the UI5 runtime.
|
|
117
118
|
* @private
|
|
118
119
|
*/
|
|
119
|
-
|
|
120
|
+
const _coreI18nLocales = getDesigntimePropertyAsArray("$core-i18n-locales:,ar,bg,ca,cs,da,de,el,en,en_GB,es,es_MX,et,fi,fr,hi,hr,hu,it,iw,ja,kk,ko,lt,lv,ms,nl,no,pl,pt,ro,ru,sh,sk,sl,sv,th,tr,uk,vi,zh_CN,zh_TW$");
|
|
120
121
|
|
|
121
122
|
/**
|
|
122
123
|
* Retrieves a Locale for the given SAP logon language or BCP47 tag.
|
|
@@ -125,9 +126,10 @@ sap.ui.define([
|
|
|
125
126
|
* A SAP logon language, e.g. "ZF" or a BCP47 language tag
|
|
126
127
|
* @returns {object} An object containing the mapped LogonLanguage and a LanguageTag if created
|
|
127
128
|
* @private
|
|
129
|
+
* @since 1.120.0
|
|
128
130
|
*/
|
|
129
131
|
function fromSAPLogonLanguage(sSAPLogonLanguage) {
|
|
130
|
-
|
|
132
|
+
let oLanguageTag;
|
|
131
133
|
if (sSAPLogonLanguage && typeof sSAPLogonLanguage === 'string') {
|
|
132
134
|
sSAPLogonLanguage = M_ABAP_LANGUAGE_TO_LOCALE[sSAPLogonLanguage.toUpperCase()] || sSAPLogonLanguage;
|
|
133
135
|
try {
|
|
@@ -136,10 +138,7 @@ sap.ui.define([
|
|
|
136
138
|
// ignore
|
|
137
139
|
}
|
|
138
140
|
}
|
|
139
|
-
return
|
|
140
|
-
languageTag: oLanguageTag,
|
|
141
|
-
SAPLogonLanguage: sSAPLogonLanguage
|
|
142
|
-
};
|
|
141
|
+
return [oLanguageTag, sSAPLogonLanguage];
|
|
143
142
|
}
|
|
144
143
|
|
|
145
144
|
/**
|
|
@@ -150,9 +149,10 @@ sap.ui.define([
|
|
|
150
149
|
* @returns {module:sap/base/i18n/LanguageTag} The resulting LanguageTag
|
|
151
150
|
* @throws {TypeError} Throws a TypeError for unknown languages
|
|
152
151
|
* @private
|
|
152
|
+
* @since 1.120.0
|
|
153
153
|
*/
|
|
154
154
|
function createLanguageTag(sLanguage) {
|
|
155
|
-
|
|
155
|
+
let oLanguageTag;
|
|
156
156
|
if (sLanguage) {
|
|
157
157
|
oLanguageTag = new LanguageTag(sLanguage);
|
|
158
158
|
}
|
|
@@ -166,7 +166,7 @@ sap.ui.define([
|
|
|
166
166
|
|
|
167
167
|
function check(bCondition, sMessage) {
|
|
168
168
|
if ( !bCondition ) {
|
|
169
|
-
throw new
|
|
169
|
+
throw new TypeError(sMessage);
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
|
|
@@ -180,9 +180,10 @@ sap.ui.define([
|
|
|
180
180
|
* @param {string} sTimezone The IANA timezone ID
|
|
181
181
|
* @returns {boolean} Returns true if the timezone is valid
|
|
182
182
|
* @private
|
|
183
|
+
* @since 1.120.0
|
|
183
184
|
*/
|
|
184
185
|
function checkTimezone(sTimezone) {
|
|
185
|
-
|
|
186
|
+
const bIsValidTimezone = TimezoneUtils.isValidTimezone(sTimezone);
|
|
186
187
|
if (!bIsValidTimezone) {
|
|
187
188
|
Log.error("The provided timezone '" + sTimezone + "' is not a valid IANA timezone ID." +
|
|
188
189
|
" Falling back to browser's local timezone '" + TimezoneUtils.getLocalTimezone() + "'.");
|
|
@@ -194,48 +195,76 @@ sap.ui.define([
|
|
|
194
195
|
* Configuration for localization specific parameters
|
|
195
196
|
* @public
|
|
196
197
|
* @since 1.118
|
|
197
|
-
* @ui5-restricted sap.ui.core
|
|
198
198
|
* @alias module:sap/base/i18n/Localization
|
|
199
199
|
* @namespace
|
|
200
|
-
* @mixes module:sap/base/Eventing
|
|
201
|
-
* @borrows module:sap/base/Eventing#attachEvent as attachEvent
|
|
202
|
-
* @borrows module:sap/base/Eventing#attachEventOnce as attachEventOnce
|
|
203
|
-
* @borrows module:sap/base/Eventing#detachEvent as detachEvent
|
|
204
|
-
* @borrows module:sap/base/Eventing#fireEvent as fireEvent
|
|
205
|
-
* @borrows module:sap/base/Eventing#hasListeners as hasListeners
|
|
206
|
-
* @borrows module:sap/base/Eventing#getEventingParent as getEventingParent
|
|
207
|
-
* @borrows module:sap/base/Eventing#toString as toString
|
|
208
200
|
*/
|
|
209
|
-
|
|
201
|
+
const Localization = {
|
|
210
202
|
/**
|
|
211
203
|
* The <code>change</code> event is fired, when the configuration options are changed.
|
|
204
|
+
* For the event parameters please refer to {@link module:sap/base/i18n/Localization$ChangeEvent}.
|
|
212
205
|
*
|
|
213
206
|
* @name module:sap/base/i18n/Localization.change
|
|
214
207
|
* @event
|
|
208
|
+
* @param {module:sap/base/i18n/Localization$ChangeEvent} oEvent
|
|
215
209
|
* @public
|
|
210
|
+
* @since 1.120.0
|
|
216
211
|
*/
|
|
217
212
|
|
|
213
|
+
/**
|
|
214
|
+
* The localization change event. Contains only the parameters which were changed.
|
|
215
|
+
*
|
|
216
|
+
* The list below shows the possible combinations of parameters available as part of the change event.
|
|
217
|
+
*
|
|
218
|
+
* <ul>
|
|
219
|
+
* <li>{@link module:sap/base/i18n/Localization.setLanguage Localization.setLanguage}:
|
|
220
|
+
* <ul>
|
|
221
|
+
* <li><code>language</code></li>
|
|
222
|
+
* <li><code>rtl?</code> (only if language change also changed RTL)</li>
|
|
223
|
+
* </ul>
|
|
224
|
+
* </li>
|
|
225
|
+
* <li>{@link module:sap/base/i18n/Localization.setRTL Localization.setRTL}:
|
|
226
|
+
* <ul>
|
|
227
|
+
* <li><code>rtl</code></li>
|
|
228
|
+
* </ul>
|
|
229
|
+
* </li>
|
|
230
|
+
* <li>{@link module:sap/base/i18n/Localization.setTimezone Localization.setTimezone}:
|
|
231
|
+
* <ul>
|
|
232
|
+
* <li><code>timezone</code></li>
|
|
233
|
+
* </ul>
|
|
234
|
+
* </li>
|
|
235
|
+
* </ul>
|
|
236
|
+
*
|
|
237
|
+
* @typedef {object} module:sap/base/i18n/Localization$ChangeEvent
|
|
238
|
+
* @property {string} [language] The newly set language.
|
|
239
|
+
* @property {boolean} [rtl] Whether the page uses the RTL text direction.
|
|
240
|
+
* @property {string} [timezone] The newly set timezone.
|
|
241
|
+
* @public
|
|
242
|
+
* @since 1.120.0
|
|
243
|
+
*/
|
|
218
244
|
/**
|
|
219
245
|
* Attaches the <code>fnFunction</code> event handler to the {@link #event:change change} event
|
|
220
246
|
* of <code>module:sap/base/i18n/Localization</code>.
|
|
221
247
|
*
|
|
222
|
-
* @param {function} fnFunction
|
|
248
|
+
* @param {function(module:sap/base/i18n/Localization$ChangeEvent)} fnFunction
|
|
223
249
|
* The function to be called when the event occurs
|
|
224
250
|
* @public
|
|
251
|
+
* @since 1.120.0
|
|
252
|
+
* @static
|
|
225
253
|
*/
|
|
226
254
|
attachChange: function(fnFunction) {
|
|
227
|
-
|
|
255
|
+
oEventing.attachEvent("change", fnFunction);
|
|
228
256
|
},
|
|
229
257
|
|
|
230
258
|
/**
|
|
231
259
|
* Detaches event handler <code>fnFunction</code> from the {@link #event:change change} event of
|
|
232
260
|
* this <code>module:sap/base/i18n/Localization</code>.
|
|
233
261
|
*
|
|
234
|
-
* @param {function} fnFunction Function to be called when the event occurs
|
|
262
|
+
* @param {function(module:sap/base/i18n/Localization$ChangeEvent)} fnFunction Function to be called when the event occurs
|
|
235
263
|
* @public
|
|
264
|
+
* @since 1.120.0
|
|
236
265
|
*/
|
|
237
266
|
detachChange: function(fnFunction) {
|
|
238
|
-
|
|
267
|
+
oEventing.detachEvent("change", fnFunction);
|
|
239
268
|
},
|
|
240
269
|
|
|
241
270
|
/**
|
|
@@ -274,30 +303,33 @@ sap.ui.define([
|
|
|
274
303
|
* represented as en-US with a private extension
|
|
275
304
|
* </pre>
|
|
276
305
|
*
|
|
277
|
-
*
|
|
306
|
+
* Call {@link moduel:sap/base/i18n/Localization.getLanguageTag getLanguageTag} to get a
|
|
278
307
|
* {@link module:sap/base/i18n/LanguageTag LanguageTag} object matching the language.
|
|
308
|
+
* For a normalized BCP47 tag, call {@link module:sap/base/i18n/LanguageTag.toString toString()}
|
|
309
|
+
* on the returned <code>LanguageTag</code>
|
|
279
310
|
*
|
|
280
311
|
* @returns {string} Language string as configured
|
|
281
312
|
* @public
|
|
313
|
+
* @since 1.120.0
|
|
282
314
|
*/
|
|
283
315
|
getLanguage : function () {
|
|
284
|
-
|
|
316
|
+
let oLanguageTag,
|
|
285
317
|
sDerivedLanguage;
|
|
286
318
|
|
|
287
319
|
if (sLanguageSetByApi) {
|
|
288
320
|
return sLanguageSetByApi;
|
|
289
321
|
}
|
|
290
|
-
|
|
322
|
+
const sLanguage = oWritableConfig.get({
|
|
291
323
|
name: "sapUiLanguage",
|
|
292
324
|
type: BaseConfig.Type.String,
|
|
293
325
|
external: true
|
|
294
326
|
});
|
|
295
|
-
|
|
327
|
+
const sSapLocale = oWritableConfig.get({
|
|
296
328
|
name: "sapLocale",
|
|
297
329
|
type: BaseConfig.Type.String,
|
|
298
330
|
external: true
|
|
299
331
|
});
|
|
300
|
-
|
|
332
|
+
const sSapLanguage = oWritableConfig.get({
|
|
301
333
|
name: "sapLanguage",
|
|
302
334
|
type: BaseConfig.Type.String,
|
|
303
335
|
external: true
|
|
@@ -314,9 +346,7 @@ sap.ui.define([
|
|
|
314
346
|
bLanguageWarningLogged = true;
|
|
315
347
|
}
|
|
316
348
|
//fromSAPLogonLanguage catches errors oLanguageTag could be undefined
|
|
317
|
-
|
|
318
|
-
oLanguageTag = oSAPLogonLanguage.languageTag;
|
|
319
|
-
sDerivedLanguage = oSAPLogonLanguage.languageTag && oSAPLogonLanguage.SAPLogonLanguage;
|
|
349
|
+
[oLanguageTag, sDerivedLanguage] = fromSAPLogonLanguage(sSapLanguage);
|
|
320
350
|
}
|
|
321
351
|
if (!oLanguageTag) {
|
|
322
352
|
if (sLanguage) {
|
|
@@ -337,6 +367,7 @@ sap.ui.define([
|
|
|
337
367
|
* @returns {string} The modern language
|
|
338
368
|
* @private
|
|
339
369
|
* @ui5-restricted sap.ui.core
|
|
370
|
+
* @since 1.120.0
|
|
340
371
|
*/
|
|
341
372
|
getModernLanguage : function(sLanguage) {
|
|
342
373
|
return M_ISO639_OLD_TO_NEW[sLanguage] || sLanguage;
|
|
@@ -349,8 +380,8 @@ sap.ui.define([
|
|
|
349
380
|
* When the language can't be interpreted as a BCP47 language (using the relaxed syntax
|
|
350
381
|
* described in {@link #getLanguage}, an error will be thrown.
|
|
351
382
|
*
|
|
352
|
-
* When the language has changed, the
|
|
353
|
-
* {@link sap.
|
|
383
|
+
* When the language has changed, the Localization will fire its
|
|
384
|
+
* {@link module:sap/base/i18n/Localization.change change} event.
|
|
354
385
|
*
|
|
355
386
|
*
|
|
356
387
|
* <h3>Restrictions</h3>
|
|
@@ -385,7 +416,8 @@ sap.ui.define([
|
|
|
385
416
|
*
|
|
386
417
|
* config method does not accept SAP language codes for <code>sLanguage</code>. Instead, a second
|
|
387
418
|
* parameter <code>sSAPLogonLanguage</code> can be provided with an SAP language code corresponding
|
|
388
|
-
* to the given language. A given value will be returned by the
|
|
419
|
+
* to the given language. A given value will be returned by the
|
|
420
|
+
* {@link module:sap/base/i18n/Localization.getSAPLogonLanguage getSAPLogonLanguage} method.
|
|
389
421
|
* It is up to the caller to provide a consistent pair of BCP47 language and SAP language code.
|
|
390
422
|
* The SAP language code is only checked to be of length 2 and must consist of letters or digits only.
|
|
391
423
|
*
|
|
@@ -397,18 +429,19 @@ sap.ui.define([
|
|
|
397
429
|
* if a value is specified, future calls to <code>getSAPLogonLanguage</code> will return that value;
|
|
398
430
|
* if no value is specified, the framework will use the ISO639 language part of <code>sLanguage</code>
|
|
399
431
|
* as SAP Logon language.
|
|
400
|
-
* @throws {
|
|
432
|
+
* @throws {TypeError} When <code>sLanguage</code> can't be interpreted as a BCP47 language or when
|
|
401
433
|
* <code>sSAPLanguage</code> is given and can't be interpreted as SAP language code.
|
|
402
434
|
*
|
|
403
435
|
* @see http://scn.sap.com/docs/DOC-14377
|
|
404
436
|
* @public
|
|
437
|
+
* @since 1.120.0
|
|
405
438
|
*/
|
|
406
439
|
setLanguage : function (sLanguage, sSAPLogonLanguage) {
|
|
407
|
-
|
|
440
|
+
const oLanguageTag = createLanguageTag(sLanguage),
|
|
408
441
|
bOldRTL = Localization.getRTL();
|
|
409
|
-
check(oLanguageTag, "
|
|
442
|
+
check(oLanguageTag, "Localization.setLanguage: sLanguage must be a valid BCP47 language tag");
|
|
410
443
|
check(sSAPLogonLanguage == null || (typeof sSAPLogonLanguage === 'string' && /^[A-Z0-9]{2,2}$/i.test(sSAPLogonLanguage)),
|
|
411
|
-
"
|
|
444
|
+
"Localization.setLanguage: sSAPLogonLanguage must be null or be a string of length 2, consisting of digits and latin characters only");
|
|
412
445
|
|
|
413
446
|
sSAPLogonLanguage = sSAPLogonLanguage || "";
|
|
414
447
|
if ( oLanguageTag.toString() != Localization.getLanguageTag().toString() ||
|
|
@@ -421,7 +454,7 @@ sap.ui.define([
|
|
|
421
454
|
sLanguageSetByApi = sLanguage;
|
|
422
455
|
mChanges = {};
|
|
423
456
|
mChanges.language = Localization.getLanguageTag().toString();
|
|
424
|
-
|
|
457
|
+
const bRtl = Localization.getRTL();
|
|
425
458
|
if ( bOldRTL != bRtl ) {
|
|
426
459
|
mChanges.rtl = bRtl;
|
|
427
460
|
}
|
|
@@ -434,9 +467,10 @@ sap.ui.define([
|
|
|
434
467
|
*
|
|
435
468
|
* @returns {string} The configured IANA timezone ID, e.g. "America/New_York"
|
|
436
469
|
* @public
|
|
470
|
+
* @since 1.120.0
|
|
437
471
|
*/
|
|
438
472
|
getTimezone : function () {
|
|
439
|
-
|
|
473
|
+
let sTimezone = oWritableConfig.get({
|
|
440
474
|
name: "sapTimezone",
|
|
441
475
|
type: BaseConfig.Type.String,
|
|
442
476
|
external: true,
|
|
@@ -463,19 +497,19 @@ sap.ui.define([
|
|
|
463
497
|
* For more information, see
|
|
464
498
|
* {@link topic:6c9e61dc157a40c19460660ece8368bc Dates, Times, Timestamps, and Time Zones}.
|
|
465
499
|
*
|
|
466
|
-
* When the timezone has changed, the
|
|
467
|
-
* {@link module:sap/base/i18n/Localization#event:change change} event.
|
|
500
|
+
* When the timezone has changed, the Localization will fire its {@link #event:change change} event.
|
|
468
501
|
*
|
|
469
|
-
* @param {string|null} [sTimezone] IANA timezone ID, e.g. "America/New_York".
|
|
470
|
-
*
|
|
502
|
+
* @param {string|null} [sTimezone] IANA timezone ID, e.g. "America/New_York".
|
|
503
|
+
* Use <code>null</code> to reset the timezone to the browser's local timezone.
|
|
504
|
+
* An invalid IANA timezone ID will fall back to the browser's timezone.
|
|
471
505
|
* @public
|
|
472
|
-
* @
|
|
506
|
+
* @since 1.120.0
|
|
473
507
|
*/
|
|
474
508
|
setTimezone : function (sTimezone) {
|
|
475
509
|
check(sTimezone == null || typeof sTimezone === 'string',
|
|
476
|
-
"
|
|
510
|
+
"Localization.setTimezone: sTimezone must be null or be a string");
|
|
477
511
|
|
|
478
|
-
|
|
512
|
+
const sCurrentTimezone = Localization.getTimezone();
|
|
479
513
|
sTimezone = sTimezone === null || !checkTimezone(sTimezone) ? undefined : sTimezone;
|
|
480
514
|
oWritableConfig.set("sapTimezone", sTimezone);
|
|
481
515
|
if (Localization.getTimezone() !== sCurrentTimezone) {
|
|
@@ -483,22 +517,22 @@ sap.ui.define([
|
|
|
483
517
|
mChanges.timezone = Localization.getTimezone();
|
|
484
518
|
fireChange();
|
|
485
519
|
}
|
|
486
|
-
return this;
|
|
487
520
|
},
|
|
488
521
|
|
|
489
522
|
/**
|
|
490
523
|
* Returns a LanguageTag object for the current language.
|
|
491
524
|
*
|
|
492
|
-
* The LanguageTag is derived from
|
|
525
|
+
* The LanguageTag is derived from {@link modue:sap/base/i18n/Localization.getLanguage Localization.getLanguage}.
|
|
493
526
|
*
|
|
494
527
|
* @returns {module:sap/base/i18n/LanguageTag} The LanguageTag
|
|
495
528
|
* @public
|
|
529
|
+
* @since 1.120.0
|
|
496
530
|
*/
|
|
497
531
|
getLanguageTag : function () {
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
532
|
+
const oLanguageTag = new LanguageTag(Localization.getLanguage());
|
|
533
|
+
const sLanguage = Localization.getModernLanguage(oLanguageTag.language);
|
|
534
|
+
const sScript = oLanguageTag.script;
|
|
535
|
+
let sLanguageTag = oLanguageTag.toString();
|
|
502
536
|
// special case for "sr_Latn" language: "sh" should then be used
|
|
503
537
|
// config method is used to set the Accept-Language HTTP Header for ODataModel
|
|
504
538
|
// requests and .hdbtextbundle resource bundles.
|
|
@@ -519,6 +553,7 @@ sap.ui.define([
|
|
|
519
553
|
*
|
|
520
554
|
* @returns {boolean} whether the page uses the RTL text direction
|
|
521
555
|
* @public
|
|
556
|
+
* @since 1.120.0
|
|
522
557
|
*/
|
|
523
558
|
getRTL : function () {
|
|
524
559
|
// if rtl has not been set (still null), return the rtl mode derived from the language
|
|
@@ -545,26 +580,25 @@ sap.ui.define([
|
|
|
545
580
|
*
|
|
546
581
|
* After changing the character orientation mode, the framework tries
|
|
547
582
|
* to update localization specific parts of the UI. See the documentation of
|
|
548
|
-
* {@link
|
|
583
|
+
* {@link module:sap/base/i18n/Localization.setLanguage setLanguage} for details and restrictions.
|
|
549
584
|
*
|
|
550
|
-
* <b>Note</b>: See documentation of {@link
|
|
585
|
+
* <b>Note</b>: See documentation of {@link module:sap/base/i18n/Localization.setLanguage setLanguage} for restrictions.
|
|
551
586
|
*
|
|
552
587
|
* @param {boolean|null} bRTL new character orientation mode or <code>null</code>
|
|
553
|
-
* @returns {this} <code>this</code> to allow method chaining
|
|
554
588
|
* @public
|
|
589
|
+
* @since 1.120.0
|
|
555
590
|
*/
|
|
556
591
|
setRTL : function(bRTL) {
|
|
557
592
|
check(bRTL === null || typeof bRTL === "boolean", "bRTL must be null or a boolean");
|
|
558
593
|
bRTL = bRTL === null ? undefined : bRTL;
|
|
559
|
-
|
|
594
|
+
const oldRTL = Localization.getRTL();
|
|
560
595
|
oWritableConfig.set("sapRtl", bRTL);
|
|
561
|
-
|
|
596
|
+
const bCurrentRTL = Localization.getRTL();
|
|
562
597
|
if ( oldRTL != bCurrentRTL ) { // also take the derived RTL flag into account for the before/after comparison!
|
|
563
598
|
mChanges = {};
|
|
564
599
|
mChanges.rtl = bCurrentRTL;
|
|
565
600
|
fireChange();
|
|
566
601
|
}
|
|
567
|
-
return this;
|
|
568
602
|
},
|
|
569
603
|
|
|
570
604
|
/**
|
|
@@ -588,9 +622,10 @@ sap.ui.define([
|
|
|
588
622
|
* @returns {string} a language code that should
|
|
589
623
|
* @private
|
|
590
624
|
* @ui5-restricted sap.ui.core
|
|
625
|
+
* @since 1.120.0
|
|
591
626
|
**/
|
|
592
627
|
_getSAPLogonLanguage : function(oLanguageTag) {
|
|
593
|
-
|
|
628
|
+
let sLanguage = oLanguageTag.language || "";
|
|
594
629
|
|
|
595
630
|
// cut off any ext. language sub tags
|
|
596
631
|
if ( sLanguage.indexOf("-") >= 0 ) {
|
|
@@ -621,17 +656,18 @@ sap.ui.define([
|
|
|
621
656
|
*
|
|
622
657
|
* @returns {string} The SAP logon language code for the current language
|
|
623
658
|
* @public
|
|
659
|
+
* @since 1.120.0
|
|
624
660
|
*/
|
|
625
661
|
getSAPLogonLanguage : function () {
|
|
626
|
-
|
|
627
|
-
|
|
662
|
+
let oLanguageTag;
|
|
663
|
+
const sLanguage = oWritableConfig.get({
|
|
628
664
|
name: "sapLanguage",
|
|
629
665
|
type: BaseConfig.Type.String,
|
|
630
666
|
external: true
|
|
631
667
|
}).toUpperCase();
|
|
632
668
|
|
|
633
669
|
try {
|
|
634
|
-
oLanguageTag = fromSAPLogonLanguage(sLanguage)
|
|
670
|
+
[oLanguageTag] = fromSAPLogonLanguage(sLanguage);
|
|
635
671
|
} catch (exc) {
|
|
636
672
|
//do nothing
|
|
637
673
|
}
|
|
@@ -647,9 +683,10 @@ sap.ui.define([
|
|
|
647
683
|
* @returns {module:sap/base/i18n/date/CalendarType} The preferred Calendar type.
|
|
648
684
|
* @private
|
|
649
685
|
* @ui5-restricted sap.ui.core
|
|
686
|
+
* @since 1.120.0
|
|
650
687
|
*/
|
|
651
688
|
getPreferredCalendarType : function() {
|
|
652
|
-
|
|
689
|
+
const oLocale = Localization.getLanguageTag();
|
|
653
690
|
return _mPreferredCalendar[oLocale.language + "-" + oLocale.region] ||
|
|
654
691
|
_mPreferredCalendar[oLocale.language] ||
|
|
655
692
|
_mPreferredCalendar["default"];
|
|
@@ -664,6 +701,7 @@ sap.ui.define([
|
|
|
664
701
|
* @experimental
|
|
665
702
|
* @private
|
|
666
703
|
* @ui5-restricted sap.ui.core
|
|
704
|
+
* @since 1.120.0
|
|
667
705
|
*/
|
|
668
706
|
getLanguagesDeliveredWithCore : function() {
|
|
669
707
|
return _coreI18nLocales;
|
|
@@ -674,9 +712,10 @@ sap.ui.define([
|
|
|
674
712
|
* @experimental
|
|
675
713
|
* @private
|
|
676
714
|
* @ui5-restricted sap.ui.core
|
|
715
|
+
* @since 1.120.0
|
|
677
716
|
*/
|
|
678
717
|
getSupportedLanguages : function() {
|
|
679
|
-
|
|
718
|
+
let aLangs = BaseConfig.get({
|
|
680
719
|
name: "sapUiXxSupportedLanguages",
|
|
681
720
|
type: BaseConfig.Type.StringArray,
|
|
682
721
|
external: true
|
|
@@ -707,11 +746,12 @@ sap.ui.define([
|
|
|
707
746
|
* @returns {boolean} <code>true</code> if <code>vLanguage</code> implies RTL,
|
|
708
747
|
* otherwise <code>false</code>
|
|
709
748
|
* @private
|
|
749
|
+
* @since 1.120.0
|
|
710
750
|
*/
|
|
711
751
|
function impliesRTL(oLanguageTag) {
|
|
712
|
-
|
|
752
|
+
let sLanguage = oLanguageTag.language || "";
|
|
713
753
|
sLanguage = Localization.getModernLanguage(oLanguageTag.language);
|
|
714
|
-
|
|
754
|
+
const sRegion = oLanguageTag.region || "";
|
|
715
755
|
if ( sRegion && A_RTL_LOCALES.indexOf(sLanguage + "_" + sRegion) >= 0 ) {
|
|
716
756
|
return true;
|
|
717
757
|
}
|
|
@@ -719,10 +759,9 @@ sap.ui.define([
|
|
|
719
759
|
}
|
|
720
760
|
|
|
721
761
|
function fireChange() {
|
|
722
|
-
|
|
762
|
+
oEventing.fireEvent("change", mChanges);
|
|
723
763
|
mChanges = undefined;
|
|
724
764
|
}
|
|
725
765
|
|
|
726
|
-
Eventing.apply(Localization);
|
|
727
766
|
return Localization;
|
|
728
767
|
});
|
|
@@ -595,7 +595,7 @@ sap.ui.define([
|
|
|
595
595
|
// Alternative: add locale as query:
|
|
596
596
|
// url: oUrl.prefix + oUrl.suffix + '?' + (oUrl.query ? oUrl.query + "&" : "") + "locale=" + sLocale + (oUrl.hash ? "#" + oUrl.hash : ""),
|
|
597
597
|
mHeaders = {
|
|
598
|
-
"Accept-Language": convertLocaleToBCP47(sLocale) || ""
|
|
598
|
+
"Accept-Language": convertLocaleToBCP47(sLocale) || "*"
|
|
599
599
|
};
|
|
600
600
|
} else {
|
|
601
601
|
sUrl = oUrl.prefix + (sLocale ? "_" + sLocale : "") + oUrl.suffix;
|
|
@@ -17,9 +17,9 @@ sap.ui.define([], function() {
|
|
|
17
17
|
* </ul>
|
|
18
18
|
*
|
|
19
19
|
* @enum {string}
|
|
20
|
-
* @
|
|
21
|
-
* @ui5-restricted sap.ui.core sap/base/i18n
|
|
20
|
+
* @public
|
|
22
21
|
* @alias module:sap/base/i18n/date/CalendarWeekNumbering
|
|
22
|
+
* @since 1.120
|
|
23
23
|
*/
|
|
24
24
|
var CalendarWeekNumbering = {
|
|
25
25
|
|
|
@@ -10,7 +10,7 @@ sap.ui.define([], function() {
|
|
|
10
10
|
* Static collection of utility functions to handle time zone related conversions
|
|
11
11
|
*
|
|
12
12
|
* @author SAP SE
|
|
13
|
-
* @version 1.
|
|
13
|
+
* @version 1.120.0
|
|
14
14
|
* @namespace
|
|
15
15
|
* @alias module:sap/base/i18n/date/TimezoneUtils
|
|
16
16
|
* @private
|
|
@@ -268,20 +268,57 @@ sap.ui.define([], function() {
|
|
|
268
268
|
};
|
|
269
269
|
|
|
270
270
|
/**
|
|
271
|
-
*
|
|
271
|
+
* Map outdated IANA timezone IDs used in CLDR to correct and up-to-date IANA IDs as maintained in ABAP systems.
|
|
272
|
+
*
|
|
273
|
+
* @private
|
|
274
|
+
*/
|
|
275
|
+
TimezoneUtils.mCLDR2ABAPTimezones = {
|
|
276
|
+
"America/Buenos_Aires": "America/Argentina/Buenos_Aires",
|
|
277
|
+
"America/Catamarca": "America/Argentina/Catamarca",
|
|
278
|
+
"America/Cordoba": "America/Argentina/Cordoba",
|
|
279
|
+
"America/Jujuy": "America/Argentina/Jujuy",
|
|
280
|
+
"America/Mendoza": "America/Argentina/Mendoza",
|
|
281
|
+
"America/Indianapolis": "America/Indiana/Indianapolis",
|
|
282
|
+
"America/Louisville": "America/Kentucky/Louisville",
|
|
283
|
+
"Africa/Asmera": "Africa/Asmara",
|
|
284
|
+
"Asia/Katmandu": "Asia/Kathmandu",
|
|
285
|
+
"Asia/Calcutta": "Asia/Kolkata",
|
|
286
|
+
"Atlantic/Faeroe": "Atlantic/Faroe",
|
|
287
|
+
"Pacific/Ponape": "Pacific/Pohnpei",
|
|
288
|
+
"Asia/Rangoon": "Asia/Yangon",
|
|
289
|
+
"Pacific/Truk": "Pacific/Chuuk",
|
|
290
|
+
"America/Godthab": "America/Nuuk",
|
|
291
|
+
"Asia/Saigon": "Asia/Ho_Chi_Minh",
|
|
292
|
+
"America/Coral_Harbour": "America/Atikokan"
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* Retrieves the browser's local IANA timezone ID; if the browser's timezone ID is not the up-to-date IANA
|
|
297
|
+
* timezone ID, the corresponding IANA timezone ID is returned.
|
|
298
|
+
*
|
|
299
|
+
* @returns {string} The local IANA timezone ID of the browser as up-to-date IANA timezone ID,
|
|
300
|
+
* e.g. <code>"Europe/Berlin"</code> or <code>"Asia/Kolkata"</code>
|
|
272
301
|
*
|
|
273
|
-
* @returns {string} The local IANA timezone ID of the browser, e.g <code>"Europe/Berlin"</code>
|
|
274
302
|
* @private
|
|
275
303
|
* @ui5-restricted sap.ui.core.Configuration,sap.m.DateTimeField
|
|
276
304
|
*/
|
|
277
305
|
TimezoneUtils.getLocalTimezone = function() {
|
|
278
|
-
if (sLocalTimezone) {
|
|
279
|
-
|
|
306
|
+
if (sLocalTimezone === "") { // timezone may be undefined, only value "" means empty cache
|
|
307
|
+
sLocalTimezone = new Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
308
|
+
sLocalTimezone = TimezoneUtils.mCLDR2ABAPTimezones[sLocalTimezone] || sLocalTimezone;
|
|
280
309
|
}
|
|
281
|
-
|
|
310
|
+
|
|
282
311
|
return sLocalTimezone;
|
|
283
312
|
};
|
|
284
313
|
|
|
314
|
+
/**
|
|
315
|
+
* Clears the cache for the browser's local IANA timezone ID.
|
|
316
|
+
*
|
|
317
|
+
* @private
|
|
318
|
+
*/
|
|
319
|
+
TimezoneUtils._clearLocalTimezoneCache = function () {
|
|
320
|
+
sLocalTimezone = "";
|
|
321
|
+
};
|
|
285
322
|
|
|
286
323
|
return TimezoneUtils;
|
|
287
324
|
});
|