Запутанные имена классов не добавляются в таблицу стилей при добавлении в ячейки - PullRequest
0 голосов
/ 30 ноября 2010

Запутанное имя класса (GPGOA3-B) действительно добавляется в ячейку, но сам класс не добавляется ни в одну таблицу стилей.

Что я делаю не так?

public final class HyperlinkCell extends AbstractCell<HyperlinkCellData> {

    // TODO
    private interface MyCss extends CssResource {
        String red();
    }

    // TODO
    private interface MyResources extends ClientBundle {
        @Source("HyperlinkCell.css")
        MyCss css();
    }

    // TODO
    private static MyResources resources = GWT.create(MyResources.class);

    HyperlinkCell() {
        super("click");
    }

    @Override
    public void onBrowserEvent(Element parent, HyperlinkCellData value,
            Object key, NativeEvent event,
            ValueUpdater<HyperlinkCellData> valueUpdater) {
        // handle click event
        History.newItem(value.targetHistoryToken, true);
    }

    @Override
    public void render(HyperlinkCellData value, Object key, SafeHtmlBuilder sb) {
        String childGroupObfuscatedClass = resources.css().red();
        sb.append(SafeHtmlUtils.fromTrustedString("<a class=\""))
                .append(SafeHtmlUtils
                        .fromTrustedString(childGroupObfuscatedClass))
                .append(SafeHtmlUtils.fromTrustedString("\""))
                .append(SafeHtmlUtils.fromTrustedString(" href=\"#"))
                .append(SafeHtmlUtils.fromString(value.targetHistoryToken))
                .append(SafeHtmlUtils.fromTrustedString("\">"))
                .append(SafeHtmlUtils.fromString(value.text))
                .append(SafeHtmlUtils.fromTrustedString("</a>"));
    }
}

HyperlinkCell.css

.red {
    color: red;
}

результирующий элемент DOM

<a href="#target" class="GPGOA3-B">text</a>

1 Ответ

1 голос
/ 30 ноября 2010
MyResources.resources.css().ensureInjected();

Звонки com.google.gwt.dom.client.StyleInjector.injectStylesheet (String) ввести содержимое CssResource в DOM. повторный вызовы этого метода в случае CssResources не будет иметь никакого эффекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...