mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-07 18:14:35 +00:00
45 lines
1.8 KiB
JavaScript
45 lines
1.8 KiB
JavaScript
;
|
|
(function (root, factory) {
|
|
if (typeof define === 'function' && define.amd) {
|
|
define(['jquery.geonames'], factory);
|
|
} else {
|
|
root.geonames = factory();
|
|
}
|
|
}(this, function () {
|
|
return {
|
|
init: function ($field, options) {
|
|
var geocompleter = $field.geocompleter(options);
|
|
|
|
// On focus add select-state
|
|
geocompleter.geocompleter("autocompleter", "on", "autocompletefocus", function (event, ui) {
|
|
$("li", $(event.originalEvent.target)).closest("li").removeClass("selected");
|
|
$("a.ui-state-active, a.ui-state-hover, a.ui-state-focus", $(event.originalEvent.target)).closest("li").addClass("selected");
|
|
});
|
|
|
|
// On search request add loading-state
|
|
geocompleter.geocompleter("autocompleter", "on", "autocompletesearch", function (event, ui) {
|
|
$(this).addClass('input-loading');
|
|
$(this).removeClass('input-error');
|
|
});
|
|
|
|
// On response remove loading-state
|
|
geocompleter.geocompleter("autocompleter", "on", "autocompleteresponse", function (event, ui) {
|
|
$(this).removeClass('input-loading');
|
|
});
|
|
|
|
// On close menu remove loading-state
|
|
geocompleter.geocompleter("autocompleter", "on", "autocompleteclose", function (event, ui) {
|
|
$(this).removeClass('input-loading');
|
|
});
|
|
|
|
// On request error add error-state
|
|
geocompleter.geocompleter("autocompleter", "on", "geotocompleter.request.error", function (jqXhr, status, error) {
|
|
$(this).removeClass('input-loading');
|
|
$(this).addClass('input-error');
|
|
});
|
|
|
|
return geocompleter;
|
|
}
|
|
};
|
|
}));
|