Box Developerドキュメント
 

    複数選択メタデータフィールド

    ガイド メタデータ メタデータフィールド 複数選択メタデータフィールド

    複数選択メタデータフィールド

    multiSelectタイプのメタデータフィールドは、ドロップダウンリストとしてユーザーに表示されます。ユーザーはリストから複数の項目を選択できます。

    文字列フィールド

    multiSelectフィールドを使用すると、ユーザーは0個、1個、または複数個の値を選択できます。ユーザーが選択できる値を1つだけに制限するには、enumテンプレートフィールドを使用します。

    multiSelectフィールドの作成

    multiSelectフィールドは、メタデータテンプレートの作成時、またはaddField操作によるテンプレートの更新時にメタデータテンプレートに追加できます。

    multiSelectフィールドの必須属性は、typedisplayNamekey、およびオプションのリストです。

    {
      "scope": "enterprise",
      "displayName": "Contract",
      "fields": [
        {
          "type": "multiSelect",
          "key": "box_entity",
          "displayName": "Box Entity",
          "description": "The Box entity that this contract belongs to",
          "hidden": false,
          "options": [
            {"key": "Box, Inc"},
            {"key": "Box.com (UK) Ltd."},
            {"key": "KK Box Japan"}
          ]
        }
      ]
    }
    
    

    必要に応じて、UIでユーザーに表示されるdescriptionを指定できます。また、このフィールドをhiddenに設定して、ウェブアプリとモバイルアプリでユーザーに表示されないようにすることもできます。

    multiSelectフィールドの更新

    multiSelectテンプレートフィールドは、このフィールドが属するテンプレートを更新することで更新できます。テンプレートの更新は、ファイルまたはフォルダにすでに割り当てられているテンプレートも確実に更新される操作によって行われます。

    基本的なフィールド値の変更

    multiSelectメタデータフィールドを更新する際に可能な操作の1つとして、フィールドのkeydisplayNamedescription、およびhiddenの値を変更するのに使用できるeditField操作があります。

    [
      {
        "op": "editField",
        "fieldKey": "box_entity",
        "data": {
          "displayName": "Box Entities",
          "key": "box_entities"
        }
      }
    ]
    
    

    ここにあるfieldKeyは、変更するフィールドの元のキーを表します。data.keyフィールドはフィールドの新しいキーです。

    これは、このテンプレートの既存のインスタンスに影響します。

    オプションの追加

    multiSelectフィールドにオプションを追加するには、addMultiSelectOption操作を使用します。この操作では、fieldKeyに、変更するmultiSelectフィールドのキーを設定するほか、dataオブジェクトには、追加する新しいオプションのkeyを指定する必要があります。

    [
      {
        "op": "addMultiSelectOption",
        "fieldKey": "box_entity",
        "data": {
          "key": "Box (NL) BV"
        }
      }
    ]
    
    

    オプションのリストは次のようになります。

    ...
    "options": [
      {"key": "Box, Inc"},
      {"key": "Box.com (UK) Ltd."},
      {"key": "KK Box Japan"},
      {"key": "Box (NL) BV"}
    ]
    ...
    
    

    これは、このテンプレートの既存のインスタンスに影響します。

    オプションの並べ替え

    multiSelectフィールドでオプションを並べ替えるには、reorderMultiSelectOptions操作を使用します。この操作では、fieldKeyに、変更するmultiSelectフィールドのキーを設定するほか、multiSelectOptionKeys配列にはオプションのキーを順番に指定する必要があります。

    [
      {
        "op": "reorderMultiSelectOptions",
        "fieldKey": "box_entity",
        "multiSelectOptionKeys": [
          "Box, Inc",
          "Box.com (UK) Ltd.",
          "Box (NL) BV",
          "KK Box Japan"
        ]
      }
    ]
    
    

    オプションのリストは次のようになります。

    ...
    "options": [
      {"key": "Box, Inc"},
      {"key": "Box.com (UK) Ltd."},
      {"key": "Box (NL) BV"},
      {"key": "KK Box Japan"}
    ]
    ...
    
    

    この操作では、新しいオプションを追加することはできません。これは、このテンプレートの既存のインスタンスに影響します。

    オプションの編集

    multiSelectフィールドのオプションを編集するには、editMultiSelectOption操作を使用します。この操作では、fieldKeyに、変更するmultiSelectフィールドのキーを設定し、multiSelectOptionKeyに、フィールドオプションのキーを設定する必要があります。最後に、dataオブジェクトには、フィールドオプションの新しいkeyを指定する必要があります。

    [
      {
        "op": "editMultiSelectOption",
        "fieldKey": "box_entity",
        "multiSelectOptionKey": "Box (NL) BV",
        "data": {
          "key": "Box.nl BV"
        }
      }
    ]
    
    

    オプションのリストは次のようになります。

    ...
    "options": [
      {"key": "Box, Inc"},
      {"key": "Box.com (UK) Ltd."},
      {"key": "Box.nl BV"},
      {"key": "KK Box Japan"}
    ]
    ...
    
    

    これは、このテンプレートの既存のインスタンスに影響します。

    オプションの削除

    multiSelectフィールドからオプションを削除するには、removeMultiSelectOption操作を使用します。この操作では、fieldKeyに、変更するmultiSelectフィールドのキーを設定し、multiSelectOptionKeyに、削除するフィールドオプションのキーを設定します。

    [
      {
        "op": "removeMultiSelectOption",
        "fieldKey": "customer_state",
        "multiSelectOptionKey": "KK Box Japan"
      }
    ]
    
    

    オプションのリストは次のようになります。

    ...
    "options": [
      {"key": "Box, Inc"},
      {"key": "Box.com (UK) Ltd."},
      {"key": "Box.nl BV"}
    ]
    ...
    
    

    これは、このテンプレートの既存のインスタンスに影響します。この値に設定されたすべてのフィールドでは、値が、選択した値のリストから削除されます。