source: Dev/trunk/src/client/dojox/app/tests/scrollableTestApp2/scrollableTestApp.js

Last change on this file was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 2.3 KB
Line 
1define(["dojox/mobile/ProgressIndicator", "dojox/mobile/TransitionEvent", "dojox/mvc/getStateful"], function(ProgressIndicator, TransitionEvent, getStateful){
2        return function(){
3                // the default select_item is 0, or will throw an error if directly transition to #details,EditTodoItem view
4                this.selected_item = 0;
5                this.selected_configuration_item = 0;
6                this.progressIndicator = null;
7                /*
8                * show or hide global progress indicator
9                */
10               
11                // show an item detail
12                this.setDetailsContext = function(index){
13                        if(this.loadedModels.repeatmodels) {
14                                this.loadedModels.repeatmodels.set("cursorIndex", index);
15                        }               
16                };
17
18                // global for call from template
19                this.removeScrollableItem = function(index){
20                                this.loadedModels.repeatmodels.model.splice(index, 1);
21                                return false;                   
22                };
23
24                // insert an item
25                this.insertResult = function(index, e){
26                        var repeatmodel = this.loadedModels.repeatmodels;
27                        if(index<0 || index>repeatmodel.model.length){
28                                throw Error("index out of data model.");
29                        }
30                        if((repeatmodel.model[index].First=="") ||
31                                (repeatmodel.model[index+1] && (repeatmodel.model[index+1].First == ""))){
32                                return;
33                        }
34                        var data = {id:Math.random(), "First": "", "Last": "", "Location": "CA", "Office": "", "Email": "", "Tel": "", "Fax": ""};
35                        repeatmodel.model.splice(index+1, 0, new getStateful(data));
36                        this.setDetailsContext(index+1);
37                        var transOpts = {
38                                title : "repeatDetails",
39                                target : "repeatDetails",
40                                url : "#repeatDetails", // this is optional if not set it will be created from target   
41                                params : {"cursor":index+1}
42                        };
43                        new TransitionEvent(e.target, transOpts, e).dispatch();
44                       
45                };
46
47               
48                this.showProgressIndicator = function(show){
49                               
50                        if(!this.progressIndicator){
51                                this.progressIndicator = ProgressIndicator.getInstance({removeOnStop:false, startSpinning:true, size:40, center:true, interval:30});
52                                // TODO: use dojo.body will throw no appendChild method error.
53                                var body = document.getElementsByTagName("body")[0];
54                                body.appendChild(this.progressIndicator.domNode);
55                                this.progressIndicator.domNode.style.zIndex = 999;
56                        }
57                        if(show){
58                                this.progressIndicator.domNode.style.visibility = "visible";
59                                this.progressIndicator.start();
60                        }else{
61                                this.progressIndicator.stop();
62                                this.progressIndicator.domNode.style.visibility = "hidden";
63                        }
64                       
65                }
66        };
67});
Note: See TracBrowser for help on using the repository browser.