forked from Netsyms/PackageHelper
Add address lookup tool (close #34)
parent
076c2cf76a
commit
f25a9c6374
@ -0,0 +1,79 @@
|
|||||||
|
/*
|
||||||
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
function addressLookup() {
|
||||||
|
if ($("#numberstreetinput").val() == "") {
|
||||||
|
app.dialog.alert("A street address is required.", "Not enough info");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($("#cityinput").val() == "" || $("#stateinput").val() == "") {
|
||||||
|
var ziprequired = true;
|
||||||
|
}
|
||||||
|
if ($("#zipcodeinput").val() == "" && ziprequired) {
|
||||||
|
app.dialog.alert("A ZIP code or city and state are required.", "Not enough info");
|
||||||
|
}
|
||||||
|
app.dialog.preloader("Working...");
|
||||||
|
var addrlookupdialogopen = true;
|
||||||
|
$.ajax({
|
||||||
|
url: SETTINGS.addrlookupapi,
|
||||||
|
dataType: 'json',
|
||||||
|
method: 'post',
|
||||||
|
data: {
|
||||||
|
"street": $("#numberstreetinput").val(),
|
||||||
|
"unit": $("#unitinput").val(),
|
||||||
|
"city": $("#cityinput").val(),
|
||||||
|
"state": $("#stateinput").val(),
|
||||||
|
"zip": $("#zipcodeinput").val()
|
||||||
|
},
|
||||||
|
timeout: 15 * 1000,
|
||||||
|
success: function (resp) {
|
||||||
|
if (addrlookupdialogopen) {
|
||||||
|
app.dialog.close();
|
||||||
|
addrlookupdialogopen = false;
|
||||||
|
}
|
||||||
|
if (resp.status == "OK") {
|
||||||
|
if (resp.address.status == "OK") {
|
||||||
|
var address = resp.address;
|
||||||
|
$(".item-text #address").text(address.address);
|
||||||
|
var zipstr = "";
|
||||||
|
if (address.zip != "") {
|
||||||
|
zipstr = address.zip;
|
||||||
|
}
|
||||||
|
if (address.plus4 != "") {
|
||||||
|
zipstr += "-" + address.plus4;
|
||||||
|
}
|
||||||
|
$(".item-text #citystate").text(address.city + " " + address.state + " " + zipstr);
|
||||||
|
|
||||||
|
$(".item-text #dp").text(address.delivery_point);
|
||||||
|
$(".item-text #route").text(address.route);
|
||||||
|
$(".item-text #county").text(address.county);
|
||||||
|
$(".item-text #dpvconfirmed").text(address.dpv_confirmed ? "Yes" : "No");
|
||||||
|
$(".addrresult").removeClass("display-none");
|
||||||
|
} else {
|
||||||
|
$(".addrresult").addClass("display-none");
|
||||||
|
app.dialog.alert(resp.address.message, "Error");
|
||||||
|
}
|
||||||
|
if (resp.geocode.status == "OK") {
|
||||||
|
$(".georesult").removeClass("display-none");
|
||||||
|
$(".item-text #geocoords").text(resp.geocode.latitude + ", " + resp.geocode.longitude);
|
||||||
|
$(".item-text #geocoords").attr("src", "geo:" + resp.geocode.latitude + "," + resp.geocode.longitude);
|
||||||
|
} else {
|
||||||
|
$(".georesult").addClass("display-none");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
app.dialog.alert(resp.message, "Error");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (jqXHR, status, errorThrown) {
|
||||||
|
if (addrlookupdialogopen) {
|
||||||
|
app.dialog.close();
|
||||||
|
addrlookupdialogopen = false;
|
||||||
|
}
|
||||||
|
app.dialog.alert("There was a network or server issue. Please try again.", "Error");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
@ -0,0 +1,125 @@
|
|||||||
|
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||||
|
|
||||||
|
<div class="page" data-name="addrlookup">
|
||||||
|
|
||||||
|
<div class="navbar">
|
||||||
|
<div class="navbar-bg"></div>
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="left">
|
||||||
|
<a class="link" onclick="router.back({force: true, ignoreCache: true})">
|
||||||
|
<i class="icon icon-back"></i>
|
||||||
|
<span class="if-not-md">Back</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="title">Address Lookup</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="page-content">
|
||||||
|
<div class="list no-margin-top">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<div class="row justify-content-stretch">
|
||||||
|
<div class="col-70 item-content item-input">
|
||||||
|
<div class="item-inner">
|
||||||
|
<div class="item-title item-label">Number and Street</div>
|
||||||
|
<div class="item-input-wrap">
|
||||||
|
<input type="text" id="numberstreetinput" placeholder="1234 Example Rd" value="" autocomplete="off" autocorrect="off">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-30 item-content item-input no-padding-left">
|
||||||
|
<div class="item-inner no-padding-right">
|
||||||
|
<div class="item-title item-label">Unit</div>
|
||||||
|
<div class="item-input-wrap">
|
||||||
|
<input type="text" id="unitinput" placeholder="" value="" autocomplete="off" autocorrect="off">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="row justify-content-stretch">
|
||||||
|
<div class="col-50 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="cityinput" placeholder="City" value="" autocomplete="off" autocorrect="off">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-20 item-content item-input">
|
||||||
|
<div class="item-inner">
|
||||||
|
<div class="item-title item-label">State</div>
|
||||||
|
<div class="item-input-wrap">
|
||||||
|
<input type="text" id="stateinput" placeholder="ST" value="" maxlength="2" autocomplete="off" autocorrect="off">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-30 item-content item-input no-padding-left">
|
||||||
|
<div class="item-inner no-padding-right">
|
||||||
|
<div class="item-title item-label">ZIP</div>
|
||||||
|
<div class="item-input-wrap">
|
||||||
|
<input type="text" id="zipcodeinput" placeholder="12345" value="" autocomplete="off" autocorrect="off">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="item-content">
|
||||||
|
<a class="button button-fill margin-bottom-half" id="addresslookupbtn" onclick="addressLookup();"><i class="fas fa-search"></i> Lookup</a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="item-divider">Result</li>
|
||||||
|
<li class="addrresult display-none">
|
||||||
|
<div class="item-content">
|
||||||
|
<div class="item-inner">
|
||||||
|
<div class="item-text"><span id="address"></span><br /><span id="citystate"></span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="addrresult display-none">
|
||||||
|
<div class="item-content">
|
||||||
|
<div class="item-inner">
|
||||||
|
<div class="item-text">Delivery Point: <span id="dp"></span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="addrresult display-none">
|
||||||
|
<div class="item-content">
|
||||||
|
<div class="item-inner">
|
||||||
|
<div class="item-text">Route: <span id="route"></span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="addrresult display-none">
|
||||||
|
<div class="item-content">
|
||||||
|
<div class="item-inner">
|
||||||
|
<div class="item-text">County: <span id="county"></span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="addrresult display-none">
|
||||||
|
<div class="item-content">
|
||||||
|
<div class="item-inner">
|
||||||
|
<div class="item-text">DPV Confirmed: <span id="dpvconfirmed"></span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="georesult display-none">
|
||||||
|
<div class="item-content">
|
||||||
|
<div class="item-inner">
|
||||||
|
<div class="item-text">Geo: <a id="geocoords"></a></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="assets/js/toolbox_addresslookup.js"></script>
|
||||||
|
|
||||||
|
</div>
|
Loading…
Reference in New Issue