Adicionar lógica a comandos com o Power Fx
Aplicativos controlados por modelos dão suporte a uma barra de comandos na parte superior dos formulários e exibições em que você pode adicionar botões personalizados. Usando o Power Fx, você pode controlar o que acontece quando um botão é selecionado, se o botão está visível e como ele interage com o registro selecionado.
O que é comando?
O comando permite que os criadores adicionem botões personalizados à barra de comandos de um aplicativo controlado por modelos usando o designer de comandos. Em vez de escrever JavaScript, você escreve expressões do Power Fx — a mesma linguagem de fórmula usada em aplicativos de tela — para definir o comportamento e a visibilidade do botão.
Note
Muitas funções do Power Fx que funcionam em aplicativos de tela também têm suporte no comando. Algumas funções não são compatíveis, incluindo Set(), Collect(), UpdateContext() e outras que dependem do gerenciamento de estado específico do canvas.
OnSelect
A OnSelect propriedade define o que é executado quando um usuário seleciona o botão. Você pode usar qualquer função do Power Fx com suporte aqui.
Por exemplo, para atualizar o nome no registro de conta selecionado no momento:
Patch(Accounts, Self.Selected.Item, {'Account Name': "Contoso"})
Para navegar até uma tela ou exibição diferente:
Navigate(Accounts)
Para mostrar uma caixa de diálogo de confirmação antes de executar uma ação:
If(
Confirm("Are you sure?", { ConfirmButton: "Yes", CancelButton: "No" }),
Patch(Accounts, Self.Selected.Item, {Status: "Closed"})
)
Visível
A Visible propriedade controla se o botão aparece na barra de comandos. Defina-a como uma expressão power fx que retorna true ou false.
Por exemplo, para mostrar o botão somente quando um ou mais registros são selecionados em uma grade:
CountRows(Self.Selected.AllItems) > 0
Para mostrar o botão somente para registros com um valor de campo específico:
Self.Selected.Item.'Account Rating' > 20
A propriedade Selected
Dentro das expressões Power Fx de um comando, o objeto Self.Selected dá acesso ao registro ou aos registros selecionados no momento no aplicativo.
| Property | Returns | Description |
|---|---|---|
Self.Selected.Item |
Registro único | O registro selecionado no momento. Em branco se nada estiver selecionado ou se vários registros estiverem selecionados. |
Self.Selected.AllItems |
Tabela de registros | Todos os registros atualmente selecionados. Vazio se nada estiver selecionado. |
Self.Selected.State |
Enum | Se o formulário está no estado Editar (0), Novo (1) ou Exibição (2). |
Notificar o usuário
Use a função Notify para mostrar uma mensagem em banner ao usuário do aplicativo após a execução de um comando:
Notify("Record updated successfully.")
Em seguida, você colocará suas habilidades em prática criando um aplicativo baseado em modelo completo em um exercício prático.