У меня есть DIV и я хочу показать панель listItem-Panel, и если я нажму на DIV, панель listItem-Panel должна быть заменена панелью listItemDetail-Panel. По этой причине DIV содержит Child-DIV с Wicket:ID=curPanel.
div.add(new AjaxEventBehavior("onclick") {
@Override
protected IAjaxCallDecorator getAjaxCallDecorator() {
return new AjaxCallDecorator() {
@Override
public CharSequence decorateScript(final CharSequence script) {
return String.format("$('#%s').fadeOut(1000, function(){ %s });", div.getMarkupId(), script);
}
};
}
@Override
protected void onEvent(final AjaxRequestTarget target) {
final Panel curPanel = (Panel) div.get("curPanel");
if (curPanel.getClass().equals(listItemDetailPanel.class)) {
curPanel.replaceWith(listItemPanel);
} else {
curPanel.replaceWith(listItemDetailPanel);
}
target.addComponent(div);
target.appendJavascript("new Effect.FadIn($('" + div.getMarkupId() + "'))");
}
});
Я использую AjaxCallDecorator для затухания DIV (который содержит listItemPanel или listItemDetailPanel). После этого панель сменится на другую, а затем DIV должен появиться через fadeIn.
Но это ПРОБЛЕМА! Что мне делать, чтобы после Ajax-замены исчезнуть в DIV?
Вы можете увидеть вызов target.appendJavascript(), но это не сработало!
Мне нужно решение для Wicket/WiQuery. Я знаю решение для jQuery и хочу его применить.
Спасибо Кристоф