Esta estructura JSON se utiliza para configurar el control de botón en la barra de estado. La estructura JSON de control de botón se puede incrustar en la estructura JSON de la tabla de barra de estado. Ejemplo de construcción de un control del botón de la barra de estado (después de que el botón se activa y se hace clic, el cuadro emergente contiene múltiples controles de entrada, que se construyen a través del campo de grupo):
{
"type": "button",
"cmd": "open",
"name": "Open a position and place an order",
"group": [{
"type": "selected",
"name": "tradeType",
"label": "order type",
"description": "market order, limit order",
"default": 0,
"group": "trading setup",
"settings": {
"options": ["market order", "limit order"],
"required": true,
}
}, {
"type": "selected",
"name": "direction",
"label": "trading direction",
"description": "buy, sell",
"default": "buy",
"group": "trading setup",
"settings": {
"render": "segment",
"required": true,
"options": [{"name": "buy", "value": "buy"}, {"name": "sell", "value": "sell"}],
}
}, {
"type": "number",
"name": "price",
"label": "price",
"description": "order price",
"group": "trading setup",
"filter": "tradeType==1",
"settings": {
"required": true,
}
}, {
"type": "number",
"name": "amount",
"label": "order quantity",
"description": "order quantity",
"group": "trading setup",
"settings": {
"required": true,
}
}],
}
Los controles en el cuadro emergente activados al hacer clic en el botón de la barra de estado se establecen a través deinput
o biengroup
.
Para los controles de botón, la configuración fija es:button
¿ Qué pasa?
tipo
la cuerda
El texto en el control del botón, es decir, el nombre del botón.
nombre
la cuerda
El contenido interactivo del comando enviado a la estrategia cuando el control del botón activa una operación de clic.
el cmd
la cuerda
Cuando se construye un botón de la barra de estado para la interacción, también se admite la entrada de datos.GetCommand()
la función.input
elemento a la estructura de datos JSON del control del botón en la barra de estado para configurar el control de entrada en el cuadro emergente que se muestra cuando se activa el botón.
En comparación con la versión anterior de la estructura de entrada, la nueva versión tiene algunos campos y cambios nuevos:
{
"type": "selected",
"name": "test",
"label": "topic",
"description": "desc",
"default": 1,
"filter": "a>1",
"group": "group1",
"settings": { ... }, // Component configuration
}
Descripción y explicación de cada campo en la estructura JSON anterior:
tipo
Tipo de mando (campo obligatorio), admite los siguientes ajustes:"number"
caja de entrada numérica,"string"
caja de entrada de cadenas,"selected"
caja desplegable,"boolean"
Cambiar el control.
nombre Si la estructura JSON actual es el valor del campo del campo de entrada, cuando el campo de etiqueta no está establecido, el nombre es el título del control en el cuadro emergente que aparece después de hacer clic en el botón de la barra de estado. Si la estructura JSON actual es un elemento en el valor de campo (estructura de matriz) del campo de grupo, el nombre no se usa como el título del control. El campo de nombre se utiliza para indicar el nombre del campo del contenido de entrada del control. Por ejemplo, se utiliza un extracto del campo de grupo como ilustración:
var testBtn3 = {
type: "button",
name: "testBtn3",
cmd: "cmdTestBtn3",
group: [
{name: "comboBox1", label: "labelComboBox1", description: "Drop-down box 1", type: "selected", defValue: 1, options: ["A", "B"]},
{name: "comboBox2", label: "labelComboBox2", description: "Drop-down box 2", type: "selected", defValue: "A|B"},
{name: "comboBox3", label: "labelComboBox3", description: "Drop-down box 3", type: "selected", defValue: [0, 2], multiple: true, options: ["A", "B", "C"]},
{
name: "comboBox4",
label: "labelComboBox4",
description: "Drop-down box 4",
type: "selected",
defValue: ["A", "C"],
multiple: true,
options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}, {text: "Option D", value: "D"}]
}
]
}
Según este fragmento, si el botón de la barra de estado activa una interacción, aparecerá un cuadro emergente con 4 controles, todos ellos controles de caja desplegable.cmdTestBtn3:{"comboBox1":1,"comboBox2":0,"comboBox3":[0,2],"comboBox4":["A","C"]}
¿ Qué pasa?
El valor de nombre en la estructura JSON se utiliza como el nombre del campo de la información interactiva devuelta, por ejemplo: comboBox1, comboBox2, etc.
etiqueta Se utiliza para establecer el título del control.
Descripción Descripción del control. Si la estructura JSON actual es un elemento en el valor de campo (estructura de matriz) del campo de grupo, y el campo de etiqueta no está establecido, la descripción es el título del control en el cuadro emergente que aparece después de hacer clic en el botón de la barra de estado.
por defecto El valor predeterminado del control.
filtro Selector, utilizado para ocultar controles. No establecer este campo significa que no se filtrará (se mostrarán los controles); cuando este campo está establecido, no se filtrará (se mostrarán los controles) cuando la expresión sea verdadera. Cuando la expresión sea falsa, se filtrará (no se mostrarán los controles)
grupo Se utiliza para controlar la agrupación de controles, que pueden doblarse.
ajustes Configuración de componentes, el control tiene una variedad de opciones de interfaz de usuario, utilice esta opción para hacer ajustes específicos.
settings:{
multiple:true,
customizable:true,
options:[{name:'xxx|yyy',value:0}]
}
Configuración:
Configuración.requerido: Si es necesario.
configuración.disabled: Si deshabilitar.
settings.min: válido cuando tipo=número, indicando el valor mínimo o la longitud mínima de una cadena.
settings.max: válido cuando tipo=número, indicando el valor máximo o la longitud máxima de una cadena.
configuración.paso: válido cuando tipo=número y renderización=deslizador, indicando la longitud del paso.
settings.multiple: válido cuando se selecciona type=, lo que indica que se admite la selección múltiple.
settings.customizable: es válido cuando se selecciona type=, lo que indica que se admite la personalización; los usuarios pueden editar y agregar nuevas opciones directamente en el control del cuadro desplegable. Si se selecciona la opción recién editada, se usa el nombre de la opción en lugar del valor representado por la opción cuando se activa la interacción.
configuración.opciones: válido cuando se selecciona tipo=, indicando el formato de datos de la opción del selector: [
entrada
JSON (en inglés)
Elinput
campo configura un control en el cuadro emergente que aparece después de que el botón de la barra de estado se activa haciendo clic.group
yinput
La función principal de este sistema es la configuración de un grupo de controles.group
tener la misma estructura de datos que elinput
valor del campo.input
field.
grupo el conjunto
Soporte de configuración bilingüe:
{
type:'selected',
name:'test',
label:'选项|options',
description:'描述|description',
default:0, // Here, the default value is set to 0, which means the value in the option {name:'xxx|yyy',value:0}
filter:'a>1&&a<10',
group:'分组|group',
settings:{
multiple:true,
customizable:true,
options:[{name:'xxx|yyy',value:0}]
}
}
¿Por qué no lo haces?
LogStatus-btnTypeOne (Registro del estado de trabajo) Opciones de gráfico