Widget Configurator SDK

版本: 0.6.6

Enhancer.getEnvironment() 获取环境信息

  • @return {Object} 环境信息对象
    • projectId 项目 ID
    • projectName 项目名称
    • pageId 当前页面 ID
    • entityNumber 当前实体(窗口)ID
    • isProduction 是否是在生产环境

Enhancer.Editor

  • createAutocompleteEditor(id, options) 创建带变量提示的 Ace 编辑器
    • @param id [required] Editor 所在的 DOM id
    • @param options
      • mode 编辑语法模式取值: sql | javascript
      • enableLiveAutocompletion 是否需要自动补全提示:true | false
    • @return aceEditor

Enhancer.DatasourceManager

  • testSQL( sql, callback ) 测试 SQL 是否合法,同时萃取 SQL 中所需的参数及结果中包含字段信息。
    • @param sql [required] 带检测的 SQL
    • @param callback
      • result 测试结果
        • success {boolean} 是否成功
        • metaData {Array} SQL 执行结果包含的列的元信息: {name: '列名', dbType: 'CHAR', varType: 'string' …}
        • params {Array} SQL 文本中依赖的参数列表
  • addDatasource( source, callback)添加数据源
    • @param source
      • name [optional] 数据源名
      • type [optional] 类型:rdb
      • query [required] SQL
    • @param callback(sourceId) sourceId 数据源Id
  • setDatasource( id, source ) 设置数据源

    • @param id 数据源 ID
    • @param source
      • name [optional] 数据源名
      • type [optional] 类型:rdb
      • query [required] SQL
  • getDatasource( id, callback) 获取数据源

    • @param id [required] 数据源 ID
    • @param callback(source) source 数据源
  • delDatasource( id ) 删除数据源

    • @param id [required] 数据源 ID
  • editDatasource( options ) 打开数据源编辑器,编辑数据源

    • @param options
      • id {String} [optional] 要编辑的数据源 id,为空时,表示要创建一个新的数据源。
      • title {String} [optional] 编辑器标题。
      • dataSpecification {String} [optional] 数据源规范描述,显示在数据源编辑上方提示栏。
      • supportedTypes {Array} [required] 设置允许编辑的数据源类型, 目前支持 4 中数据源类型:['rdb', 'http', 'static', 'jsonp']
      • callback {Function} [required] 回调函数,返回数据源对象
        • @param source {Object}
          • id 数据源 ID。
          • type 数据源类型。
          • params 数据源所依赖的参数列表数组。
  • createConfigurator(domId, options) 创建数据源配置器

    • @param domId {String} [required] 配置器DOM id
    • @param options {Object} [required] 配置选项
      • sourceId {String} [optional] 要编辑的数据源 id,为空时,表示要创建一个新的数据源。
      • title {String} [optional] 编辑器标题。
      • supportedTypes {Array} [required] 设置允许编辑的数据源类型, 目前支持 5 种数据源类型:['rdb', 'http', 'static', 'jsonp']
      • disableSourceType {Boolean} [optional] 禁用数据源类型配置,如果设置为 true,则数据源类型默认为 rdb
      • disableDataType {Boolean} [optional] 禁用数据类型配置,设置为 true,那么数据类型默认为 json
      • disableMockData {Boolean} [optional] 禁用模拟数据配置
      • defaultType {String} [optional] 默认选中数据源类型
      • saveButton {Boolean} [optional] 是否自带保存按钮,默认 true
      • dataSpecification {String} [optional] 数据源规范描述,显示在数据源编辑上方提示栏。
      • disableLocalProcess {Boolean} [optional] 禁用本地处理配置
      • onSourceTypeChange {Function} [optional] 数据源类型改变事件触发函数,参数为改变后的数据源类型
      • onQueryEditorInput {Function} [optional] 输入 query 内容事件触发函数
      • onChange {Function} [optional] 数据源设置的任何内容改变都会触发此事件
      • onSave {Function} [optional] 数据按钮被点击后,触发保存事件,回调函数的参数即当前保存完的数据源
    • @return datasourceConfigurator 对象

DatasourceConfigurator 对象由 Enhancer.DatasourceManager.createConfigurator 方法调用产生

  • save(callback) 保存当前数据源配置
  • setConfig(source) 设置数据源配置内容
    • @param source {Object} 数据源配置对象,一般是调用 DatasourceManager.getDatasource(sourceId, callback) 回调函数中获得。
  • getConfig() 获取当前数据源配置

