Ngx-Bootstrap - Guia rápido
O ngx-bootstrap é uma biblioteca muito popular para usar componentes de bootstrap em projetos baseados em Angular. Ele contém quase todos os componentes principais do Bootstrap. Os componentes do ngx-bootstrap são modulares, extensíveis e adaptáveis por design. A seguir estão os principais pontos de destaque desta biblioteca de bootstrap.
Flexibilidade
Todos os componentes são modulares por design. Modelos personalizados, estilos podem ser aplicados facilmente.
Todos os componentes são extensíveis e adaptáveis e funcionam em desktops e dispositivos móveis com a mesma facilidade e desempenho.
Apoio, suporte
Todos os componentes usam guias de estilo e diretrizes mais recentes para a manutenção e legibilidade do código.
Todos os componentes são totalmente testados na unidade e oferecem suporte às versões angulares mais recentes.
Documentação Extensa
Todos os componentes são ricamente documentados e bem escritos.
Todos os componentes têm várias demonstrações de trabalho para exibir vários tipos de funcionalidades.
Código aberto
ngx-bootstrap é um projeto de código aberto. É apoiado pela licença do MIT.
Neste capítulo, você aprenderá em detalhes sobre como configurar o ambiente de trabalho do ngx-bootstrap em seu computador local. Como o ngx-bootstrap é principalmente para projetos angulares, certifique-se de terNode.js e npm e angular instalado em seu sistema.
Crie um projeto angular
Primeiro crie um projeto angular para testar os componentes do ngx-bootstrap usando os seguintes comandos.
ng new ngxbootstrap
Ele criará um projeto angular chamado ngxbootstrap.
Adicionar ngx-bootstrap como dependência
Você pode usar o seguinte comando para instalar o ngx-bootstrap em um projeto recém-criado -
npm install ngx-bootstrap
Você pode observar a seguinte saída assim que o ngx-bootstrap for instalado com sucesso -
+ [email protected]
added 1 package from 1 contributor and audited 1454 packages in 16.743s
Agora, para testar se o bootstrap funciona bem com Node.js, crie o componente de teste usando o seguinte comando -
ng g component test
CREATE src/app/test/test.component.html (19 bytes)
CREATE src/app/test/test.component.spec.ts (614 bytes)
CREATE src/app/test/test.component.ts (267 bytes)
CREATE src/app/test/test.component.css (0 bytes)
UPDATE src/app/app.module.ts (388 bytes)
Limpe o conteúdo de app.component.html e atualize o conteúdo a seguir.
app.component.html
<app-test></app-test>
Atualize o conteúdo de app.module.ts para incluir o módulo de acordeão ngx-bootstrap. Adicionaremos outro módulo nos capítulos subsequentes. Atualize o seguinte conteúdo.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion'
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule.forRoot()
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize o conteúdo de index.html para incluir bootstrap.css. Atualize o seguinte conteúdo.
index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Ngxbootstrap</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<app-root></app-root>
</body>
</html>
No próximo capítulo, vamos atualizar o componente de teste para usar componentes ngx-bootstrap.
Acordeão é um controle para exibir painéis recolhíveis e é usado para exibir informações em um espaço limitado.
AccordionComponent
Exibe painéis de conteúdo recolhíveis para apresentar informações em uma quantidade limitada de espaço.
seletor
accordion
Entradas
closeOthers - booleano, se for verdadeiro, expandir um item fechará todos os outros
isAnimated - booleano, liga / desliga animação, padrão: falso
AccordionPanelComponent
AccordionHeading
Em vez de usar o atributo de título no grupo de acordeão, você pode usar um atributo de título de acordeão em qualquer elemento dentro de um grupo que será usado como modelo de cabeçalho do grupo.
seletor
grupo acordeão, painel acordeão
Entradas
heading - string, texto clicável no cabeçalho do grupo do acordeão
isDisabled - booleano, ativa / desativa o grupo de acordeão
isOpen- booleano, é o grupo acordeão aberto ou fechado. Esta propriedade suporta ligação bidirecional
panelClass - string, Fornece a capacidade de usar as classes de painel contextual do Bootstrap (painel primário, painel de sucesso, painel de informações, etc ...).
Saídas
isOpenChange - Emite quando o estado aberto muda
AccordionConfig
Serviço de configuração, fornece valores padrão para o AccordionComponent.
Propriedades
closeOthers- booleano, se os outros painéis devem ser fechados quando um painel é aberto. Padrão: falso
isAnimated - booleano, liga / desliga a animação
Exemplo
Como vamos usar o acordeão, atualizamos app.module.ts para usar AccordionModulecomo no capítulo Configuração do Ambiente do ngx-bootstrap .
Atualize test.component.html para usar o acordeão.
test.component.html
<accordion>
<accordion-group heading="Open By Default" [isOpen]="open">
<p>Open By Default</p>
</accordion-group>
<accordion-group heading="Disabled" [isDisabled]="disabled">
<p>Disabled</p>
</accordion-group>
<accordion-group heading="with isOpenChange" (isOpenChange)="log($event)">
<p>Open Event</p>
</accordion-group>
</accordion>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
open: boolean = true;
disabled: boolean = true;
constructor() { }
ngOnInit(): void {
}
log(isOpened: boolean){
console.log(isOpened);
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200 e verifique a seguinte saída.
Os alertas fornecem mensagens contextuais para ações típicas do usuário, como informações, erros com mensagens de alerta disponíveis e flexíveis.
AlertComponent
Exibe painéis de conteúdo recolhíveis para apresentar informações em uma quantidade limitada de espaço.
seletor
alert,bs-alert
Entradas
dismissible - booleano, se definido, exibe um botão "Fechar" embutido, padrão: falso
dismissOnTimeout- string | número, número em milissegundos, após o qual o alerta será fechado
isOpen - booleano, é alerta visível, padrão: verdadeiro
type- string, tipo de alerta. Fornece uma das quatro classes contextuais com suporte de bootstrap: sucesso, informação, aviso e perigo, padrão: aviso
Saídas
onClose - Este evento é disparado imediatamente após a chamada do método de instância de fechamento, $ event é uma instância do componente Alerta.
onClosed - Este evento dispara quando o alerta é fechado, $ event é uma instância do componente Alerta
AlertConfig
Propriedades
dismissible - booleano, se os alertas são dispensáveis por padrão, padrão: falso
dismissOnTimeout - número, tempo padrão antes que o alerta seja dispensado, padrão: indefinido
type - string, tipo de alerta padrão, padrão: aviso
Exemplo
Como vamos usar alertas, temos que atualizar app.module.ts usado no capítulo do ngx-bootstrap Accordion para usarAlertModule e AlertConfig.
Atualize app.module.ts para usar AlertModule e AlertConfig.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule, AlertConfig } from 'ngx-bootstrap/alert';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule
],
providers: [AlertConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar os alertas.
test.component.html
<alert type="success"
[dismissible]="dismissible"
[isOpen]="open"
(onClosed)="log($event)"
[dismissOnTimeout]="timeout">
<h4 class="alert-heading">Well done!</h4>
<p>Success Message</p>
</alert>
<alert type="info">
<strong>Heads up!</strong> Info
</alert>
<alert type="warning">
<strong>Warning!</strong> Warning
</alert>
<alert type="danger">
<strong>Oh snap!</strong> Error
</alert>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
open: boolean = true;
dismissible: boolean = true;
timeout: number = 10000;
constructor() { }
ngOnInit(): void {
}
log(alert){
console.log('alert message closed');
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200 e verifique a seguinte saída.
Os botões do ngx-bootstrap têm duas diretivas específicas que fazem um grupo de botões se comportar como caixa de seleção ou botões de opção ou híbridos onde um botão de opção pode ser desmarcado.
ButtonCheckboxDirective
Adicione a funcionalidade de caixa de seleção a qualquer elemento.
seletor
[btnCheckbox]
Entradas
btnCheckboxFalse - booleano, valor Falsy, será definido como ngModel, padrão: falso
btnCheckboxTrue - booleano, valor verdadeiro, será definido como ngModel, padrão: verdadeiro
ButtonRadioDirective
Crie botões de opção ou grupos de botões. Um valor de um botão selecionado é vinculado a uma variável especificada via ngModel.
seletor
[btnRadio]
Entradas
btnRadio - string, valor do botão de rádio, será definido como ngModel
disabled - booleano, se verdadeiro - o botão de opção está desativado
uncheckable - booleano, se verdadeiro - o botão de opção pode ser desmarcado
value - string, valor atual do componente ou grupo de rádio
ButtonRadioGroupDirective
Um grupo de botões de opção. Um valor de um botão selecionado é vinculado a uma variável especificada via ngModel.
seletor
[btnRadioGroup]
Exemplo
Como vamos usar botões, temos que atualizar app.module.ts usado no capítulo de alertas do ngx-bootstrap para usarButtonsModule. Também estamos adicionando suporte para controles de entrada usando FormModule.
Atualize app.module.ts para usar AlertModule e AlertConfig.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule
],
providers: [AlertConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar os botões.
test.component.html
<button type="button" class="btn btn-primary" (click)="clicked()">
Single Button
</button>
<pre class="card card-block card-header">
{{clickCounter}}
</pre>
<p>Button as Checkbox</p>
<div class="btn-group">
<label class="btn btn-primary" [(ngModel)]="checkModel.left"
btnCheckbox tabindex="0" role="button">Left</label>
<label class="btn btn-primary" [(ngModel)]="checkModel.right"
btnCheckbox tabindex="0" role="button">Right</label>
</div>
<pre class="card card-block card-header">
{{checkModel | json}}
</pre>
<p>Button as RadionButton</p>
<div class="form-inline">
<div class="btn-group" btnRadioGroup [(ngModel)]="radioModel">
<label class="btn btn-success" btnRadio="Left">Left</label>
<label class="btn btn-success" btnRadio="Right">Right</label>
</div>
</div>
<pre class="card card-block card-header">
{{radioModel}}
</pre>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
checkModel = { left: false, right: false };
radioModel = 'Left';
clickCounter = 0;
constructor() { }
ngOnInit(): void {
}
clicked(): void {
this.clickCounter++;
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200 e verifique a seguinte saída.
O carrossel ngx-bootstrap é usado para criar uma apresentação de slides de imagens ou texto
CarouselComponent
Elemento base para criar carrossel.
seletor
carousel
Entradas
activeSlide - número, índice do slide exibido atualmente (iniciado em 0)
indicatorsByChunk - booleano, padrão: falso
interval- número, atraso do ciclo do item em milissegundos. Se for falso, o carrossel não circulará automaticamente.
isAnimated- booleano, liga / desliga a animação. A animação não funciona para carrossel multilista, padrão: falso
itemsPerSlide - número, padrão: 1
noPause - booleano
noWrap - booleano
pauseOnFocus - booleano
showIndicators - booleano
singleSlideOffset - booleano
startFromIndex - número, padrão: 0
Saídas
activeSlideChange- Será emitido quando o slide ativo for alterado. Parte da propriedade [(activeSlide)] vinculável bidirecional
slideRangeChange - Será emitido quando os slides ativos forem alterados no modo multilista
SlideComponent
seletor
slide
Entradas
active - booleano, o slide atual está ativo
Exemplo
Como vamos usar o carrossel, temos que atualizar app.module.ts usado no capítulo Botões ngx-bootstrap para usarCarouselModule.
Atualize app.module.ts para usar o CarouselModule.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule
],
providers: [AlertConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar o Carrossel.
test.component.html
<div style="width: 500px; height: 500px;">
<carousel [noWrap]="noWrapSlides" [showIndicators]="showIndicator">
<slide *ngFor="let slide of slides; let index=index">
<img [src]="slide.image" alt="image slide" style="display: block; width: 100%;">
<div class="carousel-caption">
<h4>Slide {{index}}</h4>
<p>{{slide.text}}</p>
</div>
</slide>
</carousel>
<br/>
<div>
<div class="checkbox">
<label><input type="checkbox" [(ngModel)]="noWrapSlides">Disable Slide Looping</label>
<label><input type="checkbox" [(ngModel)]="showIndicator">Enable Indicator</label>
</div>
</div>
</div>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
import { CarouselConfig } from 'ngx-bootstrap/carousel';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
providers: [
{ provide: CarouselConfig, useValue: { interval: 1500, noPause: false, showIndicators: true } }
],
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
slides = [
{image: 'assets/images/nature/1.jpg', text: 'First'},
{image: 'assets/images/nature/2.jpg',text: 'Second'},
{image: 'assets/images/nature/3.jpg',text: 'Third'}
];
noWrapSlides = false;
showIndicator = true;
constructor() { }
ngOnInit(): void {
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200 e verifique a seguinte saída.
A diretiva Collapse ngx-bootstrap ajuda a mostrar / ocultar o conteúdo de um container.
CollapseDirective
seletor
[collapse]
Entradas
collapse - booleano, um sinalizador que indica a visibilidade do conteúdo (mostrado ou oculto)
display - string
isAnimated- booleano, liga / desliga a animação. padrão: falso
Saídas
collapsed - Este evento é disparado assim que o conteúdo é recolhido
collapses - Este evento é disparado quando o recolhimento é iniciado
expanded - Este evento é disparado assim que o conteúdo se torna visível
expands - Este evento é disparado quando a expansão é iniciada
Métodos
toggle() - permite alternar manualmente a visibilidade do conteúdo
hide - permite ocultar manualmente o conteúdo
show - permite mostrar manualmente o conteúdo recolhido
Exemplo
Como vamos usar o recolhimento, temos que atualizar app.module.ts usado no capítulo do carrossel ngx-bootstrap para usarCollapseModule.
Atualize app.module.ts para usar o CollapseModule.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule
],
providers: [AlertConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar o Collapse.
test.component.html
<div>
<div class="checkbox">
<label><input type="checkbox" [(ngModel)]="isCollapsed">Collapse</label>
</div>
</div>
<div [collapse]="isCollapsed" [isAnimated]="true">
<div class="well well-lg card card-block card-header">Welcome to Tutorialspoint.</div>
</div>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
isCollapsed: boolean = false;
constructor() { }
ngOnInit(): void {
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200 e verifique a seguinte saída.
Marque a caixa de seleção recolher e o conteúdo será recolhido.
O componente DatePicker ngx-bootstrap é altamente configurável e personalizável de acordo com nossa necessidade. Ele fornece várias opções para selecionar data ou intervalo de datas.
BsDatepickerDirective
seletor
[bsDatepicker]
Entradas
bsConfig - Parcial <BsDatepickerConfig>, objeto de configuração para datepicker
bsValue - Data, valor inicial do selecionador de data
container- string, um seletor que especifica o elemento ao qual o selecionador de data deve ser anexado. padrão: corpo
dateCustomClasses - DatepickerDateCustomClasses [], classes personalizadas de data
datesDisabled - Data [], Desativar datas específicas
datesEnabled - Data [], habilitar datas específicas
dateTooltipTexts - DatepickerDateTooltipText [], texto de dica de ferramenta de data
daysDisabled - número [], desabilitar certos dias da semana
isDisabled - booleano, indica se o conteúdo do selecionador de data está habilitado ou não
isOpen - booleano, retorna se o selecionador de data está sendo mostrado ou não
maxDate - booleano, data máxima que está disponível para seleção
minDate - booleano, data mínima que está disponível para seleção
minMode - BsDatepickerViewMode, modo de visualização mínimo: dia, mês ou ano
outsideClick - booleano, selecionador de data de fechamento no clique externo, padrão: verdadeiro
outsideEsc - booleano, fechar o selecionador de data no clique de escape, padrão: verdadeiro
placement- "topo" | "inferior" | "esquerda" | "certo", posicionamento de um selecionador de data. Aceita: "superior", "inferior", "esquerda", "direita", padrão: inferior
triggers- string, especifica os eventos que devem ser disparados. Suporta uma lista de nomes de eventos separados por espaço., Padrão: clique
Saídas
bsValueChange - É emitido quando o valor do selecionador de data foi alterado
onHidden - Emite um evento quando o selecionador de data está oculto
onShown - Emite um evento quando o selecionador de data é mostrado
Métodos
show()- Abre o selecionador de data de um elemento. Isso é considerado um acionamento 'manual' do selecionador de data.
hide()- Fecha o selecionador de data de um elemento. Isso é considerado um acionamento 'manual' do selecionador de data.
toggle()- Alterna o selecionador de data de um elemento. Isso é considerado um acionamento 'manual' do selecionador de data.
setConfig() - Definir configuração para selecionador de data
BsDaterangepickerDirective
seletor
[bsDaterangepicker]
Entradas
bsConfig - Parcial <BsDaterangepickerConfig>, objeto de configuração para daterangepicker
bsValue - Data, valor inicial do daterangepicker
container- string, um seletor que especifica o elemento ao qual o daterangepicker deve ser anexado. padrão: corpo
dateCustomClasses - DatepickerDateCustomClasses [], classes personalizadas de data
datesDisabled - Data [], Desativar datas específicas
datesEnabled - Data [], habilitar datas específicas
dateTooltipTexts - DatepickerDateTooltipText [], texto de dica de ferramenta de data
daysDisabled - número [], desabilitar certos dias da semana
isDisabled - booleano, indica se o conteúdo do daterangepicker está habilitado ou não
isOpen - boolean, retorna se o daterangepicker está ou não sendo mostrado
maxDate - booleano, data máxima que está disponível para seleção
minDate - booleano, data mínima que está disponível para seleção
minMode - BsDatepickerViewMode, modo de visualização mínimo: dia, mês ou ano
outsideClick - booleano, Fechar daterangepicker no clique externo, padrão: verdadeiro
outsideEsc - booleano, Fechar daterangepicker no clique de escape, padrão: verdadeiro
placement- "topo" | "inferior" | "esquerda" | "direito", Colocação de um selecionador de dados. Aceita: "superior", "inferior", "esquerda", "direita", padrão: inferior
triggers- string, especifica os eventos que devem ser disparados. Suporta uma lista de nomes de eventos separados por espaço., Padrão: clique
Saídas
bsValueChange - Emite quando o valor daterangepicker foi alterado
onHidden - Emite um evento quando o daterangepicker está oculto
onShown - Emite um evento quando o daterangepicker é mostrado
Métodos
show()- Abre o selecionador de data de um elemento. Isso é considerado um acionamento 'manual' do selecionador de data.
hide()- Fecha o selecionador de data de um elemento. Isso é considerado um acionamento 'manual' do selecionador de data.
toggle()- Alterna o selecionador de data de um elemento. Isso é considerado um acionamento 'manual' do selecionador de data.
setConfig() - Definir configuração para selecionador de data
Exemplo
Como vamos usar DatePicker e DateRangePicker, precisamos atualizar app.module.ts usado no capítulo de recolhimento do ngx-bootstrap para usarBsDatepickerModule e BsDatepickerConfig.
Atualize app.module.ts para usar BsDatepickerModule e BsDatepickerConfig.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot()
],
providers: [AlertConfig, BsDatepickerConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize index.html para usar o bs-datepicker.css.
app.module.ts
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Ngxbootstrap</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet">
<link href="https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css" rel="stylesheet" >
</head>
<body>
<app-root></app-root>
</body>
</html>
Atualize test.component.html para usar os selecionadores de data.
test.component.html
<div class="row">
<div class="col-xs-12 col-12 col-md-4 form-group">
<input type="text"
placeholder="Datepicker"
class="form-control"
bsDatepicker
[bsValue]="bsValue"
[minDate]="minDate"
[maxDate]="maxDate"
[daysDisabled]="[6,0]"
[datesDisabled]="disabledDates"
[bsConfig]="{ isAnimated: true, dateInputFormat: 'YYYY-MM-DD' }">
</div>
<div class="col-xs-12 col-12 col-md-4 form-group">
<input type="text"
placeholder="Daterangepicker"
class="form-control"
bsDaterangepicker
[(ngModel)]="bsRangeValue"
[datesEnabled]="enabledDates"
[bsConfig]="{ isAnimated: true }">
</div>
</div>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
bsValue = new Date();
bsRangeValue: Date[];
maxDate = new Date();
minDate = new Date();
constructor() {
this.minDate.setDate(this.minDate.getDate() - 1);
this.maxDate.setDate(this.maxDate.getDate() + 7);
this.bsRangeValue = [this.bsValue, this.maxDate];
}
ngOnInit(): void {
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200 e verifique a seguinte saída.
O componente suspenso ngx-bootstrap pode ser alternado e fornece sobreposição contextual para exibir a lista de links, etc. Com as diretivas suspensas, podemos tornar os menus suspensos interativos.
BsDropdownDirective
seletor
[bsDropdown],[dropdown]
Entradas
autoClose - booleano, indica que a lista suspensa será fechada no clique do item ou documento e após pressionar ESC
container - string, um seletor que especifica o elemento ao qual o popover deve ser anexado.
dropup - booleano, este atributo indica que o menu suspenso deve ser aberto para cima.
insideClick - booleano, este atributo indica que a lista suspensa não deve fechar no clique interno quando autoClose está definido como verdadeiro.
isAnimated - booleano, indica que o menu suspenso será animado
isDisabled - booleano, desativa a alternância do menu suspenso e oculta o menu suspenso se aberto
isOpen - boolean, retorna se o popover está ou não sendo mostrado
placement- string, colocação de um popover. Aceita: "superior", "inferior", "esquerda", "direita"
triggers- string, especifica os eventos que devem ser disparados. Suporta uma lista de nomes de eventos separados por espaço.
Saídas
isOpenChange - Emite um evento quando isOpen muda
onHidden - Emite um evento quando o popover está oculto
onShown - Emite um evento quando o popover é mostrado
Métodos
show()- Abre o popover de um elemento. Isso é considerado um acionamento 'manual' do popover.
hide()- Fecha o popover de um elemento. Isso é considerado um acionamento 'manual' do popover.
toggle()- Alterna o popover de um elemento. Isso é considerado um acionamento 'manual' do popover.
setConfig() - Definir configuração para popover
Exemplo
Como vamos usar menus suspensos, temos que atualizar app.module.ts usado no capítulo ngx-bootstrap DatePicker para usarBsDropdownModule e BsDropdownConfig.
Atualize app.module.ts para usar o BsDropdownModule e o BsDropdownConfig.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot(),
BsDropdownModule
],
providers: [AlertConfig, BsDatepickerConfig, BsDropdownConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar os menus suspensos.
test.component.html
<div class="btn-group" dropdown #dropdown="bs-dropdown" [autoClose]="false">
<button id="button-basic" dropdownToggle type="button"
class="btn btn-primary dropdown-toggle"
aria-controls="dropdown-basic">
Menu <span class="caret"></span>
</button>
<ul id="dropdown-basic" *dropdownMenu class="dropdown-menu"
role="menu" aria-labelledby="button-basic">
<li role="menuitem"><a class="dropdown-item" href="#">File</a></li>
<li role="menuitem"><a class="dropdown-item" href="#">Edit</a></li>
<li role="menuitem"><a class="dropdown-item" href="#">Search</a></li>
<li class="divider dropdown-divider"></li>
<li role="menuitem"><a class="dropdown-item" href="#">Recents</a>
</li>
</ul>
</div>
<button type="button" class="btn btn-primary"
(click)="dropdown.isOpen = !dropdown.isOpen">Show/Hide
</button>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
constructor() {}
ngOnInit(): void {}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200 e verifique a seguinte saída.
O componente modal ngx-bootstrap é um prompt de diálogo flexível e altamente configurável e fornece vários padrões e pode ser usado com o mínimo de código.
ModalDirective
seletor
[bsModal]
Entradas
config - ModalOptions, permite definir a configuração modal via propriedade do elemento
Saídas
onHidden - Este evento é disparado quando o modal termina de ser ocultado do usuário (irá aguardar a conclusão das transições CSS).
onHide - Este evento é disparado imediatamente quando o método de instância de ocultar é chamado.
onShow - Este evento é disparado imediatamente quando o método show instance é chamado.
onShown - Este evento é disparado quando o modal se torna visível para o usuário (aguardará a conclusão das transições CSS).
Métodos
show() - Permite abrir modal manualmente.
hide() - Permite fechar manualmente o modal.
toggle() - Permite alternar manualmente a visibilidade modal.
showElement() - Mostrar diálogo.
focusOtherModal() - Truques de eventos.
Exemplo
Como vamos usar um modal, temos que atualizar app.module.ts usado no capítulo Dropdowns do ngx-bootstrap para usarModalModule e BsModalService.
Atualize app.module.ts para usar ModalModule e BsModalService.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
import { ModalModule, BsModalService } from 'ngx-bootstrap/modal';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot(),
BsDropdownModule,
ModalModule
],
providers: [AlertConfig, BsDatepickerConfig, BsDropdownConfig,BsModalService],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar o modal.
test.component.html
<button type="button" class="btn btn-primary" (click)="openModal(template)">Open modal</button>
<ng-template #template>
<div class="modal-header">
<h4 class="modal-title pull-left">Modal</h4>
<button type="button" class="close pull-right" aria-label="Close" (click)="modalRef.hide()">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
This is a sample modal dialog box.
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" (click)="modalRef.hide()">Close</button>
</div>
</ng-template>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit, TemplateRef } from '@angular/core';
import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
modalRef: BsModalRef;
constructor(private modalService: BsModalService) {}
openModal(template: TemplateRef<any>) {
this.modalRef = this.modalService.show(template);
}
ngOnInit(): void {
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200. Clique no botão Abrir modal e verifique o seguinte resultado.
O componente de paginação ngx-bootstrap fornece links de paginação ou um componente de pager para seu site ou componente.
PaginationComponent
seletor
pagination
Entradas
align - booleano, se verdadeiro alinha cada link às laterais do pager
boundaryLinks - booleano, se o primeiro e o último botões falsos serão ocultados
customFirstTemplate - TemplateRef <PaginationLinkContext>, modelo personalizado para o primeiro link
customLastTemplate - TemplateRef <PaginationLinkContext>, modelo personalizado para o último link
customNextTemplate - TemplateRef <PaginationLinkContext>, modelo personalizado para o próximo link
customPageTemplate - TemplateRef <PaginationLinkContext>, modelo personalizado para link de página
customPreviousTemplate - TemplateRef <PaginationLinkContext>, modelo personalizado para o link anterior
directionLinks - booleano, se for falso, os botões anterior e seguinte serão ocultados
disabled - booleano, se o componente de paginação verdadeiro for desativado
firstText - booleano, primeiro texto do botão
itemsPerPage- número, número máximo de itens por página. Se o valor for menor que 1, todos os itens serão exibidos em uma página
lastText - string, texto do último botão
maxSize - número, número limite para links de página no pager
nextText - string, próximo texto do botão
pageBtnClass - string, adicionar classe a <li>
previousText - string, texto do botão anterior
rotate - booleano, se a página atual verdadeira estiver no meio da lista de páginas
totalItems - número, número total de itens em todas as páginas
Saídas
numPages - disparado quando a contagem total de páginas muda, $ event: number é igual à contagem total de páginas.
pageChanged - disparado quando a página foi alterada, $ event: {page, itemsPerPage} é igual ao objeto com o índice da página atual e número de itens por página.
Exemplo
Como vamos usar uma paginação, temos que atualizar app.module.ts usado no capítulo Modais ngx-bootstrap para usarPaginationModule e PaginationConfig.
Atualize app.module.ts para usar PaginationModule e PaginationConfig.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
import { PaginationModule,PaginationConfig } from 'ngx-bootstrap/pagination';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot(),
BsDropdownModule,
ModalModule,
PaginationModule
],
providers: [AlertConfig,
BsDatepickerConfig,
BsDropdownConfig,
BsModalService,
PaginationConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar o modal.
test.component.html
<div class="row">
<div class="col-xs-12 col-12">
<div class="content-wrapper">
<p class="content-item" *ngFor="let content of returnedArray">{{content}}</p>
</div>
<pagination [boundaryLinks]="showBoundaryLinks"
[directionLinks]="showDirectionLinks"
[totalItems]="contentArray.length"
[itemsPerPage]="5"
(pageChanged)="pageChanged($event)"></pagination>
</div>
</div>
<div>
<div class="checkbox">
<label><input type="checkbox" [(ngModel)]="showBoundaryLinks">Show Boundary Links</label>
<br/>
<label><input type="checkbox" [(ngModel)]="showDirectionLinks">Show Direction Links</label>
</div>
</div>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
import { BsModalService } from 'ngx-bootstrap/modal';
import { PageChangedEvent } from 'ngx-bootstrap/pagination';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
contentArray: string[] = new Array(50).fill('');
returnedArray: string[];
showBoundaryLinks: boolean = true;
showDirectionLinks: boolean = true;
constructor() {}
pageChanged(event: PageChangedEvent): void {
const startItem = (event.page - 1) * event.itemsPerPage;
const endItem = event.page * event.itemsPerPage;
this.returnedArray = this.contentArray.slice(startItem, endItem);
}
ngOnInit(): void {
this.contentArray = this.contentArray.map((v: string, i: number) => {
return 'Line '+ (i + 1);
});
this.returnedArray = this.contentArray.slice(0, 5);
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200. Clique no botão Abrir modal e verifique o seguinte resultado.
O componente popover ngx-bootstrap fornece um pequeno componente de sobreposição para fornecer pequenas informações sobre um componente.
PopoverDirective
seletor
popover
Entradas
adaptivePosition - booleano, define a desativação da posição adaptativa.
container - string, um seletor que especifica o elemento ao qual o popover deve ser anexado.
containerClass - string, classe Css para contêiner popover
delay - número, atraso antes de mostrar a dica de ferramenta
isOpen - boolean, retorna se o popover está ou não sendo mostrado
outsideClick - booleano, Fechar popover no clique externo, padrão: falso
placement- "topo" | "inferior" | "esquerda" | "certo" | "auto" | "superior esquerdo" | "canto superior direito" | "topo direito" | "inferior direito" | "canto inferior direito" | "inferior esquerdo" | "inferior esquerdo" | "topo esquerdo", posicionamento de um popover. Aceita: "superior", "inferior", "esquerda", "direita".
popover- string | TemplateRef <qualquer>, Conteúdo a ser exibido como popover.
popoverContext - any, Context a ser usado se popover for um template.
popoverTitle - string, título de um popover.
triggers- string, especifica os eventos que devem ser disparados. Suporta uma lista de nomes de eventos separados por espaço.
Saídas
onHidden - Emite um evento quando o popover está oculto.
onShown - Emite um evento quando o popover é mostrado.
Métodos
setAriaDescribedBy() - Defina o atributo aria-describeBy para a diretiva do elemento e defina o id para o popover.
show()- Abre o popover de um elemento. Isso é considerado um acionamento "manual" do popover.
hide()- Fecha o popover de um elemento. Isso é considerado um acionamento "manual" do popover.
toggle()- Alterna o popover de um elemento. Isso é considerado um acionamento "manual" do popover.
Exemplo
Como vamos usar um popover, precisamos atualizar app.module.ts usado no capítulo de paginação do ngx-bootstrap para usarPopoverModule e PopoverConfig.
Atualize app.module.ts para usar PopoverModule e PopoverConfig.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
import { PaginationModule,PaginationConfig } from 'ngx-bootstrap/pagination';
import { PopoverModule, PopoverConfig } from 'ngx-bootstrap/popover';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot(),
BsDropdownModule,
ModalModule,
PaginationModule,
PopoverModule
],
providers: [AlertConfig,
BsDatepickerConfig,
BsDropdownConfig,
BsModalService,
PaginationConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar o modal.
test.component.html
<button type="button" class="btn btn-default btn-primary"
popover="Welcome to Tutorialspoint." [outsideClick]="true">
Default Popover
</button>
<button type="button" class="btn btn-default btn-primary"
popover="Welcome to Tutorialspoint."
popoverTitle="Tutorialspoint"
[outsideClick]="true"
placement="right">
Right Aligned popover
</button>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
import { BsModalService } from 'ngx-bootstrap/modal';
import { PageChangedEvent } from 'ngx-bootstrap/pagination';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
constructor() {}
ngOnInit(): void {
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200. Clique no botão Abrir modal e verifique o seguinte resultado.
O componente da barra de progresso do ngx-bootstrap fornece um componente de progresso para mostrar o progresso de um fluxo de trabalho com barras flexíveis.
ProgressbarComponent
seletor
progressbar
Entradas
animate - booleano, se o valor de mudança verdadeiro da barra de progresso será animado.
max - número, valor total máximo do elemento de progresso.
striped - booleano, se verdadeiro, classes distribuídas são aplicadas.
type - ProgressbarType, fornece uma das quatro classes contextuais com suporte: sucesso, informação, aviso, perigo.
value- número | qualquer [], valor atual da barra de progresso. Pode ser um número ou matriz de objetos como {"value": 15, "type": "info", "label": "15%"}.
Exemplo
Como vamos usar uma barra de progresso, precisamos atualizar app.module.ts usado no capítulo ngx-bootstrap Popover para usarProgressbarModule e ProgressbarConfig.
Atualize app.module.ts para usar ProgressbarModule e ProgressbarConfig.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
import { PaginationModule,PaginationConfig } from 'ngx-bootstrap/pagination';
import { PopoverModule, PopoverConfig } from 'ngx-bootstrap/popover';
import { ProgressbarModule,ProgressbarConfig } from 'ngx-bootstrap/progressbar';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot(),
BsDropdownModule,
ModalModule,
PaginationModule,
PopoverModule,
ProgressbarModule
],
providers: [AlertConfig,
BsDatepickerConfig,
BsDropdownConfig,
BsModalService,
PaginationConfig,
ProgressbarConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar o modal.
test.component.html
<div class="row">
<div class="col-sm-4">
<div class="mb-2">
<progressbar [value]="value"></progressbar>
</div>
</div>
<div class="col-sm-4">
<div class="mb-2">
<progressbar [value]="value" type="warning"
[striped]="true">{{value}}%</progressbar>
</div>
</div>
<div class="col-sm-4">
<div class="mb-2">
<progressbar [value]="value" type="danger"
[striped]="true" [animate]="true"
><i>{{value}} / {{max}}</i></progressbar>
</div>
</div>
</div>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
max: number = 100;
value: number = 25;
constructor() {}
ngOnInit(): void {
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200.
O componente de classificação ngx-bootstrap fornece um componente de classificação configurável, uma barra de estrelas por padrão.
RatingComponent
seletor
rating
Entradas
customTemplate - TemplateRef <qualquer>, modelo personalizado para ícones.
max- número, não. de ícones, padrão: 5.
readonly - booleano, se verdadeiro não reagirá a nenhum evento do usuário.
titles - string [], matriz de títulos de ícones, padrão: ([1, 2, 3, 4, 5])
Saídas
onHover - disparado quando o ícone é selecionado, $ event: número é igual à classificação selecionada.
onLeave - disparado quando o ícone é selecionado, $ event: número é igual ao valor de classificação anterior.
Exemplo
Como vamos usar uma classificação, precisamos atualizar app.module.ts usado no capítulo ngx-bootstrap ProgressBar para usarRatingModule, RatingConfig.
Atualize app.module.ts para usar RatingModule e RatingConfig.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
import { PaginationModule,PaginationConfig } from 'ngx-bootstrap/pagination';
import { PopoverModule, PopoverConfig } from 'ngx-bootstrap/popover';
import { ProgressbarModule,ProgressbarConfig } from 'ngx-bootstrap/progressbar';
import { RatingModule, RatingConfig } from 'ngx-bootstrap/rating';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot(),
BsDropdownModule,
ModalModule,
PaginationModule,
PopoverModule,
ProgressbarModule,
RatingModule
],
providers: [AlertConfig,
BsDatepickerConfig,
BsDropdownConfig,
BsModalService,
PaginationConfig,
ProgressbarConfig,
RatingConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar a classificação.
test.component.html
<rating [(ngModel)]="value"
[max]="max"
[readonly]="false"
[titles]="['one','two','three','four']"></rating>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
max: number = 10;
value: number = 5;
constructor() {}
ngOnInit(): void {
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200. Clique no botão Abrir modal e verifique o seguinte resultado.
O componente classificável ngx-bootstrap fornece um componente classificável configurável, com suporte de arrastar e soltar.
SortableComponent
seletor
bs-sortable
Entradas
fieldName - string, nome do campo se a matriz de entrada consistir em objetos.
itemActiveClass - string, nome da classe para o item ativo.
itemActiveStyle- {[chave: string]: string; }, objeto de estilo para o item ativo.
itemClass - string, nome da classe para o item
itemStyle - string, nome da classe para o item
itemTemplate- TemplateRef <any>, usado para especificar um modelo de item personalizado. Variáveis de modelo: item e índice;
placeholderClass - string, nome da classe para o marcador
placeholderItem - string, item de espaço reservado que será mostrado se a coleção estiver vazia
placeholderStyle - string, objeto de estilo para espaço reservado
wrapperClass - string, nome da classe para o wrapper de itens
wrapperStyle- {[chave: string]: string; }, objeto de estilo para envoltório de itens
Saídas
onChange- disparado na mudança de array (reordenar, inserir, remover), o mesmo que ngModelChange. Retorna a coleção de novos itens como uma carga útil.
Exemplo
Como vamos usar um classificável, temos que atualizar app.module.ts usado no capítulo de classificação ngx-bootstrap para usarSortableModule e DraggableItemService.
Atualize app.module.ts para usar SortableModule e DraggableItemService.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
import { PaginationModule,PaginationConfig } from 'ngx-bootstrap/pagination';
import { PopoverModule, PopoverConfig } from 'ngx-bootstrap/popover';
import { ProgressbarModule,ProgressbarConfig } from 'ngx-bootstrap/progressbar';
import { RatingModule, RatingConfig } from 'ngx-bootstrap/rating';
import { SortableModule, DraggableItemService } from 'ngx-bootstrap/sortable';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot(),
BsDropdownModule,
ModalModule,
PaginationModule,
PopoverModule,
ProgressbarModule,
RatingModule,
SortableModule
],
providers: [AlertConfig,
BsDatepickerConfig,
BsDropdownConfig,
BsModalService,
PaginationConfig,
ProgressbarConfig,
RatingConfig,
DraggableItemService],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize styles.css para usar estilos para componentes classificáveis.
Styles.css
.sortableItem {
padding: 6px 12px;
margin-bottom: 4px;
font-size: 14px;
line-height: 1.4em;
text-align: center;
cursor: grab;
border: 1px solid transparent;
border-radius: 4px;
border-color: #adadad;
}
.sortableItemActive {
background-color: #e6e6e6;
box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
}
.sortableWrapper {
min-height: 150px;
}
Atualize test.component.html para usar o componente classificável.
test.component.html
<bs-sortable
[(ngModel)]="items"
fieldName="name"
itemClass="sortableItem"
itemActiveClass="sortableItemActive"
wrapperClass="sortableWrapper">
</bs-sortable>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
items = [
{
id: 1,
name: 'Apple'
},
{
id: 2,
name: 'Orange'
},
{
id: 3,
name: 'Mango'
}
];
constructor() {}
ngOnInit(): void {
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200.
O componente de guias do ngx-bootstrap fornece um componente de guia fácil de usar e altamente configurável.
TabsetComponent
seletor
tabset
Entradas
justified - booleano, se as guias verdadeiras preencherem o recipiente e tiverem uma largura consistente.
type - string, classe de contexto de navegação: 'tabs' ou 'pílulas'.
vertical - se verdadeiras abas serão colocadas verticalmente.
TabDirective
seletor
guia, [guia]
Entradas
active - booleano, alternância de estado ativo da guia.
customClass- string, se definida, será adicionada ao atributo de classe da guia. Várias classes são suportadas.
disabled - booleano, se a guia verdadeira não puder ser ativada.
heading - string, texto do cabeçalho da guia.
id- string, id da guia. O mesmo id com o sufixo '-link' será adicionado ao correspondente
- element.
removable - booleano, se a guia verdadeira puder ser removível, um botão adicional aparecerá.
Saídas
deselect - disparado quando a guia se torna inativa, $ event: Tab é igual à instância desmarcada do componente Tab.
removed - disparado antes que a guia seja removida, $ event: Tab é igual à instância da guia removida.
selectTab - disparado quando a guia se torna ativa, $ event: Tab é igual à instância selecionada do componente Tab.
Exemplo
Como vamos usar uma guia, temos que atualizar app.module.ts usado no capítulo classificável do ngx-bootstrap para usarTabsModule e TabsetConfig.
Atualize app.module.ts para usar TabsModule e TabsetConfig.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
import { PaginationModule,PaginationConfig } from 'ngx-bootstrap/pagination';
import { PopoverModule, PopoverConfig } from 'ngx-bootstrap/popover';
import { ProgressbarModule,ProgressbarConfig } from 'ngx-bootstrap/progressbar';
import { RatingModule, RatingConfig } from 'ngx-bootstrap/rating';
import { SortableModule, DraggableItemService } from 'ngx-bootstrap/sortable';
import { TabsModule, TabsetConfig } from 'ngx-bootstrap/tabs';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot(),
BsDropdownModule,
ModalModule,
PaginationModule,
PopoverModule,
ProgressbarModule,
RatingModule,
SortableModule,
TabsModule
],
providers: [AlertConfig,
BsDatepickerConfig,
BsDropdownConfig,
BsModalService,
PaginationConfig,
ProgressbarConfig,
RatingConfig,
DraggableItemService,
TabsetConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar o componente tabs.
test.component.html
<tabset>
<tab heading="Home">Home</tab>
<tab *ngFor="let tabz of tabs"
[heading]="tabz.title"
[active]="tabz.active"
(selectTab)="tabz.active = true"
[disabled]="tabz.disabled">
{{tabz?.content}}
</tab>
</tabset>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
tabs = [
{ title: 'First', content: 'First Tab Content' },
{ title: 'Second', content: 'Second Tab Content', active: true },
{ title: 'Third', content: 'Third Tab Content', removable: true },
{ title: 'Four', content: 'Fourth Tab Content', disabled: true }
];
constructor() {}
ngOnInit(): void {
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200. Clique no botão Abrir modal e verifique o seguinte resultado.
O componente timepicker ngx-bootstrap fornece um componente Time Picker fácil de usar e altamente configurável.
TimepickerComponent
seletor
timepicker
Entradas
arrowkeys - booleano, se verdadeiro, os valores de horas e minutos podem ser alterados usando as teclas de seta para cima / para baixo no teclado.
disabled - booleano, se os campos de horas e minutos verdadeiros serão desabilitados.
hoursPlaceholder - string, espaço reservado para o campo de horas no timepicker.
hourStep - número, etapa de mudança de horas.
max - Data, tempo máximo que o usuário pode selecionar.
meridians - string [], rótulos de meridiano com base na localidade.
min - Data, tempo mínimo que o usuário pode selecionar.
minutesPlaceholder - string, espaço reservado para o campo de minutos no seletor de tempo.
minuteStep - número, etapa de mudança de horas.
mousewheel - booleano, se for verdadeiro, a rolagem dentro das entradas de horas e minutos mudará o tempo.
readonlyInput - booleano, se os campos de horas e minutos forem verdadeiros, serão somente leitura.
secondsPlaceholder - string, espaço reservado para o campo de segundos no seletor de tempo.
secondsStep - número, segundo passo de mudança.
showMeridian - booleano, se o botão do meridiano verdadeiro for mostrado.
showMinutes - booleano, mostra os minutos no seletor de tempo.
showSeconds - booleano, mostra os segundos no seletor de tempo.
showSpinners - booleano, se forem verdadeiras setas giratórias acima e abaixo das entradas serão mostradas.
Saídas
isValid - emite verdadeiro se o valor for uma data válida.
Exemplo
Como vamos usar um TimePicker, precisamos atualizar app.module.ts usado no capítulo de guias do ngx-bootstrap para usarTimepickerModule.
Atualize app.module.ts para usar o TimepickerModule.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
import { PaginationModule,PaginationConfig } from 'ngx-bootstrap/pagination';
import { PopoverModule, PopoverConfig } from 'ngx-bootstrap/popover';
import { ProgressbarModule,ProgressbarConfig } from 'ngx-bootstrap/progressbar';
import { RatingModule, RatingConfig } from 'ngx-bootstrap/rating';
import { SortableModule, DraggableItemService } from 'ngx-bootstrap/sortable';
import { TabsModule, TabsetConfig } from 'ngx-bootstrap/tabs';
import { TimepickerModule } from 'ngx-bootstrap/timepicker';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot(),
BsDropdownModule,
ModalModule,
PaginationModule,
PopoverModule,
ProgressbarModule,
RatingModule,
SortableModule,
TabsModule,
TimepickerModule.forRoot()
],
providers: [AlertConfig,
BsDatepickerConfig,
BsDropdownConfig,
BsModalService,
PaginationConfig,
ProgressbarConfig,
RatingConfig,
DraggableItemService,
TabsetConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar o componente timepicker.
test.component.html
<timepicker [(ngModel)]="time"></timepicker>
<pre class="alert alert-info">Time is: {{time}}</pre>
<timepicker [(ngModel)]="time" [showMeridian]="false"></timepicker>
<pre class="alert alert-info">Time is: {{time}}</pre>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
time: Date = new Date();
constructor() {}
ngOnInit(): void {
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200. Clique no botão Abrir modal e verifique o seguinte resultado.
O componente de dica de ferramenta ngx-bootstrap fornece um componente de dica de ferramenta fácil de usar e altamente configurável.
TooltipDirective
seletor
[tooltip], [tooltipHtml]
Entradas
adaptivePosition - booleano, define a desativação da posição adaptativa.
container - string, um seletor que especifica o elemento ao qual a dica de ferramenta deve ser anexada.
containerClass - string, classe Css para o contêiner de dica de ferramenta.
delay - número, atraso antes de mostrar a dica de ferramenta.
isDisabled - booleano, permite desativar a dica de ferramenta.
isOpen - boolean, retorna se a dica de ferramenta está sendo exibida ou não.
placement- string, posicionamento de uma dica de ferramenta. Aceita: "superior", "inferior", "esquerda", "direita".
tooltip- string | TemplateRef <qualquer>, Conteúdo a ser exibido como dica de ferramenta.
tooltipAnimation - booleano, padrão: verdadeiro.
tooltipAppendToBody - booleano.
tooltipClass - string.
tooltipContext - qualquer.
tooltipEnable - booleano.
tooltipFadeDuration - número, padrão: 150.
tooltipHtml- string | TemplateRef <qualquer>.
tooltipIsOpen - booleano.
tooltipPlacement - string
tooltipPopupDelay - numero
tooltipTrigger- string | corda[]
triggers- string, especifica os eventos que devem ser disparados. Suporta uma lista de nomes de eventos separados por espaço.
Saídas
onHidden - Emite um evento quando a dica de ferramenta está oculta.
onShown - Emite um evento quando a dica de ferramenta é exibida.
tooltipChange - Disparado quando o conteúdo da dica de ferramenta muda.
tooltipStateChanged - Disparado quando o estado da dica de ferramenta muda.
Exemplo
Como vamos usar a dica de ferramenta, temos que atualizar app.module.ts usado no capítulo ngx-bootstrap TimePicker para usarTooltipModule.
Atualize app.module.ts para usar o TooltipModule.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
import { PaginationModule,PaginationConfig } from 'ngx-bootstrap/pagination';
import { PopoverModule, PopoverConfig } from 'ngx-bootstrap/popover';
import { ProgressbarModule,ProgressbarConfig } from 'ngx-bootstrap/progressbar';
import { RatingModule, RatingConfig } from 'ngx-bootstrap/rating';
import { SortableModule, DraggableItemService } from 'ngx-bootstrap/sortable';
import { TabsModule, TabsetConfig } from 'ngx-bootstrap/tabs';
import { TimepickerModule } from 'ngx-bootstrap/timepicker';
import { TooltipModule } from 'ngx-bootstrap/tooltip';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot(),
BsDropdownModule,
ModalModule,
PaginationModule,
PopoverModule,
ProgressbarModule,
RatingModule,
SortableModule,
TabsModule,
TimepickerModule.forRoot(),
TooltipModule.forRoot()
],
providers: [AlertConfig,
BsDatepickerConfig,
BsDropdownConfig,
BsModalService,
PaginationConfig,
ProgressbarConfig,
RatingConfig,
DraggableItemService,
TabsetConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar o componente timepicker.
test.component.html
<timepicker [(ngModel)]="time"></timepicker>
<pre class="alert alert-info">Time is: {{time}}</pre>
<timepicker [(ngModel)]="time" [showMeridian]="false"></timepicker>
<pre class="alert alert-info">Time is: {{time}}</pre>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
time: Date = new Date();
constructor() {}
ngOnInit(): void {
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200. Clique no botão Abrir modal e verifique o seguinte resultado.
ngx-bootstrap A diretiva Typeahead fornece um componente Typeahead fácil de usar, altamente configurável e fácil de usar.
TypeaheadDirective
seletor
[typeahead]
Entradas
adaptivePosition - booleano, define usa posição adaptativa.
container - string, um seletor que especifica o elemento ao qual o tipo antecipado deve ser anexado.
dropup - booleano, este atributo indica que o menu suspenso deve ser aberto para cima, padrão: falso.
isAnimated - booleano, liga / desliga a animação, padrão: falso.
optionsListTemplate- TemplateRef <TypeaheadOptionListContext>, usado para especificar um modelo de lista de opções personalizadas. Variáveis de modelo: correspondências, itemTemplate, consulta.
typeahead - Typeahead, fonte de opções, pode ser Array de strings, objetos ou um Observable para processo de correspondência externo.
typeaheadAsync- booleano, deve ser usado apenas no caso do atributo typeahead ser observável do array. Se verdadeiro - o carregamento das opções será assíncrono, caso contrário - sync. true faz sentido se a matriz de opções for grande.
typeaheadGroupField - string, quando a fonte de opções é uma matriz de objetos, o nome do campo que contém o valor do grupo, as correspondências são agrupadas por este campo quando definido.
typeaheadHideResultsOnBlur - booleano, usado para ocultar o resultado no desfoque.
typeaheadIsFirstItemActive- booleano, torna o primeiro item ativo em uma lista. Padrão: verdadeiro.
typeaheadItemTemplate- TemplateRef <TypeaheadOptionItemContext>, usado para especificar um modelo de item personalizado. As variáveis de modelo expostas são chamadas de item e índice.
typeaheadLatinize- booleano, combinar símbolos latinos. Se verdadeiro, a palavra súper corresponderia a super e vice-versa. Padrão: verdadeiro.
typeaheadMinLength- número, número mínimo de caracteres que precisam ser inseridos antes do início da digitação. Quando definido como 0, typeahead mostra em foco com uma lista completa de opções (limitado normalmente por typeaheadOptionsLimit)
typeaheadMultipleSearch- booleano, pode ser usado para conduzir uma pesquisa de vários itens e ter sugestões não para o valor inteiro da entrada, mas para o valor que vem depois de um delimitador fornecido por meio do atributo typeaheadMultipleSearchDelimiters. Esta opção só pode ser usada junto com a opção typeaheadSingleWords se typeaheadWordDelimiters e typeaheadPhraseDelimiters forem diferentes de typeaheadMultipleSearchDelimiters para evitar conflito ao determinar quando delimitar várias pesquisas e quando uma única palavra.
typeaheadMultipleSearchDelimiters- string, deve ser usado apenas no caso do atributo typeaheadMultipleSearch ser verdadeiro. Define o delimitador de pesquisa múltipla para saber quando iniciar uma nova pesquisa. O padrão é vírgula. Se for necessário usar espaço, defina explicitamente typeaheadWordDelimiters para algo diferente de espaço porque o espaço é usado por padrão OU defina o atributo typeaheadSingleWords como false se não precisar usá-lo junto com a pesquisa múltipla.
typeaheadOptionField- string, quando a fonte de opções é um array de objetos, o nome do campo que contém o valor de opções, usamos o item de array como opção caso este campo esteja faltando. Oferece suporte a propriedades e métodos aninhados.
typeaheadOptionsInScrollableView - número, valor padrão: 5, especifica o número de opções a serem mostradas na visualização de rolagem
typeaheadOptionsLimit- número, comprimento máximo da lista de itens de opções. O valor padrão é 20.
typeaheadOrderBy- TypeaheadOrder, usado para especificar uma ordem personalizada de correspondências. Quando a fonte de opções é uma matriz de objetos, um campo para classificação deve ser configurado. No caso de opções source ser um array de string, um campo para ordenação está ausente. A direção da ordem pode ser alterada para ascendente ou descendente.
typeaheadPhraseDelimiters- string, deve ser usado apenas no caso do atributo typeaheadSingleWords ser verdadeiro. Define o delimitador de palavra para corresponder à frase exata. O padrão é aspas simples e duplas.
typeaheadScrollable - booleano, valor padrão: falso, especifica se o tipo de início é rolável
typeaheadSelectFirstItem - booleano, valor padrão: verdadeiro, disparado quando uma lista de opções foi aberta e o usuário clicou em Tab. Se um valor igual a verdadeiro, ele será escolhido o primeiro ou o item ativo na lista. Se o valor for igual a falso, será escolhido um item ativo em a lista ou nada
typeaheadSingleWords - booleano, Valor padrão: verdadeiro, pode ser usado para pesquisar palavras inserindo um único espaço em branco entre cada caractere, por exemplo, 'C alifornia' corresponderá a 'Califórnia'.
typeaheadWaitMs - número, tempo mínimo de espera após o último caractere digitado antes do início da digitação
typeaheadWordDelimiters- string, deve ser usado apenas no caso do atributo typeaheadSingleWords ser verdadeiro. Define o delimitador de palavras para quebrar palavras. O padrão é espaço.
Saídas
typeaheadLoading - disparado quando o estado 'ocupado' deste componente foi alterado, disparado apenas no modo assíncrono, retorna booleano.
typeaheadNoResults - disparado em cada evento-chave e retorna verdadeiro caso as correspondências não sejam detectadas.
typeaheadOnBlur- disparado quando ocorre um evento de desfoque. retorna o item ativo.
typeaheadOnSelect - disparado quando a opção foi selecionada, retorna o objeto com os dados desta opção.
Exemplo
Como vamos usar um Typeahead, temos que atualizar app.module.ts usado no capítulo ngx-bootstrap Timepicker para usarTypeaheadModule.
Atualize app.module.ts para usar o TypeaheadModule.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
import { PaginationModule,PaginationConfig } from 'ngx-bootstrap/pagination';
import { PopoverModule, PopoverConfig } from 'ngx-bootstrap/popover';
import { ProgressbarModule,ProgressbarConfig } from 'ngx-bootstrap/progressbar';
import { RatingModule, RatingConfig } from 'ngx-bootstrap/rating';
import { SortableModule, DraggableItemService } from 'ngx-bootstrap/sortable';
import { TabsModule, TabsetConfig } from 'ngx-bootstrap/tabs';
import { TimepickerModule } from 'ngx-bootstrap/timepicker';
import { TypeaheadModule } from 'ngx-bootstrap/typeahead';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot(),
BsDropdownModule,
ModalModule,
PaginationModule,
PopoverModule,
ProgressbarModule,
RatingModule,
SortableModule,
TabsModule,
TimepickerModule.forRoot(),
TypeaheadModule.forRoot()
],
providers: [AlertConfig,
BsDatepickerConfig,
BsDropdownConfig,
BsModalService,
PaginationConfig,
ProgressbarConfig,
RatingConfig,
DraggableItemService,
TabsetConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
Atualize test.component.html para usar o componente timepicker.
test.component.html
<input [(ngModel)]="selectedState"
[typeahead]="states"
class="form-control">
<pre class="card card-block card-header mb-3">Model: {{selectedState | json}}</pre>
Atualize test.component.ts para variáveis e métodos correspondentes.
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
selectedState: string;
states: string[] = ['Alabama','Alaska','Arizona','Arkansas','California','Colorado',
'Connecticut','Delaware','Florida','Georgia','Hawaii','Idaho','Illinois',
'Indiana','Iowa','Kansas','Kentucky','Louisiana','Maine',
'Maryland','Massachusetts','Michigan','Minnesota','Mississippi',
'Missouri','Montana','Nebraska','Nevada','New Hampshire','New Jersey',
'New Mexico','New York','North Dakota','North Carolina','Ohio',
'Oklahoma','Oregon','Pennsylvania','Rhode Island','South Carolina',
'South Dakota','Tennessee','Texas','Utah','Vermont',
'Virginia','Washington','West Virginia','Wisconsin','Wyoming'];
constructor() {}
ngOnInit(): void {
}
}
Construir e servir
Execute o seguinte comando para iniciar o servidor angular.
ng serve
Assim que o servidor estiver instalado e funcionando. Abra http: // localhost: 4200. Clique no botão Abrir modal e verifique o seguinte resultado.