123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- Ext.Loader.setConfig({
- enabled: true
- });
- Ext.Loader.setPath('Ext.ux', '../ux');
- Ext.require([
- 'Ext.layout.container.Table',
- 'Ext.ux.Spotlight'
- ]);
- //Create a DemoPanel which is the base for each panel in the example
- Ext.define('DemoPanel', {
- extend: 'Ext.panel.Panel',
- title: 'Demo Panel',
- frame: true,
- width: 200,
- height: 150,
- html: 'Some panel content goes here!',
- bodyPadding: 5,
- /**
- * Custom method which toggles a Ext.Button for the current panel on/off depending on the only argument
- */
- toggle: function(on) {
- var btns = this.dockedItems.last(),
- btn = btns.items.first();
- if (btn) {
- btn.setDisabled(!on);
- }
- }
- });
- Ext.onReady(function() {
- //Create the spotlight component
- var spot = Ext.create('Ext.ux.Spotlight', {
- easing: 'easeOut',
- duration: 300
- });
- var p1, p2, p3;
- /**
- * Method which changes the spotlight to be active on a spefied panel
- */
- var updateSpot = function(id) {
- if (typeof id == 'string') {
- spot.show(id);
- } else if (!id && spot.active) {
- spot.hide();
- }
- p1.toggle(id == p1.id);
- p2.toggle(id == p2.id);
- p3.toggle(id == p3.id);
- };
- Ext.widget('panel', {
- renderTo: Ext.getBody(),
- id: 'demo-ct',
- border: false,
- layout: {
- type: 'table',
- columns: 3
- },
- items: [
- p1 = Ext.create('DemoPanel', {
- id: 'panel1',
- buttons: [{
- text: 'Next Panel',
- disabled: true,
- handler: function() {
- updateSpot('panel2');
- }
- }]
- }), p2 = Ext.create('DemoPanel', {
- id: 'panel2',
- buttons: [{
- text: 'Next Panel',
- disabled: true,
- handler: function() {
- updateSpot('panel3');
- }
- }]
- }), p3 = Ext.create('DemoPanel', {
- id: 'panel3',
- buttons: [{
- text: 'Done',
- disabled: true,
- handler: function() {
- updateSpot(false);
- }
- }]
- })]
- });
- //The start button, which starts everything
- Ext.create('Ext.button.Button', {
- text: 'Start',
- renderTo: 'start-ct',
- handler: function() {
- updateSpot('panel1');
- }
- });
- });
|