Listable => IListable
This commit is contained in:
parent
0dc6d05cef
commit
29c267104e
@ -6,12 +6,12 @@ import { SortingOrders, SortingService } from '../sorting';
|
||||
import { AutoUnsubscribe, Bind, KeysOf } from '../utils';
|
||||
import { SearchService } from '../search';
|
||||
import { EntitiesService } from './services';
|
||||
import { Listable, ListingMode, ListingModes, TableColumnConfig } from './models';
|
||||
import { IListable, TableColumnConfig } from './models';
|
||||
|
||||
export const DefaultListingServices = [FilterService, SearchService, EntitiesService, SortingService] as const;
|
||||
|
||||
@Directive()
|
||||
export abstract class ListingComponent<T extends Listable> extends AutoUnsubscribe implements OnDestroy {
|
||||
export abstract class ListingComponent<T extends IListable> extends AutoUnsubscribe implements OnDestroy {
|
||||
readonly filterService = this._injector.get(FilterService);
|
||||
readonly searchService = this._injector.get<SearchService<T>>(SearchService);
|
||||
readonly sortingService = this._injector.get<SortingService<T>>(SortingService);
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
export interface Listable {
|
||||
readonly id: string | number;
|
||||
export interface IListable {
|
||||
readonly id: string;
|
||||
readonly routerLink?: string;
|
||||
}
|
||||
|
||||
@ -3,13 +3,13 @@ import { BehaviorSubject, combineLatest, Observable, pipe } from 'rxjs';
|
||||
import { distinctUntilChanged, map, tap } from 'rxjs/operators';
|
||||
import { FilterService, getFilteredEntities } from '../../filtering';
|
||||
import { SearchService } from '../../search';
|
||||
import { Listable } from '../models';
|
||||
import { IListable } from '../models';
|
||||
|
||||
const toLengthValue = (entities: unknown[]) => entities?.length ?? 0;
|
||||
const getLength = pipe(map(toLengthValue), distinctUntilChanged());
|
||||
|
||||
@Injectable()
|
||||
export class EntitiesService<T extends Listable> {
|
||||
export class EntitiesService<T extends IListable> {
|
||||
readonly displayed$: Observable<T[]>;
|
||||
readonly displayedLength$: Observable<number>;
|
||||
readonly noData$: Observable<boolean>;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user