org.zkoss.zk.ui.util
Class Clients

java.lang.Object
  extended by org.zkoss.zk.ui.util.Clients

public class Clients
extends java.lang.Object

Utilities to send AuResponse to the client.

Utilities here are mainly to control how the client (a.k.a., the browser window) behaves. To get the status, you might refer to ClientInfoEvent.

Author:
tomyeh
See Also:
ClientInfoEvent

Field Summary
static java.lang.String NOTIFICATION_TYPE_ERROR
          Notification type: error
static java.lang.String NOTIFICATION_TYPE_INFO
          Notification type: information
static java.lang.String NOTIFICATION_TYPE_WARNING
          Notification type: warning
 
Constructor Summary
Clients()
           
 
Method Summary
static void alert(java.lang.String msg)
          Shows an error message at the browser.
static void alert(java.lang.String msg, java.lang.String title, java.lang.String icon)
          Shows an error message at the browser.
static void clearBusy()
          Cleans the busy message at the browser.
static void clearBusy(Component comp)
          Clears the busy message at the browser that covers only the specified component.
static void clearWrongValue(Component comp)
          Closes the error message of the specified component, if any, at the browser.
static void clearWrongValue(Component[] comps)
          Closes the error message of the specified components, if any, at the browser.
static void clearWrongValue(java.util.List<Component> comps)
          Closes the error message of the specified components, if any, at the browser.
static void confirmClose(java.lang.String mesg)
          Asks the browser to confirm users whether to close the browser window.
static void evalJavaScript(java.lang.String javaScript)
          Asks the browser to evaluate the specified JavaScript.
static void loadCSS(java.lang.String url)
          Loads a CSS file.
static void loadScript(java.lang.String url)
          Loads a JavaScript file to client and execute it.
static void loadScript(java.lang.String url, java.lang.String callback, boolean cache)
          Loads a JavaScript file to client and execute it.
static void log(java.lang.String msg)
          Logs the message to the client.
static void moveBy(int x, int y)
          Moves the current desktop (a.k.a., browser window) by the specified number of pixels.
static void moveTo(int x, int y)
          Moves the current desktop (a.k.a., browser window) to the specified location (in pixels).
static void print()
          Asks the client to print the current desktop (a.k.a., browser window).
static void reloadMessages(java.util.Locale locale)
          Reloads the client-side messages in the specified locale.
static void resize(Component comp)
          Forces the client to re-calculate the size of the given component.
static void resizeBy(int x, int y)
          Resizes the current desktop (a.k.a., browser window) by the specified number of pixels.
static void resizeTo(int x, int y)
          Resizes the current desktop (a.k.a., browser window) to the specified size (in pixels).
static void response(AuResponse response)
          Sends an AU response (AuResponse) to the client.
static void response(java.lang.String key, AuResponse response)
          Sends an AU response (AuResponse) to the client with the given key (instead of AuResponse.getOverrideKey()).
static void scrollBy(int x, int y)
          Scrolls the current desktop (a.k.a., browser window) by the specified number of pixels.
static void scrollIntoView(Component cmp)
          Scrolls the ancestor elements to make the specified element visible.
static void scrollTo(int x, int y)
          Scrolls the current desktop (a.k.a., browser window) to the specified location (in pixels).
static void showBusy(Component comp, java.lang.String msg)
          Shows the busy message at the browser that covers only the specified component.
static void showBusy(java.lang.String msg)
          Shows the busy message at the browser such that the user knows the system is busy.
static void showNotification(java.lang.String msg)
          Shows a message at the center of the browser window.
static void showNotification(java.lang.String msg, boolean closable)
          Shows a message at the center of the browser window.
static void showNotification(java.lang.String msg, Component ref)
          Shows a message at the right side of the given component.
static void showNotification(java.lang.String msg, Component ref, boolean closable)
          Shows a message at the right side of the given component.
static void showNotification(java.lang.String msg, java.lang.String type, Component ref, int x, int y, int duration)
          Displays a message.
static void showNotification(java.lang.String msg, java.lang.String type, Component ref, int x, int y, int duration, boolean closable)
          Displays a message.
static void showNotification(java.lang.String msg, java.lang.String type, Component ref, java.lang.String position, int duration)
          Displays a message.
