2014-12-23 6 views
1

Я простирающийся hcm.emp.payslip приложение и нужно добавить кнопку в сноске .... что это правильный способ сделать это ..Расширение SAP Fiori App - кнопку Добавление в сноске

? вариант 1: размещение точки расширения, как описано на стр. 13 этого pdf .. - это не сработало. Я выполнил точно указанные шаги. или это не будет работать, поскольку мы вставляем точку расширения ourselfs и которая не поддерживается сейчас.?

вариант 2: расширения пользовательского интерфейса крюки контроллера, как описано here - я не мог попробовать это, как документация очень кратко, и я начинающий ... Кроме того, я не уверен, что мы можем изменить вид путем расширения контроллера

Я использую eclipse и установил плагин для набора инструментов, некоторые места, которые я видел, они рекомендовали с помощью Web IDE, но мы хотели бы сделать это с помощью набора инструментов, так как я не уверен, есть ли у нас облачный доступ к HANA , или это все еще отлично использовать комплект путь инструмента UI ..

хотел бы предложить правильный подход с подробными шагами ...

ответ

0

Ваш Вариант 1 не представляется возможным (Почему? Потому что добавить кнопку в сноске есть controllerHook не UI точки расширения)

Go с Вариант 2 там уже extensionHooks данный во всех контроллерах (S3.controller.j с и в S3_phone.controller.js) из подробно страницы приложения.

controllerHook: extHookChangeFooterButtons

по умолчанию SAP строит headerFooterOptions и отправляет этот объект вашего расширения Hook

/** 
     * @ControllerHook Modify the footer buttons 
     * This hook method can be used to add and change buttons for the detail view footer 
     * It is called when the decision options for the detail item are fetched successfully 
     * @callback hcm.emp.payslip.view.S3_Phone~extHookChangeFooterButtons 
     * @param {object} objHdrFtr-Header Footer Object 
     * @return {object} objHdrFtr-Header Footer Object 
     */ 

     if (this.extHookChangeFooterButtons) { 
      objHdrFtr = this.extHookChangeFooterButtons(objHdrFtr); 
     } 

Так вы в расширенном контроллере, получают тот же Append:

extHookChangeFooterButtons: function (objHdrFtr) { 
    //first if the buttonsList is empty, create one. 
    //Actually in S3.controller.js buttonsList is not defined since there are no buttons 
    if (!objHdrFtr.buttonList) { 
     objHdrFtr.buttonList = []; 
    } 
    //then create a button: 
    var extendedButton = { 
     sId: "EXT_BUTTON", 
     sI18nBtnTxt: "SAMPLE", //make sure you add texts in respective i18n files 
     bEnabled: true, 
     onBtnPressed: function (evt) { 
      that.handleExtButtonPress(evt); 
     } 
    }; 
    objHdrFtr.buttonList.append(extendedButton) 
    //as you can see SAP says to return the object 
    return objHdrFtr; 
} 

Предложение: его очень легко сделать в Web IDE. Почему?

  • Не требуется SETUP.
  • Очень прост в использовании, экономит много времени
  • Показывает все controllerHooks, точек расширения в пользовательском интерфейсе