metatag.vertical-tabs.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. (function ($) {
  2. Drupal.behaviors.metatagFieldsetSummaries = {
  3. attach: function (context) {
  4. $('fieldset.metatags-form', context).drupalSetSummary(function (context) {
  5. var vals = [];
  6. $("input[type='text'], select, textarea", context).each(function() {
  7. var default_name = $(this).attr('name').replace(/\[value\]/, '[default]');
  8. var default_value = $("input[type='hidden'][name='" + default_name + "']", context);
  9. if (default_value.length && default_value.val() == $(this).val()) {
  10. // Meta tag has a default value and form value matches default value.
  11. return true;
  12. }
  13. else if (!default_value.length && !$(this).val().length) {
  14. // Meta tag has no default value and form value is empty.
  15. return true;
  16. }
  17. var label = $("label[for='" + $(this).attr('id') + "']").text();
  18. vals.push(Drupal.t('@label: @value', {
  19. '@label': $.trim(label),
  20. '@value': Drupal.truncate($(this).val(), 25) || Drupal.t('None')
  21. }));
  22. });
  23. if (vals.length === 0) {
  24. return Drupal.t('Using defaults');
  25. }
  26. else {
  27. return vals.join('<br />');
  28. }
  29. });
  30. }
  31. };
  32. /**
  33. * Encode special characters in a plain-text string for display as HTML.
  34. */
  35. Drupal.truncate = function (str, limit) {
  36. if (str.length > limit) {
  37. return str.substr(0, limit) + '...';
  38. }
  39. else {
  40. return str;
  41. }
  42. };
  43. })(jQuery);