import { BridgePlugin } from '../bridge';

interface IOpenPdfViwerParam {
  // 文件路径
  filePath: string;
  // 可选,文件名
  title?: string;
}

export class OpenPdfView<K> extends BridgePlugin<IOpenPdfViwerParam, K>{

  protected get ntvPluginName() {
    return '_ntv_util_open_pdf_view';
  }

  protected get availableMinVersion() {
    return '1.0.0';
  }

  protected bridgeExecChrome(): void {
    // 可针对不同运行环境实现特定的调用逻辑来MOCK，弥补平台差异性.
    throw new Error('OpenPdfView() 未针对当前环境实现');
  }
}

/**
 * 打开新的Tab, 调用PDF预览组件.
 */
export const openPdfView = (param: IOpenPdfViwerParam) => {
  new OpenPdfView<void>(param).invoke();
}