static void showNotification(java.lang.String msg, java.lang.String type, Component ref, java.lang.String position, int duration, boolean closable)
          Displays a message.
static void submitForm(Component form)
          Submits the form with the specified form.
static void submitForm(java.lang.String formId)
          Submits the form with the specified ID.
static void wrongValue(Component comp, java.lang.String msg)
          Shows an error message for the specified component, if any, at the browser.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NOTIFICATION_TYPE_INFO

public static final java.lang.String NOTIFICATION_TYPE_INFO
Notification type: information

See Also:
Constant Field Values

NOTIFICATION_TYPE_WARNING

public static final java.lang.String NOTIFICATION_TYPE_WARNING
Notification type: warning

See Also:
Constant Field Values

NOTIFICATION_TYPE_ERROR

public static final java.lang.String NOTIFICATION_TYPE_ERROR
Notification type: error

See Also:
Constant Field Values
Constructor Detail

Clients

public Clients()
Method Detail

response

public static final void response(AuResponse response)
Sends an AU response (AuResponse) to the client. It is the same as response(response.getOverrideKey(), response).

Since:
3.0.0

response

public static final void response(java.lang.String key,
                                  AuResponse response)
Sends an AU response (AuResponse) to the client with the given key (instead of AuResponse.getOverrideKey()).

Parameters:
key - could be anything. The second invocation of this method in the same execution with the same key will override the previous one. In other words, the previous one will be dropped. If null is specified, the response is simply appended to the end without overriding any previous one.
Since:
3.0.4
See Also:
response(org.zkoss.zk.au.AuResponse)

confirmClose

public static final void confirmClose(java.lang.String mesg)
Asks the browser to confirm users whether to close the browser window.

If an non-null (non-empty) string is set, the browser will show up a confirmation dialog when an user tries to close the browser window, or browse to another URL. To reset (i.e., not showing any confirmation dialog), just call this method again with null.

Parameters:
mesg - the message to show when confirming users. If null (default) or empty, users can close the browser window directly.

alert

public static final void alert(java.lang.String msg)
Shows an error message at the browser. It works and looks similar to Messagebox. However, it is not customizable (at the server), but it is much faster and light-weighted.

Since:
5.0.3

alert

public static final void alert(java.lang.String msg,
                               java.lang.String title,
                               java.lang.String icon)
Shows an error message at the browser. It is similar to Messagebox.

Parameters:
msg - the message to display.
title - the title of the message box
icon - the icon to show. It could null, "QUESTION", "EXCLAMATION", "INFORMATION", "ERROR", "NONE". If null, "ERROR" is assumed
Since:
5.0.3

wrongValue

public static final void wrongValue(Component comp,
                                    java.lang.String msg)
Shows an error message for the specified component, if any, at the browser.

You have to clear the error message manually with clearWrongValue(org.zkoss.zk.ui.Component).

Since:
5.0.0

clearWrongValue

public static final void clearWrongValue(Component comp)
Closes the error message of the specified component, if any, at the browser.

Since:
5.0.0

clearWrongValue

public static final void clearWrongValue(java.util.List<Component> comps)
Closes the error message of the specified components, if any, at the browser.

Since:
5.0.0

clearWrongValue

public static final void clearWrongValue(Component[] comps)
Closes the error message of the specified components, if any, at the browser.

Since:
5.0.0

submitForm

public static final void submitForm(java.lang.String formId)
Submits the form with the specified ID.


submitForm

public static final void submitForm(Component form)
Submits the form with the specified form. It assumes the form component is a HTML form.


print

public static void print()
Asks the client to print the current desktop (a.k.a., browser window).


scrollIntoView

public static final void scrollIntoView(Component cmp)
Scrolls the ancestor elements to make the specified element visible.

Since:
3.6.1

scrollBy

public static final void scrollBy(int x,
                                  int y)
Scrolls the current desktop (a.k.a., browser window) by the specified number of pixels. If the number passed is positive, the desktop is scrolled down. If negative, it is scrolled up.

See Also:
scrollTo(int, int)

scrollTo

public static final void scrollTo(int x,
                                  int y)
Scrolls the current desktop (a.k.a., browser window) to the specified location (in pixels).

