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
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.
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.
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.
import { writePreference } from 'protocol-launcher/panorama-x'
const url = writePreference({
name: 'newwindowwidth',
value: 800,
})Generated URLs
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'