Options
All
  • Public
  • Public/Protected
  • All
Menu

Class View

页面

Hierarchy

Index

Constructors

Properties

JSON_EXCLUDED_KEYS: Set<string>

toJSON 时需要去除的键,为了避免出现 CircularJSON

_mutable: boolean = true

可修改标志,内部属性 标记在构造函数结束后是否可修改

auth: boolean = undefined

权限控制

bindRoles: string[] = []

绑定的角色

branchName: string = undefined

分支名称

changedTime: number = undefined

变动时间

children: View[] = []

页面列表

concept: "View" = 'View'

产品概念

crumb: string = undefined

面包屑

dataTreeNodeHidden: boolean = false

数据树节点是否显示 前端 UI 状态

editable: boolean = undefined

是否正在编辑 前端 UI 状态

editing: boolean = false

是否正在编辑 前端 UI 状态

elements: ViewElement[] = []

页面元素列表

events: BindEvent[] = []

元素绑定事件列表

expanded: boolean = false

节点是否为展开状态 前端 UI 状态

hidden: boolean = false

节点是否显示 前端 UI 状态

id: string = ...

唯一 Id

isIndex: boolean = undefined

是否是默认跳转的页面

isLeaf: boolean = false

是否为叶子节点 前端 UI 状态

loading: boolean = false

是否正在请求 前端 UI 状态

logicTreeNodeExpanded: boolean = false

数据树节点是否展开 前端 UI 状态

logicTreeNodeHidden: boolean = false

逻辑树节点是否显示 前端 UI 状态

logics: Logic[] = []

逻辑列表

name: string = undefined

页面名称

pageTemplateId: string = undefined

页面模板 Id

pageTreeNodeHidden: boolean = false

页面树节点是否显示 前端 UI 状态

params: Param[] = []

输入参数列表

parentNode: BaseNode = null

父节点

removable: boolean = undefined

是否可以删除 前端 UI 状态

roles: {}[] = []

角色

script: string = undefined

未解析的逻辑代码

sourceMap: SourceMap = undefined

用于挂 embeddedTS 的 sourceMap

style: string = undefined

未解析的样式代码

tempPath: string = undefined

前后端路径

template: string = undefined

未解析的模板代码

title: string = undefined

页面标题

tsErrorDetail: Diagnostic = undefined

当前节点上报错详细信息

variables: Variable[] = []

局部变量列表

Accessors

  • 祖先 App

    Returns App

  • 根节点

    Returns BaseNode

  • 上层节点

    Returns BaseNode

