Browse Source

Merge pull request #20491 from abpframework/auto-merge/rel-8-3/2892

Merge branch dev with rel-8.3
docs-test-1
maliming 2 years ago
committed by GitHub
parent
commit
4c3a82a956
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 18
      npm/ng-packs/packages/components/extensible/src/lib/components/date-time-picker/extensible-date-time-picker.component.ts
  2. 13
      npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts

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

@ -2,11 +2,13 @@ import {
ChangeDetectionStrategy, ChangeDetectionStrategy,
ChangeDetectorRef, ChangeDetectorRef,
Component, Component,
inject,
Input, Input,
Optional, Optional,
SkipSelf, SkipSelf,
ViewChild, ViewChild,
} from '@angular/core'; } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; import { ControlContainer, ReactiveFormsModule } from '@angular/forms';
import { import {
NgbDateAdapter, NgbDateAdapter,
@ -16,15 +18,21 @@ import {
NgbTimepicker, NgbTimepicker,
NgbTimepickerModule, NgbTimepickerModule,
} from '@ng-bootstrap/ng-bootstrap'; } from '@ng-bootstrap/ng-bootstrap';
import { NgxValidateCoreModule } from '@ngx-validate/core';
import { DateTimeAdapter } from '@abp/ng.theme.shared';
import { FormProp } from '../../models/form-props'; import { FormProp } from '../../models/form-props';
import { selfFactory } from '../../utils/factory.util'; import { selfFactory } from '../../utils/factory.util';
import { DateTimeAdapter } from '@abp/ng.theme.shared';
import { CommonModule } from '@angular/common';
@Component({ @Component({
exportAs: 'abpExtensibleDateTimePicker', exportAs: 'abpExtensibleDateTimePicker',
standalone: true, standalone: true,
imports: [CommonModule, NgbDatepickerModule, ReactiveFormsModule, NgbTimepickerModule], imports: [
CommonModule,
ReactiveFormsModule,
NgbDatepickerModule,
NgbTimepickerModule,
NgxValidateCoreModule,
],
selector: 'abp-extensible-date-time-picker', selector: 'abp-extensible-date-time-picker',
template: ` template: `
<input <input
@ -63,14 +71,14 @@ import { CommonModule } from '@angular/common';
], ],
}) })
export class ExtensibleDateTimePickerComponent { export class ExtensibleDateTimePickerComponent {
public readonly cdRef = inject(ChangeDetectorRef);
@Input() prop!: FormProp; @Input() prop!: FormProp;
@Input() meridian = false; @Input() meridian = false;
@ViewChild(NgbInputDatepicker) date!: NgbInputDatepicker; @ViewChild(NgbInputDatepicker) date!: NgbInputDatepicker;
@ViewChild(NgbTimepicker) time!: NgbTimepicker; @ViewChild(NgbTimepicker) time!: NgbTimepicker;
constructor(public readonly cdRef: ChangeDetectorRef) {}
setDate(dateStr: string) { setDate(dateStr: string) {
this.date.writeValue(dateStr); this.date.writeValue(dateStr);
} }

13
npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form-prop.component.ts

@ -15,10 +15,11 @@ import {
inject, inject,
Injector, Injector,
Input, Input,
OnChanges, Optional, OnChanges,
Optional,
SimpleChanges, SimpleChanges,
SkipSelf, SkipSelf,
ViewChild ViewChild,
} from '@angular/core'; } from '@angular/core';
import { import {
ControlContainer, ControlContainer,
@ -124,10 +125,10 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit {
search = (text$: Observable<string>) => search = (text$: Observable<string>) =>
text$ text$
? text$.pipe( ? text$.pipe(
debounceTime(300), debounceTime(300),
distinctUntilChanged(), distinctUntilChanged(),
switchMap(text => this.prop?.options?.(this.data, text) || of([])), switchMap(text => this.prop?.options?.(this.data, text) || of([])),
) )
: of([]); : of([]);
typeaheadFormatter = (option: ABP.Option<any>) => option.key; typeaheadFormatter = (option: ABP.Option<any>) => option.key;

Loading…
Cancel
Save