component-loader.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. Ext.require([
  2. //'Ext.panel.Panel',
  3. //'Ext.form.field.Number'
  4. '*'
  5. ]);
  6. Ext.onReady(function(){
  7. var main = Ext.create('Ext.panel.Panel', {
  8. renderTo: document.body,
  9. width: 800,
  10. height: 400,
  11. layout: {
  12. type: 'hbox',
  13. align: 'stretch',
  14. padding: 5
  15. },
  16. items: [{
  17. flex: 1,
  18. margins: '0 2 0 0',
  19. title: 'Load raw html',
  20. styleHtmlContent: true,
  21. bodyPadding: 5,
  22. loader: {
  23. autoLoad: true,
  24. url: 'content.htm'
  25. }
  26. }, {
  27. flex: 1,
  28. margins: '0 2 0 3',
  29. title: 'Load data for template',
  30. bodyPadding: 5,
  31. tpl: 'Favorite Colors<br /><br /><tpl for="."><b>{name}</b> - <span style="color: #{hex};">{color}</span><br /></tpl>',
  32. loader: {
  33. autoLoad: true,
  34. url: 'data.json',
  35. renderer: 'data'
  36. }
  37. }, {
  38. flex: 1,
  39. margins: '0 0 0 3',
  40. layout: {
  41. type: 'vbox',
  42. align: 'stretch',
  43. padding: '5 5 0 5'
  44. },
  45. defaults: {
  46. margins: '0 0 5 0'
  47. },
  48. title: 'Load Dynamic Components - No autoLoad',
  49. itemId: 'dynamic',
  50. dockedItems: [{
  51. dock: 'bottom',
  52. xtype: 'toolbar',
  53. items: [' ',{
  54. fieldLabel: '# to load',
  55. labelWidth: 60,
  56. xtype: 'numberfield',
  57. value: 5,
  58. minValue: 1,
  59. size: 5,
  60. itemId: 'toLoad'
  61. }, {
  62. text: 'Load!',
  63. handler: function(){
  64. var dynamic = main.child('#dynamic'),
  65. value = dynamic.down('#toLoad').getValue();
  66. dynamic.getLoader().load({
  67. params: {
  68. total: value
  69. }
  70. });
  71. }
  72. }]
  73. }],
  74. loader: {
  75. loadMask: true,
  76. removeAll: true,
  77. url: 'boxes.php',
  78. renderer: 'component',
  79. success: function(loader){
  80. var panel = loader.getTarget();
  81. panel.setTitle('Loaded ' + panel.items.getCount() + ' items');
  82. }
  83. }
  84. }]
  85. });
  86. });