PageSourceSearch

https://www.thetonyrobbinsfoundation.org/wp-content/plugins/vivid-brigades-map/js/vivid-map.js?ver=1

js thetonyrobbinsfoundation.org collected 2026-10-02 12:16:19 UTC 8,903 bytes, 245 lines download raw bytes

1jQuery(function ($) {
2    $('#bh-sl-map-container').storeLocator({
3        'dataType': 'json',
4        'dataLocation': ajaxUrl.ajax_url + '?action=brigade_markers&type=json',
5        'dragSearch': true,
6        'listTemplateID': 'location-list-description',
7        'infowindowTemplateID': 'location-infowindows',
8        'defaultLoc': true,
9        'defaultLat': '32.715736',
10        'defaultLng': '-117.161087',
11        'storeLimit': 10000000,
12        'mapSettings': {
13            zoom: 12,
14            minZoom: 7,
15            maxZoom: 22,
16            mapTypeId: google.maps.MapTypeId.ROADMAP,
17            'styles': [{
18                stylers: [
19                    {hue: "#c9ecff"},
20                    {saturation: -20}
21                ]
22            }, {
23                featureType: "road",
24                elementType: "geometry",
25                stylers: [
26                    {lightness: 100},
27                    {visibility: "simplified"}
28                ]
29            }, {
30                featureType: "road",
31                elementType: "labels",
32                stylers: [
33                    {visibility: "off"}
34                ]
35            }],
36            suppressInfoWindows: true
37        },
38        'distanceAlert': -1,
39        'fullMapStar': true,
40        'disableAlphaMarkers': true,
41        'listColor2': '#ffffff',
42        'markerImg': scriptParams2,
43        'selectedMarkerImg': scriptParams3,
44        'markerDim': {height: 49, width: 28},
45        'selectedMarkerImgDim': {height: 49, width: 28},
46        'callbackMarkerClick': MarkerClick,
47        'callbackListClick': ListClick,
48        'callbackSuccess': hideLoadingIndicator,
49        'callbackNoResults': hideLoadingIndicator,
50        'callbackNotify': hideLoadingIndicator,
51    });
52
53    function hideLoadingIndicator() {
54        console.log('hideLoadingIndicator is RUNNING=>>>');
55        $('#loading-indicator').hide();
56        $('#loading-indicator-initial').hide();
57    }
58
59    function MarkerClick(marker, markerId, $selectedLocation, $markerPid) {
60        console.log('MarkerClick is RUNNING=>>>', marker, markerId, $selectedLocation, $markerPid);
61
62        showBrigadeInformation(markerId);
63    }
64
65    function ListClick(markerId, $selectedLocation) {
66        console.log('ListClick is RUNNING=>>>', markerId, $selectedLocation);
67
68        showBrigadeInformation(markerId);
69    }
70
71    function showBrigadeInformation(markerId) {
72        console.log('showBrigadeInformation is RUNNING=>>>', markerId);
73
74        var mid;
75        var markerSelect;
76        var name;
77        var state;
78        var city;
79        var address;
80        var postal;
81        var maddln2;
82        var enrolled;
83        var slug;
84
85        markerSelect = $("[data-markerid='" + markerId + "']");
86
87        mid      = markerSelect.data("id");
88        name     = markerSelect.data("name");
89        address  = markerSelect.data("address");
90        city     = markerSelect.data("city");
91        state    = markerSelect.data("state");
92        postal   = markerSelect.data("postal");
93        maddln2  = city + ', ' + state + ' ' + postal;
94        enrolled = markerSelect.data("enrolled");
95        slug     = markerSelect.data("slug");
96
97        setClickHandlerToActionBrigadeButton(mid, enrolled, markerSelect);
98
99        var $brigadeLink = $('<a href="/brigade/' + slug + '" target="_blank">' + name + '</a>');
100
101        var $brigadeLink2 = $('<a class="btn btn-default" target="_blank" href="/brigade/' + slug + '">VIEW BRIGADE</a>');
102        //var $brigadeLink2 = $('<a id="action-brigade" class="btn btn-default" type="button href="/brigade/' + slug + '">VIEW BRIGADE</a>');
103       
104        var $markerInfo  = $('#markerinfo');
105
106        $markerInfo.show();
107        $markerInfo.find('.markname').html($brigadeLink);
108        $markerInfo.find('.markname2').html($brigadeLink2);
109        $markerInfo.find('.madd').html(address);
110        $markerInfo.find('.maddln2').html(maddln2);
111
112        setMembersCounter(markerSelect);
113    }
114
115    function setClickHandlerToActionBrigadeButton(mid, enrolled, markerSelect) {
116        console.log('setClickHandlerToActionBrigadeButton is RUNNING=>>>', mid, enrolled, markerSelect);
117
118        var actionText        = enrolled ? "LEAVE BRIGADE" : "JOIN BR
118IGADE";
119        var $messageContainer = $("#vivid-message-container");
120        var $actionBrigade    = $('#action-brigade');
121
122        $actionBrigade.text(actionText);
123        $actionBrigade.unbind('click');
124        $actionBrigade.click(function (e) {
125            $actionBrigade.html('<i class="fa fa-spinner fa-pulse"></i>');
126            $actionBrigade.unbind('click');
127            jQuery.ajax({
128                url: ajaxUrl.ajax_url,
129                type: 'post',
130                data: {
131                    action: enrolled ? 'leave_brigade' : 'join_brigade',
132                    type: 'json',
133                    brigade: mid
134                },
135                success: function (response) {
136
137                    console.warn('setClickHandlerToActionBrigadeButton   THIS RESPONSE=>>>>', response);
138
139                    response = JSON.parse(response);
140                    if (undefined !== response.success) {
141                        var action_text = enrolled ? "You've sucessfully left the Brigade." : "You've sucessfully joined a Brigade.";
142                        $messageContainer
143                            .addClass("alert alert-success")
144                            .find("p")
145                            .text(action_text);
146                        $messageContainer
147                            .slideDown(1000)
148                            .delay(1500)
149                            .slideUp(2000);
150
151                        markerSelect.data("enrolled", !enrolled);
152                        markerSelect.attr('data-enrolled', !enrolled);
153
154                        var increment     = !enrolled ? 1 : -1;
155                        var members_count = markerSelect.data("members_count");
156
157                        markerSelect.data("members_count", members_count + increment);
158                        markerSelect.attr('data-members_count', members_count + increment);
159
160                        setMembersCounter(markerSelect);
161                        setClickHandlerToActionBrigadeButton(mid, !enrolled, markerSelect);
162                    } else if (undefined !== response.error) {
163                        $messageContainer
164                            .addClass("alert alert-danger")
165                            .find("p")
166                            .text("You must be logged in to perfom this action.");
167                        $messageContainer
168                            .slideDown(1000)
169                            .delay(1500)
170                            .slideUp(2000);
171                    }
172                }
173            });
174        });
175    }
176
177    function setMembersCounter(markerSelect) {
178        var members_count = markerSelect.data("members_count");
179        var members_count_text = members_count == 1 ? members_count + " MEMBER" : members_count + " MEMBERS";
180
181        $('#membersCount').text(members_count_text);
182    }
183
184    function fixInfoWindow() {
185        var proto  = google.maps.InfoWindow.prototype,
186            open   = proto.open;
187        proto.open = function (map, anchor, please) {
188            if (please) {
189                return open.apply(this, arguments);
190            }
191        }
192    }
193
194    fixInfoWindow();
195
196    $("#bh-sl-user-location").submit(function (e) {
197        $(".bh-sl-loc-list").show();
198    });
199
200    $(".brigade-see-more-bar").click(function(e) {
201        console.log('.brigade-see-more-bar  CLICK=>>>>', e);
202        var $brigadesListContainer = $("#brigades-list-container");
203        var $seeMoreBar = $('.brigade-see-more-bar').find('p');
204
205        if ($brigadesListContainer.hasClass('brigade-expanded')) {
206            $('html,body').animate({
207                scrollTop: $('.bh-sl-map-container').offset().top
208            }, 2000);
209            $brigadesListContainer
210                .removeClass('brigade-expanded')
211                .scrollTop(0)
212                .animate({
213                    'max-height': "375px"
214                }, 2500);
215
216            $seeMoreBar.text("SEE MORE BRIGADES");
217
218
219        } else {
220            var count = $("#brigades-list").find("li").length;
221            console.log(count);
222            var maxHeight = count < 10 ? count * 75 : 640;
223            console.log(maxHeight);
224            $brigadesListContainer
225                .addClass('brigade-expanded')
226                .animate({
227                    'max-height': maxHeight + "px"
228                }, 2500);
229
230            $seeMoreBar.text("SEE LESS BRIGADES");
231        }
232    });
233
234    $("#brigades-list").on('DOMSubtreeModified', function () {
235        var count = $(this).find("li").length;
236        if (count <= 5) {
237            $(".brigade-see-more-bar").hide();
238        } else {
239            $(".brigade-see-more-bar").show();
240        }
241    });
242});
243
244
245

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.