SmartClient Version: v11.0p_2016-04-26/Pro Deployment (built 2016-04-26)
Hi, I have a DynamicForm and I have set implicitSave and implicitSaveOnBlur to true but the form still doesn't update when I tab from field to field or focus something completely different.
I may have misunderstood how it is supposed to work but I though that the form would save immediately when an items blurs, but it always waits for the delay before saving.
Am I missing something?
Here is a small test case
Hi, I have a DynamicForm and I have set implicitSave and implicitSaveOnBlur to true but the form still doesn't update when I tab from field to field or focus something completely different.
I may have misunderstood how it is supposed to work but I though that the form would save immediately when an items blurs, but it always waits for the delay before saving.
Am I missing something?
Here is a small test case
Code:
private Layout getLayout() { HLayout mainLayout = new HLayout(); DataSource ds = DataSource.get("test"); DynamicForm form = new DynamicForm(); form.setDataSource(ds); form.setImplicitSave(true); form.setImplicitSaveOnBlur(true); form.setImplicitSaveDelay(20000); form.fetchData(new Criteria("id", "1")); mainLayout.addMember(form); return mainLayout; }
Code:
<DataSource ID="test" serverConstructor="TestServlet"> <fields> <field name="id" type="sequence" primaryKey="true" hidden="true" /> <field name="field1" /> <field name="field2" /> </fields> </DataSource>
Code:
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.isomorphic.datasource.BasicDataSource; import com.isomorphic.datasource.DSRequest; import com.isomorphic.datasource.DSResponse; public class TestServlet extends BasicDataSource { public DSResponse executeFetch(DSRequest req) throws Exception { Map map = fetchRecords(req.getCriteria()); return new DSResponse(map); } public DSResponse executeUpdate(DSRequest req) throws Exception { Map map = updateRecord(req.getValues()); return new DSResponse(map); } private Map fetchRecords (Map criteria) { System.out.println("Fetch called!"); List<Map> list = new ArrayList<>(); Map<String, Object> map = new HashMap<>(); map.put("id", 1); map.put("field1", "test1"); map.put("field2", "test2"); list.add(map); return map; } private Map updateRecord (Map values) { return values; } }
Comment