1 2if( typeof awe == 'undefined') { var awe = []; } 3 4// GLOBAL FUNCTIONS 5function awesome_weather_show_form( awe_widget_id ) 6{ 7 awe_stop_loading( awe_widget_id ); 8 jQuery('#' + awe_widget_id + ' .awesome-weather-form').slideDown(); 9 jQuery('#' + awe_widget_id + ' .awesome-weather-form input').focus(); 10} 11 12function awe_stop_loading( awe_widget_id ) 13{ 14 jQuery('#' + awe_widget_id + ' .awe-searching').hide(); 15} 16 17// 2.0 - AJAX LOADING 18function awe_ajax_load( weather ) 19{ 20 awe['awe_weather_widget_json_' + weather.id] = weather; 21 22 var widget_obj = weather; 23 widget_obj.action ='awesome_weather_refresh'; 24 jQuery.post(widget_obj.ajaxurl, widget_obj, function( response ) 25 { 26 jQuery('.awe-ajax-' + widget_obj.id).html( response ); 27 }); 28} 29 30 31// DOCUMENT LOAD 32jQuery(document).ready(function() 33{ 34 35 // CHANGE LOCATION FORM 36 jQuery(document).on('submit', '.awesome-weather-form', function( e ) 37 { 38 e.preventDefault(); 39 40 var this_form = jQuery(this); 41 var awe_widget_id = this_form.data('widget-id'); 42 43 if( jQuery('#awe-ajax-' + awe_widget_id).length ) 44 { 45 var current_widget = jQuery('#awe-ajax-' + awe_widget_id); 46 } 47 else 48 { 49 var current_widget = jQuery('#' + awe_widget_id); 50 } 51 52 var user_location = jQuery(this_form).find('.awesome-weather-form-user-location').val(); 53 if( user_location ) 54 { 55 // SHOW LOADING 56 current_widget.find('.awe-searching').fadeIn(); 57 58 var widget_obj = awe['awe_weather_widget_json_' + awe_widget_id]; 59 widget_obj.latlng = "0"; 60 widget_obj.owm_city_id = "0"; 61 widget_obj.user_location = user_location; 62 63 // PASS WEATHER OBJECT BACK THROUGH THE SYSTEM 64 jQuery.post(widget_obj.ajaxurl, widget_obj, function( response ) 65 { 66 if( response == "false" || response == false || response == "" || (response.indexOf('awesome-weather-error') >= 0) ) 67 { 68 if( response.indexOf('awesome-weather-error') >= 0 ) 69 { 70 current_widget.find('.awesome-weather-city-error').replaceWith( response.replace('awesome-weather-error','awesome-weather-city-error') ); 71 current_widget.find('.awesome-weather-city-error').fadeIn(); 72 } 73 else 74 { 75 current_widget.find('.awesome-weather-error').fadeIn(); 76 } 77 } 78 else 79 { 80 // SPIT BACK THE RESULTS IN THE CONTAINER 81 current_widget.replaceWith( response ); 82 current_widget.find('.awesome-weather-error').hide(); 83 } 84 85 // STOP LOADING 86 awe_stop_loading( awe_widget_id ); 87 }); 88 } 89 90 e.preventDefault(); 91 }); 92 93 94 // WEATHER TRIGGER FROM CLICK 95 jQuery(document).on('click', '.awe-weather-trigger a', function(e) 96 { 97 e.preventDefault(); 98 99 var this_btn = jQuery(this); 100 var awe_widget_id = this_btn.data('widget-id'); 101 102 if( jQuery('#awe-ajax-' + awe_widget_id).length ) 103 { 104 var current_widget = jQuery('#awe-ajax-' + awe_widget_id); 105 } 106 else 107 { 108 var current_widget = jQuery('#' + awe_widget_id); 109 } 110 111 // HIDE WEATHER BUBBLE 112 current_widget.find('.awe-weather-bubble').hide(); 113 114 if( jQuery('#' + awe_widget_id + ' .awesome-weather-form').is(":visible") ) 115 { 116 jQuery('#' + awe_widget_id + ' .awesome-weather-form').slideUp(400, function() { 117 jQuery('#' + awe_widget_id + ' .awesome-weather-form .awesome-weather-error').hide(); 118 }); 119 return false; 120 } 121 122 // GET OBJECT OF WEATHER 123 var widget_obj = awe['awe_weather_widget_json_' + awe_widget_id]; 124 125 // JUST SHOW FORM 126 var show_form_first = false; 127 128 // WIDGET ATTRIBUTE: skip_geolocate 129 if( widget_obj.skip_geolocate !== 'undefined' ) 130 { 131 if( widget_obj.skip_geolocate ) { show_form_first = true; } 132 } 133 134 if( show_form_first ) 135 { 136 awesome_weather_show_form( awe_widget_id ); 137 return false; 138 } 139 140 // CHECK IF HTML5 GEOLOCATION IS AVAILABLE 141 if( navigator.geolocation ) 142 { 143 var geo_options = { enableHighAccuracy: true, timeout: 5000 }; 144 navigator.geolocation.getCurrentPosition(awesome_weather_set_location, awesome_weather_show_form_to_user, geo_options ); 145 this_btn.addClass('awe-spin'); 146 } 147 else 148 { 149 // NO GEO LOCATION, SHOW FORM 150 awesome_weather_show_form( awe_widget_id ); 151 } 152 153 function awesome_weather_show_form_to_user() 154 { 155 awesome_weather_show_form( awe_widget_id ); 156 } 157 158 function awesome_weather_set_location( position ) 159 { 160 // SAVE LOCATION AND REFRESH 161 var widget_obj = awe['awe_weather_widget_json_' + awe_widget_id]; 162 163 // ADD LAT/LNG TO NEW WEATHER OBJECT 164 widget_obj.latlng = position.coords.latitude + "," + position.coords.longitude; 165 widget_obj.geotriggered = "0"; 166 widget_obj.owm_city_id = "0"; 167 168 // PASS WEATHER OBJECT BACK THROUGH THE SYSTEM 169 jQuery.post(widget_obj.ajaxurl, widget_obj, function( response ) 170 { 171 // SPIT BACK THE RESULTS IN THE CONTAINER 172 current_widget.replaceWith( response ); 173 awe_stop_loading( awe_widget_id ); 174 }); 175 } 176 177 return false;
178 }); 179});
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.