utils.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. fred.button.Help = function (config) {
  2. config = config || {};
  3. config.path = config.path || '';
  4. var cfg = {
  5. text: _('fred.global.help'),
  6. handler: fred.getHelp(config.path),
  7. };
  8. fred.button.Help.superclass.constructor.call(this, cfg);
  9. };
  10. Ext.extend(fred.button.Help, Ext.Button);
  11. Ext.reg('fred-button-help', fred.button.Help);
  12. fred.grid.GearGrid = function(config) {
  13. config = config || {};
  14. config.showGear = (config.showGear === undefined) ? true : config.showGear;
  15. if (config.showGear && config.columns && Array.isArray(config.columns)) {
  16. config.columns.push({
  17. width: 40,
  18. fixed: true,
  19. renderer: function (value, metaData, record, rowIndex, colIndex, store) {
  20. return '<i class="icon icon-gear" style="cursor: pointer" data-action="context"></i>';
  21. }
  22. });
  23. }
  24. fred.grid.GearGrid.superclass.constructor.call(this, config);
  25. if (config.showGear) {
  26. this.on('click', function(e) {
  27. var target = e.getTarget();
  28. if (target && target.dataset.action) {
  29. if (target.dataset.action === 'context') {
  30. var record = this.getSelectionModel().getSelected();
  31. var ri = this.store.indexOf(record);
  32. this._showMenu(this, ri, e);
  33. }
  34. }
  35. }, this);
  36. }
  37. };
  38. Ext.extend(fred.grid.GearGrid, MODx.grid.Grid);
  39. fred.grid.LocalGearGrid = function(config) {
  40. config = config || {};
  41. if (config.columns && Array.isArray(config.columns)) {
  42. config.columns.push({
  43. width: 40,
  44. fixed: true,
  45. renderer: function (value, metaData, record, rowIndex, colIndex, store) {
  46. return '<i class="icon icon-gear" style="cursor: pointer" data-action="context"></i>';
  47. }
  48. });
  49. }
  50. fred.grid.LocalGearGrid.superclass.constructor.call(this, config);
  51. this.on('click', function(e) {
  52. var target = e.getTarget();
  53. if (target && target.dataset.action) {
  54. if (target.dataset.action === 'context') {
  55. var record = this.getSelectionModel().getSelected();
  56. var ri = this.store.indexOf(record);
  57. this._showMenu(this, ri, e);
  58. }
  59. }
  60. }, this);
  61. };
  62. Ext.extend(fred.grid.LocalGearGrid, MODx.grid.LocalGrid);