58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @file
							 | 
						||
| 
								 | 
							
								 * Defines JavaScript behaviors for the node module.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(function ($, Drupal, drupalSettings) {
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Behaviors for tabs in the node edit form.
							 | 
						||
| 
								 | 
							
								   *
							 | 
						||
| 
								 | 
							
								   * @type {Drupal~behavior}
							 | 
						||
| 
								 | 
							
								   *
							 | 
						||
| 
								 | 
							
								   * @prop {Drupal~behaviorAttach} attach
							 | 
						||
| 
								 | 
							
								   *   Attaches summary behavior for tabs in the node edit form.
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  Drupal.behaviors.nodeDetailsSummaries = {
							 | 
						||
| 
								 | 
							
								    attach(context) {
							 | 
						||
| 
								 | 
							
								      const $context = $(context);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      $context.find('.node-form-author').drupalSetSummary((context) => {
							 | 
						||
| 
								 | 
							
								        const nameElement = context.querySelector('.field--name-uid input');
							 | 
						||
| 
								 | 
							
								        const name = nameElement?.value;
							 | 
						||
| 
								 | 
							
								        const dateElement = context.querySelector('.field--name-created input');
							 | 
						||
| 
								 | 
							
								        const date = dateElement?.value;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if (name && date) {
							 | 
						||
| 
								 | 
							
								          return Drupal.t('By @name on @date', {
							 | 
						||
| 
								 | 
							
								            '@name': name,
							 | 
						||
| 
								 | 
							
								            '@date': date,
							 | 
						||
| 
								 | 
							
								          });
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        if (name) {
							 | 
						||
| 
								 | 
							
								          return Drupal.t('By @name', { '@name': name });
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        if (date) {
							 | 
						||
| 
								 | 
							
								          return Drupal.t('Authored on @date', { '@date': date });
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      $context.find('.node-form-options').drupalSetSummary((context) => {
							 | 
						||
| 
								 | 
							
								        const $optionsContext = $(context);
							 | 
						||
| 
								 | 
							
								        const values = [];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if ($optionsContext.find('input:checked').length) {
							 | 
						||
| 
								 | 
							
								          $optionsContext
							 | 
						||
| 
								 | 
							
								            .find('input:checked')
							 | 
						||
| 
								 | 
							
								            .next('label')
							 | 
						||
| 
								 | 
							
								            .each(function () {
							 | 
						||
| 
								 | 
							
								              values.push(Drupal.checkPlain(this.textContent.trim()));
							 | 
						||
| 
								 | 
							
								            });
							 | 
						||
| 
								 | 
							
								          return values.join(', ');
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        return Drupal.t('Not promoted');
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								})(jQuery, Drupal, drupalSettings);
							 |