Class: ButtonGroup

@nginstack/web-framework/lib/button/ButtonGroup~ ButtonGroup


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 click nem 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

  • Button

Members


buttons :Array.<(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.<(Button|string)>
Example
const fiscal = this.buttonGroup('Fiscal');
fiscal.buttons = ['Emitir NF-e', 'Imprimir DANFE'];

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
button Button | string

Nome ou instância do botão.

Returns:

Este grupo, permitindo o encadeamento de chamadas.

Type
ButtonGroup
Example
const fiscal = this.buttonGroup('Fiscal');
fiscal.add('Emitir NF-e').add('Imprimir DANFE');

clone()

Cria uma cópia deste grupo. Os botões do grupo não são copiados.

Returns:
Type
ButtonGroup

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
button Button | string

Nome ou instância do botão.

Returns:

Este grupo, permitindo o encadeamento de chamadas.

Type
ButtonGroup