Extending the Functional Capabilities of SAP Fiori Launchpad

Extending the Functional Capabilities of SAP Fiori Launchpad

As a continuation of the post about creating a plugin for the SAP Fiori Launchpad, I would also like to draw the attention of all interested parties to some options that, when used, can generate exclusively positive emotions among business users.

See: Extending the Launchpad

The reference guide provides a quality description of the entry points and areas of the Launchpad that can be modified.

As a demonstration for this post, and smoothly continuing the theme of the previous one, I will add the following changes to the Component.js of my plugin:

var oRenderer = sap.ushell.Container.getRenderer("fiori2");
            oRenderer.setHeaderTitle("SID[client] of ABAP System");
 
            sap.ushell.Container.getRenderer("fiori2").addActionButton("sap.m.Button", {
                id: "tstBtn",
                text: "Push the Button",
                icon: "sap-icon://BusinessSuiteInAppSymbols/icon-face-very-happy",
                press: function(oEvent) {
                    MessageToast.show(oEvent.getSource().getId() + " pressed");
                }
            }, true, true);
 
            var oRenderer = sap.ushell.Container.getRenderer("fiori2");
            var oEntry = {
                title: "Customer Customizing Options",
                icon: "sap-icon://BusinessSuiteInAppSymbols/icon-face-astonished",
                value: function() {
                    return jQuery.Deferred().resolve("current Settings state");
                },
                content: function() {
                    return jQuery.Deferred().resolve(new sap.m.Button("userPrefEntryButton", {
                        id: "tstBtn2",
                        text: "Button",
                        press: function(oEvent) {
                            MessageToast.show(oEvent.getSource().getId() + " pressed");
                        }
                    }));
                },
                onSave: function() {
                    return jQuery.Deferred().resolve();
                }
            };
            oRenderer.addUserPreferencesEntry(oEntry);

For more detailed information, see the links below:

The end result is captured in the video fragment below.

0:00
/0:26