mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-11 20:13:28 +00:00
Login page geonames plugin integration
This commit is contained in:
@@ -17,13 +17,18 @@ require.config({
|
||||
backbone: "../assets/backbone-amd/backbone",
|
||||
i18n: "../assets/i18next/release/i18next.amd-1.6.2.min",
|
||||
bootstrap: "../skins/build/bootstrap/js/bootstrap.min",
|
||||
multiselect: "../assets/bootstrap-multiselect/js/bootstrap-multiselect"
|
||||
multiselect: "../assets/bootstrap-multiselect/js/bootstrap-multiselect",
|
||||
"jquery.geocompleter": "../assets/geonames-server-jquery-plugin/jquery.geonames"
|
||||
},
|
||||
shim: {
|
||||
bootstrap : ["jquery"],
|
||||
jqueryui: {
|
||||
deps: ["jquery"]
|
||||
},
|
||||
"jquery.geocompleter" : {
|
||||
deps: ['jquery'],
|
||||
exports: 'jQuery.fn.geocompleter'
|
||||
},
|
||||
multiselect: {
|
||||
deps: ["jquery", "bootstrap"]
|
||||
}
|
||||
|
@@ -12,7 +12,9 @@ require([
|
||||
"jquery",
|
||||
"i18n",
|
||||
"apps/login/home/common",
|
||||
"common/forms/views/formType/passwordSetter"
|
||||
"common/forms/views/formType/passwordSetter",
|
||||
"jqueryui",
|
||||
"jquery.geocompleter"
|
||||
], function($, i18n, Common, RegisterForm) {
|
||||
var fieldsConfiguration = [];
|
||||
|
||||
@@ -80,10 +82,57 @@ require([
|
||||
}
|
||||
});
|
||||
|
||||
var $form = $("form[name=registerForm]");
|
||||
|
||||
new RegisterForm({
|
||||
el : $("form[name=registerForm]"),
|
||||
el : $form,
|
||||
rules: rules
|
||||
});
|
||||
|
||||
var geocompleter = $("#geonameid").geocompleter({
|
||||
"server": $form.data("geonames-server-adress"),
|
||||
"limit": 40
|
||||
});
|
||||
|
||||
// Positioning menu below input
|
||||
geocompleter.geocompleter("autocompleter", "option", "position", {
|
||||
"of": geocompleter.closest(".input-table"),
|
||||
"my": "left top",
|
||||
"at": "left bottom"
|
||||
});
|
||||
|
||||
// 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 open menu calculate max-width
|
||||
geocompleter.geocompleter("autocompleter", "on", "autocompleteopen", function(event, ui) {
|
||||
$(this).autocomplete("widget").css("min-width", geocompleter.closest(".input-table").outerWidth());
|
||||
});
|
||||
|
||||
// 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');
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user