tripal_ds.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. (function($) {
  2. Drupal.behaviors.tripal_ds = {
  3. attach: function (context, settings){
  4. console.log('tripal pane javascript');
  5. // Add a close button for each pane except for the te_base
  6. $('.tripal_pane-fieldset .fieldset-legend').each(function (i) {
  7. if ($(this).parent().parent().attr('id') != 'tripal_ds-fieldset-te_base') {
  8. $(this).append('<div class="tripal_pane-fieldset-close_button"><div id="tripal-pane-close-button" class="trip al-pane-button">CLOSE</div></div>');
  9. }
  10. });
  11. // Hide the pane when the close button is clicked
  12. $('.tripal_pane-fieldset-close_button').each(function (i) {
  13. $(this).css('float', 'right');
  14. $(this).css('cursor', 'pointer');
  15. $(this).css('margin', '0px 5px');
  16. $(this).click(function () {
  17. var fs = $(this).parent().parent().parent();
  18. var fsid = fs.attr('id');
  19. if (fsid.indexOf('tripal_pane-fieldset-') == 0) {
  20. $(fs).fadeOut(300);
  21. }
  22. });
  23. });
  24. // Move the tripal pane to the first position when its TOC item is clicked.
  25. $('.tripal_pane-toc-list-item-link').each(function (i) {
  26. $(this).click(function() {
  27. var id = '.tripal_pane-fieldset-' + $(this).attr('id');
  28. var prevObj = $(id).prev().attr('class');
  29. console.log("id: ");
  30. console.log(id);
  31. //console.log(prevObj);
  32. // If the user clicks on the tripal_pane-fieldset-group_summary_tripalpane TOC item, open the fieldset if it's closed
  33. if (id == '.tripal_pane-fieldset-group_summary_tripalpane') {
  34. if ($('.tripal_pane-fieldset-group_summary_tripalpane fieldset').hasClass('collapsed')) {
  35. $('.tripal_pane-fieldset-group_summary_tripalpane fieldset').removeClass('collapsed');
  36. $('.tripal_pane-fieldset-group_summary_tripalpane fieldset .fieldset-wrapper').show();
  37. }
  38. else {
  39. $('.tripal_pane-fieldset-group_summary_tripalpane fieldset').fadeTo(10, 0.3, function() {});
  40. $('.tripal_pane-fieldset-group_summary_tripalpane fieldset').fadeTo(200, 1, function() {});
  41. }
  42. }
  43. // If the user clicks on other TOC item, move its fieldset to the top right below the te_base
  44. else {
  45. $(id + ' fieldset').removeClass('collapsed');
  46. $(id + ' fieldset .fieldset-wrapper').show();
  47. // Hightlight the fieldset instead of moving if it's already at the top
  48. if (prevObj.indexOf('group-tripal-pane-content-top') == 0 && $('.tripal_pane-fieldset-group_summary_tripalpane fieldset').hasClass('collapsed')) {
  49. $(id + ' fieldset').fadeTo(10, 0.3, function() {});
  50. $(id + ' fieldset').fadeTo(200, 1, function() {});
  51. }
  52. else {
  53. $(id + ' fieldset .fieldset-wrapper').hide();
  54. var obj = $(id).detach();
  55. $('.group-tripal-pane-content-top').after(obj);
  56. }
  57. // Close the te_base fieldset
  58. $('.tripal_pane-fieldset-group_summary_tripalpane fieldset .fieldset-wrapper').hide();
  59. $('.tripal_pane-fieldset-group_summary_tripalpane fieldset').addClass('collapsed');
  60. }
  61. $(id + ' fieldset .fieldset-wrapper').show(300);
  62. //}
  63. return false;
  64. });
  65. });
  66. },
  67. };
  68. })(jQuery);