Class View

All Implemented Interfaces:
Serializable, Cloneable, Copyable, DictionaryBean, UifDictionaryBean, Component, Ordered, ScriptEventSupport, Container, LifecycleElement, Helpable, org.springframework.core.Ordered
Direct Known Subclasses:
FormView

public class View extends ContainerBase
Root of the component tree which encompasses a set of related GroupContainer instances tied together with a common page layout and navigation.

The View component ties together all the components and configuration of the User Interface for a piece of functionality. In Rice applications the view is typically associated with a Document instance.

The view template lays out the common header, footer, and navigation for the related pages. In addition the view renders the HTML head element bringing in common script files and style sheets, along with optionally rendering a form element for pages that need to post data back to the server.

Configuration of UIF features such as model validation is also done through the View

Author:
Kuali Rice Team (rice.collab@kuali.org)
See Also:
  • Field Details

    • viewIndex

      protected ViewIndex viewIndex
    • applyDirtyCheck

      protected boolean applyDirtyCheck
  • Constructor Details

    • View

      public View()
  • Method Details

    • performInitialization

      public void performInitialization(Object model)
      The following initialization is performed:
      • If a single paged view, set items in page group and put the page in the items list
      • If ViewSessionPolicy.enableTimeoutWarning is enabled add the session timeout dialogs to the views list of dialog groups
      The following initialization is performed:
      • Sorts the containers list of components
      • Initializes the instructional field if necessary
      • Initializes LayoutManager
      The following updates are done here:
      • Invoke performInitialize on component modifiers
      Initializes the component

      Where components can set defaults and setup other necessary state. The initialize method should only be called once per component lifecycle and is invoked within the initialize phase of the view lifecylce.

      Specified by:
      performInitialization in interface LifecycleElement
      Overrides:
      performInitialization in class ContainerBase
      Parameters:
      model - - object instance containing the view data
      See Also:
    • initializeDialogLoadScript

      protected void initializeDialogLoadScript(UifFormBase form)
      Helper method to set the view's load script to open a dialog.
      Parameters:
      form - the form containing data
    • initializeDialogReclocationScript

      protected void initializeDialogReclocationScript()
      Without this script dialogs might be associated with a non visible action (i.e. inside a dropdown menu). This would cause the dialog not being displayed. To ensure that all dialog are able to be displayed the DIVs of the dialogs are moved to a common location.
    • afterEvaluateExpression

      public void afterEvaluateExpression()
      No-op implementation. Override for custom behavior in subclasses. Invoked by the view lifecycle after expressions are evaluated at the apply model phase.

      In general, this method is preferred to LifecycleElement.performApplyModel(Object, LifecycleElement) for populating model data via code, since it is called before client-side state is synchronize.

      Specified by:
      afterEvaluateExpression in interface Component
      Overrides:
      afterEvaluateExpression in class ComponentBase
    • performApplyModel

      public void performApplyModel(Object model, LifecycleElement parent)
      The following updates are done here:
      • Invoke expression evaluation on view theme
      • Invoke theme to configure defaults
      Specified by:
      performApplyModel in interface LifecycleElement
      Overrides:
      performApplyModel in class ContainerBase
      Parameters:
      model - - Top level object containing the data (could be the form or a top level business object, dto)
      parent - parent lifecycle element
    • performFinalize

      public void performFinalize(Object model, LifecycleElement parent)
      The following is performed:
      • Adds to its document ready script the setupValidator js function for setting up the validator for this view
      The following finalization is performed:
      • Sets the headerText of the header Group if it is blank
      • Set the messageText of the summary Message if it is blank
      • Finalizes LayoutManager
      The following finalization is done here:
      • progressiveRender and conditionalRefresh variables are processed if set
      • If any of the style properties were given, sets the style string on the style property
      • Set the skipInTabOrder flag for nested components
      The last phase before the view is rendered

      Here final preparations can be made based on the updated view state.

      Specified by:
      performFinalize in interface LifecycleElement
      Overrides:
      performFinalize in class ContainerBase
      Parameters:
      model - - top level object containing the data
      parent - - parent component
    • setNestedComponentId

      protected void setNestedComponentId(Component component, String newId)
      Helper method for setting a new ID for the nested components
      Parameters:
      component - component to adjust ID for
      newId -
    • notifyCompleted

      public void notifyCompleted(ViewLifecyclePhase phase)
      Receive notification that a lifecycle phase, and all successor phases, have been completed on this component.
      Specified by:
      notifyCompleted in interface LifecycleElement
      Overrides:
      notifyCompleted in class ComponentBase
      Parameters:
      phase - The completed view lifecycle phase
    • getBreadcrumbItems

      public List<BreadcrumbItem> getBreadcrumbItems()
      Gets all breadcrumb items related to this view's parent location.
      Returns:
      breadcrumb items
    • getSupportedComponents

      public Set<Class<? extends Component>> getSupportedComponents()
      Set of Component classes that may be placed into the container

      If an empty or null list is returned, it is assumed the container supports all components. The returned set will be used by dictionary validators and allows renders to make assumptions about the contained components

      Returns:
      Set component classes
    • getComponentTypeName

      public String getComponentTypeName()
      The name for the component type

      This is used within the rendering layer to pass the component instance into the template. The component instance is exported under the name given by this method.

      Returns:
      String type name
    • getCurrentPage

      @ViewLifecycleRestriction(exclude="PRE_PROCESS") public PageGroup getCurrentPage()
      Iterates through the contained page items and returns the Page that matches the set current page id or the first page in the case of a single page view.
      Returns:
      page group instance
    • getPagesForPreprocessing

      @ViewLifecycleRestriction("PRE_PROCESS") public List<Component> getPagesForPreprocessing()
      Getter for returning the view's items and page for inclusion in the pre-process phase.

      Note this is necessary so we get IDs assigned for all the pages during the pre-process phase. For other phases, only the current page is picked up.

      Returns:
      list of components to include for the pre-process phase
    • sortItems

      public void sortItems()
      Performs sorting of the container items based on the order property
      Specified by:
      sortItems in interface Container
      Overrides:
      sortItems in class ContainerBase
    • getNamespaceCode

      public String getNamespaceCode()
      Namespace code the view should be associated with.

      The namespace code is used within the framework in such places as permission checks and parameter retrieval

      Specified by:
      getNamespaceCode in interface DictionaryBean
      Overrides:
      getNamespaceCode in class DictionaryBeanBase
      Returns:
      namespace code
      See Also:
    • setNamespaceCode

      public void setNamespaceCode(String namespaceCode)
      Description copied from class: DictionaryBeanBase
      Setter for the bean's associated namespace code
      Overrides:
      setNamespaceCode in class DictionaryBeanBase
      Parameters:
      namespaceCode -
      See Also:
    • getViewName

      public String getViewName()
      View name provides an identifier for a view within a type. That is if a set of View instances have the same values for the properties that are used to retrieve them by their type, the name can be given to further qualify the view that should be retrieved.

      A view type like the LookupView might have several views for the same object class, but one that is the 'default' lookup and another that is the 'advanced' lookup. Therefore the name on the first could be set to 'default', and likewise the name for the second 'advanced'

      Returns:
      name of view
    • setViewName

      public void setViewName(String viewName)
      See Also:
    • isUnifiedHeader

      public boolean isUnifiedHeader()
      When true, this view will use a unified header - the page header will be omitted and its title will be used in the ViewHeader supportTitle property (dynamically updated on page change).
      Returns:
      true if using a unified header
    • setUnifiedHeader

      public void setUnifiedHeader(boolean unifiedHeader)
      See Also:
    • getTopGroup

      public Group getTopGroup()
      TopGroup is an optional group of content that appears above the breadcrumbs and view header.
      Returns:
      the topGroup component
    • setTopGroup

      public void setTopGroup(Group topGroup)
      See Also:
    • getApplicationHeader

      public Header getApplicationHeader()
      Header for the application containing the view.

      When deploying outside a portal, the application header and footer property can be configured to display a consistent header/footer across all views. Here application logos, menus, login controls and so on can be rendered

      Returns:
      application header
    • setApplicationHeader

      public void setApplicationHeader(Header applicationHeader)
      See Also:
    • getApplicationFooter

      public Group getApplicationFooter()
      Footer for the application containing the view.

      When deploying outside a portal, the application header and footer property can be configured to display a consistent header/footer across all views. Here such things as application links, copyrights and so on can be rendered

      Returns:
      application footer
    • setApplicationFooter

      public void setApplicationFooter(Group applicationFooter)
      See Also:
    • getBuildFooter

      public Group getBuildFooter()
      Build footer for the application containing the view.
      Returns:
      build footer
    • setBuildFooter

      public void setBuildFooter(Group buildFooter)
      See Also:
    • getApplicationTitleText

      public String getApplicationTitleText()
      Title text to be displayed on browser tab.
      Returns:
    • setApplicationTitleText

      public void setApplicationTitleText(String applicationTitleText)
      See Also:
    • isStickyTopGroup

      public boolean isStickyTopGroup()
      If true, the top group will be sticky (fixed to top of window).
      Returns:
      true if the top group is sticky, false otherwise
    • setStickyTopGroup

      public void setStickyTopGroup(boolean stickyTopGroup)
      See Also:
    • isStickyBreadcrumbs

      public boolean isStickyBreadcrumbs()
      If true, the breadcrumb widget will be sticky (fixed to top of window).
      Returns:
      true if breadcrumbs are sticky, false otherwise
    • setStickyBreadcrumbs

      public void setStickyBreadcrumbs(boolean stickyBreadcrumbs)
      See Also:
    • isStickyHeader

      public boolean isStickyHeader()
      If true, the ViewHeader for this view will be sticky (fixed to top of window).
      Returns:
      true if the header is sticky, false otherwise
    • setStickyHeader

      public void setStickyHeader(boolean stickyHeader)
      See Also:
    • isStickyApplicationHeader

      public boolean isStickyApplicationHeader()
      Set to true to make the applicationHeader sticky (fixed to top of window)
      Returns:
      true if applicationHeader is sticky, false otherwise
    • setStickyApplicationHeader

      public void setStickyApplicationHeader(boolean stickyApplicationHeader)
      See Also:
    • isStickyFooter

      public boolean isStickyFooter()
      If true, the view footer will become sticky (fixed to bottom of window).
      Returns:
      ture if the view footer is sticky, false otherwise
    • setStickyFooter

      public void setStickyFooter(boolean stickyFooter)
      See Also:
    • isStickyApplicationFooter

      public boolean isStickyApplicationFooter()
      If true, the applicationFooter will become sticky (fixed to bottom of window).
      Returns:
      true if the application footer is sticky, false otherwise
    • setStickyApplicationFooter

      public void setStickyApplicationFooter(boolean stickyApplicationFooter)
      See Also:
    • getContentContainerCssClasses

      public List<String> getContentContainerCssClasses()
      List of CSS style classes that will be applied to a div that wraps the content.

      Wrapping the content gives the ability to move between a fluid width container or a fixed width container. The div is also wraps content inside sticky elements (header and footer), so visual treatment can be given to the full width of the screen while restricting the area of the content.

      In Bootstrap, use 'container-fluid' for a fluid width container, and 'container' for a fixed width container.

      Returns:
      List of css classes to apply to content wrapper div
    • setContentContainerCssClasses

      public void setContentContainerCssClasses(List<String> contentContainerCssClasses)
      See Also:
    • getContentContainerClassesAsString

      public String getContentContainerClassesAsString()
      Returns the list of getContentContainerCssClasses() as a concatenated string (each class is separated by a space).
      Returns:
      String of content css classes
    • getEntryPageId

      public String getEntryPageId()
      Specifies what page should be rendered by default. This is the page that will be rendered when the View is first rendered or when the current page is not set
      Returns:
      id of the page to render by default
    • setEntryPageId

      public void setEntryPageId(String entryPageId)
      See Also:
    • getCurrentPageId

      public String getCurrentPageId()
      The id for the page within the view that should be displayed in the UI. Other pages of the view will not be rendered.

      If current page id is not set, it is set to the configured entry page or first item in list id

      Returns:
      id of the page that should be displayed
    • setCurrentPageId

      public void setCurrentPageId(String currentPageId)
      See Also:
    • getNavigation

      public Group getNavigation()
      NavigationGroup instance for the Viewinvalid input: '<'

      Provides configuration necessary to render the navigation. This includes navigation items in addition to configuration for the navigation renderer

      Returns:
      NavigationGroup
    • setNavigation

      public void setNavigation(Group navigation)
      See Also:
    • getFormClass

      public Class<?> getFormClass()
      Class of the Form that should be used with the View instance.

      The form is the top level object for all the view's data and is used to present and accept data in the user interface. All form classes should extend UifFormBase

      Returns:
      class for the view's form
      See Also:
    • setFormClass

      public void setFormClass(Class<?> formClass)
      See Also:
    • getDefaultBindingObjectPath

      public String getDefaultBindingObjectPath()
      For View types that work primarily with one nested object of the form (for instance document, or bo) the default binding object path can be set for each of the views DataBinding components. If the component does not set its own binding object path it will inherit the default.
      Returns:
      binding path to the object from the form
    • setDefaultBindingObjectPath

      public void setDefaultBindingObjectPath(String defaultBindingObjectPath)
      See Also:
    • getObjectPathToConcreteClassMapping

      public Map<String,Class<?>> getObjectPathToConcreteClassMapping()
      Configures the concrete classes that will be used for properties in the form object graph that have an abstract or interface type.

      For properties that have an abstract or interface type, it is not possible to perform operations like getting/settings property values and getting information from the dictionary. When these properties are encountered in the object graph, this Map will be consulted to determine the concrete type to use

      e.g. Suppose we have a property document.accountingLine.accountNumber and the accountingLine property on the document instance has an interface type 'AccountingLine'. We can then put an entry into this map with key 'document.accountingLine', and value 'org.kuali.rice.sampleapp.TravelAccountingLine'. When getting the property type or an entry from the dictionary for accountNumber, the TravelAccountingLine class will be used

      Returns:
      Mapinvalid input: '<'String, Class> of class implementations keyed by path
    • setObjectPathToConcreteClassMapping

      public void setObjectPathToConcreteClassMapping(Map<String,Class<?>> objectPathToConcreteClassMapping)
      See Also:
    • getAdditionalScriptFiles

      public List<String> getAdditionalScriptFiles()
      Declares additional script files that should be included with the View.

      These files are brought into the HTML page along with common script files configured for the Rice application. Each entry contain the path to the CSS file, either a relative path, path from web root, or full URI

      e.g. '/krad/scripts/myScript.js', '../scripts/myScript.js', 'http://my.edu/web/myScript.js'

      Returns:
      script file locations
    • setAdditionalScriptFiles

      public void setAdditionalScriptFiles(List<String> additionalScriptFiles)
      See Also:
    • getAdditionalCssFiles

      public List<String> getAdditionalCssFiles()
      Declares additional CSS files that should be included with the View.

      These files are brought into the HTML page along with common CSS files configured for the Rice application. Each entry should contain the path to the CSS file, either a relative path, path from web root, or full URI

      e.g. '/krad/css/stacked-view.css', '../css/stacked-view.css', 'http://my.edu/web/stacked-view.css'

      Returns:
      CSS file locations
    • setAdditionalCssFiles

      public void setAdditionalCssFiles(List<String> additionalCssFiles)
      See Also:
    • getAdditionalHeadLinks

      public List<HeadLink> getAdditionalHeadLinks()
      List of additional link tags that should be included with the View in the html head.
      Returns:
      headlink objects
    • setAdditionalHeadLinks

      public void setAdditionalHeadLinks(List<HeadLink> additionalHeadLinks)
      See Also:
    • getAdditionalMetaTags

      public List<MetaTag> getAdditionalMetaTags()
      List of additional meta tags that should be included with the View in the html head tag.
      Returns:
      additionalMetaTags
    • setAdditionalMetaTags

      public void setAdditionalMetaTags(List<MetaTag> additionalMetaTags)
      See Also:
    • isUseLibraryCssClasses

      public boolean isUseLibraryCssClasses()
      True if the libraryCssClasses set on components will be output to their class attribute, false otherwise.
      Returns:
      true if using libraryCssClasses on components
    • setUseLibraryCssClasses

      public void setUseLibraryCssClasses(boolean useLibraryCssClasses)
      See Also:
    • getViewTemplates

      public List<String> getViewTemplates()
      List of templates that are used to render the view.

      This list will be populated by unique template names as the components of the view are being processed. Additional templates can be added in the view configuration if desired. At the beginning of the the view rendering, each template in the list will then be included or processed by the template language

      Note the user of this depends on the template language being used for rendering. Some languages might require including the template for each component instance (for example JSP templates). While others might simply include markup that is then available for rendering each component instance (for example FreeMarker which has a macro for each component that the template defines)

      Returns:
      list of template names that should be included for rendering the view
    • addViewTemplate

      public void addViewTemplate(String template)
      Adds a template to the views include list.
      Parameters:
      template - path to template to add
    • setViewTemplates

      public void setViewTemplates(List<String> viewTemplates)
      Setter for the the list of template names that should be included to render the view
      Parameters:
      viewTemplates -
    • getViewTypeName

      public UifConstants.ViewType getViewTypeName()
      View type name the view is associated with the view instance

      Views that share common features and functionality can be grouped by the view type. Usually view types extend the View class to provide additional configuration and to set defaults. View types can also implement the ViewTypeService to add special indexing and retrieval of views

      Returns:
      view type name for the view
    • setViewTypeName

      public void setViewTypeName(UifConstants.ViewType viewTypeName)
      See Also:
    • getViewHelperServiceClass

      public Class<? extends ViewHelperService> getViewHelperServiceClass()
      Class name of the ViewHelperService that handles the various phases of the Views lifecycle.
      Returns:
      Class for the spring bean
      See Also:
    • setViewHelperServiceClass

      public void setViewHelperServiceClass(Class<? extends ViewHelperService> viewHelperServiceClass)
      Setter for the ViewHelperService class name Also initializes the viewHelperService
      Parameters:
      viewHelperServiceClass -
    • getViewHelperService

      public ViewHelperService getViewHelperService()
      Creates the ViewHelperService associated with the View
      Returns:
      ViewHelperService instance
    • setViewHelperService

      public void setViewHelperService(ViewHelperService viewHelperService)
      See Also:
    • clearIndex

      public void clearIndex()
      Invoked to produce a ViewIndex of the current view's components
    • getViewIndex

      public ViewIndex getViewIndex()
      Holds field indexes of the View instance for retrieval.
      Returns:
      ViewIndex instance
    • getViewRequestParameters

      public Map<String,String> getViewRequestParameters()
      Map of parameters from the request that set view options, used to rebuild the view on each post

      Views can be configured by parameters. These might impact which parts of the view are rendered or how the view behaves. Generally these would get passed in when a new view is requested (by request parameters). These will be used to initially populate the view properties. In addition, on a post the view will be rebuilt and properties reset again by the allow request parameters.

      Example parameter would be for MaintenaceView whether a New, Edit, or Copy was requested (maintenance mode)

      Returns:
    • setViewRequestParameters

      public void setViewRequestParameters(Map<String,String> viewRequestParameters)
      See Also:
    • isPersistFormToSession

      public boolean isPersistFormToSession()
      Indicates whether the form (model) associated with the view should be stored in the user session.

      The form class (or model) is used to hold the data that backs the view along with the built view object. Storing the form instance in session allows many things:

      • Data does not need to be rebuilt for each server request (for example a collection)
      • Data that does not need to go to the user can remain on the form, reducing the size of the response and improving security
      • Data can be keep around in a 'pre-save' state. When requested by the user changes can then be persisted to the database
      • Certain information about the view that was rendered, such as input fields, collection paths, and refresh components can be kept on the form to support UI interaction
      Setting this flag to false will prevent the form from being kept in session and as a result will limit what can be done by the framework. In almost all cases this is not recommended

      Note all forms will be cleared when the user session expires (based on the rice configuration). In addition, the framework enables clear points on certain actions to remove the form when it is no longer needed

      Returns:
      true if the form should be stored in the user session, false if only request based
    • setPersistFormToSession

      public void setPersistFormToSession(boolean persistFormToSession)
      See Also:
    • getSessionPolicy

      public ViewSessionPolicy getSessionPolicy()
      Configures behavior that should occur when a session timeout occurs on the view.
      Returns:
      view session policy instance
    • setSessionPolicy

      public void setSessionPolicy(ViewSessionPolicy sessionPolicy)
      See Also:
    • getPreloadPoolSize

      public int getPreloadPoolSize()
    • setPreloadPoolSize

      public void setPreloadPoolSize(int preloadPoolSize)
    • getPresentationController

      public ViewPresentationController getPresentationController()
      PresentationController that should be used for the View instance.

      The presentation controller is consulted to determine component (group, field) state such as required, read-only, and hidden. The presentation controller does not take into account user permissions. The presentation controller can also output action flags and edit modes that will be set onto the view instance and can be referred to by conditional expressions

      Returns:
      PresentationController
    • setPresentationController

      public void setPresentationController(ViewPresentationController presentationController)
      See Also:
    • setPresentationControllerClass

      public void setPresentationControllerClass(Class<? extends ViewPresentationController> presentationControllerClass)
      Setter for the view's presentation controller by class
      Parameters:
      presentationControllerClass -
    • getAuthorizer

      public ViewAuthorizer getAuthorizer()
      Authorizer that should be used for the View instance

      The authorizer class is consulted to determine component (group, field) state such as required, read-only, and hidden based on the users permissions. It typically communicates with the Kuali Identity Management system to determine roles and permissions. It is used with the presentation controller and dictionary conditional logic to determine the final component state. The authorizer can also output action flags and edit modes that will be set onto the view instance and can be referred to by conditional expressions

      Returns:
      Authorizer
    • setAuthorizer

      public void setAuthorizer(ViewAuthorizer authorizer)
      See Also:
    • setAuthorizerClass

      public void setAuthorizerClass(Class<? extends ViewAuthorizer> authorizerClass)
      Setter for the view's authorizer by class
      Parameters:
      authorizerClass -
    • getActionFlags

      public Map<String,Boolean> getActionFlags()
      Map of strings that flag what actions can be taken in the UI.

      These can be used in conditional expressions in the dictionary or by other UI logic

      Returns:
      action flags
    • setActionFlags

      public void setActionFlags(Map<String,Boolean> actionFlags)
      See Also:
    • getEditModes

      public Map<String,Boolean> getEditModes()
      Map of edit modes that enabled for the view.

      These can be used in conditional expressions in the dictionary or by other UI logic

      Returns:
      edit modes
    • setEditModes

      public void setEditModes(Map<String,Boolean> editModes)
      See Also:
    • getRequestAuthorizationCacheClass

      public Class<? extends RequestAuthorizationCache> getRequestAuthorizationCacheClass()
    • setRequestAuthorizationCacheClass

      public void setRequestAuthorizationCacheClass(Class<? extends RequestAuthorizationCache> requestAuthorizationCacheClass)
    • getExpressionVariables

      public Map<String,String> getExpressionVariables()
      Map that contains expressions to evaluate and make available as variables for conditional expressions within the view.

      Each Map entry contains one expression variables, where the map key gives the name for the variable, and the map value gives the variable expression. The variables expressions will be evaluated before conditional logic is run and made available as variables for other conditional expressions. Variable expressions can be based on the model and any object contained in the view's context

      Returns:
      variable expressions
    • setExpressionVariables

      public void setExpressionVariables(Map<String,String> expressionVariables)
      See Also:
    • isSinglePageView

      public boolean isSinglePageView()
      Indicates whether the View only has a single page Group or contains multiple page Group instances.

      In the case of a single page it is assumed the group's items list contains the section groups for the page, and the page itself is given by the page property (getPage(). This is for convenience of configuration and also can drive other configuration like styling

      Returns:
      true if the view only contains one page group, false if it contains multple pages
    • setSinglePageView

      public void setSinglePageView(boolean singlePageView)
      See Also:
    • isMergeWithPageItems

      public boolean isMergeWithPageItems()
      Indicates whether the default sections specified in the page items list should be included for this view. This only applies to single paged views.
      Returns:
      true if the view should contain the default sections specified in the page
    • setMergeWithPageItems

      public void setMergeWithPageItems(boolean mergeWithPageItems)
      See Also:
    • getPage

      For single paged views (isSinglePageView(), gives the page Group the view should render. The actual items for the page is taken from the group's items list (getItems(), and set onto the give page group. This is for convenience of configuration.
      Returns:
      page group for single page views
    • setPage

      public void setPage(PageGroup page)
      See Also:
    • getItems

      @ViewLifecycleRestriction public List<? extends Component> getItems()
      List of Component instances that are held by the container

      Contained components are rendered within the section template by calling the associated LayoutManager.

      Specified by:
      getItems in interface Container
      Specified by:
      getItems in class ContainerBase
      Returns:
      List component instances
    • setItems

      public void setItems(List<? extends Component> items)
      Setter for the containers list of components
      Specified by:
      setItems in interface Container
      Specified by:
      setItems in class ContainerBase
      Parameters:
      items -
    • getDialogs

      @ViewLifecycleRestriction(value="FINALIZE", condition="!ajaxRequest || (ajaxReturnType eq \'update-view\') || (ajaxReturnType eq \'update-page\')") public List<Group> getDialogs()
      Provide a list of dialog groups associated with this view.
      Returns:
      List of dialog Groups
    • setDialogs

      public void setDialogs(List<Group> dialogs)
      See Also:
    • getBreadcrumbs

      public Breadcrumbs getBreadcrumbs()
      Breadcrumb widget used for displaying homeward path and history
      Returns:
      the breadcrumbs
    • setBreadcrumbs

      public void setBreadcrumbs(Breadcrumbs breadcrumbs)
      Parameters:
      breadcrumbs - the breadcrumbs to set
    • getBreadcrumbOptions

      public BreadcrumbOptions getBreadcrumbOptions()
      The breadcrumbOptions for this view.

      Render options set at the view level are always ignored (only apply to page level BreadcrumbOptions). BreadcrumbOptions for homewardPathBreadcrumbs, preViewBreadcrumbs, prePageBreadcrumbs, and breadcrumbOverrides are inherited by child pages unless they override them themselves.

      Returns:
      the BreadcrumbOptions for this view
    • setBreadcrumbOptions

      public void setBreadcrumbOptions(BreadcrumbOptions breadcrumbOptions)
      See Also:
    • getBreadcrumbItem

      public BreadcrumbItem getBreadcrumbItem()
      The View's breadcrumbItem defines settings for the breadcrumb which appears in the breadcrumb list for this view.
      Returns:
      the breadcrumbItem
    • setBreadcrumbItem

      public void setBreadcrumbItem(BreadcrumbItem breadcrumbItem)
      See Also:
    • getParentLocation

      public ParentLocation getParentLocation()
      The parentLocation defines urls that represent the parent of a View in a conceptial site hierarchy.

      By defining a parent with these urls defined, a breadcrumb chain can be generated and displayed automatically before this View's breadcrumbItem(s). To chain multiple views, the urls must be defining viewId and controllerMapping settings instead of setting an href directly (this will end the chain). If labels are not set on parentLocations, the labels will attempt to be derived from parent views/pages breadcrumbItem and headerText - if these contain expressions which cannot be evaluated in the current context an exception will be thrown

      Returns:
      the parentLocation
    • setParentLocation

      public void setParentLocation(ParentLocation parentLocation)
      See Also:
    • getPathBasedBreadcrumbs

      public List<BreadcrumbItem> getPathBasedBreadcrumbs()
      The pathBasedBreadcrumbs for this View. These can only be set by the framework.
      Returns:
      the path based breadcrumbs
    • setPathBasedBreadcrumbs

      public void setPathBasedBreadcrumbs(List<BreadcrumbItem> pathBasedBreadcrumbs)
      The pathBasedBreadcrumbs for this View.
      Parameters:
      pathBasedBreadcrumbs -
    • getGrowls

      public Growls getGrowls()
      Growls widget which sets up global settings for the growls used in this view and its pages.
      Returns:
      the growls
    • setGrowls

      public void setGrowls(Growls growls)
      Parameters:
      growls - the growls to set
    • getRefreshBlockUI

      public BlockUI getRefreshBlockUI()
      Returns:
      returns the refresh block object
    • setRefreshBlockUI

      public void setRefreshBlockUI(BlockUI refreshBlockUI)
      Set the refresh BlockUI used with single element blocking (such as ajax based element loading/updates)
      Parameters:
      refreshBlockUI -
    • getNavigationBlockUI

      public BlockUI getNavigationBlockUI()
      Returns:
      returns the navigation block object
    • setNavigationBlockUI

      public void setNavigationBlockUI(BlockUI navigationBlockUI)
      Set the navigation BlockUI used with single page blocking (such as full page loading/saving)
      Parameters:
      navigationBlockUI -
    • isGrowlMessagingEnabled

      public boolean isGrowlMessagingEnabled()
      Whether to use growls to show messages - info, warning and error

      Growls use the messages contained in the message map. If enabled, info messages in their entirety will be displayed in growls, for warning and error messages a growl message will notify the user that these messages exist on the page.

      If this setting is disabled, it is recommended that infoMessage display be enabled for the page ValidationMessages bean in order to display relevant information to the user. Note: the growl scripts are built out in the PageGroup class.

      Returns:
      the growlMessagingEnabled
    • setGrowlMessagingEnabled

      public void setGrowlMessagingEnabled(boolean growlMessagingEnabled)
      enable or disable showing of messages using growls
      Parameters:
      growlMessagingEnabled - the growlMessagingEnabled to set
    • isApplyDirtyCheck

      public boolean isApplyDirtyCheck()
      Indicates whether the form should be validated for dirtyness.

      For FormView, it's necessary to validate when the user tries to navigate out of the form. If set, all the InputFields will be validated on refresh, navigate, cancel or close Action or on form unload and if dirty, displays a message and user can decide whether to continue with the action or stay on the form. For lookup and inquiry, it's not needed to validate

      Returns:
      true if dirty validation is set
    • setApplyDirtyCheck

      public void setApplyDirtyCheck(boolean applyDirtyCheck)
      See Also:
    • isTranslateCodesOnReadOnlyDisplay

      public boolean isTranslateCodesOnReadOnlyDisplay()
      Returns whether the current view supports displaying KualiCode's name as additional display value
      Returns:
      true if the current view supports
    • setTranslateCodesOnReadOnlyDisplay

      public void setTranslateCodesOnReadOnlyDisplay(boolean translateCodesOnReadOnlyDisplay)
      Indicates whether the Name of the Code should be displayed when a property is of type KualiCode
      Parameters:
      translateCodesOnReadOnlyDisplay - indicates whether KualiCode's name should be included.
    • isSupportsRequestOverrideOfReadOnlyFields

      public boolean isSupportsRequestOverrideOfReadOnlyFields()
      Indicates whether the view allows read only fields to be specified on the request URL which will override the view setting.

      If enabled, the readOnlyFields request parameter can be sent to indicate fields that should be set read only

      Returns:
      true if read only request overrides are allowed, false if not
    • setSupportsRequestOverrideOfReadOnlyFields

      public void setSupportsRequestOverrideOfReadOnlyFields(boolean supportsRequestOverrideOfReadOnlyFields)
      See Also:
    • isDisableNativeAutocomplete

      public boolean isDisableNativeAutocomplete()
      Indicates whether the browser autocomplete functionality should be disabled for the entire form (adds autocomplete="off").

      The browser's native autocomplete functionality can cause issues with security fields and also fields with the UIF suggest widget enabled

      Returns:
      true if the native autocomplete should be turned off for the form, false if not
    • setDisableNativeAutocomplete

      public void setDisableNativeAutocomplete(boolean disableNativeAutocomplete)
      See Also:
    • isDisableBrowserCache

      public boolean isDisableBrowserCache()
      Enables functionality to bust the browsers cache by appending an unique cache key.

      Since response headers are unreliable for preventing caching in all browsers, the framework uses a technique for updating the URL to include an unique cache key. If the HTML 5 History API is supported a parameter can be added to the URL which causes the browser to not find the cached page when the user goes back. If not the framework falls back to using a hash key and resubmitting using script to pull the latest

      Returns:
      true if cache for the view should be disabled, false if not
    • setDisableBrowserCache

      public void setDisableBrowserCache(boolean disableBrowserCache)
      See Also:
    • getPreLoadScript

      public String getPreLoadScript()
      Script that is executed at the beginning of page load (before any other script).

      Many used to set server variables client side

      Returns:
      pre load script
    • setPreLoadScript

      public void setPreLoadScript(String preLoadScript)
      See Also:
    • getTheme

      public ViewTheme getTheme()
      The theme which contains stylesheets for this view.
      Returns:
      ViewTheme
    • setTheme

      public void setTheme(ViewTheme theme)
      See Also:
    • getStateObjectBindingPath

      public String getStateObjectBindingPath()
      The stateObject's binding path, this will be used along with the StateMapping's statePropertyName to determine what field in the model state information is stored in for this view. Used during View validation.
      Returns:
      stateObjectBindingPath path to the object storing state information
    • setStateObjectBindingPath

      public void setStateObjectBindingPath(String stateObjectBindingPath)
      The stateObject's binding path, this will be used along with the StateMapping's statePropertyName to determine what field in the model state information is stored in for this view. Used during View validation.
      Parameters:
      stateObjectBindingPath -
    • getStateMapping

      public StateMapping getStateMapping()
      Gets the stateMapping.

      The state mapping object is used to determine the state information for a view, it must include an ordered list of states, and where to find the state information for the view. A stateMapping must be set for state based validation to occur. When stateMapping information is not included, the view's model is considered stateless and all constraints will apply regardless of their state information or replacements (ie, they will function as they did in version 2.1).

      Returns:
      information needed for state based validation, if null no state based validation functionality will exist and configured constraints will apply regardless of state
      Since:
      2.2
    • setStateMapping

      public void setStateMapping(StateMapping stateMapping)
      See Also:
    • getPreModelContext

      public Map<String,Object> getPreModelContext()
      Returns the general context that is available before the apply model phase (during the initialize phase)
      Returns:
      context map
    • clone

      public View clone() throws CloneNotSupportedException
      Description copied from class: ComponentBase
      Override Object.clone() to assign the public modifier.
      Specified by:
      clone in interface Copyable
      Overrides:
      clone in class ComponentBase
      Returns:
      Object.clone()
      Throws:
      CloneNotSupportedException - If Cloneable is not implemented. This should not be possible when using this interface.
      See Also:
    • completeValidation

      public void completeValidation(ValidationTrace tracer)
      Validates different requirements of component compiling a series of reports detailing information on errors found in the component. Used by the RiceDictionaryValidator.
      Specified by:
      completeValidation in interface Component
      Overrides:
      completeValidation in class ContainerBase
      Parameters:
      tracer - Record of component's location