Files
yacos/YACOSWeb/WebContent/WEB-INF/jsp/submissionArticle.jsp
Christian Corsano 1740c0275b Commit des corrections UC Submit Article
Gestionnaire de telechargement
Liste des auteurs secondaires
Quelques corrections javascripts
2008-02-07 18:02:06 +00:00

138 lines
4.3 KiB
Plaintext

<%@ 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='./javascripts/effects.js'></script>
<style type="text/css">
.dynamicList {
display: table;
border-collapse: collapse;
min-width: 200px;
max-height: 200px;
overflow: scroll;
}
.dynamicList > * {
display: table-row;
border: thin solid #f57627;
padding:3px;
}
.dynamicListHeader {
background-color: #f57627;
}
.selected {
background-color: #fea752;
}
</style>
<script language="JavaScript">
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');
itemsToRemove.invoke('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();
Effect.Appear(elemName);
}
});
</script>
</head>
<body>
<h4 class="title"><fmt:message key="submission.title" /></h4>
<form:form method="post" enctype="multipart/form-data" commandName="submissionArticle">
<fieldset>
<form:label path="title"><fmt:message key="form.submission.article.title" /></form:label> <form:input path="title"/> <font color="red"><form:errors path="title"/></font> <br/><br />
<form:label path="theme"><fmt:message key="form.submission.article.theme" /></form:label> <form:input path="theme"/> <font color="red"><form:errors path="theme"/></font><br/><br />
<form:label path="abstractText"><fmt:message key="form.submission.article.abstractText" /></form:label> <form:textarea path="abstractText" /><font color="red"><form:errors path="abstractText"/></font><br/><br/>
<hr/> <br/>
</fieldset>
<fieldset>
<label for="listauthor"><fmt:message key="form.submission.listauthor" /></label> <br /><br />
<form:label path="mainauthor"><fmt:message key="form.submission.mainauthor" /></form:label>: <b>${currentUser.firstName} ${currentUser.lastName}</b>
<br/> <br/>
<label for="newSecondaryAuthor"><fmt:message key="form.submission.secondaryauthor" /></label>
<input id="newSecondaryAuthorInput" type="text" name="newSecondaryAuthor" />
<input type="button" id="addSecondaryButton" name="addSecondary" value="<fmt:message key="button.add" />">
<div id="secondaryAuthorList" class="dynamicList">
<div class="dynamicListHeader">
<fmt:message key="form.submission.secondaryauthor" />
</div>
</div>
<input type="button" id="removeSecondaryButton" name="removeSecondary" value="<fmt:message key="button.removeSelected" />"/>
<script type="text/javascript">
new SecondaryAuthorManager('addSecondaryButton','removeSecondaryButton','newSecondaryAuthorInput');
</script>
<br /><br />
</fieldset>
<hr />
<fieldset>
<br />
File <input type="file" name="file"/>
<br /><br />
<input type="reset" value="<fmt:message key="button.reset" />"/>
<input type="submit" value="<fmt:message key="button.OK" />"/> <br/><br/>
</fieldset>
</form:form>
<a href="<c:url value="main.htm"/>">Home</a>
</body>
</html>