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.

77 lines (66 loc) 2.41 kB
define(["dojo/_base/lang"], function(lang){ var _onResults = []; // events on array return { // setDetailsContext for an item setDetailsContext: function(index, e, params){ if(params){ params.cursor = index; }else{ params = {"cursor":index}; } // transition to itemDetails view with the &cursor=index var transOpts = { title : "itemDetails", target : "itemDetails", url : "#itemDetails", // this is optional if not set it will be created from target params : params }; this.app.transitionToView(e.target,transOpts,e); }, // insert an item insertResult: function(index, e){ if(index<0 || index>this.list.store.data.length){ throw Error("index out of data model."); } if((this.list.store.data[index-1].First=="") || (this.list.store.data[index] && (this.list.store.data[index].First == ""))){ return; } var data = {id:Math.random(), "label": "", "rightIcon":"mblDomButtonBlueCircleArrow", "First": "", "Last": "", "Location": "CA", "Office": "", "Email": "", "Tel": "", "Fax": ""}; this.list.store.add(data); this.setDetailsContext(index, e); }, // list view init init: function(){ var list = this.list; if(!list.Store){ list.setStore(this.loadedStores.listStore); } // for(var i = 0; i < this.list.store.data.length; i++){ // var item = dom.byId(this.list.store.data[i].id); // on(item, "click", lang.hitch(this, function(e){ // var item = this.list.store.query({"label": e.target.innerHTML}) // var index = this.list.store.index[item[0].id]; // console.log("index is "+index); // this.setDetailsContext(index, e, this.params); // })); // } this.list.on("click", lang.hitch(this, function(e){ console.log("List on click hit ",e); var item = this.list.store.query({"label": e.target.innerHTML}); var index = this.list.store.index[item[0].id]; console.log("index is "+index); this.setDetailsContext(index, e, this.params); })); this.listInsert1.on("click", lang.hitch(this, function(e){ console.log("listInsert1 on click hit ",e); var index = this.list.store.data.length; this.insertResult(index, e); })); }, // view destroy, this destroy function can be removed since it is empty destroy: function(){ // _WidgetBase.on listener is automatically destroyed when the Widget itself is. } }; });