LogStatus-btnTypeTwo

该JSON结构用于配置状态栏中的按钮控件,按钮控件JSON结构可以嵌入到状态栏表格JSON结构中。这是目前最新版本的按钮JSON结构。 状态栏按钮控件构造示例(按钮触发点击后,弹出框中包含多个输入控件,通过group字段构造):

{
    "type": "button",
    "cmd": "open",
    "name": "开仓下单",
    "group": [{
        "type": "selected",
        "name": "tradeType",
        "label": "下单类型",
        "description": "市价单、限价单",
        "default": 0,
        "group": "交易设置",
        "settings": {
            "options": ["市价单", "限价单"],
            "required": true,
        }
    }, {
        "type": "selected",
        "name": "direction",
        "label": "交易方向",
        "description": "买入、卖出",
        "default": "buy",
        "group": "交易设置",
        "settings": {
            "render": "segment",
            "required": true,
            "options": [{"name": "买入", "value": "buy"}, {"name": "卖出", "value": "sell"}],
        }
    }, {
        "type": "number",
        "name": "price",
        "label": "价格",
        "description": "订单的价格",
        "group": "交易设置",
        "filter": "tradeType==1",
        "settings": {
            "required": true,
        }
    }, {
        "type": "number",
        "name": "amount",
        "label": "下单量",
        "description": "订单的下单量",
        "group": "交易设置",
        "settings": {
            "required": true,
        }
    }],
}

状态栏按钮控件点击触发后弹出框中的控件通过inputgroup字段进行设置。

对于按钮控件,固定设置为:button。 type string 按钮控件上显示的文本,即按钮名称。 name string 按钮控件被点击时,发送给策略的交互命令内容。 cmd string 在构造状态栏按钮进行交互时支持输入数据配置,交互指令最终由GetCommand()函数捕获。在状态栏按钮控件的JSON数据结构中增加input项,用于配置按钮触发时弹出对话框中的输入控件。 相对于旧版本的input结构,新版本增加了一些字段并进行了改动:

{
    "type": "selected",
    "name": "test",
    "label": "topic",
    "description": "desc",
    "default": 1,
    "filter": "a>1",
    "group": "group1",
    "settings": { ... },    // 组件配置
}

以上JSON结构中各字段的描述和说明: - type 控件类型(必填字段),支持设置为:"number"数值输入框、"string"字符串输入框、"selected"下拉框、"boolean"开关控件。 - name 如果当前JSON结构是input字段的值,当未设置label字段时,name将作为状态栏按钮点击触发后弹出对话框中的控件标题。 如果当前JSON结构是group字段值(数组结构)中的一个元素,name不作为控件标题使用,而是用于表示控件输入内容的字段名。例如以下group字段的示例片段:

  var testBtn3 = {
      type: "button",
      name: "testBtn3",
      cmd: "cmdTestBtn3",
      group: [
          {name: "comboBox1", label: "labelComboBox1", description: "下拉框1", type: "selected", defValue: 1, options: ["A", "B"]},
          {name: "comboBox2", label: "labelComboBox2", description: "下拉框2", type: "selected", defValue: "A|B"},
          {name: "comboBox3", label: "labelComboBox3", description: "下拉框3", type: "selected", defValue: [0, 2], multiple: true, options: ["A", "B", "C"]},
          {
              name: "comboBox4",
              label: "labelComboBox4",
              description: "下拉框4",
              type: "selected",
              defValue: ["A", "C"],
              multiple: true,
              options: [{text: "选项A", value: "A"}, {text: "选项B", value: "B"}, {text: "选项C", value: "C"}, {text: "选项D", value: "D"}]
          }
      ]
  }

根据此示例,当状态栏按钮触发交互时,将弹出包含4个下拉框控件的对话框。设置好各控件的选项并点击确定发送交互消息后,策略中的GetCommand函数将接收到cmdTestBtn3:{"comboBox1":1,"comboBox2":0,"comboBox3":[0,2],"comboBox4":["A","C"]}。 JSON结构中name的值都作为返回交互信息的字段名,例如:comboBox1、comboBox2等。 - label 用于设置控件的标题。 - description 控件的描述信息。如果当前JSON结构是group字段值(数组结构)中的一个元素,当未设置label字段时,description将作为状态栏按钮点击触发后弹出对话框中的控件标题。 - default 控件的默认值。 - filter 选择器,用于控制控件的显示与隐藏。不设置该字段表示不过滤(显示控件);设置该字段时,当表达式为真时不过滤(显示控件),当表达式为假时过滤(不显示控件)。 - group 用于控制控件分组,支持折叠显示。 - settings 组件配置,控件有多种UI样式可供选择,通过此选项进行具体设置。例如:

  settings:{
      multiple:true,
      customizable:true,
      options:[{name:'xxx|yyy',value:0}]
  }

settings相关设置: settings.required:是否为必填项。 settings.disabled:是否禁用。 settings.min:type=number时有效,表示最小值或字符串最小长度。 settings.max:type=number时有效,表示最大值或字符串最大长度。 settings.step:type=number且render=slider时有效,表示步长。 settings.multiple:type=selected时有效,表示支持多选。 settings.customizable:type=selected时有效,表示支持自定义;用户可以直接在下拉框控件中编辑添加新选项,如果选中新编辑的选项,在触发交互时将使用该选项的名称而非其代表的值。 settings.options:type=selected时有效,表示选择器的选项数据格式:[“选项1”,”选项2”]、[{‘name’:‘xxx’,‘value’:0}, {‘name’:‘xxx’,‘value’:1}]。 settings.render:渲染组件类型。 type=number时,settings.render不设置(默认为数字输入框),可选:slider(滑动条)、date(时间选择器,返回时间戳)。 type=string时,settings.render不设置(默认为单行输入框),可选:textarea(多行输入)、date(时间选择器,返回yyyy-MM-dd hh:mm:ss格式)、color(颜色选择器,返回#FF00FF格式)。 type=selected时,settings.render不设置(默认为下拉框),可选:segment(分段选择器)。 type=boolean时,目前仅支持默认复选框。 input JSON

group
array

支持双语设置:
```json
{
    type:'selected',
    name:'test',
    label:'选项|options',
    description:'描述|description',
    default:0,                            // 此处default默认值设置为0,表示{name:'xxx|yyy',value:0}选项中的value值
    filter:'a>1&&a<10',
    group:'分组|group',
    settings:{
        multiple:true,
        customizable:true,
        options:[{name:'xxx|yyy',value:0}]
    }
}

{@fun/Log/LogStatus LogStatus}