Skip to Content

A new OpenUI5 version 1.28 was released today.

OpenUI5 Blog – New OpenUI5 preview release 1.28

It has list of features I personally really like and had a need for those for a long time.

The main new features are:

XML templating: allows dynamic XMLView content creation without programming. For more information see the XMLTemplating in OpenUI5 documentation.

Great feature, so now instead of doing


if(sap.ui.Device.system.desktop) {
  resultTable = sap.ui.xmlfragment("ResultTable", "desktop.ResultTable", this);
}
else if (sap.ui.Device.system.tablet){
  resultTable = sap.ui.xmlfragment("ResultTable", "tablet.ResultTable", this);
}
else if (sap.ui.Device.system.phone){
  resultTable = sap.ui.xmlfragment("ResultTable", "phone.ResultTable", this);
}
this.byId("ResultTablePage").addContent(resultTable);



we can use if instruction in the template itself (of course we would need to create famous deviceModel).

Expression Binding: this new feature allows using expressions in bindings. This reduces the need to program formatters for views, especially when using XML Templating. For more information see the Expression Binding documentation.

Baby step toward calculated attributes and supply functions (yes, I am from WD* world too 😉 ). Please, we need something more complex/advanced than formatter function and this new baby-formatter (expression binding). Every week or so there is a question on the forum about calculated attributes:

Databinding to enabled property on SAPUI5 button

“Move” content of table to a new view

StandartListItem on IconTabFIlter

Binding of different sub-elements from the model

Databinding with element count

I bet, on every project that is little bit more complex than hiding a button in standard Fiori component there is a need for those. And a Object.defineProperty trick works only for JsonModel.

New control sap.m.MessagePage. This is a new control that is primarily designed to be used when a page is empty because no data is available, but can be used for other full-page messages as well. ,

New control sap.m.OverflowToolbar. This new control provides the option to move buttons that do not fit in the visible area to an overflow menu.

New control sap.m.MessagePopover. This control is a Popover containing a summarized list with messages that can be consumed by the user through several different features like filtering and drilling down to the details.

The more controls, the better! Freshers will be confused and scared even more (kidding 😛 ). The last one sounds like a good alternative for sap.ui.ux3.NotificationBar which acts funny sometime when component is embedded in to Fiori launchpad.

Standard Margins & Container Paddings. You can now use predefined CSS classes to manage the margins and container paddings in your application without writing custom CSS.

Thank you for that! Juggling with CSS in pre-“sapUiSizeCompact” era was a pain (not everyone likes gigantic sap.m controls look on a desktop and tablets 😆 ).

And the last one

The first steps towards client-side filtering/sorting on OData Model Data: the final implementation is planned for a later release, but a first experimental version is available in 1.28: by setting the “OperationMode” on a list binding to “Client”, you can force the OData model to loadall data from the server and do sorting and filtering entirely in the browser, with no server roundtrip. Useful only when it is guaranteed that the count of data elements is low.

Yo! Finally! Almost a year ago (we were on 1.16 at that time) a had to create


sap.ui.model.odata.ODataListBinding.extend("util.model.CacheableODataListBinding", {
  metadata : {
    publicMethods : [ "filterCachedData", "resetCachedDataFilter" ]
  }
});



to handle filtering of OData on the client. Now we have an “official” (even though experimental) way of doing the same.

Please, share your thoughts/ideas/experience.

Update from 12:22 PST 3/10/2015

Surfing through code is such a fun – now Model is not EventProvider, it is MessageProcessor. Huge change! Exploring, will keep you posted.

seems like it is that announced :

Message Handling: New message manager and message model (documentation pending as of 1.28.1), including the new sap.m.MessagePopover control.

To report this post you need to login first.

5 Comments

You must be Logged on to comment or reply to a post.

  1. Sergio Guerrero

    Maksim,

    great reference. I saw the post on tweeter this morning and right away I notices some of the related questions we had on scn in the past.

    thanks for sharing this

    (0) 
  2. Robin van het Hof

    Indeed nice overview! I’m especially thrilled with the xml templating and expression binding possibilities — I’d wholeheartedly welcome anything that can make my code cleaner and easier to maintain 😉

    Keep up the good work in the UI5 space!

    (0) 

Leave a Reply