118 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
/**
 | 
						|
* DO NOT EDIT THIS FILE.
 | 
						|
* See the following change record for more information,
 | 
						|
* https://www.drupal.org/node/2815083
 | 
						|
* @preserve
 | 
						|
**/
 | 
						|
 | 
						|
(function ($, _, Backbone, Drupal) {
 | 
						|
  Drupal.quickedit.FieldToolbarView = Backbone.View.extend({
 | 
						|
    $editedElement: null,
 | 
						|
 | 
						|
    editorView: null,
 | 
						|
 | 
						|
    _id: null,
 | 
						|
 | 
						|
    initialize: function initialize(options) {
 | 
						|
      this.$editedElement = options.$editedElement;
 | 
						|
      this.editorView = options.editorView;
 | 
						|
 | 
						|
      this.$root = this.$el;
 | 
						|
 | 
						|
      this._id = 'quickedit-toolbar-for-' + this.model.id.replace(/[/[\]]/g, '_');
 | 
						|
 | 
						|
      this.listenTo(this.model, 'change:state', this.stateChange);
 | 
						|
    },
 | 
						|
    render: function render() {
 | 
						|
      this.setElement($(Drupal.theme('quickeditFieldToolbar', {
 | 
						|
        id: this._id
 | 
						|
      })));
 | 
						|
 | 
						|
      this.$el.prependTo(this.$root);
 | 
						|
 | 
						|
      return this;
 | 
						|
    },
 | 
						|
    stateChange: function stateChange(model, state) {
 | 
						|
      var from = model.previous('state');
 | 
						|
      var to = state;
 | 
						|
      switch (to) {
 | 
						|
        case 'inactive':
 | 
						|
          break;
 | 
						|
 | 
						|
        case 'candidate':
 | 
						|
          if (from !== 'inactive' && from !== 'highlighted') {
 | 
						|
            this.$el.remove();
 | 
						|
            this.setElement();
 | 
						|
          }
 | 
						|
          break;
 | 
						|
 | 
						|
        case 'highlighted':
 | 
						|
          break;
 | 
						|
 | 
						|
        case 'activating':
 | 
						|
          this.render();
 | 
						|
 | 
						|
          if (this.editorView.getQuickEditUISettings().fullWidthToolbar) {
 | 
						|
            this.$el.addClass('quickedit-toolbar-fullwidth');
 | 
						|
          }
 | 
						|
 | 
						|
          if (this.editorView.getQuickEditUISettings().unifiedToolbar) {
 | 
						|
            this.insertWYSIWYGToolGroups();
 | 
						|
          }
 | 
						|
          break;
 | 
						|
 | 
						|
        case 'active':
 | 
						|
          break;
 | 
						|
 | 
						|
        case 'changed':
 | 
						|
          break;
 | 
						|
 | 
						|
        case 'saving':
 | 
						|
          break;
 | 
						|
 | 
						|
        case 'saved':
 | 
						|
          break;
 | 
						|
 | 
						|
        case 'invalid':
 | 
						|
          break;
 | 
						|
      }
 | 
						|
    },
 | 
						|
    insertWYSIWYGToolGroups: function insertWYSIWYGToolGroups() {
 | 
						|
      this.$el.append(Drupal.theme('quickeditToolgroup', {
 | 
						|
        id: this.getFloatedWysiwygToolgroupId(),
 | 
						|
        classes: ['wysiwyg-floated', 'quickedit-animate-slow', 'quickedit-animate-invisible', 'quickedit-animate-delay-veryfast'],
 | 
						|
        buttons: []
 | 
						|
      })).append(Drupal.theme('quickeditToolgroup', {
 | 
						|
        id: this.getMainWysiwygToolgroupId(),
 | 
						|
        classes: ['wysiwyg-main', 'quickedit-animate-slow', 'quickedit-animate-invisible', 'quickedit-animate-delay-veryfast'],
 | 
						|
        buttons: []
 | 
						|
      }));
 | 
						|
 | 
						|
      this.show('wysiwyg-floated');
 | 
						|
      this.show('wysiwyg-main');
 | 
						|
    },
 | 
						|
    getId: function getId() {
 | 
						|
      return 'quickedit-toolbar-for-' + this._id;
 | 
						|
    },
 | 
						|
    getFloatedWysiwygToolgroupId: function getFloatedWysiwygToolgroupId() {
 | 
						|
      return 'quickedit-wysiwyg-floated-toolgroup-for-' + this._id;
 | 
						|
    },
 | 
						|
    getMainWysiwygToolgroupId: function getMainWysiwygToolgroupId() {
 | 
						|
      return 'quickedit-wysiwyg-main-toolgroup-for-' + this._id;
 | 
						|
    },
 | 
						|
    _find: function _find(toolgroup) {
 | 
						|
      return this.$el.find('.quickedit-toolgroup.' + toolgroup);
 | 
						|
    },
 | 
						|
    show: function show(toolgroup) {
 | 
						|
      var $group = this._find(toolgroup);
 | 
						|
 | 
						|
      $group.on(Drupal.quickedit.util.constants.transitionEnd, function (event) {
 | 
						|
        $group.off(Drupal.quickedit.util.constants.transitionEnd);
 | 
						|
      });
 | 
						|
 | 
						|
      window.setTimeout(function () {
 | 
						|
        $group.removeClass('quickedit-animate-invisible');
 | 
						|
      }, 0);
 | 
						|
    }
 | 
						|
  });
 | 
						|
})(jQuery, _, Backbone, Drupal); |