Skip to content

Panorama X

Panorama X is a macOS database app from ProVUE Development. Protocol Launcher allows you to generate Panorama X URLs.

Usage

There are two ways to use this library:

  • On-Demand import from subpaths enables tree-shaking and keeps bundles small.
  • Full Import from the root package is convenient but includes all app modules.

Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.

Select Installation Method

On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.

URL Methods

ProVUE documents exactly two panoramax://x-callback-url actions: run/database/procedure/label and wizard/wizard+name (or wizard%20name). ProVUE also documents a separate panoramax://writepreference?name=value URL in the writepreference statement reference. These helpers do not add any other Panorama X actions.

Run Procedure

Generate the documented x-callback-url run action. Panorama X uses the path segments as the database, procedure, and label names. Optional params become query-string data passed with the callback URL.

On-Demand
ts
import { runProcedure } from 'protocol-launcher/panorama-x'

const url = runProcedure({
  database: 'database',
  procedure: 'procedure',
  label: 'xCallbackURLSuccess',
})

const urlWithData = runProcedure({
  database: 'database',
  procedure: 'procedure',
  label: 'xCallbackURLSuccess',
  params: {
    buildnumber: 50353,
    apiVersion: 2,
  },
})

Open Wizard

Generate the documented x-callback-url wizard action. ProVUE's release notes show spaces in the wizard name encoded as either + or %20; Protocol Launcher emits standard %20 encoding.

On-Demand
ts
import { openWizard } from 'protocol-launcher/panorama-x'

const url = openWizard({
  wizardName: 'wizard name',
})

Write Preference

Generate the documented writepreference URL. Panorama X receives the preference name as the query key and the preference value as text.

On-Demand
ts
import { writePreference } from 'protocol-launcher/panorama-x'

const url = writePreference({
  name: 'newwindowwidth',
  value: 800,
})

Generated URLs

ts
runProcedure({ database: 'database', procedure: 'procedure', label: 'xCallbackURLSuccess' })
// => 'panoramax://x-callback-url/run/database/procedure/xCallbackURLSuccess'

runProcedure({
  database: 'database',
  procedure: 'procedure',
  label: 'xCallbackURLSuccess',
  params: { buildnumber: 50353, apiVersion: 2 },
})
// => 'panoramax://x-callback-url/run/database/procedure/xCallbackURLSuccess?buildnumber=50353&apiVersion=2'

openWizard({ wizardName: 'wizard name' })
// => 'panoramax://x-callback-url/wizard/wizard%20name'

writePreference({ name: 'newwindowwidth', value: 800 })
// => 'panoramax://writepreference?newwindowwidth=800'

Official Documentation