Functions that allow you to access the Hybrid App user interface (UI).
To completely override the behavior provided by updateUIFromMessageValueCollection for a given screen, provide a UIUpdateHandler object for that screen. That UIUpdateHandler object has a screenName property, which indicates which screen's behavior it is overriding, and a callback function that indicates the function to call for that screen. That function is passed in the relevant MessageValueCollection object and it is its responsibility to update the controls' values based on its contents. An example of this is:
function MyListViewUpdateHandler() { this.screenName = "Prev_Expenses"; this.values; } MyListViewUpdateHandler.prototype.callback = function(valuesIn) { // Rows returned from RMI Call this.values = valuesIn; // construct our table try { var mvc = this.values.getData("PurchaseTrackingJC_findOtherRequests_resultSetKey"); var txt = ""; var htmlOut = "<p>"; // Do we have any rows to display? if (mvc.value.length > 0) { // Start the table and header htmlOut += "<table id='MyPrevExpensesTable' class='altrowstable'>"; htmlOut += "<tr><th>Item Name</th><th>Cost</th></tr>"; // Draw the rows+H15 for (var rows = 0; rows < mvc.value.length; rows++) { var mvName = mvc.value[rows].getData("PurchaseTrackingJC_itemName_attribKey"); var mvCost = mvc.value[rows].getData("PurchaseTrackingJC_itemCost_attribKey"); if (mvName && mvCost) { // Alternate the row colors htmlOut += "<tr onclick='navigateForward(\"Prev_Expenses_Detail\", " + mvc.value[rows].getKey() + ");'"; if (rows % 2 == 0) { htmlOut += " class='evenrowcolor'>"; } else { htmlOut += " class='oddrowcolor'>"; } htmlOut += "<td>" + mvName.getValue() + "</td><td>" + mvCost.getValue(); +"</td></tr>"; } } // Finish the table htmlOut += "</table>"; } else { htmlOut += "No rows returned."; } htmlOut += "</p>"; //Now add the table to the document var form = document.forms[curScreenKey + "Form"]; if (form) { //var topOfFormElem = document.getElementById("topOf" + curScreenKey + "Form"); var topOfFormElem = document.getElementById("PurchaseTrackingJC_findOtherRequests_resultSetKey"); topOfFormElem.innerHTML = htmlOut; } } catch (e) { alert(e.message); } } // function callback function customAfterWorkflowLoad() { //Setup UIHandler to draw our Listview Screen UIUpdateHandlers[0] = new MyListViewUpdateHandler(); }