@openui5/sap.ui.core 1.97.1 → 1.99.1

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.
Files changed (403) hide show
  1. package/.eslintrc.json +92 -2
  2. package/.reuse/dep5 +25 -30
  3. package/THIRDPARTY.txt +14 -21
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +1 -1
  6. package/src/jquery.sap.mobile.js +29 -19
  7. package/src/jquery.sap.properties.js +1 -1
  8. package/src/jquery.sap.resources.js +1 -1
  9. package/src/jquery.sap.script.js +1 -1
  10. package/src/jquery.sap.storage.js +3 -3
  11. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  12. package/src/sap/base/util/restricted/_castArray.js +1 -1
  13. package/src/sap/base/util/restricted/_compact.js +1 -1
  14. package/src/sap/base/util/restricted/_curry.js +1 -1
  15. package/src/sap/base/util/restricted/_debounce.js +1 -1
  16. package/src/sap/base/util/restricted/_difference.js +1 -1
  17. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  18. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  19. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  22. package/src/sap/base/util/restricted/_flatten.js +1 -1
  23. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_intersection.js +1 -1
  26. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  27. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  28. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  29. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  30. package/src/sap/base/util/restricted/_isNil.js +1 -1
  31. package/src/sap/base/util/restricted/_max.js +1 -1
  32. package/src/sap/base/util/restricted/_merge.js +1 -1
  33. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  34. package/src/sap/base/util/restricted/_min.js +1 -1
  35. package/src/sap/base/util/restricted/_omit.js +1 -1
  36. package/src/sap/base/util/restricted/_pick.js +1 -1
  37. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  38. package/src/sap/base/util/restricted/_throttle.js +1 -1
  39. package/src/sap/base/util/restricted/_toArray.js +1 -1
  40. package/src/sap/base/util/restricted/_union.js +1 -1
  41. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  42. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  43. package/src/sap/base/util/restricted/_uniq.js +1 -1
  44. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  45. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  46. package/src/sap/base/util/restricted/_without.js +1 -1
  47. package/src/sap/base/util/restricted/_xor.js +1 -1
  48. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  49. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  50. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  51. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  52. package/src/sap/ui/Device.js +80 -168
  53. package/src/sap/ui/Global.js +4 -4
  54. package/src/sap/ui/VersionInfo.js +13 -10
  55. package/src/sap/ui/base/BindingParser.js +34 -7
  56. package/src/sap/ui/base/Event.js +1 -1
  57. package/src/sap/ui/base/EventProvider.js +1 -1
  58. package/src/sap/ui/base/Interface.js +1 -1
  59. package/src/sap/ui/base/ManagedObject.js +48 -27
  60. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  61. package/src/sap/ui/base/Metadata.js +1 -1
  62. package/src/sap/ui/base/Object.js +1 -1
  63. package/src/sap/ui/base/ObjectPool.js +1 -1
  64. package/src/sap/ui/core/.library +2 -2
  65. package/src/sap/ui/core/BusyIndicator.js +1 -1
  66. package/src/sap/ui/core/BusyIndicatorUtils.js +1 -1
  67. package/src/sap/ui/core/Component.js +3 -3
  68. package/src/sap/ui/core/ComponentContainer.js +1 -1
  69. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  70. package/src/sap/ui/core/ComponentSupport.js +1 -1
  71. package/src/sap/ui/core/Configuration.js +79 -14
  72. package/src/sap/ui/core/Control.js +3 -2
  73. package/src/sap/ui/core/Core.js +3 -6
  74. package/src/sap/ui/core/CustomData.js +1 -1
  75. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  76. package/src/sap/ui/core/Element.js +5 -7
  77. package/src/sap/ui/core/ElementMetadata.js +1 -1
  78. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  79. package/src/sap/ui/core/EventBus.js +1 -1
  80. package/src/sap/ui/core/ExtensionPoint.js +1 -1
  81. package/src/sap/ui/core/FocusHandler.js +1 -1
  82. package/src/sap/ui/core/Fragment.js +1 -1
  83. package/src/sap/ui/core/HTML.js +1 -1
  84. package/src/sap/ui/core/HTMLRenderer.js +1 -1
  85. package/src/sap/ui/core/History.js +1 -1
  86. package/src/sap/ui/core/Icon.js +2 -3
  87. package/src/sap/ui/core/IconRenderer.js +1 -1
  88. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  89. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  90. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  91. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  92. package/src/sap/ui/core/InvisibleText.js +1 -1
  93. package/src/sap/ui/core/Item.js +1 -1
  94. package/src/sap/ui/core/LabelEnablement.js +9 -2
  95. package/src/sap/ui/core/LayoutData.js +1 -1
  96. package/src/sap/ui/core/ListItem.js +1 -1
  97. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  98. package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +2 -2
  99. package/src/sap/ui/core/LocalBusyIndicatorSupport.js +1 -1
  100. package/src/sap/ui/core/Locale.js +1 -1
  101. package/src/sap/ui/core/LocaleData.js +37 -2
  102. package/src/sap/ui/core/Manifest.js +1 -1
  103. package/src/sap/ui/core/Message.js +1 -1
  104. package/src/sap/ui/core/Placeholder.js +28 -28
  105. package/src/sap/ui/core/Popup.js +3 -3
  106. package/src/sap/ui/core/RenderManager.js +1 -1
  107. package/src/sap/ui/core/Renderer.js +1 -1
  108. package/src/sap/ui/core/ResizeHandler.js +1 -1
  109. package/src/sap/ui/core/ScrollBar.js +1 -1
  110. package/src/sap/ui/core/ScrollBarRenderer.js +1 -1
  111. package/src/sap/ui/core/SeparatorItem.js +1 -1
  112. package/src/sap/ui/core/Title.js +1 -1
  113. package/src/sap/ui/core/TooltipBase.js +2 -2
  114. package/src/sap/ui/core/UIArea.js +1 -1
  115. package/src/sap/ui/core/UIComponent.js +1 -1
  116. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  117. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  118. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  119. package/src/sap/ui/core/XMLComposite.js +1 -1
  120. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  121. package/src/sap/ui/core/_IconRegistry.js +10 -1
  122. package/src/sap/ui/core/date/Japanese.js +1 -1
  123. package/src/sap/ui/core/date/UniversalDateUtils.js +175 -5
  124. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  125. package/src/sap/ui/core/delegate/ScrollEnablement.js +9 -6
  126. package/src/sap/ui/core/dnd/DragAndDrop.js +2 -2
  127. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  128. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  129. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  130. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  131. package/src/sap/ui/core/format/DateFormat.js +562 -174
  132. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +43 -0
  133. package/src/sap/ui/core/format/ListFormat.js +2 -2
  134. package/src/sap/ui/core/format/NumberFormat.js +190 -56
  135. package/src/sap/ui/core/format/TimezoneUtil.js +248 -0
  136. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  137. package/src/sap/ui/core/library.js +45 -8
  138. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  139. package/src/sap/ui/core/message/Message.js +1 -1
  140. package/src/sap/ui/core/message/MessageManager.js +1 -1
  141. package/src/sap/ui/core/message/MessageMixin.js +2 -1
  142. package/src/sap/ui/core/message/MessageParser.js +1 -1
  143. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  144. package/src/sap/ui/core/messagebundle.properties +4 -0
  145. package/src/sap/ui/core/messagebundle_ar.properties +2 -0
  146. package/src/sap/ui/core/messagebundle_bg.properties +7 -5
  147. package/src/sap/ui/core/messagebundle_ca.properties +2 -0
  148. package/src/sap/ui/core/messagebundle_cs.properties +2 -0
  149. package/src/sap/ui/core/messagebundle_cy.properties +2 -0
  150. package/src/sap/ui/core/messagebundle_da.properties +2 -0
  151. package/src/sap/ui/core/messagebundle_de.properties +3 -1
  152. package/src/sap/ui/core/messagebundle_el.properties +2 -0
  153. package/src/sap/ui/core/messagebundle_en.properties +2 -0
  154. package/src/sap/ui/core/messagebundle_en_GB.properties +2 -0
  155. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +2 -0
  156. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
  157. package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +2 -0
  158. package/src/sap/ui/core/messagebundle_es.properties +2 -0
  159. package/src/sap/ui/core/messagebundle_es_MX.properties +2 -0
  160. package/src/sap/ui/core/messagebundle_et.properties +2 -0
  161. package/src/sap/ui/core/messagebundle_fi.properties +2 -0
  162. package/src/sap/ui/core/messagebundle_fr.properties +2 -0
  163. package/src/sap/ui/core/messagebundle_fr_CA.properties +2 -0
  164. package/src/sap/ui/core/messagebundle_hi.properties +2 -0
  165. package/src/sap/ui/core/messagebundle_hr.properties +2 -0
  166. package/src/sap/ui/core/messagebundle_hu.properties +2 -0
  167. package/src/sap/ui/core/messagebundle_id.properties +4 -2
  168. package/src/sap/ui/core/messagebundle_it.properties +3 -1
  169. package/src/sap/ui/core/messagebundle_iw.properties +2 -0
  170. package/src/sap/ui/core/messagebundle_ja.properties +2 -0
  171. package/src/sap/ui/core/messagebundle_kk.properties +2 -0
  172. package/src/sap/ui/core/messagebundle_ko.properties +2 -0
  173. package/src/sap/ui/core/messagebundle_lt.properties +2 -0
  174. package/src/sap/ui/core/messagebundle_lv.properties +3 -1
  175. package/src/sap/ui/core/messagebundle_ms.properties +2 -0
  176. package/src/sap/ui/core/messagebundle_nl.properties +2 -0
  177. package/src/sap/ui/core/messagebundle_no.properties +6 -4
  178. package/src/sap/ui/core/messagebundle_pl.properties +2 -0
  179. package/src/sap/ui/core/messagebundle_pt.properties +2 -0
  180. package/src/sap/ui/core/messagebundle_pt_PT.properties +2 -0
  181. package/src/sap/ui/core/messagebundle_ro.properties +2 -0
  182. package/src/sap/ui/core/messagebundle_ru.properties +2 -0
  183. package/src/sap/ui/core/messagebundle_sh.properties +2 -0
  184. package/src/sap/ui/core/messagebundle_sk.properties +2 -0
  185. package/src/sap/ui/core/messagebundle_sl.properties +2 -0
  186. package/src/sap/ui/core/messagebundle_sv.properties +2 -0
  187. package/src/sap/ui/core/messagebundle_th.properties +2 -0
  188. package/src/sap/ui/core/messagebundle_tr.properties +2 -0
  189. package/src/sap/ui/core/messagebundle_uk.properties +2 -0
  190. package/src/sap/ui/core/messagebundle_vi.properties +2 -0
  191. package/src/sap/ui/core/messagebundle_zh_CN.properties +2 -0
  192. package/src/sap/ui/core/messagebundle_zh_TW.properties +2 -0
  193. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  194. package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
  195. package/src/sap/ui/core/mvc/JSONView.js +2 -1
  196. package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
  197. package/src/sap/ui/core/mvc/JSView.js +1 -1
  198. package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
  199. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  200. package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
  201. package/src/sap/ui/core/mvc/View.js +2 -1
  202. package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
  203. package/src/sap/ui/core/mvc/XMLView.js +16 -3
  204. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  205. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  206. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  207. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  208. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  209. package/src/sap/ui/core/routing/Route.js +6 -6
  210. package/src/sap/ui/core/routing/Router.js +4 -3
  211. package/src/sap/ui/core/routing/Targets.js +17 -13
  212. package/src/sap/ui/core/rules/Model.support.js +95 -8
  213. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  214. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  215. package/src/sap/ui/core/service/Service.js +1 -1
  216. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  217. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  218. package/src/sap/ui/core/support/Plugin.js +1 -1
  219. package/src/sap/ui/core/support/Support.js +1 -1
  220. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  221. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  222. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  223. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  224. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  225. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  226. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  227. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  228. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -5
  229. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  230. package/src/sap/ui/core/themes/base/parameterClasses.less +21 -21
  231. package/src/sap/ui/core/theming/Parameters.js +22 -142
  232. package/src/sap/ui/core/theming/ThemeHelper.js +26 -37
  233. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  234. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  235. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  236. package/src/sap/ui/core/tmpl/Template.js +1 -1
  237. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  238. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  239. package/src/sap/ui/core/util/DraftEnabledMockServer.js +21 -16
  240. package/src/sap/ui/core/util/Export.js +1 -1
  241. package/src/sap/ui/core/util/ExportCell.js +1 -1
  242. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  243. package/src/sap/ui/core/util/ExportRow.js +1 -1
  244. package/src/sap/ui/core/util/ExportType.js +1 -1
  245. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  246. package/src/sap/ui/core/util/File.js +1 -1
  247. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  248. package/src/sap/ui/core/util/MockServer.js +156 -57
  249. package/src/sap/ui/core/util/PasteHelper.js +4 -4
  250. package/src/sap/ui/core/util/XMLPreprocessor.js +16 -4
  251. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +4 -0
  252. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +26 -16
  253. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -1
  254. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  255. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  256. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  257. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  258. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  259. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  260. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  261. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  262. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  263. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  264. package/src/sap/ui/debug/ControlTree.js +1 -1
  265. package/src/sap/ui/debug/DebugEnv.js +1 -1
  266. package/src/sap/ui/debug/PropertyList.js +1 -1
  267. package/src/sap/ui/dom/includeStylesheet.js +8 -3
  268. package/src/sap/ui/events/jquery/EventExtension.js +1 -1
  269. package/src/sap/ui/events/jquery/EventSimulation.js +3 -13
  270. package/src/sap/ui/model/Binding.js +4 -3
  271. package/src/sap/ui/model/ClientModel.js +1 -1
  272. package/src/sap/ui/model/ClientTreeBinding.js +1 -1
  273. package/src/sap/ui/model/CompositeBinding.js +1 -1
  274. package/src/sap/ui/model/CompositeDataState.js +26 -4
  275. package/src/sap/ui/model/CompositeType.js +1 -1
  276. package/src/sap/ui/model/ContextBinding.js +1 -1
  277. package/src/sap/ui/model/DataState.js +27 -6
  278. package/src/sap/ui/model/ListBinding.js +2 -2
  279. package/src/sap/ui/model/MetaModel.js +2 -3
  280. package/src/sap/ui/model/Model.js +2 -2
  281. package/src/sap/ui/model/SelectionModel.js +1 -1
  282. package/src/sap/ui/model/SimpleType.js +1 -1
  283. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  284. package/src/sap/ui/model/Type.js +1 -1
  285. package/src/sap/ui/model/analytics/AnalyticalBinding.js +40 -30
  286. package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -15
  287. package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
  288. package/src/sap/ui/model/json/JSONListBinding.js +1 -1
  289. package/src/sap/ui/model/json/JSONModel.js +1 -1
  290. package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
  291. package/src/sap/ui/model/message/MessageListBinding.js +1 -1
  292. package/src/sap/ui/model/message/MessageModel.js +1 -1
  293. package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
  294. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  295. package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
  296. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  297. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  298. package/src/sap/ui/model/odata/ODataMetadata.js +3 -3
  299. package/src/sap/ui/model/odata/ODataModel.js +2 -2
  300. package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
  301. package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +1 -1
  302. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
  303. package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +1 -1
  304. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  305. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  306. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  307. package/src/sap/ui/model/odata/type/Date.js +1 -1
  308. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  309. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  310. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  311. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +338 -0
  312. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  313. package/src/sap/ui/model/odata/type/Double.js +1 -1
  314. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  315. package/src/sap/ui/model/odata/type/Int.js +1 -1
  316. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  317. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  318. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  319. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  320. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  321. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  322. package/src/sap/ui/model/odata/type/Single.js +1 -1
  323. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  324. package/src/sap/ui/model/odata/type/String.js +1 -1
  325. package/src/sap/ui/model/odata/type/Time.js +1 -1
  326. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  327. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  328. package/src/sap/ui/model/odata/type/UnitMixin.js +1 -1
  329. package/src/sap/ui/model/odata/v2/Context.js +57 -4
  330. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  331. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +8 -4
  332. package/src/sap/ui/model/odata/v2/ODataListBinding.js +216 -87
  333. package/src/sap/ui/model/odata/v2/ODataModel.js +89 -50
  334. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +6 -4
  335. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +65 -5
  336. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +21 -22
  337. package/src/sap/ui/model/odata/v4/Context.js +208 -83
  338. package/src/sap/ui/model/odata/v4/ODataBinding.js +53 -27
  339. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +252 -218
  340. package/src/sap/ui/model/odata/v4/ODataListBinding.js +395 -233
  341. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +131 -100
  342. package/src/sap/ui/model/odata/v4/ODataModel.js +341 -259
  343. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +85 -85
  344. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +85 -79
  345. package/src/sap/ui/model/odata/v4/ODataUtils.js +5 -5
  346. package/src/sap/ui/model/odata/v4/SubmitMode.js +0 -1
  347. package/src/sap/ui/model/odata/v4/ValueListType.js +0 -1
  348. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +20 -20
  349. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +3 -5
  350. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -4
  351. package/src/sap/ui/model/odata/v4/lib/_Batch.js +21 -20
  352. package/src/sap/ui/model/odata/v4/lib/_Cache.js +183 -103
  353. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +1 -1
  354. package/src/sap/ui/model/odata/v4/lib/_Helper.js +22 -18
  355. package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +62 -61
  356. package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +1 -1
  357. package/src/sap/ui/model/odata/v4/lib/_Parser.js +52 -43
  358. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +54 -43
  359. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +147 -147
  360. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +14 -13
  361. package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +66 -67
  362. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  363. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  364. package/src/sap/ui/model/type/Boolean.js +1 -1
  365. package/src/sap/ui/model/type/Currency.js +1 -1
  366. package/src/sap/ui/model/type/Date.js +1 -1
  367. package/src/sap/ui/model/type/DateInterval.js +1 -1
  368. package/src/sap/ui/model/type/DateTime.js +1 -1
  369. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  370. package/src/sap/ui/model/type/FileSize.js +1 -1
  371. package/src/sap/ui/model/type/Float.js +1 -1
  372. package/src/sap/ui/model/type/Integer.js +1 -1
  373. package/src/sap/ui/model/type/String.js +1 -1
  374. package/src/sap/ui/model/type/Time.js +1 -1
  375. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  376. package/src/sap/ui/model/type/Unit.js +1 -1
  377. package/src/sap/ui/model/xml/XMLListBinding.js +1 -1
  378. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  379. package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
  380. package/src/sap/ui/performance/trace/Passport.js +3 -3
  381. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  382. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  383. package/src/sap/ui/test/BlanketReporter.js +1 -1
  384. package/src/sap/ui/test/Opa5.js +1 -1
  385. package/src/sap/ui/test/TestUtils.js +2 -2
  386. package/src/sap/ui/test/_LogCollector.js +1 -1
  387. package/src/sap/ui/test/actions/Action.js +4 -2
  388. package/src/sap/ui/test/actions/Press.js +51 -2
  389. package/src/sap/ui/test/autowaiter/_XHRWaiter.js +1 -1
  390. package/src/sap/ui/test/starter/createSuite.js +3 -3
  391. package/src/sap/ui/thirdparty/IPv6.js +1 -1
  392. package/src/sap/ui/thirdparty/SecondLevelDomains.js +1 -1
  393. package/src/sap/ui/thirdparty/URI.js +7 -3
  394. package/src/sap/ui/thirdparty/URITemplate.js +1 -1
  395. package/src/sap/ui/thirdparty/jquery-mobile-custom.js +3 -6
  396. package/src/sap/ui/thirdparty/jqueryui/jquery-ui-datepicker.js +143 -3
  397. package/src/sap/ui/thirdparty/jqueryui/jquery-ui-position.js +8 -1
  398. package/src/sap/ui/thirdparty/jszip.js +18 -7
  399. package/src/sap/ui/thirdparty/mobify-carousel.js +1 -1
  400. package/src/sap/ui/util/Mobile.js +17 -0
  401. package/src/sap/ui/util/Storage.js +1 -1
  402. package/src/sap/ui/util/XMLHelper.js +53 -30
  403. package/src/ui5loader.js +4 -4
