hijackclose.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. Ext.override(MODx.page[Collections_mode + Collections_type], {
  2. collectionsOriginals: {
  3. getButtons: MODx.page[Collections_mode + Collections_type].prototype.getButtons
  4. }
  5. ,getButtons: function(config) {
  6. var buttons = this.collectionsOriginals.getButtons.call(this, config);
  7. if (MODx.request.selection) {
  8. buttons.unshift({
  9. text: _(Collections_labels.back_to_selection) ? _(Collections_labels.back_to_selection) : Collections_labels.back_to_selection
  10. ,handler: function() {
  11. MODx.loadPage(MODx.action['resource/update'], 'id=' + MODx.request.selection);
  12. }
  13. });
  14. } else {
  15. buttons.unshift({
  16. text: _(Collections_labels.back_to_collection) ? _(Collections_labels.back_to_collection) : Collections_labels.back_to_collection
  17. ,handler: function() {
  18. var targetCollection = (Collections_collection_get || MODx.request.collection || config.record.parent);
  19. var folder = parseInt(MODx.request.folder);
  20. if (folder > 0) {
  21. folder = '&folder=' + folder;
  22. } else {
  23. var parent = parseInt(MODx.request.parent);
  24. if ((parent > 0) && (targetCollection != parent)) {
  25. folder = '&folder=' + parent;
  26. } else {
  27. folder = '';
  28. }
  29. }
  30. MODx.loadPage(MODx.action['resource/update'], 'id=' + targetCollection + folder);
  31. }
  32. });
  33. }
  34. return buttons;
  35. }
  36. });