123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /**
- * @file
- * Custom JS for controlling the Metatag vertical tab.
- */
- (function ($) {
- 'use strict';
- Drupal.behaviors.metatagFieldsetSummaries = {
- attach: function (context) {
- $('fieldset.metatags-form', context).drupalSetSummary(function (context) {
- var vals = [];
- $("input[type='text'], select, textarea", context).each(function() {
- var input_field = $(this).attr('name');
- // Verify the field exists before proceeding.
- if (input_field === undefined) {
- return false;
- }
- var default_name = input_field.replace(/\[value\]/, '[default]');
- var default_value = $("input[type='hidden'][name='" + default_name + "']", context);
- if (default_value.length && default_value.val() === $(this).val()) {
- // Meta tag has a default value and form value matches default value.
- return true;
- }
- else if (!default_value.length && !$(this).val().length) {
- // Meta tag has no default value and form value is empty.
- return true;
- }
- var label = $("label[for='" + $(this).attr('id') + "']").text();
- vals.push(Drupal.t('@label: @value', {
- '@label': $.trim(label),
- '@value': Drupal.truncate($(this).val(), 25) || Drupal.t('None')
- }));
- });
- if (vals.length === 0) {
- return Drupal.t('Using defaults');
- }
- else {
- return vals.join('<br />');
- }
- });
- }
- };
- /**
- * Encode special characters in a plain-text string for display as HTML.
- */
- Drupal.truncate = function (str, limit) {
- if (str.length > limit) {
- return str.substr(0, limit) + '...';
- }
- else {
- return str;
- }
- };
- })(jQuery);
|