Add geonames module

This commit is contained in:
Nicolas Le Goff
2013-07-03 20:11:59 +02:00
parent 456bbbb0ee
commit e20e21a3d9
7 changed files with 69 additions and 139 deletions

View File

@@ -11,39 +11,15 @@
{% block javascript %} {% block javascript %}
{{ parent() }} {{ parent() }}
<script type="text/javascript" language="javascript" src="{{ path('minifier', { 'f' : '/skins/account/account.js,assets/geonames-server-jquery-plugin/jquery.geonames.js' }) }}"></script> <script type="text/javascript" language="javascript" src="{{ path('minifier', { 'f' : '/skins/account/account.js,assets/geonames-server-jquery-plugin/jquery.geonames.js,skins/geonames/geonames.js' }) }}"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() { $(document).ready(function() {
var geocompleter = $("#form_geonameid").geocompleter({ var geocompleter = geonames.init($("#form_geonameid"), {
"server": "{{ app['phraseanet.registry'].get('GV_i18n_service') }}", "server": "{{ app['phraseanet.registry'].get('GV_i18n_service') }}",
"limit": 40 "limit": 40
}); });
geocompleter.data("geocompleter").getAutocompleter().addClass("input-xlarge"); geocompleter.data("geocompleter").getAutocompleter().addClass("input-xlarge");
// 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");
});
geocompleter.geocompleter("autocompleter", "on", "autocompletesearch", function(event, ui) {
$(this).addClass('input-loading');
$(this).removeClass('input-error');
});
geocompleter.geocompleter("autocompleter", "on", "autocompleteresponse", function(event, ui) {
$(this).removeClass('input-loading');
});
geocompleter.geocompleter("autocompleter", "on", "autocompleteclose", function(event, ui) {
$(this).removeClass('input-loading');
});
geocompleter.geocompleter("autocompleter", "on", "geotocompleter.request.error", function(jqXhr, status, error) {
$(this).removeClass('input-loading');
$(this).addClass('input-error');
});
}); });
</script> </script>
{% endblock %} {% endblock %}

View File

