Personalização avançada > Usando componentes reutilizáveis > Componentes reutilizáveis disponíveis > Barra de ação
  
Barra de ação
Definição e uso
O componente reutilizável Barra de ações é um widget que exibe uma variedade de ações disponíveis para o usuário. As ações são exibidas como uma linha de botões acompanhada de um menu suspenso. A configuração do componente e o tamanho da tela do usuário determinam o número de ações que são exibidas como botões. As ações que não são exibidas como botões ficam visíveis no menu suspenso. É possível configurar o componente reutilizável Barra de ações das seguintes formas:
Defina as ações incluídas na barra de ações
Defina o número máximo de ações a exibir como botões
Defina opções de visibilidade para as ações dependendo da disponibilidade
Defina a ordem das ações
Defina se as entradas são requeridas para uma ação
Selecione o estilo desejado para a barra de ações
As ações são criadas para ativar um serviço ou um popup. O serviço ou o mashup de popup deve ser configurado separadamente no ThingWorx. Qualquer elementos adicional, como mensagens de notificação do sistema, deve ser configurado no serviço ou mashup apropriado no ThingWorx.
Uma barra de ações é incluída dentro da dos componentes reutilizáveis Lista de itens e Identidade do item.
A seguir, uma imagem de amostra que mostra o componente reutilizável da Barra de ações:
Não há configurações predefinidas disponíveis para o componente reutilizável Barra de ações.
Propriedades de associação
Há oito propriedades para o componente da Barra de ações que estão disponíveis para associação:
Disabled — Booleano que desabilita o widget no mashup.
EventTriggered — Evento que é acionado quando um serviço termina de ser executado ou um popup é exibido, se a ação for configurada com fireEventOnFinish como verdadeiro.
Input — JSON que é o ID de entrada para o qual os dados devem ser obtidos a partir do sistema back-end. Estas informações são fornecidas em formato CCO (Common Communication Object).
PopupClosed — Evento que é acionado quando um popup que foi aberto é fechado.
ServiceActionId — Linha que é atualizada com o ID de ação de uma ação de serviço quando a ação é clicada.
ServiceActionIdChanged — Evento que é acionado quando o valor em ServiceActionId é mudado, o que significa que um serviço invocado pela Barra de ações concluiu a execução.
SubComponentConfiguration — JSON que pode ser vinculado à configuração JSON se a configuração JSON mudar no tempo de execução. Use os campos de configuração descritos na seção a seguir se a configuração não mudar no tempo de execução.
Campos de configuração
As tabelas a seguir mostram os campos JSON que podem ser usados para configurar este componente.
Nome da propriedade
Descrição
Tipo
Valor default
Requerida ou opcional
maxItemsToShow
O número máximo de botões de ação que são exibidos. Se houver mais botões de ação do que o valor especificado, as ações adicionais serão preenchidas no menu suspenso.
Inteiro
2
Requerida
modelThingName
O nome de uma coisa que contém um serviço com a assinatura a seguir:
public JSONObject GetActions(@ThingworxServiceParameter(name = "ccoJson", baseType = "JSON") JSONObject ccoJson)
Este serviço aceita entradas no formato CCO contendo um único item. Em seguida, ele retorna um JSONObject contendo uma matriz que mapeia o ID de uma ação disponível para sua legenda, conforme recebido do back-end. Veja um exemplo na configuração JSON de amostra abaixo.
String
"PTC.ActionBar Model.Thing"
Requerida
actions
Ações disponíveis na barra de ações. Veja a subpropriedade:
String
N/D
Requerida
id
O ID da ação, conforme recebido do sistema back-end. Veja a tabela a seguir para as subpropriedades.
String
N/D
Requerida
objectType
Tipo de objeto para o qual as ações devem ser obtidas.
String
N/D
Requerida
adapter
Configuração fonte para o sistema back-end. Veja as subpropriedades:
String
N/D
Requerida
instanceName
Instância do conector, o que significa qual conector é usado para conectar-se ao sistema back-end.
String
"windchill"
Requerida
thingName
Nome do sistema back-end ou adaptador a partir do qual os dados são resgatados.
String
"PTC.WCAdapter"
Requerida
Campos de configuração em id
Nome da propriedade
Descrição
Tipo
Valor default
Requerida ou opcional
overrideLabel
O valor definido aqui será exibido como legenda do botão de ação, substituindo o valor definido no sistema back-end. Para localizar, coloque os colchetes duplos ao redor do valor.
String
N/D
Opcional
actionButtonVisibility
Determina em quais condições os botões de ação são exibidos e em qual estado. Opções: AlwaysShown, DisableUnavailable, HideUnavailable. Para AlwaysShown, o botão está sempre visível e habilitado. Para DisableUnavailable, o botão está sempre visível, mas é desabilitado quando a ação está indisponível para uma seleção específica. Para HideUnavailable, o botão só fica visível quando a ação está disponível para uma seleção específica.
Nota: Há outras configurações que afetam o estado habilitado ou desabilitado do botão.
String
N/D
Requerida
buttonStyle
Determina o estilo visual do botão. Opções: primary, secondary, tertiary, danger, transparent.
String
N/D
Requerida
overrideSetDisabled
Se este campo estiver definido, seu valor será o único fator para decidir se um botão deve ser habilitado ou desabilitado. Opções: true, false. O valor true garante que o botão seja desabilitado e false garante que o botão seja habilitado.
Boolean
N/D
Opcional
activityType
Determina se esta ação executa um serviço ou exibe um mashup de popup. Opções: popup, service. Veja as tabelas abaixo para saber quais são as subpropriedades requeridas para popup e serviço.
String
N/D
Requerida
fireEventOnFinish
Se este campo estiver definido como verdadeiro, quando um serviço terminar de ser executado, o evento EventTriggered será acionado e quando um popup for fechado, o evento PopupClosed será acionado.
Boolean
N/D
Opcional
inputConstraints
Determina a restrição de entrada para a ação. Opções: InputRequired, SingleInputOnly e NoInputRequired.
InputRequired: Esta ação deve receber entrada para operar. Se a entrada estiver vazia e não contiver nenhum item, o botão desta ação será desabilitado.
SingleInputOnly: Esta ação deve receber uma única entrada para operar. Se a entrada estiver vazia ou contiver mais do que um único item, o botão desta ação será desabilitado.
NoInputRequired: Esta ação pode operar sem nenhuma entrada, ou com entrada.
String
N/D
Opcional
ordinal
A ordem na qual os botões de ação aparecem. A ação com o ordinal mais baixo será exibida na posição inicial da extrema esquerda. Valores negativos são permitidos.
Inteiro
N/D
Requerida
iconWhenEnabled
Se este campo for especificado, o botão da ação conterá um ícone à esquerda da legenda quando o botão de ação estiver habilitado.
String
N/D
Opcional
entityName
O nome da entidade de mídia a ser usada como ícone.
String
N/D
Opcional
iconWhenDisabled
Se este campo for especificado, o botão da ação conterá um ícone à esquerda da legenda quando o botão de ação estiver desabilitado.
String
N/D
Opcional
entityName
O nome da entidade de mídia a ser usada como ícone.
String
N/D
Opcional
Subpropriedades para activityType de popup
Nome da propriedade
Descrição
Tipo
Valor default
Requerida ou opcional
mashupName
O nome do mashup que aparece como um popup.
String
N/D
Requerida
redirectAfterPopupSuccess
Redireciona para outro mashup quando o popup é fechado depois de uma operação bem-sucedida.
Para informar a Barra de ações se a operação executada pelo popup foi concluída ou não com êxito, é necessário definir o parâmetro de sessão nomeado PTC.ActionBar.popupCloseParameters para indicar êxito ou falha. Por exemplo, no mashup de popup, pode haver uma expressão que é executada depois que a operação executada pelo popup for finalizada e, nessa expressão, o parâmetro de sessão será definido. No exemplo a seguir, o atributo JSON operationSuccessful é definido como true, pois a operação foi bem-sucedida:
sessionStorage.setItem("PTC.ActionBar.popupCloseParameters", JSON.stringify( { operationSuccessful: true } ));
String
N/D
Opcional
popupWidth
Especifica a largura do popup que aparece. Se este campo for deixado em branco, o popup terá a largura default de 1024.
Inteiro
N/D
Opcional
popupHeight
Especifica a largura do popup que aparece. Se este campo for deixado em branco, o popup terá a largura default de 640.
Inteiro
N/D
Opcional
Subpropriedades para activityType de service
Nome da propriedade
Descrição
Tipo
Valor default
Requerida ou opcional
thingWithService
O nome da coisa que contém o serviço a ser executado.
String
N/D
Requerida
serviceName
O nome do serviço a ser executado.
String
N/D
Requerida
parameters
Este campo opcional permite a passagem de parâmetros embutidos em código para o serviço. Os parâmetros são definidos em um JSONObject, mas devem ser formatados como uma linha de um objeto JSON, usando aspas com escape. Os parâmetros devem ser inseridos no arquivo de configuração da seguinte forma: "{\"myParamName\": \"hardcodedValue\"}" . Veja informações adicionais abaixo.
StringRepresentationOfJSONObject
N/D
Opcional
Usando parameters para configurar uma ação de serviço
Suponhamos que haja um serviço nomeado MyService com esta assinatura:
@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)
Esta é a aparência dos valores de parâmetro para MyService:
{
\"exampleInt\": 123,
\"exampleString\": \"Hello\",
\"exampleBoolean\": true
}
* 
Há dois parâmetros que o seu serviço obterá automaticamente se a assinatura do serviço for definida para recebê-los: serviceParam_InputCco e serviceParam_ActionId. O parâmetro serviceParam_InputCco é um JSONObject e é a entrada que foi fornecida para a Barra de ações. O parâmetro serviceParam_ActionId é uma linha que contém o ID da ação que foi clicada. Se o serviço não mencionar esses parâmetros na assinatura, não será possível usá-los. Se você quiser usá-los, defina a assinatura do serviço para usar um dos parâmetros ou ambos, da seguinte forma:
@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)
Configuração de amostra
{
"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"
}
}
]
}
}