- [fix] : 修复根据schema添加widget时name被重置
- [feat] : 增加基础表单组件
Schema
的change
事件暴露,可通过逻辑面板配置change
逻辑
- [fix] : 修复逻辑配置无法选择widget问题
- [fix] : 修复插件使用
copy
勾子复制schema未生效问题
- [fix] : 渲染器生命周期
created
位置不正确问题
- [fix] : 修复
store.addWidget()
后更新store.updateWidgetOption(rootSchema.key, {})
选项不生效问题
- [feat] :
store.addWidget(widget)
优化,widget可以为如input
形式字符串,也可以为{ widget: 'input', ...}
完整schema
- [feat] :
util.flattenSchema
导出增加对象增加 rootSchema
引用。可以通过store.updateWidgetOption(rootSchema.key, {...})
更新rootSchema.option
选项
- [fix] : 添加
vuedraggable
依赖,作为拖拽能力
- [feat] : 对外暴露
drag
模块,当前支持vue模块拖动,为自定义容器组件提供能力,依赖vuedraggable
- [feat] : 对外暴露
hook
模块,定制设计器及渲染器时可使用,一般用于设计器插件中,可参考epage
设计器hook使用,能力如下:
const syncHook = new hook.SyncHook() // 同步串行任务,不接受上一个任务结果
syncHook.tap(callback) // 将callback添加到同步任务队列
syncHook.call(args) // 将arguments分别传给任务队列的callback中
const syncWaterHook = new hook.SyncWaterfallHook() // 同步串行任务,接受上一个任务结果
// 用法同上,只是会将每个任务结果作为参数传给下个任务
- [feat] : 对外暴露
render
模块,直接提供render.VueRender
,实验阶段的ReactRender
可通过以下方式引入
import ReactRender from 'epage-core/src/render/ReactRender'
- [fix] : 修复widget被二次添加时,widget.Setting生命周期没有再次使用问题
- [feat] : 开放单一widget样式配置,自定义高级背景配置
- [feat] : 新增
text
widget能力,支持{{$f[schema.name]]}}
表达式运算
- [feat] : 增加整体页面配置(背景色、间距等),对外暴露
style
模块,目前包含{ Background }
- [feat] : 字典能力补充,未发版
- [feat] : 逻辑关系中,被控组件存在多值时,增加值的
或
、且
关系
- [feat] : 逻辑关系比较增加值类型条件
- [fix] : 修复
cascader
值类型转换未递归问题
- [fix] : 多个逻辑关系,改变值时出现未知现象,添加容错
- [feat] : 增加widget显隐属性默认值,逻辑配置面板,不符合条件时回退到默认值
- [feat] : 逻辑配置面板,可配置自定义脚本,可直接使用ctx全局变量,关于ctx可参考button的ctx
- [fix] : 修复上个版本增加
json
类型忽略undefined
情况导致渲染报错
- [feat] : 增加
Context
及Scirpt
模块,方便在自定义脚本中增加context环境
import { Context, Script } from 'epage-core'
const { $render } = this.$root.$options.extension
const { script } = this.schema.option
const ctx = new Context({
$el,
$render,
store,
instance: this,
state: {
loading: this.loading
}
})
const sc = new Script(ctx)
sc.exec(script)
- [feat] : 添加
schema.base.RootSchema
模块默认样式属性
- [feat] : 添加
schema.base
子模块导出
import { schema } from 'epage-core'
console.log(schema.base)
// { input: Schema, select: Schema, ...}
- [feat] : 添加
TypeBuilder
导出
- [feat] : 从 epage 项目抽离核心项目,作为设计器(epage)及渲染器(如epage-iview)的核心依赖