Widget editor
On this page
Widget editor
The widget editor is a three-panel workspace for building and previewing a widget. It has a code editor for the component and server script, a live preview, and a panel for widget properties.
Component and Script tabs
Both tabs are code editors with syntax highlighting and autocomplete for the widget component code and its server script. The server script is written as export default function server(data, options, input) {...}, with GlideRecordSecure, GlideQuery, and gs available — use GlideRecordSecure rather than GlideRecord so queries respect ACLs. Call this.server.get(input), .update(), or .refresh() from the component to run it.
[Omitted image “aiux-builder-editor-overview.png”] Alt text: Component tab with syntax highlighting and autocomplete
Complex widgets with additional files
Widget Builder only edits the widget’s component (index.js) and server script (server.js). A complex widget that has relative imports to other utility files isn’t fully editable here, those additional files aren’t shown in the Component or Script tabs.
Important: If a widget imports from files other than its own component and server script, use the Lux Lab VS Code extension instead.
[Omitted image “aiux-builder-complex-widget-vscode.png”] Alt text: Complex widget with additional utility files, opened in the Lux Lab VS Code extension
Preview tab
The Preview tab renders the widget live, in a resizable and zoomable viewport:
-
Drag the handles on the left, right, bottom, or corner to resize the preview.
-
Use the zoom controls in the bottom-right corner, or hold Ctrl/Cmd and scroll, to zoom in and out. The zoom controls reflow the layout rather than just scaling it visually.
-
Select Refresh to reload the preview from the latest build, bypassing the short cache Widget Builder keeps when you switch tabs.
If the preview can’t load, it shows the specific problem, such as a missing dependency, a timeout, an import failure, or a registration error with a Retry button. A widget that hasn’t been built yet shows “Preview not available yet — Click Build to compile” instead of an error.
[Omitted image “aiux-builder-preview.png”] Alt text: Preview tab with resize handles and zoom controls
Property panel
The property panel on the right has two modes:
-
Widget Properties
A form for the widget's metadata: name, ID, description, category, and similar fields.
-
Preview Props
Inject property values into the running preview to see how the widget behaves with different inputs, without changing the widget's saved defaults.
[Omitted image “aiux-builder-property-panel.png”] Alt text: Property panel in Widget Properties mode
[Omitted image “aiux-builder-preview-props.png”] Alt text: Property panel in Preview Props mode
Save, Publish, and Build
-
Save
Builds the widget without deploying it. The preview updates right away, so you can iterate quickly. If a build fails, your edits aren’t lost — Widget Builder saves a draft and shows the build error. Fix the issue and save or publish again.
-
Publish
Builds and deploys the widget to the instance. A new or cloned widget's first publish shows "Widget created and published"; later publishes show "Widget published". If publishing fails after a successful build, Widget Builder shows the error.
Keep exploring.
Find another answer, or bring this documentation into your own tools.