[ajax4jsf-svn-commits] JBoss Ajax4JSF SVN: r167 - in trunk/samples/useCases/src/main: java/control and 5 other directories.

ajax4jsf-svn-commits at lists.jboss.org ajax4jsf-svn-commits at lists.jboss.org
Thu May 3 20:53:01 EDT 2007


Author: alexsmirnov
Date: 2007-05-03 20:53:01 -0400 (Thu, 03 May 2007)
New Revision: 167

Added:
   trunk/samples/useCases/src/main/java/control/
   trunk/samples/useCases/src/main/java/control/test/
   trunk/samples/useCases/src/main/java/control/test/ControlBackingBean.java
   trunk/samples/useCases/src/main/java/control/test/Data.java
   trunk/samples/useCases/src/main/webapp/css/
   trunk/samples/useCases/src/main/webapp/css/global.css
   trunk/samples/useCases/src/main/webapp/pages/controls.jsp
   trunk/samples/useCases/src/main/webapp/pages/controls.xhtml
Modified:
   trunk/samples/useCases/src/main/webapp/WEB-INF/faces-config.xml
Log:
AJAX Push sample

Added: trunk/samples/useCases/src/main/java/control/test/ControlBackingBean.java
===================================================================
--- trunk/samples/useCases/src/main/java/control/test/ControlBackingBean.java	                        (rev 0)
+++ trunk/samples/useCases/src/main/java/control/test/ControlBackingBean.java	2007-05-04 00:53:01 UTC (rev 167)
@@ -0,0 +1,141 @@
+/*
+ * ControlBackingBean.java
+ *
+ * Created on May 2, 2007, 2:00 PM
+ *
+ * To change this template, choose Tools | Template Manager
+ * and open the template in the editor.
+ */
+
+package control.test;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import javax.faces.event.ActionEvent;
+import org.ajax4jsf.ajax.html.HtmlAjaxRepeat;
+
+/**
+ *
+ * @author Administrador
+ */
+public class ControlBackingBean {
+    
+    private List<Data> companyData;
+    
+    private List<Data> agencyData;
+    
+    private List<Data> selectData;
+    
+    private Data selectedCompany;
+    
+    private Data selectedAgency;
+    
+    private HtmlAjaxRepeat selectDataList = new HtmlAjaxRepeat();
+    
+    private Set<Integer> keys;
+    
+    /** Creates a new instance of ControlBackingBean */
+    public ControlBackingBean() {
+        setCompanyData(new ArrayList<Data>());
+        getCompanyData().add(new Data("01","Company 01"));
+        getCompanyData().add(new Data("02","Company 02"));
+        getCompanyData().add(new Data("03","Company 03"));
+        
+        setSelectedCompany(getCompanyData().get(0));
+        
+        setAgencyData(new ArrayList<Data>());
+        getAgencyData().add(new Data("04","Agency 01"));
+        getAgencyData().add(new Data("05","Agency 02"));
+        getAgencyData().add(new Data("06","Agency 03"));
+        
+        setSelectedAgency(getAgencyData().get(0));
+    }
+    
+    public String commandAction() {
+        System.out.println("<<< commandAction >>>");
+        return null;
+    }
+    
+    public void commandActionListener(ActionEvent event) {
+        setSelectData(new ArrayList<Data>());
+        setKeys(new HashSet<Integer>());
+        String component = event.getComponent().getId();
+        if (component.indexOf("company") >= 0) {
+            setSelectData(this.companyData);
+        } else {
+            setSelectData(this.agencyData);
+        }
+        
+        for (int i=0; i < getSelectData().size(); i++) {
+            getKeys().add(i);
+        }
+    }
+    
+    public String selectAction() {
+        System.out.println("<<< selectAction >>>");
+        return null;
+    }
+    
+    public void selectActionListener(ActionEvent event) {
+        System.out.println("<<< selectActionListener >>>");
+    }
+
+    public List<Data> getCompanyData() {
+        return companyData;
+    }
+
+    public void setCompanyData(List<Data> companyData) {
+        this.companyData = companyData;
+    }
+
+    public List<Data> getAgencyData() {
+        return agencyData;
+    }
+
+    public void setAgencyData(List<Data> agencyData) {
+        this.agencyData = agencyData;
+    }
+
+    public Data getSelectedCompany() {
+        return selectedCompany;
+    }
+
+    public void setSelectedCompany(Data selectedCompany) {
+        this.selectedCompany = selectedCompany;
+    }
+
+    public Data getSelectedAgency() {
+        return selectedAgency;
+    }
+
+    public void setSelectedAgency(Data selectedAgency) {
+        this.selectedAgency = selectedAgency;
+    }
+
+    public HtmlAjaxRepeat getSelectDataList() {
+        return selectDataList;
+    }
+
+    public void setSelectDataList(HtmlAjaxRepeat selectDataList) {
+        this.selectDataList = selectDataList;
+    }
+
+    public Set<Integer> getKeys() {
+        return keys;
+    }
+
+    public void setKeys(Set<Integer> keys) {
+        this.keys = keys;
+    }
+
+    public List<Data> getSelectData() {
+        return selectData;
+    }
+
+    public void setSelectData(List<Data> selectData) {
+        this.selectData = selectData;
+    }
+    
+}

