Browse Source

Merge pull request #6826 from abpframework/auto-merge/rel-4-1/12

Merge branch dev with rel-4.1
pull/6841/head
Muhammed Altuğ 6 years ago
committed by GitHub
parent
commit
e049eb681b
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      npm/ng-packs/packages/core/src/lib/core.module.ts
  2. 1
      npm/ng-packs/packages/core/src/lib/models/common.ts
  3. 19
      npm/ng-packs/packages/core/src/lib/services/list.service.ts
  4. 15
      npm/ng-packs/packages/core/testing/src/lib/core-testing.module.ts
  5. 1
      npm/ng-packs/packages/core/testing/src/lib/pipes/index.ts
  6. 12
      npm/ng-packs/packages/core/testing/src/lib/pipes/mock-localization.pipe.ts
  7. 1
      npm/ng-packs/packages/core/testing/src/public-api.ts

8
npm/ng-packs/packages/core/src/lib/core.module.ts

@ -52,6 +52,7 @@ export function storageFactory(): OAuthStorage {
FormsModule, FormsModule,
ReactiveFormsModule, ReactiveFormsModule,
RouterModule, RouterModule,
LocalizationModule,
AbstractNgModelComponent, AbstractNgModelComponent,
AutofocusDirective, AutofocusDirective,
@ -76,6 +77,7 @@ export function storageFactory(): OAuthStorage {
FormsModule, FormsModule,
ReactiveFormsModule, ReactiveFormsModule,
RouterModule, RouterModule,
LocalizationModule,
], ],
declarations: [ declarations: [
AbstractNgModelComponent, AbstractNgModelComponent,
@ -94,6 +96,7 @@ export function storageFactory(): OAuthStorage {
StopPropagationDirective, StopPropagationDirective,
VisibilityDirective, VisibilityDirective,
], ],
providers: [LocalizationPipe],
entryComponents: [ entryComponents: [
RouterOutletComponent, RouterOutletComponent,
DynamicLayoutComponent, DynamicLayoutComponent,
@ -125,9 +128,8 @@ export class RootCoreModule {}
* CoreModule is the module that is publicly available * CoreModule is the module that is publicly available
*/ */
@NgModule({ @NgModule({
exports: [BaseCoreModule, LocalizationModule], exports: [BaseCoreModule],
imports: [BaseCoreModule, LocalizationModule], imports: [BaseCoreModule],
providers: [LocalizationPipe],
}) })
export class CoreModule { export class CoreModule {
static forRoot(options = {} as ABP.Root): ModuleWithProviders<RootCoreModule> { static forRoot(options = {} as ABP.Root): ModuleWithProviders<RootCoreModule> {

1
npm/ng-packs/packages/core/src/lib/models/common.ts

@ -14,6 +14,7 @@ export namespace ABP {
export interface Test extends Partial<Root> { export interface Test extends Partial<Root> {
baseHref?: string; baseHref?: string;
listQueryDebounceTime?: number;
routes?: Routes; routes?: Routes;
} }

19
npm/ng-packs/packages/core/src/lib/services/list.service.ts

@ -1,5 +1,12 @@
import { Inject, Injectable, OnDestroy, Optional } from '@angular/core'; import { Injectable, Injector, OnDestroy } from '@angular/core';
import { BehaviorSubject, Observable, of, ReplaySubject, Subject } from 'rxjs'; import {
BehaviorSubject,
MonoTypeOperatorFunction,
Observable,
of,
ReplaySubject,
Subject,
} from 'rxjs';
import { import {
catchError, catchError,
debounceTime, debounceTime,
@ -68,7 +75,7 @@ export class ListService<QueryParamsType = ABP.PageQueryParams> implements OnDes
get query$(): Observable<QueryParamsType> { get query$(): Observable<QueryParamsType> {
return this._query$ return this._query$
.asObservable() .asObservable()
.pipe(debounceTime(this.delay || 300), shareReplay({ bufferSize: 1, refCount: true })); .pipe(this.delay, shareReplay({ bufferSize: 1, refCount: true }));
} }
private _isLoading$ = new BehaviorSubject(false); private _isLoading$ = new BehaviorSubject(false);
@ -89,7 +96,11 @@ export class ListService<QueryParamsType = ABP.PageQueryParams> implements OnDes
} as any) as QueryParamsType); } as any) as QueryParamsType);
}; };
constructor(@Optional() @Inject(LIST_QUERY_DEBOUNCE_TIME) private delay: number) { private delay: MonoTypeOperatorFunction<QueryParamsType>;
constructor(injector: Injector) {
const delay = injector.get(LIST_QUERY_DEBOUNCE_TIME, 300);
this.delay = delay ? debounceTime(delay) : tap();
this.get(); this.get();
} }

15
npm/ng-packs/packages/core/testing/src/lib/core-testing.module.ts

@ -3,14 +3,14 @@ import {
BaseCoreModule, BaseCoreModule,
coreOptionsFactory, coreOptionsFactory,
CORE_OPTIONS, CORE_OPTIONS,
LocalizationPipe, LIST_QUERY_DEBOUNCE_TIME,
RestService, RestService,
} from '@abp/ng.core'; } from '@abp/ng.core';
import { APP_BASE_HREF } from '@angular/common'; import { APP_BASE_HREF } from '@angular/common';
import { ModuleWithProviders, NgModule } from '@angular/core'; import { ModuleWithProviders, NgModule } from '@angular/core';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { provideRoutes } from '@angular/router'; import { provideRoutes } from '@angular/router';
import { RouterTestingModule } from '@angular/router/testing'; import { RouterTestingModule } from '@angular/router/testing';
import { MockLocalizationPipe } from './pipes/mock-localization.pipe';
import { MockRestService } from './services/mock-rest.service'; import { MockRestService } from './services/mock-rest.service';
/** /**
@ -18,13 +18,12 @@ import { MockRestService } from './services/mock-rest.service';
* and it provides mock alternatives * and it provides mock alternatives
*/ */
@NgModule({ @NgModule({
exports: [RouterTestingModule, BaseCoreModule, MockLocalizationPipe], exports: [RouterTestingModule, BaseCoreModule],
imports: [RouterTestingModule, BaseCoreModule], imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],
declarations: [MockLocalizationPipe],
}) })
export class CoreTestingModule { export class CoreTestingModule {
static withConfig( static withConfig(
{ baseHref = '/', routes = [], ...options } = {} as ABP.Test, { baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {} as ABP.Test,
): ModuleWithProviders<CoreTestingModule> { ): ModuleWithProviders<CoreTestingModule> {
return { return {
ngModule: CoreTestingModule, ngModule: CoreTestingModule,
@ -40,8 +39,8 @@ export class CoreTestingModule {
deps: ['CORE_OPTIONS'], deps: ['CORE_OPTIONS'],
}, },
{ {
provide: LocalizationPipe, provide: LIST_QUERY_DEBOUNCE_TIME,
useClass: MockLocalizationPipe, useValue: listQueryDebounceTime,
}, },
{ {
provide: RestService, provide: RestService,

1
npm/ng-packs/packages/core/testing/src/lib/pipes/index.ts

@ -1 +0,0 @@
export * from './mock-localization.pipe';

12
npm/ng-packs/packages/core/testing/src/lib/pipes/mock-localization.pipe.ts

@ -1,12 +0,0 @@
import { Config } from '@abp/ng.core';
import { Injectable, Pipe, PipeTransform } from '@angular/core';
@Injectable()
@Pipe({
name: 'abpLocalization',
})
export class MockLocalizationPipe implements PipeTransform {
transform(value: string | Config.LocalizationWithDefault = '', ..._: string[]) {
return typeof value === 'string' ? value : value.defaultValue;
}
}

1
npm/ng-packs/packages/core/testing/src/public-api.ts

@ -1,2 +1 @@
export * from './lib/core-testing.module'; export * from './lib/core-testing.module';
export * from './lib/pipes';

Loading…
Cancel
Save