Add address lookup tool (close #34)

Skylar Ittner 4 years ago
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");
}
});
}

@ -29,7 +29,7 @@
</li>
<li>
<a href="/toolbox/track" class="item-link item-content">
<div class="item-media"><i class="icon fas fa-search-location"></i></div>
<div class="item-media"><i class="icon fas fa-search"></i></div>
<div class="item-inner">
<div class="item-title">Track Item</div>
</div>
@ -43,6 +43,14 @@
</div>
</a>
</li>
<li>
<a href="/toolbox/addrlookup" class="item-link item-content">
<div class="item-media"><i class="icon fas fa-search-location"></i></div>
<div class="item-inner">
<div class="item-title">Address Lookup</div>
</div>
</a>
</li>
<li>
<a href="/toolbox/sharelist" class="item-link item-content">
<div class="item-media"><i class="icon fas fa-share-alt"></i></div>

@ -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>

@ -264,6 +264,11 @@ var routes = [
}
}
},
{
path: '/addrlookup',
url: './pages/toolbox/addrlookup.html',
name: 'addrlookup'
},
{
path: '/sharelist',
url: './pages/toolbox/sharelist.html',

@ -361,4 +361,5 @@ var SETTINGS = {
loginurl: "https://apis.netsyms.net/packagehelper/login/",
syncapi: "https://apis.netsyms.net/packagehelper/sync.php",
mapfixapi: "https://apis.netsyms.net/packagehelper/contribgeocode.php",
addrlookupapi: "https://apis.netsyms.net/packagehelper/addresslookup.php"
}

Loading…
Cancel
Save