extjs-gpl
Version:
GPL licensed version of Sencha Ext JS
49 lines (36 loc) • 1.19 kB
JavaScript
Ext.define('Admin.view.email.Window', {
extend: 'Ext.window.Window',
alias: 'widget.emailwindow',
autoShow: true,
modal: true,
layout: 'fit',
width: 200,
height: 200,
afterRender: function () {
var me = this;
me.callParent(arguments);
me.syncSize();
// Since we want to always be a %age of the viewport, we have to watch for
// resize events.
Ext.on(me.resizeListeners = {
resize: me.onViewportResize,
scope: me,
buffer: 50
});
},
doDestroy: function () {
Ext.un(this.resizeListeners);
this.callParent();
},
onViewportResize: function () {
this.syncSize();
},
syncSize: function () {
var width = Ext.Element.getViewportWidth(),
height = Ext.Element.getViewportHeight();
// We use percentage sizes so we'll never overflow the screen (potentially
// clipping buttons and locking the user in to the dialog).
this.setSize(Math.floor(width * 0.9), Math.floor(height * 0.9));
this.setXY([ Math.floor(width * 0.05), Math.floor(height * 0.05) ]);
}
});