Hi Isomorphic,
DateTimeItem.setValue() is not working as expected when it's used in "EditorExitHandler"
SmartClient Version: v12.0p_2019-12-14/PowerEdition Deployment (built 2019-12-14)
Google Chrome Version 79.0.3945.117 (Official Build) (64-bit)

Best regards
Pavo
DateTimeItem.setValue() is not working as expected when it's used in "EditorExitHandler"
SmartClient Version: v12.0p_2019-12-14/PowerEdition Deployment (built 2019-12-14)
Google Chrome Version 79.0.3945.117 (Official Build) (64-bit)
Code:
package com.smartgwt.sample.client;
import java.util.Date;
import com.google.gwt.core.client.EntryPoint;
import com.smartgwt.client.core.KeyIdentifier;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.util.Page;
import com.smartgwt.client.util.PageKeyHandler;
import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.IButton;
import com.smartgwt.client.widgets.Window;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.DateTimeItem;
import com.smartgwt.client.widgets.form.fields.events.EditorExitEvent;
import com.smartgwt.client.widgets.form.fields.events.EditorExitHandler;
import com.smartgwt.client.widgets.layout.VLayout;
public class BuiltInDS extends VLayout implements EntryPoint {
private IButton recreateBtn;
public void onModuleLoad() {
KeyIdentifier debugKey = new KeyIdentifier();
debugKey.setCtrlKey(true);
debugKey.setKeyName("D");
Page.registerKey(debugKey, new PageKeyHandler() {
public void execute(String keyName) {
SC.showConsole();
}
});
setWidth100();
setHeight100();
recreateBtn = new IButton("Recreate");
recreateBtn.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
new MyWindow().show();
}
});
addMember(recreateBtn);
new MyWindow().show();
draw();
}
private class MyWindow extends Window {
public MyWindow() {
setWidth(400);
setHeight(300);
setMembersMargin(0);
setModalMaskOpacity(70);
setShowMinimizeButton(false);
setIsModal(true);
setShowModalMask(true);
centerInPage();
CustomDateTimeItem dti1 = new CustomDateTimeItem(true);
dti1.setTitle("Exitor handler");
CustomDateTimeItem dti2 = new CustomDateTimeItem(false);
dti2.setTitle("Exitor handler not added");
DynamicForm dF = new DynamicForm();
dF.setFields(dti1, dti2);
setMembers(dF);
}
}
private class CustomDateTimeItem extends DateTimeItem {
public CustomDateTimeItem(Boolean addExitorHandler) {
if (addExitorHandler)
addEditorExitHandler(new EditorExitHandler() {
@Override
public void onEditorExit(EditorExitEvent event) {
event.getItem().setValue(new Date());
}
});
setWidth("100%");
setTitleColSpan(1);
setTextAlign(Alignment.CENTER);
setAlign(Alignment.LEFT);
setShowPickerIcon(true);
setUseTextField(true);
setShowHintInField(true);
setBrowserInputType("datetime");
}
}
}
Pavo
Comment