Added: trunk/samples/useCases/src/main/java/control/test/Data.java
===================================================================
--- trunk/samples/useCases/src/main/java/control/test/Data.java	                        (rev 0)
+++ trunk/samples/useCases/src/main/java/control/test/Data.java	2007-05-04 00:53:01 UTC (rev 167)
@@ -0,0 +1,44 @@
+/*
+ * Data.java
+ *
+ * Created on May 2, 2007, 1:57 PM
+ *
+ * To change this template, choose Tools | Template Manager
+ * and open the template in the editor.
+ */
+
+package control.test;
+
+/**
+ *
+ * @author Administrador
+ */
+public class Data {
+    
+    private String code;
+    private String desc;
+    
+    public Data(String code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+    
+    
+    
+}

Modified: trunk/samples/useCases/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- trunk/samples/useCases/src/main/webapp/WEB-INF/faces-config.xml	2007-05-03 22:18:48 UTC (rev 166)
+++ trunk/samples/useCases/src/main/webapp/WEB-INF/faces-config.xml	2007-05-04 00:53:01 UTC (rev 167)
@@ -27,6 +27,12 @@
   <managed-bean-class>org.ajax4jsf.MessageBean</managed-bean-class>
   <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>
+    <managed-bean>
+        <managed-bean-name>dataManager</managed-bean-name>
+        <managed-bean-class>control.test.ControlBackingBean</managed-bean-class>
+        <managed-bean-scope>request</managed-bean-scope>
+  </managed-bean>
+
  <navigation-rule>
   <navigation-case>
    <from-outcome>verify_cookie</from-outcome>

Added: trunk/samples/useCases/src/main/webapp/css/global.css
===================================================================
--- trunk/samples/useCases/src/main/webapp/css/global.css	                        (rev 0)
+++ trunk/samples/useCases/src/main/webapp/css/global.css	2007-05-04 00:53:01 UTC (rev 167)
@@ -0,0 +1,232 @@
+body {
+	font-family: Verdana;
+	font-size: 10px;
+	padding: 0px;
+	margin: 0px;
+}
+body.appBody {
+    background-color: #FFFFFF;
+    padding-top : 5px;
+    padding-left : 5px;
+    padding-right : 5px;
+    padding-bottom : 5px;
+}
+.normal {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+        margin-right : 3px;      
+}
+label.normal {
+  font-weight : bold;
+}
+.error {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+        color : red;  
+}
+label.error {
+  font-weight : bold;
+}
+#navigationHandlerContainer {
+	top: 0px;
+	float: left;
+}
+#navLogoContainer {
+	margin-top: 15px;
+	margin-bottom: 10px;
+	text-align: center;
+}
+#navModuleContainer {
+	margin-left: 2px;
+}
+#navModule {
+	width: 145px;
+	font-size: 10px;
+}
+#navTreeContainer {
+	margin-top: 13px;
+	background-color: #EEEEEE;
+	width: 99%;
+	margin-left: 3px;
+	padding-top: 3px;
+	padding-left: 3px;
+	overflow-y: auto;
+	overflow-x: hidden;
+}
+.navigationRow {
+    display: block;
+    margin-left: inherit;
+    margin-bottom: 2px;
+}
+.navigationBulletCell {
+    width: 13px;
+    float: left;
+    vertical-align: middle;
+}
+.navigationCommandCell {
+    width: auto;
+    vertical-align: middle;
+}
+.navigationChildrenRow {
+    display: none;
+    padding-left: 15px;
+}
+.navigationCommandLink {
+    font-family: Verdana;
+    font-size: 10px;
+    text-decoration: none;
+    color: #003366;
+}
+.navigationCommandLink:hover {
+    color: #000000;
+}
+.navigationCommandParagraph {
+    font-family: Verdana;
+    font-size: 10px;
+    text-decoration: none;
+    color: #003366;
+    cursor: default;
+}
+.navigationSelectedCommandLink {
+    font-family: Verdana;
+    font-size: 10px;
+    text-decoration: none;
+    color: #003366;
+    font-weight: bold;
+    text-decoration: underline;
+}
+.navigationSelectedCommandLink:hover {
+    color: #000000;
+}
+.navigationHandlerImage {
+    border: 0px none #B83638;
+}
+.commandBarIni{
+    float: left;  
+}
+#headerLogoContainer {
+	margin-top: 10px;
+	margin-left: 10px;
+	float: left;
+}
+#commandBarContainer {
+	background-image: url(../imgs/commandBarBgr.gif);
+	padding: 0px;
+	margin-top: 0px;
+	width: 300px;
+	height: 43px;
+	float: right;
+}
+.commandIcon {
+    margin-top: 10px;
+    margin-right:5px;
+    float : left;
+}
+.menuTab{
+	width: 100%;
+	height: 19px;
+	background-color: #999999;
+}
+.menuTabCommand {
+	cursor: default;
+}
+.menuTabButton {
+	float: left;
+	height: 19px;
+	margin-right: 4px;
+}
+.menuTabTitle {
+	float:left;
+	color: #FFFFFF;
+	font-weight: bold;
+	padding-left: 3px;
+	padding-top: 3px;
+}
+.menuTabChildrenContainer{
+	display: none;
+	margin-top: 3px;
+	margin-left: 3px;
+}
+fieldset {
+	margin: auto;
+	padding: auto;
+	width: 300px;
+}
+#loginFormContainer {
+	width: 100%;
+	height: 100%;
+	padding-top: 100px;
+	text-align: center;
+}
+.formRow {
+    margin: 5px;
+    display: block;
+}
+.formLabel {
+    text-align: left;
+    width: 150px;
+    float: left;
+}
+.formField {
+}
+#infoBarContainer {
+	float: left;
+	margin-left: 5px;
+	width: 300px;
+	height: 74px;
+	background-image: url(../imgs/infoBarBgr.gif);
+}
+#infoBarContent {
+	padding-top: 10px;
+	padding-left: 5px;
+	float: left;
+        width : 250px;
+}
+.infoBarIni {
+  float : left;
+}
+.infoBarEnd {
+  float : right;
+}
+.headerSelectLink {
+    display:block;
+    color:#FFFFFF;
+   font-weight:bold
+}
+.headerSelectLink:hover {
+  color : #CCCCCC;
+}
+.linePanel {
+    display: inherit;
+    margin-top : 2px;  
+}
+/* Rich Panel*/
+.rich-panel {
+  width : 95%;
+  margin-left : auto ;
+  margin-right : auto ;
+}
+.rich-table {
+    width : 100%;
+    margin-left : auto ;
+    margin-right : auto ;
+}
+  background-color : ;
+/* Tables */
+.oddDataTableRow {
+    background-color : #FFFFFF;
+}
+.evenDataTableRow {
+    background-color : #CCCCCC;
+}
+/* Messages */
+.errorMessageStyle {
+    border: 1px solid #000000;
+    background-color: #EE0000;
+    color: #000000;
+}
+.infoMessageStyle {
+    border: 1px solid #000000;
+    background-color: #33FFFF;
+    color: #000000;
+}
\ No newline at end of file

