UNPKG

dojox

Version:

Dojo eXtensions, a rollup of many useful sub-projects and varying states of maturity – from very stable and robust, to alpha and experimental. See individual projects contain README files for details.

127 lines (104 loc) 2.99 kB
dojo.require("dojox.mobile.app.SceneAssistant"); dojo.declare("MainAssistant", dojox.mobile.app.SceneAssistant, { setup: function(){ console.log("In main assistant setup"); this.controller.parse(); console.log("In main assistant setup 2"); var data1 = [ { label: "Row 1", button1Cls: "listButton1", button2Cls: "listButton2", buttonLabel1: "Add" }, { label: "Row 2", button1Cls: "listButton2", button2Cls: "listButton1" } ]; var data2 = [ { label: "Row 3", button1Cls: "listButton1", button2Cls: "listButtonHidden" }, { label: "Row 4", button1Cls: "listButton2", button2Cls: "listButton3" }, { label: "Row 5", button1Cls: "listButton3", button2Cls: "listButton2", buttonLabel2: "Del" }, { label: "Row 6", button1Cls: "listButtonHidden", button2Cls: "listButton2" } ]; var data3 = []; var listWidget = dijit.byId("listWidget"); listWidget.dividerFunction = function(item){ return item.label < "Row 5" ? "First Section" : "Second Section"; }; listWidget.set("items", data1); var buttonOutput = this.controller.query("#buttonOutput")[0]; this.connect(dijit.byId("btn1"), "onClick", function(){ dijit.byId("listWidget").set("items", data1); }); this.connect(dijit.byId("btn2"), "onClick", function(){ dijit.byId("listWidget").set("items", data2); }); this.connect(dijit.byId("btn3"), "onClick", function(){ dijit.byId("listWidget").set("items", data3); }); var _this = this; this.connect(dijit.byId("listWidget").domNode, "onclick", function(event){ // If the user clicked one of the buttons in a row, // then show a popup menu for further actions. if(!event.item){ return; } if(dojo.hasClass(event.target, "listBtn")){ buttonOutput.innerHTML = "You clicked Item " + event.index + " with the label '" + event.item.label + "'" + " using a button with the CSS class '" + event.target.className.split(" ")[2] + "'"; _this.showMenu(event.target); } else { buttonOutput.innerHTML = "You clicked Item " + event.index + " with the label '" + event.item.label + "'" } }); // // this.connect(dijit.byId("listWidget").domNode, "onmousedown", function(event){ // _this.controller.showAlertDialog({ // title: "MDown", // text: "type: " + dojox.mobile.app.isIPhone//event.target.className // }) // }); }, showMenu: function(fromNode){ var buttonOutput = this.controller.query("#buttonOutput")[0]; this.controller.popupSubMenu({ choices: [ {label: "Option 1", value: 1}, {label: "Option 2", value: 2}, {label: "Option 3 - A Bit Longer", value: 3}, {label: "Option 4", value: 4} ], fromNode: fromNode, onChoose: function(value){ buttonOutput.innerHTML = "You chose the menu item with value " + value; } }) }, activate: function(){ console.log("In main assistant activate"); } });