@openui5/sap.ui.core 1.92.0 → 1.93.3
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 → .eslintrc.json} +0 -0
- package/.reuse/dep5 +5 -0
- package/THIRDPARTY.txt +10 -1
- package/package.json +1 -1
- package/src/jquery.sap.global.js +5 -1
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +7 -4
- package/src/sap/base/i18n/ResourceBundle.js +2 -2
- package/src/sap/base/util/Properties.js +4 -1
- package/src/sap/base/util/isEmptyObject.js +1 -2
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/VersionInfo.js +1 -0
- package/src/sap/ui/base/DataType.js +1 -0
- 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 +120 -18
- package/src/sap/ui/base/ManagedObjectMetadata.js +14 -5
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +2 -2
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/BusyIndicatorUtils.js +4 -1
- package/src/sap/ui/core/Component.js +143 -42
- 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 +2 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +18 -21
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/CustomizingConfiguration.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +1 -1
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +2 -2
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +9 -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 +1 -1
- 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/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +1 -1
- package/src/sap/ui/core/Manifest.js +124 -69
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Patcher.js +53 -80
- package/src/sap/ui/core/Placeholder.js +1 -0
- package/src/sap/ui/core/Popup.js +29 -5
- package/src/sap/ui/core/RenderManager.js +25 -22
- 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 +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ThemeCheck.js +13 -61
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +1 -1
- package/src/sap/ui/core/UIArea.js +5 -2
- package/src/sap/ui/core/UIComponent.js +46 -32
- 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 +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragDropBase.js +2 -9
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +41 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +2 -0
- package/src/sap/ui/core/format/NumberFormat.js +2 -0
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +3 -3
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +3 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/mvc/Controller.js +146 -8
- package/src/sap/ui/core/mvc/HTMLView.js +3 -1
- package/src/sap/ui/core/mvc/JSONView.js +7 -5
- package/src/sap/ui/core/mvc/JSView.js +4 -2
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +16 -5
- package/src/sap/ui/core/mvc/ViewType.js +2 -0
- package/src/sap/ui/core/mvc/XMLView.js +13 -9
- 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/History.js +26 -16
- package/src/sap/ui/core/routing/Route.js +10 -1
- package/src/sap/ui/core/routing/Router.js +8 -5
- package/src/sap/ui/core/routing/TargetCache.js +1 -1
- package/src/sap/ui/core/routing/Targets.js +26 -0
- package/src/sap/ui/core/routing/async/Route.js +6 -3
- package/src/sap/ui/core/routing/async/Target.js +29 -4
- package/src/sap/ui/core/routing/sync/Target.js +15 -0
- package/src/sap/ui/core/rules/App.support.js +35 -1
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/controls/ObjectViewer.js +5 -9
- 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/MessageTest.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +5 -0
- package/src/sap/ui/core/themes/base/SAP-icons.css +2 -0
- package/src/sap/ui/core/themes/base/SAP-icons.less +10 -0
- package/src/sap/ui/core/themes/base/base.less +569 -414
- package/src/sap/ui/core/themes/base/global.less +38 -0
- package/src/sap/ui/core/themes/base/library.source.less +1 -2
- package/src/sap/ui/core/themes/base/shared.less +1 -0
- package/src/sap/ui/core/themes/sap_hcb/global.less +34 -0
- package/src/sap/ui/core/theming/Parameters.js +221 -59
- package/src/sap/ui/core/theming/ThemeHelper.js +94 -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 +2 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +20 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +18 -0
- 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 +2 -2
- package/src/sap/ui/core/util/serializer/delegate/XML.js +2 -2
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/events/jquery/EventSimulation.js +7 -6
- package/src/sap/ui/events/jquery/EventTriggerHook.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/Context.js +31 -11
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/ListBinding.js +19 -0
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +3 -3
- package/src/sap/ui/model/SelectionModel.js +5 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +8 -6
- package/src/sap/ui/model/base/ManagedObjectModel.js +9 -1
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +1 -0
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +3 -2
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/ODataUtils.js +19 -0
- package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +30 -27
- 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 +7 -2
- 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/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +3 -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 +7 -2
- package/src/sap/ui/model/odata/type/UnitMixin.js +20 -7
- package/src/sap/ui/model/odata/v2/Context.js +165 -0
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +19 -5
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +18 -78
- package/src/sap/ui/model/odata/v2/ODataModel.js +74 -52
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +55 -41
- package/src/sap/ui/model/odata/v4/Context.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +16 -10
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +39 -21
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +3 -3
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +15 -15
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +11 -6
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +5 -3
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -1
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +7 -6
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +17 -2
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +3 -2
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/performance/Measurement.js +1 -1
- package/src/sap/ui/performance/trace/FESR.js +2 -1
- package/src/sap/ui/performance/trace/Interaction.js +11 -9
- package/src/sap/ui/qunit/QUnitUtils.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/security/FrameOptions.js +2 -1
- package/src/sap/ui/test/Opa5.js +1 -1
- package/src/sap/ui/test/OpaBuilder.js +1 -0
- package/src/sap/ui/test/TestUtils.js +17 -30
- package/src/sap/ui/test/launchers/componentLauncher.js +2 -1
- package/src/sap/ui/test/opaQunit.js +6 -9
- package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +4 -4
- package/src/sap/ui/thirdparty/IPv6.js +2 -2
- package/src/sap/ui/thirdparty/SecondLevelDomains.js +2 -2
- package/src/sap/ui/thirdparty/URI.js +14 -5
- package/src/sap/ui/thirdparty/URITemplate.js +2 -2
- package/src/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
- package/src/sap/ui/thirdparty/crossroads.js +10 -2
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader.js +5 -2
|
@@ -137,7 +137,7 @@ sap.ui.define([
|
|
|
137
137
|
* @class The Manifest class.
|
|
138
138
|
* @extends sap.ui.base.Object
|
|
139
139
|
* @author SAP SE
|
|
140
|
-
* @version 1.
|
|
140
|
+
* @version 1.93.3
|
|
141
141
|
* @alias sap.ui.core.Manifest
|
|
142
142
|
* @since 1.33.0
|
|
143
143
|
*/
|
|
@@ -154,7 +154,6 @@ sap.ui.define([
|
|
|
154
154
|
|
|
155
155
|
// instance variables
|
|
156
156
|
this._iInstanceCount = 0;
|
|
157
|
-
this._bIncludesLoaded = false;
|
|
158
157
|
|
|
159
158
|
// apply the manifest related values
|
|
160
159
|
this._oRawManifest = oManifest;
|
|
@@ -162,6 +161,10 @@ sap.ui.define([
|
|
|
162
161
|
this._bAsync = !(mOptions && mOptions.async === false);
|
|
163
162
|
this._activeTerminologies = mOptions && mOptions.activeTerminologies;
|
|
164
163
|
|
|
164
|
+
// This should be only the case if manifestFirst is true but there was no manifest.json
|
|
165
|
+
// As of 08.07.2021 we only set this parameter in Manifest.load in case of failing request
|
|
166
|
+
this._bLoadManifestRequestFailed = mOptions && mOptions._bLoadManifestRequestFailed;
|
|
167
|
+
|
|
165
168
|
// component name is passed via options (overrides the one defined in manifest)
|
|
166
169
|
this._sComponentName = mOptions && mOptions.componentName;
|
|
167
170
|
|
|
@@ -393,16 +396,13 @@ sap.ui.define([
|
|
|
393
396
|
* Loads the included CSS and JavaScript resources. The resources will be
|
|
394
397
|
* resolved relative to the component location.
|
|
395
398
|
*
|
|
399
|
+
* @param {boolean} bAsync indicator whether the *.js resources should be loaded asynchronous
|
|
400
|
+
* @return {Promise<void>|undefined} Promise for required *.js resources
|
|
401
|
+
*
|
|
396
402
|
* @private
|
|
397
403
|
*/
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
// skip loading includes once already loaded
|
|
401
|
-
if (this._bIncludesLoaded) {
|
|
402
|
-
return;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
var mResources = this.getEntry("/sap.ui5/resources");
|
|
404
|
+
_loadIncludes: function(bAsync) {
|
|
405
|
+
var mResources = this.getEntry("/sap.ui5/resources"), oPromise;
|
|
406
406
|
|
|
407
407
|
if (!mResources) {
|
|
408
408
|
return;
|
|
@@ -413,6 +413,17 @@ sap.ui.define([
|
|
|
413
413
|
// load JS files
|
|
414
414
|
var aJSResources = mResources["js"];
|
|
415
415
|
if (aJSResources) {
|
|
416
|
+
var requireAsync = function (sModule) {
|
|
417
|
+
// Wrap promise within function because OPA waitFor (sap/ui/test/autowaiter/_promiseWaiter.js)
|
|
418
|
+
// can't deal with a promise instance in the wrapped then handler
|
|
419
|
+
return function() {
|
|
420
|
+
return new Promise(function(resolve, reject) {
|
|
421
|
+
sap.ui.require([sModule], resolve, reject);
|
|
422
|
+
});
|
|
423
|
+
};
|
|
424
|
+
};
|
|
425
|
+
|
|
426
|
+
oPromise = Promise.resolve();
|
|
416
427
|
for (var i = 0; i < aJSResources.length; i++) {
|
|
417
428
|
var oJSResource = aJSResources[i];
|
|
418
429
|
var sFile = oJSResource.uri;
|
|
@@ -420,11 +431,14 @@ sap.ui.define([
|
|
|
420
431
|
// load javascript file
|
|
421
432
|
var m = sFile.match(/\.js$/i);
|
|
422
433
|
if (m) {
|
|
423
|
-
//
|
|
434
|
+
// call internal sap.ui.require variant that accepts a requireJS path and loads the module synchronously
|
|
424
435
|
var sJsUrl = sComponentName.replace(/\./g, '/') + (sFile.slice(0, 1) === '/' ? '' : '/') + sFile.slice(0, m.index);
|
|
425
436
|
Log.info("Component \"" + sComponentName + "\" is loading JS: \"" + sJsUrl + "\"");
|
|
426
|
-
|
|
427
|
-
|
|
437
|
+
if (bAsync) {
|
|
438
|
+
oPromise = oPromise.then(requireAsync(sJsUrl));
|
|
439
|
+
} else {
|
|
440
|
+
sap.ui.requireSync(sJsUrl);
|
|
441
|
+
}
|
|
428
442
|
}
|
|
429
443
|
}
|
|
430
444
|
}
|
|
@@ -446,8 +460,7 @@ sap.ui.define([
|
|
|
446
460
|
}
|
|
447
461
|
}
|
|
448
462
|
|
|
449
|
-
|
|
450
|
-
|
|
463
|
+
return oPromise;
|
|
451
464
|
},
|
|
452
465
|
|
|
453
466
|
/**
|
|
@@ -456,12 +469,6 @@ sap.ui.define([
|
|
|
456
469
|
* @private
|
|
457
470
|
*/
|
|
458
471
|
removeIncludes: function() {
|
|
459
|
-
|
|
460
|
-
// skip removing includes when not loaded yet
|
|
461
|
-
if (!this._bIncludesLoaded) {
|
|
462
|
-
return;
|
|
463
|
-
}
|
|
464
|
-
|
|
465
472
|
var mResources = this.getEntry("/sap.ui5/resources");
|
|
466
473
|
|
|
467
474
|
if (!mResources) {
|
|
@@ -484,18 +491,18 @@ sap.ui.define([
|
|
|
484
491
|
oLink.parentNode.removeChild(oLink);
|
|
485
492
|
}
|
|
486
493
|
}
|
|
487
|
-
|
|
488
|
-
this._bIncludesLoaded = false;
|
|
489
|
-
|
|
490
494
|
},
|
|
491
495
|
|
|
492
496
|
/**
|
|
493
497
|
* Load external dependencies (like libraries and components)
|
|
494
498
|
*
|
|
499
|
+
* @param {boolean} bAsync indicator whether the dependent libraries and components should be loaded asynchronous
|
|
500
|
+
* @return {Promise<void>} Promise containing further promises of dependent libs and components requests
|
|
501
|
+
*
|
|
495
502
|
* @private
|
|
496
503
|
*/
|
|
497
|
-
|
|
498
|
-
|
|
504
|
+
_loadDependencies: function(bAsync) {
|
|
505
|
+
var aPromises = [];
|
|
499
506
|
// afterwards we load our dependencies!
|
|
500
507
|
var oDep = this.getEntry("/sap.ui5/dependencies"),
|
|
501
508
|
sComponentName = this.getComponentName();
|
|
@@ -508,37 +515,64 @@ sap.ui.define([
|
|
|
508
515
|
for (var sLib in mLibraries) {
|
|
509
516
|
if (!mLibraries[sLib].lazy) {
|
|
510
517
|
Log.info("Component \"" + sComponentName + "\" is loading library: \"" + sLib + "\"");
|
|
511
|
-
sap.ui.getCore().loadLibrary(sLib);
|
|
518
|
+
aPromises.push(sap.ui.getCore().loadLibrary(sLib, {async: bAsync}));
|
|
512
519
|
}
|
|
513
520
|
}
|
|
514
521
|
}
|
|
515
522
|
|
|
516
|
-
//
|
|
523
|
+
// collect all "non-lazy" components
|
|
517
524
|
var mComponents = oDep["components"];
|
|
525
|
+
var aComponentDependencies = [];
|
|
518
526
|
if (mComponents) {
|
|
519
527
|
for (var sName in mComponents) {
|
|
520
528
|
if (!mComponents[sName].lazy) {
|
|
521
|
-
|
|
522
|
-
// Only load component if not (pre-)loaded already
|
|
523
|
-
// Usually the dependencies are already loaded beforehand within Component.create
|
|
524
|
-
var sControllerModule = sName.replace(/\./g, "/") + "/Component";
|
|
525
|
-
var iModuleState = sap.ui.loader._.getModuleState(sControllerModule + ".js");
|
|
526
|
-
if (iModuleState === -1 /* PRELOADED */) {
|
|
527
|
-
// Execute preloaded component controller module
|
|
528
|
-
sap.ui.requireSync(sControllerModule);
|
|
529
|
-
} else if (iModuleState === 0 /* INITIAL */) {
|
|
530
|
-
Log.info("Component \"" + sComponentName + "\" is loading component: \"" + sName + ".Component\"");
|
|
531
|
-
// This can't be migrated to "Component.load" as the contract is sync
|
|
532
|
-
sap.ui.requireSync("sap/ui/core/Component");
|
|
533
|
-
sap.ui.component.load({
|
|
534
|
-
name: sName
|
|
535
|
-
});
|
|
536
|
-
}
|
|
529
|
+
aComponentDependencies.push(sName);
|
|
537
530
|
}
|
|
538
531
|
}
|
|
539
532
|
}
|
|
540
533
|
|
|
534
|
+
if (bAsync) {
|
|
535
|
+
// Async loading of Component, so that Component.load is available
|
|
536
|
+
var pComponentLoad = new Promise(function(fnResolve, fnReject) {
|
|
537
|
+
sap.ui.require(["sap/ui/core/Component"], function(Component) {
|
|
538
|
+
fnResolve(Component);
|
|
539
|
+
}, fnReject);
|
|
540
|
+
}).then(function(Component) {
|
|
541
|
+
// trigger Component.load for all "non-lazy" component dependencies (parallel)
|
|
542
|
+
return Promise.all(aComponentDependencies.map(function(sComponentName) {
|
|
543
|
+
// Component.load does not load the dependencies of a dependent component in case property manifest: false
|
|
544
|
+
// because this could have a negative impact on performance and we do not know if there is a necessity
|
|
545
|
+
// to load the dependencies
|
|
546
|
+
// If needed we could make this configurable via manifest.json by adding a 'manifestFirst' option
|
|
547
|
+
return Component.load({
|
|
548
|
+
name: sComponentName,
|
|
549
|
+
manifest: false
|
|
550
|
+
});
|
|
551
|
+
}));
|
|
552
|
+
});
|
|
553
|
+
|
|
554
|
+
aPromises.push(pComponentLoad);
|
|
555
|
+
} else {
|
|
556
|
+
aComponentDependencies.forEach(function(sName) {
|
|
557
|
+
// Check for and execute preloaded component controller module
|
|
558
|
+
// Don't use sap.ui.component.load in order to avoid a warning log
|
|
559
|
+
// See comments in commit 83f4b601f896dbfcab76fffd455cce841f15b2fb
|
|
560
|
+
var sControllerModule = sName.replace(/\./g, "/") + "/Component";
|
|
561
|
+
var iModuleState = sap.ui.loader._.getModuleState(sControllerModule + ".js");
|
|
562
|
+
if (iModuleState === -1 /* PRELOADED */) {
|
|
563
|
+
sap.ui.requireSync(sControllerModule);
|
|
564
|
+
} else if (iModuleState === 0 /* INITIAL */) {
|
|
565
|
+
Log.info("Component \"" + sComponentName + "\" is loading component: \"" + sName + ".Component\"");
|
|
566
|
+
// requireSync needed because of cyclic dependency
|
|
567
|
+
sap.ui.requireSync("sap/ui/core/Component");
|
|
568
|
+
sap.ui.component.load({
|
|
569
|
+
name: sName
|
|
570
|
+
});
|
|
571
|
+
}
|
|
572
|
+
});
|
|
573
|
+
}
|
|
541
574
|
}
|
|
575
|
+
return Promise.all(aPromises);
|
|
542
576
|
|
|
543
577
|
},
|
|
544
578
|
|
|
@@ -651,31 +685,9 @@ sap.ui.define([
|
|
|
651
685
|
* @private
|
|
652
686
|
*/
|
|
653
687
|
init: function(oInstance) {
|
|
654
|
-
|
|
655
688
|
if (this._iInstanceCount === 0) {
|
|
656
689
|
|
|
657
|
-
|
|
658
|
-
// will be logged and the debug mode is turned on
|
|
659
|
-
this.checkUI5Version();
|
|
660
|
-
|
|
661
|
-
// define the resource roots
|
|
662
|
-
// => if not loaded via manifest first approach the resource roots
|
|
663
|
-
// will be registered too late for the AMD modules of the Component
|
|
664
|
-
// controller. This is a constraint for the resource roots config
|
|
665
|
-
// in the manifest!
|
|
666
|
-
this.defineResourceRoots();
|
|
667
|
-
|
|
668
|
-
// resolve "ui5://..." URLs after the resource-rooots have been defined
|
|
669
|
-
// this way all ui5 URLs can rely on any resource root definition
|
|
670
|
-
this._preprocess({
|
|
671
|
-
resolveUI5Urls: true
|
|
672
|
-
});
|
|
673
|
-
|
|
674
|
-
// load the component dependencies (other UI5 libraries)
|
|
675
|
-
this.loadDependencies();
|
|
676
|
-
|
|
677
|
-
// load the custom scripts and CSS files
|
|
678
|
-
this.loadIncludes();
|
|
690
|
+
this.loadDependenciesAndIncludes();
|
|
679
691
|
|
|
680
692
|
// activate the static customizing
|
|
681
693
|
this.activateCustomizing();
|
|
@@ -688,7 +700,43 @@ sap.ui.define([
|
|
|
688
700
|
}
|
|
689
701
|
|
|
690
702
|
this._iInstanceCount++;
|
|
703
|
+
},
|
|
691
704
|
|
|
705
|
+
/**
|
|
706
|
+
* Executes checks, define the resource roots, load the dependencies and the includes.
|
|
707
|
+
*
|
|
708
|
+
* @param {boolean} bAsync indicator whether the dependent dependencies and includes should be loaded asynchronous
|
|
709
|
+
* @return {Promise<void>} Promise containing further promises of dependent libs and includes requests
|
|
710
|
+
*
|
|
711
|
+
* @private
|
|
712
|
+
*/
|
|
713
|
+
loadDependenciesAndIncludes: function (bAsync) {
|
|
714
|
+
if (this._pDependenciesAndIncludes) {
|
|
715
|
+
return this._pDependenciesAndIncludes;
|
|
716
|
+
}
|
|
717
|
+
// version check => only if minVersion is available a warning
|
|
718
|
+
// will be logged and the debug mode is turned on
|
|
719
|
+
this.checkUI5Version();
|
|
720
|
+
|
|
721
|
+
// define the resource roots
|
|
722
|
+
// => if not loaded via manifest first approach the resource roots
|
|
723
|
+
// will be registered too late for the AMD modules of the Component
|
|
724
|
+
// controller. This is a constraint for the resource roots config
|
|
725
|
+
// in the manifest!
|
|
726
|
+
this.defineResourceRoots();
|
|
727
|
+
|
|
728
|
+
// resolve "ui5://..." URLs after the resource-rooots have been defined
|
|
729
|
+
// this way all ui5 URLs can rely on any resource root definition
|
|
730
|
+
this._preprocess({
|
|
731
|
+
resolveUI5Urls: true
|
|
732
|
+
});
|
|
733
|
+
|
|
734
|
+
this._pDependenciesAndIncludes = Promise.all([
|
|
735
|
+
this._loadDependencies(bAsync), // load the component dependencies (other UI5 libraries)
|
|
736
|
+
this._loadIncludes(bAsync) // load the custom scripts and CSS files
|
|
737
|
+
]);
|
|
738
|
+
|
|
739
|
+
return this._pDependenciesAndIncludes;
|
|
692
740
|
},
|
|
693
741
|
|
|
694
742
|
/**
|
|
@@ -715,6 +763,7 @@ sap.ui.define([
|
|
|
715
763
|
// remove the custom scripts and CSS files
|
|
716
764
|
this.removeIncludes();
|
|
717
765
|
|
|
766
|
+
delete this._pDependenciesAndIncludes;
|
|
718
767
|
}
|
|
719
768
|
|
|
720
769
|
this._iInstanceCount = iInstanceCount;
|
|
@@ -900,12 +949,18 @@ sap.ui.define([
|
|
|
900
949
|
if (bAsync) {
|
|
901
950
|
return oManifestJSON.then(function(oManifestJSON) {
|
|
902
951
|
// callback for preprocessing the json, e.g. via flex-hook in Component
|
|
903
|
-
if (fnProcessJson) {
|
|
952
|
+
if (fnProcessJson && oManifestJSON) {
|
|
904
953
|
return fnProcessJson(oManifestJSON);
|
|
905
954
|
} else {
|
|
906
955
|
return oManifestJSON;
|
|
907
956
|
}
|
|
908
957
|
}).then(function(oManifestJSON) {
|
|
958
|
+
if (!oManifestJSON) {
|
|
959
|
+
// Loading manifest.json was not successful e.g. because there is no manifest.json
|
|
960
|
+
// This should be only the case if manifestFirst is true but there was
|
|
961
|
+
// no manifest.json
|
|
962
|
+
mSettings._bLoadManifestRequestFailed = true;
|
|
963
|
+
}
|
|
909
964
|
return new Manifest(oManifestJSON, mSettings);
|
|
910
965
|
});
|
|
911
966
|
}
|
|
@@ -942,4 +997,4 @@ sap.ui.define([
|
|
|
942
997
|
|
|
943
998
|
return Manifest;
|
|
944
999
|
|
|
945
|
-
});
|
|
1000
|
+
});
|