test.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. Ext.onReady(function(){Ext.define('Image', {
  2. extend: 'Ext.data.Model',
  3. fields: [
  4. { name:'src', type:'string' },
  5. { name:'caption', type:'string' }
  6. ]
  7. });
  8. Ext.create('Ext.data.Store', {
  9. id:'imagesStore',
  10. model: 'Image',
  11. data: [
  12. { src:'http://www.sencha.com/img/20110215-feat-drawing.png', caption:'Drawing & Charts' },
  13. { src:'http://www.sencha.com/img/20110215-feat-data.png', caption:'Advanced Data' },
  14. { src:'http://www.sencha.com/img/20110215-feat-html5.png', caption:'Overhauled Theme' },
  15. { src:'http://www.sencha.com/img/20110215-feat-perf.png', caption:'Performance Tuned' },
  16. { src:'http://www.sencha.com/img/20110215-feat-drawing.png', caption:'Drawing & Charts' },
  17. { src:'http://www.sencha.com/img/20110215-feat-data.png', caption:'Advanced Data' },
  18. { src:'http://www.sencha.com/img/20110215-feat-html5.png', caption:'Overhauled Theme' },
  19. { src:'http://www.sencha.com/img/20110215-feat-perf.png', caption:'Performance Tuned' },
  20. { src:'http://www.sencha.com/img/20110215-feat-drawing.png', caption:'Drawing & Charts' },
  21. { src:'http://www.sencha.com/img/20110215-feat-data.png', caption:'Advanced Data' },
  22. { src:'http://www.sencha.com/img/20110215-feat-html5.png', caption:'Overhauled Theme' },
  23. { src:'http://www.sencha.com/img/20110215-feat-perf.png', caption:'Performance Tuned' }
  24. ]
  25. });
  26. var imageTpl = new Ext.XTemplate(
  27. '<tpl for=".">',
  28. '<div style="margin-bottom: 10px;" class="thumb-wrap">',
  29. '<img src="{src}" />',
  30. '<br/><span>{caption}</span>',
  31. '</div>',
  32. '</tpl>'
  33. );
  34. //Ext.create('Ext.view.View', {
  35. // store: Ext.data.StoreManager.lookup('imagesStore'),
  36. // tpl: imageTpl,
  37. // trackOver: true,
  38. // itemSelector: 'div.thumb-wrap',
  39. // emptyText: 'No images available',
  40. // plugins: [
  41. // Ext.create('Ext.ux.DataView.DragSelector', {}),
  42. // Ext.create('Ext.ux.DataView.LabelEditor', {dataIndex: 'name'})
  43. // ],
  44. // renderTo: Ext.getBody()
  45. //});
  46. Ext.create('Ext.Panel', {
  47. id: 'images-view',
  48. frame: true,
  49. collapsible: true,
  50. width: 535,
  51. renderTo:Ext.getBody(),
  52. title: 'Simple DataView (0 items selected)',
  53. items:Ext.create('Ext.view.View', {
  54. store: Ext.data.StoreManager.lookup('imagesStore'),
  55. tpl: imageTpl,
  56. trackOver: true,
  57. itemSelector: 'div.thumb-wrap',
  58. emptyText: 'No images available',
  59. plugins: [
  60. Ext.create('Ext.ux.DataView.DragSelector', {}),
  61. Ext.create('Ext.ux.DataView.LabelEditor', {dataIndex: 'name'})
  62. ]
  63. })
  64. });
  65. });
  66. /*Ext.create('Ext.Panel', {
  67. id: 'images-view',
  68. frame: true,
  69. collapsible: true,
  70. width: 535,
  71. renderTo:Ext.getBody(),
  72. title: 'Simple DataView (0 items selected)',
  73. items: Ext.create('Ext.view.View', {
  74. store: Ext.data.StoreManager.lookup('imagesStore'),
  75. tpl: [
  76. '<tpl for=".">',
  77. '<div><div><div style="position: absolute; left: 0; top: 0"><input type="checkbox" name="ids" /></div>',
  78. '<div class="thumb-wrap" id="{caption}">',
  79. '<div class="thumb"><img src="{src}" title="{caption}"></div>',
  80. '<span class="x-editable">{caption}</span></div></div>',
  81. '</tpl>',
  82. '<div class="x-clear"></div></div>'
  83. ],
  84. multiSelect: true,
  85. // height: 310,
  86. trackOver: true,
  87. overItemCls: 'x-item-over',
  88. itemSelector: 'div.thumb-wrap',
  89. emptyText: 'No images to display',
  90. plugins: [
  91. Ext.create('Ext.ux.DataView.DragSelector', {}),
  92. Ext.create('Ext.ux.DataView.LabelEditor', {dataIndex: 'name'})
  93. ],
  94. prepareData: function(data) {
  95. Ext.apply(data, {
  96. shortName: Ext.util.Format.ellipsis(data.name, 15),
  97. sizeString: Ext.util.Format.fileSize(data.size),
  98. dateString: Ext.util.Format.date(data.lastmod, "m/d/Y g:i a")
  99. });
  100. return data;
  101. },
  102. listeners: {
  103. selectionchange: function(dv, nodes ){
  104. var l = nodes.length,
  105. s = l !== 1 ? 's' : '';
  106. this.up('panel').setTitle('Simple DataView (' + l + ' item' + s + ' selected)');
  107. }
  108. }
  109. })
  110. });
  111. });*/