UNPKG

@datafinder/embed-sdk

Version:

Embed SDK for DataFinder

40 lines (39 loc) 1.8 kB
import * as Comlink from 'comlink'; import { EmbedRenderOptions, FilterType } from '../../types'; export interface IComlinkBaseControllerAction { eventTracer: () => void; updateInterfaceConfig: (state: any) => void; getDsl: () => Promise<any>; getResultId: () => Promise<string | undefined>; setFilters(vids: FilterType[]): Promise<void>; getCurrentUrl: () => Promise<string>; getTeaUrl: () => Promise<string>; updateResultId: (resultId: string, source: string) => Promise<void>; copyResultId: (resultId: string) => Promise<string>; } export declare abstract class BaseAnalysisController { /** 基础状态值 */ protected abstract state: EmbedRenderOptions; /** 页面iframe */ protected iframe: HTMLIFrameElement | undefined; /** 页面交互控制器 */ protected comlinkController: Comlink.Remote<IComlinkBaseControllerAction> | undefined; /** 埋点 */ protected abstract eventTrace(): void; /** 打开嵌出页面 */ openPage: (customeIframe?: HTMLIFrameElement) => Promise<void>; /** 获取查询dsl,包含时间、事件 */ getDsl: () => any; /** 获取当前的resultId */ getResultId: () => Promise<string> | Promise<undefined> | undefined; /** 获取当前嵌出页的url */ getCurrentUrl: () => Promise<string> | undefined; /** 获取当前嵌出页对应的tea页面url */ getTeaUrl: () => Promise<string> | undefined; /** 更新resultId内容 */ updateResultId: (resultId: string, source: string) => Promise<void> | undefined; /** 更新细分筛选内容 */ setFilters: (filters: FilterType[]) => Promise<void> | undefined; /** 复制 resultId */ copyResultId: (resultId: string) => Promise<string> | undefined; }