TinyMCE Plugin
Pulldown needs to be renderd as html
HTML
<script src="//tinymce.cachefly.net/4.2/tinymce.min.js"></script>
<textarea>
CSS
.mce-btn.mce-customButtonClass button {
cursor: pointer;
}
JavaScript
var metaTags = ['fsfsd',"space", "dssdfff"]
var metaArray = [];
metaTags.forEach(function(value) {
if(value != "space"){
metaArray.push({
text: value,
onclick: function() {
var before, after = false;
if(value == "webversion"){
editor.insertContent((before?'':' ')+'<a href="%C#'+value+'#C%">click for webversion</a>'+(after?'':' '));
}else if(value == "webversion_alt"){
editor.insertContent((before?'':' ')+'<a href="%C#'+value+'#C%">click for alternative webversion</a>'+(after?'':' '));
}else if (value == "unsubscribe"){
editor.insertContent((before?'':' ')+'<a href="%R#'+value+'#R%">click to unsubscribe</a>'+(after?'':' '));
}
else{
editor.insertContent((before?'':' ')+'%R#'+value+'#R%'+(after?'':' '));
}
}});
}else{
metaArray.push({
text: "---------------",
disabled: "true",
classes: "tinymce-blank"
});
}
});
tinymce.PluginManager.add('foo', function (editor, url) {
editor.addButton('foo', {
title: 'Label for plugin button',
text: 'Plugin button text',
classes: 'customButtonClass',
menu:metaArray
});
});
tinymce.init({
selector: 'textarea',
plugins: ['foo'],
toolbar: "foo"
});