A partir da release 12.1.2610, a rotina passa a permitir a visualização do browser utilizando o Smart X. 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. |
Funcionalidade disponível a partir da release 12.1.2610. |
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.
Antes do SmartX, todas as opções adicionadas por PE apareciam exclusivamente no Menu de Ações (Outras Ações) da rotina, agrupadas em um dropdown. Com o SmartX, é possível definir se uma opção será exibida no Browse da Rotina (chamado de Page Action) ou se continuará sendo exibida no menu dropdown tradicional.
Comportamento Anterior X Novo Comportamento (SmartX)
|
|
|---|
Os Pontos de Entrada responsáveis pela inclusão de novas opções no menu das rotinas tiveram seu comportamento alterado 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.
Em rotinas MVC, o array de opções é recebido via PARAMIXB[1] e as opções são adicionadas com o comando ADD OPTION. |
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. |
#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 ) |
#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 ) |