Hi Isomorphic,
please see this testcase (v11.1p_2017-08-15) with some LinkItem and DynamicForms design issues.
Problems:
Best regards
Blama
please see this testcase (v11.1p_2017-08-15) with some LinkItem and DynamicForms design issues.
Problems:
- I'd expect the LinkItem to look like the TextItem when editing (Textentry box is not high enough) in DynamicForms 1+3.
- I'd expect all titles to be on one level in DynamicForms 1+2 (the TitleOrientation.TOP ones)
- Minor: Why is the name.setCanEdit(true) needed when there is already df.setCanEdit(true) in DynamicForms 1+3.
Code:
package com.smartgwt.sample.client; import com.google.gwt.core.client.EntryPoint; import com.smartgwt.client.Version; import com.smartgwt.client.core.KeyIdentifier; import com.smartgwt.client.data.AdvancedCriteria; import com.smartgwt.client.data.Criterion; import com.smartgwt.client.data.DataSource; import com.smartgwt.client.types.OperatorId; import com.smartgwt.client.types.TitleOrientation; 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.LinkItem; import com.smartgwt.client.widgets.form.fields.StaticTextItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.layout.VLayout; public class BuiltInDS implements EntryPoint { private VLayout mainLayout; 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(); } }); LinkItem li = new LinkItem() { { setWidth("*"); setHeight(60); setCanSelectText(true); } }; LinkItem.setDefaultProperties(li); TextItem ti = new TextItem() { { setWidth("*"); setHeight(60); setCanSelectText(true); } }; TextItem.setDefaultProperties(ti); LinkItem.setDefaultProperties(li); StaticTextItem sti = new StaticTextItem() { { setWidth("*"); setHeight(60); setCanSelectText(true); } }; StaticTextItem.setDefaultProperties(sti); mainLayout = new VLayout(20); mainLayout.setWidth100(); mainLayout.setHeight100(); recreateBtn = new IButton("Recreate"); recreateBtn.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { recreate(); } }); mainLayout.addMember(recreateBtn); recreate(); mainLayout.draw(); } private void recreate() { Window w = new Window(); w.setWidth("95%"); w.setCanDragResize(true); w.setHeight("95%"); w.setMembersMargin(0); w.setModalMaskOpacity(70); w.setTitle(" (" + Version.getVersion() + "/" + Version.getSCVersionNumber() + ")"); w.setTitle("LinkItems do not respect setHeight if used in a Dynamic Form with TitleOrientation.TOP" + w.getTitle()); w.setShowMinimizeButton(false); w.setIsModal(true); w.setShowModalMask(true); w.centerInPage(); { final DynamicForm df = new DynamicForm(); df.setIsGroup(true); df.setGroupTitle("DF1"); df.setTitleOrientation(TitleOrientation.TOP); df.setNumCols(3); df.setDataSource(DataSource.get("employees")); df.setCanEdit(true); StaticTextItem sti = new StaticTextItem("sti", "Dummyitem"); sti.setDefaultValue("LinkItems do not respect setHeight if used in a Dynamic Form with TitleOrientation.TOP"); TextItem employeeId = new TextItem("EmployeeId"); LinkItem name = new LinkItem("Name"); // Why this is needed? name.setCanEdit(true); df.setFields(employeeId, name, sti); df.fetchData(new AdvancedCriteria(new Criterion(employeeId.getName(), OperatorId.EQUALS, 4))); w.addItem(df); } { final DynamicForm df = new DynamicForm(); df.setIsGroup(true); df.setGroupTitle("DF2"); df.setTitleOrientation(TitleOrientation.TOP); df.setNumCols(2); df.setDataSource(DataSource.get("employees")); df.setCanEdit(false); TextItem employeeId = new TextItem("EmployeeId"); LinkItem name = new LinkItem("Name"); df.setFields(employeeId, name); df.fetchData(new AdvancedCriteria(new Criterion(employeeId.getName(), OperatorId.EQUALS, 4))); w.addItem(df); } { final DynamicForm df = new DynamicForm(); df.setIsGroup(true); df.setGroupTitle("DF3"); df.setDataSource(DataSource.get("employees")); df.setCanEdit(true); TextItem employeeId = new TextItem("EmployeeId"); LinkItem name = new LinkItem("Name"); // Why this is needed? name.setCanEdit(true); df.setFields(employeeId, name); df.fetchData(new AdvancedCriteria(new Criterion(employeeId.getName(), OperatorId.EQUALS, 4))); w.addItem(df); } { final DynamicForm df = new DynamicForm(); df.setIsGroup(true); df.setGroupTitle("DF4"); df.setDataSource(DataSource.get("employees")); df.setCanEdit(false); TextItem employeeId = new TextItem("EmployeeId"); LinkItem name = new LinkItem("Name"); df.setFields(employeeId, name); df.fetchData(new AdvancedCriteria(new Criterion(employeeId.getName(), OperatorId.EQUALS, 4))); w.addItem(df); } w.show(); } }
Best regards
Blama
Comment