public boolean isSameOrDescendantOf(SInstance candidate) { return (this == candidate) || isDescendantOf(candidate); }
private static int findPos(@Nonnull SIList<SInstance> instance, @Nonnull SInstance lastInstance) { int pos = 1; for (SInstance itemInstance : instance) { if (lastInstance == itemInstance || lastInstance.isDescendantOf(itemInstance)) { return pos; } pos++; } return -1; }
private static int findPos(@Nonnull SIList<SInstance> instance, @Nonnull SInstance lastInstance) { int pos = 1; for(SInstance itemInstance : instance) { if (lastInstance == itemInstance || lastInstance.isDescendantOf(itemInstance)) { return pos; } pos++; } return -1; }
@Override public void onEvent(Component component, IEvent<?> event) { super.onEvent(component, event); final AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class); Object payload = event.getPayload(); if (payload instanceof SInstance) { final SInstance instance = (SInstance) payload; for (BSTab tab : panel.getTabs().values()) { if (instance.isDescendantOf(tab.getModelObject())) { panel.getTabItem(tab).ifPresent(target::add); } } } else if (payload instanceof SingularFormProcessingPayload) { SingularFormProcessingPayload singularPayload = (SingularFormProcessingPayload) payload; Set<String> typeNames = tabViewSupplier.get().getTabs().stream() .flatMap(it -> it.getTypesNames().stream()) .collect(Collectors.toSet()); if (singularPayload.hasUpdatedType(typeNames)) { target.add(panel); } } } });