new ButtonGroup(name)
Grupo de botões de um processo ou de uma grade. O grupo é exibido na barra de botões como um botão que, ao ser acionado, abre um menu com os botões que fazem parte dele.
O grupo herda de module:@nginstack/web-framework/lib/button/Button~Button as
propriedades de apresentação, como label, hint, help, visible, enabled, order,
accessKey e permissionKeyWord. As propriedades e os eventos relacionados ao acionamento
do botão, como click, params e timer, não se aplicam a um grupo.
Regras:
- o grupo apenas abre o menu. Ele não tem destino, evento
clicknem botão padrão; - um grupo não pode conter outro grupo;
- o nome do grupo não pode ser igual ao nome de um botão do mesmo processo ou grade;
- um botão pertence a apenas um grupo. Ao ser adicionado a outro grupo, ele é removido do anterior;
- o grupo somente é exibido quando estiver visível e tiver ao menos um botão visível. Ele somente é habilitado quando estiver habilitado, o usuário tiver permissão e houver ao menos um botão habilitado.
Este construtor não deve ser executado diretamente. Para criar um grupo, utilize os métodos module:@nginstack/web-framework/lib/process/Process~Process#buttonGroup ou module:@nginstack/web-framework/lib/grid/Grid~Grid#buttonGroup.
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string |
Nome do grupo. O valor informado também será utilizado como o texto do grupo, caso a propriedade label não seja informada. |
- See:
Example
grid.button('Emitir NF-e').on('click', emitir);
grid.button('Imprimir DANFE', 'imprimirDanfe');
const fiscal = grid.buttonGroup('Fiscal', ['Emitir NF-e', 'Imprimir DANFE']);
fiscal.help = 'Operações fiscais do pedido.';
grid.visibleButtons = ['Aprovar', fiscal, 'Exportar'];
// grid.visibleButtons = ['Aprovar', 'Fiscal', 'Exportar']; // Também funciona utilizando o nome
// do grupo
Extends
Members
-
accessKey :string
-
Letra sugerida para ser utilizada como tecla de acesso, pela qual o botão será acionado via teclado pressionando essa letra juntamente com a tecla Alt. A letra deve ser maiúscula e não acentuada.
A letra sugerida poderá ser ignorada caso haja um atalho preexistente no navegador ou se ela já tiver sido utilizada por um outro botão do processo ou de outra grade na mesma tela.
Type:
- string
-
buttons :Array.<(module:@nginstack/web-framework/lib/button/Button~Button|string)>
-
Botões que fazem parte deste grupo, na ordem em que são exibidos no menu.
Ao atribuir esta propriedade, os botões informados passam a ser os únicos botões do grupo. Podem ser informados os nomes ou as instâncias dos botões. Um botão que pertença a outro grupo será movido para este.
Type:
- Array.<(module:@nginstack/web-framework/lib/button/Button~Button|string)>
Example
const fiscal = this.buttonGroup('Fiscal'); fiscal.buttons = ['Emitir NF-e', 'Imprimir DANFE']; -
createNewTab :boolean
-
Indica se deverá ser aberta uma nova aba para exibir o conteúdo da interação ou atividade apontada por esta âncora.
Type:
- boolean
-
defaultAction :boolean
-
Determina se este botão deve ser considerado o botão padrão do processo.
O botão padrão é disparado automaticamente quando o usuário informa o último campo de uma grade de variáveis. Ele é destacado em negrito.Type:
- boolean
- Inherited From:
- Deprecated:
-
- Utilize a propriedade defaultButton
- See:
-
defaultButton :boolean
-
Determina se este botão deve ser considerado o botão padrão do processo.
O botão padrão é disparado automaticamente quando o usuário informa o último campo de uma grade de variáveis. Ele é destacado em negrito.Type:
- boolean
-
enabled :boolean
-
Indica se o botão pode ser clicado pelo usuário. Quando desabilitado, ele estará visível, mas com uma cor diferente, sinalizando que não pode ser utilizado.
É recomendada a utilização das propriedades Process.enabledButtons e Grid.enabledButtons para definir quais botões estão habilitados.Type:
- boolean
- Inherited From:
- See:
-
- Process#enabledButtons
- Grid#enabledButtons
-
<readonly, nullable> group :module:@nginstack/web-framework/lib/button/ButtonGroup~ButtonGroup
-
Grupo de botões do qual este botão faz parte ou
nullcaso ele não pertença a um grupo.Um botão que pertence a um grupo não é exibido diretamente na barra de botões. Ele é exibido no menu aberto pelo grupo. Para incluir ou remover um botão de um grupo, utilize os métodos module:@nginstack/web-framework/lib/button/ButtonGroup~ButtonGroup#add e module:@nginstack/web-framework/lib/button/ButtonGroup~ButtonGroup#remove ou a propriedade module:@nginstack/web-framework/lib/button/ButtonGroup~ButtonGroup#buttons.
Type:
-
help :string
-
Texto de ajuda do botão. É exibido na visualização da ajuda do processo ou da grade que este botão está vinculado. É exibido para o usuário final ao manter o mouse sobre o botão caso não possua a propriedade
hintpreenchida.Type:
- string
- Inherited From:
-
hint :string
-
Mensagem que será exibida para o usuário final quando ele passar o mouse sobre o botão.
Type:
- string
- Inherited From:
-
label :string
-
Texto que será exibido no botão. Caso não seja informado, será utilizado o valor da propriedade "name".
Type:
- string
- Inherited From:
-
maxSelectedRecords :number
-
Indica a quantidade máxima de registros selecionados para que este botão possa ser utilizado em uma grade.
Propriedade válida apenas para botões de grade.Type:
- number
-
minSelectedRecords :number
-
Indica a quantidade mínima de registros selecionados para que este botão possa ser utilizado em uma grade.
Propriedade válida apenas para botões de grade.
Valor padrão: 1.Type:
- number
-
name :string
-
Nome do botão.
Type:
- string
- Inherited From:
-
nextInteractionName :string
-
Nome da interação ou atividade que será exibida quando o componente for acionado.
Type:
- string
-
nextProcessId :string
-
Id da instância de um processo que contém a atividade ou interação informada na propriedade "nextInteractionName". Quando esta propriedade é informada, um processo já aberto pelo usuário será navegado para a interação ou atividade informada em "nextInteractionName".
Type:
- string
-
nextProcessKey :number
-
Chave do processo que contém a atividade ou interação informada na propriedade "nextInteractionName". Será considerado o processo corrente quando não for informado.
Type:
- number
-
onClick :module:@nginstack/engine/lib/event/Adapter~Adapter
-
Função que será atribuída ao evento
clickdo botão.Type:
- Inherited From:
- Deprecated:
-
- Use this.on('click', listener);
-
order :number
-
Indica a ordem do botão na barra de botões. Os botões são exibidos em ordem crescente da propriedade "order". Quando não for informado, os botões serão exibidos na ordem em que foram declarados.
Type:
- number
- Inherited From:
-
parameters :Array.<Array.<(string|number|boolean|Date|null)>>
-
Array com os parâmetros a serem enviados para a interação de destino, quando este botão não tiver o evento "click". Deve ser um array de array com duas posições sendo a primeira o nome do parâmetro e a segunda o valor.
Esta propriedade é legada e mantida apenas para fins de compatibilidade. Em novas implementações, utilize apenas a propriedade
params.Type:
- Array.<Array.<(string|number|boolean|Date|null)>>
- Inherited From:
- Deprecated:
-
- Utilize a propriedade `params`.
- See:
-
params :Record.<string, (string|number|boolean|Date|null)>
-
Parâmetros que serão passados para o processo destino quando este botão não tiver o evento "click" configurado.
Esta propriedade é um objeto que associa os nomes das propriedades ao seus valores. As propriedades informadas serão definidas no processo destino quando o botão for acionado. Somente podem ser informados valores primitivos ou datas.
Type:
- Record.<string, (string|number|boolean|Date|null)>
- Inherited From:
Example
let btn = this.button('run', 'runInteraction'); btn.params.userName = ds.num('iFullName'); btn.params.description = ds.str('iDescription'); -
parent :module:@nginstack/web-framework/lib/process/Process~Process|module:@nginstack/web-framework/lib/grid/Grid~Grid
-
Objeto que contém este botão. Poderá ser uma instância de:
- Process, para os botões de um processo;
- Grid, para os botões de uma grade;
Type:
- module:@nginstack/web-framework/lib/process/Process~Process| module:@nginstack/web-framework/lib/grid/Grid~Grid
- Inherited From:
- See:
- Process, para os botões de um processo;
-
permissionKeyWord :string
-
Palavra chave utilizada para controlar o poder do usuário em disparar esta âncora. Se o usuário não tiver permissão, o componente será exibido desabilitado, independente do valor da propriedade "enabled".
Quando informado, o usuário ou o seu grupo deverão ter ao menos uma permissão que contenha a palavra chave definida. A permissão deve ser concedida no processo "Administração do sistema > Segurança > Permissões", selecionado o processo na árvore de diretórios e arquivos, e adicionando um registro na grade de permissões e preenchendo o campo "Palavras Chaves".Type:
- string
-
process :module:@nginstack/web-framework/lib/process/Process~Process
-
Instância do processo onde este objeto foi criado.
Type:
- Inherited From:
- See:
-
timeout :number
-
Indica o tempo em milissegundos para o disparo automático do botão.
Type:
- number
- Inherited From:
- Deprecated:
-
- Utilize a propriedade "timer".
- See:
-
timer :module:@nginstack/web-framework/lib/button/ButtonTimer~ButtonTimer
-
Temporizador para disparos automáticos do botão.
Type:
- Inherited From:
- See:
-
- ButtonTimer
-
validateLastInteraction :boolean
-
Determina se os componentes da interação corrente serão notificados que irá ocorrer uma navegação para uma outra interação, possibilitando que os componentes notificados tomem ações para validar os seus estados, podendo inclusive cancelar o comando de navegação do usuário.
A ação de validação irá variar entre os componentes notificados. Por exemplo: a grade irá executar um "post" caso o registro atual se encontre em edição e irá bloquear a navegação caso o registro não possa ser gravado.Type:
- boolean
-
visible :boolean
-
Indica se o botão deve ser exibido na barra de botões do processo ou da grade.
É recomendada a utilização das propriedades Process.visibleButtons e Grid.visibleButtons para definir quais botões devem ser exibidos.
Type:
- boolean
- Inherited From:
- See:
-
- Process#visibleButtons
- Grid#visibleButtons
Methods
-
add(button)
-
Adiciona um botão ao final deste grupo. Caso o botão pertença a outro grupo, ele será removido do grupo anterior.
Parameters:
Name Type Description buttonmodule:@nginstack/web-framework/lib/button/Button~Button| string Nome ou instância do botão.
Returns:
Este grupo, permitindo o encadeamento de chamadas.
Example
const fiscal = this.buttonGroup('Fiscal'); fiscal.add('Emitir NF-e').add('Imprimir DANFE'); -
assign(obj)
-
Atribui as propriedades desta instância com os valores das propriedades da instância informada.
Parameters:
Name Type Description objmodule:@nginstack/web-framework/lib/button/Button~Button Objeto do qual se deseja obter os valores.
- Inherited From:
-
clone()
-
Cria uma cópia deste grupo. Os botões do grupo não são copiados.
Returns:
-
disable()
-
Desabilita o botão.
- Inherited From:
- Deprecated:
-
- Utilize a propriedade enabled.
- See:
-
enable()
-
Habilita o botão.
- Inherited From:
- Deprecated:
-
- Utilize a propriedade enabled.
- See:
-
hide()
-
Torna o botão invisível.
- Inherited From:
- Deprecated:
-
- Utilize a propriedade visible.
- See:
-
remove(button)
-
Remove um botão deste grupo. O botão não é excluído, ele apenas deixa de fazer parte do grupo e volta a ser exibido diretamente na barra de botões.
Parameters:
Name Type Description buttonmodule:@nginstack/web-framework/lib/button/Button~Button| string Nome ou instância do botão.
Returns:
Este grupo, permitindo o encadeamento de chamadas.
-
show()
-
Torna o botão visível.
- Inherited From:
- Deprecated:
-
- Utilize a propriedade visible.
- See:
Events
-
click
-
Evento disparado quando o usuário clica no botão. Uma referência para o botão pode ser acessada pela propriedade
button.Type: ButtonEvent
- Inherited From:
- See:
-
- module:@nginstack/web-framework/lib/button/ButtonEvent~ButtonEvent
Example
const button = process.button('validate'); button.on('click', function (event) { const process = event.process; const newPassword = process.password.field('newPassword'); if (!newPassword) { throw new Error('Informe uma nova senha.'); } process.setNextInteraction('confirmChangePassword'); })