ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-16 17:33:30
Editing: grunion.js
Cancel
Save Changes
/* jshint onevar: false, devel: true, smarttabs: true */ /* global GrunionFB_i18n: true, FB, ajax_nonce_shortcode, ajax_nonce_json, ajaxurl, postId */ if ( ! window.FB ) { window.FB = {}; } GrunionFB_i18n = jQuery.extend( { nameLabel: 'Name', emailLabel: 'Email', urlLabel: 'Website', commentLabel: 'Comment', newLabel: 'New Field', optionsLabel: 'Options', optionLabel: 'Option', firstOptionLabel: 'First option', problemGeneratingForm: 'Oops, there was a problem generating your form. You\'ll likely need to try again.', moveInstructions: 'Drag up or down\nto re-arrange', moveLabel: 'move', editLabel: 'edit', savedMessage: 'Saved successfully', requiredLabel: '(required)', exitConfirmMessage: 'Are you sure you want to exit the form editor without saving? Any changes you have made will be lost.', maxNewFields: 5, invalidEmail: ' is an invalid email address.' }, GrunionFB_i18n ); GrunionFB_i18n.moveInstructions = GrunionFB_i18n.moveInstructions.replace( '\n', '<br />' ); FB.span = jQuery( '<span>' ); FB.esc_html = function( string ) { return FB.span.text( string ).html(); }; FB.esc_attr = function( string ) { string = FB.esc_html( string ); return string.replace( '"', '"' ).replace( '\'', ''' ); }; FB.ContactForm = (function() { var fbForm = { // Main object that generated shortcode via AJAX call 'action' : 'grunion_shortcode', '_ajax_nonce' : ajax_nonce_shortcode, 'to' : '', 'subject' : '', 'fields' : {} }; var defaultFields = { 'name': { 'label' : GrunionFB_i18n.nameLabel, 'type' : 'name', 'required' : true, 'options' : [], 'order' : '1' }, 'email': { 'label' : GrunionFB_i18n.emailLabel, 'type' : 'email', 'required' : true, 'options' : [], 'order' : '2' }, 'url': { 'label' : GrunionFB_i18n.urlLabel, 'type' : 'url', 'required' : false, 'options' : [], 'order' : '3' }, 'comment': { 'label' : GrunionFB_i18n.commentLabel, 'type' : 'textarea', 'required' : true, 'options' : [], 'order' : '4' } }; var debug = false; // will print errors to log if true var grunionNewCount = 0; // increment for new fields var maxNewFields = GrunionFB_i18n.maxNewFields; // See filter in ../grunion-form-view.php var optionsCache = {}; var optionsCount = 0; // increment for options var shortcode; function addField () { try { grunionNewCount++; if (grunionNewCount <= maxNewFields) { // Add to preview jQuery('#fb-extra-fields').append('<div id="fb-new-field' + grunionNewCount + '" fieldid="' + grunionNewCount + '" class="fb-new-fields"><div class="fb-fields"><div id="' + grunionNewCount + '" class="fb-remove"></div><label fieldid="' + grunionNewCount + '" for="fb-field' + grunionNewCount + '"><span class="label-text">' + GrunionFB_i18n.newLabel + '</span> </label><input type="text" id="fb-field' + grunionNewCount + '" disabled="disabled" /></div></div>'); // Add to form object fbForm.fields[grunionNewCount] = { 'label' : GrunionFB_i18n.newLabel, 'type' : 'text', 'required' : false, 'options' : [], 'order' : '5' }; if (grunionNewCount === maxNewFields) { jQuery('#fb-new-field').hide(); } // Reset form for this new field optionsCount = 0; optionsCache = {}; jQuery('#fb-new-options').html('<label for="fb-option0">' + GrunionFB_i18n.optionsLabel + '</label><input type="text" id="fb-option0" optionid="0" value="' + GrunionFB_i18n.firstOptionLabel + '" class="fb-options" />'); jQuery('#fb-options').hide(); jQuery('#fb-new-label').val( GrunionFB_i18n.newLabel ); jQuery('#fb-new-type').val('text'); jQuery('#fb-field-id').val(grunionNewCount); setTimeout(function () { jQuery('#fb-new-label').focus().select(); }, 100); } else { jQuery('#fb-new-field').hide(); } } catch(e) { if (debug) { console.log('addField(): ' + e); } } } function addOption () { try { optionsCount = jQuery( '#fb-new-options .fb-options' ).length; var thisId = jQuery('#fb-field-id').val(); var thisType = jQuery('#fb-new-type').val(); if (thisType === 'radio') { // Add to right col jQuery('#fb-new-options').append('<div id="fb-option-box-' + optionsCount + '" class="fb-new-fields"><span optionid="' + optionsCount + '" class="fb-remove-option"></span><label></label><input type="text" id="fb-option' + optionsCount + '" optionid="' + optionsCount + '" value="' + GrunionFB_i18n.optionLabel + '" class="fb-options" /><div>'); // Add to preview jQuery('#fb-new-field' + thisId + ' .fb-fields').append('<div id="fb-radio-' + thisId + '-' + optionsCount + '"><input type="radio" disabled="disabled" id="fb-field' + thisId + '" name="radio-' + thisId + '" /><span>' + GrunionFB_i18n.optionLabel + '</span><div class="clear"></div></div>'); } else if ( 'checkbox-multiple' === thisType ) { // Add to right col jQuery('#fb-new-options').append('<div id="fb-option-box-' + optionsCount + '" class="fb-new-fields"><span optionid="' + optionsCount + '" class="fb-remove-option"></span><label></label><input type="text" id="fb-option' + optionsCount + '" optionid="' + optionsCount + '" value="' + GrunionFB_i18n.optionLabel + '" class="fb-options" /><div>'); // Add to preview jQuery('#fb-new-field' + thisId + ' .fb-fields').append('<div id="fb-checkbox-multiple-' + thisId + '-' + optionsCount + '"><input type="checkbox" disabled="disabled" id="fb-field' + thisId + '" name="checkbox-multiple-' + thisId + '" /><span>' + GrunionFB_i18n.optionLabel + '</span><div class="clear"></div></div>'); } else { // Add to right col jQuery('#fb-new-options').append('<div id="fb-option-box-' + optionsCount + '" class="fb-new-fields"><span optionid="' + optionsCount + '" class="fb-remove-option"></span><label></label><input type="text" id="fb-option' + optionsCount + '" optionid="' + optionsCount + '" value="" class="fb-options" /><div>'); // Add to preview jQuery('#fb-field'+ thisId).append('<option id="fb-' + thisId + '-' + optionsCount + '" value="' + thisId + '-' + optionsCount + '"></option>'); } // Add to fbForm object fbForm.fields[thisId].options[optionsCount] = ''; // Add focus to new field jQuery('#fb-option' + optionsCount).focus().select(); } catch(e) { if (debug) { console.log('addOption(): ' + e); } } } function buildPreview () { try { if (fbForm.to) { jQuery('#fb-field-my-email').val(fbForm.to); } if (fbForm.subject) { jQuery('#fb-field-subject').val(fbForm.subject); } // Loop over and add fields jQuery.each(fbForm.fields, function(index, value) { jQuery('#fb-extra-fields').before('<div class="fb-new-fields ui-state-default" fieldid="' + index + '" id="fb-new-field' + index + '"><div class="fb-fields"></div></div>'); jQuery('#fb-field-id').val(index); optionsCache[index] = {}; optionsCache[index].options = []; if ( 'radio' === value.type || 'select' === value.type || 'checkbox-multiple' === value.type ) { jQuery.each(value.options, function(i, value) { optionsCache[index].options[i] = value; }); } updateType(value.type, value.label, value.required); }); } catch(e) { if (debug) { console.log('buildPreview(): ' + e); } } } function customOptions (id, thisType) { try { var thisOptions = ''; for (var i=0; i<optionsCache[id].options.length; i++) { if (optionsCache[id].options[i] !== undefined) { if (thisType === 'radio') { thisOptions = thisOptions + '<div id="fb-radio-' + id + '-' + i + '"><input type="radio" id="fb-field' + id + '" name="radio-' + id + '" /><span>' + FB.esc_html( optionsCache[id].options[i] ) + '</span><div class="clear"></div></div>'; } else if ( 'checkbox-multiple' === thisType ) { thisOptions = thisOptions + '<div id="fb-checkbox-multiple-' + id + '-' + i + '"><input type="checkbox" id="fb-field' + id + '" name="checkbox-multiple-' + id + '" /><span>' + FB.esc_html( optionsCache[id].options[i] ) + '</span><div class="clear"></div></div>'; } else { thisOptions = thisOptions + '<option id="fb-' + id + '-' + i + '" value="' + id + '-' + i + '">' + FB.esc_html( optionsCache[id].options[i] ) + '</option>'; } } } return thisOptions; } catch(e) { if (debug) { console.log('customOptions(): ' + e); } } } function deleteField (that) { try { grunionNewCount--; var thisId = that.attr('id'); delete fbForm.fields[thisId]; jQuery('#' + thisId).parent().parent().remove(); if (grunionNewCount <= maxNewFields) { jQuery('#fb-new-field').show(); } } catch(e) { if (debug) { console.log('deleteField(): ' + e); } } } function editField (that) { try { scroll(0,0); setTimeout(function () { jQuery('#fb-new-label').focus().select(); }, 100); var thisId = that.parent().attr('fieldid'); loadFieldEditor(thisId); } catch(e) { if (debug) { console.log('editField(): ' + e); } } } function grabShortcode () { try { // Takes fbForm object and returns shortcode syntax jQuery.post(ajaxurl, fbForm, function(response) { shortcode = response; }); } catch(e) { alert( GrunionFB_i18n.problemGeneratingForm ); if (debug) { console.log('grabShortcode(): ' + e); } } } function hideDesc () { jQuery('#fb-desc').hide(); jQuery('#fb-add-field').show(); } function hidePopup () { try { // copied from wp-includes/js/thickbox/thickbox.js jQuery('#TB_imageOff', window.parent.document).unbind('click'); jQuery('#TB_closeWindowButton', window.parent.document).unbind('click'); jQuery('#TB_window', window.parent.document).fadeOut('fast'); jQuery('body', window.parent.document).removeClass('modal-open'); jQuery('#TB_window,#TB_overlay,#TB_HideSelect', window.parent.document).trigger('unload').unbind().remove(); jQuery('#TB_load', window.parent.document).remove(); if (typeof window.parent.document.body.style.maxHeight === 'undefined') {//if IE 6 jQuery('body', 'html', window.parent.document).css({height: 'auto', width: 'auto'}); jQuery('html', window.parent.document).css('overflow', ''); } window.parent.document.onkeydown = ''; window.parent.document.onkeyup = ''; return false; } catch(e) { if (debug) { console.log('hidePopup(): ' + e); } } } function hideShowEditLink (whichType, that) { try { if (whichType === 'show') { // Prevents showing links twice if (jQuery('.fb-edit-field').is(':visible')) { jQuery('.fb-edit-field').remove(); } that.find('label').prepend('<span class="right fb-edit-field" style="font-weight: normal;"><a href="" class="fb-reorder"><div style="display: none;">' + GrunionFB_i18n.moveInstructions + '</div>' + GrunionFB_i18n.moveLabel + '</a> <span style="color: #C7D8DE;">|</span> <a href="" class="fb-edit">' + GrunionFB_i18n.editLabel + '</a></span>'); } else { jQuery('.fb-edit-field').remove(); } } catch(e) { if (debug) { console.log('hideShowEditLink(): ' + e); } } } function loadFieldEditor (id) { try { var thisType = fbForm.fields[id].type; jQuery('#fb-options').hide(); // Reset hidden field ID jQuery('#fb-field-id').val(id); // Load label jQuery('#fb-new-label').val(fbForm.fields[id].label); // Load type jQuery('#fb-new-type').val(fbForm.fields[id].type); // Load required if (fbForm.fields[id].required) { jQuery('#fb-new-required').prop('checked', true); } else { jQuery('#fb-new-required').prop('checked', false); } // Load options if there are any if ( 'select' === thisType || 'radio' === thisType || 'checkbox-multiple' === thisType ) { var thisOptions = fbForm.fields[id].options; jQuery('#fb-options').show(); jQuery('#fb-new-options').html(''); // Clear it all out for (var i=0; i<thisOptions.length; i++) { if (thisOptions[i] !== undefined) { if (thisType === 'radio') { jQuery('#fb-new-options').append('<div id="fb-option-box-' + i + '" class="fb-new-fields"><span optionid="' + i + '" class="fb-remove-option"></span><label></label><input type="text" id="fb-option' + i + '" optionid="' + i + '" value="' + FB.esc_attr( fbForm.fields[id].options[i] ) + '" class="fb-options" /><div>'); } else { jQuery('#fb-new-options').append('<div id="fb-option-box-' + i + '" class="fb-new-fields"><span optionid="' + i + '" class="fb-remove-option"></span><label></label><input type="text" id="fb-option' + i + '" optionid="' + i + '" value="' + FB.esc_attr( fbForm.fields[id].options[i] ) + '" class="fb-options" /><div>'); } } } } // Load editor & hide description hideDesc(); } catch(e) { if (debug) { console.log('loadFieldEditor(): ' + e); } } } function parseShortcode (data) { try { // Clean up fields by resetting them fbForm.fields = {}; // Add new fields if (!data) { fbForm.fields = defaultFields; } else { jQuery.each(data.fields, function(index, value) { if ( 1 === parseInt(value.required, 10) ) { value.required = 'true'; } fbForm.fields[index] = value; }); fbForm.to = data.to; fbForm.subject = data.subject; } } catch(e) { if (debug) { console.log('parseShortcode(): ' + e); } } } function removeOption (optionId) { try { var thisId = jQuery('#fb-field-id').val(); var thisVal = jQuery('#fb-option' + optionId).val(); var thisType = jQuery('#fb-new-type').val(); // Remove from right jQuery('#fb-option-box-' + optionId).remove(); // Remove from preview if (thisType === 'radio') { jQuery('#fb-radio-' + thisId + '-' + optionId).remove(); } else if ( 'checkbox-multiple' === thisType ) { jQuery('#fb-checkbox-multiple-' + thisId + '-' + optionId).remove(); } else { jQuery('#fb-' + thisId + '-' + optionId).remove(); } // Remove from fbForm object var idx = fbForm.fields[thisId].options.indexOf(thisVal); if (idx !== -1) { fbForm.fields[thisId].options.splice(idx, 1); } } catch(e) { if (debug) { console.log('removeOption(): ' + e); } } } function removeOptions () { try { var thisId = jQuery('#fb-field-id').val(); jQuery('#fb-options').hide(); if (optionsCache[thisId] === undefined) { optionsCache[thisId] = {}; } optionsCache[thisId].options = fbForm.fields[thisId].options; // Save options in case they change their mind fbForm.fields[thisId].options = []; // Removes all options } catch(e) { if (debug) { console.log('removeOptions(): ' + e); } } } function sendShortcodeToEditor () { try { // Serialize fields jQuery('div#sortable div.fb-new-fields').each(function(index) { var thisId = jQuery(this).attr('fieldid'); fbForm.fields[thisId].order = index; }); // Export to WYSIWYG editor jQuery.post(ajaxurl, fbForm, function(response) { var isVisual = jQuery('#edButtonPreview', window.parent.document).hasClass('active'); /* WP 3.3+ */ if ( !isVisual ) { isVisual = jQuery( '#wp-content-wrap', window.parent.document ).hasClass( 'tmce-active' ); } var win = window.dialogArguments || opener || parent || top; var currentCode; if (isVisual) { currentCode = win.tinyMCE.activeEditor.getContent(); } else { currentCode = jQuery('#editorcontainer textarea', window.parent.document).val(); /* WP 3.3+ */ if ( typeof currentCode !== 'string' ) { currentCode = jQuery( '.wp-editor-area', window.parent.document ).val(); } } var regexp = new RegExp('\\[contact-form\\b.*?\\/?\\](?:[\\s\\S]+?\\[\\/contact-form\\])?'); // Remove new lines that cause BR tags to show up response = response.replace(/\n/g,' '); // Convert characters to comma response = response.replace( /%26#x002c;/g , ',' ); // Add new shortcode if (currentCode.match(regexp)) { if (isVisual) { win.tinyMCE.activeEditor.execCommand('mceSetContent', false, currentCode.replace(regexp, response)); } else { // looks like the visual editor is disabled, // update the contents of the post directly jQuery( '#content', window.parent.document ).val( currentCode.replace( regexp, response ) ); } } else { try { win.send_to_editor( response ); } catch ( e ) { if (isVisual) { win.tinyMCE.activeEditor.execCommand('mceInsertContent', false, response); } else { // looks like the visual editor is disabled, // update the contents of the post directly jQuery( '#content', window.parent.document ).val( currentCode + response ); } } } hidePopup(); }); } catch(e) { if (debug) { console.log('sendShortcodeToEditor(): ' + e); } } } function showDesc () { jQuery('#fb-desc').show(); jQuery('#fb-add-field').hide(); } function showAndHideMessage (message) { try { var newMessage = (!message) ? GrunionFB_i18n.savedMessage : message; jQuery('#fb-success').text(newMessage); jQuery('#fb-success').slideDown('fast'); setTimeout(function () { jQuery('#fb-success').slideUp('fast'); }, 2500); } catch(e) { if (debug) { console.log('showAndHideMessage(): ' + e); } } } function switchTabs (whichType) { try { if (whichType === 'preview') { if ( ! validateEmails( jQuery( '#fb-field-my-email' ).val() ) ) { return; } jQuery('#tab-preview a').addClass('current'); jQuery('#tab-settings a').removeClass('current'); jQuery('#fb-preview-form, #fb-desc').show(); jQuery('#fb-email-settings, #fb-email-desc').hide(); showAndHideMessage( GrunionFB_i18n.savedMessage ); } else { jQuery('#tab-preview a').removeClass('current'); jQuery('#tab-settings a').addClass('current'); jQuery('#fb-preview-form, #fb-desc, #fb-add-field').hide(); jQuery('#fb-email-settings, #fb-email-desc').show(); jQuery('#fb-field-my-email').focus().select(); } } catch(e) { if (debug) { console.log('switchTabs(): ' + e); } } } function validateEmails( emails ) { // Field is allowed to be empty :) if ( 0 === emails.length ) { return true; } var $e, emailList = emails.split( ',' ); for ( $e = 0 ; $e < emailList.length ; $e++ ) { if ( false === validateEmail( emailList[ $e ] ) ) { alert( emailList[ $e ] + GrunionFB_i18n.invalidEmail ); return false; } } return true; } /* Uses The Official Standard: RFC 5322 -- http://www.regular-expressions.info/email.html */ function validateEmail( email ) { var re = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i; return re.test( email ); } function updateLabel () { try { var thisId = jQuery('#fb-field-id').val(); var thisLabel = jQuery('#fb-new-label').val(); // Update preview if (thisLabel.length === 0) { jQuery('#fb-new-field' + thisId + ' label .label-text').text( GrunionFB_i18n.newLabel ); } else { jQuery('#fb-new-field' + thisId + ' label .label-text').text( thisLabel ); } // Update fbForm object fbForm.fields[thisId].label = thisLabel; } catch(e) { if (debug) { console.log('updateLabel(): ' + e); } } } function updateMyEmail () { try { var thisEmail = jQuery('#fb-field-my-email').val(); fbForm.to = thisEmail; } catch(e) { if (debug) { console.log('updateMyEmail(): ' + e); } } } function updateOption (that) { try { var thisId = jQuery('#fb-field-id').val(); var thisOptionid = that.attr('optionid'); var thisOptionValue = that.val(); var thisType = jQuery('#fb-new-type').val(); // Update preview if (thisType === 'radio') { jQuery('#fb-radio-' + thisId + '-' + thisOptionid + ' span').text(thisOptionValue); } else if ( 'checkbox-multiple' === thisType ) { jQuery('#fb-checkbox-multiple-' + thisId + '-' + thisOptionid + ' span').text(thisOptionValue); } else { jQuery('#fb-' + thisId + '-' + thisOptionid).text(thisOptionValue); } // Update fbForm object fbForm.fields[thisId].options[thisOptionid] = thisOptionValue; } catch(e) { if (debug) { console.log('updateOption(): ' + e); } } } function updateRequired () { try { var thisId = jQuery('#fb-field-id').val(); var thisChecked = jQuery('#fb-new-required').is(':checked'); // Update object and preview if (thisChecked) { fbForm.fields[thisId].required = true; jQuery('#fb-new-field' + thisId + ' label').append('<span class="label-required">' + GrunionFB_i18n.requiredLabel + '</span>'); } else { fbForm.fields[thisId].required = false; jQuery('#fb-new-field' + thisId + ' label .label-required').remove(); } } catch(e) { if (debug) { console.log('updateRequired(): ' + e); } } } function updateSubject () { try { var thisSubject = jQuery('#fb-field-subject').val(); fbForm.subject = thisSubject; } catch(e) { if (debug) { console.log('updateSubject(): ' + e); } } } function updateType(thisType, thisLabelText, thisRequired) { try { var thisId = jQuery('#fb-field-id').val(); if (!thisType) { thisType = jQuery('#fb-new-type').val(); } if (!thisLabelText) { thisLabelText = jQuery('#fb-new-field' + thisId + ' .label-text').text(); } var isRequired = (thisRequired) ? '<span class="label-required">' + GrunionFB_i18n.requiredLabel + '</span>' : ''; var thisLabel = '<label fieldid="' + thisId + '" for="fb-field' + thisId + '"><span class="label-text">' + FB.esc_html( thisLabelText ) + '</span>' + isRequired + '</label>'; var thisRadio = '<input type="radio" name="radio-' + thisId + '" id="fb-field' + thisId + ' "disabled="disabled" />'; var thisRadioLabel = '<label fieldid="' + thisId + '" for="fb-field' + thisId + '" class="fb-radio-label"><span class="label-text">' + FB.esc_html( thisLabelText ) + '</span>' + isRequired + '</label>'; var thisRadioRemove = '<div class="fb-remove fb-remove-small" id="' + thisId + '"></div>'; var thisRemove = '<div class="fb-remove" id="' + thisId + '"></div>'; var thisCheckbox = '<input type="checkbox" id="fb-field' + thisId + '" "disabled="disabled" />'; var thisCheckboxMultiple = '<input type="checkbox" id="fb-field' + thisId + '" "disabled="disabled" />'; var thisCheckboxMultipleRemove = '<div class="fb-remove fb-remove-small" id="' + thisId + '"></div>'; var thisText = '<input type="text" id="fb-field' + thisId + '" "disabled="disabled" />'; var thisTextarea = '<textarea id="fb-field' + thisId + '" "disabled="disabled"></textarea>'; var thisClear = '<div class="clear"></div>'; var thisSelect = '<select id="fb-field' + thisId + '" fieldid="' + thisId + '"><option id="fb-' + thisId + '-' + optionsCount + '" value="' + thisId + '-' + optionsCount + '">' + GrunionFB_i18n.firstOptionLabel + '</option></select>'; switch (thisType) { case 'checkbox': removeOptions(); jQuery('#fb-new-field' + thisId + ' .fb-fields').html(thisRadioRemove + thisCheckbox + thisRadioLabel + thisClear); break; case 'checkbox-multiple': jQuery('#fb-new-field' + thisId + ' .fb-fields').html(thisLabel + thisCheckboxMultipleRemove + '<div fieldid="' + thisId + '" id="fb-custom-checkbox-multiple' + thisId + '"></div>'); if (optionsCache[thisId] !== undefined && optionsCache[thisId].options.length !== 0) { fbForm.fields[thisId].options = optionsCache[thisId].options; jQuery('#fb-custom-checkbox-multiple' + thisId).append(customOptions(thisId, thisType)); } else { jQuery('#fb-new-options').html('<label for="fb-option0">' + GrunionFB_i18n.optionsLabel + '</label><input type="text" id="fb-option0" optionid="0" value="' + GrunionFB_i18n.firstOptionLabel + '" class="fb-options" />'); jQuery('#fb-custom-checkbox-multiple' + thisId).append('<div id="fb-checkbox-multiple-' + thisId + '-0">' + thisCheckboxMultiple + '<span>' + GrunionFB_i18n.firstOptionLabel + '</span>' + thisClear + '</div>'); fbForm.fields[thisId].options[optionsCount] = GrunionFB_i18n.firstOptionLabel; } jQuery('#fb-options').show(); setTimeout(function () { jQuery('#fb-option0').focus().select(); }, 100); break; case 'email': removeOptions(); jQuery('#fb-new-field' + thisId + ' .fb-fields').html(thisRemove + thisLabel + thisText); break; case 'name': removeOptions(); jQuery('#fb-new-field' + thisId + ' .fb-fields').html(thisRemove + thisLabel + thisText); break; case 'radio': jQuery('#fb-new-field' + thisId + ' .fb-fields').html(thisLabel + thisRadioRemove + '<div fieldid="' + thisId + '" id="fb-custom-radio' + thisId + '"></div>'); if (optionsCache[thisId] !== undefined && optionsCache[thisId].options.length !== 0) { fbForm.fields[thisId].options = optionsCache[thisId].options; jQuery('#fb-custom-radio' + thisId).append(customOptions(thisId, thisType)); } else { jQuery('#fb-new-options').html('<label for="fb-option0">' + GrunionFB_i18n.optionsLabel + '</label><input type="text" id="fb-option0" optionid="0" value="' + GrunionFB_i18n.firstOptionLabel + '" class="fb-options" />'); jQuery('#fb-custom-radio' + thisId).append('<div id="fb-radio-' + thisId + '-0">' + thisRadio + '<span>' + GrunionFB_i18n.firstOptionLabel + '</span>' + thisClear + '</div>'); fbForm.fields[thisId].options[optionsCount] = GrunionFB_i18n.firstOptionLabel; } jQuery('#fb-options').show(); setTimeout(function () { jQuery('#fb-option0').focus().select(); }, 100); break; case 'select': jQuery('#fb-new-field' + thisId + ' .fb-fields').html(thisRemove + thisLabel + thisSelect); if (optionsCache[thisId] !== undefined && optionsCache[thisId].options.length !== 0) { fbForm.fields[thisId].options = optionsCache[thisId].options; jQuery('#fb-field' + thisId).html(customOptions(thisId, thisType)); } else { jQuery('#fb-new-options').html('<label for="fb-option0">' + GrunionFB_i18n.optionsLabel + '</label><input type="text" id="fb-option0" optionid="0" value="' + GrunionFB_i18n.firstOptionLabel + '" class="fb-options" />'); fbForm.fields[thisId].options[optionsCount] = GrunionFB_i18n.firstOptionLabel; } jQuery('#fb-options').show(); setTimeout(function () { jQuery('#fb-option0').focus().select(); }, 100); break; case 'text': removeOptions(); jQuery('#fb-new-field' + thisId + ' .fb-fields').html(thisRemove + thisLabel + thisText); break; case 'textarea': removeOptions(); jQuery('#fb-new-field' + thisId + ' .fb-fields').html(thisRemove + thisLabel + thisTextarea); break; case 'url': removeOptions(); jQuery('#fb-new-field' + thisId + ' .fb-fields').html(thisRemove + thisLabel + thisText); break; } // update object fbForm.fields[thisId].type = thisType; } catch(e) { if (debug) { console.log('updateType(): ' + e); } } } return { resizePop: function () { try { //Thickbox won't resize for some reason, we are manually doing it here var totalWidth = jQuery('body', window.parent.document).width(); var totalHeight = jQuery('body', window.parent.document).height(); var isIE6 = typeof document.body.style.maxHeight === 'undefined'; jQuery('#TB_window, #TB_iframeContent', window.parent.document).css('width', '768px'); jQuery('#TB_window', window.parent.document).css({ left: (totalWidth-768)/2 + 'px', top: '23px', position: 'absolute', marginLeft: '0' }); if ( ! isIE6 ) { // take away IE6 jQuery('#TB_window, #TB_iframeContent', window.parent.document).css('height', (totalHeight-73) + 'px'); } } catch(e) { if (debug) { console.log('resizePop(): ' + e); } } }, init: function () { // Scroll to top of page window.parent.scroll(0,0); //Check for existing form data var contentSource; if (jQuery('#edButtonPreview', window.parent.document).hasClass('active') || jQuery( '#wp-content-wrap', window.parent.document ).hasClass( 'tmce-active' ) ) { var win = window.dialogArguments || opener || parent || top; contentSource = win.tinyMCE.activeEditor.getContent(); } else { contentSource = jQuery('#content', window.parent.document).val(); } var data = { action: 'grunion_shortcode_to_json', '_ajax_nonce' : ajax_nonce_json, post_id: postId, content: contentSource }; var $doc = jQuery(document); jQuery.post(ajaxurl, data, function(response) { // Setup fbForm parseShortcode(jQuery.parseJSON(response)); // Now build out the preview form buildPreview(); }); // actions jQuery('.fb-add-field').click(function () { addField(); hideDesc(); return false; }); jQuery('#fb-new-label').keyup(function () { updateLabel(); }); jQuery('#fb-new-type').change(function () { updateType(); }); jQuery('#fb-new-required').click(function () { updateRequired(); }); $doc.on('click', '.fb-remove', function () { showDesc(); deleteField(jQuery(this)); grabShortcode(); }); jQuery('#fb-preview').submit(function () { sendShortcodeToEditor(); return false; }); jQuery('#TB_overlay, #TB_closeWindowButton', window.parent.document).mousedown(function () { if(confirm( GrunionFB_i18n.exitConfirmMessage )) { hidePopup(); } }); $doc.on('click', '#fb-another-option', function () { addOption(); }); $doc.on('keyup', '.fb-options', function () { updateOption(jQuery(this)); }); $doc.on('click', '.fb-remove-option', function () { removeOption(jQuery(this).attr('optionid')); }); jQuery('#tab-preview a').click(function () { switchTabs('preview'); return false; }); jQuery('#fb-prev-form').click(function () { switchTabs('preview'); return false; }); jQuery('#tab-settings a').click(function () { switchTabs(); return false; }); jQuery('#fb-field-my-email').blur(function () { updateMyEmail(); }); jQuery('#fb-field-subject').blur(function () { updateSubject(); }); $doc.on('mouseenter', '.fb-form-case .fb-new-fields', function () { hideShowEditLink('show', jQuery(this)); }); $doc.on('mouseleave', '.fb-form-case .fb-new-fields', function () { hideShowEditLink('hide'); return false; }); $doc.on('click', '.fb-edit-field', function () { editField(jQuery(this)); return false; }); $doc.on('click', '.fb-edit-field .fb-reorder', function () { return false; }); $doc.on('click', '#fb-save-field', function () { showDesc(); showAndHideMessage(); return false; }); jQuery('#fb-feedback').click(function () { var thisHref = jQuery(this).attr('href'); window.parent.location = thisHref; return false; }); jQuery('#sortable').sortable({ axis: 'y', handle: '.fb-reorder', revert: true, start: function() { jQuery('.fb-edit-field').hide(); } }); jQuery('#draggable').draggable({ axis: 'y', handle: '.fb-reorder', connectToSortable: '#sortable', helper: 'clone', revert: 'invalid' }); } }; })();
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete