X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/d41dc04ad17d1d9125fb2cf72db2b4782dbe3a8c..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/examples/multiselect/multiselect-demo.js diff --git a/examples/multiselect/multiselect-demo.js b/examples/multiselect/multiselect-demo.js index e41f746a..ff710125 100644 --- a/examples/multiselect/multiselect-demo.js +++ b/examples/multiselect/multiselect-demo.js @@ -1,115 +1,194 @@ -/* - * Ext JS Library 2.2.1 - * Copyright(c) 2006-2009, Ext JS, LLC. - * licensing@extjs.com - * - * http://extjs.com/license - */ - -Ext.onReady(function(){ - - Ext.QuickTips.init(); - Ext.form.Field.prototype.msgTarget = 'side'; - - /* - * Ext.ux.Multiselect Example Code - */ - var msForm = new Ext.form.FormPanel({ - title: 'MultiSelect Test', - width:700, - bodyStyle: 'padding:10px;', - renderTo: 'multiselect', - items:[{ - xtype:"multiselect", - fieldLabel:"Multiselect
(Required)", - name:"multiselect", - dataFields:["code", "desc"], - valueField:"code", - displayField:"desc", - width:250, - height:200, - allowBlank:false, - data:[[123,"One Hundred Twenty Three"], - ["1", "One"], ["2", "Two"], ["3", "Three"], ["4", "Four"], ["5", "Five"], - ["6", "Six"], ["7", "Seven"], ["8", "Eight"], ["9", "Nine"]], - tbar:[{ - text:"clear", - handler:function(){ - msForm.getForm().findField("multiselect").reset(); - } - }] - }], - tbar:[{ - text: 'Options', - menu: [{ - text:"Set Value (2,3)", - handler: function(){ - msForm.getForm().findField("multiselect").setValue("2,3"); - } - },{ - text:"Toggle Enabled", - handler: function(){ - var m=msForm.getForm().findField("multiselect"); - if (!m.disabled)m.disable(); - else m.enable(); - } - }] - }], - - buttons: [{ - text: 'Save', - handler: function(){ - if(msForm.getForm().isValid()){ - Ext.Msg.alert('Submitted Values', 'The following will be sent to the server:
'+ - msForm.getForm().getValues(true)); - } - } - }] - }); - - - /* - * Ext.ux.ItemSelector Example Code - */ - var isForm = new Ext.form.FormPanel({ - title: 'ItemSelector Test', - width:700, - bodyStyle: 'padding:10px;', - renderTo: 'itemselector', - items:[{ - xtype:"itemselector", - name:"itemselector", - fieldLabel:"ItemSelector", - dataFields:["code", "desc"], - toData:[["10", "Ten"]], - msWidth:250, - msHeight:200, - valueField:"code", - displayField:"desc", - imagePath:"images/", - toLegend:"Selected", - fromLegend:"Available", - fromData:[[123,"One Hundred Twenty Three"], - ["1", "One"], ["2", "Two"], ["3", "Three"], ["4", "Four"], ["5", "Five"], - ["6", "Six"], ["7", "Seven"], ["8", "Eight"], ["9", "Nine"]], - toTBar:[{ - text:"Clear", - handler:function(){ - var i=isForm.getForm().findField("itemselector"); - i.reset.call(i); - } - }] - }], - - buttons: [{ - text: 'Save', - handler: function(){ - if(isForm.getForm().isValid()){ - Ext.Msg.alert('Submitted Values', 'The following will be sent to the server:
'+ - isForm.getForm().getValues(true)); - } - } - }] - }); - -}); \ No newline at end of file +Ext.Loader.setConfig({enabled: true}); +Ext.Loader.setPath('Ext.ux', '../ux'); +Ext.require([ + 'Ext.form.Panel', + 'Ext.ux.form.MultiSelect', + 'Ext.ux.form.ItemSelector' +]); + +Ext.onReady(function(){ + + /* + * Ext.ux.form.MultiSelect Example Code + */ + var msForm = Ext.widget('form', { + title: 'MultiSelect Test', + width: 400, + bodyPadding: 10, + renderTo: 'multiselect', + items:[{ + anchor: '100%', + xtype: 'multiselect', + msgTarget: 'side', + fieldLabel: 'Multiselect', + name: 'multiselect', + + allowBlank: false, + // minSelections: 2, + // maxSelections: 3, + + store: [[123,'One Hundred Twenty Three'], + ['1', 'One'], ['2', 'Two'], ['3', 'Three'], ['4', 'Four'], ['5', 'Five'], + ['6', 'Six'], ['7', 'Seven'], ['8', 'Eight'], ['9', 'Nine']], + + value: ['3', '4', '6'], + + ddReorder: true + }], + + tbar:[{ + text: 'Options', + menu: [{ + text: 'Set value (2,3)', + handler: function(){ + msForm.getForm().findField('multiselect').setValue(['2', '3']); + } + },{ + text: 'Toggle enabled', + handler: function(){ + var m = msForm.getForm().findField('multiselect'); + if (!m.disabled) { + m.disable(); + } else { + m.enable(); + } + } + },{ + text: 'Toggle delimiter', + handler: function() { + var m = msForm.getForm().findField('multiselect'); + if (m.delimiter) { + m.delimiter = null; + Ext.Msg.alert('Delimiter Changed', 'The delimiter is now set to null. Click Save to ' + + 'see that values are now submitted as separate parameters.'); + } else { + m.delimiter = ','; + Ext.Msg.alert('Delimiter Changed', 'The delimiter is now set to ",". Click Save to ' + + 'see that values are now submitted as a single parameter separated by the delimiter.'); + } + } + }] + }], + + buttons: [{ + text: 'Clear', + handler: function(){ + var field = msForm.getForm().findField('multiselect'); + if (!field.readOnly && !field.disabled) { + field.clearValue(); + } + } + }, { + text: 'Reset', + handler: function() { + msForm.getForm().reset(); + } + }, { + text: 'Save', + handler: function(){ + if(msForm.getForm().isValid()){ + Ext.Msg.alert('Submitted Values', 'The following will be sent to the server:
'+ + msForm.getForm().getValues(true)); + } + } + }] + }); + + + var ds = Ext.create('Ext.data.ArrayStore', { + data: [[123,'One Hundred Twenty Three'], + ['1', 'One'], ['2', 'Two'], ['3', 'Three'], ['4', 'Four'], ['5', 'Five'], + ['6', 'Six'], ['7', 'Seven'], ['8', 'Eight'], ['9', 'Nine']], + fields: ['value','text'], + sortInfo: { + field: 'value', + direction: 'ASC' + } + }); + + /* + * Ext.ux.form.ItemSelector Example Code + */ + var isForm = Ext.widget('form', { + title: 'ItemSelector Test', + width: 700, + bodyPadding: 10, + renderTo: 'itemselector', + + tbar:[{ + text: 'Options', + menu: [{ + text: 'Set value (2,3)', + handler: function(){ + isForm.getForm().findField('itemselector').setValue(['2', '3']); + } + },{ + text: 'Toggle enabled', + handler: function(){ + var m = isForm.getForm().findField('itemselector'); + if (!m.disabled) { + m.disable(); + } else { + m.enable(); + } + } + },{ + text: 'Toggle delimiter', + handler: function() { + var m = isForm.getForm().findField('itemselector'); + if (m.delimiter) { + m.delimiter = null; + Ext.Msg.alert('Delimiter Changed', 'The delimiter is now set to null. Click Save to ' + + 'see that values are now submitted as separate parameters.'); + } else { + m.delimiter = ','; + Ext.Msg.alert('Delimiter Changed', 'The delimiter is now set to ",". Click Save to ' + + 'see that values are now submitted as a single parameter separated by the delimiter.'); + } + } + }] + }], + + items:[{ + xtype: 'itemselector', + name: 'itemselector', + anchor: '100%', + fieldLabel: 'ItemSelector', + imagePath: '../ux/images/', + + store: ds, + displayField: 'text', + valueField: 'value', + value: ['3', '4', '6'], + + allowBlank: false, + // minSelections: 2, + // maxSelections: 3, + msgTarget: 'side' + }], + + buttons: [{ + text: 'Clear', + handler: function(){ + var field = isForm.getForm().findField('itemselector'); + if (!field.readOnly && !field.disabled) { + field.clearValue(); + } + } + }, { + text: 'Reset', + handler: function() { + isForm.getForm().reset(); + } + }, { + text: 'Save', + handler: function(){ + if(isForm.getForm().isValid()){ + Ext.Msg.alert('Submitted Values', 'The following will be sent to the server:
'+ + isForm.getForm().getValues(true)); + } + } + }] + }); + +});