Current File : /home/natitnen/elitepathways.com.ng/wp-content/plugins/smoother/js/admin.js
/**
 * Smoother
 * Smoother - Smooth scrolling experience for WordPress Websites.
 * Exclusively on https://1.envato.market/smoother
 *
 * @encoding        UTF-8
 * @version         2.0.3
 * @copyright       (C) 2018 - 2021 Merkulove ( https://merkulov.design/ ). All rights reserved.
 * @license         Envato License https://1.envato.market/KYbje
 * @contributors    Nemirovskiy Vitaliy (nemirovskiyvitaliy@gmail.com), Dmitry Merkulov (dmitry@merkulov.design)
 * @support         help@merkulov.design
 **/

(function ( $ ) {

    "use strict";

    $( document ).ready( function () {

        /** On Preset select change. */
        let loadPresetSelect = getMDCControl( '#mdp_smoother_general_settings_load_preset' );

        /** Attach event on change. */
        if ( 'undefined' !== typeof loadPresetSelect ) {
            loadPresetSelect.listen( 'MDCSelect:change', PresetChange );
        }

        function PresetChange() {

            let preset = loadPresetSelect.value;

            if ( 'default' === preset ) {
                SetPreset( 100, 400, 3, 50, 4, 50 );
            } else if ( 'iphone' === preset ) {
                SetPreset( 120, 600, 3, 50, 3, 50 );
            } else if ( 'opera' === preset ) {
                SetPreset( 120, 120, 3, 50, 3, 50 );
            } else if ( 'ie' === preset ) {
                SetPreset( 120, 60, 3, 50, 3, 50 );
            }

        }

        /**
         * Return material-ui control object.
         **/
        function getMDCControl( selector ) {

            /** Get reference index in global array. */
            let index = $( selector ).closest( "[data-mdc-index]" ).data( 'mdc-index' );

            if ( 'undefined' === typeof index ) { return undefined; }

            return window.MerkulovMaterial[index];

        }

        /**
         * Set values for presets.
         **/
        function SetPreset( StepSize, AnimationTime, AccelerationScale, AccelerationDelta, PulseScale, ArrowStep ) {

            let stepSizeSlider = getMDCControl( '#mdp_smoother_general_settings_step_size' );
            stepSizeSlider.value = StepSize;
            $( '#mdp_smoother_general_settings_step_size-input' ).val( StepSize ).parent().next().find( 'strong' ).html( StepSize );

            let animationTimeSlider = getMDCControl( '#mdp_smoother_general_settings_animation_time' );
            animationTimeSlider.value = AnimationTime;
            $( '#mdp_smoother_general_settings_animation_time-input' ).val( AnimationTime ).parent().next().find( 'strong' ).html( AnimationTime );

            let accelerationScaleSlider = getMDCControl( '#mdp_smoother_general_settings_acceleration_scale' );
            accelerationScaleSlider.value = AccelerationScale;
            $( '#mdp_smoother_general_settings_acceleration_scale-input' ).val( AccelerationScale ).parent().next().find( 'strong' ).html( AccelerationScale );

            let accelerationDeltaSlider = getMDCControl( '#mdp_smoother_general_settings_acceleration_delta' );
            accelerationDeltaSlider.value = AccelerationDelta;
            $( '#mdp_smoother_general_settings_acceleration_delta-input' ).val( AccelerationDelta ).parent().next().find( 'strong' ).html( AccelerationDelta );

            let pulseScaleSlider = getMDCControl( '#mdp_smoother_general_settings_pulse_scale' );
            pulseScaleSlider.value = PulseScale;
            $( '#mdp_smoother_general_settings_pulse_scale-input' ).val( PulseScale ).parent().next().find( 'strong' ).html( PulseScale );

            let arrowStepSlider = getMDCControl( '#mdp_smoother_general_settings_arrow_step' );
            arrowStepSlider.value = ArrowStep;
            $( '#mdp_smoother_general_settings_arrow_step-input' ).val( ArrowStep ).parent().next().find( 'strong' ).html( ArrowStep );

            let keyboardSupportSwitcher = getMDCControl( '#mdp_smoother_general_settings_keyboard_support' );
            keyboardSupportSwitcher.checked = true;

            let pulseAlgorithmSwitcher = getMDCControl( '#mdp_smoother_general_settings_pulse_algorithm' );
            pulseAlgorithmSwitcher.checked = true;

            let allBrowsersSwitcher = getMDCControl( '#mdp_smoother_general_settings_all_browsers' );
            allBrowsersSwitcher.checked = false;

            let adminAreaSwitcher = getMDCControl( '#mdp_smoother_general_settings_admin_area' );
            adminAreaSwitcher.checked = false;

        }

        /** On any change, activate Custom preset. */
        $( '#mdp_smoother_general_settings-step_size-input, ' +
            '#mdp_smoother_general_settings-animation_time-input, ' +
            '#mdp_smoother_general_settings-acceleration_scale-input, ' +
            '#mdp_smoother_general_settings-acceleration_delta-input, ' +
            '#mdp_smoother_general_settings-pulse_scale-input, ' +
            '#mdp_smoother_general_settings-arrow_step-input, ' +
            '#mdp_smoother_general_settings-keyboard_support, ' +
            '#mdp_smoother_general_settings-pulse_algorithm, ' +
            '#mdp_smoother_general_settings-all_browsers, ' +
            '#mdp_smoother_general_settings-admin_area'
            ).change( function () {
                loadPresetSelect.selectedIndex = 4;
        } );

    } );

} ( jQuery ) );