PageSourceSearch

https://www.ludwigsroses.co.za/wp-content/plugins/woocommerce-ajax-filters/template_styles/js/slider.js

js ludwigsroses.co.za collected 2026-10-02 11:29:12 UTC 12,562 bytes, 236 lines download raw bytes

1var braapf_init_jqrui_slidr,
2braapf_jqrui_slidr_same,
3braapf_jqrui_slidr_values_wc_price,
4braapf_init_jqrui_slidr_for_parent,
5braapf_grab_single_jqrui,
6braapf_jqrui_slidr_values_arr_attr,
7braapf_jqrui_slidr_values_link_arr_attr;
8(function ($){
9    function braapf_slider_input_focusin(input, position) {
10        var $slider = $(input).closest('.bapf_slidr_jqrui.bapf_slidr_ready').find('.bapf_slidr_main');
11        var values = $slider.slider('values');
12        $(input).val(values[position]);
13        $(input).data('val', values[position]);
14    }
15    function braapf_slider_input_focusout_change(input, position, trigger) {
16        var $slider = $(input).closest('.bapf_slidr_jqrui.bapf_slidr_ready').find('.bapf_slidr_main');
17        if( trigger == 'focusout' ) {
18            if( $(input).val() == $(input).data('val') ) {
19                var values = $slider.slider('values');
20                $slider.trigger('braapf_change_jqrui_slidr', [values]);
21            }
22        } else {
23            var val = parseInt($(input).val());
24            $slider.slider('values', position, val);
25        }
26    }
27    $.each([{position:0, className:'bapf_from'}, {position:1, className:'bapf_to'}], function(i, val) {
28        $(document).on('focusin', '.bapf_slidr_jqrui.bapf_slidr_ready .'+val.className+' input[type=text]', function() {
29            braapf_slider_input_focusin(this, val.position);
30        });
31        $(document).on('change focusout', '.bapf_slidr_jqrui.bapf_slidr_ready .'+val.className+' input[type=text]', function(event) {
32            braapf_slider_input_focusout_change(this, val.position, event.type);
33        });
34        $(document).on('change', '.bapf_slidr_jqrui.bapf_slidr_ready .'+val.className+' select', function(event) {
35            braapf_slider_input_focusout_change(this, val.position, event.type);
36        });
37    });
38    //SPAN CHANGED TEXT
39    $(document).on('braapf_change_jqrui_slidr', '.bapf_slidr_jqrui .bapf_slidr_main', function(event, values) {
40        var $element = $(this);
41        var input_values = [values[0], values[1]];
42        input_values = berocket_apply_filters('jqrui_slidr_'+$element.data('display'), input_values, $element);
43        if( $element.closest('.bapf_slidr_jqrui').find('.bapf_from span.bapf_val').length ) {
44            $element.closest('.bapf_slidr_jqrui').find('.bapf_from span.bapf_val').text(input_values[0]);
45        }
46        if( $element.closest('.bapf_slidr_jqrui').find('.bapf_to span.bapf_val').length ) {
47            $element.closest('.bapf_slidr_jqrui').find('.bapf_to span.bapf_val').text(input_values[1]);
48        }
49    });
50    //INPUT CHANGED TEXT
51    $(document).on('braapf_change_jqrui_slidr', '.bapf_slidr_jqrui .bapf_slidr_main', function(event, values) {
52        var $element = $(this);
53        var input_values = [values[0], values[1]];
54        input_values = berocket_apply_filters('jqrui_slidr_'+$element.data('display'), input_values, $element);
55        if( $element.closest('.bapf_slidr_jqrui').find('.bapf_from input[type=text]').length ) {
56            $element.closest('.bapf_slidr_jqrui').find('.bapf_from input[type=text]').val(input_values[0]);
57        }
58        if( $element.closest('.bapf_slidr_jqrui').find('.bapf_to input[type=text]').length ) {
59            $element.closest('.bapf_slidr_jqrui').find('.bapf_to input[type=text]').val(input_values[1]);
60        }
61    });
62    //SELECT CHANGED
63    $(document).on('braapf_change_jqrui_slidr', '.bapf_slidr_jqrui .bapf_slidr_main', function(event, values) {
64        var $element        = $(this);
65        var attr            = $element.data('attr');
66        if( $element.closest('.bapf_slidr_jqrui').find('.bapf_from select').length || $element.closest('.bapf_slidr_jqrui').find('.bapf_to select').length ) {
67            var attr = $element.data('attr');
68            var from_options    = [];
69            var to_options      = [];
70            var from_end = false, to_start = false;
71            $.each(attr, function(i, val) {
72                if( i == values[0] ) to_start = true;
73                if( ! from_end ) {
74                    from_options.push({v:val.v, n:val.n, ov:i});
75                }
76                if( to_start ) {
77                    to_options.push({v:val.v, n:val.n, ov:i});
78                }
79                if( i == values[1] ) from_end = true;
80            });
81        }
82        if( $element.closest('.bapf_slidr_jqrui').find('.bapf_from select').length ) {
83            $element.closest('.bapf_slidr_jqrui').find('.bapf_from select option').remove();
84            $.each(from_options, function(i, val) {
85                var selected = '';
86                if( val.ov == values[0] ) {
87                    selected = ' selected';
88                }
89                $element.closest('.bapf_slidr_jqrui').find('.bapf_from select').append($('<option value="'+val.ov+'"'+selected+'>'+val.n+'</option>'));
90            });
91        }
92        if( $element.closest('.bapf_slidr_jqrui').find('.bapf_to select').length ) {
93            $element.closest('.bapf_slidr_jqrui').find('.bapf_to select option').remove();
94            $.each(to_options, function(i, val) {
95                var selected = '';
96                if( val.ov == values[1] ) {
97                    selected = ' selected';
98                }
99                $element.closest('.bapf_slidr_jqrui').find('.bapf_to select').append($('<option value="'+val.ov+'"'+selected+'>'+val.n+'</option>'));
100            });
101        }
102    });
103    braapf_init_jqrui_slidr = function() {
104        braapf_init_jqrui_slidr_for_parent($(document));
105    }
106    braapf_init_jqrui_slidr_for_parent = function($parent) {
107        $parent.find( ".bapf_slidr_jqrui:not(.bapf_slidr_ready)" ).each(function() {
108            var $slider = $(this).find('.bapf_slidr_main');
109            var slider_data = berocket_apply_filters('jqrui_data_slidr_jqrui', {
110                range: true,
111                min: $slider.data('min'),
112                max: $slider.data('max'),
113                values: [ $slider.data('start'), $slider.data('end') ],
114                step: $slider.data('step'),
115                create:function(event, ui) {
116                    var values = $(this).slider('values');
117                    $(this).trigger('braapf_change_jqrui_slidr', [values]);
118                },
119                slide:function(event, ui) {
120                    $(this).trigger('braapf_change_jqrui_slidr', [ui.values]);
121                },
122                change:function(event, ui) {
123                    var values = $(this).slider('values');
124                    $(this).trigger('braapf_change_jqrui_slidr', [values]);
125                    if( !$(this).is('.bapf_jqrui_blocked') ) {
126                        var values = $(this).slider('values');
127                        var taxonomy = $(this).parents('.bapf_sfilter').data('taxonomy');
128                        braapf_jqrui_slidr_same(taxonomy, values);
129                        var filter_changed_element = {
130                            element:'#'+$(this).closest('.bapf_sfilter').attr('id'),
131                            parent: 0,
132                            find: '.bapf_body'
133                        };
134                        berocket_apply_filters('filter_changed_element', filter_changed_element, $(this));
135                        berocket_do_action('update_products', 'filter', $(this));
136                    }
137                },
138            }, $slider);
139            $slider.slider(slider_data);
140            $(this).addClass('bapf_slidr_ready');
141        });
142    }
143    braapf_jqrui_slidr_same = function (taxonomy, values) {
144        $('.bapf_slidr_jqrui.bapf_slidr_ready[data-taxonomy="'+taxonomy+'"]').each(function() {
145            var $slider = $(this).find('.bapf_slidr_main');
146            $slider.addClass('bapf_jqrui_blocked');
147            $slider.slider('values', values);
148            $slider.removeClass('bapf_jqrui_blocked');
149        });
150    }
151    braapf_jqrui_slidr_values_num_attr_style = function(values, $element) {
152        var number_style = $element.data('number_style');
153        if( number_style ) {
154            values[0] = berocket_format_number (values[0], number_style );
155            values[1] = berocket_format_number (values[1], number_style );
156        }
157        return values;
158    }
159    braapf_jqrui_slidr_values_wc_price = function(values, $element) {
160        var number_style = $element.data('number_style');
161        if( ! number_style ) {
162            number_style = the_ajax_script.number_style;
163        }
164        values[0] = berocket_format_number (values[0], number_style );
165        values[1] = berocket_format_number (values[1], number_style );
166        return values;
167    }
168    braapf_grab_single_jqrui = function(single_data, element) {
169        if( element.is('.bapf_slidr_jqrui.bapf_slidr_ready') && single_data != false ) {
170            var $slider = element.find('.bapf_slidr_main');
171            var values = $slider.slider('values');
172            var input_values = $slider.slider('values');
173            var prefix = '';
174            if( element.find('.bapf_tbprice').length ) {
175                prefix = element.find('.bapf_tbprice').first().text();
176            }
177            var postfix = '';
178            if( element.find('.bapf_taprice').length ) {
179                postfix = element.find('.bapf_taprice').first().text();
180            }
181            if( values[0] != $slider.data('min') || values[1] != $slider.data('max') ) {
182                input_values = berocket_apply_filters('jqrui_slidr_'+$slider.data('display'), input_values, $slider);
183                input_values[0] = prefix + input_values[0] + postfix;
184                input_values[1] = prefix + input_values[1] + postfix;
185                var value_ready = {value:values[0]+'_'+values[1], html:input_values[0]+' - '+input_values[1]};
186                value_ready = berocket_apply_filters('jqrui_slidr_link_'+$slider.data('display'), value_ready, values, input_values, $slider, single_data);
187                single_data.values = [value_ready];
188            }
189        }
190        return single_data;
191    }
192    braapf_jqrui_slidr_values_arr_attr = function(values, $element) {
193        var attr = $element.data('attr');
194        if( Array.isArray(values) && values.length == 2 ) {
195            values[0] = attr[values[0]].n;
196            values[1] = attr[values[1]].n;
197        } else {
198            values = ['', ''];
199            values[0] = attr[0].n;
200            values[1] = attr[attr.length - 1].n;
201        }
202        return values;
203    }
204    braapf_jqrui_slidr_values_link_arr_attr = function(value_ready, values, input_values, $slider, single_data) {
205        var attr = $slider.data('attr');
206        value_ready.value = attr[values[0]].v+'_'+attr[values[1]].v;
207        return value_ready;
208    }
209    $(document).on('braapf_unselect braapf_unselect_all', '.bapf_slidr_jqrui', function(event, data) {
210        var $slider = $(this).find('.bapf_slidr_main');
211        var min = $slider.data('min');
212        var max = $slider.data('max');
213        $slider.addClass('bapf_jqrui_blocked');
214        $slider.slider('values', [min, max]);
215        $slider.removeClass('bapf_jqrui_blocked');
216    });
217    function braapf_jqrui_slidr_berocket_add_filter() {
218        berocket_add_filter('jqrui_slidr_wc_price', braapf_jqrui_slidr_values_wc_price);
219        berocket_add_filter('jqrui_slidr_num_attr', braapf_jqrui_slidr_values_num_attr_style);
220        berocket_add_filter('jqrui_slidr_arr_attr', braapf_jqrui_slidr_values_arr_attr);
221        berocket_add_filter('jqrui_slidr_arr_attr_price', braapf_jqrui_slidr_values_arr_attr, 10);
222        berocket_add_filter('jqrui_slidr_arr_attr_price', braapf_jqrui_slidr_values_wc_price, 20);
223        berocket_add_filter('jqrui_slidr_link_arr_attr', braapf_jqrui_slidr_values_link_arr_attr);
224        berocket_add_filter('jqrui_slidr_link_arr_attr_price', braapf_jqrui_slidr_values_link_arr_attr);
225        berocket_add_filter('grab_single_filter_default', braapf_grab_single_jqrui);
226        berocket_add_filter('braapf_init', braapf_init_jqrui_slidr);
227        berocket_add_filter('braapf_init_for_parent', braapf_init_jqrui_slidr_for_parent);
228    }
229    if ( typeof(berocket_add_filter) == 'function' ) {
230        braapf_jqrui_slidr_berocket_add_filter();
231    } else {
232        jQuery(document).on('berocket_hooks_ready', function() {
233            braapf_jqrui_slidr_berocket_add_filter();
234        });
235    }
236})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.