Как мне остановить лицевые панели, добавляя границы к панелям и календарям? - PullRequest
9 голосов
/ 08 марта 2009

Я надеюсь использовать пользовательский скин richfaces для обработки большей части моей презентационной работы. К сожалению, richfaces отображает границы вокруг каждой ячейки в компоненте календаря и вокруг каждой панели. Я хотел бы отключить их, чтобы день нумерации сайта в открытой сетке без границ. Нет очевидного способа сделать это, используя скины или атрибуты календаря.

Я мог бы использовать пользовательский CSS, но Я бы предпочел работать с каркасом, чтобы полностью удалить связанные с рамкой свойства из таблиц стилей, созданных richfaces , а не работать с каркасом и переопределять все, используя уродливый CSS.

Итак, как мне остановить лицевые панели, добавляя границы к панелям и календарям?


У этого парня похожая проблема

Ответы [ 3 ]

5 голосов
/ 10 марта 2009

Начиная с версии 3.3.0.GA, невозможно попросить richfaces прекратить рендеринг CSS для границ и фонов. Необходимо переопределить каждое из свойств встроенных таблиц стилей (содержащихся в org.richfaces.renderkit.html.css, который является частью richfaces-ui-3.3.0.GA.jar).

Plug and skin дает вам необходимые возможности для этого, как если бы пользовательский CSS добавлялся с использованием обычных техник, хотя plug and skin, возможно, лучше, поскольку вы можете ссылаться на определения абстрактного цвета для компенсации отсутствующих фонов , вот так:

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

Следующие свойства CSS полезны для быстрой нейтрализации свойств границ и фона.

border: none;
background: transparent;

Чтобы начать работу с плагином и оболочкой, вы можете использовать следующую последовательность команд 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

Лучше всего это сделать из командной строки, поскольку, к сожалению, плагины Eclipse не могут найти архетипы в репозитории jboss (другие IDE могут справиться с этим лучше). Вам нужно изменить свойства artifactId, groupId, пакета, версии и имени в соответствии с вашим проектом. Выберите артефакт и имя пакета, которые отражают область действия артефакта для хранения нескольких определений скина.


Было бы возможно - хотя и много работы - добавить поддержку свойств скина в общем формате xxxBackgroundEnabled и xxxBorderEnabled, чтобы отключить рендеринг этих пограничных и фоновых CSS в каждом конкретном случае.

Вам нужно будет поработать с командой richfaces, чтобы исправить файлы xcss в org.richfaces.renderkit.html.css. Вам также понадобится некоторая функциональность условного вывода в одной из библиотек тегов XCSS JSF (определяется по http: /jsf.exadel.com/template/util или http: /jsf.exadel.com/template в файлах XCSS). который я хотел бы использовать, чтобы обернуть группы свойств CSS в файлы XCSS.

Если вы сделали такую ​​модификацию RichFaces тогда вы сможете отключить рендеринг спорного CSS из файла свойств любой кожи.

4 голосов
/ 24 ноября 2011

Существует скин под названием plain, к которому почти не привязаны стили.

Вот выдержка из документации :

Скин 'plain' был добавлен в версии 3.0.2. Не имеет никакого параметры. Это необходимо для встраивания компонентов RichFaces в существующий проект, имеющий свои стили.

Вы можете активировать его, добавив

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

до web.xml.


Вы также можете помешать RichFaces загружать любые стили с помощью

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

устанавливается в web.xml.

Но будьте осторожны, так как не будет работать в JBoss Portlet Bridge 1.0.0 .

1 голос
/ 09 марта 2009

RichFaces имеет встроенную систему скинов, которая называется Skinnablity. Skinnability - это высокоуровневое расширение стандартного CSS. Вы можете создать свой собственный файл скина для использования в вашем приложении ( документация jboss ).

В jar richfaces-impl папка / META-INF / skins содержит все файлы скинов (.skin.properties). Скопируйте один и переименуйте его, измените то, что вы хотите. Вам нужно будет восстановить банку.

OR

Вы можете использовать функцию plug-n-skin richfaces, которую я никогда раньше не пробовал, но похоже, что она также будет работать для того, что вы пытаетесь сделать.

...