Class SavedSearchEditor

All Implemented Interfaces:
HasAttachHandlers, HasHandlers, EventListener, HasVisibility, IsWidget, LogicalStructure, HasClearHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFocusChangedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasRuleContextChangedHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers, HasMembersChangedHandlers

public class SavedSearchEditor extends VLayout
User Interface component allowing a user to add a new saved search or edit an existing search. Automatically used by SavedSearchItem and ListGrid.canSaveSearches; cannot be used directly and is documented only for skinning and internationalization purposes.
  • Constructor Details

    • SavedSearchEditor

      public SavedSearchEditor()
    • SavedSearchEditor

      public SavedSearchEditor(JavaScriptObject jsObj)
  • Method Details

    • getOrCreateRef

      public static SavedSearchEditor getOrCreateRef(JavaScriptObject jsObj)
    • changeAutoChildDefaults

      public static void changeAutoChildDefaults(String autoChildName, Canvas defaults)
      Changes the defaults for Canvas AutoChildren named autoChildName.
      Parameters:
      autoChildName - name of an AutoChild to customize the defaults for.
      defaults - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see SGWTProperties.
      See Also:
    • changeAutoChildDefaults

      public static void changeAutoChildDefaults(String autoChildName, FormItem defaults)
      Changes the defaults for FormItem AutoChildren named autoChildName.
      Parameters:
      autoChildName - name of an AutoChild to customize the defaults for.
      defaults - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see SGWTProperties.
      See Also:
    • create

      protected JavaScriptObject create()
      Overrides:
      create in class VLayout
    • setAddSearchText

      public SavedSearchEditor setAddSearchText(String addSearchText) throws IllegalStateException
      Parameters:
      addSearchText - New addSearchText value. Default value is "Enter a name for your Saved View, then enter criteria below."
      Returns:
      SavedSearchEditor instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getAddSearchText

      public String getAddSearchText()
      Returns:
      Current addSearchText value. Default value is "Enter a name for your Saved View, then enter criteria below."
    • getCancelButton

      public IButton getCancelButton() throws IllegalStateException
      Button used to cancel changes.

      This component is an AutoChild named "cancelButton". For an overview of how to use and configure AutoChildren, see Using AutoChildren.

      Returns:
      Current cancelButton value. Default value is null
      Throws:
      IllegalStateException - if this widget has not yet been rendered.
    • getDefaultSearchCheckbox

      public CheckboxItem getDefaultSearchCheckbox() throws IllegalStateException
      Checkbox shown when isAdmin is true and the current search is marked as a shared search (via the sharedSearchCheckbox), allowing an admin to designate a search as the default search for users that have not chosen some other search as their default.

      If checked, the SavedSearches.setDefaultAdminSearchOperation will be invoked after the search being edited has been saved. This will typically be invoked as a queued request in the same transaction that adds or updates the search being edited.

      See the Saving default searches section of the SavedSearches overview for more information on marking searches as a default.

      Only ever appears if there is a SavedSearches.adminDefaultField in the SavedSearches.defaultDataSource.

      Titled with defaultSearchTitle.

      This component is an AutoChild named "defaultSearchCheckbox". For an overview of how to use and configure AutoChildren, see Using AutoChildren.

      Returns:
      Current defaultSearchCheckbox value. Default value is null
      Throws:
      IllegalStateException - if this widget has not yet been rendered.
    • setDefaultSearchTitle

      public SavedSearchEditor setDefaultSearchTitle(String defaultSearchTitle) throws IllegalStateException
      Title for the sharedSearchCheckbox.
      Parameters:
      defaultSearchTitle - New defaultSearchTitle value. Default value is "Mark as default"
      Returns:
      SavedSearchEditor instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getDefaultSearchTitle

      public String getDefaultSearchTitle()
      Title for the sharedSearchCheckbox.
      Returns:
      Current defaultSearchTitle value. Default value is "Mark as default"
    • setEditSearchText

      public SavedSearchEditor setEditSearchText(String editSearchText) throws IllegalStateException
      Parameters:
      editSearchText - New editSearchText value. Default value is "Enter a new name for your Saved View, and edit criteria below."
      Returns:
      SavedSearchEditor instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getEditSearchText

      public String getEditSearchText()
      Returns:
      Current editSearchText value. Default value is "Enter a new name for your Saved View, and edit criteria below."
    • getFilterBuilder

      public FilterBuilder getFilterBuilder() throws IllegalStateException
      FilterBuilder used to enter criteria.

      By default, FilterBuilder.topOperatorAppearance is set to "radio" (considered the simpler mode) and FilterBuilder.showModeSwitcher is set true.

      If existing criteria cannot be displayed in simple ("radio") mode, advanced mode is automatically chosen.

      This component is an AutoChild named "filterBuilder". For an overview of how to use and configure AutoChildren, see Using AutoChildren.

      Returns:
      Current filterBuilder value. Default value is null
      Throws:
      IllegalStateException - if this widget has not yet been rendered.
    • setGridAddSearchText

      public SavedSearchEditor setGridAddSearchText(String gridAddSearchText) throws IllegalStateException
      Parameters:
      gridAddSearchText - New gridAddSearchText value. Default value is "Enter a name for your Saved View. The current configuration and filter criteria of the grid will be saved."
      Returns:
      SavedSearchEditor instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getGridAddSearchText

      public String getGridAddSearchText()
      Returns:
      Current gridAddSearchText value. Default value is "Enter a name for your Saved View. The current configuration and filter criteria of the grid will be saved."
    • setIsAdmin

      public SavedSearchEditor setIsAdmin(Boolean isAdmin) throws IllegalStateException
      Whether the editor is in admin mode, in which case the sharedSearchCheckbox appears to allow admins to define shared searches, and the defaultSearchCheckbox appears to enable an admin to designate a search as the (shared) default.

      If SavedSearches.adminRole is defined and Authentication.hasRole() indicates the current user has the adminRole, isAdmin is true by default, otherwise false.

      Parameters:
      isAdmin - New isAdmin value. Default value is null
      Returns:
      SavedSearchEditor instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getIsAdmin

      public Boolean getIsAdmin()
      Whether the editor is in admin mode, in which case the sharedSearchCheckbox appears to allow admins to define shared searches, and the defaultSearchCheckbox appears to enable an admin to designate a search as the (shared) default.

      If SavedSearches.adminRole is defined and Authentication.hasRole() indicates the current user has the adminRole, isAdmin is true by default, otherwise false.

      Returns:
      Current isAdmin value. Default value is null
    • setMode

      In "normal" the search editor shows a FilterBuilder for editing criteria. In "grid" mode there is only a field for naming (or renaming) a search, since the grid has built-in interfaces for editing criteria.
      Parameters:
      mode - New mode value. Default value is "normal"
      Returns:
      SavedSearchEditor instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getMode

      public SearchEditorMode getMode()
      In "normal" the search editor shows a FilterBuilder for editing criteria. In "grid" mode there is only a field for naming (or renaming) a search, since the grid has built-in interfaces for editing criteria.
      Returns:
      Current mode value. Default value is "normal"
    • setOverwriteSearchConfirmationMessage

      public SavedSearchEditor setOverwriteSearchConfirmationMessage(String overwriteSearchConfirmationMessage)
      Confirmation message to show when a user attempts to save a view with a searchName, componentID, and (if present) screenID / projectID which collides with another existing saved view.

      This is the message that will be shown in a confirmation dialog if, for example, a user attempts to save a new view with the same name as an existing saved view for the same grid.

      Parameters:
      overwriteSearchConfirmationMessage - New overwriteSearchConfirmationMessage value. Default value is "There is already a Saved View with this name - Overwrite?"
      Returns:
      SavedSearchEditor instance, for chaining setter calls
    • getOverwriteSearchConfirmationMessage

      public String getOverwriteSearchConfirmationMessage()
      Confirmation message to show when a user attempts to save a view with a searchName, componentID, and (if present) screenID / projectID which collides with another existing saved view.

      This is the message that will be shown in a confirmation dialog if, for example, a user attempts to save a new view with the same name as an existing saved view for the same grid.

      Returns:
      Current overwriteSearchConfirmationMessage value. Default value is "There is already a Saved View with this name - Overwrite?"
    • setOverwriteSharedSearchConfirmationMessage

      public SavedSearchEditor setOverwriteSharedSearchConfirmationMessage(String overwriteSharedSearchConfirmationMessage)
      Confirmation message to show when a user attempts to save a view with a searchName, componentID, and (if present) screenID / projectID which collides with another existing shared saved view.

      This is the message that will be shown in a confirmation dialog if, for example, a user attempts to save a new view with the same name as an existing shared saved view for the same grid.

      Parameters:
      overwriteSharedSearchConfirmationMessage - New overwriteSharedSearchConfirmationMessage value. Default value is "There is already a shared Saved View with this name - Overwrite?"
      Returns:
      SavedSearchEditor instance, for chaining setter calls
    • getOverwriteSharedSearchConfirmationMessage

      public String getOverwriteSharedSearchConfirmationMessage()
      Confirmation message to show when a user attempts to save a view with a searchName, componentID, and (if present) screenID / projectID which collides with another existing shared saved view.

      This is the message that will be shown in a confirmation dialog if, for example, a user attempts to save a new view with the same name as an existing shared saved view for the same grid.

      Returns:
      Current overwriteSharedSearchConfirmationMessage value. Default value is "There is already a shared Saved View with this name - Overwrite?"
    • getPromptLabel

      public Label getPromptLabel() throws IllegalStateException
      Label at the top of the interface, used to show instruction text, which is either addSearchText or editSearchText depending on whether the user is editing a pre-existing search.

      For grid mode, when adding a new search, the instructions text is gridAddSearchText instead.

      This component is an AutoChild named "promptLabel". For an overview of how to use and configure AutoChildren, see Using AutoChildren.

      Returns:
      Current promptLabel value. Default value is null
      Throws:
      IllegalStateException - if this widget has not yet been rendered.
    • getSaveButton

      public IButton getSaveButton() throws IllegalStateException
      Button used to save changes.

      This component is an AutoChild named "saveButton". For an overview of how to use and configure AutoChildren, see Using AutoChildren.

      Returns:
      Current saveButton value. Default value is null
      Throws:
      IllegalStateException - if this widget has not yet been rendered.
    • getSearchNameItem

      public TextItem getSearchNameItem() throws IllegalStateException
      TextItem where the user enters the name for the saved search.

      This component is an AutoChild named "searchNameItem". For an overview of how to use and configure AutoChildren, see Using AutoChildren.

      Returns:
      Current searchNameItem value. Default value is null
      Throws:
      IllegalStateException - if this widget has not yet been rendered.
    • getSharedSearchCheckbox

      public CheckboxItem getSharedSearchCheckbox() throws IllegalStateException
      Checkbox shown when isAdmin is true, allowing an admin to designate a search as an admin search that all users will see. Titled with sharedSearchTitle.

      This component is an AutoChild named "sharedSearchCheckbox". For an overview of how to use and configure AutoChildren, see Using AutoChildren.

      Returns:
      Current sharedSearchCheckbox value. Default value is null
      Throws:
      IllegalStateException - if this widget has not yet been rendered.
    • setSharedSearchTitle

      public SavedSearchEditor setSharedSearchTitle(String sharedSearchTitle) throws IllegalStateException
      Title for the sharedSearchCheckbox.
      Parameters:
      sharedSearchTitle - New sharedSearchTitle value. Default value is "Shared view (all users will see it)"
      Returns:
      SavedSearchEditor instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getSharedSearchTitle

      public String getSharedSearchTitle()
      Title for the sharedSearchCheckbox.
      Returns:
      Current sharedSearchTitle value. Default value is "Shared view (all users will see it)"
    • setValidationFailedMessage

      public SavedSearchEditor setValidationFailedMessage(String validationFailedMessage)
      Notification message to show to the user in a warn dialog when an attempted save fails due to server validation error(s).

      Validation errors will be appended to this string in the format fieldName: errorMessage.

      Parameters:
      validationFailedMessage - New validationFailedMessage value. Default value is "A validation failure occurred:<br>"
      Returns:
      SavedSearchEditor instance, for chaining setter calls
    • getValidationFailedMessage

      public String getValidationFailedMessage()
      Notification message to show to the user in a warn dialog when an attempted save fails due to server validation error(s).

      Validation errors will be appended to this string in the format fieldName: errorMessage.

      Returns:
      Current validationFailedMessage value. Default value is "A validation failure occurred:<br>"
    • setDefaultProperties

      public static void setDefaultProperties(SavedSearchEditor savedSearchEditorProperties)
      Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

      Parameters:
      savedSearchEditorProperties - properties that should be used as new defaults when instances of this class are created
      See Also:
    • setLogicalStructure

      Setter implementing the LogicalStructure interface, which supports Eclipse's logical structure debugging facility.
    • getLogicalStructure

      public LogicalStructureObject getLogicalStructure()
      Getter implementing the LogicalStructure interface, which supports Eclipse's logical structure debugging facility.
      Specified by:
      getLogicalStructure in interface LogicalStructure
      Overrides:
      getLogicalStructure in class VLayout