sample skeleton application with dojo toolkit & arcgis js api v 4.30
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

67 lines
2.3 KiB

define(["dojox/mobile/ProgressIndicator", "dojox/mobile/TransitionEvent", "dojox/mvc/getStateful"], function(ProgressIndicator, TransitionEvent, getStateful){
return function(){
// the default select_item is 0, or will throw an error if directly transition to #details,EditTodoItem view
this.selected_item = 0;
this.selected_configuration_item = 0;
this.progressIndicator = null;
/*
* show or hide global progress indicator
*/
// show an item detail
this.setDetailsContext = function(index){
if(this.loadedModels.repeatmodels) {
this.loadedModels.repeatmodels.set("cursorIndex", index);
}
};
// global for call from template
this.removeScrollableItem = function(index){
this.loadedModels.repeatmodels.model.splice(index, 1);
return false;
};
// insert an item
this.insertResult = function(index, e){
var repeatmodel = this.loadedModels.repeatmodels;
if(index<0 || index>repeatmodel.model.length){
throw Error("index out of data model.");
}
if((repeatmodel.model[index].First=="") ||
(repeatmodel.model[index+1] && (repeatmodel.model[index+1].First == ""))){
return;
}
var data = {id:Math.random(), "First": "", "Last": "", "Location": "CA", "Office": "", "Email": "", "Tel": "", "Fax": ""};
repeatmodel.model.splice(index+1, 0, new getStateful(data));
this.setDetailsContext(index+1);
var transOpts = {
title : "repeatDetails",
target : "repeatDetails",
url : "#repeatDetails", // this is optional if not set it will be created from target
params : {"cursor":index+1}
};
new TransitionEvent(e.target, transOpts, e).dispatch();
};
this.showProgressIndicator = function(show){
if(!this.progressIndicator){
this.progressIndicator = ProgressIndicator.getInstance({removeOnStop:false, startSpinning:true, size:40, center:true, interval:30});
// TODO: use dojo.body will throw no appendChild method error.
var body = document.getElementsByTagName("body")[0];
body.appendChild(this.progressIndicator.domNode);
this.progressIndicator.domNode.style.zIndex = 999;
}
if(show){
this.progressIndicator.domNode.style.visibility = "visible";
this.progressIndicator.start();
}else{
this.progressIndicator.stop();
this.progressIndicator.domNode.style.visibility = "hidden";
}
}
};
});