Contacts: Added autocomplete using geonames.org.
This commit is contained in:
parent
b3f107ddda
commit
fc555b48ec
|
@ -28,6 +28,7 @@ dl.form { width: 100%; float: left; clear: right; margin: 0; padding: 0; }
|
|||
.form dd { display: table-cell; clear: right; float: left; margin: 0; padding: 0px; white-space: nowrap; vertical-align: text-bottom; }
|
||||
|
||||
.loading { background: url('../../../core/img/loading.gif') no-repeat center !important; /*cursor: progress; */ cursor: wait; }
|
||||
.ui-autocomplete-loading { background: url('../../../core/img/loading.gif') right center no-repeat; }
|
||||
.float { float: left; }
|
||||
.listactions { height: 1em; width:60px; float: left; clear: right; }
|
||||
.add,.edit,.delete,.mail, .globe { cursor: pointer; width: 20px; height: 20px; margin: 0; float: left; position:relative; display: none; }
|
||||
|
|
|
@ -908,10 +908,92 @@ Contacts={
|
|||
container.remove();
|
||||
}
|
||||
//Contacts.UI.showHideContactInfo();
|
||||
}/*,
|
||||
},
|
||||
open : function(event, ui) {
|
||||
// load 'ADR' property - maybe :-P
|
||||
}*/
|
||||
$( "#adr_city" ).autocomplete({
|
||||
source: function( request, response ) {
|
||||
$.ajax({
|
||||
url: "http://ws.geonames.org/searchJSON",
|
||||
dataType: "jsonp",
|
||||
data: {
|
||||
featureClass: "P",
|
||||
style: "full",
|
||||
maxRows: 12,
|
||||
name_startsWith: request.term
|
||||
},
|
||||
success: function( data ) {
|
||||
response( $.map( data.geonames, function( item ) {
|
||||
/*for(var key in item) {
|
||||
console.log(key + ': ' + item[key]);
|
||||
}*/
|
||||
return {
|
||||
label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
|
||||
value: item.name,
|
||||
country: item.countryName
|
||||
}
|
||||
}));
|
||||
}
|
||||
});
|
||||
},
|
||||
minLength: 2,
|
||||
select: function( event, ui ) {
|
||||
if(ui.item) {
|
||||
$('#adr_country').val(ui.item.country);
|
||||
}
|
||||
/*log( ui.item ?
|
||||
"Selected: " + ui.item.label :
|
||||
"Nothing selected, input was " + this.value);*/
|
||||
},
|
||||
open: function() {
|
||||
$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
|
||||
},
|
||||
close: function() {
|
||||
$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
|
||||
}
|
||||
});
|
||||
$( "#adr_country" ).autocomplete({
|
||||
source: function( request, response ) {
|
||||
$.ajax({
|
||||
url: "http://ws.geonames.org/searchJSON",
|
||||
dataType: "jsonp",
|
||||
data: {
|
||||
/*featureClass: "A",*/
|
||||
featureCode: "PCLI",
|
||||
/*countryBias: "true",*/
|
||||
/*style: "full",*/
|
||||
maxRows: 12,
|
||||
name_startsWith: request.term
|
||||
},
|
||||
success: function( data ) {
|
||||
response( $.map( data.geonames, function( item ) {
|
||||
for(var key in item) {
|
||||
console.log(key + ': ' + item[key]);
|
||||
}
|
||||
return {
|
||||
label: item.name,
|
||||
value: item.name
|
||||
}
|
||||
}));
|
||||
}
|
||||
});
|
||||
},
|
||||
minLength: 2,
|
||||
select: function( event, ui ) {
|
||||
/*if(ui.item) {
|
||||
$('#adr_country').val(ui.item.country);
|
||||
}
|
||||
log( ui.item ?
|
||||
"Selected: " + ui.item.label :
|
||||
"Nothing selected, input was " + this.value);*/
|
||||
},
|
||||
open: function() {
|
||||
$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
|
||||
},
|
||||
close: function() {
|
||||
$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
alert(jsondata.data.message);
|
||||
|
|
|
@ -9,4 +9,5 @@
|
|||
<dd><code><?php echo OC_Helper::linkToAbsolute('contacts', 'carddav.php'); ?>/principals/<?php echo OC_User::getUser(); ?></code>/</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
Powered by <a href="http://geonames.org/" target="_blank">geonames.org webservice</a>
|
||||
</form>
|
||||
|
|
Loading…
Reference in New Issue