71 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			71 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @file
							 | 
						||
| 
								 | 
							
								 * Attaches behaviors for the Contextual module's edit toolbar tab.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(function ($, Drupal) {
							 | 
						||
| 
								 | 
							
								  const strings = {
							 | 
						||
| 
								 | 
							
								    tabbingReleased: Drupal.t(
							 | 
						||
| 
								 | 
							
								      'Tabbing is no longer constrained by the Contextual module.',
							 | 
						||
| 
								 | 
							
								    ),
							 | 
						||
| 
								 | 
							
								    tabbingConstrained: Drupal.t(
							 | 
						||
| 
								 | 
							
								      'Tabbing is constrained to a set of @contextualsCount and the edit mode toggle.',
							 | 
						||
| 
								 | 
							
								    ),
							 | 
						||
| 
								 | 
							
								    pressEsc: Drupal.t('Press the esc key to exit.'),
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Initializes a contextual link: updates its DOM, sets up model and views.
							 | 
						||
| 
								 | 
							
								   *
							 | 
						||
| 
								 | 
							
								   * @param {HTMLElement} context
							 | 
						||
| 
								 | 
							
								   *   A contextual links DOM element as rendered by the server.
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  function initContextualToolbar(context) {
							 | 
						||
| 
								 | 
							
								    if (!Drupal.contextual || !Drupal.contextual.instances) {
							 | 
						||
| 
								 | 
							
								      return;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    const { contextualToolbar } = Drupal;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    const viewOptions = {
							 | 
						||
| 
								 | 
							
								      el: $('.toolbar .toolbar-bar .contextual-toolbar-tab'),
							 | 
						||
| 
								 | 
							
								      strings,
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    contextualToolbar.model = new Drupal.contextual.ContextualToolbarModelView(
							 | 
						||
| 
								 | 
							
								      viewOptions,
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Attaches contextual's edit toolbar tab behavior.
							 | 
						||
| 
								 | 
							
								   *
							 | 
						||
| 
								 | 
							
								   * @type {Drupal~behavior}
							 | 
						||
| 
								 | 
							
								   *
							 | 
						||
| 
								 | 
							
								   * @prop {Drupal~behaviorAttach} attach
							 | 
						||
| 
								 | 
							
								   *   Attaches contextual toolbar behavior on a contextualToolbar-init event.
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  Drupal.behaviors.contextualToolbar = {
							 | 
						||
| 
								 | 
							
								    attach(context) {
							 | 
						||
| 
								 | 
							
								      if (once('contextualToolbar-init', 'body').length) {
							 | 
						||
| 
								 | 
							
								        initContextualToolbar(context);
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Namespace for the contextual toolbar.
							 | 
						||
| 
								 | 
							
								   *
							 | 
						||
| 
								 | 
							
								   * @namespace
							 | 
						||
| 
								 | 
							
								   *
							 | 
						||
| 
								 | 
							
								   * @private
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  Drupal.contextualToolbar = {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The {@link Drupal.contextual.ContextualToolbarModelView} instance.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @type {?Drupal.contextual.ContextualToolbarModelView}
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    model: null,
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								})(jQuery, Drupal);
							 |