2
0
Fork 0

wip commit with working vasc demo tech

This commit is contained in:
Willem Cazander 2012-05-06 06:50:29 +02:00
parent a25e98f5d5
commit c23d14522f
100 changed files with 4356 additions and 1220 deletions

View file

@ -0,0 +1,72 @@
/*
* Copyright 2009-2012 forwardfire.net All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.forwardfire.vasc.demo.tech.web.beans;
import java.io.Serializable;
import net.forwardfire.vasc.demo.tech.web.models.WebUser;
/**
*
* @author Willem Cazander
* @version 1.0 Nov 1, 2009
*/
public class UserController implements Serializable {
private static final long serialVersionUID = 1L;
private WebUser webUser = null;
public void loginFilter() {
try {
//logUser = loginManager.getUser();
//logRightRoles = loginManager.getClientRoles();
webUser = new WebUser();
webUser.setLoginName( "test123");
webUser.setFullName( "test1234567890");
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public void logoutFilter() {
webUser = null;
//logRightRoles = null;
}
public boolean isUserLoggedin() {
if (webUser==null) {
return false;
}
return true;
}
public WebUser getUser() {
return webUser;
}
//public List<LogRightRole> getRightRoles() {
// return logRightRoles;
//}
}

View file

@ -0,0 +1,88 @@
/*
* Copyright 2009-2012 forwardfire.net All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.forwardfire.vasc.demo.tech.web.beans;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
import javax.faces.context.FacesContext;
import net.forwardfire.vasc.core.VascController;
import net.forwardfire.vasc.core.VascEntry;
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
import net.forwardfire.vasc.demo.tech.web.core.TomcatManager;
import net.forwardfire.vasc.frontend.VascFrontendData;
import net.forwardfire.vasc.frontends.web.jsf.AbstractJSFVascFacesControllerBase;
import net.forwardfire.vasc.impl.DefaultVascFactory;
/**
*
* @author Willem Cazander
* @version 1.0 Nov 1, 2009
*/
public class VascFacesController extends AbstractJSFVascFacesControllerBase {
public List<String> getVascAdminEntries() {
List<String> result = new ArrayList<String>(50);
VascController v = getVascController();
for (String e:v.getVascEntryController().getVascEntryIds()) {
if (e.endsWith("Link")==false) {
result.add(e);
}
}
return result;
}
@Override
public VascFrontendData getNewVascFrontendData() {
Locale locale = FacesContext.getCurrentInstance().getViewRoot().getLocale();
// MergedResourceBundle bundle = new MergedResourceBundle();
// bundle.addDataBundle(ResourceBundle.getBundle(getResourceBundleWEB(), locale));
VascFrontendData vascFrontendData = DefaultVascFactory.getDefaultVascFrontendData(ResourceBundle.getBundle("net/forwardfire/vasc/demo/tech/ui/resources/TechUI"));
vascFrontendData.addVascEntryFrontendEventListener(new VascEntryFrontendEventListener() {
private static final long serialVersionUID = 1L;
public VascFrontendEventType[] getEventTypes() {
VascFrontendEventType[] result = {VascEntryFrontendEventListener.VascFrontendEventType.EXCEPTION};
return result;
}
public void vascEvent(VascEntry entry, Object data) {
if (data instanceof Exception) {
((Exception)data).printStackTrace();
}
}
});
return vascFrontendData;
}
@Override
public VascController getVascController() {
return TomcatManager.getInstance().getVascController();
}
}

View file

@ -0,0 +1,57 @@
package net.forwardfire.vasc.demo.tech.web.core;
import java.io.File;
import net.forwardfire.vasc.core.VascController;
import org.apache.catalina.startup.Tomcat;
public class TomcatManager {
private Tomcat tomcat = null;
private VascController vascController = null;
public void start() throws Exception {
String webappDirLocation = "../vasc-demo-tech-web/src/main/webapp/";
Tomcat tomcat = new Tomcat();
String webPort = System.getenv("PORT");
if(webPort == null || webPort.isEmpty()) {
webPort = "8899";
}
tomcat.setPort(Integer.valueOf(webPort));
tomcat.addWebapp("/demo", new File(webappDirLocation).getAbsolutePath());
System.out.println("configuring app with basedir: " + new File("./" + webappDirLocation).getAbsolutePath());
instance = this;
tomcat.start();
}
public void stop() throws Exception {
if (tomcat==null) {
return;
}
tomcat.stop();
instance = null;
}
static private TomcatManager instance = null;
static public TomcatManager getInstance() {
return instance; // hackje to rm mvn 1-1 dep with ui
}
/**
* @return the vascController
*/
public VascController getVascController() {
return vascController;
}
/**
* @param vascController the vascController to set
*/
public void setVascController(VascController vascController) {
this.vascController = vascController;
}
}

View file

@ -0,0 +1,50 @@
package net.forwardfire.vasc.demo.tech.web.models;
import java.util.ArrayList;
import java.util.List;
public class WebUser {
private String loginName = null;
private String fullName = null;
private List<String> groups = null;
public WebUser() {
groups = new ArrayList<String>(20);
}
/**
* @return the loginName
*/
public String getLoginName() {
return loginName;
}
/**
* @param loginName the loginName to set
*/
public void setLoginName(String loginName) {
this.loginName = loginName;
}
/**
* @return the fullName
*/
public String getFullName() {
return fullName;
}
/**
* @param fullName the fullName to set
*/
public void setFullName(String fullName) {
this.fullName = fullName;
}
/**
* @return the groups
*/
public List<String> getGroups() {
return groups;
}
}

View file

@ -0,0 +1,73 @@
#Colors
headerBackgroundColor=\#EAEAEA
headerGradientColor=\#E0E0E0
headerTextColor=#282828
headerWeightFont=bold
generalBackgroundColor=#FFFFFF
generalTextColor=#282828
generalSizeFont=11px
generalFamilyFont=Arial, Helvetica, sans-serif
controlTextColor=#282828
controlBackgroundColor=#ffffff
additionalBackgroundColor=#ffffff
shadowBackgroundColor=#000000
shadowOpacity=1
panelBorderColor=#BED6F8
subBorderColor=#ffffff
tabBackgroundColor=#C6DEFF
tabDisabledTextColor=#ffffff
trimColor=#D6E6FB
tipBackgroundColor=\#FAE6B0
tipBorderColor=\#E5973E
selectControlColor=#E79A00
generalLinkColor=#004DEB
hoverLinkColor=#004DEB
visitedLinkColor=#004DEB
# Fonts
headerSizeFont=11px
headerFamilyFont=Arial, Helvetica, sans-serif
tabSizeFont=11
tabFamilyFont=Arial, Helvetica, sans-serif
buttonSizeFont=11
buttonFamilyFont=Arial, Verdana, sans-serif
tableBackgroundColor=#FFFFFF
tableFooterBackgroundColor=#FFFFFF
tableSubfooterBackgroundColor=#FFFFFF
#Calendar colors
calendarWeekBackgroundColor=#F5F5F5
calendarHolidaysBackgroundColor=#FFEBDA
calendarHolidaysTextColor=#FF7800
calendarCurrentBackgroundColor=#FF7800
calendarCurrentTextColor=#FFEBDA
calendarSpecBackgroundColor=#E4F5E2
calendarSpecTextColor=#000000
warningColor=#282828
warningBackgroundColor=##EE0000
editorBackgroundColor=#F1F1F1
editBackgroundColor=#FEFFDA
#Gradients
gradientType=plain

View file

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
<application>
<locale-config>
<default-locale>en</default-locale>
</locale-config>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>
<managed-bean>
<description>Controls the Users</description>
<managed-bean-name>userController</managed-bean-name>
<managed-bean-class>net.forwardfire.vasc.demo.tech.web.beans.UserController</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<description>Controls Vasc Faces</description>
<managed-bean-name>vascFacesController</managed-bean-name>
<managed-bean-class>net.forwardfire.vasc.demo.tech.web.beans.VascFacesController</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>

View file

@ -0,0 +1,205 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>Vasc Demo Tech Web Application</display-name>
<welcome-file-list>
<welcome-file>/jsp/index_jsp.jsp</welcome-file>
</welcome-file-list>
<session-config>
<session-timeout>4</session-timeout>
<!-- An 4min session, we increase it after login to 20min. -->
</session-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>XHTML</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<web-resource-collection>
<web-resource-name>Include files</web-resource-name>
<description>No direct access to include files.</description>
<url-pattern>/jsp/includes/*</url-pattern>
<http-method>POST</http-method>
<http-method>GET</http-method>
</web-resource-collection>
<auth-constraint>
<description>No direct browser access to include files.</description>
<role-name>inaccessible</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<!--
<security-constraint>
<display-name>User Required</display-name>
<web-resource-collection>
<web-resource-name>User pages</web-resource-name>
<url-pattern>/jsp/user/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>user</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<display-name>Admin User Required</display-name>
<web-resource-collection>
<web-resource-name>Admin pages</web-resource-name>
<url-pattern>/jsp/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin-company</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<display-name>Sytem User Required</display-name>
<web-resource-collection>
<web-resource-name>System pages</web-resource-name>
<url-pattern>/jsp/system/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin-system</role-name>
</auth-constraint>
</security-constraint>
-->
<login-config>
<auth-method>FORM</auth-method>
<realm-name>VascDemoSecurity</realm-name>
<form-login-config>
<form-login-page>/jsp/login/login.jsf</form-login-page>
<form-error-page>/jsp/login/login-error.jsf</form-error-page>
</form-login-config>
</login-config>
<security-role>
<role-name>user</role-name>
</security-role>
<security-role>
<role-name>admin-company</role-name>
</security-role>
<security-role>
<role-name>admin-system</role-name>
</security-role>
<security-role>
<role-name>inaccessible</role-name>
</security-role>
<!-- =============== USER CONFIG ===================================
<filter>
<display-name>User Filter</display-name>
<filter-name>userFilter</filter-name>
<filter-class>net.forwardfire.logstats.web.filters.UserFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>userFilter</filter-name>
<servlet-name>facesServlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
-->
<!-- =============== JSF CONFIG =================================== -->
<context-param>
<description>
Comma separated list of URIs of (additional) faces
config files.(e.g./WEB-INF/my-config.xml) See JSF1.0 PRD 2,10.3.2
</description>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces.xml</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<context-param>
<param-name>facelets.REFRESH_PERIOD</param-name>
<param-value>2</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
<!--
<context-param>
<param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
<param-value>true</param-value>
</context-param>
-->
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<servlet>
<description>The JSF Servlet</description>
<servlet-name>facesServlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>facesServlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<!-- Plugin our own richfaces skin -->
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>vasc-demo-tech</param-value>
</context-param>
<!-- Making the RichFaces skin spread to standard HTML controls -->
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>
<!-- Defining and mapping the RichFaces filter -->
<filter>
<display-name>RichFaces Filter</display-name>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>richfaces</filter-name>
<servlet-name>facesServlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<!-- =============== VASC CONFIG =================================== -->
<filter>
<display-name>VASC Filter</display-name>
<filter-name>vascFilter</filter-name>
<filter-class>net.forwardfire.vasc.frontends.web.jsf.VascRequestFacesFilter</filter-class>
<init-param>
<param-name>templateFile</param-name>
<param-value>/jsp/includes/vasc-template.jsf</param-value>
</init-param>
<!--
<init-param>
<param-name>resourceBundle</param-name>
<param-value>net/forwardfire/logstats/resources/i18n/LogstatsBundleWAR</param-value>
</init-param>
-->
</filter>
<filter-mapping>
<filter-name>vascFilter</filter-name>
<url-pattern>/vasc/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
</web-app>

View file

@ -0,0 +1,8 @@
/* CSS fixes for IE6 */
/*
#page_menu_left {
overflow: visible;
}
*/

View file

@ -0,0 +1,8 @@
/* CSS fixes for IE7 */
/*
#page_menu_left {
overflow: visible;
}
*/

View file

@ -0,0 +1,4 @@
/* CSS fixes for IE8 */
/* Yet to come */

View file

@ -0,0 +1,538 @@
/* HTML STYLES */
* {
margin:0px;
padding:0px;
}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 15px;
color: #000000;
margin: 0px;
padding: 0px;
background-color:white;
}
h1 {
font-size:1.2em;
font-weight:bold;
padding-bottom:10px;
}
h2 {
-moz-border-radius:3px;
-webkit-border-radius:3px;
-khtml-border-radius:3px;
display:block;
font-size:1.0em;
font-weight:bold;
padding:10px 10px 10px 10px;
}
a {
color:#004DEB;
text-decoration:underline;
}
p {
margin:10px 10px 10px 10px;
}
img {
border: none;
vertical-align: middle;
}
ul {
margin-left:10px;
}
/* DIVS */
#page_wrap{
margin:10px;
margin-top:0px;
float:none;
}
#page_header{
height:80px;
font-size:18px;
border-bottom:1px solid #DDCCCC;
position:relative;
}
#page_header a img{
border:none;
padding-right:10px;
vertical-align:middle;
}
#page_content {
margin-top:5px;
}
#page_footer {
margin-top:35px;
padding: 5px;
font-size: 12px;
border-color:#e5e5e5;
border-style:solid;
border-width:1px 1px 1px 1px;
-moz-border-radius:3px;
-webkit-border-radius:3px;
-khtml-border-radius:3px;
}
/* MENU */
#page_menu_left,#page_menu_right {
border-color:#DDCCCC;
border-style:solid;
border-width:0 0 1px 0;
vertical-align:bottom;
display:inline;
}
#page_menu_right {
position:absolute;
bottom:0;
right:0;
}
#page_menu_left a,#page_menu_right a {
border:1px solid #e0e0e0;
background-color:#DDCCCC;
border-bottom-width:0px;
text-align:center;
-moz-border-radius-topleft:3xp;
-moz-border-radius-topright:3xp;
-webkit-border-top-left-radius:3px;
-webkit-border-top-right-radius:3px;
-khtml-border-radius-topleft:3px;
-khtml-border-radius-topright:3px;
color:#000;
margin:0px 5px 0px 0px;
padding:3px 15px 2px 15px;
text-decoration:none;
}
#page_menu_left a:hover,#page_menu_right a:hover {
text-decoration:none;
background-color:#fff;
border-color:#e0e0e0;
}
#page_menu_left a.active,#page_menu_left a.active {
background-color:#fff;
font-weight:700;
}
#page_user_info {
padding:5px;
position:absolute;
right:0;
top:0;
font-size:11px;
}
.actionbox{
background-color:#DDCCCC;
-moz-border-radius:3px;
-webkit-border-radius:3px;
-khtml-border-radius:3px;
border:none;
-moz-border-radius-topleft:0;
-webkit-border-top-left-radius:0;
-khtml-border-radius-topleft:0;
clear:both;
padding:3px 0 3px 3px;
display:block;
}
.actionbox label{display:inline;}
ul.actionboxtab{margin:0;padding:0;}
ul.actionboxtab li{list-style-type:none;float:left;margin:0;padding:0;}
ul.actionboxtab li a {
border:solid 1px #ddd;
border-bottom-width:0;
-moz-border-radius-topleft:3px;
-moz-border-radius-topright:3px;
-khtml-border-radius-topright:3px;
-webkit-border-top-left-radius:3px;
-webkit-border-top-right-radius:3px;
-khtml-border-radius-topleft:3px;
font-weight:700;
display:block;
margin-right:5px;color:#000;
padding:3px 15px;
}
ul.actionboxtab li a.active{background-color:#DDCCCC;border:solid 1px #DDCCCC;text-decoration:none;}
ul.actionboxtab li a:hover{background-color:#DDCCCC;border:solid 1px #DDCCCC;text-decoration:none;}
td.tableactions{border-bottom-color:#bbb;text-align:left;}
ul.paging{
clear:both;
margin-bottom:5px;
margin-top:5px;
display:block;
float:left;
padding-top:3px;
padding-bottom:3px;
width:100%;
list-style:none;
}
ul.paging li,ul.paging span{float:left;margin:0 2px 0 2px;}
.paging_thispage{font-weight:700;padding:0 6px;}
ul.paging .paging_atstart{margin-right:10px;}ul.paging .paging_atend{margin-left:10px;}
ul.paging .paging_atstart a,ul.paging .nolink.paging_atstart{
padding-left:15px;
}
ul.paging .paging_atend a,ul.paging .nolink.paging_atend{
padding-right:15px;
}
ul.paging .paging_next{
margin-left:20px;
border:1px solid #DDD;
-moz-border-radius:3px;
-webkit-border-radius:3px;
-khtml-border-radius:3px;
padding:2px 6px;
}
ul.paging .paging_prev{
margin-right:20px;
border:1px solid #DDD;
-moz-border-radius:3px;
-webkit-border-radius:3px;
-khtml-border-radius:3px;
padding:2px 6px;
}
ul.paging a,ul.paging .paging_link{
border:1px solid #DDD;
-moz-border-radius:3px;
-webkit-border-radius:3px;
-khtml-border-radius:3px;
padding:2px 6px;
}
ul.paging .paging_break{
font-weight:700;padding:2px 6px;
}
/* TABLES */
/*
#m_content table {
text-align: left;
}
*/
table.table5, table.rating_table {
border-collapse:collapse;
font-size:11px;
width:100%;
margin-bottom: 30px;
}
table.table5 th, table.rating_table th {
padding-top:5px;
padding-bottom:5px;
font-weight:700;
text-align:left;
vertical-align:top;
padding-left: 3px;
}
table.table5 td, table.rating_table td {
vertical-align:top;
padding-top:5px;
padding-bottom:5px;
padding-left: 3px;
}
.dataTableHeaderRow {
border:1px solid #e0e0e0;
background-color:#e4e4e4;
border-bottom-width:0;
}
.dataTableHeaderRow th, td {
padding-right: 5px;
}
table input,table select {
font-size: 11px;
margin-left:6px;
margin-right:6px;
}
table.table5 tr:nth-child(even) {
background-color:#f0f0f0;
}
.table_options_top {
-moz-border-radius-topleft:3px;
-moz-border-radius-topright:3px;
background-color:#DDCCCC;
font-size:12px;
font-weight:700;
padding:6px 15px;
display: block;
}
.table_options_bottom {
-moz-border-radius-bottomleft:3px;
-moz-border-radius-bottomright:3px;
background-color:#DDCCCC;
font-size:12px;
font-weight:700;
padding:6px 15px;
display: block;
margin-top:5px;
}
.table_sub_header {
-moz-border-radius-topleft:5px;
-moz-border-radius-topright:5px;
background-color:#EEEEEE;
border:1px solid #BBBBBB;
display:block;
font-size:14px;
font-weight:700;
margin:0 2px;
padding:3px 6px;
text-align:center;
}
.rich-table-subheader {
background-color:#DDCCCC;
border-top: 1px solid #C0C0C0;
border-left: 1px solid #C0C0C0;
}
.rich-table {
border-top: none;
border-left: none;
}
.rich-table-row {
border-left: 1px solid #C0C0C0;
}
.rich-table-headercell,.rich-table-footercell {
background-color: #FFF;
border: none;
padding-left: 0px;
padding-right: 0px;
font-weight: none;
}
.rich-table-thead {
border: none;
}
.rich-table-header {
background: none;
}
.homepage_stats {
margin-top:10px;
margin-bottom:10px;
}
.homepage_stats_big {
color:#004DEB;
margin-top:5px;
margin-bottom:5px;
font-size: 20px;
display:block;
font-weight: normal;
}
/* MESSAGES */
.message_info,
.message_1 {
display:block;
font-size: 14px;
font-weight: bold;
border:solid 1px #a0ff7d;
-moz-border-radius:3px;
-webkit-border-radius:3px;
-khtml-border-radius:3px;
background-color: #a0ff7d;
padding: 15px 15px;
margin-bottom: 15px;
}
.message_warning,
.message_2 {
display:block;
font-size: 14px;
font-weight: bold;
border:solid 1px #ffae4c;
-moz-border-radius:3px;
-webkit-border-radius:3px;
-khtml-border-radius:3px;
background-color: #ffae4c;
padding: 15px 15px;
margin-bottom: 15px;
}
.message_error,
.message_3 {
display:block;
font-size: 14px;
font-weight: bold;
border:solid 1px #ff5b43;
-moz-border-radius:3px;
-webkit-border-radius:3px;
-khtml-border-radius:3px;
background-color: #ff5b43;
padding: 15px 15px;
margin-bottom: 15px;
}
.message_4 {
display:block;
font-size: 14px;
font-weight: bold;
border:solid 1px #fc9200;
background-color: #fc9200;
-moz-border-radius-topleft:3px;
-webkit-border-top-left-radius:3px;
-khtml-border-radius-topleft:3px;
-moz-border-radius-topright:3px;
-webkit-border-top-right-radius:3px;
-khtml-border-radius-topright:3px;
padding: 5px;
margin-bottom: 10px;
}
.message_1 input, .message_1 button, .message_2 input, .message_2 button, .message_3 input, .message_3 button {
margin:0px;
}
.message_4 h2 {
margin: 0px;
padding:5px;
}
.message_4 input {
margin: 0px;
font-weight: bold;
font-size: 14px;
padding: 2px 5px;
margin-right: 5px;
}
/* LOGINBOX */
/* Text styles */
.text_justify {
text-align:justify;
}
.text_left {
text-align:left;
}
.text_right {
text-align:right;
}
.text_center {
text-align:center;
}
.text_middle {
vertical-align:middle!important;
}
.text_top {
vertical-align:top;
}
/* OTHER STYLES */
.no_wrap {
white-space: nowrap;
}
.no_border {
border:none;
}
/*
** WIKI styles
*/
#toc,
.toc,
.mw-warning {
border: 1px solid #aaa;
background-color: #f9f9f9;
padding: 5px;
font-size: 95%;
}
#toc h2,
.toc h2 {
display: inline;
border: none;
padding: 0;
font-size: 100%;
font-weight: bold;
}
#toc #toctitle,
.toc #toctitle,
#toc .toctitle,
.toc .toctitle {
text-align: center;
}
#toc ul,
.toc ul {
list-style-type: none;
list-style-image: none;
margin-left: 0;
padding-left: 0;
text-align: left;
}
#toc ul ul,
.toc ul ul {
margin: 0 0 0 2em;
}
#toc .toctoggle,
.toc .toctoggle {
font-size: 94%;
}
.thumbcaption {
border: none;
text-align: left;
line-height: 1.4em;
padding: 3px !important;
font-size: 94%;
}
.location-right {
clear: right;
float: right;
border-width: .5em 0 .8em 1.4em;
}
.location-left {
float: left;
clear: left;
margin-right: .5em;
border-width: .5em 1.4em .8em 0;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -0,0 +1,22 @@
<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:rich="http://richfaces.org/rich"
>
<ui:composition template="/jsp/includes/layout.xhtml">
<ui:define name="title">Vasc Admin</ui:define>
<ui:define name="content">
<rich:panel style="width:90%;margin-top:2em;">
<f:facet name="header">
<h:outputText value="Vasc Admin" />
</f:facet>
<rich:dataList var="info" value="#{vascFacesController.vascAdminEntries}">
<h:column>
<h:outputLink value="#{facesContext.externalContext.requestContextPath}/vasc/#{info}/list.jsf"><h:outputText value="#{info}"/></h:outputLink>
</h:column>
</rich:dataList>
</rich:panel>
</ui:define>
</ui:composition>
</html>

View file

@ -0,0 +1,10 @@
<ui:composition template="/jsp/includes/layout.xhtml"
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:rich="http://richfaces.org/rich"
>
<ui:define name="title">Help</ui:define>
<ui:define name="content"><h:outputText value="Help"/></ui:define>
</ui:composition>

View file

@ -0,0 +1,15 @@
<ui:composition
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:rich="http://richfaces.org/rich"
>
<rich:panel header="User Greeter" style="width: 315px">
<h2><h:outputText value="Hello User" /></h2>
<h:outputLink value="user/index.jsf">
<h:outputText value="Login" />
</h:outputLink>
<h:outputText value="Already Loggedin."/>
</rich:panel>
</ui:composition>

View file

@ -0,0 +1,16 @@
<ui:composition
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:rich="http://richfaces.org/rich"
>
<rich:panel header="User Greeter" style="width: 315px">
<h2><h:outputText value="Hello User" /></h2>
<h:outputText value="Name: " />
<h:outputText value="#{userController.flowUser.username}" />
<rich:dataList value="#{userController.rightRoles}" var="role">
<h:outputText value="#{role.roleKey}" />
</rich:dataList>
</rich:panel>
</ui:composition>

View file

@ -0,0 +1,71 @@
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<meta name="robots" content="noodp"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta name="description" content="vasc"/>
<meta name="keywords" content="demo,forwardfire,x4o,vasc,java"/>
<title><ui:insert name="title">Default title</ui:insert></title>
<link href="#{facesContext.externalContext.requestContextPath}/css/site.css" rel="stylesheet" type="text/css"/>
<!--[if IE 6]><link href="#{facesContext.externalContext.requestContextPath}/css/ie6_fixes.css" rel="stylesheet" type="text/css" /><![endif]-->
<!--[if IE 7]><link href="#{facesContext.externalContext.requestContextPath}/css/ie7_fixes.css" rel="stylesheet" type="text/css" /><![endif]-->
<!--[if IE 8]><link href="#{facesContext.externalContext.requestContextPath}/css/ie8_fixes.css" rel="stylesheet" type="text/css" /><![endif]-->
</head>
<body>
<f:view>
<div id="page_wrap">
<div id="page_header">
<a href="#{facesContext.externalContext.requestContextPath}/jsp/index.jsf"><img src="#{facesContext.externalContext.requestContextPath}/img/logstats-logo.png" alt="Demo Logo" /></a>
<div id="page_menu_left">
</div>
<div id="page_menu_right">
<a href="#{facesContext.externalContext.requestContextPath}/jsp/index.jsf" class="active">Home</a>
<a href="#{facesContext.externalContext.requestContextPath}/jsp/reports.jsf">Reports</a>
<a href="#{facesContext.externalContext.requestContextPath}/jsp/realtime.jsf">Log</a>
<a href="#{facesContext.externalContext.requestContextPath}/jsp/help.jsf">Help</a>
<h:outputLink rendered="#{userController.userLoggedin}" value="#{facesContext.externalContext.requestContextPath}/jsp/admin/index.jsf">
<h:outputText value="Admin"/>
</h:outputLink>
</div>
<div id="page_user_info">
<h:outputLink rendered="#{userController.userLoggedin == false}" value="#{facesContext.externalContext.requestContextPath}/jsp/admin/index.jsf">
<h:outputText value="Login"/>
</h:outputLink>
<h:panelGroup rendered="#{userController.userLoggedin == true}">
<h:outputText value="#{userController.user.username}"/>
<h:outputText value=" - "/>
<h:outputLink value="#{facesContext.externalContext.requestContextPath}/jsp/login/logout.jsf">
<h:outputText value="Logout"/>
</h:outputLink>
</h:panelGroup>
</div>
</div>
<div id="page_content">
<h1><ui:insert name="title" /></h1>
<ui:insert name="content"/>
</div>
<div class="spacer">&nbsp;</div>
<div id="page_footer">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="4" class="text_center">Vasc Tech Demo Web.</td>
</tr>
<tr class="copyright">
<td colspan="2" class="text_left">Copyright &copy; none</td>
<td colspan="2" class="text_right">
Versie 0.8Beta -rXxx
<i>(2010-06-26 01:07)</i>
</td>
</tr>
</table>
</div>
</div>
</f:view>
</body>
</html>

View file

@ -0,0 +1,318 @@
<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:v="http://vasc.forwardfire.net/vasc.tld"
xmlns:rich="http://richfaces.org/rich"
>
<ui:composition template="/jsp/includes/layout.xhtml">
<ui:define name="title">
<h:outputText value="#{requestScopeVascEntityNameI18n}" />
</ui:define>
<ui:define name="content">
<script language="javascript" type="text/javascript">
<![CDATA[
function selectAllCheckboxes(x) {
for (var i=0,l=x.form.length; i<l; i++) {
if (x.form[i].type == 'checkbox' && (!x.form[i].disabled) && x!=x.form[i] ) {
x.form[i].checked=!x.form[i].checked;
}
}
}
]]>
</script>
<v:vascEntry vascController="#{vascFacesController.vascController}"
vascFrontendData="#{vascFacesController.newVascFrontendData}"
entryName="#{requestScopeVascEntityName}"
entrySupportVar="entrySupport"
tableRecordVar="tableRecord"
injectEditFieldsId="injectEditFieldsId"
injectTableOptionsId="injectTableOptionsId"
injectTableColumnsId="injectTableColumnsId"
disableLinkColumns="true"
>
<f:facet name="deleteView" >
<h:panelGroup>
<!-- <h1><h:outputText value="#{entrySupport.i18nMap[entrySupport.vascEntry.name]}"/></h1> -->
<p>
<h:outputFormat value="#{entrySupport.i18nMap[entrySupport.vascEntry.deleteDescription]}" escape="false">
<f:param value="#{entrySupport.selectedDisplayName}" />
</h:outputFormat>
</p>
<h:form>
<h:commandButton actionListener="#{entrySupport.deleteAction}" value="#{entrySupport.i18nMap['vasc.action.deleteRowAction.name']}"/>
<h:commandButton actionListener="#{entrySupport.cancelAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.action.cancel']}" />
</h:form>
</h:panelGroup>
</f:facet>
<f:facet name="exportView" >
<h:panelGroup>
<!-- <h1><h:outputText value="#{entrySupport.i18nMap[entrySupport.vascEntry.name]}"/></h1> -->
<p>
<h:outputFormat value="#{entrySupport.i18nMap[entrySupport.vascEntry.exportDescription]}" escape="false">
<f:param value="#{entrySupport.vascEntry.name}" />
</h:outputFormat>
</p>
<h:form>
<h:commandButton actionListener="#{entrySupport.cancelAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.action.cancel']}" />
</h:form>
</h:panelGroup>
</f:facet>
<f:facet name="editView" >
<h:panelGroup>
<!-- <h1><h:outputText value="#{entrySupport.i18nMap[entrySupport.vascEntry.name]}"/></h1> -->
<p>
<h:outputFormat value="#{entrySupport.i18nMap[entrySupport.vascEntry.editDescription]}" escape="false" rendered="#{!entrySupport.vascEntry.vascFrontendData.vascEntryState.editCreate}">
<f:param value="#{entrySupport.vascEntry.name}" />
</h:outputFormat>
<h:outputFormat value="#{entrySupport.i18nMap[entrySupport.vascEntry.createDescription]}" escape="false" rendered="#{entrySupport.vascEntry.vascFrontendData.vascEntryState.editCreate}">
<f:param value="#{entrySupport.vascEntry.name}" />
</h:outputFormat>
</p>
<h:form>
<ul class="actionboxtab">
<li><a class="active"><h:outputText value="#{entrySupport.i18nMap['vasc.action.editRowAction.name']}"/></a></li>
<ui:repeat var="link" value="#{entrySupport.vascLinkEntriesEditTab}" rendered="#{!entrySupport.vascEntry.vascFrontendData.vascEntryState.editCreate}">
<li><h:commandLink actionListener="#{entrySupport.linkEditAction}" value="#{entrySupport.i18nMap[link.name]}" type="#{link.id}"/></li>
</ui:repeat>
</ul>
<h:panelGrid columns="1" styleClass="actionbox" width="100%">
<h:outputText value="&amp;nbsp;&amp;nbsp;" escape="false"/>
</h:panelGrid>
</h:form>
<br/>
<h:form>
<h:panelGrid columns="3" id="injectEditFieldsId" styleClass="actionbox"/>
<p>
<h:commandButton actionListener="#{entrySupport.saveAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.action.save']}"/>
<h:commandButton actionListener="#{entrySupport.cancelAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.action.cancel']}" />
</p>
</h:form>
</h:panelGroup>
</f:facet>
<f:facet name="listView" >
<h:panelGroup>
<!-- <h1><h:outputText value="#{entrySupport.i18nMap[entrySupport.vascEntry.name]}"/></h1> -->
<p>
<h:outputFormat value="#{entrySupport.i18nMap[entrySupport.vascEntry.listDescription]}" escape="false">
<f:param value="#{entrySupport.vascEntry.name}" />
</h:outputFormat>
</p>
<h:form>
<p>
<h:commandButton actionListener="#{entrySupport.addAction}"
rendered="#{entrySupport.vascEntry.vascAdminCreate}"
value="#{entrySupport.i18nMap['vasc.action.addRowAction.name']}"
title="#{entrySupport.i18nMap['vasc.action.addRowAction.description']}"
/>
<h:commandButton actionListener="#{entrySupport.backAction}"
rendered="#{entrySupport.renderBackAction}"
value="#{entrySupport.i18nMap['generic.vasc.jsf.action.back']}"
/>
</p>
</h:form>
<h:form>
<rich:dataTable id="injectTableColumnsId" var="tableRecord" value="#{entrySupport.tableDataModel}" rowClasses="odd,even">
<f:facet name="header">
<rich:columnGroup>
<rich:column colspan="#{entrySupport.totalColumnCount}" styleClass="text_left">
<ul class="actionboxtab">
<li>
<h:panelGroup rendered="#{!entrySupport.renderBackAction}">
<a class="active"><h:outputText value="#{entrySupport.i18nMap['generic.vasc.jsf.listOption.header']}"/></a>
</h:panelGroup>
<h:commandLink actionListener="#{entrySupport.backEditAction}" value="#{entrySupport.i18nMap['vasc.action.editRowAction.name']}" rendered="#{entrySupport.renderBackEditAction}"/>
</li>
<ui:repeat var="link" value="#{entrySupport.vascLinkEntriesEditTabParentState}">
<li><h:commandLink actionListener="#{entrySupport.linkListAction}" value="#{entrySupport.i18nMap[link.name]}" type="#{link.id}" styleClass="#{link.vascEntryId==entrySupport.vascEntry.id?'active':''}"/></li>
</ui:repeat>
</ul>
<h:panelGrid columns="1" styleClass="actionbox" width="100%">
<h:panelGrid columns="2" id="injectTableOptionsId"/>
<h:panelGroup>
<h:outputText value="#{entrySupport.i18nMap['generic.vasc.jsf.listOption.search']}"/>
<h:inputText value="#{entrySupport.searchString}"/>
<h:commandButton actionListener="#{entrySupport.searchAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.listOption.sumbit']}"/>
</h:panelGroup>
</h:panelGrid>
</rich:column>
<rich:column colspan="#{entrySupport.totalColumnCount}" styleClass="text_left" breakBefore="true">
<ul class="paging">
<li class="paging_atstart">
<h:commandLink rendered="#{entrySupport.hasPagePreviousAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.pager.previous']}"
actionListener="#{entrySupport.pagePreviousAction}"/>
<h:outputText rendered="#{!entrySupport.hasPagePreviousAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.pager.previous']}" />
</li>
<ui:repeat var="page" value="#{entrySupport.tablePagesDataModel}" rendered="#{!entrySupport.hasExtendedPageMode}">
<li>
<h:commandLink actionListener="#{entrySupport.pageAction}" value="#{page.pageNumber}" type="#{page.pageNumber}" rendered="#{!page.selected}"/>
<h:outputText styleClass="paging_thispage" value="#{page.pageNumber}" rendered="#{page.selected}"/>
</li>
</ui:repeat>
<h:panelGroup rendered="#{entrySupport.hasExtendedPageMode}">
<ui:repeat var="page" value="#{entrySupport.tablePagesExtendedBegin}">
<li>
<h:commandLink actionListener="#{entrySupport.pageAction}" value="#{page.pageNumber}" type="#{page.pageNumber}" rendered="#{!page.selected}"/>
<h:outputText styleClass="paging_thispage" value="#{page.pageNumber}" rendered="#{page.selected}"/>
</li>
</ui:repeat>
<h:panelGroup rendered="#{entrySupport.hasExtendedPageModeCenter}">
<li><span class="text">...</span></li>
<ui:repeat var="page" value="#{entrySupport.tablePagesExtendedCenter}">
<li>
<h:commandLink actionListener="#{entrySupport.pageAction}" value="#{page.pageNumber}" type="#{page.pageNumber}" rendered="#{!page.selected}"/>
<h:outputText styleClass="paging_thispage" value="#{page.pageNumber}" rendered="#{page.selected}"/>
</li>
</ui:repeat>
</h:panelGroup>
<li><span class="text">...</span></li>
<ui:repeat var="page" value="#{entrySupport.tablePagesExtendedEnd}">
<li>
<h:commandLink actionListener="#{entrySupport.pageAction}" value="#{page.pageNumber}" type="#{page.pageNumber}" rendered="#{!page.selected}"/>
<h:outputText styleClass="paging_thispage" value="#{page.pageNumber}" rendered="#{page.selected}"/>
</li>
</ui:repeat>
</h:panelGroup>
<li class="paging_atend">
<h:commandLink rendered="#{entrySupport.hasPageNextAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.pager.next']}"
actionListener="#{entrySupport.pageNextAction}"/>
<h:outputText rendered="#{!entrySupport.hasPageNextAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.pager.next']}" />
</li>
</ul>
</rich:column>
<rich:column colspan="#{entrySupport.totalColumnCount}" styleClass="text_left" breakBefore="true">
<h:panelGroup styleClass="table_options_top">
<h:outputText value="#{entrySupport.i18nMap['generic.vasc.jsf.table.rows']}" />
<h:inputText required="false" value="#{entrySupport.vascEntry.vascFrontendData.vascEntryState.vascBackendState.pageSize}" size="4"/>
<h:outputText value="#{entrySupport.i18nMap['generic.vasc.jsf.table.pagerDirect']}" />
<h:selectOneMenu onchange="javascript:this.form.submit(); return false;" value="#{entrySupport.selectedDirectPage}" valueChangeListener="#{entrySupport.processDirectPageChange}">
<f:selectItems value="#{entrySupport.directPageItems}" />
</h:selectOneMenu>
<img src="#{facesContext.externalContext.requestContextPath}/img/icon_download.png" alt="#{entrySupport.i18nMap['generic.vasc.jsf.table.download.img']}" width="15" height="15" /><h:outputText value="&amp;nbsp;&amp;nbsp;" escape="false"/>
<h:outputText value="#{entrySupport.i18nMap['generic.vasc.jsf.table.downloadDirect']}" />
<h:selectOneMenu onchange="javascript:this.form.submit(); return false;" value="#{entrySupport.selectedExporterAction}" valueChangeListener="#{entrySupport.processDirectDownloadChange}">
<f:selectItems value="#{entrySupport.globalExportItems}" />
</h:selectOneMenu>
<img src="#{facesContext.externalContext.requestContextPath}/img/icon_print.png" alt="#{entrySupport.i18nMap['generic.vasc.jsf.table.printer.img']}" width="15" height="15" /><h:outputText value="&amp;nbsp;&amp;nbsp;" escape="false"/>
<h:outputFormat value="#{entrySupport.i18nMap['generic.vasc.jsf.table.resultText']}">
<f:param value="#{entrySupport.pageStartCount}" />
<f:param value="#{entrySupport.pageStopCount}" />
<f:param value="#{entrySupport.pageTotalRecordCount}" />
</h:outputFormat>
</h:panelGroup>
</rich:column>
<rich:column colspan="#{entrySupport.totalColumnCount}" styleClass="text_left" breakBefore="true" rendered="#{entrySupport.hasMultiRowActions}">
<h:outputText value="#{entrySupport.i18nMap['generic.vasc.jsf.multiAction.selectAll']}"/>
<h:selectBooleanCheckbox id="selectAllBox" required="false" onchange="javascript:selectAllCheckboxes(this);return false;" value="#{entrySupport.selectAllValue}"/>
<h:outputText value="&amp;nbsp;&amp;nbsp;" escape="false"/>
<h:selectOneMenu id="multiAction" required="false" value="#{entrySupport.selectedMultiRowAction}" onchange="javascript:this.form.submit(); return false;" valueChangeListener="#{entrySupport.processMultiRowActionChange}">
<f:selectItems value="#{entrySupport.multiRowActionItems}" />
</h:selectOneMenu>
</rich:column>
<rich:column colspan="#{entrySupport.totalFieldColumnCount}" breakBefore="true">
<h:outputText value="#{entrySupport.i18nMap['generic.vasc.jsf.tableHeader.fields']}" styleClass="table_sub_header"/>
</rich:column>
<rich:column colspan="#{entrySupport.totalLinkColumnCount}" rendered="#{entrySupport.totalLinkColumnCount != 0}">
<h:outputText value="#{entrySupport.i18nMap['generic.vasc.jsf.tableHeader.links']}" styleClass="table_sub_header"/>
</rich:column>
<rich:column colspan="#{entrySupport.totalActionColumnCount}" rendered="#{entrySupport.totalActionColumnCount != 0}">
<h:outputText value="#{entrySupport.i18nMap['generic.vasc.jsf.tableHeader.actions']}" styleClass="table_sub_header"/>
</rich:column>
</rich:columnGroup>
</f:facet>
<f:facet name="footer">
<rich:columnGroup>
<rich:column colspan="#{entrySupport.totalColumnCount}" styleClass="text_left">
<h:panelGroup styleClass="table_options_bottom">
<h:outputText value="#{entrySupport.i18nMap['generic.vasc.jsf.table.rows']}" />
<h:inputText required="false" value="#{entrySupport.vascEntry.vascFrontendData.vascEntryState.vascBackendState.pageSize}" size="4"/>
<h:outputText value="#{entrySupport.i18nMap['generic.vasc.jsf.table.pagerDirect']}" />
<h:selectOneMenu onchange="javascript:this.form.submit(); return false;" value="#{entrySupport.selectedDirectPage}" valueChangeListener="#{entrySupport.processDirectPageChange}">
<f:selectItems value="#{entrySupport.directPageItems}" />
</h:selectOneMenu>
<img src="#{facesContext.externalContext.requestContextPath}/img/icon_download.png" alt="#{entrySupport.i18nMap['generic.vasc.jsf.table.download.img']}" width="15" height="15" /><h:outputText value="&amp;nbsp;&amp;nbsp;" escape="false"/>
<h:outputText value="#{entrySupport.i18nMap['generic.vasc.jsf.table.downloadDirect']}" />
<h:selectOneMenu onchange="javascript:this.form.submit(); return false;" value="#{entrySupport.selectedExporterAction}" valueChangeListener="#{entrySupport.processDirectDownloadChange}">
<f:selectItems value="#{entrySupport.globalExportItems}" />
</h:selectOneMenu>
<img src="#{facesContext.externalContext.requestContextPath}/img/icon_print.png" alt="#{entrySupport.i18nMap['generic.vasc.jsf.table.printer.img']}" width="15" height="15" /><h:outputText value="&amp;nbsp;&amp;nbsp;" escape="false"/>
<h:outputFormat value="#{entrySupport.i18nMap['generic.vasc.jsf.table.resultText']}">
<f:param value="#{entrySupport.pageStartCount}" />
<f:param value="#{entrySupport.pageStopCount}" />
<f:param value="#{entrySupport.pageTotalRecordCount}" />
</h:outputFormat>
</h:panelGroup>
</rich:column>
<rich:column colspan="#{entrySupport.totalColumnCount}" styleClass="text_left" breakBefore="true">
<ul class="paging">
<li class="paging_atstart">
<h:commandLink rendered="#{entrySupport.hasPagePreviousAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.pager.previous']}"
actionListener="#{entrySupport.pagePreviousAction}"/>
<h:outputText rendered="#{!entrySupport.hasPagePreviousAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.pager.previous']}" />
</li>
<ui:repeat var="page" value="#{entrySupport.tablePagesDataModel}" rendered="#{!entrySupport.hasExtendedPageMode}">
<li>
<h:commandLink actionListener="#{entrySupport.pageAction}" value="#{page.pageNumber}" type="#{page.pageNumber}" rendered="#{!page.selected}"/>
<h:outputText styleClass="paging_thispage" value="#{page.pageNumber}" rendered="#{page.selected}"/>
</li>
</ui:repeat>
<h:panelGroup rendered="#{entrySupport.hasExtendedPageMode}">
<ui:repeat var="page" value="#{entrySupport.tablePagesExtendedBegin}">
<li>
<h:commandLink actionListener="#{entrySupport.pageAction}" value="#{page.pageNumber}" type="#{page.pageNumber}" rendered="#{!page.selected}"/>
<h:outputText styleClass="paging_thispage" value="#{page.pageNumber}" rendered="#{page.selected}"/>
</li>
</ui:repeat>
<h:panelGroup rendered="#{entrySupport.hasExtendedPageModeCenter}">
<li><span class="text">...</span></li>
<ui:repeat var="page" value="#{entrySupport.tablePagesExtendedCenter}">
<li>
<h:commandLink actionListener="#{entrySupport.pageAction}" value="#{page.pageNumber}" type="#{page.pageNumber}" rendered="#{!page.selected}"/>
<h:outputText styleClass="paging_thispage" value="#{page.pageNumber}" rendered="#{page.selected}"/>
</li>
</ui:repeat>
</h:panelGroup>
<li><span class="text">...</span></li>
<ui:repeat var="page" value="#{entrySupport.tablePagesExtendedEnd}">
<li>
<h:commandLink actionListener="#{entrySupport.pageAction}" value="#{page.pageNumber}" type="#{page.pageNumber}" rendered="#{!page.selected}"/>
<h:outputText styleClass="paging_thispage" value="#{page.pageNumber}" rendered="#{page.selected}"/>
</li>
</ui:repeat>
</h:panelGroup>
<li class="paging_atend">
<h:commandLink rendered="#{entrySupport.hasPageNextAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.pager.next']}"
actionListener="#{entrySupport.pageNextAction}"/>
<h:outputText rendered="#{!entrySupport.hasPageNextAction}" value="#{entrySupport.i18nMap['generic.vasc.jsf.pager.next']}" />
</li>
</ul>
</rich:column>
</rich:columnGroup>
</f:facet>
</rich:dataTable>
</h:form>
<h:form>
<p>
<h:commandButton actionListener="#{entrySupport.addAction}"
rendered="#{entrySupport.vascEntry.vascAdminCreate}"
value="#{entrySupport.i18nMap['vasc.action.addRowAction.name']}"
title="#{entrySupport.i18nMap['vasc.action.addRowAction.description']}"/>
</p>
</h:form>
</h:panelGroup>
</f:facet>
</v:vascEntry>
</ui:define>
</ui:composition>
</html>

View file

@ -0,0 +1,10 @@
<ui:composition template="/jsp/includes/layout.xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html">
<ui:define name="title">
<h:outputText value="#{wikiPageController.wikiTitle}" />
</ui:define>
<ui:define name="content">
<h:outputText value="#{wikiPageController.wikiContent}" escape="false"/>
</ui:define>
</ui:composition>

View file

@ -0,0 +1,20 @@
<ui:composition template="/jsp/includes/layout.xhtml"
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:rich="http://richfaces.org/rich"
>
<ui:define name="title">Index</ui:define>
<ui:define name="content">
<h:outputText value="Test etsdfjs "/>
<!--
<h:panelGroup rendered="#{userController.userLoggedin == false}">
<ui:include src="/jsp/includes/index-public.xhtml"/>
</h:panelGroup>
<h:panelGroup rendered="#{userController.userLoggedin == true}">
<ui:include src="/jsp/includes/index-user.xhtml"/>
</h:panelGroup
-->
</ui:define>
</ui:composition>

View file

@ -0,0 +1,2 @@
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:redirect url="jsp/index.jsf"/>

View file

@ -0,0 +1,11 @@
<ui:composition template="/jsp/includes/layout.xhtml"
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"
>
<ui:define name="title">Error</ui:define>
<ui:define name="content">
<h:outputText value="Could not login" />
</ui:define>
</ui:composition>

View file

@ -0,0 +1,11 @@
<ui:composition template="/jsp/includes/layout.xhtml"
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"
>
<ui:define name="title">Forgot</ui:define>
<ui:define name="content">
<h:outputText value="Could forgot my login, send it to me" />
</ui:define>
</ui:composition>

View file

@ -0,0 +1,23 @@
<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">
<ui:composition template="/jsp/includes/layout.xhtml">
<ui:define name="title">Login</ui:define>
<ui:define name="content">
<form method="post" action="j_security_check">
<h:panelGrid columns="2">
<h:column><h:outputText value="Username:" /></h:column>
<h:column><input type="text" name="j_username"/></h:column>
<h:column><h:outputText value="Password:" /></h:column>
<h:column><input type="password" name="j_password"/></h:column>
</h:panelGrid>
<input type="submit" value="Login"/>
</form>
<h:outputLink value="#{facesContext.externalContext.requestContextPath}/jsp/login/login-forgot.jsf">
<h:outputText value="Forgot my login." />
</h:outputLink>
</ui:define>
</ui:composition>
</html>

View file

@ -0,0 +1,11 @@
<ui:composition template="/jsp/includes/layout.xhtml"
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"
>
<ui:define name="title">Logout</ui:define>
<ui:define name="content">
<h:outputText value="Succesfully logged out." />
</ui:define>
</ui:composition>

View file

@ -0,0 +1,56 @@
<ui:composition template="/jsp/includes/layout.xhtml"
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:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
>
<ui:define name="title">Realtime Logs</ui:define>
<ui:define name="content">
<a4j:region>
<h:form>
<a4j:poll id="poll" interval="4000" enabled="#{realTimeController.pollEnabled}" reRender="poll,messageLog"/>
</h:form>
</a4j:region>
<h:form>
<h:panelGrid columns="1" id="grid" width="100%">
<h:outputText value="Realtime processed data event log"/>
<rich:separator lineType="none" height="10px"/>
<rich:separator lineType="solid" height="1px"/>
<h:panelGroup>
<h:outputText value="Polling active:"/>
<h:selectBooleanCheckbox value="#{realTimeController.pollEnabled}" required="false" onchange="javascript:this.form.submit(); return false;"/>
<h:outputText value="Reversed tail:"/>
<h:selectBooleanCheckbox value="#{realTimeController.reversedTail}" required="false" onchange="javascript:this.form.submit(); return false;"/>
<h:outputText value="LogHosts:"/>
<h:outputText value="LogLevel:"/>
<h:outputText value="Message regex:"/>
<h:inputText value="#{realTimeController.filterRegex}" required="false"/>
<h:outputText value="Area rows:"/>
<h:selectOneMenu value="#{realTimeController.messageRows}" onchange="javascript:this.form.submit(); return false;">
<f:selectItems value="#{realTimeController.messageRowsSelectItems}"/>
</h:selectOneMenu>
<h:outputText value="cols:"/>
<h:selectOneMenu value="#{realTimeController.messageCols}" onchange="javascript:this.form.submit(); return false;">
<f:selectItems value="#{realTimeController.messageColsSelectItems}"/>
</h:selectOneMenu>
</h:panelGroup>
<h:inputTextarea
id="messageLog"
style="font-size:10px;"
rows="#{realTimeController.messageRows}" cols="#{realTimeController.messageCols}"
enabled="false"
value="#{realTimeController.messageLogData}"
/>
</h:panelGrid>
</h:form>
</ui:define>
</ui:composition>

View file

@ -0,0 +1,10 @@
<ui:composition template="/jsp/includes/layout.xhtml"
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:rich="http://richfaces.org/rich"
>
<ui:define name="title">Reports</ui:define>
<ui:define name="content"><h:outputText value="The report page"/></ui:define>
</ui:composition>