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 están visibles en el cuadro de lista.
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
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.
Se puede incluir una Barra de acciones dentro de los componentes Lista de elementos e Identidad del elemento.
No hay ninguna configuración predefinida disponible para el componente Barra de acciones.
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
activityType
Determina si la acción ejecuta un servicio o muestra un mashup emergente. Opciones: popup, service. Consulte las siguientes tablas para ver las subpropiedades necesarias para el elemento emergente y para el servicio.
N/D
Obligatorio
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.
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 permite pasar parámetros codificados de forma rígida al servicio. Los parámetros se definen en un JSONObject, pero 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 service.
N/D
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 
{
"maxItemsToShow":{
"value":3
},
"modelThingName":{
"entityName":"PTC.ActionBarModel.Thing"
},
"actions":{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"Approve",
"additionalData":{
"actionConfiguration":{
"overrideLabel":{
"value":""
},
"actionButtonVisibility":{
"selectedKey":"HideUnavailable"
},
"buttonStyle":{
"selectedKey":"primary"
},
"activityType":{
"selectedKey":"popup"
},
"mashupName":{
"mashupName":"PTC.AccessApp.WindchillServices.RoutingOptionMashup"
},
"fireEventOnFinish":{
"value":false
},
"inputConstraints":{
"selectedKey":"SingleInputOnly"
}
}
},
"ordinal":1
},
{
"id":"Reject",
"additionalData":{
"actionConfiguration":{
"overrideLabel":{
"value":""
},
"actionButtonVisibility":{
"selectedKey":"HideUnavailable"
},
"buttonStyle":{
"selectedKey":"primary"
},
"activityType":{
"selectedKey":"popup"
},
"mashupName":{
"mashupName":"PTC.AccessApp.WindchillServices.RoutingOptionMashup"
},
"fireEventOnFinish":{
"value":false
},
"inputConstraints":{
"selectedKey":"SingleInputOnly"
}
}
},
"ordinal":2
},
{
"id":"Analyze",
"additionalData":{
"actionConfiguration":{
"overrideLabel":{
"value":""
},
"actionButtonVisibility":{
"selectedKey":"HideUnavailable"
},
"buttonStyle":{
"selectedKey":"primary"
},
"activityType":{
"selectedKey":"popup"
},
"mashupName":{
"mashupName":"PTC.AccessApp.WindchillServices.RoutingOptionMashup"
},
"fireEventOnFinish":{
"value":false
},
"inputConstraints":{
"selectedKey":"SingleInputOnly"
}
}
},
"ordinal":3
},
{
"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":4
}
],
"objectType":"WT.WorkItem.Actions"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
}
¿Fue esto útil?