ng-bootstrap port of Bootstrap into Angular 5+ world comes with a datepicker and timepicker, but a component that combines both is sadly not in the box!
This component combines both in a popup window and returns a single native Javascript Date object.
It requires (for sure) @ng-bootstrap/ng-bootstrap version ^1.0.0 and bootstrap ^4
npm install --save ngbe-datetime-picker
First, import the NgbeDatetimePickerModule module into your own module
@NgModule({
declarations: [
...
],
imports: [
...,
NgbeDatetimePickerModule,
...
],
providers: [...],
bootstrap: [...]
})
Add the datetime-picker tag where you want the popup to appear
<ngbe-datetime-picker [(value)]="demoDate" (valueChange)="valueChanged($event)" (popupClosed)="popupClosed($event)" #dtp></ngbe-datetime-picker>
<button (click)="dtp.toggle()">toggle</button>
#dtp
is a local variable assigned to this component instance so it can be controlled from outside
.toggle()
is the only provided public function.
Inputs | Note |
---|---|
value | Date object |
showPopup | boolean |
showSeconds | boolean, default = true |
nowButton | :NgbeDatetimePickerButtonInterface |
clearButton | :NgbeDatetimePickerButtonInterface |
closeButton | :NgbeDatetimePickerButtonInterface |
NgbeDatetimePickerButtonInterface gives you the possibility to customize the buttons by passing an instance with
show: boolean;
label: string;
cssClass: string;
the default css class is 'btn btn-secondary btn-sm' and the names are in english
Outputs | Note |
---|---|
value | Date object |
valueChange | triggered whenever time or date changes with the date as payload |
popupClosed | by clicking outside the popup window (using ng-) or close button |