[ 2549235 ] Search window - too many records

minor twist to focus logic in form view.
This commit is contained in:
Heng Sin Low 2009-03-10 06:50:13 +00:00
parent 3d373500ff
commit 6101318f3f
3 changed files with 53 additions and 25 deletions

View File

@ -29,10 +29,10 @@ import java.util.logging.Level;
import org.adempiere.webui.LayoutUtils; import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.component.Column; import org.adempiere.webui.component.Column;
import org.adempiere.webui.component.Columns; import org.adempiere.webui.component.Columns;
import org.adempiere.webui.component.EditorBox;
import org.adempiere.webui.component.Grid; import org.adempiere.webui.component.Grid;
import org.adempiere.webui.component.GridPanel; import org.adempiere.webui.component.GridPanel;
import org.adempiere.webui.component.Label; import org.adempiere.webui.component.Label;
import org.adempiere.webui.component.Listbox;
import org.adempiere.webui.component.Row; import org.adempiere.webui.component.Row;
import org.adempiere.webui.component.Rows; import org.adempiere.webui.component.Rows;
import org.adempiere.webui.component.SimpleTreeModel; import org.adempiere.webui.component.SimpleTreeModel;
@ -730,21 +730,29 @@ DataStatusListener, IADTabpanel
panel.tabPanel.activate(activate); panel.tabPanel.activate(activate);
} }
private void setFocusToField() { /**
WEditor toFocus = null; * set focus to first active editor
*/
private void setFocusToField() {
WEditor toFocus = null;
for (WEditor editor : editors) { for (WEditor editor : editors) {
if (editor.isHasFocus()) { if (editor.isHasFocus() && editor.isVisible() && editor.getComponent().getParent() != null) {
toFocus = editor; toFocus = editor;
break; break;
} }
if (toFocus == null) { if (toFocus == null) {
if (editor.isVisible() && editor.isReadWrite()) { if (editor.isVisible() && editor.isReadWrite() && editor.getComponent().getParent() != null) {
toFocus = editor; toFocus = editor;
} }
} }
} }
if (toFocus != null) { if (toFocus != null) {
Clients.response(new AuFocus(toFocus.getComponent())); Component c = toFocus.getComponent();
if (c instanceof EditorBox) {
c = ((EditorBox)c).getTextbox();
}
Clients.response(new AuFocus(c));
} }
} }

View File

