List.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. Ext.define('uas.view.List', {
  2. extend: 'Ext.view.BoundList',
  3. xtype: 'listview',
  4. displayField: 'display',
  5. valueField: 'value',
  6. renderTpl: [
  7. '<div id="{id}-listWrap" data-ref="listWrap"',
  8. ' class="{baseCls}-list-ct ',
  9. Ext.dom.Element.unselectableCls,
  10. '">',
  11. '<tpl if="title">',
  12. '<div class="',
  13. Ext.baseCSSPrefix,
  14. 'list-header">',
  15. '<span class="',
  16. Ext.baseCSSPrefix,
  17. 'list-header-title">{title}',
  18. '</span>',
  19. '</div>',
  20. '</tpl>',
  21. '<ul id="{id}-listEl" data-ref="listEl" class="',
  22. Ext.baseCSSPrefix,
  23. 'list-plain"',
  24. '<tpl foreach="ariaAttributes"> {$}="{.}"</tpl>',
  25. '>',
  26. '</ul>',
  27. '</div>',
  28. '{%',
  29. 'var pagingToolbar=values.$comp.pagingToolbar;',
  30. 'if (pagingToolbar) {',
  31. 'Ext.DomHelper.generateMarkup(pagingToolbar.getRenderTree(), out);',
  32. '}',
  33. '%}',
  34. {
  35. disableFormats: true
  36. }
  37. ],
  38. initRenderData: function() {
  39. var me = this,
  40. data = me.callParent();
  41. data.title = me.title;
  42. return data;
  43. },
  44. constructor: function(config) {
  45. var me = this, cfg = Ext.apply({}, config);
  46. me.displayField = cfg.displayField || me.displayField;
  47. if (!cfg.store) {
  48. cfg.store = new Ext.data.Store({
  49. fields: [me.displayField],
  50. data: cfg.data || []
  51. });
  52. }
  53. me.callParent([
  54. cfg
  55. ]);
  56. },
  57. setListData: function(data) {
  58. this.store.loadData(data);
  59. },
  60. getItemValue: function(item) {
  61. return item.get(this.valueField);
  62. }
  63. });