@openui5/sap.ui.core 1.119.1 → 1.120.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.
- package/THIRDPARTY.txt +6 -6
- package/package.json +1 -1
- package/src/jquery.sap.global.js +40 -111
- package/src/jquery.sap.properties.js +7 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +5 -3
- package/src/jquery.sap.storage.js +6 -3
- package/src/sap/base/Event.js +32 -78
- package/src/sap/base/Eventing.js +114 -271
- package/src/sap/base/Log.js +21 -1
- package/src/sap/base/config.js +14 -9
- package/src/sap/base/i18n/Formatting.js +400 -256
- package/src/sap/base/i18n/LanguageTag.js +64 -66
- package/src/sap/base/i18n/Localization.js +125 -87
- package/src/sap/base/i18n/ResourceBundle.js +1 -1
- package/src/sap/base/i18n/date/CalendarType.js +2 -2
- package/src/sap/base/i18n/date/CalendarWeekNumbering.js +2 -2
- package/src/sap/base/i18n/date/TimezoneUtils.js +43 -6
- package/src/sap/base/util/LoaderExtensions.js +8 -2
- package/src/sap/base/util/mixedFetch.js +1 -0
- package/src/sap/base/util/resolveReference.js +31 -13
- 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/base/util/syncFetch.js +1 -0
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +6 -7
- package/src/sap/ui/base/BindingInfo.js +3 -3
- package/src/sap/ui/base/BindingParser.js +5 -2
- package/src/sap/ui/base/DataType.js +57 -1
- package/src/sap/ui/base/DesignTime.js +69 -0
- package/src/sap/ui/base/Event.js +2 -2
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/ExpressionParser.js +25 -4
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +102 -85
- package/src/sap/ui/base/ManagedObjectMetadata.js +53 -31
- package/src/sap/ui/base/ManagedObjectObserver.js +1 -0
- package/src/sap/ui/base/Metadata.js +3 -3
- package/src/sap/ui/base/Object.js +19 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +3 -3
- package/src/sap/ui/core/AnimationMode.js +2 -2
- package/src/sap/ui/core/AppCacheBuster.js +30 -18
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/CalendarType.js +6 -0
- package/src/sap/ui/core/Component.js +175 -86
- package/src/sap/ui/core/ComponentContainer.js +6 -5
- package/src/sap/ui/core/ComponentMetadata.js +3 -4
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +395 -709
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/ControlBehavior.js +37 -28
- package/src/sap/ui/core/Core.js +338 -216
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +3 -1
- package/src/sap/ui/core/Element.js +24 -10
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +3 -2
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +3 -3
- 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 +13 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +2 -3
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +17 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +8 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +253 -57
- 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 +118 -32
- package/src/sap/ui/core/Manifest.js +4 -2
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Placeholder.js +18 -0
- package/src/sap/ui/core/Popup.js +5 -0
- package/src/sap/ui/core/RenderManager.js +21 -17
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.js +51 -47
- package/src/sap/ui/core/ResizeHandler.js +2 -2
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Shortcut.js +5 -3
- package/src/sap/ui/core/Supportability.js +146 -0
- package/src/sap/ui/core/Theming.js +130 -88
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +4 -3
- package/src/sap/ui/core/UIArea.js +5 -4
- package/src/sap/ui/core/UIComponent.js +38 -12
- 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 +3 -3
- package/src/sap/ui/core/_IconRegistry.js +13 -6
- package/src/sap/ui/core/cldr/ar.json +143 -137
- package/src/sap/ui/core/cldr/ar_EG.json +143 -137
- package/src/sap/ui/core/cldr/ar_SA.json +143 -137
- package/src/sap/ui/core/cldr/bg.json +423 -423
- package/src/sap/ui/core/cldr/ca.json +541 -494
- package/src/sap/ui/core/cldr/cs.json +475 -364
- package/src/sap/ui/core/cldr/cy.json +656 -477
- package/src/sap/ui/core/cldr/da.json +334 -275
- package/src/sap/ui/core/cldr/de.json +388 -291
- package/src/sap/ui/core/cldr/de_AT.json +388 -291
- package/src/sap/ui/core/cldr/de_CH.json +394 -297
- package/src/sap/ui/core/cldr/el.json +169 -166
- package/src/sap/ui/core/cldr/el_CY.json +169 -166
- package/src/sap/ui/core/cldr/en.json +558 -521
- package/src/sap/ui/core/cldr/en_AU.json +558 -520
- package/src/sap/ui/core/cldr/en_GB.json +476 -439
- package/src/sap/ui/core/cldr/en_HK.json +520 -482
- package/src/sap/ui/core/cldr/en_IE.json +486 -448
- package/src/sap/ui/core/cldr/en_IN.json +466 -428
- package/src/sap/ui/core/cldr/en_NZ.json +506 -468
- package/src/sap/ui/core/cldr/en_PG.json +506 -468
- package/src/sap/ui/core/cldr/en_SG.json +506 -468
- package/src/sap/ui/core/cldr/en_ZA.json +486 -448
- package/src/sap/ui/core/cldr/es.json +473 -468
- package/src/sap/ui/core/cldr/es_AR.json +445 -440
- package/src/sap/ui/core/cldr/es_BO.json +479 -474
- package/src/sap/ui/core/cldr/es_CL.json +469 -464
- package/src/sap/ui/core/cldr/es_CO.json +387 -381
- package/src/sap/ui/core/cldr/es_MX.json +502 -497
- package/src/sap/ui/core/cldr/es_PE.json +455 -450
- package/src/sap/ui/core/cldr/es_UY.json +479 -474
- package/src/sap/ui/core/cldr/es_VE.json +499 -494
- package/src/sap/ui/core/cldr/et.json +378 -320
- package/src/sap/ui/core/cldr/fa.json +104 -104
- package/src/sap/ui/core/cldr/fi.json +401 -315
- package/src/sap/ui/core/cldr/fr.json +391 -385
- package/src/sap/ui/core/cldr/fr_BE.json +391 -385
- package/src/sap/ui/core/cldr/fr_CA.json +499 -493
- package/src/sap/ui/core/cldr/fr_CH.json +334 -328
- package/src/sap/ui/core/cldr/fr_LU.json +391 -385
- package/src/sap/ui/core/cldr/he.json +291 -159
- package/src/sap/ui/core/cldr/hi.json +157 -128
- package/src/sap/ui/core/cldr/hr.json +514 -461
- package/src/sap/ui/core/cldr/hu.json +287 -257
- package/src/sap/ui/core/cldr/id.json +463 -416
- package/src/sap/ui/core/cldr/it.json +468 -413
- package/src/sap/ui/core/cldr/it_CH.json +468 -413
- package/src/sap/ui/core/cldr/ja.json +98 -61
- package/src/sap/ui/core/cldr/kk.json +631 -571
- package/src/sap/ui/core/cldr/ko.json +79 -71
- package/src/sap/ui/core/cldr/lt.json +361 -270
- package/src/sap/ui/core/cldr/lv.json +234 -242
- package/src/sap/ui/core/cldr/ms.json +463 -408
- package/src/sap/ui/core/cldr/nb.json +176 -143
- package/src/sap/ui/core/cldr/nl.json +463 -393
- package/src/sap/ui/core/cldr/nl_BE.json +463 -393
- package/src/sap/ui/core/cldr/pl.json +633 -344
- package/src/sap/ui/core/cldr/pt.json +447 -336
- package/src/sap/ui/core/cldr/pt_PT.json +488 -449
- package/src/sap/ui/core/cldr/ro.json +477 -383
- package/src/sap/ui/core/cldr/ru.json +367 -332
- package/src/sap/ui/core/cldr/ru_UA.json +361 -326
- package/src/sap/ui/core/cldr/sk.json +502 -537
- package/src/sap/ui/core/cldr/sl.json +168 -161
- package/src/sap/ui/core/cldr/sr.json +276 -225
- package/src/sap/ui/core/cldr/sr_Latn.json +972 -907
- package/src/sap/ui/core/cldr/sv.json +420 -346
- package/src/sap/ui/core/cldr/th.json +117 -94
- package/src/sap/ui/core/cldr/tr.json +413 -359
- package/src/sap/ui/core/cldr/uk.json +395 -368
- package/src/sap/ui/core/cldr/vi.json +392 -379
- package/src/sap/ui/core/cldr/zh_CN.json +91 -33
- package/src/sap/ui/core/cldr/zh_HK.json +90 -32
- package/src/sap/ui/core/cldr/zh_SG.json +90 -32
- package/src/sap/ui/core/cldr/zh_TW.json +75 -51
- package/src/sap/ui/core/date/CalendarWeekNumbering.js +6 -0
- package/src/sap/ui/core/date/Islamic.js +4 -4
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/date/_Calendars.js +5 -2
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +3 -2
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +33 -21
- package/src/sap/ui/core/format/NumberFormat.js +3 -2
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +2 -2
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +128 -8
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +2 -2
- package/src/sap/ui/core/message/MessageManager.js +1 -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/message/MessageType.js +2 -1
- package/src/sap/ui/core/messagebundle.properties +24 -0
- package/src/sap/ui/core/messagebundle_ar.properties +15 -3
- package/src/sap/ui/core/messagebundle_bg.properties +14 -2
- package/src/sap/ui/core/messagebundle_ca.properties +13 -1
- package/src/sap/ui/core/messagebundle_cs.properties +15 -3
- package/src/sap/ui/core/messagebundle_cy.properties +16 -4
- package/src/sap/ui/core/messagebundle_da.properties +15 -3
- package/src/sap/ui/core/messagebundle_de.properties +15 -3
- package/src/sap/ui/core/messagebundle_el.properties +16 -4
- package/src/sap/ui/core/messagebundle_en.properties +12 -0
- package/src/sap/ui/core/messagebundle_en_GB.properties +16 -4
- package/src/sap/ui/core/messagebundle_es.properties +15 -3
- package/src/sap/ui/core/messagebundle_es_MX.properties +15 -3
- package/src/sap/ui/core/messagebundle_et.properties +15 -3
- package/src/sap/ui/core/messagebundle_fi.properties +15 -3
- package/src/sap/ui/core/messagebundle_fr.properties +15 -3
- package/src/sap/ui/core/messagebundle_fr_CA.properties +14 -2
- package/src/sap/ui/core/messagebundle_hi.properties +16 -4
- package/src/sap/ui/core/messagebundle_hr.properties +14 -2
- package/src/sap/ui/core/messagebundle_hu.properties +16 -4
- package/src/sap/ui/core/messagebundle_id.properties +15 -3
- package/src/sap/ui/core/messagebundle_it.properties +17 -5
- package/src/sap/ui/core/messagebundle_iw.properties +15 -3
- package/src/sap/ui/core/messagebundle_ja.properties +25 -13
- package/src/sap/ui/core/messagebundle_kk.properties +15 -3
- package/src/sap/ui/core/messagebundle_ko.properties +14 -2
- package/src/sap/ui/core/messagebundle_lt.properties +15 -3
- package/src/sap/ui/core/messagebundle_lv.properties +15 -3
- package/src/sap/ui/core/messagebundle_mk.properties +352 -0
- package/src/sap/ui/core/messagebundle_ms.properties +15 -3
- package/src/sap/ui/core/messagebundle_nl.properties +15 -3
- package/src/sap/ui/core/messagebundle_no.properties +14 -2
- package/src/sap/ui/core/messagebundle_pl.properties +15 -3
- package/src/sap/ui/core/messagebundle_pt.properties +15 -3
- package/src/sap/ui/core/messagebundle_pt_PT.properties +14 -2
- package/src/sap/ui/core/messagebundle_ro.properties +15 -3
- package/src/sap/ui/core/messagebundle_ru.properties +15 -3
- package/src/sap/ui/core/messagebundle_sh.properties +43 -31
- package/src/sap/ui/core/messagebundle_sk.properties +16 -4
- package/src/sap/ui/core/messagebundle_sl.properties +15 -3
- package/src/sap/ui/core/messagebundle_sv.properties +22 -10
- package/src/sap/ui/core/messagebundle_th.properties +15 -3
- package/src/sap/ui/core/messagebundle_tr.properties +15 -3
- package/src/sap/ui/core/messagebundle_uk.properties +18 -6
- package/src/sap/ui/core/messagebundle_vi.properties +18 -6
- package/src/sap/ui/core/messagebundle_zh_CN.properties +15 -3
- package/src/sap/ui/core/messagebundle_zh_TW.properties +15 -3
- package/src/sap/ui/core/mvc/Controller.js +22 -16
- package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
- package/src/sap/ui/core/mvc/EventHandlerResolver.js +5 -15
- package/src/sap/ui/core/mvc/HTMLView.js +2 -2
- package/src/sap/ui/core/mvc/JSONView.js +4 -1
- package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -0
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/OverrideExecution.js +4 -4
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +25 -15
- package/src/sap/ui/core/mvc/ViewType.js +2 -0
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +2 -1
- package/src/sap/ui/core/plugin/LessSupport.js +3 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/Router.js +2 -4
- package/src/sap/ui/core/routing/Target.js +1 -3
- package/src/sap/ui/core/routing/Targets.js +2 -3
- package/src/sap/ui/core/routing/Views.js +2 -3
- package/src/sap/ui/core/routing/async/Target.js +1 -1
- package/src/sap/ui/core/rules/Config.support.js +11 -17
- package/src/sap/ui/core/search/OpenSearchProvider.js +2 -1
- package/src/sap/ui/core/search/SearchProvider.js +2 -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/Hotkeys.js +5 -3
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -3
- package/src/sap/ui/core/support/Support.js +3 -5
- package/src/sap/ui/core/support/ToolsAPI.js +15 -11
- package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
- package/src/sap/ui/core/support/plugins/Interaction.js +4 -4
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +7 -5
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +3 -1
- package/src/sap/ui/core/syncStyleClass.js +2 -2
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/themes/base/global.less +9 -9
- package/src/sap/ui/core/theming/Parameters.js +18 -19
- package/src/sap/ui/core/theming/ThemeManager.js +23 -4
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +3 -0
- package/src/sap/ui/core/util/_LocalizationHelper.js +122 -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 +4 -4
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +29 -7
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientListBinding.js +9 -4
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +9 -4
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/DataState.js +2 -2
- package/src/sap/ui/model/Filter.js +39 -1
- package/src/sap/ui/model/FilterProcessor.js +15 -5
- package/src/sap/ui/model/ListBinding.js +5 -0
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +4 -4
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +14 -8
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/TreeBinding.js +3 -0
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +3 -1
- package/src/sap/ui/model/json/JSONListBinding.js +3 -1
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/json/JSONTreeBinding.js +3 -2
- package/src/sap/ui/model/message/MessageListBinding.js +3 -0
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/AnnotationHelper.js +9 -3
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +8 -2
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +9 -5
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -2
- package/src/sap/ui/model/odata/ODataTreeBinding.js +2 -0
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +9 -14
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +40 -15
- package/src/sap/ui/model/odata/v2/ODataModel.js +26 -62
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +38 -4
- package/src/sap/ui/model/odata/v4/Context.js +81 -7
- package/src/sap/ui/model/odata/v4/ODataBinding.js +3 -0
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +217 -75
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataModel.js +6 -6
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +406 -199
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +12 -7
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +53 -30
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +6 -4
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +6 -6
- package/src/sap/ui/model/resource/ResourceModel.js +5 -6
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLListBinding.js +3 -0
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/model/xml/XMLTreeBinding.js +3 -0
- package/src/sap/ui/performance/BeaconRequest.js +2 -2
- package/src/sap/ui/performance/trace/Interaction.js +20 -16
- package/src/sap/ui/qunit/QUnitUtils.js +64 -45
- package/src/sap/ui/qunit/qunit-coverage.js +6 -0
- package/src/sap/ui/qunit/utils/ControlIterator.js +31 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/security/Security.js +128 -0
- package/src/sap/ui/test/BlanketReporter.js +2 -3
- package/src/sap/ui/test/BlanketReporterUI.view.xml +1 -1
- package/src/sap/ui/test/BranchTracking.js +2 -3
- package/src/sap/ui/test/ModuleTracking.js +48 -20
- package/src/sap/ui/test/OpaExtension.js +3 -3
- package/src/sap/ui/test/OpaPlugin.js +16 -6
- package/src/sap/ui/test/TestUtils.js +7 -4
- package/src/sap/ui/test/_BrowserLogCollector.js +1 -0
- package/src/sap/ui/test/_ControlFinder.js +3 -2
- package/src/sap/ui/test/_LogCollector.js +1 -0
- package/src/sap/ui/test/_UsageReport.js +115 -114
- package/src/sap/ui/test/actions/EnterText.js +24 -2
- package/src/sap/ui/test/autowaiter/WaiterBase.js +1 -0
- package/src/sap/ui/test/autowaiter/_moduleWaiter.js +1 -2
- package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +1 -1
- package/src/sap/ui/test/generic/GenericTestCollection.js +5 -0
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/generic/Utils.js +1 -1
- package/src/sap/ui/test/matchers/LabelFor.js +2 -12
- package/src/sap/ui/test/matchers/Matcher.js +1 -1
- package/src/sap/ui/test/pipelines/PipelineFactory.js +1 -0
- package/src/sap/ui/test/selectors/_Selector.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +84 -11
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/manifest.json +3 -10
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/localService/mockserver.js +3 -4
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/ChartAnnotation.fragment.xml +7 -7
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Component.js +2 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Detail.view.xml +12 -13
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Facets.fragment.xml +4 -4
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Field.fragment.xml +8 -8
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/FormFacet.fragment.xml +3 -5
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/LabeledField.fragment.xml +3 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Table.fragment.xml +10 -10
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/TableFacet.fragment.xml +3 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/extension/HeaderInfo.fragment.xml +1 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Field.fragment.xml +2 -2
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Template.view.xml +19 -21
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/TemplateV4.view.xml +2 -2
- package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Component.js +2 -3
- package/test/sap/ui/core/demokit/sample/common/SandboxModelHelper.js +2 -3
- package/test/sap/ui/core/demokit/sample/common/ValueHelp.js +2 -3
- package/test/sap/ui/core/demokit/sample/common/pages/Any.js +7 -8
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/Component.js +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +15 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +3 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +39 -16
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +18 -21
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +509 -395
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +586 -422
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Facets.fragment.xml +22 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/FormattedText.fragment.xml +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Main.view.xml +7 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +0 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +54 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +34 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +156 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.view.xml +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Facets.fragment.xml +22 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/FormattedText.fragment.xml +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Main.view.xml +5 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.controller.js +2 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/01/Component.js +9 -25
- package/test/sap/ui/core/demokit/tutorial/databinding/01/manifest.json +20 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/02/Component.js +9 -25
- package/test/sap/ui/core/demokit/tutorial/databinding/02/manifest.json +20 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/03/Component.js +9 -25
- package/test/sap/ui/core/demokit/tutorial/databinding/03/manifest.json +20 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/04/Component.js +9 -26
- package/test/sap/ui/core/demokit/tutorial/databinding/04/manifest.json +21 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/05/Component.js +9 -26
- package/test/sap/ui/core/demokit/tutorial/databinding/05/manifest.json +21 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/06/Component.js +9 -27
- package/test/sap/ui/core/demokit/tutorial/databinding/06/manifest.json +22 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/07/Component.js +9 -28
- package/test/sap/ui/core/demokit/tutorial/databinding/07/manifest.json +23 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/Component.js +9 -28
- package/test/sap/ui/core/demokit/tutorial/databinding/08/manifest.json +23 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/09/Component.js +9 -29
- package/test/sap/ui/core/demokit/tutorial/databinding/09/manifest.json +24 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/10/Component.js +9 -29
- package/test/sap/ui/core/demokit/tutorial/databinding/10/manifest.json +24 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/11/Component.js +9 -29
- package/test/sap/ui/core/demokit/tutorial/databinding/11/manifest.json +24 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/12/Component.js +9 -30
- package/test/sap/ui/core/demokit/tutorial/databinding/12/manifest.json +25 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/13/Component.js +9 -30
- package/test/sap/ui/core/demokit/tutorial/databinding/13/manifest.json +25 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/14/Component.js +9 -30
- package/test/sap/ui/core/demokit/tutorial/databinding/14/manifest.json +25 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/15/Component.js +9 -32
- package/test/sap/ui/core/demokit/tutorial/databinding/15/manifest.json +27 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/Component.js +9 -30
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/manifest.json +24 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/Component.js +9 -33
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/manifest.json +27 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/Component.js +9 -33
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/manifest.json +27 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/Component.js +9 -33
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/manifest.json +27 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/01/Component.js +9 -33
- package/test/sap/ui/core/demokit/tutorial/navigation/01/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/02/Component.js +9 -35
- package/test/sap/ui/core/demokit/tutorial/navigation/02/manifest.json +30 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/03/Component.js +9 -37
- package/test/sap/ui/core/demokit/tutorial/navigation/03/manifest.json +32 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/04/Component.js +9 -38
- package/test/sap/ui/core/demokit/tutorial/navigation/04/manifest.json +33 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/05/Component.js +9 -38
- package/test/sap/ui/core/demokit/tutorial/navigation/05/manifest.json +33 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/06/Component.js +9 -40
- package/test/sap/ui/core/demokit/tutorial/navigation/06/manifest.json +35 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/07/Component.js +9 -42
- package/test/sap/ui/core/demokit/tutorial/navigation/07/manifest.json +37 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/08/Component.js +9 -45
- package/test/sap/ui/core/demokit/tutorial/navigation/08/manifest.json +40 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/09/Component.js +9 -45
- package/test/sap/ui/core/demokit/tutorial/navigation/09/manifest.json +40 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/10/Component.js +9 -47
- package/test/sap/ui/core/demokit/tutorial/navigation/10/manifest.json +42 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/11/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/11/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/12/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/12/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/13/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/13/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/14/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/14/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/15/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/15/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/16/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/16/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/17/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/17/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/Component.js +9 -29
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/manifest.json +25 -0
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +2 -2
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +2 -3
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +2 -3
- package/test/sap/ui/core/qunit/ClientModel.qunit.js +28 -28
- package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +18 -0
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +4 -3
- package/test/sap/ui/core/qunit/Core.qunit.js +5 -14
- package/test/sap/ui/core/qunit/Core_libraryPreloadFiles.qunit.js +4 -4
- package/test/sap/ui/core/qunit/Core_libraryPreloadFiles_unavoidablyUsingEval.qunit.js +6 -6
- package/test/sap/ui/core/qunit/Core_unavoidablyUsingEval.qunit.js +31 -30
- package/test/sap/ui/core/qunit/DataState.qunit.js +7 -4
- package/test/sap/ui/core/qunit/DuplicateIds.qunit.js +3 -0
- package/test/sap/ui/core/qunit/DuplicateIds_noError.qunit.js +4 -0
- package/test/sap/ui/core/qunit/Element_metadata_renderer.qunit.js +6 -0
- package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +144 -85
- package/test/sap/ui/core/qunit/HTML.qunit.js +87 -84
- package/test/sap/ui/core/qunit/InvisibleText.qunit.js +22 -1
- package/test/sap/ui/core/qunit/LRUPersistentCache.qunit.js +4 -4
- package/test/sap/ui/core/qunit/Lib.qunit.js +64 -1
- package/test/sap/ui/core/qunit/ListBinding.qunit.js +14 -1
- package/test/sap/ui/core/qunit/ManagedObject.qunit.js +90 -4
- package/test/sap/ui/core/qunit/ManagedObjectMetadata.qunit.js +41 -40
- package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +2 -1
- package/test/sap/ui/core/qunit/{ManagedObject_noBoot.qunit.js → ManagedObject_BindingParser.qunit.js} +10 -9
- package/test/sap/ui/core/qunit/Object.qunit.js +36 -0
- package/test/sap/ui/core/qunit/RenderManager.qunit.js +86 -94
- package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +11 -97
- package/test/sap/ui/core/qunit/StaticBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/UIArea.qunit.js +34 -35
- package/test/sap/ui/core/qunit/analytics/AnalyticalTreeBindingAdapter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +3 -0
- package/test/sap/ui/core/qunit/app/DesignMode_controllerDeactivated.qunit.js +5 -6
- package/test/sap/ui/core/qunit/app/DesignMode_suppressedDeactivation.qunit.js +5 -6
- package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/app/_createDesignModeTests_legacyAPIs.qunit.js +8 -10
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +2 -2
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +49 -30
- package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +123 -10
- package/test/sap/ui/core/qunit/base/util/resolveReference.qunit.js +9 -0
- package/test/sap/ui/core/qunit/base/util/testdata/MyModule.js +5 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.beforeBootstrap.qunit.js +4 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.html +1 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +9 -10
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload_legacyAPIs.qunit.js +0 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithinBody.qunit.html +2 -1
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithinHead.qunit.html +2 -1
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +122 -266
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibConfigured.qunit.html +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibConfigured.qunit.js +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibLoaded.qunit.html +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibLoaded.qunit.js +16 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibNotLoaded.qunit.html +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibNotLoaded.qunit.js +14 -0
- package/test/sap/ui/core/qunit/bootstrap/ControlBehavior.qunit.js +110 -0
- package/test/sap/ui/core/qunit/bootstrap/PreloadCfg.qunit.js +4 -3
- package/test/sap/ui/core/qunit/bootstrap/ResourceRoot_ResourcesURL_Standard.qunit.html +1 -1
- package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.beforeBootstrap.qunit.js +2 -3
- package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +39 -34
- package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted_legacyAPIs.qunit.js +5 -1
- package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +51 -15
- package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery-compat.qunit.html +23 -0
- package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery-compat.qunit.js +1 -1
- package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery.sap.stubs.qunit.js +16 -20
- package/test/sap/ui/core/qunit/compat_legacyAPIs/testsuite.compat.qunit.js +1 -4
- package/test/sap/ui/core/qunit/component/Component.qunit.js +100 -7
- package/test/sap/ui/core/qunit/component/Models.qunit.js +3 -1
- package/test/sap/ui/core/qunit/component/Preloading.qunit.js +8 -12
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +8 -2
- package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Component.js +23 -0
- package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Main.view.xml +8 -0
- package/test/sap/ui/core/qunit/component/testdata/routerPreloading/manifest.json +34 -0
- package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Component.js +23 -0
- package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Main.view.xml +8 -0
- package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/manifest.json +28 -0
- package/test/sap/ui/core/qunit/date/_Calendars.qunit.js +52 -0
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +18 -0
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaksUsingIterator.qunit.js +3 -4
- package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +18 -0
- package/test/sap/ui/core/qunit/generic/legacy/SettersContextReturn.qunit.js +15 -0
- package/test/sap/ui/core/qunit/generic/testsuite.generic.qunit.js +21 -0
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessAmbiguous.js +2 -3
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessDuplicate.js +2 -3
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessFailing.js +2 -3
- package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.html +16 -0
- package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.js +1 -1
- package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.html +16 -0
- package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.js +1 -1
- package/test/sap/ui/core/qunit/gherkin/testsuite.gherkin.qunit.js +3 -2
- package/test/sap/ui/core/qunit/i18n/Buddhist.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/GenericLocaleData.qunit.js +217 -114
- package/test/sap/ui/core/qunit/i18n/Islamic.qunit.js +7 -4
- package/test/sap/ui/core/qunit/i18n/Japanese.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +341 -7
- package/test/sap/ui/core/qunit/i18n/Persian.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +10 -1
- package/test/sap/ui/core/qunit/i18n/helper/_timezones.js +17 -11
- package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +7 -1
- package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +5 -1
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +2 -2
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
- package/test/sap/ui/core/qunit/internal/AnnotationParser.qunit.html +1 -2
- package/test/sap/ui/core/qunit/internal/ODataV4.qunit.html +6 -1
- package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +2 -1
- package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.html +24 -0
- package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.js +12 -6
- package/test/sap/ui/core/qunit/jquery.sap.global-config_beforeBootstrap.qunit.js +1 -1
- package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +30 -0
- package/test/sap/ui/core/qunit/loader/exposeAsAMDLoader.qunit.html +1 -0
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +5 -2
- package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +5 -2
- package/test/sap/ui/core/qunit/model/ClientTreeBindingAdapter.qunit.js +6 -0
- package/test/sap/ui/core/qunit/model/CompositeDataState.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Context.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ContextBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Filter.qunit.js +49 -0
- package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +68 -1
- package/test/sap/ui/core/qunit/model/ListBinding.qunit.js +23 -5
- package/test/sap/ui/core/qunit/model/Model.qunit.js +46 -2
- package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Sorter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/TreeBinding.qunit.js +43 -3
- package/test/sap/ui/core/qunit/model/TreeBindingAdapter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +107 -93
- package/test/sap/ui/core/qunit/mvc/View.qunit.js +3 -0
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +17 -14
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +23 -12
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +29 -82
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML_unavoidablySync.qunit.js +123 -0
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +4 -0
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +4 -0
- package/test/sap/ui/core/qunit/mvc/testsuite.mvc.qunit.js +16 -0
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +408 -419
- package/test/sap/ui/core/qunit/odata/AnnotationHelper.qunit.js +6 -4
- package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +16 -0
- package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +8 -1
- package/test/sap/ui/core/qunit/odata/ODataModel_legacyAPIs.qunit.js +22 -22
- package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +5 -1
- package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/type/DateTimeWithTimezone.qunit.js +6 -6
- package/test/sap/ui/core/qunit/odata/type/Time.qunit.js +3 -4
- package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +52 -29
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +952 -292
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +8 -15
- package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBindingNoFakeService.qunit.js +6 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +215 -1
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +211 -20
- package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +32 -36
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +3 -2
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +69 -2
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +19 -9
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +601 -99
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +5 -5
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1896 -407
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +7 -5
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +909 -422
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +21 -6
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +104 -33
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +8 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +9 -9
- package/test/sap/ui/core/qunit/odata/v4/lib/_V2MetadataConverter.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_V4MetadataConverter.qunit.js +3 -3
- package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +16 -0
- package/test/sap/ui/core/qunit/opa/_LogCollector.qunit.js +17 -9
- package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +66 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_timeoutWaiter.js +11 -0
- package/test/sap/ui/core/qunit/opa/fixture/miniUI5Site.js +14 -8
- package/test/sap/ui/core/qunit/opa/fixture/uncaughtError.js +18 -12
- package/test/sap/ui/core/qunit/performance/BeaconRequest.qunit.js +18 -2
- package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +11 -2
- package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +4 -7
- package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +1 -0
- package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +5 -4
- package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +20 -18
- package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +1 -4
- package/test/sap/ui/core/qunit/routing/fixture/routingConfig/Component.js +2 -25
- package/test/sap/ui/core/qunit/routing/fixture/routingConfig/manifest.json +28 -0
- package/test/sap/ui/core/qunit/rule/misc/silentEventBus.qunit.js +1 -2
- package/test/sap/ui/core/qunit/testdata/libraries/scenario11/lib1/library.js +11 -0
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library-preload.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library-preload.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/terminologies/integration/lib/library-preload.js +1 -1
- package/test/sap/ui/core/qunit/testdata/shortcutHints/Component.js +9 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/RootView.controller.js +8 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/RootView.view.xml +16 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/lib/MyControl.js +27 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/manifest.json +26 -0
- package/test/sap/ui/core/qunit/testdata/uilib-custom-theme-fallback/library.js +4 -5
- package/test/sap/ui/core/qunit/testdata/uilib-failing-css-import/library.js +5 -6
- package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.controller.js +2 -1
- package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.view.xml +18 -1
- package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +3 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +0 -4
- package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +6 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.managed.object.qunit.js +4 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.modular.core.qunit.js +1 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.security.qunit.js +3 -9
- package/test/sap/ui/core/qunit/types/DataType.qunit.js +14 -3
- package/test/sap/ui/core/qunit/types/Date.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +391 -147
- package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +32 -29
- package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +7 -4
- package/test/sap/ui/core/qunit/types/FileSizeFormat.qunit.js +5 -1
- package/test/sap/ui/core/qunit/types/ListFormat.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/NumberFormat.qunit.js +4 -3
- package/test/sap/ui/core/qunit/types/NumberFormatCurrencies.qunit.js +5 -4
- package/test/sap/ui/core/qunit/types/NumberFormatCurrenciesTrailing.qunit.js +4 -3
- package/test/sap/ui/core/qunit/types/SimpleType.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/TimezoneUtil.qunit.js +23 -0
- package/test/sap/ui/core/qunit/types/Types.qunit.js +44 -10
- package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +3 -0
- package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +592 -83
- package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-allowlist.js +7 -0
- package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-frameOptions.js +7 -0
- package/test/sap/ui/core/qunit/{bootstrap/CfgFromGlobalObject.qunit.html → util/jQuery.sap.FrameOptions-meta-tag-override-mode.qunit.html} +7 -11
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-mode.qunit.js +3 -4
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-service.qunit.html +26 -0
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-service.qunit.js +3 -4
- package/test/sap/ui/core/qunit/{bootstrap/CfgDefaults.qunit.html → util/jQuery.sap.FrameOptions-meta-tag.qunit.html} +5 -8
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag.qunit.js +3 -4
- package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +10 -10
- package/test/sap/ui/core/qunit/util/jquery.sap.logger.qunit.html +18 -0
- package/test/sap/ui/core/qunit/util/jquery.sap.resources.qunit.js +1 -1
- package/test/sap/ui/core/qunit/util/testsuite.util.qunit.js +1 -3
- package/test/sap/ui/core/qunit/xml/XMLListBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +3 -0
- package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +3 -0
- package/test/sap/ui/core/relnotes/changes-1.119.json +1 -12
- package/test/sap/ui/core/relnotes/changes-1.120.json +442 -0
- package/test/sap/ui/core/terminologies/App.controller.js +2 -3
- package/test/sap/ui/core/terminologies/main.js +2 -3
- package/test/sap/ui/test/qunit/TestUtils.qunit.js +3 -3
- package/src/sap/ui/core/ConfigTest.js +0 -17
- package/src/sap/ui/core/_ConfigurationProvider.js +0 -187
- package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +0 -57
- package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +0 -71
- package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.html +0 -29
- package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.js +0 -40
- package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.beforeBootstrap.qunit.js +0 -20
- package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.qunit.js +0 -40
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.html +0 -42
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +0 -49
- package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +0 -96
- package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-meta-tag.js +0 -10
- package/test/sap/ui/core/samples/mvc/JSONView.html +0 -65
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"dataSources" : {
|
|
9
9
|
"default" : {
|
|
10
|
-
"uri" : "/sap/opu/odata4/sap/
|
|
10
|
+
"uri" : "/sap/opu/odata4/sap/zjb_sadl_rs_hier_dir_v4/srvd/sap/zjb_sadl_rs_hier_dir_sd/0001/",
|
|
11
11
|
"type" : "OData",
|
|
12
12
|
"settings" : {
|
|
13
13
|
"odataVersion" : "4.0"
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
sap.ui.define([
|
|
6
|
-
"sap/base/util/UriParameters",
|
|
7
6
|
"sap/m/Button",
|
|
8
7
|
"sap/m/library",
|
|
9
8
|
"sap/m/Dialog",
|
|
@@ -19,13 +18,13 @@ sap.ui.define([
|
|
|
19
18
|
"sap/ui/model/Sorter",
|
|
20
19
|
"sap/ui/model/odata/v4/ODataModel",
|
|
21
20
|
"sap/ui/test/TestUtils"
|
|
22
|
-
], function (
|
|
21
|
+
], function (Button, mobileLibrary, Dialog, Input, Label, MessageToast, Text,
|
|
23
22
|
Controller, Title, UI5Date, _ColumnLayout, SimpleForm, Sorter, ODataModel, TestUtils) {
|
|
24
23
|
"use strict";
|
|
25
24
|
|
|
26
25
|
// shortcut for sap.m.ButtonType
|
|
27
26
|
var ButtonType = mobileLibrary.ButtonType,
|
|
28
|
-
sOptimisticBatch =
|
|
27
|
+
sOptimisticBatch = new URLSearchParams(window.location.search).get("optimisticBatch");
|
|
29
28
|
|
|
30
29
|
return Controller.extend("sap.ui.core.sample.odata.v4.LateProperties.Main", {
|
|
31
30
|
onCleanUpOptimisticBatchCache : function (oEvent) {
|
|
@@ -1,30 +1,29 @@
|
|
|
1
1
|
<core:FragmentDefinition
|
|
2
|
+
template:require="{AH : 'sap/ui/model/odata/v4/AnnotationHelper'}"
|
|
2
3
|
xmlns="sap.m"
|
|
3
4
|
xmlns:core="sap.ui.core"
|
|
4
5
|
xmlns:scenario="sap.ui.core.sample.ViewTemplate.scenario"
|
|
5
6
|
xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1">
|
|
6
7
|
<!-- Note: "facets>" MUST point to Collection(com.sap.vocabularies.UI.v1.Facet) -->
|
|
7
|
-
<template:
|
|
8
|
-
<template:
|
|
9
|
-
<template:
|
|
10
|
-
<
|
|
11
|
-
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
</template:repeat>
|
|
29
|
-
</template:alias>
|
|
8
|
+
<template:repeat list="{facets>}" var="facet">
|
|
9
|
+
<template:if test="{:= ${facet>$Type} === 'com.sap.vocabularies.UI.v1.CollectionFacet' }">
|
|
10
|
+
<template:then>
|
|
11
|
+
<Label design="Bold" text="Collection Facet '{facet>Label}'"/>
|
|
12
|
+
<template:with path="facet>Facets" var="facets">
|
|
13
|
+
<core:Fragment
|
|
14
|
+
fragmentName="sap.ui.core.sample.odata.v4.ListBindingTemplate.Facets"
|
|
15
|
+
type="XML"/>
|
|
16
|
+
</template:with>
|
|
17
|
+
<Label text="End of Collection Facet '{facet>Label}'"/>
|
|
18
|
+
</template:then>
|
|
19
|
+
<template:else>
|
|
20
|
+
<!-- if test="{:= ${facet>$Type} === 'com.sap.vocabularies.UI.v1.ReferenceFacet' }" -->
|
|
21
|
+
<!-- Note: alias "AH" is used only once to test both ways! -->
|
|
22
|
+
<Text text="Facet: {facet>Label},
|
|
23
|
+
Target: {facet>Target/$AnnotationPath},
|
|
24
|
+
isMultiple: {facet>Target/$AnnotationPath@@AH.isMultiple},
|
|
25
|
+
getNavigationPath: {facet>Target/$AnnotationPath@@sap.ui.model.odata.v4.AnnotationHelper.getNavigationPath}"/>
|
|
26
|
+
</template:else>
|
|
27
|
+
</template:if>
|
|
28
|
+
</template:repeat>
|
|
30
29
|
</core:FragmentDefinition>
|
package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/FormattedText.fragment.xml
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
<core:FragmentDefinition
|
|
2
|
-
template:require="sap
|
|
2
|
+
template:require="{Helper: 'sap/ui/core/sample/odata/v4/ListBindingTemplate/Helper'}"
|
|
3
3
|
xmlns="sap.m"
|
|
4
4
|
xmlns:core="sap.ui.core"
|
|
5
5
|
xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1">
|
|
6
|
-
<template:alias name="format"
|
|
7
|
-
value="sap.ui.core.sample.odata.v4.ListBindingTemplate.Helper.format">
|
|
6
|
+
<template:alias name="format" value="Helper.format">
|
|
8
7
|
<template:if test="{= ${objectWithKind>$kind} === 'EntityContainer' }">
|
|
9
8
|
<template:then>
|
|
10
9
|
<Text text="{objectWithKind>@sapui.name}/$kind: ~EntityContainer~"/>
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
<mvc:View
|
|
2
2
|
controllerName="sap.ui.core.sample.odata.v4.ListBindingTemplate.Main"
|
|
3
|
-
template:require="{
|
|
4
|
-
|
|
3
|
+
template:require="{AH : 'sap/ui/model/odata/v4/AnnotationHelper',
|
|
4
|
+
Helper : 'sap/ui/core/sample/odata/v4/ListBindingTemplate/Helper'}"
|
|
5
5
|
xmlns="sap.m"
|
|
6
6
|
xmlns:ce="sap.ui.codeeditor"
|
|
7
7
|
xmlns:core="sap.ui.core"
|
|
8
8
|
xmlns:demo="sap.ui.core.sample.common"
|
|
9
9
|
xmlns:mvc="sap.ui.core.mvc"
|
|
10
10
|
xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1">
|
|
11
|
-
<template:alias name="getValueListType" value="
|
|
11
|
+
<template:alias name="getValueListType" value="AH.getValueListType">
|
|
12
12
|
<template:alias name="stringify" value="Helper.stringify">
|
|
13
|
-
<template:alias name="format" value="
|
|
14
|
-
<template:alias name="value" value="
|
|
15
|
-
<template:alias name="label" value="
|
|
13
|
+
<template:alias name="format" value="AH.format">
|
|
14
|
+
<template:alias name="value" value="AH.value">
|
|
15
|
+
<template:alias name="label" value="AH.label">
|
|
16
16
|
<VBox>
|
|
17
17
|
<HBox>
|
|
18
18
|
<ToggleButton icon="sap-icon://syntax" press="onSourceCode"
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
<Label text="meta>/Equipments/@com.sap.vocabularies.UI.v1.LineItem/4/Value/$Path@com.sap.vocabularies.Common.v1.QuickInfo@@value"/>
|
|
124
124
|
<Text text="{path : 'meta>/Equipments/@com.sap.vocabularies.UI.v1.LineItem/4/Value/$Path@com.sap.vocabularies.Common.v1.QuickInfo@@value', formatter : 'stringify'}"/>
|
|
125
125
|
|
|
126
|
-
<template:with path="meta>/Equipments/@com.sap.vocabularies.UI.v1.LineItem/4/Value/$Path" helper="
|
|
126
|
+
<template:with path="meta>/Equipments/@com.sap.vocabularies.UI.v1.LineItem/4/Value/$Path" helper="AH.resolve$Path" var="value">
|
|
127
127
|
<Label text="value>@com.sap.vocabularies.Common.v1.QuickInfo@@format"/>
|
|
128
128
|
<Text text="{path : 'value>@com.sap.vocabularies.Common.v1.QuickInfo@@format', formatter : 'stringify'}"/>
|
|
129
129
|
</template:with>
|
package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js
CHANGED
|
@@ -136,7 +136,6 @@ sap.ui.define([
|
|
|
136
136
|
} else {
|
|
137
137
|
Messaging.removeMessages(oMessage);
|
|
138
138
|
delete this.mCreateActivateMessages[oContext.getPath()];
|
|
139
|
-
this.messagePopover.navigateBack();
|
|
140
139
|
|
|
141
140
|
setTimeout(function () { // there are sporadic issues without using setTimeout
|
|
142
141
|
if (oBinding.getPath() === "/Products") {
|
|
@@ -167,7 +166,6 @@ sap.ui.define([
|
|
|
167
166
|
oContext.resetChanges();
|
|
168
167
|
Messaging.removeMessages(this.mCreateActivateMessages[oContext.getPath()]);
|
|
169
168
|
delete this.mCreateActivateMessages[oContext.getPath()];
|
|
170
|
-
this.messagePopover.navigateBack();
|
|
171
169
|
} else {
|
|
172
170
|
MessageBox.confirm(
|
|
173
171
|
"Do you really want to delete " + sEntity + " " + sObjectId + "?",
|
|
@@ -331,7 +329,6 @@ sap.ui.define([
|
|
|
331
329
|
delete that.mCreateActivateMessages[sKey];
|
|
332
330
|
}
|
|
333
331
|
});
|
|
334
|
-
this.messagePopover.navigateBack();
|
|
335
332
|
},
|
|
336
333
|
|
|
337
334
|
setPartsContext : function (oContext) {
|
package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js
CHANGED
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
* ${copyright}
|
|
3
3
|
*/
|
|
4
4
|
sap.ui.define([
|
|
5
|
-
"sap/base/util/UriParameters",
|
|
6
5
|
"sap/m/MessageBox",
|
|
7
6
|
"sap/ui/core/sample/common/Controller",
|
|
8
7
|
"sap/ui/test/TestUtils"
|
|
9
|
-
], function (
|
|
8
|
+
], function (MessageBox, Controller, TestUtils) {
|
|
10
9
|
"use strict";
|
|
11
10
|
|
|
12
11
|
return Controller.extend("sap.ui.core.sample.odata.v4.RecursiveHierarchy.RecursiveHierarchy", {
|
|
@@ -17,18 +16,63 @@ sap.ui.define([
|
|
|
17
16
|
"@$ui5.node.parent" : oParentContext
|
|
18
17
|
}, /*bSkipRefresh*/true);
|
|
19
18
|
} catch (oError) {
|
|
20
|
-
MessageBox.alert(oError.message, {icon : MessageBox.Icon.ERROR,
|
|
21
|
-
|
|
19
|
+
MessageBox.alert(oError.message, {icon : MessageBox.Icon.ERROR, title : "Error"});
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
onCreateRoot : async function () {
|
|
24
|
+
try {
|
|
25
|
+
await this.byId("table").getBinding("rows").create({
|
|
26
|
+
// "@$ui5.node.parent" : null
|
|
27
|
+
}, /*bSkipRefresh*/true);
|
|
28
|
+
} catch (oError) {
|
|
29
|
+
MessageBox.alert(oError.message, {icon : MessageBox.Icon.ERROR, title : "Error"});
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
onCreateRootInTreeTable : async function () {
|
|
34
|
+
try {
|
|
35
|
+
await this.byId("treeTable").getBinding("rows").create({
|
|
36
|
+
"@$ui5.node.parent" : null
|
|
37
|
+
}, /*bSkipRefresh*/true);
|
|
38
|
+
} catch (oError) {
|
|
39
|
+
MessageBox.alert(oError.message, {icon : MessageBox.Icon.ERROR, title : "Error"});
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
onCut : function (oEvent) {
|
|
44
|
+
try {
|
|
45
|
+
const oNode = oEvent.getSource().getBindingContext();
|
|
46
|
+
oNode.delete("noSubmit");
|
|
47
|
+
MessageBox.confirm("Restore again (undo cut)", {
|
|
48
|
+
actions : MessageBox.Action.OK,
|
|
49
|
+
emphasizedAction : MessageBox.Action.OK,
|
|
50
|
+
onClose : function () {
|
|
51
|
+
oNode.resetChanges();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
} catch (oError) {
|
|
55
|
+
MessageBox.alert(oError.message, {icon : MessageBox.Icon.ERROR, title : "Error"});
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
onDelete : async function (oEvent) {
|
|
60
|
+
try {
|
|
61
|
+
await oEvent.getSource().getBindingContext().delete();
|
|
62
|
+
} catch (oError) {
|
|
63
|
+
MessageBox.alert(oError.message, {icon : MessageBox.Icon.ERROR, title : "Error"});
|
|
22
64
|
}
|
|
23
65
|
},
|
|
24
66
|
|
|
25
67
|
onInit : function () {
|
|
26
|
-
const oUriParameters =
|
|
68
|
+
const oUriParameters = new URLSearchParams(window.location.search);
|
|
27
69
|
const sExpandTo = TestUtils.retrieveData( // controlled by OPA
|
|
28
70
|
"sap.ui.core.sample.odata.v4.RecursiveHierarchy.expandTo")
|
|
29
71
|
|| oUriParameters.get("expandTo");
|
|
30
72
|
this._oAggregation = {
|
|
31
|
-
expandTo :
|
|
73
|
+
expandTo : sExpandTo === "*"
|
|
74
|
+
? Number.MAX_SAFE_INTEGER
|
|
75
|
+
: parseInt(sExpandTo || "3"),
|
|
32
76
|
hierarchyQualifier : "OrgChart"
|
|
33
77
|
};
|
|
34
78
|
const sVisibleRowCount = TestUtils.retrieveData( // controlled by OPA
|
|
@@ -69,6 +113,7 @@ sap.ui.define([
|
|
|
69
113
|
onMove : function (oEvent) {
|
|
70
114
|
this.oNode = oEvent.getSource().getBindingContext();
|
|
71
115
|
const oSelectDialog = this.byId("moveDialog");
|
|
116
|
+
oSelectDialog.setBindingContext(this.oNode);
|
|
72
117
|
const oListBinding = oSelectDialog.getBinding("items");
|
|
73
118
|
if (oListBinding.isSuspended()) {
|
|
74
119
|
oListBinding.resume();
|
|
@@ -79,13 +124,13 @@ sap.ui.define([
|
|
|
79
124
|
onMoveConfirm : async function (oEvent) {
|
|
80
125
|
try {
|
|
81
126
|
this.getView().setBusy(true);
|
|
82
|
-
const sParentId = oEvent.getParameter("selectedItem").
|
|
127
|
+
const sParentId = oEvent.getParameter("selectedItem").getBindingContext()
|
|
128
|
+
.getProperty("ID");
|
|
83
129
|
const oParent = this.oNode.getBinding().getAllCurrentContexts()
|
|
84
130
|
.find((oNode) => oNode.getProperty("ID") === sParentId);
|
|
85
131
|
await this.oNode.move({parent : oParent});
|
|
86
132
|
} catch (oError) {
|
|
87
|
-
MessageBox.alert(oError.message, {icon : MessageBox.Icon.ERROR,
|
|
88
|
-
title : "Error"});
|
|
133
|
+
MessageBox.alert(oError.message, {icon : MessageBox.Icon.ERROR, title : "Error"});
|
|
89
134
|
} finally {
|
|
90
135
|
this.getView().setBusy(false);
|
|
91
136
|
}
|
package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
<m:Toolbar design="Transparent" class="sapMTBHeader-CTX">
|
|
16
16
|
<m:Title id="title" level="H1" text="Organizational Chart"/>
|
|
17
17
|
<m:ToolbarSpacer/>
|
|
18
|
+
<m:Button icon="sap-icon://create" press=".onCreateRoot" tooltip="Create New Root"/>
|
|
18
19
|
<m:Button icon="sap-icon://synchronize" id="synchronize" press="onSynchronize"
|
|
19
20
|
tooltip="Synchronize"/>
|
|
20
21
|
</m:Toolbar>
|
|
@@ -31,11 +32,11 @@
|
|
|
31
32
|
<Column width="4em">
|
|
32
33
|
<template>
|
|
33
34
|
<m:Button enabled="{= %{@$ui5.node.isExpanded} !== undefined}"
|
|
34
|
-
id="expand"
|
|
35
35
|
icon="{= %{@$ui5.node.isExpanded} === true
|
|
36
36
|
? 'sap-icon://collapse'
|
|
37
37
|
: (%{@$ui5.node.isExpanded} === false
|
|
38
38
|
? 'sap-icon://expand' : 'sap-icon://e-care')}"
|
|
39
|
+
id="expand"
|
|
39
40
|
press=".onToggleExpand"
|
|
40
41
|
tooltip="{= %{@$ui5.node.isExpanded} === true
|
|
41
42
|
? 'Collapse'
|
|
@@ -69,13 +70,23 @@
|
|
|
69
70
|
</Column>
|
|
70
71
|
<Column width="4em">
|
|
71
72
|
<template>
|
|
72
|
-
<m:Button enabled="{= %{@$ui5.node.isExpanded} !== false}"
|
|
73
|
-
|
|
73
|
+
<m:Button enabled="{= %{@$ui5.node.isExpanded} !== false}" icon="sap-icon://create"
|
|
74
|
+
id="create" press=".onCreate" tooltip="Create New Child"/>
|
|
75
|
+
</template>
|
|
76
|
+
</Column>
|
|
77
|
+
<Column width="4em">
|
|
78
|
+
<template>
|
|
79
|
+
<m:Button id="cut" icon="sap-icon://scissors" press=".onCut" tooltip="Cut"/>
|
|
80
|
+
</template>
|
|
81
|
+
</Column>
|
|
82
|
+
<Column width="4em">
|
|
83
|
+
<template>
|
|
84
|
+
<m:Button icon="sap-icon://move" id="move" press=".onMove" tooltip="Move"/>
|
|
74
85
|
</template>
|
|
75
86
|
</Column>
|
|
76
87
|
<Column width="4em">
|
|
77
88
|
<template>
|
|
78
|
-
<m:Button id="
|
|
89
|
+
<m:Button id="delete" icon="sap-icon://delete" press=".onDelete" tooltip="Delete"/>
|
|
79
90
|
</template>
|
|
80
91
|
</Column>
|
|
81
92
|
</Table>
|
|
@@ -89,6 +100,8 @@
|
|
|
89
100
|
<m:Toolbar design="Transparent" class="sapMTBHeader-CTX">
|
|
90
101
|
<m:Title id="treeTitle" level="H1" text="Organizational Chart - TreeTable"/>
|
|
91
102
|
<m:ToolbarSpacer/>
|
|
103
|
+
<m:Button icon="sap-icon://create" press=".onCreateRootInTreeTable"
|
|
104
|
+
tooltip="Create New Root"/>
|
|
92
105
|
<m:Button icon="sap-icon://synchronize" id="synchronizeTreeTable"
|
|
93
106
|
press="onSynchronizeTreeTable" tooltip="SynchronizeTreeTable"/>
|
|
94
107
|
</m:Toolbar>
|
|
@@ -128,23 +141,35 @@
|
|
|
128
141
|
</Column>
|
|
129
142
|
<Column width="4em">
|
|
130
143
|
<template>
|
|
131
|
-
<m:Button enabled="{= %{@$ui5.node.isExpanded} !== false}"
|
|
132
|
-
|
|
144
|
+
<m:Button enabled="{= %{@$ui5.node.isExpanded} !== false}" icon="sap-icon://create"
|
|
145
|
+
id="createInTreeTable" press=".onCreate" tooltip="Create New Child"/>
|
|
146
|
+
</template>
|
|
147
|
+
</Column>
|
|
148
|
+
<Column width="4em">
|
|
149
|
+
<template>
|
|
150
|
+
<m:Button id="cutInTreeTable" icon="sap-icon://scissors" press=".onCut"
|
|
151
|
+
tooltip="Cut"/>
|
|
133
152
|
</template>
|
|
134
153
|
</Column>
|
|
135
154
|
<Column width="4em">
|
|
136
155
|
<template>
|
|
137
|
-
<m:Button
|
|
156
|
+
<m:Button icon="sap-icon://move" id="moveInTreeTable" press=".onMove"
|
|
138
157
|
tooltip="Move"/>
|
|
139
158
|
</template>
|
|
140
159
|
</Column>
|
|
160
|
+
<Column width="4em">
|
|
161
|
+
<template>
|
|
162
|
+
<m:Button id="deleteInTreeTable" icon="sap-icon://delete" press=".onDelete"
|
|
163
|
+
tooltip="Delete"/>
|
|
164
|
+
</template>
|
|
165
|
+
</Column>
|
|
141
166
|
</TreeTable>
|
|
142
167
|
|
|
143
168
|
<mvc:dependents>
|
|
144
169
|
<m:SelectDialog confirm=".onMoveConfirm" draggable="true" id="moveDialog"
|
|
145
170
|
items="{path : '/EMPLOYEES', parameters : {$count : true}, suspended : true}"
|
|
146
|
-
title="Select New Parent">
|
|
147
|
-
<m:StandardListItem
|
|
171
|
+
title="Select New Parent For {ID} ({Name})">
|
|
172
|
+
<m:StandardListItem title="{ID} ({Name})" type="Active" />
|
|
148
173
|
</m:SelectDialog>
|
|
149
174
|
</mvc:dependents>
|
|
150
175
|
</mvc:View>
|
|
@@ -16,11 +16,17 @@ sap.ui.define([
|
|
|
16
16
|
sFilterBase : "/sap/opu/odata4/IWBEP/TEA/default/IWBEP/TEA_BUSI/0001/",
|
|
17
17
|
mFixture : {},
|
|
18
18
|
aRegExps : [{
|
|
19
|
+
regExp : /^DELETE \/sap\/opu\/odata4\/IWBEP\/TEA\/default\/IWBEP\/TEA_BUSI\/0001\/EMPLOYEES\('([^']*)'\)$/,
|
|
20
|
+
response : {buildResponse : buildDeleteResponse, code : 204}
|
|
21
|
+
}, {
|
|
19
22
|
regExp : /^GET [\w\/.]+\$metadata[\w?&\-=]+sap-language=..$/,
|
|
20
23
|
response : {source : "metadata.xml"}
|
|
21
24
|
}, {
|
|
22
25
|
regExp : /^GET \/sap\/opu\/odata4\/IWBEP\/TEA\/default\/IWBEP\/TEA_BUSI\/0001\/EMPLOYEES\?(.*)$/,
|
|
23
|
-
response : {buildResponse :
|
|
26
|
+
response : {buildResponse : buildGetCollectionResponse}
|
|
27
|
+
}, {
|
|
28
|
+
regExp : /^GET \/sap\/opu\/odata4\/IWBEP\/TEA\/default\/IWBEP\/TEA_BUSI\/0001\/EMPLOYEES\('([^']*)'\)\?(.*)$/,
|
|
29
|
+
response : {buildResponse : buildGetSingleResponse}
|
|
24
30
|
}, {
|
|
25
31
|
regExp : /^PATCH \/sap\/opu\/odata4\/IWBEP\/TEA\/default\/IWBEP\/TEA_BUSI\/0001\/EMPLOYEES\('([^']*)'\)$/,
|
|
26
32
|
response : {buildResponse : buildPatchResponse, code : 204}
|
|
@@ -159,8 +165,8 @@ sap.ui.define([
|
|
|
159
165
|
Name : "Omega"
|
|
160
166
|
}];
|
|
161
167
|
|
|
162
|
-
let aAllNodes;
|
|
163
|
-
let mChildrenByParentId;
|
|
168
|
+
let aAllNodes; // in preorder
|
|
169
|
+
let mChildrenByParentId; // no entry for leaves!
|
|
164
170
|
let mNodeById;
|
|
165
171
|
let iRevision;
|
|
166
172
|
let mRevisionOfAgeById;
|
|
@@ -209,25 +215,69 @@ sap.ui.define([
|
|
|
209
215
|
|
|
210
216
|
reset();
|
|
211
217
|
|
|
218
|
+
/**
|
|
219
|
+
* Adjust the DescendantCount of the node with given ID (and all of its ancestors) by the
|
|
220
|
+
* given difference.
|
|
221
|
+
*
|
|
222
|
+
* @param {string} sId - A node ID
|
|
223
|
+
* @param {number} iDiff - Some difference
|
|
224
|
+
*/
|
|
225
|
+
function adjustDescendantCount(sId, iDiff) {
|
|
226
|
+
mNodeById[sId].DescendantCount += iDiff;
|
|
227
|
+
sId = mNodeById[sId].MANAGER_ID;
|
|
228
|
+
if (sId) {
|
|
229
|
+
adjustDescendantCount(sId, iDiff);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Builds a response for any DELETE request on a specific "EMPLOYEE" instance.
|
|
235
|
+
*
|
|
236
|
+
* @param {string[]} aMatches - The matches against the RegExp
|
|
237
|
+
* @param {object} _oResponse - Response object to fill
|
|
238
|
+
*/
|
|
239
|
+
function buildDeleteResponse(aMatches, _oResponse) {
|
|
240
|
+
/**
|
|
241
|
+
* Recursively visits all of the given node's descendants, deleting them in post order.
|
|
242
|
+
*
|
|
243
|
+
* @param {object} oNode - A node
|
|
244
|
+
*/
|
|
245
|
+
function visit(oNode) {
|
|
246
|
+
const sId = oNode.ID;
|
|
247
|
+
mChildrenByParentId[sId]?.forEach(visit);
|
|
248
|
+
delete mChildrenByParentId[sId];
|
|
249
|
+
delete mNodeById[sId];
|
|
250
|
+
delete mRevisionOfAgeById[sId];
|
|
251
|
+
aAllNodes.splice(aAllNodes.indexOf(oNode), 1);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
const oNode = mNodeById[aMatches[1]];
|
|
255
|
+
visit(oNode);
|
|
256
|
+
if (oNode.MANAGER_ID) {
|
|
257
|
+
const aChildren = mChildrenByParentId[oNode.MANAGER_ID];
|
|
258
|
+
aChildren.splice(aChildren.indexOf(oNode), 1);
|
|
259
|
+
adjustDescendantCount(oNode.MANAGER_ID, -(oNode.DescendantCount + 1));
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
212
263
|
/**
|
|
213
264
|
* Builds a response for any GET query on the "EMPLOYEES" collection.
|
|
214
265
|
*
|
|
215
266
|
* @param {string[]} aMatches - The matches against the RegExp
|
|
216
267
|
* @param {object} oResponse - Response object to fill
|
|
217
268
|
*/
|
|
218
|
-
function
|
|
219
|
-
const mQueryOptions =
|
|
220
|
-
for (const sName_Value of aMatches[1].split("&")) {
|
|
221
|
-
const [sName, ...aValues] = sName_Value.split("=");
|
|
222
|
-
mQueryOptions[sName] = aValues.join("=");
|
|
223
|
-
}
|
|
269
|
+
function buildGetCollectionResponse(aMatches, oResponse) {
|
|
270
|
+
const mQueryOptions = getQueryOptions(aMatches[1]);
|
|
224
271
|
|
|
225
272
|
if ("$apply" in mQueryOptions) {
|
|
226
273
|
if (mQueryOptions.$apply.includes("TopLevels")) {
|
|
227
274
|
// "EMPLOYEES?$apply=orderby(AGE)"
|
|
228
275
|
// + "/com.sap.vocabularies.Hierarchy.v1.TopLevels(HierarchyNodes=$root/EMPLOYEES"
|
|
229
276
|
// + ",HierarchyQualifier='OrgChart',NodeProperty='ID',Levels=" + iLevels + ")"
|
|
230
|
-
|
|
277
|
+
// Note: "Levels" is optional!
|
|
278
|
+
const iLevels = mQueryOptions.$apply.includes(",Levels=")
|
|
279
|
+
? parseInt(mQueryOptions.$apply.match(/,Levels=(\d+)/)[1])
|
|
280
|
+
: Infinity;
|
|
231
281
|
selectCountSkipTop(topLevels(iLevels - 1), mQueryOptions, oResponse);
|
|
232
282
|
return;
|
|
233
283
|
}
|
|
@@ -251,15 +301,15 @@ sap.ui.define([
|
|
|
251
301
|
// ID%20eq%20'0'%20or%20ID%20eq%20'1'%20or%20ID%20eq%20'1.1'
|
|
252
302
|
const aIDs = mQueryOptions.$filter.split("%20or%20")
|
|
253
303
|
.map((sID_Predicate) => sID_Predicate.split("%20eq%20")[1].slice(1, -1));
|
|
254
|
-
if (mQueryOptions.$select.includes("MANAGER_ID")) {
|
|
304
|
+
if (mQueryOptions.$select.includes("MANAGER_ID")) { // side effect for all rows
|
|
255
305
|
iRevision += 1;
|
|
256
|
-
} else {
|
|
306
|
+
} else { // side effect for single row (after PATCH of Name)
|
|
257
307
|
if (aIDs.length !== 1) {
|
|
258
308
|
throw new Error("Unexpected ID filter length");
|
|
259
309
|
}
|
|
260
310
|
mRevisionOfAgeById[aIDs[0]] += 1;
|
|
261
311
|
}
|
|
262
|
-
const aRows = aIDs.map((
|
|
312
|
+
const aRows = aIDs.map((sId) => mNodeById[sId]);
|
|
263
313
|
selectCountSkipTop(aRows, mQueryOptions, oResponse);
|
|
264
314
|
return;
|
|
265
315
|
}
|
|
@@ -267,6 +317,31 @@ sap.ui.define([
|
|
|
267
317
|
selectCountSkipTop(aAllNodes, mQueryOptions, oResponse);
|
|
268
318
|
}
|
|
269
319
|
|
|
320
|
+
/**
|
|
321
|
+
* Builds a response for any GET request on a specific "EMPLOYEE" instance.
|
|
322
|
+
*
|
|
323
|
+
* @param {string[]} aMatches - The matches against the RegExp
|
|
324
|
+
* @param {object} oResponse - Response object to fill
|
|
325
|
+
*/
|
|
326
|
+
function buildGetSingleResponse(aMatches, oResponse) {
|
|
327
|
+
// EMPLOYEES('B')?$select=AGE,DescendantCount,DistanceFromRoot,DrillState,ID,MANAGER_ID,Name
|
|
328
|
+
const aSelect = getQueryOptions(aMatches[2]).$select.split(",");
|
|
329
|
+
const select = (oNode) => { //TODO share w/ selectCountSkipTop?
|
|
330
|
+
const oResult = {};
|
|
331
|
+
for (const sSelect of aSelect) {
|
|
332
|
+
oResult[sSelect] = oNode[sSelect];
|
|
333
|
+
}
|
|
334
|
+
return oResult;
|
|
335
|
+
};
|
|
336
|
+
const oNode = select(mNodeById[aMatches[1]]);
|
|
337
|
+
// RAP would not respond w/ DescendantCount,DistanceFromRoot,DrillState!
|
|
338
|
+
delete oNode.DescendantCount;
|
|
339
|
+
delete oNode.DistanceFromRoot;
|
|
340
|
+
delete oNode.DrillState;
|
|
341
|
+
// Note: bSkipCopy due to select
|
|
342
|
+
oResponse.message = JSON.stringify(SandboxModel.update([oNode], true)[0]);
|
|
343
|
+
}
|
|
344
|
+
|
|
270
345
|
/**
|
|
271
346
|
* Builds a response for any PATCH request on a specific "EMPLOYEE" instance.
|
|
272
347
|
*
|
|
@@ -275,6 +350,19 @@ sap.ui.define([
|
|
|
275
350
|
* @param {object} oRequest - Request object to get PATCH body from
|
|
276
351
|
*/
|
|
277
352
|
function buildPatchResponse(aMatches, _oResponse, oRequest) {
|
|
353
|
+
/**
|
|
354
|
+
* Adjust the DistanceFromRoot of the given node (and all of its descendants) by the given
|
|
355
|
+
* difference.
|
|
356
|
+
*
|
|
357
|
+
* @param {object} oNode - A node
|
|
358
|
+
* @param {number} iDiff - Some difference
|
|
359
|
+
*/
|
|
360
|
+
function adjustDistanceFromRoot(oNode, iDiff) {
|
|
361
|
+
oNode.DistanceFromRoot += iDiff;
|
|
362
|
+
(mChildrenByParentId[oNode.ID] || [])
|
|
363
|
+
.forEach((oChild) => adjustDistanceFromRoot(oChild, iDiff));
|
|
364
|
+
}
|
|
365
|
+
|
|
278
366
|
if (oRequest.requestHeaders.Prefer !== "return=minimal") {
|
|
279
367
|
throw new Error("Unsupported Prefer header: " + oRequest.requestHeaders.Prefer);
|
|
280
368
|
}
|
|
@@ -284,19 +372,40 @@ sap.ui.define([
|
|
|
284
372
|
switch (Object.keys(oBody).length === 1 && Object.keys(oBody)[0]) {
|
|
285
373
|
case "EMPLOYEE_2_MANAGER@odata.bind": {
|
|
286
374
|
const oChild = mNodeById[aMatches[1]];
|
|
375
|
+
if (oChild.Name.includes("ERROR")) {
|
|
376
|
+
throw new Error("This request intentionally failed!");
|
|
377
|
+
}
|
|
378
|
+
|
|
287
379
|
const sParentId = oBody["EMPLOYEE_2_MANAGER@odata.bind"]
|
|
288
380
|
.slice("EMPLOYEES('".length, -"')".length);
|
|
289
|
-
|
|
381
|
+
for (let sId = sParentId; sId; sId = mNodeById[sId].MANAGER_ID) {
|
|
382
|
+
if (sId === oChild.ID) { // cycle detected
|
|
383
|
+
throw new Error("Parent must not be a descendant of moved node");
|
|
384
|
+
}
|
|
385
|
+
}
|
|
290
386
|
|
|
291
387
|
if (oChild.MANAGER_ID) {
|
|
292
388
|
const aChildren = mChildrenByParentId[oChild.MANAGER_ID];
|
|
293
389
|
aChildren.splice(aChildren.indexOf(oChild), 1);
|
|
390
|
+
if (!aChildren.length) { // last child has gone
|
|
391
|
+
delete mChildrenByParentId[oChild.MANAGER_ID];
|
|
392
|
+
mNodeById[oChild.MANAGER_ID].DrillState = "leaf";
|
|
393
|
+
}
|
|
394
|
+
adjustDescendantCount(oChild.MANAGER_ID, -(oChild.DescendantCount + 1));
|
|
395
|
+
} // else: cannot really happen w/ a single root and no cycles!
|
|
396
|
+
|
|
397
|
+
if (!(sParentId in mChildrenByParentId)) { // new parent not a leaf anymore
|
|
398
|
+
mNodeById[sParentId].DrillState = "collapsed"; // @see #reset
|
|
294
399
|
}
|
|
295
400
|
//TODO Note: "AGE determines sibling order (ascending)"
|
|
296
401
|
(mChildrenByParentId[sParentId] ??= []).push(oChild);
|
|
297
|
-
|
|
298
402
|
oChild.MANAGER_ID = sParentId;
|
|
299
|
-
|
|
403
|
+
adjustDescendantCount(sParentId, oChild.DescendantCount + 1);
|
|
404
|
+
adjustDistanceFromRoot(oChild,
|
|
405
|
+
mNodeById[sParentId].DistanceFromRoot + 1 - oChild.DistanceFromRoot);
|
|
406
|
+
const aSpliced
|
|
407
|
+
= aAllNodes.splice(aAllNodes.indexOf(oChild), oChild.DescendantCount + 1);
|
|
408
|
+
aAllNodes.splice(aAllNodes.indexOf(mNodeById[sParentId]) + 1, 0, ...aSpliced);
|
|
300
409
|
break;
|
|
301
410
|
}
|
|
302
411
|
|
|
@@ -322,15 +431,15 @@ sap.ui.define([
|
|
|
322
431
|
// {"EMPLOYEE_2_MANAGER@odata.bind" : "EMPLOYEES('0')"}
|
|
323
432
|
const oBody = JSON.parse(oRequest.requestBody);
|
|
324
433
|
const sParentId = oBody["EMPLOYEE_2_MANAGER@odata.bind"]
|
|
325
|
-
|
|
434
|
+
?.slice("EMPLOYEES('".length, -"')".length);
|
|
326
435
|
const oParent = mNodeById[sParentId];
|
|
327
436
|
const oNewChild = { // same order of keys than for "old" nodes ;-)
|
|
328
437
|
AGE : 0, // see below
|
|
329
438
|
ID : "", // see below
|
|
330
439
|
Name : "", // Q: Derive default from parent's Name? A: No, it's editable!
|
|
331
|
-
DistanceFromRoot : oParent.DistanceFromRoot + 1,
|
|
440
|
+
DistanceFromRoot : oParent ? oParent.DistanceFromRoot + 1 : 0,
|
|
332
441
|
DrillState : "leaf",
|
|
333
|
-
MANAGER_ID : sParentId,
|
|
442
|
+
MANAGER_ID : sParentId ?? null,
|
|
334
443
|
DescendantCount : 0
|
|
335
444
|
};
|
|
336
445
|
|
|
@@ -346,11 +455,15 @@ sap.ui.define([
|
|
|
346
455
|
} else { // sParentId === "0"
|
|
347
456
|
oNewChild.ID = "" + (parseInt(sLastChildID) + 1);
|
|
348
457
|
}
|
|
349
|
-
} else { // parent not a leaf anymore
|
|
350
|
-
oParent.DrillState = "
|
|
458
|
+
} else if (sParentId) { // parent not a leaf anymore
|
|
459
|
+
oParent.DrillState = "collapsed"; // @see #reset
|
|
351
460
|
mChildrenByParentId[sParentId] = [];
|
|
352
461
|
oNewChild.AGE = oParent.AGE - 1;
|
|
353
462
|
oNewChild.ID = sParentId + ".1";
|
|
463
|
+
} else { // new root
|
|
464
|
+
const iRootCount = aAllNodes.filter((oNode) => oNode.MANAGER_ID === null).length;
|
|
465
|
+
oNewChild.AGE = 60 + iRootCount;
|
|
466
|
+
oNewChild.ID = "0ABCDEFGHIJKLMNOPQRSTUVWXYZ"[iRootCount];
|
|
354
467
|
}
|
|
355
468
|
|
|
356
469
|
if (oNewChild.ID in mNodeById) {
|
|
@@ -359,12 +472,31 @@ sap.ui.define([
|
|
|
359
472
|
aAllNodes.push(oNewChild); //TODO not good enough once we need "refresh"
|
|
360
473
|
mNodeById[oNewChild.ID] = oNewChild;
|
|
361
474
|
mRevisionOfAgeById[oNewChild.ID] = 0;
|
|
362
|
-
|
|
363
|
-
|
|
475
|
+
if (sParentId) {
|
|
476
|
+
// Note: server's insert position must not affect UI (until refresh!)
|
|
477
|
+
mChildrenByParentId[sParentId].push(oNewChild);
|
|
478
|
+
adjustDescendantCount(sParentId, +1);
|
|
479
|
+
}
|
|
364
480
|
|
|
365
481
|
oResponse.message = JSON.stringify(SandboxModel.update([oNewChild])[0]);
|
|
366
482
|
}
|
|
367
483
|
|
|
484
|
+
/**
|
|
485
|
+
* Gets the query options as a map from the given URL query part.
|
|
486
|
+
*
|
|
487
|
+
* @param {string} sQuery - Query part of a URL
|
|
488
|
+
* @returns {Object<string,string>} Map of query options
|
|
489
|
+
*/
|
|
490
|
+
function getQueryOptions(sQuery) {
|
|
491
|
+
const mQueryOptions = {};
|
|
492
|
+
for (const sName_Value of sQuery.split("&")) {
|
|
493
|
+
const [sName, ...aValues] = sName_Value.split("=");
|
|
494
|
+
mQueryOptions[sName] = aValues.join("=");
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
return mQueryOptions;
|
|
498
|
+
}
|
|
499
|
+
|
|
368
500
|
/**
|
|
369
501
|
* Fills the given response object from the given list of rows, taking $select, $count, $skip,
|
|
370
502
|
* and $top into account.
|
|
@@ -390,6 +522,7 @@ sap.ui.define([
|
|
|
390
522
|
}
|
|
391
523
|
const iSkip = "$skip" in mQueryOptions ? parseInt(mQueryOptions.$skip) : 0;
|
|
392
524
|
const iTop = "$top" in mQueryOptions ? parseInt(mQueryOptions.$top) : Infinity;
|
|
525
|
+
// Note: bSkipCopy due to select
|
|
393
526
|
oMessage.value = SandboxModel.update(aRows.slice(iSkip, iSkip + iTop).map(select), true);
|
|
394
527
|
oResponse.message = JSON.stringify(oMessage);
|
|
395
528
|
}
|