資源の読み込みに... 荷物...

ステータスバーのインタラクティブなコントロール

戦略インタラクション列でインタラクティブなコントロールをデザインするだけでなく,戦略状態列でインタラクティブなコントロールをデザインすることも可能です.現在,インタラクティブなコントロールタイプボタンのタイプのみがサポートされています.LogStatusSyntax Guideの関数セクション- わかった ステータスバーのボタン制御は以下のカテゴリーに分類できます.

  • 共通のボタンの制御 データ構造の例は:

    {"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
    
  • データ入力付きのボタン制御 試しにinput入力制御オプションを設定するプロパティ,データ構造の例:

    {"type": "button", "name": "button2", "cmd": "button2", "description": "This is the second button.", "input": {"name": "number of open positions", "type": "number", "defValue": 1}}
    
    {
        "type": "button",
        "cmd": "test1",
        "name": "test1",
        "input": {
            "type": "selected",
            "name": "selected",
            "label": "drop-down box",
            "description": "description",
            "default": 100,
            "settings": {
                "multiple": true,
                "customizable": true,
                "options":[{"name": "A", "value": 100}, {"name": "B", "value": 200}]
            }
        },
    }
    
  • 入力データセットのボタン制御 試しにgroup入力制御のグループのためのオプションを設定するプロパティ,データ構造の例:

    {
        "type": "button",
        "cmd": "open",
        "name": "open positions",
        "group": [
            {"name": "orderType", "description": "下单方式|order type", "type": "selected", "defValue": "market order|pending order"},
            {"name": "tradePrice@orderType==1", "description": "交易价格|trade price", "type": "number", "defValue": 100},
            {"name": "orderAmount", "description": "委托数量|order amount", "type": "string", "defValue": 100},
            {"name": "boolean", "description": "yes/no|boolean", "type": "boolean", "defValue": True}
        ]
    }
    
    {
        "type": "button",
        "cmd": "test2",
        "name": "test2",
        "group": [{
            "type": "selected",
            "name": "selected",
            "label": "drop-down box",
            "description": "description",
            "default": 200,
            "group": "group1",
            "settings": {
                "multiple": true,
                "options":[{"name": "A", "value": 100}, {"name": "B", "value": 200}]
            }
        }, {
            "type": "string",
            "name": "string",
            "label": "input box",
            "description": "description",
            "default": "ABC",
            "group": "group1"
        }],
    }
    

JSON 文字列にエンコードし,それを`JavaScript を例に挙げましょう.

function main() {
    var btn = {"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
    LogStatus("`" + JSON.stringify(btn) + "`")
}

このボタンのコントロールは,状態バーのフォームに書き込むこともできます.文法ガイド詳細な例について

構造についてinput単一のコントロールの構造と一致します.group詳細な説明は以下のとおりです

{
    "type": "selected",     // Control type (required field), supports the following settings: number, string, selected, boolean
    "name": "test",         // Name (required when used in group)
    "label": "topic",       // Title (required field)
    "description": "desc",  // Component tips
    "default": 1,           // Default value; if the settings field is not set in the current JSON structure, defValue is compatible and can be used instead of default
    "filter": "a>1",        // Selector. If this field is not set, no filtering (controls are displayed). If this field is set, no filtering (controls are displayed) occurs when the expression is true. Filtering occurs when the expression is false (controls are not displayed)
                            // For the selector, take the expression a>1 in the current example as an example, a refers to the value of the control with name a under the group field in the structure of type=button. This value is used to determine whether to filter.
    "group": "group1",      // Grouping
    "settings": { ... },    // Component configuration
}

コンポーネント構成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選択オプションのデータ形式を示す:["option 1", "option 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標準チェックボックスのみです.

テキストコンテンツの設定をサポートします.'选项 | options'言語環境に合わせて調整されます.group完全な例は以下のとおりです.

{
    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}]
    }
}
コンポーネント構成 オプション取引