File: /var/www/clients/client1/web95/web/wp-content/plugins/shortcoder/admin/js/script-insert.js
(function($){
$(document).ready(function(){
var send_editor = function(content){
if(typeof parent.sc_block_editor_content === 'function'){
if(parent.sc_block_editor_content(content)){
return true;
}
}
if(typeof parent.sc_block_inline_insert === 'function'){
if(parent.sc_block_inline_insert(content)){
return true;
}
}
if(typeof parent.send_to_editor === 'function'){
parent.send_to_editor(content);
}else{
alert('Editor does not exist. Cannot insert shortcode !');
}
}
var close_window = function(){
if( typeof parent.sc_close_insert === 'function' ){
parent.sc_close_insert();
}
}
var copy_to_clipboard = function(str){
var el = document.createElement('textarea');
el.value = str;
el.setAttribute('readonly', '');
el.style.position = 'absolute';
el.style.left = '-9999px';
document.body.appendChild(el);
el.select();
document.execCommand('copy');
document.body.removeChild(el);
};
var generate_sc = function(id){
var $wrap = $('.sc_wrap[data-id="' + id + '"]');
var name = $wrap.attr('data-name');
var enclosed = $wrap.attr('data-enclosed');
var params = '';
$wrap.find('.sc_param').each(function(){
if($(this).val() != ''){
attr = $(this).attr('data-param');
val = $(this).val().replace( /\"/g, '' );
params += attr + '="' + val + '" ';
}
});
sc = '[sc name="' + name + '" ' + params + ']';
sc += '[/sc]';
return sc;
}
var set_shortcode = function(shortcode){
var re_attrs_text = /\[sc ([^\]]*)+\]/g;
var re_attrs = /(\w+?)="(.+?)"/g;
var attributes_text_matches = re_attrs_text.exec(shortcode);
if(attributes_text_matches.length < 1){
return false;
}
var attributes_text = attributes_text_matches[1];
var attributes = {};
while(true){
var attributes_matches = re_attrs.exec(attributes_text);
if(attributes_matches !== null){
var name = attributes_matches[1];
var val = attributes_matches[2];
attributes[name] = val;
}else{
break;
}
}
if(!('name' in attributes)){
return false;
}
var sc_name = attributes['name'];
var $sc_wrap = $('.sc_wrap[data-name="' + sc_name + '"]');
if($sc_wrap.length == 0){
return false;
}
var $sc_options = $sc_wrap.find('.sc_options');
var $sc_head = $sc_wrap.find('.sc_head');
delete attributes['name'];
for (var attribute in attributes) {
if (attributes.hasOwnProperty(attribute)) {
var attr_val = attributes[attribute];
$sc_options.find('input[data-param="' + attribute + '"]').val(attr_val);
}
}
if(!$sc_wrap.hasClass('open')){
$sc_head.trigger('click');
}
$sc_wrap[0].scrollIntoView();
}
$('.sc_insert').on('click', function(){
var sc_id = $(this).closest('.sc_wrap').attr('data-id');
var sc = generate_sc(sc_id);
send_editor(sc);
close_window();
});
$('.sc_copy').on('click', function(){
var sc_id = $(this).closest('.sc_wrap').attr('data-id');
var sc = generate_sc(sc_id);
copy_to_clipboard(sc);
close_window();
});
$('.sc_head').on('click', function(){
$('.sc_options').slideUp();
$('.sc_wrap').removeClass('open');
if($(this).next('.sc_options').is(':visible')){
$(this).next().slideUp();
}else{
$(this).next().slideDown();
$(this).closest('.sc_wrap').addClass('open');
}
});
$('.sc_search').on('keyup search', function(){
var re = new RegExp($(this).val(), 'gi');
$('.sc_wrap').each(function(){
var name = $(this).find('.sc_head h3').text();
var desc = $(this).find('.sc_head p').text();
if(name.match(re) === null && desc.match(re) === null){
$(this).hide();
}else{
$(this).show();
}
});
var $no_scs_msg = $('.sc_search_none');
var visible = $('.sc_wrap:visible').length;
if( visible == 0 ){
$no_scs_msg.show();
}else{
$no_scs_msg.hide();
}
});
$('.cfe_amt').on('click', function(){
var $btn = $(this).closest('.cfe_form').find('.cfe_btn');
$btn.attr('href', $btn.data('link') + $(this).val());
});
$('.note').on('click', function(){
$(this).find('table').slideToggle();
});
window.addEventListener('message', function(e){
var key = e.message ? 'message' : 'data';
var data = e[key];
if(data == false){
return true;
}
set_shortcode(data);
}, false);
});
})( jQuery );