Methods

  • activeInside(source: any, Ctor: any, parentNode: any, parentKey: string): any
  • 激活 JSON 内部实例

    Parameters

    • source: any
    • Ctor: any
    • parentNode: any
    • parentKey: string

    Returns any

  • 添加元素绑定事件

    Parameters

    • bindEventOptions: Partial<BindEvent>

      元素绑定事件参数

    Returns BindEvent

  • 添加元素绑定事件

    Parameters

    • bindEvent: BindEvent

      已有的元素绑定事件实例

    Returns BindEvent

  • 添加逻辑

    Parameters

    • logicOptions: Partial<Logic>

      逻辑参数

    Returns Logic

  • 添加逻辑

    Parameters

    • logic: Logic

      已有的逻辑实例

    Returns Logic

  • 添加输入参数

    Parameters

    • paramOptions: Partial<Param>

      输入参数参数

    Returns Param

  • 添加输入参数

    Parameters

    • param: Param

      已有的输入参数实例

    Returns Param

  • addParamsPrepare(): Promise<any>
  • 添加局部变量

    Parameters

    • variableOptions: Partial<Variable>

      局部变量参数

    Returns Variable

  • 添加局部变量

    Parameters

    • variable: Variable

      已有的局部变量实例

    Returns Variable

  • 添加页面

    Parameters

    • viewOptions: Partial<View>

      页面参数

    Returns View

  • 添加页面

    Parameters

    • view: View

      已有的页面实例

    Returns View

  • changeName(newValue: string): Promise<any>
  • 重命名

    Parameters

    • newValue: string

    Returns Promise<any>

  • create(parentParams: Params): void
  • 创建节点

    Parameters

    • parentParams: Params

    Returns void

  • deepPick(source: any, keys?: string[]): void
  • 从对象中深度获取

    example

    比如一般后端返回只是添加了个 id

    this.deepPick(result, ['id'])
    

    Parameters

    • source: any
    • keys: string[] = []

    Returns void

  • delete(): void
  • destroy(): void
  • 销毁 从 Map 中删除点和子节点

    Returns void

  • emit(eventName: string, event?: EventPayload, target?: any): void
  • 触发事件

    Parameters

    • eventName: string

      事件名

    • Optional event: EventPayload
    • Optional target: any

    Returns void

  • findUsage(): Promise<any>
  • genActionListener(action: string): (($event: EventPayload) => void)
  • 为存储点生成行为监听器

    Parameters

    • action: string

    Returns (($event: EventPayload) => void)

      • ($event: EventPayload): void
      • Parameters

        • $event: EventPayload

        Returns void

  • genDesignerVueTemplate(options?: ElementToVueOptions): string
  • 转换成设计器中使用的 Vue template 内容

    Parameters

    • Optional options: ElementToVueOptions

    Returns string

  • genScript(): string
  • 生成 Vue 中需要的 JS 代码

    todo

    这一版先做成 componentOptions 式的,后面再美化

    Returns string

  • genSources(instance: BaseNode, filerFn?: ((source: Partial<BaseNode>) => {})): {}
  • getEmbeddedFilePath(name?: string): string
  • 生成宿主语言的文件路径

    Parameters

    • name: string = ...

      一般不用传,用于 rename

    Returns string

  • 插入元素绑定事件

    Parameters

    • name: string

      元素绑定事件名称,如果不填会自动生成一个唯一名称

    • index: number

    Returns BindEvent

  • 插入元素绑定事件

    Parameters

    • bindEventOptions: Partial<BindEvent>

      元素绑定事件参数

    • index: number

    Returns BindEvent

  • 插入元素绑定事件

    Parameters

    • bindEvent: BindEvent

      已有的元素绑定事件实例

    • index: number

    Returns BindEvent

  • insertLogicAt(name: string, index: number): Logic
  • insertLogicAt(logicOptions: Partial<Logic>, index: number): Logic
  • insertLogicAt(logic: Logic, index: number): Logic
  • 插入逻辑

    Parameters

    • name: string

      逻辑名称,如果不填会自动生成一个唯一名称

    • index: number

    Returns Logic

  • 插入逻辑

    Parameters

    • logicOptions: Partial<Logic>

      逻辑参数

    • index: number

    Returns Logic

  • 插入逻辑

    Parameters

    • logic: Logic

      已有的逻辑实例

    • index: number

    Returns Logic

  • insertParamAt(name: string, index: number): Param
  • insertParamAt(paramOptions: Partial<Param>, index: number): Param
  • insertParamAt(param: Param, index: number): Param
  • 插入输入参数

    Parameters

    • name: string

      输入参数名称,如果不填会自动生成一个唯一名称

    • index: number

    Returns Param

  • 插入输入参数

    Parameters

    • paramOptions: Partial<Param>

      输入参数参数

    • index: number

    Returns Param

  • 插入输入参数

    Parameters

    • param: Param

      已有的输入参数实例

    • index: number

    Returns Param

  • 插入局部变量

    Parameters

    • name: string

      局部变量名称,如果不填会自动生成一个唯一名称

    • index: number

    Returns Variable

  • 插入局部变量

    Parameters

    • variableOptions: Partial<Variable>

      局部变量参数

    • index: number

    Returns Variable

  • 插入局部变量

    Parameters

    • variable: Variable

      已有的局部变量实例

    • index: number

    Returns Variable

  • insertViewAt(name: string, index: number): View
  • insertViewAt(viewOptions: Partial<View>, index: number): View
  • insertViewAt(view: View, index: number): View
  • 插入页面

    Parameters

    • name: string

      页面名称,如果不填会自动生成一个唯一名称

    • index: number

    Returns View

  • 插入页面

    Parameters

    • viewOptions: Partial<View>

      页面参数

    • index: number

    Returns View

  • 插入页面

    Parameters

    • view: View

      已有的页面实例

    • index: number

    Returns View

  • 插入页面元素

    Parameters

    • name: string

      页面元素名称,如果不填会自动生成一个唯一名称

    • index: number

    Returns ViewElement

  • 插入页面元素

    Parameters

    • viewElementOptions: Partial<ViewElement>

      页面元素参数

    • index: number

    Returns ViewElement

  • 插入页面元素

    Parameters

    • viewElement: ViewElement

      已有的页面元素实例

    • index: number

    Returns ViewElement

  • instantiate(source: any, parentNode: BaseNode, parentKey: string): any
  • 实例化一个 JSON 由于有 from,只能先实例化父级,再实例化子级

    Parameters

    • source: any
    • parentNode: BaseNode
    • parentKey: string

    Returns any

  • off(eventName: string, listener: EventListener): void
  • 取消监听事件

    Parameters

    • eventName: string

      事件名

    • listener: EventListener

      监听器

    Returns void

  • on(eventName: string, listener: EventListener): void
  • 监听事件

    Parameters

    • eventName: string

      事件名

    • listener: EventListener

      监听器

    Returns void

  • once(eventName: string, listener: EventListener): void
  • 只监听一次事件

    Parameters

    • eventName: string

      事件名

    • listener: EventListener

      监听器

    Returns void

  • prepareDelete(): Promise<any>
  • removeBindEvent(name: string): void
  • removeBindEvent(bindEvent: BindEvent): void
  • 删除元素绑定事件

    Parameters

    • name: string

      元素绑定事件名称

    Returns void

  • 删除元素绑定事件

    Parameters

    • bindEvent: BindEvent

      已有的元素绑定事件实例

    Returns void

  • removeLogic(name: string): void
  • removeLogic(logic: Logic): void
  • 删除逻辑

    Parameters

    • name: string

      逻辑名称

    Returns void

  • 删除逻辑

    Parameters

    • logic: Logic

      已有的逻辑实例

    Returns void

  • removeParam(name: string): void
  • removeParam(param: Param): void
  • 删除输入参数

    Parameters

    • name: string

      输入参数名称

    Returns void

  • 删除输入参数

    Parameters

    • param: Param

      已有的输入参数实例

    Returns void

  • removeVariable(name: string): void
  • removeVariable(variable: Variable): void
  • 删除局部变量

    Parameters

    • name: string

      局部变量名称

    Returns void

  • 删除局部变量

    Parameters

    • variable: Variable

      已有的局部变量实例

    Returns void

  • removeView(name: string): void
  • removeView(view: View): void
  • 删除页面

    Parameters

    • name: string

      页面名称

    Returns void

  • 删除页面

    Parameters

    • view: View

      已有的页面实例

    Returns void

  • removeViewElement(name: string): void
  • removeViewElement(viewElement: ViewElement): void
  • 删除页面元素

    Parameters

    • name: string

      页面元素名称

    Returns void

  • 删除页面元素

    Parameters

    Returns void

  • setAuth(auth: boolean): void
  • 设置权限控制

    Parameters

    • auth: boolean

    Returns void

  • setBindRoles(bindRoles: string[]): void
  • 设置页面权限

    Parameters

    • bindRoles: string[]

    Returns void

  • setCrumb(crumb: string): void
  • 设置面包屑

    Parameters

    • crumb: string

    Returns void

  • setIsIndex(isIndex: boolean): void
  • 设置是否是默认跳转的页面

    Parameters

    • isIndex: boolean

    Returns void

  • setName(name: string): void
  • 设置页面名称

    Parameters

    • name: string

    Returns void

  • setTitle(title: string): void
  • 设置页面标题

    Parameters

    • title: string

    Returns void

  • toDesignerVue(options?: ElementToVueOptions): string
  • 转换成设计器中使用的 Vue 文件 目前不需要 script 和 style

    Parameters

    • Optional options: ElementToVueOptions

    Returns string

  • toJSON(): {}
  • 去除循环依赖,转为纯 JSON

    Returns {}

    • toPlainJSON(parentKey?: string, excludedKeys?: string[]): any
    • 转为单层的 JSON

      Parameters

      • Optional parentKey: string

        外面的 key,提供给 JSON.stringify 使用

      • excludedKeys: string[] = []

        需要额外排除的 keys

      Returns any

    • toVue(options?: ElementToVueOptions): string
    • 转换成 Vue 文件

      Parameters

      • Optional options: ElementToVueOptions

      Returns string

    • toVueOptions(options?: ElementToVueOptions): {}
    • 转换成 VueOptions

      todo

      后面 template 可以优化成 render 函数

      Parameters

      • Optional options: ElementToVueOptions

      Returns {}

      • update(__namedParameters: any): void
      • 更新节点

        Parameters

        • __namedParameters: any

        Returns void

      • getDefaultOptions(): any