Histórico da Página
| Índice |
|---|
| Nota | ||||
|---|---|---|---|---|
| ||||
A partir da release 12.1.2610, a rotina passa a permitir a visualização do browser utilizando o Smart X SmartX. Com essa alteração, a implementação de Pontos de Entrada (PE) relacionados à inclusão de opções de menu passa a ter um novo comportamento, especialmente no que se refere à forma como as ações são exibidas na interface. |
| Aviso | ||||
|---|---|---|---|---|
| ||||
Funcionalidade disponível a partir da release 12.1.2610 e em rotinas com browser SmartX habilitado. |
01. Visão Geral
...
O SmartX é a integração do framework POUI ao Protheus, permitindo que as rotinas sejam renderizadas em um browser moderno com componentes visuais mais ricos e responsivos. Com essa mudança, a forma como os Pontos de Entrada (PE's) customizam o menu de ações das rotinas foi atualizada para se adequar ao novo modelo de interface.
...
Comportamento Anterior X Novo Comportamento (SmartX)
| Antes | Depois | |
|---|---|---|
| Aviso | title | Antes do SmartX|
| Opções adicionadas via PE apareciam exclusivamente | ||
| no menu de Outras ações, sem possibilidade de destaque visual diferenciado. | As opções podem ser exibidas como Page Actions, permitindo destacar botões diretamente no browse, fora do menu dropdown, facilitando o acesso às ações mais utilizadas. | |
| Não havia distinção visual entre uma ação principal e uma ação secundária | ||
| , pois todos os itens recebiam o mesmo tratamento visual. | A distinção entre ação principal e ação secundária passa a ser realizada através do parâmetro PAGEACTION, definido em cada item de menu. | |
Em rotinas | ||
não-MVC, | ||
não existia a utilização da 10ª posição do array de retorno | ||
para definir o parâmetro responsável pela exibição do item como Page Action. | Em rotinas não-MVC, a 10ª posição do array de retorno deve receber o valor .T. para indicar que o item será exibido como Page Action. | |
| Rotinas MVC utilizavam o comando | ||
ADD OPTION, porém sem suporte ao parâmetro | ||
PAGEACTION. | ||
| Dica | ||
| ||
Em rotinas MVC, o parâmetro PAGEACTION pode ser utilizado diretamente ao final da instrução | ||
ADD OPTION. | ||
| Dica | ||
|---|---|---|
| ||
Botões adicionados ao menu Ações do registro (sem a utilização do |
02. Ponto de Entrada - Inclusão de Opções no Menu da Rotina
...
Os Pontos de Entrada responsáveis pela inclusão de novas opções no menu nos menus das rotinas tiveram seu comportamento alteradoajustado com a adoção do SmartX. O novo padrão diferencia rotinas do tipo MVC e Não-MVC, cada uma com sua própria sintaxe e parâmetros.
| Nota | ||
|---|---|---|
| ||
Em rotinas MVC, o array de opções é recebido via PARAMIXB[1] e as opções são adicionadas com o comando ADD OPTION. |
do SmartX, conforme detalhado abaixo:
| Nota | ||
|---|---|---|
| ||
Em rotinas Não-MVC, o array é criado do zero e as opções são adicionadas via aAdd(), utilizando posições fixas no array. |
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
#INCLUDE 'TLPP-CORE.TH'
#INCLUDE 'FWMVCDEF.CH'
User Function CT020ROT()
Local aNovoItemMenu As Array
Local lPageAction As Logical
aNovoItemMenu := PARAMIXB[ 1 ]
lPageAction := .T. // Indica que o Botão Será Adicionado ao PageAction do Browse da Rotina.
// Opção no Menu - Ações de Registro.
ADD OPTION aNovoItemMenu TITLE 'Teste SmartX' ACTION 'Alert("Teste SmartX")' OPERATION MODEL_OPERATION_UPDATE ACCESS 0
// Opção Exibida Diretamente no Browse da Rotina - Page Action.
ADD OPTION aNovoItemMenu TITLE 'Teste SmartX - Page Action' ACTION 'Alert("Teste SmartX")' OPERATION MODEL_OPERATION_UPDATE ACCESS 0 PAGEACTION
Return( aNovoItemMenu ) |
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
#INCLUDE 'TLPP-CORE.TH' #INCLUDE 'FWMVCDEF.CH' User Function CT240BUT() Local aNovoItemMenu As Array Local lPageAction As Logical aNovoItemMenu := {} lPageAction := .T. // Indica que o Botão Será Adicionado ao PageAction do Browse da Rotina. // Opção no Menu - Ações de Registro. aAdd( aNovoItemMenu, { 'Teste SmartX - Page Action', 'Alert( "Teste SmartX" )', 0, 9,,,,,, lPageAction } ) // Opção Exibida Diretamente no Browse da Rotina. aAdd( aNovoItemMenu, { 'Teste SmartX', 'Alert( "Teste SmartX" )' , 0, 7 } ) Return( aNovoItemMenu ) |
03. Exemplo de Browse da Rotina
Abaixo são demonstrados dois exemplos de inclusão de botões: um utilizando os parâmetros PAGEACTION/lPageAction, que exibe o botão diretamente no PageAction do browser, e outro sem a utilização desses parâmetros, no qual o botão é exibido dentro do menu Ações do registro.
...
