@openui5/sap.ui.core 1.96.5 → 1.99.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/.eslintrc.json +93 -3
- package/.reuse/dep5 +26 -31
- package/THIRDPARTY.txt +15 -21
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.mobile.js +29 -19
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +2 -2
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- 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 +81 -169
- package/src/sap/ui/Global.js +11 -16
- package/src/sap/ui/VersionInfo.js +13 -10
- package/src/sap/ui/base/BindingParser.js +34 -7
- 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 +50 -29
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/Metadata.js +1 -3
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +1 -27
- package/src/sap/ui/core/AppCacheBuster.js +4 -4
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/BusyIndicatorUtils.js +1 -1
- package/src/sap/ui/core/Component.js +33 -11
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- 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 +79 -13
- package/src/sap/ui/core/Control.js +4 -3
- package/src/sap/ui/core/Core.js +4 -7
- 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 +6 -12
- 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/ExtensionPoint.js +1 -1
- package/src/sap/ui/core/FocusHandler.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +3 -3
- package/src/sap/ui/core/HTMLRenderer.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +2 -3
- package/src/sap/ui/core/IconRenderer.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +1 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +9 -2
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +2 -2
- package/src/sap/ui/core/LocalBusyIndicatorSupport.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +39 -4
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Placeholder.js +28 -28
- package/src/sap/ui/core/Popup.js +3 -3
- package/src/sap/ui/core/RenderManager.js +3 -3
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +4 -3
- package/src/sap/ui/core/ScrollBarRenderer.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ThemeCheck.js +2 -2
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +2 -2
- package/src/sap/ui/core/UIArea.js +3 -3
- 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 +26 -5
- package/src/sap/ui/core/_IconRegistry.js +10 -1
- package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -2
- package/src/sap/ui/core/date/Japanese.js +1 -1
- package/src/sap/ui/core/date/UniversalDateUtils.js +205 -2
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +9 -6
- package/src/sap/ui/core/dnd/DragAndDrop.js +2 -2
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +562 -174
- package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +43 -0
- package/src/sap/ui/core/format/ListFormat.js +2 -2
- package/src/sap/ui/core/format/NumberFormat.js +1 -1
- package/src/sap/ui/core/format/TimezoneUtil.js +248 -0
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +47 -10
- package/src/sap/ui/core/message/ControlMessageProcessor.js +5 -5
- 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 +2 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +22 -12
- package/src/sap/ui/core/messagebundle.properties +4 -0
- package/src/sap/ui/core/messagebundle_ar.properties +2 -0
- package/src/sap/ui/core/messagebundle_bg.properties +7 -5
- package/src/sap/ui/core/messagebundle_ca.properties +2 -0
- package/src/sap/ui/core/messagebundle_cs.properties +2 -0
- package/src/sap/ui/core/messagebundle_cy.properties +2 -0
- package/src/sap/ui/core/messagebundle_da.properties +2 -0
- package/src/sap/ui/core/messagebundle_de.properties +3 -1
- package/src/sap/ui/core/messagebundle_el.properties +2 -0
- package/src/sap/ui/core/messagebundle_en.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_GB.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +2 -0
- package/src/sap/ui/core/messagebundle_es.properties +2 -0
- package/src/sap/ui/core/messagebundle_es_MX.properties +2 -0
- package/src/sap/ui/core/messagebundle_et.properties +2 -0
- package/src/sap/ui/core/messagebundle_fi.properties +2 -0
- package/src/sap/ui/core/messagebundle_fr.properties +9 -7
- package/src/sap/ui/core/messagebundle_fr_CA.properties +2 -0
- package/src/sap/ui/core/messagebundle_hi.properties +2 -0
- package/src/sap/ui/core/messagebundle_hr.properties +2 -0
- package/src/sap/ui/core/messagebundle_hu.properties +2 -0
- package/src/sap/ui/core/messagebundle_id.properties +4 -2
- package/src/sap/ui/core/messagebundle_it.properties +3 -1
- package/src/sap/ui/core/messagebundle_iw.properties +2 -0
- package/src/sap/ui/core/messagebundle_ja.properties +2 -0
- package/src/sap/ui/core/messagebundle_kk.properties +2 -0
- package/src/sap/ui/core/messagebundle_ko.properties +2 -0
- package/src/sap/ui/core/messagebundle_lt.properties +2 -0
- package/src/sap/ui/core/messagebundle_lv.properties +3 -1
- package/src/sap/ui/core/messagebundle_ms.properties +2 -0
- package/src/sap/ui/core/messagebundle_nl.properties +2 -0
- package/src/sap/ui/core/messagebundle_no.properties +6 -4
- package/src/sap/ui/core/messagebundle_pl.properties +2 -0
- package/src/sap/ui/core/messagebundle_pt.properties +2 -0
- package/src/sap/ui/core/messagebundle_pt_PT.properties +2 -0
- package/src/sap/ui/core/messagebundle_ro.properties +2 -0
- package/src/sap/ui/core/messagebundle_ru.properties +23 -21
- package/src/sap/ui/core/messagebundle_sh.properties +2 -0
- package/src/sap/ui/core/messagebundle_sk.properties +2 -0
- package/src/sap/ui/core/messagebundle_sl.properties +2 -0
- package/src/sap/ui/core/messagebundle_sv.properties +2 -0
- package/src/sap/ui/core/messagebundle_th.properties +2 -0
- package/src/sap/ui/core/messagebundle_tr.properties +2 -0
- package/src/sap/ui/core/messagebundle_uk.properties +2 -0
- package/src/sap/ui/core/messagebundle_vi.properties +2 -0
- package/src/sap/ui/core/messagebundle_zh_CN.properties +2 -0
- package/src/sap/ui/core/messagebundle_zh_TW.properties +2 -0
- package/src/sap/ui/core/mvc/Controller.js +4 -4
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +2 -1
- package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/View.js +2 -1
- package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +16 -3
- 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/Route.js +6 -6
- package/src/sap/ui/core/routing/Router.js +4 -3
- package/src/sap/ui/core/routing/Targets.js +17 -13
- package/src/sap/ui/core/rules/Misc.support.js +51 -1
- package/src/sap/ui/core/rules/Model.support.js +95 -8
- package/src/sap/ui/core/rules/Rendering.support.js +1 -4
- package/src/sap/ui/core/rules/View.support.js +14 -46
- 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 +2 -2
- package/src/sap/ui/core/support/RuleEngineOpaExtension.js +0 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/controls/TreeViewer.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- 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 -2
- 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/support/techinfo/TechnicalInfo.js +2 -6
- package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- 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/DraftEnabledMockServer.js +21 -16
- 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 +157 -58
- package/src/sap/ui/core/util/PasteHelper.js +4 -4
- package/src/sap/ui/core/util/XMLPreprocessor.js +16 -4
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -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/dom/includeStylesheet.js +8 -3
- package/src/sap/ui/events/jquery/EventExtension.js +1 -1
- package/src/sap/ui/events/jquery/EventSimulation.js +3 -13
- package/src/sap/ui/model/Binding.js +4 -3
- package/src/sap/ui/model/ChangeReason.js +1 -1
- package/src/sap/ui/model/ClientListBinding.js +7 -0
- package/src/sap/ui/model/ClientModel.js +6 -5
- package/src/sap/ui/model/ClientTreeBinding.js +1 -1
- package/src/sap/ui/model/ClientTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/CompositeBinding.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +26 -4
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/ContextBinding.js +1 -1
- package/src/sap/ui/model/DataState.js +27 -6
- package/src/sap/ui/model/ListBinding.js +24 -5
- package/src/sap/ui/model/MetaModel.js +2 -3
- package/src/sap/ui/model/Model.js +6 -11
- 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/TreeBindingAdapter.js +0 -2
- package/src/sap/ui/model/TreeBindingUtils.js +2 -0
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +13 -8
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +16 -18
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -15
- package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
- package/src/sap/ui/model/json/JSONListBinding.js +1 -1
- package/src/sap/ui/model/json/JSONModel.js +7 -7
- package/src/sap/ui/model/json/JSONPropertyBinding.js +2 -2
- package/src/sap/ui/model/message/MessageListBinding.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +3 -3
- package/src/sap/ui/model/message/MessagePropertyBinding.js +2 -2
- package/src/sap/ui/model/odata/AnnotationHelper.js +2 -2
- package/src/sap/ui/model/odata/AnnotationParser.js +4 -2
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +62 -39
- package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
- package/src/sap/ui/model/odata/ODataMetaModel.js +3 -3
- package/src/sap/ui/model/odata/ODataMetadata.js +138 -87
- package/src/sap/ui/model/odata/ODataModel.js +443 -216
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +7 -5
- package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +27 -17
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +440 -260
- package/src/sap/ui/model/odata/ODataUtils.js +24 -9
- package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +3 -2
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +11 -9
- package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +7 -5
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +338 -0
- package/src/sap/ui/model/odata/type/Decimal.js +5 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/type/UnitMixin.js +1 -2
- package/src/sap/ui/model/odata/v2/Context.js +98 -14
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +8 -4
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +418 -172
- package/src/sap/ui/model/odata/v2/ODataModel.js +242 -138
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +164 -92
- package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +117 -7
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +21 -22
- package/src/sap/ui/model/odata/v4/Context.js +249 -83
- package/src/sap/ui/model/odata/v4/ODataBinding.js +100 -43
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +309 -228
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +573 -278
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +131 -100
- package/src/sap/ui/model/odata/v4/ODataModel.js +342 -259
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +113 -100
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +87 -81
- package/src/sap/ui/model/odata/v4/ODataUtils.js +5 -5
- package/src/sap/ui/model/odata/v4/SubmitMode.js +0 -1
- package/src/sap/ui/model/odata/v4/ValueListType.js +0 -1
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +20 -20
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +3 -5
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -4
- package/src/sap/ui/model/odata/v4/lib/_Batch.js +21 -20
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +278 -103
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +55 -21
- package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +62 -61
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +52 -43
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +61 -41
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +147 -147
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +14 -13
- package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +66 -67
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/resource/ResourcePropertyBinding.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/XMLListBinding.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +5 -5
- package/src/sap/ui/model/xml/XMLPropertyBinding.js +2 -2
- package/src/sap/ui/performance/trace/Passport.js +3 -3
- 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/BlanketReporter.js +1 -1
- package/src/sap/ui/test/Opa5.js +1 -1
- package/src/sap/ui/test/TestUtils.js +2 -2
- package/src/sap/ui/test/_LogCollector.js +1 -1
- package/src/sap/ui/test/actions/Action.js +11 -2
- package/src/sap/ui/test/actions/Press.js +79 -3
- package/src/sap/ui/test/autowaiter/_XHRWaiter.js +1 -1
- package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +111 -0
- package/src/sap/ui/test/starter/createSuite.js +1 -2
- package/src/sap/ui/thirdparty/jquery-mobile-custom.js +3 -6
- package/src/sap/ui/thirdparty/jqueryui/jquery-ui-datepicker.js +143 -3
- package/src/sap/ui/thirdparty/jqueryui/jquery-ui-position.js +8 -1
- package/src/sap/ui/util/Mobile.js +28 -39
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap/ui/util/XMLHelper.js +53 -30
- package/src/ui5loader.js +9 -9
- package/ui5.yaml +244 -1
- package/src/sap/ui/core/CustomizingConfiguration.js +0 -47
- package/src/sap/ui/thirdparty/baseuri.js +0 -1
- package/src/sap/ui/thirdparty/es6-object-assign.js +0 -1
- package/src/sap/ui/thirdparty/es6-promise.js +0 -1
- package/src/sap/ui/thirdparty/es6-shim-nopromise.js +0 -1
- package/src/sap/ui/thirdparty/es6-string-methods.js +0 -1
- package/src/sap/ui/thirdparty/flexie.js +0 -1
- package/src/sap/ui/thirdparty/unorm.js +0 -1
- package/src/sap/ui/thirdparty/unormdata.js +0 -1
|
@@ -53,7 +53,7 @@ sap.ui.define(["sap/ui/performance/XHRInterceptor", "sap/ui/thirdparty/URI"], fu
|
|
|
53
53
|
var Passport = {};
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
|
-
* @returns {
|
|
56
|
+
* @returns {string} a generated a passport header
|
|
57
57
|
* @private
|
|
58
58
|
*/
|
|
59
59
|
Passport.header = function(trcLvl, RootID, TransID, component, action) {
|
|
@@ -125,7 +125,7 @@ sap.ui.define(["sap/ui/performance/XHRInterceptor", "sap/ui/thirdparty/URI"], fu
|
|
|
125
125
|
};
|
|
126
126
|
|
|
127
127
|
/**
|
|
128
|
-
* @param {
|
|
128
|
+
* @param {string} lvl Tracing level to be calculated
|
|
129
129
|
* @return {int[]} Array with two int representations of characters for trace level
|
|
130
130
|
* @private
|
|
131
131
|
*/
|
|
@@ -151,7 +151,7 @@ sap.ui.define(["sap/ui/performance/XHRInterceptor", "sap/ui/thirdparty/URI"], fu
|
|
|
151
151
|
};
|
|
152
152
|
|
|
153
153
|
/**
|
|
154
|
-
* @returns {
|
|
154
|
+
* @returns {string} a generated GUID
|
|
155
155
|
* @private
|
|
156
156
|
*/
|
|
157
157
|
Passport.createGUID = function() {
|
package/src/sap/ui/test/Opa5.js
CHANGED
|
@@ -1115,7 +1115,7 @@ sap.ui.define([
|
|
|
1115
1115
|
/**
|
|
1116
1116
|
* Settings for a new page object, consisting of actions and assertions.
|
|
1117
1117
|
*
|
|
1118
|
-
* @typedef {
|
|
1118
|
+
* @typedef {object} sap.ui.test.PageObjectDefinition
|
|
1119
1119
|
*
|
|
1120
1120
|
* @property {string} [viewName]
|
|
1121
1121
|
* When a <code>viewName</code> is given, all <code>waitFor</code> calls inside of the page object
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
|
-
"jquery.sap.sjax",
|
|
9
8
|
"sap/base/Log",
|
|
10
9
|
"sap/base/util/merge",
|
|
11
10
|
"sap/base/util/UriParameters",
|
|
11
|
+
"sap/ui/thirdparty/jquery",
|
|
12
12
|
"sap/ui/core/Core" // provides sap.ui.getCore()
|
|
13
|
-
], function (
|
|
13
|
+
], function (Log, merge, UriParameters, jQuery) {
|
|
14
14
|
"use strict";
|
|
15
15
|
/*global QUnit, sinon */
|
|
16
16
|
// Note: The dependency to Sinon.JS has been omitted deliberately. Most test files load it via
|
|
@@ -15,7 +15,7 @@ sap.ui.define([
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* A central place to collect logs during the execution of a task
|
|
18
|
-
* Listens to
|
|
18
|
+
* Listens to sap/base/Log.* to collect the logs
|
|
19
19
|
* Only collects logs from loggers with a certain component name
|
|
20
20
|
* By default only logs from components in sap.ui.test are collected - this can be used to collect all the logs during an OPA test
|
|
21
21
|
* You always need to start the collector to control when to actually collect logs
|
|
@@ -207,9 +207,12 @@ function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger) {
|
|
|
207
207
|
*
|
|
208
208
|
* @param {string} sName Name of the mouse event
|
|
209
209
|
* @param {Element} oDomRef DOM element on which the event is going to be triggered
|
|
210
|
+
* @param {boolean} bShiftKey Indicates whether the shift key is down in addition
|
|
211
|
+
* @param {boolean} bAltKey Indicates whether the alt key is down in addition
|
|
212
|
+
* @param {boolean} bCtrlKey Indicates whether the ctrl key is down in addition
|
|
210
213
|
* @private
|
|
211
214
|
*/
|
|
212
|
-
_createAndDispatchMouseEvent: function (sName, oDomRef) {
|
|
215
|
+
_createAndDispatchMouseEvent: function (sName, oDomRef, bShiftKey, bAltKey, bCtrlKey, iClientX, iClientY) {
|
|
213
216
|
// ignore scrolled down stuff (client X, Y not set)
|
|
214
217
|
// and assume stuff is over the whole screen (screen X, Y not set)
|
|
215
218
|
// See file jquery.sap.events.js for some insights to the magic
|
|
@@ -224,8 +227,14 @@ function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger) {
|
|
|
224
227
|
radiusY: 1,
|
|
225
228
|
rotationAngle: 0,
|
|
226
229
|
button: iLeftMouseButtonIndex,
|
|
227
|
-
type: sName // include the type so jQuery.event.fixHooks can copy properties properly
|
|
230
|
+
type: sName, // include the type so jQuery.event.fixHooks can copy properties properly
|
|
231
|
+
shiftKey: bShiftKey,
|
|
232
|
+
altKey: bAltKey,
|
|
233
|
+
ctrlKey: bCtrlKey,
|
|
234
|
+
clientX: iClientX,
|
|
235
|
+
clientY: iClientY
|
|
228
236
|
});
|
|
237
|
+
|
|
229
238
|
oDomRef.dispatchEvent(oMouseEvent);
|
|
230
239
|
},
|
|
231
240
|
|
|
@@ -42,6 +42,45 @@ sap.ui.define([
|
|
|
42
42
|
var Press = Action.extend("sap.ui.test.actions.Press", /** @lends sap.ui.test.actions.Press.prototype */ {
|
|
43
43
|
|
|
44
44
|
metadata : {
|
|
45
|
+
properties: {
|
|
46
|
+
/**
|
|
47
|
+
* If it is set to <code>true</code>, the Alt Key modifier will be used
|
|
48
|
+
* @since 1.97
|
|
49
|
+
*/
|
|
50
|
+
altKey: {
|
|
51
|
+
type: "boolean"
|
|
52
|
+
},
|
|
53
|
+
/**
|
|
54
|
+
* If it is set to <code>true</code>, the Shift Key modifier will be used
|
|
55
|
+
* @since 1.97
|
|
56
|
+
*/
|
|
57
|
+
shiftKey: {
|
|
58
|
+
type: "boolean"
|
|
59
|
+
},
|
|
60
|
+
/**
|
|
61
|
+
* If it is set to <code>true</code>, the Control Key modifier will be used
|
|
62
|
+
* @since 1.97
|
|
63
|
+
*/
|
|
64
|
+
ctrlKey: {
|
|
65
|
+
type: "boolean"
|
|
66
|
+
},
|
|
67
|
+
/**
|
|
68
|
+
* Provide percent value for the X coordinate axis to calculate the position of the click event.
|
|
69
|
+
* The value must be in the range [0 - 100]
|
|
70
|
+
* @since 1.98
|
|
71
|
+
*/
|
|
72
|
+
xPercentage: {
|
|
73
|
+
type: "float"
|
|
74
|
+
},
|
|
75
|
+
/**
|
|
76
|
+
* Provide percent value for the Y coordinate axis to calculate the position of the click event.
|
|
77
|
+
* The value must be in the range [0 - 100]
|
|
78
|
+
* @since 1.98
|
|
79
|
+
*/
|
|
80
|
+
yPercentage: {
|
|
81
|
+
type: "float"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
45
84
|
publicMethods : [ "executeOn" ]
|
|
46
85
|
},
|
|
47
86
|
|
|
@@ -62,6 +101,43 @@ sap.ui.define([
|
|
|
62
101
|
var $ActionDomRef = this.$(oControl),
|
|
63
102
|
oActionDomRef = $ActionDomRef[0];
|
|
64
103
|
|
|
104
|
+
var iClientX, iClientY;
|
|
105
|
+
|
|
106
|
+
var bAltKey = this.getAltKey();
|
|
107
|
+
var bCtrlKey = this.getCtrlKey();
|
|
108
|
+
var bShiftKey = this.getShiftKey();
|
|
109
|
+
|
|
110
|
+
var iXPercentage = this.getXPercentage();
|
|
111
|
+
var iYPercentage = this.getYPercentage();
|
|
112
|
+
|
|
113
|
+
// check if the percentage is in the range 0-100
|
|
114
|
+
if (iXPercentage < 0 || iXPercentage > 100){
|
|
115
|
+
this.oLogger.error("Please provide a valid X percentage in the range: 0 - 100");
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (iYPercentage < 0 || iYPercentage > 100){
|
|
120
|
+
this.oLogger.error("Please provide a valid Y percentage in the range: 0 - 100");
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// get the width and the height of the control
|
|
125
|
+
var oRect = oActionDomRef.getBoundingClientRect();
|
|
126
|
+
|
|
127
|
+
var iWidth = oRect.width;
|
|
128
|
+
var iHeight = oRect.height;
|
|
129
|
+
|
|
130
|
+
var iX = oRect.left + window.scrollX;
|
|
131
|
+
var iY = oRect.top + window.scrollY;
|
|
132
|
+
|
|
133
|
+
if (iXPercentage || iXPercentage === 0){
|
|
134
|
+
iClientX = ((iXPercentage / 100) * iWidth) + iX;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (iYPercentage || iYPercentage === 0){
|
|
138
|
+
iClientY = ((iYPercentage / 100) * iHeight) + iY;
|
|
139
|
+
}
|
|
140
|
+
|
|
65
141
|
if ($ActionDomRef.length) {
|
|
66
142
|
this.oLogger.timestamp("opa.actions.press");
|
|
67
143
|
this.oLogger.debug("Pressed the control " + oControl);
|
|
@@ -69,10 +145,10 @@ sap.ui.define([
|
|
|
69
145
|
this._tryOrSimulateFocusin($ActionDomRef, oControl);
|
|
70
146
|
|
|
71
147
|
// the missing events like saptouchstart and tap will be fired by the event simulation
|
|
72
|
-
this._createAndDispatchMouseEvent("mousedown", oActionDomRef);
|
|
148
|
+
this._createAndDispatchMouseEvent("mousedown", oActionDomRef, null, null, null, iClientX, iClientY);
|
|
73
149
|
this.getUtils().triggerEvent("selectstart", oActionDomRef);
|
|
74
|
-
this._createAndDispatchMouseEvent("mouseup", oActionDomRef);
|
|
75
|
-
this._createAndDispatchMouseEvent("click", oActionDomRef);
|
|
150
|
+
this._createAndDispatchMouseEvent("mouseup", oActionDomRef, null, null, null, iClientX, iClientY);
|
|
151
|
+
this._createAndDispatchMouseEvent("click", oActionDomRef, bShiftKey, bAltKey, bCtrlKey);
|
|
76
152
|
//Focusout simulation removed in order to fix Press action behavior
|
|
77
153
|
//since in real scenario manual press action does not fire focusout event
|
|
78
154
|
}
|
|
@@ -49,7 +49,7 @@ sap.ui.define([
|
|
|
49
49
|
// Check if sinon is already faking the Xhr
|
|
50
50
|
hookIntoSinonRestore();
|
|
51
51
|
|
|
52
|
-
// Hook into XHR
|
|
52
|
+
// Hook into XHR open for sinon XHRs
|
|
53
53
|
var fnOriginalFakeOpen = sinon.FakeXMLHttpRequest.prototype.open;
|
|
54
54
|
sinon.FakeXMLHttpRequest.prototype.open = function () {
|
|
55
55
|
return fnOriginalFakeOpen.apply(this, hookIntoXHROpen.apply(this, arguments));
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/* global QUnit */
|
|
8
|
+
sap.ui.define([], function() {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @namespace
|
|
13
|
+
* @private
|
|
14
|
+
* @ui5-restricted Only for DIST layer libraries
|
|
15
|
+
*/
|
|
16
|
+
var _EnforceSemanticRendering = {
|
|
17
|
+
/**
|
|
18
|
+
* @param {object} mLibInfo Info object containing the library name and an array with excludes
|
|
19
|
+
* @param {string} mLibInfo.library The library name in dot notation, e.g. "sap.ui.core"
|
|
20
|
+
* @param {string[]} mLibInfo.exlcudes An array of control names in dot notation, which are NOT migrated and should be excluded from the test
|
|
21
|
+
* @returns {Promise<undefined>} Returns resovled Promise after all tests are executed
|
|
22
|
+
*
|
|
23
|
+
* @private
|
|
24
|
+
* @ui5-restricted Only for DIST layer libraries
|
|
25
|
+
*/
|
|
26
|
+
run : function(mLibInfo) {
|
|
27
|
+
var sLib = mLibInfo.library;
|
|
28
|
+
var aExcludes = mLibInfo.excludes || [];
|
|
29
|
+
|
|
30
|
+
return new Promise(function(res, rej) {
|
|
31
|
+
sap.ui.getCore().loadLibrary(sLib, { async: true }).then(function(library) {
|
|
32
|
+
var aControls = (library && library.controls) || [];
|
|
33
|
+
var aPromises = [];
|
|
34
|
+
|
|
35
|
+
aControls.forEach(function(sClass) {
|
|
36
|
+
// Generate QUnit test for all controls
|
|
37
|
+
aPromises.push(new Promise(function(res, rej) {
|
|
38
|
+
var oInfo = {
|
|
39
|
+
control: sClass
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var sControlClass = sClass.replace(/\./g, "/");
|
|
43
|
+
sap.ui.require([sControlClass], function(ControlClass) {
|
|
44
|
+
try {
|
|
45
|
+
var oRenderer = ControlClass.getMetadata().getRenderer();
|
|
46
|
+
|
|
47
|
+
if (oRenderer) {
|
|
48
|
+
oInfo.version = Object.prototype.hasOwnProperty.call(oRenderer, "apiVersion") ? oRenderer.apiVersion : 1;
|
|
49
|
+
|
|
50
|
+
if (aExcludes.includes(sClass)) {
|
|
51
|
+
if (oInfo.version == 2) {
|
|
52
|
+
oInfo.wrongExclude = true;
|
|
53
|
+
oInfo.description = "defined in the excludes";
|
|
54
|
+
} else { // version 1
|
|
55
|
+
oInfo.skip = true;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
} else {
|
|
59
|
+
oInfo.description = "No Renderer Class available";
|
|
60
|
+
oInfo.skip = true;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
} catch (e) {
|
|
64
|
+
oInfo.description = "No Renderer Class available";
|
|
65
|
+
oInfo.skip = true;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
res(oInfo);
|
|
69
|
+
}, function() {
|
|
70
|
+
oInfo.description = "Control Class could not be loaded";
|
|
71
|
+
|
|
72
|
+
if (aExcludes.includes(sClass)) {
|
|
73
|
+
oInfo.skip = true;
|
|
74
|
+
} // else don't skip if control class is not maintained in excludes
|
|
75
|
+
|
|
76
|
+
res(oInfo);
|
|
77
|
+
});
|
|
78
|
+
}));
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
res(aPromises);
|
|
82
|
+
});
|
|
83
|
+
}).then(function(aPromises) {
|
|
84
|
+
// Add tests
|
|
85
|
+
return new Promise(function(res, rej) {
|
|
86
|
+
Promise.all(aPromises).then(function(aInfo) {
|
|
87
|
+
QUnit.module("EnforceSemanticRendering Tests: " + mLibInfo.library);
|
|
88
|
+
|
|
89
|
+
QUnit.test("library controls loaded", function(assert) {
|
|
90
|
+
assert.ok(aInfo, aInfo.length + " controls loaded");
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
aInfo.forEach(function(oInfo) {
|
|
94
|
+
QUnit[oInfo.skip ? "skip" : "test"](oInfo.control + " " + (oInfo.description || ""), function(assert) {
|
|
95
|
+
if (oInfo.wrongExclude) {
|
|
96
|
+
assert.ok(false, "The control '" + oInfo.control + "' is maintained in the exclude configuration, but its renderer is configured with apiVersion 2.");
|
|
97
|
+
} else {
|
|
98
|
+
assert.equal(oInfo.version, 2, "Semantic Rendering enabled.");
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
res();
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
return _EnforceSemanticRendering;
|
|
111
|
+
});
|
|
@@ -216,8 +216,7 @@
|
|
|
216
216
|
|
|
217
217
|
};
|
|
218
218
|
|
|
219
|
-
var oSuiteReadyEvent =
|
|
220
|
-
oSuiteReadyEvent.initCustomEvent("sap-ui-testsuite-ready", true, true, {});
|
|
219
|
+
var oSuiteReadyEvent = new CustomEvent("sap-ui-testsuite-ready");
|
|
221
220
|
window.dispatchEvent(oSuiteReadyEvent);
|
|
222
221
|
|
|
223
222
|
}));
|
|
@@ -1857,12 +1857,9 @@ if ( eventCaptureSupported ) {
|
|
|
1857
1857
|
// coordinate is proximitely the same as the coordinate of recorded touch
|
|
1858
1858
|
// events and the mouse event's target is different than the target of the
|
|
1859
1859
|
// touch event.
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
document.addEventListener( "mouseup", suppressEvent, true );
|
|
1864
|
-
document.addEventListener( "click", suppressEvent, true );
|
|
1865
|
-
}
|
|
1860
|
+
document.addEventListener( "mousedown", suppressEvent, true );
|
|
1861
|
+
document.addEventListener( "mouseup", suppressEvent, true );
|
|
1862
|
+
document.addEventListener( "click", suppressEvent, true );
|
|
1866
1863
|
}
|
|
1867
1864
|
})( jQuery, window, document );
|
|
1868
1865
|
|
|
@@ -197,7 +197,12 @@ $.extend(Datepicker.prototype, {
|
|
|
197
197
|
inst.append.remove();
|
|
198
198
|
}
|
|
199
199
|
if (appendText) {
|
|
200
|
-
|
|
200
|
+
// ##### BEGIN: MODIFIED BY SAP
|
|
201
|
+
// inst.append = $("<span class='" + this._appendClass + "'>" + appendText + "</span>");
|
|
202
|
+
inst.append = $( "<span></span>" )
|
|
203
|
+
.addClass( this._appendClass )
|
|
204
|
+
.text( appendText );
|
|
205
|
+
// ##### END: MODIFIED BY SAP
|
|
201
206
|
input[isRTL ? "before" : "after"](inst.append);
|
|
202
207
|
}
|
|
203
208
|
|
|
@@ -220,12 +225,43 @@ $.extend(Datepicker.prototype, {
|
|
|
220
225
|
if (showOn === "button" || showOn === "both") { // pop-up date picker when button clicked
|
|
221
226
|
buttonText = this._get(inst, "buttonText");
|
|
222
227
|
buttonImage = this._get(inst, "buttonImage");
|
|
223
|
-
|
|
228
|
+
|
|
229
|
+
// ##### BEGIN: MODIFIED BY SAP
|
|
230
|
+
/*
|
|
231
|
+
inst.trigger = $( this._get(inst, "buttonImageOnly" ) ?
|
|
224
232
|
$("<img/>").addClass(this._triggerClass).
|
|
225
233
|
attr({ src: buttonImage, alt: buttonText, title: buttonText }) :
|
|
226
234
|
$("<button type='button'></button>").addClass(this._triggerClass).
|
|
227
235
|
html(!buttonImage ? buttonText : $("<img/>").attr(
|
|
228
236
|
{ src:buttonImage, alt:buttonText, title:buttonText })));
|
|
237
|
+
*/
|
|
238
|
+
|
|
239
|
+
if ( this._get( inst, "buttonImageOnly" ) ) {
|
|
240
|
+
inst.trigger = $( "<img>" )
|
|
241
|
+
.addClass( this._triggerClass )
|
|
242
|
+
.attr( {
|
|
243
|
+
src: buttonImage,
|
|
244
|
+
alt: buttonText,
|
|
245
|
+
title: buttonText
|
|
246
|
+
} );
|
|
247
|
+
} else {
|
|
248
|
+
inst.trigger = $( "<button type='button'></button>" )
|
|
249
|
+
.addClass( this._triggerClass );
|
|
250
|
+
if ( buttonImage ) {
|
|
251
|
+
inst.trigger.html(
|
|
252
|
+
$( "<img>" )
|
|
253
|
+
.attr( {
|
|
254
|
+
src: buttonImage,
|
|
255
|
+
alt: buttonText,
|
|
256
|
+
title: buttonText
|
|
257
|
+
} )
|
|
258
|
+
);
|
|
259
|
+
} else {
|
|
260
|
+
inst.trigger.text( buttonText );
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
// ##### END: MODIFIED BY SAP
|
|
264
|
+
|
|
229
265
|
input[isRTL ? "before" : "after"](inst.trigger);
|
|
230
266
|
inst.trigger.click(function() {
|
|
231
267
|
if ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) {
|
|
@@ -1047,7 +1083,10 @@ $.extend(Datepicker.prototype, {
|
|
|
1047
1083
|
altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat");
|
|
1048
1084
|
date = this._getDate(inst);
|
|
1049
1085
|
dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst));
|
|
1050
|
-
|
|
1086
|
+
// ##### BEGIN: MODIFIED BY SAP
|
|
1087
|
+
// $(altField).each(function() { $(this).val(dateStr); });
|
|
1088
|
+
$( document ).find( altField ).val( dateStr );
|
|
1089
|
+
// ##### END: MODIFIED BY SAP
|
|
1051
1090
|
}
|
|
1052
1091
|
},
|
|
1053
1092
|
|
|
@@ -1654,32 +1693,133 @@ $.extend(Datepicker.prototype, {
|
|
|
1654
1693
|
this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)),
|
|
1655
1694
|
this._getFormatConfig(inst)));
|
|
1656
1695
|
|
|
1696
|
+
// ##### BEGIN: MODIFIED BY SAP
|
|
1697
|
+
/*
|
|
1657
1698
|
prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?
|
|
1658
1699
|
"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" +
|
|
1659
1700
|
" title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>" :
|
|
1660
1701
|
(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+ prevText +"'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>"));
|
|
1702
|
+
*/
|
|
1703
|
+
|
|
1704
|
+
if ( this._canAdjustMonth( inst, -1, drawYear, drawMonth ) ) {
|
|
1705
|
+
prev = $( "<a></a>" )
|
|
1706
|
+
.attr( {
|
|
1707
|
+
"class": "ui-datepicker-prev ui-corner-all",
|
|
1708
|
+
"data-handler": "prev",
|
|
1709
|
+
"data-event": "click",
|
|
1710
|
+
title: prevText
|
|
1711
|
+
} )
|
|
1712
|
+
.append(
|
|
1713
|
+
$( "<span></span>" )
|
|
1714
|
+
.addClass( "ui-icon ui-icon-circle-triangle-" +
|
|
1715
|
+
( isRTL ? "e" : "w" ) )
|
|
1716
|
+
.text( prevText )
|
|
1717
|
+
)[ 0 ].outerHTML;
|
|
1718
|
+
} else if ( hideIfNoPrevNext ) {
|
|
1719
|
+
prev = "";
|
|
1720
|
+
} else {
|
|
1721
|
+
prev = $( "<a></a>" )
|
|
1722
|
+
.attr( {
|
|
1723
|
+
"class": "ui-datepicker-prev ui-corner-all ui-state-disabled",
|
|
1724
|
+
title: prevText
|
|
1725
|
+
} )
|
|
1726
|
+
.append(
|
|
1727
|
+
$( "<span></span>" )
|
|
1728
|
+
.addClass( "ui-icon ui-icon-circle-triangle-" +
|
|
1729
|
+
( isRTL ? "e" : "w" ) )
|
|
1730
|
+
.text( prevText )
|
|
1731
|
+
)[ 0 ].outerHTML;
|
|
1732
|
+
}
|
|
1733
|
+
// ##### END: MODIFIED BY SAP
|
|
1661
1734
|
|
|
1662
1735
|
nextText = this._get(inst, "nextText");
|
|
1663
1736
|
nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText,
|
|
1664
1737
|
this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),
|
|
1665
1738
|
this._getFormatConfig(inst)));
|
|
1666
1739
|
|
|
1740
|
+
// ##### BEGIN: MODIFIED BY SAP
|
|
1741
|
+
/*
|
|
1667
1742
|
next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?
|
|
1668
1743
|
"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" +
|
|
1669
1744
|
" title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>" :
|
|
1670
1745
|
(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+ nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>"));
|
|
1746
|
+
*/
|
|
1747
|
+
|
|
1748
|
+
if ( this._canAdjustMonth( inst, +1, drawYear, drawMonth ) ) {
|
|
1749
|
+
next = $( "<a></a>" )
|
|
1750
|
+
.attr( {
|
|
1751
|
+
"class": "ui-datepicker-next ui-corner-all",
|
|
1752
|
+
"data-handler": "next",
|
|
1753
|
+
"data-event": "click",
|
|
1754
|
+
title: nextText
|
|
1755
|
+
} )
|
|
1756
|
+
.append(
|
|
1757
|
+
$( "<span></span>" )
|
|
1758
|
+
.addClass( "ui-icon ui-icon-circle-triangle-" +
|
|
1759
|
+
( isRTL ? "w" : "e" ) )
|
|
1760
|
+
.text( nextText )
|
|
1761
|
+
)[ 0 ].outerHTML;
|
|
1762
|
+
} else if ( hideIfNoPrevNext ) {
|
|
1763
|
+
next = "";
|
|
1764
|
+
} else {
|
|
1765
|
+
next = $( "<a></a>" )
|
|
1766
|
+
.attr( {
|
|
1767
|
+
"class": "ui-datepicker-next ui-corner-all ui-state-disabled",
|
|
1768
|
+
title: nextText
|
|
1769
|
+
} )
|
|
1770
|
+
.append(
|
|
1771
|
+
$( "<span></span>" )
|
|
1772
|
+
.attr( "class", "ui-icon ui-icon-circle-triangle-" +
|
|
1773
|
+
( isRTL ? "w" : "e" ) )
|
|
1774
|
+
.text( nextText )
|
|
1775
|
+
)[ 0 ].outerHTML;
|
|
1776
|
+
}
|
|
1777
|
+
// ##### END: MODIFIED BY SAP
|
|
1671
1778
|
|
|
1672
1779
|
currentText = this._get(inst, "currentText");
|
|
1673
1780
|
gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today);
|
|
1674
1781
|
currentText = (!navigationAsDateFormat ? currentText :
|
|
1675
1782
|
this.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));
|
|
1676
1783
|
|
|
1784
|
+
// ##### BEGIN: MODIFIED BY SAP
|
|
1785
|
+
/*
|
|
1677
1786
|
controls = (!inst.inline ? "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" +
|
|
1678
1787
|
this._get(inst, "closeText") + "</button>" : "");
|
|
1679
1788
|
|
|
1680
1789
|
buttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (isRTL ? controls : "") +
|
|
1681
1790
|
(this._isInRange(inst, gotoDate) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" +
|
|
1682
1791
|
">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : "";
|
|
1792
|
+
*/
|
|
1793
|
+
|
|
1794
|
+
controls = "";
|
|
1795
|
+
if ( !inst.inline ) {
|
|
1796
|
+
controls = $( "<button></button>" )
|
|
1797
|
+
.attr( {
|
|
1798
|
+
type: "button",
|
|
1799
|
+
"class": "ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all",
|
|
1800
|
+
"data-handler": "hide",
|
|
1801
|
+
"data-event": "click"
|
|
1802
|
+
} )
|
|
1803
|
+
.text( this._get( inst, "closeText" ) )[ 0 ].outerHTML;
|
|
1804
|
+
}
|
|
1805
|
+
|
|
1806
|
+
buttonPanel = "";
|
|
1807
|
+
if ( showButtonPanel ) {
|
|
1808
|
+
buttonPanel = $( "<div class='ui-datepicker-buttonpane ui-widget-content'></div>" )
|
|
1809
|
+
.append( isRTL ? controls : "" )
|
|
1810
|
+
.append( this._isInRange( inst, gotoDate ) ?
|
|
1811
|
+
$( "<button></button>" )
|
|
1812
|
+
.attr( {
|
|
1813
|
+
type: "button",
|
|
1814
|
+
"class": "ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all",
|
|
1815
|
+
"data-handler": "today",
|
|
1816
|
+
"data-event": "click"
|
|
1817
|
+
} )
|
|
1818
|
+
.text( currentText ) :
|
|
1819
|
+
"" )
|
|
1820
|
+
.append( isRTL ? "" : controls )[ 0 ].outerHTML;
|
|
1821
|
+
}
|
|
1822
|
+
// ##### END: MODIFIED BY SAP
|
|
1683
1823
|
|
|
1684
1824
|
firstDay = parseInt(this._get(inst, "firstDay"),10);
|
|
1685
1825
|
firstDay = (isNaN(firstDay) ? 0 : firstDay);
|
|
@@ -157,7 +157,14 @@ $.fn.position = function( options ) {
|
|
|
157
157
|
options = $.extend( {}, options );
|
|
158
158
|
|
|
159
159
|
var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,
|
|
160
|
-
|
|
160
|
+
// ##### BEGIN: MODIFIED BY SAP
|
|
161
|
+
// target = $( options.of ),
|
|
162
|
+
|
|
163
|
+
// Make sure string options are treated as CSS selectors
|
|
164
|
+
target = typeof options.of === "string" ?
|
|
165
|
+
$( document ).find( options.of ) :
|
|
166
|
+
$( options.of ),
|
|
167
|
+
// ##### END: MODIFIED BY SAP
|
|
161
168
|
within = $.position.getWithinInfo( options.within ),
|
|
162
169
|
scrollInfo = $.position.getScrollInfo( within ),
|
|
163
170
|
collision = ( options.collision || "flip" ).split( " " ),
|