Barra de acciones (BETA)
Definición y uso
El componente Barra de acciones es un widget en el que se muestra un rango de acciones disponibles para el usuario. Las acciones aparecen como una fila de botones y en el cuadro de lista que la acompaña. La configuración del componente y el tamaño de la pantalla del usuario determinan el número de acciones que aparecen como botones. Las acciones que no aparecen como botones son visibles en el cuadro de lista que se muestra después de pulsar en la acción de puntos suspensivos.
A continuación, se presenta una imagen de ejemplo en la que se muestra el componente Barra de acciones:
El componente Barra de acciones se puede configurar de las siguientes maneras:
Definir las acciones que se incluyen en la Barra de acciones
Definir el número máximo de acciones que se deben mostrar como botones
Definir las opciones de visibilidad de las acciones en función de su disponibilidad
Definir el orden de las acciones
Definir si se requieren entradas para una acción
Seleccionar el estilo deseado para la Barra de acciones
Configurar un botón de menú en la barra de acciones
Las acciones están diseñadas para activar un servicio o un elemento emergente. El servicio o el mashup emergente se debe configurar por separado en ThingWorx. Las funciones adicionales, como los mensajes de notificación del sistema, deben configurarse en el servicio o mashup adecuado en ThingWorx. También se puede configurar la apertura de un URL desde la barra de acciones; por ejemplo, la configuración del botón Ver en Windchill.
Se puede incluir una Barra de acciones dentro de los componentes Lista de elementos e Identidad del elemento. También se puede incluir en el panel de vista previa de las tareas Visualizar lista de artículos, Visualizar estructura de artículo y Visualizar estructura de documento. El panel de vista previa reemplaza al panel de documento/artículo seleccionado, que se encuentra en la esquina superior derecha de la tarea en cuestión.
Barra de acciones, Barra de acciones de artículos y Barra de acciones de documentos son los tipos de configuración disponibles para el componente Barra de acciones. En la siguiente tabla se muestran las acciones disponibles para cada una de estas configuraciones:
Tipo de configuración
Acciones por defecto
Barra de acciones
Aprobar, Rechazar, Analizar y Reasignar
Barra de acción de artículos
Notificar un problema y Ver en Windchill
Barra de acción de documentos
Abrir documento, Notificar un problema y Ver en Windchill
Propiedades de enlace 
Entrada
Nombre de la propiedad
Descripción
Tipo de propiedad
Disabled
Permite desactivar el widget en el mashup.
Booleano
Input
Se utiliza para identificar los datos que se deben extraer del sistema back-end.
JSON en formato CCO
ServiceActionId
Cuando se pulsa en la acción, esta cadena se actualiza con el ID de acción de una acción de servicio.
Cadena
SubComponentConfiguration
Enlace la configuración a esta propiedad si cambia en tiempo de ejecución.
JSON
Salida
Nombre de la propiedad
Descripción
Tipo de propiedad
EventTriggered
Evento que se activa cuando un servicio termina de ejecutarse o se muestra un elemento emergente, si la acción está configurada con la propiedad de configuración fireEventOnFinish definida en verdadero.
Evento
ServiceActionIdChanged
Evento que se activa cuando se cambia el valor de ServiceActionId, lo que significa que un servicio invocado por la Barra de acciones ha terminado de ejecutarse.
Evento
PopupClosed
Evento que se activa cuando se cierra un elemento emergente que se había abierto.
Evento
Propiedades de configuración 
En las siguientes tablas se muestran las propiedades JSON que se utilizan para configurar este componente.
Para obtener más información sobre la estructura de la configuración, consulte Estructura de configuración de componentes.
Para obtener más información sobre las subpropiedades, consulte Subpropiedades y claves de contenedor.
Nombre de la propiedad
Descripción
Tipo de propiedad
Valor por defecto
Obligatorio u opcional
maxItemsToShow
El número máximo de botones de acción que se muestran. Si hay más botones de acción que el valor especificado, las acciones adicionales se rellenarán en el cuadro de lista.
2
Obligatorio
modelThingName
El nombre de una cosa que contiene un servicio con la siguiente firma:
public JSONObject GetActions(@ThingworxServiceParameter(name = "ccoJson", baseType = "JSON") JSONObject ccoJson)
Este servicio toma la entrada en formato CCO que contiene un único elemento. A continuación, devuelve un elemento JSONObject en el que se incluye una matriz que asigna el ID de una acción disponible a su rótulo, tal como se recibe del back-end. Consulte el ejemplo de la siguiente configuración JSON de muestra.
PTC.ActionBar Model.Thing
Obligatorio
actions
La lista de acciones para las que se deben extraer datos del sistema back-end. La clave de contenedor es actionConfiguration. Consulte las subpropiedades siguientes:
N/D
Obligatorio
overrideLabel
El valor definido aquí se muestra como rótulo del botón de acción, sustituyendo el valor que procede del sistema back-end. Para localizar, coloque corchetes dobles alrededor del valor.
N/D
Opcional
actionButtonVisibility
Permite determinar en qué condiciones se muestran los botones de acción y en qué estado. Opciones: AlwaysShown, DisableUnavailable, HideUnavailable. Para AlwaysShown, el botón está siempre visible y activado. Para DisableUnavailable, el botón está siempre visible, pero se desactiva cuando la acción no está disponible para la selección determinada. Para HideUnavailable, el botón solo está visible cuando la acción está disponible para la selección determinada.
Nota: Hay otras configuraciones que afectan a si se activa o desactiva un botón.
N/D
Obligatorio
buttonStyle
Permite determinar el estilo visual del botón. Opciones: primary, secondary, tertiary, danger, transparent.
N/D
Obligatorio
overrideSetDisabled
Si se define este campo, su valor es el único factor a la hora de determinar si un botón debe activarse o desactivarse. Opciones: true, false. Verdadero garantiza que el botón está desactivado y false garantiza que el botón está activado.
N/D
Opcional
fireEventOnFinish
Si este campo se define en true, cuando un servicio termina de ejecutarse, se activa el evento EventTriggered y, cuando se cierra un elemento emergente, se activa el evento PopupClosed.
N/D
Opcional
inputConstraints
Permite determinar la restricción de entrada para la acción. Opciones: InputRequired, SingleInputOnly y NoInputRequired.
InputRequired: esta acción debe recibir entrada para funcionar. Si la entrada está vacía y no contiene ningún elemento, el botón de esta acción está desactivado.
SingleInputOnly: esta acción debe recibir una única entrada para poder funcionar. Si la entrada está vacía o contiene más de un elemento, el botón de esta acción está desactivado.
NoInputRequired: esta acción puede funcionar sin ninguna entrada o con entrada.
N/D
Opcional
iconWhenEnabled
Si se especifica este campo, en el botón de la acción se incluye un icono a la izquierda del rótulo cuando se activa el botón de acción.
entityName
El nombre de la entidad multimedia que se debe utilizar como icono.
iconWhenDisabled
Si se especifica este campo, en el botón de la acción se incluye un icono a la izquierda del rótulo cuando se desactiva el botón de acción.
entityName
El nombre de la entidad multimedia que se debe utilizar como icono.
activityType
Determina si la acción ejecuta un servicio o muestra un mashup emergente. Opciones: openUrl (disponible en ThingWorx Navigate 9.3.4 y versiones posteriores), popup, service y parent (disponible en ThingWorx Navigate 9.4.0 y versiones posteriores). Consulte las siguientes tablas para ver las subpropiedades necesarias para popup, service y parent.
N/D
Obligatorio
mashupName
El nombre del mashup que aparece como elemento emergente.
Esta propiedad solo se utiliza cuando activityType se define en popup.
N/D
Obligatorio
redirectAfterPopupSuccess
Permite la redirección a otro mashup cuando se cierra el elemento emergente después de una operación correcta.
Para informar a Barra de acciones de si la operación realizada por el elemento emergente se ha completado correctamente, defina el parámetro de sesión denominado PTC.ActionBar.popupCloseParameters para indicar el éxito o el fallo. Por ejemplo, en el mashup emergente, puede haber una expresión que se ejecute después de que termine la operación realizada por el elemento emergente y, en esa expresión, se define el parámetro de sesión. En el siguiente ejemplo, el atributo JSON operationSuccessful se define en verdadero porque la operación se ha realizado correctamente:
sessionStorage.setItem("PTC.ActionBar.popupCloseParameters", JSON.stringify( { operationSuccessful: true } ));
Esta propiedad solo se utiliza cuando activityType se define en popup.
N/D
Opcional
popupWidth
Permite especificar el ancho del elemento emergente que aparece.
Esta propiedad solo se utiliza cuando activityType se define en popup.
1024
Opcional
popupHeight
Permite especificar el ancho del elemento emergente que aparece.
Esta propiedad solo se utiliza cuando activityType se define en popup.
640
Opcional
thingWithService
El nombre de la cosa en el que se incluye el servicio que se ejecutará.
Esta propiedad solo se utiliza cuando activityType se define en service.
N/D
Obligatorio
serviceName
El nombre del servicio que se debe ejecutar.
Esta propiedad solo se utiliza cuando activityType se define en service.
N/D
Obligatorio
parameters
Este campo opcional nos permite transferir parámetros codificados de forma rígida a un servicio o un mashup emergente. Los parámetros se definen en un JSONObject y deben formatearse como una cadena de un objeto JSON, con comillas de escape. Los parámetros deben introducirse en el fichero de configuración en la forma "{\"myParamName\": \"hardcodedValue\"}" . Consulte la información adicional a continuación.
Esta propiedad solo se utiliza cuando activityType se define en serviceo popup.
N/D
Opcional
openUrl
Permite definir un URL en el botón de acción. Cuando se define en un valor válido, se abre una nueva ventana o ficha con el URL definido al seleccionar el botón de acción.
Esta propiedad solo se utiliza cuando activityType se define en openUrl.
N/D
Opcional
parentId
Este campo opcional permite definir el ID de la acción padre. Cuando se define en un valor válido, simboliza que hay una acción padre con ese ID y define la acción para que sea una opción bajo el botón del menú padre. Si no hay ninguna acción con el mismo ID definido en parentId, la acción se desestima y no se muestra.
Esta propiedad solo se utiliza cuando activityType se define en parentId.
ID del padre
Opcional
Uso de parameters para configurar una acción de servicio:
Esta es la firma de un servicio de ejemplo denominado MyService:
@ThingworxServiceDefinition(name = "MyService", category = "MyCategory")
public void MyService(
@ThingworxServiceParameter(name = "exampleInt", baseType = "INTEGER") Integer exampleInt,
@ThingworxServiceParameter(name = "ExampleString", baseType = "STRING") String exampleString,
@ThingworxServiceParameter(name = "ExampleBoolean", baseType = "BOOLEAN") Boolean exampleBoolean)
Este es el aspecto de los valores de parámetro para MyService:
{
\"exampleInt\": 123,
\"exampleString\": \"Hello\",
\"exampleBoolean\": true
}
* 
Hay dos parámetros que el servicio recibe automáticamente, si se define la firma de servicio para recibirlos: serviceParam_InputCco y serviceParam_ActionId. El parámetro serviceParam_InputCco es un JSONObject y es la entrada que se ha proporcionado a la barra de acciones. El parámetro serviceParam_ActionId es una cadena que contiene el ID de la acción en la que se ha pulsado. Si el servicio no incluye estos parámetros en su firma, no se pueden utilizar. Si desea utilizarlos, defina la firma de servicio para utilizar cualquiera de ellos o ambos, mediante lo siguiente:
@ThingworxServiceDefinition(name = "MyService", category = "MyCategory")
public void MyService(
@ThingworxServiceParameter(name = "serviceParam_InputCco", baseType = "JSON")
JSONObject serviceParam_InputCco,
@ThingworxServiceParameter(name = "serviceParam_ActionId", baseType = "STRING")
String serviceParam_ActionId)
Configuración de ejemplo 
Configuración de ejemplo con botones estándar
{
"maxItemsToShow": {
"value": 3
},
"modelThingName": {
"entityName": "PTC.ActionBarModel.Thing"
},
"actions": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"id": "Approve",
"additionalData": {
"actionConfiguration": {
"actionButtonVisibility": {
"selectedKey": "HideUnavailable"
},
"buttonStyle": {
"selectedKey": "primary"
},
"activityType": {
"selectedKey": "popup"
},
"mashupName": {
"mashupName": "PTC.AccessApp.WindchillServices.RoutingOptionMashup"
},
"fireEventOnFinish": {
"value": false
},
"inputConstraints": {
"selectedKey": "SingleInputOnly"
}
}
},
"ordinal": 10
}, {
"id": "Reassign",
"additionalData": {
"actionConfiguration": {
"overrideLabel": {
"value": "Reassign"
},
"actionButtonVisibility": {
"selectedKey": "AlwaysShown"
},
"buttonStyle": {
"selectedKey": "primary"
},
"activityType": {
"selectedKey": "popup"
},
"mashupName": {
"mashupName": "PTC.AccessApp.WindchillServices.ReassignActionMashup"
},
"fireEventOnFinish": {
"value": false
},
"inputConstraints": {
"selectedKey": "InputRequired"
}
}
},
"ordinal": 20
}, {
"id": "OpenDocument",
"additionalData": {
"actionConfiguration": {
"openUrl": {
"value": "https://www.ptc.com"
},
"overrideLabel": {
"selectedKey": "[[PTC.AccessApp.OpenDocument]]"
},
"buttonStyle": {
"selectedKey": "primary"
},
"activityType": {
"selectedKey": "openUrl"
},
"actionButtonVisibility": {
"selectedKey": "AlwaysShown"
}
},
"ordinal": 30
}
}, {
"id": "ProblemReport",
"additionalData": {
"actionConfiguration": {
"overrideLabel": {
"value": "[[PTC.Nav.CreateProblemReport.AppTitle]]"
},
"popupHeight": {
"value": 640
},
"popupWidth": {
"value": 800
},
"actionButtonVisibility": {
"selectedKey": "AlwaysShown"
},
"buttonStyle": {
"selectedKey": "primary"
},
"mashupName": {
"mashupName": "PTC.Nav.CreateProblemReportAppMashup"
},
"activityType": {
"selectedKey": "popup"
},
"parameters": {
"value": "{\"affectedItemsCCO\":{\"timeStamp\":\"2021-11-24 22:45:54.528\",\"data\":[{\"itemListsData\":[{\"items\":[{\"id\":{\"value\":\"OR:wt.part.WTPart:100447\"}}],\"objectType\":\"PTC.ProdMgmt.Part\"}],\"adapter\":{\"instanceName\":\"windchill\",\"thingName\":\"PTC.WCAdapter\"}}],\"version\":\"1.0.0\",\"statusMessage\":\"OK\",\"status\":\"200\"},\"isPopup\":true}"
}
}
},
"ordinal": 40
}
],
"objectType": "WT.WorkItem.Actions"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
}
}
}
Configuración de ejemplo con el botón de menú
{
"maxItemsToShow": {
"value": 3
},
"modelThingName": {
"entityName": "PTC.ActionBarModel.Thing"
},
"actions": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"id": "Approve",
"additionalData": {
"actionConfiguration": {
"actionButtonVisibility": {
"selectedKey": "HideUnavailable"
},
"buttonStyle": {
"selectedKey": "primary"
},
"activityType": {
"selectedKey": "popup"
},
"mashupName": {
"mashupName": "PTC.AccessApp.WindchillServices.RoutingOptionMashup"
},
"fireEventOnFinish": {
"value": false
},
"inputConstraints": {
"selectedKey": "SingleInputOnly"
}
}
},
"ordinal": 10
}, {
"id": "Reassign",
"additionalData": {
"actionConfiguration": {
"overrideLabel": {
"value": "Reassign"
},
"actionButtonVisibility": {
"selectedKey": "AlwaysShown"
},
"buttonStyle": {
"selectedKey": "primary"
},
"activityType": {
"selectedKey": "popup"
},
"mashupName": {
"mashupName": "PTC.AccessApp.WindchillServices.ReassignActionMashup"
},
"fireEventOnFinish": {
"value": false
},
"inputConstraints": {
"selectedKey": "InputRequired"
}
}
},
"ordinal": 20
}, {
"id": "OpenDocument",
"additionalData": {
"actionConfiguration": {
"openUrl": {
"value": "https://www.ptc.com"
},
"overrideLabel": {
"selectedKey": "[[PTC.AccessApp.OpenDocument]]"
},
"buttonStyle": {
"selectedKey": "primary"
},
"activityType": {
"selectedKey": "openUrl"
},
"actionButtonVisibility": {
"selectedKey": "AlwaysShown"
}
},
"ordinal": 30
}
}, {
"id": "ProblemReport",
"additionalData": {
"actionConfiguration": {
"overrideLabel": {
"value": "[[PTC.Nav.CreateProblemReport.AppTitle]]"
},
"popupHeight": {
"value": 640
},
"popupWidth": {
"value": 800
},
"actionButtonVisibility": {
"selectedKey": "AlwaysShown"
},
"buttonStyle": {
"selectedKey": "primary"
},
"mashupName": {
"mashupName": "PTC.Nav.CreateProblemReportAppMashup"
},
"activityType": {
"selectedKey": "popup"
},
"parameters": {
"value": "{\"affectedItemsCCO\":{\"timeStamp\":\"2021-11-24 22:45:54.528\",\"data\":[{\"itemListsData\":[{\"items\":[{\"id\":{\"value\":\"OR:wt.part.WTPart:100447\"}}],\"objectType\":\"PTC.ProdMgmt.Part\"}],\"adapter\":{\"instanceName\":\"windchill\",\"thingName\":\"PTC.WCAdapter\"}}],\"version\":\"1.0.0\",\"statusMessage\":\"OK\",\"status\":\"200\"},\"isPopup\":true}"
}
}
},
"ordinal": 40
}
],
"objectType": "WT.WorkItem.Actions"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
}
}
}
¿Fue esto útil?