Cliente de edición de metadatos¶
El cliente del editor de metadatos se implementa básicamente utilizando la biblioteca react-jsonschema-form.
Some improvements have been made, in order to better integrate with GeoNode, such as handling autocomplete, error reporting etc.
Para ello, se han agregado algunas anotaciones personalizadas.
geonode:después¶
Esta anotación se utiliza del lado del servidor para colocar un campo justo detrás de otro.
En el editor de metadatos, los campos se presentan en el mismo orden en que se declaran en el esquema;esta anotación permite agregar un nuevo campo declarado después de uno existente:
"short_name": {
"type": ["string", "null"],
"geonode:after": "title",
"geonode:handler": "sparse"
},
Widget de texto¶
Por defecto, react-jsonschema-form presenta los elementos de cadena en campos de texto.Si su texto tiene varias líneas, es posible que desee editarlo en un área de texto.
This is how it is declared:
"ui:options": {
"widget": "textarea",
"rows": 5
},
Lista de códigos¶
En caso de que un menú desplegable contenga una lista de códigos almacenada en un diccionario de sinónimos, puede utilizar la anotación geonode:thesaurus, que creará una entrada de autocompletar que apuntará al diccionario de sinónimos definido.El menú desplegable puede ser de opción única o múltiple, como se documenta en las secciones anteriores.
Por ejemplo, alimentando al SparseHandler este subesquema:
"p_data_level": {
"type": "object",
"properties": {
"id": {"type": "string"},
"label": {"type": "string"}
},
"geonode:handler": "sparse",
"geonode:thesaurus": "prj1_data_level"
},
it will give back toward the client:
"p_data_level": {
"type": "object",
"properties": {
"id": {"type": "string"},
"label": {"type": "string"}
},
"geonode:handler": "sparse",
"geonode:thesaurus": "prj1_data_level",
"title": "Data Level",
"ui:options": {
"geonode-ui:autocomplete": "/api/v2/metadata/autocomplete/thesaurus/prj1_data_level/keywords"
}
},