全部產品
Search
文件中心

DataWorks:進階應用程式:擴充程式選項配置

更新時間:Dec 12, 2024

擴充程式選項是由擴充程式開發人員定義,供擴充程式使用者使用的功能配置項,可實現該擴充程式選項在不同工作空間進行個人化管控。例如,擴充程式開發人員可以通過選項配置讓擴充程式使用者自行管控SQL長度,實現擴充程式在不同工作空間限制的SQL長度不同。

背景資訊

  • 擴充程式選項由擴充程式開發人員在註冊擴充程式時定義的該選項,供擴充程式使用者在具體工作空間下對該擴充程式選項進行設定。

    • 擴充程式開發人員註冊擴充程式,詳情請參見:開發部署擴充程式:自建服務方式

    • 擴充程式使用者在空間內使用擴充程式時,可在啟用擴充程式前在下圖位置配置選項。設定

  • 擴充程式開發人員可通過APIGetOptionValueForProject擷取擴充程式使用者(空間管理員)在具體工作空間內該選項的配置。

注意事項

擴充程式選項配置資訊及相關文案由擴充程式開發人員提供,平台不為內容風險負責。

支援的組件

目前選項配置支援的組件有七種:文本、單行輸入框、多行輸入框、單選選擇下拉、多選選擇下拉、複選和單選組件。如下圖所示:組件

選項配置

擴充程式開發人員需要在註冊擴充程式時,通過JSON字串方式在選項配置中定義選項。

{
    "type": "object",
    "properties": {

        "組件名稱(不可重複)": {
        "type": "string",
            "title": "填寫見下表",
            "x-decorator": "填寫見《參數解析》表格內容",
            "x-component": "填寫見《參數解析》表格內容",
            "x-decorator-props": {
                "tooltip": "描述"
            },
            "x-component-props": {
                "dataSource": "填寫見《參數解析》表格內容",
                "mode": "multiple"
            }
        }

    }
}

您可以參考以下內容進行配置:

參數解析

欄位

組件類型

title

文本

文本

單行輸入框

單行輸入框

多行輸入框

多行輸入框

單選選擇下拉

單選選擇下拉

多選選擇下拉

多選選擇下拉

複選

複選

單選

單選

x-decorator

文本

FormItem

單行輸入框

FormItem

多行輸入框

FormItem

單選選擇下拉

FormItem

多選選擇下拉

FormItem

複選

FormItem

單選

FormItem

x-component

文本

PreviewText.Input

單行輸入框

Input

多行輸入框

Input.TextArea

單選選擇下拉

Select

多選選擇下拉

Select

複選

Checkbox.Group

單選

Radio.Group

dataSource

文本

可不填

單行輸入框

可不填

多行輸入框

可不填

單選選擇下拉

