base.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. jQuery(document).ready(function() {
  2. BaseApplication.add_pretty_errors(document);
  3. BaseApplication.add_collapsed_toggle();
  4. });
  5. var BaseApplication = {
  6. add_pretty_errors: function(subject) {
  7. jQuery('div.sonata-ba-field-error', subject).each(function(index, element) {
  8. var input = jQuery('input, textarea', element);
  9. var message = jQuery('div.sonata-ba-field-error-messages', element).html();
  10. jQuery('div.sonata-ba-field-error-messages', element).html('');
  11. if (!message) {
  12. message = '';
  13. }
  14. if (message.length == 0) {
  15. return;
  16. }
  17. input.qtip({
  18. content: message,
  19. show: 'focusin',
  20. hide: 'focusout',
  21. position: {
  22. corner: {
  23. target: 'rightMiddle',
  24. tooltip: 'leftMiddle'
  25. }
  26. },
  27. style: {
  28. name: 'red',
  29. border: {
  30. radius: 2
  31. },
  32. tip: 'leftMiddle'
  33. }
  34. })
  35. });
  36. },
  37. add_collapsed_toggle: function(subject) {
  38. jQuery('fieldset legend a.sonata-ba-collapsed', subject).live('click', function(event) {
  39. event.preventDefault();
  40. var fieldset = jQuery(this).closest('fieldset');
  41. jQuery('div.sonata-ba-collapsed-fields', fieldset).toggle();
  42. fieldset.toggleClass('sonata-ba-collapsed-fields-close');
  43. });
  44. }
  45. }