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; }
|
.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; }
|
.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; }
|
.float { float: left; }
|
||||||
.listactions { height: 1em; width:60px; float: left; clear: right; }
|
.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; }
|
.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();
|
container.remove();
|
||||||
}
|
}
|
||||||
//Contacts.UI.showHideContactInfo();
|
//Contacts.UI.showHideContactInfo();
|
||||||
}/*,
|
},
|
||||||
open : function(event, ui) {
|
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 {
|
} else {
|
||||||
alert(jsondata.data.message);
|
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>
|
<dd><code><?php echo OC_Helper::linkToAbsolute('contacts', 'carddav.php'); ?>/principals/<?php echo OC_User::getUser(); ?></code>/</dd>
|
||||||
</dl>
|
</dl>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
Powered by <a href="http://geonames.org/" target="_blank">geonames.org webservice</a>
|
||||||
</form>
|
</form>
|
||||||
|
|
Loading…
Reference in New Issue