The Studio is the editing environment for one custom visual tile. It holds the visual's files, previews your code on the tile's rows, and applies it to the report you have open. For what a custom visual is and how it is shared, see Custom visuals and the visual library.
You need edit access to the report and the Author DataPrism Custom Visuals permission. Without it, Edit code is not offered. See Who can do what in DataPrism.
The Studio opens beside the report, in the same tab. While it loads it reads Loading report and Loading studio. It works while the report is open: leave the report and it minimises itself; reopen the report to keep editing.
The left panel is the file tree of one visual.
visual. html, visual. css, visual. js, options. json and the assets/ folder.visual. html, visual. css and options. json); HTML + JS adds visual. js. A new visual opens from a starter document, a small KPI strip, so you begin from working code.options. json is open in Code, the header adds JSON and Form. The Form view also holds Interactions, where Allow links decides whether the code may open https links; the host rules and refusals are in Sandbox, network and the allowlist.Apply (Ctrl+Enter) commits your code to the tile in the report you have open. It is available when your code differs from what the tile holds, or when the tile has no saved code yet, and it waits while an AI turn runs.
Applied code changes the open report only. Other people keep seeing the last saved version until the report is saved; the Studio does not save the report for you. When an apply is refused, the tile keeps its last applied code and the Studio shows the reason.
With edits you have not applied, closing asks first. The dialog reads Unsaved changes: "Apply them to the tile, or close and lose them." Choose Apply & Close to apply and close, or Close Anyway to close without applying.
Code that was still in the editor when the Studio went away is kept as a draft for that tile: for example, if you leave the report without closing the Studio, the next time you open the Studio a banner offers "Restore unsaved visual code from <time>?" with Restore and Dismiss. The offer appears only when the draft differs from the code on the tile, and Dismiss drops it.
The draft holds code you had not applied. The tile keeps the last code you applied, and the report keeps the last version you saved.
When your applied code is on the tile and the report itself is unsaved, closing asks Save the report now?: "Saving writes a new report version; closing without saving keeps the changes in this tab only." Choose Save & Close or Close Without Saving.
History opens Version history, the code versions recorded by the report's saves; its tooltip reads "Version history - view and restore this visual's applied code". Every report save that applied this visual's code adds a version, so Apply alone does not.
For report versions themselves, see Build a report.
In the Code view, Diagnostics opens the last runtime report for your code; its tooltip reads "Last runtime report: errors, console, violations, findings". The drawer lists each phase of the run and whether it finished, the errors with their positions, content the sandbox blocked, the code findings and the console output. When the last run had errors, the button carries an error badge.
For the tile's own error strip, its diagnostics drawer and the Visual assets dialog, see Custom visual Studio, assets and diagnostics.
The Studio works beside the report it belongs to, in the same tab. When the report is not open, it shows "This visual belongs to a report that is not open. Open the report to keep editing it." with an Open report action that takes you to it. If the tile itself is gone from the report, it shows "This tile is no longer in the report, so there is nothing to edit here."; use Close to dismiss it.
Two reasons. There is nothing new to apply: your code matches what the tile holds and the tile already has saved code. Or an AI turn is running, and Apply, Undo and Redo wait until it finishes.
The tile's saved code changed for a file you were editing, so the Studio cannot merge them silently. Reload from tile takes the tile's version of that file; Keep mine keeps your edit.
Your applied code is safe: the tile keeps the last version you applied. For the rest, the close dialog asks first (Apply & Close applies the edits and closes; Close Anyway closes without applying), and code that was still in the editor when the Studio went away is kept as a draft for that tile. Open its Studio again and a banner offers "Restore unsaved visual code from <time>?" with Restore and Dismiss; Dismiss drops the draft.
The tile holds code you applied this session, and the report itself has unsaved changes. The dialog Save the report now? says "Saving writes a new report version; closing without saving keeps the changes in this tab only." Choose Save & Close or Close Without Saving.
A version is recorded only when the report is saved with the visual's code applied; Apply alone does not create one. Save the report after Apply, and the version appears here. For how report versions work in general, see Build a report.
Yes. In Preview, choose Export preview to download a PNG of what the preview shows. It is available once the preview is ready. If the export returns something other than a PNG, the Studio says "the visual answered with a non-PNG export"; a failed attempt reads "Export failed", rather than saving a broken file.
The JSON does not parse, so the form has nothing to build. The Studio shows the error followed by "fix the JSON before editing as a form." Fix the JSON in the JSON view and the Form view returns.
The last runtime report: each phase of the run and whether it finished, the errors with their positions, content the sandbox blocked, the code findings and the console output. When the last run had errors, the Diagnostics button shows an error badge.