PDA

View Full Version : Ext.MessageBox?getDialog?override??



Mari
25 Jun 2009, 6:00 PM
?????????
????????Ext.Window?backspace?????????????????????Ext.Window???????????????
http://extjs.com/forum/showthread.php?t=65258

??????Ext.MessageBox???????????????
?????????????
function dialogHistoryControl(){
if(Ext.isIE6){ // IE6????
var ifr = Ext.select('.ext-shim').item(0).dom.contentWindow;
ifr.document.onkeydown = function(e){
if(ifr.event.keyCode==8) return false;
};
}
}
?????????????????????????
var msgDialog = Ext.Msg.show({
???????
});
dialogHistoryControl();

????Ext.Msg.show??????????????????????????????????
?????????Ext.MessageBox?getDialog??????????????????override????????return????????????????override?????????
return {??ext-all.js???????????????
getDialog : function(titleText){
if(!dlg){
dlg = new Ext.Window({
autoCreate : true,
title:titleText,
resizable:false,
constrain:true,
constrainHeader:true,
minimizable : false,
maximizable : false,
stateful: false,
modal: true,
shim:true,
buttonAlign:"center",
width:400,
height:100,
minHeight: 80,
plain:true,
footer:true,
closable:true,
close : function(){
if(opt && opt.buttons && opt.buttons.no && !opt.buttons.cancel){
handleButton("no");
}else{
handleButton("cancel");
}
}
});
buttons = {};
var bt = this.buttonText;

buttons["ok"] = dlg.addButton(bt["ok"], handleButton.createCallback("ok"));
buttons["yes"] = dlg.addButton(bt["yes"], handleButton.createCallback("yes"));
buttons["no"] = dlg.addButton(bt["no"], handleButton.createCallback("no"));
buttons["cancel"] = dlg.addButton(bt["cancel"], handleButton.createCallback("cancel"));
buttons["ok"].hideMode = buttons["yes"].hideMode = buttons["no"].hideMode = buttons["cancel"].hideMode = 'offsets';
dlg.render(document.body);
dlg.getEl().addClass('x-window-dlg');
mask = dlg.mask;
bodyEl = dlg.body.createChild({
html:'<div class="ext-mb-icon"></div><div class="ext-mb-content"><span class="ext-mb-text"></span><br /><div class="ext-mb-fix-cursor"><input type="text" class="ext-mb-input" /><textarea class="ext-mb-textarea"></textarea></div></div>'
});
iconEl = Ext.get(bodyEl.dom.firstChild);
var contentEl = bodyEl.dom.childNodes[1];
msgEl = Ext.get(contentEl.firstChild);
textboxEl = Ext.get(contentEl.childNodes[2].firstChild);
textboxEl.enableDisplayMode();
textboxEl.addKeyListener([10,13], function(){
if(dlg.isVisible() && opt && opt.buttons){
if(opt.buttons.ok){
handleButton("ok");
}else if(opt.buttons.yes){
handleButton("yes");
}
}
});
textareaEl = Ext.get(contentEl.childNodes[2].childNodes[1]);
textareaEl.enableDisplayMode();
progressBar = new Ext.ProgressBar({
renderTo:bodyEl
});
bodyEl.createChild({cls:'x-clear'});
}
// ???3????
setTimeout(function(){
try{ dialogHistoryControl();}catch(e){}
}, 50);
return dlg;
}
};

???????override???????????????
??????????????????????????????
??????????????????????????????????
???????????

Mari
25 Jun 2009, 6:36 PM
?????????????Ext.Msg.show??????????????????getDialog ??????????
var msgDialog = Ext.Msg.show({
???????
});
msgDialog.getDialog().setSize(???????;

?????getDialog???????????????
???????????

yuki
25 Jun 2009, 9:16 PM
?????????Ext.MessageBox?getDialog??????????????????override????????return????????????????override?????????

return?????????????????????Ext.MessageBox????????????????????????????override??????????:)

Ext.override??override?????????prototype?????????????Ext.MessageBox?prototype???????????????????override?????getDialog?????????????????????????????????????????

????????????????MessageBox.js???????????????????????????????????????????????????ext-all.js??????????

Mari
25 Jun 2009, 11:45 PM
??????????????

??????????????2.1.0????MessageBox-min.js????????
???????????js????????????????????????

????????????
???????????????:)

optiplex
9 Mar 2011, 11:58 PM
????????????????????????????????????????????