| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /**
- * plugin.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
- /*global tinymce:true */
- tinymce.PluginManager.add('emoticons', function(editor, url) {
- var emoticons = [
- ["cool", "cry", "embarassed", "foot-in-mouth"],
- ["frown", "innocent", "kiss", "laughing"],
- ["money-mouth", "sealed", "smile", "surprised"],
- ["tongue-out", "undecided", "wink", "yell"]
- ];
- function getHtml() {
- var emoticonsHtml;
- emoticonsHtml = '<table role="list" class="mce-grid">';
- tinymce.each(emoticons, function(row) {
- emoticonsHtml += '<tr>';
- tinymce.each(row, function(icon) {
- var emoticonUrl = url + '/img/smiley-' + icon + '.gif';
- emoticonsHtml += '<td><a href="#" data-mce-url="' + emoticonUrl + '" data-mce-alt="' + icon + '" tabindex="-1" ' +
- 'role="option" aria-label="' + icon + '"><img src="' +
- emoticonUrl + '" style="width: 18px; height: 18px" role="presentation" /></a></td>';
- });
- emoticonsHtml += '</tr>';
- });
- emoticonsHtml += '</table>';
- return emoticonsHtml;
- }
- editor.addButton('emoticons', {
- type: 'panelbutton',
- panel: {
- role: 'application',
- autohide: true,
- html: getHtml,
- onclick: function(e) {
- var linkElm = editor.dom.getParent(e.target, 'a');
- if (linkElm) {
- editor.insertContent(
- '<img src="' + linkElm.getAttribute('data-mce-url') + '" alt="' + linkElm.getAttribute('data-mce-alt') + '" />'
- );
- this.hide();
- }
- }
- },
- tooltip: 'Emoticons'
- });
- });
|