Added: trunk/samples/useCases/src/main/webapp/pages/controls.jsp
===================================================================
--- trunk/samples/useCases/src/main/webapp/pages/controls.jsp	                        (rev 0)
+++ trunk/samples/useCases/src/main/webapp/pages/controls.jsp	2007-05-04 00:53:01 UTC (rev 167)
@@ -0,0 +1,33 @@
+<%@page contentType="text/html"%>
+<%@page pageEncoding="UTF-8"%>
+<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<f:view>
+    <html xmlns="http://www.w3.org/1999/xhtml">
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+            <a4j:loadStyle src="/css/global.css"/>
+        </head>
+        <body>
+            <a4j:form id="headForm">
+                <div id="infoBarContainer">
+                    <div id="infoBarContent">
+                        <a4j:outputPanel id="companyOutputPanel" layout="inline" styleClass="linePanel">
+                            <a4j:commandLink id="companyCommandLink" value="#{dataManager.selectedCompany.desc}" action="#{dataManager.commandAction}" actionListener="#{dataManager.commandActionListener}" reRender="selectPanel" />
+                        </a4j:outputPanel>
+                        <a4j:outputPanel id="agencyOutputPanel" layout="inline" styleClass="linePanel">
+                            <a4j:commandLink id="agencyCommandLink" value="#{dataManager.selectedAgency.desc}" action="#{dataManager.commandAction}" actionListener="#{dataManager.commandActionListener}" reRender="selectPanel" />
+                        </a4j:outputPanel>
+                    </div>
+               </div>
+                <a4j:outputPanel id="selectPanel" layout="block" style="float:left;margin-top:5px;margin-left:5px;width:200px;">
+                    <a4j:repeat id="selectDataList" binding="#{dataManager.selectDataList}" value="#{dataManager.selectData}" var="item" ajaxKeys="#{dataManager.keys}">
+                        <a4j:commandLink id="selectCommandLink" value="#{item.desc}" action="#{dataManager.selectAction}" actionListener="#{dataManager.selectActionListener}" reRender="companyOutputPanel,agencyOutputPanel" style="display:block" />
+                    </a4j:repeat>
+                </a4j:outputPanel>
+            </a4j:form>
+        </body>
+    </html>
+</f:view>

