use of com.haulmont.cuba.gui.data.Datasource in project cuba by cuba-platform.
the class DateFieldDsTest method testUnsubscribeComponentListener.
@Test
public void testUnsubscribeComponentListener() {
DateField dateField = (DateField) factory.createComponent(DateField.NAME);
Datasource<User> userDs = getTestUserDatasource();
User user = userDs.getItem();
Date updateTs = new Date();
user.setUpdateTs(updateTs);
dateField.setDatasource(userDs, "updateTs");
dateField.setResolution(DateField.Resolution.SEC);
// unbind
dateField.setDatasource(null, null);
Component.ValueChangeListener valueChangeListener = e -> {
throw new RuntimeException("Value was changed externally");
};
dateField.addValueChangeListener(valueChangeListener);
user.setUpdateTs(new Date());
assertEquals(updateTs, dateField.getValue());
}
use of com.haulmont.cuba.gui.data.Datasource in project cuba by cuba-platform.
the class DateFieldDsTest method testUnsubscribeDsListener.
@Test
public void testUnsubscribeDsListener() {
DateField dateField = (DateField) factory.createComponent(DateField.NAME);
Datasource<User> userDs = getTestUserDatasource();
User user = userDs.getItem();
Date updateTs = new Date();
user.setUpdateTs(updateTs);
dateField.setDatasource(userDs, "updateTs");
// unbind
dateField.setDatasource(null, null);
Datasource.ItemPropertyChangeListener<User> propertyChangeListener = e -> {
throw new RuntimeException("Value was changed externally");
};
userDs.addItemPropertyChangeListener(propertyChangeListener);
dateField.setValue(new Date());
assertEquals(updateTs, user.getUpdateTs());
}
use of com.haulmont.cuba.gui.data.Datasource in project cuba by cuba-platform.
the class DatePickerDsTest method testUnsubscribeComponentListener.
@Test
public void testUnsubscribeComponentListener() {
DatePicker datePicker = (DatePicker) factory.createComponent(DatePicker.NAME);
Datasource<User> userDs = getTestUserDatasource();
User user = userDs.getItem();
Date updateTs = new Date();
user.setUpdateTs(updateTs);
datePicker.setDatasource(userDs, "updateTs");
// unbind
datePicker.setDatasource(null, null);
Component.ValueChangeListener valueChangeListener = e -> {
throw new RuntimeException("Value was changed externally");
};
datePicker.addValueChangeListener(valueChangeListener);
user.setUpdateTs(new Date());
assertEquals(updateTs, datePicker.getValue());
}
use of com.haulmont.cuba.gui.data.Datasource in project cuba by cuba-platform.
the class DatePickerDsTest method testUnsubscribeSubscribeComponentListener.
@Test
public void testUnsubscribeSubscribeComponentListener() {
DatePicker datePicker = (DatePicker) factory.createComponent(DatePicker.NAME);
Datasource<User> userDs = getTestUserDatasource();
User user = userDs.getItem();
Date updateTs = new Date();
user.setUpdateTs(updateTs);
datePicker.setDatasource(userDs, "updateTs");
// unbind
datePicker.setDatasource(null, null);
// datasource before listener
datePicker.setDatasource(userDs, "updateTs");
assertEquals(updateTs, datePicker.getValue());
boolean[] valueWasChanged = { false };
Component.ValueChangeListener listener = e -> valueWasChanged[0] = true;
datePicker.addValueChangeListener(listener);
Date updateTs2 = new Date();
user.setUpdateTs(updateTs2);
assertEquals(true, valueWasChanged[0]);
assertEquals(updateTs2, datePicker.getValue());
// reset state
datePicker.removeValueChangeListener(listener);
datePicker.setDatasource(null, null);
valueWasChanged[0] = false;
datePicker.setValue(updateTs);
// listener before datasource
datePicker.addValueChangeListener(listener);
datePicker.setDatasource(userDs, "updateTs");
assertEquals(true, valueWasChanged[0]);
assertEquals(updateTs2, datePicker.getValue());
}
use of com.haulmont.cuba.gui.data.Datasource in project cuba by cuba-platform.
the class DatePickerDsTest method testUnsubscribeSubscribeDsListener.
@Test
public void testUnsubscribeSubscribeDsListener() {
DatePicker datePicker = (DatePicker) factory.createComponent(DatePicker.NAME);
Datasource<User> userDs = getTestUserDatasource();
User user = userDs.getItem();
Date updateTs = new Date();
user.setUpdateTs(updateTs);
datePicker.setDatasource(userDs, "updateTs");
// unbind
datePicker.setDatasource(null, null);
// setup
boolean[] valueWasChanged = { false };
Datasource.ItemPropertyChangeListener<User> listener = e -> valueWasChanged[0] = true;
userDs.addItemPropertyChangeListener(listener);
datePicker.setDatasource(userDs, "updateTs");
Date updateTs2 = new Date();
datePicker.setValue(updateTs2);
assertEquals(true, valueWasChanged[0]);
assertEquals(updateTs2, user.getUpdateTs());
}
Aggregations