(function ($) { $(document).ready(function () { /** * flatpickr datepicker init * disable past date by minDate */ $("input.picker-datetime").flatpickr({ enableTime: true, dateFormat: "Y-m-d H:i", time_24hr: true, minDate: "today" }); $('.onecom_tab.disabled-tab').off('click'); //Load slick slider on mobile devices showSlick(); jQuery(window).on('resize',function(){ showSlick(); }); function showSlick(){ const viewportWidth = jQuery(window).width(); if (viewportWidth < 481) { $('.ocp-radio-image').not('.slick-initialized').slick({ dots: true, slidesToShow: 1, slidesToScroll: 1, arrows: false, draggable: true, infinite: false, adaptiveHeight: true, mobileFirst: true, // centerMode: true, variableWidth: true, responsive: [ { breakpoint: 1024, settings: "unslick" }, { breakpoint: 600, settings: "unslick" }, { breakpoint: 481, settings: { slidesToShow: 1, slidesToScroll: 1 } } ] }); } } // Multiselect (via select2 library) for exclude pages $('.oc-select2-multi').select2(); // Show spinner and hide UC settings, untill document ready $('.uc_spinner').hide(); // disable all submit buttons until form changed $('#uc-form').find('input:submit').attr('disabled', true); // Form will be used many times let settingsForm = $('#uc-form'); $('#responsiveTabsDemo').css("visibility", "visible"); // Expand textarea according to content function textAreaExpand() { var element = document.getElementById("onecom_under_construction_info[uc_scripts]"); element.style.height = "1px"; element.style.height = (30 + element.scrollHeight) + "px"; var element = document.getElementById("onecom_under_construction_info[uc_footer_scripts]"); element.style.height = "1px"; element.style.height = (30 + element.scrollHeight) + "px"; var element = document.getElementById("onecom_under_construction_info[uc_custom_css]"); element.style.height = "1px"; element.style.height = (30 + element.scrollHeight) + "px"; } //textAreaExpand(); /** * Show/Clear image thumb after image change */ $("input.wpsa-url").change(function () { var img_src = $(this).val(); if (img_src.trim() != '') { // clear existing image, and show uploaded image $(this).siblings(".img-box").empty(); $(this).siblings(".img-box").html(""); $(this).siblings(".img-box").find("img").attr("src", img_src); // Trigger form change, to enable/disable save button settingsForm.change(); } else { // else keep image box empty $(this).siblings(".img-box").empty(); // Trigger form change, to enable/disable save button settingsForm.change(); } }); // On image delete, clear input box and make image box empty $('body').on('click', '.img-delete', function () { $(this).closest("td").find("input:text").val(""); $(this).parent('.img-box').empty(); // Trigger form change, to enable/disable save button settingsForm.change(); }); /** * Handle premium feature enable/disable conditions * Allow non-premium cu to modify selection, if they had set it earlier */ // Disable timer action options for non-premium users (except first & existing selected) $(".uc_timer_action option:first").removeAttr('disabled'); $(".uc_timer_action option:selected").removeAttr('disabled'); // Once selected first option, disable others $('.oc-non-premium .uc_timer_action select').change(function () { if ($(this).children('option:first-child').is(':selected')) { $(".oc-non-premium .uc_timer_action select option").not(':first-child').each(function () { $(this).prop('disabled', true); }); } }); // Whitelisted Users: Make it read-only for non-premium users (except first & existing selected) $(".uc_whitelisted_roles td label:first input").prop('readonly', false); $(".uc_whitelisted_roles input:checked").prop('readonly', false); // Once disabled premium option, do now allow to enable again $('.oc-non-premium .uc_whitelisted_roles td label:not(:eq(0)) input').change(function (event) { if ($(this).prop('checked') == false) { $(this).prop('readonly', true); } }); // Implement read-only behaviour on checkboxes $(document.body).delegate('[type="checkbox"][readonly="readonly"]', 'click', function (e) { // Prevent any action (work like disabled except it submit values) e.preventDefault(); // Show upgrade modal jQuery('#oc_um_overlay').show(); // todo - modal stats feature $('.loading-overlay.fullscreen-loader').removeClass('show'); }); /** * Set current selected theme background image * * If not bg image exists * * Or other theme's default bg image exists */ $('.uc_theme input[type=radio]').change(function () { if (this.checked) { var themeName = $(this).attr('value'); var currentBg = $(".uc_page_bg_image input[type=text]").val(); var assetsPath = "onecom-under-construction/assets/images"; if (themeName == 'theme-1' && (currentBg == '' || currentBg.indexOf(assetsPath) != -1) ) { var bgImage = theme_info_obj.theme_directory_uri + '/design-1-bg.jpeg'; $(".uc_page_bg_image input[type=text]").val(bgImage); } else if (themeName == 'theme-2' && (currentBg == '' || currentBg.indexOf(assetsPath) != -1)) { var bgImage = theme_info_obj.theme_directory_uri + '/design-2-bg.jpeg'; $(".uc_page_bg_image input[type=text]").val(bgImage); } else if (themeName == 'theme-3' && (currentBg == '' || currentBg.indexOf(assetsPath) != -1)) { var bgImage = theme_info_obj.theme_directory_uri + '/design-3-bg.jpeg'; $(".uc_page_bg_image input[type=text]").val(bgImage); } else if (themeName == 'theme-4' && (currentBg == '' || currentBg.indexOf(assetsPath) != -1)) { $(".uc_page_bg_image input[type=text]").val(''); } else if (themeName == 'theme-5' && (currentBg == '' || currentBg.indexOf(assetsPath) != -1)) { $(".uc_page_bg_image input[type=text]").val(''); } else if (themeName == 'theme-6' && (currentBg == '' || currentBg.indexOf(assetsPath) != -1)) { var bgImage = theme_info_obj.theme_directory_uri + '/design-6-bg.jpeg'; $(".uc_page_bg_image input[type=text]").val(bgImage); } } }); $('.uc_theme input:disabled').next().click(function () { jQuery('#oc_um_overlay').show(); $('.loading-overlay.fullscreen-loader').removeClass('show'); }); /* Hide all components on switch disable */ if (!$('.uc_status input[type=checkbox]').prop('checked')) { $('#responsiveTabsDemo .onecom_tabs_container .onecom_tab:nth-child(2)').prop('disabled',true); $('#responsiveTabsDemo .onecom_tabs_container .onecom_tab:nth-child(3)').prop('disabled',true); $('tr[class^="uc_"]:not(.uc_status):not(.uc_submit)').addClass('uc_hide'); $('.form-table:nth-of-type(2)').addClass('uc_hide'); $('.postbox-header:nth-of-type(2)').addClass('uc_hide'); $('.form-table:nth-of-type(3)').addClass('uc_hide'); $('.postbox-header:nth-of-type(3)').addClass('uc_hide'); } /* Hide/Show all components on switch change */ $(document).on('change', '.uc_status input[type=checkbox]', function () { if (!$(this).prop("checked")) { //check premium ondisable if(!theme_info_obj.isPremium) { jQuery(this).prop("checked", false); jQuery('#submit').trigger('click'); } $('#responsiveTabsDemo .h-parent-wrap .onecom_tabs_container .onecom_tab:nth-child(2)').addClass('disabled-tab'); $('#responsiveTabsDemo .h-parent-wrap .onecom_tabs_container .onecom_tab:nth-child(3)').addClass('disabled-tab'); $('tr[class^="uc_"]:not(.uc_status):not(.uc_submit)').addClass('uc_hide'); $('.form-table:nth-of-type(2)').addClass('uc_hide'); $('.postbox-header:nth-of-type(2)').addClass('uc_hide'); $('.form-table:nth-of-type(3)').addClass('uc_hide'); $('.postbox-header:nth-of-type(3)').addClass('uc_hide'); } else { //check premium on enable if(!theme_info_obj.isPremium) { jQuery(this).prop("checked", false); jQuery('#submit').prop('disabled','disabled'); show_upsell_view('onEnable'); return false; } /** * When maintenance mode switch enabled, check timer date * * If past date/time, set timer to today+1 week */ let timer_date = new Date($('.uc_timer .picker-datetime').val()); var now = new Date(); if (timer_date < now) { $("input.picker-datetime").flatpickr({ enableTime: true, dateFormat: "Y-m-d H:i", time_24hr: true, minDate: "today", defaultDate: now.fp_incr(7) // 7 days for now }); } $('#responsiveTabsDemo .h-parent-wrap .onecom_tabs_container .onecom_tab:nth-child(2)').removeClass('disabled-tab'); $('#responsiveTabsDemo .h-parent-wrap .onecom_tabs_container .onecom_tab:nth-child(3)').removeClass('disabled-tab'); $('tr[class^="uc_"]:not(.uc_status)').removeClass('uc_hide'); $('.form-table:nth-of-type(2)').removeClass('uc_hide'); $('.postbox-header:nth-of-type(2)').removeClass('uc_hide'); $('.form-table:nth-of-type(3)').removeClass('uc_hide'); $('.postbox-header:nth-of-type(3)').removeClass('uc_hide'); } }); // Show floating save button if regular button is not in viewport (via JS Observer API) var observer = new IntersectionObserver(function (entries) { // isIntersecting is true when element and viewport are overlapping else false if (entries[0].isIntersecting === true) { $('.oc-uc-float-btn').hide(); } else { $('.oc-uc-float-btn').show(); } }, { threshold: [0] }); observer.observe(document.querySelector("#onecom_under_construction_settings .uc-submit-button")); observer.observe(document.querySelector("#onecom_under_construction_content .uc-submit-button")); observer.observe(document.querySelector("#onecom_under_construction_customization .uc-submit-button")); /* Disable timer field if switched off */ if (!$('.uc_timer_switch input[type=checkbox]').prop('checked')) { $('.uc_timer').addClass('uc_hide'); $('.uc_timer_action').addClass('uc_hide'); } $(document).on('change', '.uc_timer_switch input[type=checkbox]', function () { if (!$(this).prop("checked")) { $('.uc_timer').addClass('uc_hide'); $('.uc_timer_action').addClass('uc_hide'); } else { $('.uc_timer').removeClass('uc_hide'); $('.uc_timer_action').removeClass('uc_hide'); } }); // Enable floating/sticky submit button when form changed settingsForm.each(function () { $(this).data('serialized', $(this).serialize()); }).on('change keyup paste', function () { $(this) .find('input:submit') .attr('disabled', $(this).serialize() == $(this).data('serialized')); }) // Show 'Saving' on all submit button once clicked $('.uc-submit-button').click(function () { $("#uc-form input:submit").val(theme_info_obj.savingLabel); }); /** * Tab click */ $('#responsiveTabsDemo .onecom_tab').click(function(e){ if($(this).hasClass('disabled-tab')){ return false; } let target = $(this).attr('data-tab'); $('.onecom_tabs_panel').fadeOut('fast'); $(this).parent().find('.active').removeClass('active'); $(this).addClass('active'); $('.onecom_tabs_panels #' + target).fadeIn('fast'); }); /** * Check premium * @param $checkStatus */ function show_upsell_view(checkStatus){ if(checkStatus === 'onEnable'){ let referrer = location.search; jQuery('#oc_um_overlay').show(); ocSetModalData({ isPremium: theme_info_obj.isPremium, feature: 'maintenance_mode', featureAction: 'settings', referrer: referrer }); } } change_labelColor_for_nonmWP(); function change_labelColor_for_nonmWP(){ //change label color for nonWP $('p.tag_badge.nmWP-badge').parent().css('color','#BBBBBB'); //change for role selection const status = $('tr.uc_whitelisted_roles th').find('.tag_badge').hasClass('nmWP-badge'); if(status){ $('tr.uc_whitelisted_roles td fieldset .oc_switch_label').each(function(index,val){ if(index > 0){ $(this).css('color','#BBBBBB'); } }); //Change exclude pages color $('.uc_exclude_pages label').css('color','#BBBBBB'); $('.uc_exclude_pages .select2-container--default .select2-selection--multiple').css('background-color','#F7F7F7'); } } }); })(jQuery)