PageSourceSearch

https://piersparksailing.org/wp-content/plugins/wpc-variations-radio-buttons/assets/js/frontend.js?ver=3.8.4

js piersparksailing.org collected 2026-09-26 01:13:24 UTC 8,377 bytes, 189 lines download raw bytes

1'use strict';
2
3(function ($) {
4    $(function () {
5        woovr_init();
6    });
7
8    $(document).on('click touch mouseover', '.woovr-variations', function () {
9        $(this).attr('data-click', 1);
10    });
11
12    $(document).on('click touch', '.woovr-variation-radio', function () {
13        var _this = $(this);
14        var _variations = _this.closest('.woovr-variations');
15        var _click = parseInt(_variations.attr('data-click'));
16        var _variations_form = _this.closest('.variations_form');
17
18        woovr_do_select(_this, _variations, _variations_form, _click);
19
20        _variations.find('.woovr-variation-radio').removeClass('woovr-variation-active');
21        _this.addClass('woovr-variation-active').find('input[type="radio"]').prop('checked', true);
22    });
23
24    $(document).on('change', '.woovr-variation-select', function () {
25        var _this = $(this);
26        var _variations = _this.closest('.woovr-variations');
27        var _click = parseInt(_variations.attr('data-click'));
28        var _variations_form = _this.closest('.variations_form');
29        var _selected = $('option:selected', this);
30
31        woovr_do_select(_selected, _variations, _variations_form, _click);
32
33        if (_selected.attr('data-imagesrc') !== '') {
34            _this.closest('.woovr-variation').find('.woovr-variation-image').html('<img src="' + _selected.attr('data-imagesrc') + '"/>');
35        } else {
36            _this.closest('.woovr-variation').find('.woovr-variation-image').html('');
37        }
38
39        _this.closest('.woovr-variation').find('.woovr-variation-price').html(_selected.attr('data-pricehtml'));
40    });
41
42    $(document).on('found_variation', function (e, t) {
43        var variation_id = t['variation_id'];
44        var $variations_default = $(e['target']).find('.woovr-variations-default');
45        var $variations_select = $(e['target']).find('.woovr-variations-select');
46        var $variations_select2 = $(e['target']).find('.woovr-variations-select2');
47        var $variations_ddslick = $(e['target']).find('.woovr-variations-ddslick');
48
49        if ($variations_default.length && !$variations_default.closest('.wpc_variations_form').length) {
50            // radio
51            if (parseInt($variations_default.attr('data-click')) < 1) {
52                $variations_default.find('.woovr-variation-radio[data-id="' + variation_id + '"] input[type="radio"]').prop('checked', true);
53            }
54        }
55
56        if ($variations_select.length && !$variations_select.closest('.wpc_variations_form').length) {
57            // select
58            if (parseInt($variations_select.attr('data-click')) < 1) {
59                $variations_select.find('.woovr-variation-select').val(variation_id).trigger('change');
60            }
61        }
62
63        if ($variations_select2.length && !$variations_select2.closest('.wpc_variations_form').length) {
64            // select2
65            if (parseInt($variations_select2.attr('data-click')) < 1) {
66                $variations_select2.find('.woovr-variation-select').val(variation_id).trigger('change');
67            }
68        }
69
70        if ($variations_ddslick.length && !$variations_ddslick.closest('.wpc_variations_form').length) {
71            // ddslick
72            if (parseInt($variations_ddslick.attr('data-click')) < 1) {
73                var variation_index = $variations_ddslick.find('li:has(.dd-option-value[value="' + variation_id + '"])').index();
74
75                $variations_ddslick.find('.dd-container').ddslick('select', {index: variation_index});
76            }
77        }
78    });
79
80    $(document).on('woosq_loaded', function () {
81        // wpc quick view popup
82        woovr_init();
83    });
84})(jQuery);
85
86function woovr_init() {
87    jQuery('.woovr-variations').each(function () {
88        var _variations = jQuery(this);
89        var _variations_form = jQuery(this).closest('.variations_form');
90        var _select = _variations.find('select');
91
92        if (_variations.hasClass('woovr-variations-ddslick')) {
93            _select.ddslick({
94                width: '100%', onSelected: function (data) {
95                    var _click = parseInt(_variations.attr('data-click'));
96                    var _selected = jQuery(data.original[0].children[data.selectedIndex]);
97
98                    if (!_variations.hasClass('woovr-variations-ddslick-checked-desc')) {
99                        _variations.find('.dd-selected, .dd-option').each(function () {
100                            if (!jQuery(this).find('.dd-desc').length) {
101                                jQuery(this).addClass('dd-option-without-desc');
102                            } else {
103                                jQuery(this).removeClass('dd-option-without-desc');
104                            }
105                        });
106
107                        _variations.addClass('woovr-variations-ddslick-checked-desc');
108                    }
109
110                    woovr_do_select(_selected, _variations, _variations_form, _click);
111                },
112            });
113            _variations.addClass('woovr-variations-ddslick-initialized');
114        } else if (_variations.hasClass('woovr-variations-select2')) {
115            _select.select2({
116                templateResult: woovr_select2_state,
117                width: '100%',
118                containerCssClass: 'wpc-select2-container',
119                dropdownCssClass: 'wpc-select2-dropdown',
120            });
121            _select.trigger('change');
122        } else if (_variations.hasClass('woovr-variations-select')) {
123            _select.trigger('change');
124        } else if (_variations.hasClass('woovr-variations-default')) {
125            _variations.find('input[type="radio"]').each(function () {
126                if (jQuery(this).is(':checked')) {
127                    jQuery(this).trigger('click');
128                }
129            });
130        }
131    });
132}
133
134function woovr_select2_state(state) {
135    if (!state.id) {
136        return state.text;
137    }
138
139    var $state;
140
141    if (jQuery(state.element).attr('data-imagesrc') != '') {
142        $state = jQuery('<span class="image"><img src="' + jQuery(state.element).attr('data-imagesrc') + '"/></span><span class="info"><span>' + state.text + '</span> <span>' + jQuery(state.element).attr('data-description') + '</span></span>');
143    } else {
144        $state = jQuery('<span class="info"><span>' + state.text + '</span> <span>' + jQuery(state.element).attr('data-description') + '</span></span>');
145    }
146
147    return $state;
148}
149
150function woovr_do_select(selected, variations, variations_form, click) {
151    if (click > 0) {
152        // compatible with woobt/woosb/woosg/woofs
153        if (!variations.closest('.wpc_variations_form').length) {
154            if (selected.attr('data-attrs') !== '') {
155                var attrs = jQuery.parseJSON(selected.attr('data-attrs'));
156
157                if (attrs !== null) {
158                    for (var key in attrs) {
159                        var attr = key;
160
161                        if (key.substr(0, 9) !== 'attribute') {
162                            attr = 'attribute_' + key;
163                        }
164
165                        if (jQuery.isFunction(jQuery.escapeSelector)) {
166                            if (!variations_form.find('select[name="' + attr + '"] option[value="' + jQuery.escapeSelector(attrs[key]) + '"]').length) {
167                                variations_form.find('select[name="' + attr + '"]').append('<option value="' + attrs[key] + '">' + attrs[key] + '</option>');
168                            }
169                        } else {
170                            if (!variations_form.find('select[name="' + attr + '"] option[value="' + attrs[key] + '"]').length) {
171                                variations_form.find('select[name="' + attr + '"]').append('<option value="' + attrs[key] + '">' + attrs[key] + '</option>');
172                            }
173                        }
174
175                        variations_form.find('select[name="' + attr + '"]').val(attrs[key]);
176                    }
177                }
178            } else {
179                variations_form.find('.reset_variations').trigger('click');
180            }
181
182            variations_form.find('select:not(.woovr-variation-select)').trigger('change');
183        }
184
185        jQuery(document).trigger('woovr_selected_on_click', [selected, variations, variations_form]);
186    }
187
188    jQuery(document).trigger('woovr_selected', [selected, variations, variations_form]);
189}

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.