zoukankan      html  css  js  c++  java
  • SAP Cloud for Customer Oberon视图里的Ruby Script

    In C4C Oberon views developed by UI Designer it is allowed to write Ruby script at some given position. Once you activate the Oberon view in UI Designer, corresponding JavaScript code will automatically be created and visible in XRepository. Here below are some typical positions where Ruby Script could be inserted:

    Where could Ruby Script be inserted in UI Designer

    (1) In Event operation with type “Script”

    Ruby Script:

    if ($data.UIState.ViewSwitchSelectedItem == "Collections")
           $controller.HandleEvent("OnRefreshCollection");
    end
    

    The corresponding JavaScript code is then visible in view’s source code in XRepository:

    (2) In Operation configure tab:


    The automatically generated JavaScript code:

    (3) Dynamical manipulation on the value of control attribute via Script
    Take “Visible” for example:

    Then you can write script here:

    How to debug Script in the runtime

    Set a breakpoint in function _executeScript in file resources/sap/client/evt/ClientOperation.js.
    In the runtime, a new JavaScript function will be dynamically created based on the source code stored in XRepository in line 292, and immediately gets called in subsequent line 293.


    Still take the Script above as example, if you just would like to know the actual value of $System.ClientType in the runtime, it is not necessary to figure it out via debugging.
    Instead, append the url fragment “debugMode=true”, and then launch application again.

    Press control key and click page, the client Inspector will be opened. Switch to tab “Data Model”, search by keyword “ClientType”, and then you can get its runtime value “NEW_HTML”.

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    二叉树计算叶子节点的计算问题
    操作系统中有关读者写者问题
    Java中关于CountDownLatch的使用
    Java中关于CyclicBarrier的使用
    将毫秒 换算成(天 时 分 秒 毫秒)
    数据库訪问技术之JDBC
    窥探开发人员与用户
    Cocos2d-x游戏开发之lua编辑器 Sublime 搭建,集成cocos2dLuaApi和自有类
    高速排序,归并排序,堆排序python实现
    svn 批量加入没有加入版本号控制的文件命令
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/13592276.html
Copyright © 2011-2022 走看看