Enhancer.VariableManager

  • getEnhancerVariables(callback) 获取 Enhancer 平台机制赋予的变量

  1. {
  2. '0-PROJ_NAME': {
  3. name: '0-PROJECT_NAME',
  4. type: 'string',
  5. des: 'project name (client side).'
  6. },
  7. '0-LAST_PAGE_ID': {
  8. name: '0-LAST_PAGE_ID',
  9. type: 'string',
  10. des: 'Last viewed page id (client side).'
  11. }
  12. }
  • getUserVariables(callback) 获取用户变量
  • getAllCurrSupportedVariables(callback) 获取当前页面支持的全部变量
  • getAllCurrSupportedVariableList(callback) 获取当前页面支持的全部变量列表

  1. [{
  2. name: '0-PROJECT_NAME',
  3. type: 'string',
  4. des: 'project name (client side).'
  5. }, {
  6. name: '0-LAST_PAGE_ID',
  7. type: 'string',
  8. des: 'Last viewed page id (client side).'
  9. }]

Enhancer.CodeEditor

  • edit(codeStr, options, callback) 打开编辑器编辑代码
    • @param codeStr
    • @param options
      • mode 编辑语法模式取值: sql | javascript
      • enableLiveAutocompletion 是否需要自动补全提示:true | false
      • title 编辑器的标题
    • @params callback
      • codeStr

Enhancer.Message

  • alert(options|text)
  1. Message.alert({
  2. title: 'Message',
  3. width: 280,
  4. height: 180,
  5. content: '操作成功!',
  6. text: 'OK',
  7. confirm: function() {}
  8. });
  • confirm(options)
  1. Message.alert({
  2. width: 280,
  3. height: 180,
  4. content: "Are you sure to delete <a style=''>id</a>?",
  5. cancelText: "No",
  6. confirmText: "Yes",
  7. cancel: function ( $d ) {},
  8. confirm: function( $d ) {}
  9. });

Enhancer.VariablePattern

  • isVariable(s) 是否是变量
  • isClientVariable(s) 是否是客户端变量
  • isIdentifier(s) 是否是标识符,如: $11-TABLE_NAME$
  • extractVariables(text) 提取文本中包含的全部变量。
    • @param text {String} 包含变量的文本字符串。
    • return {Array} 变量数组,如:["11-NAME", "13-ID", "USER_ID"]
  • extractClientVariables(text) 提取文本中包含的全部客户端变量。
    • @param text {String} 包含变量的文本字符串。
    • return {Array} 变量数组,如:["11-NAME", "13-ID"]

Enhancer.getDatabaseSettings(callback) 获取数据库设置

  • @param callback {Function} 回调函数,返回参数为数据库配置对象

Enhancer.getDatabaseConnectionNames(callback) 获取数据库名列表

  • @param callback {Function} 回调函数,返回参数为数据库名列表

Enhancer.IconSelector

  • openFor($jqObj, callback) 打开图标配置器,为某 $dom 配置图标
    • @param $jqObj {jQuery Object} [required] 要配置图标的 jquery 对象
    • @param callback {Function} 回调函数,只有一个参数 icon, 为用户选中的图标

Enhancer.getStaticResourceUrl(name) 获取静态资源 url

  • @param name {String} 资源文件名
  • @return {String} 静态资源 url

Enhancer.uploadStaticResource 上传静态资源

  • @param file {Object} 待上传的文件 dom 对象
  • @param name {String} 文件名,建议以文件本身扩展名作为此文件名的后缀,比如 xxx.png
  • @param callback {Function} 上传完毕回调函数,参数为资源对象,为空表示上传失败。
    • resource {Object}
      • name {String} 文件名
      • size {String}
      • url {String} 上传后的静态资源 url

Enhancer.registerWidgetConfigurator(Configurator) 注册组件配置器

  • @param Configurator {Object} [required] 配置器对象,需要实现以下方法:
    • constructor [required]
    • setProfile [required]
    • getProfile [required]
    • getSupportedEventList [optional]
    • getSupportedVariableList [optional]
    • getDependentVariableList [optional]
    • getWidth [optional]
    • getHeight [optional]

Enhancer.saveWidgetProfile() 保存当前组件 Profile,使组件内外一致。