gristlabs_grist-core/app/plugin/InternalImportSourceAPI.ts

25 lines
1.1 KiB
TypeScript
Raw Permalink Normal View History

import { RenderTarget } from './RenderOptions';
import { ImportSource } from './ImportSourceAPI';
export * from './ImportSourceAPI';
/**
* This internal interface is implemented by grist-plugin-api.ts to support
* `grist.addImporter(...)`. This is this interface that grist stubs to calls
* `ImportSourceAPI`. However, some of the complexity (ie: rendering targets) is hidden from the
* plugin author which implements directly the simpler `ImportSourceAPI`.
*
* Reason for this interface is because we want to have the `inlineTarget` parameter but we don't
* want plugin author to have it.
*/
export interface InternalImportSourceAPI {
/**
* The `inlineTarget` argument which will be passed to the implementation of this method, can be
* used as follow `grist.api.render('index.html', inlineTarget)` to embbed `index.html` in the
* import panel. Or it can be ignored and use `'fullscreen'` in-place. It is used in
* `grist.addImporter(...)` according to the value of the `mode` argument.
*/
getImportSource(inlineTarget: RenderTarget): Promise<ImportSource|undefined>;
}