var thfaq_settings = (function ($, window, document){ $(function () { //add field dyanamicaly var wrapper = $(".thfaq_input_fields_wrap"); //Fields wrapper var form = $('#thfaq-settings'); var add_button = $(".thfaq_add_field_buttonfaq"); //Add button ID var html = $("#thfaq_form_hidden").html(); var x = 1; //initlal text box count // initialize enhanced select setup_enhanced_multi_select(); // initialize color picker setup_color_picker(form); $(add_button).click(function(e){ //on add input button click e.preventDefault(); x++; //text box increment $('.faq-item').removeClass("thfaq_active"); $(wrapper).append(html); //add input box }); $(wrapper).on("click", ".remove_thfaq", function(e){ //user click on remove text if (confirm('Are you sure you want to detete this FAQ?')== true){ e.preventDefault(); $(this).closest('.faq-item').remove(); x--; } }); $(wrapper).on("click", ".edit_thfaqbtn", function(e){ $('.edit_thfaqbtn').not($(this)).closest('.faq-item').removeClass("thfaq_active"); $(this).closest('.faq-item').toggleClass("thfaq_active"); }); $(wrapper).on("keyup", ".thfaq_title_input", function(a){ var thinput = this.value; $(this).closest('.faq-item').find('.thfaq_display').text(thinput); }); $(wrapper).on("click",".thfaq_upload-btn", function(a){ var elm_obj = $(this); var attachment = ''; var uploaded_image = []; a.preventDefault(); var image = wp.media({ title: 'Upload Image', multiple: true }).open().on('select', function(e){ uploaded_image = image.state().get('selection').map(function( attachment ){ console.log( attachment); attachment.toJSON(); return attachment; }); var htmtag_image = ''; if(!$.isEmptyObject(uploaded_image)){ $.each(uploaded_image,function(key,value){ htmtag_image += '\n\n'; }); } var existing_val = $(elm_obj).siblings('.image_url').val(); var image_text = existing_val == '' ? htmtag_image : existing_val+htmtag_image; $(elm_obj).siblings('.image_url').val(image_text); }); }); var override_gen_settings = $('input[name="use_post_settings"]'); enable_disable_gen_settings_override(override_gen_settings); override_gen_settings.click(function(){ enable_disable_gen_settings_override($(this)); }); var enable_social_share = $('input[name="enable_share_button"]'); enable_disble_social_share(enable_social_share); enable_social_share.click(function(){ enable_disble_social_share($(this)); }); $("#publish").click(function(a){ var title_empty_value = []; $("#post #th-faq-list input[type=text]").each(function(){ var text_value = this.value; if(text_value ==''){ title_empty_value.push(text_value); } }); if(title_empty_value.length){ alert('FAQ cannot be saved without Title. Please enter a title for FAQ'); a.preventDefault(); } }); }); function setup_enhanced_multi_select(){ $('select.thpladmin-enhanced-multi-select').select2(); } function setup_color_picker(form){ form.find(".thpladmin-colorpicker").iris({ change: function(event, ui){ $(this).parent().find(".thpladmin-colorpicker-preview").css({ backgroundColor: ui.color.toString() }); }, hide: true, border: true }).click(function(){ $(".iris-picker").hide(); $(this).closest("td").find(".iris-picker").show() }); $("body").click(function(){ $(".iris-picker").hide() }); $(".thpladmin-colorpicker").click(function(event){ event.stopPropagation() }); } function setup_color_pick_preview(form){ form.find(".thpladmin-colorpicker").each(function(){ $(this).parent().find(".thpladmin-colorpicker-preview").css({ backgroundColor: this.value }); }) } function enable_disable_gen_settings_override(elm){ if(elm.is(":checked")){ $('.thfaq-settings-override-panel').removeClass('thfaq-disabled-panel'); }else{ $('.thfaq-settings-override-panel').addClass('thfaq-disabled-panel'); } } function enable_disble_social_share(elm){ if(elm.is(":checked")){ $('.thfaq_disabled_inputsections').removeClass('thfaq-disabled-panel'); }else{ $('.thfaq_disabled_inputsections').addClass('thfaq-disabled-panel'); } } function resetData(){ var warning = 'Are you sure you want to reset to default settings? all your changes will be deleted'; if(confirm(warning) === false){ event.preventDefault(); } } function copyText(){ var copy_text = document.getElementById("copy_to_clipboard"); copy_text.select(); document.execCommand("copy"); } return { resetData : resetData, copyText : copyText } }(window.jQuery, window, document)); function thfaqResetData(){ thfaq_settings.resetData(); } function thfaqCopyText(){ thfaq_settings.copyText(); }