@Override public String getLastFocusedElementId() { return upstream.getLastFocusedElementId(); }
@Override public String getLastFocusedElementId() { return inner.getLastFocusedElementId(); }
@Override protected void onEvent(final AjaxRequestTarget target) { final String lastFocussedElementId = target.getLastFocusedElementId(); if (lastFocussedElementId == null) { togglePanel.toggleWithContent(target, getActions(model), model.getObject()); } else { final AjaxDataTablePanel<?, ?> parent = findParent(AjaxDataTablePanel.class); final Model<Boolean> isCheck = Model.<Boolean>of(Boolean.FALSE); parent.visitChildren(CheckGroupSelector.class, (selector, ivisit) -> { if (selector.getMarkupId().equalsIgnoreCase(lastFocussedElementId)) { isCheck.setObject(Boolean.TRUE); ivisit.stop(); } }); if (!isCheck.getObject()) { parent.visitChildren(Check.class, (check, ivisit) -> { if (check.getMarkupId().equalsIgnoreCase(lastFocussedElementId)) { isCheck.setObject(Boolean.TRUE); ivisit.stop(); } }); } if (!isCheck.getObject()) { togglePanel.toggleWithContent(target, getActions(model), model.getObject()); } } } });