Adición de campos a la página de configuración Campos de datos
En
, un administrador de arrendatarios puede configurar para mostrar u ocultar campos en la interfaz de usuario para todos los usuarios.Puede personalizar Campos de datos para controlar otros campos a nivel de arrendatario. Por ejemplo:
- IBM proporciona un campo Vendedor en la página Detalles del pedido . Supongamos que su empresa no utiliza el campo o no desea que se muestre. Puede añadir Vendedor a esta página de configuración y, a continuación, un administrador de arrendatarios puede habilitar o inhabilitar el campo para todos los usuarios.
- Los desarrolladores pueden añadir campos de resumen personalizados y columnas de tabla personalizada personalizando archivos JSON. Puede añadir los campos personalizados a esta página de configuración para que un administrador de arrendatarios pueda habilitar o inhabilitar el campo para todos los usuarios.
Tabla de contenido
Ubicación del archivo JSON
Actualice o cree buc-tenant-config.json dentro de la carpeta buc-app-settings/packages/settings-configurations/src-custom/assets/custom del módulo.
Sintaxis JSON
La matriz
attributes
incluye dos entradas.- "id": "global" define los campos que se mostrarán en la sección Campos globales .
- "id": "pageLevel" define los campos que se mostrarán en la sección Campos relacionados conB2B .
Propiedades de campos
- ID
- El ID del campo que desea añadir. Puede encontrar el ID examinando la interfaz de usuario de Order Hub y comprobando la pestaña de red del navegador.
- Para buscar los ID de campo de Resumen , revise el archivo buc_field_details.json .
- Para buscar los ID de Columna de tabla , revise el archivo buc-table-config.json .
- Para buscar los ID de campo de Búsqueda , revise el archivo search_fields.json .
"id": "shipNode"
.Nota: Si está añadiendo un campo de resumen personalizado de la columna de tabla personalizada, este valor debe corresponder al ID que ha definido en los archivos de personalización de buc-table-config.json o buc_field_details.json . Es posible que no tenga acceso para ver los archivos personalizados en la pestaña de red del navegador. Consulte el código fuente para los ID. - etiqueta
- El texto de etiqueta que se va a visualizar. Si el texto está traducido, puede añadir los archivos de traducción a la carpeta i18n y hacer referencia a la etiqueta. Por ejemplo:
"label": "SHARED.GENERAL.LABEL_shipNode",
- tooltipMsg
- Texto que se mostrará como ayuda contextual junto al campo. Si el texto está traducido, puede añadir los archivos de traducción a la carpeta i18n y hacer referencia a la etiqueta.
- campos
- Dentro de la matriz
fields
, también puede definir una matrizfields
hijo. Si desea que el valor se aplique a todas las páginas, puede omitir la matrizfields
hijo. Si desea permitir que un administrador de arrendatarios muestre u oculte el valor en páginas específicas, defina una matrizfields
hijo.Nota: Si está añadiendo ID de campo de Búsqueda , los campos de búsqueda sólo están soportados mediante valores globales. No puede añadir campos hijo para mostrar u ocultar el valor en páginas específicas.Dentro de la matrizfields
hijo, puede definir las propiedades siguientes:- ID
- El nombre de objeto de la página o sección donde existe el campo. Puede encontrar el ID examinando la interfaz de usuario de Order Hub y comprobando la pestaña de red del navegador.
- etiqueta
- El texto de etiqueta que se va a visualizar. Si el texto está traducido, puede añadir los archivos de traducción a la carpeta i18n y hacer referencia a la etiqueta. Por ejemplo:
"label": "TEXT_ORDER_DETAILS_SHIPMENT_TABLE",
- tipo
- Define si el campo es un campo de resumen o una columna de tabla. Los valores válidos son summary o table. Por ejemplo, para el campo shipNode de la tabla, utilizaría "type": "table".
Ejemplo JSON
El ejemplo siguiente proporciona algunos casos de uso.
Nota: El ejemplo siguiente incluye comentarios en línea como guía para explicar los atributos mientras analiza el código. Puesto que JSON no da soporte a comentarios, este ejemplo no es un ejemplo JSON válido tal como se muestra. Si tiene previsto copiar este ejemplo, asegúrese de eliminar los comentarios en línea.
{
"configuration-data": {
"name": "configuration-data", //Defines customization for the Data fields section. Do not change.
"attributes": [
{
"id": "global", //Defines the custom fields to display under the "Global fields" section
"label": "SETTINGS.CONFIG.TEXT_GLOBAL_FIELDS",
"fields": [
{
"id": "customized", // 1 Add a customized field as an option to show or hide
"label": "Customized Field",
"tooltipMsg": "Available for customized fields"
//No child "fields" array therefore this setting applies to all pages where "customized" exists.
}]
},
{
"id": "pageLevel", //Defines the custom fields to display on the "B2B -related fields" section
"label": "SETTINGS.CONFIG.TEXT_B2B_FIELDS",
"fields": [
{
"id": "shipNode", // 2 Add the "Ship Node" field as an option to show or hide
"label": "SHARED.GENERAL.LABEL_shipNode",
"fields": [ //Specify the different pages where the field exists
{
"id": "ord-detail-shipment-table",
"label": "TEXT_ORDER_DETAILS_SHIPMENT_TABLE",
"type": "table"
},
{
"id": "order-summary",
"label": "Order line details: Summary",
"type": "summary"
}]
}]
}]
}}
Ejemplo de interfaz de usuario
La imagen siguiente ilustra la página Campos de datos con los campos tal como están configurados en el archivo JSON.
