api_select_partial
Otros de los tipos de campos es 'api_select_partial' que permite actuar como un buscador de valores asociados a otro modelo de datos, pero cuya búsqueda se realiza a medida que escribes un contenido. Esto es ideal cuando necesitas seleccionar un valor entre miles o cientos de miles de opciones y que no pueden ser pre-cargados como un seleccionable simple.
El campo de tipo api_select_partial es un campo que puede ser de tipo string o integer indexado en Datastore, o de tipo varchar(40) int(11) en SQL. Este tipo de campo NO APLICA a bases de datos BigQuery
{ "fields": {
"name": "CompanyId",
"type": "api_select_partial",
"external_values": "datastore",
"api": "/cfi/CloudFrameWorkCompanies/fields?server_limit=10&fields=CompanyName,CompanyLegalId&_search=1",
"empty_value": "Company",
"defaultvalue": null,
"fields": "KeyName,CompanyName,CompanyLegalId",
"linked_field": "KeyName"
}
}
En el ejemplo que relaciona el campo CompanyId y establece una relación con el CFO CloudFrameWorkCompanies para realizar una consulta. Como resultado se mostrará un campo en la modificación o inserción de datos con este aspecto:
Descripción de parámetros
Opción | Detalle | Ejemplo |
---|---|---|
name | [String] Es el nombre que queremos mostrar como "label" del campo | Nombre del campo |
* type | [String] Es el tipo del campo. En nuestro caso: api_select_partial | api_select_partial |
* external_values | [String] Indica contra qué tipo de modelo de datos (CFO) va a realizar la consulta de posibles valores: datastore, database | datastore |
* api | [String] Indica la ruta del CFI a consultar /cfi/{CFO-NAME}/fields?server_limit=x&fields=field1,field2 Donde:
Si se indica en fields un campo: _search=1 esto indica que la búsqueda se realizará en un campo especial denominado _search que es de tipo lista y que sólo aplica a datastore. | /cfi/CloudFrameWorkCompanies/fields? server_limit=10 &fields=CompanyName,CompanyLegalId&_search=1 |
* fields | [string] Campos que serán mostrados en la interface | KeyName,CompanyName,CompanyLegalId |
*linked_field | [String] nombre del campo que será tratado como 'ID' de la relación | KeyName |