如有需要可填寫:(其中每一對大括弧都是唯一的,value和label不可重複。label對應的值為展示到介面的文案,value的值是文案對應的標記,自行定義即可。以下為範例程式碼:

[{
    "value": "10001",
    "label": "opt1"
}, {
    "value": "10001",
    "label": "opt1"
}]

多選選擇下拉

如有需要可填寫:(其中每一對大括弧都是唯一的,value和label不可重複。label的值是展示到介面的文案,value的值是文案對應的標記,自行定義即可。以下為範例程式碼:

[{
    "value": "10001",
    "label": "opt1"
}, {
    "value": "10001",
    "label": "opt1"
}]

複選

如有需要可填寫:(其中每一對大括弧都是唯一的,value和label不可重複。label的值是展示到介面的文案,value的值是文案對應的標記,自行定義即可。以下為範例程式碼:

[{
    "value": "10001",
    "label": "opt1"
}, {
    "value": "10001",
    "label": "opt1"
}]

單選

如有需要可填寫:(其中每一對大括弧都是唯一的,value和label不可重複。label的值是展示到介面的文案,value的值是文案對應的標記,自行定義即可。以下為範例程式碼:

[{
    "value": "10001",
    "label": "opt1"
}, {
    "value": "10001",
    "label": "opt1"
}]

配置樣本:設定SQL任務消耗的CU資源閾值

下圖為設定SQL任務消耗的CU資源閾值配置過程與最終效果樣本。

cu閾值

上述選項配置中的JSON配置如下。

{
    "type": "object",
    "properties": {
        "cuNumber": {
            "type": "string",
            "title": "Cu數閾值",
            "x-decorator": "FormItem",
            "x-component": "Input",
            "x-decorator-props": {
                "tooltip": "請輸入SQL任務的消耗CU數閾值"
            }
        }
    }
}

配置樣本:使用7類組件

下圖為使用7類組件的配置過程與效果樣本。

使用7類組件

上述選項配置中的JSON配置如下。

說明

如果您需要一次性使用七個組件,可複製以下JSON並修改部分資料即可。

{
    "type":"object",
    "properties":{

        "text":{
            "type":"string",
            "title":"文本",
            "x-decorator":"FormItem",
            "x-component":"PreviewText.Input",
            "x-decorator-props":{
                "tooltip":"描述檔案"
            },
            "default":"這是文本資訊"
        },
        "input":{
            "type":"string",
            "title":"單行輸入框",
            "x-decorator":"FormItem",
            "x-component":"Input",
            "x-decorator-props":{
                "tooltip":"描述檔案"
            },
            "x-component-props":{

            },
            "default":"這是預設值"
        },


        "textarea":{
            "type":"string",
            "title":"多行輸入框",
            "x-decorator":"FormItem",
            "x-component":"Input.TextArea",
            "x-decorator-props":{
                "tooltip":"描述檔案"
            },
            "x-component-props":{

            },
            "default":"這是預設值"
        },

        "select":{
            "type":"string",
            "title":"單選選擇下拉",
            "x-decorator":"FormItem",
            "x-component":"Select",
            "x-decorator-props":{
                "tooltip":"描述檔案"
            },
            "x-component-props":{
                "dataSource":[
                    {
                        "value":"10001",
                        "label":"opt1"
                    },
                    {
                        "value":10002,
                        "label":"opt2"
                    },
                    {
                        "value":10003,
                        "label":"opt3",
                        "disabled":true
                    }
                ]
            },
            "default":"10001"
        },

        "selectmore":{
            "type":"string",
            "title":"多選選擇下拉",
            "x-decorator":"FormItem",
            "x-component":"Select",
            "x-decorator-props":{
                "tooltip":"描述檔案"
            },
            "x-component-props":{
                "dataSource":[
                    {
                        "value":"10001",
                        "label":"opt1"
                    },
                    {
                        "value":10002,
                        "label":"opt2"
                    },
                    {
                        "value":10003,
                        "label":"opt3",
                        "disabled":true
                    }
                ],
                "mode":"multiple"
            },
            "default":["10001","10002"]
        },

        "checkbox":{
            "type":"array",
            "title":"複選",
            "x-decorator":"FormItem",
            "x-component":"Checkbox.Group",
            "x-decorator-props":{
                "tooltip":"描述檔案"
            },
            "x-component-props":{
                "dataSource":[
                    {
                        "value":"10001",
                        "label":"opt1"
                    },
                    {
                        "value":10002,
                        "label":"opt2"
                    },
                    {
                        "value":10003,
                        "label":"opt3",
                        "disabled":true
                    }
                ],
                "mode":"multiple"
            },
            "default":["10001","10002"]
        },

        "radio":{
            "type":"number",
            "title":"單選",
            "x-decorator":"FormItem",
            "x-component":"Radio.Group",
            "x-decorator-props":{
                "tooltip":"描述檔案"
            },
            "x-component-props":{
                "dataSource":[
                    {
                        "value":"10001",
                        "label":"opt1"
                    },
                    {
                        "value":10002,
                        "label":"opt2"
                    },
                    {
                        "value":10003,
                        "label":"opt3",
                        "disabled":true
                    }
                ],
                "mode":"multiple"
            },
            "default":"10001"
        }

    }
}