Skip to content

Commit

Permalink
Merge branch 'master' of github.com:Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Sep 30, 2015
2 parents 04ed182 + 8430d4f commit 3d66774
Show file tree
Hide file tree
Showing 5 changed files with 239 additions and 188 deletions.
Expand Up @@ -34,16 +34,26 @@ public AceEditorPanel(String id, IModel<String> title, IModel<String> data) {
super(id, data);

this.title = title;
initPanelLayout(0);
}

public AceEditorPanel(String id, IModel<String> title, IModel<String> data, int minSize) {
super(id, data);

initPanelLayout();
this.title = title;
initPanelLayout(minSize);
}

private void initPanelLayout() {

private void initPanelLayout(int minSize) {
Label title = new Label(ID_TITLE, this.title);
add(title);

AceEditor editor = new AceEditor(ID_EDITOR, getModel());
editor.setReadonly(false);
if (minSize > 0) {
editor.setMinSize(minSize);
}
add(editor);
}

Expand Down
Expand Up @@ -18,7 +18,7 @@
<wicket:panel>

<div class="row">
<div class="col-md-6">
<div class="col-md-12">
<h3><wicket:message key="JasperReportConfigurationPanel.reportParameters"/></h3>

<div class="table-responsive" wicket:id="parametersTable"/>
Expand All @@ -30,12 +30,12 @@ <h3><wicket:message key="JasperReportConfigurationPanel.reportParameters"/></h3>
</span>
</div>
</div>
<div class="col-md-6">
<div class="col-md-12">
<h3><wicket:message key="JasperReportConfigurationPanel.reportFields"/></h3>

<div class="table-responsive" wicket:id="fieldsTable"/>

<div class="main-button-bar">
<div class="main-button-bar" style="margin-left: 20px;">
<span class="button-group">
<a class="btn btn-success" wicket:id="addField" />
<a class="btn btn-danger" wicket:id="deleteField"/>
Expand Down
Expand Up @@ -66,7 +66,7 @@ protected void initLayout() {

IModel<String> data = new Base64Model(new PropertyModel(getModel(), "jasperReportDto.jasperReportXml"));
AceEditorPanel templateEditor = new AceEditorPanel(ID_TEMPLATE,
createStringResource("PageReport.jasperTemplate"), data);
createStringResource("PageReport.jasperTemplate"), data, 300);
add(templateEditor);
}

Expand All @@ -81,21 +81,21 @@ private void initParametersTable() {
AjaxButton addParameter = new AjaxButton(ID_BUTTON_ADD_PARAMETER,
createStringResource("JasperReportConfigurationPanel.addParameter")) {

@Override
public void onClick(AjaxRequestTarget target) {
addParameterPerformed(target);
}
};
@Override
public void onClick(AjaxRequestTarget target) {
addParameterPerformed(target);
}
};
add(addParameter);

AjaxButton deleteParameter = new AjaxButton(ID_DELETE_PARAMETER,
createStringResource("JasperReportConfigurationPanel.deleteParameter")) {

@Override
public void onClick(AjaxRequestTarget target) {
deleteParameterPerformed(target);
}
};
@Override
public void onClick(AjaxRequestTarget target) {
deleteParameterPerformed(target);
}
};
add(deleteParameter);

}
Expand All @@ -111,21 +111,21 @@ private void initFiledsTable() {
AjaxButton addParameter = new AjaxButton(ID_BUTTON_ADD_FIELD,
createStringResource("JasperReportConfigurationPanel.addField")) {

@Override
public void onClick(AjaxRequestTarget target) {
addFieldPerformed(target);
}
};
@Override
public void onClick(AjaxRequestTarget target) {
addFieldPerformed(target);
}
};
add(addParameter);

AjaxButton deleteParameter = new AjaxButton(ID_DELETE_FIELD,
createStringResource("JasperReportConfigurationPanel.deleteField")) {

@Override
public void onClick(AjaxRequestTarget target) {
deleteFieldPerformed(target);
}
};
@Override
public void onClick(AjaxRequestTarget target) {
deleteFieldPerformed(target);
}
};
add(deleteParameter);
}