See Also:
scrollBy(int, int)

resizeBy

public static final void resizeBy(int x,
                                  int y)
Resizes the current desktop (a.k.a., browser window) by the specified number of pixels. If the numbers passed are positive, the desktop size is increased. Negative numbers reduce the size of the desktop.

See Also:
resizeTo(int, int)

resizeTo

public static final void resizeTo(int x,
                                  int y)
Resizes the current desktop (a.k.a., browser window) to the specified size (in pixels).

See Also:
resizeBy(int, int)

moveBy

public static final void moveBy(int x,
                                int y)
Moves the current desktop (a.k.a., browser window) by the specified number of pixels. If the number passed is positive, the desktop is moved down. If negative, it is moved up.

See Also:
moveTo(int, int)

moveTo

public static final void moveTo(int x,
                                int y)
Moves the current desktop (a.k.a., browser window) to the specified location (in pixels).

See Also:
moveBy(int, int)

evalJavaScript

public static final void evalJavaScript(java.lang.String javaScript)
Asks the browser to evaluate the specified JavaScript.

It has no effect if the client doesn't support JavaScript.

Parameters:
javaScript - the javaScript codes to run at the browser

showNotification

public static final void showNotification(java.lang.String msg)
Shows a message at the center of the browser window.

Parameters:
msg - the message to show
Since:
6.0.1

showNotification

public static final void showNotification(java.lang.String msg,
                                          boolean closable)
Shows a message at the center of the browser window.

Parameters:
msg - the message to show
closable - whether to close notification manually or not. If true there will be a close button on notification message and won't close until user click the button or duration time up, default false.
Since:
6.5.0

showNotification

public static final void showNotification(java.lang.String msg,
                                          Component ref)
Shows a message at the right side of the given component.

Parameters:
msg - the message to show
ref - the referenced component, null to be based on browser window
Since:
6.0.1

showNotification

public static final void showNotification(java.lang.String msg,
                                          Component ref,
                                          boolean closable)
Shows a message at the right side of the given component.

Parameters:
msg - the message to show
ref - the referenced component, null to be based on browser window
closable - whether to close notification manually or not. If true there will be a close button on notification message and won't close until user click the button or duration time up, default false.
Since:
6.5.0

showNotification

public static final void showNotification(java.lang.String msg,
                                          java.lang.String type,
                                          Component ref,
                                          java.lang.String position,
                                          int duration)
Displays a message.

Parameters:
msg - the message to show
type - available types are "info", "warning", "error"
ref - the referenced component, null to be based on browser window
position - predefined positions.

Available options are:

  • before_start
    the message appears above the anchor, aligned to the left.
  • before_center
    the message appears above the anchor, aligned to the center.
  • before_end
    the message appears above the anchor, aligned to the right.
  • after_start
    the message appears below the anchor, aligned to the left.
  • after_center
    the message appears below the anchor, aligned to the center.
  • after_end
    the message appears below the anchor, aligned to the right.
  • start_before
    the message appears to the left of the anchor, aligned to the top.
  • start_center
    the message appears to the left of the anchor, aligned to the middle.
  • start_after
    the message appears to the left of the anchor, aligned to the bottom.
  • end_before
    the message appears to the right of the anchor, aligned to the top.
  • end_center
    the message appears to the right of the anchor, aligned to the middle.
  • end_after
    the message appears to the right of the anchor, aligned to the bottom.
  • overlap/top_left
    the message overlaps the anchor, with anchor and message aligned at top-left.
  • top_center
    the message overlaps the anchor, with anchor and message aligned at top-center.
  • overlap_end/top_right
    the message overlaps the anchor, with anchor and message aligned at top-right.
  • middle_left
    the message overlaps the anchor, with anchor and message aligned at middle-left.
  • middle_center
    the message overlaps the anchor, with anchor and message aligned at middle-center.
  • middle_right
    the message overlaps the anchor, with anchor and message aligned at middle-right.
  • overlap_before/bottom_left
    the message overlaps the anchor, with anchor and message aligned at bottom-left.
  • bottom_center
    the message overlaps the anchor, with anchor and message aligned at bottom-center.
  • overlap_after/bottom_right
    the message overlaps the anchor, with anchor and message aligned at bottom-right.
  • at_pointer
    the message appears with the upper-left aligned with the mouse cursor.
  • after_pointer
    the message appears with the top aligned with the bottom of the mouse cursor, with the left side of the message at the horizontal position of the mouse cursor.

