2010-11-29 14 views
0

Le nom de classe obfusqué (GPGOA3-B) est en effet ajouté à la cellule, mais la classe elle-même n'est ajoutée à aucune feuille de style.Les noms de classe masqués ne sont pas ajoutés à la feuille de style lorsqu'ils sont ajoutés aux cellules

Qu'est-ce que je fais mal?

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; 
} 

résultant de l'élément DOM

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

Répondre

1
MyResources.resources.css().ensureInjected(); 

demande com.google.gwt.dom.client.StyleInjector.injectStylesheet (String) pour injecter le contenu du CssResource dans le DOM. Répété appels à cette méthode sur une instance de un CssResources n'aura aucun effet.