widget.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. VersionX.grid.ResourcesWidget = function(config) {
  2. config = config || {};
  3. Ext.applyIf(config,{
  4. url: VersionX.config.connector_url,
  5. id: 'versionx-grid-resources',
  6. baseParams: {
  7. action: 'mgr/resources/getlist',
  8. resource: (VersionX.inVersion) ? MODx.request['id'] : 0,
  9. uniqueOnly: 1
  10. },
  11. params: [],
  12. viewConfig: {
  13. forceFit: true,
  14. enableRowBody: true,
  15. emptyText: _('versionx.error.noresults')
  16. },
  17. fields: [
  18. {name: 'version_id', type: 'int'},
  19. {name: 'content_id', type: 'int'},
  20. {name: 'saved', type: 'string'},
  21. {name: 'username', type: 'string'},
  22. {name: 'mode', type: 'string'},
  23. {name: 'marked', type: 'boolean'},
  24. {name: 'title', type: 'string'},
  25. {name: 'context_key', type: 'string'},
  26. {name: 'class', type: 'string'}
  27. ],
  28. paging: true,
  29. pageSize: 5,
  30. remoteSort: true,
  31. columns: [{
  32. header: _('id'),
  33. dataIndex: 'content_id',
  34. sortable: true,
  35. width: .1
  36. },{
  37. header: _('versionx.saved'),
  38. dataIndex: 'saved',
  39. sortable: true,
  40. width: .3
  41. },{
  42. header: _('versionx.title'),
  43. dataIndex: 'title',
  44. sortable: true,
  45. width: .3
  46. },{
  47. header: _('user'),
  48. dataIndex: 'username',
  49. sortable: true,
  50. width: .15
  51. },{
  52. header: _('versionx.mode'),
  53. dataIndex: 'mode',
  54. sortable: true,
  55. width: .15,
  56. renderer: function (val) { return _('versionx.mode.'+val); }
  57. },{
  58. header: _('versionx.marked'),
  59. dataIndex: 'marked',
  60. sortable: true,
  61. width: .1,
  62. hidden: true
  63. },{
  64. header: _('context'),
  65. dataIndex: 'context_key',
  66. sortable: true,
  67. width: .1,
  68. hidden: true
  69. },{
  70. header: _('class_key'),
  71. dataIndex: 'class',
  72. sortable: true,
  73. width: .2,
  74. hidden: true
  75. }]
  76. ,listeners: {}
  77. });
  78. VersionX.grid.ResourcesWidget.superclass.constructor.call(this,config);
  79. };
  80. Ext.extend(VersionX.grid.ResourcesWidget,MODx.grid.Grid,{
  81. getMenu: function() {
  82. var r = this.getSelectionModel().getSelected();
  83. var d = r.data;
  84. var m = [];
  85. m.push({
  86. text: _('versionx.menu.viewdetails'),
  87. handler: function() {
  88. var eid = d.version_id;
  89. MODx.loadPage('?namespace=versionx&a=resource&vid='+eid)
  90. }
  91. },{
  92. text: _('versionx.widget.resources.update'),
  93. handler: function() {
  94. var eid = d.content_id;
  95. /* Be sure to be compatible for MODX 2.3 */
  96. var action = (MODx.action && MODx.action['resource/update']) ? MODx.action['resource/update'] : 'resource/update';
  97. MODx.loadPage('?a=' + action + '&id=' + eid);
  98. }
  99. });
  100. return m;
  101. }
  102. });
  103. Ext.reg('versionx-grid-resources-widget',VersionX.grid.ResourcesWidget);