Как открыть и закрыть диалоги wiQuery? - PullRequest
0 голосов
/ 16 ноября 2011

Я пробую wiQuery , чтобы посмотреть, соответствует ли это моим потребностям, но у меня возникли проблемы с очень простыми вещами.Рассмотрим следующее, где я пытаюсь управлять открытием и закрытием диалога, используя его методы open() и close():

HTML:

<input type="submit" wicket:id="open" value="Open dialog"/>    
<div wicket:id="dialog">    
    <input type="submit" wicket:id="close" value="Close"/>    
</div>

Java:

final Dialog dialog = new Dialog("dialog");

add(new Link("open") {
    @Override
    public void onClick() {
        dialog.open();
    }
});

dialog.add(new Link("close") {
    @Override
    public void onClick() {
        dialog.close();
    }   
});

add(dialog);

Дело в том, что выше не работает.

Единственный способ, которым у меня есть диалоговое окно, чтобы фактически открывать и закрывать из моего кода, это вызывать setAutoOpen () с истинным или ложным, но это странно, это единственныйпуть.(Javadoc этого метода говорит: «Устанавливает, открывается ли это окно автоматически после загрузки страницы.», Поэтому ясно, что следует зарезервировать для другой цели.)

Какой правильный путьдинамически открывать и закрывать диалоги wiQuery в вашем коде?

1 Ответ

1 голос
/ 19 ноября 2011

Я пользуюсь последние 2 недели и у меня похожая проблема. Попробуйте использовать AjaxLink следующим образом:

AjaxLink openingLink = new AjaxLink("open")
{

  @Override
  public void onClick(AjaxRequestTarget target)
  {
    // Do something with model
    target.addComponent(content);
    dialog.open(target);
  }

};
...