var $currentContentEditor='content'; var $currentDeleteModal=false; var $pbSavingDone=true; // Reset Content width jQuery(function(){ $homeURI+='/'; if($homeURI[$homeURI.length-1]==='/'){$homeURI=$homeURI.substring(0,$homeURI.length-1);} twSortDragg(); // init Source Datas twInitSourceDatas(jQuery('#pagebuilder-area-source>div')); // Click to Add Item jQuery('#pagebuilder-elements-container>.item').click(function(){ jQuery('#pagebuilder-area>div').eq(1).append(jQuery(this).clone()); pbSaveData(); pbInitEvents(); }); // Layout Change jQuery('#pagebuilder-select-layout>.sidebar').bind('click').bind('click',function(e){e.preventDefault(); var $currentLayout = jQuery(this); var $currentValueArray = $currentLayout.attr('data-value').split(','); var $currentLayoutInput=$currentLayout.siblings('.page-layout'); $currentLayout.addClass('active').siblings('.sidebar').removeClass('active'); $currentLayoutInput.attr("value",$currentLayout.attr('data-input')); if($currentValueArray[0]!==''){ var $currentBuilderArea=''; var $currentBuilderAreaClasses=''; for(var i = 0, length=$currentValueArray.length ; i.sidebar.active').click(); pbInitEvents(); pbInitTemplateEvents(); pbSaveData(); }); function pbInitTemplateEvents(){ // Template Action jQuery('.template-add').unbind('click').bind('click',function(e){e.preventDefault(); var $currentTemplateName = prompt('Template Name?'); var $currentTemplateLayout = jQuery('input[name="pb-page-layout"]') .val(); var $currentTemplateContent=encodeURIComponent(jQuery('#pagebuilder-area').html()); if($currentTemplateName==null){ return false; }else if($currentTemplateName!='' && $currentTemplateLayout!=''){ jQuery.ajax({ type: "POST", url: ajaxurl, data: { 'action':'template_add', 'template_name':$currentTemplateName, 'template_content':$currentTemplateContent, 'template_layout':$currentTemplateLayout }, success: function(response){ if(jQuery('.succes',response).text()!=''){ jQuery('ul.template-container').append('
  • '+$currentTemplateName+'X
  • '); pbInitTemplateEvents(); // alert(jQuery('.succes',response).text()); }else if(jQuery('.error',response).text()!=''){ alert(jQuery('.error',response).text()); } } }); }else{ alert('Template name is empty!!! Try again.'); } jQuery('#template-save').removeClass('active').children('.template-container').slideUp(); }); jQuery('.template-name').unbind('click').bind('click',function(e){e.preventDefault(); var $currentTemplateName = jQuery(this).text(); var $currentResponse = 'waitingajax'; if($currentTemplateName){ jQuery.ajax({ type: "POST", url: ajaxurl, data: { 'action':'template_get', 'template_name':$currentTemplateName }, success: function(response){ $currentResponse=response; } }); if(confirm("Your old contents are will delete ?")){ var templateAjaxInt=setInterval(function(){ if($currentResponse!=='waitingajax'){ clearInterval(templateAjaxInt); if(jQuery('.data',$currentResponse).html()!=''){ jQuery('#pagebuilder-select-layout>[data-input="'+jQuery('.data>.layout',$currentResponse).text()+'"]').click(); jQuery('#pagebuilder-area').html(''); var tmp=jQuery($currentResponse).clone(); jQuery('>.data>.content>div',tmp).each(function(){ jQuery('#pagebuilder-area').append(jQuery(this).html('')); }); twSortDragg(); // init Source Datas twInitSourceDatas(jQuery('>.data>.content>div',$currentResponse)); pbSaveData(); pbInitEvents(); }else if(jQuery('.error',$currentResponse).text()!=''){ alert(jQuery('.error',$currentResponse).text()); } } },100); } } jQuery('#template-save').removeClass('active').children('.template-container').slideUp(); }); jQuery('.template-delete').unbind('click').bind('click',function(e){e.preventDefault(); var $this = jQuery(this); var $currentTemplateName = $this.closest('.template-item').find('.template-name').text(); if($currentTemplateName && confirm("Are you delete this template ?")){ jQuery.ajax({ type: "POST", url: ajaxurl, data: { 'action':'template_remove', 'template_name':$currentTemplateName }, success: function(response){ $this.closest('.template-item').remove(); if(jQuery('.error',response).text()!=''){ alert(jQuery('.error',response).text()); } } }); } jQuery('#template-save').removeClass('active').children('.template-container').slideUp(); }); // Template Style jQuery('#template-save>.template').unbind('click').bind('click',function(e){e.preventDefault(); if(jQuery('#template-save').hasClass('active')){ jQuery('#template-save').removeClass('active').children('.template-container').slideUp(); }else{ jQuery('#template-save').addClass('active').children('.template-container').slideDown(); } }); } function pbInitEvents(){ // height repaire var $builderMaxHeight=0; jQuery('#pagebuilder-area>div').css('min-height',''); jQuery('#pagebuilder-area>div').each(function(){if(jQuery(this).height()>$builderMaxHeight){$builderMaxHeight=jQuery(this).height();}}); jQuery('#pagebuilder-area>div').css('min-height',$builderMaxHeight+'px'); // Sortable Draggable twSortDragg(); //resize jQuery(".builder-area>.item>.list>.size-sizer-container>.sizer>a.down").unbind("click").bind("click",function(e){e.preventDefault(); var $this = jQuery(this); var $sizeList=jQuery('#size-list').clone(); var $currentItem = $this.closest('.item'); var $currentSizeText = jQuery('.list>.size-sizer-container>.size',$currentItem).text(); var $currentSizeList = jQuery('li[data-text="'+$currentSizeText+'"]',$sizeList); $currentItem.removeClass($currentSizeList.attr('data-class')); if($currentItem.attr('data-min')){$sizeList.find('[data-class="'+$currentItem.attr('data-min')+'"]').addClass('min').siblings('.min').removeClass('min');} if($currentSizeList.hasClass('min')){ // $currentSizeList=$currentSizeList.siblings('.max'); }else{ $currentSizeList=$currentSizeList.prev(); } $currentItem.addClass($currentSizeList.attr('data-class')); jQuery('.list>.size-sizer-container>.size',$currentItem).text($currentSizeList.attr('data-text')); pbSaveData(); }); jQuery(".builder-area>.item>.list>.size-sizer-container>.sizer>a.up").unbind("click").bind("click",function(e){e.preventDefault(); var $this = jQuery(this); var $sizeList=jQuery('#size-list').clone(); var $currentItem = $this.closest('.item'); var $currentSizeText = jQuery('.list>.size-sizer-container>.size',$currentItem).text(); var $currentSizeList = jQuery('li[data-text="'+$currentSizeText+'"]',$sizeList); $currentItem.removeClass($currentSizeList.attr('data-class')); if($currentItem.attr('data-min')){$sizeList.find('[data-class="'+$currentItem.attr('data-min')+'"]').addClass('min').siblings('.min').removeClass('min');} if($currentSizeList.hasClass('max')){ // $currentSizeList=$currentSizeList.siblings('.min'); }else{ $currentSizeList=$currentSizeList.next(); } $currentItem.addClass($currentSizeList.attr('data-class')); jQuery('.list>.size-sizer-container>.size',$currentItem).text($currentSizeList.attr('data-text')); pbSaveData(); }); //duplicate jQuery(".builder-area>.item>.list>.actions>a.action-duplicate").unbind("click").bind("click",function(e){e.preventDefault(); var $parent = jQuery(this).closest('.item'); var $newItem = $parent.clone().addClass('hidded').css('display','none'); $parent.after($newItem).promise().done(function(){ jQuery('.builder-area>.item.hidded').removeClass('hidded').fadeIn('slow').promise().done(function(){ pbSaveData();pbInitEvents(); }); }); }); //edit jQuery(".builder-area>.item>.list>.actions>a.action-edit").unbind("click").bind("click",function(e){e.preventDefault(); $parent = jQuery(this).closest('.item'); $parent.addClass('item-modalled').siblings('.item-modalled').removeClass('item-modalled'); var $videoURL = jQuery(this).attr('data-video'); html = $parent.children('.data').html(); //pbInitModalSave jQuery( '
    ' ).append(html).dialog({ closeOnEscape: true, title: $parent.children('.list').children('.name').text(), resizable: false, width: 800, modal: true, open: function(event, ui){ jQuery(this).closest('.ui-dialog').addClass('tw-pb-main-container'); jQuery(this).closest('.ui-dialog').focus(); if($parent.attr('data-help')){jQuery(this).closest('.ui-dialog').find('.ui-dialog-buttonpane').prepend('LINK');} pbModalInitActions(jQuery(this)); }, close: function(){ $currentContentEditor='content'; jQuery('#pb-modal-container').closest('.ui-dialog').remove(); jQuery('body>#pb-modal-container').remove(); }, buttons: { "Save": function() { pbModalSave(jQuery(this)); jQuery(this).dialog("close"); pbSaveData(); }, "Cancel": function() { jQuery(this).dialog("close"); } } }); }); //remove item jQuery(".builder-area>.item>.list>.actions>a.action-delete").unbind("click").bind("click",function(e){e.preventDefault(); $currentDeleteModal = jQuery(this).closest('.item'); //pbInitModalSave jQuery( '
    ' ).append('Are you sure to delete this?').dialog({ closeOnEscape: true, title: 'Confirm', resizable: false, width: 800, modal: true, open: function(event, ui){ jQuery(this).closest('.ui-dialog').addClass('tw-pb-main-container'); jQuery(this).closest('.ui-dialog').find('.ui-dialog-buttonset>.ui-button').first().focus(); }, close: function(){ $currentDeleteModal=false; jQuery('#pb-delete-modal-container').closest('.ui-dialog').remove(); jQuery('body>#pb-delete-modal-container').remove(); }, buttons: { "Yes": function() { $currentDeleteModal.remove(); $currentDeleteModal=false; pbSaveData(); jQuery(this).dialog("close"); }, "No": function() { jQuery(this).dialog("close"); } } }); }); } function pbSaveData(){ var savingInt=setInterval(function(){ if($pbSavingDone){ $pbSavingDone=false; clearInterval(savingInt); var item = ''; jQuery('#pagebuilder-area>div').each(function(iCont){ var $currentContainer=jQuery(this); var $size=''; var $classes=$currentContainer.attr('class').split(' '); for(var i=0,len=$classes.length;i.size-sizer-container>.size',$currentItem).text() + '",'; jQuery('.data .general-field-container>.field-item>.field-data>.field',$currentItem).each(function(){ var $currentField=jQuery(this); item += '"'+$currentField.attr('data-name')+'":"'+$currentField.val()+'",'; }).promise().done(function(){ item += '"settings":{'; jQuery('.data .custom-field-container>.field-item>.field-data>.field',$currentItem).each(function(index){ var $currentField=jQuery(this); if(index){item += ',';} if($currentField.attr('data-type')==='container'){ item += '"'+$currentField.attr('data-name')+'":{'; $currentField.children('.container-item').each(function(itemIndex){ var $currentContainerItem=jQuery(this); if(itemIndex){item += ',';} item += '"'+itemIndex+'":{'; jQuery('.content>.field-item>.field-data>.field',$currentContainerItem).each(function(fieldIndex){ var $currentContainerItemField = jQuery(this); if(fieldIndex){item += ',';} item += '"'+$currentContainerItemField.attr('data-name')+'":"'+encodeURIComponent($currentContainerItemField.val())+'"'; }); item += '}'; }); item += '}'; }else{ item += '"'+$currentField.attr('data-name')+'":"'+encodeURIComponent($currentField.val())+'"'; } }).promise().done(function(){ item += '}}'; }); }); }).promise().done(function(){ item += '}}'; }); }).promise().done(function(){ // jQuery('textarea#pb_content').val('{'+item+'}'); jQuery('textarea#pb_content').val(encodeURIComponent('{'+item+'}')); $pbSavingDone=true; }); } },500); } function pbModalInitActions($currentModal){ //Font Awesome Actions jQuery('[data-name="fa_icon"]',$currentModal).each(function(){ var $currIconField = jQuery(this).closest('.field-item'); var $currFa = $currIconField.siblings('.field-item.type-fa').hasClass('type-fa')?$currIconField.siblings('.field-item.type-fa'):$currentModal; var $currFaFields = $currIconField.parent().children('.field-item'); //Font Awesome Viewer jQuery('[data-name="fa_icon"]',$currFaFields).unbind('input').bind('input',function(){ var $style='display:block; text-align:center; margin: 0 auto;'; $style +='font-size:' +jQuery('[data-name="fa_size"]', $currFaFields).val()+';'; $style +='width:' +jQuery('[data-name="fa_size"]', $currFaFields).val()+';'; $style +='line-height:' +jQuery('[data-name="fa_size"]', $currFaFields).val()+';'; $style +='padding:' +jQuery('[data-name="fa_padding"]', $currFaFields).val()+';'; $style +='color:' +jQuery('[data-name="fa_color"]', $currFaFields).val()+';'; $style +='border-color:'+jQuery('[data-name="fa_bg_color"]',$currFaFields).val()+';'; $style +='border-width:' +jQuery('[data-name="fa_rounded"]', $currFaFields).val()+';'; jQuery('.fa-viewer',$currFa).html('').css('padding',jQuery('[data-name="fa_padding"]',$currFaFields).val()); }); jQuery('[data-name="fa_icon"]',$currFaFields).trigger('input'); //Font Awesome Modal jQuery('.remove-fa',$currFa).unbind('click').bind('click',function(e){e.preventDefault(); jQuery('[data-name="fa_size"]', $currFaFields).val(''); jQuery('[data-name="fa_padding"]', $currFaFields).val(''); jQuery('[data-name="fa_color"]', $currFaFields).val(''); jQuery('[data-name="fa_bg_color"]',$currFaFields).val(''); jQuery('[data-name="fa_rounded"]', $currFaFields).val(''); jQuery('[data-name="fa_icon"]', $currFaFields).val('').trigger('input'); }); //Font Awesome Modal jQuery('.show-fa-modal',$currFa).unbind('click').bind('click',function(e){e.preventDefault(); var $currentButton=jQuery(this); if($currentButton.not('.loading')){ $currentButton.addClass('loading'); jQuery.ajax({ type: "POST", url: ajaxurl, data: { 'action':'get_fontawesome' }, success: function(response){ if(jQuery(response).hasClass('fontawesome-ajax-data')){ jQuery( '
    ').append(jQuery(response).html()).dialog({ title: 'Font Awesome', resizable: true, width: 800, // height: 500, modal: true, open: function(){ jQuery(this).closest('.ui-dialog').addClass('tw-pb-main-container'); jQuery(this).closest('.ui-dialog').focus(); pbModalSaveField($currFaFields,jQuery(this).find('.general-field-container').children('.field-item')); pbModalInitActions(jQuery(this)); pbFaModalInitActions(jQuery(this)); }, close: function(){ jQuery('#fontawesome_container_dialog').closest('.ui-dialog').remove(); jQuery('body>#fontawesome_container_dialog').remove(); }, buttons: { "Insert": function() { pbModalSaveField(jQuery(this).find('.general-field-container').children('.field-item'),$currentButton.closest('.field-item').parent().children('.field-item')); $currentButton.closest('.field-item').parent().find('[data-name="fa_icon"]').trigger('input'); jQuery(this).dialog("close"); }, "Cancel": function() { jQuery(this).dialog("close"); } } }); } $currentButton.removeClass('loading'); } }); } }); }); //Upload Button Item jQuery('.field-item>.field-data>[data-type="button"]',$currentModal).each(function(){ var $currentButton=jQuery(this); var $currentButtonSaveTo=$currentButton.attr('data-save-to'); if($currentButtonSaveTo!==''){ $currentButton.unbind('click').bind('click',function(){ var $currentSaveField = $currentButton.closest('.field-item').siblings('.field-item').find('>.field-data>[data-name="'+$currentButtonSaveTo+'"]',$currentModal); window.original_send_to_editor = window.send_to_editor; window.custom_editor = true; window.send_to_editor = function(html){ html = jQuery("
    ").html(html); $currentSaveField.val(jQuery(html).find('img').attr('src')); tb_remove(); }; tb_show('Upload', $homeURI+'/wp-admin/media-upload.php?post_ID=' + pID + '&type=image&TB_iframe=true',false); jQuery('#TB_overlay').css('z-index','9998'); jQuery('#TB_window').css('z-index','9999'); }); } }); //TextEditor Item jQuery('.field-item>.field-data>[data-tinymce="true"]',$currentModal).each(function(){ var $currentEditor=jQuery(this); var $currentEditorName=$currentEditor.attr('data-name'); pbModalContentEditor($currentEditorName,$currentEditor); $currentContentEditor=$currentEditorName; }); //CheckBox Item jQuery('.field-item>.field-data>[data-type="checkbox"]',$currentModal).each(function(){ var $currentCheck=jQuery(this); var $currentCheckText=$currentCheck.next('.checkbox-text'); $currentCheckText.children('.checkbox-true').unbind('click').bind('click',function(){ $currentCheck.attr("value",true).attr("checked",true).change(); if($currentCheck.closest('.ui-dialog-content.ui-widget-content').hasClass('accordion')){ $currentCheck.closest('.container-item').siblings('.container-item').find('.field-item>.field-data>[data-name="'+$currentCheck.attr('data-name')+'"]').next('.checkbox-text').children('.checkbox-false').click(); } }); $currentCheckText.children('.checkbox-false').unbind('click').bind('click',function(){ $currentCheck.attr("value",false).attr("checked",false).change(); }); $currentCheck.unbind('change').bind('change',function(){ var $checked=$currentCheck.is(':checked'); var $styleON={ color: '#333333', borderColor: '#bebebe', backgroundColor: '#fff' }; var $styleOFF=$styleON; if($checked){ $currentCheckText.removeClass('checked-false').addClass('checked-true'); $styleON={ color: '#ffffff', borderColor: '#6395c0', backgroundColor: '#9ed5fe' }; }else{ $currentCheckText.removeClass('checked-true').addClass('checked-false'); $styleOFF={ color: '#ffffff', borderColor: '#8f8f8f', backgroundColor: '#a4a4a4' }; } $currentCheckText.children('.checkbox-true') .animate($styleON, 300); $currentCheckText.children('.checkbox-false').animate($styleOFF,300); }); $currentCheck.change(); }); //Select Item jQuery('.field-item>.field-data>select',$currentModal).each(function(){ var $currentSelect=jQuery(this); var $currentSelectText=$currentSelect.next('.select-text'); $currentSelectText.width(pbItemRL($currentSelect)+$currentSelect.width()-pbItemRL($currentSelectText)); }); jQuery('.field-item>.field-data>select',$currentModal).unbind('change').bind('change',function(){ var $currentSelect=jQuery(this); var $currentVal=$currentSelect.val(); var $currentSelectText=$currentSelect.next('.select-text'); var $currentSelectOption=$currentSelect.find('option[value="'+$currentVal+'"]'); var $currentHideArray= $currentSelectOption.attr('hide')?$currentSelectOption.attr('hide').split(','):[""]; $currentSelectOption.attr('selected','selected').siblings().removeAttr('selected'); if($currentHideArray[0]!==''){ $currentSelect.closest('.field-item').parent().children('.field-item.hide-for-select').removeClass('hide-for-select').show(); for(var i = 0, length=$currentHideArray.length ; i.field-data>[data-name="'+$currentHideArray[i]+'"]').closest('.field-item').addClass('hide-for-select').hide(); } } } $currentSelectText.text($currentSelectOption.text()); if($currentSelect.attr('id')==='style_shortcode'&&$currentVal!=='none'){ $currentSelect.children('option[value="none"]').attr('selected','selected').siblings().removeAttr('selected'); twGetShortcode($currentVal); } }); jQuery('.field-item>.field-data>select',$currentModal).change(); //Color Picker Item jQuery('.field-item>.field-data>[data-type="color"]',$currentModal).each(function(){ var $currentInput=jQuery(this); jQuery($currentInput.siblings(".color-info")).ColorPicker({ onShow: function (colpkr) { jQuery(colpkr).find('.colorpicker_hex>input').val($currentInput.val().replace('#','')).change(); jQuery(colpkr).fadeIn(500); return false; }, onHide: function (colpkr) { jQuery(colpkr).fadeOut(500); return false; }, onChange: function (hsb, hex, rgb, el) { $currentInput.siblings('.color-info').css('background-color','#' + hex); $currentInput.val('#' + hex).change().trigger('input'); } }); $currentInput.unbind('input change').bind('input change',function(){ if(jQuery(this).val()===''){jQuery(this).val(' ');} $currentInput.siblings('.color-info').css('background-color',jQuery(this).val()); }); jQuery(this).change(); }); //Container Item jQuery('.field-item>.field-data>[data-type="container"]',$currentModal).each(function(){ var $currentContainer = jQuery(this); jQuery('.field-item>.field-data>[data-name="'+$currentContainer.attr('data-add-button')+'"]',$currentModal).unbind('click').bind('click',function(e){e.preventDefault(); var $currentButton=jQuery(this); var $newElement = $currentButton.next('.data').find('[data-type="container"]'); if($currentContainer.attr('data-container-type')==='toggle'){ $currentContainer.append($newElement.html()); pbModalInitActions($currentModal); }else{ window.original_send_to_editor = window.send_to_editor; window.custom_editor = true; window.send_to_editor = function(html){ html = jQuery("
    ").html(html); jQuery(html).find('img').each(function(){ $newElement.find('.image-src').attr('src',jQuery(this).attr('src')); $newElement.find('[data-name="'+$newElement.attr('data-title-as')+'"]').attr('value',jQuery(this).attr('src')); $currentContainer.append($newElement.html()); }).promise().done(function(){ tb_remove(); pbModalInitActions($currentModal); }); }; tb_show('Upload', $homeURI+'/wp-admin/media-upload.php?post_ID=' + pID + '&type=image&TB_iframe=true',false); jQuery('#TB_overlay').css('z-index','9998'); jQuery('#TB_window').css('z-index','9999'); } }); if($currentContainer.attr('data-container-type')==='toggle'){ jQuery('.container-item>.content>.field-item>.field-data>[data-name="'+$currentContainer.attr('data-title-as')+'"]',$currentContainer).each(function(){ var $currentChanger=jQuery(this); var $currentChangerType=$currentChanger.attr('data-type'); if($currentChangerType==='select'){ $currentChanger.bind('change',function(){ $currentChanger.closest('.container-item').children('.list').children('.name').text($currentChanger.val()); }); $currentChanger.change(); }else{ $currentChanger.unbind('input').bind('input',function(e){e.preventDefault(); $currentChanger.closest('.container-item').children('.list').children('.name').text($currentChanger.val()); }); $currentChanger.trigger('input'); } }); } }); jQuery('.container-item>.list',$currentModal).unbind('click').bind('click',function(e){e.preventDefault(); var $containerItem = jQuery(this).closest('.container-item'); if($containerItem.closest('.container').attr('data-container-type')==='toggle'){ if($containerItem.hasClass('expanded')){ jQuery(this).next('.content').slideUp("normal", function(){$containerItem.removeClass('expanded');}); }else{ jQuery(this).next('.content').slideDown("normal", function(){$containerItem.addClass('expanded');}); } } }); jQuery('.container-item>.list>.actions>.action-delete',$currentModal).unbind('click').bind('click',function(e){e.preventDefault(); jQuery(this).closest('.container-item').remove(); }); jQuery('.container-item>.list>.actions>.action-duplicate',$currentModal).unbind('click').bind('click',function(e){e.preventDefault(); var $parent = jQuery(this).closest('.container-item'); var $newItem = $parent.clone().addClass('hidded').css('display','none'); $parent.after($newItem).promise().done(function(){ $newItem.removeClass('hidded').fadeIn('slow').promise().done(function(){ pbModalInitActions($currentModal); }); }); return false; }); jQuery('.field-item>.field-data>[data-type="container"]',$currentModal).sortable({placeholder: 'container-item placeholding'}); //Category Item function catReseter($currentCategorySelector, $currentSaveTo){ var $currentCategoryList = $currentCategorySelector.siblings('.category-list-container'); var $currentSaveToArray=$currentSaveTo.val().split(','); $currentCategorySelector.find('option').show(); $currentCategoryList.html(''); for (var i = 0, length=$currentSaveToArray.length ; i
    '+$currentCategorySelector.find('option[value="'+$currentSaveToArray[i]+'"]').hide().text()+'
    '); } } $currentCategoryList.find(".category-list-item .action-delete").unbind('click').bind('click',function(){ var $oldArray=$currentSaveTo.val().split(','); var $newArray=[]; var $delValue=jQuery(this).closest(".category-list-item").attr('data-value'); jQuery(this).closest(".category-list-item").remove(); for (var i = 0, length=$oldArray.length ; i.field-data>[data-type="category"]',$currentModal).each(function(){ var $currentCategorySelector = jQuery(this); var $currentCategoryList = $currentCategorySelector.siblings('.category-list-container'); var $currentSaveTo = jQuery('.field-item>.field-data>[data-selector="'+$currentCategorySelector.attr('data-name')+'"]',$currentModal); $currentCategorySelector.change(function(){ var $val = $currentCategorySelector.val(); var $noProblem = true; $currentCategoryList.children(".category-list-item").each(function(){ if(jQuery(this).attr('data-value') == $val) { $noProblem = false; } }); if($val == 0 || $val == '0'){ return false; }else{ $currentCategorySelector.children('option[value="0"]').attr('selected','selected').siblings().removeAttr('selected'); $currentCategorySelector.change(); if($noProblem){ var $currentSaveToArray = $currentSaveTo.val().split(','); if($currentSaveToArray.indexOf($val)<0){ if($currentSaveToArray[0]===''){ $currentSaveToArray[0]=$val; }else{ $currentSaveToArray.push($val); } $currentSaveTo.val($currentSaveToArray.join(',')); } catReseter($currentCategorySelector,$currentSaveTo); } } }); catReseter($currentCategorySelector,$currentSaveTo); }); jQuery('textarea',$currentModal).each(function(){ var $currTextArea=jQuery(this); $currTextArea.unbind('input').bind('input',function(){$currTextArea.html($currTextArea.val());}); }); } function pbFaModalInitActions($currentFaModal){ jQuery('ul.unstyled>li',$currentFaModal).unbind('click').bind('click',function(e){e.preventDefault(); var $iconClass=jQuery(this).children('span').not('.muted'); jQuery('[data-name="fa_icon"]',$currentFaModal).val($iconClass.text().replace(' ','')).trigger('input'); }); jQuery('[data-name="fa_size"],[data-name="fa_padding"],[data-name="fa_color"],[data-name="fa_bg_color"],[data-name="fa_rounded"]',$currentFaModal).unbind('input').bind('input',function(){ jQuery('[data-name="fa_icon"]',$currentFaModal).trigger('input'); }); } function pbModalSaveField($from,$to){ $from.each(function(){ var $currentField = jQuery(this).children('.field-data').children('.field'); var $currentFieldSlug = $currentField.attr('data-name'); var $currentFieldType = $currentField.attr('data-type'); var $currentFieldAddButton= $currentField.attr('data-add-button'); var $currentFieldValue = $currentField.val(); switch($currentFieldType){ case 'select':{ jQuery('>.field-data>.field[data-name="'+$currentFieldSlug+'"] option[value="'+$currentFieldValue+'"]',$to).attr('selected','selected').siblings().removeAttr('selected'); break; } case 'textArea':{ if($currentField.attr('data-tinyMCE')==='true'){ tinyMCE.execCommand('mceAddControl', false, $currentContentEditor); jQuery('>.field-data>.field[data-name="'+$currentFieldSlug+'"]',$to).html(tinyMCE.get($currentContentEditor).getContent()); }else{ jQuery('>.field-data>.field[data-name="'+$currentFieldSlug+'"]',$to).html($currentFieldValue); } break; } case 'container':{ var $newContainer = jQuery('>.field-data>.field[data-name="'+$currentFieldSlug+'"]',$to); var $template=jQuery('>.field-data>.field[data-name="'+$currentFieldAddButton+'"]',$from).next('.data').children('.field-item').children('.field-data').children('.field').html(); $template = jQuery('
    ').append($template); $newContainer.html(''); $currentField.children('.container-item').each(function(){ jQuery(this).find('>.content>.field-item>.field-data>.field').each(function(){ var $cField = jQuery(this); var $cFieldSlug = $cField.attr('data-name'); var $cFieldType = $cField.attr('data-type'); var $cFieldValue = $cField.val(); switch($cFieldType){ case 'select':{ jQuery('.field[data-name="'+$cFieldSlug+'"] option[value="'+$cFieldValue+'"]',$template).attr('selected','selected').siblings().removeAttr('selected'); break; } case 'textArea':{ jQuery('.field[data-name="'+$cFieldSlug+'"]',$template).html($cFieldValue); break; } case 'checkbox':{ jQuery('.field[data-name="'+$cFieldSlug+'"]',$template).attr("value",$cField.is(':checked')).attr("checked",$cField.is(':checked')); break; } default:{ jQuery('.field[data-name="'+$cFieldSlug+'"]',$template).attr("value",$cFieldValue); break; } } }); $newContainer.append($template.html()); }); break; } case 'checkbox':{ jQuery('>.field-data>.field[data-name="'+$currentFieldSlug+'"]',$to).attr("value",$currentField.is(':checked')).attr("checked",$currentField.is(':checked')); break; } default:{ jQuery('>.field-data>.field[data-name="'+$currentFieldSlug+'"]',$to).attr("value",$currentFieldValue); break; } } }); } function pbModalSave($item){ var $saveTo = jQuery('.item.item-modalled'); $saveTo.removeClass('item-modalled'); pbModalSaveField($item.find('.general-field-container').children('.field-item'),$saveTo.find('.general-field-container').children('.field-item')); pbModalSaveField($item.find('.custom-field-container') .children('.field-item'),$saveTo.find('.custom-field-container') .children('.field-item')); } /* Item Right Left Width */ /* ------------------------------------------------------------------- */ function pbItemRL($item){ $item=jQuery($item); var $itemMarginRL = parseInt($item.css('margin-left') .replace('px','')) + parseInt($item.css('margin-right').replace('px','')); var $itemPaddingRL = parseInt($item.css('padding-left').replace('px','')) + parseInt($item.css('padding-right').replace('px','')); var $itemBorderRL = parseInt($item.css('border-left-width').replace('px','')) + parseInt($item.css('border-right-width').replace('px','')); var $itemRL = $itemMarginRL+$itemPaddingRL+$itemBorderRL; return $itemRL; } /* Content Editor */ function pbModalContentEditor($id,$currentEditor){ var $language = jQuery('html').attr('lang'); var $currentField = $currentEditor.closest('.field-data'); $language = $language.substr(0,$language.indexOf('-')); var $wpFullscreenContentCSS=$homeURI+"/wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css"; var $newEditorDiv= jQuery('
    ').append($currentEditor.clone().attr('id',$id)); $currentEditor.hide().closest('.field-data').append( '
    '+ 'Text'+ 'Visual'+ '
    '+ '
    '+ $newEditorDiv.html()+ '
    ' ).promise().done(function(){ tinyMCE.init({ mode:"exact", width:"100%", theme:"advanced", skin:"wp_theme", language:$language, theme_advanced_toolbar_location:"top", theme_advanced_toolbar_align:"left", theme_advanced_statusbar_location:"bottom", theme_advanced_resizing:true, theme_advanced_resize_horizontal:false, dialog_type:"modal", formats:{ alignleft:[{ selector:'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles:{ textAlign:'left' } },{ selector:'img,table', classes:'alignleft' }], aligncenter:[{ selector:'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles:{ textAlign:'center' } },{ selector:'img,table', classes:'aligncenter' }], alignright:[{ selector:'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles:{ textAlign:'right' } },{ selector:'img,table', classes:'alignright' }], strikethrough:{ inline:'del' } }, relative_urls:false, remove_script_host:false, convert_urls:false, remove_linebreaks:true, fix_list_elements:true, keep_styles:false, entities:"38,amp,60,lt,62,gt", accessibility_focus:true, media_strict:false, paste_remove_styles:true, paste_remove_spans:true, paste_strip_class_attributes:"all", paste_text_use_dialog:true, webkit_fake_resize:false, schema:"html5", wpeditimage_disable_captions:false, wp_fullscreen_content_css:$wpFullscreenContentCSS, // plugins:"inlinepopups,spellchecker,tabfocus,paste,media,wordpress,wpeditimage,wpgallery,wplink,wpdialogs,-twshortcodegenerator", plugins:"inlinepopups,tabfocus,paste,media,wpeditimage,wpgallery,wplink,wpdialogs,-twshortcodegenerator", elements:$id, wpautop:true, apply_source_formatting:false, theme_advanced_buttons1:"bold,italic,strikethrough,bullist,numlist,blockquote,justifyleft,justifycenter,justifyright,link,unlink,wp_more,wp_fullscreen,wp_adv,|,twshortcodegenerator", theme_advanced_buttons2:"formatselect,underline,justifyfull,forecolor,pastetext,pasteword,removeformat,charmap,outdent,indent,undo,redo,wp_help", theme_advanced_buttons3:"", theme_advanced_buttons4:"", tabfocus_elements:"sample-permalink,post-preview", body_class:"content post-type-page", theme_advanced_resizing_use_cookie:false }); jQuery('a.change-to-html',$currentField).unbind('click').bind('click',function() { jQuery(this).addClass('disabled').siblings('a').removeClass('disabled'); tinyMCE.execCommand('mceRemoveControl', false, $id); }); jQuery('a.change-to-visual',$currentField).unbind('click').bind('click',function() { jQuery(this).addClass('disabled').siblings('a').removeClass('disabled'); tinyMCE.execCommand('mceAddControl', false, $id); }); }); } function twInitSourceDatas($from){ jQuery('#pagebuilder-area>div').each(function(i){ jQuery(this).html($from.eq(i).html()); }); } function twSortDragg(){ //Sortables jQuery("#pagebuilder-area>div").sortable({ placeholder: 'item placeholding', connectWith: "#pagebuilder-area>div", // helper:'original', revert: true, update: function(event, ui){ pbSaveData(); pbInitEvents(); }, start: function(event, ui) { var plus; if(ui.item.hasClass('size-1-4')) plus = 'size-1-4'; else if(ui.item.hasClass('size-1-3')) plus = 'size-1-3'; else if(ui.item.hasClass('size-1-2')) plus = 'size-1-2'; else if(ui.item.hasClass('size-2-3')) plus = 'size-2-3'; else if(ui.item.hasClass('size-3-4')) plus = 'size-3-4'; else if(ui.item.hasClass('size-1-1')) plus = 'size-1-1'; else plus = 'size-1-3'; ui.placeholder.addClass(plus); } }); // Draggable try{ jQuery('#pagebuilder-elements-container>.item').draggable({ connectToSortable: '#pagebuilder-area>div', helper: 'clone', revert: "invalid" }); }catch(err){} }