[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/lib/editor/atto/plugins/subscript/yui/src/button/js/ -> button.js (source)

   1  // This file is part of Moodle - http://moodle.org/
   2  //
   3  // Moodle is free software: you can redistribute it and/or modify
   4  // it under the terms of the GNU General Public License as published by
   5  // the Free Software Foundation, either version 3 of the License, or
   6  // (at your option) any later version.
   7  //
   8  // Moodle is distributed in the hope that it will be useful,
   9  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  10  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11  // GNU General Public License for more details.
  12  //
  13  // You should have received a copy of the GNU General Public License
  14  // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
  15  
  16  /*
  17   * @package    atto_subscript
  18   * @copyright  2014 Rosiana Wijaya <rwijaya@moodle.com>
  19   * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  20   */
  21  
  22  /**
  23   * @module moodle-atto_subscript-button
  24   */
  25  
  26  /**
  27   * Atto text editor subscript plugin.
  28   *
  29   * @namespace M.atto_subscript
  30   * @class button
  31   * @extends M.editor_atto.EditorPlugin
  32   */
  33  
  34  Y.namespace('M.atto_subscript').Button = Y.Base.create('button', Y.M.editor_atto.EditorPlugin, [], {
  35      /**
  36       * A rangy object to alter CSS classes.
  37       *
  38       * @property _subscriptApplier
  39       * @type Object
  40       * @private
  41       */
  42      _subscriptApplier: null,
  43  
  44      /**
  45       * A rangy object to alter CSS classes.
  46       *
  47       * @property _superscriptApplier
  48       * @type Object
  49       * @private
  50       */
  51      _superscriptApplier: null,
  52  
  53      initializer: function() {
  54          this.addButton({
  55              buttonName: 'subscript',
  56              callback: this.toggleSubscript,
  57              icon: 'e/subscript',
  58              inlineFormat: true,
  59  
  60              // Watch the following tags and add/remove highlighting as appropriate:
  61              tags: 'sub'
  62          });
  63          this._subscriptApplier = window.rangy.createClassApplier("editor-subscript");
  64          this._superscriptApplier = window.rangy.createClassApplier("editor-superscript");
  65      },
  66  
  67      /**
  68       * Toggle subscripts in selection
  69       *
  70       * @method toggleSubscript
  71       */
  72      toggleSubscript: function() {
  73          // Replace all the sub and sup tags.
  74          this.get('host').changeToCSS('sup', 'editor-superscript');
  75          this.get('host').changeToCSS('sub', 'editor-subscript');
  76  
  77          // Remove all superscripts inselection and toggle subscript.
  78          this._superscriptApplier.undoToSelection();
  79          this._subscriptApplier.toggleSelection();
  80  
  81          // Replace CSS classes with tags.
  82          this.get('host').changeToTags('editor-subscript', 'sub');
  83          this.get('host').changeToTags('editor-superscript', 'sup');
  84      }
  85  });


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