Introdução ao script do lado do cliente
O script de cliente permite usar JavaScript em aplicativos baseados em modelo do Power Apps para implementar lógica de negócios personalizada. O script de cliente é uma alternativa para quando as regras de negócios declarativas não atendem aos requisitos. O script de cliente é executado em um formulário baseado em modelo em resposta a eventos de formulário. Estes são os eventos mais comuns para os quais é possível usar manipuladores de eventos:
Carregamento de formulário
Alterações de dados em uma coluna
Salvamento de formulário
Além disso, você pode configurar um botão da barra de comandos para invocar uma função de script do cliente quando pressionado.
Algumas das tarefas comuns que você pode realizar usando scripts de cliente incluem:
Obter ou definir valores de coluna no formulário.
Mostrar e ocultar elementos da interface do usuário.
Fazer referência a vários controles por coluna.
Alternar entre formulários quando há vários formulários disponíveis para uma tabela.
Abrir formulários, exibições, caixas de diálogo e relatórios.
Interagir com o controle de fluxo do processo empresarial.
Usando a API de script do cliente fornecida, você pode implementar sua interação com seus dados, alterações no conteúdo do formulário ou modificações no comportamento do aplicativo. Ao escrever sua lógica em JavaScript, é importante observar que, embora o formulário use HTML padrão, a manipulação direta do conteúdo do formulário não tem suporte. O script de cliente fornece um modelo de objeto com métodos para interagir com os vários componentes do formulário. Essa abordagem garante que quaisquer alterações no layout ou no HTML específico usado na renderização do formulário não afetem sua lógica de negócios. É igualmente importante usar apenas objetos e funções documentados e não aqueles que você possa descobrir, pois eles podem mudar ou não estar disponíveis a qualquer momento. Para obter mais informações sobre personalizações com e sem suporte, veja Práticas de criação de aplicativos do Microsoft Dataverse: Power Apps no guia do desenvolvedor do Dataverse.
Esta é a estrutura de alto nível do modelo de objeto e namespaces da API de script de cliente:
Aplicativo: permite adicionar manipuladores de eventos para notificações de nível de aplicativo.
Dispositivo: permite, com consentimento, o acesso ao conteúdo do dispositivo, como imagem, vídeo, áudio, local etc.
Codificação: acesso rápido a funções de codificação/decodificação de HTML.
Navegação: fornece funções de navegação independentes de plataforma, incluindo a abertura de caixas de diálogo, formulários, arquivos e URLs.
Painel: exibe a página da Web representada por uma URL na área estática do painel lateral, que é mostrada em todas as páginas no cliente Web de aplicativos baseados em modelo.
Utilitário: coleção de funções utilitárias, incluindo o acesso a metadados e vários objetos de contexto.
API Web: fornece propriedades e funções para usar a API Web na criação e no gerenciamento de registros, bem como na execução de funções e ações da API Web.
Outro conceito importante de nível superior é que os objetos de contexto estão disponíveis como parâmetros do manipulador de eventos ou são recuperados usando métodos especiais. Esses objetos de contexto ajudam a evitar a gravação de código vinculada a um determinado layout de controle de formulário ou a um controle específico. Estes são os contextos com os quais você trabalhará:
Execução: define o contexto do evento em que o código é executado. O contexto de execução é passado quando um evento ocorre em um formulário ou grade, que você pode usar no seu manipulador de eventos para executar várias tarefas, como determinar formContext ou gridContext ou gerenciar o evento de salvamento.
Formulário: fornece uma referência ao formulário ou a um item do formulário, como um controle de visualização rápida ou uma linha de uma grade editável, no qual o código atual é executado. O contexto do formulário é recuperado usando o método getFormContext() do contexto de execução ou é incluído como um argumento quando o código é executado por meio de uma ação da faixa. O contexto do formulário contém os seguintes namespaces principais:
data: esse namespace fornece acesso aos dados da linha da tabela apresentada em um formulário, incluindo funções como salvar e atualizar. Um exemplo de uso desse método é: formContext.data.entity.save("saveandnew");
iu: esse namespace permite manipular controles no formulário, como guias, seções e controles. As tarefas comuns incluem ocultar, mostrar e tornar campos obrigatórios ou não obrigatórios. Um exemplo de uso desse método é: formContext.ui.refreshRibbon(true);
Grade: fornece informações de contexto para manipuladores de eventos registrados em subgrades em um formulário.
Como você pode perceber nestas descrições de alto nível, o uso da API de script do cliente proporciona bastante flexibilidade para implementação da lógica do lado do cliente. É importante lembrar que a lógica implementada com scripts do lado do cliente apenas impõe sua lógica quando o usuário está usando o aplicativo. Em muitos casos, o script do cliente deve ser combinado com a implementação do lado do servidor para garantir que a lógica sempre seja executada, independentemente do método usado para acessar os dados e a funcionalidade. O restante deste módulo se aprofunda em como usar scripts de cliente.