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

Was this helpful?

  1. APTITUDES

UI

The UI Aptitude provides access to the Olive Helps search bar and global search.

Starting with the v0.25 release of Olive Helps, if a Loop utilizes listenSearchbar or listenGlobalSearch, the Search Bar will focus when the Loop is selected from the dropdown. If a Loop does not use these methods, the Search Bar will not focus when the Loop is selected from the dropdown.

listenGlobalSearch

Creates a listener receiving updates whenever the user enters a search in the Olive Helps Global Search. The Global Search is different from the search bar at the top of Olive Helps, and is triggered by using Command+Shift+O on Mac or Ctrl+Shift+O on Windows.

import { ui } from '@oliveai/ldk';

ui.listenGlobalSearch((text) => {
    // Code to run using the text that the user
    // entered into the Global Search
})

listenSearchbar

Creates a listener receiving updates whenever the user enters a search in the Olive Helps Search bar. The Search Bar can be found at the top of Olive Helps, by clicking the magnifying glass icon.

import { ui } from '@oliveai/ldk';

ui.listenSearchbar((text) => {
    // Code to run using the text that the user
    // entered into the Searchbar
})

loopOpenHandler

import { ui } from '@oliveai/ldk';

ui.loopOpenHandler(() => {
    // Code to run when the user selects your loop
    // from the Searchbar list
})

In this example, we trigger a whisper to show when the user selects your Loop from the Search bar list.

import { ui } from '@oliveai/ldk';

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

In this example, we open a Whisper when the user enters "/example" in either the Global Search or the Search bar.

import { ui } from '@oliveai/ldk';

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

ui.listenGlobalSearch(text => handler(text));
ui.listenSearchbar(text => handler(text));

To use the UI aptitude, simply set the following permissions in your package.json under the ldk object.

...
"ldk": {
  "permissions": {
    "ui": {},
    ...
  }
},
...

PreviousSystemNextLoop UI Handlers

Last updated 3 years ago

Was this helpful?

Registers a handler function for the Olive Helps Loop Open Button. This function runs when you open the Search bar, click All, and select your Loop. This will also run when a user first installs, restarts, or unpauses your Loop. .

Please see our page for more information.

Permissions
Click here for more detail