2 * @class Ext.app.Portal
4 * A sample portal layout application class.
6 // TODO: Fill in the content panel -- no AccordionLayout at the moment
7 // TODO: Fix container drag/scroll support (waiting on Ext.lib.Anim)
8 // TODO: Fix Ext.Tool scope being set to the panel header
9 // TODO: Drag/drop does not cause a refresh of scroll overflow when needed
10 // TODO: Grid portlet throws errors on destroy (grid bug)
11 // TODO: Z-index issues during drag
13 Ext.define('Ext.app.Portal', {
15 extend: 'Ext.container.Viewport',
17 uses: ['Ext.app.PortalPanel', 'Ext.app.PortalColumn', 'Ext.app.GridPortlet', 'Ext.app.ChartPortlet'],
23 handler: function(e, target, panelHeader, tool){
24 var portlet = panelHeader.ownerCt;
25 portlet.setLoading('Working...');
26 Ext.defer(function() {
27 portlet.setLoading(false);
33 initComponent: function(){
34 var content = '<div class="portlet-content">'+Ext.example.shortBogusMarkup+'</div>';
40 padding: '0 5 5 5' // pad the layout from the window edges
87 title: 'Grid Portlet',
88 tools: this.getTools(),
89 items: Ext.create('Ext.app.GridPortlet'),
91 'close': Ext.bind(this.onPortletClose, this)
96 tools: this.getTools(),
99 'close': Ext.bind(this.onPortletClose, this)
107 tools: this.getTools(),
108 html: '<div class="portlet-content">'+Ext.example.bogusMarkup+'</div>',
110 'close': Ext.bind(this.onPortletClose, this)
117 title: 'Stock Portlet',
118 tools: this.getTools(),
119 items: Ext.create('Ext.app.ChartPortlet'),
121 'close': Ext.bind(this.onPortletClose, this)
128 this.callParent(arguments);
131 onPortletClose: function(portlet) {
132 this.showMsg('"' + portlet.title + '" was removed');
135 showMsg: function(msg) {
136 var el = Ext.get('app-msg'),
140 el.update(msg).show();
142 Ext.defer(this.clearMsg, 3000, this, [msgId]);
145 clearMsg: function(msgId) {
146 if (msgId === this.msgId) {
147 Ext.get('app-msg').hide();