createTemplate.xhtml 4.44 KB
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:products="http://java.sun.com/jsf/composite/cditools/products"
	xmlns:users="http://java.sun.com/jsf/composite/cditools/user"
	xmlns:c="http://java.sun.com/jsp/jstl/core"
	xmlns:p="http://primefaces.org/ui">
<h:body>
	<ui:composition
		template="/layout/#{sessionHandler.layout}/template.xhtml">
		<f:metadata>
			<f:event type="preRenderView"
				listener="#{foodWaveView.initCreateTemplate()}" />
		</f:metadata>

		<ui:define name="title">
			<h1>#{i18n['foodwave.template.edit.title']}</h1>
		</ui:define>

		<ui:define name="content">
			<h:form>
				<p:wizard>
					<p:tab id="basicinfo" title="#{i18n['foodwavetemplate.basicinfo']}">
						<h:panelGrid columns="3">
							<h:outputLabel for="name"
								value="#{i18n['foodwavetemplate.name']}" />
							<h:inputText id="name" value="#{foodWaveView.template.name}"
								required="true" requiredMessage="Name required" />
							<h:message for="name" />

							<h:outputLabel for="description"
								value="#{i18n['foodwavetemplate.description']}" />
							<h:inputText id="description"
								value="#{foodWaveView.template.description}" required="true"
								requiredMessage="Description required" />
							<h:message for="description" />
						</h:panelGrid>
					</p:tab>
					<p:tab id="selectproducts"
						title="#{i18n['foodwavetemplate.selectproducts']}">
						<h:messages />
						<h:panelGrid columns="4">

							<h:outputText value="#{i18n['foodwavetemplate.productname']}" />
							<h:outputText
								value="#{i18n['foodwavetemplate.productdescription']}" />
							<h:outputText value="#{i18n['foodwavetemplate.price']}" />
							<h:outputText value="&nbsp;" />

							<h:inputText id="productname"
								value="#{foodWaveView.currentProduct.name}" />
							<h:inputText id="productdescription"
								value="#{foodWaveView.currentProduct.description}" />
							<h:inputText id="price"
								value="#{foodWaveView.currentProduct.price}" />

							<p:commandButton value="#{i18n['foodwavetemplate.addproduct']}"
								actionListener="#{foodWaveView.addProductToTemplate}"
								update="productTable" />

						</h:panelGrid>
						<p:dataTable name="productTable" id="productTable"
							value="#{foodWaveView.template.products}" var="product"
							editable="true">
							<p:column headerText="#{i18n['foodwavetemplate.productname']}">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{product.name}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{product.name}" style="width:100%"
											required="true" requiredMessage="Name required" />
									</f:facet>
								</p:cellEditor>
							</p:column>
							<p:column
								headerText="#{i18n['foodwavetemplate.productdescription']}">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{product.description}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{product.description}" style="width:100%"
											required="true" requiredMessage="Description required" />
									</f:facet>
								</p:cellEditor>
							</p:column>
							<p:column headerText="#{i18n['foodwavetemplate.price']}">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{product.price}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{product.price}" style="width:100%"
											required="true" requiredMessage="Price required" />
									</f:facet>
								</p:cellEditor>
							</p:column>
							<p:column headerText="#{i18n['foodwavetemplate.editRow']}"
								style="width:20px">
								<p:rowEditor />
							</p:column>
							<p:column headerText="#{i18n['foodwavetemplate.actions']}"
								style="width:20px;">
								<p:commandButton
									value="#{i18n['foodwavetemplate.removeFromList']}"
									action="#{foodWaveView.removeProductFromList(product)}"
									update="productTable" />
							</p:column>
						</p:dataTable>

						<h:commandButton action="#{foodWaveView.saveTemplate()}"
							value="#{i18n['foodwavetemplate.savetemplate']}" />
					</p:tab>

				</p:wizard>
			</h:form>



		</ui:define>
	</ui:composition>
</h:body>
</html>