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"}
]
...

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