Table.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. Ext.define('uas.override.panel.Table', {
  2. override: 'Ext.panel.Table',
  3. sortableColumns: false,
  4. enableColumnHide: false,
  5. emptyText: 'No Data Found',
  6. schemeLabel: 'My Schemes',
  7. constructor: function (config) {
  8. var me = this;
  9. config = config || {};
  10. config.dockedItems = config.dockedItems || [];
  11. if (config.showMenuBar || config.menubar) {
  12. config.dockedItems.push({
  13. dock: 'top',
  14. xtype: 'menubar',
  15. ui: 'form-menubar',
  16. itemId: 'menubar',
  17. items: config.menubar
  18. });
  19. }
  20. if (config.showScheme || config.schemes) {
  21. config.dockedItems.push({
  22. dock: 'top',
  23. xtype: 'fieldcontainer',
  24. itemId: 'schemecontainer',
  25. fieldLabel: me.schemeLabel,
  26. labelWidth: 88,
  27. padding: '10 0 10 0',
  28. items: [
  29. {
  30. xtype: 'segmentedbutton',
  31. ui: 'form',
  32. itemId: 'schemelist',
  33. items: config.schemes,
  34. listeners: {
  35. scope: me,
  36. change: me.onSchemeChange
  37. }
  38. }
  39. ]
  40. });
  41. }
  42. if (config.showPagingBar) {
  43. config.dockedItems.push({
  44. dock: 'bottom',
  45. xtype: 'pagingtoolbar',
  46. itemId: 'pagingtoolbar'
  47. });
  48. }
  49. if (!config.store) {
  50. config.store = {};
  51. }
  52. if (config.editable) {
  53. config.plugins = config.plugins || {};
  54. Ext.apply(config.plugins, {
  55. cellediting: {
  56. clicksToEdit: 1
  57. }
  58. });
  59. }
  60. me.callParent([config]);
  61. },
  62. loadData: function (data) {
  63. data = data || [];
  64. this.store.loadData(data);
  65. },
  66. addRecord: function (data) {
  67. data = data || {};
  68. this.store.add(data);
  69. },
  70. updateRecord: function (row, key, value) {
  71. var record = this.store.getAt(row);
  72. if (record) {
  73. record.set(key, value);
  74. }
  75. },
  76. setMenubar: function(menu) {
  77. var menubar = this.getDockedComponent('menubar');
  78. if (menubar) {
  79. menubar.removeAll();
  80. menubar.add(menu);
  81. }
  82. },
  83. setSchemes: function(schemes) {
  84. var schemelist = this.down('#schemelist');
  85. if (schemelist) {
  86. schemelist.removeAll();
  87. schemelist.add(schemes);
  88. }
  89. },
  90. onSchemeChange: function(seg, value) {
  91. var me = this;
  92. if (Ext.isNumber(value)) {
  93. me.fireEvent('schemechange', me, value);
  94. }
  95. }
  96. });