@ -310,8 +310,8 @@ public abstract class InfoPanel extends Window implements EventListener, WTableM
protected CLogger log = CLogger.getCLogger(getClass()); protected CLogger log = CLogger.getCLogger(getClass());
protected WListbox contentPanel = new WListbox(); protected WListbox contentPanel = new WListbox();
private Paging paging; protected Paging paging;
private int pageNo; protected int pageNo;
private static final String[] lISTENER_EVENTS = {}; private static final String[] lISTENER_EVENTS = {};
@ -475,7 +475,12 @@ public abstract class InfoPanel extends Window implements EventListener, WTableM
paging.setTotalSize(line.size()); paging.setTotalSize(line.size());
paging.setDetailed(true); paging.setDetailed(true);
paging.addEventListener(ZulEvents.ON_PAGING, this); paging.addEventListener(ZulEvents.ON_PAGING, this);
contentPanel.getParent().insertBefore(paging, contentPanel.getNextSibling()); insertPagingComponent();
}
else
{
paging.setTotalSize(line.size());
paging.setActivePage(0);
} }
List<Object> subList = line.subList(0, PAGE_SIZE); List<Object> subList = line.subList(0, PAGE_SIZE);
model = new ListModelTable(subList); model = new ListModelTable(subList);
@ -489,6 +494,7 @@ public abstract class InfoPanel extends Window implements EventListener, WTableM
if (paging != null) if (paging != null)
{ {
paging.setTotalSize(line.size()); paging.setTotalSize(line.size());
paging.setActivePage(0);
pageNo = 0; pageNo = 0;
} }
model = new ListModelTable(line); model = new ListModelTable(line);
@ -504,7 +510,10 @@ public abstract class InfoPanel extends Window implements EventListener, WTableM
contentPanel.renderAll(); contentPanel.renderAll();
} }
protected void insertPagingComponent() {
contentPanel.getParent().insertBefore(paging, contentPanel.getNextSibling());
}
public Vector<String> getColumnHeader(ColumnInfo[] p_layout) public Vector<String> getColumnHeader(ColumnInfo[] p_layout)
{ {
Vector<String> columnHeader = new Vector<String>(); Vector<String> columnHeader = new Vector<String>();

View File

@ -80,6 +80,7 @@ import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.event.Events;
import org.zkoss.zkex.zul.Borderlayout; import org.zkoss.zkex.zul.Borderlayout;
import org.zkoss.zkex.zul.Center; import org.zkoss.zkex.zul.Center;
import org.zkoss.zkex.zul.North;
import org.zkoss.zkex.zul.South; import org.zkoss.zkex.zul.South;
import org.zkoss.zul.Div; import org.zkoss.zul.Div;
import org.zkoss.zul.Separator; import org.zkoss.zul.Separator;
@ -404,18 +405,15 @@ public final class InfoProductPanel extends InfoPanel implements EventListener
desktopTabPanel.setHeight("100%"); desktopTabPanel.setHeight("100%");
desktopTabPanel.appendChild(m_tableAtp); desktopTabPanel.appendChild(m_tableAtp);
tabPanels.appendChild(desktopTabPanel); tabPanels.appendChild(desktopTabPanel);
// //
borderlayout.setWidth("100%"); borderlayout.setWidth("100%");
borderlayout.setHeight("400px"); borderlayout.setHeight("100%");
borderlayout.setStyle("border: none; position: relative"); borderlayout.setStyle("border: none; position: relative");
Center center = new Center(); Center center = new Center();
center.setAutoscroll(true); center.setAutoscroll(true);
center.setFlex(true); center.setFlex(true);
borderlayout.appendChild(center); borderlayout.appendChild(center);
Div div = new Div(); center.appendChild(contentPanel);
div.appendChild(contentPanel);
center.appendChild(div);
South south = new South(); South south = new South();
south.setHeight("120px"); south.setHeight("120px");
south.setCollapsible(true); south.setCollapsible(true);
@ -426,18 +424,24 @@ public final class InfoProductPanel extends InfoPanel implements EventListener
borderlayout.appendChild(south); borderlayout.appendChild(south);
south.appendChild(tabbedPane); south.appendChild(tabbedPane);
Panel mainPanel = new Panel(); Borderlayout mainPanel = new Borderlayout();
mainPanel.setWidth("100%"); mainPanel.setWidth("100%");
mainPanel.appendChild(grid); mainPanel.setHeight("100%");
mainPanel.appendChild(new Separator()); North north = new North();
mainPanel.appendChild(borderlayout); mainPanel.appendChild(north);
mainPanel.appendChild(new Separator()); north.appendChild(grid);
mainPanel.appendChild(confirmPanel); center = new Center();
mainPanel.appendChild(center);
center.appendChild(borderlayout);
south = new South();
mainPanel.appendChild(south);
south.appendChild(confirmPanel);
this.appendChild(mainPanel); this.appendChild(mainPanel);
this.setClosable(true); this.setClosable(true);
this.setBorder("normal"); this.setBorder("normal");
this.setWidth("1000px"); this.setWidth("1000px");
this.setHeight("650px");
contentPanel.addActionListener(new EventListener() { contentPanel.addActionListener(new EventListener() {
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
@ -458,7 +462,14 @@ public final class InfoProductPanel extends InfoPanel implements EventListener
} }
}); });
} }
@Override
protected void insertPagingComponent() {
North north = new North();
north.appendChild(paging);
borderlayout.appendChild(north);
}
/** /**
* Refresh Query * Refresh Query
*/ */