haveProgress : false,
height : 140,
modal : true,
- resizable : true,
+ resizable : false,
title : "Upload an Image or File",
- uploadProgress : false,
+ uploadComplete : false,
width : 500,
shadow : true,
- uploadProgres : function()
+ uploadProgress : function()
{
var dlg = this;
if (!dlg.haveProgress) {
Roo.MessageBox.progress("Uploading", "Uploading");
}
+
+ if (dlg.haveProgress == 2) {
+ // it's been closed elsewhere..
+ return;
+ }
if (dlg.uploadComplete) {
Roo.MessageBox.hide();
return;
}
- dlg.haveProgress = true;
+
+ dlg.haveProgress = 1;
var uid = _this.form.findField('UPLOAD_IDENTIFIER').getValue();
Pman.request({
method: 'GET',
success : function(data){
//console.log(data);
+
+ if (dlg.haveProgress == 2) {
+ // it's been closed elsewhere..
+ return;
+ }
+
if (dlg.uploadComplete) {
Roo.MessageBox.hide();
return;
listeners : {
actioncomplete : function(_self,act)
{
- _this.dialog.uploadComplete = true;
- _this.dialog.el.unmask();
-
- if (act.type == 'setdata') {
-
- this.findField('UPLOAD_IDENTIFIER').setValue(
- (new Date() * 1) + '' + Math.random());
- return;
- }
-
-
- if (act.type == 'load') {
- // should this happen?
- _this.data = act.result.data;
- // _this.loaded();
- return;
- }
-
-
- if (act.type == 'submit') { // only submitted here if we are
- _this.dialog.hide();
- //console.log(act);
- if (_this.callback) {
- _this.callback.call(this, act.result.data);
- }
- return;
+ _this.dialog.uploadComplete = true;
+ _this.dialog.haveProgress = 2;
+ Roo.MessageBox.hide(); // force hiding
+ _this.dialog.el.unmask();
+
+ if (act.type == 'setdata') {
+ this.url = _this.data._url ? _this.data._url : baseURL + '/Roo/Images.php';
+ this.el.dom.action = this.url;
+ this.findField('UPLOAD_IDENTIFIER').setValue(
+ (new Date() * 1) + '' + Math.random());
+
+ return;
+ }
+
+
+ if (act.type == 'load') {
+ // should this happen?
+ _this.data = act.result.data;
+ // _this.loaded();
+ return;
+ }
+
+
+ if (act.type == 'submit') { // only submitted here if we are
+ _this.dialog.hide();
+ Roo.log("Upload success");
+ Roo.log(act);
+ //console.log(act);
+ if (_this.callback) {
+ _this.callback.call(this, act.result.data);
}
+ return;
+ }
},
rendered : function (form)
{
_this.dialog.uploadComplete = true;
_this.dialog.el.unmask();
// error msg???
-
+ _this.dialog.haveProgress = 2;
if (act.type == 'submit') {
- Ext.MessageBox.alert("Error", "Saving failed = fix errors and try again");
+ Roo.log("Upload error");
+ Roo.log(act);
+ try {
+ Roo.MessageBox.alert("Error", act.result.errorMsg);
+ } catch(e) {
+ // Roo.log(e);
+ Roo.MessageBox.alert("Error", "Saving failed = fix errors and try again");
+ }
return;
}
// what about load failing..
- Ext.MessageBox.alert("Error", "Error loading details");
+ Roo.MessageBox.alert("Error", "Error loading details");
}
},
+ fileUpload : true,
labelWidth : 140,
method : 'POST',
style : 'margin:10px;',
xns: Roo.form,
name : 'UPLOAD_IDENTIFIER'
},
+ {
+ xtype: 'Hidden',
+ xns: Roo.form,
+ name : 'post_max_size',
+ value : "32M"
+ },
+ {
+ xtype: 'Hidden',
+ xns: Roo.form,
+ name : 'upload_max_filesize',
+ value : "32M"
+ },
{
xtype: 'TextField',
xns: Roo.form,
xtype: 'Hidden',
xns: Roo.form,
name : 'imgtype'
- },
- {
- xtype: 'Hidden',
- xns: Roo.form,
- name : 'post_max_size',
- value : "32M"
- },
- {
- xtype: 'Hidden',
- xns: Roo.form,
- name : 'upload_max_filesize',
- value : "32M"
}
]
}
_this.dialog.el.mask("Sending");
_this.dialog.uploadComplete = false;
_this.form.doAction('submit', {
- url: baseURL + '/Roo/Images.html',
- method: 'POST',
params: {
- // _id: 0 ,
ts : Math.random()
}
});
- _this.dialog.haveProgress = false,
+ _this.dialog.haveProgress = 0; // set to show..
_this.dialog.uploadProgress.defer(1000, _this.dialog);
}