Получение содержимого с текущей вкладки (AjaxTabbedPanel)

Я провожу здесь несколько тестов на прототипе калитки, и я застрял на этой маленькой проблеме.

У меня есть AjaxTabbedPanel на странице с 5 вкладками. Пока он работает нормально, но я хотел бы добавить некоторое поведение ДО того, как будет обработан запрос новой вкладки (например, выполните некоторую проверку и сохраните что-то в сеансе до изменения вкладки).

AjaxTabbedPanel позволяет мне переопределить onAjaxUpdate (конечная цель AjaxRequestTarget), но это происходит ПОСЛЕ установки новой вкладки. Мне нужно что-то вроде «beforeAjaxRequest».

Есть ли способ сделать это, не слишком сильно меняя ситуацию? (Придерживайтесь AjaxTabbedPanel, без JS и т. Д.). Вы можете подумать: «Почему бы вам не загрузить сразу всю страницу и не использовать вкладки JS», но я пока пытаюсь поработать над собственным решением для вкладок калитки (для этого есть причины).

Заранее спасибо!


person vitorrrr    schedule 26.01.2012    source источник


Ответы (1)


Попробуйте переопределить newLink (String linkId, final int index); метод. Это то, что делает AjaxTabbedPanel, когда он расширяет TabbedPanel для добавления поведения ajax http://www.jarvana.com/jarvana/view/wicket/wicket-extensions/1.2/wicket-extensions-1.2-sources.jar!/wicket/extensions/ajax/markup/html/tabs/AjaxTabbedPanel.java?format=ok.

Вы можете настроить новую ссылку, чтобы она использовала тот же код, что и ajaxtabbedpanel, но добавляла условие проверки, чтобы, когда пользователь нажимает на нее, она сначала проверяет, а затем решает, следует ли изменить вкладку и обновить.

Надеюсь, это поможет.

person drobson    schedule 08.02.2012