Ext.require('*'); Ext.onReady(function() { Ext.ns('Ext.samples'); Ext.define('Ext.samples.SamplePanel', { extend: 'Ext.view.View', alias: 'widget.samplepanel', autoHeight : true, frame : false, cls : 'demos', itemSelector : 'dl', overItemCls : 'over', trackOver : true, tpl : Ext.create('Ext.XTemplate', '
', '', '
', '', '

{title}

', '
', '', '
', '

{text}', '', ' (New)', '', ' (Updated)', '', ' (Experimental)', '', ' ({status})', '', '

{desc}

', '
', '
', '
', '
', '
', '
', { isExperimental: function(status){ return status == 'experimental'; }, isNew: function(status){ return status == 'new'; }, isUpdated: function(status){ return status == 'updated'; } }), onContainerClick: function(e) { var group = e.getTarget('h2', 3, true); if (group) { group.up('div').toggleCls('collapsed'); } } }); // Instantiate Ext.App instance var App = Ext.create('Ext.App', {}); var catalog = Ext.samples.samplesCatalog; for (var i = 0, c; c = catalog[i]; i++) { c.id = 'sample-' + i; } var store = Ext.create('Ext.data.Store', { fields : ['id', 'title', 'items'], data : catalog }); Ext.create('Ext.samples.SamplePanel', { renderTo : 'all-demos', store : store }); var tpl = Ext.create('Ext.XTemplate', '
  • {title:stripTags}
  • ' ); tpl.overwrite('sample-menu', catalog); var bodyStyle = document.body.style, headerEl = Ext.get('hd'), footerEl = Ext.get('ft'), bodyEl = Ext.get('bd'), sideBoxEl = bodyEl.down('div.side-box'), leftColumnEl = bodyEl.down('div.left-column'), rightColumnEl = bodyEl.down('div.right-column'), titleEl = Ext.get('pagetitle'); var doResize = function() { bodyStyle.overflow = 'hidden'; var windowHeight = Ext.Element.getViewportHeight(), windowWidth = Ext.Element.getViewportWidth(), viewportWidth = Math.max(960, windowWidth - 600), marginWidth = Math.floor((windowWidth - viewportWidth) / 2), footerHeight = footerEl.getHeight(), titleElHeight = titleEl.getHeight() + titleEl.getMargin('tb'), headerHeight = headerEl.getHeight() + titleElHeight, warnEl = Ext.get('fb'), warnHeight = warnEl ? warnEl.getHeight() : 0, availHeight; Ext.fly('viewport').setStyle('marginLeft', marginWidth + 'px'); leftColumnEl.setStyle('width', (viewportWidth - leftColumnEl.getMargin('r')) + 'px'); rightColumnEl.setStyle('left', (viewportWidth - rightColumnEl.getWidth()) + 'px'); availHeight = windowHeight - ( footerHeight + headerHeight + bodyEl.getMargin('tb')) - warnHeight; Ext.fly('all-demos').setHeight(Math.floor(Math.max(availHeight, sideBoxEl.getHeight()))); bodyStyle.overflow = ''; }; // Resize on demand Ext.EventManager.onWindowResize(doResize); doResize(); var firebugWarning = function () { var cp = Ext.create('Ext.state.CookieProvider'); if (window.console && window.console.firebug && ! cp.get('hideFBWarning')){ var tpl = Ext.create('Ext.Template', '' ); var newEl = tpl.insertFirst('all-demos'); Ext.fly('hideWarning').on('click', function() { Ext.fly(newEl).slideOut('t',{remove:true}); cp.set('hideFBWarning', true); }); Ext.fly(newEl).slideIn(); } }; var hideMask = function () { Ext.get('loading').remove(); Ext.fly('loading-mask').animate({ opacity:0, remove:true, callback: firebugWarning }); }; Ext.defer(hideMask, 250); });