Policy failures:
Code warning - failed on resource dispatchArticle.jsp. Reason: No end tag (</div>)., line 209 - failed on resource dispatchArticle.jsp. Reason: No end tag (</div>)., line 20 Override reason: c
This commit is contained in:
214
YACOSWeb/WebContent/WEB-INF/jsp/delegateArticle.jsp
Normal file
214
YACOSWeb/WebContent/WEB-INF/jsp/delegateArticle.jsp
Normal file
@@ -0,0 +1,214 @@
|
||||
<%@ include file="/WEB-INF/decorators/include.jsp"%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<script type='text/javascript' src='./javascripts/prototype.js'></script>
|
||||
<script type='text/javascript' src='./javascripts/scriptaculous.js'></script>
|
||||
<script type='text/javascript' src='./dwr/engine.js'></script>
|
||||
<script type='text/javascript' src='./dwr/util.js'></script>
|
||||
<script type='text/javascript' src='./dwr/interface/DispatchArticlesJS.js'></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var selectedArticleId;
|
||||
var articleId;
|
||||
var pattern;
|
||||
|
||||
function showDetail(artId){
|
||||
articleId = artId;
|
||||
var divTitle = 'title'+artId;
|
||||
var divArticle = 'article'+artId;
|
||||
|
||||
if (!$(divTitle).hasClassName('selected')){
|
||||
if(selectedArticleId != null){
|
||||
removeAll(selectedArticleId);
|
||||
$('title'+selectedArticleId).removeClassName('selected');
|
||||
//new Effect.SlideUp('dispatcher'+selectedArticleId);
|
||||
$('dispatcher'+selectedArticleId).hide();
|
||||
}
|
||||
selectedArticleId = articleId;
|
||||
$(divTitle).addClassName('selected');
|
||||
initDispatcher(divArticle);
|
||||
|
||||
}else{
|
||||
removeAll(articleId);
|
||||
//$('dispatcher'+articleId).remove();
|
||||
//new Effect.SlideUp('dispatcher'+articleId);
|
||||
$('dispatcher'+articleId).hide();
|
||||
$(divTitle).removeClassName('selected');
|
||||
selectedArticleId = null;
|
||||
//, {afterFinish:function(){$('dispatcher').remove();}});
|
||||
// $('dispatcherPattern').innerHTML = pattern;
|
||||
}
|
||||
}
|
||||
|
||||
function initDispatcher(elementId){
|
||||
//container
|
||||
|
||||
//var pattern = $('dispatcherPattern').innerHTML
|
||||
|
||||
//$('dispatcherPattern').innerHTML = "";
|
||||
//var elem = new Element('div',
|
||||
//{'class':'dynamicListItem',
|
||||
//'id':"dispatcher"}).update(pattern);
|
||||
|
||||
//$(elementId).insert(elem);
|
||||
//listes
|
||||
//DispatchArticlesJS.sayHello(articleId,retour);
|
||||
DispatchArticlesJS.getMembersWithoutTheArticle(articleId,fillListMembers);
|
||||
DispatchArticlesJS.getMembersWithTheArticle(articleId,fillListArticleMembers);
|
||||
|
||||
|
||||
//new Effect.SlideDown('dispatcher'+articleId);
|
||||
$('dispatcher'+articleId).show();
|
||||
//buttons
|
||||
//$('addButton').observe("click",addRemote());
|
||||
//$('removeButton').observe("click",removeRemote());
|
||||
//$('dispatcherPattern').innerHTML = pattern;
|
||||
}
|
||||
|
||||
function retour(data){
|
||||
alert(data);
|
||||
}
|
||||
|
||||
function fillListArticleMembers(data){
|
||||
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var member = data[i];
|
||||
var value= member.firstName+" "+member.lastName +' nb articles:' + member.nbArticles
|
||||
+ " preferences:"+ member.preference;
|
||||
var elem = new Element('div',
|
||||
{'class':'dynamicListItem','id':member.login,
|
||||
"style":"border:1px"}).update(value);
|
||||
$('membersArticleList'+articleId).insert(elem);
|
||||
elem.observe('click', function(event){
|
||||
select(Event.element(event));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function fillListMembers(data){
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var member = data[i];
|
||||
var value= member.firstName+" "+member.lastName +' nb articles:' + member.nbArticles
|
||||
+ " preferences:"+ member.preference;
|
||||
var elem = new Element('div',
|
||||
{'class':'dynamicListItem','id':member.login,
|
||||
"style":"border:1px"}).update(value);
|
||||
$('membersList'+articleId).insert(elem);
|
||||
elem.observe('click', function(event){
|
||||
select(Event.element(event));
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function select(elem){
|
||||
var item = elem;
|
||||
if(item.hasClassName('selected')){
|
||||
item.removeClassName('selected');
|
||||
} else {
|
||||
item.addClassName('selected');
|
||||
}
|
||||
}
|
||||
|
||||
function removeRemote() {
|
||||
var itemsToRemove = $('membersList'+articleId).select('div.selected');
|
||||
var membersId = itemsToRemove.pluck('id');
|
||||
//var articleId = $('articleId').value;
|
||||
DispatchArticlesJS.removeMembers(membersId, articleId, remove);
|
||||
}
|
||||
|
||||
function remove() {
|
||||
var itemsToRemove = $('membersArticleList'+articleId).select('div.selected');
|
||||
//suppression dans la premi<6D>re liste
|
||||
itemsToRemove.invoke('remove');
|
||||
|
||||
//ajout dans la seconde liste
|
||||
if (itemsToRemove.length != 0){
|
||||
for (var i = 0; i < itemsToRemove.length; i++) {
|
||||
item = itemsToRemove[i];
|
||||
item.removeClassName('selected');
|
||||
$('membersList'+articleId).insert(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function addRemote(){
|
||||
var itemsToAdd = $('membersList'+articleId).select('div.selected');
|
||||
var membersId = itemsToAdd.pluck('id');
|
||||
//var articleId = $('articleId').value;
|
||||
DispatchArticlesJS.addMembers(membersId, articleId, add());
|
||||
|
||||
}
|
||||
|
||||
function add() {
|
||||
var itemsToAdd = $('membersList'+articleId).select('div.selected');
|
||||
//suppression dans la premi<6D>re liste
|
||||
itemsToAdd.invoke('remove');
|
||||
|
||||
//ajout dans la seconde liste
|
||||
if (itemsToAdd.length != 0){
|
||||
for (var i = 0; i < itemsToAdd.length; i++) {
|
||||
item = itemsToAdd[i];
|
||||
item.removeClassName('selected');
|
||||
$('membersArticleList'+articleId).insert(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function removeAll(artId){
|
||||
var itemsToRemove = $('membersArticleList'+artId).select('div.dynamicListItem');
|
||||
itemsToRemove.invoke('remove');
|
||||
itemsToRemove = $('membersList'+artId).select('div.dynamicListItem');
|
||||
itemsToRemove.invoke('remove');
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
<h4 class="title"><fmt:message key="delegateArticles.choose" /></h4>
|
||||
<p class="formHelp">
|
||||
<fmt:message key="delegateArticles.help" />
|
||||
</p>
|
||||
<c:forEach var="article" items="${articles}">
|
||||
|
||||
<div class=" conferenceBloc cbb">
|
||||
<div id="article${article.id}">
|
||||
<div id="title${article.id}" onclick="showDetail(${article.id})">
|
||||
<h2>
|
||||
|
||||
title : ${article.title}
|
||||
<br/>theme: ${article.topic}
|
||||
<br/>main author: ${article.mainAuthor.firstName}{article.mainAuthor.lastName}
|
||||
<a href="${article.URL_article}">download the article</a>
|
||||
|
||||
</h2>
|
||||
</div>
|
||||
<div id='dispatcher${article.id}' style="display:none;">
|
||||
<table style="width:100%;">
|
||||
<tr><td>
|
||||
<h1><fmt:message key="members.List1"/></h1>
|
||||
|
||||
<div id="membersList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
|
||||
</div>
|
||||
|
||||
</td><td>
|
||||
<input type="button" id="addButton" value="add>>>" onclick="addRemote()"/><br/>
|
||||
<input type="button" id="removeButton" value="<<<remove" onclick="removeRemote()"/>
|
||||
</td><td>
|
||||
<h1><fmt:message key="members.List2"/></h1>
|
||||
<div id="membersArticleList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
|
||||
</div>
|
||||
</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,77 +1,125 @@
|
||||
<%@ include file="/WEB-INF/decorators/include.jsp"%>
|
||||
<%@ include file="/WEB-INF/decorators/include.jsp"%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<script type='text/javascript' src='./javascripts/prototype.js'></script>
|
||||
<script type='text/javascript' src='./javascripts/scriptaculous.js'></script>
|
||||
<script type='text/javascript' src='./dwr/engine.js'></script>
|
||||
<script type='text/javascript' src='./dwr/util.js'></script>
|
||||
<script type='text/javascript' src='./dwr/interface/DispatchArticlesJS.js'></script>
|
||||
<script type='text/javascript' src='./javascripts/prototype.js'></script>
|
||||
<script type='text/javascript' src='./javascripts/scriptaculous.js'></script>
|
||||
|
||||
<script type='text/javascript'>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
var InvitationsManager = Class.create({
|
||||
initialize: function(buttonAdd,buttonRemove){
|
||||
this.buttonAdd = buttonAdd;
|
||||
this.buttonRemove = buttonRemove;
|
||||
var selectedArticleId;
|
||||
var articleId;
|
||||
var pattern;
|
||||
|
||||
$(buttonAdd).observe("click",this.addRemote.bind(this));
|
||||
$(buttonRemove).observe("click",this.removeRemote.bind(this));
|
||||
function showDetail(artId){
|
||||
articleId = artId;
|
||||
var divTitle = 'title'+artId;
|
||||
var divArticle = 'article'+artId;
|
||||
|
||||
DispatchArticlesJS.getMembersWithTheArticle($('articleId').value,this.fillListArticleMembers.bind(this));
|
||||
DispatchArticlesJS.getMembersWithoutTheArticle($('articleId').value,this.fillListMembers.bind(this));
|
||||
},
|
||||
|
||||
fillListArticleMembers: function(data){
|
||||
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var member = data[i];
|
||||
var value= member.firstName+" "+member.lastName +'(' + member.nbArticles + ')'
|
||||
+ " preferences:"+ member.Preference;
|
||||
var elem = new Element('div',
|
||||
{'class':'dynamicListItem','id':member.login}).update(value);
|
||||
$('membersArticleList').insert(elem);
|
||||
elem.observe('click', this.select.bindAsEventListener());
|
||||
|
||||
if (!$(divTitle).hasClassName('selected')){
|
||||
if(selectedArticleId != null){
|
||||
removeAll(selectedArticleId);
|
||||
$('title'+selectedArticleId).removeClassName('selected');
|
||||
//new Effect.SlideUp('dispatcher'+selectedArticleId);
|
||||
$('dispatcher'+selectedArticleId).hide();
|
||||
}
|
||||
selectedArticleId = articleId;
|
||||
$(divTitle).addClassName('selected');
|
||||
initDispatcher(divArticle);
|
||||
|
||||
//a placer sur tous les items :
|
||||
//elem.observe('click', this.select.bindAsEventListener());
|
||||
}else{
|
||||
removeAll(articleId);
|
||||
//$('dispatcher'+articleId).remove();
|
||||
//new Effect.SlideUp('dispatcher'+articleId);
|
||||
$('dispatcher'+articleId).hide();
|
||||
$(divTitle).removeClassName('selected');
|
||||
selectedArticleId = null;
|
||||
//, {afterFinish:function(){$('dispatcher').remove();}});
|
||||
// $('dispatcherPattern').innerHTML = pattern;
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
fillListMembers: function(data){
|
||||
function initDispatcher(elementId){
|
||||
//container
|
||||
|
||||
//var pattern = $('dispatcherPattern').innerHTML
|
||||
|
||||
//$('dispatcherPattern').innerHTML = "";
|
||||
//var elem = new Element('div',
|
||||
//{'class':'dynamicListItem',
|
||||
//'id':"dispatcher"}).update(pattern);
|
||||
|
||||
//$(elementId).insert(elem);
|
||||
//listes
|
||||
//DispatchArticlesJS.sayHello(articleId,retour);
|
||||
DispatchArticlesJS.getMembersWithoutTheArticle(articleId,fillListMembers);
|
||||
DispatchArticlesJS.getMembersWithTheArticle(articleId,fillListArticleMembers);
|
||||
|
||||
|
||||
//new Effect.SlideDown('dispatcher'+articleId);
|
||||
$('dispatcher'+articleId).show();
|
||||
//buttons
|
||||
//$('addButton').observe("click",addRemote());
|
||||
//$('removeButton').observe("click",removeRemote());
|
||||
//$('dispatcherPattern').innerHTML = pattern;
|
||||
}
|
||||
|
||||
function retour(data){
|
||||
alert(data);
|
||||
}
|
||||
|
||||
function fillListArticleMembers(data){
|
||||
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var member = data[i];
|
||||
var value= member.firstName+" "+member.lastName +'(' + member.nbArticles + ')'
|
||||
+ " preferences:"+ member.Preference;
|
||||
var value= member.firstName+" "+member.lastName +' nb articles:' + member.nbArticles
|
||||
+ " preferences:"+ member.preference;
|
||||
var elem = new Element('div',
|
||||
{'class':'dynamicListItem','id':member.login}).update(value);
|
||||
$('membersList').insert(elem);
|
||||
elem.observe('click', this.select.bindAsEventListener());
|
||||
{'class':'dynamicListItem','id':member.login,
|
||||
"style":"border:1px"}).update(value);
|
||||
$('membersArticleList'+articleId).insert(elem);
|
||||
elem.observe('click', function(event){
|
||||
select(Event.element(event));
|
||||
});
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
select: function(event){
|
||||
var item = event.element();
|
||||
function fillListMembers(data){
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var member = data[i];
|
||||
var value= member.firstName+" "+member.lastName +' nb articles:' + member.nbArticles
|
||||
+ " preferences:"+ member.preference;
|
||||
var elem = new Element('div',
|
||||
{'class':'dynamicListItem','id':member.login,
|
||||
"style":"border:1px"}).update(value);
|
||||
$('membersList'+articleId).insert(elem);
|
||||
elem.observe('click', function(event){
|
||||
select(Event.element(event));
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function select(elem){
|
||||
var item = elem;
|
||||
if(item.hasClassName('selected')){
|
||||
item.removeClassName('selected');
|
||||
} else {
|
||||
item.addClassName('selected');
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
removeRemote: function() {
|
||||
var itemsToRemove = $('membersList').select('div.selected');
|
||||
function removeRemote() {
|
||||
var itemsToRemove = $('membersList'+articleId).select('div.selected');
|
||||
var membersId = itemsToRemove.pluck('id');
|
||||
var articleId = $('articleId').value;
|
||||
DispatchArticlesJS.removeMembers(membersId, articleId, this.remove.bind(this));
|
||||
},
|
||||
//var articleId = $('articleId').value;
|
||||
DispatchArticlesJS.removeMembers(membersId, articleId, remove);
|
||||
}
|
||||
|
||||
remove: function() {
|
||||
var itemsToRemove = $('membersArticleList').select('div.selected');
|
||||
function remove() {
|
||||
var itemsToRemove = $('membersArticleList'+articleId).select('div.selected');
|
||||
//suppression dans la premi<6D>re liste
|
||||
itemsToRemove.invoke('remove');
|
||||
|
||||
@@ -80,21 +128,21 @@
|
||||
for (var i = 0; i < itemsToRemove.length; i++) {
|
||||
item = itemsToRemove[i];
|
||||
item.removeClassName('selected');
|
||||
$('membersList').insert(item);
|
||||
$('membersList'+articleId).insert(item);
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
addRemote: function(){
|
||||
var itemsToAdd = $('membersList').select('div.selected');
|
||||
function addRemote(){
|
||||
var itemsToAdd = $('membersList'+articleId).select('div.selected');
|
||||
var membersId = itemsToAdd.pluck('id');
|
||||
var articleId = $('articleId').value;
|
||||
DispatchArticlesJS.removeMembers(membersId, articleId, this.add.bind(this));
|
||||
//var articleId = $('articleId').value;
|
||||
DispatchArticlesJS.addMembers(membersId, articleId, add());
|
||||
|
||||
},
|
||||
}
|
||||
|
||||
add: function() {
|
||||
var itemsToAdd = $('membersList').select('div.selected');
|
||||
function add() {
|
||||
var itemsToAdd = $('membersList'+articleId).select('div.selected');
|
||||
//suppression dans la premi<6D>re liste
|
||||
itemsToAdd.invoke('remove');
|
||||
|
||||
@@ -103,44 +151,61 @@
|
||||
for (var i = 0; i < itemsToAdd.length; i++) {
|
||||
item = itemsToAdd[i];
|
||||
item.removeClassName('selected');
|
||||
$('membersArticleList').insert(item);
|
||||
$('membersArticleList'+articleId).insert(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
Event.observe(window,'load', function(){
|
||||
new DispatcheManager('addButton','removeButton')});
|
||||
|
||||
|
||||
function removeAll(artId){
|
||||
var itemsToRemove = $('membersArticleList'+artId).select('div.dynamicListItem');
|
||||
itemsToRemove.invoke('remove');
|
||||
itemsToRemove = $('membersList'+artId).select('div.dynamicListItem');
|
||||
itemsToRemove.invoke('remove');
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id=dispatcher></div>
|
||||
|
||||
<h4 class="title">NO NAME</h4>
|
||||
|
||||
<h4 class="title"><fmt:message key="disptachArticle.choose" /></h4>
|
||||
|
||||
<input type=hidden id="articleId" value="${article.id}">
|
||||
|
||||
<div style="display:inline;border:1px">
|
||||
<h2><fmt:message key="members.List1"/></h2>
|
||||
<div id="membersList">
|
||||
|
||||
<div>
|
||||
<h4 class="title"><fmt:message key="delegateArticles.choose" /></h4>
|
||||
<p class="formHelp">
|
||||
<fmt:message key="disptachArticle.help" />
|
||||
</p>
|
||||
<c:forEach var="article" items="${articles}">
|
||||
<div class=" conferenceBloc cbb">
|
||||
<div id="article${article.id}">
|
||||
<div id="title${article.id}" onclick="showDetail(${article.id})">
|
||||
<h2>
|
||||
|
||||
title : ${article.title}
|
||||
<br/>theme: ${article.topic}
|
||||
<br/>main author: ${article.mainAuthor.firstName}{article.mainAuthor.lastName}
|
||||
<a href="${article.URL_article}">download the article</a>
|
||||
|
||||
</h2>
|
||||
</div>
|
||||
<div id='dispatcher${article.id}' style="display:none;">
|
||||
<table style="width:100%;">
|
||||
<tr><td>
|
||||
<h1><fmt:message key="members.list1"/></h1>
|
||||
|
||||
<div id="membersList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
|
||||
</div>
|
||||
|
||||
</td><td>
|
||||
<input type="button" id="addButton" value="add>>>" onclick="addRemote()"/><br/>
|
||||
<input type="button" id="removeButton" value="<<<remove" onclick="removeRemote()"/>
|
||||
</td><td>
|
||||
<h1><fmt:message key="members.list2"/></h1>
|
||||
<div id="membersArticleList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
|
||||
</div>
|
||||
</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="button" id="addButton" value="add"/>
|
||||
<input type="button" id="removeButton" value="remove"/>
|
||||
|
||||
<h2><fmt:message key="members.List2"/></h2>
|
||||
<div id="membersArticleList">
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</div>
|
||||
</c:forEach>
|
||||
<div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,182 +0,0 @@
|
||||
<%@ include file="/WEB-INF/decorators/include.jsp"%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<script type='text/javascript' src='./javascripts/prototype.js'></script>
|
||||
<script type='text/javascript' src='./javascripts/scriptaculous.js'></script>
|
||||
<script type='text/javascript' src='./dwr/engine.js'></script>
|
||||
<script type='text/javascript' src='./dwr/util.js'></script>
|
||||
<script type='text/javascript' src='./dwr/interface/DispatchArticlesJS.js'></script>
|
||||
<script type="text/javascript">
|
||||
var selectedElement;
|
||||
var articleId;
|
||||
|
||||
function showDetail(artId){
|
||||
var articleId = artId;
|
||||
var divTitle = 'title'+artId;
|
||||
var divArticle = 'article'+artId;
|
||||
if (!$(divTitle).hasClassName('selected')){
|
||||
|
||||
if($('dispatcher')!= null){
|
||||
$('dispatcher').remove();
|
||||
selectedElement.removeClassName('selected');
|
||||
}
|
||||
selectedElement = $(divTitle);
|
||||
$(divTitle).addClassName('selected');
|
||||
initDispatcher(divArticle);
|
||||
|
||||
}else{
|
||||
$(divTitle).removeClassName('selected');
|
||||
new Effect.SlideUp('dispatcher', {afterFinish:function(){$('dispatcher').remove();}});
|
||||
}
|
||||
}
|
||||
|
||||
function initDispatcher(elementId){
|
||||
|
||||
//container
|
||||
var pattern = $('dispatcherPattern').innerHTML;
|
||||
var elem = new Element('div',
|
||||
{'class':'dynamicListItem',
|
||||
'style':'background:pink;display:none',
|
||||
'id':"dispatcher"}).update(pattern);
|
||||
$(elementId).insert(elem);
|
||||
new Effect.SlideDown('dispatcher');
|
||||
|
||||
//listes
|
||||
//DispatchArticlesJS.sayHello("maxime",retour);
|
||||
DispatchArticlesJS.getMembersWithoutTheArticle(articleId,fillListMembers);
|
||||
DispatchArticlesJS.getMembersWithTheArticle(articleId,fillListArticleMembers);
|
||||
|
||||
//buttons
|
||||
$('addButton').observe("click",addRemote());
|
||||
$('removeButton').observe("click",removeRemote());
|
||||
}
|
||||
|
||||
function retour(data){
|
||||
alert(data);
|
||||
}
|
||||
|
||||
function fillListArticleMembers(data){
|
||||
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var member = data[i];
|
||||
var value= member.firstName+" "+member.lastName +'(' + member.nbArticles + ')'
|
||||
+ " preferences:"+ member.Preference;
|
||||
var elem = new Element('div',
|
||||
{'class':'dynamicListItem','id':member.login}).update(value);
|
||||
$('membersArticleList').insert(elem);
|
||||
elem.observe('click', this.select.bindAsEventListener());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function fillListMembers(data){
|
||||
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var member = data[i];
|
||||
var value= member.firstName+" "+member.lastName +'(' + member.nbArticles + ')'
|
||||
+ " preferences:"+ member.Preference;
|
||||
var elem = new Element('div',
|
||||
{'class':'dynamicListItem','id':member.login}).update(value);
|
||||
$('membersList').insert(elem);
|
||||
elem.observe('click', select(elem));
|
||||
}
|
||||
}
|
||||
|
||||
function select(item){
|
||||
if(item.hasClassName('selected')){
|
||||
item.removeClassName('selected');
|
||||
} else {
|
||||
item.addClassName('selected');
|
||||
}
|
||||
}
|
||||
|
||||
function removeRemote() {
|
||||
var itemsToRemove = $('membersList').select('div.selected');
|
||||
var membersId = itemsToRemove.pluck('id');
|
||||
//var articleId = $('articleId').value;
|
||||
DispatchArticlesJS.removeMembers(membersId, articleId, remove);
|
||||
}
|
||||
|
||||
function remove() {
|
||||
var itemsToRemove = $('membersArticleList').select('div.selected');
|
||||
//suppression dans la premi<6D>re liste
|
||||
itemsToRemove.invoke('remove');
|
||||
|
||||
//ajout dans la seconde liste
|
||||
if (itemsToRemove.length != 0){
|
||||
for (var i = 0; i < itemsToRemove.length; i++) {
|
||||
item = itemsToRemove[i];
|
||||
item.removeClassName('selected');
|
||||
$('membersList').insert(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function addRemote(){
|
||||
var itemsToAdd = $('membersList').select('div.selected');
|
||||
var membersId = itemsToAdd.pluck('id');
|
||||
//var articleId = $('articleId').value;
|
||||
DispatchArticlesJS.removeMembers(membersId, articleId, add());
|
||||
|
||||
}
|
||||
|
||||
function add() {
|
||||
var itemsToAdd = $('membersList').select('div.selected');
|
||||
//suppression dans la premi<6D>re liste
|
||||
itemsToAdd.invoke('remove');
|
||||
|
||||
//ajout dans la seconde liste
|
||||
if (itemsToAdd.length != 0){
|
||||
for (var i = 0; i < itemsToAdd.length; i++) {
|
||||
item = itemsToAdd[i];
|
||||
item.removeClassName('selected');
|
||||
$('membersArticleList').insert(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id='dispatcherPattern' style="display:none">
|
||||
<table>
|
||||
<tr><td>
|
||||
<h1><fmt:message key="members.List1"/></h1>
|
||||
<div id="membersList">
|
||||
</div>
|
||||
</td><td>
|
||||
<input type="button" id="addButton" value="add>>>"/><br/>
|
||||
<input type="button" id="removeButton" value="<<<remove"/>
|
||||
</td><td>
|
||||
<h1><fmt:message key="members.List2"/></h1>
|
||||
<div id="membersArticleList">
|
||||
</div>
|
||||
</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h4 class="title"><fmt:message key="disptachArticle.choose" /></h4>
|
||||
<c:forEach var="article" items="${articles}">
|
||||
<div id="article${article.id}">
|
||||
<div id="title${article.id}" onclick="showDetail(${article.id})">
|
||||
<h2>
|
||||
<table>
|
||||
<tr>
|
||||
<td>title : ${article.title}
|
||||
<br/>theme: ${article.topic}
|
||||
<br/>main author: ${article.mainAuthor.firstName}{article.mainAuthor.lastName}
|
||||
<td><a href="${article.URL_article}">download the article</a></td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
|
||||
</body>
|
||||
|
||||
<div>
|
||||
</html>
|
||||
Reference in New Issue
Block a user