Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 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_italic
18
 * @copyright  2013 Damyon Wiese  <damyon@moodle.com>
19
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
20
 */
21
 
22
/**
23
 * @module     moodle-atto_italic-button
24
 */
25
 
26
/**
27
 * Atto text editor italic plugin.
28
 *
29
 * @namespace M.atto_italic
30
 * @class button
31
 * @extends M.editor_atto.EditorPlugin
32
 */
33
 
34
Y.namespace('M.atto_italic').Button = Y.Base.create('button', Y.M.editor_atto.EditorPlugin, [], {
35
    initializer: function() {
36
        var italic;
37
 
38
        this.addButton({
39
            callback: this._toggleItalic,
40
            icon: 'e/italic',
41
            buttonName: italic,
42
            inlineFormat: true,
43
 
44
            // Key code for the keyboard shortcut which triggers this button:
45
            keys: '73',
46
 
47
            // Watch the following tags and add/remove highlighting as appropriate:
48
            tags: 'em, i'
49
        });
50
    },
51
    /**
52
     * Toggle the italic setting.
53
     *
54
     * @method _toggleItalic
55
     * @param {EventFacade} e
56
     */
57
    _toggleItalic: function() {
58
        var host = this.get('host');
59
 
60
        // Use the "italic" command for simplicity. This will toggle <em> tags off as well.
61
        document.execCommand('italic', false, null);
62
 
63
        // Then change all <i> tags to <em> tags. This will change any existing <i> tags as well.
64
        host.changeToCSS('i', 'bf-editor-italic-emphasis');
65
        host.changeToTags('bf-editor-italic-emphasis', 'em');
66
    }
67
});