import type { Embedded } from '@lcap/nasl-types'; import { TranslatorGenerator } from '@lcap/nasl-translator'; import type BusinessComponent from './BusinessComponent__'; import type { FrontendType } from './FrontendType__'; import BaseNode from '../common/BaseNode'; import type BindEvent from './BindEvent__'; import type View from './View__'; import type FrontendVariable from './FrontendVariable__'; import type Theme from './Theme__'; import type I18nInfo from './I18nInfo__'; import type StyleInfo from './StyleInfo__'; /** * 前端 */ export declare class Frontend extends BaseNode { /** 类名 */ static readonly ConceptName: string; /** * 是否为抽象类 * 抽象类不能产生 concept: string */ static isAbstract: boolean; /** 继承链 */ static readonly inheritanceChain: string[]; /** * 产品概念 */ readonly concept: 'Frontend'; /** * 前端标识 */ name: string; /** * pc端 */ title: string; /** * PC/H5 端 */ type: 'pc' | 'h5'; /** * 基础路径 */ path: string; /** * 制品应用标题 */ documentTitle?: string; /** * 制品应用图标 */ documentIcon?: string; /** * 元素绑定事件列表 */ bindEvents: Array; /** * 页面列表 */ views: Array; /** * 前端全局变量列表 */ variables: Array; /** * 主题配置 */ theme?: Theme; /** * 全局缩放开关 */ globalScaleEnabled: boolean; /** * 画布宽度 */ canvasWidth: number; /** * 国际化信息 */ i18nInfo?: I18nInfo; /** * 高码样式 */ styleInfo: StyleInfo; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial); static from(source: any, parentNode?: any, parentKey?: string): Frontend; /** * 设置前端标识 */ setName(name: string): void; /** * 设置pc端 */ setTitle(title: string): void; /** * 设置基础路径 */ setPath(path: string): void; /** * 设置制品应用标题 */ setDocumentTitle(documentTitle: string): void; /** * 设置制品应用图标 */ setDocumentIcon(documentIcon: string): void; /** * 设置全局缩放开关 */ setGlobalScaleEnabled(globalScaleEnabled: boolean): void; /** * 设置画布宽度 */ setCanvasWidth(canvasWidth: number): void; getBindEventExistingNames(excludedList?: Array): string[]; getBindEventUniqueName(name?: string): string; /** * 插入元素绑定事件 * @internal * @param name 元素绑定事件名称,如果不填会自动生成一个唯一名称 */ _insertBindEventAt(name: string, index: number): BindEvent; /** * 插入元素绑定事件 * @internal * @param bindEventOptions 元素绑定事件参数 */ _insertBindEventAt(bindEventOptions: Partial, index: number): BindEvent; /** * 插入元素绑定事件 * @internal * @param bindEvent 已有的元素绑定事件实例 */ _insertBindEventAt(bindEvent: BindEvent, index: number): BindEvent; /** * 插入元素绑定事件 * @param name 元素绑定事件名称,如果不填会自动生成一个唯一名称 */ insertBindEventAt(name: string, index: number): BindEvent; /** * 插入元素绑定事件 * @param bindEventOptions 元素绑定事件参数 */ insertBindEventAt(bindEventOptions: Partial, index: number): BindEvent; /** * 插入元素绑定事件 * @param bindEvent 已有的元素绑定事件实例 */ insertBindEventAt(bindEvent: BindEvent, index: number): BindEvent; /** * 添加元素绑定事件 * @internal * @param name 元素绑定事件名称,如果不填会自动生成一个唯一名称 */ _addBindEvent(name?: string): BindEvent; /** * 添加元素绑定事件 * @internal * @param bindEventOptions 元素绑定事件参数 */ _addBindEvent(bindEventOptions: Partial): BindEvent; /** * 添加元素绑定事件 * @internal * @param bindEvent 已有的元素绑定事件实例 */ _addBindEvent(bindEvent: BindEvent): BindEvent; /** * 添加元素绑定事件 * @internal * @param name 元素绑定事件名称,如果不填会自动生成一个唯一名称 */ addBindEvent(name?: string): BindEvent; /** * 添加元素绑定事件 * @param bindEventOptions 元素绑定事件参数 */ addBindEvent(bindEventOptions: Partial): BindEvent; /** * 添加元素绑定事件 * @param bindEvent 已有的元素绑定事件实例 */ addBindEvent(bindEvent: BindEvent): BindEvent; getViewExistingNames(excludedList?: Array): string[]; getViewUniqueName(name?: string): string; /** * 插入页面 * @internal * @param name 页面名称,如果不填会自动生成一个唯一名称 */ _insertViewAt(name: string, index: number): View; /** * 插入页面 * @internal * @param viewOptions 页面参数 */ _insertViewAt(viewOptions: Partial, index: number): View; /** * 插入页面 * @internal * @param view 已有的页面实例 */ _insertViewAt(view: View, index: number): View; /** * 插入页面 * @param name 页面名称,如果不填会自动生成一个唯一名称 */ insertViewAt(name: string, index: number): View; /** * 插入页面 * @param viewOptions 页面参数 */ insertViewAt(viewOptions: Partial, index: number): View; /** * 插入页面 * @param view 已有的页面实例 */ insertViewAt(view: View, index: number): View; /** * 添加页面 * @internal * @param name 页面名称,如果不填会自动生成一个唯一名称 */ _addView(name?: string): View; /** * 添加页面 * @internal * @param viewOptions 页面参数 */ _addView(viewOptions: Partial): View; /** * 添加页面 * @internal * @param view 已有的页面实例 */ _addView(view: View): View; /** * 添加页面 * @internal * @param name 页面名称,如果不填会自动生成一个唯一名称 */ addView(name?: string): View; /** * 添加页面 * @param viewOptions 页面参数 */ addView(viewOptions: Partial): View; /** * 添加页面 * @param view 已有的页面实例 */ addView(view: View): View; getVarExistingNames(excludedList?: Array): string[]; getFrontendVariableUniqueName(name?: string): string; /** * 插入前端全局变量 * @internal * @param name 前端全局变量名称,如果不填会自动生成一个唯一名称 */ _insertFrontendVariableAt(name: string, index: number): FrontendVariable; /** * 插入前端全局变量 * @internal * @param frontendVariableOptions 前端全局变量参数 */ _insertFrontendVariableAt(frontendVariableOptions: Partial, index: number): FrontendVariable; /** * 插入前端全局变量 * @internal * @param frontendVariable 已有的前端全局变量实例 */ _insertFrontendVariableAt(frontendVariable: FrontendVariable, index: number): FrontendVariable; /** * 插入前端全局变量 * @param name 前端全局变量名称,如果不填会自动生成一个唯一名称 */ insertFrontendVariableAt(name: string, index: number): FrontendVariable; /** * 插入前端全局变量 * @param frontendVariableOptions 前端全局变量参数 */ insertFrontendVariableAt(frontendVariableOptions: Partial, index: number): FrontendVariable; /** * 插入前端全局变量 * @param frontendVariable 已有的前端全局变量实例 */ insertFrontendVariableAt(frontendVariable: FrontendVariable, index: number): FrontendVariable; /** * 添加前端全局变量 * @internal * @param name 前端全局变量名称,如果不填会自动生成一个唯一名称 */ _addFrontendVariable(name?: string): FrontendVariable; /** * 添加前端全局变量 * @internal * @param frontendVariableOptions 前端全局变量参数 */ _addFrontendVariable(frontendVariableOptions: Partial): FrontendVariable; /** * 添加前端全局变量 * @internal * @param frontendVariable 已有的前端全局变量实例 */ _addFrontendVariable(frontendVariable: FrontendVariable): FrontendVariable; /** * 添加前端全局变量 * @internal * @param name 前端全局变量名称,如果不填会自动生成一个唯一名称 */ addFrontendVariable(name?: string): FrontendVariable; /** * 添加前端全局变量 * @param frontendVariableOptions 前端全局变量参数 */ addFrontendVariable(frontendVariableOptions: Partial): FrontendVariable; /** * 添加前端全局变量 * @param frontendVariable 已有的前端全局变量实例 */ addFrontendVariable(frontendVariable: FrontendVariable): FrontendVariable; /** * 删除元素绑定事件 * @param name 元素绑定事件名称 */ removeBindEvent(name: string): void; /** * 删除元素绑定事件 * @param bindEvent 已有的元素绑定事件实例 */ removeBindEvent(bindEvent: BindEvent): void; /** * 删除页面 * @param name 页面名称 */ removeView(name: string): void; /** * 删除页面 * @param view 已有的页面实例 */ removeView(view: View): void; /** * 删除前端全局变量 * @param name 前端全局变量名称 */ removeFrontendVariable(name: string): void; /** * 删除前端全局变量 * @param frontendVariable 已有的前端全局变量实例 */ removeFrontendVariable(frontendVariable: FrontendVariable): void; /** * 给端上注入的时机分别在发布/导出源码实例化nasl的时候 */ metaData: { logicsMap: any; servicesMap: { _custom: any; }; }; /** * @param path 路径 * path 为要查找路径:如 /dashboard/student/list、/dashboard/student/list */ findViewByPath(path: string): View; findViewByName(name: string): View; genThemeCSS(): string; genProCSS(): string; getTsNamespace(): string; getNamespace(): string; /** * 生成宿主语言的文件路径 * @param name 一般不用传,用于 rename */ getEmbeddedFilePath(name?: string): string; toEmbeddedTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): TranslatorGenerator; toEmbeddedTSFile(): Embedded.TSFileGenerator; get frameworkKind(): FrontendType['frameworkKind']; getPath(): string; get prefixPath(): string; /** * 为/的转成'',便于url拼接 */ get basePath(): string; getExtensionsCallbackLogics(): Set; get defaultCanvasWidth(): 1440 | 375; setI18nKeys(): void; getChildrenI18nKeys(node: Frontend | BusinessComponent, nodes?: any[]): void; getI18nKeyNodes(map?: any): any[]; getI18nKeyNodeTypeMap(): {}; get allLanguageList(): { id: string; name: string; title: string; }[]; getCurrentLanguageList(): { id: string; name: string; title: string; }[]; delProcessViewDestination(): Promise; toNaturalTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; toTextualNASL(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; toEmbeddedDeclarationTSFile(): Embedded.DeclarationTSFileResult; } export default Frontend; //# sourceMappingURL=Frontend__.d.ts.map