Search in sources :

Example 1 with CollectionDsWrapper

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));
        }
    }
}
Also used : CollectionDsWrapper(com.haulmont.cuba.web.gui.data.CollectionDsWrapper)

Aggregations

CollectionDsWrapper (com.haulmont.cuba.web.gui.data.CollectionDsWrapper)1