You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							87 lines
						
					
					
						
							2.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							87 lines
						
					
					
						
							2.2 KiB
						
					
					
				| (function () { | |
| var emoticons = (function () { | |
|   'use strict'; | |
| 
 | |
|   var PluginManager = tinymce.util.Tools.resolve('tinymce.PluginManager'); | |
| 
 | |
|   var Tools = tinymce.util.Tools.resolve('tinymce.util.Tools'); | |
| 
 | |
|   var emoticons = [ | |
|     [ | |
|       'cool', | |
|       'cry', | |
|       'embarassed', | |
|       'foot-in-mouth' | |
|     ], | |
|     [ | |
|       'frown', | |
|       'innocent', | |
|       'kiss', | |
|       'laughing' | |
|     ], | |
|     [ | |
|       'money-mouth', | |
|       'sealed', | |
|       'smile', | |
|       'surprised' | |
|     ], | |
|     [ | |
|       'tongue-out', | |
|       'undecided', | |
|       'wink', | |
|       'yell' | |
|     ] | |
|   ]; | |
|   var getHtml = function (pluginUrl) { | |
|     var emoticonsHtml; | |
|     emoticonsHtml = '<table role="list" class="mce-grid">'; | |
|     Tools.each(emoticons, function (row) { | |
|       emoticonsHtml += '<tr>'; | |
|       Tools.each(row, function (icon) { | |
|         var emoticonUrl = pluginUrl + '/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; | |
|   }; | |
|   var $_3gkq0ga8jd09evrp = { getHtml: getHtml }; | |
| 
 | |
|   var insertEmoticon = function (editor, src, alt) { | |
|     editor.insertContent(editor.dom.createHTML('img', { | |
|       src: src, | |
|       alt: alt | |
|     })); | |
|   }; | |
|   var register = function (editor, pluginUrl) { | |
|     var panelHtml = $_3gkq0ga8jd09evrp.getHtml(pluginUrl); | |
|     editor.addButton('emoticons', { | |
|       type: 'panelbutton', | |
|       panel: { | |
|         role: 'application', | |
|         autohide: true, | |
|         html: panelHtml, | |
|         onclick: function (e) { | |
|           var linkElm = editor.dom.getParent(e.target, 'a'); | |
|           if (linkElm) { | |
|             insertEmoticon(editor, linkElm.getAttribute('data-mce-url'), linkElm.getAttribute('data-mce-alt')); | |
|             this.hide(); | |
|           } | |
|         } | |
|       }, | |
|       tooltip: 'Emoticons' | |
|     }); | |
|   }; | |
|   var $_9tmk0ga7jd09evro = { register: register }; | |
| 
 | |
|   PluginManager.add('emoticons', function (editor, pluginUrl) { | |
|     $_9tmk0ga7jd09evro.register(editor, pluginUrl); | |
|   }); | |
|   function Plugin () { | |
|   } | |
| 
 | |
|   return Plugin; | |
| 
 | |
| }()); | |
| })()
 |