use of com.haulmont.cuba.gui.components.filter.descriptor.CustomConditionCreator in project cuba by cuba-platform.
the class AddConditionHelper method _addCondition.
protected void _addCondition(AbstractConditionDescriptor descriptor, ConditionsTree conditionsTree) {
final AbstractCondition condition = descriptor.createCondition();
if (descriptor instanceof CustomConditionCreator) {
WindowInfo windowInfo = windowConfig.getWindowInfo("customConditionEditor");
Map<String, Object> params = new HashMap<>();
params.put("condition", condition);
params.put("conditionsTree", conditionsTree);
params.put("filter", filter);
final CustomConditionEditor window = (CustomConditionEditor) windowManager.openWindow(windowInfo, OpenType.DIALOG, params);
window.addCloseListener(actionId -> {
if (Window.COMMIT_ACTION_ID.equals(actionId)) {
handler.handle(condition);
}
});
} else if (descriptor instanceof DynamicAttributesConditionCreator) {
WindowInfo windowInfo = windowConfig.getWindowInfo("dynamicAttributesConditionEditor");
Map<String, Object> params = new HashMap<>();
params.put("condition", condition);
params.put("filter", filter);
DynamicAttributesConditionEditor window = (DynamicAttributesConditionEditor) windowManager.openWindow(windowInfo, OpenType.DIALOG, params);
window.addCloseListener(actionId -> {
if (Window.COMMIT_ACTION_ID.equals(actionId)) {
handler.handle(condition);
}
});
} else {
handler.handle(condition);
}
}
Aggregations