(function() { tinymce.create('tinymce.plugins.oscitasProgressbar', { init : function(ed, url) { ed.addButton('oscitasprogressbar', { title : 'Progressbar Shortcode', image : url+'/icon.png', onclick : function() { create_oscitas_progressbar(); jQuery.fancybox({ 'autoSize':false, 'autoWidth':false, 'fitToView':false, 'height':'auto', 'topRatio':0.1, 'width':800, 'type' : 'inline', 'title' : 'Progressbar Shortcode', 'href' : '#oscitas-form-progressbar', helpers: { title : { type : 'over', position:'top' } } }); jQuery('#oscitas-form-progressbar table tr:visible:even').css('background', '#F0F0F0'); jQuery('#oscitas-form-progressbar table tr:visible:odd').css('background', '#DADADD'); } }); }, createControl : function(n, cm) { return null; }, getInfo : function() { return { longname : "Progressbar Shortcode", author : 'Oscitas Themes', authorurl : 'http://www.oscitasthemes.com/', infourl : 'http://www.oscitasthemes.com/', version : "2.0.0" }; } }); tinymce.PluginManager.add('oscitasprogressbar', tinymce.plugins.oscitasProgressbar); })(); function create_oscitas_progressbar(){ if(jQuery('#oscitas-form-progressbar').length){ jQuery('#oscitas-form-progressbar').remove(); } // creates a form to be displayed everytime the button is clicked // you should achieve this using AJAX instead of direct html code like this var form = jQuery('
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \

\

\ Enter a numeric value between 0 to 100, Default value is 50\
\ \

\
\

\ \

\
'); var table = form.find('table'); form.appendTo('body').hide(); jQuery('#oscitas-form-progressbar table tr:visible:even').css('background', '#F0F0F0'); jQuery('#oscitas-form-progressbar table tr:visible:odd').css('background', '#DADADD'); table.find('#oscitas-progressbar-stripped').click(function(){ if(jQuery(this).prop('checked')){ jQuery('#osc_progress_animate').show(); } else{ jQuery('#osc_progress_animate').hide(); } jQuery('#oscitas-form-progressbar table tr:visible:even').css('background', '#F0F0F0'); jQuery('#oscitas-form-progressbar table tr:visible:odd').css('background', '#DADADD'); }) // handles the click event of the submit button form.find('#oscitas-progressbar-submit').click(function(){ var cusclass='',type='',value='',stripped=''; if(jQuery('#oscitas-progressbar-stripped').prop('checked')){ stripped=' barstyle="progress-striped'; if(jQuery('#oscitas-progressbar-animated').prop('checked')){ stripped +=' active'; } stripped +='"'; } if(table.find('#oscitas-progressbar-class').val()!=''){ cusclass= ' class="'+table.find('#oscitas-progressbar-class').val()+'"'; } if(table.find('#oscitas-progressbar-style').val()!=''){ type= ' bartype="'+table.find('#oscitas-progressbar-style').val()+'"'; } if(table.find('#oscitas-progressbar-progress').val()!=''){ value= ' value="'+table.find('#oscitas-progressbar-progress').val()+'"'; } var shortcode = '[progressbar'+value+cusclass+type+stripped; shortcode += ']'; // inserts the shortcode into the active editor tinyMCE.activeEditor.execCommand('mceInsertContent', 0, shortcode); // closes fancybox jQuery.fancybox.close(); }); }