Files
plainleaf/libraries/Library/Std/APIs/Action Button.md
T
Zef Hemel 1b0ba027b3 Add standalone option to action buttons
When `standalone` is set to true, this action button will only appear in
"standalone PWA" mode (e.g. home-screen mobile apps, or installed PWA on
desktop). Useful to e.g. only show forward and backward buttons. These
forward and backward buttons are now also added to the default action
button config.
2026-03-12 14:51:31 +01:00

1.4 KiB

description, tags
description tags
APIs to define custom action buttons meta/api

APIs to more conveniently define action buttons (alternative to setting them via regular ^Library/Std/Config).

API

actionButton.define(spec)

Keys to define:

  • icon: feather icon to use for your button
  • run: function to invoke once the button is pushed
  • description (optional): description of button (appears on hover)
  • priority (optional): determines priority of button (the higher, the earlier in the list)
  • mobile: when set to true this button will only appear on mobile devices
  • standalone: when set to true this button will only appear in standalone/PWA mode; when false, only in browser mode
  • dropdown (optional): when set to false, the button stays visible outside the dropdown menu on mobile (default: true)

Example

-- Defines a new button that forces your UI into read-only mode
actionButton.define {
  icon = "eye",
  -- Uncomment the following line to only make this button appear 
  -- ONLY on mobile devices:
  --   mobile = true,
  run = function()
    editor.setUiOption("forcedROMode", true)
    editor.rebuildEditorState()
  end
}

Implementation

-- priority: 100

actionButton = actionButton or {}

function actionButton.define(spec)
  local actionButtonConfig = config.get("actionButtons", {})
  table.insert(actionButtonConfig, spec)
end