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_strike
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_strike-button
24
 */
25
 
26
/**
27
 * Atto text editor strike plugin.
28
 *
29
 * @namespace M.atto_strike
30
 * @class button
31
 * @extends M.editor_atto.EditorPlugin
32
 */
33
 
34
Y.namespace('M.atto_strike').Button = Y.Base.create('button', Y.M.editor_atto.EditorPlugin, [], {
35
    initializer: function() {
36
        var strike;
37
 
38
        this.addButton({
39
            callback: this._toggleStrike,
40
            icon: 'e/strikethrough',
41
            buttonName: strike,
42
            inlineFormat: true,
43
 
44
            // Watch the following tags and add/remove highlighting as appropriate:
45
            tags: 'del, strike'
46
        });
47
        this._strikeApplier = window.rangy.createClassApplier("bf-editor-strike-del");
48
    },
49
    /**
50
     * Toggle the strikethrough setting.
51
     *
52
     * @method _toggleStrike
53
     */
54
    _toggleStrike: function() {
55
        var host = this.get('host');
56
 
57
        // Change all <del> and <strike> tags to applier class.
58
        host.changeToCSS('del', 'bf-editor-strike-del');
59
        host.changeToCSS('strike', 'bf-editor-strike-del');
60
 
61
        // Use the applier toggle selection.
62
        this._strikeApplier.toggleSelection();
63
 
64
        // Then change the applier class back to <del> tags.
65
        host.changeToTags('bf-editor-strike-del', 'del');
66
    }
67
});