Как запретить richfaces добавлять границы на панели и календари?

StackOverflow https://stackoverflow.com/questions/622891

Вопрос

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

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

Так как же мне запретить richfaces добавлять границы на панели и календари?


У этого парня есть аналогичная проблема

Это было полезно?

Решение

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

Пробка и кожа дает вам необходимые возможности для этого, как и добавление пользовательского 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 могут справиться с этим лучше).Вам потребуется изменить свойства артефакта, 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 из файла свойств любого скина.

Другие советы

Существует скин 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 .

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

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

ИЛИ

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top