59 lines
1.5 KiB
JavaScript
59 lines
1.5 KiB
JavaScript
/* global tinymce */
|
|
( function () {
|
|
tinymce.PluginManager.add(
|
|
'sp_shortcodes_button',
|
|
function( editor, url ) {
|
|
var ed = tinymce.activeEditor;
|
|
|
|
var groups = ed.getLang( 'sportspress.shortcodes' ).split( "]" );
|
|
var menu = new Array();
|
|
|
|
groups.forEach(
|
|
function(g) {
|
|
if ( "" == g ) {
|
|
return;
|
|
}
|
|
var p = g.split( "[" );
|
|
var label = p.shift();
|
|
var variations = p.shift();
|
|
var shortcodes = typeof variations !== 'undefined' ? variations.split( "|" ) : [];
|
|
var submenu = new Array();
|
|
shortcodes.forEach(
|
|
function(s) {
|
|
submenu.push(
|
|
{
|
|
text: ed.getLang( 'sportspress.' + s ),
|
|
onclick: function() {
|
|
// triggers the thickbox
|
|
var width = jQuery( window ).width(), H = jQuery( window ).height(), W = ( 720 < width ) ? 720 : width;
|
|
W = W - 80;
|
|
H = H - 84;
|
|
tb_show( ed.getLang( 'sportspress.' + label ) + ' - ' + ed.getLang( 'sportspress.' + s ), 'admin-ajax.php?action=sportspress_' + label + '_' + s + '_shortcode&width=' + W + '&height=' + H );
|
|
}
|
|
}
|
|
);
|
|
}
|
|
);
|
|
menu.push(
|
|
{
|
|
text: ed.getLang( 'sportspress.' + label ),
|
|
menu: submenu
|
|
}
|
|
);
|
|
}
|
|
);
|
|
|
|
editor.addButton(
|
|
'sp_shortcodes_button',
|
|
{
|
|
title: ed.getLang( 'sportspress.insert' ),
|
|
text: false,
|
|
icon: false,
|
|
type: 'menubutton',
|
|
menu: menu
|
|
}
|
|
);
|
|
}
|
|
);
|
|
})();
|