PageSourceSearch

https://uniball.co.uk/wp-content/plugins/woocommerce-ajax-filters/paid/template_styles/js/datepicker.js

js uniball.co.uk collected 2026-10-02 06:26:48 UTC 6,649 bytes, 125 lines download raw bytes

1var braapf_convert_numeric_to_date,
2braapf_init_datepicker,
3braapf_datepicker_same,
4braapf_convert_date_to_numeric,
5braapf_grab_single_datepicker;
6(function ($){
7    braapf_convert_numeric_to_date = function(numeric, format) {
8        numeric = numeric+"";
9        var year = numeric.substring(0, 4);
10        var year2 = numeric.substring(2, 4);
11        var month = numeric.substring(4, 6);
12        var day = numeric.substring(6, 8);
13        var result_date = format+"";
14        result_date = result_date.replace('yy', year);
15        result_date = result_date.replace('y', year2);
16        result_date = result_date.replace('mm', month);
17        result_date = result_date.replace('dd', day);
18        return result_date;
19    }
20    function braapf_jqui_getDate( element, format ) {
21        var date;
22        try {
23            date = $.datepicker.parseDate( format, element.value );
24        } catch( error ) {
25            date = null;
26        }
27        return date;
28    }
29    braapf_init_datepicker = function () {
30        $(".bapf_datepick:not(.bapf_datepick_ready)").each(function() {
31            if( ! jQuery('.bapfdpapcss').length ) {
32                jQuery('body').append('<div class="bapfdpapcss '+$(this).data('template')+'"></div>');
33            }
34            var taxonomy = $(this).data('taxonomy');
35            var $mainElement = $(this).find('.bapf_date_all');
36            var dateFormat = $mainElement.data('dateformat');
37            var minDate = braapf_convert_numeric_to_date($mainElement.data('min'), dateFormat);
38            var maxDate = braapf_convert_numeric_to_date($mainElement.data('max'), dateFormat);
39            var startDate = braapf_convert_numeric_to_date($mainElement.data('start'), dateFormat);
40            var endDate = braapf_convert_numeric_to_date($mainElement.data('end'), dateFormat);
41            var datepicker_data = {
42                dateFormat: dateFormat,
43                minDate: minDate,
44                maxDate: maxDate,
45                changeMonth: $mainElement.data('changemonth'),
46                changeYear: $mainElement.data('changeyear'),
47                beforeShow: function(textbox, instance){
48                    $('.bapfdpapcss').append($('#ui-datepicker-div'));
49                }
50            };
51            $(this).find('.bapf_date_from input').val(startDate);
52            datepicker_data.minDate = minDate;
53            datepicker_data.maxDate = endDate;
54            datepicker_data = berocket_apply_filters('jqui_datepicker_data', datepicker_data, 'from', $(this).find('.bapf_date_from input'));
55            $(this).find('.bapf_date_from input').datepicker(datepicker_data).on( "change", function() {
56                $('.bapf_datepick.bapf_datepick_ready[data-taxonomy="'+taxonomy+'"]').find('.bapf_date_to input').datepicker( "option", "minDate", braapf_jqui_getDate( this, dateFormat ) );
57                braapf_datepicker_same(taxonomy, [$mainElement.find('.bapf_date_from input').val(), $mainElement.find('.bapf_date_to input').val()]);
58                var filter_changed_element = {
59                    element:'#'+$(this).closest('.bapf_sfilter').attr('id'),
60                    parent: 0,
61                    find: '.bapf_body'
62                };
63                berocket_apply_filters('filter_changed_element', filter_changed_element, $(this));
64                berocket_do_action('update_products', 'filter', $(this));
65            });
66            $(this).find('.bapf_date_to input').val(endDate);
67            datepicker_data.minDate = startDate;
68            datepicker_data.maxDate = maxDate;
69            datepicker_data = berocket_apply_filters('jqui_datepicker_data', datepicker_data, 'to', $(this).find('.bapf_date_to input'));
70            $(this).find('.bapf_date_to input').datepicker(datepicker_data).on( "change", function() {
71                $('.bapf_datepick.bapf_datepick_ready[data-taxonomy="'+taxonomy+'"]').find('.bapf_date_from input').datepicker( "option", "maxDate", braapf_jqui_getDate( this, dateFormat ) );
72                braapf_datepicker_same(taxonomy, [$mainElement.find('.bapf_date_from input').val(), $mainElement.find('.bapf_date_to input').val()]);
73                berocket_do_action('update_products', 'filter', $(this));
74            });
75            $(this).addClass('bapf_datepick_ready');
76        });
77    }
78    braapf_datepicker_same = function (taxonomy, values) {
79        $('.bapf_datepick.bapf_datepick_ready[data-taxonomy="'+taxonomy+'"]').each(function() {
80            $(this).find('.bapf_date_from input').val(values[0]);
81            $(this).find('.bapf_date_to input').val(values[1]);
82        });
83    }
84    braapf_convert_date_to_numeric = function (date) {
85        var year = date.getFullYear();
86        var month = date.getMonth() + 1;
87        month = month + "";
88        if( month.length == 1 ) {
89            month = "0"+month;
90        }
91        var day = date.getDate()+"";
92        if( day.length == 1 ) {
93            day = "0"+day;
94        }
95        var numeric = year+""+month+""+day;
96        return numeric;
97    }
98    braapf_grab_single_datepicker = function(single_data, element) {
99        if( element.is('.bapf_datepick.bapf_datepick_ready') && single_data != false ) {
100            var $mainElement = element.find('.bapf_date_all');
101            var minDate = $mainElement.data('min');
102            var maxDate = $mainElement.data('max');
103            var from = element.find('.bapf_date_from input').datepicker( "getDate" );
104            from = braapf_convert_date_to_numeric(from);
105            var from_text = element.find('.bapf_date_from input').val();
106            var to = element.find('.bapf_date_to input').datepicker( "getDate" );
107            to = braapf_convert_date_to_numeric(to);
108            var to_text = element.find('.bapf_date_to input').val();
109            if( from != minDate || to != maxDate ) {
110                single_data.values = [{value:from+'_'+to, html: from_text+' - '+to_text}];
111            }
112        }
113        return single_data;
114    }
115    $(document).on('braapf_unselect braapf_unselect_all', '.bapf_datepick', function(event) {
116        var $mainElement = $(this).find('.bapf_date_all');
117        var dateFormat = $mainElement.data('dateformat');
118        var minDate = braapf_convert_numeric_to_date($mainElement.data('min'), dateFormat);
119        var maxDate = braapf_convert_numeric_to_date($mainElement.data('max'), dateFormat);
120        $(this).find('.bapf_date_from input').val(minDate);
121        $(this).find('.bapf_date_to input').val(maxDate);
122    });
123    berocket_add_filter('braapf_init', braapf_init_datepicker);
124    berocket_add_filter('grab_single_filter_default', braapf_grab_single_datepicker);
125})(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.