Visão geral da diretiva de faixa de ação Angular
O componente Ignite UI for Angular Action Strip fornece uma área de sobreposição contendo uma ou mais ações, permitindo que UI e funcionalidade adicionais sejam mostradas em cima de um contêiner de destino específico mediante interação do usuário, por exemplo, passar o mouse. O contêiner deve ser posicionado relativamente, pois a Action Strip tenta sobrepô-lo e é ele próprio posicionado de forma absoluta. Apesar de sobrepostos por uma Action Strip, as principais interações e o acesso do usuário ao contêiner de destino permanecem disponíveis.
Angular Action Strip Example
Getting Started with Ignite UI for Angular Action Strip
Para começar a usar o componente Action Strip do Ignite UI for Angular, primeiro você precisa instalar Ignite UI for Angular. Em um aplicativo Angular existente, digite o seguinte comando:
ng add igniteui-angular
Para obter uma introdução completa ao Ignite UI for Angular, leia o tópico de introdução.
O próximo passo é importar o IgxActionStripModule
no seu arquivo app.module.ts.
// app.module.ts
...
import { IgxActionStripModule } from 'igniteui-angular';
// import { IgxActionStripModule } from '@infragistics/igniteui-angular'; for licensed package
@NgModule({
...
imports: [..., IgxActionStripModule],
...
})
export class AppModule {}
Como alternativa, a partir da 16.0.0
você pode importar o IgxActionStripComponent
como uma dependência autônoma ou usar o token IGX_ACTION_STRIP_DIRECTIVES
para importar o componente e todos os seus componentes e diretivas de suporte.
// home.component.ts
...
import { IGX_ACTION_STRIP_DIRECTIVES, IgxButtonDirective, IgxIconComponent } from 'igniteui-angular';
// import { IGX_ACTION_STRIP_DIRECTIVES, IgxButtonDirective, IgxIconComponent } from '@infragistics/igniteui-angular'; for licensed package
@Component({
selector: 'app-home',
template: `
<div style="width:100px; height:100px;">
<igx-action-strip>
<button igxButton (click)="makeTextBold()">
<igx-icon>format_bold</igx-icon>
</button>
</igx-action-strip>
<div>
`,
styleUrls: ['home.component.scss'],
standalone: true,
imports: [IGX_ACTION_STRIP_DIRECTIVES, IgxButtonDirective, IgxIconComponent]
/* or imports: [IgxActionStripComponent, IgxButtonDirective, IgxIconComponent] */
})
export class HomeComponent {}
Agora que você importou o módulo Ignite UI for Angular Action Strip ou as diretivas, você pode começar com uma configuração básica do componente igx-action-strip
.
Using the Angular Action Strip Component
Para inicializar e posicionar a Action Strip corretamente, ela precisa estar dentro de um contêiner relativamente posicionado:
<div style="position:relative; width:100px; height:100px;">
<igx-action-strip>
<button igxButton (click)="makeTextBold()">
<igx-icon>format_bold</igx-icon>
</button>
</igx-action-strip>
</div>
Por padrão, a Action Strip estará visível, mas isso pode ser configurado por meio da propriedade hidden
@Input.
Menu look and feel
Para cenários onde mais de três itens de ação serão mostrados, é melhor usar a diretiva IgxActionStripMenuItem
. Qualquer item dentro da Action Strip marcado com a diretiva estrutural *igxActionStripMenuItem
será mostrado em um menu suspenso, revelado ao alternar o botão mais, ou seja, os três pontos que representam a última ação.
<div style="position:relative; width:100px; height:100px;">
<igx-action-strip>
<button *igxActionStripMenuItem igxButton (click)="alignTextLeft()">
<igx-icon>format_align_left</igx-icon>
</button>
<button *igxActionStripMenuItem igxButton (click)="alignTextCenter()">
<igx-icon>format_align_center</igx-icon>
</button>
<button *igxActionStripMenuItem igxButton (click)="alignTextRight()">
<igx-icon>format_align_right</igx-icon>
</button>
</igx-action-strip>
</div>
Reusing the Action Strip
A mesma instância do Action Strip pode ser usada em vários lugares no documento, desde que as ações não precisem ser visíveis simultaneamente para elas. O Action Strip pode alterar seu contêiner pai, o que é possível alterando o context
. A melhor maneira de fazer isso é por meio do método da API show
e passando o context
como um argumento. O context
deve ser uma instância de um componente e deve ter uma propriedade element
acessível do tipo ElementRef
.
Note
O método da API show
usa Angular Renderer2 para anexar a Action Strip a esse element
.
Usage in Grids
A Action Strip fornece funcionalidade e UI adicionais para o IgxGrid. Isso pode ser utilizado por meio de componentes de ação de grade e estamos fornecendo dois padrões:
IgxGridEditingActionsComponent
- inclui funcionalidade e UI relacionadas à edição de grade. Ele permite que você alterne rapidamente o modo de edição para células ou linhas, dependendo do valor da opçãorowEditable
da grade e se a exclusão de linhas é permitida.IgxGridPinningActionsComponent
- inclui funcionalidade e UI relacionadas à fixação de linhas de grade. Ele permite que você fixe linhas rapidamente e navegue entre linhas fixadas e suas contrapartes desabilitadas.
<igx-grid [data]="data" [rowEditable]="true" [primaryKey]="'ID'">
<igx-column *ngFor="let c of columns" [field]="c.field"> </igx-column>
<igx-action-strip #actionStrip>
<igx-grid-pinning-actions></igx-grid-pinning-actions>
<igx-grid-editing-actions></igx-grid-editing-actions>
</igx-action-strip>
</igx-grid>
Note
Esses componentes herdam IgxGridActionsBaseDirective
e, ao criar um componente de ação de grade personalizado, ele também deve herdar IgxGridActionsBaseDirective
.
Note
Quando IgxActionStripComponent
é um componente filho da grade, passar o mouse sobre uma linha mostrará automaticamente a IU.
Note
Mais informações sobre como usar o ActionStrip no componente de grade podem ser encontradas aqui.
Estilização
Para personalizar a Action Strip, primeiro você precisa importar o arquivo index
, onde todas as funções de estilo e mixins estão localizados.
@use "igniteui-angular/theming" as *;
// IMPORTANT: Prior to Ignite UI for Angular version 13 use:
// @import '~igniteui-angular/lib/core/styles/themes/index';
Em seguida, temos que criar um novo tema que estenda o action-strip-theme
e passar os parâmetros que gostaríamos de alterar:
$custom-strip: action-strip-theme(
$background: rgba(150, 133, 143, 0.4),
$actions-background: rgba(109, 121, 147, 0.6),
$icon-color: null,
$delete-action: null,
$actions-border-radius: 0,
);
O último passo é incluir o tema do componente recém-criado em nosso aplicativo.
@include css-vars($custom-strip);
API and Style References
Para obter informações mais detalhadas sobre a API Action Strip, consulte os seguintes links:
Os seguintes estilos CSS integrados nos ajudaram a obter este layout da Action Strip:
Componentes e/ou diretivas adicionais que podem ser usados dentro da Action Strip:
IgxGridActionsBaseDirective
IgxGridPinningActionsComponent
IgxGridEditingActionsComponent
IgxDividerDirective