LogoLogo
Developer HubGitHubContact Us
  • Welcome!
  • Olive Helps
    • Platform
      • How Olive Helps Works
      • Installation
      • Account Creation
      • Distributing Olive Helps
    • FAQs
      • General Loop FAQs
      • Loop Development FAQs
      • Olive Helps User FAQs
      • Security / IT FAQs
    • Data Security
      • User Data
      • Antivirus and Firewalls
  • Loop Development Kit
    • Your First Loop
      • Become a Loop Author
      • Creating a Loop
      • Build Your Loop
      • Local Loop Installation
      • Restarting Local Loops
    • Troubleshooting
    • Loop Security
      • Permissions
      • Environment Permissions
    • Loop Publication
      • Loop Approval Checklist
    • Loop Analytics Library
    • Examples
  • Documentation
  • Interfaces
  • Type Alias
  • Enumerations
  • Whisper Components
    • Base Attributes
    • Autocomplete
    • Box
    • Breadcrumb
    • Button
    • Chart
    • CollapseBox
    • Grid
    • Checkbox
    • Date Time
    • Divider
    • DropZone
    • Email
    • Icon
    • List Pair
    • Link
    • Pagination
    • Number
    • Markdown
    • Message
    • Password
    • Progress
    • Radio
    • Rating
    • RichTextEditor
    • Section Title
    • Select
    • Text Input
    • Telephone
    • Typography
  • APTITUDES
    • What are Aptitudes?
    • Browser
    • Clipboard
    • Config
    • Cursor
      • Screen Scaling Behavior
    • Document
    • Filesystem
    • Keyboard
    • Network
    • Process
    • Screen
    • Search
      • Index
    • System
    • UI
      • Loop UI Handlers
    • User
      • JWT
    • Vault
    • Whisper
      • Whisper Updates
      • JSX Whispers
    • Window
      • Screen Scaling Behavior
  • Release Notes
    • What's New
      • Olive Helps v0.55.0
      • Olive Helps v0.54.1
      • Olive Helps v0.53.1
      • Olive Helps v0.51.2
      • LDK v4.0.0
      • Olive Helps v0.50.3
      • Olive Helps v0.49.5
      • LDK v 3.18.0
      • Olive Helps v0.47.2
      • Olive Helps v0.46.2
      • LDK v 3.17.0
      • Olive Helps v0.45.4
      • Olive Helps v0.44.2
      • Olive Helps v0.43.1
      • Olive Helps v0.42.1
      • Olive Helps v0.41.4
      • Olive Helps v0.40.2
      • Olive Helps v0.39.4 & LDK v3.16.0
      • Olive Helps v0.38.8 & LDK v3.15.0
      • Olive Helps v0.36.5
      • Olive Helps v0.36.4
    • Archive
      • Olive Helps v0.36.3 & LDK v3.14.0
      • Olive Helps v0.34.4
      • LDK v3.13.0
      • Olive Helps v0.32.2 & LDK v3.12.0
      • Olive Helps v0.31.2 & LDK v3.11.0
      • Olive Helps v0.30.2 & LDK v3.10.0
      • Olive Helps v0.29.4
      • Olive Helps v0.29.3 & LDK v3.9.0
      • Olive Helps v0.28.3 & LDK v3.8.0
      • Olive Helps v0.27.7
      • Olive Helps v0.27.5
      • Olive Helps v.027.4
      • Olive Helps v0.27.2 & LDK v3.7.0
      • Olive Helps v0.25.3 & LDK v3.5.1
      • Olive Helps v0.24.6 & LDK v3.4.0
      • Olive Helps v0.23.2 & LDK v3.3.0
      • Olive Helps v0.22.3 & LDK v3.2.0
Powered by GitBook
On this page
  • loopOpenHandler
  • Example
  • My Loops Page
  • The Loop Dropdown Menu

Was this helpful?

  1. APTITUDES
  2. UI

Loop UI Handlers

Specify Loop actions based on the end user interactions with UI elements

PreviousUINextUser

Last updated 3 years ago

Was this helpful?

loopOpenHandler

The loopOpenHandler is a method that works in conjunction with the My Loops page and with the search dropdown menu. It will get called when the end user clicks on a Loop in one of those areas. It will also get called when a user installs, restarts, or unpauses your Loop. The purpose of this handler is to allow the end user to easily get back to the starting point of a Loop, by allowing Loop Authors to programmatically trigger their Loop’s Start Whisper. You can do this by wrapping your Start Whisper code within the ui.loopOpenHandler method.

Example

Here is an example of how to use the loopOpenHandler to trigger a Start Whisper:

Important: Utilizing the loopOpenHandler function is included in our . Without this function, your Loop will not provide the ideal user experience and will not meet the criteria stated in our .

(async () => {
  ui.listenSearchbar(doSomethingWithSearchText);
  ui.listenGlobalSearch(doSomethingWithSearchText);

  ui.loopOpenHandler(() =>
    whisper.create({
      label: 'Start Whisper',
      components: [
        {
          type: whisper.WhisperComponentType.Markdown,
          body: "I'm a whisper that only opens when loopOpenHandler is called",
        },
      ],
    })
  );
})();

My Loops Page

Think of the My Loops page as your home page for all of your installed Loops. From this page, you can easily access your Loops without executing a search, triggering a sensor, or opening extra windows. Simply click on the Loop you want to use, and a Whisper will be triggered.

You can also manage Loops from this page using the options provided within the dropdown arrow. Click Remove Loop to uninstall and Manage Loop to open the Loop detail page in the Loop Library window.

When a Loop is clicked from this page, the function inside ui.loopOpenHandler will be called. This should contain the code for launching the Loop's Start Whisper.

The Loop Dropdown Menu

Olive Helps' search experience features a Loop dropdown menu. This feature supports better searching when multiple Loops are installed. It will allow the end users to search across multiple Loops, or only within a specified Loop.

To check out this feature, click on the search icon at the top of the Olive Helps sidebar.

Clicking on the search icon will activate the new search bar:

You’ll notice a button-like element labeled All, with a dropdown arrow. Clicking on this element will open up a dropdown menu that displays all currently installed Loops, as well as Sidenote. The dropdown menu allows users to select a single Loop to engage with - for example, searching within just the selected Loop, or launching the Start Whisper for that Loop.

When the end user clicks on the Loop in the dropdown menu, the function inside ui.loopOpenHandler will be called. This should contain the code for launching the Loop's Start Whisper.

Product Requirements
Loop Approval Checklist
Selecting a Loop from the dropdown menu triggers the loopOpenHandler