diff --git a/app/webapp/controller/View1.controller.js b/app/webapp/controller/View1.controller.js index 6ea7bcb7..6389e239 100644 --- a/app/webapp/controller/View1.controller.js +++ b/app/webapp/controller/View1.controller.js @@ -1,9 +1,9 @@ sap.ui.define(["sap/ui/core/mvc/Controller", "sap/ui/core/mvc/XMLView", "sap/ui/model/json/JSONModel", "sap/ui/core/BusyIndicator", "sap/m/MessageBox", "sap/m/MessageToast", "sap/ui/core/Fragment", "sap/m/BusyDialog", - "sap/ui/VersionInfo", "z2ui5/cc/Server", "sap/ui/model/odata/v2/ODataModel", + "sap/ui/VersionInfo", "z2ui5/cc/Server", "sap/ui/model/odata/v2/ODataModel", "sap/m/library" ], function (Controller, XMLView, JSONModel, BusyIndicator, MessageBox, MessageToast, Fragment, mBusyDialog, VersionInfo, - Server, ODataModel) { + Server, ODataModel, mobileLibrary) { "use strict"; return Controller.extend("z2ui5.controller.View1", { @@ -323,6 +323,24 @@ sap.ui.define(["sap/ui/core/mvc/Controller", "sap/ui/core/mvc/XMLView", "sap/ui/ navConTo = Fragment.byId("popupId", args[2]); navCon.to(navConTo); break; + case 'URLHELPER': + var URLHelper = mobileLibrary.URLHelper; + var obj = JSON.parse(JSON.stringify(args[2])); + switch (args[1]) { + case 'REDIRECT': + URLHelper.redirect(obj.url, obj.newWindow); + break; + case 'TRIGGER_EMAIL': + URLHelper.triggerEmail(obj.email, obj.subject, obj.body, obj.cc, obj.bcc, obj.newWindow); + break; + case 'TRIGGER_SMS': + URLHelper.triggerSms(obj.tel); + break; + case 'TRIGGER_TEL': + URLHelper.triggerTel(obj.tel); + break; + } + break; } }, eB(...args) { @@ -483,4 +501,4 @@ sap.ui.define(["sap/ui/core/mvc/Controller", "sap/ui/core/mvc/XMLView", "sap/ui/ z2ui5.oApp.insertPage(z2ui5.oView); }, }) - }); \ No newline at end of file + }); diff --git a/src/01/03/z2ui5_cl_app_view1_js.clas.abap b/src/01/03/z2ui5_cl_app_view1_js.clas.abap index 6f8d514f..63137037 100644 --- a/src/01/03/z2ui5_cl_app_view1_js.clas.abap +++ b/src/01/03/z2ui5_cl_app_view1_js.clas.abap @@ -20,10 +20,10 @@ CLASS z2ui5_cl_app_view1_js IMPLEMENTATION. result = `sap.ui.define(["sap/ui/core/mvc/Controller", "sap/ui/core/mvc/XMLView", "sap/ui/model/json/JSONModel",` && |\n| && ` "sap/ui/core/BusyIndicator", "sap/m/MessageBox", "sap/m/MessageToast", "sap/ui/core/Fragment", "sap/m/BusyDialog",` && |\n| && - ` "sap/ui/VersionInfo", "z2ui5/cc/Server", "sap/ui/model/odata/v2/ODataModel",` && |\n| && + ` "sap/ui/VersionInfo", "z2ui5/cc/Server", "sap/ui/model/odata/v2/ODataModel", "sap/m/library",` && |\n| && `],` && |\n| && ` function (Controller, XMLView, JSONModel, BusyIndicator, MessageBox, MessageToast, Fragment, mBusyDialog, VersionInfo,` && |\n| && - ` Server, ODataModel) {` && |\n| && + ` Server, ODataModel, mobileLibrary) {` && |\n| && ` "use strict";` && |\n| && ` return Controller.extend("z2ui5.controller.View1", {` && |\n| && `` && |\n| && @@ -311,6 +311,24 @@ CLASS z2ui5_cl_app_view1_js IMPLEMENTATION. ` }` && |\n| && ` });` && |\n| && ` break;` && |\n| && + ` case 'URLHELPER':` && |\n| && + ` var URLHelper = mobileLibrary.URLHelper;` && |\n| && + ` var obj = JSON.parse(JSON.stringify(args[2]));` && |\n| && + ` switch (args[1]) {` && |\n| && + ` case 'REDIRECT':` && |\n| && + ` URLHelper.redirect(obj.url, obj.newWindow);` && |\n| && + ` break;` && |\n| && + ` case 'TRIGGER_EMAIL':` && |\n| && + ` URLHelper.triggerEmail(obj.email, obj.subject, obj.body, obj.cc, obj.bcc, obj.newWindow);` && |\n| && + ` break;` && |\n| && + ` case 'TRIGGER_SMS':` && |\n| && + ` URLHelper.triggerSms(obj.tel);` && |\n| && + ` break;` && |\n| && + ` case 'TRIGGER_TEL':` && |\n| && + ` URLHelper.triggerTel(obj.tel);` && |\n| && + ` break;` && |\n| && + ` }` && |\n| && + ` break;` && |\n| && ` case 'LOCATION_RELOAD':` && |\n| && ` window.location = args[1];` && |\n| && ` break;` && |\n| && diff --git a/src/02/z2ui5_if_client.intf.abap b/src/02/z2ui5_if_client.intf.abap index d020eff0..3374ba74 100644 --- a/src/02/z2ui5_if_client.intf.abap +++ b/src/02/z2ui5_if_client.intf.abap @@ -16,6 +16,7 @@ INTERFACE z2ui5_if_client download_b64_file TYPE string VALUE `DOWNLOAD_B64_FILE`, set_size_limit TYPE string VALUE `SET_SIZE_LIMIT`, set_odata_model TYPE string VALUE `SET_ODATA_MODEL`, + urlhelper TYPE string VALUE `URLHELPER`, END OF cs_event. CONSTANTS: