Plugin Directory

Changeset 2786574


Ignore:
Timestamp:
09/18/2022 01:27:02 PM (4 years ago)
Author:
wpfeelteam
Message:

version 1.3.35 released

Location:
faq-for-woocommerce/trunk
Files:
191 added
16 edited

Legend:

Unmodified
Added
Removed
  • faq-for-woocommerce/trunk/assets/admin/js/faq-woocommerce-admin.js

    r2760626 r2786574  
    265265                faq_data: faq_data,
    266266            } ).then( response => {
    267                 console.log('success.......');
    268                 console.log(response.message);
    269267                $('#ffw_products').val(JSON.stringify(response.faq_data));
    270268                $('.ffw-body').html(response.faq);
     
    299297                console.log(__ffw_products_faqs);
    300298                total_product = 0;
    301 
    302299            }
    303300
     
    320317                        faq_delete_data: faq_delete_data,
    321318                    }).then( response => {
    322                         console.log('success.......');
    323                         console.log(response.success);
    324319
    325320                        if(response.success) {
    326321                            //item hide
    327322                            $('.ffw-metabox-item').hide();
     323
     324                            //make current faqs data empty
     325                            $('#ffw_products').val(JSON.stringify([]));
    328326
    329327                            const Toast = Swal.mixin({
  • faq-for-woocommerce/trunk/assets/admin/js/faq-woocommerce-admin.min.js

    r2760626 r2786574  
    1 "use strict";jQuery(document).ready(function(s){jQuery.fn.putCursorAtEnd=function(){return this.each(function(){var e,o=s(this),t=this;o.is(":focus")||o.focus(),t.setSelectionRange?(e=2*o.val().length,setTimeout(function(){t.setSelectionRange(e,e)},1)):o.val(o.val()),this.scrollTop=999999})},s.faq_woocommerce={ajax_url:"",init:function(){this.ajax_url=ffw_admin.ajaxurl;var e,o=s("#ffw-popup-form-wrapper .ffw-modal-frame");"product"===ffw_admin.current_post_type&&"edit"===ffw_admin.current_page_action&&((e=s(".ffw_search")).select2({placeholder:"Select a faq post",allowClear:!0,minimumResultsForSearch:1/0}),e.on("select2:select",function(e){console.log("hello puishak");var o=s("#ffw_product_page_id").val(),t=ffw_admin.nonce,a=s(this).val(),f=s("#ffw_products").val(),f=JSON.parse(f);s("#ffw_product_data .ffw-product-loader").addClass("ffw-visible"),wp.ajax.post("ffw_insert_data_from_search",{nonce:t,faq_insert_search_data:{product_id:o,new_item_id:a,product_faqs:f}}).then(function(e){console.log("success......."),console.log(e.message),console.log(e.updated_data),s("#ffw_products").val(JSON.stringify(e.updated_data)),s(".ffw-body").html(e.faq_body),s("#ffw_product_data .ffw-product-loader").removeClass("ffw-visible"),s.faq_woocommerce.ffw_sorting_data()}).fail(function(e){console.log("erorr......."),console.log(e),s("#ffw_product_data .ffw-product-loader").removeClass("ffw-visible")})}),s(".ffw-sortable").sortable({axis:"y",update:function(e,o){var t=s(this).sortable("serialize");console.log(t)}})),ffw_admin.current_page_action&&console.log(ffw_admin.current_page_action),s(".ffw-role-select").select2({placeholder:"Select Roles",allowClear:!0}),s(document).on("click","#ffw-product-form-header .ffw-add-new",this.openPopupForm),s(document).on("click",'#ffw-popup-form-wrapper .ffw-modal-close, #ffw-popup-form-wrapper input[type="button"]',this.closePopupForm),o.bind("webkitAnimationEnd oanimationend msAnimationEnd animationend",function(e){o.hasClass("state-leave")&&o.removeClass("state-leave")}),s(".ffw_question_text_color").wpColorPicker(),s(".ffw_question_bg_color").wpColorPicker(),s(".ffw_question_bg_secondary_color").wpColorPicker(),s(".ffw_question_border_color").wpColorPicker(),s(".ffw_answer_text_color").wpColorPicker(),s(".ffw_answer_bg_color").wpColorPicker(),s(".ffw_answer_border_color").wpColorPicker(),s(".ffw-comments-date-time-color").wpColorPicker(),s(".ffw-comments-content-color").wpColorPicker(),s(".ffw-comments-author-name-color").wpColorPicker(),s(".ffw-comments-submit-button-text-color").wpColorPicker(),s(".ffw-comments-reply-button-text-color").wpColorPicker(),s(".ffw-comments-submit-button-bg-color").wpColorPicker(),s(".ffw-comments-form-border-color").wpColorPicker(),s(".ffw-comments-form-title-color").wpColorPicker(),s(".ffw-comments-reply-form-title-color").wpColorPicker(),s(".ffw-comments-reply-form-submit-button-color").wpColorPicker(),s(".ffw-comments-reply-form-submit-button-bg-color").wpColorPicker(),s(".ffw-comments-reply-form-border-color").wpColorPicker(),s(".ffw-comments-reply-form-submit-button-text-color").wpColorPicker(),s(document).on("click","#ffw_product_data .ffw-metabox h3",this.toggleOptionMetabox),s(document).on("click","#ffw_modal_submit",this.submitModalForm),s(document).on("click","#ffw-delete-all-faq",this.deleteAllFaq),s(document).on("click","#ffw-product-form-header .ffw-single-delete-btn",this.deleteSingleFaq),s(document).on("click","#ffw-product-form-header .ffw-single-edit-btn",this.openUpdatePopupForm),s(document).on("click",".ffw-layout-select",this.changePreviewImage),s(document).on("change",".ffw_question_font_size",this.changeQuestionRange),s(document).on("change",".ffw_answer_font_size",this.changeAnswerRange),this.ffw_sorting_data()},openPopupForm:function(e){e.preventDefault(),s("#ffw_modal_submit").show(),s("#ffw_modal_update").hide();e=s(".ffw-modal-frame");s(".modal-overlay").addClass("state-show"),e.removeClass("state-leave").addClass("state-appear"),setTimeout(function(){s("#ffw-popup-form-wrapper .ffw-popup-form-add-question").focus()},500),s("#ffw-popup-form-wrapper .ffw-popup-form-add-question").val(""),jQuery("#wp-ffw_popup_answer-wrap").hasClass("tmce-active")&&tinymce.get("ffw_popup_answer").setContent("")},closePopupForm:function(e){e.preventDefault();e=s(".ffw-modal-frame");s(".modal-overlay").removeClass("state-show"),e.removeClass("state-appear").addClass("state-leave")},toggleOptionMetabox:function(e){e.preventDefault(),s(this).parent(".ffw-metabox").toggleClass("closed").toggleClass("open"),s(event.target).filter(":input, .ffw-sort, .ffw-handle-item").length||s(this).next(".ffw-metabox-content").stop().slideToggle()},submitModalForm:function(e){e.preventDefault(),s(".ffw-modal-frame").removeClass("state-appear"),s(".modal-overlay ").removeClass("state-show"),s("#ffw_product_data .ffw-product-loader").addClass("ffw-visible");var e=s("#ffw-popup-form-wrapper .ffw-popup-form-add-question"),o="",t=(jQuery("#wp-ffw_popup_answer-wrap").hasClass("tmce-active")&&(o=tinyMCE.activeEditor.getContent()),s("#ffw_product_page_id").val()),a=s("#ffw_products").val(),a=JSON.parse(a),f=ffw_admin.nonce,e=e.val();wp.ajax.post("ffw_insert_new_faq",{nonce:f,faq_data:{question:e,answer:o,product_id:t,faq_list:a}}).then(function(e){console.log("success......."),console.log(e.message),s("#ffw_products").val(JSON.stringify(e.faq_data)),s(".ffw-body").html(e.faq),s(".ffw-popup-form-add-question").val(""),s(".ffw-popup-form-add-answer").val(""),s("#ffw_product_data .ffw-product-loader").removeClass("ffw-visible"),s.faq_woocommerce.ffw_sorting_data()}).fail(function(e){console.log("erorr......."),console.log(e),s.faq_woocommerce.ffw_sorting_data()})},deleteAllFaq:function(e){e.preventDefault();var e=s("#ffw_product_page_id").val(),o=s("#ffw_products").val(),o=JSON.parse(o),t=ffw_admin.nonce,a=(void 0!==o&&0!==o.length||console.log(o),{product_id:e});Swal.fire({title:"Delete all the faqs?",icon:"question",showCancelButton:!0}).then(function(e){e.isConfirmed&&wp.ajax.post("ffw_delete_all_faqs",{nonce:t,faq_delete_data:a}).then(function(e){console.log("success......."),console.log(e.success),e.success&&(s(".ffw-metabox-item").hide(),Swal.mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:1500,timerProgressBar:!0,didOpen:function(e){e.addEventListener("mouseenter",Swal.stopTimer),e.addEventListener("mouseleave",Swal.resumeTimer)}}).fire({icon:"success",title:"Delete successfull."}))}).fail(function(e){console.log("erorr of delete faq......."),console.log(e)})})},deleteSingleFaq:function(e){e.preventDefault(),e.stopPropagation();var o=s("#ffw_product_page_id").val(),t=s("#ffw_products").val(),t=JSON.parse(t),a=ffw_admin.nonce,f=s(this).parents(".ffw-metabox-item"),r=s(this).attr("rel");Swal.fire({title:"Are you sure to Delete?",icon:"question",showCancelButton:!0}).then(function(e){e.isConfirmed&&(-1<(e=t.indexOf(r))&&t.splice(e,1),e={product_id:o,updated_faq_list:t},f.hide(),wp.ajax.post("ffw_delete_single_faq",{nonce:a,faq_updated_data:e}).then(function(e){console.log("success......."),console.log(e),console.log(JSON.stringify(e.update_faq_list)),s("#ffw_products").val(JSON.stringify(e.update_faq_list))}).fail(function(e){console.log("erorr of delete faq......."),console.log(e)}))})},openUpdatePopupForm:function(e){e.preventDefault(),e.stopPropagation(),s("#ffw_modal_submit").hide(),s("#ffw_modal_update").show();var e=s(".ffw-modal-frame"),e=(s(".modal-overlay").addClass("state-show"),e.removeClass("state-leave").addClass("state-appear"),s(this).attr("rel")),e=(s("#ffw-current-ques-id").val(e),s(this).parent("h3").find("strong").html()),o=s(this).parents(".ffw-metabox-item").find(".ffw-metabox-content .data div").html();s("#ffw-popup-form-wrapper .ffw-popup-form-add-question").val(e),setTimeout(function(){s("#ffw-popup-form-wrapper .ffw-popup-form-add-question").focus().putCursorAtEnd()},500),jQuery("#wp-ffw_popup_answer-wrap").hasClass("tmce-active")&&tinymce.get("ffw_popup_answer").setContent(o)},changePreviewImage:function(e){var o=s(this).val();s(".ffw-setting-layout img").each(function(e){s(this).data("layout")===parseInt(o)?s(this).removeClass("ffw-hide").addClass("ffw-visible"):s(this).removeClass("ffw-visible").addClass("ffw-hide")})},changeQuestionRange:function(e){var o=s(this).val();s(".ffw_question_font_size_label").text(o+"px")},changeAnswerRange:function(e){var o=s(this).val();s(".ffw_answer_font_size_label").text(o+"px")},ffw_sorting_data:function(e){s(".ffw-sortable").sortable({cursor:"move",axis:"y",handle:".ffw-sort-icon",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,stop:function(){var e=[];s(".ffw-sortable .ffw-metabox-item").each(function(){e.push(s(this).attr("id"))}),s.faq_woocommerce.ffw_sortable(e)}})},ffw_sortable:function(o){var e=s("#ffw_product_page_id").val(),t=ffw_admin.nonce;wp.ajax.post("ffw_sort_faq_data",{nonce:t,faq_sorted_data:{product_id:e,faq_sorted_list:o}}).then(function(e){console.log("success......."),console.log(e.message),s("#ffw_products").val(JSON.stringify(o))}).fail(function(e){console.log("erorr......."),console.log(e)})}},s.faq_woocommerce.init()});
     1"use strict";jQuery(document).ready(function(n){jQuery.fn.putCursorAtEnd=function(){return this.each(function(){var e,o=n(this),t=this;o.is(":focus")||o.focus(),t.setSelectionRange?(e=2*o.val().length,setTimeout(function(){t.setSelectionRange(e,e)},1)):o.val(o.val()),this.scrollTop=999999})},n.faq_woocommerce={ajax_url:"",init:function(){this.ajax_url=ffw_admin.ajaxurl;var e,o=n("#ffw-popup-form-wrapper .ffw-modal-frame");"product"===ffw_admin.current_post_type&&"edit"===ffw_admin.current_page_action&&((e=n(".ffw_search")).select2({placeholder:"Select a faq post",allowClear:!0,minimumResultsForSearch:1/0}),e.on("select2:select",function(e){console.log("hello puishak");var o=n("#ffw_product_page_id").val(),t=ffw_admin.nonce,a=n(this).val(),f=n("#ffw_products").val(),f=JSON.parse(f);n("#ffw_product_data .ffw-product-loader").addClass("ffw-visible"),wp.ajax.post("ffw_insert_data_from_search",{nonce:t,faq_insert_search_data:{product_id:o,new_item_id:a,product_faqs:f}}).then(function(e){console.log("success......."),console.log(e.message),console.log(e.updated_data),n("#ffw_products").val(JSON.stringify(e.updated_data)),n(".ffw-body").html(e.faq_body),n("#ffw_product_data .ffw-product-loader").removeClass("ffw-visible"),n.faq_woocommerce.ffw_sorting_data()}).fail(function(e){console.log("erorr......."),console.log(e),n("#ffw_product_data .ffw-product-loader").removeClass("ffw-visible")})}),n(".ffw-sortable").sortable({axis:"y",update:function(e,o){var t=n(this).sortable("serialize");console.log(t)}})),ffw_admin.current_page_action&&console.log(ffw_admin.current_page_action),n(".ffw-role-select").select2({placeholder:"Select Roles",allowClear:!0}),n(document).on("click","#ffw-product-form-header .ffw-add-new",this.openPopupForm),n(document).on("click",'#ffw-popup-form-wrapper .ffw-modal-close, #ffw-popup-form-wrapper input[type="button"]',this.closePopupForm),o.bind("webkitAnimationEnd oanimationend msAnimationEnd animationend",function(e){o.hasClass("state-leave")&&o.removeClass("state-leave")}),n(".ffw_question_text_color").wpColorPicker(),n(".ffw_question_bg_color").wpColorPicker(),n(".ffw_question_bg_secondary_color").wpColorPicker(),n(".ffw_question_border_color").wpColorPicker(),n(".ffw_answer_text_color").wpColorPicker(),n(".ffw_answer_bg_color").wpColorPicker(),n(".ffw_answer_border_color").wpColorPicker(),n(".ffw-comments-date-time-color").wpColorPicker(),n(".ffw-comments-content-color").wpColorPicker(),n(".ffw-comments-author-name-color").wpColorPicker(),n(".ffw-comments-submit-button-text-color").wpColorPicker(),n(".ffw-comments-reply-button-text-color").wpColorPicker(),n(".ffw-comments-submit-button-bg-color").wpColorPicker(),n(".ffw-comments-form-border-color").wpColorPicker(),n(".ffw-comments-form-title-color").wpColorPicker(),n(".ffw-comments-reply-form-title-color").wpColorPicker(),n(".ffw-comments-reply-form-submit-button-color").wpColorPicker(),n(".ffw-comments-reply-form-submit-button-bg-color").wpColorPicker(),n(".ffw-comments-reply-form-border-color").wpColorPicker(),n(".ffw-comments-reply-form-submit-button-text-color").wpColorPicker(),n(document).on("click","#ffw_product_data .ffw-metabox h3",this.toggleOptionMetabox),n(document).on("click","#ffw_modal_submit",this.submitModalForm),n(document).on("click","#ffw-delete-all-faq",this.deleteAllFaq),n(document).on("click","#ffw-product-form-header .ffw-single-delete-btn",this.deleteSingleFaq),n(document).on("click","#ffw-product-form-header .ffw-single-edit-btn",this.openUpdatePopupForm),n(document).on("click",".ffw-layout-select",this.changePreviewImage),n(document).on("change",".ffw_question_font_size",this.changeQuestionRange),n(document).on("change",".ffw_answer_font_size",this.changeAnswerRange),this.ffw_sorting_data()},openPopupForm:function(e){e.preventDefault(),n("#ffw_modal_submit").show(),n("#ffw_modal_update").hide();e=n(".ffw-modal-frame");n(".modal-overlay").addClass("state-show"),e.removeClass("state-leave").addClass("state-appear"),setTimeout(function(){n("#ffw-popup-form-wrapper .ffw-popup-form-add-question").focus()},500),n("#ffw-popup-form-wrapper .ffw-popup-form-add-question").val(""),jQuery("#wp-ffw_popup_answer-wrap").hasClass("tmce-active")&&tinymce.get("ffw_popup_answer").setContent("")},closePopupForm:function(e){e.preventDefault();e=n(".ffw-modal-frame");n(".modal-overlay").removeClass("state-show"),e.removeClass("state-appear").addClass("state-leave")},toggleOptionMetabox:function(e){e.preventDefault(),n(this).parent(".ffw-metabox").toggleClass("closed").toggleClass("open"),n(event.target).filter(":input, .ffw-sort, .ffw-handle-item").length||n(this).next(".ffw-metabox-content").stop().slideToggle()},submitModalForm:function(e){e.preventDefault(),n(".ffw-modal-frame").removeClass("state-appear"),n(".modal-overlay ").removeClass("state-show"),n("#ffw_product_data .ffw-product-loader").addClass("ffw-visible");var e=n("#ffw-popup-form-wrapper .ffw-popup-form-add-question"),o="",t=(jQuery("#wp-ffw_popup_answer-wrap").hasClass("tmce-active")&&(o=tinyMCE.activeEditor.getContent()),n("#ffw_product_page_id").val()),a=n("#ffw_products").val(),a=JSON.parse(a),f=ffw_admin.nonce,e=e.val();wp.ajax.post("ffw_insert_new_faq",{nonce:f,faq_data:{question:e,answer:o,product_id:t,faq_list:a}}).then(function(e){n("#ffw_products").val(JSON.stringify(e.faq_data)),n(".ffw-body").html(e.faq),n(".ffw-popup-form-add-question").val(""),n(".ffw-popup-form-add-answer").val(""),n("#ffw_product_data .ffw-product-loader").removeClass("ffw-visible"),n.faq_woocommerce.ffw_sorting_data()}).fail(function(e){console.log("erorr......."),console.log(e),n.faq_woocommerce.ffw_sorting_data()})},deleteAllFaq:function(e){e.preventDefault();var e=n("#ffw_product_page_id").val(),o=n("#ffw_products").val(),o=JSON.parse(o),t=ffw_admin.nonce,a=(void 0!==o&&0!==o.length||console.log(o),{product_id:e});Swal.fire({title:"Delete all the faqs?",icon:"question",showCancelButton:!0}).then(function(e){e.isConfirmed&&wp.ajax.post("ffw_delete_all_faqs",{nonce:t,faq_delete_data:a}).then(function(e){e.success&&(n(".ffw-metabox-item").hide(),n("#ffw_products").val(JSON.stringify([])),Swal.mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:1500,timerProgressBar:!0,didOpen:function(e){e.addEventListener("mouseenter",Swal.stopTimer),e.addEventListener("mouseleave",Swal.resumeTimer)}}).fire({icon:"success",title:"Delete successfull."}))}).fail(function(e){console.log("erorr of delete faq......."),console.log(e)})})},deleteSingleFaq:function(e){e.preventDefault(),e.stopPropagation();var o=n("#ffw_product_page_id").val(),t=n("#ffw_products").val(),t=JSON.parse(t),a=ffw_admin.nonce,f=n(this).parents(".ffw-metabox-item"),r=n(this).attr("rel");Swal.fire({title:"Are you sure to Delete?",icon:"question",showCancelButton:!0}).then(function(e){e.isConfirmed&&(-1<(e=t.indexOf(r))&&t.splice(e,1),e={product_id:o,updated_faq_list:t},f.hide(),wp.ajax.post("ffw_delete_single_faq",{nonce:a,faq_updated_data:e}).then(function(e){console.log("success......."),console.log(e),console.log(JSON.stringify(e.update_faq_list)),n("#ffw_products").val(JSON.stringify(e.update_faq_list))}).fail(function(e){console.log("erorr of delete faq......."),console.log(e)}))})},openUpdatePopupForm:function(e){e.preventDefault(),e.stopPropagation(),n("#ffw_modal_submit").hide(),n("#ffw_modal_update").show();var e=n(".ffw-modal-frame"),e=(n(".modal-overlay").addClass("state-show"),e.removeClass("state-leave").addClass("state-appear"),n(this).attr("rel")),e=(n("#ffw-current-ques-id").val(e),n(this).parent("h3").find("strong").html()),o=n(this).parents(".ffw-metabox-item").find(".ffw-metabox-content .data div").html();n("#ffw-popup-form-wrapper .ffw-popup-form-add-question").val(e),setTimeout(function(){n("#ffw-popup-form-wrapper .ffw-popup-form-add-question").focus().putCursorAtEnd()},500),jQuery("#wp-ffw_popup_answer-wrap").hasClass("tmce-active")&&tinymce.get("ffw_popup_answer").setContent(o)},changePreviewImage:function(e){var o=n(this).val();n(".ffw-setting-layout img").each(function(e){n(this).data("layout")===parseInt(o)?n(this).removeClass("ffw-hide").addClass("ffw-visible"):n(this).removeClass("ffw-visible").addClass("ffw-hide")})},changeQuestionRange:function(e){var o=n(this).val();n(".ffw_question_font_size_label").text(o+"px")},changeAnswerRange:function(e){var o=n(this).val();n(".ffw_answer_font_size_label").text(o+"px")},ffw_sorting_data:function(e){n(".ffw-sortable").sortable({cursor:"move",axis:"y",handle:".ffw-sort-icon",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,stop:function(){var e=[];n(".ffw-sortable .ffw-metabox-item").each(function(){e.push(n(this).attr("id"))}),n.faq_woocommerce.ffw_sortable(e)}})},ffw_sortable:function(o){var e=n("#ffw_product_page_id").val(),t=ffw_admin.nonce;wp.ajax.post("ffw_sort_faq_data",{nonce:t,faq_sorted_data:{product_id:e,faq_sorted_list:o}}).then(function(e){console.log("success......."),console.log(e.message),n("#ffw_products").val(JSON.stringify(o))}).fail(function(e){console.log("erorr......."),console.log(e)})}},n.faq_woocommerce.init()});
    22//# sourceMappingURL=faq-woocommerce-admin.min.js.map
  • faq-for-woocommerce/trunk/assets/admin/js/faq-woocommerce-admin.min.js.map

    r2760626 r2786574  
    1 {"version":3,"sources":["faq-woocommerce-admin.js"],"names":["jQuery","document","ready","$","fn","putCursorAtEnd","this","setTimeout","$el","focus","is","el","length","len","val","setSelectionRange","scrollTop","faq_woocommerce","search_dom","ffw_admin","_search_dom","minimumResultsForSearch","__ffw_product_id","placeholder","allowClear","new_item_id","e","__ffw_products_faqs","nonce","JSON","parse","addClass","ajax","post","faq_data","response","ffw_sorting_data","console","error","stringify","html","removeClass","fail","data","sortable","axis","select2","event","$modal","log","on","openPopupForm","closePopupForm","bind","hasClass","wpColorPicker","preventDefault","toggleOptionMetabox","submitModalForm","deleteAllFaq","deleteSingleFaq","openUpdatePopupForm","changePreviewImage","changeQuestionRange","tinymce","changeAnswerRange","show","target","get","setContent","__ffw_question","ffw_answer_text","parent","toggleClass","filter","next","stop","tinyMCE","activeEditor","ffw_question_val","then","total_product","undefined","faq_delete_data","showCancelButton","hide","Toast","showConfirmButton","timer","Swal","fire","isConfirm","mixin","position","timerProgressBar","toast","addEventListener","stopTimer","indexOf","current_faq_id","current_faq","parents","attr","title","icon","$overlay","index","splice","__ffw_old_answer","faq_updated_data","__ffw_id","scrollSensitivity","find","forcePlaceholderSize","selectedData","each","item","image_layout","message","question_range_val","text","answer_range_val","cursor","handle","helper","opacity","push","ffw_sortable","wp","init"],"mappings":"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","file":"faq-woocommerce-admin.min.js","sourcesContent":["/**\n * Woocommerce FAQ Admin JS\n *\n * Copyright (c) 2019 wpfeel\n * Licensed under the GPLv2+ license.\n */\njQuery(document).ready(function ($) {\n\t'use strict';\n\n    jQuery.fn.putCursorAtEnd = function() {\n\n        return this.each(function() {\n\n            // Cache references\n            var $el = $(this),\n                el = this;\n\n            // Only focus if input isn't already\n            if (!$el.is(\":focus\")) {\n                $el.focus();\n            }\n\n            // If this function exists... (IE 9+)\n            if (el.setSelectionRange) {\n\n                // Double the length because Opera is inconsistent about whether a carriage return is one character or two.\n                var len = $el.val().length * 2;\n\n                // Timeout seems to be required for Blink\n                setTimeout(function() {\n                    el.setSelectionRange(len, len);\n                }, 1);\n\n            } else {\n\n                // As a fallback, replace the contents with itself\n                // Doesn't work in Chrome, but Chrome supports setSelectionRange\n                $el.val($el.val());\n\n            }\n\n            // Scroll to the bottom, in case we're in a tall textarea\n            // (Necessary for Firefox and Chrome)\n            this.scrollTop = 999999;\n\n        });\n\n    };\n\n\t$.faq_woocommerce = {\n        ajax_url: '',\n\t\tinit: function () {\n            //assign ajax url\n            this.ajax_url = ffw_admin.ajaxurl;\n\n            // modal form\n            var $modal = $('#ffw-popup-form-wrapper .ffw-modal-frame');\n\n\n            if( \"product\" === ffw_admin.current_post_type && \"edit\" === ffw_admin.current_page_action ) {\n                //ffw select2 init\n                let search_dom = $('.ffw_search');\n                search_dom.select2({\n                    placeholder: \"Select a faq post\",\n                    allowClear: true,\n                    minimumResultsForSearch: Infinity\n                });\n\n                search_dom.on(\"select2:select\", function(e) {\n                    console.log(\"hello puishak\");\n\n                    let __ffw_product_id    = $('#ffw_product_page_id').val();\n                    let nonce               = ffw_admin.nonce;\n                    let new_item_id         = $(this).val();\n                    let __ffw_products_faqs  = $('#ffw_products').val();\n                    __ffw_products_faqs = JSON.parse(__ffw_products_faqs);\n\n                    //show loader\n                    $('#ffw_product_data .ffw-product-loader').addClass('ffw-visible');\n\n                    //insert faq's data from search\n                    let faq_data = {\n                        'product_id': __ffw_product_id,\n                        'new_item_id': new_item_id,\n                        'product_faqs': __ffw_products_faqs,\n                    };\n\n                    wp.ajax.post( 'ffw_insert_data_from_search', {\n                        nonce: nonce,\n                        faq_insert_search_data: faq_data,\n                    } ).then( response => {\n                        console.log('success.......');\n                        console.log(response.message);\n                        console.log(response.updated_data);\n                        $('#ffw_products').val(JSON.stringify(response.updated_data));\n                        $('.ffw-body').html(response.faq_body);\n\n                        //hide loader\n                        $('#ffw_product_data .ffw-product-loader').removeClass('ffw-visible');\n\n                        // FAQ sorting\n                        $.faq_woocommerce.ffw_sorting_data();\n\n                    } ).fail( error => {\n                        console.log('erorr.......');\n                        console.log(error);\n\n                        //hide loader\n                        $('#ffw_product_data .ffw-product-loader').removeClass('ffw-visible');\n                    } );\n                });\n\n                //ffw sortable\n                $(\".ffw-sortable\").sortable({\n                    axis: 'y',\n                    update : function (event, ui) {\n                        var data = $(this).sortable('serialize');\n                        console.log(data);\n\n                    }\n                });\n            }\n\n            //ffw select2 init\n            if( ffw_admin.current_page_action ) {\n                console.log(ffw_admin.current_page_action);\n            }\n            let search_dom = $('.ffw-role-select');\n            search_dom.select2({\n                placeholder: \"Select Roles\",\n                allowClear: true,\n            });\n\n            //modal js\n            $(document).on('click', '#ffw-product-form-header .ffw-add-new', this.openPopupForm);\n            $(document).on('click', '#ffw-popup-form-wrapper .ffw-modal-close, #ffw-popup-form-wrapper input[type=\"button\"]', this.closePopupForm);\n            $modal.bind('webkitAnimationEnd oanimationend msAnimationEnd animationend', function(e){\n                if($modal.hasClass('state-leave')) {\n                  $modal.removeClass('state-leave');\n                }\n            });\n\n            //onchange popup answer, update answer textarea value\n            // wp.editor.initialize('#ffw_popup_answer', {\n            //     setup: function (editor) {\n            //         editor.on('change', function () {\n            //             editor.save();\n            //         });\n            //     }\n            // });\n\n\n            //style inputs as color picker\n            $('.ffw_question_text_color').wpColorPicker();\n            $('.ffw_question_bg_color').wpColorPicker();\n            $('.ffw_question_bg_secondary_color').wpColorPicker();\n            $('.ffw_question_border_color').wpColorPicker();\n            $('.ffw_answer_text_color').wpColorPicker();\n            $('.ffw_answer_bg_color').wpColorPicker();\n            $('.ffw_answer_border_color').wpColorPicker();\n            $('.ffw-comments-date-time-color').wpColorPicker();\n            $('.ffw-comments-content-color').wpColorPicker();\n            $('.ffw-comments-author-name-color').wpColorPicker();\n            $('.ffw-comments-submit-button-text-color').wpColorPicker();\n            $('.ffw-comments-reply-button-text-color').wpColorPicker();\n            $('.ffw-comments-submit-button-bg-color').wpColorPicker();\n            $('.ffw-comments-form-border-color').wpColorPicker();\n            $('.ffw-comments-form-title-color').wpColorPicker();\n            $('.ffw-comments-reply-form-title-color').wpColorPicker();\n            $('.ffw-comments-reply-form-submit-button-color').wpColorPicker();\n            $('.ffw-comments-reply-form-submit-button-bg-color').wpColorPicker();\n            $('.ffw-comments-reply-form-border-color').wpColorPicker();\n            $('.ffw-comments-reply-form-submit-button-text-color').wpColorPicker();\n\n\n\n            //metabox option js\n            $(document).on('click', '#ffw_product_data .ffw-metabox h3', this.toggleOptionMetabox);\n            $(document).on('click', '#ffw_modal_submit', this.submitModalForm);\n            $(document).on('click', '#ffw-delete-all-faq', this.deleteAllFaq);\n            $(document).on('click', '#ffw-product-form-header .ffw-single-delete-btn', this.deleteSingleFaq);\n            $(document).on('click', '#ffw-product-form-header .ffw-single-edit-btn', this.openUpdatePopupForm);\n            $(document).on('click', '.ffw-layout-select', this.changePreviewImage);\n            $(document).on('change', '.ffw_question_font_size', this.changeQuestionRange);\n            $(document).on('change', '.ffw_answer_font_size', this.changeAnswerRange);\n\n            // FAQ sorting\n            this.ffw_sorting_data();\n\n        },\n        openPopupForm: function(e) {\n            e.preventDefault();\n\n            $('#ffw_modal_submit').show();\n            $('#ffw_modal_update').hide();\n            \n            var $modal = $('.ffw-modal-frame');\n            var $overlay = $('.modal-overlay');\n            $overlay.addClass('state-show');\n            $modal.removeClass('state-leave').addClass('state-appear');\n\n            //focus input\n            setTimeout(function() { \n                $('#ffw-popup-form-wrapper .ffw-popup-form-add-question').focus();\n            }, 500);\n\n            //reset question and answers\n            $('#ffw-popup-form-wrapper .ffw-popup-form-add-question').val('');\n            if ( jQuery(\"#wp-ffw_popup_answer-wrap\").hasClass(\"tmce-active\") ) {\n                tinymce.get(\"ffw_popup_answer\").setContent('');\n            }\n        },\n        closePopupForm: function(e) {\n            e.preventDefault();\n\n            var $modal = $('.ffw-modal-frame');\n            var $overlay = $('.modal-overlay');\n            $overlay.removeClass('state-show');\n            $modal.removeClass('state-appear').addClass('state-leave');\n\t\t},\n        toggleOptionMetabox: function (e) {\n            e.preventDefault();\n\n            $( this ).parent( '.ffw-metabox' ).toggleClass( 'closed' ).toggleClass( 'open' );\n\n            // If the user clicks on some form input inside the h3, the box should not be toggled\n            if ( $( event.target ).filter( ':input, .ffw-sort, .ffw-handle-item' ).length ) {\n                return;\n            }\n\n            $( this ).next( '.ffw-metabox-content' ).stop().slideToggle();\n        },\n        submitModalForm: function (e) {\n            e.preventDefault();\n\n            //hide the popup\n            $('.ffw-modal-frame').removeClass('state-appear');\n            $('.modal-overlay ').removeClass('state-show');\n\n            //show loader\n            $('#ffw_product_data .ffw-product-loader').addClass('ffw-visible');\n\n            let __ffw_question  = $('#ffw-popup-form-wrapper .ffw-popup-form-add-question');\n            let ffw_answer_text = '';\n            if ( jQuery(\"#wp-ffw_popup_answer-wrap\").hasClass(\"tmce-active\") ) {\n                ffw_answer_text =  tinyMCE.activeEditor.getContent();\n            }\n            let __ffw_product_id        = $('#ffw_product_page_id').val();\n            let __ffw_products_faqs     = $('#ffw_products').val();\n                __ffw_products_faqs     = JSON.parse(__ffw_products_faqs);\n\n            let nonce = ffw_admin.nonce;\n            let ffw_question_val  = __ffw_question.val();\n\n            //insert faq's data\n            let faq_data = {\n                'question': ffw_question_val,\n                'answer': ffw_answer_text,\n                'product_id': __ffw_product_id,\n                'faq_list': __ffw_products_faqs,\n            };\n\n            wp.ajax.post( 'ffw_insert_new_faq', {\n                nonce: nonce,\n                faq_data: faq_data,\n            } ).then( response => {\n                console.log('success.......');\n                console.log(response.message);\n                $('#ffw_products').val(JSON.stringify(response.faq_data));\n                $('.ffw-body').html(response.faq);\n                $('.ffw-popup-form-add-question').val('');\n                $('.ffw-popup-form-add-answer').val('');\n\n                //hide loader\n                $('#ffw_product_data .ffw-product-loader').removeClass('ffw-visible');\n\n                // FAQ sorting\n                $.faq_woocommerce.ffw_sorting_data();\n\n            } ).fail( error => {\n                console.log('erorr.......');\n                console.log(error);\n\n                // FAQ sorting\n                $.faq_woocommerce.ffw_sorting_data();\n            } );\n\n        },\n        deleteAllFaq: function (e) {\n            e.preventDefault();\n\n            let __ffw_product_id    = $('#ffw_product_page_id').val();\n            let __ffw_products_faqs  = $('#ffw_products').val();\n                __ffw_products_faqs = JSON.parse(__ffw_products_faqs);\n            let nonce = ffw_admin.nonce;\n\n            let total_product = '';\n            if( undefined === __ffw_products_faqs || 0 === __ffw_products_faqs.length ) {\n                console.log(__ffw_products_faqs);\n                total_product = 0;\n\n            }\n\n            //insert faq's data\n            let faq_delete_data = {\n                'product_id': __ffw_product_id\n            };\n\n            //delete confirm popup\n            Swal.fire({\n                title: 'Delete all the faqs?',\n                icon: 'question',\n                showCancelButton: true,\n            }).then(function(isConfirm) {\n\n                if (isConfirm.isConfirmed) {\n\n                    wp.ajax.post( 'ffw_delete_all_faqs', {\n                        nonce: nonce,\n                        faq_delete_data: faq_delete_data,\n                    }).then( response => {\n                        console.log('success.......');\n                        console.log(response.success);\n\n                        if(response.success) {\n                            //item hide\n                            $('.ffw-metabox-item').hide();\n\n                            const Toast = Swal.mixin({\n                                toast: true,\n                                position: 'bottom-end',\n                                showConfirmButton: false,\n                                timer: 1500,\n                                timerProgressBar: true,\n                                didOpen: (toast) => {\n                                    toast.addEventListener('mouseenter', Swal.stopTimer);\n                                    toast.addEventListener('mouseleave', Swal.resumeTimer);\n                                }\n                            });\n\n                            Toast.fire({\n                                icon: 'success',\n                                title: 'Delete successfull.'\n                            });\n                        }\n\n                    }).fail( error => {\n                        console.log('erorr of delete faq.......');\n                        console.log(error);\n                    });\n\n                }\n            });\n\n        },\n        deleteSingleFaq: function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n\n            let __ffw_product_id    = $('#ffw_product_page_id').val();\n            let __ffw_products_faqs  = $('#ffw_products').val();\n                __ffw_products_faqs = JSON.parse(__ffw_products_faqs);\n            let nonce = ffw_admin.nonce;\n            let current_faq = $(this).parents('.ffw-metabox-item');\n            let current_faq_id = $(this).attr('rel');\n\n            //delete confirm popup\n            Swal.fire({\n                title: 'Are you sure to Delete?',\n                icon: 'question',\n                showCancelButton: true,\n            }).then(function(isConfirm) {\n\n                if (isConfirm.isConfirmed) {\n\n                    const index = __ffw_products_faqs.indexOf(current_faq_id);\n                    if (index > -1) {\n                        __ffw_products_faqs.splice(index, 1);\n                    }\n\n                    //update faq's data\n                    let faq_updated_data = {\n                        'product_id': __ffw_product_id,\n                        'updated_faq_list': __ffw_products_faqs\n                    };\n\n                    //hide current faq\n                    current_faq.hide();\n\n                    wp.ajax.post( 'ffw_delete_single_faq', {\n                        nonce: nonce,\n                        faq_updated_data: faq_updated_data,\n                    }).then( response => {\n                        console.log('success.......');\n                        console.log(response);\n                        console.log(JSON.stringify(response.update_faq_list));\n                        $('#ffw_products').val(JSON.stringify(response.update_faq_list));\n\n                    }).fail( error => {\n                        console.log('erorr of delete faq.......');\n                        console.log(error);\n                    });\n\n                }\n            });\n\n        },\n        openUpdatePopupForm: function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n\n            $('#ffw_modal_submit').hide();\n            $('#ffw_modal_update').show();\n\n            //open modal\n            var $modal = $('.ffw-modal-frame');\n            var $overlay = $('.modal-overlay');\n            $overlay.addClass('state-show');\n            $modal.removeClass('state-leave').addClass('state-appear');\n\n            let __ffw_id = $(this).attr('rel');\n                $('#ffw-current-ques-id').val(__ffw_id);\n            let __ffw_old_question = $(this).parent('h3').find('strong').html();\n            let __ffw_old_answer = $(this).parents('.ffw-metabox-item').find('.ffw-metabox-content .data div').html();\n            let __ffw_question  = $('#ffw-popup-form-wrapper .ffw-popup-form-add-question');\n                __ffw_question.val(__ffw_old_question);\n\n            //focus input\n            setTimeout(function() {\n                $('#ffw-popup-form-wrapper .ffw-popup-form-add-question').focus().putCursorAtEnd();\n            }, 500);\n\n            //set value for answer\n            if ( jQuery(\"#wp-ffw_popup_answer-wrap\").hasClass(\"tmce-active\") ) {\n                tinymce.get(\"ffw_popup_answer\").setContent(__ffw_old_answer);\n            }\n        },\n        changePreviewImage: function(e) {\n            let current_image = $(this).val();\n\n            $('.ffw-setting-layout img').each(function(item) {\n               let image_layout = $(this).data('layout');\n               if( image_layout === parseInt(current_image) ) {\n                   $(this).removeClass('ffw-hide').addClass('ffw-visible');\n               }else {\n                   $(this).removeClass('ffw-visible').addClass('ffw-hide');\n               }\n            });\n        },\n        changeQuestionRange: function(e) {\n            let question_range_val = $(this).val();\n            $('.ffw_question_font_size_label').text(question_range_val + \"px\");\n        },\n        changeAnswerRange: function(e) {\n            let answer_range_val = $(this).val();\n            $('.ffw_answer_font_size_label').text(answer_range_val + \"px\");\n        },\n        ffw_sorting_data: function(e) {\n\n            // Allow FAQ sorting\n            $( '.ffw-sortable' ).sortable({\n                cursor:               'move',\n                axis:                 'y',\n                handle:               '.ffw-sort-icon',\n                scrollSensitivity:    40,\n                forcePlaceholderSize: true,\n                helper:               'clone',\n                opacity:              0.65,\n                stop:                 function() {\n                    var selectedData = [];\n                    $('.ffw-sortable .ffw-metabox-item').each(function() {\n                        selectedData.push($(this).attr(\"id\"));\n                    });\n                    $.faq_woocommerce.ffw_sortable(selectedData);\n                }\n            });\n        },\n        ffw_sortable: function(data) {\n            let __ffw_product_id    = $('#ffw_product_page_id').val();\n            let nonce               = ffw_admin.nonce;\n\n            //sort faq's data\n            let faq_data = {\n                'product_id': __ffw_product_id,\n                'faq_sorted_list': data,\n            };\n\n            wp.ajax.post( 'ffw_sort_faq_data', {\n                nonce: nonce,\n                faq_sorted_data: faq_data,\n            } ).then( response => {\n                console.log('success.......');\n                console.log(response.message);\n                $('#ffw_products').val(JSON.stringify(data));\n\n            } ).fail( error => {\n                console.log('erorr.......');\n                console.log(error);\n            } );\n        },\n\n\t};\n\n\n\t$.faq_woocommerce.init();\n});\n"]}
     1{"version":3,"sources":["faq-woocommerce-admin.js"],"names":["jQuery","document","ready","$","fn","putCursorAtEnd","this","setTimeout","$el","focus","is","el","length","len","val","setSelectionRange","scrollTop","faq_woocommerce","search_dom","ffw_admin","_search_dom","minimumResultsForSearch","__ffw_product_id","placeholder","allowClear","new_item_id","e","__ffw_products_faqs","nonce","JSON","parse","addClass","ajax","post","faq_data","response","ffw_sorting_data","console","error","stringify","html","removeClass","fail","data","sortable","axis","select2","event","$modal","log","on","openPopupForm","closePopupForm","bind","hasClass","wpColorPicker","preventDefault","toggleOptionMetabox","submitModalForm","deleteAllFaq","deleteSingleFaq","openUpdatePopupForm","changePreviewImage","changeQuestionRange","tinymce","changeAnswerRange","show","target","get","setContent","__ffw_question","ffw_answer_text","parent","toggleClass","filter","next","stop","tinyMCE","activeEditor","then","undefined","total_product","faq_delete_data","showCancelButton","mixin","timer","timerProgressBar","Toast","Swal","fire","isConfirm","hide","position","showConfirmButton","isConfirmed","toast","indexOf","current_faq_id","addEventListener","resumeTimer","parents","attr","title","icon","$overlay","index","splice","faq_updated_data","current_faq","image_layout","answer_range_val","handle","cursor","forcePlaceholderSize","scrollSensitivity","find","helper","selectedData","current_image","each","item","parseInt","faq_sorted_data","text","opacity","push","ffw_sortable","wp","init"],"mappings":"aAIAA,OAAAC,UAAAC,MAAA,SAAAC,G,OAGCC,GAAAC,eAAA,W,OAESC,KAAID,KAAAA,W,IAoBEE,EAfAC,EAAQL,EAAAG,M,EAARE,KAKIC,EAAJD,GAAAE,W,EAGJF,QAGIG,EAAAA,mBAIAJ,EAAsBK,EAAXC,EAAAL,MAAAM,O,WAIRP,W,oBAEHQ,EAAAF,I,MAQCG,IAALF,EAAiBN,O,KAQrBQ,UAAA,U,EAFNC,gBAAD,C,SAWe,G,KATV,W,KAWUC,SAAAA,UAAmBC,Q,IADnBC,EAIIC,EAAAA,EAAAA,4CAGJH,YAAAA,UAAcC,mBAAdD,SAA4CC,UAAAA,uBAP5CC,EAAIF,EAAU,gBAUNI,QAAAA,C,YARJC,oB,YASSC,E,wBACLC,EAAAA,I,EALRP,GAAU,iBAAI,SAAkBQ,G,QAO5BC,IAAAA,iB,MAGEL,EAAA,wBAAAR,M,EANEc,UAAsBT,M,EASdM,EAAGnB,MAAAQ,M,EACXa,EADW,iBAAAb,M,EAEXa,KAFWE,MAAAC,G,2CAMfC,SAA6CA,e,QAA1CC,KAAKC,8BAAM,C,MAWRL,E,uBARIM,C,WACMZ,E,YACAa,E,aACAA,K,KAQVlB,SAAgBmB,G,QAEZC,IAAAA,kB,QACMA,IAAAA,EAAAF,S,QACAG,IAAAA,EAEZH,c,mBAbErB,IAADe,KAADU,UAA4BA,EAAUJ,e,eAcpCK,KAAAL,EAAAA,U,2CAVAM,YAAyCA,e,kBAevBxB,qB,KAGRyB,SAADJ,G,QACCK,IAAAA,gB,QAEfN,IAAAA,G,2CAXKI,YAAyCA,mB,mBAKjDG,SAAiBA,C,KAcTC,I,OACHC,SAAQC,EAAAA,G,MACFJ,EAAAA,MADEC,SAAAA,a,QAEHP,IAAAA,OAQVW,UAAM7B,qB,QACPkB,IAAAY,UAAA9B,qBAILhB,EAAA,oBACAe,QAAA4B,C,YACAvB,e,YACAC,I,YAMAvB,GAAAiD,QAAA,wCAAA5C,KAAA6C,e,YAjBElD,GAAUiD,QAAG,yFAAS5C,KAA0F8C,gB,EAkBhHJ,KAAAK,+DAAA,SAAF3B,GACEsB,EAAAA,SAAAM,gB,EACAN,YAAAP,iB,8BAeAc,gB,4BACAA,gB,sCACAA,gB,gCAhBAA,gB,4BAqBAtD,gB,0BACAA,gB,8BACAA,gB,mCACAA,gB,iCACAA,gB,qCACAA,gB,4CACAA,gB,2CACAA,gB,0CAnBAsD,gB,qCAsBGnB,gB,oCA1IImB,gB,0CA6IbJ,gB,kDACMK,gB,qDAEAD,gB,2CACAA,gB,uDAEEP,gB,YAMJzC,GAAW2C,QAAA,oCAAW5C,KAAAmD,qB,YAChBxD,GAAAiD,QAAA,oBAAA5C,KAAAoD,iB,YAbiBzD,GAgBvBiD,QAAA,sBAAA5C,KAAAqD,c,YA1BE1D,GAAUiD,QAAG,kDAAS5C,KAAmDsD,iB,YA2BzE3D,GAAAiD,QAAA,gDAAA5C,KAAFuD,qB,YAzBE5D,GAAUiD,QAAG,qBAAS5C,KAAsBwD,oB,YA0BzC9D,GAAOkD,SAAA,0BAAA5C,KAAsCyD,qB,YAC9CC,GAAYd,SAAA,wBAAA5C,KAAZ2D,mB,KAGRb,oB,cAImBjD,SAAEuB,G,0CAvKRwC,O,uBA2KbT,OAGKT,EAAiB7C,EAAA,oBA1BNA,EAAA,kBA6BJ4C,SAAMoB,c,EACVnB,YAAAP,eAAAV,SAAAA,gB,WAGHxB,W,0DArLQE,SAuLbiD,K,0DAIM5C,IAAFA,IACEd,OAAAA,6BAAAsD,SALwBA,gB,QAvBtBU,IAAQI,oBAAIC,WAAoBA,K,eAiChCC,SAAc5C,G,mBA3BlBsB,EAAU7C,EAAA,oBA6BEA,EAAA,kBACRoE,YAAAA,c,EACHvB,YAAAP,gBAAAV,SAAAA,gB,oBACmB,SAAU5B,G,2BAxB3BqE,OAAOA,gBAAQC,YAAiBA,UAAaA,YAAWA,QAG3DtE,EAAA4C,MAAQA,QAAMoB,OAASO,uCAAQ9D,Q,QA6B3BsB,KAAWyC,wBAAAC,OAAX1C,e,gBAEUqC,SAAAA,G,yCAKNtC,YAAMQ,gB,qBACLA,YAD2BA,c,2CAI9BV,SAA6CG,e,IAE7CoC,EAAAnE,EAAA,wDACAoE,EAAA,GAMAtD,GA/BNjB,OAAKA,6BAAOsD,SAA6BA,iB,EA4BnCiB,QAAAM,aAAAC,cAGgB1C,EAAAA,wBAAlBtB,OAEA4B,EAAevC,EAAA,iBAAAW,M,EACfe,KAAAA,MAAAC,GA3BJF,EAAST,UAAGA,MA+BNF,EAAgBmB,EAAAA,M,GASlBT,KAAAA,KAAAA,qBAAmB,C,MACdC,E,SANC,C,SACR4B,E,OA9BEe,E,WAgCAjD,E,SA9BAK,KAgCiCA,KA1BjCoD,SAAM5C,G,mBA8BN6C,IAAcrD,KAAAA,UAAdY,EAA2CZ,W,eACnCsB,KAAItB,EAAAA,K,kCACZsD,IAAAnE,I,gCAGJA,IAAAA,I,2CACIoE,YAAkBzC,e,kBA1BhBxB,qBAgCGyB,KAAEA,SAAAJ,G,QACDD,IAFAY,gB,QAGNkC,IAAgBlC,G,kBAKJhB,sB,aAKDE,SAAAA,G,uBA9Bfb,EAAoBnB,EAAA,wBAAQW,MAC5Ba,EAkCmCb,EAAAA,iBAAQA,M,EAERsE,KAAMvD,MAAAC,GAlCzCF,EAmCyBT,UAAEA,MA1B3B+D,QANAF,IAmC2BrD,GAAP0D,IAJqB1D,EAAAA,Q,QAKrB2D,IAAAA,GALJ,C,WAYAC,I,KAIHC,KAAAC,C,MAEF/C,uB,KACCL,W,kBACAA,IAJC0C,KA5BLA,SAAAW,GARRA,EAAAA,a,QA+Ca1D,KAAAC,sBAAA,C,MACbL,E,gBACAsD,I,KAtCWH,SAAM5C,G,EAEFA,U,uBAEGwD,O,mBAwCC7E,IAAAe,KAAef,UAAAyB,KAnCZgD,KAAKH,MAAO,C,kBAwCvBQ,a,mBADDC,E,6BAIOH,E,QAECI,SAAaC,G,mBAEWC,aAAQC,KAAAA,W,mBAvCpBC,aAAiBV,KAAAW,gB,KAI/BZ,C,qDAML7C,SAAMJ,G,QAyCGqD,IAAAA,8B,QAEEtD,IAAAA,Q,gBAOR,SAAAX,G,2CAPNJ,EAAAnB,EAAA,wBAAAW,MAcHa,EAAAxB,EAAA,iBAAAW,M,EApCLe,KAAAA,MAAAC,GA5TSF,EAAAT,UAAAA,MAoWb0C,EAAqB1D,EAAAG,MAAA8F,QAAAA,qBACf5C,EAAFrD,EAAAG,MAAA+F,KAAAA,O,KAIEb,KAAAC,C,MA5CEa,0B,KA+CMC,W,kBACNC,IAJFzB,KAKOhD,SAAAA,GA5CL2D,EAAIA,eAgDFe,G,EA9CQA,EAAQ9E,QAAoBqE,K,EAE9BrE,OAAoB+E,EAAOD,G,EAI3BE,C,WA2CMrF,E,iBAzCNK,G,EA6CDiF,O,QAIX5E,KAAAC,wBAAA,C,MA1CYL,E,iBA2CA+E,I,KACI5B,SAAA5C,G,QACfE,IAAAA,kB,QAhYQA,IAAAA,G,QAkYOA,IAAAA,KAAAE,UAAAA,EAAAJ,kB,mBACIhC,IAAH0B,KAAAU,UAAjBA,EAAAJ,oB,KAGO0E,SAAiBvE,G,QA1CZD,IAAAA,8B,QA2COA,IAAAA,S,oBAOF,SAAAX,G,8DAIrBuC,O,uBACQ6C,O,IAGR1E,EAAkBjC,EAAA,oBAMV4G,GAJJ5G,EAAA,kBACGqG,SAAAzE,c,EACCiF,YAAsBvE,eADIV,SAAAA,gBAGJ5B,EAAAG,MAAA+F,KAHIA,QAK1BY,G,0BADAC,IAJ0BpG,GAAAX,EAAAG,MAAAkE,OAAAA,MAAA2C,KAAAA,UAAA3E,QAM1B4E,EAN0BjH,EAAAG,MAAA8F,QAAAA,qBAAAe,KAAAA,kCAAA3E,OAAArC,EAAA,wDAQJmE,IAAWxD,G,WAGzBuG,W,0DADJ5G,QAAAA,kBAGEQ,KAtaDjB,OAAAA,6BAAAsD,SAAAA,gB,QA0aDU,IAAEI,oBAAAC,WAAeA,I,mBAEClD,SAAUS,G,IAzCpC0F,EAAiBnH,EAAAG,MAAKQ,M,6BA6ClByG,KADWA,SAAAC,GAEXX,EAAmBlE,MAAAA,KAAAA,YAFvB8E,SAAAA,G,QAKchF,YAAAA,YAAdV,SAAmCA,e,QAE/B2F,YAAiBxF,eAAAA,SAAAA,e,oBAIEpB,SAAAA,G,IAEnB4B,EAAevC,EAAAG,MAAAQ,M,mCACfuB,KAAAsF,EAAA,O,kBATJ,SAAAjG,G,IAYHoF,EAAA3G,EAAAG,MAAAQ,M,iCAhcR6G,KAAAA,EAAA,O,iBA3CD,SAAAjG,G,mBAocekB,SAAkBA,C,OACjBoE,O,KACAnE,I,OACAkE,iB,kBACAG,G,sBACAD,E,OACAG,Q,QACAQ,I,KACAhD,W,MACQyC,G,qCACFE,KAAmCA,W,EACjCF,KAAYlH,EAAC0H,MAAOxB,KAAF,S,kBAEpBpF,aAAgB6G,O,aAIlB,SAAEnF,G,IACVrB,EAAoBnB,EAAA,wBAAQW,MAC5Bc,EAAST,UAAiBA,M,GAQ1B4G,KAAG/F,KAAKC,oBAAM,C,MACVL,E,gBANQ,C,WACRN,E,gBACAqB,KAG+BoC,KAG/BA,SAAM5C,G,QACNE,IAAQY,kB,QACRZ,IAAQY,EAAId,S,mBACVrB,IAAiBA,KAAIe,UAAKU,MAE/BG,KAAGA,SAAMJ,G,QACND,IAAQY,gB,QACRZ,IAAQY,O,EAOtBhC,gBAAD+G","file":"faq-woocommerce-admin.min.js","sourcesContent":["/**\n * Woocommerce FAQ Admin JS\n *\n * Copyright (c) 2019 wpfeel\n * Licensed under the GPLv2+ license.\n */\njQuery(document).ready(function ($) {\n\t'use strict';\n\n    jQuery.fn.putCursorAtEnd = function() {\n\n        return this.each(function() {\n\n            // Cache references\n            var $el = $(this),\n                el = this;\n\n            // Only focus if input isn't already\n            if (!$el.is(\":focus\")) {\n                $el.focus();\n            }\n\n            // If this function exists... (IE 9+)\n            if (el.setSelectionRange) {\n\n                // Double the length because Opera is inconsistent about whether a carriage return is one character or two.\n                var len = $el.val().length * 2;\n\n                // Timeout seems to be required for Blink\n                setTimeout(function() {\n                    el.setSelectionRange(len, len);\n                }, 1);\n\n            } else {\n\n                // As a fallback, replace the contents with itself\n                // Doesn't work in Chrome, but Chrome supports setSelectionRange\n                $el.val($el.val());\n\n            }\n\n            // Scroll to the bottom, in case we're in a tall textarea\n            // (Necessary for Firefox and Chrome)\n            this.scrollTop = 999999;\n\n        });\n\n    };\n\n\t$.faq_woocommerce = {\n        ajax_url: '',\n\t\tinit: function () {\n            //assign ajax url\n            this.ajax_url = ffw_admin.ajaxurl;\n\n            // modal form\n            var $modal = $('#ffw-popup-form-wrapper .ffw-modal-frame');\n\n\n            if( \"product\" === ffw_admin.current_post_type && \"edit\" === ffw_admin.current_page_action ) {\n                //ffw select2 init\n                let search_dom = $('.ffw_search');\n                search_dom.select2({\n                    placeholder: \"Select a faq post\",\n                    allowClear: true,\n                    minimumResultsForSearch: Infinity\n                });\n\n                search_dom.on(\"select2:select\", function(e) {\n                    console.log(\"hello puishak\");\n\n                    let __ffw_product_id    = $('#ffw_product_page_id').val();\n                    let nonce               = ffw_admin.nonce;\n                    let new_item_id         = $(this).val();\n                    let __ffw_products_faqs  = $('#ffw_products').val();\n                    __ffw_products_faqs = JSON.parse(__ffw_products_faqs);\n\n                    //show loader\n                    $('#ffw_product_data .ffw-product-loader').addClass('ffw-visible');\n\n                    //insert faq's data from search\n                    let faq_data = {\n                        'product_id': __ffw_product_id,\n                        'new_item_id': new_item_id,\n                        'product_faqs': __ffw_products_faqs,\n                    };\n\n                    wp.ajax.post( 'ffw_insert_data_from_search', {\n                        nonce: nonce,\n                        faq_insert_search_data: faq_data,\n                    } ).then( response => {\n                        console.log('success.......');\n                        console.log(response.message);\n                        console.log(response.updated_data);\n                        $('#ffw_products').val(JSON.stringify(response.updated_data));\n                        $('.ffw-body').html(response.faq_body);\n\n                        //hide loader\n                        $('#ffw_product_data .ffw-product-loader').removeClass('ffw-visible');\n\n                        // FAQ sorting\n                        $.faq_woocommerce.ffw_sorting_data();\n\n                    } ).fail( error => {\n                        console.log('erorr.......');\n                        console.log(error);\n\n                        //hide loader\n                        $('#ffw_product_data .ffw-product-loader').removeClass('ffw-visible');\n                    } );\n                });\n\n                //ffw sortable\n                $(\".ffw-sortable\").sortable({\n                    axis: 'y',\n                    update : function (event, ui) {\n                        var data = $(this).sortable('serialize');\n                        console.log(data);\n\n                    }\n                });\n            }\n\n            //ffw select2 init\n            if( ffw_admin.current_page_action ) {\n                console.log(ffw_admin.current_page_action);\n            }\n            let search_dom = $('.ffw-role-select');\n            search_dom.select2({\n                placeholder: \"Select Roles\",\n                allowClear: true,\n            });\n\n            //modal js\n            $(document).on('click', '#ffw-product-form-header .ffw-add-new', this.openPopupForm);\n            $(document).on('click', '#ffw-popup-form-wrapper .ffw-modal-close, #ffw-popup-form-wrapper input[type=\"button\"]', this.closePopupForm);\n            $modal.bind('webkitAnimationEnd oanimationend msAnimationEnd animationend', function(e){\n                if($modal.hasClass('state-leave')) {\n                  $modal.removeClass('state-leave');\n                }\n            });\n\n            //onchange popup answer, update answer textarea value\n            // wp.editor.initialize('#ffw_popup_answer', {\n            //     setup: function (editor) {\n            //         editor.on('change', function () {\n            //             editor.save();\n            //         });\n            //     }\n            // });\n\n\n            //style inputs as color picker\n            $('.ffw_question_text_color').wpColorPicker();\n            $('.ffw_question_bg_color').wpColorPicker();\n            $('.ffw_question_bg_secondary_color').wpColorPicker();\n            $('.ffw_question_border_color').wpColorPicker();\n            $('.ffw_answer_text_color').wpColorPicker();\n            $('.ffw_answer_bg_color').wpColorPicker();\n            $('.ffw_answer_border_color').wpColorPicker();\n            $('.ffw-comments-date-time-color').wpColorPicker();\n            $('.ffw-comments-content-color').wpColorPicker();\n            $('.ffw-comments-author-name-color').wpColorPicker();\n            $('.ffw-comments-submit-button-text-color').wpColorPicker();\n            $('.ffw-comments-reply-button-text-color').wpColorPicker();\n            $('.ffw-comments-submit-button-bg-color').wpColorPicker();\n            $('.ffw-comments-form-border-color').wpColorPicker();\n            $('.ffw-comments-form-title-color').wpColorPicker();\n            $('.ffw-comments-reply-form-title-color').wpColorPicker();\n            $('.ffw-comments-reply-form-submit-button-color').wpColorPicker();\n            $('.ffw-comments-reply-form-submit-button-bg-color').wpColorPicker();\n            $('.ffw-comments-reply-form-border-color').wpColorPicker();\n            $('.ffw-comments-reply-form-submit-button-text-color').wpColorPicker();\n\n\n\n            //metabox option js\n            $(document).on('click', '#ffw_product_data .ffw-metabox h3', this.toggleOptionMetabox);\n            $(document).on('click', '#ffw_modal_submit', this.submitModalForm);\n            $(document).on('click', '#ffw-delete-all-faq', this.deleteAllFaq);\n            $(document).on('click', '#ffw-product-form-header .ffw-single-delete-btn', this.deleteSingleFaq);\n            $(document).on('click', '#ffw-product-form-header .ffw-single-edit-btn', this.openUpdatePopupForm);\n            $(document).on('click', '.ffw-layout-select', this.changePreviewImage);\n            $(document).on('change', '.ffw_question_font_size', this.changeQuestionRange);\n            $(document).on('change', '.ffw_answer_font_size', this.changeAnswerRange);\n\n            // FAQ sorting\n            this.ffw_sorting_data();\n\n        },\n        openPopupForm: function(e) {\n            e.preventDefault();\n\n            $('#ffw_modal_submit').show();\n            $('#ffw_modal_update').hide();\n            \n            var $modal = $('.ffw-modal-frame');\n            var $overlay = $('.modal-overlay');\n            $overlay.addClass('state-show');\n            $modal.removeClass('state-leave').addClass('state-appear');\n\n            //focus input\n            setTimeout(function() { \n                $('#ffw-popup-form-wrapper .ffw-popup-form-add-question').focus();\n            }, 500);\n\n            //reset question and answers\n            $('#ffw-popup-form-wrapper .ffw-popup-form-add-question').val('');\n            if ( jQuery(\"#wp-ffw_popup_answer-wrap\").hasClass(\"tmce-active\") ) {\n                tinymce.get(\"ffw_popup_answer\").setContent('');\n            }\n        },\n        closePopupForm: function(e) {\n            e.preventDefault();\n\n            var $modal = $('.ffw-modal-frame');\n            var $overlay = $('.modal-overlay');\n            $overlay.removeClass('state-show');\n            $modal.removeClass('state-appear').addClass('state-leave');\n\t\t},\n        toggleOptionMetabox: function (e) {\n            e.preventDefault();\n\n            $( this ).parent( '.ffw-metabox' ).toggleClass( 'closed' ).toggleClass( 'open' );\n\n            // If the user clicks on some form input inside the h3, the box should not be toggled\n            if ( $( event.target ).filter( ':input, .ffw-sort, .ffw-handle-item' ).length ) {\n                return;\n            }\n\n            $( this ).next( '.ffw-metabox-content' ).stop().slideToggle();\n        },\n        submitModalForm: function (e) {\n            e.preventDefault();\n\n            //hide the popup\n            $('.ffw-modal-frame').removeClass('state-appear');\n            $('.modal-overlay ').removeClass('state-show');\n\n            //show loader\n            $('#ffw_product_data .ffw-product-loader').addClass('ffw-visible');\n\n            let __ffw_question  = $('#ffw-popup-form-wrapper .ffw-popup-form-add-question');\n            let ffw_answer_text = '';\n            if ( jQuery(\"#wp-ffw_popup_answer-wrap\").hasClass(\"tmce-active\") ) {\n                ffw_answer_text =  tinyMCE.activeEditor.getContent();\n            }\n            let __ffw_product_id        = $('#ffw_product_page_id').val();\n            let __ffw_products_faqs     = $('#ffw_products').val();\n                __ffw_products_faqs     = JSON.parse(__ffw_products_faqs);\n\n            let nonce = ffw_admin.nonce;\n            let ffw_question_val  = __ffw_question.val();\n\n            //insert faq's data\n            let faq_data = {\n                'question': ffw_question_val,\n                'answer': ffw_answer_text,\n                'product_id': __ffw_product_id,\n                'faq_list': __ffw_products_faqs,\n            };\n\n            wp.ajax.post( 'ffw_insert_new_faq', {\n                nonce: nonce,\n                faq_data: faq_data,\n            } ).then( response => {\n                $('#ffw_products').val(JSON.stringify(response.faq_data));\n                $('.ffw-body').html(response.faq);\n                $('.ffw-popup-form-add-question').val('');\n                $('.ffw-popup-form-add-answer').val('');\n\n                //hide loader\n                $('#ffw_product_data .ffw-product-loader').removeClass('ffw-visible');\n\n                // FAQ sorting\n                $.faq_woocommerce.ffw_sorting_data();\n\n            } ).fail( error => {\n                console.log('erorr.......');\n                console.log(error);\n\n                // FAQ sorting\n                $.faq_woocommerce.ffw_sorting_data();\n            } );\n\n        },\n        deleteAllFaq: function (e) {\n            e.preventDefault();\n\n            let __ffw_product_id    = $('#ffw_product_page_id').val();\n            let __ffw_products_faqs  = $('#ffw_products').val();\n                __ffw_products_faqs = JSON.parse(__ffw_products_faqs);\n            let nonce = ffw_admin.nonce;\n\n            let total_product = '';\n            if( undefined === __ffw_products_faqs || 0 === __ffw_products_faqs.length ) {\n                console.log(__ffw_products_faqs);\n                total_product = 0;\n            }\n\n            //insert faq's data\n            let faq_delete_data = {\n                'product_id': __ffw_product_id\n            };\n\n            //delete confirm popup\n            Swal.fire({\n                title: 'Delete all the faqs?',\n                icon: 'question',\n                showCancelButton: true,\n            }).then(function(isConfirm) {\n\n                if (isConfirm.isConfirmed) {\n\n                    wp.ajax.post( 'ffw_delete_all_faqs', {\n                        nonce: nonce,\n                        faq_delete_data: faq_delete_data,\n                    }).then( response => {\n\n                        if(response.success) {\n                            //item hide\n                            $('.ffw-metabox-item').hide();\n\n                            //make current faqs data empty\n                            $('#ffw_products').val(JSON.stringify([]));\n\n                            const Toast = Swal.mixin({\n                                toast: true,\n                                position: 'bottom-end',\n                                showConfirmButton: false,\n                                timer: 1500,\n                                timerProgressBar: true,\n                                didOpen: (toast) => {\n                                    toast.addEventListener('mouseenter', Swal.stopTimer);\n                                    toast.addEventListener('mouseleave', Swal.resumeTimer);\n                                }\n                            });\n\n                            Toast.fire({\n                                icon: 'success',\n                                title: 'Delete successfull.'\n                            });\n                        }\n\n                    }).fail( error => {\n                        console.log('erorr of delete faq.......');\n                        console.log(error);\n                    });\n\n                }\n            });\n\n        },\n        deleteSingleFaq: function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n\n            let __ffw_product_id    = $('#ffw_product_page_id').val();\n            let __ffw_products_faqs  = $('#ffw_products').val();\n                __ffw_products_faqs = JSON.parse(__ffw_products_faqs);\n            let nonce = ffw_admin.nonce;\n            let current_faq = $(this).parents('.ffw-metabox-item');\n            let current_faq_id = $(this).attr('rel');\n\n            //delete confirm popup\n            Swal.fire({\n                title: 'Are you sure to Delete?',\n                icon: 'question',\n                showCancelButton: true,\n            }).then(function(isConfirm) {\n\n                if (isConfirm.isConfirmed) {\n\n                    const index = __ffw_products_faqs.indexOf(current_faq_id);\n                    if (index > -1) {\n                        __ffw_products_faqs.splice(index, 1);\n                    }\n\n                    //update faq's data\n                    let faq_updated_data = {\n                        'product_id': __ffw_product_id,\n                        'updated_faq_list': __ffw_products_faqs\n                    };\n\n                    //hide current faq\n                    current_faq.hide();\n\n                    wp.ajax.post( 'ffw_delete_single_faq', {\n                        nonce: nonce,\n                        faq_updated_data: faq_updated_data,\n                    }).then( response => {\n                        console.log('success.......');\n                        console.log(response);\n                        console.log(JSON.stringify(response.update_faq_list));\n                        $('#ffw_products').val(JSON.stringify(response.update_faq_list));\n\n                    }).fail( error => {\n                        console.log('erorr of delete faq.......');\n                        console.log(error);\n                    });\n\n                }\n            });\n\n        },\n        openUpdatePopupForm: function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n\n            $('#ffw_modal_submit').hide();\n            $('#ffw_modal_update').show();\n\n            //open modal\n            var $modal = $('.ffw-modal-frame');\n            var $overlay = $('.modal-overlay');\n            $overlay.addClass('state-show');\n            $modal.removeClass('state-leave').addClass('state-appear');\n\n            let __ffw_id = $(this).attr('rel');\n                $('#ffw-current-ques-id').val(__ffw_id);\n            let __ffw_old_question = $(this).parent('h3').find('strong').html();\n            let __ffw_old_answer = $(this).parents('.ffw-metabox-item').find('.ffw-metabox-content .data div').html();\n            let __ffw_question  = $('#ffw-popup-form-wrapper .ffw-popup-form-add-question');\n                __ffw_question.val(__ffw_old_question);\n\n            //focus input\n            setTimeout(function() {\n                $('#ffw-popup-form-wrapper .ffw-popup-form-add-question').focus().putCursorAtEnd();\n            }, 500);\n\n            //set value for answer\n            if ( jQuery(\"#wp-ffw_popup_answer-wrap\").hasClass(\"tmce-active\") ) {\n                tinymce.get(\"ffw_popup_answer\").setContent(__ffw_old_answer);\n            }\n        },\n        changePreviewImage: function(e) {\n            let current_image = $(this).val();\n\n            $('.ffw-setting-layout img').each(function(item) {\n               let image_layout = $(this).data('layout');\n               if( image_layout === parseInt(current_image) ) {\n                   $(this).removeClass('ffw-hide').addClass('ffw-visible');\n               }else {\n                   $(this).removeClass('ffw-visible').addClass('ffw-hide');\n               }\n            });\n        },\n        changeQuestionRange: function(e) {\n            let question_range_val = $(this).val();\n            $('.ffw_question_font_size_label').text(question_range_val + \"px\");\n        },\n        changeAnswerRange: function(e) {\n            let answer_range_val = $(this).val();\n            $('.ffw_answer_font_size_label').text(answer_range_val + \"px\");\n        },\n        ffw_sorting_data: function(e) {\n\n            // Allow FAQ sorting\n            $( '.ffw-sortable' ).sortable({\n                cursor:               'move',\n                axis:                 'y',\n                handle:               '.ffw-sort-icon',\n                scrollSensitivity:    40,\n                forcePlaceholderSize: true,\n                helper:               'clone',\n                opacity:              0.65,\n                stop:                 function() {\n                    var selectedData = [];\n                    $('.ffw-sortable .ffw-metabox-item').each(function() {\n                        selectedData.push($(this).attr(\"id\"));\n                    });\n                    $.faq_woocommerce.ffw_sortable(selectedData);\n                }\n            });\n        },\n        ffw_sortable: function(data) {\n            let __ffw_product_id    = $('#ffw_product_page_id').val();\n            let nonce               = ffw_admin.nonce;\n\n            //sort faq's data\n            let faq_data = {\n                'product_id': __ffw_product_id,\n                'faq_sorted_list': data,\n            };\n\n            wp.ajax.post( 'ffw_sort_faq_data', {\n                nonce: nonce,\n                faq_sorted_data: faq_data,\n            } ).then( response => {\n                console.log('success.......');\n                console.log(response.message);\n                $('#ffw_products').val(JSON.stringify(data));\n\n            } ).fail( error => {\n                console.log('erorr.......');\n                console.log(error);\n            } );\n        },\n\n\t};\n\n\n\t$.faq_woocommerce.init();\n});\n"]}
  • faq-for-woocommerce/trunk/assets/public/css/ffw-classic.css.map

    r2778411 r2786574  
    1 {"version":3,"sourceRoot":"","sources":["ffw-classic.scss"],"names":[],"mappings":"AAAA;EACC;;;AAKA;EACC;;AAKC;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACC;;AAGC;EACC;;AAQL;EACC;;AACA;EACC;EACA;EACA","file":"ffw-classic.css"}
     1{"version":3,"sourceRoot":"","sources":["ffw-classic.scss"],"names":[],"mappings":"AAAA;EACC;;;AAIA;EACC;;AAKC;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACC;;AAGC;EACC;;AAQL;EACC;;AACA;EACC;EACA;EACA","file":"ffw-classic.css"}
  • faq-for-woocommerce/trunk/assets/public/css/ffw-classic.scss

    r2778411 r2786574  
    22    box-sizing: border-box;
    33}
    4 
    54#ffw-main-wrapper {
    65
  • faq-for-woocommerce/trunk/assets/public/css/ffw-trip.css.map

    r2778411 r2786574  
    1 {"version":3,"sourceRoot":"","sources":["ffw-trip.scss"],"names":[],"mappings":"AAAA;EACC;;;AAGA;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;;AAGD;EACC;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;EACA;;AAGD;EACC","file":"ffw-trip.css"}
     1{"version":3,"sourceRoot":"","sources":["ffw-trip.scss"],"names":[],"mappings":"AAAA;EACC;;;AAIA;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;;AAGD;EACC;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;EACA;;AAGD;EACC","file":"ffw-trip.css"}
  • faq-for-woocommerce/trunk/assets/public/css/ffw-trip.scss

    r2778411 r2786574  
    22    box-sizing: border-box;
    33}
     4
    45#ffw-main-wrapper {
    56    .ffw-main-wrapper-shortcode {
  • faq-for-woocommerce/trunk/assets/public/css/ffw-whitish.css

    r2778411 r2786574  
    6666  cursor: pointer;
    6767  font-size: 20px;
    68   box-sizing: border-box;
    6968}
    7069#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-classic-answer p {
  • faq-for-woocommerce/trunk/assets/public/css/ffw-whitish.css.map

    r2778411 r2786574  
    1 {"version":3,"sourceRoot":"","sources":["ffw-whitish.scss"],"names":[],"mappings":";AAAA;EACC;;;AAIA;EACC;;AAED;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKC;EACC;;AAOH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA","file":"ffw-whitish.css"}
     1{"version":3,"sourceRoot":"","sources":["ffw-whitish.scss"],"names":[],"mappings":";AAAA;EACC;;;AAIA;EACC;;AAED;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKC;EACC;;AAOH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA","file":"ffw-whitish.css"}
  • faq-for-woocommerce/trunk/assets/public/css/ffw-whitish.min.css

    r2778411 r2786574  
    1 @charset "UTF-8";*{box-sizing:border-box}#ffw-main-wrapper .ffw-main-wrapper-shortcode{width:90%}#ffw-main-wrapper .ffw-accordion{position:relative;padding:20px;margin:0;background-color:#f9f9fa}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item{position:relative;display:block;width:100%;height:auto;background-color:#fff;margin:0 auto 15px auto;border:1px solid #eee;border-radius:5px;cursor:pointer}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-button{font-weight:700;position:relative;display:flex;width:100%;height:auto;padding:20px;margin:0;font-size:15px;letter-spacing:.01em;cursor:pointer;justify-content:space-between;align-items:center;background:0 0;color:#000;outline:0}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-button:focus,#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-button:hover{text-decoration:none}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-button.ffw-active .ffw-classic-icon:after{transform:translate(0,-50%) rotate(45deg)}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-classic-icon:after{content:"×";position:absolute;right:20px;top:50%;transform:translate(0,-50%);color:#fcc110;transition:all .3s ease-in-out;font-size:18px}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-classic-answer{position:relative;display:block;width:100%;height:auto;margin:0;padding:0 20px;cursor:pointer;font-size:20px;box-sizing:border-box}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-classic-answer p{position:relative;display:block;font-weight:300;padding:10px 0 0 0;cursor:pointer;line-height:150%;margin:0 0 15px 0;font-size:18px}
     1@charset "UTF-8";*{box-sizing:border-box}#ffw-main-wrapper .ffw-main-wrapper-shortcode{width:90%}#ffw-main-wrapper .ffw-accordion{position:relative;padding:20px;margin:0;background-color:#f9f9fa}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item{position:relative;display:block;width:100%;height:auto;background-color:#fff;margin:0 auto 15px auto;border:1px solid #eee;border-radius:5px;cursor:pointer}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-button{font-weight:700;position:relative;display:flex;width:100%;height:auto;padding:20px;margin:0;font-size:15px;letter-spacing:.01em;cursor:pointer;justify-content:space-between;align-items:center;background:0 0;color:#000;outline:0}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-button:focus,#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-button:hover{text-decoration:none}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-button.ffw-active .ffw-classic-icon:after{transform:translate(0,-50%) rotate(45deg)}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-classic-icon:after{content:"×";position:absolute;right:20px;top:50%;transform:translate(0,-50%);color:#fcc110;transition:all .3s ease-in-out;font-size:18px}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-classic-answer{position:relative;display:block;width:100%;height:auto;margin:0;padding:0 20px;cursor:pointer;font-size:20px}#ffw-main-wrapper .ffw-accordion .ffw-accordion-item .ffw-classic-answer p{position:relative;display:block;font-weight:300;padding:10px 0 0 0;cursor:pointer;line-height:150%;margin:0 0 15px 0;font-size:18px}
  • faq-for-woocommerce/trunk/assets/public/css/ffw-whitish.scss

    r2778411 r2786574  
    7676                cursor: pointer;
    7777                font-size: 20px;
    78                 box-sizing: border-box;
    7978
    8079                p {
  • faq-for-woocommerce/trunk/assets/public/css/style.css.map

    r2778411 r2786574  
    1 {"version":3,"sourceRoot":"","sources":["style.scss"],"names":[],"mappings":"AAAA;EACC;;;AAIA;EACC;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAKH;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAEC;EACC;EACA;;AAIA;EACC;;AAOH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAIA;EACC;EACA;EACA;EACA;;AAIF;EACC;EACA;;AAGD;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAMJ;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;;AAIF;EACC;EACA;;AAEA;EACC;;AAKH;EACC;EACA;;AAGC;EACC;EACA;;AAEA;EACC;;AAKA;EACC;;AAOD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAOD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAOD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAKH;EACC;;AAEA;EACC;;AAKF;EACC;;AAMA;EACC;EACA;EACA;EACA;EACA;EACA","file":"style.css"}
     1{"version":3,"sourceRoot":"","sources":["style.scss"],"names":[],"mappings":"AAAA;EACC;;;AAGA;EACC;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAKH;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAEC;EACC;EACA;;AAIA;EACC;;AAOH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAIA;EACC;EACA;EACA;EACA;;AAIF;EACC;EACA;;AAGD;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAMJ;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;;AAIF;EACC;EACA;;AAEA;EACC;;AAKH;EACC;EACA;;AAGC;EACC;EACA;;AAEA;EACC;;AAKA;EACC;;AAOD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAOD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAOD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAKH;EACC;;AAEA;EACC;;AAKF;EACC;;AAMA;EACC;EACA;EACA;EACA;EACA;EACA","file":"style.css"}
  • faq-for-woocommerce/trunk/assets/public/css/style.scss

    r2778411 r2786574  
    22    box-sizing: border-box;
    33}
    4 
    54#ffw-main-wrapper {
    65    .ffw-hide {
  • faq-for-woocommerce/trunk/faq-for-woocommerce.php

    r2776538 r2786574  
    44 * Plugin URI: https://wordpress.org/plugins/faq-for-woocommerce/
    55 * Description: This plugin shows faq question and answers for per product with comment and FAQ schema support.
    6  * Version: 1.3.34
     6 * Version: 1.3.35
    77 * Author: Optemiz
    88 * Author URI: https://optemiz.com/
     
    3030     * @since 1.0.0
    3131     */
    32     define( 'FFW_VERSION', '1.3.34' );
     32    define( 'FFW_VERSION', '1.3.35' );
    3333}
    3434
     
    6262include_once FFW_FILE_DIR . '/includes/class-faq-woocommerce.php';
    6363
    64 /**
    65  * Initialize the plugin tracker
    66  *
    67  * @return void
    68  */
    69 function appsero_init_tracker_faq_for_woocommerce() {
    70 
    71     if ( ! class_exists( 'Appsero\Client' ) ) {
    72         require_once __DIR__ . '/lib/tracker/appsero/src/Client.php';
    73     }
    74 
    75     $client = new Appsero\Client( 'c989292b-3c3e-454a-a216-cc0df37fb6d9', 'XPlainer – WooCommerce Product FAQ', __FILE__ );
    76 
    77     // Active insights
    78     $client->insights()->init();
    79 
    80 }
    81 
    82 appsero_init_tracker_faq_for_woocommerce();
     64// Include tracker file
     65include dirname(__FILE__) . '/includes/tracker/freemius-helper.php';
    8366
    8467/**
  • faq-for-woocommerce/trunk/includes/ffw-helper.php

    r2777304 r2786574  
    634634        $post = get_post($faq_id);
    635635        setup_postdata($post);
    636         the_content();
     636
     637        $content = get_the_content($post);
     638        $content = apply_filters("ffw_apply_dynamic_product_attribute", $content, $post, $faq_id);
     639        $content = apply_filters( 'the_content', $content );
     640        echo $content = str_replace( ']]>', ']]&gt;', $content );
    637641        wp_reset_postdata();
    638642    }
     
    800804}
    801805add_filter( 'wp_robots', 'ffw_page_indexing' );
     806
     807if ( ! function_exists( 'ffw_fs' ) ) {
     808    // Create a helper function for easy SDK access.
     809    function ffw_fs() {
     810        global $ffw_fs;
     811
     812        if ( ! isset( $ffw_fs ) ) {
     813            // Include Freemius SDK.
     814            require_once dirname(__FILE__) . '/freemius/start.php';
     815
     816            $ffw_fs = fs_dynamic_init( array(
     817                'id'                  => '11066',
     818                'slug'                => 'faq-for-woocommerce',
     819                'type'                => 'plugin',
     820                'public_key'          => 'pk_c2fcd40c93b263aa8296b7ef88d38',
     821                'is_premium'          => false,
     822                'has_addons'          => false,
     823                'has_paid_plans'      => false,
     824                'menu'                => array(
     825                    'slug'           => 'edit.php?post_type=ffw',
     826                    'account'        => false,
     827                    'contact'        => false,
     828                    'support'        => false,
     829                ),
     830            ) );
     831        }
     832
     833        return $ffw_fs;
     834    }
     835
     836    // Init Freemius.
     837    ffw_fs();
     838    // Signal that SDK was initiated.
     839    do_action( 'ffw_fs_loaded' );
     840}
  • faq-for-woocommerce/trunk/readme.txt

    r2778411 r2786574  
    55Tested Up To: 6.0
    66Requires PHP: 5.6
    7 Stable tag: 1.3.34
     7Stable tag: 1.3.35
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    1818👉 [__Support__](https://wordpress.org/support/plugin/faq-for-woocommerce/)
    1919
    20 The main purpose of this FAQ plugin for WooCommerce is to generate product FAQs and display those in an eye-pleasing way. While displaying the product FAQ list, you get multiple templates with relative designs. Right now, there are 4 templates, and more are cooking up. 
    21 
    22 The product FAQ generated by XPlainer templates is compatible with any themes. So, no more worries about plugin or theme compatibility if you choose XPlainer - the WooCommerce Product FAQ plugin. 
     20The main purpose of this FAQ plugin for WooCommerce is to generate product FAQs and display those in an eye-pleasing way. While displaying the product FAQ list, you get multiple templates with relative designs. Right now, there are 4 templates, and more are cooking up.
     21
     22The product FAQ generated by XPlainer templates is compatible with any themes. So, no more worries about plugin or theme compatibility if you choose XPlainer - the WooCommerce Product FAQ plugin.
    2323
    2424> This advanced WooCommerce Question Answer plugin can skyrocket your sales and increase your business’s online visibility. Indeed, a tool that should not be missed for any product site.
     
    2828## 🔥 INSTRUCTIONS ##
    2929
    30 Install the plugin and go to the settings page by navigating **XPlainer > Settings**. To add FAQ questions and answers, go to **XPlainer > Add New**. There the post title will be the question and the description will be the answer. 
     30Install the plugin and go to the settings page by navigating **XPlainer > Settings**. To add FAQ questions and answers, go to **XPlainer > Add New**. There the post title will be the question and the description will be the answer.
    3131
    3232After adding the questions and answers, go to any product edit page, and you will find the FAQs there. Scroll down directly to the **Product data** tab and choose FAQs from the left sidebar. Simply choose your previously generated FAQs from the dropdown or add questions by using the **Quick Add** button.
     
    6666* Option of Expand/Collapse All FAQs
    6767
    68 Let’s explain these features one-by-one. 
     68Let’s explain these features one-by-one.
    6969
    7070## ♾️ UNLIMITED FAQS ##
    7171
    72 The XPlainer WooCommerce Product FAQ plugin allows you to add unlimited FAQs to your eCommerce store. It doesn’t matter how many products you have in your online store, this WooCommerce FAQ plugin got you covered. You can even add global FAQs for your products. 
    73 
    74 Simply add the FAQs by navigating to **XPlainer > Add New**. These FAQs will become available on every product page. All you have to do is just select the appropriate FAQs that you want to add to your product page. 
     72The XPlainer WooCommerce Product FAQ plugin allows you to add unlimited FAQs to your eCommerce store. It doesn’t matter how many products you have in your online store, this WooCommerce FAQ plugin got you covered. You can even add global FAQs for your products.
     73
     74Simply add the FAQs by navigating to **XPlainer > Add New**. These FAQs will become available on every product page. All you have to do is just select the appropriate FAQs that you want to add to your product page.
    7575
    7676So, no more hesitation when you are solving the quest of your potential customers. Remember, the sky is your customization limit when you use this XPlainer FAQ manager for your FAQ needs.
     
    7878## 🎨 INDIVIDUAL PRODUCT FAQ ##
    7979
    80 Every product is special. So, it’s very common for the customers to have specific questions about specific products. As an owner, it’s your sole duty to convert those product visitors into probable buyers by answering their custom questions. 
    81 
    82 That’s why this FAQ accordion plugin offers a **Quick Add** button on every product page. It allows you to add customized FAQ questions and answers which are applicable to specific products. Answer those questions smartly and acquire more customers. 
     80Every product is special. So, it’s very common for the customers to have specific questions about specific products. As an owner, it’s your sole duty to convert those product visitors into probable buyers by answering their custom questions.
     81
     82That’s why this FAQ accordion plugin offers a **Quick Add** button on every product page. It allows you to add customized FAQ questions and answers which are applicable to specific products. Answer those questions smartly and acquire more customers.
    8383
    8484## 📭 FAQ POST SUPPORT ##
     
    106106## 🔀 SORTING FAQS ##
    107107
    108 The XPlainer WooCommerce FAQ plugin works in a more advanced way than the other FAQ accordion plugins. This FAQ sorting feature might be a great example to support this statement. 
     108The XPlainer WooCommerce FAQ plugin works in a more advanced way than the other FAQ accordion plugins. This FAQ sorting feature might be a great example to support this statement.
    109109
    110110XPlainer allows the users to sort the FAQs under different parameters like ‘**order**’ and ‘**order_by**’. You can also implement this sorting feature by using shortcodes. Check the following feature to learn about using the shortcode feature.
     
    180180* Custom CSS
    181181
    182 💡 The **custom CSS** is the most prioritized CSS. Adding custom CSS will override the default styling. 
     182💡 The **custom CSS** is the most prioritized CSS. Adding custom CSS will override the default styling.
    183183
    184184## 🎯 FULLY RESPONSIVE ##
     
    196196A picture is worth a thousand words. While answering the questions, you might need to use some images or videos to explain the answer better. To help you in this situation, XPlainer allows the insertion of digital media in the answers.
    197197
    198 It not only helps to answer the questions better but also answers them more appropriately. You can insert every media file that is supported by WordPress. 
     198It not only helps to answer the questions better but also answers them more appropriately. You can insert every media file that is supported by WordPress.
    199199
    200200## 🔁 ADDING CONTENTS BEFORE AND AFTER THE FAQ LIST ##
     
    217217  * Pop Template
    218218
    219 We are planning to add more templates within a very short time. 
     219We are planning to add more templates within a very short time.
    220220
    221221## 🔗 WOOCOMMERCE COMPATIBLE STYLE FOR PRODUCT INFORMATION TAB ##
    222222
    223 The XPlainer Product FAQ plugin is totally compatible with WooCommerce. From the coding standard to optimization and designing, XPlainer blends with WooCommerce perfectly. So, when you create your WooCommerce FAQ questions and answers with the XPlainer plugin, it will properly adjust with WooCommerce. 
     223The XPlainer Product FAQ plugin is totally compatible with WooCommerce. From the coding standard to optimization and designing, XPlainer blends with WooCommerce perfectly. So, when you create your WooCommerce FAQ questions and answers with the XPlainer plugin, it will properly adjust with WooCommerce.
    224224
    225225## 💻 FAQ LAYOUT PREVIEW IN SETTING PAGE ##
    226226
    227 The XPlainer FAQ plugins come with multiple colorful and SEO-friendly FAQ layouts. Right now, there are 4 different layouts to choose from. You can check these layouts by navigating to **Woo FAQ > Settings** page. Then select the General tab and select your desired design from the **Layout** option. 
     227The XPlainer FAQ plugins come with multiple colorful and SEO-friendly FAQ layouts. Right now, there are 4 different layouts to choose from. You can check these layouts by navigating to **Woo FAQ > Settings** page. Then select the General tab and select your desired design from the **Layout** option.
    228228
    229229While choosing the layouts, you can see the real-time layout preview on the right side of the settings page. Thus the layout selection process becomes more effortless than ever!
     
    231231## 📐 FAQ TAB REORDER SETTING ##
    232232
    233 By default, the FAQs you have added will be displayed in the last tab. But, you can control the tab position from the XPlainer settings page if needed. To do that, go to **XPlainer > Settings** page and then find the **Tab Priority** option under the **General** tab. 
    234 
    235 Increase or decrease the value by 10 to change the tab’s position. For example, if you want to display the FAQs as the first tab, the value will be 10. Just like that, the value will be 20 for the 2nd position or 50 for the 5th position. 
     233By default, the FAQs you have added will be displayed in the last tab. But, you can control the tab position from the XPlainer settings page if needed. To do that, go to **XPlainer > Settings** page and then find the **Tab Priority** option under the **General** tab.
     234
     235Increase or decrease the value by 10 to change the tab’s position. For example, if you want to display the FAQs as the first tab, the value will be 10. Just like that, the value will be 20 for the 2nd position or 50 for the 5th position.
    236236
    237237## 🎬 SHOW/HIDE FAQ ANSWERS ON PAGE LOAD ##
    238238
    239 By default, the product FAQs are listed just like a simple FAQ accordion style. If you want to read the answer to a specific question, you have to click on that question, and it will show the answer. 
    240 
    241 But, XPlainer is designed to offer something extra than others. So, you can set whether you want to show or hide the answers while the product page loads initially. 
    242 
    243 To do that, go to **XPlainer > Settings** page and then find the **Display All Answers** option under the **General** tab. You can choose to either show or hide the answers from here. After choosing your preferred method, click on the **Save Changes** button, and it will be set for the whole website. 
     239By default, the product FAQs are listed just like a simple FAQ accordion style. If you want to read the answer to a specific question, you have to click on that question, and it will show the answer.
     240
     241But, XPlainer is designed to offer something extra than others. So, you can set whether you want to show or hide the answers while the product page loads initially.
     242
     243To do that, go to **XPlainer > Settings** page and then find the **Display All Answers** option under the **General** tab. You can choose to either show or hide the answers from here. After choosing your preferred method, click on the **Save Changes** button, and it will be set for the whole website.
    244244
    245245## 👨‍💻 OPTION TO EXPAND/COLLAPSE ALL FAQS ##
    246246
    247 Besides controlling the FAQs visibility from the dashboard panel, the XPlainer WooCommerce FAQ manager plugin lets the customer control it from the front-end interface. 
     247Besides controlling the FAQs visibility from the dashboard panel, the XPlainer WooCommerce FAQ manager plugin lets the customer control it from the front-end interface.
    248248
    249249To enable this option, follow the steps below:
     
    252252  2.  At first, enable this feature and then set the **Expand/Collapse All** Label text. This text will work as the button text for the Expand/Collapse All button.
    253253  3.  After you are done with that, click on the **Save Changes** button, and it will be set for every product page.
    254 That’s it! 
     254That’s it!
    255255
    256256💚 Satisfied with our XPlainer FAQ plugin?
     
    340340== Changelog ==
    341341
     342= 1.3.35 =
     343* Fixed: After deleting all the faqs, new insertion does not work properly has been fixed.
     344* Updated: Performance boosted.
     345
    342346= 1.3.34 =
    343347* Fixed: Question and border color doesn't work for classic template has been fixed.
Note: See TracChangeset for help on using the changeset viewer.