The form
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a="http://richfaces.org/a4j"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:rich="http://richfaces.org/rich"
xmlns:chemix="http://www.chainsoftware.nl/chemix">
<script language="javascript">
var translations_show = false;
function translations() {
if (!translations_show) {
showTrans({duration:0.7});
translations_show = true;
} else {
hideTrans();
translations_show = false;
}
return false;
}
</script>
<h:form id="chemicalForm" name="chemicalForm">
<div class="messages">
<rich:messages globalOnly="true" errorClass="errorMessage" infoClass="infoMessage"/>
</div>
<s:validateAll>
<chemix:actionButtons oncomplete="setHighlightedItem(#{chemical.id})" backingBean="#{chemicalManager}" searchPage="/chemicalManager.xhtml" reRender="chemicaldetail,chemicallist">
<chemix:dropDownMenu>
<chemix:dropDownMenuItem enabled="false">#{messages['dropDownMenu.moreActions']}</chemix:dropDownMenuItem>
<chemix:dropDownMenuItem>
<a:commandLink
ajaxSingle="true"
eventsQueue="queue"
reRender="chemicaldetail,chemicallist"
action="#{chemicalManager.remove}"
rendered="#{chemicalManager.managed}"
onclick="if(!confirm('#{messages['sureToRemoveThisItem']}')){return false;}"
oncomplete="clearForm('#chemicalForm');">
#{messages['chemical.delete']}
</a:commandLink>
</chemix:dropDownMenuItem>
<chemix:dropDownMenuItem>
<a:commandLink
ajaxSingle="true"
eventsQueue="queue"
reRender="chemicaldetail"
action="#{chemicalManager.copy}"
rendered="#{chemicalManager.managed}">
#{messages['chemical.makeCopy']}
</a:commandLink>
</chemix:dropDownMenuItem>
<chemix:dropDownMenuItem enabled="false">#{messages['overrideList.addOverrideToLists']}</chemix:dropDownMenuItem>
<ui:repeat value="#{overrideLists}" var="list">
<chemix:dropDownMenuItem>
<a:commandLink
ajaxSingle="true"
eventsQueue="queue"
reRender="chemicaldetail"
action="#{chemicalOverrideManager.addOverrideToList(list, chemical)}"
rendered="#{chemicalManager.managed}">
@#{list.name}
</a:commandLink>
</chemix:dropDownMenuItem>
</ui:repeat>
</chemix:dropDownMenu>
</chemix:actionButtons>
<rich:tabPanel switchType="client">
<rich:tab label="#{messages['chemical.details']}">
<table cellpadding="0" cellspacing="1" border="0" class="properties" styleClass="chemicalProperties" width="100%">
<col width="250px" />
<col />
<tbody>
<tr>
<td>#{messages['chemical.un']}</td>
<td>
<s:decorate id="chemicalUn" template="/layout/edit.xhtml">
<h:inputText value="#{chemical.un}" required="true">
<a:support event="onblur" reRender="chemicalUn" bypassUpdates="true" eventsQueue="queue" ajaxSingle="true">
<s:conversationId/>
</a:support>
</h:inputText>
</s:decorate>
</td>
</tr>
<tr>
<td>#{messages['chemical.name']}</td>
<td>
<a href="#" onclick="translations();">
<h:graphicImage value="img/edit-add.png" style="border: none"/>
</a>
<chemix:translation language="#{listLocaleSelector.language}" value="#{chemical.translations}" />
<div id="translationsHolder" style="display:none">
<a:outputPanel id="translations" styleClass="translations" layout="block">
<table width="100%" border="0">
<ui:repeat value="#{chemical.translations}" var="translation">
<tr>
<td>#{translation.language}:</td>
<td><h:inputTextarea value="#{translation.name}" cols="60" rows="5" /></td>
</tr>
</ui:repeat>
</table>
</a:outputPanel>
</div>
</td>
</tr>
<tr>
<td>#{messages['chemical.class']}</td>
<td>
<s:decorate id="chemicalClassification" template="/layout/edit.xhtml">
<h:inputText value="#{chemical.classification}" required="true">
<a:support event="onblur" reRender="chemicalClassification" bypassUpdates="true" eventsQueue="queue" ajaxSingle="true">
<s:conversationId/>
</a:support>
</h:inputText>
</s:decorate>
</td>
</tr>
<tr>
<td>#{messages['chemical.classificationCode']}</td>
<td>
<s:decorate id="chemicalClassificationCode" template="/layout/edit.xhtml">
<h:inputText value="#{chemical.classificationCode}" required="true">
<a:support event="onblur" reRender="chemicalClassificationCode" bypassUpdates="true" eventsQueue="queue" ajaxSingle="true">
<s:conversationId/>
</a:support>
</h:inputText>
</s:decorate>
</td>
</tr>
<tr>
<td>#{messages['chemical.packingGroup']}</td>
<td>
<s:decorate id="chemicalPackageGroup" template="/layout/edit.xhtml">
<h:inputText value="#{chemical.packageGroup}">
<a:support event="onblur" reRender="chemicalPackageGroup" bypassUpdates="true" eventsQueue="queue" ajaxSingle="true">
<s:conversationId/>
</a:support>
</h:inputText>
</s:decorate>
</td>
</tr>
<tr>
<td>#{messages['chemical.dangers']}</td>
<td>
<h:selectManyCheckbox value="#{chemical.dangers}" layout="pageDirection">
<s:selectItems value="#{enumLists.dangers}" var="danger" label="#{danger.code}"/>
<s:convertEnum />
</h:selectManyCheckbox>
</td>
</tr>
<tr>
<td>#{messages['chemical.tankerType']}</td>
<td>
<h:selectOneMenu value="#{chemical.tankType}">
<s:selectItems value="#{enumLists.tankTypes}" var="type" label="#{type}" />
<s:convertEnum />
</h:selectOneMenu>
</td>
</tr>
<tr>
<td>#{messages['chemical.tankCondition']}</td>
<td>
<h:selectOneMenu value="#{chemical.tankCondition}">
<s:selectItems value="#{enumLists.conditions}" var="c" label="#{messages[c.key]}" />
<s:convertEnum />
</h:selectOneMenu>
</td>
</tr>
<tr>
<td>#{messages['chemical.hullType']}</td>
<td>
<h:selectOneMenu value="#{chemical.hullType}">
<s:selectItems value="#{enumLists.hullTypes}" var="dev" label="#{messages[dev.key]}" />
<s:convertEnum />
</h:selectOneMenu>
</td>
</tr>
<tr>
<td>#{messages['chemical.tankEquipment']}</td>
<td>
<h:selectOneMenu value="#{chemical.tankEquipment}">
<s:selectItems value="#{enumLists.tankEquipment}" var="e" label="#{messages[e.key]}" noSelectionLabel="#{messages['notAvailable']}" />
<s:convertEnum />
</h:selectOneMenu>
</td>
</tr>
<tr>
<td>#{messages['chemical.relievePressure']}</td>
<td>
<s:decorate id="chemicalRelievePressure" template="/layout/edit.xhtml">
<h:inputText value="#{chemical.relievePressure}" required="true">
<a:support event="onblur" reRender="chemicalRelievePressure" bypassUpdates="true" eventsQueue="queue" ajaxSingle="true">
<s:conversationId/>
</a:support>
</h:inputText>
</s:decorate>
</td>
</tr>
<tr>
<td>#{messages['chemical.maxFillRate']}</td>
<td>
<s:decorate id="chemicalMaxFillRate" template="/layout/edit.xhtml">
<h:inputText value="#{chemical.maxFillRate}" required="true">
<a:support event="onblur" reRender="chemicalMaxFillRate" bypassUpdates="true" eventsQueue="queue" ajaxSingle="true">
<s:conversationId/>
</a:support>
</h:inputText>
</s:decorate>
</td>
</tr>
<tr>
<td>#{messages['chemical.densityAt20C']}</td>
<td>
<s:decorate id="chemicalDensity" template="/layout/edit.xhtml">
<h:inputText value="#{chemical.density}" required="true">
<a:support event="onblur" reRender="chemicalDensity" bypassUpdates="true" eventsQueue="queue" ajaxSingle="true">
<s:conversationId/>
</a:support>
</h:inputText>
</s:decorate>
</td>
</tr>
<tr>
<td>#{messages['chemical.samplingDevice']}</td>
<td>
<h:selectOneMenu value="#{chemical.samplingDevice}">
<s:selectItems value="#{enumLists.samplingDevices}" var="dev" label="#{messages[dev.key]}" />
<s:convertEnum />
</h:selectOneMenu>
</td>
</tr>
<tr>
<td>#{messages['chemical.allowUnderdeckPumproom']}</td>
<td><h:selectBooleanCheckbox value="#{chemical.allowPumpRoom}" /></td>
</tr>
<tr>
<td>#{messages['chemical.temperatureClass']}</td>
<td>
<h:selectOneMenu value="#{chemical.temperatureClass}">
<s:selectItems value="#{enumLists.temperatureClasses}" var="class" label="#{class}" noSelectionLabel="No temperature class"/>
<s:convertEnum />
</h:selectOneMenu>
</td>
</tr>
<tr>
<td>#{messages['chemical.explosionGroups']}</td>
<td>
<h:selectOneMenu value="#{chemical.explosionGroup}">
<s:selectItems value="#{enumLists.explosionGroups}" var="group" label="#{group}" noSelectionLabel="No explosion group"/>
<s:convertEnum />
</h:selectOneMenu>
</td>
</tr>
<tr>
<td>#{messages['chemical.explosionProtectionRequired']}</td>
<td><h:selectBooleanCheckbox value="#{chemical.explosionProtection}" /></td>
</tr>
<tr>
<td>#{messages['chemical.requiredEquipment']}</td>
<td>
<h:selectManyCheckbox value="#{chemical.equipment}">
<s:selectItems value="#{enumLists.equipment}" var="item" label="#{item}"/>
<s:convertEnum />
</h:selectManyCheckbox>
</td>
</tr>
<tr>
<td>#{messages['chemical.nrBlueLights']}</td>
<td>
<s:decorate id="chemicalBlueLights" template="/layout/edit.xhtml">
<h:inputText value="#{chemical.bluelights}" required="true">
<a:support event="onblur" reRender="chemicalBlueLights" bypassUpdates="true" eventsQueue="queue" ajaxSingle="true">
<s:conversationId/>
</a:support>
</h:inputText>
</s:decorate>
</td>
</tr>
<tr>
<td>#{messages['chemical.useOverrideOnly']}</td>
<td>
<h:selectBooleanCheckbox value="#{chemical.overrideOnly}" />
</td>
</tr>
<tr>
<td>#{messages['chemical.hasMultiplePositions']}</td>
<td>
<h:selectBooleanCheckbox value="#{chemical.multiplePositions}" />
</td>
</tr>
</tbody>
</table>
</rich:tab>
<rich:tab label="#{messages['chemical.compatibility']}">
<table cellpadding="0" cellspacing="1" border="0" class="properties">
<tbody>
<ui:repeat value="#{chemical.compatibility}" var="c">
<tr>
<td>#{c.material.commonName}</td>
<td>
<h:selectOneMenu value="#{c.compatibilityStatus}">
<s:selectItems value="#{enumLists.status}" var="z" label="#{messages[z.key]}" />
<s:convertEnum />
</h:selectOneMenu>
</td>
</tr>
</ui:repeat>
</tbody>
</table>
</rich:tab>
<rich:tab label="#{messages['chemical.notes']}">
<ui:repeat value="#{notes}" var="note">
<div class="chemicalNote">
<div class="chemicalNoteCheckbox"><h:selectBooleanCheckbox value="#{note.selected}" onclick="changeTFstatus(this);" /></div>
<div class="chemicalNoteLabel">#{note.label}</div>
<div class="chemicalNoteTxT"><h:inputText value="#{note.extra}" disabled="#{!note.selected}" /></div>
</div>
</ui:repeat>
</rich:tab>
<rich:tab label="#{messages['chemical.internalNotes']}">
<h:inputTextarea value="#{chemical.internalNote}" cols="100" rows="20"/>
</rich:tab>
<c:if test="${!empty chemical.overrides}">
<rich:tab label="#{messages['chemical.overrides']}">
<div id="chemicalOverridesTab">
</div>
</rich:tab>
</c:if>
</rich:tabPanel>
</s:validateAll>
</h:form>
<ui:include src="/detail/editOverridePanel.xhtml" >
<ui:param name="refresh" value="chemicaldetail"/>
</ui:include>
<c:if test="${!empty chemical.overrides}">
<script type="text/javascript" language="javascript">
var names = [
"#{messages['overrideList.name']}",
"#{messages['chemical.un']}",
"#{messages['chemical.name']}",
"#{messages['chemical.class']}",
"#{messages['chemical.classificationCode']}",
"#{messages['chemical.packingGroup']}",
"#{messages['chemical.dangers']}",
"#{messages['chemical.tankerType']}",
"#{messages['chemical.tankCondition']}",
"#{messages['chemical.hullType']}",
"#{messages['chemical.tankEquipment']}",
"#{messages['chemical.tankCondition']}",
"#{messages['chemical.hullType']}",
"#{messages['chemical.tankEquipment']}",
"#{messages['chemical.relievePressure']}",
"#{messages['chemical.maxFillRate']}",
"#{messages['chemical.densityAt20C']}",
"#{messages['chemical.samplingDevice']}",
"#{messages['chemical.allowUnderdeckPumproom']}",
"#{messages['chemical.temperatureClass']}",
"#{messages['chemical.explosionGroups']}",
"#{messages['chemical.explosionProtectionRequired']}",
"#{messages['chemical.requiredEquipment']}",
"#{messages['chemical.nrBlueLights']}"
];
var table_data = [
<ui:repeat value="#{chemical.overrides}" var="orl">
"#{orl.overrideList.name}",
"#{orl.un}",
"<chemix:translation language="#{listLocaleSelector.language}" value="#{orl.translations}" />",
"#{orl.classification}",
"#{orl.classificationCode}",
"#{orl.packageGroup}",
"#{orl.dangers}",
"#{orl.tankType}",
"#{orl.tankCondition}",
"#{orl.hullType}",
"#{orl.tankEquipment}",
"#{orl.relievePressure}",
"#{orl.maxFillRate}",
"#{orl.density}",
"#{orl.samplingDevice}",
"#{orl.allowPumpRoom}",
"#{orl.temperatureClass}",
"#{orl.explosionGroup}",
"#{orl.explosionProtection}",
"#{orl.equipment}",
"#{orl.bluelights}"
</ui:repeat>
];
</script>
</c:if>
</ui:composition>