@@ -563,40 +563,16 @@
</div> </div>
</div> </div>
<script type="text/javascript" language="javascript" src="{{ path('minifier', { 'f' : 'assets/geonames-server-jquery-plugin/jquery.geonames.js' }) }}"></script> <script type="text/javascript" language="javascript" src="{{ path('minifier', { 'f' : 'assets/geonames-server-jquery-plugin/jquery.geonames.js,skins/geonames/geonames.js' }) }}"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function(){
ini_edit_usrs(); ini_edit_usrs();
var geocompleter = $('#user_infos_tab input.geoname_field').geocompleter({ geonames.init($('#user_infos_tab input.geoname_field'), {
"server": "{{ app['phraseanet.registry'].get('GV_i18n_service') }}", "server": "{{ app['phraseanet.registry'].get('GV_i18n_service') }}",
"limit": 40 "limit": 40
}); });
// 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");
});
geocompleter.geocompleter("autocompleter", "on", "autocompletesearch", function(event, ui) {
$(this).addClass('input-loading');
$(this).removeClass('input-error');
});
geocompleter.geocompleter("autocompleter", "on", "autocompleteresponse", function(event, ui) {
$(this).removeClass('input-loading');
});
geocompleter.geocompleter("autocompleter", "on", "autocompleteclose", function(event, ui) {
$(this).removeClass('input-loading');
});
geocompleter.geocompleter("autocompleter", "on", "geotocompleter.request.error", function(jqXhr, status, error) {
$(this).removeClass('input-loading');
$(this).addClass('input-error');
});
$('div.tabs').tabs(); $('div.tabs').tabs();
$('#users_rights_form button#reset_rights').bind('click', function(){ $('#users_rights_form button#reset_rights').bind('click', function(){

View File

@@ -63,7 +63,7 @@
{% macro choose_title(id, choose_export_title, default_export_title)%} {% macro choose_title(id, choose_export_title, default_export_title)%}
<div class="buttons_line" style="display:{% if choose_export_title %}{% else %}none{% endif %}; text-align: left;"> <div class="buttons_line" style="display:{% if choose_export_title %}{% else %}none{% endif %}; text-align: left;">
<p>{% trans 'Nom des fichiers a l\'export'%}</p> <p>{% trans 'Nom des fichiers a l\'export'%}</p>
<div style="well-small"> <div classe="well-small">
<label for="type_{{id}}_original" class="radio"> <label for="type_{{id}}_original" class="radio">
<input type="radio" name="type" id="type_{{id}}_original" {% if default_export_title == "title" %}checked{% endif %} value="title" /> <input type="radio" name="type" id="type_{{id}}_original" {% if default_export_title == "title" %}checked{% endif %} value="title" />
{% trans 'export::titre: titre du documument' %} {% trans 'export::titre: titre du documument' %}
@@ -498,6 +498,7 @@
{% endif %} {% endif %}
</div> </div>
<script type="text/javascript" language="javascript" src="{{ path('minifier', { 'f' : 'assets/geonames-server-jquery-plugin/jquery.geonames.js,skins/geonames/geonames.js' }) }}"></script>
<script type="text/javascript"> <script type="text/javascript">
function check_TOU(container) function check_TOU(container)
@@ -537,7 +538,7 @@
}); });
$('input.required, textarea.required', container).each(function(i,n){ $('input.required, textarea.required', container).each(function(i,n){
if($.trim($(n).val()) == '') if($.trim($(n).val()) === '')
{ {
required = true; required = true;
$(n).addClass('error'); $(n).addClass('error');
@@ -613,29 +614,11 @@
dialog.Close(); dialog.Close();
}); });
var geocompleter = $('#command_geoname_field').geocompleter({ geonames.init($('#command_geoname_field'), {
"server": "{{ app['phraseanet.registry'].get('GV_i18n_service') }}", "server": "{{ app['phraseanet.registry'].get('GV_i18n_service') }}",
"limit": 40 "limit": 40
}); });
geocompleter.geocompleter("autocompleter", "on", "autocompletesearch", function(event, ui) {
$(this).addClass('input-loading');
$(this).removeClass('input-error');
});
geocompleter.geocompleter("autocompleter", "on", "autocompleteresponse", function(event, ui) {
$(this).removeClass('input-loading');
});
geocompleter.geocompleter("autocompleter", "on", "autocompleteclose", function(event, ui) {
$(this).removeClass('input-loading');
});
geocompleter.geocompleter("autocompleter", "on", "geotocompleter.request.error", function(jqXhr, status, error) {
$(this).removeClass('input-loading');
$(this).addClass('input-error');
});
$('#download .download_button').bind('click',function(){ $('#download .download_button').bind('click',function(){
if(!check_subdefs($('#download'))) if(!check_subdefs($('#download')))
return false; return false;
@@ -648,8 +631,8 @@
var count = 0; var count = 0;
$('input[name="obj[]"]', $('#download')).each(function(){ $('input[name="obj[]"]', $('#download')).each(function(){
var total_el = $('#download input[name=download_'+$(this).val()+']') var total_el = $('#download input[name=download_'+$(this).val()+']');
var count_el = $('#download input[name=count_'+$(this).val()+']') var count_el = $('#download input[name=count_'+$(this).val()+']');
if($(this).attr('checked')) if($(this).attr('checked'))
{ {
total += parseInt($(total_el).val()); total += parseInt($(total_el).val());
@@ -702,7 +685,7 @@
$.post("../prod/order/" $.post("../prod/order/"
, options , options
, function(data){ , function(data){
$this.attr('disabled', false).removeClass('disabled') $this.attr('disabled', false).removeClass('disabled');
$('#order .order_button_loader').css('visibility','hidden'); $('#order .order_button_loader').css('visibility','hidden');

View File

@@ -60,39 +60,15 @@
</table> </table>
</form> </form>
</div> </div>
a
<script type="text/javascript" language="javascript" src="{{ path('minifier', { 'f' : 'assets/geonames-server-jquery-plugin/jquery.geonames.js' }) }}"></script> <script type="text/javascript" language="javascript" src="{{ path('minifier', { 'f' : 'assets/geonames-server-jquery-plugin/jquery.geonames.js,skins/geonames/geonames.js' }) }}"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() { $(document).ready(function() {
var geocompleter = $('#QuickAddUser input.geoname_field').geocompleter({ geonames.init($('#QuickAddUser input.geoname_field'), {
"server": "{{ app['phraseanet.registry'].get('GV_i18n_service') }}", "server": "{{ app['phraseanet.registry'].get('GV_i18n_service') }}",
"limit": 40 "limit": 40
}); });
// 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");
});
geocompleter.geocompleter("autocompleter", "on", "autocompletesearch", function(event, ui) {
$(this).addClass('input-loading');
$(this).removeClass('input-error');
});
geocompleter.geocompleter("autocompleter", "on", "autocompleteresponse", function(event, ui) {
$(this).removeClass('input-loading');
});
geocompleter.geocompleter("autocompleter", "on", "autocompleteclose", function(event, ui) {
$(this).removeClass('input-loading');
});
geocompleter.geocompleter("autocompleter", "on", "geotocompleter.request.error", function(jqXhr, status, error) {
$(this).removeClass('input-loading');
$(this).addClass('input-error');
});
$("#QuickAddUser button").button(); $("#QuickAddUser button").button();
$("#QuickAddUser form").bind('submit', function() { $("#QuickAddUser form").bind('submit', function() {

View File

@@ -18,16 +18,20 @@ require.config({
i18n: "../assets/i18next/release/i18next.amd-1.6.2.min", i18n: "../assets/i18next/release/i18next.amd-1.6.2.min",
bootstrap: "../skins/build/bootstrap/js/bootstrap.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" "jquery.geonames": "../assets/geonames-server-jquery-plugin/jquery.geonames",
geonames: "../skins/geonames/geonames"
}, },
shim: { shim: {
bootstrap : ["jquery"], bootstrap : ["jquery"],
jqueryui: { jqueryui: {
deps: ["jquery"] deps: ["jquery"]
}, },
"jquery.geocompleter" : { "jquery.geonames" : {
deps: ['jquery'], deps: ['jquery', 'jqueryui'],
exports: 'jQuery.fn.geocompleter' exports: '$.fn.geocompleter'
},
geonames: {
deps: ["jquery.geonames"]
}, },
multiselect: { multiselect: {
deps: ["jquery", "bootstrap"] deps: ["jquery", "bootstrap"]

View File

@@ -13,9 +13,8 @@ require([
"i18n", "i18n",
"apps/login/home/common", "apps/login/home/common",
"common/forms/views/formType/passwordSetter", "common/forms/views/formType/passwordSetter",
"jqueryui", "geonames"
"jquery.geocompleter" ], function($, i18n, Common, RegisterForm, geonames) {
], function($, i18n, Common, RegisterForm) {
var fieldsConfiguration = []; var fieldsConfiguration = [];
$.when.apply($, [ $.when.apply($, [
@@ -89,7 +88,7 @@ require([
rules: rules rules: rules
}); });
var geocompleter = $("#geonameid").geocompleter({ var geocompleter = geonames.init($("#geonameid"), {
"server": $form.data("geonames-server-adress"), "server": $form.data("geonames-server-adress"),
"limit": 40 "limit": 40
}); });
@@ -101,38 +100,10 @@ require([
"at": "left bottom" "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 // On open menu calculate max-width
geocompleter.geocompleter("autocompleter", "on", "autocompleteopen", function(event, ui) { geocompleter.geocompleter("autocompleter", "on", "autocompleteopen", function(event, ui) {
$(this).autocomplete("widget").css("min-width", geocompleter.closest(".input-table").outerWidth()); $(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');
});
}); });
}); });
}); });

View File

@@ -0,0 +1,44 @@
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
define([''], 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;
}
};
}));