Add ZIP lookup tool to rate calculator
This commit is contained in:
parent
905a465ecd
commit
7e769d53f9
@ -41,12 +41,14 @@ var itemTypeCharacteristics = {
|
||||
function updateRateForm() {
|
||||
if ($("#to_country").val() == "" || $("#to_country").val() == "US") {
|
||||
$(".citystateboxes").css("display", "none");
|
||||
$("#zipcodelookuplink").css("display", "");
|
||||
$("#ziptext").html("ZIP Code");
|
||||
$("#to_zip").attr("inputmode", "numeric");
|
||||
$("#to_zip").attr("required", "true");
|
||||
$("#to_zip").attr("placeholder", "ZIP Code");
|
||||
} else {
|
||||
$(".citystateboxes").css("display", "");
|
||||
$("#zipcodelookuplink").css("display", "none");
|
||||
$("#ziptext").html("Postal Code");
|
||||
$("#to_zip").attr("inputmode", "text");
|
||||
$("#to_zip").removeAttr("required");
|
||||
@ -150,4 +152,59 @@ function getRates() {
|
||||
sendErrorReport("Rates", "Couldn't get rates", "Server/network problem: " + xhr.status + ": " + xhr.statusText);
|
||||
}
|
||||
}, "GET");
|
||||
}
|
||||
|
||||
function doZipCodeLookup(street, city, state) {
|
||||
if (street == "") {
|
||||
app.dialog.alert("You need to enter a street address.", "ZIP Code Lookup");
|
||||
return;
|
||||
}
|
||||
if (city == "") {
|
||||
app.dialog.alert("You need to enter a city.", "ZIP Code Lookup");
|
||||
return;
|
||||
}
|
||||
if (state == "") {
|
||||
app.dialog.alert("You need to select a state.", "ZIP Code Lookup");
|
||||
return;
|
||||
}
|
||||
|
||||
app.dialog.preloader("Searching...");
|
||||
|
||||
apirequest(
|
||||
SETTINGS.apis.zipcodelookup,
|
||||
{
|
||||
street: street,
|
||||
city: city,
|
||||
state: state
|
||||
},
|
||||
function (resp) {
|
||||
app.dialog.close();
|
||||
if (resp.status == "OK") {
|
||||
app.popup.close();
|
||||
$("#to_street1").val(resp.address.address);
|
||||
$("#to_zip").val(resp.address.zip);
|
||||
app.input.checkEmptyState('#to_street1');
|
||||
app.input.checkEmptyState('#to_zip');
|
||||
app.dialog.alert("The correct ZIP Code is " + resp.address.zip, "ZIP Code Lookup");
|
||||
} else {
|
||||
app.dialog.alert(resp.msg, "Error");
|
||||
sendErrorReport("ZIP Lookup", "Couldn't get ZIP Code", resp.msg);
|
||||
}
|
||||
},
|
||||
function (xhr) {
|
||||
app.dialog.close();
|
||||
try {
|
||||
var error = $.parseJSON(xhr.responseText);
|
||||
if (error && typeof error.msg != 'undefined') {
|
||||
app.dialog.alert(error.msg, "Error");
|
||||
sendErrorReport("ZIP Lookup", "Couldn't get ZIP Code", error.msg);
|
||||
} else {
|
||||
app.dialog.alert("There's a server or network problem. Check your Internet connection or try again later.", "Error");
|
||||
sendErrorReport("ZIP Lookup", "Couldn't get ZIP Code", "Server/network problem: " + xhr.status + ": " + xhr.statusText);
|
||||
}
|
||||
} catch (ex) {
|
||||
app.dialog.alert("There's a server or network problem. Check your Internet connection or try again later.", "Error");
|
||||
sendErrorReport("ZIP Lookup", "Couldn't get ZIP Code", "Server/network problem: " + xhr.status + ": " + xhr.statusText);
|
||||
}
|
||||
}, "GET");
|
||||
}
|
@ -69,6 +69,7 @@
|
||||
<input type="text" id="to_zip" inputmode="numeric" />
|
||||
<span class="input-clear-button"></span>
|
||||
</div>
|
||||
<a href="#" class="popup-open" id="zipcodelookuplink" onclick="$('#ziplookup_address').val($('#to_street1').val());" data-popup="#zipLookupPopup">I don't know the ZIP Code</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item-content item-input item-input-outline citystateboxes" style="display: none;">
|
||||
@ -465,4 +466,126 @@
|
||||
<div class="popup" id="rateResultPopup">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="popup" id="zipLookupPopup">
|
||||
<div class="navbar">
|
||||
<div class="navbar-bg"></div>
|
||||
<div class="navbar-inner">
|
||||
<div class="left">
|
||||
<a class="link popup-close" href="#">
|
||||
<i class="icon icon-back"></i>
|
||||
<span class="if-not-md">Close</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="title">ZIP Code Lookup</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list margin-bottom-half margin-top-half">
|
||||
<ul>
|
||||
<li class="item-content item-input">
|
||||
<div class="item-inner">
|
||||
<div class="item-title item-label">Address</div>
|
||||
<div class="item-input-wrap">
|
||||
<input type="text" id="ziplookup_address" placeholder="123 Example St"/>
|
||||
<span class="input-clear-button"></span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item-content item-input">
|
||||
<div class="item-inner">
|
||||
<div class="item-title item-label">City</div>
|
||||
<div class="item-input-wrap">
|
||||
<input type="text" id="ziplookup_city" placeholder="Helena"/>
|
||||
<span class="input-clear-button"></span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item-content item-input">
|
||||
<div class="item-inner">
|
||||
<div class="item-title item-label">State/Territory</div>
|
||||
<div class="item-input-wrap">
|
||||
<select id="ziplookup_state">
|
||||
<option value=""></option>
|
||||
<optgroup label="States">
|
||||
<option value="AL">Alabama</option>
|
||||
<option value="AK">Alaska</option>
|
||||
<option value="AZ">Arizona</option>
|
||||
<option value="AR">Arkansas</option>
|
||||
<option value="CA">California</option>
|
||||
<option value="CO">Colorado</option>
|
||||
<option value="CT">Connecticut</option>
|
||||
<option value="DC">District of Columbia/Washington D.C.</option>
|
||||
<option value="DE">Delaware</option>
|
||||
<option value="FL">Florida</option>
|
||||
<option value="GA">Georgia</option>
|
||||
<option value="HI">Hawaii</option>
|
||||
<option value="ID">Idaho</option>
|
||||
<option value="IL">Illinois</option>
|
||||
<option value="IN">Indiana</option>
|
||||
<option value="IA">Iowa</option>
|
||||
<option value="KS">Kansas</option>
|
||||
<option value="KY">Kentucky</option>
|
||||
<option value="LA">Louisiana</option>
|
||||
<option value="ME">Maine</option>
|
||||
<option value="MD">Maryland</option>
|
||||
<option value="MA">Massachusetts</option>
|
||||
<option value="MI">Michigan</option>
|
||||
<option value="MN">Minnesota</option>
|
||||
<option value="MS">Mississippi</option>
|
||||
<option value="MO">Missouri</option>
|
||||
<option value="MT">Montana</option>
|
||||
<option value="NE">Nebraska</option>
|
||||
<option value="NV">Nevada</option>
|
||||
<option value="NH">New Hampshire</option>
|
||||
<option value="NJ">New Jersey</option>
|
||||
<option value="NM">New Mexico</option>
|
||||
<option value="NY">New York</option>
|
||||
<option value="NC">North Carolina</option>
|
||||
<option value="ND">North Dakota</option>
|
||||
<option value="OH">Ohio</option>
|
||||
<option value="OK">Oklahoma</option>
|
||||
<option value="OR">Oregon</option>
|
||||
<option value="PA">Pennsylvania</option>
|
||||
<option value="RI">Rhode Island</option>
|
||||
<option value="SC">South Carolina</option>
|
||||
<option value="SD">South Dakota</option>
|
||||
<option value="TN">Tennessee</option>
|
||||
<option value="TX">Texas</option>
|
||||
<option value="UT">Utah</option>
|
||||
<option value="VT">Vermont</option>
|
||||
<option value="VA">Virginia</option>
|
||||
<option value="WA">Washington</option>
|
||||
<option value="WV">West Virginia</option>
|
||||
<option value="WI">Wisconsin</option>
|
||||
<option value="WY">Wyoming</option>
|
||||
</optgroup>
|
||||
<optgroup label="Military">
|
||||
<option value="AE">AE: Europe, Middle East, Canada</option>
|
||||
<option value="AP">AP: Pacific</option>
|
||||
<option value="AA">AA: Americas (except Canada)</option>
|
||||
</optgroup>
|
||||
<optgroup label="Territories">
|
||||
<option value="AS">American Samoa</option>
|
||||
<option value="GU">Guam</option>
|
||||
<option value="MP">Northern Mariana Islands</option>
|
||||
<option value="PR">Puerto Rico</option>
|
||||
<option value="VI">U.S. Virgin Islands</option>
|
||||
</optgroup>
|
||||
<optgroup label="Freely Associated States">
|
||||
<option value="FM">Federated States of Micronesia</option>
|
||||
<option value="MH">Marshall Islands</option>
|
||||
<option value="PW">Palau</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item-content">
|
||||
<div class="button hapticbtn button-fill" onclick="doZipCodeLookup($('#ziplookup_address').val(), $('#ziplookup_city').val(), $('#ziplookup_state').val());">
|
||||
<i class="fa-solid fa-search"></i> Find ZIP Code
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -11,6 +11,8 @@ var SETTINGS = {
|
||||
trackmultiple: "http://localhost/helena.express/apis/trackmultiple/",
|
||||
// Shipping rates
|
||||
rates: "http://localhost/helena.express/apis/rates/",
|
||||
// ZIP Code lookup
|
||||
zipcodelookup: "http://localhost/helena.express/apis/zipcodelookup/",
|
||||
// Get appointment iframe URL
|
||||
appointmentredirect: "http://localhost/helena.express/apis/appointmentredirect/",
|
||||
// Request home pickup
|
||||
|
Loading…
x
Reference in New Issue
Block a user