Ext.require([ 'Ext.slider.*', 'Ext.form.*', 'Ext.window.MessageBox' ]); Ext.onReady(function(){ Ext.create('Ext.form.Panel', { width: 400, height: 160, title: 'Sound Settings', bodyPadding: 10, renderTo: 'container', defaultType: 'sliderfield', defaults: { anchor: '95%', tipText: function(thumb){ return String(thumb.value) + '%'; } }, items: [{ fieldLabel: 'Sound Effects', value: 50, name: 'fx' },{ fieldLabel: 'Ambient Sounds', value: 80, name: 'ambient' },{ fieldLabel: 'Interface Sounds', value: 25, name: 'iface' }], dockedItems: { xtype: 'toolbar', dock: 'bottom', ui: 'footer', items: [{ text: 'Max All', handler: function(){ this.up('form').items.each(function(c){ c.setValue(100); }); } }, '->', { text: 'Save', handler: function(){ var values = this.up('form').getForm().getValues(), s = ['Sounds Effects: {0}%', 'Ambient Sounds: {1}%', 'Interface Sounds: {2}%']; Ext.Msg.alert({ title: 'Settings Saved', msg: Ext.String.format(s.join('
'), values.fx, values.ambient, values.iface), icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); } },{ text: 'Reset', handler: function(){ this.up('form').getForm().reset(); } }] } }); });