Hi Martin,

i use the UrlResRef like the "normal" ResRef. A specialiced css is depending
on a base css.
This base css should be guaranteed on special css usage.

public class PortalCssDependingResourceReference extends
UrlResourceReference {

    private final String portalId;
    
    public PortalCssDependingResourceReference(String resourceUrl, String
portalId) {
        super(Url.parse(resourceUrl));
        this.portalId = portalId;
    }

    protected final String getPortalId() {
        return portalId;
    }
    
    @Override
    public Iterable<? extends HeaderItem> getDependencies() {
        ArrayList<HeaderItem> dependencies = new ArrayList<HeaderItem>();
        for (HeaderItem headerItem : super.getDependencies()) {
            dependencies.add(headerItem);
        }
        dependencies.add(CssHeaderItem.forReference(new
PortalCssResourceReference(this.portalId)));
        return dependencies;
    }
    
    @Override
    public boolean isContextRelative() {
        return true;
    }
}

It is included as expected with this (sample) code in my page. And this is
the cause why i'm wondering this is not implemented.
    
    @Override
    public void renderHead(IHeaderResponse response) {
        final PortalCssDependingResourceReference reference = new
PortalCssDependingResourceReference("resources/special.css", getPortalId());
        response.render(new
CssUrlReferenceHeaderItem(reference.getUrl().toString(), null, null) {

            @Override
            public Iterable<? extends HeaderItem> getDependencies()
            {
                return reference.getDependencies();
            }
        });
        super.renderHead(response);
    }

I hope this is answering your question.
Thanks
Per

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to