[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/lib/editor/atto/plugins/align/yui/build/moodle-atto_align-button/ -> moodle-atto_align-button.js (source)

   1  YUI.add('moodle-atto_align-button', function (Y, NAME) {
   2  
   3  // This file is part of Moodle - http://moodle.org/
   4  //
   5  // Moodle is free software: you can redistribute it and/or modify
   6  // it under the terms of the GNU General Public License as published by
   7  // the Free Software Foundation, either version 3 of the License, or
   8  // (at your option) any later version.
   9  //
  10  // Moodle is distributed in the hope that it will be useful,
  11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13  // GNU General Public License for more details.
  14  //
  15  // You should have received a copy of the GNU General Public License
  16  // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
  17  
  18  /*
  19   * @package    atto_align
  20   * @copyright  2014 Frédéric Massart
  21   * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  22   */
  23  
  24  /**
  25   * @module moodle-atto_align-button
  26   */
  27  
  28  /**
  29   * Atto text editor align plugin.
  30   *
  31   * @namespace M.atto_align
  32   * @class button
  33   * @extends M.editor_atto.EditorPlugin
  34   */
  35  
  36  Y.namespace('M.atto_align').Button = Y.Base.create('button', Y.M.editor_atto.EditorPlugin, [], {
  37      initializer: function() {
  38          var alignment;
  39  
  40          alignment = 'justifyLeft';
  41          this.addButton({
  42              icon: 'e/align_left',
  43              title: 'leftalign',
  44              buttonName: alignment,
  45              callback: this._changeStyle,
  46              callbackArgs: alignment
  47          });
  48  
  49          alignment = 'justifyCenter';
  50          this.addButton({
  51              icon: 'e/align_center',
  52              title: 'center',
  53              buttonName: alignment,
  54              callback: this._changeStyle,
  55              callbackArgs: alignment
  56          });
  57  
  58          alignment = 'justifyRight';
  59          this.addButton({
  60              icon: 'e/align_right',
  61              title: 'rightalign',
  62              buttonName: alignment,
  63              callback: this._changeStyle,
  64              callbackArgs: alignment
  65          });
  66      },
  67  
  68  
  69      /**
  70       * Change the alignment to the specified justification.
  71       *
  72       * @method _changeStyle
  73       * @param {EventFacade} e
  74       * @param {string} justification The execCommand for the new justification.
  75       * @private
  76       */
  77      _changeStyle: function(e, justification) {
  78          var host = this.get('host');
  79  
  80          // We temporarily re-enable CSS styling to try to have the most consistency.
  81          // Though, IE, as always, is stubborn and will do its own thing...
  82          host.enableCssStyling();
  83  
  84          document.execCommand(justification, false, null);
  85  
  86          // Re-disable the CSS styling after making the change.
  87          host.disableCssStyling();
  88  
  89          // Mark the text as having been updated.
  90          this.markUpdated();
  91  
  92          this.editor.focus();
  93      }
  94  });
  95  
  96  
  97  }, '@VERSION@', {"requires": ["moodle-editor_atto-plugin"]});


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1