@openui5/sap.ui.core 1.107.0 → 1.108.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.
Files changed (287) hide show
  1. package/.dtsgenrc +63 -0
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +1 -1
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/i18n/ResourceBundle.js +10 -0
  10. package/src/sap/base/security/URLListValidator.js +36 -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 +3 -3
  53. package/src/sap/ui/Global.js +4 -4
  54. package/src/sap/ui/base/Event.js +1 -1
  55. package/src/sap/ui/base/EventProvider.js +1 -1
  56. package/src/sap/ui/base/Interface.js +1 -1
  57. package/src/sap/ui/base/ManagedObject.js +2 -2
  58. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  59. package/src/sap/ui/base/Metadata.js +1 -1
  60. package/src/sap/ui/base/Object.js +1 -1
  61. package/src/sap/ui/base/ObjectPool.js +1 -1
  62. package/src/sap/ui/core/.library +50 -50
  63. package/src/sap/ui/core/BusyIndicator.js +1 -1
  64. package/src/sap/ui/core/BusyIndicatorUtils.js +22 -8
  65. package/src/sap/ui/core/Component.js +21 -4
  66. package/src/sap/ui/core/ComponentContainer.js +5 -1
  67. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  68. package/src/sap/ui/core/ComponentSupport.js +1 -1
  69. package/src/sap/ui/core/Configuration.js +2 -15
  70. package/src/sap/ui/core/Control.js +20 -2
  71. package/src/sap/ui/core/Core.js +311 -413
  72. package/src/sap/ui/core/CustomData.js +1 -1
  73. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  74. package/src/sap/ui/core/Element.js +1 -1
  75. package/src/sap/ui/core/ElementMetadata.js +1 -1
  76. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  77. package/src/sap/ui/core/EventBus.js +1 -1
  78. package/src/sap/ui/core/FocusHandler.js +12 -14
  79. package/src/sap/ui/core/Fragment.js +5 -2
  80. package/src/sap/ui/core/HTML.js +1 -1
  81. package/src/sap/ui/core/History.js +1 -1
  82. package/src/sap/ui/core/Icon.js +1 -1
  83. package/src/sap/ui/core/IconPool.js +7 -1
  84. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  85. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  86. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  87. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  88. package/src/sap/ui/core/InvisibleText.js +1 -1
  89. package/src/sap/ui/core/Item.js +1 -1
  90. package/src/sap/ui/core/LabelEnablement.js +1 -1
  91. package/src/sap/ui/core/LayoutData.js +1 -1
  92. package/src/sap/ui/core/ListItem.js +1 -1
  93. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  94. package/src/sap/ui/core/Locale.js +1 -1
  95. package/src/sap/ui/core/LocaleData.js +1 -1
  96. package/src/sap/ui/core/Manifest.js +16 -83
  97. package/src/sap/ui/core/Message.js +1 -1
  98. package/src/sap/ui/core/Popup.js +14 -4
  99. package/src/sap/ui/core/RenderManager.js +111 -109
  100. package/src/sap/ui/core/Renderer.js +1 -1
  101. package/src/sap/ui/core/ResizeHandler.js +1 -1
  102. package/src/sap/ui/core/ScrollBar.js +1 -1
  103. package/src/sap/ui/core/SeparatorItem.js +1 -1
  104. package/src/sap/ui/core/ShortcutHintsMixin.js +20 -0
  105. package/src/sap/ui/core/Title.js +1 -1
  106. package/src/sap/ui/core/TooltipBase.js +1 -1
  107. package/src/sap/ui/core/UIArea.js +4 -2
  108. package/src/sap/ui/core/UIComponent.js +1 -1
  109. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  110. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  111. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  112. package/src/sap/ui/core/XMLComposite.js +1 -1
  113. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  114. package/src/sap/ui/core/_IconRegistry.js +11 -7
  115. package/src/sap/ui/core/_UrlResolver.js +139 -0
  116. package/src/sap/ui/core/date/CalendarUtils.js +87 -0
  117. package/src/sap/ui/core/date/CalendarWeekNumbering.js +73 -0
  118. package/src/sap/ui/core/date/UniversalDate.js +198 -74
  119. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  120. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  121. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  122. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  123. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  124. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  125. package/src/sap/ui/core/format/DateFormat.js +187 -57
  126. package/src/sap/ui/core/format/NumberFormat.js +64 -23
  127. package/src/sap/ui/core/format/TimezoneUtil.js +3 -1
  128. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  129. package/src/sap/ui/core/library.js +19 -10
  130. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  131. package/src/sap/ui/core/message/Message.js +5 -3
  132. package/src/sap/ui/core/message/MessageManager.js +1 -1
  133. package/src/sap/ui/core/message/MessageParser.js +1 -1
  134. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  135. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  136. package/src/sap/ui/core/mvc/HTMLView.js +10 -2
  137. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  138. package/src/sap/ui/core/mvc/JSView.js +1 -1
  139. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  140. package/src/sap/ui/core/mvc/View.js +1 -1
  141. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  142. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  143. package/src/sap/ui/core/plugin/LessSupport.js +21 -20
  144. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  145. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  146. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  147. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  148. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  149. package/src/sap/ui/core/service/Service.js +1 -1
  150. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  151. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  152. package/src/sap/ui/core/support/Plugin.js +1 -1
  153. package/src/sap/ui/core/support/Support.js +1 -1
  154. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  155. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  156. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  157. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  158. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  159. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  160. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  161. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  162. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +3 -3
  163. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  164. package/src/sap/ui/core/theming/Parameters.js +31 -12
  165. package/src/sap/ui/core/theming/ThemeHelper.js +56 -1
  166. package/src/sap/ui/core/theming/ThemeManager.js +817 -0
  167. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  168. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  169. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  170. package/src/sap/ui/core/tmpl/Template.js +1 -1
  171. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  172. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  173. package/src/sap/ui/core/util/Export.js +1 -1
  174. package/src/sap/ui/core/util/ExportCell.js +1 -1
  175. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  176. package/src/sap/ui/core/util/ExportRow.js +1 -1
  177. package/src/sap/ui/core/util/ExportType.js +1 -1
  178. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  179. package/src/sap/ui/core/util/File.js +1 -1
  180. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  181. package/src/sap/ui/core/util/MockServer.js +1 -1
  182. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  183. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -1
  184. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  185. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  186. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  187. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  188. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  189. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  190. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  191. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  192. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  193. package/src/sap/ui/debug/ControlTree.js +1 -1
  194. package/src/sap/ui/debug/DebugEnv.js +1 -1
  195. package/src/sap/ui/debug/PropertyList.js +1 -1
  196. package/src/sap/ui/dom/getFirstEditableInput.js +25 -6
  197. package/src/sap/ui/dom/includeStylesheet.js +2 -2
  198. package/src/sap/ui/model/ClientListBinding.js +11 -4
  199. package/src/sap/ui/model/ClientModel.js +1 -1
  200. package/src/sap/ui/model/ClientTreeBinding.js +60 -5
  201. package/src/sap/ui/model/CompositeDataState.js +1 -1
  202. package/src/sap/ui/model/CompositeType.js +1 -1
  203. package/src/sap/ui/model/DataState.js +1 -1
  204. package/src/sap/ui/model/Filter.js +6 -6
  205. package/src/sap/ui/model/MetaModel.js +1 -1
  206. package/src/sap/ui/model/Model.js +1 -1
  207. package/src/sap/ui/model/SelectionModel.js +1 -1
  208. package/src/sap/ui/model/SimpleType.js +1 -1
  209. package/src/sap/ui/model/Sorter.js +6 -4
  210. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  211. package/src/sap/ui/model/TreeBinding.js +18 -0
  212. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +1 -1
  213. package/src/sap/ui/model/Type.js +1 -1
  214. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +28 -34
  215. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +590 -0
  216. package/src/sap/ui/model/json/JSONModel.js +1 -1
  217. package/src/sap/ui/model/message/MessageModel.js +1 -1
  218. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  219. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  220. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  221. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  222. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  223. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  224. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  225. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  226. package/src/sap/ui/model/odata/type/Date.js +1 -1
  227. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  228. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  229. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  230. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  231. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  232. package/src/sap/ui/model/odata/type/Double.js +1 -1
  233. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  234. package/src/sap/ui/model/odata/type/Int.js +1 -1
  235. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  236. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  237. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  238. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  239. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  240. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  241. package/src/sap/ui/model/odata/type/Single.js +1 -1
  242. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  243. package/src/sap/ui/model/odata/type/String.js +1 -1
  244. package/src/sap/ui/model/odata/type/Time.js +1 -1
  245. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  246. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  247. package/src/sap/ui/model/odata/v2/BatchMode.js +2 -2
  248. package/src/sap/ui/model/odata/v2/Context.js +169 -4
  249. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  250. package/src/sap/ui/model/odata/v2/ODataListBinding.js +39 -17
  251. package/src/sap/ui/model/odata/v2/ODataModel.js +219 -82
  252. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  253. package/src/sap/ui/model/odata/v4/Context.js +35 -22
  254. package/src/sap/ui/model/odata/v4/ODataBinding.js +28 -22
  255. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -6
  256. package/src/sap/ui/model/odata/v4/ODataListBinding.js +111 -89
  257. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +5 -4
  258. package/src/sap/ui/model/odata/v4/ODataModel.js +84 -46
  259. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +19 -20
  260. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -3
  261. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
  262. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +12 -5
  263. package/src/sap/ui/model/odata/v4/lib/_Cache.js +130 -64
  264. package/src/sap/ui/model/odata/v4/lib/_Helper.js +1 -1
  265. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +56 -15
  266. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  267. package/src/sap/ui/model/type/Boolean.js +1 -1
  268. package/src/sap/ui/model/type/Currency.js +1 -1
  269. package/src/sap/ui/model/type/Date.js +1 -1
  270. package/src/sap/ui/model/type/DateInterval.js +1 -1
  271. package/src/sap/ui/model/type/DateTime.js +1 -1
  272. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  273. package/src/sap/ui/model/type/FileSize.js +1 -1
  274. package/src/sap/ui/model/type/Float.js +1 -1
  275. package/src/sap/ui/model/type/Integer.js +1 -1
  276. package/src/sap/ui/model/type/String.js +1 -1
  277. package/src/sap/ui/model/type/Time.js +1 -1
  278. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  279. package/src/sap/ui/model/type/Unit.js +1 -1
  280. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  281. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  282. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  283. package/src/sap/ui/test/TestUtils.js +20 -0
  284. package/src/sap/ui/test/generic/TestBase.js +1 -1
  285. package/src/sap/ui/thirdparty/mobify-carousel.js +0 -4
  286. package/src/sap/ui/util/Storage.js +1 -1
  287. package/src/sap/ui/core/ThemeCheck.js +0 -389