duration - the duration of notification in millisecond. If zero or negative the notification does not dismiss until user left-clicks outside of the notification box.
Since:
6.0.1

showNotification

public static final void showNotification(java.lang.String msg,
                                          java.lang.String type,
                                          Component ref,
                                          java.lang.String position,
                                          int duration,
                                          boolean closable)
Displays a message.

Parameters:
msg - the message to show
type - available types are "info", "warning", "error"
ref - the referenced component, null to be based on browser window
position - predefined positions.

Available options are:

  • before_start
    the message appears above the anchor, aligned to the left.
  • before_center
    the message appears above the anchor, aligned to the center.
  • before_end
    the message appears above the anchor, aligned to the right.
  • after_start
    the message appears below the anchor, aligned to the left.
  • after_center
    the message appears below the anchor, aligned to the center.
  • after_end
    the message appears below the anchor, aligned to the right.
  • start_before
    the message appears to the left of the anchor, aligned to the top.
  • start_center
    the message appears to the left of the anchor, aligned to the middle.
  • start_after
    the message appears to the left of the anchor, aligned to the bottom.
  • end_before
    the message appears to the right of the anchor, aligned to the top.
  • end_center
    the message appears to the right of the anchor, aligned to the middle.
  • end_after
    the message appears to the right of the anchor, aligned to the bottom.
  • overlap/top_left
    the message overlaps the anchor, with anchor and message aligned at top-left.
  • top_center
    the message overlaps the anchor, with anchor and message aligned at top-center.
  • overlap_end/top_right
    the message overlaps the anchor, with anchor and message aligned at top-right.
  • middle_left
    the message overlaps the anchor, with anchor and message aligned at middle-left.
  • middle_center
    the message overlaps the anchor, with anchor and message aligned at middle-center.
  • middle_right
    the message overlaps the anchor, with anchor and message aligned at middle-right.
  • overlap_before/bottom_left
    the message overlaps the anchor, with anchor and message aligned at bottom-left.
  • bottom_center
    the message overlaps the anchor, with anchor and message aligned at bottom-center.
  • overlap_after/bottom_right
    the message overlaps the anchor, with anchor and message aligned at bottom-right.
  • at_pointer
    the message appears with the upper-left aligned with the mouse cursor.
  • after_pointer
    the message appears with the top aligned with the bottom of the mouse cursor, with the left side of the message at the horizontal position of the mouse cursor.

duration - the duration of notification in millisecond. If zero or negative the notification does not dismiss until user left-clicks outside of the notification box.
closable - whether to close notification manually or not. If true there will be a close button on notification message and won't close until user click the button or duration time up, default false.
Since:
6.5.0

showNotification

public static final void showNotification(java.lang.String msg,
                                          java.lang.String type,
                                          Component ref,
                                          int x,
                                          int y,
                                          int duration)
Displays a message.

Parameters:
msg - the message to show
type - available types are "info", "warning", "error"
ref - the referenced component, null to be based on browser window
x - the horizontal position of the notification, aligned at top-left (in pixel)
y - the vertical position of the notification, aligned at top-left (in pixel)
duration - the duration of notification in millisecond. If zero or negative the notification does not dismiss until user left-clicks outside of the notification box.
Since:
6.0.1

showNotification

public static final void showNotification(java.lang.String msg,
                                          java.lang.String type,
                                          Component ref,
                                          int x,
                                          int y,
                                          int duration,
                                          boolean closable)
Displays a message.

Parameters:
msg - the message to show
type - available types are "info", "warning", "error"
ref - the referenced component, null to be based on browser window
x - the horizontal position of the notification, aligned at top-left (in pixel)
y - the vertical position of the notification, aligned at top-left (in pixel)
duration - the duration of notification in millisecond. If zero or negative the notification does not dismiss until user left-clicks outside of the notification box.
closable - whether to close notification manually or not. If true there will be a close button on notification message and won't close until user click the button or duration time up, default false.
Since:
6.5.0

