View file rusnet-interactive-map/assets/js/admin/admin-presets.js

File size: 2.69Kb
jQuery(document).ready(function($) {
    function updatePreview() {
        var normalBtn = $('.preview-normal');
        var activeBtn = $('.preview-active');

        var fontSize = $('#cat_filter_button_font_size').val();
        var color = $('#cat_filter_button_color').val();
        var bgColor = $('#cat_filter_button_bg_color').val();
        var border = $('#cat_filter_button_border').val();
        var boxShadow = $('#cat_filter_button_box_shadow').val();
        var padding = $('#cat_filter_button_padding').val();
        var borderRadius = $('#cat_filter_button_border_radius').val();
        var activeColor = $('#cat_filter_button_active_color').val();
        var activeBgColor = $('#cat_filter_button_active_bg_color').val();
        var activeBorder = $('#cat_filter_button_active_border').val();

        var normalStyle = 'display: inline-block;';
        if (fontSize) normalStyle += 'font-size:' + fontSize + ';';
        if (color) normalStyle += 'color:' + color + ';';
        if (bgColor) normalStyle += 'background-color:' + bgColor + ';';
        if (border) normalStyle += 'border:' + border + ';';
        if (boxShadow) normalStyle += 'box-shadow:' + boxShadow + ';';
        if (padding) normalStyle += 'padding:' + padding + ';';
        if (borderRadius) normalStyle += 'border-radius:' + borderRadius + ';';

        normalBtn.attr('style', normalStyle);
        activeBtn.attr('style', normalStyle);

        var activeStyle = '';
        if (activeColor) activeStyle += 'color:' + activeColor + ' !important;';
        if (activeBgColor) activeStyle += 'background-color:' + activeBgColor + ' !important;';
        if (activeBorder) activeStyle += 'border:' + activeBorder + ' !important;';
        if (activeStyle) {
            var currentStyle = activeBtn.attr('style') || '';
            activeBtn.attr('style', currentStyle + ' ' + activeStyle);
        }
    }

    $('.rusnetim-preset-btn').on('click', function() {
        var presetKey = $(this).data('preset');
        var preset = rusnetimPresets[presetKey];
        if (!preset) return;

        var fields = preset.fields;
        for (var fieldId in fields) {
            if (fields.hasOwnProperty(fieldId)) {
                $('#' + fieldId).val(fields[fieldId]).trigger('change');
            }
        }
        updatePreview();
    });

    $('#cat_filter_button_font_size, #cat_filter_button_color, #cat_filter_button_bg_color, #cat_filter_button_border, #cat_filter_button_box_shadow, #cat_filter_button_padding, #cat_filter_button_border_radius, #cat_filter_button_active_color, #cat_filter_button_active_bg_color, #cat_filter_button_active_border').on('input change', function() {
        updatePreview();
    });

    updatePreview();
});