package org.orienteer.core.component.command; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.event.Broadcast; import org.apache.wicket.model.IModel; import org.apache.wicket.model.StringResourceModel; import org.orienteer.core.component.BootstrapType; import org.orienteer.core.component.FAIconType; import org.orienteer.core.component.table.OrienteerDataTable; import com.orientechnologies.orient.core.metadata.schema.OClass; /** * {@link Command} to show or hide parent things * * @param <T> the type of an entity to which this command can be applied */ public class ShowHideParentsCommand<T> extends TriggerCommand<T> { private static final long serialVersionUID = 1L; private IModel<OClass> classModel; public ShowHideParentsCommand(IModel<OClass> classModel, OrienteerDataTable<T, ?> table, IModel<Boolean> showHideParentModel) { super("command.showhide.parent", table, showHideParentModel); this.classModel = classModel; } @Override protected void onConfigure() { super.onConfigure(); if(classModel!=null) { OClass oClass = classModel.getObject(); setVisible(oClass!=null && oClass.hasSuperClasses()); } } @Override public void detachModels() { super.detachModels(); if(classModel!=null) classModel.detach(); } }