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 %}
{{ 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">
$(document).ready(function() {
var geocompleter = $("#form_geonameid").geocompleter({
var geocompleter = geonames.init($("#form_geonameid"), {
"server": "{{ app['phraseanet.registry'].get('GV_i18n_service') }}",
"limit": 40
});
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>
{% endblock %}

View File

@@ -563,40 +563,16 @@
</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">
$(document).ready(function(){
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') }}",
"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();
$('#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)%}
<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>
<div style="well-small">
<div classe="well-small">
<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" />
{% trans 'export::titre: titre du documument' %}
@@ -498,6 +498,7 @@
{% endif %}
</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">
function check_TOU(container)
@@ -537,7 +538,7 @@
});
$('input.required, textarea.required', container).each(function(i,n){
if($.trim($(n).val()) == '')
if($.trim($(n).val()) === '')
{
required = true;
$(n).addClass('error');
@@ -613,29 +614,11 @@
dialog.Close();
});
var geocompleter = $('#command_geoname_field').geocompleter({
geonames.init($('#command_geoname_field'), {
"server": "{{ app['phraseanet.registry'].get('GV_i18n_service') }}",
"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(){
if(!check_subdefs($('#download')))
return false;
@@ -648,8 +631,8 @@
var count = 0;
$('input[name="obj[]"]', $('#download')).each(function(){
var total_el = $('#download input[name=download_'+$(this).val()+']')
var count_el = $('#download input[name=count_'+$(this).val()+']')
var total_el = $('#download input[name=download_'+$(this).val()+']');
var count_el = $('#download input[name=count_'+$(this).val()+']');
if($(this).attr('checked'))
{
total += parseInt($(total_el).val());
@@ -702,7 +685,7 @@
$.post("../prod/order/"
, options
, function(data){
$this.attr('disabled', false).removeClass('disabled')
$this.attr('disabled', false).removeClass('disabled');
$('#order .order_button_loader').css('visibility','hidden');

View File

@@ -60,39 +60,15 @@
</table>
</form>
</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">
$(document).ready(function() {
var geocompleter = $('#QuickAddUser input.geoname_field').geocompleter({
geonames.init($('#QuickAddUser input.geoname_field'), {
"server": "{{ app['phraseanet.registry'].get('GV_i18n_service') }}",
"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 form").bind('submit', function() {

View File

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

View File

@@ -13,9 +13,8 @@ require([
"i18n",
"apps/login/home/common",
"common/forms/views/formType/passwordSetter",
"jqueryui",
"jquery.geocompleter"
], function($, i18n, Common, RegisterForm) {
"geonames"
], function($, i18n, Common, RegisterForm, geonames) {
var fieldsConfiguration = [];
$.when.apply($, [
@@ -89,7 +88,7 @@ require([
rules: rules
});
var geocompleter = $("#geonameid").geocompleter({
var geocompleter = geonames.init($("#geonameid"), {
"server": $form.data("geonames-server-adress"),
"limit": 40
});
@@ -101,38 +100,10 @@ require([
"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');
});
});
});
});

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;
}
};
}));