@openui5/sap.ui.core 1.115.1 → 1.117.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/.dtsgenrc +18 -0
- package/.eslintrc.json +1 -11
- package/.reuse/dep5 +0 -5
- package/THIRDPARTY.txt +1 -7
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.sjax.js +2 -2
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/Event.js +106 -0
- package/src/sap/base/Eventing.js +319 -0
- package/src/sap/base/config/MemoryConfigurationProvider.js +10 -1
- package/src/sap/base/config.js +3 -2
- package/src/sap/base/i18n/Formatting.js +989 -0
- package/src/sap/base/i18n/LanguageTag.js +189 -0
- package/src/sap/base/i18n/Localization.js +710 -0
- package/src/sap/base/i18n/ResourceBundle.js +5 -20
- package/src/sap/base/i18n/date/CalendarType.js +54 -0
- package/src/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
- package/src/sap/base/i18n/date/TimezoneUtils.js +287 -0
- package/src/sap/base/util/JSTokenizer.js +1 -1
- package/src/sap/base/util/fetch.js +4 -4
- package/src/sap/base/util/mixedFetch.js +2 -2
- 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 +2 -2
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/Event.js +6 -4
- package/src/sap/ui/base/EventProvider.js +4 -12
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +9 -15
- package/src/sap/ui/base/ManagedObjectMetadata.js +33 -12
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/base/SyncPromise.js +10 -5
- package/src/sap/ui/core/.library +3 -3
- package/src/sap/ui/core/AccessKeysEnablement.js +10 -5
- package/src/sap/ui/core/AnimationMode.js +49 -0
- package/src/sap/ui/core/BusyIndicator.js +33 -42
- package/src/sap/ui/core/CalendarType.js +11 -37
- package/src/sap/ui/core/Component.js +4 -5
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +2 -2
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/ConfigTest.js +17 -0
- package/src/sap/ui/core/Configuration.js +409 -1282
- package/src/sap/ui/core/Control.js +7 -12
- package/src/sap/ui/core/ControlBehavior.js +157 -0
- package/src/sap/ui/core/Core.js +126 -132
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +14 -3
- package/src/sap/ui/core/ElementMetadata.js +2 -4
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- 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/IconPool.js +1 -2
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +5 -7
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +12 -12
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +126 -38
- 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 +154 -430
- package/src/sap/ui/core/LocaleData.js +50 -14
- package/src/sap/ui/core/Manifest.js +5 -5
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Popup.js +37 -50
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- 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 +11 -9
- package/src/sap/ui/core/StaticArea.js +31 -17
- package/src/sap/ui/core/Theming.js +458 -0
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +1 -1
- package/src/sap/ui/core/UIArea.js +1 -1
- package/src/sap/ui/core/UIComponent.js +1 -1
- 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 +28 -5
- package/src/sap/ui/core/_IconRegistry.js +89 -12
- package/src/sap/ui/core/boot/_bootConfig.js +137 -0
- package/src/sap/ui/core/boot/_runBoot.js +16 -0
- package/src/sap/ui/core/boot/initDOM.js +96 -0
- package/src/sap/ui/core/boot/loadCalendar.js +50 -0
- package/src/sap/ui/core/boot/loadManifest.js +55 -0
- package/src/sap/ui/core/boot/loadModules.js +80 -0
- package/src/sap/ui/core/boot/manifest.json +11 -0
- package/src/sap/ui/core/boot/onInit.js +44 -0
- package/src/sap/ui/core/boot.js +107 -0
- package/src/sap/ui/core/date/CalendarWeekNumbering.js +12 -83
- package/src/sap/ui/core/date/UI5Date.js +10 -4
- package/src/sap/ui/core/delegate/ItemNavigation.js +8 -10
- package/src/sap/ui/core/delegate/ScrollEnablement.js +5 -5
- 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 -27
- package/src/sap/ui/core/format/TimezoneUtil.js +15 -273
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +32 -6
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageMixin.js +6 -5
- 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/messagebundle_ar.properties +57 -55
- package/src/sap/ui/core/messagebundle_bg.properties +57 -55
- package/src/sap/ui/core/messagebundle_ca.properties +30 -28
- package/src/sap/ui/core/messagebundle_cs.properties +44 -42
- package/src/sap/ui/core/messagebundle_cy.properties +59 -57
- package/src/sap/ui/core/messagebundle_da.properties +57 -55
- package/src/sap/ui/core/messagebundle_de.properties +59 -57
- package/src/sap/ui/core/messagebundle_el.properties +48 -46
- package/src/sap/ui/core/messagebundle_en.properties +59 -57
- package/src/sap/ui/core/messagebundle_en_GB.properties +59 -57
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +3 -0
- package/src/sap/ui/core/messagebundle_es.properties +48 -46
- package/src/sap/ui/core/messagebundle_es_MX.properties +58 -56
- package/src/sap/ui/core/messagebundle_et.properties +55 -53
- package/src/sap/ui/core/messagebundle_fi.properties +51 -49
- package/src/sap/ui/core/messagebundle_fr.properties +36 -34
- package/src/sap/ui/core/messagebundle_fr_CA.properties +21 -19
- package/src/sap/ui/core/messagebundle_hi.properties +42 -40
- package/src/sap/ui/core/messagebundle_hr.properties +57 -55
- package/src/sap/ui/core/messagebundle_hu.properties +58 -56
- package/src/sap/ui/core/messagebundle_id.properties +59 -57
- package/src/sap/ui/core/messagebundle_it.properties +75 -73
- package/src/sap/ui/core/messagebundle_iw.properties +59 -57
- package/src/sap/ui/core/messagebundle_ja.properties +50 -48
- package/src/sap/ui/core/messagebundle_kk.properties +44 -42
- package/src/sap/ui/core/messagebundle_ko.properties +20 -18
- package/src/sap/ui/core/messagebundle_lt.properties +59 -57
- package/src/sap/ui/core/messagebundle_lv.properties +59 -57
- package/src/sap/ui/core/messagebundle_ms.properties +60 -58
- package/src/sap/ui/core/messagebundle_nl.properties +58 -56
- package/src/sap/ui/core/messagebundle_no.properties +56 -54
- package/src/sap/ui/core/messagebundle_pl.properties +56 -54
- package/src/sap/ui/core/messagebundle_pt.properties +58 -56
- package/src/sap/ui/core/messagebundle_pt_PT.properties +58 -56
- package/src/sap/ui/core/messagebundle_ro.properties +59 -57
- package/src/sap/ui/core/messagebundle_ru.properties +57 -55
- package/src/sap/ui/core/messagebundle_sh.properties +59 -57
- package/src/sap/ui/core/messagebundle_sk.properties +57 -55
- package/src/sap/ui/core/messagebundle_sl.properties +58 -56
- package/src/sap/ui/core/messagebundle_sv.properties +54 -52
- package/src/sap/ui/core/messagebundle_th.properties +18 -16
- package/src/sap/ui/core/messagebundle_tr.properties +58 -56
- package/src/sap/ui/core/messagebundle_uk.properties +59 -57
- package/src/sap/ui/core/messagebundle_vi.properties +59 -57
- package/src/sap/ui/core/messagebundle_zh_CN.properties +58 -56
- package/src/sap/ui/core/messagebundle_zh_TW.properties +58 -56
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +14 -2
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +14 -16
- 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/HashChanger.js +1 -0
- package/src/sap/ui/core/routing/Route.js +1 -0
- package/src/sap/ui/core/routing/Router.js +3 -1
- package/src/sap/ui/core/rules/Config.support.js +2 -2
- package/src/sap/ui/core/rules/Misc.support.js +1 -1
- package/src/sap/ui/core/rules/Model.support.js +3 -1
- 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/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +7 -4
- package/src/sap/ui/core/support/controls/TimelineOverview.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- 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 +1 -1
- 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/themes/base/Icon.less +2 -2
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +4 -4
- package/src/sap/ui/core/themes/base/base.less +41 -20
- 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/theming/Parameters.js +6 -10
- package/src/sap/ui/core/theming/ThemeManager.js +312 -450
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +5 -10
- 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 +4 -5
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +3 -1
- 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 +1 -1
- 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/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 +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/events/PseudoEvents.js +17 -9
- package/src/sap/ui/model/Binding.js +19 -15
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeBinding.js +57 -19
- 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 +1 -1
- package/src/sap/ui/model/ListBinding.js +42 -1
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +5 -4
- package/src/sap/ui/model/PropertyBinding.js +10 -0
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +4 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +166 -79
- package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +4 -3
- package/src/sap/ui/model/analytics/BatchResponseCollector.js +2 -2
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +14 -27
- package/src/sap/ui/model/analytics/odata4analytics.js +6 -12
- package/src/sap/ui/model/base/ManagedObjectModel.js +3 -2
- package/src/sap/ui/model/json/JSONModel.js +6 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +191 -5
- package/src/sap/ui/model/odata/ODataMetadata.js +38 -4
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- 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 +8 -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 +3 -3
- 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 +3 -2
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +14 -3
- package/src/sap/ui/model/odata/v2/ODataModel.js +46 -32
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +4 -4
- package/src/sap/ui/model/odata/v4/Context.js +39 -32
- package/src/sap/ui/model/odata/v4/ODataBinding.js +85 -52
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +23 -19
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +139 -50
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +30 -36
- package/src/sap/ui/model/odata/v4/ODataModel.js +49 -44
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +72 -37
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +34 -29
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +95 -9
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +25 -27
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +95 -209
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +168 -1
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +14 -5
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +34 -19
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +4 -4
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- 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/XMLModel.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/Opa5.js +1 -1
- package/src/sap/ui/test/TestUtils.js +1 -1
- package/src/sap/ui/test/autowaiter/_autoWaiter.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +1 -3
- package/src/sap/ui/test/gherkin/simpleGherkinParser.js +10 -5
- package/src/sap/ui/test/matchers/LabelFor.js +1 -0
- package/src/sap/ui/test/matchers/_Visitor.js +6 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +2 -5
- package/src/sap/ui/thirdparty/caja-html-sanitizer.js +111 -96
- package/src/sap/ui/thirdparty/qunit-2.js +9 -3
- package/src/sap/ui/util/ActivityDetection.js +7 -1
- package/src/sap/ui/util/Mobile.js +21 -14
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap-ui-boot.js +23 -6
- package/src/ui5-boot.js +50 -0
- package/src/ui5loader-autoconfig.js +150 -75
- package/src/ui5loader.js +458 -514
- package/test/sap/ui/core/Device.js +1 -1
- package/test/sap/ui/core/FormatHelper.js +3 -2
- package/test/sap/ui/core/demokit/docuindex.json +6 -0
- package/test/sap/ui/core/demokit/sample/OpaAction/applicationUnderTest/view/Main.view.xml +1 -0
- package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/OpaBusyIndicator.js +1 -1
- package/test/sap/ui/core/demokit/sample/OpaMatchers/OpaMatchers.js +2 -2
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/MIT.ODataTypes.html +9 -14
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +7 -0
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Template.controller.js +2 -2
- package/test/sap/ui/core/demokit/sample/common/pages/Any.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +24 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +24 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.view.xml +20 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/filter.js +2 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Component.js +27 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ListReport.controller.js +43 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ListReport.view.xml +47 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Main.controller.js +27 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Main.view.xml +7 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/NotFound.view.xml +8 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.controller.js +123 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.view.xml +92 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.html +27 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +70 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/README.html +55 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/SandboxModel.js +56 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/POST-SalesOrderList.json +66 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000000')-SO_2_SOITEM.json +57 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000000').json +20 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000001').json +9 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000007')-SO_2_BP.json +12 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList.json +62 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_CurrencyCode.json +85 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_CurrencyCode.xml +185 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_ProductID.json +93 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_ProductID.xml +262 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/metadata.xml +1779 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/manifest.json +134 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/pages/Main.js +119 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +4 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/GridTable.view.xml +12 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/pages/Main.js +0 -41
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +26 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +4 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/manifest.json +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/manifest.json +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.controller.js +5 -17
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +18 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/Create.js +10 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/manifest.json +18 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.view.xml +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/pages/Main.js +4 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/arrangements/Startup.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +3 -8
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +3 -8
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/arrangements/Startup.js +1 -1
- package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +25 -7
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +86 -2
- package/test/sap/ui/core/qunit/DataState.qunit.js +2 -7
- package/test/sap/ui/core/qunit/HTML.qunit.js +31 -31
- package/test/sap/ui/core/qunit/IconPool.qunit.js +53 -4
- package/test/sap/ui/core/qunit/Lib.qunit.js +55 -2
- package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +22 -15
- package/test/sap/ui/core/qunit/ManagedObject.qunit.js +5 -3
- package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +43 -5
- package/test/sap/ui/core/qunit/Object.qunit.js +4 -1
- package/test/sap/ui/core/qunit/ThemeManager.qunit.js +2 -2
- package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +9 -3
- package/test/sap/ui/core/qunit/Theming.beforeBootstrap.qunit.js +13 -0
- package/test/sap/ui/core/qunit/Theming.qunit.js +247 -0
- package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +510 -185
- package/test/sap/ui/core/qunit/analytics/AnalyticalTreeBindingAdapter.qunit.js +2 -7
- package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +81 -16
- package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +20 -29
- package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +18 -1
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.html +24 -0
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +277 -0
- package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +282 -0
- package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +5 -6
- package/test/sap/ui/core/qunit/base/security/sanitizeHTML.qunit.js +17 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +13 -12
- package/test/sap/ui/core/qunit/bootstrap/Configuration.main.qunit.js +11 -0
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.html +4 -3
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +451 -281
- package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +19 -30
- package/test/sap/ui/core/qunit/component/Models.qunit.js +12 -30
- package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +8 -26
- package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/lib2/library.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/lib3/library.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/lib4/library.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component-preload.js +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component-preload.js +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component-preload.js +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component.js +2 -3
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/Component.js +0 -4
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/sync/Component.js +2 -6
- package/test/sap/ui/core/qunit/component/testdata/customizing/customersub/Component.js +0 -4
- package/test/sap/ui/core/qunit/component/testdata/inherit/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/inherit/parent/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/inheritAsync/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentA/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentB/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentA/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentB/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/other/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/terminologies/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/component1/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/component2/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/component3/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/component5/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/reuse/Component.js +2 -3
- package/test/sap/ui/core/qunit/component/testdata/v1/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/v1empty/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/v1inline/Component.js +2 -5
- package/test/sap/ui/core/qunit/component/testdata/v1missing/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/v2/Component.js +2 -5
- package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/Component.js +2 -5
- package/test/sap/ui/core/qunit/component/testdata/v2empty/Component.js +2 -9
- package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +2 -5
- package/test/sap/ui/core/qunit/component/testdata/v2missing/Component.js +2 -9
- package/test/sap/ui/core/qunit/component/testdata/v2version/Component.js +2 -2
- package/test/sap/ui/core/qunit/dnd/DragDropInfo.qunit.js +1 -2
- package/test/sap/ui/core/qunit/generic/EnforceSemanticRendering.qunit.js +2 -2
- package/test/sap/ui/core/qunit/generic/SettersContextReturn.qunit.js +2 -2
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +2 -0
- package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +2 -0
- package/test/sap/ui/core/qunit/generic/legacy/SettersContextReturn.qunit.js +2 -2
- package/test/sap/ui/core/qunit/gherkin/dataTableUtils.qunit.js +2 -2
- package/test/sap/ui/core/qunit/i18n/Locale.qunit.js +0 -52
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +49 -14
- package/test/sap/ui/core/qunit/i18n/UI5Date.qunit.js +16 -4
- package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +74 -114
- package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +34 -39
- package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +18 -0
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
- package/test/sap/ui/core/qunit/internal/BeforePush.ODataV4.js +28 -0
- package/test/sap/ui/core/qunit/internal/BeforePush.html +1 -0
- package/test/sap/ui/core/qunit/internal/BeforePush.js +15 -0
- package/test/sap/ui/core/qunit/internal/performance/ExpressionParser.performance.qunit.js +1 -0
- package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/json/JSONPropertyBinding.qunit.js +7 -12
- package/test/sap/ui/core/qunit/json/JSONTwoWay.qunit.js +3 -8
- package/test/sap/ui/core/qunit/loader/asyncMode.qunit.js +2 -2
- package/test/sap/ui/core/qunit/loader/asyncMode_unavoidablySync.qunit.js +1 -1
- package/test/sap/ui/core/qunit/loader/fixture/amd-with-export-true/module1.js +2 -2
- package/test/sap/ui/core/qunit/loader/testsuite.loader.qunit.js +0 -3
- package/test/sap/ui/core/qunit/messages/MessageMixin.qunit.js +2 -7
- package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +1 -1
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +36 -11
- package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/CompositeDataState.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/Context.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/ContextBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/FAR_CUSTOMER_LINE_ITEMS.metadata.xml +2 -0
- package/test/sap/ui/core/qunit/model/ListBinding.qunit.js +63 -6
- package/test/sap/ui/core/qunit/model/Model.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +40 -0
- package/test/sap/ui/core/qunit/model/TreeBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/TreeBindingAdapter.qunit.js +2 -7
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +51 -0
- package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +9 -8
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +4 -4
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +4 -4
- package/test/sap/ui/core/qunit/mvc/testdata/Async.view.xml +1 -1
- package/test/sap/ui/core/qunit/mvc/testdata/AsyncTypedView.js +5 -1
- package/test/sap/ui/core/qunit/odata/AnnotationParserNoFakeService.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +2 -8
- package/test/sap/ui/core/qunit/odata/ODataMetadataNoFakeService.qunit.js +68 -9
- package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +24 -0
- package/test/sap/ui/core/qunit/odata/v2/Context.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataContextBindingNoFakeService.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +31 -17
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +260 -56
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +70 -15
- package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBindingNoFakeService.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +4 -9
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/v2/_CreatedContextsCache.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v4/AnnotationHelper.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +55 -22
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +184 -151
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +60 -30
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +305 -69
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +20 -69
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1282 -255
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +90 -61
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +0 -3
- package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +283 -170
- package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +103 -78
- package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +2 -1
- package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +4 -0
- package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +2 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +151 -1
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +24 -11
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +279 -458
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +204 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +7 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +145 -26
- package/test/sap/ui/core/qunit/odata/v4/testsuite.odatav4.qunit.js +4 -0
- package/test/sap/ui/core/qunit/opa/_LogCollector.qunit.js +1 -1
- package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -2
- package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +129 -2
- package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +5 -1
- package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +5 -0
- package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +17 -37
- package/test/sap/ui/core/qunit/routing/HashChanger.qunit.js +1 -6
- package/test/sap/ui/core/qunit/routing/RouterHashChanger.qunit.js +1 -10
- package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +1 -22
- package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -4
- package/test/sap/ui/core/qunit/routing/fixture/Async1.view.xml +1 -1
- package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +34 -1
- package/test/sap/ui/core/qunit/testdata/fastnavigation/view/FastNavigation.view.xml +2 -2
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/i18n.properties +1 -0
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/library.js +10 -0
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/manifest.json +10 -0
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/library.js +10 -0
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/messagebundle.properties +1 -0
- package/test/sap/ui/core/qunit/testdata/xml-require/helper/Formatter.js +7 -4
- package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_in_html.view.xml +36 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +29 -0
- package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +1381 -1570
- package/test/sap/ui/core/qunit/types/SimpleType.qunit.js +16 -2
- package/test/sap/ui/core/qunit/types/Types.qunit.js +2 -37
- package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +1 -1
- package/test/sap/ui/core/qunit/util/Popup.qunit.js +7 -11
- package/test/sap/ui/core/qunit/util/SyncPromise.qunit.js +4 -1
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +3 -1
- package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +3 -0
- package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +16 -11
- package/test/sap/ui/core/qunit/util/reflection/BaseTreeModifier.qunit.js +1 -1
- package/test/sap/ui/core/qunit/xml/XMLListBinding.qunit.js +1 -3
- package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +4 -14
- package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +7 -11
- package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +1 -1
- package/test/sap/ui/core/qunit/xml/XMLTwoWay.qunit.js +3 -7
- package/test/sap/ui/core/relnotes/changes-1.115.json +1 -37
- package/test/sap/ui/core/relnotes/changes-1.116.json +71 -0
- package/test/sap/ui/core/relnotes/changes-1.117.json +127 -0
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/HyphenationPlayground/windows/1600x1200/chrome/horizon/ltr/cozy/19_thirdParty_language_sl.ref.lnk +1 -1
- package/test/testsuite/js/samples.js +2 -0
- package/ui5.yaml +166 -1
- package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +0 -45
- /package/test/sap/ui/core/qunit/bootstrap/{GlobalConfigurationSettings.js → Configuration.beforeBootstrap.qunit.js} +0 -0
|
@@ -121,7 +121,7 @@ sap.ui.define([
|
|
|
121
121
|
|
|
122
122
|
function printProperties(printObject, sPrintHeader) {
|
|
123
123
|
for (var property in printObject) {
|
|
124
|
-
if (
|
|
124
|
+
if (Object.hasOwn(printObject, property)) {
|
|
125
125
|
var value = printObject[property];
|
|
126
126
|
if (typeof value !== 'function') {
|
|
127
127
|
if (sPrintHeader) {
|
|
@@ -53,9 +53,10 @@ sap.ui.define([
|
|
|
53
53
|
];
|
|
54
54
|
|
|
55
55
|
var aTerritories = aLocales.map(function(sLocale) {
|
|
56
|
-
if (sLocale
|
|
57
|
-
return
|
|
56
|
+
if (sLocale === "zh-TW") {
|
|
57
|
+
return;
|
|
58
58
|
}
|
|
59
|
+
return sLocale.slice(3);
|
|
59
60
|
}).filter(Boolean);
|
|
60
61
|
|
|
61
62
|
var LocaleListItem = ListItemBase.extend("LocaleListItem", {
|
|
@@ -248,6 +248,7 @@
|
|
|
248
248
|
"since" : "1.38",
|
|
249
249
|
"samples" : [
|
|
250
250
|
"sap.ui.core.sample.odata.v4.ConsumeV2Service",
|
|
251
|
+
"sap.ui.core.sample.odata.v4.DeepCreate",
|
|
251
252
|
"sap.ui.core.sample.odata.v4.Draft",
|
|
252
253
|
"sap.ui.core.sample.odata.v4.ListBinding",
|
|
253
254
|
"sap.ui.core.sample.odata.v4.SalesOrders",
|
|
@@ -615,6 +616,11 @@
|
|
|
615
616
|
"name": "OData V2 Service Consumption",
|
|
616
617
|
"description": "Example for OData V2 service consumption with an OData V4 model"
|
|
617
618
|
},
|
|
619
|
+
{
|
|
620
|
+
"id": "sap.ui.core.sample.odata.v4.DeepCreate",
|
|
621
|
+
"name": "Deep Create Handling",
|
|
622
|
+
"description": "Example on how to deal with deep creates in an OData V4 model"
|
|
623
|
+
},
|
|
618
624
|
{
|
|
619
625
|
"id": "sap.ui.core.sample.odata.v4.Draft",
|
|
620
626
|
"name": "Draft Handling and Data Synchronisation",
|
|
@@ -153,8 +153,8 @@ sap.ui.require([
|
|
|
153
153
|
return this.waitFor({
|
|
154
154
|
check: function () {
|
|
155
155
|
var aPopoverContent = aPopovers[0].getContent();
|
|
156
|
-
var aButtons = aPopoverContent.
|
|
157
|
-
return oChild.
|
|
156
|
+
var aButtons = aPopoverContent.filter(function (oChild) {
|
|
157
|
+
return oChild.isA("sap.m.Button") && oChild.getText() === "Another text";
|
|
158
158
|
});
|
|
159
159
|
return !aButtons || !aButtons.length;
|
|
160
160
|
},
|
|
@@ -31,22 +31,9 @@
|
|
|
31
31
|
</ul>
|
|
32
32
|
|
|
33
33
|
<h2>REALIZE AND CHECK</h2>
|
|
34
|
-
<h3>Enter an invalid value for Validation.Minimum on Edm.Decimal</h3>
|
|
35
|
-
<ol>
|
|
36
|
-
<li>Start the application.</li>
|
|
37
|
-
<li>Enter a value less than or equal to 100 in the <code>sap.ui.model.odata.type.Decimal
|
|
38
|
-
(minimum: 100 (exclusive), maximum: 1000)</code> field.</li>
|
|
39
|
-
<li><b>Check</b>: You get a validation error.</li>
|
|
40
|
-
<li>Press <code>Reset Model</code>.</li>
|
|
41
|
-
<li><b>Check</b>: The validation error is gone and the old value is displayed.</li>
|
|
42
|
-
<li>Enter a value less than or equal to 100 in the <code>sap.ui.model.odata.type.Decimal
|
|
43
|
-
(minimum: 100 (exclusive), maximum: 1000)</code> field.</li>
|
|
44
|
-
<li><b>Check</b>: You get a validation error.</li>
|
|
45
|
-
<li>Correct errors by entering valid values.</li>
|
|
46
|
-
<li><b>Check</b>: The validation error is gone and the old value is displayed.</li>
|
|
47
|
-
</ol>
|
|
48
34
|
<h3>OData V4 Model tests</h3>
|
|
49
35
|
<ol>
|
|
36
|
+
<li>Start the application.</li>
|
|
50
37
|
<li>Press <code>V4</code> Button.</li>
|
|
51
38
|
<li>Enter invalid values in one or more of the data fields.</li>
|
|
52
39
|
<li><b>Check</b>: You get validation errors with appropriate error messages.</li>
|
|
@@ -65,6 +52,14 @@
|
|
|
65
52
|
100.000".</li>
|
|
66
53
|
<li>Correct the error by entering a valid value, e.g. 101</li>
|
|
67
54
|
<li><b>Check</b>: The validation error is gone.</li>
|
|
55
|
+
<li>Enter an empty value in the field labeled <code>scale: default (0), nullable=false,
|
|
56
|
+
parseEmptyValueToZero=true</code>.</li>
|
|
57
|
+
<li><b>Check</b>: No validation error is shown.</li>
|
|
58
|
+
<li><b>Check</b>: The value of the field is set to <code>0</code>.</li>
|
|
59
|
+
<li>Enter an empty value in the field labeled <code>sap.ui.model.odata.type.Int16, nullable=false,
|
|
60
|
+
parseEmptyValueToZero=true</code>.</li>
|
|
61
|
+
<li><b>Check</b>: No validation error is shown.</li>
|
|
62
|
+
<li><b>Check</b>: The value of the field is set to <code>0</code>.</li>
|
|
68
63
|
<li>Enter 102 in the field labeled <code>stepInput: min: 0 max: 99 scale: 0</code>.</li>
|
|
69
64
|
<li><b>Check</b>: You get an invalid data state "Enter a number with a maximum value of
|
|
70
65
|
99".</li>
|
|
@@ -64,6 +64,13 @@ sap.ui.getCore().attachInit(function () {
|
|
|
64
64
|
When.onTheMainPage.enterInputValue("decimalInput", "101");
|
|
65
65
|
Then.onTheMainPage.checkInputValueState("decimalInput", ValueState.None, "");
|
|
66
66
|
|
|
67
|
+
When.onTheMainPage.enterInputValue("I87", "");
|
|
68
|
+
Then.onTheMainPage.checkInputValueState("I87", ValueState.None);
|
|
69
|
+
Then.onTheMainPage.checkInputValue("I87", "0");
|
|
70
|
+
When.onTheMainPage.enterInputValue("I83", "");
|
|
71
|
+
Then.onTheMainPage.checkInputValueState("I83", ValueState.None);
|
|
72
|
+
Then.onTheMainPage.checkInputValue("I83", "0");
|
|
73
|
+
|
|
67
74
|
When.onTheMainPage.enterStepInputValue("stepInput", "102");
|
|
68
75
|
Then.onTheMainPage.checkStepInputValueState("stepInput", ValueState.Error,
|
|
69
76
|
oBundle.getText("EnterNumberMax", ["99"]));
|
|
@@ -11,9 +11,9 @@ sap.ui.define([
|
|
|
11
11
|
return Controller.extend("sap.ui.core.sample.ViewTemplate.types.Template", {
|
|
12
12
|
onBeforeRendering : function () {
|
|
13
13
|
Element.registry.forEach(function (oElement) {
|
|
14
|
-
var oBinding = oElement.getBinding("value")
|
|
14
|
+
var oBinding = oElement.getBinding("value");
|
|
15
15
|
|
|
16
|
-
if (oElement.isA("sap.m.
|
|
16
|
+
if (oElement.isA("sap.m.Input") && oBinding && oBinding.getType()
|
|
17
17
|
&& oBinding.getType().getPlaceholderText) {
|
|
18
18
|
oElement.setPlaceholder(oBinding.getType().getPlaceholderText());
|
|
19
19
|
}
|
|
@@ -180,7 +180,7 @@ sap.ui.define([
|
|
|
180
180
|
cleanUp : function (sControlId) {
|
|
181
181
|
this.waitFor({
|
|
182
182
|
controlType : "sap.m.Table",
|
|
183
|
-
autoWait :
|
|
183
|
+
autoWait : true, // wait for still running POST requests (Context#created)
|
|
184
184
|
id : sControlId,
|
|
185
185
|
success : function (oTable) {
|
|
186
186
|
var aCreatedEntityPaths = Opa.getContext().aCreatedEntityPaths || [],
|
|
@@ -18,11 +18,30 @@
|
|
|
18
18
|
reloadSingleUnitMeasures : false
|
|
19
19
|
}}" threshold="5" title="Auto-Expanded Analytical Table" visibleRowCount="5" >
|
|
20
20
|
<columns>
|
|
21
|
-
<AnalyticalColumn leadingProperty="CustomerName"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
<AnalyticalColumn leadingProperty="CustomerName">
|
|
22
|
+
<m:Label text="Customer Name"/>
|
|
23
|
+
<template>
|
|
24
|
+
<m:Text text="{CustomerName}" wrapping="false" />
|
|
25
|
+
</template>
|
|
26
|
+
</AnalyticalColumn>
|
|
27
|
+
<AnalyticalColumn grouped="true" leadingProperty="CompanyCode">
|
|
28
|
+
<m:Label text="Company Code"/>
|
|
29
|
+
<template>
|
|
30
|
+
<m:Text text="{CompanyCode}" wrapping="false" />
|
|
31
|
+
</template>
|
|
32
|
+
</AnalyticalColumn>
|
|
33
|
+
<AnalyticalColumn summed="true" leadingProperty="AmountInCompanyCodeCurrency">
|
|
34
|
+
<m:Label text="Amount In Company Code Currency"/>
|
|
35
|
+
<template>
|
|
36
|
+
<m:Text text="{AmountInCompanyCodeCurrency}" wrapping="false" />
|
|
37
|
+
</template>
|
|
38
|
+
</AnalyticalColumn>
|
|
39
|
+
<AnalyticalColumn leadingProperty="CompanyCodeCurrency">
|
|
40
|
+
<m:Label text="Company Code Currency"/>
|
|
41
|
+
<template>
|
|
42
|
+
<m:Text text="{CompanyCodeCurrency}" wrapping="false" />
|
|
43
|
+
</template>
|
|
44
|
+
</AnalyticalColumn>
|
|
26
45
|
</columns>
|
|
27
46
|
</AnalyticalTable>
|
|
28
47
|
</mvc:View>
|
|
@@ -18,23 +18,41 @@
|
|
|
18
18
|
value="{ui>/sFilter}" width="40%"/>
|
|
19
19
|
</m:Toolbar>
|
|
20
20
|
</extension>
|
|
21
|
-
<Column
|
|
21
|
+
<Column>
|
|
22
22
|
<m:Label text="ID"/>
|
|
23
|
+
<template>
|
|
24
|
+
<m:Text text="{id}" wrapping="false"/>
|
|
25
|
+
</template>
|
|
23
26
|
</Column>
|
|
24
|
-
<Column
|
|
27
|
+
<Column>
|
|
25
28
|
<m:Label text="Parent's ID"/>
|
|
29
|
+
<template>
|
|
30
|
+
<m:Text text="{my_parent_id}" wrapping="false"/>
|
|
31
|
+
</template>
|
|
26
32
|
</Column>
|
|
27
|
-
<Column
|
|
33
|
+
<Column>
|
|
28
34
|
<m:Label text="First Name"/>
|
|
35
|
+
<template>
|
|
36
|
+
<m:Text text="{first_name}" wrapping="false"/>
|
|
37
|
+
</template>
|
|
29
38
|
</Column>
|
|
30
|
-
<Column
|
|
39
|
+
<Column>
|
|
31
40
|
<m:Label text="Last Name"/>
|
|
41
|
+
<template>
|
|
42
|
+
<m:Text text="{last_name}" wrapping="false"/>
|
|
43
|
+
</template>
|
|
32
44
|
</Column>
|
|
33
|
-
<Column
|
|
45
|
+
<Column>
|
|
34
46
|
<m:Button icon="{ui>/sIcon}" iconFirst="false" press="onSort" text="Date Of Birth"/>
|
|
47
|
+
<template>
|
|
48
|
+
<m:Text text="{date_of_birth}" wrapping="false"/>
|
|
49
|
+
</template>
|
|
35
50
|
</Column>
|
|
36
|
-
<Column
|
|
51
|
+
<Column>
|
|
37
52
|
<m:Label text="Hobby"/>
|
|
53
|
+
<template>
|
|
54
|
+
<m:Text text="{hobby}" wrapping="false"/>
|
|
55
|
+
</template>
|
|
38
56
|
</Column>
|
|
39
57
|
</TreeTable>
|
|
40
58
|
|
|
@@ -54,17 +54,29 @@
|
|
|
54
54
|
/>
|
|
55
55
|
</template>
|
|
56
56
|
</Column>
|
|
57
|
-
<Column
|
|
57
|
+
<Column>
|
|
58
58
|
<m:Label text="Country"/>
|
|
59
|
+
<template>
|
|
60
|
+
<m:Text text="{Country}" wrapping="false"/>
|
|
61
|
+
</template>
|
|
59
62
|
</Column>
|
|
60
|
-
<Column
|
|
63
|
+
<Column>
|
|
61
64
|
<m:Label text="Region"/>
|
|
65
|
+
<template>
|
|
66
|
+
<m:Text text="{Region}" wrapping="false"/>
|
|
67
|
+
</template>
|
|
62
68
|
</Column>
|
|
63
|
-
<Column
|
|
69
|
+
<Column>
|
|
64
70
|
<m:Label text="Segment"/>
|
|
71
|
+
<template>
|
|
72
|
+
<m:Text text="{Segment}" wrapping="false"/>
|
|
73
|
+
</template>
|
|
65
74
|
</Column>
|
|
66
|
-
<Column
|
|
75
|
+
<Column>
|
|
67
76
|
<m:Label text="Account Responsible"/>
|
|
77
|
+
<template>
|
|
78
|
+
<m:Text text="{AccountResponsible}" wrapping="false"/>
|
|
79
|
+
</template>
|
|
68
80
|
</Column>
|
|
69
81
|
<Column hAlign="End">
|
|
70
82
|
<m:Label text="Sales Amount"/>
|
|
@@ -80,8 +92,11 @@
|
|
|
80
92
|
}" wrapping="false"/>
|
|
81
93
|
</template>
|
|
82
94
|
</Column>
|
|
83
|
-
<Column
|
|
95
|
+
<Column>
|
|
84
96
|
<m:Label text="Local Currency"/>
|
|
97
|
+
<template>
|
|
98
|
+
<m:Text text="{LocalCurrency}" wrapping="false"/>
|
|
99
|
+
</template>
|
|
85
100
|
</Column>
|
|
86
101
|
<Column hAlign="End">
|
|
87
102
|
<template>
|
|
@@ -10,7 +10,8 @@ sap.ui.getCore().attachInit(function () {
|
|
|
10
10
|
"sap/ui/core/sample/common/Helper",
|
|
11
11
|
"sap/ui/core/sample/odata/v4/DataAggregation/tests/expandPageCollapse",
|
|
12
12
|
"sap/ui/core/sample/odata/v4/DataAggregation/tests/filter",
|
|
13
|
-
"sap/ui/test/opaQunit"
|
|
13
|
+
"sap/ui/test/opaQunit",
|
|
14
|
+
"sap/ui/core/sample/odata/v4/DataAggregation/SandboxModel" // preload only
|
|
14
15
|
], function (Helper, expandPageCollapse, filter, opaTest) {
|
|
15
16
|
Helper.qUnitModule("sap.ui.core.sample.odata.v4.DataAggregation");
|
|
16
17
|
|
|
@@ -72,9 +72,9 @@ sap.ui.define([
|
|
|
72
72
|
|
|
73
73
|
When.onTheMainPage.toggleExpandInRow(3, "Expand Germany.");
|
|
74
74
|
When.onTheMainPage.toggleExpandInRow(4, "Expand Saxony");
|
|
75
|
-
When.onTheMainPage.scrollToRow(
|
|
75
|
+
When.onTheMainPage.scrollToRow(3, "Scroll to Saxony/Small.");
|
|
76
76
|
When.onTheMainPage.toggleExpandInRow(7, "Expand Saxony/Small.");
|
|
77
|
-
When.onTheMainPage.scrollToRow(
|
|
77
|
+
When.onTheMainPage.scrollToRow(4, "Scroll to Saxony/Small/Michael Meier.");
|
|
78
78
|
Then.onTheMainPage.checkTable([{
|
|
79
79
|
level : 0,
|
|
80
80
|
groupLevelCount : "",
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* ${copyright}
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @fileOverview Application component to demo a deep create use case.
|
|
7
|
+
* @version @version@
|
|
8
|
+
*/
|
|
9
|
+
sap.ui.define([
|
|
10
|
+
"sap/ui/core/UIComponent"
|
|
11
|
+
], function (UIComponent) {
|
|
12
|
+
"use strict";
|
|
13
|
+
|
|
14
|
+
return UIComponent.extend("sap.ui.core.sample.odata.v4.DeepCreate.Component", {
|
|
15
|
+
metadata : {
|
|
16
|
+
manifest : "json"
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
init : function () {
|
|
20
|
+
// call the super function
|
|
21
|
+
UIComponent.prototype.init.apply(this, arguments);
|
|
22
|
+
|
|
23
|
+
// create the views based on the url/hash
|
|
24
|
+
this.getRouter().initialize();
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* ${copyright}
|
|
3
|
+
*/
|
|
4
|
+
sap.ui.define([
|
|
5
|
+
"sap/m/MessageToast",
|
|
6
|
+
"sap/ui/core/sample/common/Controller",
|
|
7
|
+
"sap/ui/core/UIComponent"
|
|
8
|
+
], function (MessageToast, Controller, UIComponent) {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
return Controller.extend("sap.ui.core.sample.odata.v4.DeepCreate.ListReport", {
|
|
12
|
+
onCreateSalesOrder : function () {
|
|
13
|
+
var oContext = this.byId("SalesOrderList").getBinding("items").create({
|
|
14
|
+
BuyerID : "0100000000",
|
|
15
|
+
LifecycleStatusDesc : "New"
|
|
16
|
+
}),
|
|
17
|
+
that = this;
|
|
18
|
+
|
|
19
|
+
oContext.created().then(function () {
|
|
20
|
+
MessageToast.show("Sales Order created: " + oContext.getProperty("SalesOrderID"));
|
|
21
|
+
oContext.setKeepAlive(true, undefined, /*bRequestMessages*/ true);
|
|
22
|
+
}, function () {
|
|
23
|
+
// creation canceled
|
|
24
|
+
UIComponent.getRouterFor(that).navTo("listReport");
|
|
25
|
+
});
|
|
26
|
+
this.selectSalesOrder(oContext);
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
onListItemPressed : function (oEvent) {
|
|
30
|
+
this.selectSalesOrder(oEvent.getSource().getBindingContext());
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
selectSalesOrder : function (oContext) {
|
|
34
|
+
if (oContext.isTransient()) {
|
|
35
|
+
this.getView().getModel("ui").setProperty("/oContext", oContext);
|
|
36
|
+
UIComponent.getRouterFor(this).navTo("create");
|
|
37
|
+
} else {
|
|
38
|
+
UIComponent.getRouterFor(this).navTo("objectPage",
|
|
39
|
+
{id : oContext.getProperty("SalesOrderID")});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<mvc:View
|
|
2
|
+
class="sapUiSizeCompact"
|
|
3
|
+
controllerName="sap.ui.core.sample.odata.v4.DeepCreate.ListReport"
|
|
4
|
+
xmlns="sap.m"
|
|
5
|
+
xmlns:mvc="sap.ui.core.mvc">
|
|
6
|
+
<Page showHeader="false">
|
|
7
|
+
<Table growing="true" growingThreshold="10" id="SalesOrderList"
|
|
8
|
+
items="{path : '/SalesOrderList',
|
|
9
|
+
parameters : {
|
|
10
|
+
$count : true,
|
|
11
|
+
$$getKeepAliveContext : true,
|
|
12
|
+
$$patchWithoutSideEffects : true
|
|
13
|
+
}}">
|
|
14
|
+
<headerToolbar>
|
|
15
|
+
<Toolbar>
|
|
16
|
+
<Title level="H1" text="Sales Order List">
|
|
17
|
+
</Title>
|
|
18
|
+
<Link text="Read Me" target="_blank"
|
|
19
|
+
href="test-resources/sap/ui/core/demokit/sample/odata/v4/DeepCreate/README.html"/>
|
|
20
|
+
<ToolbarSpacer/>
|
|
21
|
+
<Button icon="sap-icon://add" id="create" press="onCreateSalesOrder"
|
|
22
|
+
text="Create" tooltip="Create Sales Order"/>
|
|
23
|
+
</Toolbar>
|
|
24
|
+
</headerToolbar>
|
|
25
|
+
<columns>
|
|
26
|
+
<Column hAlign="Right" width="9em">
|
|
27
|
+
<Text text="Sales Order ID"/>
|
|
28
|
+
</Column>
|
|
29
|
+
<Column>
|
|
30
|
+
<Text text="Buyer Name"/>
|
|
31
|
+
</Column>
|
|
32
|
+
<Column hAlign="Right">
|
|
33
|
+
<Text text="Gross Amount"/>
|
|
34
|
+
</Column>
|
|
35
|
+
<Column>
|
|
36
|
+
<Text text="Currency"/>
|
|
37
|
+
</Column>
|
|
38
|
+
</columns>
|
|
39
|
+
<ColumnListItem type="Navigation" press=".onListItemPressed">
|
|
40
|
+
<Text id="salesOrderId" text="{SalesOrderID}"/>
|
|
41
|
+
<Text binding="{SO_2_BP}" text="{CompanyName}"/>
|
|
42
|
+
<Text id="grossAmount" text="{GrossAmount}"/>
|
|
43
|
+
<Text text="{CurrencyCode}"/>
|
|
44
|
+
</ColumnListItem>
|
|
45
|
+
</Table>
|
|
46
|
+
</Page>
|
|
47
|
+
</mvc:View>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* ${copyright}
|
|
3
|
+
*/
|
|
4
|
+
sap.ui.define([
|
|
5
|
+
"sap/ui/core/sample/common/Controller",
|
|
6
|
+
"sap/ui/model/json/JSONModel"
|
|
7
|
+
], function (Controller, JSONModel) {
|
|
8
|
+
"use strict";
|
|
9
|
+
|
|
10
|
+
return Controller.extend("sap.ui.core.sample.odata.v4.DeepCreate.Main", {
|
|
11
|
+
|
|
12
|
+
onExit : function () {
|
|
13
|
+
this.oUIModel.destroy(); // avoid changes on UI elements if this view destroys
|
|
14
|
+
Controller.prototype.onExit.apply(this);
|
|
15
|
+
},
|
|
16
|
+
|
|
17
|
+
onInit : function () {
|
|
18
|
+
var oView = this.getView();
|
|
19
|
+
|
|
20
|
+
this.oUIModel = new JSONModel({
|
|
21
|
+
oContext : null,
|
|
22
|
+
iMessages : 0
|
|
23
|
+
});
|
|
24
|
+
oView.setModel(this.oUIModel, "ui");
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* ${copyright}
|
|
3
|
+
*/
|
|
4
|
+
sap.ui.define([
|
|
5
|
+
"sap/m/MessageToast",
|
|
6
|
+
"sap/ui/core/UIComponent",
|
|
7
|
+
"sap/ui/core/date/UI5Date",
|
|
8
|
+
"sap/ui/core/sample/common/Controller"
|
|
9
|
+
], function (MessageToast, UIComponent, UI5Date, Controller) {
|
|
10
|
+
"use strict";
|
|
11
|
+
|
|
12
|
+
return Controller.extend("sap.ui.core.sample.odata.v4.DeepCreate.ObjectPage", {
|
|
13
|
+
navTo : function (oContext) {
|
|
14
|
+
UIComponent.getRouterFor(this)
|
|
15
|
+
.navTo("objectPage", {id : oContext.getProperty("SalesOrderID")}, true);
|
|
16
|
+
},
|
|
17
|
+
|
|
18
|
+
newLineItem : function () {
|
|
19
|
+
var oDeliveryDate = UI5Date.getInstance(),
|
|
20
|
+
oType = this.getView().getModel().getMetaModel()
|
|
21
|
+
.getUI5Type("/SalesOrderList/SO_2_SOITEM/DeliveryDate");
|
|
22
|
+
|
|
23
|
+
oDeliveryDate.setFullYear(oDeliveryDate.getFullYear() + 1);
|
|
24
|
+
|
|
25
|
+
return {
|
|
26
|
+
CurrencyCode : "EUR",
|
|
27
|
+
DeliveryDate : oType.getModelValue(oDeliveryDate),
|
|
28
|
+
GrossAmount : "42.0",
|
|
29
|
+
ProductID : "HT-1000",
|
|
30
|
+
Quantity : "2.000",
|
|
31
|
+
QuantityUnit : "EA"
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
onCreateLineItem : function () {
|
|
36
|
+
this.byId("SO_2_SOITEM").getBinding("items")
|
|
37
|
+
.create(this.newLineItem("manual created note")).created()
|
|
38
|
+
.catch(function (oError) {
|
|
39
|
+
if (!oError.canceled) {
|
|
40
|
+
throw oError; // unexpected error
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
onDeleteLineItem : function () {
|
|
46
|
+
var aItems = this.byId("SO_2_SOITEM").getSelectedItems();
|
|
47
|
+
|
|
48
|
+
if (!aItems.length) {
|
|
49
|
+
MessageToast.show("nothing selected");
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
aItems.forEach(function (oItem) {
|
|
53
|
+
oItem.getBindingContext().delete().catch(function (oError) {
|
|
54
|
+
if (!oError.canceled) {
|
|
55
|
+
// error was already reported to message model
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
onInit : function () {
|
|
62
|
+
var oRouter = UIComponent.getRouterFor(this);
|
|
63
|
+
|
|
64
|
+
this.initMessagePopover("showMessages");
|
|
65
|
+
this.getView().setModel(sap.ui.getCore().getMessageManager().getMessageModel(),
|
|
66
|
+
"messages");
|
|
67
|
+
oRouter.getRoute("create").attachPatternMatched(this.onPatternMatched, this);
|
|
68
|
+
oRouter.getRoute("objectPage").attachPatternMatched(this.onPatternMatched, this);
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
onPatternMatched : function (oEvent) {
|
|
72
|
+
var oContext,
|
|
73
|
+
sPath = "/SalesOrderList('" + oEvent.getParameter("arguments").id + "')",
|
|
74
|
+
oView = this.getView();
|
|
75
|
+
|
|
76
|
+
oContext = oView.getBindingContext();
|
|
77
|
+
if (oContext && !oContext.isTransient()) {
|
|
78
|
+
oContext.setKeepAlive(false);
|
|
79
|
+
}
|
|
80
|
+
if (oEvent.getParameter("name") === "create") {
|
|
81
|
+
oContext = this.getView().getModel("ui").getProperty("/oContext");
|
|
82
|
+
if (!oContext) {
|
|
83
|
+
UIComponent.getRouterFor(this).navTo("listReport");
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this.getView().getModel("ui").setProperty("/oContext", null);
|
|
87
|
+
oView.setBindingContext(oContext);
|
|
88
|
+
} else {
|
|
89
|
+
oContext = oView.getModel().getKeepAliveContext(sPath, /*bRequestMessages*/ true,
|
|
90
|
+
{$$patchWithoutSideEffects : true});
|
|
91
|
+
oView.setBindingContext(oContext);
|
|
92
|
+
oView.setBusy(true);
|
|
93
|
+
oContext.requestProperty("SalesOrderID").catch(function () {
|
|
94
|
+
// ignore; it's logged anyway
|
|
95
|
+
}).finally(function () {
|
|
96
|
+
oView.setBusy(false);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
this.getView().setModel(this.getView().getModel(), "headerContext");
|
|
100
|
+
this.byId("lineItemsTitle").setBindingContext(
|
|
101
|
+
this.byId("SO_2_SOITEM").getBinding("items").getHeaderContext(),
|
|
102
|
+
"headerContext");
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
onResetChanges : function () {
|
|
106
|
+
var oModel = this.getView().getModel();
|
|
107
|
+
|
|
108
|
+
oModel.resetChanges(oModel.getUpdateGroupId());
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
onSave : function () {
|
|
112
|
+
var oContext = this.getView().getBindingContext(),
|
|
113
|
+
oModel = this.getView().getModel();
|
|
114
|
+
|
|
115
|
+
if (!oContext.isTransient()) {
|
|
116
|
+
oContext.requestSideEffects(["GrossAmount", "Messages"])
|
|
117
|
+
.catch(function () { /*may fail because of previous request*/ });
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
oModel.submitBatch(oModel.getUpdateGroupId());
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
});
|