fix #499 l'appui sur la touche ENTER quand on est dans la zone de titre d'un envois pusch, recharge l'interface de prod.

This commit is contained in:
Nicolas Le Goff
2012-03-02 12:30:51 +01:00
parent f9ded1d01a
commit 145a650abb

View File

@@ -1,6 +1,7 @@
;(function(window){ ;
(function(window){
var Feedback = function($container, context){ var Feedback = function($container, context){
this.container = $($container); this.container = $($container);
@@ -12,7 +13,7 @@
{ {
selector:'.badge' selector:'.badge'
} }
); );
var $this = this; var $this = this;
@@ -40,13 +41,13 @@
$('body').append('<div id="user_adder_dialog" style="display:none;"></div>'); $('body').append('<div id="user_adder_dialog" style="display:none;"></div>');
} }
$('#user_adder_dialog').addClass('loading').empty().dialog({ $('#user_adder_dialog').addClass('loading').empty().dialog({
buttons:{}, buttons:{},
draggable:false, draggable:false,
resizable:false, resizable:false,
closeOnEscape:true, closeOnEscape:true,
modal:true, modal:true,
width:'400', width:'400',
height:'400' height:'400'
}).dialog( "moveToTop" ); }).dialog( "moveToTop" );
}, },
success: function(data){ success: function(data){
@@ -156,48 +157,59 @@
}); });
$('.FeedbackSend', this.container).bind('click', function(){ $('.FeedbackSend', this.container).bind('click', function(){
if($('.badges .badge', $container).length === 0) if($('.badges .badge', $container).length === 0)
{ {
alert(language.FeedBackNoUsersSelected); alert(language.FeedBackNoUsersSelected);
return; return;
}
var buttons = {};
buttons[language.send] = function(){
$dialog.Close();
$('input[name="name"]', $FeedBackForm).val($('input[name="name"]', $dialog.getDomElement()).val());
$('input[name="duration"]', $FeedBackForm).val($('select[name="duration"]', $dialog.getDomElement()).val());
$('textarea[name="message"]', $FeedBackForm).val($('textarea[name="message"]', $dialog.getDomElement()).val());
$('input[name="recept"]', $FeedBackForm).attr('checked', $('input[name="recept"]', $dialog.getDomElement()).attr('checked'));
$FeedBackForm.trigger('submit');
};
var options = {
size : 'Small',
buttons : buttons,
loading : true,
title : language.send,
closeOnEscape : true,
cancelButton : true
};
var $dialog = p4.Dialog.Create(options, 2);
$dialog.getDomElement().bind("keypress", function(event){
if(event.which){
if(event.which==13){
return false;
} }
}
});
var $FeedBackForm = $('form[name="FeedBackForm"]', $container);
var buttons = {}; var callback = function(rendered){
buttons[language.send] = function(){ $dialog.setContent(rendered);
$dialog.Close();
$('input[name="name"]', $FeedBackForm).val($('input[name="name"]', $dialog.getDomElement()).val()); $('input[name="name"]', $dialog.getDomElement()).val($('input[name="name"]', $FeedBackForm).val());
$('input[name="duration"]', $FeedBackForm).val($('select[name="duration"]', $dialog.getDomElement()).val()); $('textarea[name="message"]', $dialog.getDomElement()).val($('textarea[name="message"]', $FeedBackForm).val());
$('textarea[name="message"]', $FeedBackForm).val($('textarea[name="message"]', $dialog.getDomElement()).val()); $('.' + $this.Context, $dialog.getDomElement()).show();
$('input[name="recept"]', $FeedBackForm).attr('checked', $('input[name="recept"]', $dialog.getDomElement()).attr('checked'));
};
$FeedBackForm.trigger('submit'); p4.Mustache.Render('Feedback-SendForm', {
}; language:language
}, callback);
var options = {
size : 'Small',
buttons : buttons,
loading : true,
title : language.send,
closeOnEscape : true,
cancelButton : true
};
var $dialog = p4.Dialog.Create(options, 2);
var $FeedBackForm = $('form[name="FeedBackForm"]', $container);
var callback = function(rendered){
$dialog.setContent(rendered);
$('input[name="name"]', $dialog.getDomElement()).val($('input[name="name"]', $FeedBackForm).val());
$('textarea[name="message"]', $dialog.getDomElement()).val($('textarea[name="message"]', $FeedBackForm).val());
$('.' + $this.Context, $dialog.getDomElement()).show();
};
p4.Mustache.Render('Feedback-SendForm', {language:language}, callback);
}).button(); }).button();
$('.user_content .badges', this.container).disableSelection(); $('.user_content .badges', this.container).disableSelection();
@@ -235,7 +247,9 @@
$('.user_content .badges .badge .deleter', this.container).live('click', function(event){ $('.user_content .badges .badge .deleter', this.container).live('click', function(event){
var $elem = $(this).closest('.badge'); var $elem = $(this).closest('.badge');
$elem.fadeOut(function(){$elem.remove();}); $elem.fadeOut(function(){
$elem.remove();
});
return; return;
}); });
@@ -274,65 +288,68 @@
return false; return false;
} }
p4.Lists.create($input.val(), function(list){$input.val('');list.addUsers(users);}); p4.Lists.create($input.val(), function(list){
$input.val('');
list.addUsers(users);
});
return false; return false;
}); });
$('input[name="users-search"]', this.container).autocomplete({ $('input[name="users-search"]', this.container).autocomplete({
minLength: 2, minLength: 2,
source: function( request, response ) { source: function( request, response ) {
$.ajax({ $.ajax({
url: '/prod/push/search-user/', url: '/prod/push/search-user/',
dataType: "json", dataType: "json",
data: { data: {
query: request.term query: request.term
},
success: function( data ) {
response( data );
}
});
}, },
select: function( event, ui ) { success: function( data ) {
if(ui.item.type == 'USER') response( data );
{
$this.selectUser(ui.item);
}
if(ui.item.type == 'LIST')
{
for(e in ui.item.entries)
{
$this.selectUser(ui.item.entries[e].User);
}
}
return false;
} }
});
},
select: function( event, ui ) {
if(ui.item.type == 'USER')
{
$this.selectUser(ui.item);
}
if(ui.item.type == 'LIST')
{
for(e in ui.item.entries)
{
$this.selectUser(ui.item.entries[e].User);
}
}
return false;
}
}) })
.data( "autocomplete" )._renderItem = function( ul, item ) { .data( "autocomplete" )._renderItem = function( ul, item ) {
var autocompleter = $('input[name="users-search"]', $this.container); var autocompleter = $('input[name="users-search"]', $this.container);
autocompleter.addClass('loading'); autocompleter.addClass('loading');
var callback = function(datas){ var callback = function(datas){
$(datas).data( "item.autocomplete", item ).appendTo( ul ); $(datas).data( "item.autocomplete", item ).appendTo( ul );
autocompleter.data( "autocomplete" ).menu.refresh(); autocompleter.data( "autocomplete" ).menu.refresh();
autocompleter.data('autocomplete')._resizeMenu(); autocompleter.data('autocomplete')._resizeMenu();
autocompleter.removeClass('loading'); autocompleter.removeClass('loading');
};
if(item.type == 'USER')
{
var datas = p4.Mustache.Render('List-User-Item', item, callback);
}
if(item.type == 'LIST')
{
var datas = p4.Mustache.Render('List-List-Item', item, callback);
}
return;
}; };
if(item.type == 'USER')
{
var datas = p4.Mustache.Render('List-User-Item', item, callback);
}
if(item.type == 'LIST')
{
var datas = p4.Mustache.Render('List-List-Item', item, callback);
}
return;
};
return this; return this;
}; };
@@ -365,7 +382,9 @@
type: 'GET', type: 'GET',
url: '/prod/push/user/' + usr_id + '/', url: '/prod/push/user/' + usr_id + '/',
dataType: 'json', dataType: 'json',
data: {usr_id : usr_id}, data: {
usr_id : usr_id
},
success: function(data){ success: function(data){
if(typeof callback === 'function') if(typeof callback === 'function')
{ {
@@ -467,13 +486,13 @@
$('body').append('<div id="user_adder_dialog" style="display:none;"></div>'); $('body').append('<div id="user_adder_dialog" style="display:none;"></div>');
} }
$('#user_adder_dialog').addClass('loading').empty().dialog({ $('#user_adder_dialog').addClass('loading').empty().dialog({
buttons:{}, buttons:{},
draggable:false, draggable:false,
resizable:false, resizable:false,
closeOnEscape:true, closeOnEscape:true,
modal:true, modal:true,
width:'400', width:'400',
height:'400' height:'400'
}).dialog( "moveToTop" ); }).dialog( "moveToTop" );
}, },
success: function(data){ success: function(data){