use of com.haulmont.cuba.web.gui.data.CollectionDsWrapper in project cuba by cuba-platform.
the class WebAbstractOptionsField method setOptionsDatasource.
@Override
public void setOptionsDatasource(CollectionDatasource datasource) {
if (datasource == this.optionsDatasource)
return;
if (this.optionsDatasource != null) {
com.vaadin.data.Container containerDataSource = component.getContainerDataSource();
if (containerDataSource instanceof CollectionDsWrapper) {
CollectionDsWrapper wrapper = (CollectionDsWrapper) containerDataSource;
wrapper.unsubscribe();
}
setComponentContainerDs(null);
}
this.optionsDatasource = datasource;
if (datasource != null) {
collectionDsListenersWrapper = createCollectionDsListenersWrapper();
setComponentContainerDs(new CollectionDsWrapper(datasource, true, collectionDsListenersWrapper));
if (captionProperty != null) {
component.setItemCaptionPropertyId(optionsDatasource.getMetaClass().getProperty(captionProperty));
}
}
}
Aggregations