showBusy

public static final void showBusy(java.lang.String msg)
Shows the busy message at the browser such that the user knows the system is busy.

It is usually used with Events.echoEvent(java.lang.String, org.zkoss.zk.ui.Component, java.lang.String) to prevent the user to click another buttons or components.

To cover only a particular component, use showBusy(Component, String). To close, use clearBusy().

Parameters:
msg - the message to show. If null, the default message (processing) is shown.
Since:
5.0.0
See Also:
clearBusy()

clearBusy

public static final void clearBusy()
Cleans the busy message at the browser.

Since:
5.0.0
See Also:
showBusy(String)

showBusy

public static final void showBusy(Component comp,
                                  java.lang.String msg)
Shows the busy message at the browser that covers only the specified component. It is used to denote a portion of the desktop is busy, and the user still can access the other part. In other words, it means there is a long operation taking place.

To execute a long operation asynchronously, the developer can use a working thread, or use EventQueue.subscribe(org.zkoss.zk.ui.event.EventListener,boolean).

See also Long Operations

Parameters:
comp - the component that the busy message to cover. Ignored if null. Notice that if the component is not found, the busy message won't be shown. In additions, the busy message is removed automatically if the component is detached later. To manually remove the busy message, use clearBusy(Component)
msg - the message to show. If null, the default message (processing) is shown.
Since:
5.0.0
See Also:
clearBusy(Component)

clearBusy

public static final void clearBusy(Component comp)
Clears the busy message at the browser that covers only the specified component.

Parameters:
comp - the component that the busy message to cover.
Since:
5.0.0
See Also:
showBusy(Component, String)

resize

public static final void resize(Component comp)
Forces the client to re-calculate the size of the given component. For better performance, ZK Client Engine will cache the size of components with hflex=min or vflex=min, and recalculate it only necessary. However, sometimes it is hard (too costly) to know if the size of a component with flex=min is changed. For example, If another component is added to it and causes the size changed. In this case, you could use this method to enforce the re-calculation.

Since:
5.0.8

reloadMessages

public static final void reloadMessages(java.util.Locale locale)
                                 throws java.io.IOException
Reloads the client-side messages in the specified locale. It is used if you allow the user to change the locale dynamically.

Notice that this method only reloads the standard messages. The application has to update the component's content (such as labels) manually if necessary.

Limitation: it reloads only the messages of ZK Client Engine and ZUL components. It does not reload messages loaded by your own JavaScript codes.

Parameters:
locale - the locale. If null, Locales.getCurrent() is assumed.
Throws:
java.lang.UnsupportedOperationException - if the device is not ajax.
java.io.IOException
Since:
3.6.3

log

public static final void log(java.lang.String msg)
Logs the message to the client.

data[0]: the title

Since:
5.0.8

loadScript

public static final void loadScript(java.lang.String url)
Loads a JavaScript file to client and execute it.

By default, this method won't cache the JavaScript file, but you can enable it by invoking loadScript(String, String, boolean).

Parameters:
url - the JavasScript file path, it will be encoded with Encodes.encodeURL(javax.servlet.ServletContext, javax.servlet.ServletRequest, javax.servlet.ServletResponse, String) if any.
Since:
8.0.0
See Also:
Encodes.encodeURL(javax.servlet.ServletContext, javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String), loadScript(String, String, boolean)

loadScript

public static final void loadScript(java.lang.String url,
                                    java.lang.String callback,
                                    boolean cache)
Loads a JavaScript file to client and execute it.

Parameters:
url - the JavasScript file path, it will be encoded with Encodes.encodeURL(javax.servlet.ServletContext, javax.servlet.ServletRequest, javax.servlet.ServletResponse, String) if any.
callback - a callback script to execute when the JavaScript file has loaded.
cache - true means the url will be cached and executed only once.
Since:
8.0.0
See Also:
Encodes.encodeURL(javax.servlet.ServletContext, javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String)

loadCSS

public static final void loadCSS(java.lang.String url)
Loads a CSS file.

Parameters:
url - the URL of the CSS file
Since:
8.0.0


Copyright © 2005-2011 Potix Corporation. All Rights Reserved. SourceForge.net Logo