(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('
');
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();
});
}