Changeset 3329796
- Timestamp:
- 07/17/2025 03:12:30 PM (9 months ago)
- Location:
- box-tracker-portal
- Files:
-
- 14 edited
- 10 copied
-
tags/1.1.6 (copied) (copied from box-tracker-portal/trunk)
-
tags/1.1.6/box-tracker-portal.php (copied) (copied from box-tracker-portal/trunk/box-tracker-portal.php) (1 diff)
-
tags/1.1.6/includes/ajax/ccard-page.php (copied) (copied from box-tracker-portal/trunk/includes/ajax/ccard-page.php)
-
tags/1.1.6/includes/ajax/jobsite-page.php (copied) (copied from box-tracker-portal/trunk/includes/ajax/jobsite-page.php) (2 diffs)
-
tags/1.1.6/includes/ajax/payment-page.php (copied) (copied from box-tracker-portal/trunk/includes/ajax/payment-page.php)
-
tags/1.1.6/includes/ajax/profile-page.php (copied) (copied from box-tracker-portal/trunk/includes/ajax/profile-page.php)
-
tags/1.1.6/includes/ajax/reports-page.php (modified) (2 diffs)
-
tags/1.1.6/includes/ajax/workorder-page.php (copied) (copied from box-tracker-portal/trunk/includes/ajax/workorder-page.php) (1 diff)
-
tags/1.1.6/includes/base/activate.php (copied) (copied from box-tracker-portal/trunk/includes/base/activate.php)
-
tags/1.1.6/includes/base/ajax-utility.php (modified) (1 diff)
-
tags/1.1.6/includes/base/enqueue.php (modified) (2 diffs)
-
tags/1.1.6/includes/base/server-calls.php (copied) (copied from box-tracker-portal/trunk/includes/base/server-calls.php)
-
tags/1.1.6/javascript/address-validation-script.js (modified) (7 diffs)
-
tags/1.1.6/javascript/dynamic-templates/add-edit-jobsite-page.js (modified) (1 diff)
-
tags/1.1.6/readme.txt (copied) (copied from box-tracker-portal/trunk/readme.txt) (1 diff)
-
trunk/box-tracker-portal.php (modified) (1 diff)
-
trunk/includes/ajax/jobsite-page.php (modified) (2 diffs)
-
trunk/includes/ajax/reports-page.php (modified) (2 diffs)
-
trunk/includes/ajax/workorder-page.php (modified) (1 diff)
-
trunk/includes/base/ajax-utility.php (modified) (1 diff)
-
trunk/includes/base/enqueue.php (modified) (2 diffs)
-
trunk/javascript/address-validation-script.js (modified) (7 diffs)
-
trunk/javascript/dynamic-templates/add-edit-jobsite-page.js (modified) (1 diff)
-
trunk/readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
box-tracker-portal/tags/1.1.6/box-tracker-portal.php
r3278350 r3329796 8 8 Plugin URI: https://www.dumpster.software/api/word-press-plugin.html 9 9 Description: The Box Tracker Portal plugin facilitates online ordering for waste haulers. Customers will be able to book and manage work orders, manage job sites, view reporting and manage their transactions. Using the Web API tab on Box Tracker's Preferences app, you can prevent over booking, control which days of the week online orders will be accepted, and prevent same day ordering. For more information about Box Tracker or this plugin please contact support at 603 546 6751 option 2 or support@cairnapps.com 10 Version: 1.1. 510 Version: 1.1.6 11 11 Author: Cairn Applications Inc 12 12 Author URI: https://www.cloud-computing.rocks/ -
box-tracker-portal/tags/1.1.6/includes/ajax/jobsite-page.php
r3278341 r3329796 160 160 } 161 161 162 $b0xTPortal_jobsite_name = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->JobName); 162 $b0xTPortal_validated = "0"; 163 $b0xTPortal_jobsite_name = ""; 164 if(isset($b0xTPortal_jobsite_data->jobSiteObj->Validated)) { $b0xTPortal_validated = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->Validated); } 165 if(isset($b0xTPortal_jobsite_data->jobSiteObj->JobName)) { $b0xTPortal_jobsite_name = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->JobName); } 166 $b0xTPortal_jobsite_validated = is_numeric($b0xTPortal_validated) ? $b0xTPortal_validated : "0"; 167 163 168 $b0xTPortal_jobsite_zip = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->Zip); 164 169 $b0xTPortal_jobsite_county = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->County); … … 171 176 $b0xTPortal_jobsite_billing_note = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->BillingNote); 172 177 $b0xTPortal_jobsite_leed = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->LEED); 173 $b0xTPortal_validated = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->Validated);174 $b0xTPortal_jobsite_validated = is_numeric($b0xTPortal_validated) ? $b0xTPortal_validated : "0";175 178 176 179 $b0xTPortal_jobsite_required_fields_for_eval = array(); -
box-tracker-portal/tags/1.1.6/includes/ajax/reports-page.php
r2763253 r3329796 133 133 134 134 $b0xTPortal_report_params = array(); 135 if( $_POST["b0xTPortal_report_start_date"]) {135 if(isset($_POST["b0xTPortal_report_start_date"])) { 136 136 $b0xTPortal_report_params["startDate"] = sanitize_text_field($_POST["b0xTPortal_report_start_date"]); 137 137 } 138 138 139 if( $_POST["b0xTPortal_report_end_date"]) {139 if(isset($_POST["b0xTPortal_report_end_date"])) { 140 140 $b0xTPortal_report_params["endDate"] = sanitize_text_field($_POST["b0xTPortal_report_end_date"]); 141 141 } 142 142 143 if( $_POST["b0xTPortal_report_delivery_date"]) {143 if(isset($_POST["b0xTPortal_report_delivery_date"])) { 144 144 $b0xTPortal_report_params["deliveryDate"] = sanitize_text_field($_POST["b0xTPortal_report_delivery_date"]); 145 145 } 146 146 147 if( $_POST["b0xTPortal_report_month"]) {147 if(isset($_POST["b0xTPortal_report_month"])) { 148 148 $b0xTPortal_report_params["month"] = sanitize_text_field($_POST["b0xTPortal_report_month"]); 149 149 } 150 150 151 if( $_POST["b0xTPortal_report_year"]) {151 if(isset($_POST["b0xTPortal_report_year"])) { 152 152 $b0xTPortal_report_params["year"] = sanitize_text_field($_POST["b0xTPortal_report_year"]); 153 153 } 154 154 155 if( $_POST["b0xTPortal_report_jobsite_id"]) {155 if(isset($_POST["b0xTPortal_report_jobsite_id"])) { 156 156 $b0xTPortal_report_params["jobSite"] = sanitize_text_field($_POST["b0xTPortal_report_jobsite_id"]); 157 157 } 158 158 159 if( $_POST["b0xTPortal_report_wo_type"]) {159 if(isset($_POST["b0xTPortal_report_wo_type"])) { 160 160 $b0xTPortal_report_params["woType"] = sanitize_text_field($_POST["b0xTPortal_report_wo_type"]); 161 161 } 162 162 163 if( $_POST["b0xTPortal_report_check_boxes"]&& is_array($_POST["b0xTPortal_report_check_boxes"])) {163 if(isset($_POST["b0xTPortal_report_check_boxes"]) && is_array($_POST["b0xTPortal_report_check_boxes"])) { 164 164 $b0xTPortal_check_boxes = $this->b0xTPortal_sanitize_array_values($_POST["b0xTPortal_report_check_boxes"]); 165 165 … … 171 171 } 172 172 173 if( $_POST["b0xTPortal_report_sort_by"]) {173 if(isset($_POST["b0xTPortal_report_sort_by"])) { 174 174 $b0xTPortal_report_params["sortBy"] = sanitize_text_field($_POST["b0xTPortal_report_sort_by"]); 175 175 } 176 176 177 if( $_POST["b0xTPortal_report_filter_by"]) {177 if(isset($_POST["b0xTPortal_report_filter_by"])) { 178 178 $b0xTPortal_report_params["filterBy"] = sanitize_text_field($_POST["b0xTPortal_report_filter_by"]); 179 179 } 180 180 181 if( $_POST["b0xTPortal_report_list_by"]) {181 if(isset($_POST["b0xTPortal_report_list_by"])) { 182 182 $b0xTPortal_report_params["listBy"] = sanitize_text_field($_POST["b0xTPortal_report_list_by"]); 183 183 } -
box-tracker-portal/tags/1.1.6/includes/ajax/workorder-page.php
r3278341 r3329796 30 30 $b0xTPortal_username = sanitize_text_field($_SESSION['b0xTPortal_session']['username']); 31 31 $b0xTPortal_session_key_customer = sanitize_text_field($_SESSION['b0xTPortal_session']['session_key']); 32 $b0xTPortal_search_field = sanitize_text_field($_POST["b0xTPortal_search"]); 32 33 $b0xTPortal_search_field = ""; 34 if(isset($_POST["b0xTPortal_search"])) { $b0xTPortal_search_field = sanitize_text_field($_POST["b0xTPortal_search"]); } 33 35 34 36 if($b0xTPortal_username == "" || $b0xTPortal_session_key_customer == "") { -
box-tracker-portal/tags/1.1.6/includes/base/ajax-utility.php
r2763253 r3329796 98 98 99 99 foreach ($b0xTPortal_required_fields as $b0xTPortal_field_value) { 100 if( $b0xTPortal_fields_map[$b0xTPortal_field_value]) {100 if(isset($b0xTPortal_fields_map[$b0xTPortal_field_value])) { 101 101 array_push($b0xTPortal_required_fields_mapped, $b0xTPortal_fields_map[$b0xTPortal_field_value]); 102 102 } -
box-tracker-portal/tags/1.1.6/includes/base/enqueue.php
r3247411 r3329796 30 30 wp_enqueue_style('b0xTPortal-front-house-style', $this->b0xTPortal_plugin_url.'styles/front-house-style.css', '', '', 'all'); 31 31 wp_enqueue_style('b0xTPortal-jquery-ui-style', "https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/themes/base/jquery-ui.css", '', '', 'all'); 32 wp_enqueue_style('b0xTPortal-google-maps-icon-style', "https://fonts.googleapis.com/icon?family=Material+Icons", '', '', 'all'); 32 33 33 34 wp_enqueue_script('b0xTPortal-login-page', $this->b0xTPortal_plugin_url.'javascript/dynamic-templates/login-page.js', '', '', 'all'); … … 45 46 46 47 $b0xT_google_api_key = sanitize_text_field(get_option('b0xT_google_api_key')); 47 wp_enqueue_script('b0xTPortal-google-maps', "https://maps.googleapis.com/maps/api/js?key=$b0xT_google_api_key&l ibraries=places", '', '', 'all');48 wp_enqueue_script('b0xTPortal-google-maps', "https://maps.googleapis.com/maps/api/js?key=$b0xT_google_api_key&loading=async&libraries=places", '', '', 'all'); 48 49 wp_enqueue_script('b0xTPortal-google-charts', "https://www.gstatic.com/charts/loader.js", '', '', 'all'); 49 50 wp_enqueue_script('b0xTPortal-dialog-box-script', $this->b0xTPortal_plugin_url.'javascript/dialog-box-script.js', '', '', 'all'); -
box-tracker-portal/tags/1.1.6/javascript/address-validation-script.js
r2763253 r3329796 2 2 var b0xTPortal_address_data = this; 3 3 b0xTPortal_address_data.config = b0xTPortal_arg_config; 4 b0xTPortal_address_data.random_number = Math.floor(Math.random() * 1000000); 4 5 5 6 b0xTPortal_address_data.validated = "0"; 6 7 7 var b0xTPortal_place_auto_complete; 8 9 this._b0xTPortal_init = function() { 10 //setup google places address autocomplete 11 var b0xTPortal_search = b0xTPortal_address_data.config.searchCtrl; 12 b0xTPortal_place_auto_complete = new google.maps.places.Autocomplete( 8 this._b0xTPortal_init = async function() { 9 let b0xTPortal_waitForGoogle = async function() { 10 return new Promise(function(b0xTPortal_resolve) { 11 async function b0xTPortal_isItReady() { 12 if(typeof(google.maps.places) !== "undefined") { 13 try { //make a call to make sure the api is included in the key. 14 //this call is not included in billing because the get details never 15 //never gets called. 16 const b0xTPortal_token = new google.maps.places.AutocompleteSessionToken(); 17 const b0xTPortal_suggestions = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions({ 18 sessionToken: b0xTPortal_token, 19 input: "588", 20 language: "en-US", 21 includedRegionCodes: ["us", "ca"] 22 }); 23 } catch(e) { 24 b0xTPortal_resolve(1); 25 } 26 b0xTPortal_resolve(0); 27 } else { 28 setTimeout(b0xTPortal_isItReady, 50); 29 } 30 } 31 b0xTPortal_isItReady(); 32 }); 33 }; 34 35 let b0xTPortal_legacy_check = await b0xTPortal_waitForGoogle(); 36 37 if(b0xTPortal_legacy_check) { 38 b0xTPortal_address_data._b0xTPortal_init_legacy(); 39 return; 40 } 41 42 let b0xTPortal_address_suggestion_wrap = document.createElement("div"); 43 b0xTPortal_address_suggestion_wrap.style.position = "absolute"; 44 b0xTPortal_address_suggestion_wrap.style.marginTop = "1px"; 45 b0xTPortal_address_suggestion_wrap.style.borderRadius = "1px"; 46 b0xTPortal_address_suggestion_wrap.style.backgroundColor = "#ffffff"; 47 b0xTPortal_address_suggestion_wrap.style.zIndex = 1; 48 49 //allow developers to style it 50 b0xTPortal_address_suggestion_wrap.setAttribute("class", "b0xTPortal_address_suggestion_wrap"); 51 52 b0xTPortal_address_data.address_suggestion_wrap = b0xTPortal_address_suggestion_wrap; 53 b0xTPortal_address_data.config.searchCtrl.after(b0xTPortal_address_suggestion_wrap); 54 b0xTPortal_address_data.config.searchCtrl.setAttribute("placeholder", "Search Address"); 55 56 //setup event listensers on fields 57 b0xTPortal_address_data.config.searchCtrl.addEventListener("keyup", function(b0xTPortal_e) { 58 if(b0xTPortal_e.key != "ArrowDown" && b0xTPortal_e.key != "ArrowUp" && b0xTPortal_e.key != "ArrowLeft" && b0xTPortal_e.key != "ArrowRight" && b0xTPortal_e.key != "Enter") { 59 clearTimeout(b0xTPortal_address_data.searchTimeOut); 60 b0xTPortal_address_data.searchTimeOut = setTimeout(function() { 61 if(!String(b0xTPortal_address_data.config.searchCtrl.value).trim()) { 62 b0xTPortal_address_data.address_suggestion_wrap.innerHTML = ""; 63 b0xTPortal_address_data.address_suggestion_wrap.style.boxShadow = "none"; 64 return; 65 } 66 67 //if we are using the search bar to act as the address bar aswell. then trigger the address changed 68 if(b0xTPortal_address_data.config.addressCtrl && (b0xTPortal_address_data.config.addressCtrl == b0xTPortal_address_data.config.searchCtrl)) { 69 b0xTPortal_address_data._b0xTPortal_address_changed(); 70 } 71 72 b0xTPortal_address_data._b0xTPortal_get_suggestions(b0xTPortal_address_data.config.searchCtrl.value); 73 b0xTPortal_address_data.address_suggestion_wrap.style.boxShadow = "0px 0px 4px 1px #d2d2d2"; 74 }, 500); 75 } 76 }); 77 78 b0xTPortal_address_data.config.searchCtrl.addEventListener("keydown", function(b0xTPortal_e) { 79 let b0xTPortal_address_suggestions_wrap = document.getElementById("b0xTPortal_"+b0xTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 80 if(!b0xTPortal_address_suggestions_wrap) { return; } 81 82 let b0xTPortal_selected = function(b0xTPortal_argDiv) { 83 b0xTPortal_argDiv.parentElement.style.color = "#0174ab"; 84 b0xTPortal_argDiv.parentElement.style.backgroundColor = "#dddddd"; 85 b0xTPortal_address_data.config.searchCtrl.value = b0xTPortal_argDiv.valHTML; 86 }; 87 88 let b0xTPortal_unSelected = function(b0xTPortal_argDiv) { 89 b0xTPortal_argDiv.parentElement.style.removeProperty("color"); 90 b0xTPortal_argDiv.parentElement.style.removeProperty("background-color"); 91 }; 92 93 if(b0xTPortal_e.key == "ArrowDown" || b0xTPortal_e.key == "ArrowUp" || b0xTPortal_e.key == "Enter") { 94 let b0xTPortal_child_wrappers = Array.from(b0xTPortal_address_suggestions_wrap.children); 95 96 if(b0xTPortal_e.key == "ArrowDown" || b0xTPortal_e.key == "ArrowUp") { 97 clearTimeout(b0xTPortal_address_data.cursorTimeout); 98 b0xTPortal_child_wrappers.forEach(function(b0xTPortal_argDiv) { 99 b0xTPortal_unSelected(b0xTPortal_argDiv.children[0]); 100 }); 101 102 if(String(b0xTPortal_address_suggestions_wrap.keyIndex) == "") { 103 b0xTPortal_address_suggestions_wrap.keyIndex = -1; 104 } 105 106 if(b0xTPortal_e.key == "ArrowDown") { 107 if(b0xTPortal_address_suggestions_wrap.keyIndex < b0xTPortal_child_wrappers.length) { 108 b0xTPortal_address_suggestions_wrap.keyIndex++; 109 } 110 111 if(b0xTPortal_address_suggestions_wrap.keyIndex == b0xTPortal_child_wrappers.length) { 112 b0xTPortal_address_suggestions_wrap.keyIndex = -1; 113 } 114 } else { 115 if(b0xTPortal_address_suggestions_wrap.keyIndex >= -1) { 116 b0xTPortal_address_suggestions_wrap.keyIndex--; 117 } 118 119 if(b0xTPortal_address_suggestions_wrap.keyIndex == -2) { 120 b0xTPortal_address_suggestions_wrap.keyIndex = b0xTPortal_child_wrappers.length - 1; 121 } 122 } 123 124 if(b0xTPortal_child_wrappers[b0xTPortal_address_suggestions_wrap.keyIndex]) { 125 let b0xTPortal_nextDiv = b0xTPortal_child_wrappers[b0xTPortal_address_suggestions_wrap.keyIndex].children[0]; 126 b0xTPortal_selected(b0xTPortal_nextDiv); 127 } else { 128 b0xTPortal_address_data.config.searchCtrl.value = b0xTPortal_address_suggestions_wrap.keyOrgVal; 129 } 130 131 //for smooth transition 132 b0xTPortal_address_data.config.searchCtrl.style.caretColor = 'transparent'; 133 b0xTPortal_address_data.cursorTimeout = setTimeout(function() { 134 let b0xTPortal_valLength = b0xTPortal_address_data.config.searchCtrl.value.length; 135 b0xTPortal_address_data.config.searchCtrl.setSelectionRange(b0xTPortal_valLength, b0xTPortal_valLength); 136 b0xTPortal_address_data.config.searchCtrl.style.removeProperty("caret-color"); 137 }, 10); 138 } else if(b0xTPortal_e.key == "Enter") { 139 if(b0xTPortal_child_wrappers[b0xTPortal_address_suggestions_wrap.keyIndex]) { 140 let b0xTPortal_nextDiv = b0xTPortal_child_wrappers[b0xTPortal_address_suggestions_wrap.keyIndex].children[0]; 141 b0xTPortal_nextDiv.click(); 142 b0xTPortal_address_data.config.searchCtrl.blur(); 143 } 144 } 145 } 146 }); 147 148 b0xTPortal_address_data.config.searchCtrl.addEventListener("focus", function(b0xTPortal_e) { 149 clearTimeout(b0xTPortal_address_data.searchTimeOut); 150 b0xTPortal_address_data.searchTimeOut = setTimeout(function() { 151 if(!String(b0xTPortal_address_data.config.searchCtrl.value).trim()) { return; } 152 b0xTPortal_address_data._b0xTPortal_get_suggestions(b0xTPortal_address_data.config.searchCtrl.value); 153 b0xTPortal_address_data.address_suggestion_wrap.style.boxShadow = "0px 0px 4px 1px #d2d2d2"; 154 }, 500); 155 }); 156 157 b0xTPortal_address_data.config.searchCtrl.addEventListener("blur", function(b0xTPortal_e) { 158 clearTimeout(b0xTPortal_address_data.blurTimeOut); 159 b0xTPortal_address_data.blurTimeOut = setTimeout(function() { 160 b0xTPortal_address_data.address_suggestion_wrap.innerHTML = ""; 161 b0xTPortal_address_data.address_suggestion_wrap.style.boxShadow = "none"; 162 }, 500); 163 }); 164 165 //if we are not using the search bar to act as the address bar, then set an onchange handler. Otherwise skip it 166 if(b0xTPortal_address_data.config.addressCtrl && (b0xTPortal_address_data.config.addressCtrl != b0xTPortal_address_data.config.searchCtrl)) { 167 b0xTPortal_address_data.config.addressCtrl = b0xTPortal_address_data._b0xTPortal_address_changed; 168 } 169 170 b0xTPortal_address_data.config.cityCtrl.onchange = b0xTPortal_address_data._b0xTPortal_address_changed; 171 b0xTPortal_address_data.config.stateCtrl.onchange = b0xTPortal_address_data._b0xTPortal_address_changed; 172 b0xTPortal_address_data.config.postalCtrl.onchange = b0xTPortal_address_data._b0xTPortal_address_changed; 173 }; 174 175 this._b0xTPortal_init_legacy = function() { 176 let b0xTPortal_search = b0xTPortal_address_data.config.searchCtrl; 177 let b0xTPortal_place_auto_complete = new google.maps.places.Autocomplete( 13 178 b0xTPortal_search, { 14 179 fields: ['geometry', 'address_component', 'type'] … … 16 181 ); 17 182 18 varb0xTPortal_call_back = function () {19 b0xTPortal_address_data._b0xTPortal_fill_in_address ();20 } 21 22 b0xTPortal_place_auto_complete.addListener( 'place_changed', b0xTPortal_call_back);23 b0xTPortal_address_data.placeautocomplete = b0xTPortal_place_auto_complete;183 let b0xTPortal_call_back = function () { 184 b0xTPortal_address_data._b0xTPortal_fill_in_address_legacy(); 185 } 186 187 b0xTPortal_place_auto_complete.addListener('place_changed', b0xTPortal_call_back); 188 b0xTPortal_address_data.placeautocomplete_legacy = b0xTPortal_place_auto_complete; 24 189 25 190 //limit the counties to usa and canada … … 29 194 30 195 //setup event listensers on fields 31 b0xTPortal_address_data.config.addressCtrl.oninput = b0xTPortal_address_data._b0xTPortal_address_changed; 32 b0xTPortal_address_data.config.cityCtrl.onchange = b0xTPortal_address_data._b0xTPortal_address_changed; 33 b0xTPortal_address_data.config.stateCtrl.onchange = b0xTPortal_address_data._b0xTPortal_address_changed; 34 b0xTPortal_address_data.config.postalCtrl.onchange = b0xTPortal_address_data._b0xTPortal_address_changed; 35 }; 36 37 this._b0xTPortal_fill_in_address = function () { 38 var b0xTPortal_place = b0xTPortal_address_data.placeautocomplete.getPlace(); 196 b0xTPortal_address_data.config.addressCtrl.onchange = function() { b0xTPortal_address_data._b0xTPortal_address_changed(1); } 197 b0xTPortal_address_data.config.cityCtrl.onchange = function() { b0xTPortal_address_data._b0xTPortal_address_changed(1); } 198 b0xTPortal_address_data.config.stateCtrl.onchange = function() { b0xTPortal_address_data._b0xTPortal_address_changed(1); } 199 b0xTPortal_address_data.config.postalCtrl.onchange = function() { b0xTPortal_address_data._b0xTPortal_address_changed(1); } 200 } 201 202 this._b0xTPortal_get_suggestions = async function(b0xTPortal_v) { 203 //creating a new session if it does not exist. 204 const b0xTPortal_token = b0xTPortal_address_data.token_session ? b0xTPortal_address_data.token_session : new google.maps.places.AutocompleteSessionToken(); 205 b0xTPortal_address_data.token_session = b0xTPortal_token; 206 207 let b0xTPortal_options = { 208 sessionToken: b0xTPortal_token, 209 input: b0xTPortal_v, 210 language: "en-US", 211 includedRegionCodes: ["us", "ca"] 212 }; 213 214 const b0xTPortal_suggestions = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions(b0xTPortal_options); 215 const b0xTPortal_suggestions_array = b0xTPortal_suggestions.suggestions; 216 217 let b0xTPortal_fill_structure = function(b0xTPortal_address_suggestions_wrap) { 218 b0xTPortal_address_suggestions_wrap.innerHTML = ""; 219 b0xTPortal_address_suggestions_wrap.keyIndex = ""; 220 b0xTPortal_address_suggestions_wrap.keyOrgVal = b0xTPortal_address_data.config.searchCtrl.value; 221 222 b0xTPortal_suggestions_array.forEach(function(b0xTPortal_suggestion, b0xTPortal_index) { 223 const b0xTPortal_place_prediction = b0xTPortal_suggestion.placePrediction; 224 let b0xTPortal_input_wrap = document.createElement("div"); 225 let b0xTPortal_input = document.createElement("div"); 226 b0xTPortal_input.style.whiteSpace = "nowrap"; 227 b0xTPortal_input.style.borderRadius = "0px"; 228 b0xTPortal_input.style.width = "calc(100% - 20px)"; 229 b0xTPortal_input.style.border = "0px"; 230 b0xTPortal_input.style.padding = "10px"; 231 b0xTPortal_input.style.cursor = "pointer"; 232 233 let b0xTPortal_icon = document.createElement("i"); 234 b0xTPortal_icon.style.verticalAlign = "middle"; 235 b0xTPortal_icon.style.fontSize = "14pt"; 236 b0xTPortal_icon.style.marginRight = "5px"; 237 b0xTPortal_icon.style.color = "#808080"; 238 239 b0xTPortal_icon.setAttribute("class", "material-icons"); 240 b0xTPortal_icon.innerHTML = "place"; 241 242 b0xTPortal_input.appendChild(b0xTPortal_icon); 243 b0xTPortal_input.innerHTML += b0xTPortal_place_prediction.text.toString(); 244 b0xTPortal_input.valHTML = b0xTPortal_place_prediction.text.toString(); 245 246 if(b0xTPortal_index < b0xTPortal_suggestions_array.length - 1) { 247 b0xTPortal_input_wrap.style.borderBottom = "1px solid #d1cfcf"; 248 } 249 250 b0xTPortal_input.onmouseover = function() { 251 this.style.color = "#0174ab"; 252 this.style.backgroundColor = "#f5f5f5"; 253 }; 254 b0xTPortal_input.onmouseout = function() { 255 this.style.removeProperty("color"); 256 this.style.removeProperty("background-color"); 257 } 258 b0xTPortal_input.onclick = function() { 259 clearTimeout(b0xTPortal_address_data.blurTimeOut); 260 clearTimeout(b0xTPortal_address_data.searchTimeOut); 261 b0xTPortal_address_data._b0xTPortal_fill_in_address(b0xTPortal_place_prediction); 262 b0xTPortal_address_data.address_suggestion_wrap.innerHTML = ""; 263 b0xTPortal_address_data.address_suggestion_wrap.style.boxShadow = "none"; 264 } 265 266 b0xTPortal_input_wrap.appendChild(b0xTPortal_input); 267 b0xTPortal_address_suggestions_wrap.appendChild(b0xTPortal_input_wrap); 268 }); 269 }; 270 271 let b0xTPortal_build_structure = function() { 272 let b0xTPortal_flex_master_div = document.createElement("div"); 273 b0xTPortal_flex_master_div.style.flexDirection = "column"; 274 b0xTPortal_flex_master_div.style.display = "flex"; 275 276 //content 277 let b0xTPortal_address_suggestions_wrap = document.createElement("div"); 278 b0xTPortal_address_suggestions_wrap.setAttribute("id", "b0xTPortal_"+b0xTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 279 b0xTPortal_address_suggestions_wrap.style.border = "1px solid #d1cfcf"; 280 b0xTPortal_address_suggestions_wrap.style.borderBottom = "0px"; 281 b0xTPortal_address_suggestions_wrap.style.overflowY = "auto"; 282 b0xTPortal_address_suggestions_wrap.style.maxHeight = "300px"; 283 284 b0xTPortal_fill_structure(b0xTPortal_address_suggestions_wrap); 285 286 b0xTPortal_flex_master_div.appendChild(b0xTPortal_address_suggestions_wrap); 287 288 //logo 289 let b0xTPortal_powered_by_wrap = document.createElement("div"); 290 b0xTPortal_powered_by_wrap.style.border = "1px solid #d1cfcf"; 291 b0xTPortal_powered_by_wrap.style.borderTop = "0px"; 292 293 let b0xTPortal_powered_by = document.createElement("div"); 294 b0xTPortal_powered_by.style.borderRadius = "0px"; 295 b0xTPortal_powered_by.style.width = "calc(100% - 20px)"; 296 b0xTPortal_powered_by.style.border = "0px"; 297 b0xTPortal_powered_by.style.padding = "10px"; 298 299 b0xTPortal_powered_by.style.color = "#808080"; 300 b0xTPortal_powered_by.style.textAlign = "right"; 301 b0xTPortal_powered_by.style.fontWeight = "bold"; 302 b0xTPortal_powered_by.style.pointerEvents = "none"; 303 b0xTPortal_powered_by.innerHTML = "powered by"; 304 305 let b0xTPortal_icon = document.createElement("img"); 306 b0xTPortal_icon.setAttribute("src", b0xTPortal_address_data.config.imageUrl+"/Google_logo.png"); 307 308 b0xTPortal_icon.style.height = "18px"; 309 b0xTPortal_icon.style.verticalAlign = "middle"; 310 b0xTPortal_icon.style.marginLeft = "5px"; 311 312 b0xTPortal_powered_by.appendChild(b0xTPortal_icon); 313 b0xTPortal_powered_by_wrap.appendChild(b0xTPortal_powered_by); 314 315 b0xTPortal_flex_master_div.appendChild(b0xTPortal_powered_by_wrap); 316 317 //put it together 318 b0xTPortal_address_data.address_suggestion_wrap.appendChild(b0xTPortal_flex_master_div); 319 }; 320 321 let b0xTPortal_address_suggestions_wrap = document.getElementById("b0xTPortal_"+b0xTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 322 323 if(!b0xTPortal_address_suggestions_wrap) { 324 b0xTPortal_build_structure(); 325 } else { 326 b0xTPortal_fill_structure(b0xTPortal_address_suggestions_wrap); 327 } 328 }; 329 330 this._b0xTPortal_fill_in_address = async function (b0xTPortal_place_prediction) { 331 var b0xTPortal_place = b0xTPortal_place_prediction.toPlace(); 332 333 await b0xTPortal_place.fetchFields({fields: ['location', 'addressComponents', 'types', 'displayName']}); 334 335 //clear session token, this way we create a 336 //new one when the suggestion triggers again 337 b0xTPortal_address_data.token_session = undefined; 338 339 if (!b0xTPortal_place.location) { 340 b0xTPortal_address_data.b0xTPortal_refresh_google_verification(); 341 342 if(b0xTPortal_address_data.dBox) { 343 b0xTPortal_address_data.dBox.b0xTPortal_open_dialog("WARNING!!", 'No details available for input: '+b0xTPortal_place.displayName, null); 344 } 345 return; 346 } 347 348 //get autocompleted address 349 let b0xTPortal_street_number = b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'street_number' ); 350 b0xTPortal_street_number.shortText = b0xTPortal_street_number.shortText ? b0xTPortal_street_number.shortText : b0xTPortal_address_data.config.searchCtrl.value.split(' ')[0].replaceAll(/\D/g, ''); 351 352 let b0xTPortal_street_name = b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'street_address' ); 353 b0xTPortal_street_name = b0xTPortal_street_name.longText ? b0xTPortal_street_name : b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'route' ); 354 b0xTPortal_street_name = b0xTPortal_street_name.longText ? b0xTPortal_street_name : b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'intersection' ); 355 356 let b0xTPortal_city = b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'locality' ); 357 b0xTPortal_city = b0xTPortal_city.longText ? b0xTPortal_city : b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'administrative_area_level_3' ); 358 b0xTPortal_city = b0xTPortal_city.longText ? b0xTPortal_city : b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'sublocality_level_1' ); 359 360 let b0xTPortal_state = b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'administrative_area_level_1' ); 361 let b0xTPortal_postal = b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'postal_code' ); 362 let b0xTPortal_postal_suffix = b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'postal_code_suffix' ); 363 364 //we are done, clear address field 365 b0xTPortal_address_data.config.addressCtrl.value = ""; 366 367 //however, is state part of the selected country ? 368 //if not we dont want to go any further than this 369 var found_state = 0; 370 for(var option of b0xTPortal_address_data.config.stateCtrl.options) { 371 if(option.value == b0xTPortal_state.shortText) { 372 found_state++; 373 } 374 } 375 376 if(!found_state) { 377 b0xTPortal_address_data.config.cityCtrl.value = ""; 378 b0xTPortal_address_data.config.stateCtrl.value = ""; 379 b0xTPortal_address_data.b0xTPortal_refresh_google_verification(); 380 if(b0xTPortal_address_data.dBox) { 381 b0xTPortal_address_data.dBox.b0xTPortal_open_dialog("WARNING!!", "This address appears to reside in a country that is not accepted by this company", null); 382 } 383 return; 384 } 385 386 b0xTPortal_address_data.config.addressCtrl.value = `${b0xTPortal_street_number.shortText} ${b0xTPortal_street_name.shortText}`; 387 b0xTPortal_address_data.current_address = `${b0xTPortal_street_number.shortText} ${b0xTPortal_street_name.shortText}`; 388 b0xTPortal_address_data.config.cityCtrl.value = b0xTPortal_city.longText; 389 b0xTPortal_address_data.config.stateCtrl.value = b0xTPortal_state.shortText; 390 b0xTPortal_address_data.config.postalCtrl.value = b0xTPortal_postal.shortText; 391 392 //check if the address is rooftop 393 let b0xTPortal_verified = b0xTPortal_place.types.includes('premise') || b0xTPortal_place.location.location_type == 'ROOFTOP' || b0xTPortal_postal_suffix.shortText.length; 394 395 b0xTPortal_verified = b0xTPortal_verified ? 1 : 0; 396 b0xTPortal_address_data.b0xTPortal_refresh_google_verification(b0xTPortal_verified); 397 }; 398 399 this._b0xTPortal_fill_in_address_legacy = function () { 400 var b0xTPortal_place = b0xTPortal_address_data.placeautocomplete_legacy.getPlace(); 39 401 40 402 if (!b0xTPortal_place.geometry) { … … 98 460 }; 99 461 100 this._b0xTPortal_find_address_component = function( b0xTPortal_address_array, b0xTPortal_search) {462 this._b0xTPortal_find_address_component = function(b0xTPortal_address_array, b0xTPortal_search, b0xTPortal_arg_legacy) { 101 463 for( let i = 0; i < b0xTPortal_address_array.length; i++ ) { 102 464 if ( b0xTPortal_address_array[i].types[0] == b0xTPortal_search ) { … … 104 466 } 105 467 } 106 return { long_name: '', short_name: '', types: [ b0xTPortal_search ] }; 468 if(b0xTPortal_arg_legacy) { 469 return { long_name: '', short_name: '', types: [ b0xTPortal_search ] }; 470 } 471 return { longText: '', shortText: '', types: [ b0xTPortal_search ] }; 107 472 }; 108 473 … … 129 494 }; 130 495 131 this._b0xTPortal_address_changed = function() { 132 if(b0xTPortal_address_data.validated * 1 == 0) {} else { 133 b0xTPortal_address_data.b0xTPortal_refresh_google_verification(0); 134 } 496 this._b0xTPortal_address_changed = function(b0xTPortal_arg_legacy) { 497 let b0xTPortal_the_work = function() { 498 if(b0xTPortal_address_data.validated * 1 == 0) {} else { 499 b0xTPortal_address_data.b0xTPortal_refresh_google_verification(0); 500 } 501 } 502 503 if(b0xTPortal_arg_legacy) { 504 b0xTPortal_the_work(); 505 return; 506 } 507 508 clearTimeout(b0xTPortal_address_data.changeTimeout); 509 b0xTPortal_address_data.changeTimeout = setTimeout(function() { 510 b0xTPortal_the_work(); 511 }, 500); 135 512 }; 136 513 … … 167 544 } 168 545 169 170 -
box-tracker-portal/tags/1.1.6/javascript/dynamic-templates/add-edit-jobsite-page.js
r2924835 r3329796 305 305 "stateCtrl" : b0xTPortal_data.fields["b0xTPortal_jobsite_state"], 306 306 "postalCtrl" : b0xTPortal_data.fields["b0xTPortal_jobsite_zip"], 307 "validateCtrl" : b0xTPortal_data.fields["b0xTPortal_google_validator"] 307 "validateCtrl" : b0xTPortal_data.fields["b0xTPortal_google_validator"], 308 "imageUrl": b0xTPortal_data.config.image_url 308 309 }); 309 310 } -
box-tracker-portal/tags/1.1.6/readme.txt
r3278350 r3329796 4 4 Requires PHP: 5.6.4 5 5 Tested up to: 6.8 6 Stable tag: 1.1. 56 Stable tag: 1.1.6 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html -
box-tracker-portal/trunk/box-tracker-portal.php
r3278350 r3329796 8 8 Plugin URI: https://www.dumpster.software/api/word-press-plugin.html 9 9 Description: The Box Tracker Portal plugin facilitates online ordering for waste haulers. Customers will be able to book and manage work orders, manage job sites, view reporting and manage their transactions. Using the Web API tab on Box Tracker's Preferences app, you can prevent over booking, control which days of the week online orders will be accepted, and prevent same day ordering. For more information about Box Tracker or this plugin please contact support at 603 546 6751 option 2 or support@cairnapps.com 10 Version: 1.1. 510 Version: 1.1.6 11 11 Author: Cairn Applications Inc 12 12 Author URI: https://www.cloud-computing.rocks/ -
box-tracker-portal/trunk/includes/ajax/jobsite-page.php
r3278341 r3329796 160 160 } 161 161 162 $b0xTPortal_jobsite_name = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->JobName); 162 $b0xTPortal_validated = "0"; 163 $b0xTPortal_jobsite_name = ""; 164 if(isset($b0xTPortal_jobsite_data->jobSiteObj->Validated)) { $b0xTPortal_validated = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->Validated); } 165 if(isset($b0xTPortal_jobsite_data->jobSiteObj->JobName)) { $b0xTPortal_jobsite_name = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->JobName); } 166 $b0xTPortal_jobsite_validated = is_numeric($b0xTPortal_validated) ? $b0xTPortal_validated : "0"; 167 163 168 $b0xTPortal_jobsite_zip = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->Zip); 164 169 $b0xTPortal_jobsite_county = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->County); … … 171 176 $b0xTPortal_jobsite_billing_note = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->BillingNote); 172 177 $b0xTPortal_jobsite_leed = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->LEED); 173 $b0xTPortal_validated = sanitize_text_field($b0xTPortal_jobsite_data->jobSiteObj->Validated);174 $b0xTPortal_jobsite_validated = is_numeric($b0xTPortal_validated) ? $b0xTPortal_validated : "0";175 178 176 179 $b0xTPortal_jobsite_required_fields_for_eval = array(); -
box-tracker-portal/trunk/includes/ajax/reports-page.php
r2763253 r3329796 133 133 134 134 $b0xTPortal_report_params = array(); 135 if( $_POST["b0xTPortal_report_start_date"]) {135 if(isset($_POST["b0xTPortal_report_start_date"])) { 136 136 $b0xTPortal_report_params["startDate"] = sanitize_text_field($_POST["b0xTPortal_report_start_date"]); 137 137 } 138 138 139 if( $_POST["b0xTPortal_report_end_date"]) {139 if(isset($_POST["b0xTPortal_report_end_date"])) { 140 140 $b0xTPortal_report_params["endDate"] = sanitize_text_field($_POST["b0xTPortal_report_end_date"]); 141 141 } 142 142 143 if( $_POST["b0xTPortal_report_delivery_date"]) {143 if(isset($_POST["b0xTPortal_report_delivery_date"])) { 144 144 $b0xTPortal_report_params["deliveryDate"] = sanitize_text_field($_POST["b0xTPortal_report_delivery_date"]); 145 145 } 146 146 147 if( $_POST["b0xTPortal_report_month"]) {147 if(isset($_POST["b0xTPortal_report_month"])) { 148 148 $b0xTPortal_report_params["month"] = sanitize_text_field($_POST["b0xTPortal_report_month"]); 149 149 } 150 150 151 if( $_POST["b0xTPortal_report_year"]) {151 if(isset($_POST["b0xTPortal_report_year"])) { 152 152 $b0xTPortal_report_params["year"] = sanitize_text_field($_POST["b0xTPortal_report_year"]); 153 153 } 154 154 155 if( $_POST["b0xTPortal_report_jobsite_id"]) {155 if(isset($_POST["b0xTPortal_report_jobsite_id"])) { 156 156 $b0xTPortal_report_params["jobSite"] = sanitize_text_field($_POST["b0xTPortal_report_jobsite_id"]); 157 157 } 158 158 159 if( $_POST["b0xTPortal_report_wo_type"]) {159 if(isset($_POST["b0xTPortal_report_wo_type"])) { 160 160 $b0xTPortal_report_params["woType"] = sanitize_text_field($_POST["b0xTPortal_report_wo_type"]); 161 161 } 162 162 163 if( $_POST["b0xTPortal_report_check_boxes"]&& is_array($_POST["b0xTPortal_report_check_boxes"])) {163 if(isset($_POST["b0xTPortal_report_check_boxes"]) && is_array($_POST["b0xTPortal_report_check_boxes"])) { 164 164 $b0xTPortal_check_boxes = $this->b0xTPortal_sanitize_array_values($_POST["b0xTPortal_report_check_boxes"]); 165 165 … … 171 171 } 172 172 173 if( $_POST["b0xTPortal_report_sort_by"]) {173 if(isset($_POST["b0xTPortal_report_sort_by"])) { 174 174 $b0xTPortal_report_params["sortBy"] = sanitize_text_field($_POST["b0xTPortal_report_sort_by"]); 175 175 } 176 176 177 if( $_POST["b0xTPortal_report_filter_by"]) {177 if(isset($_POST["b0xTPortal_report_filter_by"])) { 178 178 $b0xTPortal_report_params["filterBy"] = sanitize_text_field($_POST["b0xTPortal_report_filter_by"]); 179 179 } 180 180 181 if( $_POST["b0xTPortal_report_list_by"]) {181 if(isset($_POST["b0xTPortal_report_list_by"])) { 182 182 $b0xTPortal_report_params["listBy"] = sanitize_text_field($_POST["b0xTPortal_report_list_by"]); 183 183 } -
box-tracker-portal/trunk/includes/ajax/workorder-page.php
r3278341 r3329796 30 30 $b0xTPortal_username = sanitize_text_field($_SESSION['b0xTPortal_session']['username']); 31 31 $b0xTPortal_session_key_customer = sanitize_text_field($_SESSION['b0xTPortal_session']['session_key']); 32 $b0xTPortal_search_field = sanitize_text_field($_POST["b0xTPortal_search"]); 32 33 $b0xTPortal_search_field = ""; 34 if(isset($_POST["b0xTPortal_search"])) { $b0xTPortal_search_field = sanitize_text_field($_POST["b0xTPortal_search"]); } 33 35 34 36 if($b0xTPortal_username == "" || $b0xTPortal_session_key_customer == "") { -
box-tracker-portal/trunk/includes/base/ajax-utility.php
r2763253 r3329796 98 98 99 99 foreach ($b0xTPortal_required_fields as $b0xTPortal_field_value) { 100 if( $b0xTPortal_fields_map[$b0xTPortal_field_value]) {100 if(isset($b0xTPortal_fields_map[$b0xTPortal_field_value])) { 101 101 array_push($b0xTPortal_required_fields_mapped, $b0xTPortal_fields_map[$b0xTPortal_field_value]); 102 102 } -
box-tracker-portal/trunk/includes/base/enqueue.php
r3247411 r3329796 30 30 wp_enqueue_style('b0xTPortal-front-house-style', $this->b0xTPortal_plugin_url.'styles/front-house-style.css', '', '', 'all'); 31 31 wp_enqueue_style('b0xTPortal-jquery-ui-style', "https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/themes/base/jquery-ui.css", '', '', 'all'); 32 wp_enqueue_style('b0xTPortal-google-maps-icon-style', "https://fonts.googleapis.com/icon?family=Material+Icons", '', '', 'all'); 32 33 33 34 wp_enqueue_script('b0xTPortal-login-page', $this->b0xTPortal_plugin_url.'javascript/dynamic-templates/login-page.js', '', '', 'all'); … … 45 46 46 47 $b0xT_google_api_key = sanitize_text_field(get_option('b0xT_google_api_key')); 47 wp_enqueue_script('b0xTPortal-google-maps', "https://maps.googleapis.com/maps/api/js?key=$b0xT_google_api_key&l ibraries=places", '', '', 'all');48 wp_enqueue_script('b0xTPortal-google-maps', "https://maps.googleapis.com/maps/api/js?key=$b0xT_google_api_key&loading=async&libraries=places", '', '', 'all'); 48 49 wp_enqueue_script('b0xTPortal-google-charts', "https://www.gstatic.com/charts/loader.js", '', '', 'all'); 49 50 wp_enqueue_script('b0xTPortal-dialog-box-script', $this->b0xTPortal_plugin_url.'javascript/dialog-box-script.js', '', '', 'all'); -
box-tracker-portal/trunk/javascript/address-validation-script.js
r2763253 r3329796 2 2 var b0xTPortal_address_data = this; 3 3 b0xTPortal_address_data.config = b0xTPortal_arg_config; 4 b0xTPortal_address_data.random_number = Math.floor(Math.random() * 1000000); 4 5 5 6 b0xTPortal_address_data.validated = "0"; 6 7 7 var b0xTPortal_place_auto_complete; 8 9 this._b0xTPortal_init = function() { 10 //setup google places address autocomplete 11 var b0xTPortal_search = b0xTPortal_address_data.config.searchCtrl; 12 b0xTPortal_place_auto_complete = new google.maps.places.Autocomplete( 8 this._b0xTPortal_init = async function() { 9 let b0xTPortal_waitForGoogle = async function() { 10 return new Promise(function(b0xTPortal_resolve) { 11 async function b0xTPortal_isItReady() { 12 if(typeof(google.maps.places) !== "undefined") { 13 try { //make a call to make sure the api is included in the key. 14 //this call is not included in billing because the get details never 15 //never gets called. 16 const b0xTPortal_token = new google.maps.places.AutocompleteSessionToken(); 17 const b0xTPortal_suggestions = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions({ 18 sessionToken: b0xTPortal_token, 19 input: "588", 20 language: "en-US", 21 includedRegionCodes: ["us", "ca"] 22 }); 23 } catch(e) { 24 b0xTPortal_resolve(1); 25 } 26 b0xTPortal_resolve(0); 27 } else { 28 setTimeout(b0xTPortal_isItReady, 50); 29 } 30 } 31 b0xTPortal_isItReady(); 32 }); 33 }; 34 35 let b0xTPortal_legacy_check = await b0xTPortal_waitForGoogle(); 36 37 if(b0xTPortal_legacy_check) { 38 b0xTPortal_address_data._b0xTPortal_init_legacy(); 39 return; 40 } 41 42 let b0xTPortal_address_suggestion_wrap = document.createElement("div"); 43 b0xTPortal_address_suggestion_wrap.style.position = "absolute"; 44 b0xTPortal_address_suggestion_wrap.style.marginTop = "1px"; 45 b0xTPortal_address_suggestion_wrap.style.borderRadius = "1px"; 46 b0xTPortal_address_suggestion_wrap.style.backgroundColor = "#ffffff"; 47 b0xTPortal_address_suggestion_wrap.style.zIndex = 1; 48 49 //allow developers to style it 50 b0xTPortal_address_suggestion_wrap.setAttribute("class", "b0xTPortal_address_suggestion_wrap"); 51 52 b0xTPortal_address_data.address_suggestion_wrap = b0xTPortal_address_suggestion_wrap; 53 b0xTPortal_address_data.config.searchCtrl.after(b0xTPortal_address_suggestion_wrap); 54 b0xTPortal_address_data.config.searchCtrl.setAttribute("placeholder", "Search Address"); 55 56 //setup event listensers on fields 57 b0xTPortal_address_data.config.searchCtrl.addEventListener("keyup", function(b0xTPortal_e) { 58 if(b0xTPortal_e.key != "ArrowDown" && b0xTPortal_e.key != "ArrowUp" && b0xTPortal_e.key != "ArrowLeft" && b0xTPortal_e.key != "ArrowRight" && b0xTPortal_e.key != "Enter") { 59 clearTimeout(b0xTPortal_address_data.searchTimeOut); 60 b0xTPortal_address_data.searchTimeOut = setTimeout(function() { 61 if(!String(b0xTPortal_address_data.config.searchCtrl.value).trim()) { 62 b0xTPortal_address_data.address_suggestion_wrap.innerHTML = ""; 63 b0xTPortal_address_data.address_suggestion_wrap.style.boxShadow = "none"; 64 return; 65 } 66 67 //if we are using the search bar to act as the address bar aswell. then trigger the address changed 68 if(b0xTPortal_address_data.config.addressCtrl && (b0xTPortal_address_data.config.addressCtrl == b0xTPortal_address_data.config.searchCtrl)) { 69 b0xTPortal_address_data._b0xTPortal_address_changed(); 70 } 71 72 b0xTPortal_address_data._b0xTPortal_get_suggestions(b0xTPortal_address_data.config.searchCtrl.value); 73 b0xTPortal_address_data.address_suggestion_wrap.style.boxShadow = "0px 0px 4px 1px #d2d2d2"; 74 }, 500); 75 } 76 }); 77 78 b0xTPortal_address_data.config.searchCtrl.addEventListener("keydown", function(b0xTPortal_e) { 79 let b0xTPortal_address_suggestions_wrap = document.getElementById("b0xTPortal_"+b0xTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 80 if(!b0xTPortal_address_suggestions_wrap) { return; } 81 82 let b0xTPortal_selected = function(b0xTPortal_argDiv) { 83 b0xTPortal_argDiv.parentElement.style.color = "#0174ab"; 84 b0xTPortal_argDiv.parentElement.style.backgroundColor = "#dddddd"; 85 b0xTPortal_address_data.config.searchCtrl.value = b0xTPortal_argDiv.valHTML; 86 }; 87 88 let b0xTPortal_unSelected = function(b0xTPortal_argDiv) { 89 b0xTPortal_argDiv.parentElement.style.removeProperty("color"); 90 b0xTPortal_argDiv.parentElement.style.removeProperty("background-color"); 91 }; 92 93 if(b0xTPortal_e.key == "ArrowDown" || b0xTPortal_e.key == "ArrowUp" || b0xTPortal_e.key == "Enter") { 94 let b0xTPortal_child_wrappers = Array.from(b0xTPortal_address_suggestions_wrap.children); 95 96 if(b0xTPortal_e.key == "ArrowDown" || b0xTPortal_e.key == "ArrowUp") { 97 clearTimeout(b0xTPortal_address_data.cursorTimeout); 98 b0xTPortal_child_wrappers.forEach(function(b0xTPortal_argDiv) { 99 b0xTPortal_unSelected(b0xTPortal_argDiv.children[0]); 100 }); 101 102 if(String(b0xTPortal_address_suggestions_wrap.keyIndex) == "") { 103 b0xTPortal_address_suggestions_wrap.keyIndex = -1; 104 } 105 106 if(b0xTPortal_e.key == "ArrowDown") { 107 if(b0xTPortal_address_suggestions_wrap.keyIndex < b0xTPortal_child_wrappers.length) { 108 b0xTPortal_address_suggestions_wrap.keyIndex++; 109 } 110 111 if(b0xTPortal_address_suggestions_wrap.keyIndex == b0xTPortal_child_wrappers.length) { 112 b0xTPortal_address_suggestions_wrap.keyIndex = -1; 113 } 114 } else { 115 if(b0xTPortal_address_suggestions_wrap.keyIndex >= -1) { 116 b0xTPortal_address_suggestions_wrap.keyIndex--; 117 } 118 119 if(b0xTPortal_address_suggestions_wrap.keyIndex == -2) { 120 b0xTPortal_address_suggestions_wrap.keyIndex = b0xTPortal_child_wrappers.length - 1; 121 } 122 } 123 124 if(b0xTPortal_child_wrappers[b0xTPortal_address_suggestions_wrap.keyIndex]) { 125 let b0xTPortal_nextDiv = b0xTPortal_child_wrappers[b0xTPortal_address_suggestions_wrap.keyIndex].children[0]; 126 b0xTPortal_selected(b0xTPortal_nextDiv); 127 } else { 128 b0xTPortal_address_data.config.searchCtrl.value = b0xTPortal_address_suggestions_wrap.keyOrgVal; 129 } 130 131 //for smooth transition 132 b0xTPortal_address_data.config.searchCtrl.style.caretColor = 'transparent'; 133 b0xTPortal_address_data.cursorTimeout = setTimeout(function() { 134 let b0xTPortal_valLength = b0xTPortal_address_data.config.searchCtrl.value.length; 135 b0xTPortal_address_data.config.searchCtrl.setSelectionRange(b0xTPortal_valLength, b0xTPortal_valLength); 136 b0xTPortal_address_data.config.searchCtrl.style.removeProperty("caret-color"); 137 }, 10); 138 } else if(b0xTPortal_e.key == "Enter") { 139 if(b0xTPortal_child_wrappers[b0xTPortal_address_suggestions_wrap.keyIndex]) { 140 let b0xTPortal_nextDiv = b0xTPortal_child_wrappers[b0xTPortal_address_suggestions_wrap.keyIndex].children[0]; 141 b0xTPortal_nextDiv.click(); 142 b0xTPortal_address_data.config.searchCtrl.blur(); 143 } 144 } 145 } 146 }); 147 148 b0xTPortal_address_data.config.searchCtrl.addEventListener("focus", function(b0xTPortal_e) { 149 clearTimeout(b0xTPortal_address_data.searchTimeOut); 150 b0xTPortal_address_data.searchTimeOut = setTimeout(function() { 151 if(!String(b0xTPortal_address_data.config.searchCtrl.value).trim()) { return; } 152 b0xTPortal_address_data._b0xTPortal_get_suggestions(b0xTPortal_address_data.config.searchCtrl.value); 153 b0xTPortal_address_data.address_suggestion_wrap.style.boxShadow = "0px 0px 4px 1px #d2d2d2"; 154 }, 500); 155 }); 156 157 b0xTPortal_address_data.config.searchCtrl.addEventListener("blur", function(b0xTPortal_e) { 158 clearTimeout(b0xTPortal_address_data.blurTimeOut); 159 b0xTPortal_address_data.blurTimeOut = setTimeout(function() { 160 b0xTPortal_address_data.address_suggestion_wrap.innerHTML = ""; 161 b0xTPortal_address_data.address_suggestion_wrap.style.boxShadow = "none"; 162 }, 500); 163 }); 164 165 //if we are not using the search bar to act as the address bar, then set an onchange handler. Otherwise skip it 166 if(b0xTPortal_address_data.config.addressCtrl && (b0xTPortal_address_data.config.addressCtrl != b0xTPortal_address_data.config.searchCtrl)) { 167 b0xTPortal_address_data.config.addressCtrl = b0xTPortal_address_data._b0xTPortal_address_changed; 168 } 169 170 b0xTPortal_address_data.config.cityCtrl.onchange = b0xTPortal_address_data._b0xTPortal_address_changed; 171 b0xTPortal_address_data.config.stateCtrl.onchange = b0xTPortal_address_data._b0xTPortal_address_changed; 172 b0xTPortal_address_data.config.postalCtrl.onchange = b0xTPortal_address_data._b0xTPortal_address_changed; 173 }; 174 175 this._b0xTPortal_init_legacy = function() { 176 let b0xTPortal_search = b0xTPortal_address_data.config.searchCtrl; 177 let b0xTPortal_place_auto_complete = new google.maps.places.Autocomplete( 13 178 b0xTPortal_search, { 14 179 fields: ['geometry', 'address_component', 'type'] … … 16 181 ); 17 182 18 varb0xTPortal_call_back = function () {19 b0xTPortal_address_data._b0xTPortal_fill_in_address ();20 } 21 22 b0xTPortal_place_auto_complete.addListener( 'place_changed', b0xTPortal_call_back);23 b0xTPortal_address_data.placeautocomplete = b0xTPortal_place_auto_complete;183 let b0xTPortal_call_back = function () { 184 b0xTPortal_address_data._b0xTPortal_fill_in_address_legacy(); 185 } 186 187 b0xTPortal_place_auto_complete.addListener('place_changed', b0xTPortal_call_back); 188 b0xTPortal_address_data.placeautocomplete_legacy = b0xTPortal_place_auto_complete; 24 189 25 190 //limit the counties to usa and canada … … 29 194 30 195 //setup event listensers on fields 31 b0xTPortal_address_data.config.addressCtrl.oninput = b0xTPortal_address_data._b0xTPortal_address_changed; 32 b0xTPortal_address_data.config.cityCtrl.onchange = b0xTPortal_address_data._b0xTPortal_address_changed; 33 b0xTPortal_address_data.config.stateCtrl.onchange = b0xTPortal_address_data._b0xTPortal_address_changed; 34 b0xTPortal_address_data.config.postalCtrl.onchange = b0xTPortal_address_data._b0xTPortal_address_changed; 35 }; 36 37 this._b0xTPortal_fill_in_address = function () { 38 var b0xTPortal_place = b0xTPortal_address_data.placeautocomplete.getPlace(); 196 b0xTPortal_address_data.config.addressCtrl.onchange = function() { b0xTPortal_address_data._b0xTPortal_address_changed(1); } 197 b0xTPortal_address_data.config.cityCtrl.onchange = function() { b0xTPortal_address_data._b0xTPortal_address_changed(1); } 198 b0xTPortal_address_data.config.stateCtrl.onchange = function() { b0xTPortal_address_data._b0xTPortal_address_changed(1); } 199 b0xTPortal_address_data.config.postalCtrl.onchange = function() { b0xTPortal_address_data._b0xTPortal_address_changed(1); } 200 } 201 202 this._b0xTPortal_get_suggestions = async function(b0xTPortal_v) { 203 //creating a new session if it does not exist. 204 const b0xTPortal_token = b0xTPortal_address_data.token_session ? b0xTPortal_address_data.token_session : new google.maps.places.AutocompleteSessionToken(); 205 b0xTPortal_address_data.token_session = b0xTPortal_token; 206 207 let b0xTPortal_options = { 208 sessionToken: b0xTPortal_token, 209 input: b0xTPortal_v, 210 language: "en-US", 211 includedRegionCodes: ["us", "ca"] 212 }; 213 214 const b0xTPortal_suggestions = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions(b0xTPortal_options); 215 const b0xTPortal_suggestions_array = b0xTPortal_suggestions.suggestions; 216 217 let b0xTPortal_fill_structure = function(b0xTPortal_address_suggestions_wrap) { 218 b0xTPortal_address_suggestions_wrap.innerHTML = ""; 219 b0xTPortal_address_suggestions_wrap.keyIndex = ""; 220 b0xTPortal_address_suggestions_wrap.keyOrgVal = b0xTPortal_address_data.config.searchCtrl.value; 221 222 b0xTPortal_suggestions_array.forEach(function(b0xTPortal_suggestion, b0xTPortal_index) { 223 const b0xTPortal_place_prediction = b0xTPortal_suggestion.placePrediction; 224 let b0xTPortal_input_wrap = document.createElement("div"); 225 let b0xTPortal_input = document.createElement("div"); 226 b0xTPortal_input.style.whiteSpace = "nowrap"; 227 b0xTPortal_input.style.borderRadius = "0px"; 228 b0xTPortal_input.style.width = "calc(100% - 20px)"; 229 b0xTPortal_input.style.border = "0px"; 230 b0xTPortal_input.style.padding = "10px"; 231 b0xTPortal_input.style.cursor = "pointer"; 232 233 let b0xTPortal_icon = document.createElement("i"); 234 b0xTPortal_icon.style.verticalAlign = "middle"; 235 b0xTPortal_icon.style.fontSize = "14pt"; 236 b0xTPortal_icon.style.marginRight = "5px"; 237 b0xTPortal_icon.style.color = "#808080"; 238 239 b0xTPortal_icon.setAttribute("class", "material-icons"); 240 b0xTPortal_icon.innerHTML = "place"; 241 242 b0xTPortal_input.appendChild(b0xTPortal_icon); 243 b0xTPortal_input.innerHTML += b0xTPortal_place_prediction.text.toString(); 244 b0xTPortal_input.valHTML = b0xTPortal_place_prediction.text.toString(); 245 246 if(b0xTPortal_index < b0xTPortal_suggestions_array.length - 1) { 247 b0xTPortal_input_wrap.style.borderBottom = "1px solid #d1cfcf"; 248 } 249 250 b0xTPortal_input.onmouseover = function() { 251 this.style.color = "#0174ab"; 252 this.style.backgroundColor = "#f5f5f5"; 253 }; 254 b0xTPortal_input.onmouseout = function() { 255 this.style.removeProperty("color"); 256 this.style.removeProperty("background-color"); 257 } 258 b0xTPortal_input.onclick = function() { 259 clearTimeout(b0xTPortal_address_data.blurTimeOut); 260 clearTimeout(b0xTPortal_address_data.searchTimeOut); 261 b0xTPortal_address_data._b0xTPortal_fill_in_address(b0xTPortal_place_prediction); 262 b0xTPortal_address_data.address_suggestion_wrap.innerHTML = ""; 263 b0xTPortal_address_data.address_suggestion_wrap.style.boxShadow = "none"; 264 } 265 266 b0xTPortal_input_wrap.appendChild(b0xTPortal_input); 267 b0xTPortal_address_suggestions_wrap.appendChild(b0xTPortal_input_wrap); 268 }); 269 }; 270 271 let b0xTPortal_build_structure = function() { 272 let b0xTPortal_flex_master_div = document.createElement("div"); 273 b0xTPortal_flex_master_div.style.flexDirection = "column"; 274 b0xTPortal_flex_master_div.style.display = "flex"; 275 276 //content 277 let b0xTPortal_address_suggestions_wrap = document.createElement("div"); 278 b0xTPortal_address_suggestions_wrap.setAttribute("id", "b0xTPortal_"+b0xTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 279 b0xTPortal_address_suggestions_wrap.style.border = "1px solid #d1cfcf"; 280 b0xTPortal_address_suggestions_wrap.style.borderBottom = "0px"; 281 b0xTPortal_address_suggestions_wrap.style.overflowY = "auto"; 282 b0xTPortal_address_suggestions_wrap.style.maxHeight = "300px"; 283 284 b0xTPortal_fill_structure(b0xTPortal_address_suggestions_wrap); 285 286 b0xTPortal_flex_master_div.appendChild(b0xTPortal_address_suggestions_wrap); 287 288 //logo 289 let b0xTPortal_powered_by_wrap = document.createElement("div"); 290 b0xTPortal_powered_by_wrap.style.border = "1px solid #d1cfcf"; 291 b0xTPortal_powered_by_wrap.style.borderTop = "0px"; 292 293 let b0xTPortal_powered_by = document.createElement("div"); 294 b0xTPortal_powered_by.style.borderRadius = "0px"; 295 b0xTPortal_powered_by.style.width = "calc(100% - 20px)"; 296 b0xTPortal_powered_by.style.border = "0px"; 297 b0xTPortal_powered_by.style.padding = "10px"; 298 299 b0xTPortal_powered_by.style.color = "#808080"; 300 b0xTPortal_powered_by.style.textAlign = "right"; 301 b0xTPortal_powered_by.style.fontWeight = "bold"; 302 b0xTPortal_powered_by.style.pointerEvents = "none"; 303 b0xTPortal_powered_by.innerHTML = "powered by"; 304 305 let b0xTPortal_icon = document.createElement("img"); 306 b0xTPortal_icon.setAttribute("src", b0xTPortal_address_data.config.imageUrl+"/Google_logo.png"); 307 308 b0xTPortal_icon.style.height = "18px"; 309 b0xTPortal_icon.style.verticalAlign = "middle"; 310 b0xTPortal_icon.style.marginLeft = "5px"; 311 312 b0xTPortal_powered_by.appendChild(b0xTPortal_icon); 313 b0xTPortal_powered_by_wrap.appendChild(b0xTPortal_powered_by); 314 315 b0xTPortal_flex_master_div.appendChild(b0xTPortal_powered_by_wrap); 316 317 //put it together 318 b0xTPortal_address_data.address_suggestion_wrap.appendChild(b0xTPortal_flex_master_div); 319 }; 320 321 let b0xTPortal_address_suggestions_wrap = document.getElementById("b0xTPortal_"+b0xTPortal_address_data.random_number+"_AddrVldtrSuggestionsContent"); 322 323 if(!b0xTPortal_address_suggestions_wrap) { 324 b0xTPortal_build_structure(); 325 } else { 326 b0xTPortal_fill_structure(b0xTPortal_address_suggestions_wrap); 327 } 328 }; 329 330 this._b0xTPortal_fill_in_address = async function (b0xTPortal_place_prediction) { 331 var b0xTPortal_place = b0xTPortal_place_prediction.toPlace(); 332 333 await b0xTPortal_place.fetchFields({fields: ['location', 'addressComponents', 'types', 'displayName']}); 334 335 //clear session token, this way we create a 336 //new one when the suggestion triggers again 337 b0xTPortal_address_data.token_session = undefined; 338 339 if (!b0xTPortal_place.location) { 340 b0xTPortal_address_data.b0xTPortal_refresh_google_verification(); 341 342 if(b0xTPortal_address_data.dBox) { 343 b0xTPortal_address_data.dBox.b0xTPortal_open_dialog("WARNING!!", 'No details available for input: '+b0xTPortal_place.displayName, null); 344 } 345 return; 346 } 347 348 //get autocompleted address 349 let b0xTPortal_street_number = b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'street_number' ); 350 b0xTPortal_street_number.shortText = b0xTPortal_street_number.shortText ? b0xTPortal_street_number.shortText : b0xTPortal_address_data.config.searchCtrl.value.split(' ')[0].replaceAll(/\D/g, ''); 351 352 let b0xTPortal_street_name = b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'street_address' ); 353 b0xTPortal_street_name = b0xTPortal_street_name.longText ? b0xTPortal_street_name : b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'route' ); 354 b0xTPortal_street_name = b0xTPortal_street_name.longText ? b0xTPortal_street_name : b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'intersection' ); 355 356 let b0xTPortal_city = b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'locality' ); 357 b0xTPortal_city = b0xTPortal_city.longText ? b0xTPortal_city : b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'administrative_area_level_3' ); 358 b0xTPortal_city = b0xTPortal_city.longText ? b0xTPortal_city : b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'sublocality_level_1' ); 359 360 let b0xTPortal_state = b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'administrative_area_level_1' ); 361 let b0xTPortal_postal = b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'postal_code' ); 362 let b0xTPortal_postal_suffix = b0xTPortal_address_data._b0xTPortal_find_address_component( b0xTPortal_place.addressComponents, 'postal_code_suffix' ); 363 364 //we are done, clear address field 365 b0xTPortal_address_data.config.addressCtrl.value = ""; 366 367 //however, is state part of the selected country ? 368 //if not we dont want to go any further than this 369 var found_state = 0; 370 for(var option of b0xTPortal_address_data.config.stateCtrl.options) { 371 if(option.value == b0xTPortal_state.shortText) { 372 found_state++; 373 } 374 } 375 376 if(!found_state) { 377 b0xTPortal_address_data.config.cityCtrl.value = ""; 378 b0xTPortal_address_data.config.stateCtrl.value = ""; 379 b0xTPortal_address_data.b0xTPortal_refresh_google_verification(); 380 if(b0xTPortal_address_data.dBox) { 381 b0xTPortal_address_data.dBox.b0xTPortal_open_dialog("WARNING!!", "This address appears to reside in a country that is not accepted by this company", null); 382 } 383 return; 384 } 385 386 b0xTPortal_address_data.config.addressCtrl.value = `${b0xTPortal_street_number.shortText} ${b0xTPortal_street_name.shortText}`; 387 b0xTPortal_address_data.current_address = `${b0xTPortal_street_number.shortText} ${b0xTPortal_street_name.shortText}`; 388 b0xTPortal_address_data.config.cityCtrl.value = b0xTPortal_city.longText; 389 b0xTPortal_address_data.config.stateCtrl.value = b0xTPortal_state.shortText; 390 b0xTPortal_address_data.config.postalCtrl.value = b0xTPortal_postal.shortText; 391 392 //check if the address is rooftop 393 let b0xTPortal_verified = b0xTPortal_place.types.includes('premise') || b0xTPortal_place.location.location_type == 'ROOFTOP' || b0xTPortal_postal_suffix.shortText.length; 394 395 b0xTPortal_verified = b0xTPortal_verified ? 1 : 0; 396 b0xTPortal_address_data.b0xTPortal_refresh_google_verification(b0xTPortal_verified); 397 }; 398 399 this._b0xTPortal_fill_in_address_legacy = function () { 400 var b0xTPortal_place = b0xTPortal_address_data.placeautocomplete_legacy.getPlace(); 39 401 40 402 if (!b0xTPortal_place.geometry) { … … 98 460 }; 99 461 100 this._b0xTPortal_find_address_component = function( b0xTPortal_address_array, b0xTPortal_search) {462 this._b0xTPortal_find_address_component = function(b0xTPortal_address_array, b0xTPortal_search, b0xTPortal_arg_legacy) { 101 463 for( let i = 0; i < b0xTPortal_address_array.length; i++ ) { 102 464 if ( b0xTPortal_address_array[i].types[0] == b0xTPortal_search ) { … … 104 466 } 105 467 } 106 return { long_name: '', short_name: '', types: [ b0xTPortal_search ] }; 468 if(b0xTPortal_arg_legacy) { 469 return { long_name: '', short_name: '', types: [ b0xTPortal_search ] }; 470 } 471 return { longText: '', shortText: '', types: [ b0xTPortal_search ] }; 107 472 }; 108 473 … … 129 494 }; 130 495 131 this._b0xTPortal_address_changed = function() { 132 if(b0xTPortal_address_data.validated * 1 == 0) {} else { 133 b0xTPortal_address_data.b0xTPortal_refresh_google_verification(0); 134 } 496 this._b0xTPortal_address_changed = function(b0xTPortal_arg_legacy) { 497 let b0xTPortal_the_work = function() { 498 if(b0xTPortal_address_data.validated * 1 == 0) {} else { 499 b0xTPortal_address_data.b0xTPortal_refresh_google_verification(0); 500 } 501 } 502 503 if(b0xTPortal_arg_legacy) { 504 b0xTPortal_the_work(); 505 return; 506 } 507 508 clearTimeout(b0xTPortal_address_data.changeTimeout); 509 b0xTPortal_address_data.changeTimeout = setTimeout(function() { 510 b0xTPortal_the_work(); 511 }, 500); 135 512 }; 136 513 … … 167 544 } 168 545 169 170 -
box-tracker-portal/trunk/javascript/dynamic-templates/add-edit-jobsite-page.js
r2924835 r3329796 305 305 "stateCtrl" : b0xTPortal_data.fields["b0xTPortal_jobsite_state"], 306 306 "postalCtrl" : b0xTPortal_data.fields["b0xTPortal_jobsite_zip"], 307 "validateCtrl" : b0xTPortal_data.fields["b0xTPortal_google_validator"] 307 "validateCtrl" : b0xTPortal_data.fields["b0xTPortal_google_validator"], 308 "imageUrl": b0xTPortal_data.config.image_url 308 309 }); 309 310 } -
box-tracker-portal/trunk/readme.txt
r3278350 r3329796 4 4 Requires PHP: 5.6.4 5 5 Tested up to: 6.8 6 Stable tag: 1.1. 56 Stable tag: 1.1.6 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html
Note: See TracChangeset
for help on using the changeset viewer.