@@ -0,0 +1,139 @@
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
+ sap.ui.define([
7
+ "sap/ui/thirdparty/URI"
8
+ ], function(URI) {
9
+ "use strict";
10
+
11
+ /**
12
+ * Helper module that provides a set of functions to resolve bundle urls.
13
+ *
14
+ * @namespace
15
+ * @alias module:sap/ui/core/_UrlResolver
16
+ * @private
17
+ * @ui5-restricted sap.ui.core
18
+ */
19
+ var _UrlResolver = {};
20
+
21
+ /**
22
+ * Function that loops through the model config and resolves the bundle urls
23
+ * of terminologies relative to the component, the manifest or relative to an URL.
24
+ *
25
+ * @example
26
+ * {
27
+ * "oil": {
28
+ * "bundleUrl": "i18n/terminologies/oil.i18n.properties"
29
+ * },
30
+ * "retail": {
31
+ * "bundleName": "i18n.terminologies.retail.i18n.properties"
32
+ * }
33
+ * }
34
+ *
35
+ * @param {object} mBundleConfig Map with bundle config settings
36
+ * @param {object} mSettings Map with settings for processing the resource configuration
37
+ * @param {boolean} [mSettings.alreadyResolvedOnRoot=false] Whether the bundleUrl was already resolved (usually by the sap.ui.core.Component)
38
+ * @param {URI} mSettings.baseURI The base URI of the Component (usually provided by the sap.ui.core.Component or sap.ui.core.Manifest)
39
+ * @param {URI} mSettings.manifestBaseURI The base URI of the manifest (usually provided by the sap.ui.core.Component or sap.ui.core.Manifest)
40
+ * @param {string} [mSettings.relativeTo="component"] Either "component", "manifest" or a "library path" to which the bundleUrl should be resolved
41
+ * @private
42
+ * @ui5-restricted sap.ui.core
43
+ */
44
+ _UrlResolver._processResourceConfiguration = function (mBundleConfig, mSettings) {
45
+ mSettings = mSettings || {};
46
+
47
+ var bAlreadyResolvedOnRoot = mSettings.alreadyResolvedOnRoot || false;
48
+ var sRelativeTo = mBundleConfig.bundleUrlRelativeTo || mSettings.relativeTo;
49
+ var vRelativeToURI;
50
+
51
+ if (sRelativeTo === "manifest") {
52
+ vRelativeToURI = mSettings.manifestBaseURI;
53
+ } else if (sRelativeTo === "component") {
54
+ vRelativeToURI = mSettings.baseURI;
55
+ } else {
56
+ // relative to library path or undefined; default (component base uri)
57
+ vRelativeToURI = sRelativeTo || mSettings.baseURI;
58
+ }
59
+
60
+ Object.keys(mBundleConfig).forEach(function(sKey) {
61
+ if (sKey === "bundleUrl" && !bAlreadyResolvedOnRoot) {
62
+ var sBundleUrl = mBundleConfig[sKey];
63
+ var oResolvedUri = _UrlResolver._resolveUri(sBundleUrl, vRelativeToURI);
64
+ mBundleConfig[sKey] = oResolvedUri && oResolvedUri.toString();
65
+ }
66
+ if (sKey === "terminologies") {
67
+ var mTerminologies = mBundleConfig[sKey];
68
+ for (var sTerminology in mTerminologies) {
69
+ _UrlResolver._processResourceConfiguration(mTerminologies[sTerminology], {
70
+ relativeTo: sRelativeTo,
71
+ baseURI: mSettings.baseURI,
72
+ manifestBaseURI: mSettings.manifestBaseURI
73
+ });
74
+ }
75
+ }
76
+ if (sKey === "enhanceWith") {
77
+ var aEnhanceWith = mBundleConfig[sKey] || [];
78
+ for (var i = 0; i < aEnhanceWith.length; i++) {
79
+ _UrlResolver._processResourceConfiguration(aEnhanceWith[i], {
80
+ relativeTo: sRelativeTo,
81
+ baseURI: mSettings.baseURI,
82
+ manifestBaseURI: mSettings.manifestBaseURI
83
+ });
84
+ }
85
+ }
86
+ });
87
+ };
88
+
89
+ /**
90
+ * Makes sure that we can safely deal with URI instances.
91
+ * See return value.
92
+ *
93
+ * @param {URI|string|undefined} v either a URI instance, a string value or undefined
94
+ * @returns {URI} a URI instance created from the given argument, or the given argument if it is already a URI instance
95
+ */
96
+ function normalizeToUri(v) {
97
+ if (v && v instanceof URI) {
98
+ return v;
99
+ }
100
+ return new URI(v);
101
+ }
102
+
103
+ /**
104
+ * Resolves the given URI relative to the Component by default,
105
+ * relative to the manifest when passing 'manifest'
106
+ * or relative to URL path when passing an URL string as seceond
107
+ * parameter.
108
+ *
109
+ * @param {URI|string} vUri URI to resolve
110
+ * @param {URI|string} [vRelativeToURI] defines to which base URI the given URI will be resolved to.
111
+ * Either a string or a URI instance.
112
+ * Can be a component base URI, a manifest base URI or a library path.
113
+ * @return {URI} resolved URI
114
+ * @private
115
+ */
116
+ _UrlResolver._resolveUri = function (vUri, vRelativeToURI) {
117
+ return _UrlResolver._resolveUriRelativeTo(normalizeToUri(vUri), normalizeToUri(vRelativeToURI));
118
+ };
119
+
120
+ /**
121
+ * Resolves the given URI relative to the given base URI.
122
+ *
123
+ * @param {URI} oUri URI to resolve
124
+ * @param {URI} oBase Base URI
125
+ * @return {URI} resolved URI
126
+ * @static
127
+ * @private
128
+ */
129
+ _UrlResolver._resolveUriRelativeTo = function(oUri, oBase) {
130
+ if (oUri.is("absolute") || (oUri.path() && oUri.path()[0] === "/")) {
131
+ return oUri;
132
+ }
133
+ var oPageBase = new URI(document.baseURI).search("");
134
+ oBase = oBase.absoluteTo(oPageBase);
135
+ return oUri.absoluteTo(oBase).relativeTo(oPageBase);
136
+ };
137
+
138
+ return _UrlResolver;
139
+ });
@@ -0,0 +1,87 @@
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
+ // Provides type sap.ui.core.date.CalendarUtils.
8
+ sap.ui.define([
9
+ "sap/ui/core/date/CalendarWeekNumbering",
10
+ "sap/ui/core/Configuration",
11
+ "sap/ui/core/LocaleData"
12
+ ], function(
13
+ CalendarWeekNumbering,
14
+ Configuration,
15
+ LocaleData
16
+ ) {
17
+ "use strict";
18
+
19
+ var mWeekNumberingConfiguration = {
20
+ ISO_8601 : {
21
+ firstDayOfWeek : 1,
22
+ minimalDaysInFirstWeek : 4
23
+ },
24
+ MiddleEastern : {
25
+ firstDayOfWeek : 6,
26
+ minimalDaysInFirstWeek : 1
27
+ },
28
+ WesternTraditional : {
29
+ firstDayOfWeek : 0,
30
+ minimalDaysInFirstWeek : 1
31
+ }
32
+ };
33
+
34
+ /**
35
+ * Provides calendar-related utilities.
36
+ *
37
+ * @namespace
38
+ * @alias module:sap/ui/core/date/CalendarUtils
39
+ * @public
40
+ * @since 1.108.0
41
+ */
42
+ var CalendarUtils = {
43
+
44
+ /**
45
+ * Resolves calendar week configuration.
46
+ *
47
+ * Returns an object with the following fields:
48
+ * <ul>
49
+ * <li><code>firstDayOfWeek</code>: specifies the first day of the week starting with
50
+ * <code>0</code> (which is Sunday)</li>
51
+ * <li><code>minimalDaysInFirstWeek</code>: minimal days at the beginning of the year
52
+ * which define the first calendar week</li>
53
+ * </ul>
54
+ *
55
+ * @param {sap.ui.core.date.CalendarWeekNumbering} [sCalendarWeekNumbering=Default]
56
+ * The calendar week numbering; if omitted, <code>Default</code> is used.
57
+ * @param {sap.ui.core.Locale} [oLocale]
58
+ * The locale to use; if not provided, this falls back to the format locale from the
59
+ * Configuration; see {@link sap.ui.core.Configuration.FormatSettings#getFormatLocale}.
60
+ * Is only used when <code>sCalendarWeekNumbering</code> is set to <code>Default</code>.
61
+ * @returns {{firstDayOfWeek: int, minimalDaysInFirstWeek: int}|undefined}
62
+ * The calendar week configuration, or <code>undefined<code> for an invalid value of
63
+ * <code>sap.ui.core.date.CalendarWeekNumbering</code>.
64
+ * @public
65
+ * @since 1.108.0
66
+ */
67
+ getWeekConfigurationValues : function (sCalendarWeekNumbering, oLocale) {
68
+ var oLocaleData;
69
+
70
+ if (mWeekNumberingConfiguration.hasOwnProperty(sCalendarWeekNumbering)) {
71
+ return mWeekNumberingConfiguration[sCalendarWeekNumbering];
72
+ }
73
+ sCalendarWeekNumbering = sCalendarWeekNumbering || CalendarWeekNumbering.Default;
74
+ if (sCalendarWeekNumbering === CalendarWeekNumbering.Default) {
75
+ oLocale = oLocale || Configuration.getFormatSettings().getFormatLocale();
76
+ oLocaleData = LocaleData.getInstance(oLocale);
77
+ return {
78
+ firstDayOfWeek : oLocaleData.getFirstDayOfWeek(),
79
+ minimalDaysInFirstWeek : oLocaleData.getMinimalDaysInFirstWeek()
80
+ };
81
+ }
82
+ return undefined;
83
+ }
84
+ };
85
+
86
+ return CalendarUtils;
87
+ });
@@ -0,0 +1,73 @@
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
+ // Provides type sap.ui.core.date.CalendarWeekNumbering.
8
+ sap.ui.define([], function() {
9
+ "use strict";
10
+
11
+ /**
12
+ * The <code>CalendarWeekNumbering</code> enum defines how to calculate calendar weeks. Each
13
+ * value defines:
14
+ * <ul>
15
+ * <li>The first day of the week,</li>
16
+ * <li>the first week of the year.</li>
17
+ * </ul>
18
+ *
19
+ * @enum {string}
20
+ * @public
21
+ * @since 1.108.0
22
+ * @alias sap.ui.core.date.CalendarWeekNumbering
23
+ */
24
+ var CalendarWeekNumbering = {
25
+
26
+ /**
27
+ * The default calendar week numbering:
28
+ *
29
+ * The framework determines the week numbering scheme; currently it is derived from the
30
+ * active format locale. Future versions of UI5 might select a different week numbering
31
+ * scheme.
32
+ *
33
+ * @public
34
+ */
35
+ Default : "Default",
36
+
37
+ /**
38
+ * Official calendar week numbering in most of Europe (ISO 8601 standard):
39
+ * <ul>
40
+ * <li>Monday is first day of the week,
41
+ * <li>the week containing January 4th is first week of the year.
42
+ * </ul>
43
+ *
44
+ * @public
45
+ */
46
+ ISO_8601 : "ISO_8601",
47
+
48
+ /**
49
+ * Official calendar week numbering in much of the Middle East (Middle Eastern calendar):
50
+ * <ul>
51
+ * <li>Saturday is first day of the week,
52
+ * <li>the week containing January 1st is first week of the year.
53
+ * </ul>
54
+ *
55
+ * @public
56
+ */
57
+ MiddleEastern : "MiddleEastern",
58
+
59
+ /**
60
+ * Official calendar week numbering in the United States, Canada, Brazil, Israel, Japan, and
61
+ * other countries (Western traditional calendar):
62
+ * <ul>
63
+ * <li>Sunday is first day of the week,
64
+ * <li>the week containing January 1st is first week of the year.
65
+ * </ul>
66
+ *
67
+ * @public
68
+ */
69
+ WesternTraditional : "WesternTraditional"
70
+ };
71
+
72
+ return CalendarWeekNumbering;
73
+ }, /* bExport= */ true);