Widget SDK API

版本: 0.7.8

Widget 指调用 Enhancer.registerWidget 注册的对象。

block() 锁住组件,有异步等待时可调用。

unblock() 解锁组件。

trig(eventName[, data[, callback]) 触发事件。

  • @param eventName {String} [required] 事件名
  • @param data {Object} [optional] 在 Configurator.getSupportedVariables 方法中声明要支持的变量数据。也可以不用,传递此参数,而是在 Widget.getData 方法中,统一返回各种数据。
  • @param callback {Function} [optional] 事件触发后,相关前后台响应完毕后的回调函数。如果组件的前端操作需要因AJAX执行失败而撤销(比如删数据行),则需要指定此函数,做 UI 恢复。
    • result {Object} 由后台传递来的执行结果对象,格式为:{success: false, message: '操作失败'}。注意:仅仅当本事件触发后执行了用户设置的后台响应过程,才会有此回调结果参数。

getContainer() 获得组件所在的容器 div。

id() 获得组件所在容器 DIV 的唯一 id。

getSourceData(id[, criteria[, callback, errCallback]) 获取源数据

  • @param id [required] 数据源 ID,由 Widget Configurator 配置生成。
  • @param criteria [optional] 查询标准参数

    • countRecords {boolean} [optional] 是否要统计记录数,默认 false
    • paged {Boolean} [optional] 是否分页,默认 false
    • page {Number} [optional] 页号
    • rowNum {Number} [optional] 每页行数
    • sortBy {String} [optional] 排序字段
    • format {String} [optional] 数据返回格式: object | array 默认 object
    • params {Object}[optional] 指定参数,覆盖由系统自动捕获的参数上下文。
    • metaData {boolean} [optional] 是否要求结果集中包含描述数据特征的元数据,
    • filters 过滤器,例:
  1. {
  2. "groupOp": "OR", // 条件运算: OR | AND
  3. "groups": [ // 条件组,相当于 SQL 条件加括号,可以递归地定义下去。
  4. {
  5. "groupOp": "OR",
  6. "rules": [
  7. {
  8. "field": "birth_place",
  9. "op": "eq",
  10. "data": "浙江"
  11. }
  12. ],
  13. "groups": []
  14. }
  15. ],
  16. "rules": [ // 条件数组,每个元素是一个单独的条件
  17. {
  18. "field": "id", // 字段
  19. "op": "eq", // 操作,取值含义对照:
  20. // eq 等于, ne 不等于, lt 小于, le 小于等于, gt 大于, ge 大于等于, bw 以开头, bn 不以开头,
  21. // ew 以结尾, en 不以结尾, cn 包含, nc 不包含, nu 为空, nn 不为空, in 在集合中, nn 不在集合中
  22. "data": 1 //数据
  23. },
  24. {
  25. "field": "id",
  26. "op": "eq",
  27. "data": 2
  28. }
  29. ]
  30. }
  • @param callback {Function}
    • data
  1. {
  2. rows:[...],
  3. paged: false,
  4. page: 1,
  5. rowNum: 15,
  6. records: 1321,
  7. metaData: [
  8. {name:'id', dbType: 'CHAR', varType: 'string'},
  9. ...
  10. ]
  11. }
  • @param errCallback {Function} [optional]
    • result

getSourceDataParamsProvidedByThisWidget(sourceId) 获取数据源依赖的本组件参数变量名。

getSourceDataParamNames(sourceId) 获取数据源参数列表。

isSourceDataParamsChanged(sourceId) 判断数据源依赖的参数值相对于上一次数据请求后,是否发生了改变。此方法可用作减少 http 请求的优化。

getWindowNo() 获得所属窗口编号

getBaseUrl() 获得本组件基本地址,可以基于此地址访问其他需要动态加载的资源

parent() 获得所属窗口实体对象

isInTabContainer() 是否包含在选项卡容器中

isInAccordionContainer() 是否包含在手风琴容器中

Enhnacer

getFileUploadUrl() 获取文件上传 URL

访问文件上传 URL 后返回的数据格式如下:

  1. {
  2. "success": true,
  3. "data": {
  4. "files": [{
  5. "filedName": "上传时指定的字段名",
  6. "originalFilename": "上传时指定的文件名",
  7. "size": 1024,
  8. "url": "文件上传后生成的 url"
  9. }]
  10. }
  11. }

getStaticResourceUrl(name) 获取静态资源 URL

  • @param name {String} - 从工作台上传的静态资源名。
  • @return {String}

getCustomInterfaceUrl(interfaceName) 获取自定义接口 URL

  • @param interfaceName {String} 用户指定的后台接口名。
  • @return {String}

getWidgetBaseUrl(widgetName) 获取组件基本地址

  • @param widgetName {String} - 组件名,为空时返回整个组件仓库基本地址。
  • @return {String}

Enhancer.Util

testCondition(condition) 测试条件函数,将带变量的条件表达式做变量替换,然后计算布尔值。

  • @param condition {String} - 可以是带变量的 JS 条件表达式或类 SQL 语言表达式。比如: @11-name@ = '张三' AND @11-gender@ != '女'
  • @return {Boolean}

Enhancer.ZContext

value(vars) 从全局上下文中获取指定变量的值

values(vars) 从全局上下文中获取指定变量的值

parse(contextStr, replace) 解析带变量的文本,将文本中包含的变量替换成对应的值。

  • @param contextStr {String} [required] - 含变量的文本
  • @param replace {Function} [optional] - 指定替换函数
  • @return parsed {String} - 替换过的字符串

其他可用 API