Ajout du service d'envoi d'email
Mise en place des invitations dans creer conf Mise en place de proprietés de config pour Servlet-config.xml Ajout des listes dynamiques dans le CSS
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
|
||||
var InvitationsManager = Class.create({
|
||||
initialize: function(buttonAdd,buttonRemove,inputField){
|
||||
this.buttonAdd = buttonAdd;
|
||||
this.buttonRemove = buttonRemove;
|
||||
this.inputField = inputField;
|
||||
$(buttonAdd).observe("click",this.addRemote.bind(this));
|
||||
$(buttonRemove).observe("click",this.removeRemote.bind(this));
|
||||
$(inputField).observe("keypress", this.keyPressHandler.bindAsEventListener(this));
|
||||
},
|
||||
select: function(event){
|
||||
var item = event.element();
|
||||
if(item.hasClassName('selected')){
|
||||
item.removeClassName('selected');
|
||||
} else {
|
||||
item.addClassName('selected');
|
||||
}
|
||||
},
|
||||
removeRemote: function() {
|
||||
var itemsToRemove = $('invitationList').select('div.selected');
|
||||
var emailList = itemsToRemove.pluck('id');
|
||||
AddCriteriaJS.removeInvitations(emailList,this.remove.bind(this));
|
||||
},
|
||||
remove: function() {
|
||||
var itemsToRemove = $('invitationList').select('div.selected');
|
||||
itemsToRemove.invoke('remove');
|
||||
},
|
||||
keyPressHandler: function(event){
|
||||
switch(event.keyCode){
|
||||
case Event.KEY_RETURN:
|
||||
this.addRemote();
|
||||
event.stop();
|
||||
return false;
|
||||
}
|
||||
},
|
||||
addRemote: function(){
|
||||
var value = $(this.inputField).value;
|
||||
AddCriteriaJS.addInvitation(value,function(success){
|
||||
if(success){
|
||||
this.add(value);
|
||||
}
|
||||
}.bind(this));
|
||||
},
|
||||
add: function(email) {
|
||||
var elem = new Element('div',
|
||||
{ 'class':'dynamicListItem',
|
||||
'style':'display:none;height:0px;width:0px;',
|
||||
'id':email}).update(email);
|
||||
$('invitationList').insert(elem);
|
||||
elem.observe('click', this.select.bindAsEventListener());
|
||||
elem.appear();
|
||||
},
|
||||
refreshList: function(){
|
||||
AddCriteriaJS.getInvitations(function(emailList){
|
||||
this.removeAll();
|
||||
emailList.each(this.add.bind(this));
|
||||
});
|
||||
},
|
||||
removeAll: function(){
|
||||
var itemsToRemove = $('invitationList').select('div.dynamicListItem');
|
||||
itemsToRemove.invoke('remove');
|
||||
}
|
||||
});
|
||||
|
||||
Event.observe(window,'load', function(){
|
||||
new InvitationsManager('inviteButton','removeInvitationButton','emailAddress')});
|
||||
54
YACOSWeb/WebContent/javascripts/yacos/submissionArticle.js
Normal file
54
YACOSWeb/WebContent/javascripts/yacos/submissionArticle.js
Normal file
@@ -0,0 +1,54 @@
|
||||
|
||||
var SecondaryAuthorManager = Class.create({
|
||||
lastRef: 0,
|
||||
initialize: function(buttonAdd,buttonRemove,inputField){
|
||||
this.buttonAdd = buttonAdd;
|
||||
this.buttonRemove = buttonRemove;
|
||||
this.inputField = inputField;
|
||||
$(buttonAdd).observe("click",this.AddSecondaryAuthor.bind(this));
|
||||
$(buttonRemove).observe("click",this.RemoveSecondaryAuthor.bind(this));
|
||||
$(inputField).observe("keypress", this.KeyPressHandler.bindAsEventListener(this));
|
||||
},
|
||||
SelectSecondaryAuthor: function(event){
|
||||
var item = event.element();
|
||||
if(item.hasClassName('selected')){
|
||||
item.removeClassName('selected');
|
||||
} else {
|
||||
item.addClassName('selected');
|
||||
}
|
||||
},
|
||||
RemoveSecondaryAuthor: function() {
|
||||
var itemsToRemove = $('secondaryAuthorList').select('div.selected');
|
||||
// Fade and remove
|
||||
itemsToRemove.invoke('fade',{
|
||||
afterFinish: function(obj){
|
||||
obj.element.remove();
|
||||
}
|
||||
});
|
||||
},
|
||||
KeyPressHandler: function(event){
|
||||
switch(event.keyCode){
|
||||
case Event.KEY_RETURN:
|
||||
this.AddSecondaryAuthor();
|
||||
event.stop();
|
||||
return false;
|
||||
}
|
||||
},
|
||||
AddSecondaryAuthor: function() {
|
||||
var ref = this.lastRef++;
|
||||
var elemName = "liste["+ref+"]";
|
||||
var value = $('newSecondaryAuthorInput').value;
|
||||
var hidden = new Element('input',{'id':elemName,'name':elemName,'type':'hidden','value':value});
|
||||
var elem = new Element('div',
|
||||
{ 'class':'dynamicListItem',
|
||||
'style':'display:none;height:0px;width:0px;',
|
||||
'id':elemName}).update(value).insert(hidden);
|
||||
elem.observe('click', this.SelectSecondaryAuthor.bindAsEventListener());
|
||||
$('secondaryAuthorList').insert(elem);
|
||||
$(this.inputField).clear();
|
||||
elem.appear();
|
||||
}
|
||||
});
|
||||
|
||||
Event.observe(window,'load', function(){
|
||||
new SecondaryAuthorManager('addSecondaryButton','removeSecondaryButton','newSecondaryAuthorInput')});
|
||||
Reference in New Issue
Block a user