Search¶
While some Skuid data components (including the Deck, Form List, and Table), offer optional search within the model the component is assigned to, the Search component allows end users to globally search specified fields across any object accessible through a Skuid data source—even those not represented by models on the Skuid page.
Custom actions can be launched right from the Search bar using the Action Framework, for example, opening a record’s detail page for the selected search result.
Using the Search Component¶
Note
The content below assumes you have a Skuid page and at least one working model.
Add the Search component to facilitate global search across multiple objects. Once the component is added to the page, set the properties:
- Set the Search properties. (General tab)
- Identify which objects should be included in the search by adding them as a row action and add formatting for each model’s header and displays. (Return Objects tab)
That’s it—now users can search for content across multiple objects, with the search results organized by object.
Set keystroke interactions¶
The Hotkeys tab allows for specifying how the Search component should react to certain keystrokes.
Many search engines utilize the enter or return keys to activate a particular action, such as navigating to a results page or navigating directly to the first result. This is made possible in the Search component through the Enter/Return keystroke actions subtab.
Use this subtab to configure actions that trigger whenever the end user presses their enter or return keys while the Search component is in focus.
Want a way to access the search box quickly and easily from anywhere on the page? Create a hotkey using the properties in the Focus Hotkeys subtab. When a user types the key combination, the cursor will jump to the search box, allowing the user to begin typing their search text.
Note
Focus Hotkeys work when browsing the page. If the end user is in the middle of a process or interacting with an element on the page—editing a text field, for example—the hotkey combination will not migrate the end user to the search box.
Add actions¶
Use the Action Framework to add user-launched actions to the Search component’s results list. Some examples of actions for the search bar include:
- Launching a record detail page for the selected item
- Opening an associated Skuid page.
- Opening an associated website page.
Types of actions available¶
Global actions¶
Actions created on the Search properties Global Action tab will appear as next to each search result and are activated by clicking their label or icon.
Object-specific actions¶
Object-specific actions are created on the Return Objects tab, under the specific return object. These work like the Global actions, but will only appear next to search results for the specific return object.
Enter/Return keystroke actions¶
These actions occur whenever the end user presses the Enter or Return keys while the Search component is in focus. They are configured within the Hotkeys > Enter/Return keystrokes subtab.
Best Practices¶
- For a clean and streamlined user experience, place the Search Component into a custom header.
- Use global actions when you want the end user to be able to launch a process for any item in the search returns list; use object-specific actions when you want them to launch actions that are specific to the object or data source.
{{searchValue}} merge variable¶
There are two primary merge variables made available by a Search component:
{{$Component.componentId.searchValue}}
: For use outside of the current Search component. This global merge variable provides the current value the end user has entered within the Search component.Typically used within other Button Set components or action sequences.
{{searchValue}}
: For use inside of the current Search component. This provides the current value the end user has entered within the Search component.Typically used within a Search component’s global actions or Enter/Return keystroke actions.
Properties¶
Component properties¶
General tab [[]]¶
Properties on this tab modify how the search field operates and is displayed.
Fields to search: Limit the types of fields included in the search to:
- Name Fields
- All Text Fields
- Email Fields
- Phone Fields
Placeholder text (optional): The text that appears in the search box before the end user initiates a search. (The default is “Search.”)
Searchbox min width: Sets the minimum width of the search bar as it will appear on the page. This is set to 200px by default.
Preserve search term: When enabled, the search value entered by the end user continues to display in the search box, even if they hover over items in the search dropdown list. Unchecked, the search box will update with each value they hover over in the dropdown, giving users an indication of which result they currently have selected.
Result limit (optional): Sets a limit for the number of results (per model object) displayed in the search dropdown. For example, a limit of 5 on a page with return objects set for a File object and a Folder object will return up to 5 files and 5 folders matching the search term.
If the number of results exceeds the limit, then the end user can still get to the additional results. Click VIEW ALL in the results header to launch a modal that contains additional results.
Search icon: The icon displayed in the search bar.
Processing icon: The icon displayed when after the user initiates the search.
ARIA labelledby: Determines which component contains text describing this element for assistive technologies. Can point to Header or Text components. For more technical information, see MDN web docs on the aria-labelledby attribute.
Allow HTML in return objects: Determines HTML rendering behavior for each return object’s Header display and Display template contents. When enabled, any HTML syntax will be rendered. When disabled, HTML syntax is displayed as plain text. For example:
Enabled:
This text is importantDisabled:
<strong>This text is important</strong>
Advanced tab [[]]¶
- Unique ID (optional): Skuid automatically generates an alphanumeric ID for the component; if preferred, give it a practical name.
Global Actions tab [[]]¶
Properties on this tab create clickable actions that appear next to each search result. Click Action Framework to build a process that can be launched directly from the search bar.
Add action and use the- Label: This label hovers over the action.
- Icon: The clickable icon that sits next to the result.
Click
Add Action Step on the Result action added (above), and edit:- Action Step: Use standard Action Framework actions to build an action script.
Return Objects tab [[]]¶
The Search component will search across objects specified as return objects and will then display the results to the user based properties specified for each return object.
For each object to be included in the search, click
Add Return Object, and then edit:Data source: The data source for the model to be included in the search.
Entity: The object within the data source.
Header display icon (optional): The icon appears next to the object’s Header Display Name in the Search return list.
Header display name: This text heads the search return list to identify items found for this model, and includes a count. If blank, the header defaults to the name of the return object and the count. Can also contain rendered HTML if Allow HTML in return objects is enabled.
Display template (optional): Determines how each record returned from a search is displayed within a results list, commonly used with merge syntax. For example, {{Name}} {{BillingCountry}} will return items like “Jason Smythe, England.” Can also contain rendered HTML if Allow HTML in return objects is enabled.
Fields: Use the field picker to select the fields that will be available in the display template.
Note
These fields will also be available via merge syntax for your Global Actions, Select Actions, and object-specific actions.
Fields to order records by (optional): Set how the returned items will be ordered using the field name and the order instructions. For example, Name ASC orders the list by name, from A to Z; Name DESC orders the list by name, from Z to A.
You can add row actions to each Return Object using the Action Framework, to include return object-specific actions that appear next to each search result for that return object.
Hotkeys [[]]¶
Enter/Return keystroke actions¶
This subtab is used to configure a set of Action Framework actions that will run whenever the end user has the Search component in focus and presses the Enter or Return key on their keyboard. These actions are often used in conjunction with the {{searchValue}}
merge variable.
Typical examples include opening a list page of results, searching a knowledge base, or redirecting to a Google search for the selected query result. These types of UX patterns are often found in communities and portals.
To add actions, click Action Framework topic.
Add and then configure actions as needed. For more information, see theFocus hotkeys tab¶
This tab allows you to establish a set of hotkeys that will shift the cursor focus immediately to the search bar, no matter where the end user is browsing on the page. Select the modifier and key, then test.
Note
Skuid focus hotkeys will not override hotkeys previously assigned by the operating system or browser, so be sure to test the key combination. If it’s not providing the expected results, the key combination may already be assigned. Try a different combination.
Click
Add Hotkey and then configure:
- Modifiers include:
- Alt
- Ctrl
- Command
- Shift
- Key: Lists all available keys.
- Ignore hotkey if user is typing in input element: If checked, the hotkey combination will be ignored while the end user is entering content into any text field. (Useful if the hotkey combo would conflict with standard data entry keys, like arrows keys.)
Styles tab [[]]¶
Global styles for this component are set in the Design System Studio. The following Style properties can be adjusted for an individual page.
Style variant: Style variants are created and set in the Design System Studio. Some components have pre-defined variants for a specific aspect of a component’s style. Also, Skuid builders can style and customize elements to create their own themes within the DSS. These themes will dynamically populate as selectable values in the Style Variant dropdown menu.
Note
To refresh available style variant options, click
Refresh style variants.This is useful for when changes to the design system (like style variants or variable options) have been made in another browser window or by another user.
Margin: Sets a component’s margin (the space around it) relative to other components on the page.
- To set margins for all sides, click border-all All.
- To set margins for each side individually, click border-separate Separate.
Margin values can be set to any configured spacing variable for the page’s design system. Margin cannot be set an arbitrary value; it must use a design system variable.