Adición de lógica a comandos con Power Fx
Las aplicaciones controladas por modelos admiten una barra de comandos en la parte superior de los formularios y vistas donde puede agregar botones personalizados. Con Power Fx, puede controlar lo que sucede cuando se selecciona un botón, si el botón está visible y cómo interactúa con el registro seleccionado.
¿Qué es el comando?
El comando permite a los creadores agregar botones personalizados a la barra de comandos de una aplicación controlada por modelos mediante el diseñador de comandos. En lugar de escribir JavaScript, se escriben expresiones de Power Fx (el mismo lenguaje de fórmulas que se usa en las aplicaciones de lienzo) para definir el comportamiento y la visibilidad del botón.
Note
Muchas funciones de Power Fx que funcionan en aplicaciones de lienzo también son compatibles con los comandos. No se admiten algunas funciones, incluidas Set(), Collect(), UpdateContext(), y otras que dependen de la administración del estado específica del lienzo.
OnSelect
La OnSelect propiedad define lo que se ejecuta cuando un usuario selecciona el botón. Puede usar cualquier función de Power Fx compatible aquí.
Por ejemplo, para actualizar el nombre en el registro de cuenta seleccionado actualmente:
Patch(Accounts, Self.Selected.Item, {'Account Name': "Contoso"})
Para ir a otra pantalla o vista:
Navigate(Accounts)
Para mostrar un cuadro de diálogo de confirmación antes de tomar medidas:
If(
Confirm("Are you sure?", { ConfirmButton: "Yes", CancelButton: "No" }),
Patch(Accounts, Self.Selected.Item, {Status: "Closed"})
)
Visible
La Visible propiedad controla si el botón aparece en la barra de comandos. Establézcalo en una expresión de Power Fx que devuelva true o false.
Por ejemplo, para mostrar el botón solo cuando se seleccionan uno o varios registros en una cuadrícula:
CountRows(Self.Selected.AllItems) > 0
Para mostrar el botón solo para los registros con un valor de campo específico:
Self.Selected.Item.'Account Rating' > 20
La propiedad Selected
Dentro de las expresiones de Power Fx de un comando, el objeto Self.Selected permite acceder al registro o a los registros seleccionados actualmente en la aplicación.
| Property | Returns | Description |
|---|---|---|
Self.Selected.Item |
Registro único | El registro seleccionado actualmente. En blanco si no se selecciona nada o si se seleccionan varios registros. |
Self.Selected.AllItems |
Tabla de registros | Todos los registros actualmente seleccionados. Está vacío si no hay nada seleccionado. |
Self.Selected.State |
Enum | Indica si el formulario está en estado Editar (0), Nuevo (1) o Ver (2). |
Notificar al usuario
Use la Notify función para mostrar un mensaje de banner al usuario de la aplicación después de ejecutar un comando:
Notify("Record updated successfully.")
A continuación, pondrá sus aptitudes en práctica mediante la creación de una aplicación completa controlada por modelos en un ejercicio práctico.