@openui5/sap.ui.core 1.117.0 → 1.118.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/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.storage.js +3 -3
- package/src/sap/base/Event.js +1 -1
- package/src/sap/base/Eventing.js +1 -1
- package/src/sap/base/config.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +1 -1
- package/src/sap/base/i18n/Localization.js +42 -39
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- 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/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/BindingParser.js +2 -1
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +7 -3
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- 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/core/.library +9 -1
- package/src/sap/ui/core/AnimationMode.js +1 -1
- package/src/sap/ui/core/BlockLayerUtils.js +1 -1
- package/src/sap/ui/core/BusyIndicator.js +2 -2
- package/src/sap/ui/core/Component.js +22 -15
- package/src/sap/ui/core/ComponentContainer.js +2 -2
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +1 -13
- package/src/sap/ui/core/Control.js +21 -1
- package/src/sap/ui/core/Core.js +67 -41
- 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 +1 -1
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- 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 +2 -2
- package/src/sap/ui/core/IndicationColorSupport.js +2 -2
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +3 -6
- 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 +9 -13
- 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 +2 -2
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Messaging.js +472 -0
- 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 +3 -2
- package/src/sap/ui/core/ResizeHandler.js +1 -4
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ShortcutHint.js +1 -1
- package/src/sap/ui/core/Theming.js +28 -31
- 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 +85 -17
- 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 +2 -2
- 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/_IconRegistry.js +1 -1
- package/src/sap/ui/core/boot.js +9 -0
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- 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 +1 -1
- 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 +4 -0
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +18 -47
- 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 +37 -459
- package/src/sap/ui/core/message/MessageMixin.js +3 -3
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +9 -9
- package/src/sap/ui/core/message/MessageType.js +53 -0
- package/src/sap/ui/core/messagebundle.properties +3 -0
- package/src/sap/ui/core/messagebundle_ar.properties +1 -1
- package/src/sap/ui/core/messagebundle_bg.properties +1 -1
- package/src/sap/ui/core/messagebundle_ca.properties +1 -1
- package/src/sap/ui/core/messagebundle_cs.properties +1 -1
- package/src/sap/ui/core/messagebundle_cy.properties +1 -1
- package/src/sap/ui/core/messagebundle_da.properties +1 -1
- package/src/sap/ui/core/messagebundle_de.properties +1 -1
- package/src/sap/ui/core/messagebundle_el.properties +1 -1
- package/src/sap/ui/core/messagebundle_es.properties +1 -1
- package/src/sap/ui/core/messagebundle_es_MX.properties +1 -1
- package/src/sap/ui/core/messagebundle_et.properties +1 -1
- package/src/sap/ui/core/messagebundle_fi.properties +1 -1
- package/src/sap/ui/core/messagebundle_fr.properties +1 -1
- package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -1
- package/src/sap/ui/core/messagebundle_hi.properties +1 -1
- package/src/sap/ui/core/messagebundle_hr.properties +1 -1
- package/src/sap/ui/core/messagebundle_hu.properties +1 -1
- package/src/sap/ui/core/messagebundle_id.properties +1 -1
- package/src/sap/ui/core/messagebundle_it.properties +1 -1
- package/src/sap/ui/core/messagebundle_iw.properties +1 -1
- package/src/sap/ui/core/messagebundle_ja.properties +1 -1
- package/src/sap/ui/core/messagebundle_kk.properties +1 -1
- package/src/sap/ui/core/messagebundle_ko.properties +1 -1
- package/src/sap/ui/core/messagebundle_lt.properties +1 -1
- package/src/sap/ui/core/messagebundle_lv.properties +1 -1
- package/src/sap/ui/core/messagebundle_ms.properties +1 -1
- package/src/sap/ui/core/messagebundle_nl.properties +1 -1
- package/src/sap/ui/core/messagebundle_no.properties +1 -1
- package/src/sap/ui/core/messagebundle_pl.properties +1 -1
- package/src/sap/ui/core/messagebundle_pt.properties +1 -1
- package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -1
- package/src/sap/ui/core/messagebundle_ro.properties +1 -1
- package/src/sap/ui/core/messagebundle_ru.properties +1 -1
- package/src/sap/ui/core/messagebundle_sh.properties +1 -1
- package/src/sap/ui/core/messagebundle_sk.properties +1 -1
- package/src/sap/ui/core/messagebundle_sl.properties +1 -1
- package/src/sap/ui/core/messagebundle_sv.properties +9 -9
- package/src/sap/ui/core/messagebundle_th.properties +1 -1
- package/src/sap/ui/core/messagebundle_tr.properties +1 -1
- package/src/sap/ui/core/messagebundle_uk.properties +1 -1
- package/src/sap/ui/core/messagebundle_vi.properties +1 -1
- package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -1
- package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -1
- 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 +9 -2
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -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 +7 -1
- package/src/sap/ui/core/routing/async/Route.js +1 -0
- package/src/sap/ui/core/routing/sync/Route.js +1 -0
- 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 +25 -5
- package/src/sap/ui/core/support/Support.js +34 -4
- package/src/sap/ui/core/support/ToolsAPI.js +6 -16
- package/src/sap/ui/core/support/controls/InteractionTree.js +0 -4
- package/src/sap/ui/core/support/plugins/Breakpoint.js +0 -2
- package/src/sap/ui/core/support/plugins/ControlTree.js +10 -12
- package/src/sap/ui/core/support/plugins/Debugging.js +10 -9
- package/src/sap/ui/core/support/plugins/Interaction.js +12 -13
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -3
- package/src/sap/ui/core/support/plugins/Performance.js +1 -3
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +32 -42
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +27 -13
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +4 -4
- package/src/sap/ui/core/theming/ThemeHelper.js +100 -0
- package/src/sap/ui/core/theming/ThemeManager.js +18 -18
- 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 +53 -29
- 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/webc/WebComponent.js +659 -0
- package/src/sap/ui/core/webc/WebComponentMetadata.js +253 -0
- package/src/sap/ui/core/webc/WebComponentRenderer.js +323 -0
- 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 +4 -3
- package/src/sap/ui/debug/DebugEnv.js +4 -4
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/Binding.js +6 -6
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientPropertyBinding.js +3 -3
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/Context.js +1 -1
- package/src/sap/ui/model/DataState.js +1 -1
- 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 +4 -4
- 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/Type.js +1 -1
- package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +27 -13
- package/src/sap/ui/model/json/JSONModel.js +1 -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/ODataListBinding.js +24 -0
- package/src/sap/ui/model/odata/ODataMessageParser.js +4 -4
- 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 +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +6 -0
- 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 +7 -2
- 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 +6 -2
- 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 +23 -3
- package/src/sap/ui/model/odata/v2/ODataModel.js +6 -6
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +33 -6
- package/src/sap/ui/model/odata/v4/Context.js +26 -16
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -2
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +62 -29
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +17 -10
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +5 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +129 -6
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +102 -57
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +30 -4
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +3 -0
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +14 -4
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +28 -35
- package/src/sap/ui/model/odata/v4/ts.js +44 -0
- 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 +5 -4
- 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/performance/trace/Interaction.js +11 -2
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +10 -11
- package/src/sap/ui/qunit/utils/nextUIUpdate.js +51 -0
- package/src/sap/ui/test/ModuleTracking.js +326 -0
- package/src/sap/ui/test/TestUtils.js +7 -6
- package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +3 -2
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +2 -0
- package/src/sap/ui/test/selectors/_DropdownItem.js +1 -0
- package/src/sap/ui/test/selectors/_TableRowItem.js +1 -0
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +14 -10
- package/src/ui5loader.js +2 -2
- package/test/sap/ui/core/ComponentCleanup.html +228 -225
- package/test/sap/ui/core/ComponentConfig.html +1 -1
- package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +1 -1
- package/test/sap/ui/core/ComponentExtensibility_legacyAPIs.html +1 -1
- package/test/sap/ui/core/ComponentSimple.html +1 -1
- package/test/sap/ui/core/ComponentSimpleModel.html +1 -1
- package/test/sap/ui/core/ComponentSupport.html +1 -1
- package/test/sap/ui/core/DateFormat.js +3 -3
- package/test/sap/ui/core/EventBroadcaster.html +62 -62
- package/test/sap/ui/core/Formats.html +4 -2
- package/test/sap/ui/core/GenericEventBinding.html +53 -52
- package/test/sap/ui/core/ListFormat.js +3 -3
- package/test/sap/ui/core/NumberFormat.js +3 -3
- package/test/sap/ui/core/ODataAnnotationsPerformance.html +28 -28
- package/test/sap/ui/core/ODataV2CanonicalRequests.html +3 -2
- package/test/sap/ui/core/ODataV2Messages.html +4 -3
- package/test/sap/ui/core/PopupWithUserSelection.html +1 -1
- package/test/sap/ui/core/Strings.js +3 -3
- package/test/sap/ui/core/ValidateURL.html +143 -143
- package/test/sap/ui/core/demokit/sample/Commands/Commands.html +1 -1
- package/test/sap/ui/core/demokit/sample/MessageManager/BasicMessages/Controller.controller.js +10 -10
- package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/Controller.controller.js +7 -7
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/Component.js +3 -2
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/Employee.controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/index.html +7 -8
- package/test/sap/ui/core/demokit/sample/OpaGetStarted/applicationUnderTest/index.html +9 -6
- package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/applicationUnderTest/index.html +13 -10
- package/test/sap/ui/core/demokit/sample/PatternMatching/Patterns.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingFullscreen/RoutingFullscreen.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/RoutingMasterDetail.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/RoutingNestedComponent.html +1 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.html +1 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.js +5 -4
- package/test/sap/ui/core/demokit/sample/TargetsStandalone/TargetsStandalone.html +11 -8
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +12 -11
- package/test/sap/ui/core/demokit/sample/common/Controller.js +6 -7
- package/test/sap/ui/core/demokit/sample/common/Helper.js +6 -2
- package/test/sap/ui/core/demokit/sample/common/init.js +25 -21
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/WebsiteCode.js +8 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +12 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/ListReport.controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +4 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Component.js +19 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +93 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +85 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/SandboxModel.js +10 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +396 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +423 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +70 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +11 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +8 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +8 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +12 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Main.controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +11 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/MIT.RecursiveHierarchy maintenance.html +408 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Opa.qunit.js +26 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +54 -14
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +24 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +352 -287
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/pages/Main.js +38 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/createEdit.js +128 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/pageExpandCollapse.js +23 -22
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +15 -14
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/tutorial/databinding/01/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/index.js +7 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/02/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/03/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/04/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/05/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/06/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/07/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/08/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/09/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/10/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/11/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/databinding/12/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/databinding/13/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/databinding/14/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/databinding/15/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/01/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/01/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/02/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/02/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/03/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/03/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/04/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/04/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/05/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/05/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/06/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/06/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/07/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/07/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/08/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/08/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/09/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/09/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/10/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/10/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/11/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/11/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/12/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/12/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/13/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/13/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/14/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/14/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/15/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/15/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/16/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/16/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/package.json +4 -6
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +8 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/index.html +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +5 -5
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/opaTests.qunit.js +5 -5
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/pages/Tutorial.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/opaTests.qunit.js +5 -5
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/pages/Tutorial.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/test/integration/opaTests.qunit.js +6 -6
- package/test/sap/ui/core/frameoptions/createcontent.js +7 -6
- package/test/sap/ui/core/internal/samples/client/MusicCollection/index.html +1 -1
- package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exStringAndFloat/Test.controller.js +3 -2
- package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.js +8 -8
- package/test/sap/ui/core/internal/samples/odata/twoFields/index.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.js +7 -7
- package/test/sap/ui/core/internal/samples/odata/v2/Products/index.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +3 -2
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/MIT.SalesOrders(V2).ODLB.create.html +2 -0
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +3 -3
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.js +9 -6
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +3 -0
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/data/ODLB.create/TC3/SalesOrderSet_desc_4-1.json +16 -0
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/index.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/tests/ODataListBinding.create/TC3_SalesOrders_InlineCreationRow.js +9 -0
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Component.js +3 -2
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +3 -3
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/index.html +1 -1
- package/test/sap/ui/core/qunit/BlockLayerUtils.qunit.js +9 -7
- package/test/sap/ui/core/qunit/CalculatedFields.qunit.js +4 -2
- package/test/sap/ui/core/qunit/ContextMenuSupport.qunit.js +3 -2
- package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +11 -10
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +218 -223
- package/test/sap/ui/core/qunit/Core.qunit.js +35 -31
- package/test/sap/ui/core/qunit/CoreEvents.qunit.js +17 -15
- package/test/sap/ui/core/qunit/Core_repeatedExecution.qunit.js +3 -3
- package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +4 -3
- package/test/sap/ui/core/qunit/Element_data.qunit.js +5 -5
- package/test/sap/ui/core/qunit/Element_destroy.qunit.js +6 -4
- package/test/sap/ui/core/qunit/Element_focus.qunit.js +25 -24
- package/test/sap/ui/core/qunit/Element_metadata_selector.qunit.js +3 -2
- package/test/sap/ui/core/qunit/EnabledPropagator.qunit.js +7 -6
- package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +1 -1
- package/test/sap/ui/core/qunit/FastNavigationWithWebComponents.qunit.js +5 -5
- package/test/sap/ui/core/qunit/FieldGroup.qunit.js +9 -6
- package/test/sap/ui/core/qunit/FocusHandler.qunit.js +7 -6
- package/test/sap/ui/core/qunit/Fragment.qunit.js +35 -34
- package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +51 -50
- package/test/sap/ui/core/qunit/HTML.qunit.js +32 -32
- package/test/sap/ui/core/qunit/Icon.qunit.js +66 -65
- package/test/sap/ui/core/qunit/IconPool.qunit.js +2 -1
- package/test/sap/ui/core/qunit/InvisibleText.qunit.js +13 -12
- package/test/sap/ui/core/qunit/Lib.qunit.js +8 -8
- package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +24 -24
- package/test/sap/ui/core/qunit/RenderManager.qunit.js +54 -53
- package/test/sap/ui/core/qunit/ResizeHandler.qunit.js +8 -9
- package/test/sap/ui/core/qunit/ScrollBar.qunit.js +7 -6
- package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +13 -11
- package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +6 -5
- package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +5 -4
- package/test/sap/ui/core/qunit/Theming.qunit.js +88 -50
- package/test/sap/ui/core/qunit/Theming_default_and_fallback.qunit.js +130 -0
- package/test/sap/ui/core/qunit/TooltipBase.qunit.js +4 -3
- package/test/sap/ui/core/qunit/UIArea.qunit.js +248 -18
- package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.js +9 -8
- package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +10 -10
- package/test/sap/ui/core/qunit/base/Config.qunit.js +12 -2
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +123 -52
- package/test/sap/ui/core/qunit/base/Config_meta.qunit.html +2 -0
- package/test/sap/ui/core/qunit/base/config/GlobalConfig.js +3 -1
- package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +4 -1
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.js +3 -3
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal_legacyAPIs.qunit.js +13 -11
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -1
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomScript_legacyAPIs.qunit.js +13 -11
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery_legacyAPIs.qunit.js +7 -5
- package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTaskAndPreload.qunit.js +12 -14
- package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +3 -2
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +1 -1
- package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +1 -1
- package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +12 -6
- package/test/sap/ui/core/qunit/component/Component.qunit.js +14 -15
- package/test/sap/ui/core/qunit/component/Component_unavoidablySync.qunit.js +4 -3
- package/test/sap/ui/core/qunit/component/Customizing.qunit.js +4 -5
- package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +4 -3
- package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +4 -6
- package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +3 -5
- package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +3 -6
- package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +5 -8
- package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +4 -5
- package/test/sap/ui/core/qunit/component/ExtensionPoint_unavoidablySync.qunit.js +4 -3
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +19 -19
- package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +19 -19
- package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +43 -43
- package/test/sap/ui/core/qunit/csp/ContentSecurityPolicy.qunit.js +18 -13
- package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +19 -18
- package/test/sap/ui/core/qunit/dnd/DragInfo.qunit.js +13 -12
- package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +5 -4
- package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +7 -6
- package/test/sap/ui/core/qunit/generic/DuplicateIdCheck.qunit.js +7 -6
- package/test/sap/ui/core/qunit/generic/legacy/ControlIterator.qunit.js +6 -6
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +20 -17
- package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +8 -7
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +1 -2
- package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +14 -19
- package/test/sap/ui/core/qunit/internal/1Ring.qunit.js +34 -22
- package/test/sap/ui/core/qunit/internal/ODataV4.qunit.html +6 -6
- package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +4 -0
- package/test/sap/ui/core/qunit/isBehindOtherElement.qunit.js +7 -7
- package/test/sap/ui/core/qunit/jquery-mobile-custom.qunit.js +3 -3
- package/test/sap/ui/core/qunit/jquery.sap.events.qunit.js +3 -2
- package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +16 -16
- package/test/sap/ui/core/qunit/messages/{MessageManager.qunit.js → Messaging.qunit.js} +46 -49
- package/test/sap/ui/core/qunit/messages/messagesDataBinding.qunit.js +3 -1
- package/test/sap/ui/core/qunit/messages/messagesEnd2End.qunit.js +10 -10
- package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +36 -46
- package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +25 -36
- package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +2 -2
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +8 -8
- package/test/sap/ui/core/qunit/model/controlhelper/TreeBindingProxy.qunit.js +24 -14
- package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +7 -6
- package/test/sap/ui/core/qunit/mvc/AnyViewAsync.qunit.js +3 -2
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync_unavoidablyUsingInlineStyle.qunit.js +5 -4
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +8 -9
- package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +45 -40
- package/test/sap/ui/core/qunit/mvc/testdata/stashed/OP.html +1 -1
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +15 -20
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +20 -25
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyViewAsync_legacyAPIs.qunit.js +10 -11
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyView_legacyAPIs.qunit.js +7 -6
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/HTMLView_legacyAPIs.qunit.js +8 -7
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +7 -7
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +40 -47
- package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +52 -20
- package/test/sap/ui/core/qunit/odata/{ODataListBinding.qunit.js → ODataListBinding_legacyAPIs.qunit.js} +27 -0
- package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +44 -48
- package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +8 -8
- package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +66 -29
- package/test/sap/ui/core/qunit/odata/ODataMetadata.qunit.js +17 -7
- package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +147 -89
- package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +1 -0
- package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +33 -12
- package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +33 -12
- package/test/sap/ui/core/qunit/odata/v2/CanonicalRequests.qunit.js +5 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +63 -13
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +281 -59
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +28 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +21 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +1 -2
- package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding.qunit.js +7 -207
- package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding_Filter_legacyAPIs.qunit.js +281 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +9 -8
- package/test/sap/ui/core/qunit/odata/v2/ODataV2TreeBinding.qunit.js +1 -0
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +95 -85
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModelB.qunit.js +70 -67
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +19 -20
- package/test/sap/ui/core/qunit/odata/v2/testsuite.odatav2.qunit.js +4 -0
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +50 -27
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +5 -0
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +4 -3
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +103 -14
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1027 -31
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +18 -17
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +272 -36
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +115 -82
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +10 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +108 -10
- package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +1 -1
- package/test/sap/ui/core/qunit/opa/Opa5PageObject.qunit.js +5 -6
- package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +29 -42
- package/test/sap/ui/core/qunit/opa/RecordReplay.qunit.js +13 -14
- package/test/sap/ui/core/qunit/opa/_ControlFinder.qunit.js +5 -4
- package/test/sap/ui/core/qunit/opa/actions/Action.qunit.js +6 -5
- package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +22 -21
- package/test/sap/ui/core/qunit/opa/actions/Press.qunit.js +60 -56
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +5 -7
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +5 -9
- package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +5 -6
- package/test/sap/ui/core/qunit/opa/autowaiter/_navigationContainerWaiter.js +5 -4
- package/test/sap/ui/core/qunit/opa/autowaiter/_resourceWaiter.js +21 -20
- package/test/sap/ui/core/qunit/opa/fixture/bindingPath.js +6 -5
- package/test/sap/ui/core/qunit/opa/matchers/Interactable.qunit.js +7 -5
- package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -3
- package/test/sap/ui/core/qunit/opa/matchers/Sibling.qunit.js +4 -3
- package/test/sap/ui/core/qunit/opa/matchers/Visible.qunit.js +6 -5
- package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +28 -27
- package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +11 -10
- package/test/sap/ui/core/qunit/opa/matchers/_Enabled.qunit.js +11 -10
- package/test/sap/ui/core/qunit/opa/matchers/_Visitor.qunit.js +5 -4
- package/test/sap/ui/core/qunit/opa/opa5/actions.qunit.js +8 -7
- package/test/sap/ui/core/qunit/opa/opa5/basics.qunit.js +12 -17
- package/test/sap/ui/core/qunit/opa/opa5/logging.qunit.js +5 -6
- package/test/sap/ui/core/qunit/opa/opa5/matchers.qunit.js +6 -5
- package/test/sap/ui/core/qunit/opa/selectors/_BindingPath.js +10 -9
- package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorGenerator.js +6 -7
- package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorValidator.js +4 -3
- package/test/sap/ui/core/qunit/opa/selectors/_DropdownItem.js +4 -3
- package/test/sap/ui/core/qunit/opa/selectors/_GlobalID.js +4 -3
- package/test/sap/ui/core/qunit/opa/selectors/_LabelFor.js +4 -3
- package/test/sap/ui/core/qunit/opa/selectors/_Properties.js +33 -27
- package/test/sap/ui/core/qunit/opa/selectors/_Selector.js +7 -10
- package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +5 -7
- package/test/sap/ui/core/qunit/opa/selectors/_ViewID.js +5 -7
- package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +35 -28
- package/test/sap/ui/core/qunit/routing/Placeholder.qunit.js +11 -9
- package/test/sap/ui/core/qunit/routing/PlaceholderOptOut.qunit.js +5 -3
- package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +57 -0
- package/test/sap/ui/core/qunit/routing/fixture/historyIframe/iframe/index.html +1 -1
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/Component.js +30 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/manifest.json +25 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/Component.js +14 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/manifest.json +51 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/NotFound.view.xml +3 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/RootView.view.xml +5 -0
- package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +24 -17
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +3 -3
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +3 -3
- package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +9 -18
- package/test/sap/ui/core/qunit/support/techinfo/TechnicalInfoTestbench.html +3 -1
- package/test/sap/ui/core/qunit/test/starter/find/index.html +1 -1
- package/test/sap/ui/core/qunit/test/starter/find/main.js +3 -2
- package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +0 -6
- package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +10 -6
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +27 -4
- package/test/sap/ui/core/qunit/tmpl/Template.qunit.js +36 -35
- package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +13 -0
- package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
- package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +2 -2
- package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
- package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +27 -31
- package/test/sap/ui/core/qunit/util/Popup.qunit.js +27 -27
- package/test/sap/ui/core/qunit/util/ResponsivePaddingsEnablement.qunit.js +13 -9
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +37 -6
- package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +1 -1
- package/test/sap/ui/core/qunit/util/jquery.sap.dom.qunit.js +3 -2
- package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +8 -8
- package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +24 -24
- package/test/sap/ui/core/qunit/util/static/TechnicalInfoTestbenchInit.js +8 -2
- package/test/sap/ui/core/qunit/webc/WebComponent.qunit.js +188 -0
- package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.html +14 -0
- package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.js +22 -0
- package/test/sap/ui/core/relnotes/changes-1.117.json +1 -34
- package/test/sap/ui/core/relnotes/changes-1.118.json +143 -0
- package/test/sap/ui/core/samples/components/resourcesCSS/index.html +1 -1
- package/test/sap/ui/core/samples/databinding/DataBinding.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingAsyncType.html +3 -2
- package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingList.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingTreeLarge.html +102 -113
- package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +90 -89
- package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +149 -148
- package/test/sap/ui/core/samples/databinding/DataBindingXML.html +3 -2
- package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +158 -153
- package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +4 -6
- package/test/sap/ui/core/samples/databinding/UnitTableMain.js +3 -4
- package/test/sap/ui/core/samples/extensions/index_legacyAPIs.html +15 -13
- package/test/sap/ui/core/samples/formatting/controller/ChooseFormatOptions.controller.js +3 -2
- package/test/sap/ui/core/samples/mvc/ExtendedXMLViewEventHandlerSyntax.html +5 -3
- package/test/sap/ui/core/samples/mvc/XMLViewBindableAggregation.html +1 -1
- package/test/testsuite/testframe.html +4 -4
- package/src/ui5-boot.js +0 -50
- package/test/sap/ui/core/qunit/CoreLock.qunit.js +0 -61
- package/test/sap/ui/core/qunit/internal/ODataV4.qunit.js +0 -30
- /package/test/sap/ui/core/qunit/{MasterDetail.qunit.js → MasterDetail_legacyAPIs.qunit.js} +0 -0
- /package/test/sap/ui/core/qunit/odata/{ODataModel.qunit.js → ODataModel_legacyAPIs.qunit.js} +0 -0
- /package/test/sap/ui/core/qunit/odata/{ODataSharedMetadata.qunit.js → ODataSharedMetadata_legacyAPIs.qunit.js} +0 -0
- /package/test/sap/ui/core/qunit/odata/{ODataTreeBinding.qunit.js → ODataTreeBinding_legacyAPIs.qunit.js} +0 -0
|
@@ -0,0 +1,659 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Provides the base class for all Web Component wrappers.
|
|
8
|
+
sap.ui.define([
|
|
9
|
+
"../Control",
|
|
10
|
+
"../Element",
|
|
11
|
+
"./WebComponentMetadata",
|
|
12
|
+
"./WebComponentRenderer",
|
|
13
|
+
"sap/base/strings/hyphenate",
|
|
14
|
+
"sap/base/strings/camelize",
|
|
15
|
+
"../library",
|
|
16
|
+
"../LabelEnablement"
|
|
17
|
+
],
|
|
18
|
+
function(
|
|
19
|
+
Control,
|
|
20
|
+
Element,
|
|
21
|
+
WebComponentMetadata,
|
|
22
|
+
WebComponentRenderer,
|
|
23
|
+
hyphenate,
|
|
24
|
+
camelize,
|
|
25
|
+
coreLibrary,
|
|
26
|
+
LabelEnablement
|
|
27
|
+
) {
|
|
28
|
+
"use strict";
|
|
29
|
+
|
|
30
|
+
var TextDirection = coreLibrary.TextDirection;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Returns the sap.ui.core.Element instance for an arbitrary HTML Element, or undefined, if the HTML element is not a sap.ui.core.Element
|
|
34
|
+
*
|
|
35
|
+
* @param obj
|
|
36
|
+
* @returns {sap.ui.core.Element|undefined}
|
|
37
|
+
* @private
|
|
38
|
+
*/
|
|
39
|
+
var fnGetControlFor = function(obj) {
|
|
40
|
+
if (obj.id && Element.registry.get(obj.id)) {
|
|
41
|
+
return Element.registry.get(obj.id);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Takes an object as an argument and returns another object, where all fields in the original object, that are HTML Elements, are deeply replaced with their sap.ui.core.Element counterparts, where applicable
|
|
47
|
+
*
|
|
48
|
+
* @param obj
|
|
49
|
+
* @param level
|
|
50
|
+
* @param maxLevel
|
|
51
|
+
* @returns {Object}
|
|
52
|
+
* @private
|
|
53
|
+
*/
|
|
54
|
+
var fnConvert = function(obj, level, maxLevel) {
|
|
55
|
+
if (level === undefined) {
|
|
56
|
+
level = 0;
|
|
57
|
+
}
|
|
58
|
+
if (maxLevel === undefined) {
|
|
59
|
+
maxLevel = 2;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Null
|
|
63
|
+
if (obj == null) {
|
|
64
|
+
return obj;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// HTML Element - if represents a control, return the control. Otherwise return the HTML Element and stop.
|
|
68
|
+
if (obj instanceof window.HTMLElement) {
|
|
69
|
+
var oControl = fnGetControlFor(obj);
|
|
70
|
+
return oControl ? oControl : obj;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (level < maxLevel) {
|
|
74
|
+
// Array
|
|
75
|
+
if (Array.isArray(obj)) {
|
|
76
|
+
return obj.map(fnConvert, level + 1, maxLevel);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Object
|
|
80
|
+
if (typeof obj === "object") {
|
|
81
|
+
var oResult = {};
|
|
82
|
+
for (var i in obj) {
|
|
83
|
+
if (obj.hasOwnProperty(i)) {
|
|
84
|
+
oResult[i] = fnConvert(obj[i], level + 1, maxLevel);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return oResult;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Anything else
|
|
92
|
+
return obj;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Constructs and initializes a Web Component Wrapper with the given <code>sId</code> and settings.
|
|
97
|
+
*
|
|
98
|
+
* @param {string} [sId] Optional ID for the new control; generated automatically if no non-empty ID is given
|
|
99
|
+
* Note: this can be omitted, no matter whether <code>mSettings</code> will be given or not!
|
|
100
|
+
* @param {object} [mSettings] Object with initial settings for the new control
|
|
101
|
+
*
|
|
102
|
+
* @class Base Class for Web Components.
|
|
103
|
+
* Web Components are agnostic UI elements which can be integrated into the UI5
|
|
104
|
+
* programming model by using this wrapper control. This wrapper control takes
|
|
105
|
+
* care to propagate the properties, the aggregations and the events. It also
|
|
106
|
+
* ensures to render the control and put the aggregated controls in the dedicated
|
|
107
|
+
* slots of the Web Component.
|
|
108
|
+
*
|
|
109
|
+
* @extends sap.ui.core.Control
|
|
110
|
+
* @author SAP SE
|
|
111
|
+
* @version 1.118.0
|
|
112
|
+
* @public
|
|
113
|
+
* @since 1.118.0
|
|
114
|
+
* @alias sap.ui.core.webc.WebComponent
|
|
115
|
+
* @experimental Since 1.118.0 The API might change. It is not intended for productive usage yet!
|
|
116
|
+
*/
|
|
117
|
+
var WebComponent = Control.extend("sap.ui.core.webc.WebComponent", {
|
|
118
|
+
|
|
119
|
+
metadata : {
|
|
120
|
+
stereotype : "webcomponent",
|
|
121
|
+
"abstract" : true,
|
|
122
|
+
library : "sap.ui.core",
|
|
123
|
+
properties: {
|
|
124
|
+
__isBusy: {
|
|
125
|
+
type: "boolean",
|
|
126
|
+
visibility: "hidden",
|
|
127
|
+
defaultValue: false,
|
|
128
|
+
mapping: {
|
|
129
|
+
type: "property",
|
|
130
|
+
to: "__is-busy"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
|
|
136
|
+
constructor : function(sId, mSettings) {
|
|
137
|
+
Control.apply(this, arguments);
|
|
138
|
+
|
|
139
|
+
this.__busyIndicatorTimeout = null;
|
|
140
|
+
|
|
141
|
+
this.__onInvalidationBound = this.__onInvalidation.bind(this);
|
|
142
|
+
this.__handleCustomEventBound = this.__handleCustomEvent.bind(this);
|
|
143
|
+
|
|
144
|
+
this.__delegates = {
|
|
145
|
+
onBeforeRendering: this.__onBeforeRenderingDelegate,
|
|
146
|
+
onAfterRendering: this.__onAfterRenderingDelegate
|
|
147
|
+
};
|
|
148
|
+
this.addDelegate(this.__delegates, true, this, false);
|
|
149
|
+
},
|
|
150
|
+
|
|
151
|
+
renderer: WebComponentRenderer
|
|
152
|
+
|
|
153
|
+
}, /* Metadata constructor */ WebComponentMetadata);
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* @typedef {sap.ui.core.Element.MetadataOptions} sap.ui.core.webc.WebComponent.MetadataOptions
|
|
157
|
+
*
|
|
158
|
+
* The structure of the "metadata" object which is passed when inheriting from sap.ui.core.Element using its static "extend" method.
|
|
159
|
+
* See {@link sap.ui.core.Element.extend} for details on its usage.
|
|
160
|
+
*
|
|
161
|
+
* @property {string} tag
|
|
162
|
+
* Tag name of the Web Component to be used in the renderer to render the HTML.
|
|
163
|
+
* @property {Object<string, string | sap.ui.core.webc.WebComponent.MetadataOptions.Property>} [properties]
|
|
164
|
+
* An object literal whose properties each define a new managed property in the WebComponent subclass.
|
|
165
|
+
* See {@link sap.ui.base.ManagedObject.MetadataOptions.Property Property} for more details.
|
|
166
|
+
* @property {Object<string, string | sap.ui.core.webc.WebComponent.MetadataOptions.Aggregation>} [aggregations]
|
|
167
|
+
* An object literal whose properties each define a new aggregation in the ManagedObject subclass.
|
|
168
|
+
* See {@link sap.ui.base.ManagedObject.MetadataOptions.Aggregation Aggregation} for more details.
|
|
169
|
+
* @property {Object<string, string | sap.ui.core.webc.WebComponent.MetadataOptions.Association>} [associations]
|
|
170
|
+
* An object literal whose properties each define a new association in the ManagedObject subclass.
|
|
171
|
+
* See {@link sap.ui.base.ManagedObject.MetadataOptions.Association Association} for more details.
|
|
172
|
+
* @property {string[]} [getters]
|
|
173
|
+
* Proxied public getters of the Web Component which are directly accessible on the wrapper Control.
|
|
174
|
+
* @property {string[]} [methods]
|
|
175
|
+
* Proxied public methods of the Web Component which are directly accessible on the wrapper Control.
|
|
176
|
+
*
|
|
177
|
+
* @public
|
|
178
|
+
*/
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* @typedef {sap.ui.base.ManagedObject.MetadataOptions.Property} sap.ui.core.webc.WebComponent.MetadataOptions.Property
|
|
182
|
+
*
|
|
183
|
+
* An object literal describing a property of a class derived from <code>sap.ui.core.webc.WebComponent</code>.
|
|
184
|
+
* See {@link sap.ui.core.webc.WebComponent.MetadataOptions MetadataOptions} for details on its usage.
|
|
185
|
+
*
|
|
186
|
+
* @property {"property" | "style" | "textContent" | "slot" | "none" | sap.ui.core.webc.WebComponent.MetadataOptionsPropertyMapping} [mapping="property"] Defines the mapping of the property to be either "property", "style", "textContent", "slot", or "none".
|
|
187
|
+
* The default mapping of a property is "property" which either renders the value of the property into an attribute of the custom tag or forwards object properties to the mutator in the onAfterRendering phase.
|
|
188
|
+
*
|
|
189
|
+
* @public
|
|
190
|
+
*/
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* @typedef {object} sap.ui.core.webc.WebComponent.MetadataOptions.Property.Mapping
|
|
194
|
+
*
|
|
195
|
+
* An object literal describing the mapping of a property of a class derived from <code>sap.ui.core.webc.WebComponent</code>.
|
|
196
|
+
*
|
|
197
|
+
* @property {"property" | "style" | "textContent" | "slot" | "none"} [type="property"] Defines the mapping of the property to be either "property", "style", "textContent", "slot", or "none".
|
|
198
|
+
* The default mapping of a property is "property" which either renders the value of the property into an attribute of the custom tag or forwards object properties to the mutator in the onAfterRendering phase.
|
|
199
|
+
* @property {string} [to] Defines the target of the mapping of the property (e.g. the name of the attribute/property).
|
|
200
|
+
* @property {string} [formatter] Defines the name of the formatter function at the WebComponent instance to format the value before its being mapped.
|
|
201
|
+
*
|
|
202
|
+
* @public
|
|
203
|
+
*/
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* @typedef {sap.ui.core.webc.WebComponent.MetadataOptions.Property.Mapping} sap.ui.core.webc.WebComponent.MetadataOptionsPropertyMapping
|
|
207
|
+
*
|
|
208
|
+
* HACK! This mapping omits the <code>no-unnecessary-qualifier</code> error or we need to extend the <code>tslint.json</code>!
|
|
209
|
+
*
|
|
210
|
+
* @public
|
|
211
|
+
*/
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* @typedef {sap.ui.base.ManagedObject.MetadataOptions.Aggregation} sap.ui.core.webc.WebComponent.MetadataOptions.Aggregation
|
|
215
|
+
*
|
|
216
|
+
* An object literal describing a property of a class derived from <code>sap.ui.core.webc.WebComponent</code>.
|
|
217
|
+
* See {@link sap.ui.core.webc.WebComponent.MetadataOptions MetadataOptions} for details on its usage.
|
|
218
|
+
*
|
|
219
|
+
* @property {string} [slot] Flag that marks the property as deprecated (defaults to false). May lead to an additional warning
|
|
220
|
+
* log message at runtime when the property is still used. For the documentation, also add a <code>@deprecated</code> tag in the JSDoc,
|
|
221
|
+
* describing since when it is deprecated and what any alternatives are.
|
|
222
|
+
*
|
|
223
|
+
* @public
|
|
224
|
+
*/
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* @typedef {sap.ui.base.ManagedObject.MetadataOptions.Association} sap.ui.core.webc.WebComponent.MetadataOptions.Association
|
|
228
|
+
*
|
|
229
|
+
* An object literal describing an association of a class derived from <code>sap.ui.core.webc.WebComponent</code>.
|
|
230
|
+
* See {@link sap.ui.core.webc.WebComponent.MetadataOptions MetadataOptions} for details on its usage.
|
|
231
|
+
*
|
|
232
|
+
* @property {"property" | sap.ui.core.webc.WebComponent.MetadataOptionsAssociationMapping} [mapping="property"] Defines the mapping of the association which defaults to "property".
|
|
233
|
+
* Associations are forwarded to the corresponding mutator of the Web Component.
|
|
234
|
+
*
|
|
235
|
+
* @public
|
|
236
|
+
*/
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* @typedef {object} sap.ui.core.webc.WebComponent.MetadataOptions.Association.Mapping
|
|
240
|
+
*
|
|
241
|
+
* An object literal describing the mapping of an association as property of a class derived from <code>sap.ui.core.webc.WebComponent</code>.
|
|
242
|
+
*
|
|
243
|
+
* @property {"property"} [type="property"] Defines the mapping of the association which defaults to "property".
|
|
244
|
+
* Associations are forwarded to the corresponding mutator of the Web Component.
|
|
245
|
+
* @property {string} [to] Defines the target of the mapping of the association to which property it will be mapped to.
|
|
246
|
+
* @property {string} [formatter] Defines the name of the formatter function at the WebComponent instance to format the value before its being mapped.
|
|
247
|
+
*
|
|
248
|
+
* @public
|
|
249
|
+
*/
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* @typedef {sap.ui.core.webc.WebComponent.MetadataOptions.Association.Mapping} sap.ui.core.webc.WebComponent.MetadataOptionsAssociationMapping
|
|
253
|
+
*
|
|
254
|
+
* HACK! This mapping omits the <code>no-unnecessary-qualifier</code> error or we need to extend the <code>tslint.json</code>!
|
|
255
|
+
*
|
|
256
|
+
* @public
|
|
257
|
+
*/
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Defines a new subclass of WebComponent with the name <code>sClassName</code> and enriches it with
|
|
261
|
+
* the information contained in <code>oClassInfo</code>.
|
|
262
|
+
*
|
|
263
|
+
* <code>oClassInfo</code> can contain the same information that {@link sap.ui.base.ManagedObject.extend} already accepts,
|
|
264
|
+
* plus the <code>dnd</code> property in the metadata object literal to configure drag-and-drop behavior
|
|
265
|
+
* (see {@link sap.ui.core.webc.WebComponent.MetadataOptions MetadataOptions} for details). Objects describing aggregations can also
|
|
266
|
+
* have a <code>dnd</code> property when used for a class extending <code>WebComponent</code>
|
|
267
|
+
* (see {@link sap.ui.base.ManagedObject.MetadataOptions.AggregationDnD AggregationDnD}).
|
|
268
|
+
*
|
|
269
|
+
* Example:
|
|
270
|
+
* <pre>
|
|
271
|
+
* WebComponent.extend('sap.mylib.MyElement', {
|
|
272
|
+
* metadata : {
|
|
273
|
+
* library : 'sap.mylib',
|
|
274
|
+
* tag : 'my-webcomponent',
|
|
275
|
+
* properties : {
|
|
276
|
+
* value : 'string',
|
|
277
|
+
* width : {
|
|
278
|
+
* type: 'sap.ui.core.CSSSize',
|
|
279
|
+
* mapping: 'style'
|
|
280
|
+
* }
|
|
281
|
+
* },
|
|
282
|
+
* defaultAggregation: "content",
|
|
283
|
+
* aggregations : {
|
|
284
|
+
* content : {
|
|
285
|
+
* type: 'sap.ui.core.Control',
|
|
286
|
+
* multiple : true
|
|
287
|
+
* },
|
|
288
|
+
* header : {
|
|
289
|
+
* type : 'sap.ui.core.Control',
|
|
290
|
+
* multiple : false,
|
|
291
|
+
* slot: 'header'
|
|
292
|
+
* }
|
|
293
|
+
* }
|
|
294
|
+
* }
|
|
295
|
+
* });
|
|
296
|
+
* </pre>
|
|
297
|
+
*
|
|
298
|
+
* @param {string} sClassName Name of the class to be created
|
|
299
|
+
* @param {object} [oClassInfo] Object literal with information about the class
|
|
300
|
+
* @param {sap.ui.core.webc.WebComponent.MetadataOptions} [oClassInfo.metadata] the metadata object describing the class: tag, properties, aggregations, events etc.
|
|
301
|
+
* @param {function} [FNMetaImpl] Constructor function for the metadata object. If not given, it defaults to <code>sap.ui.core.ElementMetadata</code>.
|
|
302
|
+
* @returns {function} Created class / constructor function
|
|
303
|
+
*
|
|
304
|
+
* @public
|
|
305
|
+
* @static
|
|
306
|
+
* @name sap.ui.core.webc.WebComponent.extend
|
|
307
|
+
* @function
|
|
308
|
+
*/
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Assigns the __slot property which tells RenderManager to render the sap.ui.core.Element (oElement) with a "slot" attribute
|
|
312
|
+
*
|
|
313
|
+
* @param oElement
|
|
314
|
+
* @param sAggregationName
|
|
315
|
+
* @private
|
|
316
|
+
*/
|
|
317
|
+
WebComponent.prototype._setSlot = function(oElement, sAggregationName) {
|
|
318
|
+
var aDenyList = ["tooltip", "customData", "layoutData", "dependents", "dragDropConfig"];
|
|
319
|
+
if (oElement && !aDenyList.includes(sAggregationName)) {
|
|
320
|
+
var sSlot = this.getMetadata().getAggregationSlot(sAggregationName);
|
|
321
|
+
oElement.__slot = sSlot;
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Removes the __slot property from the sap.ui.core.Element instance
|
|
327
|
+
*
|
|
328
|
+
* @param oElement
|
|
329
|
+
* @private
|
|
330
|
+
*/
|
|
331
|
+
WebComponent.prototype._unsetSlot = function(oElement) {
|
|
332
|
+
if (oElement) {
|
|
333
|
+
delete oElement.__slot;
|
|
334
|
+
}
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Set the slot for each newly added child control, based on its aggregation
|
|
339
|
+
*
|
|
340
|
+
* @override
|
|
341
|
+
* @param {string}
|
|
342
|
+
* sAggregationName name of an 0..1 aggregation
|
|
343
|
+
* @param {sap.ui.base.ManagedObject}
|
|
344
|
+
* oObject the managed object that is set as aggregated object
|
|
345
|
+
* @param {boolean}
|
|
346
|
+
* [bSuppressInvalidate] if true, this ManagedObject is not marked as changed
|
|
347
|
+
* @returns {this} Returns <code>this</code> to allow method chaining
|
|
348
|
+
* @throws {Error}
|
|
349
|
+
* @protected
|
|
350
|
+
*/
|
|
351
|
+
WebComponent.prototype.setAggregation = function(sAggregationName, oObject, bSuppressInvalidate) {
|
|
352
|
+
var vResult = Control.prototype.setAggregation.apply(this, arguments);
|
|
353
|
+
this._setSlot(oObject, sAggregationName);
|
|
354
|
+
return vResult;
|
|
355
|
+
};
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Set the slot for each newly added child control, based on its aggregation
|
|
359
|
+
*
|
|
360
|
+
* @override
|
|
361
|
+
* @param {string}
|
|
362
|
+
* sAggregationName the string identifying the aggregation the managed object <code>oObject</code>
|
|
363
|
+
* should be inserted into.
|
|
364
|
+
* @param {sap.ui.base.ManagedObject}
|
|
365
|
+
* oObject the ManagedObject to add; if empty, nothing is inserted.
|
|
366
|
+
* @param {int}
|
|
367
|
+
* iIndex the <code>0</code>-based index the managed object should be inserted at; for a negative
|
|
368
|
+
* value <code>iIndex</code>, <code>oObject</code> is inserted at position 0; for a value
|
|
369
|
+
* greater than the current size of the aggregation, <code>oObject</code> is inserted at
|
|
370
|
+
* the last position
|
|
371
|
+
* @param {boolean}
|
|
372
|
+
* [bSuppressInvalidate] if true, this ManagedObject as well as the added child are not marked as changed
|
|
373
|
+
* @returns {this} Returns <code>this</code> to allow method chaining
|
|
374
|
+
* @protected
|
|
375
|
+
*/
|
|
376
|
+
WebComponent.prototype.insertAggregation = function(sAggregationName, oObject, iIndex, bSuppressInvalidate) {
|
|
377
|
+
var vResult = Control.prototype.insertAggregation.apply(this, arguments);
|
|
378
|
+
this._setSlot(oObject, sAggregationName);
|
|
379
|
+
return vResult;
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
/**
|
|
383
|
+
* Set the slot for each newly added child control, based on its aggregation
|
|
384
|
+
*
|
|
385
|
+
* @override
|
|
386
|
+
* @param {string}
|
|
387
|
+
* sAggregationName the string identifying the aggregation that <code>oObject</code> should be added to.
|
|
388
|
+
* @param {sap.ui.base.ManagedObject}
|
|
389
|
+
* oObject the object to add; if empty, nothing is added
|
|
390
|
+
* @param {boolean}
|
|
391
|
+
* [bSuppressInvalidate] if true, this ManagedObject as well as the added child are not marked as changed
|
|
392
|
+
* @returns {this} Returns <code>this</code> to allow method chaining
|
|
393
|
+
* @protected
|
|
394
|
+
*/
|
|
395
|
+
WebComponent.prototype.addAggregation = function(sAggregationName, oObject, bSuppressInvalidate) {
|
|
396
|
+
var vResult = Control.prototype.addAggregation.apply(this, arguments);
|
|
397
|
+
this._setSlot(oObject, sAggregationName);
|
|
398
|
+
return vResult;
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* Remove the slot for each removed child control
|
|
403
|
+
*
|
|
404
|
+
* @override
|
|
405
|
+
* @param {string}
|
|
406
|
+
* sAggregationName the string identifying the aggregation that the given object should be removed from
|
|
407
|
+
* @param {int | string | sap.ui.base.ManagedObject}
|
|
408
|
+
* vObject the position or ID of the ManagedObject that should be removed or that ManagedObject itself;
|
|
409
|
+
* if <code>vObject</code> is invalid, a negative value or a value greater or equal than the current size
|
|
410
|
+
* of the aggregation, nothing is removed.
|
|
411
|
+
* @param {boolean}
|
|
412
|
+
* [bSuppressInvalidate] if true, this ManagedObject is not marked as changed
|
|
413
|
+
* @returns {sap.ui.base.ManagedObject|null} the removed object or <code>null</code>
|
|
414
|
+
* @protected
|
|
415
|
+
*/
|
|
416
|
+
WebComponent.prototype.removeAggregation = function(sAggregationName, vObject, bSuppressInvalidate) {
|
|
417
|
+
var oChild = Control.prototype.removeAggregation.apply(this, arguments);
|
|
418
|
+
this._unsetSlot(oChild);
|
|
419
|
+
return oChild;
|
|
420
|
+
};
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Remove the slot for each removed child control
|
|
424
|
+
*
|
|
425
|
+
* @override
|
|
426
|
+
* @param {string} sAggregationName
|
|
427
|
+
* Name of the aggregation to remove all objects from
|
|
428
|
+
* @param {boolean} [bSuppressInvalidate=false]
|
|
429
|
+
* If true, this <code>ManagedObject</code> is not marked as changed
|
|
430
|
+
* @returns {sap.ui.base.ManagedObject[]} An array of the removed elements (might be empty)
|
|
431
|
+
* @protected
|
|
432
|
+
*/
|
|
433
|
+
WebComponent.prototype.removeAllAggregation = function(sAggregationName, bSuppressInvalidate) {
|
|
434
|
+
var aChildren = Control.prototype.removeAllAggregation.apply(this, arguments);
|
|
435
|
+
aChildren.forEach(function(oChild) {
|
|
436
|
+
this._unsetSlot(oChild);
|
|
437
|
+
}, this);
|
|
438
|
+
|
|
439
|
+
return aChildren;
|
|
440
|
+
};
|
|
441
|
+
|
|
442
|
+
/**
|
|
443
|
+
* @private
|
|
444
|
+
*/
|
|
445
|
+
WebComponent.prototype.__onBeforeRenderingDelegate = function() {
|
|
446
|
+
this.__detachCustomEventsListeners();
|
|
447
|
+
};
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* @private
|
|
451
|
+
*/
|
|
452
|
+
WebComponent.prototype.__onAfterRenderingDelegate = function() {
|
|
453
|
+
this.__attachCustomEventsListeners();
|
|
454
|
+
var oDomRef = this.getDomRef();
|
|
455
|
+
this.__updateObjectProperties(oDomRef);
|
|
456
|
+
window.customElements.whenDefined(oDomRef.localName).then(function() {
|
|
457
|
+
if (typeof oDomRef.attachInvalidate === "function") {
|
|
458
|
+
oDomRef.attachInvalidate(this.__onInvalidationBound);
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
if (oDomRef._individualSlot) {
|
|
462
|
+
this.__slot = oDomRef._individualSlot; // If the component creates individual slots for children, f.e. columns-3 or default-1, update the __slot property, otherwise RenderManager will set the normal slot name, f.e. columns or ""
|
|
463
|
+
}
|
|
464
|
+
}.bind(this));
|
|
465
|
+
};
|
|
466
|
+
|
|
467
|
+
/**
|
|
468
|
+
* Updates all object properties (can't be done via the renderer)
|
|
469
|
+
* @param oDomRef
|
|
470
|
+
* @private
|
|
471
|
+
*/
|
|
472
|
+
WebComponent.prototype.__updateObjectProperties = function(oDomRef) {
|
|
473
|
+
var oAttrProperties = this.getMetadata().getPropertiesByMapping("property");
|
|
474
|
+
for (var sPropName in oAttrProperties) {
|
|
475
|
+
if (this.isPropertyInitial(sPropName)) {
|
|
476
|
+
continue; // do not set properties that were not explicitly set/bound
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
var oPropData = oAttrProperties[sPropName];
|
|
480
|
+
var vPropValue = oPropData.get(this);
|
|
481
|
+
|
|
482
|
+
if (oPropData.type === "object" || typeof vPropValue === "object") {
|
|
483
|
+
var sWebComponentPropName = oPropData._sMapTo ? oPropData._sMapTo : sPropName;
|
|
484
|
+
oDomRef[sWebComponentPropName] = vPropValue;
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
};
|
|
488
|
+
|
|
489
|
+
WebComponent.prototype.setBusy = function(bBusy) {
|
|
490
|
+
var bCurrentBusyState = this.getBusy();
|
|
491
|
+
|
|
492
|
+
this.setProperty("busy", bBusy, true);
|
|
493
|
+
|
|
494
|
+
if (bCurrentBusyState !== bBusy) {
|
|
495
|
+
if (bBusy) {
|
|
496
|
+
this.__busyIndicatorTimeout = setTimeout(function() {
|
|
497
|
+
this.setProperty("__isBusy", bBusy);
|
|
498
|
+
}.bind(this), this.getBusyIndicatorDelay());
|
|
499
|
+
} else {
|
|
500
|
+
this.setProperty("__isBusy", bBusy);
|
|
501
|
+
clearTimeout(this.__busyIndicatorTimeout);
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
return this;
|
|
506
|
+
};
|
|
507
|
+
|
|
508
|
+
/**
|
|
509
|
+
* Synchronize user-controlled properties (such as checked, value)
|
|
510
|
+
* @param oChangeInfo
|
|
511
|
+
* @private
|
|
512
|
+
*/
|
|
513
|
+
WebComponent.prototype.__onInvalidation = function(oChangeInfo) {
|
|
514
|
+
if (oChangeInfo.type === "property") {
|
|
515
|
+
var sPropName = oChangeInfo.name;
|
|
516
|
+
var vNewValue = oChangeInfo.newValue;
|
|
517
|
+
var oPropData = this.getMetadata().getProperty(sPropName);
|
|
518
|
+
if (oPropData) {
|
|
519
|
+
this.setProperty(sPropName, vNewValue, true); // must suppress invalidation as this is intended to only sync the managed object state, not to trigger a rerender
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
};
|
|
523
|
+
|
|
524
|
+
WebComponent.prototype.__attachCustomEventsListeners = function() {
|
|
525
|
+
var oEvents = this.getMetadata().getEvents();
|
|
526
|
+
for (var sEventName in oEvents) {
|
|
527
|
+
var sCustomEventName = hyphenate(sEventName);
|
|
528
|
+
this.getDomRef().addEventListener(sCustomEventName, this.__handleCustomEventBound);
|
|
529
|
+
}
|
|
530
|
+
};
|
|
531
|
+
|
|
532
|
+
WebComponent.prototype.__detachCustomEventsListeners = function() {
|
|
533
|
+
var oDomRef = this.getDomRef();
|
|
534
|
+
if (!oDomRef) {
|
|
535
|
+
return;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
var oEvents = this.getMetadata().getEvents();
|
|
539
|
+
for (var sEventName in oEvents) {
|
|
540
|
+
if (oEvents.hasOwnProperty(sEventName)) {
|
|
541
|
+
var sCustomEventName = hyphenate(sEventName);
|
|
542
|
+
oDomRef.removeEventListener(sCustomEventName, this.__handleCustomEventBound);
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
};
|
|
546
|
+
|
|
547
|
+
WebComponent.prototype.__handleCustomEvent = function(oEvent) {
|
|
548
|
+
var sCustomEventName = oEvent.type;
|
|
549
|
+
var sEventName = camelize(sCustomEventName);
|
|
550
|
+
|
|
551
|
+
// Prepare the event data object
|
|
552
|
+
var oEventData = this.__formatEventData(oEvent.detail);
|
|
553
|
+
|
|
554
|
+
// Finally fire the semantic event on the control instance
|
|
555
|
+
var oEventObj = this.getMetadata().getEvent(sEventName);
|
|
556
|
+
var bPrevented = !oEventObj.fire(this, oEventData);
|
|
557
|
+
if (bPrevented) {
|
|
558
|
+
oEvent.preventDefault();
|
|
559
|
+
}
|
|
560
|
+
};
|
|
561
|
+
|
|
562
|
+
WebComponent.prototype.__formatEventData = function(vDetail) {
|
|
563
|
+
// If the event data is an object, recursively convert all object dom element properties to control references
|
|
564
|
+
if (typeof vDetail === "object") {
|
|
565
|
+
return fnConvert(vDetail);
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
// If not an object, this is a DOM event such as click, just return an empty object
|
|
569
|
+
return {};
|
|
570
|
+
};
|
|
571
|
+
|
|
572
|
+
WebComponent.prototype.__callPublicMethod = function(name, args) {
|
|
573
|
+
if (!this.getDomRef()) {
|
|
574
|
+
throw new Error("Method called before custom element has been created by: " + this.getId());
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
var converted = Array.from(args).map(function(arg) { // convert any public method parameter that is a Control instance to a DOM Ref
|
|
578
|
+
if (arg instanceof Element) {
|
|
579
|
+
return arg.getDomRef();
|
|
580
|
+
}
|
|
581
|
+
return arg;
|
|
582
|
+
});
|
|
583
|
+
|
|
584
|
+
var vResult = this.getDomRef()[name].apply(this.getDomRef(), converted);
|
|
585
|
+
if (typeof vResult === "object") {
|
|
586
|
+
vResult = fnConvert(vResult);
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
return vResult;
|
|
590
|
+
};
|
|
591
|
+
|
|
592
|
+
WebComponent.prototype.__callPublicGetter = function(name) {
|
|
593
|
+
if (!this.getDomRef()) {
|
|
594
|
+
throw new Error("Getter called before custom element has been created by: " + this.getId());
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
var vResult = this.getDomRef()[name];
|
|
598
|
+
if (typeof vResult === "object") {
|
|
599
|
+
vResult = fnConvert(vResult);
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
return vResult;
|
|
603
|
+
};
|
|
604
|
+
|
|
605
|
+
WebComponent.prototype.destroy = function() {
|
|
606
|
+
var oDomRef = this.getDomRef();
|
|
607
|
+
this.__detachCustomEventsListeners();
|
|
608
|
+
if (oDomRef && typeof oDomRef.detachInvalidate === "function") {
|
|
609
|
+
oDomRef.detachInvalidate(this.__onInvalidationBound);
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
return Control.prototype.destroy.apply(this, arguments);
|
|
613
|
+
};
|
|
614
|
+
|
|
615
|
+
/**
|
|
616
|
+
* Maps the "enabled" property to the "disabled" attribute
|
|
617
|
+
* @param bEnabled
|
|
618
|
+
* @returns {boolean}
|
|
619
|
+
* @private
|
|
620
|
+
*/
|
|
621
|
+
WebComponent.prototype._mapEnabled = function(bEnabled) {
|
|
622
|
+
return !bEnabled;
|
|
623
|
+
};
|
|
624
|
+
|
|
625
|
+
/**
|
|
626
|
+
* Maps the "textDirection" property to the "dir" attribute
|
|
627
|
+
* @param sTextDirection
|
|
628
|
+
* @returns {string}
|
|
629
|
+
* @private
|
|
630
|
+
*/
|
|
631
|
+
WebComponent.prototype._mapTextDirection = function(sTextDirection) {
|
|
632
|
+
if (sTextDirection === TextDirection.Inherit) {
|
|
633
|
+
return null;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
return sTextDirection.toLowerCase();
|
|
637
|
+
};
|
|
638
|
+
|
|
639
|
+
/**
|
|
640
|
+
* Generates a string containing the ID's from the association ariaLabelledBy.
|
|
641
|
+
* @param {string[]} aAriaLabelledBy an array of IDs associated with this control
|
|
642
|
+
* @returns {string} sAriaLabelledBy
|
|
643
|
+
*/
|
|
644
|
+
WebComponent.prototype._getAriaLabelledByForRendering = function (aAriaLabelledBy) {
|
|
645
|
+
var aFilteredIds = LabelEnablement.getReferencingLabels(this);
|
|
646
|
+
|
|
647
|
+
if (Array.isArray(aAriaLabelledBy)) {
|
|
648
|
+
aAriaLabelledBy.forEach(function (sId) {
|
|
649
|
+
if (aFilteredIds.indexOf(sId) < 0) {
|
|
650
|
+
aFilteredIds.unshift(sId);
|
|
651
|
+
}
|
|
652
|
+
});
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
return aFilteredIds.join(" ");
|
|
656
|
+
};
|
|
657
|
+
|
|
658
|
+
return WebComponent;
|
|
659
|
+
});
|