1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
Prado.WebUI.TActiveFileUpload = Base.extend(
{
constructor : function(options)
{
this.options = options || {};
Prado.WebUI.TActiveFileUpload.register(this);
this.input = $(options.inputID);
this.flag = $(options.flagID);
this.form = $(options.formID);
this.indicator = $(options.indicatorID);
this.complete = $(options.completeID);
this.error = $(options.errorID);
Prado.Registry.set(options.inputID, this);
var tempfield = document.createElement('input');
tempfield.id = "tempActiveUploadField";
tempfield.name = "tempActiveUploadField";
tempfield.value = this.options.targetID;
tempfield.type = "hidden";
this.form.appendChild(tempfield);
// set up events
if (options.autoPostBack){
Event.observe(this.input,"change",this.fileChanged.bind(this));
}
},
fileChanged : function(){
// show the upload indicator, and hide the complete and error indicators (if they areSn't already).
this.flag.value = '1';
this.complete.style.display = 'none';
this.error.style.display = 'none';
this.indicator.style.display = '';
// set the form to submit in the iframe, submit it, and then reset it.
this.oldtargetID = this.form.target;
this.form.target = this.options.targetID;
this.form.submit();
this.form.target = this.oldtargetID;
},
finishUpload : function(options){
// hide the display indicator.
this.flag.value = '';
this.indicator.style.display = 'none';
if (this.options.targetID == options.targetID){
// show the complete indicator.
if (options.errorCode == 0){
this.complete.style.display = '';
this.input.value = '';
} else {
this.error.style.display = '';
}
Prado.Callback(this.options.EventTarget, options, null, this.options);
}
}
},
{
// class methods
controls : {},
register : function(control)
{
Prado.WebUI.TActiveFileUpload.controls[control.options.ID] = control;
},
onFileUpload : function(options)
{
Prado.WebUI.TActiveFileUpload.controls[options.clientID].finishUpload(options);
},
fileChanged : function(controlID){
Prado.WebUI.TActiveFileUpload.controls[controlID].fileChanged();
}
});
|