Commit b13de830f4368c659412739435ccbb1e49056e5e
0 parents
Exists in
master
Commit inicial
Showing
52 changed files
with
5699 additions
and
0 deletions
Show diff stats
1 | +++ a/.gitignore | |
... | ... | @@ -0,0 +1,128 @@ |
1 | +#---------------------------------------# | |
2 | +# Project Ignores # | |
3 | +#---------------------------------------# | |
4 | + | |
5 | + | |
6 | +# Maven | |
7 | +target/ | |
8 | +pom.xml.tag | |
9 | +pom.xml.releaseBackup | |
10 | +pom.xml.versionsBackup | |
11 | +pom.xml.next | |
12 | +release.properties | |
13 | +dependency-reduced-pom.xml | |
14 | +buildNumber.properties | |
15 | +.mvn/timing.properties | |
16 | + | |
17 | +!/.mvn/wrapper/maven-wrapper.jar | |
18 | + | |
19 | +# Compiled class file | |
20 | +*.class | |
21 | + | |
22 | +# Mobile Tools for Java (J2ME) | |
23 | +.mtj.tmp/ | |
24 | + | |
25 | +# Package Files | |
26 | +*.jar | |
27 | +*.war | |
28 | +*.ear | |
29 | +*.zip | |
30 | +*.tar.gz | |
31 | +*.rar | |
32 | + | |
33 | +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | |
34 | +hs_err_pid* | |
35 | + | |
36 | +# misc | |
37 | +*.log | |
38 | +log/ | |
39 | +logs/ | |
40 | + | |
41 | + | |
42 | +#---------------------------------------# | |
43 | +# IDEs & Editors Ignores # | |
44 | +#---------------------------------------# | |
45 | + | |
46 | +# Sublime Text | |
47 | +/*.sublime* | |
48 | +.sublime-gulp.cache | |
49 | + | |
50 | +# VS Code | |
51 | +/.vscode | |
52 | + | |
53 | +# JetBrains IDEs | |
54 | +.idea/ | |
55 | +*.iml | |
56 | + | |
57 | +# Eclipse | |
58 | +.project | |
59 | +.classpath | |
60 | +.settings | |
61 | +.tern-project | |
62 | + | |
63 | +# Netbeans | |
64 | +nbactions*.xml | |
65 | +nb-configuration*.xml | |
66 | + | |
67 | +# BlueJ | |
68 | +*.ctxt | |
69 | + | |
70 | + | |
71 | +#---------------------------------------# | |
72 | +# General Ignores # | |
73 | +#---------------------------------------# | |
74 | + | |
75 | +*~ | |
76 | +*.orig | |
77 | +.vagrant | |
78 | + | |
79 | + | |
80 | +#---------------------------------------# | |
81 | +# Linux Ignores # | |
82 | +#---------------------------------------# | |
83 | + | |
84 | +# KDE directory preferences | |
85 | +.directory | |
86 | + | |
87 | + | |
88 | +#---------------------------------------# | |
89 | +# OSX Ignores # | |
90 | +#---------------------------------------# | |
91 | + | |
92 | +.DS_Store | |
93 | +.AppleDouble | |
94 | +.LSOverride | |
95 | +.localized | |
96 | + | |
97 | +# Icon must end with two \r | |
98 | +Icon | |
99 | + | |
100 | + | |
101 | +# Thumbnails | |
102 | +._* | |
103 | + | |
104 | +# Files that might appear on external disk | |
105 | +.Spotlight-V100 | |
106 | +.Trashes | |
107 | + | |
108 | +# Directories potentially created on remote AFP share | |
109 | +.AppleDB | |
110 | +.AppleDesktop | |
111 | +Network Trash Folder | |
112 | +Temporary Items | |
113 | +.apdisk | |
114 | + | |
115 | + | |
116 | +#---------------------------------------# | |
117 | +# Windows Ignores # | |
118 | +#---------------------------------------# | |
119 | + | |
120 | +# Windows image file caches | |
121 | +Thumbs.db | |
122 | +ehthumbs.db | |
123 | + | |
124 | +# Folder config file | |
125 | +Desktop.ini | |
126 | + | |
127 | +# Recycle Bin used on file shares | |
128 | +$RECYCLE.BIN/ | |
0 | 129 | \ No newline at end of file | ... | ... |
1 | +++ a/pom.xml | |
... | ... | @@ -0,0 +1,108 @@ |
1 | +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
2 | + <modelVersion>4.0.0</modelVersion> | |
3 | + <groupId>br.gov.ans</groupId> | |
4 | + <artifactId>templates-web</artifactId> | |
5 | + <version>1.0</version> | |
6 | + <packaging>war</packaging> | |
7 | + <name>templates-web</name> | |
8 | + <description>Portal de administração de templates</description> | |
9 | + | |
10 | + | |
11 | + <properties> | |
12 | + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
13 | + <version.resteasy>3.1.1.Final</version.resteasy> | |
14 | + <version.jsf>2.2.12</version.jsf> | |
15 | + </properties> | |
16 | + | |
17 | + <build> | |
18 | + <plugins> | |
19 | + <plugin> | |
20 | + <groupId>org.apache.maven.plugins</groupId> | |
21 | + <artifactId>maven-compiler-plugin</artifactId> | |
22 | + <version>3.1</version> | |
23 | + <configuration> | |
24 | + <source>1.8</source> | |
25 | + <target>1.8</target> | |
26 | + </configuration> | |
27 | + </plugin> | |
28 | + </plugins> | |
29 | + </build> | |
30 | + | |
31 | + <dependencies> | |
32 | + <!-- JSF --> | |
33 | + <dependency> | |
34 | + <groupId>com.sun.faces</groupId> | |
35 | + <artifactId>jsf-api</artifactId> | |
36 | + <version>${version.jsf}</version> | |
37 | + </dependency> | |
38 | + | |
39 | + <dependency> | |
40 | + <groupId>com.sun.faces</groupId> | |
41 | + <artifactId>jsf-impl</artifactId> | |
42 | + <version>${version.jsf}</version> | |
43 | + </dependency> | |
44 | + | |
45 | + <dependency> | |
46 | + <groupId>org.primefaces</groupId> | |
47 | + <artifactId>primefaces</artifactId> | |
48 | + <version>6.0</version> | |
49 | + </dependency> | |
50 | + | |
51 | + <dependency> | |
52 | + <groupId>commons-fileupload</groupId> | |
53 | + <artifactId>commons-fileupload</artifactId> | |
54 | + <version>1.3.2</version> | |
55 | + </dependency> | |
56 | + | |
57 | + <dependency> | |
58 | + <groupId>org.omnifaces</groupId> | |
59 | + <artifactId>omnifaces</artifactId> | |
60 | + <version>2.6.1</version> | |
61 | + </dependency> | |
62 | + | |
63 | + <!-- SERVLET --> | |
64 | + <dependency> | |
65 | + <groupId>javax.servlet</groupId> | |
66 | + <artifactId>javax.servlet-api</artifactId> | |
67 | + <scope>provided</scope> | |
68 | + <version>3.0.1</version> | |
69 | + </dependency> | |
70 | + | |
71 | + <!-- CDI --> | |
72 | + <dependency> | |
73 | + <groupId>org.jboss.weld</groupId> | |
74 | + <artifactId>weld-core</artifactId> | |
75 | + <version>2.2.15.Final</version> | |
76 | + <scope>provided</scope> | |
77 | + </dependency> | |
78 | + | |
79 | + <!-- EJB --> | |
80 | + <dependency> | |
81 | + <groupId>org.jboss.ejb3</groupId> | |
82 | + <artifactId>jboss-ejb3-api</artifactId> | |
83 | + <scope>provided</scope> | |
84 | + <version>3.1.0</version> | |
85 | + </dependency> | |
86 | + | |
87 | + <!-- COMMONS --> | |
88 | + <dependency> | |
89 | + <groupId>org.apache.commons</groupId> | |
90 | + <artifactId>commons-lang3</artifactId> | |
91 | + <version>3.5</version> | |
92 | + </dependency> | |
93 | + | |
94 | + <!-- REST --> | |
95 | + <dependency> | |
96 | + <groupId>org.jboss.resteasy</groupId> | |
97 | + <artifactId>resteasy-jaxrs</artifactId> | |
98 | + <version>${version.resteasy}</version> | |
99 | + </dependency> | |
100 | + | |
101 | + <!-- JAVAX SECURITY --> | |
102 | + <dependency> | |
103 | + <groupId>javax.security.jacc</groupId> | |
104 | + <artifactId>javax.security.jacc-api</artifactId> | |
105 | + <version>1.5</version> | |
106 | + </dependency> | |
107 | + </dependencies> | |
108 | +</project> | |
0 | 109 | \ No newline at end of file | ... | ... |
src/main/java/br/gov/ans/exceptions/BusinessException.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/exceptions/BusinessException.java | |
... | ... | @@ -0,0 +1,18 @@ |
1 | +package br.gov.ans.exceptions; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | + | |
5 | +public class BusinessException extends Exception implements Serializable{ | |
6 | + | |
7 | + private static final long serialVersionUID = 1L; | |
8 | + | |
9 | + private String message; | |
10 | + | |
11 | + public BusinessException(String message){ | |
12 | + this.message = message; | |
13 | + } | |
14 | + | |
15 | + public String getMessage() { | |
16 | + return message; | |
17 | + } | |
18 | +} | ... | ... |
src/main/java/br/gov/ans/exceptions/CustomExceptionHandler.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/exceptions/CustomExceptionHandler.java | |
... | ... | @@ -0,0 +1,66 @@ |
1 | +package br.gov.ans.exceptions; | |
2 | + | |
3 | +import java.util.Iterator; | |
4 | + | |
5 | +import javax.faces.FacesException; | |
6 | +import javax.faces.application.NavigationHandler; | |
7 | +import javax.faces.context.ExceptionHandler; | |
8 | +import javax.faces.context.ExceptionHandlerWrapper; | |
9 | +import javax.faces.context.FacesContext; | |
10 | +import javax.faces.context.Flash; | |
11 | +import javax.faces.event.ExceptionQueuedEvent; | |
12 | +import javax.faces.event.ExceptionQueuedEventContext; | |
13 | + | |
14 | +import org.jboss.logging.Logger; | |
15 | + | |
16 | +public class CustomExceptionHandler extends ExceptionHandlerWrapper { | |
17 | + | |
18 | + private ExceptionHandler wrapped; | |
19 | + | |
20 | + private static final Logger log = Logger.getLogger(CustomExceptionHandler.class); | |
21 | + | |
22 | + public CustomExceptionHandler(ExceptionHandler wrapped) { | |
23 | + this.wrapped = wrapped; | |
24 | + } | |
25 | + | |
26 | + @Override | |
27 | + public ExceptionHandler getWrapped() { | |
28 | + return wrapped; | |
29 | + } | |
30 | + | |
31 | + @SuppressWarnings("rawtypes") | |
32 | + @Override | |
33 | + public void handle() throws FacesException { | |
34 | + Iterator iterator = getUnhandledExceptionQueuedEvents().iterator(); | |
35 | + | |
36 | + while (iterator.hasNext()) { | |
37 | + ExceptionQueuedEvent event = (ExceptionQueuedEvent) iterator.next(); | |
38 | + ExceptionQueuedEventContext context = (ExceptionQueuedEventContext) event.getSource(); | |
39 | + | |
40 | + Throwable throwable = context.getException(); | |
41 | + | |
42 | + FacesContext fc = FacesContext.getCurrentInstance(); | |
43 | + | |
44 | + try { | |
45 | + log.error(throwable, throwable); | |
46 | + | |
47 | + Flash flash = fc.getExternalContext().getFlash(); | |
48 | + | |
49 | + flash.put("errorDetails", throwable.getMessage()); | |
50 | + | |
51 | + NavigationHandler navigationHandler = fc.getApplication().getNavigationHandler(); | |
52 | + | |
53 | + navigationHandler.handleNavigation(fc, null,"/erros/error?faces-redirect=true"); | |
54 | + | |
55 | + fc.renderResponse(); | |
56 | + | |
57 | + } finally { | |
58 | + iterator.remove(); | |
59 | + } | |
60 | + } | |
61 | + | |
62 | + // Let the parent handle the rest | |
63 | + getWrapped().handle(); | |
64 | + } | |
65 | + | |
66 | +} | ... | ... |
src/main/java/br/gov/ans/exceptions/CustomExceptionHandlerFactory.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/exceptions/CustomExceptionHandlerFactory.java | |
... | ... | @@ -0,0 +1,20 @@ |
1 | +package br.gov.ans.exceptions; | |
2 | + | |
3 | +import javax.faces.context.ExceptionHandler; | |
4 | +import javax.faces.context.ExceptionHandlerFactory; | |
5 | + | |
6 | +public class CustomExceptionHandlerFactory extends ExceptionHandlerFactory { | |
7 | + private ExceptionHandlerFactory parent; | |
8 | + | |
9 | + public CustomExceptionHandlerFactory(ExceptionHandlerFactory parent) { | |
10 | + this.parent = parent; | |
11 | + } | |
12 | + | |
13 | + @Override | |
14 | + public ExceptionHandler getExceptionHandler() { | |
15 | + ExceptionHandler result = new CustomExceptionHandler(parent.getExceptionHandler()); | |
16 | + | |
17 | + return result; | |
18 | + } | |
19 | + | |
20 | +} | ... | ... |
1 | +++ a/src/main/java/br/gov/ans/exceptions/ErrorMessage.java | |
... | ... | @@ -0,0 +1,48 @@ |
1 | +package br.gov.ans.exceptions; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | + | |
5 | +import javax.ws.rs.core.Response.Status; | |
6 | + | |
7 | +public class ErrorMessage implements Serializable{ | |
8 | + | |
9 | + private String code; | |
10 | + private String error; | |
11 | + | |
12 | + public ErrorMessage(){ | |
13 | + | |
14 | + } | |
15 | + | |
16 | + public ErrorMessage(String error) { | |
17 | + this.error = error; | |
18 | + } | |
19 | + | |
20 | + public ErrorMessage(String code, String error) { | |
21 | + super(); | |
22 | + this.code = code; | |
23 | + this.error = error; | |
24 | + } | |
25 | + | |
26 | + public ErrorMessage(Status code, String error) { | |
27 | + super(); | |
28 | + this.code = String.valueOf(code.getStatusCode()); | |
29 | + this.error = error; | |
30 | + } | |
31 | + | |
32 | + public String getCode() { | |
33 | + return code; | |
34 | + } | |
35 | + | |
36 | + public void setCode(String code) { | |
37 | + this.code = code; | |
38 | + } | |
39 | + | |
40 | + public String getError() { | |
41 | + return error; | |
42 | + } | |
43 | + | |
44 | + public void setError(String error) { | |
45 | + this.error = error; | |
46 | + } | |
47 | + | |
48 | +} | ... | ... |
src/main/java/br/gov/ans/factories/ClientRestFactory.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/factories/ClientRestFactory.java | |
... | ... | @@ -0,0 +1,61 @@ |
1 | +package br.gov.ans.factories; | |
2 | + | |
3 | +import java.util.Properties; | |
4 | + | |
5 | +import javax.enterprise.context.ApplicationScoped; | |
6 | +import javax.enterprise.inject.Produces; | |
7 | +import javax.enterprise.inject.spi.Annotated; | |
8 | +import javax.enterprise.inject.spi.InjectionPoint; | |
9 | +import javax.inject.Inject; | |
10 | +import javax.security.jacc.PolicyContext; | |
11 | +import javax.security.jacc.PolicyContextException; | |
12 | +import javax.servlet.http.HttpServletRequest; | |
13 | +import javax.ws.rs.client.Client; | |
14 | +import javax.ws.rs.client.ClientBuilder; | |
15 | + | |
16 | +import br.gov.ans.factories.qualifiers.Autenticado; | |
17 | +import br.gov.ans.factories.qualifiers.PropertiesInfo; | |
18 | +import br.gov.ans.factories.qualifiers.Server; | |
19 | +import br.gov.ans.utils.Authenticator; | |
20 | + | |
21 | + | |
22 | +public class ClientRestFactory { | |
23 | + | |
24 | + @Inject | |
25 | + @Server | |
26 | + @PropertiesInfo(file="ws-users.properties") | |
27 | + @ApplicationScoped | |
28 | + private Properties properties; | |
29 | + | |
30 | + | |
31 | + /** | |
32 | + * Produtor de cliente Rest | |
33 | + * Qualifier @Auntenticado: utilizá-lo para autenticação | |
34 | + * | |
35 | + * | |
36 | + * @param injectionPoint | |
37 | + * @return | |
38 | + * @throws PolicyContextException | |
39 | + */ | |
40 | + | |
41 | + @Produces | |
42 | + public Client produceClient(InjectionPoint injectionPoint) throws PolicyContextException{ | |
43 | + Annotated annotated = injectionPoint.getAnnotated(); | |
44 | + Autenticado a = annotated.getAnnotation(Autenticado.class); | |
45 | + | |
46 | + if(a != null){ | |
47 | + String user = properties.getProperty(a.value()+".user"); | |
48 | + String password = properties.getProperty(a.value()+".password"); | |
49 | + | |
50 | + HttpServletRequest request = (HttpServletRequest) PolicyContext.getContext(HttpServletRequest.class.getName()); | |
51 | + if(request.getUserPrincipal() != null){ | |
52 | + user += "@"+request.getUserPrincipal().getName(); | |
53 | + } | |
54 | + | |
55 | + return ClientBuilder.newClient().register(new Authenticator(user, password)); | |
56 | + } else{ | |
57 | + return ClientBuilder.newClient(); | |
58 | + } | |
59 | + } | |
60 | + | |
61 | +} | ... | ... |
1 | +++ a/src/main/java/br/gov/ans/factories/LoggerFactory.java | |
... | ... | @@ -0,0 +1,18 @@ |
1 | +package br.gov.ans.factories; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | + | |
5 | +import javax.enterprise.inject.Produces; | |
6 | +import javax.enterprise.inject.spi.InjectionPoint; | |
7 | + | |
8 | +import org.jboss.logging.Logger; | |
9 | + | |
10 | +public class LoggerFactory implements Serializable { | |
11 | + | |
12 | + private static final long serialVersionUID = 1L; | |
13 | + | |
14 | + @Produces | |
15 | + public Logger produceLogger(InjectionPoint injectionPoint){ | |
16 | + return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName()); | |
17 | + } | |
18 | +} | ... | ... |
src/main/java/br/gov/ans/factories/PropertiesFactory.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/factories/PropertiesFactory.java | |
... | ... | @@ -0,0 +1,38 @@ |
1 | +package br.gov.ans.factories; | |
2 | + | |
3 | +import java.io.IOException; | |
4 | +import java.util.Properties; | |
5 | + | |
6 | +import javax.enterprise.inject.spi.Annotated; | |
7 | +import javax.enterprise.inject.spi.InjectionPoint; | |
8 | + | |
9 | +import org.apache.commons.lang3.StringUtils; | |
10 | + | |
11 | +import br.gov.ans.factories.qualifiers.PropertiesInfo; | |
12 | + | |
13 | + | |
14 | +public abstract class PropertiesFactory { | |
15 | + | |
16 | + protected Properties produceProperties(InjectionPoint injectionPoint) throws IOException{ | |
17 | + Annotated annotated = injectionPoint.getAnnotated(); | |
18 | + PropertiesInfo info = annotated.getAnnotation(PropertiesInfo.class); | |
19 | + | |
20 | + return getProperties(info.file()); | |
21 | + } | |
22 | + | |
23 | + protected String produceProperty(InjectionPoint injectionPoint) throws IOException{ | |
24 | + Annotated annotated = injectionPoint.getAnnotated(); | |
25 | + PropertiesInfo info = annotated.getAnnotation(PropertiesInfo.class); | |
26 | + | |
27 | + if(StringUtils.isBlank(info.key())){ | |
28 | + return null; | |
29 | + } | |
30 | + | |
31 | + Properties props = getProperties(info.file()); | |
32 | + | |
33 | + return props.getProperty(info.key()); | |
34 | + } | |
35 | + | |
36 | + abstract Properties getProperties(String file) throws IOException; | |
37 | + | |
38 | +} | |
0 | 39 | \ No newline at end of file | ... | ... |
src/main/java/br/gov/ans/factories/PropertiesFactoryLocal.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/factories/PropertiesFactoryLocal.java | |
... | ... | @@ -0,0 +1,48 @@ |
1 | +package br.gov.ans.factories; | |
2 | + | |
3 | +import java.io.IOException; | |
4 | +import java.io.Serializable; | |
5 | +import java.util.Properties; | |
6 | + | |
7 | +import javax.enterprise.context.ApplicationScoped; | |
8 | +import javax.enterprise.inject.Default; | |
9 | +import javax.enterprise.inject.Produces; | |
10 | +import javax.enterprise.inject.spi.InjectionPoint; | |
11 | + | |
12 | +import br.gov.ans.factories.qualifiers.Local; | |
13 | + | |
14 | + | |
15 | + | |
16 | +/** | |
17 | + * Obtém propriedades locais. | |
18 | + * | |
19 | + */ | |
20 | +@ApplicationScoped | |
21 | +public class PropertiesFactoryLocal extends PropertiesFactory implements Serializable { | |
22 | + | |
23 | + private static final long serialVersionUID = 1L; | |
24 | + | |
25 | + @Produces | |
26 | + @Local @Default | |
27 | + @Override | |
28 | + public Properties produceProperties(InjectionPoint injectionPoint) throws IOException{ | |
29 | + return super.produceProperties(injectionPoint); | |
30 | + } | |
31 | + | |
32 | + @Produces | |
33 | + @Local @Default | |
34 | + @Override | |
35 | + public String produceProperty(InjectionPoint injectionPoint) throws IOException{ | |
36 | + return super.produceProperty(injectionPoint); | |
37 | + } | |
38 | + | |
39 | + @Override | |
40 | + protected Properties getProperties(String file) throws IOException{ | |
41 | + Properties props = new Properties(); | |
42 | + | |
43 | + props.load(PropertiesFactoryLocal.class.getClassLoader().getResourceAsStream(file)); | |
44 | + | |
45 | + return props; | |
46 | + } | |
47 | + | |
48 | +} | |
0 | 49 | \ No newline at end of file | ... | ... |
src/main/java/br/gov/ans/factories/PropertiesFactoryServer.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/factories/PropertiesFactoryServer.java | |
... | ... | @@ -0,0 +1,50 @@ |
1 | +package br.gov.ans.factories; | |
2 | + | |
3 | +import java.io.FileInputStream; | |
4 | +import java.io.IOException; | |
5 | +import java.io.Serializable; | |
6 | +import java.util.Properties; | |
7 | + | |
8 | +import javax.enterprise.context.ApplicationScoped; | |
9 | +import javax.enterprise.inject.Produces; | |
10 | +import javax.enterprise.inject.spi.InjectionPoint; | |
11 | + | |
12 | +import br.gov.ans.factories.qualifiers.Server; | |
13 | + | |
14 | + | |
15 | + | |
16 | +/** | |
17 | + * Obtém propriedades externas do jboss. | |
18 | + * | |
19 | + */ | |
20 | + | |
21 | +@ApplicationScoped | |
22 | +public class PropertiesFactoryServer extends PropertiesFactory implements Serializable { | |
23 | + | |
24 | + private static final long serialVersionUID = 1L; | |
25 | + | |
26 | + private static final String SERVER_PATH = System.getProperty("jboss.home.dir") + "/ans/properties/"; | |
27 | + | |
28 | + @Produces | |
29 | + @Server | |
30 | + public Properties produceProperties(InjectionPoint injectionPoint) throws IOException{ | |
31 | + return super.produceProperties(injectionPoint); | |
32 | + } | |
33 | + | |
34 | + @Produces | |
35 | + @Server | |
36 | + public String produceProperty(InjectionPoint injectionPoint) throws IOException{ | |
37 | + return super.produceProperty(injectionPoint); | |
38 | + } | |
39 | + | |
40 | + @Override | |
41 | + protected Properties getProperties(String file) throws IOException{ | |
42 | + Properties props = new Properties(); | |
43 | + | |
44 | + FileInputStream f = new FileInputStream(SERVER_PATH + file); | |
45 | + props.load(f); | |
46 | + | |
47 | + return props; | |
48 | + } | |
49 | + | |
50 | +} | |
0 | 51 | \ No newline at end of file | ... | ... |
src/main/java/br/gov/ans/factories/qualifiers/Autenticado.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/factories/qualifiers/Autenticado.java | |
... | ... | @@ -0,0 +1,18 @@ |
1 | +package br.gov.ans.factories.qualifiers; | |
2 | + | |
3 | +import java.lang.annotation.ElementType; | |
4 | +import java.lang.annotation.Retention; | |
5 | +import java.lang.annotation.RetentionPolicy; | |
6 | +import java.lang.annotation.Target; | |
7 | + | |
8 | + | |
9 | +@Retention(RetentionPolicy.RUNTIME) | |
10 | +@Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE}) | |
11 | +public @interface Autenticado { | |
12 | + | |
13 | + /** | |
14 | + * Prefixo da chave registrada no arquivo ws-users.properties no JBoss. | |
15 | + * @return | |
16 | + */ | |
17 | + String value(); | |
18 | +} | ... | ... |
src/main/java/br/gov/ans/factories/qualifiers/Local.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/factories/qualifiers/Local.java | |
... | ... | @@ -0,0 +1,15 @@ |
1 | +package br.gov.ans.factories.qualifiers; | |
2 | + | |
3 | +import java.lang.annotation.ElementType; | |
4 | +import java.lang.annotation.Retention; | |
5 | +import java.lang.annotation.RetentionPolicy; | |
6 | +import java.lang.annotation.Target; | |
7 | + | |
8 | +import javax.inject.Qualifier; | |
9 | + | |
10 | +@Qualifier | |
11 | +@Retention(RetentionPolicy.RUNTIME) | |
12 | +@Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE}) | |
13 | +public @interface Local { | |
14 | + | |
15 | +} | ... | ... |
src/main/java/br/gov/ans/factories/qualifiers/PropertiesInfo.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/factories/qualifiers/PropertiesInfo.java | |
... | ... | @@ -0,0 +1,13 @@ |
1 | +package br.gov.ans.factories.qualifiers; | |
2 | + | |
3 | +import java.lang.annotation.Retention; | |
4 | +import java.lang.annotation.RetentionPolicy; | |
5 | +import java.lang.annotation.Target; | |
6 | +import java.lang.annotation.ElementType; | |
7 | + | |
8 | +@Retention(RetentionPolicy.RUNTIME) | |
9 | +@Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE}) | |
10 | +public @interface PropertiesInfo { | |
11 | + String file(); | |
12 | + String key() default ""; | |
13 | +} | ... | ... |
src/main/java/br/gov/ans/factories/qualifiers/Server.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/factories/qualifiers/Server.java | |
... | ... | @@ -0,0 +1,15 @@ |
1 | +package br.gov.ans.factories.qualifiers; | |
2 | + | |
3 | +import java.lang.annotation.ElementType; | |
4 | +import java.lang.annotation.Retention; | |
5 | +import java.lang.annotation.RetentionPolicy; | |
6 | +import java.lang.annotation.Target; | |
7 | + | |
8 | +import javax.inject.Qualifier; | |
9 | + | |
10 | +@Qualifier | |
11 | +@Retention(RetentionPolicy.RUNTIME) | |
12 | +@Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE}) | |
13 | +public @interface Server { | |
14 | + | |
15 | +} | ... | ... |
src/main/java/br/gov/ans/templates/clients/ClientTemplatesBroker.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/templates/clients/ClientTemplatesBroker.java | |
... | ... | @@ -0,0 +1,152 @@ |
1 | +package br.gov.ans.templates.clients; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | +import java.util.HashMap; | |
5 | +import java.util.List; | |
6 | + | |
7 | +import javax.enterprise.context.ApplicationScoped; | |
8 | +import javax.inject.Inject; | |
9 | +import javax.ws.rs.client.Client; | |
10 | +import javax.ws.rs.client.Entity; | |
11 | +import javax.ws.rs.core.GenericType; | |
12 | +import javax.ws.rs.core.MediaType; | |
13 | +import javax.ws.rs.core.Response; | |
14 | +import javax.ws.rs.core.Response.Status.Family; | |
15 | + | |
16 | +import org.jboss.logging.Logger; | |
17 | + | |
18 | +import br.gov.ans.exceptions.BusinessException; | |
19 | +import br.gov.ans.exceptions.ErrorMessage; | |
20 | +import br.gov.ans.factories.qualifiers.Autenticado; | |
21 | +import br.gov.ans.factories.qualifiers.PropertiesInfo; | |
22 | +import br.gov.ans.factories.qualifiers.Server; | |
23 | +import br.gov.ans.templates.mb.CriacaoTemplate; | |
24 | +import br.gov.ans.templates.modelo.Template; | |
25 | +import br.gov.ans.templates.modelo.Versao; | |
26 | + | |
27 | +public class ClientTemplatesBroker implements Serializable{ | |
28 | + | |
29 | + private static final long serialVersionUID = 1L; | |
30 | + | |
31 | + @Inject | |
32 | + @Server | |
33 | + @ApplicationScoped | |
34 | + @PropertiesInfo(file="services.properties", key="templates.broker.uri") | |
35 | + private String uri; | |
36 | + | |
37 | + @Inject | |
38 | + @Autenticado("templates.web") | |
39 | + private transient Client cliente; | |
40 | + | |
41 | + @Inject | |
42 | + private Logger logger; | |
43 | + | |
44 | + public HashMap<String, Object> getTemplates(String filtro, int qtdRegistros, int pagina) throws Exception{ | |
45 | + Response response = cliente.target(uri).path("templates") | |
46 | + .queryParam("filtro", filtro) | |
47 | + .queryParam("itens", qtdRegistros) | |
48 | + .queryParam("pag", pagina) | |
49 | + .property("Accept", MediaType.APPLICATION_JSON).request().buildGet().invoke(); | |
50 | + | |
51 | + if(response.getStatusInfo().getFamily() != Family.SUCCESSFUL){ | |
52 | + errorHandling(response); | |
53 | + } | |
54 | + | |
55 | + HashMap<String, Object> map = new HashMap<String, Object>(); | |
56 | + | |
57 | + String totalRegistros = response.getHeaderString("total_registros"); | |
58 | + map.put("totalRegistros", totalRegistros); | |
59 | + | |
60 | + List<Template> templates = response.readEntity(new GenericType<List<Template>>(){}); | |
61 | + map.put("templates", templates); | |
62 | + | |
63 | + response.close(); | |
64 | + | |
65 | + return map; | |
66 | + } | |
67 | + | |
68 | + public String getCorpoTemplate(String identificador) throws Exception{ | |
69 | + Response response = cliente.target(uri).path("templates") | |
70 | + .path(identificador) | |
71 | + .path("corpo") | |
72 | + .request().buildGet().invoke(); | |
73 | + | |
74 | + if(response.getStatusInfo().getFamily() != Family.SUCCESSFUL){ | |
75 | + errorHandling(response); | |
76 | + } | |
77 | + | |
78 | + String corpo = response.readEntity(String.class); | |
79 | + | |
80 | + return corpo; | |
81 | + } | |
82 | + | |
83 | + public void criarTemplate(Template template) throws Exception{ | |
84 | + CriacaoTemplate novoTemplate = new CriacaoTemplate(template); | |
85 | + | |
86 | + Response response = cliente.target(uri).path("templates") | |
87 | + .request().buildPost(Entity.json(novoTemplate)).invoke(); | |
88 | + | |
89 | + if(response.getStatusInfo().getFamily() != Family.SUCCESSFUL){ | |
90 | + errorHandling(response); | |
91 | + } | |
92 | + | |
93 | + response.close(); | |
94 | + } | |
95 | + | |
96 | + public void excluirTemplate(String identificador) throws Exception{ | |
97 | + Response response = cliente.target(uri).path("templates") | |
98 | + .path(identificador) | |
99 | + .request().buildDelete().invoke(); | |
100 | + | |
101 | + if(response.getStatusInfo().getFamily() != Family.SUCCESSFUL){ | |
102 | + errorHandling(response); | |
103 | + } | |
104 | + | |
105 | + response.close(); | |
106 | + } | |
107 | + | |
108 | + public void atualizarTemplate(String identificador, Template template) throws Exception{ | |
109 | + CriacaoTemplate novoTemplate = new CriacaoTemplate(template); | |
110 | + | |
111 | + Response response = cliente.target(uri).path("templates") | |
112 | + .path(identificador) | |
113 | + .request().buildPut(Entity.json(novoTemplate)).invoke(); | |
114 | + | |
115 | + if(response.getStatusInfo().getFamily() != Family.SUCCESSFUL){ | |
116 | + errorHandling(response); | |
117 | + } | |
118 | + | |
119 | + response.close(); | |
120 | + } | |
121 | + | |
122 | + public List<Versao> getVersoes(String identificador) throws Exception{ | |
123 | + Response response = cliente.target(uri).path("templates") | |
124 | + .path(identificador) | |
125 | + .path("versoes") | |
126 | + .request().buildGet().invoke(); | |
127 | + | |
128 | + if(response.getStatusInfo().getFamily() != Family.SUCCESSFUL){ | |
129 | + errorHandling(response); | |
130 | + } | |
131 | + | |
132 | + List<Versao> versoes = response.readEntity(new GenericType<List<Versao>>(){}); | |
133 | + | |
134 | + response.close(); | |
135 | + | |
136 | + return versoes; | |
137 | + } | |
138 | + | |
139 | + public void errorHandling(Response response) throws Exception{ | |
140 | + if(!response.getHeaderString("Content-Type").equals(MediaType.APPLICATION_JSON)){ | |
141 | + logger.error(response.readEntity(String.class)); | |
142 | + | |
143 | + response.close(); | |
144 | + throw new Exception("Erro ao utilizar o templates.broker."); | |
145 | + } | |
146 | + | |
147 | + ErrorMessage erro = response.readEntity(ErrorMessage.class); | |
148 | + response.close(); | |
149 | + | |
150 | + throw new BusinessException(erro.getError()); | |
151 | + } | |
152 | +} | ... | ... |
1 | +++ a/src/main/java/br/gov/ans/templates/mb/ANSBean.java | |
... | ... | @@ -0,0 +1,88 @@ |
1 | +package br.gov.ans.templates.mb; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | + | |
5 | +import javax.faces.application.FacesMessage; | |
6 | +import javax.faces.application.FacesMessage.Severity; | |
7 | +import javax.faces.context.ExternalContext; | |
8 | +import javax.faces.context.FacesContext; | |
9 | +import javax.servlet.http.HttpServletRequest; | |
10 | +import javax.servlet.http.HttpServletResponse; | |
11 | +import javax.servlet.http.HttpSession; | |
12 | + | |
13 | +import org.primefaces.context.RequestContext; | |
14 | +import org.primefaces.util.MessageFactory; | |
15 | + | |
16 | + | |
17 | +public class ANSBean implements Serializable{ | |
18 | + | |
19 | + private static final long serialVersionUID = 1L; | |
20 | + | |
21 | + public void exibirMensagemErroGenerica(){ | |
22 | + FacesMessage message = MessageFactory.getMessage("erro.generico", FacesMessage.SEVERITY_ERROR, null); | |
23 | + getFacesContext().addMessage(null, message); | |
24 | + } | |
25 | + | |
26 | + public void exibirMensagemSucessoGenerica(){ | |
27 | + FacesMessage message = MessageFactory.getMessage("sucesso.generico", FacesMessage.SEVERITY_INFO, null); | |
28 | + getFacesContext().addMessage(null, message); | |
29 | + } | |
30 | + | |
31 | + public void exibirMensagemSucesso(String bundleKey){ | |
32 | + FacesMessage message = MessageFactory.getMessage(bundleKey, FacesMessage.SEVERITY_INFO, null); | |
33 | + getFacesContext().addMessage(null, message); | |
34 | + } | |
35 | + | |
36 | + public void exibirMensagemErro(String bundleKey){ | |
37 | + FacesMessage message = MessageFactory.getMessage(bundleKey, FacesMessage.SEVERITY_ERROR, null); | |
38 | + getFacesContext().addMessage(null, message); | |
39 | + } | |
40 | + | |
41 | + public void exibirMensagemAviso(String bundleKey){ | |
42 | + FacesMessage message = MessageFactory.getMessage(bundleKey, FacesMessage.SEVERITY_WARN, null); | |
43 | + getFacesContext().addMessage(null, message); | |
44 | + } | |
45 | + | |
46 | + public void exibirMensagemErroException(Exception ex){ | |
47 | + FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, ex.getMessage(), ""); | |
48 | + getFacesContext().addMessage(null, message); | |
49 | + } | |
50 | + | |
51 | + public void exibirMensagemParametrizada(String bundleKey, Severity severity, String messageName, Object[] params){ | |
52 | + FacesMessage message = MessageFactory.getMessage(bundleKey, severity, params); | |
53 | + FacesContext.getCurrentInstance().addMessage(messageName, message); | |
54 | + } | |
55 | + | |
56 | + protected FacesContext getFacesContext(){ | |
57 | + return FacesContext.getCurrentInstance(); | |
58 | + } | |
59 | + | |
60 | + protected ExternalContext getExternalContext(){ | |
61 | + return getFacesContext().getExternalContext(); | |
62 | + } | |
63 | + | |
64 | + protected HttpSession getSession(boolean createIfInvalid){ | |
65 | + return (HttpSession) getExternalContext().getSession(createIfInvalid); | |
66 | + } | |
67 | + | |
68 | + protected HttpServletRequest getRequest(){ | |
69 | + return (HttpServletRequest) getExternalContext().getRequest(); | |
70 | + } | |
71 | + | |
72 | + protected HttpServletResponse getResponse(){ | |
73 | + return (HttpServletResponse) getExternalContext().getResponse(); | |
74 | + } | |
75 | + | |
76 | + public RequestContext getRequestContext(){ | |
77 | + return RequestContext.getCurrentInstance(); | |
78 | + } | |
79 | + | |
80 | + public String getMessageFromBundle(String bundleKey){ | |
81 | + FacesContext context = FacesContext.getCurrentInstance(); | |
82 | + return context.getApplication().evaluateExpressionGet(context, "#{msg['"+bundleKey+"']}", String.class); | |
83 | + } | |
84 | + | |
85 | + public String getUsuarioLogado(){ | |
86 | + return getExternalContext().getUserPrincipal().getName(); | |
87 | + } | |
88 | +} | ... | ... |
src/main/java/br/gov/ans/templates/mb/CriacaoTemplate.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/templates/mb/CriacaoTemplate.java | |
... | ... | @@ -0,0 +1,90 @@ |
1 | +package br.gov.ans.templates.mb; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | +import java.util.Date; | |
5 | + | |
6 | +import javax.xml.bind.annotation.XmlRootElement; | |
7 | + | |
8 | +@XmlRootElement | |
9 | +public class CriacaoTemplate implements Serializable{ | |
10 | + private String nome; | |
11 | + private String descricao; | |
12 | + private Boolean restrito; | |
13 | + private String exemplo; | |
14 | + private String corpo; | |
15 | + private String responsavel; | |
16 | + private Date data; | |
17 | + | |
18 | + public CriacaoTemplate(){ | |
19 | + } | |
20 | + | |
21 | + public CriacaoTemplate(br.gov.ans.templates.modelo.Template template){ | |
22 | + setNome(template.getNome()); | |
23 | + setDescricao(template.getDescricao()); | |
24 | + setRestrito(template.getRestrito()); | |
25 | + setExemplo(template.getExemplo()); | |
26 | + setCorpo(new String(template.getCorpo())); | |
27 | + setResponsavel(template.getResponsavel()); | |
28 | + setData(template.getDataCadastro()); | |
29 | + } | |
30 | + | |
31 | + public String getNome() { | |
32 | + return nome; | |
33 | + } | |
34 | + | |
35 | + public void setNome(String nome) { | |
36 | + this.nome = nome; | |
37 | + } | |
38 | + | |
39 | + public String getDescricao() { | |
40 | + return descricao; | |
41 | + } | |
42 | + | |
43 | + public void setDescricao(String descricao) { | |
44 | + this.descricao = descricao; | |
45 | + } | |
46 | + | |
47 | + public Boolean getRestrito() { | |
48 | + if(restrito == null){ | |
49 | + return false; | |
50 | + } | |
51 | + | |
52 | + return restrito; | |
53 | + } | |
54 | + | |
55 | + public void setRestrito(Boolean restrito) { | |
56 | + this.restrito = restrito; | |
57 | + } | |
58 | + | |
59 | + public String getExemplo() { | |
60 | + return exemplo; | |
61 | + } | |
62 | + | |
63 | + public void setExemplo(String exemplo) { | |
64 | + this.exemplo = exemplo; | |
65 | + } | |
66 | + | |
67 | + public String getCorpo() { | |
68 | + return corpo; | |
69 | + } | |
70 | + | |
71 | + public void setCorpo(String corpo) { | |
72 | + this.corpo = corpo; | |
73 | + } | |
74 | + | |
75 | + public String getResponsavel() { | |
76 | + return responsavel; | |
77 | + } | |
78 | + | |
79 | + public void setResponsavel(String responsavel) { | |
80 | + this.responsavel = responsavel; | |
81 | + } | |
82 | + | |
83 | + public Date getData() { | |
84 | + return data; | |
85 | + } | |
86 | + | |
87 | + public void setData(Date data) { | |
88 | + this.data = data; | |
89 | + } | |
90 | +} | ... | ... |
1 | +++ a/src/main/java/br/gov/ans/templates/mb/SessionBean.java | |
... | ... | @@ -0,0 +1,37 @@ |
1 | +package br.gov.ans.templates.mb; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | +import java.text.SimpleDateFormat; | |
5 | +import java.util.Date; | |
6 | + | |
7 | +import javax.faces.bean.SessionScoped; | |
8 | +import javax.inject.Named; | |
9 | + | |
10 | +@Named | |
11 | +@SessionScoped | |
12 | +public class SessionBean extends ANSBean implements Serializable{ | |
13 | + | |
14 | + private static final long serialVersionUID = 1L; | |
15 | + | |
16 | + private String usuarioLogado; | |
17 | + | |
18 | + public SessionBean(){ | |
19 | + this.usuarioLogado = getExternalContext().getUserPrincipal().getName(); | |
20 | + } | |
21 | + | |
22 | + public String getDataAtual(){ | |
23 | + SimpleDateFormat dtHr = new SimpleDateFormat( "EEEE, d' de 'MMMM' de 'yyyy" ); | |
24 | + return dtHr.format( new Date( System.currentTimeMillis() ) ); | |
25 | + } | |
26 | + | |
27 | + public String logout() { | |
28 | + getSession(false).invalidate(); | |
29 | + | |
30 | + return "/pages/gerenciar_templates.xhtml?faces-redirect=true"; | |
31 | + } | |
32 | + | |
33 | + public String getUsuarioLogado() { | |
34 | + return usuarioLogado; | |
35 | + } | |
36 | + | |
37 | +} | ... | ... |
src/main/java/br/gov/ans/templates/mb/TemplatesBean.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/templates/mb/TemplatesBean.java | |
... | ... | @@ -0,0 +1,291 @@ |
1 | +package br.gov.ans.templates.mb; | |
2 | + | |
3 | +import java.io.ByteArrayInputStream; | |
4 | +import java.io.IOException; | |
5 | +import java.io.InputStream; | |
6 | +import java.io.Serializable; | |
7 | +import java.text.DateFormat; | |
8 | +import java.text.SimpleDateFormat; | |
9 | +import java.util.HashMap; | |
10 | +import java.util.List; | |
11 | +import java.util.Map; | |
12 | + | |
13 | +import javax.annotation.PostConstruct; | |
14 | +import javax.ejb.Stateful; | |
15 | +import javax.inject.Inject; | |
16 | +import javax.inject.Named; | |
17 | + | |
18 | +import org.apache.commons.io.IOUtils; | |
19 | +import org.apache.commons.lang3.StringUtils; | |
20 | +import org.jboss.logging.Logger; | |
21 | +import org.omnifaces.cdi.ViewScoped; | |
22 | +import org.primefaces.model.DefaultStreamedContent; | |
23 | +import org.primefaces.model.LazyDataModel; | |
24 | +import org.primefaces.model.SortOrder; | |
25 | +import org.primefaces.model.StreamedContent; | |
26 | +import org.primefaces.model.UploadedFile; | |
27 | + | |
28 | +import br.gov.ans.exceptions.BusinessException; | |
29 | +import br.gov.ans.templates.clients.ClientTemplatesBroker; | |
30 | +import br.gov.ans.templates.modelo.Template; | |
31 | +import br.gov.ans.templates.modelo.Versao; | |
32 | + | |
33 | +@Named | |
34 | +@Stateful | |
35 | +@ViewScoped | |
36 | +public class TemplatesBean extends ANSBean implements Serializable{ | |
37 | + | |
38 | + private static final long serialVersionUID = 1L; | |
39 | + | |
40 | + @Inject | |
41 | + private Logger logger; | |
42 | + | |
43 | + @Inject | |
44 | + private transient ClientTemplatesBroker templatesBroker; | |
45 | + | |
46 | + DateFormat formatter = new SimpleDateFormat("ddMMyyyyhhmm"); | |
47 | + | |
48 | + private String filtro; | |
49 | + private String identificadorTemplateEditado; | |
50 | + private String historicoSelecionado; | |
51 | + | |
52 | + private List<Versao> versoes; | |
53 | + private List<Template> templates; | |
54 | + private LazyDataModel<Template> model; | |
55 | + | |
56 | + private Template template; | |
57 | + | |
58 | + private int qtdRegistros; | |
59 | + | |
60 | + private UploadedFile arquivoTemplate; | |
61 | + | |
62 | + @PostConstruct | |
63 | + public void init(){ | |
64 | + model = new LazyDataModel<Template>() { | |
65 | + private static final long serialVersionUID = 1L; | |
66 | + | |
67 | + @SuppressWarnings("unchecked") | |
68 | + @Override | |
69 | + public List<Template> load(int first, int pageSize, String sortField, SortOrder sortOrder, | |
70 | + Map<String, Object> filters) { | |
71 | + | |
72 | + int numeroPagina = (first / pageSize) + 1; | |
73 | + | |
74 | + try { | |
75 | + HashMap<String, Object> map = templatesBroker.getTemplates(filtro, pageSize, numeroPagina); | |
76 | + | |
77 | + templates = (List<Template>) map.get("templates"); | |
78 | + qtdRegistros = Integer.parseInt(map.get("totalRegistros").toString()); | |
79 | + | |
80 | + setRowCount(qtdRegistros); | |
81 | + } catch (Exception ex) { | |
82 | + templates = null; | |
83 | + logger.error(ex, ex); | |
84 | + exibirMensagemErro(ex.getMessage()); | |
85 | + } | |
86 | + | |
87 | + return templates; | |
88 | + } | |
89 | + }; | |
90 | + | |
91 | + novoTemplate(); | |
92 | + } | |
93 | + | |
94 | + public void novoTemplate(){ | |
95 | + template = new Template(); | |
96 | + template.setResponsavel(getUsuarioLogado()); | |
97 | + } | |
98 | + | |
99 | + public void editarTemplate(Template template){ | |
100 | + this.template = template; | |
101 | + this.template.setResponsavel(getUsuarioLogado()); | |
102 | + | |
103 | + this.identificadorTemplateEditado = template.getNome(); | |
104 | + } | |
105 | + | |
106 | + public void salvar(){ | |
107 | + try { | |
108 | + validarTemplate(template); | |
109 | + | |
110 | + template.setCorpo(getCorpoArquivo()); | |
111 | + | |
112 | + templatesBroker.criarTemplate(template); | |
113 | + | |
114 | + getRequestContext().execute("PF('templateDialog').hide();"); | |
115 | + | |
116 | + exibirMensagemSucesso("sucesso.template.criado"); | |
117 | + novoTemplate(); | |
118 | + }catch(IOException ex){ | |
119 | + logger.error(ex, ex); | |
120 | + exibirMensagemErro("erro.carregar.arquivo.template"); | |
121 | + }catch (Exception ex) { | |
122 | + logger.error(ex, ex); | |
123 | + exibirMensagemErroException(ex); | |
124 | + } | |
125 | + } | |
126 | + | |
127 | + public void getHistoricoTemplate(String identificador){ | |
128 | + this.historicoSelecionado = identificador; | |
129 | + | |
130 | + try { | |
131 | + this.versoes = templatesBroker.getVersoes(identificador); | |
132 | + } catch (Exception ex) { | |
133 | + logger.error(ex, ex); | |
134 | + exibirMensagemErroException(ex); | |
135 | + } | |
136 | + } | |
137 | + | |
138 | + public void atualizarTemplate(){ | |
139 | + try { | |
140 | + validarTemplate(template); | |
141 | + | |
142 | + if(arquivoTemplate != null && StringUtils.isNotBlank(arquivoTemplate.getFileName())){ | |
143 | + template.setCorpo(getCorpoArquivo()); | |
144 | + }else{ | |
145 | + exibirMensagemAviso("aviso.arquivo.template.nao.anexado"); | |
146 | + } | |
147 | + | |
148 | + templatesBroker.atualizarTemplate(identificadorTemplateEditado, template); | |
149 | + | |
150 | + getRequestContext().execute("PF('editTemplateDialog').hide();"); | |
151 | + | |
152 | + exibirMensagemSucesso("sucesso.template.atualizado"); | |
153 | + } catch (Exception ex) { | |
154 | + logger.error(ex, ex); | |
155 | + exibirMensagemErroException(ex); | |
156 | + } | |
157 | + } | |
158 | + | |
159 | + public void atualizarCorpoTemplate(){ | |
160 | + try { | |
161 | + templatesBroker.atualizarTemplate(template.getNome(), template); | |
162 | + | |
163 | + getRequestContext().execute("PF('editCorpoDialog').hide();"); | |
164 | + | |
165 | + exibirMensagemSucesso("sucesso.template.atualizado"); | |
166 | + } catch (Exception ex) { | |
167 | + logger.error(ex, ex); | |
168 | + exibirMensagemErroException(ex); | |
169 | + } | |
170 | + } | |
171 | + | |
172 | + public void validarTemplate(Template template) throws BusinessException{ | |
173 | + if(StringUtils.isBlank(template.getNome())){ | |
174 | + throw new BusinessException(getMessageFromBundle("erro.identificador.obrigatorio")); | |
175 | + } | |
176 | + | |
177 | + if(StringUtils.isBlank(template.getDescricao())){ | |
178 | + throw new BusinessException(getMessageFromBundle("erro.descricao.obrigatoria")); | |
179 | + } | |
180 | + | |
181 | + if(StringUtils.isBlank(template.getExemplo())){ | |
182 | + throw new BusinessException(getMessageFromBundle("erro.exemplo.obrigatorio")); | |
183 | + } | |
184 | + } | |
185 | + | |
186 | + public String getCorpoArquivo() throws IOException, BusinessException{ | |
187 | + if(arquivoTemplate == null){ | |
188 | + throw new BusinessException(getMessageFromBundle("erro.arquivo.obrigatorio")); | |
189 | + } | |
190 | + | |
191 | + if(arquivoTemplate.getSize() < 1L){ | |
192 | + throw new BusinessException(getMessageFromBundle("erro.arquivo.template.vazio")); | |
193 | + } | |
194 | + | |
195 | + return IOUtils.toString(arquivoTemplate.getInputstream()); | |
196 | + } | |
197 | + | |
198 | + public StreamedContent downloadTemplate(String identificador){ | |
199 | + try{ | |
200 | + String corpoTemplate = templatesBroker.getCorpoTemplate(identificador); | |
201 | + | |
202 | + InputStream inputStram = new ByteArrayInputStream(corpoTemplate.getBytes()); | |
203 | + | |
204 | + return new DefaultStreamedContent(inputStram, "application/octet-stream", identificador +".mustache"); | |
205 | + }catch (Exception ex) { | |
206 | + logger.error(ex, ex); | |
207 | + exibirMensagemErroException(ex); | |
208 | + return null; | |
209 | + } | |
210 | + } | |
211 | + | |
212 | + public void excluirTemplate(String identificador){ | |
213 | + try { | |
214 | + templatesBroker.excluirTemplate(identificador); | |
215 | + exibirMensagemSucesso("sucesso.template.excluido"); | |
216 | + } catch (Exception ex) { | |
217 | + logger.error(ex, ex); | |
218 | + exibirMensagemErroException(ex); | |
219 | + } | |
220 | + } | |
221 | + | |
222 | + public StreamedContent downloadVersao(Versao versao){ | |
223 | + try{ | |
224 | + InputStream inputStram = new ByteArrayInputStream(versao.getCorpo()); | |
225 | + | |
226 | + return new DefaultStreamedContent(inputStram, "application/octet-stream", historicoSelecionado+"_"+formatter.format(versao.getData()) +".mustache"); | |
227 | + }catch (Exception ex) { | |
228 | + logger.error(ex, ex); | |
229 | + exibirMensagemErroException(ex); | |
230 | + return null; | |
231 | + } | |
232 | + } | |
233 | + | |
234 | + public void limparListaVersoes(){ | |
235 | + this.historicoSelecionado = null; | |
236 | + this.versoes = null; | |
237 | + } | |
238 | + | |
239 | + public String getFiltro() { | |
240 | + return filtro; | |
241 | + } | |
242 | + | |
243 | + public void setFiltro(String filtro) { | |
244 | + this.filtro = filtro; | |
245 | + } | |
246 | + | |
247 | + public LazyDataModel<Template> getModel() { | |
248 | + return model; | |
249 | + } | |
250 | + | |
251 | + public void setModel(LazyDataModel<Template> model) { | |
252 | + this.model = model; | |
253 | + } | |
254 | + | |
255 | + public Template getTemplate() { | |
256 | + return template; | |
257 | + } | |
258 | + | |
259 | + public void setTemplate(Template template) { | |
260 | + this.template = template; | |
261 | + } | |
262 | + | |
263 | + public UploadedFile getArquivoTemplate() { | |
264 | + return arquivoTemplate; | |
265 | + } | |
266 | + | |
267 | + public void setArquivoTemplate(UploadedFile arquivoTemplate) { | |
268 | + this.arquivoTemplate = arquivoTemplate; | |
269 | + } | |
270 | + | |
271 | + public String getIdentificadorTemplateEditado() { | |
272 | + return identificadorTemplateEditado; | |
273 | + } | |
274 | + | |
275 | + public void setIdentificadorTemplateEditado(String identificadorTemplateEditado) { | |
276 | + this.identificadorTemplateEditado = identificadorTemplateEditado; | |
277 | + } | |
278 | + | |
279 | + public List<Versao> getVersoes() { | |
280 | + return versoes; | |
281 | + } | |
282 | + | |
283 | + public void setVersoes(List<Versao> versoes) { | |
284 | + this.versoes = versoes; | |
285 | + } | |
286 | + | |
287 | + public String getHistoricoSelecionado() { | |
288 | + return historicoSelecionado; | |
289 | + } | |
290 | + | |
291 | +} | ... | ... |
src/main/java/br/gov/ans/templates/modelo/CriacaoTemplate.java
0 → 100644
1 | +++ a/src/main/java/br/gov/ans/templates/modelo/CriacaoTemplate.java | |
... | ... | @@ -0,0 +1,90 @@ |
1 | +package br.gov.ans.templates.modelo; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | +import java.util.Date; | |
5 | + | |
6 | +import javax.xml.bind.annotation.XmlRootElement; | |
7 | + | |
8 | +@XmlRootElement | |
9 | +public class CriacaoTemplate implements Serializable{ | |
10 | + private String nome; | |
11 | + private String descricao; | |
12 | + private Boolean restrito; | |
13 | + private String exemplo; | |
14 | + private String corpo; | |
15 | + private String responsavel; | |
16 | + private Date data; | |
17 | + | |
18 | + public CriacaoTemplate(){ | |
19 | + } | |
20 | + | |
21 | + public CriacaoTemplate(br.gov.ans.templates.modelo.Template template){ | |
22 | + setNome(template.getNome()); | |
23 | + setDescricao(template.getDescricao()); | |
24 | + setRestrito(template.getRestrito()); | |
25 | + setExemplo(template.getExemplo()); | |
26 | + setCorpo(new String(template.getCorpo())); | |
27 | + setResponsavel(template.getResponsavel()); | |
28 | + setData(template.getDataCadastro()); | |
29 | + } | |
30 | + | |
31 | + public String getNome() { | |
32 | + return nome; | |
33 | + } | |
34 | + | |
35 | + public void setNome(String nome) { | |
36 | + this.nome = nome; | |
37 | + } | |
38 | + | |
39 | + public String getDescricao() { | |
40 | + return descricao; | |
41 | + } | |
42 | + | |
43 | + public void setDescricao(String descricao) { | |
44 | + this.descricao = descricao; | |
45 | + } | |
46 | + | |
47 | + public Boolean getRestrito() { | |
48 | + if(restrito == null){ | |
49 | + return false; | |
50 | + } | |
51 | + | |
52 | + return restrito; | |
53 | + } | |
54 | + | |
55 | + public void setRestrito(Boolean restrito) { | |
56 | + this.restrito = restrito; | |
57 | + } | |
58 | + | |
59 | + public String getExemplo() { | |
60 | + return exemplo; | |
61 | + } | |
62 | + | |
63 | + public void setExemplo(String exemplo) { | |
64 | + this.exemplo = exemplo; | |
65 | + } | |
66 | + | |
67 | + public String getCorpo() { | |
68 | + return corpo; | |
69 | + } | |
70 | + | |
71 | + public void setCorpo(String corpo) { | |
72 | + this.corpo = corpo; | |
73 | + } | |
74 | + | |
75 | + public String getResponsavel() { | |
76 | + return responsavel; | |
77 | + } | |
78 | + | |
79 | + public void setResponsavel(String responsavel) { | |
80 | + this.responsavel = responsavel; | |
81 | + } | |
82 | + | |
83 | + public Date getData() { | |
84 | + return data; | |
85 | + } | |
86 | + | |
87 | + public void setData(Date data) { | |
88 | + this.data = data; | |
89 | + } | |
90 | +} | ... | ... |
1 | +++ a/src/main/java/br/gov/ans/templates/modelo/Template.java | |
... | ... | @@ -0,0 +1,88 @@ |
1 | +package br.gov.ans.templates.modelo; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | +import java.util.Date; | |
5 | + | |
6 | +public class Template implements Serializable{ | |
7 | + | |
8 | + private String nome; | |
9 | + | |
10 | + private String descricao; | |
11 | + | |
12 | + private Boolean restrito; | |
13 | + | |
14 | + private String exemplo; | |
15 | + | |
16 | + private String corpo; | |
17 | + | |
18 | + private String responsavel; | |
19 | + | |
20 | + private Date dataCadastro; | |
21 | + | |
22 | + private Date dataExclusao; | |
23 | + | |
24 | + public String getNome() { | |
25 | + return nome; | |
26 | + } | |
27 | + | |
28 | + public void setNome(String nome) { | |
29 | + this.nome = nome; | |
30 | + } | |
31 | + | |
32 | + public String getDescricao() { | |
33 | + return descricao; | |
34 | + } | |
35 | + | |
36 | + public void setDescricao(String descricao) { | |
37 | + this.descricao = descricao; | |
38 | + } | |
39 | + | |
40 | + public Boolean getRestrito() { | |
41 | + return restrito; | |
42 | + } | |
43 | + | |
44 | + public void setRestrito(Boolean restrito) { | |
45 | + this.restrito = restrito; | |
46 | + } | |
47 | + | |
48 | + public String getExemplo() { | |
49 | + return exemplo; | |
50 | + } | |
51 | + | |
52 | + public void setExemplo(String exemplo) { | |
53 | + this.exemplo = exemplo; | |
54 | + } | |
55 | + | |
56 | + public String getCorpo() { | |
57 | + return corpo; | |
58 | + } | |
59 | + | |
60 | + public void setCorpo(String corpo) { | |
61 | + this.corpo = corpo; | |
62 | + } | |
63 | + | |
64 | + public String getResponsavel() { | |
65 | + return responsavel; | |
66 | + } | |
67 | + | |
68 | + public void setResponsavel(String responsavel) { | |
69 | + this.responsavel = responsavel; | |
70 | + } | |
71 | + | |
72 | + public Date getDataCadastro() { | |
73 | + return dataCadastro; | |
74 | + } | |
75 | + | |
76 | + public void setDataCadastro(Date dataCadastro) { | |
77 | + this.dataCadastro = dataCadastro; | |
78 | + } | |
79 | + | |
80 | + public Date getDataExclusao() { | |
81 | + return dataExclusao; | |
82 | + } | |
83 | + | |
84 | + public void setDataExclusao(Date dataExclusao) { | |
85 | + this.dataExclusao = dataExclusao; | |
86 | + } | |
87 | + | |
88 | +} | ... | ... |
1 | +++ a/src/main/java/br/gov/ans/templates/modelo/Versao.java | |
... | ... | @@ -0,0 +1,89 @@ |
1 | +package br.gov.ans.templates.modelo; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | +import java.util.Date; | |
5 | + | |
6 | +public class Versao implements Serializable{ | |
7 | + | |
8 | + private String responsavel; | |
9 | + private Date data; | |
10 | + private String descricao; | |
11 | + | |
12 | + private String exemplo; | |
13 | + private byte[] corpo; | |
14 | + | |
15 | + public String getResponsavel() { | |
16 | + return responsavel; | |
17 | + } | |
18 | + | |
19 | + public void setResponsavel(String usuario) { | |
20 | + this.responsavel = usuario; | |
21 | + } | |
22 | + | |
23 | + public Date getData() { | |
24 | + return data; | |
25 | + } | |
26 | + | |
27 | + public void setData(Date data) { | |
28 | + this.data = data; | |
29 | + } | |
30 | + | |
31 | + public String getDescricao() { | |
32 | + return descricao; | |
33 | + } | |
34 | + | |
35 | + public void setDescricao(String descricao) { | |
36 | + this.descricao = descricao; | |
37 | + } | |
38 | + | |
39 | + public String getExemplo() { | |
40 | + return exemplo; | |
41 | + } | |
42 | + | |
43 | + public void setExemplo(String exemplo) { | |
44 | + this.exemplo = exemplo; | |
45 | + } | |
46 | + | |
47 | + public byte[] getCorpo() { | |
48 | + return corpo; | |
49 | + } | |
50 | + | |
51 | + public void setCorpo(byte[] corpo) { | |
52 | + this.corpo = corpo; | |
53 | + } | |
54 | + | |
55 | + public int getHash(){ | |
56 | + return hashCode(); | |
57 | + } | |
58 | + | |
59 | + @Override | |
60 | + public int hashCode() { | |
61 | + final int prime = 31; | |
62 | + int result = 1; | |
63 | + result = prime * result + ((data == null) ? 0 : data.hashCode()); | |
64 | + result = prime * result + ((responsavel == null) ? 0 : responsavel.hashCode()); | |
65 | + return result; | |
66 | + } | |
67 | + | |
68 | + @Override | |
69 | + public boolean equals(Object obj) { | |
70 | + if (this == obj) | |
71 | + return true; | |
72 | + if (obj == null) | |
73 | + return false; | |
74 | + if (getClass() != obj.getClass()) | |
75 | + return false; | |
76 | + Versao other = (Versao) obj; | |
77 | + if (data == null) { | |
78 | + if (other.data != null) | |
79 | + return false; | |
80 | + } else if (!data.equals(other.data)) | |
81 | + return false; | |
82 | + if (responsavel == null) { | |
83 | + if (other.responsavel != null) | |
84 | + return false; | |
85 | + } else if (!responsavel.equals(other.responsavel)) | |
86 | + return false; | |
87 | + return true; | |
88 | + } | |
89 | +} | ... | ... |
1 | +++ a/src/main/java/br/gov/ans/utils/Authenticator.java | |
... | ... | @@ -0,0 +1,38 @@ |
1 | +package br.gov.ans.utils; | |
2 | + | |
3 | +import java.io.IOException; | |
4 | +import java.io.Serializable; | |
5 | +import java.io.UnsupportedEncodingException; | |
6 | + | |
7 | +import javax.ws.rs.client.ClientRequestContext; | |
8 | +import javax.ws.rs.client.ClientRequestFilter; | |
9 | +import javax.ws.rs.core.MultivaluedMap; | |
10 | +import javax.xml.bind.DatatypeConverter; | |
11 | + | |
12 | +public class Authenticator implements ClientRequestFilter, Serializable { | |
13 | + | |
14 | + private final String user; | |
15 | + private final String password; | |
16 | + | |
17 | + public Authenticator(String user, String password) { | |
18 | + this.user = user; | |
19 | + this.password = password; | |
20 | + } | |
21 | + | |
22 | + public void filter(ClientRequestContext requestContext) throws IOException { | |
23 | + MultivaluedMap<String, Object> headers = requestContext.getHeaders(); | |
24 | + final String basicAuthentication = getBasicAuthentication(); | |
25 | + headers.add("Authorization", basicAuthentication); | |
26 | + | |
27 | + } | |
28 | + | |
29 | + private String getBasicAuthentication() { | |
30 | + String token = this.user + ":" + this.password; | |
31 | + try { | |
32 | + return "BASIC " + DatatypeConverter.printBase64Binary(token.getBytes("UTF-8")); | |
33 | + } catch (UnsupportedEncodingException ex) { | |
34 | + throw new IllegalStateException("Cannot encode with UTF-8", ex); | |
35 | + } | |
36 | + } | |
37 | + | |
38 | +} | |
0 | 39 | \ No newline at end of file | ... | ... |
1 | +++ a/src/main/java/br/gov/ans/utils/HttpHeadersUtil.java | |
... | ... | @@ -0,0 +1,41 @@ |
1 | +package br.gov.ans.utils; | |
2 | + | |
3 | +import javax.servlet.http.HttpServletRequest; | |
4 | +import javax.ws.rs.core.HttpHeaders; | |
5 | +import javax.ws.rs.core.MediaType; | |
6 | + | |
7 | +import org.apache.commons.lang3.StringUtils; | |
8 | +import org.jboss.logging.Logger; | |
9 | + | |
10 | +public class HttpHeadersUtil { | |
11 | + | |
12 | + private static Logger logger = Logger.getLogger(HttpHeadersUtil.class); | |
13 | + | |
14 | + public static String getAcceptType(HttpHeaders headers){ | |
15 | + try{ | |
16 | + String accept = headers.getRequestHeader("Accept").get(0); | |
17 | + | |
18 | + if(!StringUtils.isBlank(accept)&& StringUtils.contains(accept, MediaType.APPLICATION_XML)){ | |
19 | + return MediaType.APPLICATION_XML; | |
20 | + } | |
21 | + }catch(Exception e){ | |
22 | + logger.warn("Não foi encontrado o campo Accept na requisição, respondendo com JSON."); | |
23 | + } | |
24 | + | |
25 | + return MediaType.APPLICATION_JSON; | |
26 | + } | |
27 | + | |
28 | + public static String getAcceptType(HttpServletRequest request){ | |
29 | + try{ | |
30 | + String accept = request.getHeader("Accept"); | |
31 | + | |
32 | + if(!StringUtils.isBlank(accept)&& StringUtils.contains(accept, MediaType.APPLICATION_XML)){ | |
33 | + return MediaType.APPLICATION_XML; | |
34 | + } | |
35 | + }catch(Exception e){ | |
36 | + logger.warn("Não foi encontrado o campo Accept na requisição, respondendo com JSON."); | |
37 | + } | |
38 | + | |
39 | + return MediaType.APPLICATION_JSON; | |
40 | + } | |
41 | +} | ... | ... |
1 | +++ a/src/main/resources/labels.properties | |
... | ... | @@ -0,0 +1,43 @@ |
1 | +label.acoes = Ações | |
2 | +label.ans = ANS - Agência Nacional de Saúde Suplementar | |
3 | +label.arquivo = Arquivo | |
4 | +label.atencao = Atenção: | |
5 | +label.cadastrar = Cadastrar | |
6 | +label.cadastro = Cadastro | |
7 | +label.cadastro.autor = Cadastrar Autor | |
8 | +label.cadastro.livros = Cadastrar Livro | |
9 | +label.cancelar = Cancelar | |
10 | +label.data = Data | |
11 | +label.descricao = Descrição | |
12 | +label.download = Download | |
13 | +label.editar = Editar | |
14 | +label.email = E-mail | |
15 | +label.excluir = Excluir | |
16 | +label.exemplo = Exemplo | |
17 | +label.filtrar = Filtrar | |
18 | +label.filtro = Filtro | |
19 | +label.id = Id | |
20 | +label.identificador = Identificador | |
21 | +label.login = Login | |
22 | +label.nome = Nome | |
23 | +label.pesquisa = Pesquisa | |
24 | +label.pesquisar = Pesquisar | |
25 | +label.responsavel = Responsável | |
26 | +label.restrito = Restrito | |
27 | +label.salvar = Salvar | |
28 | +label.sair = Sair | |
29 | +label.templates = Templates | |
30 | +label.tipo = Tipo | |
31 | +label.usuario = usuário | |
32 | +label.versao = V_1.0 | |
33 | + | |
34 | +label.sim = Sim | |
35 | +label.nao = Não | |
36 | + | |
37 | +label.criar.novo.template = Criar novo template | |
38 | +label.edicao.rapida = Edição rápida | |
39 | +label.editar.template = Editar template | |
40 | +label.gerenciar.templates = Gerenciar Templates | |
41 | +label.historico = Histórico | |
42 | +label.novo.template = Novo Template | |
43 | +label.versoes.anteriores.template = Versões anteriores do template | |
0 | 44 | \ No newline at end of file | ... | ... |
1 | +++ a/src/main/resources/messages.properties | |
... | ... | @@ -0,0 +1,35 @@ |
1 | +confirmacao.sair = Deseja realmente sair? | |
2 | +erro.403 = Voce não possui acesso a esta aplicação. | |
3 | +erro.404 = Página não encontrada. | |
4 | +erro.500 = Erro interno do servidor, tente mais tarde. | |
5 | +erro.captcha.invalido = Captcha incorreto. | |
6 | +erro.captcha.obrigatorio = Captcha obrigatório. | |
7 | +erro.generico = Ocorreu um erro no sistema. | |
8 | +erro.inesperado = Ocorreu um erro inesperado no sistema, tente mais tarde. | |
9 | + | |
10 | +aviso.arquivo.template.nao.anexado = Não foi anexado um arquivo com o conteúdo do template, o conteúdo não será alterado. | |
11 | + | |
12 | +erro.arquivo.obrigatorio = O arquivo com o conteúdo do template precisa ser anexado. | |
13 | +erro.arquivo.template.vazio = O arquivo não pode ser vazio. | |
14 | +erro.carregar.arquivo.template = Ocorreu um erro ao carregar o arquivo do template, verifique o arquivo anexado. | |
15 | +erro.descricao.obrigatoria = É obrigatório incluir uma descrição para o template. | |
16 | +erro.exemplo.obrigatorio = É obrigatório informar um exemplo de preenchimento do template. | |
17 | +erro.identificador.obrigatorio = O identificador é obrigatório. | |
18 | +erro.listar.templates = Erro aos listar os templates. | |
19 | + | |
20 | +sucesso.template.atualizado = Template atualizado com sucesso. | |
21 | +sucesso.template.criado = Template criado com sucesso. | |
22 | +sucesso.template.excluido = Template excluído com sucesso. | |
23 | + | |
24 | +mensagem.bem-vindo = Bem-vindo ao Sistema de Administração de Templates. | |
25 | +mensagem.sem.registros = Não há registros. | |
26 | + | |
27 | +primefaces.password.INVALID_MATCH = Senhas não conferem. | |
28 | +primefaces.password.INVALID_MATCH_detail = Senhas não conferem. | |
29 | + | |
30 | +title.erro.inesperado = Administração de Templates - erro inesperado | |
31 | +title.erro.templates.broker = Erro ao acessar a camada de serviços | |
32 | +title.sistema = Administração de Templates | |
33 | + | |
34 | +validacao.campo.obrigatorio = Campo Obrigatório. | |
35 | +validacao.cpf.invalido = CPF inválido. | |
0 | 36 | \ No newline at end of file | ... | ... |
1 | +++ a/src/main/webapp/WEB-INF/beans.xml | |
... | ... | @@ -0,0 +1,5 @@ |
1 | +<?xml version="1.0"?> | |
2 | +<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
3 | + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" | |
4 | + bean-discovery-mode="all"> | |
5 | +</beans> | ... | ... |
1 | +++ a/src/main/webapp/WEB-INF/faces-config.xml | |
... | ... | @@ -0,0 +1,28 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<faces-config | |
3 | + xmlns="http://xmlns.jcp.org/xml/ns/javaee" | |
4 | + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
5 | + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd" | |
6 | + version="2.2"> | |
7 | + | |
8 | + <application> | |
9 | + <message-bundle>labels</message-bundle> | |
10 | + <resource-bundle> | |
11 | + <base-name>labels</base-name> | |
12 | + <var>lb</var> | |
13 | + </resource-bundle> | |
14 | + | |
15 | + <message-bundle>messages</message-bundle> | |
16 | + <resource-bundle> | |
17 | + <base-name>messages</base-name> | |
18 | + <var>msg</var> | |
19 | + </resource-bundle> | |
20 | + </application> | |
21 | + | |
22 | +<!-- <factory> --> | |
23 | +<!-- <exception-handler-factory> --> | |
24 | +<!-- br.gov.ans.exceptions.CustomExceptionHandlerFactory --> | |
25 | +<!-- </exception-handler-factory> --> | |
26 | +<!-- </factory> --> | |
27 | + | |
28 | +</faces-config> | ... | ... |
1 | +++ a/src/main/webapp/WEB-INF/web.xml | |
... | ... | @@ -0,0 +1,65 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" | |
3 | + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
4 | + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> | |
5 | + <display-name>templates</display-name> | |
6 | + | |
7 | + <context-param> | |
8 | + <param-name>javax.faces.PROJECT_STAGE</param-name> | |
9 | + <param-value>Development</param-value> | |
10 | + </context-param> | |
11 | + | |
12 | + <context-param> | |
13 | + <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name> | |
14 | + <param-value>false</param-value> | |
15 | + </context-param> | |
16 | + | |
17 | + <context-param> | |
18 | + <param-name>primefaces.FONT_AWESOME</param-name> | |
19 | + <param-value>true</param-value> | |
20 | + </context-param> | |
21 | + | |
22 | + <servlet> | |
23 | + <servlet-name>Faces Servlet</servlet-name> | |
24 | + <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> | |
25 | + <load-on-startup>1</load-on-startup> | |
26 | + </servlet> | |
27 | + <servlet-mapping> | |
28 | + <servlet-name>Faces Servlet</servlet-name> | |
29 | + <url-pattern>*.xhtml</url-pattern> | |
30 | + </servlet-mapping> | |
31 | + | |
32 | + <welcome-file-list> | |
33 | + <welcome-file>pages/gerenciar_templates.xhtml</welcome-file> | |
34 | + </welcome-file-list> | |
35 | + | |
36 | + <login-config> | |
37 | + <auth-method>FORM</auth-method> | |
38 | + <form-login-config> | |
39 | + <form-login-page>/login.jsp</form-login-page> | |
40 | + <form-error-page>/login.jsp</form-error-page> | |
41 | + </form-login-config> | |
42 | + </login-config> | |
43 | + | |
44 | + <security-constraint> | |
45 | + <display-name>Camada de serviços referentes aos templates</display-name> | |
46 | + <web-resource-collection> | |
47 | + <web-resource-name>Todos os serviços</web-resource-name> | |
48 | + <url-pattern>/pages/*</url-pattern> | |
49 | + <http-method>GET</http-method> | |
50 | + <http-method>POST</http-method> | |
51 | + <http-method>HEAD</http-method> | |
52 | + <http-method>PUT</http-method> | |
53 | + <http-method>OPTIONS</http-method> | |
54 | + <http-method>TRACE</http-method> | |
55 | + <http-method>DELETE</http-method> | |
56 | + </web-resource-collection> | |
57 | + <auth-constraint> | |
58 | + <role-name>usuario_interno</role-name> | |
59 | + </auth-constraint> | |
60 | + </security-constraint> | |
61 | + | |
62 | + <security-role> | |
63 | + <role-name>usuario_interno</role-name> | |
64 | + </security-role> | |
65 | +</web-app> | |
0 | 66 | \ No newline at end of file | ... | ... |
1 | +++ a/src/main/webapp/login.jsp | |
... | ... | @@ -0,0 +1,81 @@ |
1 | +<%@page contentType="text/html" pageEncoding="UTF-8"%> | |
2 | + | |
3 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | |
4 | +<html lang="pt-BR"> | |
5 | + <head> | |
6 | + <meta name="description" content="ANS"> | |
7 | + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | |
8 | + <meta http-equiv="pragma" content="no-cache"> | |
9 | + <meta name="keywords" content="ANS, Agência Nacional de Saúde Suplementar" lang="pt-BR"> | |
10 | + <meta http-equiv="content-language" content="pt-BR"> | |
11 | + | |
12 | + <title>ANS - Agência Nacional de Saúde Suplementar</title> | |
13 | + | |
14 | + <link type="text/css" rel="stylesheet" href="/ans-idp/javax.faces.resource/theme.css.xhtml?ln=primefaces-aristo"> | |
15 | + <link type="text/css" rel="stylesheet" href="/ans-idp/javax.faces.resource/primefaces.css.xhtml?ln=primefaces&v=5.2"> | |
16 | + <link type="text/css" rel="stylesheet" href="https://www.ans.gov.br/templates/templateans/css/bootstrap.min.css" /> | |
17 | + <link type="text/css" rel="stylesheet" href="https://www.ans.gov.br/templates/templateans/css/style.css" /> | |
18 | + <link type="text/css" rel="stylesheet" href="https://www.ans.gov.br/images/PrimeFaces/css/style-prime-custom-ans.css" /> | |
19 | + <link rel="icon" href="https://www.ans.gov.br/images/marcas/favicon.ico" type="image/x-icon" /> | |
20 | + | |
21 | + </head> | |
22 | + | |
23 | + <body onload="document.form.j_username.focus()"> | |
24 | + <div class="topoAreaRestritaOperadoras-ans" id="top-box"> | |
25 | + <div style="margin-top:27px"> | |
26 | + <div class="marca-po-ans"> | |
27 | + <img src="https://www.ans.gov.br/images/marcas/logo-ans-sem-slogan.png" width="230" height="46" alt="ANS - Agência Nacional de Saúde Suplementar" /> | |
28 | + </div> | |
29 | + <div class="left-po-ans titulo-principal-po-ans"> | |
30 | + Administração de Templates | |
31 | + </div> | |
32 | + </div> | |
33 | + </div> | |
34 | + | |
35 | + <div class="clear-po-ans"> | |
36 | + <br /> | |
37 | + <hr style="border-bottom:none; border-top:1px solid #097189;" class="ui-separator ui-state-default ui-corner-all" /> | |
38 | + </div> | |
39 | + | |
40 | + <div class="topoAreaRestritaOperadoras-ans"> | |
41 | + | |
42 | + <div id="element-box" class="login"> | |
43 | + | |
44 | + <div class="centralizaLogin-ans" style="position:absolute; width:300px; margin-left:-150px; left:50%; height: 350px;"> | |
45 | + <h1>Login</h1> | |
46 | + <input type="hidden" value="0.1.2" /> | |
47 | + <p>Informe seu usuário e senha para acessar a aplicação.</p> | |
48 | + | |
49 | + <div class="alert alert-alerta" id="system-message" style="display:<%= (session.getAttribute("ans.login.erro")!=null) ? "block" : "none" %>"> | |
50 | + <p><b>Erro</b></p> | |
51 | + <p><%= session.getAttribute("ans.login.erro") %></p> | |
52 | + </div> | |
53 | + | |
54 | + <% session.setAttribute("ans.login.erro", null); %> | |
55 | + | |
56 | + <br /> | |
57 | + <div id="section-box" class="boxcinza-ans"> | |
58 | + <form name="form" method="POST" action="<%= response.encodeURL("j_security_check") %>" id="form-login"> | |
59 | + | |
60 | + <div class="form-group"> | |
61 | + <label id="mod-login-username-lbl" for="mod-login-username">Usuário</label> | |
62 | + <input name="j_username" id="mod-login-username" type="text" | |
63 | + class="form-control campoTexto ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all" | |
64 | + size="20"> | |
65 | + </div> | |
66 | + <div class="form-group"> | |
67 | + <label id="mod-login-password-lbl" for="mod-login-password">Senha</label> | |
68 | + <input name="j_password" id="mod-login-password" type="password" | |
69 | + class="form-control campoTexto" size="20"> | |
70 | + </div> | |
71 | + | |
72 | + <input type="submit" value="Acessar" id="botao" | |
73 | + class="btn btn-primary btn-block" /> | |
74 | + | |
75 | + </form> | |
76 | + </div> | |
77 | + </div> | |
78 | + <div id="lock"></div> | |
79 | + </div> | |
80 | + </body> | |
81 | +</html> | ... | ... |
1 | +++ a/src/main/webapp/pages/gerenciar_templates.xhtml | |
... | ... | @@ -0,0 +1,213 @@ |
1 | +<?xml version="1.0" encoding="ISO-8859-1" ?> | |
2 | +<ui:composition | |
3 | + xmlns="http://www.w3.org/1999/xhtml" | |
4 | + xmlns:h="http://java.sun.com/jsf/html" | |
5 | + xmlns:f="http://java.sun.com/jsf/core" | |
6 | + xmlns:ui="http://java.sun.com/jsf/facelets" | |
7 | + xmlns:p="http://primefaces.org/ui" | |
8 | + template="/template/template.xhtml"> | |
9 | + | |
10 | + <ui:define name="corpo"> | |
11 | + | |
12 | + | |
13 | + <h:form id="formCentral" enctype="multipart/form-data" > | |
14 | + <h2>#{lb['label.gerenciar.templates']}</h2> | |
15 | + | |
16 | + <br/> | |
17 | + | |
18 | + <p:commandButton value="#{lb['label.novo.template']}" actionListener="#{templatesBean.novoTemplate}" oncomplete="PF('templateDialog').show()" | |
19 | + title="#{lb['label.criar.novo.template']}" update=":formNovo:msgDialog,:formEditar:editTemplateDialog,:formNovo" /> | |
20 | + <br/> | |
21 | + <br/> | |
22 | + | |
23 | + <h:panelGrid id="tblFiltro" columns="3" cellpadding="5" | |
24 | + cellspacing="7" border="0"> | |
25 | + <h:outputText value="#{lb['label.login']} / #{lb['label.nome']}:" /> | |
26 | + <p:inputText id="filtro" value="#{templatesBean.filtro}" size="50" /> | |
27 | + <p:commandButton id="filtrarTemplates" update="tbTemplates" value="#{lb['label.filtrar']}" /> | |
28 | + </h:panelGrid> | |
29 | + | |
30 | + <br/> | |
31 | + | |
32 | + <p:dataTable value="#{templatesBean.model}" var="template" id="tbTemplates" emptyMessage="#{msg['mensagem.sem.registros']}" rows="10" paginator="true" | |
33 | + paginatorPosition="bottom" lazy="true"> | |
34 | + <p:column width="30%"> | |
35 | + <f:facet name="header"> | |
36 | + <h:outputText value="#{lb['label.identificador']}" /> | |
37 | + </f:facet> | |
38 | + <h:outputText value="#{template.nome}" /> | |
39 | + </p:column> | |
40 | + <p:column> | |
41 | + <f:facet name="header"> | |
42 | + <h:outputText value="#{lb['label.descricao']}" /> | |
43 | + </f:facet> | |
44 | + <h:outputText value="#{template.descricao}" /> | |
45 | + </p:column> | |
46 | + <p:column width="15%"> | |
47 | + <f:facet name="header"> | |
48 | + <h:outputText value="#{lb['label.responsavel']}" /> | |
49 | + </f:facet> | |
50 | + <h:outputText value="#{template.responsavel}" /> | |
51 | + </p:column> | |
52 | + <p:column width="10%"> | |
53 | + <f:facet name="header"> | |
54 | + <h:outputText value="#{lb['label.acoes']}" /> | |
55 | + </f:facet> | |
56 | + | |
57 | + <p:menuButton value="Opções"> | |
58 | + <p:menuitem value="#{lb['label.editar']}" update=":formEditar:editTemplateDialog" icon="fa fa-pencil" ajax="true" | |
59 | + oncomplete="PF('editTemplateDialog').show()" actionListener="#{templatesBean.editarTemplate(template)}" /> | |
60 | + | |
61 | + <p:menuitem value="#{lb['label.edicao.rapida']}" actionListener="#{templatesBean.editarTemplate(template)}" update=":formEditarCorpo:editCorpoDialog" | |
62 | + icon="fa fa-wrench" ajax="true" oncomplete="PF('editCorpoDialog').show()" /> | |
63 | + | |
64 | + <p:menuitem value="#{lb['label.download']}" ajax="false" icon="fa fa-download"> | |
65 | + <p:fileDownload value="#{templatesBean.downloadTemplate(template.nome)}" /> | |
66 | + </p:menuitem> | |
67 | + | |
68 | + <p:menuitem value="#{lb['label.historico']}" icon="fa fa-history" actionListener="#{templatesBean.getHistoricoTemplate(template.nome)}" | |
69 | + oncomplete="PF('historicoDialog').show()" update=":formHistorico:historicoDialog" ajax="true" /> | |
70 | + | |
71 | + <p:menuitem value="#{lb['label.excluir']}" actionListener="#{templatesBean.excluirTemplate(template.nome)}" update="tbTemplates, :mensagem" | |
72 | + ajax="false" icon="fa fa-trash" immediate="true"/> | |
73 | + </p:menuButton> | |
74 | + </p:column> | |
75 | + </p:dataTable> | |
76 | + </h:form> | |
77 | + | |
78 | + <h:form id="formNovo" enctype="multipart/form-data"> | |
79 | + <p:dialog header="#{lb['label.criar.novo.template']}" width="700" widgetVar="templateDialog" resizable="false" id="templateDialog" | |
80 | + showEffect="fade" modal="true"> | |
81 | + <br/> | |
82 | + <p:messages id="msgDialog" showDetail="false" autoUpdate="false" /> | |
83 | + | |
84 | +<!-- <h:form id="formNovo" enctype="multipart/form-data"> --> | |
85 | + <h:panelGrid id="display" columns="2" cellpadding="5" cellspacing="7" border="0" > | |
86 | + <h:outputText value="#{lb['label.identificador']}:" /> | |
87 | + <p:inputText id="identificador" value="#{templatesBean.template.nome}" size="78"> | |
88 | + <p:ajax/> | |
89 | + </p:inputText> | |
90 | + | |
91 | + <h:outputText value="#{lb['label.descricao']}:" /> | |
92 | + <p:inputTextarea id="descricao" value="#{templatesBean.template.descricao}" cols="80" /> | |
93 | + | |
94 | + <h:outputText value="#{lb['label.exemplo']}:" /> | |
95 | + <p:inputTextarea id="exemplo" value="#{templatesBean.template.exemplo}" cols="80" rows="10" /> | |
96 | + | |
97 | + <h:outputText value="#{lb['label.restrito']}:" /> | |
98 | + <p:selectBooleanCheckbox id="restrito" value="#{templatesBean.template.restrito}" /> | |
99 | + | |
100 | + <h:outputText value="#{lb['label.arquivo']}:" /> | |
101 | + <p:fileUpload id="novoTemplateArquivo" value="#{templatesBean.arquivoTemplate}" label="Upload" mode="simple" skinSimple="true" /> | |
102 | + | |
103 | + <br/> | |
104 | + <h:panelGrid id="botoesDlg" columns="2" cellspacing="7" style="margin:0 auto;"> | |
105 | + <h:commandButton id="novoTemplateButton" actionListener="#{templatesBean.salvar()}" value="Salvar" > | |
106 | + <f:ajax execute=":formNovo :formNovo:novoTemplateArquivo" render=":formNovo:msgDialog :formCentral:tbTemplates" /> | |
107 | + </h:commandButton> | |
108 | + | |
109 | + <p:commandButton oncomplete="PF('templateDialog').hide()" value="#{lb['label.cancelar']}" update=":formCentral:tbTemplates" /> | |
110 | + </h:panelGrid> | |
111 | + <br/> | |
112 | + </h:panelGrid> | |
113 | +<!-- </h:form> --> | |
114 | + </p:dialog> | |
115 | + </h:form> | |
116 | + | |
117 | + <h:form id="formEditar" enctype="multipart/form-data"> | |
118 | + <p:dialog header="#{lb['label.editar.template']}" width="700" widgetVar="editTemplateDialog" resizable="false" id="editTemplateDialog" | |
119 | + showEffect="fade" modal="true"> | |
120 | + <br/> | |
121 | + <p:messages id="msgEditDialog" showDetail="false" autoUpdate="false" /> | |
122 | +<!-- <h:form id="formEditar" enctype="multipart/form-data"> --> | |
123 | + <h:panelGrid id="editTemplate" columns="2" cellpadding="5" cellspacing="7" border="0"> | |
124 | + <h:outputText value="#{lb['label.identificador']}:" /> | |
125 | + <p:inputText id="editNome" value="#{templatesBean.template.nome}" size="78" /> | |
126 | + | |
127 | + <h:outputText value="#{lb['label.descricao']}:" /> | |
128 | + <p:inputTextarea value="#{templatesBean.template.descricao}" cols="80" /> | |
129 | + | |
130 | + <h:outputText value="#{lb['label.exemplo']}:" /> | |
131 | + <p:inputTextarea value="#{templatesBean.template.exemplo}" cols="80" rows="10" /> | |
132 | + | |
133 | + <h:outputText value="#{lb['label.restrito']}:" /> | |
134 | + <p:selectBooleanCheckbox value="#{templatesBean.template.restrito}" /> | |
135 | + | |
136 | + <h:outputText value="#{lb['label.arquivo']}:" /> | |
137 | + <p:fileUpload id="arquivoTemplateAtualizado" value="#{templatesBean.arquivoTemplate}" label="Upload" mode="simple" skinSimple="true" /> | |
138 | + | |
139 | + <br/> | |
140 | + <h:panelGrid columns="2" cellspacing="7" style="margin:0 auto;"> | |
141 | + <h:commandButton actionListener="#{templatesBean.atualizarTemplate()}" value="Salvar" > | |
142 | + <f:ajax execute=":formEditar :formEditar:arquivoTemplateAtualizado" render=":formEditar:msgDialog :formCentral:tbTemplates" /> | |
143 | + </h:commandButton> | |
144 | + | |
145 | + <p:commandButton oncomplete="PF('editTemplateDialog').hide()" value="#{lb['label.cancelar']}" update=":formCentral:tbTemplates" /> | |
146 | + </h:panelGrid> | |
147 | + <br/> | |
148 | + </h:panelGrid> | |
149 | +<!-- </h:form> --> | |
150 | + </p:dialog> | |
151 | + </h:form> | |
152 | + <h:form id="formEditarCorpo" enctype="multipart/form-data"> | |
153 | + <p:dialog header="#{lb['label.edicao.rapida']}" position="center top" width="70%" height="80%" widgetVar="editCorpoDialog" resizable="false" id="editCorpoDialog" | |
154 | + showEffect="fade" modal="true"> | |
155 | + <br/> | |
156 | + <p:messages id="msgEditCorpoDialog" showDetail="false" autoUpdate="false" /> | |
157 | +<!-- <h:form id="formEditarCorpo" enctype="multipart/form-data"> --> | |
158 | + <p:editor value="#{templatesBean.template.corpo}" height="600"/> | |
159 | + | |
160 | + <br/> | |
161 | + <h:panelGrid columns="2" cellspacing="7" style="margin:0 auto;"> | |
162 | + <h:commandButton actionListener="#{templatesBean.atualizarCorpoTemplate()}" value="Salvar" > | |
163 | + <f:ajax execute=":formEditarCorpo" render=":formEditarCorpo:msgEditCorpoDialog :formCentral:tbTemplates" /> | |
164 | + </h:commandButton> | |
165 | + | |
166 | + <p:commandButton oncomplete="PF('editCorpoDialog').hide()" value="#{lb['label.cancelar']}" update=":formCentral:tbTemplates" /> | |
167 | + </h:panelGrid> | |
168 | +<!-- </h:form> --> | |
169 | + </p:dialog> | |
170 | + </h:form> | |
171 | + | |
172 | + <h:form id="formHistorico"> | |
173 | + <p:dialog header="#{lb['label.historico']}" width="700" widgetVar="historicoDialog" resizable="false" id="historicoDialog" | |
174 | + showEffect="fade" modal="true" > | |
175 | + <br/> | |
176 | + <p:messages id="msgHistoricoDialog" showDetail="false" autoUpdate="false" /> | |
177 | + | |
178 | + <h2>#{lb['label.versoes.anteriores.template']} #{templatesBean.historicoSelecionado}.</h2> | |
179 | + | |
180 | + <br/> | |
181 | +<!-- <h:form id="formHistorico" > --> | |
182 | + <p:dataTable value="#{templatesBean.versoes}" var="versao" id="tbHistorico" emptyMessage="#{msg['mensagem.sem.registros']}" rows="10" paginator="true" | |
183 | + paginatorPosition="bottom"> | |
184 | + <p:column width="30%"> | |
185 | + <f:facet name="header"> | |
186 | + <h:outputText value="#{lb['label.data']}" /> | |
187 | + </f:facet> | |
188 | + <h:outputText value="#{versao.data}"> | |
189 | + <f:convertDateTime pattern="dd/MM/yyyy HH:mm" /> | |
190 | + </h:outputText> | |
191 | + </p:column> | |
192 | + <p:column width="30%"> | |
193 | + <f:facet name="header"> | |
194 | + <h:outputText value="#{lb['label.responsavel']}" /> | |
195 | + </f:facet> | |
196 | + <h:outputText value="#{versao.responsavel}" /> | |
197 | + </p:column> | |
198 | + <p:column width="30%"> | |
199 | + <f:facet name="header"> | |
200 | + <h:outputText value="#{lb['label.acoes']}" /> | |
201 | + </f:facet> | |
202 | + | |
203 | + <p:commandButton id="downloadVersao" icon="fa fa-download" value="#{lb['label.download']}" ajax="false"> | |
204 | + <p:fileDownload value="#{templatesBean.downloadVersao(versao)}" /> | |
205 | + </p:commandButton> | |
206 | + </p:column> | |
207 | + </p:dataTable> | |
208 | +<!-- </h:form> --> | |
209 | + </p:dialog> | |
210 | + </h:form> | |
211 | +<!-- </h:form> --> | |
212 | + </ui:define> | |
213 | +</ui:composition> | |
0 | 214 | \ No newline at end of file | ... | ... |
1 | +++ a/src/main/webapp/pages/home.xhtml | |
... | ... | @@ -0,0 +1,12 @@ |
1 | +<ui:composition | |
2 | + xmlns="http://www.w3.org/1999/xhtml" | |
3 | + xmlns:h="http://java.sun.com/jsf/html" | |
4 | + xmlns:f="http://java.sun.com/jsf/core" | |
5 | + xmlns:ui="http://java.sun.com/jsf/facelets" | |
6 | + xmlns:p="http://primefaces.org/ui" | |
7 | + template="/template/template.xhtml"> | |
8 | + | |
9 | + <ui:define name="corpo"> | |
10 | + <h2>#{msg['mensagem.bem-vindo']}</h2> | |
11 | + </ui:define> | |
12 | +</ui:composition> | |
0 | 13 | \ No newline at end of file | ... | ... |
1 | +++ a/src/main/webapp/pages/includes/menu.xhtml | |
... | ... | @@ -0,0 +1,23 @@ |
1 | +<ui:composition xmlns="http://www.w3.org/1999/xhtml" | |
2 | + xmlns:h="http://java.sun.com/jsf/html" | |
3 | + xmlns:ui="http://java.sun.com/jsf/facelets" | |
4 | + xmlns:f="http://java.sun.com/jsf/core" | |
5 | + xmlns:p="http://primefaces.org/ui" | |
6 | + xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"> | |
7 | + | |
8 | + <h:form id="menuForm"> | |
9 | + <div class="clear-po-ans"/> | |
10 | + <div id="barLogout"> | |
11 | + <div> | |
12 | + <span> | |
13 | + <h:outputText value="#{sessionBean.dataAtual}" /> | |
14 | + </span> | | |
15 | + <p:outputLabel id="lbUsuario" value="#{lb['label.usuario']}:" /> | |
16 | + <span> | |
17 | + <h:outputText value="#{sessionBean.usuarioLogado}" /> | |
18 | + </span> | | |
19 | + <h:commandLink id="confirmaSair" action="#{sessionBean.logout}" value="#{lb['label.sair']}" /> | |
20 | + </div> | |
21 | + </div> | |
22 | + </h:form> | |
23 | +</ui:composition> | |
0 | 24 | \ No newline at end of file | ... | ... |
1 | +++ a/src/main/webapp/resources/css/css_login.css | |
... | ... | @@ -0,0 +1,107 @@ |
1 | +@CHARSET "ISO-8859-1"; | |
2 | + | |
3 | +body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, | |
4 | +button, textarea, p, blockquote, th, td { | |
5 | + margin: 0; | |
6 | + padding: 0; | |
7 | + resize: none; | |
8 | + font-family: Arial, tahoma, Geneva, sans-serif; | |
9 | + font-size: 13px; | |
10 | +} | |
11 | + | |
12 | +#box-login { | |
13 | + margin: 0 auto; | |
14 | + margin-top: 105px; | |
15 | + padding: 5px; | |
16 | + width: 400px; | |
17 | +} | |
18 | + | |
19 | +#box-login .header { | |
20 | + height:20px; | |
21 | + background: #3c899d; | |
22 | + width:98%; | |
23 | + padding: 5px; | |
24 | + line-height:20px; | |
25 | + vertical-align:middle; | |
26 | + font-size: 15px; | |
27 | + border-top-left-radius: 3px; | |
28 | + border-top-right-radius: 3px; | |
29 | + -webkit-border-top-left-radius: 3px; | |
30 | + -webkit-border-top-right-radius: 3px; | |
31 | + -moz-border-radius-topleft: 3px; | |
32 | + -moz-border-radius-topright: 3px; | |
33 | +} | |
34 | + | |
35 | +#box-login .header label { | |
36 | + color: #FFFFFF; | |
37 | + font-weight: bold; | |
38 | + margin-left: 5px; | |
39 | +} | |
40 | + | |
41 | +#box-login .body { | |
42 | + width: 100%; | |
43 | + height: 100px; | |
44 | + border: 1px solid #999999; | |
45 | + border-top-width: 0; | |
46 | + padding-top: 20px; | |
47 | + padding-bottom: 5px; | |
48 | +} | |
49 | + | |
50 | +#box-login form { | |
51 | + margin-left: 5px; | |
52 | + width: 100%; | |
53 | + height: 100%; | |
54 | +} | |
55 | + | |
56 | +/* Label Form*/ | |
57 | +#box-login form label { | |
58 | + display: block; | |
59 | + float: left; | |
60 | + text-align: right; | |
61 | + margin-right: 5px; | |
62 | + margin-top: 1px; | |
63 | + width: 20%; | |
64 | +} | |
65 | + | |
66 | +#box-login form input[type="text"], #box-login form input[type="password"] { | |
67 | + display: block; | |
68 | + margin-left: 10px; | |
69 | + margin-bottom: 10px; | |
70 | + width: 70%; | |
71 | + border: 1px solid #C0C0C0; | |
72 | + font-size: 15px; | |
73 | +} | |
74 | + | |
75 | +#box-login input[type="submit"] { | |
76 | + -moz-border-radius: 5px; | |
77 | + -webkit-border-radius: 5px; | |
78 | + border-radius: 5px; | |
79 | + padding: 6px 8px; | |
80 | + display: block; | |
81 | + font-family: Arial, tahoma, Geneva, sans-serif; | |
82 | + border: 1px solid #CCCCCC; | |
83 | + color: #FFFFFF; | |
84 | + font-weight: bold; | |
85 | + margin: 10px 0 0 295px; | |
86 | + background: -moz-linear-gradient(top, #8bba59 0%, #498207 100%); /* FF3.6+ */ | |
87 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#8bba59), color-stop(100%,#498207)); /* Chrome,Safari4+ */ | |
88 | + background: -webkit-linear-gradient(top, #8bba59 0%,#498207 100%); /* Chrome10+,Safari5.1+ */ | |
89 | + background: -o-linear-gradient(top, #8bba59 0%,#498207 100%); /* Opera 11.10+ */ | |
90 | + background: -ms-linear-gradient(top, #8bba59 0%,#498207 100%); /* IE10+ */ | |
91 | + background: linear-gradient(to bottom, #8bba59 0%,#498207 100%); /* W3C */ | |
92 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8bba59', endColorstr='#498207',GradientType=0 ); /* IE6-9 */ | |
93 | +} | |
94 | + | |
95 | +#box-login input[type="submit"]:hover { | |
96 | + background: -moz-linear-gradient(top, #a2ce65 0%, #649b1b 100%); /* FF3.6+ */ | |
97 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a2ce65), color-stop(100%,#649b1b)); /* Chrome,Safari4+ */ | |
98 | + background: -webkit-linear-gradient(top, #a2ce65 0%,#649b1b 100%); /* Chrome10+,Safari5.1+ */ | |
99 | + background: -o-linear-gradient(top, #a2ce65 0%,#649b1b 100%); /* Opera 11.10+ */ | |
100 | + background: -ms-linear-gradient(top, #a2ce65 0%,#649b1b 100%); /* IE10+ */ | |
101 | + background: linear-gradient(to bottom, #a2ce65 0%,#649b1b 100%); /* W3C */ | |
102 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a2ce65', endColorstr='#649b1b',GradientType=0 ); /* IE6-9 */ | |
103 | +} | |
104 | + | |
105 | +#box-login input[type="submit"]:active { | |
106 | + background: #79A02E !important; | |
107 | +} | |
0 | 108 | \ No newline at end of file | ... | ... |
1 | +++ a/src/main/webapp/resources/css/css_menu.css | |
... | ... | @@ -0,0 +1,30 @@ |
1 | +@CHARSET "ISO-8859-1"; | |
2 | + | |
3 | +div#barLogout { | |
4 | + border-bottom: 1px solid #DEDEDE; | |
5 | + text-align: right; | |
6 | + width: 100%; | |
7 | + margin-bottom: 10px; | |
8 | +} | |
9 | + | |
10 | +div#barLogout div { | |
11 | + overflow: hidden; | |
12 | + padding: 5px 10px; | |
13 | +} | |
14 | + | |
15 | +label#lbUsuario { | |
16 | + font-weight: bold; | |
17 | +} | |
18 | + | |
19 | +div#barLogout a { | |
20 | + text-decoration: none; | |
21 | + color: #438DA0; | |
22 | +} | |
23 | + | |
24 | +div#barLogout a:hover { | |
25 | + text-decoration: underline; | |
26 | +} | |
27 | + | |
28 | +meumenu .ui-menu-child { | |
29 | + width: 200px !important; | |
30 | +} | ... | ... |
1 | +++ a/src/main/webapp/resources/css/estilo.css | |
... | ... | @@ -0,0 +1,1152 @@ |
1 | +@CHARSET "ISO-8859-1"; | |
2 | + | |
3 | +body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, | |
4 | +button, textarea, p, blockquote, th, td { | |
5 | + margin: 0; | |
6 | + padding: 0; | |
7 | + resize: none; | |
8 | +} | |
9 | + | |
10 | +body { | |
11 | + font-family: 'Arial', tahoma, Geneva, sans-serif; | |
12 | + font-size: 12px !important; | |
13 | + color: #6D6D6D; | |
14 | + background-color: #FFFFFF; | |
15 | +} | |
16 | + | |
17 | +/* ================================================ Geral ============================================ */ | |
18 | +.ui-widget { | |
19 | + background: #FFFFFF; | |
20 | +} | |
21 | + | |
22 | +.ui-widget-overlay{ | |
23 | + background-color: gray; | |
24 | + opacity: 0.4; | |
25 | +} | |
26 | + | |
27 | +.ui-tooltip { | |
28 | + padding: 5px 6px 3px 6px; | |
29 | + border: 1px solid #767676; | |
30 | + -moz-border-radius: 3px; | |
31 | + -webkit-border-radius: 3px; | |
32 | + border-radius: 3px; | |
33 | + color: #000000; | |
34 | + font-size: 11px; | |
35 | + background: -moz-linear-gradient(top, #ffffff 0%, #e4e5f0 100%); /* FF3.6+ */ | |
36 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e4e5f0)); /* Chrome,Safari4+ */ | |
37 | + background: -webkit-linear-gradient(top, #ffffff 0%,#e4e5f0 100%); /* Chrome10+,Safari5.1+ */ | |
38 | + background: -o-linear-gradient(top, #ffffff 0%,#e4e5f0 100%); /* Opera 11.10+ */ | |
39 | + background: -ms-linear-gradient(top, #ffffff 0%,#e4e5f0 100%); /* IE10+ */ | |
40 | + background: linear-gradient(to bottom, #ffffff 0%,#e4e5f0 100%); /* W3C */ | |
41 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e4e5f0',GradientType=0 ); /* IE6-9 */ | |
42 | +} | |
43 | + | |
44 | +a.ui-state-hover { | |
45 | + padding: 1px !important; | |
46 | + border:0 none !important; | |
47 | + text-decoration: none !important; | |
48 | + font-weight: normal; | |
49 | + } | |
50 | +} | |
51 | + | |
52 | +/* =========================================== Estilos padrões ======================================= */ | |
53 | +.ui-radiobutton-box, .ui-chkbox-box, .ui-selectcheckboxmenu-header, | |
54 | +.ui-orderlist-caption, .ui-selectonemenu-trigger, .ui-selectcheckboxmenu-trigger { | |
55 | + background: -moz-linear-gradient(top, #f2f2f2 1%, #c5c5c5 100%); /* FF3.6+ */ | |
56 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,#f2f2f2), color-stop(100%,#c5c5c5)); /* Chrome,Safari4+ */ | |
57 | + background: -webkit-linear-gradient(top, #f2f2f2 1%,#c5c5c5 100%); /* Chrome10+,Safari5.1+ */ | |
58 | + background: -o-linear-gradient(top, #f2f2f2 1%,#c5c5c5 100%); /* Opera 11.10+ */ | |
59 | + background: -ms-linear-gradient(top, #f2f2f2 1%,#c5c5c5 100%); /* IE10+ */ | |
60 | + background: linear-gradient(to bottom, #f2f2f2 1%,#c5c5c5 100%); /* W3C */ | |
61 | +} | |
62 | + | |
63 | +.ui-button, .ui-datepicker button, .ui-selectonemenu-item, .ui-selectlistbox-item, .ui-fieldset-legend, | |
64 | +.ui-orderlist-item { | |
65 | + -moz-border-radius: 5px; | |
66 | + -webkit-border-radius: 5px; | |
67 | + border-radius: 5px; | |
68 | +} | |
69 | + | |
70 | +.ui-inputfield, .ui-radiobutton, .ui-chkbox-box, .ui-datepicker, .ui-selectonemenu, | |
71 | +.ui-selectonemenu-panel, .ui-selectonemenu-trigger, .ui-selectmanymenu, | |
72 | +.ui-selectcheckboxmenu, .ui-selectcheckboxmenu-trigger, .ui-selectcheckboxmenu-header, | |
73 | +.ui-selectcheckboxmenu-panel, .ui-orderlist-list, .ui-orderlist-caption { | |
74 | + border: 1px solid #C0C0C0; | |
75 | + color: #6D6D6D; | |
76 | +} | |
77 | + | |
78 | +.ui-dialog-titlebar, .ui-datepicker-header, | |
79 | +.ui-datatable thead th, .ui-treetable thead th, .ui-datatable .ui-paginator, .ui-datatable-header{ | |
80 | + color: #FFFFFF; | |
81 | + font-weight: bold; | |
82 | + background: -moz-linear-gradient(top, #4ea6b2 0%, #00728e 100%); /* FF3.6+ */ | |
83 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4ea6b2), color-stop(100%,#00728e)); /* Chrome,Safari4+ */ | |
84 | + background: -webkit-linear-gradient(top, #4ea6b2 0%,#00728e 100%); /* Chrome10+,Safari5.1+ */ | |
85 | + background: -o-linear-gradient(top, #4ea6b2 0%,#00728e 100%); /* Opera 11.10+ */ | |
86 | + background: -ms-linear-gradient(top, #4ea6b2 0%,#00728e 100%); /* IE10+ */ | |
87 | + background: linear-gradient(to bottom, #4ea6b2 0%,#00728e 100%); /* W3C */ | |
88 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4ea6b2', endColorstr='#00728e',GradientType=0 ); /* IE6-9 */ | |
89 | + | |
90 | +} | |
91 | + | |
92 | +/* ============================================ InputText ============================================= */ | |
93 | +.ui-inputfield { | |
94 | + padding: 2px !important; | |
95 | + background-color: #FFFFFF; | |
96 | +} | |
97 | + | |
98 | +/* ============================================ InputText ============================================= */ | |
99 | +.ui-menubar,.ui-menuitem, .ui-menuitem-active { | |
100 | + font-weight: bold; | |
101 | + color: #FFFFFF; | |
102 | + | |
103 | + background: -moz-linear-gradient(top, #4ea6b2 0%, #00728e 100%); /* FF3.6+ */ | |
104 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4ea6b2), color-stop(100%,#00728e)); /* Chrome,Safari4+ */ | |
105 | + background: -webkit-linear-gradient(top, #4ea6b2 0%,#00728e 100%); /* Chrome10+,Safari5.1+ */ | |
106 | + background: -o-linear-gradient(top, #4ea6b2 0%,#00728e 100%); /* Opera 11.10+ */ | |
107 | + background: -ms-linear-gradient(top, #4ea6b2 0%,#00728e 100%); /* IE10+ */ | |
108 | + background: linear-gradient(to bottom, #4ea6b2 0%,#00728e 100%); /* W3C */ | |
109 | + text-decoration:none; !important | |
110 | +} | |
111 | + | |
112 | +.ui-menuitem-text { | |
113 | + font-weight: bold; | |
114 | + color: #FFFFFF; | |
115 | +} | |
116 | + | |
117 | +/* ====================================== Radiobutton e Checkbox ====================================== */ | |
118 | +.ui-radiobutton { | |
119 | + border-radius: 10px; | |
120 | +} | |
121 | + | |
122 | +.ui-chkbox { | |
123 | + background-color: transparent; | |
124 | +} | |
125 | + | |
126 | +.ui-chkbox-box { | |
127 | + border-radius: 2px; | |
128 | +} | |
129 | + | |
130 | +/* ============================================= Datapicker =========================================== */ | |
131 | +.ui-datepicker { | |
132 | + padding: 3px; | |
133 | +} | |
134 | + | |
135 | +.ui-datepicker .ui-corner-all, .ui-datepicker-title { | |
136 | + padding: 1px; | |
137 | +} | |
138 | + | |
139 | +.ui-datepicker .ui-corner-all a { | |
140 | + top: 1px; | |
141 | + right: 0px; | |
142 | + padding: 1px !important; | |
143 | +} | |
144 | + | |
145 | +.ui-datepicker .ui-datepicker-prev { | |
146 | + left: 1px; | |
147 | +} | |
148 | + | |
149 | +.ui-datepicker table { | |
150 | + border: 1px solid #D9D9D9; | |
151 | + margin-bottom: 0px; | |
152 | + margin-top: 2px; | |
153 | +} | |
154 | + | |
155 | +.ui-datepicker table thead { | |
156 | + border-bottom: 1px solid #D9D9D9; | |
157 | + margin-bottom: 0px; | |
158 | +} | |
159 | + | |
160 | +.ui-datepicker th { | |
161 | + padding: 2px 0; | |
162 | +} | |
163 | + | |
164 | +.ui-datepicker .ui-datepicker-title select { | |
165 | + margin-left: 1.5px; | |
166 | + margin-right: 1.5px; | |
167 | + width: 45%; | |
168 | +} | |
169 | + | |
170 | +.ui-datepicker-other-month { | |
171 | + background: #FFFFFF; | |
172 | +} | |
173 | + | |
174 | +.ui-datepicker-week-end { | |
175 | + background: #EEEEEE; | |
176 | +} | |
177 | + | |
178 | +.ui-datepicker-today { | |
179 | + background-color: #F0F3D7; | |
180 | + font-weight: bold; | |
181 | +} | |
182 | + | |
183 | +.ui-datepicker td a { | |
184 | + text-align: center; | |
185 | + color: #6D6D6D; | |
186 | + border: 1px solid #70B8D6; | |
187 | + padding: 4px 0 3px 0 !important; | |
188 | +} | |
189 | + | |
190 | +.ui-datepicker td span { | |
191 | + text-align: center; | |
192 | +} | |
193 | + | |
194 | +.ui-datepicker td a:hover { | |
195 | + background-color: #09A3AD; | |
196 | + font-weight: bold; | |
197 | + color: #FFFFFF; | |
198 | +} | |
199 | + | |
200 | +.ui-datepicker-current-day a { | |
201 | + background-color: #09A3AD; | |
202 | + font-weight: bold; | |
203 | + color: #FFFFFF !important; | |
204 | +} | |
205 | + | |
206 | +.ui-datepicker-buttonpane { | |
207 | + background-color: #EEEEEE; | |
208 | + height: 22px; | |
209 | + margin: 2px 0 -1px 0 !important; | |
210 | + padding: 2px !important; | |
211 | +} | |
212 | + | |
213 | +.ui-datepicker button { | |
214 | + height: 22px; | |
215 | + font-size: 11px; | |
216 | +} | |
217 | + | |
218 | +/* ==================================== CommandButton ou CommandLink ================================== */ | |
219 | +.ui-button, .ui-datepicker button { | |
220 | + padding: 0; | |
221 | + display: inline-block; | |
222 | + font-family: Arial, tahoma, Geneva, sans-serif; | |
223 | + border: 1px solid #CCCCCC; | |
224 | + color: #FFFFFF; | |
225 | + font-weight: bold; | |
226 | + margin-right: 0; | |
227 | + background: -moz-linear-gradient(top, #8bba59 0%, #498207 100%); /* FF3.6+ */ | |
228 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#8bba59), color-stop(100%,#498207)); /* Chrome,Safari4+ */ | |
229 | + background: -webkit-linear-gradient(top, #8bba59 0%,#498207 100%); /* Chrome10+,Safari5.1+ */ | |
230 | + background: -o-linear-gradient(top, #8bba59 0%,#498207 100%); /* Opera 11.10+ */ | |
231 | + background: -ms-linear-gradient(top, #8bba59 0%,#498207 100%); /* IE10+ */ | |
232 | + background: linear-gradient(to bottom, #8bba59 0%,#498207 100%); /* W3C */ | |
233 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8bba59', endColorstr='#498207',GradientType=0 ); /* IE6-9 */ | |
234 | +} | |
235 | + | |
236 | +.ui-datepicker button { | |
237 | + margin: 0px !important; | |
238 | +} | |
239 | + | |
240 | +.ui-button:hover, .ui-datepicker button:hover { | |
241 | + background: -moz-linear-gradient(top, #a2ce65 0%, #649b1b 100%); /* FF3.6+ */ | |
242 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a2ce65), color-stop(100%,#649b1b)); /* Chrome,Safari4+ */ | |
243 | + background: -webkit-linear-gradient(top, #a2ce65 0%,#649b1b 100%); /* Chrome10+,Safari5.1+ */ | |
244 | + background: -o-linear-gradient(top, #a2ce65 0%,#649b1b 100%); /* Opera 11.10+ */ | |
245 | + background: -ms-linear-gradient(top, #a2ce65 0%,#649b1b 100%); /* IE10+ */ | |
246 | + background: linear-gradient(to bottom, #a2ce65 0%,#649b1b 100%); /* W3C */ | |
247 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a2ce65', endColorstr='#649b1b',GradientType=0 ); /* IE6-9 */ | |
248 | +} | |
249 | + | |
250 | +.ui-button:active, .ui-datepicker button:active { | |
251 | + background: #79A02E !important; | |
252 | +} | |
253 | + | |
254 | +.ui-commandlink { | |
255 | + background: transparent; | |
256 | + border: 0 !important; | |
257 | +} | |
258 | + | |
259 | +/* =========================== Comportamento padrão dos conjuntos de componentes ===================== */ | |
260 | +.ui-selectoneradio label, .ui-selectmanycheckbox label { | |
261 | + margin: 4px 10px 0 3px; | |
262 | +} | |
263 | + | |
264 | +.ui-selectonemenu-label, .ui-selectcheckboxmenu-label { | |
265 | + line-height: 16px; | |
266 | +} | |
267 | + | |
268 | +/* ============================================ SelectOneMenu ========================================= */ | |
269 | +.ui-selectonemenu { | |
270 | + padding: 0px 1px; | |
271 | +} | |
272 | + | |
273 | +.ui-selectonemenu-item:hover { | |
274 | + background: #79A12E; | |
275 | + color: #FFFFFF; | |
276 | + padding: 3px 5px; | |
277 | + text-align: left; | |
278 | + white-space: nowrap; | |
279 | +} | |
280 | + | |
281 | +/* ========================================== SelectManyMenu ========================================== */ | |
282 | +.ui-selectmanymenu { | |
283 | + overflow: auto; | |
284 | + padding: 2px; | |
285 | + line-height: 18px; | |
286 | +} | |
287 | + | |
288 | +.ui-selectmanymenu .ui-state-hover { | |
289 | + background: #79A12E; | |
290 | + color: #FFFFFF; | |
291 | +} | |
292 | + | |
293 | +.ui-selectmanymenu .ui-selectlistbox-item { | |
294 | + padding-left: 5px; | |
295 | +} | |
296 | + | |
297 | +.ui-selectonelistbox .ui-selectlistbox-item, li.ui-state-highlight { | |
298 | + background: #58A9BE; | |
299 | + color: #FFFFFF; | |
300 | +} | |
301 | + | |
302 | +/* ======================================== SelectManyCheckbox ======================================== */ | |
303 | +.ui-selectcheckboxmenu-label-container { | |
304 | + text-decoration: none; | |
305 | +} | |
306 | + | |
307 | +.ui-selectcheckboxmenu .ui-selectcheckboxmenu-label { | |
308 | + color: #6D6D6D; | |
309 | + padding-right: 28px; | |
310 | +} | |
311 | + | |
312 | +.ui-selectcheckboxmenu-items { | |
313 | + margin-top: -2px; | |
314 | + padding-left: 1px; | |
315 | +} | |
316 | + | |
317 | +.ui-selectcheckboxmenu-panel { | |
318 | + padding: 2px; | |
319 | +} | |
320 | + | |
321 | +.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-list-item label { | |
322 | + margin-bottom: -2px; | |
323 | + padding-left: 22px; | |
324 | +} | |
325 | + | |
326 | +/* ============================================== Fildset ============================================= */ | |
327 | +.ui-fieldset { | |
328 | + background: #F7F7F7; | |
329 | + border: 1px solid #CCCCCC; | |
330 | + margin-bottom: 10px; | |
331 | +} | |
332 | + | |
333 | +.ui-fieldset-legend { | |
334 | + font-weight: bold; | |
335 | + border: 1px solid #EEEEEE; | |
336 | +} | |
337 | + | |
338 | +.ui-fieldset .ui-toolbar { | |
339 | + margin-top: 10px; | |
340 | +} | |
341 | + | |
342 | +.ui-fieldset .ui-toolbar-group-left, .ui-fieldset .ui-toolbar-group-right { | |
343 | + padding-left: 7px; | |
344 | + padding-right: 7px; | |
345 | +} | |
346 | + | |
347 | +/* =============================================== Panel ============================================== */ | |
348 | +.ui-panel-title { | |
349 | + font-weight: bold; | |
350 | + color: #FFFFFF; | |
351 | +} | |
352 | + | |
353 | +.ui-panel-titlebar { | |
354 | + background: -moz-linear-gradient(top, #4ea6b2 0%, #00728e 100%); /* FF3.6+ */ | |
355 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4ea6b2), color-stop(100%,#00728e)); /* Chrome,Safari4+ */ | |
356 | + background: -webkit-linear-gradient(top, #4ea6b2 0%,#00728e 100%); /* Chrome10+,Safari5.1+ */ | |
357 | + background: -o-linear-gradient(top, #4ea6b2 0%,#00728e 100%); /* Opera 11.10+ */ | |
358 | + background: -ms-linear-gradient(top, #4ea6b2 0%,#00728e 100%); /* IE10+ */ | |
359 | + background: linear-gradient(to bottom, #4ea6b2 0%,#00728e 100%); /* W3C */ | |
360 | +} | |
361 | + | |
362 | +/* ============================================== TabView ============================================= */ | |
363 | +.ui-tabs-nav li a { | |
364 | + color: #6D6D6D; | |
365 | + font-weight: bold; | |
366 | + background: #F7F7F7; | |
367 | + margin-right: 5px; | |
368 | + border: 1px solid #CCCCCC; | |
369 | + -webkit-border-top-left-radius: 5px; | |
370 | + -webkit-border-top-right-radius: 5px; | |
371 | + -moz-border-radius-topleft: 5px; | |
372 | + -moz-border-radius-topright: 5px; | |
373 | + border-top-left-radius: 5px; | |
374 | + border-top-right-radius: 5px; | |
375 | +} | |
376 | + | |
377 | +li.ui-tabs-selected a { | |
378 | + background: #FFFFFF; | |
379 | + border-bottom: 1px solid #FFFFFF; | |
380 | + margin-bottom: -3px; | |
381 | +} | |
382 | + | |
383 | +.ui-tabs .ui-tabs-panel { | |
384 | + margin-top: -1px; | |
385 | + border: 1px solid #CCCCCC; | |
386 | +} | |
387 | + | |
388 | +/* ============================================= DataTable ============================================ */ | |
389 | +.ui-datatable table, .ui-treetable table { | |
390 | + border-collapse: separate; | |
391 | + border-spacing: 0; | |
392 | +} | |
393 | + | |
394 | +.ui-datatable thead th, .ui-treetable thead th { | |
395 | + border: 1px solid #669999; | |
396 | + border-left-width: 0; | |
397 | + border-bottom-width: 0; | |
398 | + white-space: normal; | |
399 | + line-height: 20px; | |
400 | +} | |
401 | + | |
402 | +.ui-datatable thead tr:first-child th:first-child, .ui-treetable thead th:first-child { | |
403 | + border-left-width: 1px; | |
404 | + -webkit-border-top-left-radius: 5px; | |
405 | + -moz-border-radius-topleft: 5px; | |
406 | + border-top-left-radius: 5px; | |
407 | +} | |
408 | + | |
409 | +.ui-datatable thead tr:first-child th:last-child, .ui-treetable thead th:last-child { | |
410 | + -webkit-border-top-right-radius: 5px; | |
411 | + -moz-border-radius-topright: 5px; | |
412 | + border-top-right-radius: 5px; | |
413 | +} | |
414 | + | |
415 | +.ui-datatable div:nth-child(2) thead tr:first-child th:first-child { | |
416 | + -webkit-border-top-left-radius: 0px; | |
417 | + -moz-border-radius-topleft: 0px; | |
418 | + border-top-left-radius: 0px; | |
419 | +} | |
420 | + | |
421 | +.ui-datatable div:nth-child(2) thead tr:first-child th:last-child { | |
422 | + -webkit-border-top-right-radius: 0px; | |
423 | + -moz-border-radius-topright: 0px; | |
424 | + border-top-right-radius: 0px; | |
425 | +} | |
426 | + | |
427 | +.ui-datatable-even:hover, .ui-datatable-odd:hover { | |
428 | + color: #79A02E; | |
429 | + background: #FFFFDD; | |
430 | +} | |
431 | + | |
432 | +.ui-datatable-even { | |
433 | + background: #FFFFFF; | |
434 | + line-height: 26px; | |
435 | +} | |
436 | + | |
437 | +.ui-datatable-odd { | |
438 | + background: #F9F9F9; | |
439 | + line-height: 26px; | |
440 | +} | |
441 | + | |
442 | +.ui-datatable-even.ui-state-highlight, .ui-datatable-odd.ui-state-highlight { | |
443 | + color: #79A02E; | |
444 | + background: #EEEECC; | |
445 | +} | |
446 | + | |
447 | +.ui-datatable tbody td, .ui-treetable tbody td { | |
448 | + border: solid #CDCBCB; | |
449 | + border-width: 0 1px 1px 0; | |
450 | + text-align: left; | |
451 | + white-space: normal; | |
452 | +} | |
453 | + | |
454 | +.ui-datatable tbody td:first-child, .ui-treetable tbody td:first-child { | |
455 | + border-left-width: 1px; | |
456 | +} | |
457 | + | |
458 | +.ui-paginator { | |
459 | + -webkit-border-radius: 0 0 5px 5px; | |
460 | + -moz-border-radius: 0 0 5px 5px; | |
461 | + border-radius: 0 0 5px 5px; | |
462 | + border: 1px solid #669999; | |
463 | +} | |
464 | + | |
465 | +.ui-paginator-top { | |
466 | + -webkit-border-radius: 5px 5px 0 0; | |
467 | + -moz-border-radius: 5px 5px 0 0; | |
468 | + border-radius: 5px 5px 0 0; | |
469 | + border-bottom-width: 0; | |
470 | +} | |
471 | + | |
472 | +.ui-paginator-page { | |
473 | + vertical-align: middle; | |
474 | +} | |
475 | + | |
476 | +.ui-paginator-pages .ui-state-active { | |
477 | + background: #B4C135; | |
478 | +} | |
479 | + | |
480 | +.ui-paginator-current { | |
481 | + padding: 5px !important; | |
482 | + float: right; | |
483 | +} | |
484 | + | |
485 | +.ui-paginator-jtp-select { | |
486 | + margin: 1px 0 2px 0; | |
487 | +} | |
488 | + | |
489 | +.ui-datatable .ui-selectonemenu, .ui-datatable .ui-inputmask, .ui-datatable .ui-datalist { | |
490 | + background: transparent; | |
491 | + border: 1px solid transparent; | |
492 | +} | |
493 | + | |
494 | +.ui-datatable .ui-selectonemenu .ui-selectonemenu-trigger { | |
495 | + display: none; | |
496 | +} | |
497 | + | |
498 | +.ui-datatable .ui-inputtext:focus, .ui-datatable .ui-selectonemenu.ui-state-focus, .ui-datatable .ui-inputmask.ui-state-focus, | |
499 | +.ui-datatable .ui-datalist:focus { | |
500 | + border: 1px solid #C0C0C0; | |
501 | + background: #FFFFFF; | |
502 | +} | |
503 | + | |
504 | +.ui-datatable .ui-selectonemenu.ui-state-focus .ui-selectonemenu-trigger { | |
505 | + display: block; | |
506 | +} | |
507 | + | |
508 | +.ui-selection-column { | |
509 | + width: 18px; | |
510 | +} | |
511 | + | |
512 | +.ui-chkbox-all { | |
513 | + margin: 0 0 2px 0 !important; | |
514 | +} | |
515 | + | |
516 | + | |
517 | +/* ============================================== Toolbar ============================================= */ | |
518 | +.ui-toolbar { | |
519 | + background-color: transparent; | |
520 | + padding: 0; | |
521 | +} | |
522 | + | |
523 | +.ui-toolbar-group-left .ui-button, .ui-toolbar-group-left a { | |
524 | + margin-right: 10px !important; | |
525 | +} | |
526 | + | |
527 | +.ui-toolbar-group-right .ui-button, .ui-toolbar-group-right a { | |
528 | + margin-left: 10px !important; | |
529 | +} | |
530 | + | |
531 | +/* ============================================= OrderList ============================================ */ | |
532 | +.ui-orderlist-item:hover { | |
533 | + background: #79A02E; | |
534 | + color: #FFFFFF; | |
535 | +} | |
536 | + | |
537 | +.ui-orderlist-caption { | |
538 | + font-weight: bold; | |
539 | + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7); | |
540 | +} | |
541 | + | |
542 | +.ui-orderlist-controls { | |
543 | + padding: 0 5px; | |
544 | + } | |
545 | + | |
546 | + /* ============================================== Editor ============================================= */ | |
547 | + .ui-editor { | |
548 | + margin: 0 auto; | |
549 | + border: 1px solid #CCCCCC; | |
550 | + } | |
551 | + | |
552 | + /* ============================================ Fileupload ============================================ */ | |
553 | +.ans-fileUploadSimple .ui-fileupload { | |
554 | + background: transparent; | |
555 | + float:left; | |
556 | +} | |
557 | + | |
558 | +.ans-fileUploadSimple .fileupload-buttonbar { | |
559 | + padding: 0; | |
560 | +} | |
561 | + | |
562 | +.ans-fileUploadSimple .fileupload-content { | |
563 | + display: none; | |
564 | +} | |
565 | + | |
566 | +.ans-fileUploadSimple .ui-icon-plusthick { | |
567 | + background-position: -224px -48px; | |
568 | +} | |
569 | + | |
570 | +.ans-fileUploadSimple-label { | |
571 | + clear: both; | |
572 | + border: 1px solid #C0C0C0; | |
573 | + border-left: 0; | |
574 | + -webkit-border-bottom-right-radius: 5px; | |
575 | + -webkit-border-top-right-radius: 5px; | |
576 | + -moz-border-radius-bottomright: 5px; | |
577 | + -moz-border-radius-topright: 5px; | |
578 | + border-bottom-right-radius: 5px; | |
579 | + border-top-right-radius: 5px; | |
580 | + font-weight: bold; | |
581 | + position: relative; | |
582 | + top: 7px; | |
583 | + left: -6px; | |
584 | + padding: 6px 10px; | |
585 | + white-space: nowrap; | |
586 | +} | |
587 | + | |
588 | +/* =========================================== Growl e Message ======================================== */ | |
589 | +.ui-growl-item.ui-severity-info, .ui-messages-info, .ui-message-info { | |
590 | + color: #333333; | |
591 | + border: 1px solid #30AADE; | |
592 | + background: -moz-linear-gradient(top, #a1d8f1 57%, #40bbef 100%); /* FF3.6+ */ | |
593 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(57%,#a1d8f1), color-stop(100%,#40bbef)); /* Chrome,Safari4+ */ | |
594 | + background: -webkit-linear-gradient(top, #a1d8f1 57%,#40bbef 100%); /* Chrome10+,Safari5.1+ */ | |
595 | + background: -o-linear-gradient(top, #a1d8f1 57%,#40bbef 100%); /* Opera 11.10+ */ | |
596 | + background: -ms-linear-gradient(top, #a1d8f1 57%,#40bbef 100%); /* IE10+ */ | |
597 | + background: linear-gradient(to bottom, #a1d8f1 57%,#40bbef 100%); /* W3C */ | |
598 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a1d8f1', endColorstr='#40bbef',GradientType=0 ); /* IE6-9 */ | |
599 | +} | |
600 | + | |
601 | +.ui-growl-item.ui-severity-error, .ui-messages-error, .ui-message-error { | |
602 | + color: #FFFFFF; | |
603 | + border: 1px solid #993300; | |
604 | + background: -moz-linear-gradient(top, #dd946c 53%, #e2501f 100%); /* FF3.6+ */ | |
605 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(53%,#dd946c), color-stop(100%,#e2501f)); /* Chrome,Safari4+ */ | |
606 | + background: -webkit-linear-gradient(top, #dd946c 53%,#e2501f 100%); /* Chrome10+,Safari5.1+ */ | |
607 | + background: -o-linear-gradient(top, #dd946c 53%,#e2501f 100%); /* Opera 11.10+ */ | |
608 | + background: -ms-linear-gradient(top, #dd946c 53%,#e2501f 100%); /* IE10+ */ | |
609 | + background: linear-gradient(to bottom, #dd946c 53%,#e2501f 100%); /* W3C */ | |
610 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dd946c', endColorstr='#e2501f',GradientType=0 ); /* IE6-9 */ | |
611 | +} | |
612 | + | |
613 | +.ui-growl-item.ui-severity-warn, .ui-messages-warn, .ui-message-warn { | |
614 | + color: #993300; | |
615 | + border: 1px solid #CCCCCC; | |
616 | + background: #f9e069; /* Old browsers */ | |
617 | + background: -moz-linear-gradient(top, #f9e069 57%, #ddbc00 100%); /* FF3.6+ */ | |
618 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(57%,#f9e069), color-stop(100%,#ddbc00)); /* Chrome,Safari4+ */ | |
619 | + background: -webkit-linear-gradient(top, #f9e069 57%,#ddbc00 100%); /* Chrome10+,Safari5.1+ */ | |
620 | + background: -o-linear-gradient(top, #f9e069 57%,#ddbc00 100%); /* Opera 11.10+ */ | |
621 | + background: -ms-linear-gradient(top, #f9e069 57%,#ddbc00 100%); /* IE10+ */ | |
622 | + background: linear-gradient(to bottom, #f9e069 57%,#ddbc00 100%); /* W3C */ | |
623 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9e069', endColorstr='#ddbc00',GradientType=0 ); /* IE6-9 */ | |
624 | +} | |
625 | + | |
626 | +.ui-growl-item-fatal, .ui-messages-fatal, .ui-message-fatal { | |
627 | + background: #eeeeee; /* Old browsers */ | |
628 | + background: -moz-linear-gradient(top, #eeeeee 0%, #bbbbbb 100%); /* FF3.6+ */ | |
629 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(100%,#bbbbbb)); /* Chrome,Safari4+ */ | |
630 | + background: -webkit-linear-gradient(top, #eeeeee 0%,#bbbbbb 100%); /* Chrome10+,Safari5.1+ */ | |
631 | + background: -o-linear-gradient(top, #eeeeee 0%,#bbbbbb 100%); /* Opera 11.10+ */ | |
632 | + background: -ms-linear-gradient(top, #eeeeee 0%,#bbbbbb 100%); /* IE10+ */ | |
633 | + background: linear-gradient(to bottom, #eeeeee 0%,#bbbbbb 100%); /* W3C */ | |
634 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#bbbbbb',GradientType=0 ); /* IE6-9 */ | |
635 | +} | |
636 | + | |
637 | +/* =============================================== Growl =============================================== */ | |
638 | + .ui-growl { | |
639 | + background-color: transparent; | |
640 | +} | |
641 | + | |
642 | +.ui-growl-item-container { | |
643 | + margin-top: 10px; | |
644 | + background-color: #FFFFFF; | |
645 | +} | |
646 | + | |
647 | +.ui-growl-icon-close.ui-icon-closethick { | |
648 | + background-position: -97px -129px; | |
649 | + right: 5px; | |
650 | +} | |
651 | + | |
652 | +.ui-growl-icon-close.ui-icon { | |
653 | + border-radius: 10px; | |
654 | + background-color: #FFFFFF; | |
655 | + border: 1px solid #C0C0C0; | |
656 | + width: 15px; | |
657 | + height: 15px; | |
658 | +} | |
659 | + | |
660 | +.ui-growl-item-container { | |
661 | + opacity: 1; | |
662 | + margin-bottom: 0; | |
663 | +} | |
664 | + | |
665 | +/* ============================================== Message ============================================= */ | |
666 | +.ui-messages-info-icon, .ui-messages-warn-icon, .ui-messages-error-icon, .ui-messages-fatal-icon { | |
667 | + margin-top: -6px; | |
668 | +} | |
669 | + | |
670 | +.ui-messages .ui-icon-close { | |
671 | + border-radius: 10px; | |
672 | + background-color: #FFFFFF; | |
673 | + width: 17px; | |
674 | + border: 1px solid #C0C0C0; | |
675 | +} | |
676 | + | |
677 | +.ui-messages .ui-messages-close { | |
678 | + margin-right: -7px; | |
679 | + margin-top: -7px; | |
680 | +} | |
681 | + | |
682 | +/* ============================================= Status ============================================== */ | |
683 | +.ui-state-error { | |
684 | + border-color: #FF0000 !important; | |
685 | +} | |
686 | + | |
687 | +.ui-state-disabled, .ui-state-disabled label, .ui-state-disabled:hover, .ui-state-disabled:active { | |
688 | + background: #EEEEEE !important; | |
689 | + color: #999999 !important; | |
690 | + text-shadow: 2px !important; | |
691 | +} | |
692 | + | |
693 | +.ui-datatable .ui-inputfield.ui-state-disabled, .ui-datatable .ui-state-disabled label, | |
694 | +.ui-paginator span.ui-state-disabled { | |
695 | + background: transparent !important; | |
696 | + color: #6D6D6D !important; | |
697 | +} | |
698 | + | |
699 | +.ui-datatable-even.ui-state-disabled { | |
700 | + background: #FFFFFF !important; | |
701 | +} | |
702 | + | |
703 | +.ui-datatable-odd.ui-state-disabled { | |
704 | + background: #F9F9F9 !important; | |
705 | +} | |
706 | + | |
707 | +.ui-datepicker-other-month.ui-state-disabled { | |
708 | + background: #FFFFFF !important; | |
709 | +} | |
710 | + | |
711 | +.ui-datepicker-week-end.ui-state-disabled { | |
712 | + background: #EEEEEE !important; | |
713 | +} | |
714 | + | |
715 | +.ui-datepicker .ui-corner-all.ui-state-disabled { | |
716 | + background: transparent !important; | |
717 | +} | |
718 | + | |
719 | +/* ============================================== Ícones ============================================== */ | |
720 | +.ui-icon { | |
721 | + height: 16px; | |
722 | + width: 16px; | |
723 | + background-repeat: no-repeat; | |
724 | + display: block; | |
725 | + overflow: hidden; | |
726 | + text-indent: -99999px; | |
727 | + background-image: url(#{resource['/images/icons_1.png']}); | |
728 | +} | |
729 | + | |
730 | +.ui-button .ui-icon, .ui-dialog-titlebar-icon .ui-icon, .ui-datepicker .ui-corner-all .ui-icon { | |
731 | + background-image: url(#{resource['/images/icons_2.png']}); | |
732 | +} | |
733 | + | |
734 | +.ui-state-disabled .ui-icon, .ui-paginator .ui-icon { | |
735 | + background-image: url(#{resource['/images/icons_3.png']}); | |
736 | +} | |
737 | + | |
738 | +.ui-state-error .ui-icon { | |
739 | + background-image: url(#{resource['/images/icons_4.png']}); | |
740 | +} | |
741 | + | |
742 | +.ui-paginator .ui-state-disabled .ui-icon, .ui-datepicker .ui-corner-all .ui-state-disabled .ui-icon { | |
743 | + background-image: url(#{resource['/images/icons_1.png']}); | |
744 | +} | |
745 | + | |
746 | +/* ===================================== Posicionamento dos Ícones ==================================== */ | |
747 | +.ui-icon-carat-1-n { background-position: 0 0 } | |
748 | +.ui-icon-carat-1-ne { background-position: -16px 0 } | |
749 | +.ui-icon-carat-1-e { background-position: -32px 0 } | |
750 | +.ui-icon-carat-1-se { background-position: -48px 0 } | |
751 | +.ui-icon-carat-1-s { background-position: -64px 0 } | |
752 | +.ui-icon-carat-1-sw { background-position: -80px 0 } | |
753 | +.ui-icon-carat-1-w { background-position: -96px 0 } | |
754 | +.ui-icon-carat-1-nw { background-position: -112px 0 } | |
755 | +.ui-icon-carat-2-n-s { background-position: -128px 0 } | |
756 | +.ui-icon-carat-2-e-w { background-position: -144px 0 } | |
757 | +.ui-icon-triangle-1-n { background-position: 0 -16px } | |
758 | +.ui-icon-triangle-1-ne { background-position: -16px -16px } | |
759 | +.ui-icon-triangle-1-e { background-position: -32px -16px } | |
760 | +.ui-icon-triangle-1-se { background-position: -48px -16px } | |
761 | +.ui-icon-triangle-1-s { background-position: -64px -16px } | |
762 | +.ui-icon-triangle-1-sw { background-position: -80px -16px } | |
763 | +.ui-icon-triangle-1-w { background-position: -96px -16px } | |
764 | +.ui-icon-triangle-1-nw { background-position: -112px -16px } | |
765 | +.ui-icon-triangle-2-n-s { background-position: -128px -16px } | |
766 | +.ui-icon-triangle-2-e-w { background-position: -144px -16px } | |
767 | +.ui-icon-arrow-1-n { background-position: 0 -32px } | |
768 | +.ui-icon-arrow-1-ne { background-position: -16px -32px } | |
769 | +.ui-icon-arrow-1-e { background-position: -32px -32px } | |
770 | +.ui-icon-arrow-1-se { background-position: -48px -32px } | |
771 | +.ui-icon-arrow-1-s { background-position: -64px -32px } | |
772 | +.ui-icon-arrow-1-sw { background-position: -80px -32px } | |
773 | +.ui-icon-arrow-1-w { background-position: -96px -32px } | |
774 | +.ui-icon-arrow-1-nw { background-position: -112px -32px } | |
775 | +.ui-icon-arrow-2-n-s { background-position: -128px -32px } | |
776 | +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px } | |
777 | +.ui-icon-arrow-2-e-w { background-position: -160px -32px } | |
778 | +.ui-icon-arrow-2-se-nw { background-position: -176px -32px } | |
779 | +.ui-icon-arrowstop-1-n { background-position: -192px -32px } | |
780 | +.ui-icon-arrowstop-1-e { background-position: -208px -32px } | |
781 | +.ui-icon-arrowstop-1-s { background-position: -224px -32px } | |
782 | +.ui-icon-arrowstop-1-w { background-position: -240px -32px } | |
783 | +.ui-icon-arrowthick-1-n { background-position: 0 -48px } | |
784 | +.ui-icon-arrowthick-1-ne { background-position: -16px -48px } | |
785 | +.ui-icon-arrowthick-1-e { background-position: -32px -48px } | |
786 | +.ui-icon-arrowthick-1-se { background-position: -48px -48px } | |
787 | +.ui-icon-arrowthick-1-s { background-position: -64px -48px } | |
788 | +.ui-icon-arrowthick-1-sw { background-position: -80px -48px } | |
789 | +.ui-icon-arrowthick-1-w { background-position: -96px -48px } | |
790 | +.ui-icon-arrowthick-1-nw { background-position: -112px -48px } | |
791 | +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px } | |
792 | +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px } | |
793 | +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px } | |
794 | +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px } | |
795 | +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px } | |
796 | +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px } | |
797 | +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px } | |
798 | +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px } | |
799 | +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px } | |
800 | +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px } | |
801 | +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px } | |
802 | +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px } | |
803 | +.ui-icon-arrowreturn-1-w { background-position: -64px -64px } | |
804 | +.ui-icon-arrowreturn-1-n { background-position: -80px -64px } | |
805 | +.ui-icon-arrowreturn-1-e { background-position: -96px -64px } | |
806 | +.ui-icon-arrowreturn-1-s { background-position: -112px -64px } | |
807 | +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px } | |
808 | +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px } | |
809 | +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px } | |
810 | +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px } | |
811 | +.ui-icon-arrow-4 { background-position: 0 -80px } | |
812 | +.ui-icon-arrow-4-diag { background-position: -16px -80px } | |
813 | +.ui-icon-extlink { background-position: -32px -80px } | |
814 | +.ui-icon-newwin { background-position: -48px -80px } | |
815 | +.ui-icon-refresh { background-position: -64px -80px } | |
816 | +.ui-icon-shuffle { background-position: -80px -80px } | |
817 | +.ui-icon-transfer-e-w { background-position: -96px -80px } | |
818 | +.ui-icon-transferthick-e-w { background-position: -112px -80px } | |
819 | +.ui-icon-folder-collapsed { background-position: 0 -96px } | |
820 | +.ui-icon-folder-open { background-position: -16px -96px } | |
821 | +.ui-icon-document { background-position: -32px -96px } | |
822 | +.ui-icon-document-b { background-position: -48px -96px } | |
823 | +.ui-icon-note { background-position: -64px -96px } | |
824 | +.ui-icon-mail-closed { background-position: -80px -96px } | |
825 | +.ui-icon-mail-open { background-position: -96px -96px } | |
826 | +.ui-icon-suitcase { background-position: -112px -96px } | |
827 | +.ui-icon-comment { background-position: -128px -96px } | |
828 | +.ui-icon-person { background-position: -144px -96px } | |
829 | +.ui-icon-print { background-position: -160px -96px } | |
830 | +.ui-icon-trash { background-position: -176px -96px } | |
831 | +.ui-icon-locked { background-position: -192px -96px } | |
832 | +.ui-icon-unlocked { background-position: -208px -96px } | |
833 | +.ui-icon-bookmark { background-position: -224px -96px } | |
834 | +.ui-icon-tag { background-position: -240px -96px } | |
835 | +.ui-icon-home { background-position: 0 -112px } | |
836 | +.ui-icon-flag { background-position: -16px -112px } | |
837 | +.ui-icon-calendar { background-position: -32px -112px } | |
838 | +.ui-icon-cart { background-position: -48px -112px } | |
839 | +.ui-icon-pencil { background-position: -64px -112px } | |
840 | +.ui-icon-clock { background-position: -80px -112px } | |
841 | +.ui-icon-disk { background-position: -96px -112px } | |
842 | +.ui-icon-calculator { background-position: -112px -112px } | |
843 | +.ui-icon-zoomin { background-position: -128px -112px } | |
844 | +.ui-icon-zoomout { background-position: -144px -112px } | |
845 | +.ui-icon-search { background-position: -160px -112px } | |
846 | +.ui-icon-wrench { background-position: -176px -112px } | |
847 | +.ui-icon-gear { background-position: -192px -112px } | |
848 | +.ui-icon-heart { background-position: -208px -112px } | |
849 | +.ui-icon-star { background-position: -224px -112px } | |
850 | +.ui-icon-link { background-position: -240px -112px } | |
851 | +.ui-icon-cancel { background-position: 0 -128px } | |
852 | +.ui-icon-plus { background-position: -16px -128px } | |
853 | +.ui-icon-plusthick { background-position: -32px -128px } | |
854 | +.ui-icon-minus { background-position: -48px -128px } | |
855 | +.ui-icon-minusthick { background-position: -64px -128px } | |
856 | +.ui-icon-close { background-position: -80px -128px } | |
857 | +.ui-icon-closethick { background-position: -96px -128px } | |
858 | +.ui-icon-key { background-position: -112px -128px } | |
859 | +.ui-icon-lightbulb { background-position: -128px -128px } | |
860 | +.ui-icon-scissors { background-position: -144px -128px } | |
861 | +.ui-icon-clipboard { background-position: -160px -128px } | |
862 | +.ui-icon-copy { background-position: -176px -128px } | |
863 | +.ui-icon-contact { background-position: -192px -128px } | |
864 | +.ui-icon-image { background-position: -208px -128px } | |
865 | +.ui-icon-video { background-position: -224px -128px } | |
866 | +.ui-icon-script { background-position: -240px -128px } | |
867 | +.ui-icon-alert { background-position: 0 -144px } | |
868 | +.ui-icon-info { background-position: -16px -144px } | |
869 | +.ui-icon-notice { background-position: -32px -144px } | |
870 | +.ui-icon-help { background-position: -48px -144px } | |
871 | +.ui-icon-check { background-position: -64px -144px } | |
872 | +.ui-icon-bullet { background-position: -80px -144px } | |
873 | +.ui-icon-radio-on { background-position: -96px -144px } | |
874 | +.ui-icon-radio-off { background-position: -112px -144px } | |
875 | +.ui-icon-pin-w { background-position: -128px -144px } | |
876 | +.ui-icon-pin-s { background-position: -144px -144px } | |
877 | +.ui-icon-play { background-position: 0 -160px } | |
878 | +.ui-icon-pause { background-position: -16px -160px } | |
879 | +.ui-icon-seek-next { background-position: -32px -160px } | |
880 | +.ui-icon-seek-prev { background-position: -48px -160px } | |
881 | +.ui-icon-seek-end { background-position: -64px -160px } | |
882 | +.ui-icon-seek-start { background-position: -80px -160px } | |
883 | +.ui-icon-seek-first { background-position: -80px -160px } | |
884 | +.ui-icon-stop { background-position: -96px -160px } | |
885 | +.ui-icon-eject { background-position: -112px -160px } | |
886 | +.ui-icon-volume-off { background-position: -128px -160px } | |
887 | +.ui-icon-volume-on { background-position: -144px -160px } | |
888 | +.ui-icon-power { background-position: 0 -176px } | |
889 | +.ui-icon-signal-diag { background-position: -16px -176px } | |
890 | +.ui-icon-signal { background-position: -32px -176px } | |
891 | +.ui-icon-battery-0 { background-position: -48px -176px } | |
892 | +.ui-icon-battery-1 { background-position: -64px -176px } | |
893 | +.ui-icon-battery-2 { background-position: -80px -176px } | |
894 | +.ui-icon-battery-3 { background-position: -96px -176px } | |
895 | +.ui-icon-circle-plus { background-position: 0 -192px } | |
896 | +.ui-icon-circle-minus { background-position: -16px -192px } | |
897 | +.ui-icon-circle-close { background-position: -32px -192px} | |
898 | +.ui-icon-circle-triangle-e { background-position: -48px -192px } | |
899 | +.ui-icon-circle-triangle-s { background-position: -64px -192px } | |
900 | +.ui-icon-circle-triangle-w { background-position: -80px -192px } | |
901 | +.ui-icon-circle-triangle-n { background-position: -96px -192px } | |
902 | +.ui-icon-circle-arrow-e { background-position: -112px -192px } | |
903 | +.ui-icon-circle-arrow-s { background-position: -128px -192px } | |
904 | +.ui-icon-circle-arrow-w { background-position: -144px -192px } | |
905 | +.ui-icon-circle-arrow-n { background-position: -160px -192px } | |
906 | +.ui-icon-circle-zoomin { background-position: -176px -192px } | |
907 | +.ui-icon-circle-zoomout { background-position: -192px -192px } | |
908 | +.ui-icon-circle-check { background-position: -208px -192px } | |
909 | +.ui-icon-circlesmall-plus { background-position: 0 -208px } | |
910 | +.ui-icon-circlesmall-minus { background-position: -16px -208px } | |
911 | +.ui-icon-circlesmall-close { background-position: -32px -208px } | |
912 | +.ui-icon-squaresmall-plus { background-position: -48px -208px } | |
913 | +.ui-icon-squaresmall-minus { background-position: -64px -208px } | |
914 | +.ui-icon-squaresmall-close { background-position: -80px -208px } | |
915 | +.ui-icon-grip-dotted-vertical { background-position: 0 -224px } | |
916 | +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px } | |
917 | +.ui-icon-grip-solid-vertical { background-position: -32px -224px } | |
918 | +.ui-icon-grip-solid-horizontal { background-position: -48px -224px } | |
919 | +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px } | |
920 | +.ui-icon-grip-diagonal-se { background-position: -80px -224px } | |
921 | + | |
922 | +/* ==================================================================================================== */ | |
923 | +/* ========================================= CSS Específicos ========================================== */ | |
924 | +/* ==================================================================================================== */ | |
925 | + | |
926 | +/* =========================================== Utilitários ============================================ */ | |
927 | +.ans-warnText { | |
928 | + color: #FF0000; | |
929 | + font-weight: bold; | |
930 | +} | |
931 | + | |
932 | +.ans-dlgFieldset { | |
933 | + margin-top: 6px; | |
934 | + margin-bottom: 6px; | |
935 | +} | |
936 | + | |
937 | +.ans-firstFocus { | |
938 | + position:absolute; | |
939 | + top:-9999px; | |
940 | +} | |
941 | + | |
942 | +.ans-toolbarBottomFixed { | |
943 | + background: none repeat scroll 0 0 #FFFFFF; | |
944 | + border: 1px solid #DEDEDE; | |
945 | + bottom: 0; | |
946 | + left: 0; | |
947 | + padding: 2px 0 2px 24px; | |
948 | + position: fixed; | |
949 | + width: 100%; | |
950 | + height: 31px; | |
951 | + z-index: 2; | |
952 | +} | |
953 | + | |
954 | +/* Início dos estilos para content de botôes que não são toolbar */ | |
955 | +.ans-divBtnField { | |
956 | + display: inline-block; | |
957 | + position: relative; | |
958 | + left: 4px; | |
959 | + top: 2px; | |
960 | + margin-top: -5px; | |
961 | +} | |
962 | + | |
963 | +.ans-divBtnField .ui-commandlink { | |
964 | + color: #438DA0; | |
965 | + position: relative; | |
966 | + top: -2px; | |
967 | + text-decoration: none; | |
968 | +} | |
969 | + | |
970 | +.ans-divBtnField .ui-commandlink:hover { | |
971 | + text-decoration: underline; | |
972 | +} | |
973 | + | |
974 | +.ans-tdOptions { | |
975 | + width: 1px; | |
976 | +} | |
977 | + | |
978 | +.ans-tdOptions > div { | |
979 | + white-space: nowrap; | |
980 | + margin-left: 5px; | |
981 | + text-align: center; | |
982 | +} | |
983 | + | |
984 | +.ans-tdOptions > div button, .ans-divBtnField button, .ans-btnSmall { | |
985 | + width: 26px; | |
986 | + height: 26px; | |
987 | + margin-right: 2px; | |
988 | +} | |
989 | + | |
990 | +.ans-tdOptions > div img, .ans-divBtnField img { | |
991 | + margin-right: 2px; | |
992 | + height: 21px; | |
993 | +} | |
994 | + | |
995 | +.ans-tdOptions > div button, .ans-btnSmall, .ans-tdOptions > div img { | |
996 | + margin-right: 5px; | |
997 | +} | |
998 | +/* Fim dos estilos para content de botôes que não são toolbar */ | |
999 | + | |
1000 | +/* ========================= Formulario Tabless Structure e Tabelas Alinhadas ========================= */ | |
1001 | +.ans-divForm { | |
1002 | + display: inline-block; | |
1003 | + vertical-align: top; | |
1004 | +} | |
1005 | + | |
1006 | +.ans-divGrid { | |
1007 | + display: inherit; | |
1008 | +} | |
1009 | + | |
1010 | +.ans-divGrid.multiGrid { | |
1011 | + display: inline-block; | |
1012 | + float: left; | |
1013 | +} | |
1014 | + | |
1015 | +.ans-divRow { | |
1016 | + display: table-row; | |
1017 | +} | |
1018 | + | |
1019 | +.ui-fieldset .ans-divForm, .ui-fieldset .ans-divGrid { | |
1020 | + padding-left: 7px; | |
1021 | + padding-right: 7px; | |
1022 | +} | |
1023 | + | |
1024 | +.ans-divInnerForm { | |
1025 | + display: table-cell; | |
1026 | + vertical-align: bottom; | |
1027 | + padding-right: 10px; | |
1028 | +} | |
1029 | + | |
1030 | +.ans-divForm .ans-spacerForm { | |
1031 | + height: 44px; | |
1032 | +} | |
1033 | + | |
1034 | +.ans-divForm .ui-outputlabel { | |
1035 | + margin-top: 7px; | |
1036 | + margin-bottom: 2px; | |
1037 | +} | |
1038 | + | |
1039 | +.ans-divForm .ui-outputlabel.ans-preposition { | |
1040 | + display: inline-block; | |
1041 | + margin: 0 5px; | |
1042 | +} | |
1043 | + | |
1044 | +.ans-divForm .ui-outputlabel:after, .ans-divGrid .ui-outputlabel:after { | |
1045 | + content: ":"; | |
1046 | +} | |
1047 | + | |
1048 | +.ans-divForm .ui-outputlabel.ans-required:after, .ans-divGrid .ui-outputlabel.ans-required:after { | |
1049 | + content: "*:"; | |
1050 | +} | |
1051 | + | |
1052 | +.ans-divForm .ui-outputlabel.ans-preposition:after { | |
1053 | + content: "a"; | |
1054 | +} | |
1055 | + | |
1056 | +.ans-divForm .ui-chkbox { | |
1057 | + background-color: transparent; | |
1058 | +} | |
1059 | + | |
1060 | +.ans-divForm .ui-chkbox-box { | |
1061 | + margin: 10px 2px 10px 0; | |
1062 | + position: relative; | |
1063 | + top: 10px; | |
1064 | +} | |
1065 | + | |
1066 | +.ans-divForm .ans-alignField .ui-chkbox-box { | |
1067 | + top: 14px; | |
1068 | +} | |
1069 | + | |
1070 | +.ans-divInnerForm .ui-chkbox-box { | |
1071 | + top: 2px; | |
1072 | + margin: 0; | |
1073 | +} | |
1074 | + | |
1075 | +.ans-divForm .ui-chkbox-icon { | |
1076 | + display: table; | |
1077 | +} | |
1078 | + | |
1079 | +.ans-divForm .ui-chkbox-label, .ans-chkbox .ui-chkbox-label { | |
1080 | + float: none; | |
1081 | + position: relative; | |
1082 | + top: -4px; | |
1083 | +} | |
1084 | + | |
1085 | +.ans-divInnerForm .ui-chkbox-label { | |
1086 | + top: -2px; | |
1087 | +} | |
1088 | + | |
1089 | +.ans-divForm .ans-alignField .ui-chkbox-label { | |
1090 | + top: 0px; | |
1091 | +} | |
1092 | + | |
1093 | +.ans-divForm .ui-outputlabel, .ans-divForm .ans-spacerForm, .ans-divForm .ui-selectcheckboxmenu, | |
1094 | +.ans-divForm .ui-chkbox { | |
1095 | + display: block; | |
1096 | +} | |
1097 | + | |
1098 | +.ans-divGrid label { | |
1099 | + padding-bottom: 2px; | |
1100 | + padding-left: 7px; | |
1101 | + font-weight: bold; | |
1102 | + display: block; | |
1103 | +} | |
1104 | + | |
1105 | +.ans-divGrid .ui-toolbar-group-left, .ans-divGrid .ui-toolbar-group-right { | |
1106 | + padding-left: 0; | |
1107 | + padding-right: 0px; | |
1108 | +} | |
1109 | + | |
1110 | +.ans-divGrid .ui-toolbar { | |
1111 | + margin-top: 3px; | |
1112 | + margin-bottom: 3px; | |
1113 | +} | |
1114 | + | |
1115 | +/* ======================================= Dialog de Confirmação ====================================== */ | |
1116 | +.ans-dlgConfirm .ui-dialog-content { | |
1117 | + overflow: hidden; | |
1118 | +} | |
1119 | + | |
1120 | +.ans-dlgConfirm .ui-toolbar { | |
1121 | + margin-top: 10px; | |
1122 | + text-align: center; | |
1123 | +} | |
1124 | + | |
1125 | +.ans-dlgConfirm .ui-toolbar > div { | |
1126 | + float: none; | |
1127 | +} | |
1128 | + | |
1129 | +/* ====================================== Variações de Datatable ====================================== */ | |
1130 | + | |
1131 | +.ans-checkSelect .ui-datatable-even { | |
1132 | + color: #6D6D6D; | |
1133 | + background: #FFFFFF; | |
1134 | +} | |
1135 | + | |
1136 | +.ans-checkSelect .ui-datatable-odd { | |
1137 | + color: #6D6D6D; | |
1138 | + background: #F9F9F9; | |
1139 | +} | |
1140 | + | |
1141 | + | |
1142 | + | |
1143 | + | |
1144 | +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { | |
1145 | + text-shadow: none; !important | |
1146 | +} | |
1147 | + | |
1148 | +.ui-growl { | |
1149 | + top: 45%; | |
1150 | + left: 40%; | |
1151 | +} | |
1152 | + | ... | ... |
1 | +++ a/src/main/webapp/resources/css/login.css | |
... | ... | @@ -0,0 +1,105 @@ |
1 | +@CHARSET "ISO-8859-1"; | |
2 | + | |
3 | +body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, | |
4 | +button, textarea, p, blockquote, th, td { | |
5 | + margin: 0; | |
6 | + padding: 0; | |
7 | + resize: none; | |
8 | + font-family: Arial, tahoma, Geneva, sans-serif; | |
9 | + font-size: 13px; | |
10 | +} | |
11 | + | |
12 | +#box-login { | |
13 | + margin: 0 auto; | |
14 | + margin-top: 85px; | |
15 | + padding: 5px; | |
16 | + width: 400px; | |
17 | +} | |
18 | + | |
19 | +#box-login .header { | |
20 | + height:20px; | |
21 | + background: #3c899d; | |
22 | + width:98%; | |
23 | + padding: 5px; | |
24 | + line-height:20px; | |
25 | + vertical-align:middle; | |
26 | + font-size: 15px; | |
27 | + border-top-left-radius: 3px; | |
28 | + border-top-right-radius: 3px; | |
29 | + -webkit-border-top-left-radius: 3px; | |
30 | + -webkit-border-top-right-radius: 3px; | |
31 | + -moz-border-radius-topleft: 3px; | |
32 | + -moz-border-radius-topright: 3px; | |
33 | +} | |
34 | + | |
35 | +#box-login .header label { | |
36 | + color: #FFFFFF; | |
37 | + font-weight: bold; | |
38 | + margin-left: 5px; | |
39 | +} | |
40 | + | |
41 | +#box-login .body { | |
42 | + width: 100%; | |
43 | + border: 1px solid #999999; | |
44 | + border-top-width: 0; | |
45 | + padding-top: 20px; | |
46 | + padding-bottom: 5px; | |
47 | +} | |
48 | + | |
49 | +#box-login form { | |
50 | + width: 100%; | |
51 | + height: 100%; | |
52 | +} | |
53 | + | |
54 | +/* Label Form*/ | |
55 | +#box-login form label { | |
56 | + display: block; | |
57 | + float: left; | |
58 | + text-align: right; | |
59 | + margin-right: 5px; | |
60 | + margin-top: 1px; | |
61 | + width: 20%; | |
62 | +} | |
63 | + | |
64 | +#box-login form input[type="text"], #box-login form input[type="password"] { | |
65 | + display: block; | |
66 | + margin-left: 10px; | |
67 | + margin-bottom: 10px; | |
68 | + width: 70%; | |
69 | + border: 1px solid #C0C0C0; | |
70 | + font-size: 15px; | |
71 | +} | |
72 | + | |
73 | +#box-login input[type="submit"] { | |
74 | + -moz-border-radius: 5px; | |
75 | + -webkit-border-radius: 5px; | |
76 | + border-radius: 5px; | |
77 | + padding: 6px 8px; | |
78 | + display: block; | |
79 | + font-family: Arial, tahoma, Geneva, sans-serif; | |
80 | + border: 1px solid #CCCCCC; | |
81 | + color: #FFFFFF; | |
82 | + font-weight: bold; | |
83 | + margin: 10px 0 0 295px; | |
84 | + background: -moz-linear-gradient(top, #8bba59 0%, #498207 100%); /* FF3.6+ */ | |
85 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#8bba59), color-stop(100%,#498207)); /* Chrome,Safari4+ */ | |
86 | + background: -webkit-linear-gradient(top, #8bba59 0%,#498207 100%); /* Chrome10+,Safari5.1+ */ | |
87 | + background: -o-linear-gradient(top, #8bba59 0%,#498207 100%); /* Opera 11.10+ */ | |
88 | + background: -ms-linear-gradient(top, #8bba59 0%,#498207 100%); /* IE10+ */ | |
89 | + background: linear-gradient(to bottom, #8bba59 0%,#498207 100%); /* W3C */ | |
90 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8bba59', endColorstr='#498207',GradientType=0 ); /* IE6-9 */ | |
91 | +} | |
92 | + | |
93 | +#box-login input[type="submit"]:hover { | |
94 | + background: -moz-linear-gradient(top, #a2ce65 0%, #649b1b 100%); /* FF3.6+ */ | |
95 | + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a2ce65), color-stop(100%,#649b1b)); /* Chrome,Safari4+ */ | |
96 | + background: -webkit-linear-gradient(top, #a2ce65 0%,#649b1b 100%); /* Chrome10+,Safari5.1+ */ | |
97 | + background: -o-linear-gradient(top, #a2ce65 0%,#649b1b 100%); /* Opera 11.10+ */ | |
98 | + background: -ms-linear-gradient(top, #a2ce65 0%,#649b1b 100%); /* IE10+ */ | |
99 | + background: linear-gradient(to bottom, #a2ce65 0%,#649b1b 100%); /* W3C */ | |
100 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a2ce65', endColorstr='#649b1b',GradientType=0 ); /* IE6-9 */ | |
101 | +} | |
102 | + | |
103 | +#box-login input[type="submit"]:active { | |
104 | + background: #79A02E !important; | |
105 | +} | |
0 | 106 | \ No newline at end of file | ... | ... |
1 | +++ a/src/main/webapp/resources/css/theme.css | |
... | ... | @@ -0,0 +1,2069 @@ |
1 | +/** jQuery UI CSS Framework 1.8.9** Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)* Dual licensed under the MIT or GPL Version 2 licenses.* http://jquery.org/license** http://docs.jquery.com/UI/Theming/API** To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=deedf7&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=100&borderColorHeader=aed0ea&fcHeader=222222&iconColorHeader=72a7cf&bgColorContent=f2f5f7&bgTextureContent=04_highlight_hard.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=362b36&iconColorContent=72a7cf&bgColorDefault=d7ebf9&bgTextureDefault=02_glass.png&bgImgOpacityDefault=80&borderColorDefault=aed0ea&fcDefault=2779aa&iconColorDefault=3d80b3&bgColorHover=e4f1fb&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=74b2e2&fcHover=0070a3&iconColorHover=2694e8&bgColorActive=3baae3&bgTextureActive=02_glass.png&bgImgOpacityActive=50&borderColorActive=2694e8&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=ffef8f&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=25&borderColorHighlight=f9dd34&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=cd0a0a&bgTextureError=01_flat.png&bgImgOpacityError=15&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffffff&bgColorOverlay=eeeeee&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=90&opacityOverlay=80&bgColorShadow=000000&bgTextureShadow=04_highlight_hard.png&bgImgOpacityShadow=70&opacityShadow=30&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px*/ | |
2 | + | |
3 | + | |
4 | +/* Component containers----------------------------------*/ | |
5 | +.ui-widget { | |
6 | + font-family: Arial, Helvetica; | |
7 | + font-size: .9em; | |
8 | +} | |
9 | + | |
10 | +.ui-widget { | |
11 | + font-size:.9em; | |
12 | +} | |
13 | +body, .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { | |
14 | + font-family: Arial, Helvetica; | |
15 | + font-size:1em; | |
16 | +} | |
17 | +.ui-widget-content { | |
18 | + border:1px solid #dddddd; | |
19 | + background:#ffffff; | |
20 | + color:#333333; | |
21 | +} | |
22 | +.ui-widget-content a { | |
23 | + color:#333333; | |
24 | +} | |
25 | +.ui-widget-header { | |
26 | + border:1px solid #eeeeee; | |
27 | + background:#f5f5f5; | |
28 | + color:#333333; | |
29 | + font-weight:bold; | |
30 | +} | |
31 | +.ui-widget-header a { | |
32 | + color:#333333; | |
33 | +}/* Interaction states ----------------------------------*/ | |
34 | +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { | |
35 | + color:#333333; | |
36 | + text-shadow:0 1px 1px rgba(255, 255, 255, 0.75); | |
37 | + cursor:pointer; | |
38 | + background-color:#f5f5f5; | |
39 | +*background-color:#e6e6e6; | |
40 | + background-image:-ms-linear-gradient(top, #ffffff, #e6e6e6); | |
41 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); | |
42 | + background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6); | |
43 | + background-image:-o-linear-gradient(top, #ffffff, #e6e6e6); | |
44 | + background-image:linear-gradient(top, #ffffff, #e6e6e6); | |
45 | + background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6); | |
46 | + background-repeat:repeat-x; | |
47 | + border:1px solid #cccccc; | |
48 | +*border:0; | |
49 | + border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
50 | + border-color:#e6e6e6 #e6e6e6 #bfbfbf; | |
51 | + border-bottom-color:#b3b3b3; | |
52 | + -webkit-border-radius:4px; | |
53 | + -moz-border-radius:4px; | |
54 | + border-radius:4px; | |
55 | +filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); | |
56 | +filter:progid:dximagetransform.microsoft.gradient(enabled=false); | |
57 | +*zoom:1; | |
58 | + -webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); | |
59 | + -moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); | |
60 | + box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); | |
61 | +} | |
62 | +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { | |
63 | + background-color:#e6e6e6; | |
64 | +*background-color:#d9d9d9; | |
65 | +} | |
66 | +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { | |
67 | + background-color:#cccccc \9; | |
68 | +} | |
69 | +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover { | |
70 | + color:#333333; | |
71 | + text-decoration:none; | |
72 | + background-color:#e6e6e6; | |
73 | +*background-color:#d9d9d9;/* Buttons in IE7 don't get borders, so darken on hover */ | |
74 | + background-position:0 -15px; | |
75 | + -webkit-transition:background-position 0.1s linear; | |
76 | + -moz-transition:background-position 0.1s linear; | |
77 | + -ms-transition:background-position 0.1s linear; | |
78 | + -o-transition:background-position 0.1s linear; | |
79 | + transition:background-position 0.1s linear; | |
80 | +} | |
81 | +.ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { | |
82 | + outline:thin dotted #333; | |
83 | + outline:5px auto -webkit-focus-ring-color; | |
84 | + outline-offset:-2px; | |
85 | +} | |
86 | +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { | |
87 | + background-color:#e6e6e6; | |
88 | + background-color:#d9d9d9 \9; | |
89 | + background-image:none; | |
90 | + outline:0; | |
91 | + -webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); | |
92 | + -moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); | |
93 | + box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); | |
94 | +} | |
95 | +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { | |
96 | + cursor:default; | |
97 | + background-color:#e6e6e6; | |
98 | + background-image:none; | |
99 | + opacity:0.65; | |
100 | + filter:alpha(opacity=65); | |
101 | + -webkit-box-shadow:none; | |
102 | + -moz-box-shadow:none; | |
103 | + box-shadow:none; | |
104 | +} | |
105 | +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { | |
106 | + border-color:#ccc; | |
107 | + border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
108 | +}/* Interaction Cues----------------------------------*/ | |
109 | +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { | |
110 | + color:#ffffff; | |
111 | + text-decoration:none; | |
112 | + background-color:#0088cc; | |
113 | + background-color:#0081c2; | |
114 | + background-position:0px; | |
115 | + background-image:-moz-linear-gradient(top, #0088cc, #0077b3); | |
116 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); | |
117 | + background-image:-webkit-linear-gradient(top, #0088cc, #0077b3); | |
118 | + background-image:-o-linear-gradient(top, #0088cc, #0077b3); | |
119 | + background-image:linear-gradient(to bottom, #0088cc, #0077b3); | |
120 | + background-repeat:repeat-x; | |
121 | +filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); | |
122 | +} | |
123 | +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a { | |
124 | + color:#ffffff; | |
125 | +} | |
126 | +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { | |
127 | + border:1px solid #eed3d7; | |
128 | + background:#f2dede 50% 50% repeat-x; | |
129 | + color:#b94a48; | |
130 | +} | |
131 | +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { | |
132 | + color:#b94a48; | |
133 | +} | |
134 | +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { | |
135 | + color:#b94a48; | |
136 | +} | |
137 | +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { | |
138 | + font-weight:bold; | |
139 | +} | |
140 | +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { | |
141 | + opacity:.7; | |
142 | + filter:Alpha(Opacity=70); | |
143 | + font-weight:normal; | |
144 | +} | |
145 | +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { | |
146 | + opacity:.35; | |
147 | + filter:Alpha(Opacity=35); | |
148 | + background-image:none; | |
149 | +}/* Icons----------------------------------*//* states and images */ | |
150 | +.ui-icon { | |
151 | + width:16px; | |
152 | + height:16px; | |
153 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
154 | +} | |
155 | +.ui-widget-content .ui-icon { | |
156 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
157 | +} | |
158 | +.ui-widget-header .ui-icon { | |
159 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
160 | +} | |
161 | +.ui-state-default .ui-icon { | |
162 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/:images/ui-icons_333333_256x240.png"); | |
163 | +} | |
164 | +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon { | |
165 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
166 | +} | |
167 | +.ui-state-active .ui-icon { | |
168 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
169 | +} | |
170 | +.ui-state-highlight .ui-icon { | |
171 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
172 | +} | |
173 | +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon { | |
174 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
175 | +}/* positioning */ | |
176 | +.ui-icon-carat-1-n { | |
177 | + background-position:0 0; | |
178 | +} | |
179 | +.ui-icon-carat-1-ne { | |
180 | + background-position:-16px 0; | |
181 | +} | |
182 | +.ui-icon-carat-1-e { | |
183 | + background-position:-32px 0; | |
184 | +} | |
185 | +.ui-icon-carat-1-se { | |
186 | + background-position:-48px 0; | |
187 | +} | |
188 | +.ui-icon-carat-1-s { | |
189 | + background-position:-64px 0; | |
190 | +} | |
191 | +.ui-icon-carat-1-sw { | |
192 | + background-position:-80px 0; | |
193 | +} | |
194 | +.ui-icon-carat-1-w { | |
195 | + background-position:-96px 0; | |
196 | +} | |
197 | +.ui-icon-carat-1-nw { | |
198 | + background-position:-112px 0; | |
199 | +} | |
200 | +.ui-icon-carat-2-n-s { | |
201 | + background-position:-128px 0; | |
202 | +} | |
203 | +.ui-icon-carat-2-e-w { | |
204 | + background-position:-144px 0; | |
205 | +} | |
206 | +.ui-icon-triangle-1-n { | |
207 | + background-position:0 -16px; | |
208 | +} | |
209 | +.ui-icon-triangle-1-ne { | |
210 | + background-position:-16px -16px; | |
211 | +} | |
212 | +.ui-icon-triangle-1-e { | |
213 | + background-position:-32px -16px; | |
214 | +} | |
215 | +.ui-icon-triangle-1-se { | |
216 | + background-position:-48px -16px; | |
217 | +} | |
218 | +.ui-icon-triangle-1-s { | |
219 | + background-position:-64px -16px; | |
220 | +} | |
221 | +.ui-icon-triangle-1-sw { | |
222 | + background-position:-80px -16px; | |
223 | +} | |
224 | +.ui-icon-triangle-1-w { | |
225 | + background-position:-96px -16px; | |
226 | +} | |
227 | +.ui-icon-triangle-1-nw { | |
228 | + background-position:-112px -16px; | |
229 | +} | |
230 | +.ui-icon-triangle-2-n-s { | |
231 | + background-position:-128px -16px; | |
232 | +} | |
233 | +.ui-icon-triangle-2-e-w { | |
234 | + background-position:-144px -16px; | |
235 | +} | |
236 | +.ui-icon-arrow-1-n { | |
237 | + background-position:0 -32px; | |
238 | +} | |
239 | +.ui-icon-arrow-1-ne { | |
240 | + background-position:-16px -32px; | |
241 | +} | |
242 | +.ui-icon-arrow-1-e { | |
243 | + background-position:-32px -32px; | |
244 | +} | |
245 | +.ui-icon-arrow-1-se { | |
246 | + background-position:-48px -32px; | |
247 | +} | |
248 | +.ui-icon-arrow-1-s { | |
249 | + background-position:-64px -32px; | |
250 | +} | |
251 | +.ui-icon-arrow-1-sw { | |
252 | + background-position:-80px -32px; | |
253 | +} | |
254 | +.ui-icon-arrow-1-w { | |
255 | + background-position:-96px -32px; | |
256 | +} | |
257 | +.ui-icon-arrow-1-nw { | |
258 | + background-position:-112px -32px; | |
259 | +} | |
260 | +.ui-icon-arrow-2-n-s { | |
261 | + background-position:-128px -32px; | |
262 | +} | |
263 | +.ui-icon-arrow-2-ne-sw { | |
264 | + background-position:-144px -32px; | |
265 | +} | |
266 | +.ui-icon-arrow-2-e-w { | |
267 | + background-position:-160px -32px; | |
268 | +} | |
269 | +.ui-icon-arrow-2-se-nw { | |
270 | + background-position:-176px -32px; | |
271 | +} | |
272 | +.ui-icon-arrowstop-1-n { | |
273 | + background-position:-192px -32px; | |
274 | +} | |
275 | +.ui-icon-arrowstop-1-e { | |
276 | + background-position:-208px -32px; | |
277 | +} | |
278 | +.ui-icon-arrowstop-1-s { | |
279 | + background-position:-224px -32px; | |
280 | +} | |
281 | +.ui-icon-arrowstop-1-w { | |
282 | + background-position:-240px -32px; | |
283 | +} | |
284 | +.ui-icon-arrowthick-1-n { | |
285 | + background-position:0 -48px; | |
286 | +} | |
287 | +.ui-icon-arrowthick-1-ne { | |
288 | + background-position:-16px -48px; | |
289 | +} | |
290 | +.ui-icon-arrowthick-1-e { | |
291 | + background-position:-32px -48px; | |
292 | +} | |
293 | +.ui-icon-arrowthick-1-se { | |
294 | + background-position:-48px -48px; | |
295 | +} | |
296 | +.ui-icon-arrowthick-1-s { | |
297 | + background-position:-64px -48px; | |
298 | +} | |
299 | +.ui-icon-arrowthick-1-sw { | |
300 | + background-position:-80px -48px; | |
301 | +} | |
302 | +.ui-icon-arrowthick-1-w { | |
303 | + background-position:-96px -48px; | |
304 | +} | |
305 | +.ui-icon-arrowthick-1-nw { | |
306 | + background-position:-112px -48px; | |
307 | +} | |
308 | +.ui-icon-arrowthick-2-n-s { | |
309 | + background-position:-128px -48px; | |
310 | +} | |
311 | +.ui-icon-arrowthick-2-ne-sw { | |
312 | + background-position:-144px -48px; | |
313 | +} | |
314 | +.ui-icon-arrowthick-2-e-w { | |
315 | + background-position:-160px -48px; | |
316 | +} | |
317 | +.ui-icon-arrowthick-2-se-nw { | |
318 | + background-position:-176px -48px; | |
319 | +} | |
320 | +.ui-icon-arrowthickstop-1-n { | |
321 | + background-position:-192px -48px; | |
322 | +} | |
323 | +.ui-icon-arrowthickstop-1-e { | |
324 | + background-position:-208px -48px; | |
325 | +} | |
326 | +.ui-icon-arrowthickstop-1-s { | |
327 | + background-position:-224px -48px; | |
328 | +} | |
329 | +.ui-icon-arrowthickstop-1-w { | |
330 | + background-position:-240px -48px; | |
331 | +} | |
332 | +.ui-icon-arrowreturnthick-1-w { | |
333 | + background-position:0 -64px; | |
334 | +} | |
335 | +.ui-icon-arrowreturnthick-1-n { | |
336 | + background-position:-16px -64px; | |
337 | +} | |
338 | +.ui-icon-arrowreturnthick-1-e { | |
339 | + background-position:-32px -64px; | |
340 | +} | |
341 | +.ui-icon-arrowreturnthick-1-s { | |
342 | + background-position:-48px -64px; | |
343 | +} | |
344 | +.ui-icon-arrowreturn-1-w { | |
345 | + background-position:-64px -64px; | |
346 | +} | |
347 | +.ui-icon-arrowreturn-1-n { | |
348 | + background-position:-80px -64px; | |
349 | +} | |
350 | +.ui-icon-arrowreturn-1-e { | |
351 | + background-position:-96px -64px; | |
352 | +} | |
353 | +.ui-icon-arrowreturn-1-s { | |
354 | + background-position:-112px -64px; | |
355 | +} | |
356 | +.ui-icon-arrowrefresh-1-w { | |
357 | + background-position:-128px -64px; | |
358 | +} | |
359 | +.ui-icon-arrowrefresh-1-n { | |
360 | + background-position:-144px -64px; | |
361 | +} | |
362 | +.ui-icon-arrowrefresh-1-e { | |
363 | + background-position:-160px -64px; | |
364 | +} | |
365 | +.ui-icon-arrowrefresh-1-s { | |
366 | + background-position:-176px -64px; | |
367 | +} | |
368 | +.ui-icon-arrow-4 { | |
369 | + background-position:0 -80px; | |
370 | +} | |
371 | +.ui-icon-arrow-4-diag { | |
372 | + background-position:-16px -80px; | |
373 | +} | |
374 | +.ui-icon-extlink { | |
375 | + background-position:-32px -80px; | |
376 | +} | |
377 | +.ui-icon-newwin { | |
378 | + background-position:-48px -80px; | |
379 | +} | |
380 | +.ui-icon-refresh { | |
381 | + background-position:-64px -80px; | |
382 | +} | |
383 | +.ui-icon-shuffle { | |
384 | + background-position:-80px -80px; | |
385 | +} | |
386 | +.ui-icon-transfer-e-w { | |
387 | + background-position:-96px -80px; | |
388 | +} | |
389 | +.ui-icon-transferthick-e-w { | |
390 | + background-position:-112px -80px; | |
391 | +} | |
392 | +.ui-icon-folder-collapsed { | |
393 | + background-position:0 -96px; | |
394 | +} | |
395 | +.ui-icon-folder-open { | |
396 | + background-position:-16px -96px; | |
397 | +} | |
398 | +.ui-icon-document { | |
399 | + background-position:-32px -96px; | |
400 | +} | |
401 | +.ui-icon-document-b { | |
402 | + background-position:-48px -96px; | |
403 | +} | |
404 | +.ui-icon-note { | |
405 | + background-position:-64px -96px; | |
406 | +} | |
407 | +.ui-icon-mail-closed { | |
408 | + background-position:-80px -96px; | |
409 | +} | |
410 | +.ui-icon-mail-open { | |
411 | + background-position:-96px -96px; | |
412 | +} | |
413 | +.ui-icon-suitcase { | |
414 | + background-position:-112px -96px; | |
415 | +} | |
416 | +.ui-icon-comment { | |
417 | + background-position:-128px -96px; | |
418 | +} | |
419 | +.ui-icon-person { | |
420 | + background-position:-144px -96px; | |
421 | +} | |
422 | +.ui-icon-print { | |
423 | + background-position:-160px -96px; | |
424 | +} | |
425 | +.ui-icon-trash { | |
426 | + background-position:-176px -96px; | |
427 | +} | |
428 | +.ui-icon-locked { | |
429 | + background-position:-192px -96px; | |
430 | +} | |
431 | +.ui-icon-unlocked { | |
432 | + background-position:-208px -96px; | |
433 | +} | |
434 | +.ui-icon-bookmark { | |
435 | + background-position:-224px -96px; | |
436 | +} | |
437 | +.ui-icon-tag { | |
438 | + background-position:-240px -96px; | |
439 | +} | |
440 | +.ui-icon-home { | |
441 | + background-position:0 -112px; | |
442 | +} | |
443 | +.ui-icon-flag { | |
444 | + background-position:-16px -112px; | |
445 | +} | |
446 | +.ui-icon-calendar { | |
447 | + background-position:-32px -112px; | |
448 | +} | |
449 | +.ui-icon-cart { | |
450 | + background-position:-48px -112px; | |
451 | +} | |
452 | +.ui-icon-pencil { | |
453 | + background-position:-64px -112px; | |
454 | +} | |
455 | +.ui-icon-clock { | |
456 | + background-position:-80px -112px; | |
457 | +} | |
458 | +.ui-icon-disk { | |
459 | + background-position:-96px -112px; | |
460 | +} | |
461 | +.ui-icon-calculator { | |
462 | + background-position:-112px -112px; | |
463 | +} | |
464 | +.ui-icon-zoomin { | |
465 | + background-position:-128px -112px; | |
466 | +} | |
467 | +.ui-icon-zoomout { | |
468 | + background-position:-144px -112px; | |
469 | +} | |
470 | +.ui-icon-search { | |
471 | + background-position:-160px -112px; | |
472 | +} | |
473 | +.ui-icon-wrench { | |
474 | + background-position:-176px -112px; | |
475 | +} | |
476 | +.ui-icon-gear { | |
477 | + background-position:-192px -112px; | |
478 | +} | |
479 | +.ui-icon-heart { | |
480 | + background-position:-208px -112px; | |
481 | +} | |
482 | +.ui-icon-star { | |
483 | + background-position:-224px -112px; | |
484 | +} | |
485 | +.ui-icon-link { | |
486 | + background-position:-240px -112px; | |
487 | +} | |
488 | +.ui-icon-cancel { | |
489 | + background-position:0 -128px; | |
490 | +} | |
491 | +.ui-icon-plus { | |
492 | + background-position:-16px -128px; | |
493 | +} | |
494 | +.ui-icon-plusthick { | |
495 | + background-position:-32px -128px; | |
496 | +} | |
497 | +.ui-icon-minus { | |
498 | + background-position:-48px -128px; | |
499 | +} | |
500 | +.ui-icon-minusthick { | |
501 | + background-position:-64px -128px; | |
502 | +} | |
503 | +.ui-icon-close { | |
504 | + background-position:-80px -128px; | |
505 | +} | |
506 | +.ui-icon-closethick { | |
507 | + background-position:-96px -128px; | |
508 | +} | |
509 | +.ui-icon-key { | |
510 | + background-position:-112px -128px; | |
511 | +} | |
512 | +.ui-icon-lightbulb { | |
513 | + background-position:-128px -128px; | |
514 | +} | |
515 | +.ui-icon-scissors { | |
516 | + background-position:-144px -128px; | |
517 | +} | |
518 | +.ui-icon-clipboard { | |
519 | + background-position:-160px -128px; | |
520 | +} | |
521 | +.ui-icon-copy { | |
522 | + background-position:-176px -128px; | |
523 | +} | |
524 | +.ui-icon-contact { | |
525 | + background-position:-192px -128px; | |
526 | +} | |
527 | +.ui-icon-image { | |
528 | + background-position:-208px -128px; | |
529 | +} | |
530 | +.ui-icon-video { | |
531 | + background-position:-224px -128px; | |
532 | +} | |
533 | +.ui-icon-script { | |
534 | + background-position:-240px -128px; | |
535 | +} | |
536 | +.ui-icon-alert { | |
537 | + background-position:0 -144px; | |
538 | +} | |
539 | +.ui-icon-info { | |
540 | + background-position:-16px -144px; | |
541 | +} | |
542 | +.ui-icon-notice { | |
543 | + background-position:-32px -144px; | |
544 | +} | |
545 | +.ui-icon-help { | |
546 | + background-position:-48px -144px; | |
547 | +} | |
548 | +.ui-icon-check { | |
549 | + background-position:-64px -144px; | |
550 | +} | |
551 | +.ui-icon-bullet { | |
552 | + background-position:-80px -144px; | |
553 | +} | |
554 | +.ui-icon-radio-off { | |
555 | + background-position:-96px -144px; | |
556 | +} | |
557 | +.ui-icon-radio-on { | |
558 | + background-position:-112px -144px; | |
559 | +} | |
560 | +.ui-icon-pin-w { | |
561 | + background-position:-128px -144px; | |
562 | +} | |
563 | +.ui-icon-pin-s { | |
564 | + background-position:-144px -144px; | |
565 | +} | |
566 | +.ui-icon-play { | |
567 | + background-position:0 -160px; | |
568 | +} | |
569 | +.ui-icon-pause { | |
570 | + background-position:-16px -160px; | |
571 | +} | |
572 | +.ui-icon-seek-next { | |
573 | + background-position:-32px -160px; | |
574 | +} | |
575 | +.ui-icon-seek-prev { | |
576 | + background-position:-48px -160px; | |
577 | +} | |
578 | +.ui-icon-seek-end { | |
579 | + background-position:-64px -160px; | |
580 | +} | |
581 | +.ui-icon-seek-start { | |
582 | + background-position:-80px -160px; | |
583 | +}/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ | |
584 | +.ui-icon-seek-first { | |
585 | + background-position:-80px -160px; | |
586 | +} | |
587 | +.ui-icon-stop { | |
588 | + background-position:-96px -160px; | |
589 | +} | |
590 | +.ui-icon-eject { | |
591 | + background-position:-112px -160px; | |
592 | +} | |
593 | +.ui-icon-volume-off { | |
594 | + background-position:-128px -160px; | |
595 | +} | |
596 | +.ui-icon-volume-on { | |
597 | + background-position:-144px -160px; | |
598 | +} | |
599 | +.ui-icon-power { | |
600 | + background-position:0 -176px; | |
601 | +} | |
602 | +.ui-icon-signal-diag { | |
603 | + background-position:-16px -176px; | |
604 | +} | |
605 | +.ui-icon-signal { | |
606 | + background-position:-32px -176px; | |
607 | +} | |
608 | +.ui-icon-battery-0 { | |
609 | + background-position:-48px -176px; | |
610 | +} | |
611 | +.ui-icon-battery-1 { | |
612 | + background-position:-64px -176px; | |
613 | +} | |
614 | +.ui-icon-battery-2 { | |
615 | + background-position:-80px -176px; | |
616 | +} | |
617 | +.ui-icon-battery-3 { | |
618 | + background-position:-96px -176px; | |
619 | +} | |
620 | +.ui-icon-circle-plus { | |
621 | + background-position:0 -192px; | |
622 | +} | |
623 | +.ui-icon-circle-minus { | |
624 | + background-position:-16px -192px; | |
625 | +} | |
626 | +.ui-icon-circle-close { | |
627 | + background-position:-32px -192px; | |
628 | +} | |
629 | +.ui-icon-circle-triangle-e { | |
630 | + background-position:-48px -192px; | |
631 | +} | |
632 | +.ui-icon-circle-triangle-s { | |
633 | + background-position:-64px -192px; | |
634 | +} | |
635 | +.ui-icon-circle-triangle-w { | |
636 | + background-position:-80px -192px; | |
637 | +} | |
638 | +.ui-icon-circle-triangle-n { | |
639 | + background-position:-96px -192px; | |
640 | +} | |
641 | +.ui-icon-circle-arrow-e { | |
642 | + background-position:-112px -192px; | |
643 | +} | |
644 | +.ui-icon-circle-arrow-s { | |
645 | + background-position:-128px -192px; | |
646 | +} | |
647 | +.ui-icon-circle-arrow-w { | |
648 | + background-position:-144px -192px; | |
649 | +} | |
650 | +.ui-icon-circle-arrow-n { | |
651 | + background-position:-160px -192px; | |
652 | +} | |
653 | +.ui-icon-circle-zoomin { | |
654 | + background-position:-176px -192px; | |
655 | +} | |
656 | +.ui-icon-circle-zoomout { | |
657 | + background-position:-192px -192px; | |
658 | +} | |
659 | +.ui-icon-circle-check { | |
660 | + background-position:-208px -192px; | |
661 | +} | |
662 | +.ui-icon-circlesmall-plus { | |
663 | + background-position:0 -208px; | |
664 | +} | |
665 | +.ui-icon-circlesmall-minus { | |
666 | + background-position:-16px -208px; | |
667 | +} | |
668 | +.ui-icon-circlesmall-close { | |
669 | + background-position:-32px -208px; | |
670 | +} | |
671 | +.ui-icon-squaresmall-plus { | |
672 | + background-position:-48px -208px; | |
673 | +} | |
674 | +.ui-icon-squaresmall-minus { | |
675 | + background-position:-64px -208px; | |
676 | +} | |
677 | +.ui-icon-squaresmall-close { | |
678 | + background-position:-80px -208px; | |
679 | +} | |
680 | +.ui-icon-grip-dotted-vertical { | |
681 | + background-position:0 -224px; | |
682 | +} | |
683 | +.ui-icon-grip-dotted-horizontal { | |
684 | + background-position:-16px -224px; | |
685 | +} | |
686 | +.ui-icon-grip-solid-vertical { | |
687 | + background-position:-32px -224px; | |
688 | +} | |
689 | +.ui-icon-grip-solid-horizontal { | |
690 | + background-position:-48px -224px; | |
691 | +} | |
692 | +.ui-icon-gripsmall-diagonal-se { | |
693 | + background-position:-64px -224px; | |
694 | +} | |
695 | +.ui-icon-grip-diagonal-se { | |
696 | + background-position:-80px -224px; | |
697 | +}/* Misc visuals----------------------------------*//* Corner radius */ | |
698 | +.ui-corner-tl { | |
699 | + -moz-border-radius-topleft:4px; | |
700 | + -webkit-border-top-left-radius:4px; | |
701 | + border-top-left-radius:4px; | |
702 | +} | |
703 | +.ui-corner-tr { | |
704 | + -moz-border-radius-topright:4px; | |
705 | + -webkit-border-top-right-radius:4px; | |
706 | + border-top-right-radius:4px; | |
707 | +} | |
708 | +.ui-corner-bl { | |
709 | + -moz-border-radius-bottomleft:4px; | |
710 | + -webkit-border-bottom-left-radius:4px; | |
711 | + border-bottom-left-radius:4px; | |
712 | +} | |
713 | +.ui-corner-br { | |
714 | + -moz-border-radius-bottomright:4px; | |
715 | + -webkit-border-bottom-right-radius:4px; | |
716 | + border-bottom-right-radius:4px; | |
717 | +} | |
718 | +.ui-corner-top { | |
719 | + -moz-border-radius-topleft:4px; | |
720 | + -webkit-border-top-left-radius:4px; | |
721 | + border-top-left-radius:4px; | |
722 | + -moz-border-radius-topright:4px; | |
723 | + -webkit-border-top-right-radius:4px; | |
724 | + border-top-right-radius:4px; | |
725 | +} | |
726 | +.ui-corner-bottom { | |
727 | + -moz-border-radius-bottomleft:4px; | |
728 | + -webkit-border-bottom-left-radius:4px; | |
729 | + border-bottom-left-radius:4px; | |
730 | + -moz-border-radius-bottomright:4px; | |
731 | + -webkit-border-bottom-right-radius:4px; | |
732 | + border-bottom-right-radius:4px; | |
733 | +} | |
734 | +.ui-corner-right { | |
735 | + -moz-border-radius-topright:4px; | |
736 | + -webkit-border-top-right-radius:4px; | |
737 | + border-top-right-radius:4px; | |
738 | + -moz-border-radius-bottomright:4px; | |
739 | + -webkit-border-bottom-right-radius:4px; | |
740 | + border-bottom-right-radius:4px; | |
741 | +} | |
742 | +.ui-corner-left { | |
743 | + -moz-border-radius-topleft:4px; | |
744 | + -webkit-border-top-left-radius:4px; | |
745 | + border-top-left-radius:4px; | |
746 | + -moz-border-radius-bottomleft:4px; | |
747 | + -webkit-border-bottom-left-radius:4px; | |
748 | + border-bottom-left-radius:4px; | |
749 | +} | |
750 | +.ui-corner-all { | |
751 | + -moz-border-radius:4px; | |
752 | + -webkit-border-radius:4px; | |
753 | + border-radius:4px; | |
754 | +}/* Overlays */ | |
755 | +.ui-widget-overlay { | |
756 | + background:#000000; | |
757 | + opacity:.80; | |
758 | + filter:Alpha(Opacity=80); | |
759 | +} | |
760 | +.ui-widget-shadow { | |
761 | + margin:-7px 0 0 -7px; | |
762 | + padding:7px; | |
763 | + background:#000000; | |
764 | + opacity:.30; | |
765 | + filter:Alpha(Opacity=30); | |
766 | + -moz-border-radius:8px; | |
767 | + -webkit-border-radius:8px; | |
768 | + border-radius:8px; | |
769 | +}/* PrimeFaces Extensions */ | |
770 | +.ui-inputfield, .ui-widget-content .ui-inputfield, .ui-widget-header .ui-inputfield { | |
771 | + cursor:text; | |
772 | + background:none #ffffff; | |
773 | + border:1px solid #cccccc; | |
774 | + -webkit-border-radius:3px; | |
775 | + -moz-border-radius:3px; | |
776 | + border-radius:3px; | |
777 | + -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
778 | + -moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
779 | + box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
780 | + -webkit-transition:border linear 0.2s, box-shadow linear 0.2s; | |
781 | + -moz-transition:border linear 0.2s, box-shadow linear 0.2s; | |
782 | + -ms-transition:border linear 0.2s, box-shadow linear 0.2s; | |
783 | + -o-transition:border linear 0.2s, box-shadow linear 0.2s; | |
784 | + transition:border linear 0.2s, box-shadow linear 0.2s; | |
785 | +} | |
786 | +.ui-inputfield.ui-state-focus, .ui-widget-content .ui-inputfield.ui-state-focus, .ui-widget-header .ui-inputfield.ui-state-focus { | |
787 | + border-color:rgba(82, 168, 236, 0.8); | |
788 | + outline:0; | |
789 | + outline:thin dotted \9;/* IE6-9 */ | |
790 | + -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); | |
791 | + -moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); | |
792 | + box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); | |
793 | +} | |
794 | +.ui-inputfield.ui-state-error, .ui-widget-header .ui-inputfield.ui-state-error, .ui-widget-content .ui-inputfield.ui-state-error { | |
795 | + color:#333333; | |
796 | + border:1px solid #eed3d7; | |
797 | +}/** TabView **/ | |
798 | +.ui-tabs.ui-widget-content { | |
799 | + background:transparent none; | |
800 | + border:0; | |
801 | + border-radius:0; | |
802 | +} | |
803 | +.ui-tabs .ui-tabs-nav.ui-widget-header { | |
804 | + background:transparent none; | |
805 | + border-radius:0; | |
806 | +} | |
807 | +.ui-tabs .ui-tabs-nav.ui-widget-header li { | |
808 | + line-height:18px; | |
809 | + background:transparent none; | |
810 | + border:1px solid #DDDDDD; | |
811 | + box-shadow:none; | |
812 | + border-radius:0; | |
813 | +} | |
814 | +.ui-tabs .ui-tabs-nav.ui-widget-header li a { | |
815 | + line-height:18px; | |
816 | + padding-bottom:8px; | |
817 | + padding-top:8px; | |
818 | + color:#0088CC; | |
819 | + font-weight:normal; | |
820 | + border:0px none; | |
821 | +} | |
822 | +.ui-tabs .ui-tabs-nav.ui-widget-header li.ui-state-hover { | |
823 | + text-decoration:none; | |
824 | + background-color:#eeeeee; | |
825 | + border-color:#eeeeee #eeeeee #dddddd; | |
826 | + color:#005580; | |
827 | +} | |
828 | +.ui-tabs .ui-tabs-nav.ui-widget-header li.ui-state-active { | |
829 | + background-color:#FFFFFF; | |
830 | + border-style:solid; | |
831 | + border-width:1px; | |
832 | + color:#555555; | |
833 | + cursor:default; | |
834 | +} | |
835 | +.ui-tabs .ui-tabs-nav li .ui-icon { | |
836 | + margin:0.6em 0.2em 0 0 !important; | |
837 | +} | |
838 | +.ui-tabs.ui-tabs-top .ui-tabs-nav.ui-widget-header { | |
839 | + border-bottom:1px solid #DDDDDD; | |
840 | +} | |
841 | +.ui-tabs.ui-tabs-top { | |
842 | + border-bottom:1px solid #DDDDDD; | |
843 | +} | |
844 | +.ui-tabs.ui-tabs-top .ui-tabs-nav.ui-widget-header li.ui-state-active { | |
845 | + border-color:#DDDDDD #DDDDDD transparent #DDDDDD; | |
846 | +} | |
847 | +.ui-tabs.ui-tabs-top .ui-tabs-nav.ui-widget-header li { | |
848 | + border-radius:4px 4px 0 0; | |
849 | +} | |
850 | +.ui-tabs.ui-tabs-top .ui-tabs-nav.ui-widget-header li.ui-state-active { | |
851 | + margin-bottom:-1px; | |
852 | +} | |
853 | +.ui-tabs.ui-tabs-bottom .ui-tabs-nav.ui-widget-header { | |
854 | + border-top:1px solid #DDDDDD; | |
855 | +} | |
856 | +.ui-tabs.ui-tabs-bottom { | |
857 | + border-top:1px solid #DDDDDD; | |
858 | +} | |
859 | +.ui-tabs.ui-tabs-bottom .ui-tabs-nav.ui-widget-header li.ui-state-active { | |
860 | + border-color:transparent #DDDDDD #DDDDDD #DDDDDD; | |
861 | +} | |
862 | +.ui-tabs.ui-tabs-bottom .ui-tabs-nav.ui-widget-header li { | |
863 | + border-radius:0 0 4px 4px; | |
864 | +} | |
865 | +.ui-tabs.ui-tabs-bottom .ui-tabs-nav.ui-widget-header li.ui-state-active { | |
866 | + margin-top:-1px; | |
867 | +} | |
868 | +.ui-tabs.ui-tabs-left .ui-tabs-nav.ui-widget-header { | |
869 | + border-right:1px solid #DDDDDD; | |
870 | +} | |
871 | +.ui-tabs.ui-tabs-left { | |
872 | + border-right:1px solid #DDDDDD; | |
873 | +} | |
874 | +.ui-tabs.ui-tabs-left .ui-tabs-nav.ui-widget-header li.ui-state-active { | |
875 | + border-color:#DDDDDD transparent #DDDDDD #DDDDDD; | |
876 | +} | |
877 | +.ui-tabs.ui-tabs-left .ui-tabs-nav.ui-widget-header li { | |
878 | + border-radius:4px 0 0 4px; | |
879 | +} | |
880 | +.ui-tabs.ui-tabs-left .ui-tabs-nav.ui-widget-header li.ui-state-active { | |
881 | + margin-right:-1px; | |
882 | +} | |
883 | +.ui-tabs.ui-tabs-right .ui-tabs-nav.ui-widget-header { | |
884 | + border-left:1px solid #DDDDDD; | |
885 | +} | |
886 | +.ui-tabs.ui-tabs-right { | |
887 | + border-left:1px solid #DDDDDD; | |
888 | +} | |
889 | +.ui-tabs.ui-tabs-right .ui-tabs-nav.ui-widget-header li.ui-state-active { | |
890 | + border-color:#DDDDDD #DDDDDD #DDDDDD transparent; | |
891 | +} | |
892 | +.ui-tabs.ui-tabs-right .ui-tabs-nav.ui-widget-header li { | |
893 | + border-radius:0 4px 4px 0; | |
894 | +} | |
895 | +.ui-tabs.ui-tabs-right .ui-tabs-nav.ui-widget-header li.ui-state-active { | |
896 | + margin-left:-1px; | |
897 | +}/** AccordionPanel **/ | |
898 | +.ui-accordion .ui-accordion-header { | |
899 | + background:transparent; | |
900 | + box-shadow:none; | |
901 | +} | |
902 | +.ui-accordion .ui-accordion-header.ui-state-default { | |
903 | + margin-bottom:2px; | |
904 | + border:1px solid #E5E5E5; | |
905 | +} | |
906 | +.ui-accordion .ui-accordion-header.ui-state-active { | |
907 | + margin-bottom:1px; | |
908 | +} | |
909 | +.ui-accordion .ui-accordion-header .ui-icon { | |
910 | + display:none; | |
911 | +} | |
912 | +.ui-accordion .ui-accordion-header.ui-state-default a { | |
913 | + padding:8px 15px; | |
914 | + color:#0088CC; | |
915 | +} | |
916 | +.ui-accordion .ui-accordion-header a:hover { | |
917 | + color:#005580; | |
918 | +} | |
919 | +.ui-accordion .ui-accordion-content.ui-widget-content { | |
920 | + padding:9px 15px; | |
921 | +}/* Breadcrumb */ | |
922 | +.ui-breadcrumb { | |
923 | + padding:7px 14px; | |
924 | + margin:0 0 18px; | |
925 | + list-style:none; | |
926 | + background-color:#fbfbfb; | |
927 | + background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5); | |
928 | + background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5); | |
929 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5)); | |
930 | + background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5); | |
931 | + background-image:-o-linear-gradient(top, #ffffff, #f5f5f5); | |
932 | + background-image:linear-gradient(top, #ffffff, #f5f5f5); | |
933 | + background-repeat:repeat-x; | |
934 | + border:1px solid #ddd; | |
935 | + -webkit-border-radius:3px; | |
936 | + -moz-border-radius:3px; | |
937 | + border-radius:3px; | |
938 | +filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0); | |
939 | + -webkit-box-shadow:inset 0 1px 0 #ffffff; | |
940 | + -moz-box-shadow:inset 0 1px 0 #ffffff; | |
941 | + box-shadow:inset 0 1px 0 #ffffff; | |
942 | +} | |
943 | +.ui-breadcrumb li { | |
944 | + display:inline-block; | |
945 | +*display:inline; | |
946 | + text-shadow:0 1px 0 #ffffff; | |
947 | +*zoom:1; | |
948 | +} | |
949 | +.ui-breadcrumb .divider { | |
950 | + padding:0 5px; | |
951 | + color:#999999; | |
952 | +} | |
953 | +.ui-breadcrumb a { | |
954 | + color:#0088CC; | |
955 | + font-weight:normal; | |
956 | +}/* ProgressBar */ | |
957 | +.ui-progressbar.ui-widget-content { | |
958 | + height:18px; | |
959 | + margin-bottom:18px; | |
960 | + overflow:hidden; | |
961 | + background-color:#f7f7f7; | |
962 | + background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9); | |
963 | + background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9); | |
964 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); | |
965 | + background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9); | |
966 | + background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9); | |
967 | + background-image:linear-gradient(top, #f5f5f5, #f9f9f9); | |
968 | + background-repeat:repeat-x; | |
969 | + -webkit-border-radius:4px; | |
970 | + -moz-border-radius:4px; | |
971 | + border-radius:4px; | |
972 | +filter:progid:dximagetransform.microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0); | |
973 | + -webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); | |
974 | + -moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); | |
975 | + box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); | |
976 | +} | |
977 | +.ui-progressbar .ui-progressbar-value.ui-widget-header { | |
978 | + height:18px; | |
979 | + font-size:12px; | |
980 | + color:#ffffff; | |
981 | + text-align:center; | |
982 | + text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25); | |
983 | + border:0 none; | |
984 | + margin:0; | |
985 | + background-color:#0e90d2; | |
986 | + background-image:-moz-linear-gradient(top, #149bdf, #0480be); | |
987 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); | |
988 | + background-image:-webkit-linear-gradient(top, #149bdf, #0480be); | |
989 | + background-image:-o-linear-gradient(top, #149bdf, #0480be); | |
990 | + background-image:linear-gradient(top, #149bdf, #0480be); | |
991 | + background-image:-ms-linear-gradient(top, #149bdf, #0480be); | |
992 | + background-repeat:repeat-x; | |
993 | +filter:progid:dximagetransform.microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0); | |
994 | + -webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
995 | + -moz-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
996 | + box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
997 | + -webkit-box-sizing:border-box; | |
998 | + -moz-box-sizing:border-box; | |
999 | + -ms-box-sizing:border-box; | |
1000 | + box-sizing:border-box; | |
1001 | + -webkit-transition:width 0.6s ease; | |
1002 | + -moz-transition:width 0.6s ease; | |
1003 | + -ms-transition:width 0.6s ease; | |
1004 | + -o-transition:width 0.6s ease; | |
1005 | + transition:width 0.6s ease; | |
1006 | +}/** Dialog **/ | |
1007 | +.ui-dialog.ui-widget-content, | |
1008 | + { | |
1009 | + background-color:#ffffff; | |
1010 | + border:1px solid #999; | |
1011 | + border:1px solid rgba(0, 0, 0, 0.3); | |
1012 | +*border:1px solid #999; | |
1013 | + -webkit-border-radius:6px; | |
1014 | + -moz-border-radius:6px; | |
1015 | + border-radius:6px; | |
1016 | + -webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3); | |
1017 | + -moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3); | |
1018 | + box-shadow:0 3px 7px rgba(0, 0, 0, 0.3); | |
1019 | + -webkit-background-clip:padding-box; | |
1020 | + -moz-background-clip:padding-box; | |
1021 | + background-clip:padding-box; | |
1022 | +} | |
1023 | +.ui-dialog.ui-widget-content .ui-dialog-titlebar { | |
1024 | + padding:9px 15px; | |
1025 | + border-bottom:1px solid #eee; | |
1026 | + background-color:#ffffff; | |
1027 | +} | |
1028 | +.ui-dialog.ui-widget-content .ui-dialog-title { | |
1029 | + font-size:24px; | |
1030 | +} | |
1031 | +.ui-dialog.ui-widget-content .ui-dialog-content { | |
1032 | + padding:15px; | |
1033 | + font-size:14px; | |
1034 | +} | |
1035 | +.ui-dialog.ui-widget-content .ui-dialog-titlebar-close { | |
1036 | + margin-top:10px; | |
1037 | +} | |
1038 | +.ui-dialog.ui-widget-content .ui-dialog-titlebar-close:hover, .ui-dialog.ui-widget-content .ui-dialog-titlebar-close:focus, .ui-dialog.ui-widget-content .ui-dialog-titlebar-minimize:hover, .ui-dialog.ui-widget-content .ui-dialog-titlebar-minimize:focus, .ui-dialog.ui-widget-content .ui-dialog-titlebar-maximize:hover, .ui-dialog.ui-widget-content .ui-dialog-titlebar-maximize:focus { | |
1039 | + padding:1px; | |
1040 | +}/** DataTable **/ | |
1041 | +.ui-datatable-odd { | |
1042 | + background-color:#F9F9F9 | |
1043 | +}/** TabMenu **/ | |
1044 | +.ui-tabmenu { | |
1045 | +*position:relative; | |
1046 | +*z-index:2; | |
1047 | + margin-bottom:20px; | |
1048 | + overflow:visible; | |
1049 | + color:#555555; | |
1050 | +} | |
1051 | +.ui-tabmenu .ui-tabmenu-nav.ui-widget-header { | |
1052 | + min-height:38px; | |
1053 | + padding:0 20px; | |
1054 | + background-color:#f5f5f5; | |
1055 | +*background-color:#e6e6e6; | |
1056 | + background-image:-ms-linear-gradient(top, #ffffff, #e6e6e6); | |
1057 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); | |
1058 | + background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6); | |
1059 | + background-image:-o-linear-gradient(top, #ffffff, #e6e6e6); | |
1060 | + background-image:linear-gradient(top, #ffffff, #e6e6e6); | |
1061 | + background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6); | |
1062 | + background-repeat:repeat-x; | |
1063 | +} | |
1064 | +.ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem.ui-state-default { | |
1065 | + padding:5px 10px; | |
1066 | + color:#555555; | |
1067 | + text-decoration:none; | |
1068 | + text-shadow:0 1px 0 #ffffff; | |
1069 | + border:0 none; | |
1070 | + top:0; | |
1071 | + margin:0; | |
1072 | + font-weight:normal; | |
1073 | + -webkit-border-radius:0px; | |
1074 | + -moz-border-radius:0px; | |
1075 | + border-radius:0px; | |
1076 | +}/** Toolbar **/ | |
1077 | +.ui-toolbar.ui-widget-header { | |
1078 | + background-color:#fafafa; | |
1079 | + background-image:-moz-linear-gradient(top, #ffffff, #f2f2f2); | |
1080 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); | |
1081 | + background-image:-webkit-linear-gradient(top, #ffffff, #f2f2f2); | |
1082 | + background-image:-o-linear-gradient(top, #ffffff, #f2f2f2); | |
1083 | + background-image:linear-gradient(to bottom, #ffffff, #f2f2f2); | |
1084 | + background-repeat:repeat-x; | |
1085 | + border:1px solid #d4d4d4; | |
1086 | +}/** **/ | |
1087 | +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { | |
1088 | + color:#ffffff; | |
1089 | + text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25); | |
1090 | + background-color:#006dcc; | |
1091 | +*background-color:#0044cc; | |
1092 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); | |
1093 | + background-image:-webkit-linear-gradient(top, #0088cc, #0044cc); | |
1094 | + background-image:-o-linear-gradient(top, #0088cc, #0044cc); | |
1095 | + background-image:linear-gradient(to bottom, #0088cc, #0044cc); | |
1096 | + background-image:-moz-linear-gradient(top, #0088cc, #0044cc); | |
1097 | + background-repeat:repeat-x; | |
1098 | + border-color:#0044cc #0044cc #002a80; | |
1099 | + border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
1100 | +filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); | |
1101 | +filter:progid:dximagetransform.microsoft.gradient(enabled=false); | |
1102 | +} | |
1103 | +.ui-priority-primary:hover, .ui-priority-primary:active, .ui-priority-primary.active, .ui-priority-primary.disabled, .ui-priority-primary[disabled] { | |
1104 | + color:#ffffff; | |
1105 | + background-color:#0044cc; | |
1106 | +*background-color:#003bb3; | |
1107 | +} | |
1108 | +.ui-priority-primary:active, .ui-priority-primary.active { | |
1109 | + background-color:#003399 \9; | |
1110 | +}/** Menu **/ | |
1111 | +.ui-menu.ui-widget { | |
1112 | + min-width:160px; | |
1113 | + padding:5px 0; | |
1114 | + background-color:#ffffff; | |
1115 | + border:1px solid #ccc; | |
1116 | + border:1px solid rgba(0, 0, 0, 0.2); | |
1117 | +*border-right-width:2px; | |
1118 | +*border-bottom-width:2px; | |
1119 | + -webkit-border-radius:6px; | |
1120 | + -moz-border-radius:6px; | |
1121 | + border-radius:6px; | |
1122 | + -webkit-background-clip:padding-box; | |
1123 | + -moz-background-clip:padding; | |
1124 | + background-clip:padding-box; | |
1125 | +} | |
1126 | +.ui-menu.ui-widget a { | |
1127 | + display:block; | |
1128 | + clear:both; | |
1129 | + font-weight:normal; | |
1130 | + color:#333333; | |
1131 | + white-space:nowrap; | |
1132 | +} | |
1133 | +.ui-menu.ui-widget li.ui-corner-all, .ui-menu.ui-widget a.ui-corner-all { | |
1134 | + -webkit-border-radius:0; | |
1135 | + -moz-border-radius:0; | |
1136 | + border-radius:0; | |
1137 | +} | |
1138 | + | |
1139 | +.ui-menu.ui-widget li > .ui-menuitem-link { | |
1140 | + padding:0.3em 0; | |
1141 | + width:100%; | |
1142 | + border-width:1px 0px; | |
1143 | +} | |
1144 | +.ui-menu.ui-widget .ui-menu-list .ui-widget-header { | |
1145 | + border-width:1px 0px; | |
1146 | + width:100%; | |
1147 | +} | |
1148 | +.ui-menu.ui-widget li > .ui-menuitem-link.ui-state-hover { | |
1149 | + color:#ffffff; | |
1150 | + text-decoration:none; | |
1151 | + background-color:#0088cc; | |
1152 | + background-color:#0081c2; | |
1153 | + background-position:0px; | |
1154 | + background-image:-moz-linear-gradient(top, #0088cc, #0077b3); | |
1155 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); | |
1156 | + background-image:-webkit-linear-gradient(top, #0088cc, #0077b3); | |
1157 | + background-image:-o-linear-gradient(top, #0088cc, #0077b3); | |
1158 | + background-image:linear-gradient(to bottom, #0088cc, #0077b3); | |
1159 | + background-repeat:repeat-x; | |
1160 | +filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); | |
1161 | +} | |
1162 | +.ui-menu.ui-widget li > .ui-menuitem-link.ui-state-hover .ui-icon { | |
1163 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_ffffff_256x240.png"); | |
1164 | +} | |
1165 | +.ui-menu.ui-widget .ui-separator { | |
1166 | + height:1px; | |
1167 | + overflow:hidden; | |
1168 | + background-color:#e5e5e5; | |
1169 | + border:0 none; | |
1170 | + border-bottom:1px solid #ffffff; | |
1171 | + -webkit-box-shadow:none; | |
1172 | + -moz-box-shadow:none; | |
1173 | + box-shadow:none; | |
1174 | + -webkit-border-radius:0; | |
1175 | + -moz-border-radius:0; | |
1176 | + border-radius:0; | |
1177 | +} | |
1178 | +.ui-menu.ui-widget .ui-menuitem-link .ui-menuitem-icon { | |
1179 | + margin-left:0.3em; | |
1180 | + margin-right:-0.2em; | |
1181 | +} | |
1182 | +.ui-menu.ui-widget .ui-menuitem-link .ui-menuitem-text { | |
1183 | + margin-left:0.4em; | |
1184 | +} | |
1185 | +.ui-shadow { | |
1186 | + -webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2) !important; | |
1187 | + -moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2) !important; | |
1188 | + box-shadow:0 5px 10px rgba(0, 0, 0, 0.2) !important; | |
1189 | +} | |
1190 | +.ui-menu.ui-slidemenu .ui-shadow { | |
1191 | + -webkit-box-shadow:none !important; | |
1192 | + -moz-box-shadow:none !important; | |
1193 | + box-shadow:none !important; | |
1194 | +} | |
1195 | +.ui-panelmenu .ui-panelmenu-header a { | |
1196 | + color:#0088CC; | |
1197 | +} | |
1198 | +.ui-buttonset .ui-state-default { | |
1199 | + -webkit-border-radius:0; | |
1200 | + -moz-border-radius:0; | |
1201 | + border-radius:0; | |
1202 | +} | |
1203 | +.ui-buttonset .ui-corner-left.ui-state-default { | |
1204 | + -moz-border-radius-topleft:4px; | |
1205 | + -webkit-border-top-left-radius:4px; | |
1206 | + border-top-left-radius:4px; | |
1207 | + -moz-border-radius-bottomleft:4px; | |
1208 | + -webkit-border-bottom-left-radius:4px; | |
1209 | + border-bottom-left-radius:4px; | |
1210 | +} | |
1211 | +.ui-buttonset .ui-corner-right.ui-state-default { | |
1212 | + -moz-border-radius-topright:4px; | |
1213 | + -webkit-border-top-right-radius:4px; | |
1214 | + border-top-right-radius:4px; | |
1215 | + -moz-border-radius-bottomright:4px; | |
1216 | + -webkit-border-bottom-right-radius:4px; | |
1217 | + border-bottom-right-radius:4px; | |
1218 | +}/** MenuBar **/ | |
1219 | +.ui-menu.ui-menubar { | |
1220 | + padding-right:20px; | |
1221 | + padding-left:10px; | |
1222 | + background-color:#fafafa; | |
1223 | + background-image:-moz-linear-gradient(top, #ffffff, #f2f2f2); | |
1224 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); | |
1225 | + background-image:-webkit-linear-gradient(top, #ffffff, #f2f2f2); | |
1226 | + background-image:-o-linear-gradient(top, #ffffff, #f2f2f2); | |
1227 | + background-image:linear-gradient(to bottom, #ffffff, #f2f2f2); | |
1228 | + background-repeat:repeat-x; | |
1229 | + border:1px solid #d4d4d4; | |
1230 | + -webkit-border-radius:4px; | |
1231 | + -moz-border-radius:4px; | |
1232 | + border-radius:4px; | |
1233 | +filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); | |
1234 | + -webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065); | |
1235 | + -moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065); | |
1236 | + box-shadow:0 1px 4px rgba(0, 0, 0, 0.065); | |
1237 | +} | |
1238 | +.ui-menu.ui-menubar .ui-menu-parent .ui-menu-child { | |
1239 | + padding:5px 0; | |
1240 | +} | |
1241 | + | |
1242 | + | |
1243 | +/* Overrides CSS para o padrao visual Portal ANS 2014 */ | |
1244 | + | |
1245 | +body { | |
1246 | + margin:0; | |
1247 | + padding:0; | |
1248 | +} | |
1249 | + | |
1250 | +.ui-icon { | |
1251 | + width:16px; | |
1252 | + height:16px; | |
1253 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_ffffff_256x240.png"); | |
1254 | +} | |
1255 | +.ui-widget-content .ui-icon { | |
1256 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_ffffff_256x240.png"); | |
1257 | +} | |
1258 | +.ui-widget-header .ui-icon { | |
1259 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
1260 | +} | |
1261 | +.ui-state-default .ui-icon { | |
1262 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_ffffff_256x240.png"); | |
1263 | +} | |
1264 | +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon { | |
1265 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_ffffff_256x240.png"); | |
1266 | +} | |
1267 | +.ui-state-active .ui-icon { | |
1268 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
1269 | +} | |
1270 | +.ui-state-highlight .ui-icon { | |
1271 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_ffffff_256x240.png"); | |
1272 | +} | |
1273 | +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon { | |
1274 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
1275 | +} | |
1276 | + | |
1277 | +.ans-header { | |
1278 | + width: 100%; | |
1279 | + height: 100px; | |
1280 | +} | |
1281 | + | |
1282 | +.ans-header img { | |
1283 | + width: 309px; | |
1284 | + height: 75px; | |
1285 | + float: left; | |
1286 | + margin-top:15px; | |
1287 | + margin-left: 25px; | |
1288 | +} | |
1289 | + | |
1290 | +.ans-header-titulo { | |
1291 | + float: left; | |
1292 | + margin: 42px 0 0 50px; | |
1293 | +} | |
1294 | + | |
1295 | +.ans-titulo-sistemas { | |
1296 | + font-family: 'helvetica_57_condensed', Arial, Helvetica; font-size: 24px; color: #79a12f; font-weight:normal; | |
1297 | +} | |
1298 | + | |
1299 | +.ans-barra-sistemas-logout {float:right; clear: both; margin:1em 2em 1em 1em; font-size:.9em;} | |
1300 | +.ans-corpo-admp { | |
1301 | + width:97%; | |
1302 | + margin:auto; | |
1303 | +} | |
1304 | + | |
1305 | +h1 { | |
1306 | + font-size:1.76em; | |
1307 | + color:#79a12f; | |
1308 | + font-weight:bold; | |
1309 | +} | |
1310 | + | |
1311 | +h2 { | |
1312 | + font-size:1.2em; | |
1313 | + color:#79a12f; | |
1314 | + font-weight:bold; | |
1315 | +} | |
1316 | +h3 { | |
1317 | + font-size:1.07em; | |
1318 | + color:#6d6d6d; | |
1319 | + font-weight:bold; | |
1320 | +} | |
1321 | +h4 { | |
1322 | + font-size:1em; | |
1323 | + color:#6d6d6d; | |
1324 | + font-weight:bold; | |
1325 | +} | |
1326 | +h5 { | |
1327 | + font-size:1em; | |
1328 | + color:#6d6d6d; | |
1329 | + font-weight:normal; | |
1330 | +} | |
1331 | +h6 { | |
1332 | + font-size:0.85em; | |
1333 | + color:#6d6d6d; | |
1334 | + font-style:italic; | |
1335 | +} | |
1336 | +h1, h2, h3 { | |
1337 | + margin-top:.2em; | |
1338 | +} | |
1339 | + | |
1340 | +a, | |
1341 | +.ui-commandlink, | |
1342 | +.ui-tabs.ui-widget.ui-widget-content.ui-corner-all.ui-hidden-container.ui-tabs-top a | |
1343 | +{ | |
1344 | + color:#235f6e; | |
1345 | + text-decoration: none; | |
1346 | +} | |
1347 | + | |
1348 | +.ui-breadcrumb { | |
1349 | + padding:7px 14px; | |
1350 | + margin:0 0 18px; | |
1351 | + list-style:none; | |
1352 | + background-color:#fff; | |
1353 | + background-image:-moz-linear-gradient(top, #ffffff, #ffffff); | |
1354 | + background-image:-ms-linear-gradient(top, #ffffff, #ffffff); | |
1355 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#ffffff)); | |
1356 | + background-image:-webkit-linear-gradient(top, #ffffff, #ffffff); | |
1357 | + background-image:-o-linear-gradient(top, #ffffff, #ffffff); | |
1358 | + background-image:linear-gradient(top, #ffffff, #ffffff); | |
1359 | + background-repeat:repeat-x; | |
1360 | + border:1px solid #ffffff; | |
1361 | + -webkit-border-radius:3px; | |
1362 | + -moz-border-radius:3px; | |
1363 | + border-radius:3px; | |
1364 | +filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#ffffff', GradientType=0); | |
1365 | + -webkit-box-shadow:inset 0 1px 0 #ffffff; | |
1366 | + -moz-box-shadow:inset 0 1px 0 #ffffff; | |
1367 | + box-shadow:inset 0 1px 0 #ffffff; | |
1368 | +} | |
1369 | + | |
1370 | +.ui-breadcrumb { | |
1371 | + padding: 7px 0px; | |
1372 | +} | |
1373 | + | |
1374 | +.ui-breadcrumb .ui-menuitem-link.ui-corner-all.ui-icon.ui-icon-home { | |
1375 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
1376 | + margin:5px; | |
1377 | +} | |
1378 | + | |
1379 | + | |
1380 | +.ui-breadcrumb .ui-breadcrumb-chevron.ui-icon.ui-icon-triangle-1-e { | |
1381 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
1382 | + margin:5px; | |
1383 | +} | |
1384 | +.ui-breadcrumb span.ui-menuitem-text { | |
1385 | + color:#235f6e; | |
1386 | + font-weight:normal; | |
1387 | +} | |
1388 | + | |
1389 | +a:hover, | |
1390 | +.ui-commandlink:hover { | |
1391 | + color:#235f6e; | |
1392 | + text-decoration: underline; | |
1393 | +} | |
1394 | + | |
1395 | +.ui-tabs-panels { | |
1396 | + background-color:#fff; | |
1397 | +} | |
1398 | + | |
1399 | +.ui-inputtext:focus, | |
1400 | +.ui-inputfield:focus, | |
1401 | +.ui-inputfield.ui-inputtext.ui-widget.ui-state-default.ui-corner-all:focus, | |
1402 | +.ui-autocomplete-multiple-container.ui-widget.ui-inputfield.ui-state-default.ui-corner-all.ui-state-focus, | |
1403 | +.ui-selectlistbox-filter.ui-inputfield.ui-widget.ui-state-default.ui-corner-all.ui-state-focus | |
1404 | + { | |
1405 | + border-color: #6a9327; | |
1406 | + outline: 0; | |
1407 | + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 153, 51, 0.6); | |
1408 | + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 153, 51, 0.6); | |
1409 | +} | |
1410 | + | |
1411 | +.ui-button, | |
1412 | +.ui-button-text-icon-left, | |
1413 | +.ui-state-highlight, | |
1414 | +.ui-widget-content .ui-state-highlight, | |
1415 | +.ui-widget-header .ui-state-highlight, | |
1416 | +.ui-chkbox-icon, | |
1417 | +.ui-slider-handle.ui-state-default, | |
1418 | +.ui-inputswitch-handle.ui-state-default, | |
1419 | +.ui-paginator-page.ui-state-default.ui-corner-all, | |
1420 | +.ui-paginator-next.ui-state-default.ui-corner-all, | |
1421 | +.ui-paginator-last.ui-state-default.ui-corner-all, | |
1422 | +.ui-treenode-content.ui-tree-selectable.ui-state-default.ui-corner-all, | |
1423 | +.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-only, | |
1424 | +.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-left, | |
1425 | +.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-all, | |
1426 | +.ui-selectonemenu-trigger.ui-state-default.ui-corner-right, | |
1427 | +.ui-log-header.ui-widget-header.ui-helper-clearfix.ui-draggable-handle, | |
1428 | +.ui-fieldset-legend.ui-corner-all.ui-state-default, | |
1429 | +.ui-notificationbar.ui-widget.ui-widget-content.top, | |
1430 | +.ui-panel-titlebar-icon.ui-corner-all.ui-state-default, | |
1431 | +.ui-state-default.ui-lightbox-nav-left.ui-corner-right.ui-helper-hidden, | |
1432 | +.ui-state-default.ui-lightbox-nav-right.ui-corner-left.ui-helper-hidden, | |
1433 | +.ui-icon-closethick, | |
1434 | +.ui-commandlink.ui-widget, | |
1435 | +.ui-paginator-first.ui-state-default.ui-corner-all, | |
1436 | +.ui-paginator-prev.ui-state-default.ui-corner-all, | |
1437 | +.ui-selectcheckboxmenu-trigger.ui-state-default.ui-corner-right, | |
1438 | +.ui-selectcheckboxmenu-header.ui-helper-clearfix, | |
1439 | +.ui-menu.ui-menu-dynamic .ui-menuitem.ui-widget.ui-corner-all, | |
1440 | +.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-icon-only, | |
1441 | +.ui-widget.ui-panelmenu-header.ui-state-default.ui-corner-all a, | |
1442 | +.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-left, | |
1443 | +.ui-datepicker-header.ui-widget-header.ui-helper-clearfix, | |
1444 | +.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-right, | |
1445 | +.ui-timepicker-div .ui-widget-header.ui-helper-clearfix.ui-corner-all | |
1446 | +{ | |
1447 | + color: #ffffff; | |
1448 | + background-color: #79A12F; | |
1449 | + text-shadow:0 0px 0px rgba(255, 255, 255, 0.75); | |
1450 | + cursor:pointer; | |
1451 | + *background-color:#79A12F; | |
1452 | + background-image:-ms-linear-gradient(top, #79A12F, #79A12F); | |
1453 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#79A12F), to(#79A12F)); | |
1454 | + background-image:-webkit-linear-gradient(top, #79A12F, #79A12F); | |
1455 | + background-image:-o-linear-gradient(top, #79A12F, #79A12F); | |
1456 | + background-image:linear-gradient(top, #79A12F, #79A12F); | |
1457 | + background-image:-moz-linear-gradient(top, #79A12F, #79A12F); | |
1458 | + background-repeat:repeat-x; | |
1459 | + border:1px solid #79A02E; | |
1460 | + *border:0; | |
1461 | + border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
1462 | + border-color:#79A02E #79A02E #79A02E; | |
1463 | + border-bottom-color:#79A02E; | |
1464 | + -webkit-border-radius:4px; | |
1465 | + -moz-border-radius:4px; | |
1466 | + border-radius:4px; | |
1467 | + filter:progid:dximagetransform.microsoft.gradient(startColorstr='#79A02E', endColorstr='#79A02E', GradientType=0); | |
1468 | + filter:progid:dximagetransform.microsoft.gradient(enabled=false); | |
1469 | + *zoom:1; | |
1470 | + -webkit-box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1471 | + -moz-box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1472 | + box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1473 | + font-weight:normal; | |
1474 | +} | |
1475 | + | |
1476 | +.ui-button:hover, | |
1477 | +.ui-button:focus, | |
1478 | +.ui-button:active, | |
1479 | +.ui-autocomplete-list-item:hover, | |
1480 | +.ui-slider-handle:hover, | |
1481 | +.ui-inputswitch-handle:hover, | |
1482 | +.ui-paginator-page.ui-state-default.ui-state-active.ui-corner-all, | |
1483 | +.ui-paginator-first.ui-state-default.ui-corner-all.ui-state-disabled, | |
1484 | +.ui-paginator-prev.ui-state-default.ui-corner-all.ui-state-disabled, | |
1485 | +.ui-paginator-page.ui-state-default.ui-corner-all:hover, | |
1486 | +.ui-paginator-next.ui-state-default.ui-corner-all:hover, | |
1487 | +.ui-paginator-last.ui-state-default.ui-corner-all:hover, | |
1488 | +.ui-picklist-item.ui-corner-all.ui-sortable-handle.ui-state-hover, | |
1489 | +.ui-orderlist-item.ui-corner-all.ui-sortable-handle.ui-state-hover, | |
1490 | +.ui-datepicker-next.ui-corner-all, | |
1491 | +.ui-datepicker-prev.ui-corner-all, | |
1492 | +.ui-datepicker-days-cell-over.ui-datepicker-current-day.ui-datepicker-today .ui-state-default.ui-state-highlight.ui-state-active, | |
1493 | +.ui-datepicker-days-cell-over.ui-datepicker-today .ui-state-default.ui-state-highlight, | |
1494 | +.ui-datepicker-current-day .ui-state-default.ui-state-active, | |
1495 | +.ui-selectonemenu-item.ui-selectonemenu-list-item.ui-corner-all:hover, | |
1496 | +.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-icon-left:hover, | |
1497 | +.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-only:hover, | |
1498 | +.ui-log-button:hover, | |
1499 | +.ui-selectlistbox-item.ui-corner-all.ui-state-hover:hover, | |
1500 | +.ui-dialog-titlebar-icon.ui-dialog-titlebar-close.ui-corner-all, | |
1501 | +.ui-fieldset-legend.ui-corner-all.ui-state-default:hover, | |
1502 | +.ui-panel-titlebar-icon.ui-corner-all.ui-state-default:hover, | |
1503 | +.ui-commandlink.ui-widget:hover, | |
1504 | +.ui-selectcheckboxmenu-close.ui-corner-all:hover, | |
1505 | +.ui-multiselectlistbox-item.ui-state-hover, | |
1506 | +.ui-menu.ui-menu-dynamic .ui-menuitem.ui-widget.ui-corner-all:hover, | |
1507 | +.ui-tagcloud.ui-widget.ui-widget-content.ui-corner-all a:hover, | |
1508 | +.ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-icon-only:hover, | |
1509 | +.ui-widget.ui-panelmenu-header.ui-state-default.ui-state-active.ui-corner-top a, | |
1510 | +.ui-button.ui-widget.ui-state-default.ui-button-text-only.ui-state-active | |
1511 | + { | |
1512 | + color: #ffffff; | |
1513 | + background-color: #658B1E; | |
1514 | + text-shadow:0 0px 0px rgba(255, 255, 255, 0.75); | |
1515 | + cursor:pointer; | |
1516 | + *background-color:#658B1E; | |
1517 | + background-image:-ms-linear-gradient(top, #658B1E, #658B1E); | |
1518 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#658B1E), to(#658B1E)); | |
1519 | + background-image:-webkit-linear-gradient(top, #658B1E, #658B1E); | |
1520 | + background-image:-o-linear-gradient(top, #658B1E, #658B1E); | |
1521 | + background-image:linear-gradient(top, #658B1E, #658B1E); | |
1522 | + background-image:-moz-linear-gradient(top, #658B1E, #658B1E); | |
1523 | + background-repeat:repeat-x; | |
1524 | + border:1px solid #79A02E; | |
1525 | + *border:0; | |
1526 | + border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
1527 | + border-color:#79A02E #79A02E #79A02E; | |
1528 | + border-bottom-color:#79A02E; | |
1529 | + -webkit-border-radius:4px; | |
1530 | + -moz-border-radius:4px; | |
1531 | + border-radius:4px; | |
1532 | + filter:progid:dximagetransform.microsoft.gradient(startColorstr='#79A02E', endColorstr='#79A02E', GradientType=0); | |
1533 | + filter:progid:dximagetransform.microsoft.gradient(enabled=false); | |
1534 | + *zoom:1; | |
1535 | + -webkit-box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1536 | + -moz-box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1537 | + box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1538 | +} | |
1539 | + | |
1540 | +.ContentSideSections.Implementation .ui-commandlink.ui-widget { | |
1541 | + padding:4px; | |
1542 | + background-image: none; | |
1543 | +} | |
1544 | + | |
1545 | +.ui-commandlink.ui-widget a { | |
1546 | + padding:4px; | |
1547 | +} | |
1548 | + | |
1549 | +.ui-commandlink.ui-widget, .ui-commandlink.ui-widget:hover, td.ui-commandlink.ui-widget a td.ui-commandlink.ui-widget a { | |
1550 | + width:16px; | |
1551 | + height:16px; | |
1552 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_ffffff_256x240.png"); | |
1553 | +} | |
1554 | + | |
1555 | +.ui-radiobutton-icon, .ui-chkbox-icon { | |
1556 | + color: #ffffff; | |
1557 | + background-color: #ffffff !important; | |
1558 | + text-shadow:0 0px 0px rgba(255, 255, 255, 0.75); | |
1559 | + cursor:pointer; | |
1560 | + *background-color:#ffffff !important; | |
1561 | + background-image:-ms-linear-gradient(top, #ffffff, #ffffff); | |
1562 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#ffffff)); | |
1563 | + background-image:-webkit-linear-gradient(top, #ffffff, #ffffff); | |
1564 | + background-image:-o-linear-gradient(top, #ffffff, #ffffff); | |
1565 | + background-image:linear-gradient(top, #ffffff, #ffffff); | |
1566 | + background-image:-moz-linear-gradient(top, #ffffff, #ffffff); | |
1567 | + background-repeat:repeat-x; | |
1568 | + border:1px solid #79A02E; | |
1569 | + *border:1; | |
1570 | + border-color:rgba(121, 160, 46, 0.1) rgba(121, 160, 46, 0.1) rgba(121, 160, 46, 0.25); | |
1571 | + border-color:#79A02E #79A02E #79A02E; | |
1572 | + border-bottom-color:#79A02E; | |
1573 | + filter:progid:dximagetransform.microsoft.gradient(startColorstr='#79A02E', endColorstr='#79A02E', GradientType=0); | |
1574 | + filter:progid:dximagetransform.microsoft.gradient(enabled=false); | |
1575 | + *zoom:1; | |
1576 | + -webkit-box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1577 | + -moz-box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1578 | + box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1579 | + font-weight:normal; | |
1580 | +} | |
1581 | + | |
1582 | +.ui-radiobutton-icon { | |
1583 | + margin-left:0 !important; | |
1584 | +} | |
1585 | + | |
1586 | +.ui-radiobutton-icon.ui-icon.ui-icon-bullet { | |
1587 | + backgorund-color:#79A02E; | |
1588 | +} | |
1589 | + | |
1590 | +.ui-menu.ui-menubar.ui-megamenu.ui-widget.ui-widget-content.ui-corner-all.ui-helper-clearfix, | |
1591 | +.ui-widget-content.ui-menu-list.ui-corner-all.ui-helper-clearfix.ui-menu-child.ui-shadow, | |
1592 | +.ui-menu.ui-widget.ui-widget-content.ui-corner-all.ui-helper-clearfix | |
1593 | + { | |
1594 | + background-color: #097189 !important; | |
1595 | + color: #fff; | |
1596 | + text-shadow:0 0px 0px rgba(255, 255, 255, 0.75); | |
1597 | + font-weight:normal; | |
1598 | + -webkit-border-radius:0px; | |
1599 | + -moz-border-radius:0px; | |
1600 | + border-radius:0px; | |
1601 | + background-color:none !important; | |
1602 | + background-image:none !important; | |
1603 | +} | |
1604 | + | |
1605 | + | |
1606 | +.ui-datatable th, | |
1607 | +.ui-datagrid-header.ui-widget-header.ui-corner-top, | |
1608 | +.ui-datalist-header.ui-widget-header.ui-corner-top, | |
1609 | +.ui-datascroller-header.ui-widget-header.ui-corner-top, | |
1610 | +.ui-state-default.ui-resizable-column, | |
1611 | +.ui-menu-list.ui-helper-reset li.ui-widget-header.ui-corner-all, | |
1612 | +.ui-fieldset.ui-widget.ui-widget-content.ui-corner-all.ui-hidden-container.ui-droppable .ui-datatable-tablewrapper th | |
1613 | +{ | |
1614 | + background-color: #3c899d !important; | |
1615 | + color: #fff; | |
1616 | + text-shadow:0 0px 0px rgba(255, 255, 255, 0.75); | |
1617 | + font-weight:normal; | |
1618 | + -webkit-border-radius:0px; | |
1619 | + -moz-border-radius:0px; | |
1620 | + border-radius:0px; | |
1621 | + background-color:none !important; | |
1622 | + background-image:none !important; | |
1623 | +} | |
1624 | + | |
1625 | +.ui-widget-header.ui-corner-all h3 { | |
1626 | + color:#ffffff; | |
1627 | +} | |
1628 | + | |
1629 | +.ui-menuitem-link.ui-submenu-link.ui-corner-all.ui-state-hover, | |
1630 | +.ui-menuitem-link.ui-corner-all.ui-state-hover | |
1631 | + { | |
1632 | + background-color: #3c899d !important; | |
1633 | + color: #fff; | |
1634 | + text-shadow:0 0px 0px rgba(255, 255, 255, 0.75); | |
1635 | + font-weight:normal; | |
1636 | + -webkit-border-radius:0px; | |
1637 | + -moz-border-radius:0px; | |
1638 | + border-radius:0px; | |
1639 | + background-color:none !important; | |
1640 | + background-image:none !important; | |
1641 | + *zoom:1; | |
1642 | + -webkit-box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1643 | + -moz-box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1644 | + box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1645 | + font-weight:normal; | |
1646 | +} | |
1647 | + | |
1648 | +.ui-menuitem-text { | |
1649 | + color:#ffffff; | |
1650 | +} | |
1651 | + | |
1652 | +.ui-datagrid .ui-paginator { | |
1653 | + font-weight:normal; | |
1654 | +} | |
1655 | + | |
1656 | +.ui-paginator.ui-paginator-top.ui-widget-header, | |
1657 | +.ui-paginator.ui-paginator-bottom.ui-widget-header.ui-corner-bottom, | |
1658 | +.ui-treetable-header.ui-widget-header.ui-corner-top { | |
1659 | + background-color:#fff; | |
1660 | +} | |
1661 | + | |
1662 | +.ui-accordion-header.ui-helper-reset.ui-state-default.ui-state-active.ui-corner-top, | |
1663 | +.ui-accordion-header.ui-helper-reset.ui-state-default.ui-corner-all { | |
1664 | + color: #235F6E; | |
1665 | + background-color: #F5F5F5; | |
1666 | + border-color: #DDD; | |
1667 | + padding: 0.5em 0.5em 0.5em 1.2em; | |
1668 | +} | |
1669 | + | |
1670 | +.ui-accordion-content.ui-helper-reset.ui-widget-content { | |
1671 | + color: #333; | |
1672 | + background-color: #FFFFFF; | |
1673 | + border-color: #DDD; | |
1674 | +} | |
1675 | + | |
1676 | +.ui-messages-error.ui-corner-all, | |
1677 | +.ui-message.ui-message-error.ui-widget.ui-corner-all.ui-message-icon-only.ui-helper-clearfix, | |
1678 | +.ui-log-header.ui-widget-header.ui-helper-clearfix.ui-draggable-handle, | |
1679 | +.ui-log.ui-widget.ui-widget-content.ui-corner-all.ui-draggable, | |
1680 | +.ui-log-button:hover, | |
1681 | +.ui-password-panel.ui-widget.ui-state-highlight.ui-corner-all.ui-helper-hidden.ui-password-panel-inline, | |
1682 | +.ui-password-panel.ui-widget.ui-state-highlight.ui-corner-all.ui-helper-hidden.ui-password-panel-overlay.ui-shadow, | |
1683 | +.ui-carousel.ui-widget.ui-widget-content.ui-corner-all, | |
1684 | +.ui-panel.ui-widget.ui-widget-content.ui-corner-all, | |
1685 | +.ui-datagrid.ui-widget, | |
1686 | +.ui-datagrid-header.ui-widget-header.ui-corner-top, | |
1687 | +.ui-paginator.ui-paginator-bottom.ui-widget-header.ui-corner-bottom, | |
1688 | +.ui-paginator.ui-paginator-top.ui-widget-header.ui-corner-top, | |
1689 | +.fc-agendaWeek-button.ui-button.ui-state-default, | |
1690 | +.fc-day.ui-widget-content.fc-thu.fc-today.ui-state-highlight, | |
1691 | +.fc-day-grid-event.fc-event.fc-start.fc-end.fc-draggable, | |
1692 | +.fc-day-grid-event.fc-event.fc-not-start.fc-end.fc-draggable, | |
1693 | +.fc-day-grid-event.fc-event.fc-start.fc-not-end.fc-draggable, | |
1694 | +.ui-tree-container, | |
1695 | +.ui-treetable-header.ui-widget-header.ui-corner-top { | |
1696 | + -webkit-border-radius:0px; | |
1697 | + -moz-border-radius:0px; | |
1698 | + border-radius:0px; | |
1699 | +} | |
1700 | + | |
1701 | +.fc-month-button.ui-button.ui-state-default.ui-corner-left, .fc-prev-button.ui-button.ui-state-default.ui-corner-left { | |
1702 | + -webkit-border-top-right-radius:0px; | |
1703 | + -moz-border-top-right-radius:0px; | |
1704 | + border-top-right-radius:0px; | |
1705 | + -webkit-border-bottom-right-radius:0px; | |
1706 | + -moz-border-bottom-right-radius:0px; | |
1707 | + border-bottom-right-radius:0px; | |
1708 | +} | |
1709 | + | |
1710 | + | |
1711 | +.fc-agendaDay-button.ui-button.ui-state-default.ui-corner-right, .fc-next-button.ui-button.ui-state-default.ui-corner-right { | |
1712 | + -webkit-border-top-left-radius:0px; | |
1713 | + -moz-border-top-left-radius:0px; | |
1714 | + border-top-left-radius:0px; | |
1715 | + -webkit-border-bottom-left-radius:0px; | |
1716 | + -moz-border-bottom-left-radius:0px; | |
1717 | + border-bottom-left-radius:0px; | |
1718 | +} | |
1719 | + | |
1720 | +.ui-dialog-titlebar.ui-widget-header.ui-helper-clearfix.ui-corner-top.ui-draggable-handle { | |
1721 | + color: #ffffff; | |
1722 | + background-color: #79A12F; | |
1723 | + text-shadow:0 0px 0px rgba(255, 255, 255, 0.75); | |
1724 | + cursor:pointer; | |
1725 | + *background-color:#79A12F; | |
1726 | + background-image:-ms-linear-gradient(top, #79A12F, #79A12F); | |
1727 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#79A12F), to(#79A12F)); | |
1728 | + background-image:-webkit-linear-gradient(top, #79A12F, #79A12F); | |
1729 | + background-image:-o-linear-gradient(top, #79A12F, #79A12F); | |
1730 | + background-image:linear-gradient(top, #79A12F, #79A12F); | |
1731 | + background-image:-moz-linear-gradient(top, #79A12F, #79A12F); | |
1732 | + background-repeat:repeat-x; | |
1733 | + border:1px solid #79A02E; | |
1734 | +} | |
1735 | + | |
1736 | +.ui-separator.ui-state-default.ui-corner-all { | |
1737 | + border:0 none; | |
1738 | + border-top-color: #DDD; | |
1739 | + height:1px; | |
1740 | + overflow:hidden; | |
1741 | + background-color:#e5e5e5; | |
1742 | + -webkit-box-shadow:none; | |
1743 | + -moz-box-shadow:none; | |
1744 | + box-shadow:none; | |
1745 | + -webkit-border-radius:0; | |
1746 | + -moz-border-radius:0; | |
1747 | + border-radius:0; | |
1748 | +} | |
1749 | + | |
1750 | +.ui-inplace-display.ui-state-highlight:hover { | |
1751 | + padding:5px; | |
1752 | +} | |
1753 | + | |
1754 | +.ui-carousel .ui-carousel-header, | |
1755 | +.ui-carousel .ui-carousel-footer, | |
1756 | +.ui-panel-titlebar.ui-widget-header.ui-helper-clearfix.ui-corner-all | |
1757 | + { | |
1758 | + color:#ffffff; | |
1759 | + background-color: #79A12F; | |
1760 | + text-shadow:0 0px 0px rgba(255, 255, 255, 0.75); | |
1761 | + cursor:pointer; | |
1762 | + *background-color:#79A12F; | |
1763 | + -webkit-border-radius:0px; | |
1764 | + -moz-border-radius:0px; | |
1765 | + border-radius:0px; | |
1766 | +} | |
1767 | + | |
1768 | + | |
1769 | +.ui-carousel .ui-carousel-viewport ul li { | |
1770 | + margin: 1px; | |
1771 | + padding: 0px; | |
1772 | + float: left; | |
1773 | + -webkit-border-radius:0px; | |
1774 | + -moz-border-radius:0px; | |
1775 | + border-radius:0px; | |
1776 | +} | |
1777 | + | |
1778 | +.ui-tree-toggler.ui-icon.ui-icon-triangle-1-e, | |
1779 | +.ui-tree-toggler.ui-icon.ui-icon-triangle-1-s, | |
1780 | +.ui-treetable-toggler.ui-icon.ui-icon-triangle-1-e.ui-c, | |
1781 | +.ui-treetable-toggler.ui-icon.ui-c.ui-icon-triangle-1-s { | |
1782 | + width:16px; | |
1783 | + height:16px; | |
1784 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
1785 | +} | |
1786 | + | |
1787 | +.ui-corner-all .ui-icon { | |
1788 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_ffffff_256x240.png"); | |
1789 | +} | |
1790 | + | |
1791 | +.ui-chkbox-icon.ui-icon.ui-c.ui-icon-check, | |
1792 | +.ui-chkbox-icon.ui-icon.ui-icon-check, | |
1793 | +.ui-radiobutton-icon.ui-icon.ui-icon-bullet { | |
1794 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
1795 | +} | |
1796 | + | |
1797 | +.ui-datepicker .ui-datepicker-calendar .ui-state-default { | |
1798 | + color:#235f6e; | |
1799 | + text-decoration: none; | |
1800 | + font-weight:normal; | |
1801 | +} | |
1802 | + | |
1803 | +.ui-buttonset .ui-state-default.ui-state-hover, | |
1804 | +.ui-button.ui-widget.ui-state-default.ui-button-text-only.ui-state-active, | |
1805 | +.ui-menu.ui-menu-dynamic .ui-menuitem.ui-widget.ui-corner-all, | |
1806 | +.ui-menu.ui-menu-dynamic .ui-menuitem.ui-widget.ui-corner-all:hover { | |
1807 | + -webkit-border-radius:0; | |
1808 | + -moz-border-radius:0; | |
1809 | + border-radius:0; | |
1810 | +} | |
1811 | + | |
1812 | +.ui-button.ui-widget.ui-state-default.ui-button-text-only.ui-corner-left.ui-state-hover, | |
1813 | +.ui-button.ui-widget.ui-state-default.ui-button-text-only.ui-corner-left.ui-state-focus, | |
1814 | +.ui-button.ui-widget.ui-state-default.ui-button-text-only.ui-corner-left.ui-state-active, | |
1815 | +.ui-button.ui-widget.ui-state-default.ui-corner-left.ui-button-text-icon-left.ui-state-hover, | |
1816 | +.ui-button.ui-widget.ui-state-default.ui-corner-left.ui-button-text-icon-left.ui-state-focus, | |
1817 | +.ui-button.ui-widget.ui-state-default.ui-corner-left.ui-button-text-icon-left.ui-state-active | |
1818 | + { | |
1819 | + -moz-border-radius-topleft:4px; | |
1820 | + -webkit-border-top-left-radius:4px; | |
1821 | + border-top-left-radius:4px; | |
1822 | + -moz-border-radius-bottomleft:4px; | |
1823 | + -webkit-border-bottom-left-radius:4px; | |
1824 | + border-bottom-left-radius:4px; | |
1825 | + -moz-border-radius-topright:0px; | |
1826 | + -webkit-border-top-right-radius:0px; | |
1827 | + border-top-right-radius:0px; | |
1828 | + -moz-border-radius-bottomright:0px; | |
1829 | + -webkit-border-bottom-right-radius:0px; | |
1830 | + border-bottom-right-radius:0px; | |
1831 | +} | |
1832 | + | |
1833 | +.ui-button.ui-widget.ui-state-default.ui-button-text-only.ui-corner-right.ui-state-hover, | |
1834 | +.ui-button.ui-widget.ui-state-default.ui-button-text-only.ui-corner-right.ui-state-focus, | |
1835 | +.ui-button.ui-widget.ui-state-default.ui-button-text-only.ui-corner-right.ui-state-active, | |
1836 | +.ui-button.ui-widget.ui-state-default.ui-corner-left.ui-button-text-icon-right.ui-state-hover, | |
1837 | +.ui-button.ui-widget.ui-state-default.ui-corner-left.ui-button-text-icon-right.ui-state-focus | |
1838 | + { | |
1839 | + -moz-border-radius-topright:4px; | |
1840 | + -webkit-border-top-right-radius:4px; | |
1841 | + border-top-right-radius:4px; | |
1842 | + -moz-border-radius-bottomright:4px; | |
1843 | + -webkit-border-bottom-right-radius:4px; | |
1844 | + border-bottom-right-radius:4px; | |
1845 | +} | |
1846 | + | |
1847 | +.ui-menu.ui-menu-dynamic.ui-widget.ui-widget-content.ui-corner-all.ui-helper-clearfix.ui-shadow { | |
1848 | + background-color: #fff !important; | |
1849 | + text-shadow: 0px 0px 0px rgba(255, 255, 255, 0.75); | |
1850 | + font-weight: normal; | |
1851 | + border-radius: 4px; | |
1852 | + background-image: none !important; | |
1853 | + padding-right:2px; | |
1854 | +} | |
1855 | + | |
1856 | + | |
1857 | +.ui-selectcheckboxmenu-label.ui-corner-all { | |
1858 | + cursor: text; | |
1859 | + background: none repeat scroll 0% 0% #FFF; | |
1860 | + border: 1px solid #CCC; | |
1861 | + border-radius: 3px; | |
1862 | + box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.075) inset; | |
1863 | + transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s; | |
1864 | +} | |
1865 | + | |
1866 | +.ui-panelmenu-content.ui-widget-content.ui-helper-hidden .ui-menuitem-link.ui-corner-all a { | |
1867 | + color: #79A02E !important; | |
1868 | + background-color: #ffffff; | |
1869 | + text-shadow:0 0px 0px rgba(255, 255, 255, 0.75); | |
1870 | + cursor:pointer; | |
1871 | + *background-color:#ffffff; | |
1872 | + background-image:-ms-linear-gradient(top, #ffffff, #ffffff); | |
1873 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#ffffff)); | |
1874 | + background-image:-webkit-linear-gradient(top, #ffffff, #ffffff); | |
1875 | + background-image:-o-linear-gradient(top, #ffffff, #ffffff); | |
1876 | + background-image:linear-gradient(top, #ffffff, #ffffff); | |
1877 | + background-image:-moz-linear-gradient(top, #ffffff, #ffffff); | |
1878 | + background-repeat:repeat-x; | |
1879 | + border:0px solid #79A02E; | |
1880 | + *border:0; | |
1881 | + border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
1882 | + border-color:#79A02E #79A02E #79A02E; | |
1883 | + border-bottom-color:#79A02E; | |
1884 | + -webkit-border-radius:0px; | |
1885 | + -moz-border-radius:0px; | |
1886 | + border-radius:0px; | |
1887 | + filter:progid:dximagetransform.microsoft.gradient(startColorstr='#79A02E', endColorstr='#79A02E', GradientType=0); | |
1888 | + filter:progid:dximagetransform.microsoft.gradient(enabled=false); | |
1889 | + *zoom:1; | |
1890 | + -webkit-box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1891 | + -moz-box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1892 | + box-shadow:inset 0 0px 0 rgba(255, 255, 255, 0.2), 0 0px 0px rgba(0, 0, 0, 0.05); | |
1893 | + font-weight:normal; | |
1894 | + color: #79A02E !important; | |
1895 | +} | |
1896 | + | |
1897 | +.ui-datepicker .ui-datepicker-calendar .ui-state-default { | |
1898 | + color: #235F6E; | |
1899 | + text-decoration: none; | |
1900 | + font-weight: normal; | |
1901 | + border: 1px solid #ccc; | |
1902 | +} | |
1903 | + | |
1904 | +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { | |
1905 | + opacity: 0.35; | |
1906 | + background: none;} | |
1907 | + | |
1908 | + | |
1909 | +.ui-tabmenu .ui-tabmenu-nav.ui-widget-header { | |
1910 | + background-color: #097189; | |
1911 | + background-image: -moz-linear-gradient(center top , #3c899d, #097189); | |
1912 | + background-repeat: repeat-x; | |
1913 | + min-height: 38px; | |
1914 | + padding: 0 20px; | |
1915 | + text-shadow: 0px rgba(255, 255, 255, 0.8); | |
1916 | +} | |
1917 | + | |
1918 | +.ui-tabmenuitem.ui-state-default.ui-state-active.ui-corner-top.ui-tabmenuitem-hasicon { | |
1919 | + background-color: #097189; | |
1920 | + background-image: -moz-linear-gradient(center top , #097189, #3c899d); | |
1921 | + background-repeat: repeat-x; | |
1922 | + text-shadow: 0px rgba(255, 255, 255, 0.8); | |
1923 | +} | |
1924 | + | |
1925 | + | |
1926 | +.ui-tabmenuitem.ui-state-default.ui-corner-top.ui-tabmenuitem-hasicon { | |
1927 | + background-color: #097189; | |
1928 | + background-image: -moz-linear-gradient(center top , #3c899d ,#097189); | |
1929 | + background-repeat: repeat-x; | |
1930 | + text-shadow: 0px rgba(255, 255, 255, 0.8); | |
1931 | +} | |
1932 | + | |
1933 | +.ui-panelmenu-panel .ui-widget.ui-panelmenu-header.ui-state-default.ui-state-active.ui-corner-top span { | |
1934 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_ffffff_256x240.png"); | |
1935 | +} | |
1936 | + | |
1937 | +.ui-panelmenu-panel .ui-menu-list.ui-helper-reset .ui-menuitem.ui-widget.ui-corner-all a.ui-menuitem-link.ui-corner-all span.ui-menuitem-text { | |
1938 | + color: #235F6E; | |
1939 | +} | |
1940 | + | |
1941 | +.ui-panelmenu-panel .ui-menu-list.ui-helper-reset .ui-menuitem.ui-widget.ui-corner-all a.ui-menuitem-link.ui-corner-all span.ui-menuitem-icon, .ui-panelmenu-panel .ui-menu-list.ui-helper-reset .ui-menuitem.ui-widget.ui-corner-all a.ui-menuitem-link.ui-corner-all span.ui-panelmenu-icon { | |
1942 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
1943 | +} | |
1944 | + | |
1945 | +.ui-panelmenu-panel .ui-menu-list.ui-helper-reset .ui-menuitem.ui-widget.ui-corner-all .ui-menuitem-link.ui-corner-all.ui-state-hover { | |
1946 | + color: #FFFFFF; | |
1947 | + background-color: #ffffff !important; | |
1948 | + text-shadow:0 0px 0px rgba(255, 255, 255, 0.75) !important; | |
1949 | + cursor:pointer; | |
1950 | + *background-color:#ffffff !important; | |
1951 | + background-image:-ms-linear-gradient(top, #ffffff, #ffffff) !important; | |
1952 | + background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#ffffff)) !important ; | |
1953 | + background-image:-webkit-linear-gradient(top, #ffffff, #ffffff) !important; | |
1954 | + background-image:-o-linear-gradient(top, #ffffff, #ffffff) !important; | |
1955 | + background-image:linear-gradient(top, #ffffff, #ffffff) !important; | |
1956 | + background-image:-moz-linear-gradient(top, #ffffff, #ffffff) !important; | |
1957 | + background-repeat:repeat-x; | |
1958 | + border:1px solid #FFFFFF; | |
1959 | +} | |
1960 | + | |
1961 | +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { | |
1962 | + color: #4f4f4f; | |
1963 | + text-shadow: 0 0 0 rgba(255, 255, 255, 0.8); | |
1964 | +} | |
1965 | + | |
1966 | + | |
1967 | + | |
1968 | + | |
1969 | +/*SplitButton */ | |
1970 | +.ui-menu.ui-menu-dynamic.ui-widget.ui-widget-content.ui-corner-all.ui-helper-clearfix.ui-shadow .ui-menu-list.ui-helper-reset .ui-menuitem.ui-widget.ui-corner-all { | |
1971 | + border:0px; | |
1972 | +} | |
1973 | + | |
1974 | +.ui-menu.ui-menu-dynamic.ui-widget.ui-widget-content.ui-corner-all.ui-helper-clearfix.ui-shadow .ui-menu-list.ui-helper-reset .ui-menuitem.ui-widget.ui-corner-all .ui-menuitem-link.ui-corner-all { | |
1975 | + background-color:#fff; | |
1976 | +} | |
1977 | + | |
1978 | +.ui-menu.ui-menu-dynamic.ui-widget.ui-widget-content.ui-corner-all.ui-helper-clearfix.ui-shadow .ui-menu-list.ui-helper-reset .ui-menuitem.ui-widget.ui-corner-all .ui-menuitem-link.ui-corner-all .ui-menuitem-icon { | |
1979 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
1980 | +} | |
1981 | + | |
1982 | +.ui-menu.ui-menu-dynamic.ui-widget.ui-widget-content.ui-corner-all.ui-helper-clearfix.ui-shadow .ui-menu-list.ui-helper-reset .ui-menuitem.ui-widget.ui-corner-all .ui-menuitem-link.ui-corner-all .ui-menuitem-text { | |
1983 | + color:#333; | |
1984 | +} | |
1985 | + | |
1986 | +.ui-splitbutton-menubutton.ui-button.ui-widget.ui-state-default.ui-corner-right.ui-button-icon-only.ui-state-active, | |
1987 | +.ui-splitbutton-menubutton.ui-button.ui-widget.ui-state-default.ui-corner-right.ui-button-icon-only.ui-state-hover, | |
1988 | +.ui-splitbutton-menubutton.ui-button.ui-widget.ui-state-default.ui-corner-right.ui-button-icon-only.ui-state-active, | |
1989 | +.ui-splitbutton-menubutton.ui-button.ui-widget.ui-state-default.ui-corner-right.ui-button-icon-only.ui-state-focus | |
1990 | + { | |
1991 | + -moz-border-radius-topright:4px; | |
1992 | + -webkit-border-top-right-radius:4px; | |
1993 | + border-top-right-radius:4px; | |
1994 | + -moz-border-radius-bottomright:4px; | |
1995 | + -webkit-border-bottom-right-radius:4px; | |
1996 | + border-bottom-right-radius:4px; | |
1997 | + -moz-border-radius-topleft:0px; | |
1998 | + -webkit-border-top-left-radius:0px; | |
1999 | + border-top-left-radius:0px; | |
2000 | + -moz-border-radius-bottomleft:0px; | |
2001 | + -webkit-border-bottom-left-radius:0px; | |
2002 | + border-bottom-left-radius:0px; | |
2003 | +} | |
2004 | + | |
2005 | +.ui-splitbutton-menubutton.ui-button.ui-widget.ui-state-default.ui-corner-right.ui-button-icon-only.ui-state-active { | |
2006 | + width:16px; | |
2007 | + height:16px; | |
2008 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_ffffff_256x240.png']}"); | |
2009 | +} | |
2010 | + | |
2011 | +/*Datalist*/ | |
2012 | +.ui-datalist-content.ui-widget-content .ui-datalist-data.ui-datalist-nobullets .ui-datalist-item .ui-commandlink.ui-widget { | |
2013 | + padding:0 !important; | |
2014 | + | |
2015 | +} | |
2016 | +.ui-datalist-content.ui-widget-content .ui-datalist-data.ui-datalist-nobullets .ui-datalist-item .ui-icon.ui-icon-search { | |
2017 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_ffffff_256x240.png"); | |
2018 | +} | |
2019 | + | |
2020 | +.ui-panel-content.ui-widget-content .ui-commandlink.ui-widget { | |
2021 | + background:none !important; | |
2022 | + border:0px; | |
2023 | +} | |
2024 | + | |
2025 | +.ui-panel-content.ui-widget-content .ui-commandlink.ui-widget .ui-icon.ui-icon-search { | |
2026 | + width:16px; | |
2027 | + height:16px; | |
2028 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
2029 | +} | |
2030 | + | |
2031 | +/*tabview*/ | |
2032 | + | |
2033 | +.ui-tabs.ui-widget.ui-widget-content.ui-corner-all.ui-hidden-container.ui-tabs-top | |
2034 | +.ui-tabs-nav.ui-helper-reset.ui-helper-clearfix.ui-widget-header.ui-corner-all | |
2035 | +.ui-state-default.ui-corner-top.ui-state-hover { | |
2036 | + background-color:#ffffff; | |
2037 | +} | |
2038 | + | |
2039 | +.ui-tabs.ui-widget.ui-widget-content.ui-corner-all.ui-hidden-container.ui-tabs-top | |
2040 | +.ui-tabs-nav.ui-helper-reset.ui-helper-clearfix.ui-widget-header.ui-corner-all | |
2041 | +.ui-state-default.ui-corner-top | |
2042 | +.ui-icon.ui-icon-close { | |
2043 | + background-image:url("#{facesContext.externalContext.requestContextPath}/resources/images/ui-icons_333333_256x240.png"); | |
2044 | +} | |
2045 | + | |
2046 | +/* Menu - Menubar */ | |
2047 | +.ui-menu.ui-menubar.ui-widget.ui-widget-content.ui-corner-all.ui-helper-clearfix .ui-menu-list.ui-helper-reset | |
2048 | +span.ui-menuitem-text { | |
2049 | + padding:0 0.5em 0 0; | |
2050 | +} | |
2051 | + | |
2052 | +.ui-menu.ui-widget .ui-menu-list .ui-widget-header { | |
2053 | + border-width: 0; | |
2054 | + width: 100%; | |
2055 | +} | |
2056 | + | |
2057 | +.footer { | |
2058 | + position:absolute; | |
2059 | + bottom:0; | |
2060 | + width:100%; | |
2061 | + text-align: center; | |
2062 | + padding-bottom: 5px; | |
2063 | +} | |
2064 | + | |
2065 | +.footerText{ | |
2066 | + color:#79a12f; | |
2067 | + font-size:70%; | |
2068 | +} | |
2069 | + | ... | ... |
3.13 KB
7.73 KB
50.4 KB
No preview for this file type
102 KB
577 Bytes
1.52 KB
20.2 KB
4.27 KB
1 | +++ a/src/main/webapp/resources/js/funcoes.js | ... | ... |
1 | +++ a/src/main/webapp/template/template.xhtml | |
... | ... | @@ -0,0 +1,56 @@ |
1 | +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
2 | +<html xmlns="http://www.w3.org/1999/xhtml" | |
3 | + xmlns:ui="http://java.sun.com/jsf/facelets" | |
4 | + xmlns:h="http://java.sun.com/jsf/html" | |
5 | + xmlns:f="http://java.sun.com/jsf/core" | |
6 | + xmlns:p="http://primefaces.org/ui"> | |
7 | + <h:head> | |
8 | + <link type="text/css" rel="stylesheet" href="https://www.ans.gov.br/images/PrimeFaces/css/theme.css" /> | |
9 | + <link type="text/css" rel="stylesheet" href="https://www.ans.gov.br/images/PrimeFaces/css/style-prime-custom-ans.css" /> | |
10 | + <h:outputStylesheet name="/css/css_menu.css" /> | |
11 | + | |
12 | + <ui:insert name="AreaHead" > | |
13 | + <title>#{msg['title.sistema']}</title> | |
14 | + </ui:insert> | |
15 | + </h:head> | |
16 | + | |
17 | + <h:body> | |
18 | + <div style="width: 100%; height: 75px; background: url('/JavaServerFaces/faces/javax.faces.resource/topo_bg.png?ln=images') fixed no-repeat top right;"> | |
19 | + <h:form> | |
20 | + <h:link outcome="/pages/home" > | |
21 | + <p:graphicImage style="width: 309px; height: 75px; float: left; margin-left: 25px;" library="images" name="ans_logo.gif" /> | |
22 | + </h:link> | |
23 | + </h:form> | |
24 | + | |
25 | + <div style="float: left; margin: 27px 0 0 50px;"> | |
26 | + <label style="font-family: 'helvetica_57_condensed', Arial; font-size: 24px; color: #79a12f;"> | |
27 | + #{msg['title.sistema']} | |
28 | + </label> | |
29 | + </div> | |
30 | + </div> | |
31 | + | |
32 | + <ui:insert name="menu" > | |
33 | + <ui:include src="/pages/includes/menu.xhtml"/> | |
34 | + </ui:insert> | |
35 | + | |
36 | + <div style="width:80%;margin:auto;"> | |
37 | + <p:messages id="mensagem" autoUpdate="true" redisplay="false" showDetail="false"/> | |
38 | + | |
39 | + <ui:insert name="corpo" > | |
40 | + <h:outputText value="Default content"/> | |
41 | + </ui:insert> | |
42 | + </div> | |
43 | + | |
44 | + <div id="footer" class="footer"> | |
45 | + <p:separator/> | |
46 | + <h:outputText class="footerText" value="#{lb['label.ans']}" /><br/> | |
47 | + <h:outputText class="footerText" value="#{msg['title.sistema']}" /><br/> | |
48 | + <h:outputText class="footerText" value="#{lb['label.versao']}" /><br/> | |
49 | + </div> | |
50 | + | |
51 | + </h:body> | |
52 | + | |
53 | +</html> | |
54 | + | |
55 | + | |
56 | + | ... | ... |