Browse Source

Merge pull request #23208 from abpframework/enhancement/date-picker-placement

Angular - Improved positioning for date picker
pull/23227/head
oykuermann 1 year ago
committed by GitHub
parent
commit
d2ff751b51
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 19
      npm/ng-packs/packages/components/extensible/src/lib/components/date-time-picker/extensible-date-time-picker.component.ts

19
npm/ng-packs/packages/components/extensible/src/lib/components/date-time-picker/extensible-date-time-picker.component.ts

@ -3,7 +3,7 @@ import {
ChangeDetectorRef, ChangeDetectorRef,
Component, Component,
inject, inject,
Input, input,
Optional, Optional,
SkipSelf, SkipSelf,
ViewChild, ViewChild,
@ -17,6 +17,7 @@ import {
NgbTimeAdapter, NgbTimeAdapter,
NgbTimepicker, NgbTimepicker,
NgbTimepickerModule, NgbTimepickerModule,
Placement,
} from '@ng-bootstrap/ng-bootstrap'; } from '@ng-bootstrap/ng-bootstrap';
import { NgxValidateCoreModule } from '@ngx-validate/core'; import { NgxValidateCoreModule } from '@ngx-validate/core';
import { DateTimeAdapter } from '@abp/ng.theme.shared'; import { DateTimeAdapter } from '@abp/ng.theme.shared';
@ -35,8 +36,8 @@ import { selfFactory } from '../../utils/factory.util';
selector: 'abp-extensible-date-time-picker', selector: 'abp-extensible-date-time-picker',
template: ` template: `
<input <input
[id]="prop.id" [id]="prop().id"
[formControlName]="prop.name" [formControlName]="prop().name"
(ngModelChange)="setTime($event)" (ngModelChange)="setTime($event)"
(click)="datepicker.open()" (click)="datepicker.open()"
(keyup.space)="datepicker.open()" (keyup.space)="datepicker.open()"
@ -44,13 +45,14 @@ import { selfFactory } from '../../utils/factory.util';
#datepicker="ngbDatepicker" #datepicker="ngbDatepicker"
type="text" type="text"
class="form-control" class="form-control"
[placement]="placement()"
/> />
<ngb-timepicker <ngb-timepicker
#timepicker #timepicker
[formControlName]="prop.name" [formControlName]="prop().name"
(ngModelChange)="setDate($event)" (ngModelChange)="setDate($event)"
[meridian]="meridian" [meridian]="meridian()"
></ngb-timepicker> />
`, `,
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
viewProviders: [ viewProviders: [
@ -72,8 +74,9 @@ import { selfFactory } from '../../utils/factory.util';
export class ExtensibleDateTimePickerComponent { export class ExtensibleDateTimePickerComponent {
public readonly cdRef = inject(ChangeDetectorRef); public readonly cdRef = inject(ChangeDetectorRef);
@Input() prop!: FormProp; prop = input<FormProp>();
@Input() meridian = false; meridian = input<boolean>(false);
placement = input<Placement>('bottom-left');
@ViewChild(NgbInputDatepicker) date!: NgbInputDatepicker; @ViewChild(NgbInputDatepicker) date!: NgbInputDatepicker;
@ViewChild(NgbTimepicker) time!: NgbTimepicker; @ViewChild(NgbTimepicker) time!: NgbTimepicker;

Loading…
Cancel
Save