@@ -514,4 +514,4 @@ sap.ui.define([
514
514
  });
515
515
  }
516
516
  };
517
- }, /* bExport= */ false);
517
+ });
@@ -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 {Object} sap.ui.test.PageObjectDefinition
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 (jQuery, Log, merge, UriParameters) {
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 jQuery.sap.log.* to collect the logs
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
@@ -212,7 +212,7 @@ function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger) {
212
212
  * @param {boolean} bCtrlKey Indicates whether the ctrl key is down in addition
213
213
  * @private
214
214
  */
215
- _createAndDispatchMouseEvent: function (sName, oDomRef, bShiftKey, bAltKey, bCtrlKey) {
215
+ _createAndDispatchMouseEvent: function (sName, oDomRef, bShiftKey, bAltKey, bCtrlKey, iClientX, iClientY) {
216
216
  // ignore scrolled down stuff (client X, Y not set)
217
217
  // and assume stuff is over the whole screen (screen X, Y not set)
218
218
  // See file jquery.sap.events.js for some insights to the magic
@@ -230,7 +230,9 @@ function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger) {
230
230
  type: sName, // include the type so jQuery.event.fixHooks can copy properties properly
231
231
  shiftKey: bShiftKey,
232
232
  altKey: bAltKey,
233
- ctrlKey: bCtrlKey
233
+ ctrlKey: bCtrlKey,
234
+ clientX: iClientX,
235
+ clientY: iClientY
234
236
  });
235
237
 
236
238
  oDomRef.dispatchEvent(oMouseEvent);
@@ -63,6 +63,22 @@ sap.ui.define([
63
63
  */
64
64
  ctrlKey: {
65
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"
66
82
  }
67
83
  },
68
84
  publicMethods : [ "executeOn" ]
@@ -85,10 +101,43 @@ sap.ui.define([
85
101
  var $ActionDomRef = this.$(oControl),
86
102
  oActionDomRef = $ActionDomRef[0];
87
103
 
104
+ var iClientX, iClientY;
105
+
88
106
  var bAltKey = this.getAltKey();
89
107
  var bCtrlKey = this.getCtrlKey();
90
108
  var bShiftKey = this.getShiftKey();
91
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
+
92
141
  if ($ActionDomRef.length) {
93
142
  this.oLogger.timestamp("opa.actions.press");
94
143
  this.oLogger.debug("Pressed the control " + oControl);
@@ -96,9 +145,9 @@ sap.ui.define([
96
145
  this._tryOrSimulateFocusin($ActionDomRef, oControl);
97
146
 
98
147
  // the missing events like saptouchstart and tap will be fired by the event simulation
99
- this._createAndDispatchMouseEvent("mousedown", oActionDomRef);
148
+ this._createAndDispatchMouseEvent("mousedown", oActionDomRef, null, null, null, iClientX, iClientY);
100
149
  this.getUtils().triggerEvent("selectstart", oActionDomRef);
101
- this._createAndDispatchMouseEvent("mouseup", oActionDomRef);
150
+ this._createAndDispatchMouseEvent("mouseup", oActionDomRef, null, null, null, iClientX, iClientY);
102
151
  this._createAndDispatchMouseEvent("click", oActionDomRef, bShiftKey, bAltKey, bCtrlKey);
103
152
  //Focusout simulation removed in order to fix Press action behavior
104
153
  //since in real scenario manual press action does not fire focusout event
@@ -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 opent for sinon XHRs
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));
@@ -198,7 +198,8 @@
198
198
  window.suite = function() {
199
199
 
200
200
  function createSuite(oSuiteConfig) {
201
- var sContextPath = "/" + window.location.pathname.split("/")[1] + "/";
201
+ var sContextPath = new URL(sap.ui.require.toUrl("") + "/../", document.baseURI).pathname;
202
+
202
203
  var oSuite = new JSUnitSuite();
203
204
  oSuiteConfig.sortedTests.forEach(function(oTestConfig) {
204
205
  if (!oTestConfig.skip) {
@@ -215,8 +216,7 @@
215
216
 
216
217
  };
217
218
 
218
- var oSuiteReadyEvent = document.createEvent("CustomEvent");
219
- oSuiteReadyEvent.initCustomEvent("sap-ui-testsuite-ready", true, true, {});
219
+ var oSuiteReadyEvent = new CustomEvent("sap-ui-testsuite-ready");
220
220
  window.dispatchEvent(oSuiteReadyEvent);
221
221
 
222
222
  }));
@@ -2,7 +2,7 @@
2
2
  * URI.js - Mutating URLs
3
3
  * IPv6 Support
4
4
  *
5
- * Version: 1.19.7
5
+ * Version: 1.19.10
6
6
  *
7
7
  * Author: Rodney Rehm
8
8
  * Web: http://medialize.github.io/URI.js/
@@ -2,7 +2,7 @@
2
2
  * URI.js - Mutating URLs
3
3
  * Second Level Domain (SLD) Support
4
4
  *
5
- * Version: 1.19.7
5
+ * Version: 1.19.10
6
6
  *
7
7
  * Author: Rodney Rehm
8
8
  * Web: http://medialize.github.io/URI.js/
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * URI.js - Mutating URLs
3
3
  *
4
- * Version: 1.19.7
4
+ * Version: 1.19.10
5
5
  *
6
6
  * Author: Rodney Rehm
7
7
  * Web: http://medialize.github.io/URI.js/
@@ -90,7 +90,7 @@
90
90
  return /^[0-9]+$/.test(value);
91
91
  }
92
92
 
93
- URI.version = '1.19.7';
93
+ URI.version = '1.19.10';
94
94
 
95
95
  var p = URI.prototype;
96
96
  var hasOwn = Object.prototype.hasOwnProperty;
@@ -248,6 +248,7 @@
248
248
  // balanced parens inclusion (), [], {}, <>
249
249
  parens: /(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g,
250
250
  };
251
+ URI.leading_whitespace_expression = /^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/
251
252
  // http://www.iana.org/assignments/uri-schemes.html
252
253
  // http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers#Well-known_ports
253
254
  URI.defaultPorts = {
@@ -503,6 +504,9 @@
503
504
  preventInvalidHostname: URI.preventInvalidHostname
504
505
  };
505
506
  }
507
+
508
+ string = string.replace(URI.leading_whitespace_expression, '')
509
+
506
510
  // [protocol"://"[username[":"password]"@"]hostname[":"port]"/"?][path]["?"querystring]["#"fragment]
507
511
 
508
512
  // extract fragment
@@ -522,7 +526,7 @@
522
526
  }
523
527
 
524
528
  // slashes and backslashes have lost all meaning for the web protocols (https, http, wss, ws)
525
- string = string.replace(/^(https?|ftp|wss?)?:[/\\]*/, '$1://');
529
+ string = string.replace(/^(https?|ftp|wss?)?:+[/\\]*/i, '$1://');
526
530
 
527
531
  // extract protocol
528
532
  if (string.substring(0, 2) === '//') {
@@ -2,7 +2,7 @@
2
2
  * URI.js - Mutating URLs
3
3
  * URI Template Support - http://tools.ietf.org/html/rfc6570
4
4
  *
5
- * Version: 1.19.7
5
+ * Version: 1.19.10
6
6
  *
7
7
  * Author: Rodney Rehm
8
8
  * Web: http://medialize.github.io/URI.js/
@@ -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
- // Do not suppress mouse and click events on Windows Phone.
1861
- if (!(sap.ui.Device.os.windows_phone && sap.ui.Device.os.version < 10)) {
1862
- document.addEventListener( "mousedown", suppressEvent, true );
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
- inst.append = $("<span class='" + this._appendClass + "'>" + appendText + "</span>");
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
- inst.trigger = $(this._get(inst, "buttonImageOnly") ?
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
- $(altField).each(function() { $(this).val(dateStr); });
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
- target = $( options.of ),
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( " " ),
@@ -292,7 +292,14 @@ function JSZip(data, options) {
292
292
  // "folder/" : {...},
293
293
  // "folder/data.txt" : {...}
294
294
  // }
295
- this.files = {};
295
+ // ##### BEGIN: MODIFIED BY SAP
296
+ // gh-762
297
+ // this.files = {};
298
+ // NOTE: we use a null prototype because we do not
299
+ // want filenames like "toString" coming from a zip file
300
+ // to overwrite methods and attributes in a normal Object.
301
+ this.files = Object.create(null);
302
+ // ##### END: MODIFIED BY SAP
296
303
 
297
304
  // Where we are in the hierarchy
298
305
  this.root = "";
@@ -905,9 +912,11 @@ var out = {
905
912
  var result = [],
906
913
  filename, relativePath, file, fileClone;
907
914
  for (filename in this.files) {
908
- if (!this.files.hasOwnProperty(filename)) {
909
- continue;
910
- }
915
+ // ##### BEGIN: MODIFIED BY SAP
916
+ // if (!this.files.hasOwnProperty(filename)) {
917
+ // continue;
918
+ // }
919
+ // ##### END: MODIFIED BY SAP
911
920
  file = this.files[filename];
912
921
  // return a new object, don't let the user mess with our internal objects :)
913
922
  fileClone = new ZipObject(file.name, file._data, extend(file.options));
@@ -1036,9 +1045,11 @@ var out = {
1036
1045
 
1037
1046
  // first, generate all the zip parts.
1038
1047
  for (var name in this.files) {
1039
- if (!this.files.hasOwnProperty(name)) {
1040
- continue;
1041
- }
1048
+ // ##### BEGIN: MODIFIED BY SAP
1049
+ // if (!this.files.hasOwnProperty(name)) {
1050
+ // continue;
1051
+ // }
1052
+ // ##### END: MODIFIED BY SAP
1042
1053
  var file = this.files[name];
1043
1054
 
1044
1055
  var compressionName = file.options.compression || options.compression.toUpperCase();
@@ -186,7 +186,7 @@ Mobify.UI.Carousel = (function($, Utils) {
186
186
 
187
187
  this.element = element;
188
188
  this.$element = $(element);
189
- this.$inner = this.$element.find('.' + this._getClass('inner'));
189
+ this.$inner = this.$element.find('> .' + this._getClass('inner'));
190
190
  this.$items = this.$inner.children();
191
191
 
192
192
  this.$start = this.$items.eq(0);
@@ -104,6 +104,23 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
104
104
  var iInnerWidthBefore = Device.resize.width;
105
105
 
106
106
  sMeta = "width=device-width, initial-scale=1.0";
107
+
108
+ // Setting maximum-scale=1.0 and user-scalable=no has effect to the manual zoom (user can pinch zoom the
109
+ // UI) and auto zoom (browser zooms in the UI automatically under some circumtances, for example when an
110
+ // input gets the focus and the font-size of the input is less than 16px on iOS) functionalities on the
111
+ // mobile platform, but there's some difference between the mobile platforms:
112
+ // * iOS: This does not disable manual zoom in Safari and it only disables the auto zoom function. In
113
+ // Chrome browser on iOS, it does disable the manual zoom but since Chrome on iOS isn't in the support
114
+ // matrix, we can ignore this.
115
+ // * other mobile platform: it does disable the manual zoom option but there's no auto zoom function.
116
+ // So we need to remove the maximum-scale=1.0:
117
+ //
118
+ // Therefore we need to add the additional settings (maximum-scale and user-scalable) only for iOS
119
+ // platform
120
+ if (Device.os.ios) {
121
+ sMeta += ", maximum-scale=1.0, user-scalable=no";
122
+ }
123
+
107
124
  $head.append(jQuery('<meta name="viewport" content="' + sMeta + '">'));
108
125
 
109
126
  // Update Device API resize info, which is necessary in some scenarios after setting the viewport info
@@ -250,7 +250,7 @@ sap.ui.define(["sap/base/assert"], function (assert) {
250
250
  *
251
251
  * @enum {string}
252
252
  * @public
253
- * @version 1.97.1
253
+ * @version 1.99.1
254
254
  */
255
255
  Storage.Type = {
256
256
  /**