Multi Select metadata field
Multi Select metadata field
A metadata field of type multiSelect
is displayed to a user as a dropdown
list. The user can select multiple items from the list.
Create a multiSelect
field
A multiSelect
field can be added to a metadata template either when creating
a metadata template, or when updating a
template with the addField
operation.
The required attributes for a multiSelect
field are a type
, a displayName
,
a key
, and a list of options.
{
"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"}
]
}
]
}
Optionally, a description
can be provided that is shown to a user in the UI,
and the field can be set to hidden
to hide it from users in the web and mobile
apps.
Update a multiSelect
field
A multiSelect
template field can be updated by updating the
template it belongs to. Updates to templates happen through
operations to ensure that any template that is already assigned to a file or
folder is updated as well.
Change basic field values
When updating a multiSelect
metadata field, one of the possible operations is
the editField
operation, which can be used to change the field's key
,
displayName
, description
, and hidden
values.
[
{
"op": "editField",
"fieldKey": "box_entity",
"data": {
"displayName": "Box Entities",
"key": "box_entities"
}
}
]
Add an option
Adding an option to a multiSelect
field can be achieved through the
addMultiSelectOption
operation. The operation expects the fieldKey
to be set
to the key of the multiSelect
field to change, and a data
object with the
key
of the new option to add.
[
{
"op": "addMultiSelectOption",
"fieldKey": "box_entity",
"data": {
"key": "Box (NL) BV"
}
}
]
The list of options should now be as follows.
...
"options": [
{"key": "Box, Inc"},
{"key": "Box.com (UK) Ltd."},
{"key": "KK Box Japan"},
{"key": "Box (NL) BV"}
]
...
Reorder options
Reordering the options in a multiSelect
field can be achieved through the
reorderMultiSelectOptions
operation. The operation expects the fieldKey
to
be set to the key of the multiSelect
field to change, and a
multiSelectOptionKeys
array with the keys of the options in order.
[
{
"op": "reorderMultiSelectOptions",
"fieldKey": "box_entity",
"multiSelectOptionKeys": [
"Box, Inc",
"Box.com (UK) Ltd.",
"Box (NL) BV",
"KK Box Japan"
]
}
]
The list of options should now be as follows.
...
"options": [
{"key": "Box, Inc"},
{"key": "Box.com (UK) Ltd."},
{"key": "Box (NL) BV"},
{"key": "KK Box Japan"}
]
...
Edit an option
Editing an option of a multiSelect
field can be achieved through the
editMultiSelectOption
operation. The operation expects the fieldKey
to be
set to the key of the multiSelect
field to change, and a
multiSelectOptionKey
to be set to the key of the field option. Finally, it
expects a data
object with the new key
of the field option.
[
{
"op": "editMultiSelectOption",
"fieldKey": "box_entity",
"multiSelectOptionKey": "Box (NL) BV",
"data": {
"key": "Box.nl BV"
}
}
]
The list of options should now be as follows.
...
"options": [
{"key": "Box, Inc"},
{"key": "Box.com (UK) Ltd."},
{"key": "Box.nl BV"},
{"key": "KK Box Japan"}
]
...
Remove an option
Removing an option from a multiSelect
field can be achieved through the
removeMultiSelectOption
operation. The operation expects the fieldKey
to be set
to the key of the multiSelect
field to change, and a multiSelectOptionKey
to be set to the key of the field option to remove.
[
{
"op": "removeMultiSelectOption",
"fieldKey": "customer_state",
"multiSelectOptionKey": "KK Box Japan"
}
]
The list of options should now be as follows.
...
"options": [
{"key": "Box, Inc"},
{"key": "Box.com (UK) Ltd."},
{"key": "Box.nl BV"}
]
...