Vaadin: распознавать CSS-классы, добавленные HTML - PullRequest
0 голосов
/ 25 апреля 2018

В Vaadin я пишу HTML в RichTextArea, например:

Java:

RichTextArea area = new RichTextArea();

StringBuffer buf = new StringBuffer();
buf.append("<h1 class=\"previewPerson;\" style=\"text-align: right;\">" +
profile.getPersonName() + "</h1>\n");

//...

area.setValue(buf.toString());

SCSS (mystyle.scss):

.previewPerson {
color: $v-focus-color;
font: $v-font-family;
}

Класс "previewPerson" отображается в styles.css как

.mystyle .previewPerson {
color: red;
font: Comic Sans;
}

... и класс отображается в моем инспекторе, но не оказывает никакого влияния.Встроенный стиль имеет эффект.

Я хочу, чтобы этот стиль распознавался в моем файле .scss, если это возможно, так как я бы не стал писать внутренние стили в моем StringBuffer.Я попытался addStyleName("previewPerson"), но не смог заставить его работать.

1 Ответ

0 голосов
/ 30 апреля 2018

Попробуйте взять еще одну трещину на addStylename("previewPerson").Что вам нужно сделать, это добавить имя стиля компонента в класс scss.

Таким образом, ваша Java будет выглядеть так:

RichTextArea area = new RichTextArea();
area.addStyleName("previewPerson");    
area.setValue(profile.getPersonName());

Ваша SCSS будет выглядеть так:

.v-richtextarea-previewPerson {
   text-align: right;
   color: $v-focus-color;
   font: $v-font-family;
}

Кроме того, будьте осторожны с RichTextArea, поскольку вы можете разрешить межсайтовый скриптинг.Убедитесь, что ваши пользовательские данные правильно очищены .

...