Expand Down Expand Up @@ -201,61 +201,57 @@ private List<IColumn<JasperReportParameterDto, String>> initParameterColumns() {
columns.add(column);

//name editing column
columns.add(new EditableLinkColumn<JasperReportParameterDto>(
createStringResource("JasperReportConfigurationPanel.parameterName"), "name") {

@Override
protected Component createInputPanel(String componentId, final IModel<JasperReportParameterDto> model) {
return createTextPanel(componentId, model, getPropertyExpression());

}

@Override
public void onClick(AjaxRequestTarget target, IModel<JasperReportParameterDto> rowModel) {
parameterEditPerformed(target, rowModel);
}
});
columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterName", "name", true));

//class editing column
columns.add(new EditableLinkColumn<JasperReportParameterDto>(
createStringResource("JasperReportConfigurationPanel.parameterClass"), "typeAsString") {

@Override
protected Component createInputPanel(String componentId, IModel<JasperReportParameterDto> model) {
return createTextPanel(componentId, model, getPropertyExpression());
}

@Override
public void onClick(AjaxRequestTarget target, IModel<JasperReportParameterDto> rowModel) {
parameterEditPerformed(target, rowModel);
}
});
columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterClass", "typeAsString", true));

//property:path editing column
columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterPropertyPath", "propertyPath", false));

//property:targetType editing column
columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterTargetType", "propertyTargetType", false));

CheckBoxColumn forPrompting = new CheckBoxColumn<JasperReportParameterDto>(
createStringResource("JasperReportConfigurationPanel.forPrompting"), "forPrompting") {

@Override
public void populateItem(Item<ICellPopulator<JasperReportParameterDto>> cellItem,
String componentId, IModel<JasperReportParameterDto> rowModel) {
CheckBoxPanel checkBox = new CheckBoxPanel(componentId,
new PropertyModel<Boolean>(rowModel, getPropertyExpression()), new Model<>(true));
cellItem.add(checkBox);
}
};
@Override
public void populateItem(Item<ICellPopulator<JasperReportParameterDto>> cellItem,
String componentId, IModel<JasperReportParameterDto> rowModel) {
CheckBoxPanel checkBox = new CheckBoxPanel(componentId,
new PropertyModel<Boolean>(rowModel, getPropertyExpression()), new Model<>(true));
cellItem.add(checkBox);
}
};

columns.add(forPrompting);

return columns;
}

private EditableLinkColumn<JasperReportParameterDto> buildEditableLinkColumn(String resource, String property, final Boolean mandatory) {
return new EditableLinkColumn<JasperReportParameterDto>(
createStringResource(resource), property) {

@Override
protected Component createInputPanel(String componentId, final IModel<JasperReportParameterDto> model) {
return createTextPanel(componentId, model, getPropertyExpression(), mandatory);

}

@Override
public void onClick(AjaxRequestTarget target, IModel<JasperReportParameterDto> rowModel) {
parameterEditPerformed(target, rowModel);
}
};
}

private void parameterEditPerformed(AjaxRequestTarget target, IModel<JasperReportParameterDto> rowModel) {
JasperReportParameterDto parameter = rowModel.getObject();
parameter.setEditing(true);
target.add(getParametersTable());
}


private TablePanel getParametersTable() {
return (TablePanel) get(ID_PARAMETERS_TABLE);
}
Expand All @@ -269,32 +265,32 @@ private List<IColumn<JasperReportFieldDto, String>> initFieldColumns() {
columns.add(new EditableLinkColumn<JasperReportFieldDto>(
createStringResource("JasperReportConfigurationPanel.fieldName"), "name") {

@Override
protected Component createInputPanel(String componentId, final IModel<JasperReportFieldDto> model) {
return createTextPanel(componentId, model, getPropertyExpression());
@Override
protected Component createInputPanel(String componentId, final IModel<JasperReportFieldDto> model) {
return createTextPanel(componentId, model, getPropertyExpression(), true);

}
}

@Override
public void onClick(AjaxRequestTarget target, IModel<JasperReportFieldDto> rowModel) {
fieldEditPerformed(target, rowModel);
}
});
@Override
public void onClick(AjaxRequestTarget target, IModel<JasperReportFieldDto> rowModel) {
fieldEditPerformed(target, rowModel);
}
});

//class editing column
columns.add(new EditableLinkColumn<JasperReportFieldDto>(
createStringResource("JasperReportConfigurationPanel.fieldClass"), "typeAsString") {

@Override
protected Component createInputPanel(String componentId, IModel<JasperReportFieldDto> model) {
return createTextPanel(componentId, model, getPropertyExpression());
}
@Override
protected Component createInputPanel(String componentId, IModel<JasperReportFieldDto> model) {
return createTextPanel(componentId, model, getPropertyExpression(), true);
}

@Override
public void onClick(AjaxRequestTarget target, IModel<JasperReportFieldDto> rowModel) {
fieldEditPerformed(target, rowModel);
}
});
@Override
public void onClick(AjaxRequestTarget target, IModel<JasperReportFieldDto> rowModel) {
fieldEditPerformed(target, rowModel);
}
});

return columns;
}
Expand All @@ -309,8 +305,7 @@ private TablePanel getFieldsTable() {
return (TablePanel) get(ID_FIELDS_TABLE);
}


private Component createTextPanel(String componentId, final IModel model, String expression) {
private Component createTextPanel(String componentId, final IModel model, String expression, final Boolean mandatory) {
TextPanel textPanel = new TextPanel<>(componentId, new PropertyModel<String>(model, expression));
FormComponent input = textPanel.getBaseFormComponent();
input.add(new AttributeAppender("style", "width: 100%"));
Expand All @@ -320,19 +315,21 @@ private Component createTextPanel(String componentId, final IModel model, String
@Override
protected void onValidate(IValidatable validatable) {
if (validatable.getValue() == null) {
error(validatable, "Empty values not allowed");
error(validatable, "JasperReportConfigurationPanel.errormsg");
}

}

@Override
public boolean validateOnNullValue() {
return mandatory;
/*
if (model.getObject() instanceof Validatable) {
return !((Validatable) model.getObject()).isEmpty();
}
return true;

*/
}
});
return textPanel;
Expand Down

0 comments on commit 3d66774

Please sign in to comment.