Added: trunk/samples/useCases/src/main/webapp/pages/controls.xhtml
===================================================================
--- trunk/samples/useCases/src/main/webapp/pages/controls.xhtml	                        (rev 0)
+++ trunk/samples/useCases/src/main/webapp/pages/controls.xhtml	2007-05-04 00:53:01 UTC (rev 167)
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
+	xmlns:c="http://java.sun.com/jsp/jstl/core">
+<f:view>
+	<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<a4j:loadStyle src="/css/global.css" />
+	</head>
+	<body>
+	<a4j:form id="headForm">
+		<div id="infoBarContainer">
+		<div id="infoBarContent"><a4j:outputPanel
+			id="companyOutputPanel" layout="inline" styleClass="linePanel">
+			<a4j:commandLink id="companyCommandLink"
+				value="#{dataManager.selectedCompany.desc}"
+				action="#{dataManager.commandAction}"
+				actionListener="#{dataManager.commandActionListener}"
+				reRender="selectPanel" />
+		</a4j:outputPanel> <a4j:outputPanel id="agencyOutputPanel" layout="inline"
+			styleClass="linePanel">
+			<a4j:commandLink id="agencyCommandLink"
+				value="#{dataManager.selectedAgency.desc}"
+				action="#{dataManager.commandAction}"
+				actionListener="#{dataManager.commandActionListener}"
+				reRender="selectPanel" />
+		</a4j:outputPanel></div>
+		</div>
+		<a4j:outputPanel id="selectPanel" layout="block"
+			style="float:left;margin-top:5px;margin-left:5px;width:200px;">
+			<a4j:repeat id="selectDataList"
+				binding="#{dataManager.selectDataList}"
+				value="#{dataManager.selectData}" var="item"
+				ajaxKeys="#{dataManager.keys}">
+				<a4j:commandLink id="selectCommandLink" value="#{item.desc}"
+					action="#{dataManager.selectAction}"
+					actionListener="#{dataManager.selectActionListener}"
+					reRender="companyOutputPanel,agencyOutputPanel"
+					style="display:block" />
+			</a4j:repeat>
+		</a4j:outputPanel>
+	</a4j:form>
+	</body>
+</f:view>
+</html>




More information about the ajax4jsf-svn-commits mailing list