Interface ISupportMask

All Known Implementing Classes:
AboutWindow, AbstractADTabbox, AbstractADWindowContent, AbstractDesktop, AbstractProcessDialog, AbstractUIPart, AbstractWQuickEntry, AddAuthorizationForm, ADForm, ADWindow, ADWindowContent, BroadcastMessageWindow, BusyDialog, CalendarWindow, ChangePasswordPanel, CompareCtxHelpSuggestion, CompareFieldSuggestion, CompositeADTabbox, CustomForm, CustomizeGridViewDialog, DashboardPanel, DefaultDesktop, DesktopTabpanel, DetailPane.Tabpanel, DPActivities, DPCalendar, DPDocumentStatus, DPFavourites, DPGoogleCalendar, DPMenuTree, DPPerformance, DPRecentItems, DPRunningJobs, DPViews, ErrorWindow, EventWindow, FavouriteFolderDialog, FedexLabelWindow, FeedbackRequestWindow, FindWindow, FolderBrowser, FooterPanel, FWindow, HelpWindow, InfoAssetPanel, InfoAssetWindow, InfoAssignmentPanel, InfoAssignmentWindow, InfoBPartnerPanel, InfoBPartnerWindow, InfoCashLinePanel, InfoGeneralPanel, InfoInOutPanel, InfoInOutWindow, InfoInvoicePanel, InfoInvoiceWindow, InfoOrderPanel, InfoOrderWindow, InfoPanel, InfoPAttributeInstancePanel, InfoPAttributeInstanceWindow, InfoPAttributePanel, InfoPAttributeWindow, InfoPaymentPanel, InfoPaymentWindow, InfoProductPanel, InfoProductWindow, InfoSchedule, InfoWindow, InvoiceHistory, LinkWindow, LoginOpenSequenceDialog, LoginPanel, LoginWindow, Messagebox, MFARegisterForm, MultiFileDownloadDialog, MultiTabPart, ProcessDialog, ProcessInfoDialog, ProcessModalDialog, RequestWindow, ResetPasswordPanel, RolePanel, ShowMaskWrapper, SimplePDFViewer, TabbedDesktop, Tabpanel, UPSHtmlLabelWindow, ValidateMFAPanel, ValuePreference, WAccountDialog, WAcctViewer, WAssignmentDialog, WAttachment, WAttributeGrid, WBOMDrop, WBPartner, WChat, WCreateFromForm, WCreateFromWindow, WCtxHelpSuggestion, WCustomizeUserDefTabGridView, WDocActionPanel, WDrillReport, WEMailDialog, WFEditor, WFieldRecordInfo, WFieldSuggestion, WFileImport, WGadgets, WGenForm, WImageDialog, WImageURLDialog, Window, WindowContainer, WLocationDialog, WLocatorDialog, WLogin, WMediaDialog, WMediaOptions, WMergeUI, WOnlyCurrentDays, WPAttributeDialog, WPAttributeInstance, WPaymentFormWindow, WPerformanceDetail, WPluginManager, WPostIt, WPreference, WProcessParameterForm, WQuickEntry, WQuickForm, WRC1DisplayFieldsPanel, WRC2FieldOrderPanel, WRC3SortCriteriaPanel, WRC4GroupingCriteriaPanel, WRC5SummaryFieldsPanel, WRCTabPanel, WRecordAccessDialog, WRecordIDDialog, WRecordInfo, WRecordTimeLine, WReportExportDialog, WReportUploadDialog, WSchedule, WSQLProcess, WSQLQuery, WTabEditorForm, WTask, WTextEditorDialog, WViewPI, WWFActivity, ZkJRViewer, ZkReportViewer

public interface ISupportMask
Interface for any component want support show other window over it with a mask.
Class manage component as AbstractUIPart also implement this interface.
Consider following scenario:
 1. show a dialog => show mask
 2. process an event
     2.1. show other dialog => show mask
     2.1. hide dialog in step 1 => hide mask
 3. result dialog show without mask
 
To void this issue, proceed as below:
- In showMask() set a flag to request scope by call Component.setAttribute(String, Object, int) with name READY_SHOW_MASK_FLAG, value Integer(1) and scope Component.REQUEST_SCOPE.
- In hideMask() check flag before hide mask. When has flag, don't hide mask.

Component want support show mask can implement this interface or use support class ShowMaskWrapper as composite object

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.zkoss.zk.ui.Component
    Return self if is a component or return component it manage.
    AbstractUIPart subclasses that implement this interface should return UIPart.getComponent().
    Return cache Mask or create new Mask and return.
    void
    Hide mask.
    void
    Show mask over this component.
    When override, remember to call Component.setAttribute(String, Object, int) with name READY_SHOW_MASK_FLAG, value Integer(1) and scope Component.REQUEST_SCOPE.
    Call by LayoutUtils.
  • Field Details

  • Method Details

    • showMask

      void showMask()
      Show mask over this component.
      When override, remember to call Component.setAttribute(String, Object, int) with name READY_SHOW_MASK_FLAG, value Integer(1) and scope Component.REQUEST_SCOPE.
      Call by LayoutUtils.
    • hideMask

      void hideMask()
      Hide mask. With ISupportMask return from showMask, call this function in handle close event of window.
      When override, remember check exists of key READY_SHOW_MASK_FLAG at scope Component.REQUEST_SCOPE in attribute. If flag exists, don't hide mask.
      Call by LayoutUtils.
    • getMaskObj

      Mask getMaskObj()
      Return cache Mask or create new Mask and return.
      Returns:
      Mask
    • getMaskComponent

      org.zkoss.zk.ui.Component getMaskComponent()
      Return self if is a component or return component it manage.
      AbstractUIPart subclasses that implement this interface should return UIPart.getComponent().
      Returns:
      Component