IDEMPIERE-5068 Improvement to report viewer find dialog (#1023)
* IDEMPIERE-5068 Improvement to report viewer find dialog * IDEMPIERE-5068 Improvement to report viewer find dialog Fix javascript error
This commit is contained in:
parent
7b1c9322f9
commit
c9b563f408
|
@ -191,7 +191,7 @@ public final class LayoutUtils {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* open popup window relative to the ref component
|
* open embedded window relative to the ref component
|
||||||
* @param ref
|
* @param ref
|
||||||
* @param window
|
* @param window
|
||||||
* @param position
|
* @param position
|
||||||
|
@ -207,7 +207,26 @@ public final class LayoutUtils {
|
||||||
.append("');");
|
.append("');");
|
||||||
window.setVisible(true);
|
window.setVisible(true);
|
||||||
window.setMode(Mode.EMBEDDED);
|
window.setMode(Mode.EMBEDDED);
|
||||||
Clients.response("_openPopupWindow_", new AuScript(window, script.toString()));
|
Clients.response("_openEmbeddedWindow_", new AuScript(window, script.toString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* open highlighted window relative to the ref component
|
||||||
|
* @param ref
|
||||||
|
* @param window
|
||||||
|
* @param position
|
||||||
|
*/
|
||||||
|
public static void openHighlightedWindow(Component ref, Window window, String position) {
|
||||||
|
StringBuilder script = new StringBuilder();
|
||||||
|
script.append("idempiere.show_popup_window('#")
|
||||||
|
.append(ref.getUuid())
|
||||||
|
.append("','#")
|
||||||
|
.append(window.getUuid())
|
||||||
|
.append("','")
|
||||||
|
.append(position)
|
||||||
|
.append("');");
|
||||||
|
window.setMode(Mode.HIGHLIGHTED);
|
||||||
|
Clients.response("_openHighlightedWindow_", new AuScript(window, script.toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -509,4 +528,18 @@ public final class LayoutUtils {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set target same width as ref using client side script
|
||||||
|
* @param target
|
||||||
|
* @param ref
|
||||||
|
*/
|
||||||
|
public static void sameWidth(HtmlBasedComponent target, HtmlBasedComponent ref) {
|
||||||
|
StringBuilder script = new StringBuilder()
|
||||||
|
.append("var t=zk.Widget.$('#").append(target.getUuid()).append("');")
|
||||||
|
.append("var r=zk.Widget.$('#").append(ref.getUuid()).append("');")
|
||||||
|
.append("jq(t).css({'width':").append("jq(r).width()+'px'});")
|
||||||
|
.append("t.setWidth(\"").append("jq(r).width()+'px'\");");
|
||||||
|
Clients.response("_sameWidth_", new AuScript(target, script.toString()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -227,6 +227,8 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
|
||||||
private final Map<String, Supplier<AMedia>> mediaSuppliers = new HashMap<String, Supplier<AMedia>>();
|
private final Map<String, Supplier<AMedia>> mediaSuppliers = new HashMap<String, Supplier<AMedia>>();
|
||||||
|
|
||||||
private Center center;
|
private Center center;
|
||||||
|
|
||||||
|
private FindWindow find;
|
||||||
/**
|
/**
|
||||||
* Static Layout
|
* Static Layout
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
|
@ -1513,22 +1515,30 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
|
||||||
bFind.setVisible(false);
|
bFind.setVisible(false);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
final FindWindow find = new FindWindow(m_WindowNo, 0, title, AD_Table_ID, tableName,m_reportEngine.getWhereExtended(), findFields, 1, AD_Tab_ID);
|
if (find == null)
|
||||||
if (!find.initialize())
|
{
|
||||||
return;
|
find = new FindWindow(m_WindowNo, 0, title, AD_Table_ID, tableName,m_reportEngine.getWhereExtended(), findFields, 1, AD_Tab_ID);
|
||||||
|
if (!find.initialize())
|
||||||
|
{
|
||||||
|
find = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
find.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {
|
find.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(Event event) throws Exception {
|
public void onEvent(Event event) throws Exception {
|
||||||
if (!find.isCancel())
|
if (!find.isCancel())
|
||||||
{
|
{
|
||||||
m_reportEngine.setQuery(find.getQuery());
|
m_reportEngine.setQuery(find.getQuery());
|
||||||
postRenderReportEvent();
|
postRenderReportEvent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
find.setTitle(null);
|
setupFindwindow(find);
|
||||||
LayoutUtils.openPopupWindow(toolBar, find, "after_start");
|
}
|
||||||
|
getParent().appendChild(find);
|
||||||
|
LayoutUtils.openHighlightedWindow(toolBar, find, "after_start");
|
||||||
|
LayoutUtils.sameWidth(find, this);
|
||||||
}
|
}
|
||||||
} // cmd_find
|
} // cmd_find
|
||||||
|
|
||||||
|
@ -1893,4 +1903,14 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
|
||||||
return m_reportEngine.getName();
|
return m_reportEngine.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setupFindwindow(FindWindow findWindow) {
|
||||||
|
findWindow.setTitle(null);
|
||||||
|
findWindow.setBorder("none");
|
||||||
|
if (ClientInfo.maxHeight(ClientInfo.MEDIUM_HEIGHT-1))
|
||||||
|
ZKUpdateUtil.setHeight(findWindow, "100%");
|
||||||
|
else
|
||||||
|
ZKUpdateUtil.setHeight(findWindow, "60%");
|
||||||
|
findWindow.setSizable(false);
|
||||||
|
findWindow.setContentStyle("background-color: #fff; width: 99%; margin: auto;");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue