package fr.openwide.maven.artifact.notifier.web.application.artifact.component;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.LoadableDetachableModel;
import fr.openwide.core.wicket.behavior.ClassAttributeAppender;
import fr.openwide.maven.artifact.notifier.web.application.common.component.LabelWithPlaceholder;
public class ArtifactVersionTagPanel extends AbstractArtifactVersionTagPanel {
private static final long serialVersionUID = -8022735891213157213L;
private static final String CSS_FINAL_VERSION_TAG = "label label-info";
private static final String CSS_NON_FINAL_VERSION_TAG = "label label-warning";
public ArtifactVersionTagPanel(String id, IModel<? extends String> model) {
this(id, model, true);
}
public ArtifactVersionTagPanel(String id, IModel<? extends String> model, boolean showPlaceholder) {
super(id, model);
IModel<String> cssClassModel = new LoadableDetachableModel<String>() {
private static final long serialVersionUID = 1L;
@Override
protected String load() {
String version = getModelObject();
if (isFinalVersion(version)) {
return CSS_FINAL_VERSION_TAG;
}
return CSS_NON_FINAL_VERSION_TAG;
}
};
LabelWithPlaceholder latestVersionLabel = new LabelWithPlaceholder("latestVersion", model);
latestVersionLabel.setHideIfEmpty(!showPlaceholder);
latestVersionLabel.add(new ClassAttributeAppender(cssClassModel));
add(latestVersionLabel);
}
}