Box Developerドキュメント

列挙型メタデータフィールド

ガイド メタデータ メタデータフィールド 列挙型メタデータフィールド

列挙型メタデータフィールド

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

文字列フィールド

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

enumフィールドの作成

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

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

{
  "scope": "enterprise",
  "displayName": "Contract",
  "fields": [
    {
      "type": "enum",
      "key": "customer_state",
      "displayName": "Customer State",
      "description": "The US state where the customer is located",
      "hidden": false,
      "options": [
        {"key": "N/A"},
        {"key": "AL"},
        {"key": "AK"}
      ]
    }
  ]
}

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

enumフィールドの更新

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

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

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

[
  {
    "op": "editField",
    "fieldKey": "customer_state",
    "data": {
      "displayName": "Customer State (USA)",
      "key": "customer_state_usa"
    }
  }
]

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

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

オプションの追加

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

[
  {
    "op": "addEnumOption",
    "fieldKey": "customer_state",
    "data": {
      "key": "AR"
    }
  }
]

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

...
"options": [
  {"key": "N/A"},
  {"key": "AL"},
  {"key": "AK"},
  {"key": "AR"}
]
...

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

オプションの並べ替え

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

[
  {
    "op": "reorderEnumOptions",
    "fieldKey": "customer_state",
    "enumOptionKeys": [
      "AL",
      "AK",
      "AR",
      "N/A"
    ]
  }
]

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

...
"options": [
  {"key": "AL"},
  {"key": "AK"},
  {"key": "AR"},
  {"key": "N/A"}
]
...

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

オプションの編集

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

[
  {
    "op": "editEnumOption",
    "fieldKey": "customer_state",
    "enumOptionKey": "N/A",
    "data": {
      "key": "Outside USA"
    }
  }
]

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

...
"options": [
  {"key": "AL"},
  {"key": "AK"},
  {"key": "AR"},
  {"key": "Outside USA"}
]
...

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

オプションの削除

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

[
  {
    "op": "removeEnumOption",
    "fieldKey": "customer_state",
    "enumOptionKey": "AL"
  }
]

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

...
"options": [
  {"key": "AK"},
  {"key": "AR"},
  {"key": "Outside USA"}
]
...

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