For the JSON editor support, you just need to specify a format
of view-path
in your schema:
"path": {
"type": "string",
"format": "view-path",
"description": "Path to the view that will be used as the display for the control.",
"default": ""
},
At the JSX/React level, you embed a <View>
from @inductiveautomation/perspective-client
... which I'm not sure if you have access to? I don't know off the top of my head the publishing situation for our TS libs.
But, in theory:
containerContent = (
<div>
<View
key={PageStore.instanceKeyFor(view.path, mountPath)}
store={this.props.store.view.page.parent}
mountPath={mountPath}
resourcePath={view.path}
outputListener={onViewOutputChanged}
params={view.params}
useDefaultWidth={true}
useDefaultHeight={true}
/>
<ReactResizeDetector
handleHeight={true}
handleWidth={true}
onResize={this.updateViewContainerDimensions(ref)}
/>
</div>
);