mirror of
https://github.com/theonedev/onedev.git
synced 2026-02-01 17:37:19 +00:00
Add component ParamValuesLabel to display build parameter values
This commit is contained in:
parent
decd0ea22e
commit
e7a13f3d00
@ -519,25 +519,21 @@ public class Build extends AbstractEntity implements Referenceable {
|
||||
if (!checkedParamNames.add(paramName))
|
||||
return false;
|
||||
|
||||
ParamSpec paramSpec = getJob().getParamSpecMap().get(paramName);
|
||||
if (paramSpec != null) {
|
||||
if (paramSpec.getShowCondition() != null) {
|
||||
Input dependentInput = getParamInputs().get(paramSpec.getShowCondition().getInputName());
|
||||
Preconditions.checkNotNull(dependentInput);
|
||||
String value;
|
||||
if (!dependentInput.getValues().isEmpty())
|
||||
value = dependentInput.getValues().iterator().next();
|
||||
else
|
||||
value = null;
|
||||
if (paramSpec.getShowCondition().getValueMatcher().matches(value))
|
||||
return isParamVisible(dependentInput.getName(), checkedParamNames);
|
||||
else
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
ParamSpec paramSpec = Preconditions.checkNotNull(getJob().getParamSpecMap().get(paramName));
|
||||
if (paramSpec.getShowCondition() != null) {
|
||||
Input dependentInput = getParamInputs().get(paramSpec.getShowCondition().getInputName());
|
||||
Preconditions.checkNotNull(dependentInput);
|
||||
String value;
|
||||
if (!dependentInput.getValues().isEmpty())
|
||||
value = dependentInput.getValues().iterator().next();
|
||||
else
|
||||
value = null;
|
||||
if (paramSpec.getShowCondition().getValueMatcher().matches(value))
|
||||
return isParamVisible(dependentInput.getName(), checkedParamNames);
|
||||
else
|
||||
return false;
|
||||
} else {
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,27 @@
|
||||
package io.onedev.server.web.component.build;
|
||||
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.model.Model;
|
||||
|
||||
import io.onedev.commons.utils.StringUtils;
|
||||
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||
import io.onedev.server.util.Input;
|
||||
import io.onedev.server.util.inputspec.SecretInput;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class ParamValuesLabel extends Label {
|
||||
|
||||
public ParamValuesLabel(String id, Input param) {
|
||||
super(id);
|
||||
|
||||
if (param.getType().equals(ParamSpec.SECRET)) {
|
||||
setDefaultModel(Model.of(SecretInput.MASK));
|
||||
} else if (!param.getValues().isEmpty()) {
|
||||
setDefaultModel(Model.of(StringUtils.join(param.getValues(), ",")));
|
||||
} else {
|
||||
setDefaultModel(Model.of("<i>Unspecified</i>"));
|
||||
setEscapeModelStrings(false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -49,7 +49,6 @@ import com.google.common.collect.Sets;
|
||||
import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel;
|
||||
import io.onedev.commons.utils.StringUtils;
|
||||
import io.onedev.server.OneDev;
|
||||
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||
import io.onedev.server.entitymanager.BuildManager;
|
||||
import io.onedev.server.entitymanager.BuildParamManager;
|
||||
import io.onedev.server.entitymanager.ProjectManager;
|
||||
@ -63,12 +62,11 @@ import io.onedev.server.search.entity.build.BuildQuery;
|
||||
import io.onedev.server.util.BuildConstants;
|
||||
import io.onedev.server.util.Input;
|
||||
import io.onedev.server.util.SecurityUtils;
|
||||
import io.onedev.server.util.inputspec.SecretInput;
|
||||
import io.onedev.server.web.WebConstants;
|
||||
import io.onedev.server.web.behavior.BuildQueryBehavior;
|
||||
import io.onedev.server.web.behavior.WebSocketObserver;
|
||||
import io.onedev.server.web.behavior.clipboard.CopyClipboardBehavior;
|
||||
import io.onedev.server.web.component.MultilineLabel;
|
||||
import io.onedev.server.web.component.build.ParamValuesLabel;
|
||||
import io.onedev.server.web.component.build.status.BuildStatusIcon;
|
||||
import io.onedev.server.web.component.datatable.DefaultDataTable;
|
||||
import io.onedev.server.web.component.datatable.LoadableDetachableDataProvider;
|
||||
@ -557,8 +555,8 @@ public abstract class BuildListPanel extends Panel {
|
||||
}
|
||||
});
|
||||
|
||||
for (String param: getListParams()) {
|
||||
columns.add(new AbstractColumn<Build, Void>(Model.of(param)) {
|
||||
for (String paramName: getListParams()) {
|
||||
columns.add(new AbstractColumn<Build, Void>(Model.of(paramName)) {
|
||||
|
||||
@Override
|
||||
public String getCssClass() {
|
||||
@ -566,22 +564,13 @@ public abstract class BuildListPanel extends Panel {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void populateItem(Item<ICellPopulator<Build>> cellItem, String componentId,
|
||||
IModel<Build> rowModel) {
|
||||
public void populateItem(Item<ICellPopulator<Build>> cellItem, String componentId, IModel<Build> rowModel) {
|
||||
Build build = rowModel.getObject();
|
||||
if (build.isParamVisible(param)) {
|
||||
Input input = build.getParamInputs().get(param);
|
||||
if (input != null) {
|
||||
if (input.getType().equals(ParamSpec.SECRET))
|
||||
cellItem.add(new Label(componentId, SecretInput.MASK));
|
||||
else
|
||||
cellItem.add(new MultilineLabel(componentId, StringUtils.join(input.getValues(), ",")));
|
||||
} else {
|
||||
cellItem.add(new Label(componentId, "<i>Undefined</i>").setEscapeModelStrings(false));
|
||||
}
|
||||
} else {
|
||||
cellItem.add(new Label(componentId, "<i>Undefined</i>").setEscapeModelStrings(false));
|
||||
}
|
||||
Input param = build.getParamInputs().get(paramName);
|
||||
if (param != null && build.isParamVisible(paramName))
|
||||
cellItem.add(new ParamValuesLabel(componentId, param));
|
||||
else
|
||||
cellItem.add(new Label(componentId, "<i>Unspecified</i>").setEscapeModelStrings(false));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
@ -24,9 +24,7 @@ import org.apache.wicket.request.mapper.parameter.PageParameters;
|
||||
import org.apache.wicket.util.time.Duration;
|
||||
import org.eclipse.jgit.revwalk.RevCommit;
|
||||
|
||||
import io.onedev.commons.utils.StringUtils;
|
||||
import io.onedev.server.OneDev;
|
||||
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||
import io.onedev.server.entitymanager.BuildManager;
|
||||
import io.onedev.server.git.GitUtils;
|
||||
import io.onedev.server.model.Build;
|
||||
@ -36,10 +34,9 @@ import io.onedev.server.search.entity.build.BuildQuery;
|
||||
import io.onedev.server.util.DateUtils;
|
||||
import io.onedev.server.util.Input;
|
||||
import io.onedev.server.util.SecurityUtils;
|
||||
import io.onedev.server.util.inputspec.SecretInput;
|
||||
import io.onedev.server.util.userident.UserIdent;
|
||||
import io.onedev.server.web.behavior.clipboard.CopyClipboardBehavior;
|
||||
import io.onedev.server.web.component.MultilineLabel;
|
||||
import io.onedev.server.web.component.build.ParamValuesLabel;
|
||||
import io.onedev.server.web.component.entity.nav.EntityNavPanel;
|
||||
import io.onedev.server.web.component.job.JobDefLink;
|
||||
import io.onedev.server.web.component.link.ViewStateAwarePageLink;
|
||||
@ -211,10 +208,7 @@ public abstract class BuildSidePanel extends Panel {
|
||||
protected void populateItem(ListItem<Input> item) {
|
||||
Input param = item.getModelObject();
|
||||
item.add(new Label("name", param.getName()));
|
||||
if (param.getType().equals(ParamSpec.SECRET))
|
||||
item.add(new Label("value", SecretInput.MASK));
|
||||
else
|
||||
item.add(new MultilineLabel("value", StringUtils.join(param.getValues(), ",")));
|
||||
item.add(new ParamValuesLabel("value", param));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user