listeners : {
show : function (_self)
{
+
// this does not really work - escape on the borders works..
+ // resize to fit.. if we have styled stuff...
+
+
+
+
+ var d = this;
+
+ var pad = d.el.getSize().height - (d.header.getSize().height +
+ d.footer.getSize().height +
+ d.layout.getRegion('center').getPanel(0).el.getSize().height
+ );
+
+ var height = (
+ pad +
+ d.header.getSize().height +
+ d.footer.getSize().height +
+ d.layout.getRegion('center').getPanel(0).el.child('div').getSize().height
+ );
+ this.resizeTo(d.el.getSize().width, height);
+
if (this.keylistener) {
return;
}
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({
+ new Pman.Request({
url : baseURL + '/Core/UploadProgress.php',
params: {
id : uid
},
method: 'GET',
- success : function(data){
+ success : function(res){
//console.log(data);
+ var data = res.data;
+ if (dlg.haveProgress == 2) {
+ // it's been closed elsewhere..
+ return;
+ }
+
if (dlg.uploadComplete) {
Roo.MessageBox.hide();
return;
Roo.MessageBox.updateProgress(data.bytes_uploaded/data.bytes_total,
Math.floor((data.bytes_total - data.bytes_uploaded)/1000) + 'k remaining'
);
+ } else {
+ Roo.MessageBox.updateProgress(1,
+ "Upload Complete - processing"
+ );
+ return;
}
dlg.uploadProgress.defer(2000,dlg);
},
actioncomplete : function(_self,act)
{
_this.dialog.uploadComplete = true;
- _this.dialog.el.unmask();
+ _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;
+ if (typeof(_this.data.timeout) != 'undefined') {
+ this.timeout = _this.data.timeout;
+ }
+
this.findField('UPLOAD_IDENTIFIER').setValue(
(new Date() * 1) + '' + Math.random());
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);
+ _this.callback.call(this, act.result.data, act.result.extra);
}
return;
}
+
+
+
},
rendered : function (form)
{
},
actionfailed : function (_self, act)
{
+
+
_this.dialog.uploadComplete = true;
- _this.dialog.el.unmask();
+ // _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.split(/\n/).join('<BR/>'));
+ } 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;',
+ timeout : 300,
url : baseURL + '/Roo/Images.php',
items : [
{
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"
+ name : 'id'
},
{
xtype: 'Hidden',
xns: Roo.form,
- name : 'upload_max_filesize',
- value : "32M"
+ name : 'imgtype'
}
]
}
{
// do some checks?
- _this.dialog.el.mask("Sending");
+ //_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);
}