Pergunta

Estou esperando para usar uma pele richfaces personalizados para lidar com a maior parte do meu trabalho de apresentação. Infelizmente richfaces torna bordas em torno de cada célula em um componente de calendário e em torno de cada painel. Eu gostaria de desligá-los para que os números do dia local em uma grade aberta sem fronteiras. Não há nenhuma maneira óbvia de fazer isso usando peles ou atributos do controle de calendário.

Eu poderia usar CSS personalizado, mas Eu prefiro trabalhar com o framework para remover completamente as propriedades relacionadas com as fronteiras de folhas de estilo criados por richfaces ao invés de trabalhar contra o quadro e substituir tudo usando CSS feio .

Então, como posso parar richfaces adicionar bordas para painéis e calendários?


Esse cara tem um problema semelhante

Foi útil?

Solução

A partir da versão 3.3.0.GA não é possível pedir richfaces para parar de processamento de CSS para bordas e fundo. È necessário para substituir cada uma das propriedades do construído em folhas de estilo (aqueles contidos em org.richfaces.renderkit.html.css que é parte de richfaces-ui-3.3.0.GA.jar).

plug and pele dá-lhe a energia necessária para fazer isso, como seria de costume CSS adicionado usando as técnicas usuais, embora plug and pele é indiscutivelmente melhor que você pode fazer referência a definição de cores abstratas para compensar fundos faltando, como este:

<u:style name="color" skin="abstractColorName" />

As seguintes propriedades CSS são úteis para rapidamente neutralizar as propriedades beira e do fundo relacionado.

border: none;
background: transparent;

Para começar com o plug and pele você pode usar a seguinte sequência de comandos Maven2:

mvn archetype:generate -DarchetypeGroupId=org.richfaces.cdk -DarchetypeArtifactId=maven-archetype-plug-n-skin -DarchetypeVersion=3.3.0.GA -DartifactId=fil-skins -Dpackage=com.feelitlive.richfaces -DgroupId=com.feelitlive.server -Dversion=0.0.1-SNAPSHOT -DarchetypeRepository=http://repository.jboss.com/maven2/
cd fil-skins
mvn cdk:add-skin -Dname=fil -Dpackage=com.feelitlive.richfaces.skins

Este é o melhor feito a partir da linha de comando como, infelizmente, os plugins do Eclipse não consegue localizar os arquétipos no repositório jboss (outros IDEs pode lidar com isso melhor). Você precisará artifactId mudança, groupId, pacote, versão e propriedades de nome para se adequar ao seu projeto. Escolha um nome de artefato e pacote que reflete o escopo do artefato para a realização de definições pele mulitple.


Seria possível - apesar de um monte de trabalho - para adicionar suporte para propriedades da pele no formato geral xxxBackgroundEnabled e xxxBorderEnabled para desligar prestação daqueles borda e fundo CSS em uma base caso a caso.

Você precisa trabalhar com a equipe richfaces para corrigir os arquivos XCSS em org.richfaces.renderkit.html.css. Também seria necessário algum tipo de funcionalidade de saída condicional em uma das bibliotecas de tags XCSS JSF (identificado por http: /jsf.exadel.com/template/util ou http: /jsf.exadel.com/template nos arquivos XCSS) que eu antecipar usando para envolver grupos de propriedades CSS nos arquivos XCSS.

Se você fez tal modificação richfaces então você seria capaz de desativar a prestação do CSS controversa do arquivo de propriedades de qualquer pele.

Outras dicas

Há uma pele chamada plain que tem quase nenhum estilo em tudo ligado a ele.

Aqui está um trecho da documentação :

foi adicionado Pele 'plain' a partir 3.0.2 versão. Ele não tem qualquer parâmetros. É necessário para a incorporação de componentes RichFaces em projecst que têm seus próprios estilos existente.

Você pode ativá-lo adicionando

<context-param>
    <param-name>org.richfaces.SKIN</param-name>
    <param-value>plain</param-value>
</context-param>

para o web.xml.


Você pode RichFaces também dificultam para carregar quaisquer estilos de todo com

<context-param>
     <param-name>org.richfaces.LoadStyleStrategy</param-name>
     <param-value>None</param-value>
</context-param>

definido no web.xml.

Mas cuidado, uma vez que não funcionará no JBoss Portlet Bridge 1.0.0 .

RichFaces tem um sistema de pele construído no chamado Skinnablity. Skinnability é uma extensão de alto nível do CSS padrão. Você pode criar seu próprio arquivo de pele para uso em seu aplicativo ( jboss documentação ).

No frasco richfaces-impl, a pasta / META-INF / skins contém todos os arquivos de pele (.skin.properties). Copiar um e nome renomeá-lo, modificar o que você quer. Você terá que reconstruir o frasco.

ou

Você pode usar o plug-n-pele recurso de richfaces, que eu nunca tentei antes, mas parece que seria também trabalho para o que você está tentando fazer.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top