}
public void removeAllCriteres() {
- while (getRowCount() > 1) {
+ while (getRowCount() > 0) {
removeRow(getRowCount() - 1);
}
}
public int addNewCriteria(final CritereTypeDTO critereType, PostRunnable... runners) {
int row = getRowCount();
- SelectCritereWidget selectWigdet = buildCriteriaSelectUI(row, critereType, false, runners);
- buildCriteriaInputUI(row, selectWigdet.getSelectedCritere(), runners);
+ buildCriteriaSelectUI(row, critereType, false, runners);
+ buildCriteriaInputUI(row, critereType, runners);
return row;
}
* @param critereType
*/
protected void buildCriteriaInputUI(final int row, final CritereTypeDTO critereType, final PostRunnable... runners) {
+ final ArrayList<PropertyDTO> properties = (critereType == null ? null : critereType.getProperties());
final SelectCritereWidget selectCritereWidget = getSelectCritereWidget(row);
- final ArrayList<PropertyDTO> properties = critereType.getProperties();
- selectCritereWidget.setSelectedCritere(critereType);
+ if (critereType != null) {
+ selectCritereWidget.setSelectedCritere(critereType);
+ }
ServiceLocator.getXemeliosService().getCritereDefinition(getMainWidget().getSearchSessionId(), getMainWidget().getCollectiviteId(), getMainWidget().getBudgetId(), selectCritereWidget.getSelectedCritere().getId(), searchInitParameters.getPluginId(),
new AsyncCallback<ArrayList<CritereItemDTO>>() {
CritereLineContainer criteriaLineContainer = new CritereLineContainer(CriteriaTable.this, selectCritereWidget.getSelectedCritere().getId(), selectCritereWidget.getOffsetHeight());
for (CritereItemDTO critereItem : result) {
- CritereWidget cw = CritereWidgetFactory.createWidget(criteriaLineContainer, critereItem, properties);
+ CritereWidget cw = (properties == null ? CritereWidgetFactory.createWidget(criteriaLineContainer, critereItem) : CritereWidgetFactory.createWidget(criteriaLineContainer, critereItem, properties));
if (cw != null) {
criteriaLineContainer.add(cw);