Settings working now. Everything working now.

Time for docker and beta test
This commit is contained in:
2020-05-30 23:39:02 +05:30
parent 95e92fc2bd
commit 013fce2e96
16 changed files with 73 additions and 214 deletions

View File

@ -1,13 +1,12 @@
import {DataSource} from '@angular/cdk/collections';
import { DataSource } from '@angular/cdk/collections';
import { MatPaginator } from '@angular/material/paginator';
import { MatSort } from '@angular/material/sort';
import {map, tap} from 'rxjs/operators';
import {merge, Observable, of as observableOf} from 'rxjs';
import {Product} from '../../core/product';
import { map, tap } from 'rxjs/operators';
import { merge, Observable, of as observableOf } from 'rxjs';
import { Product } from '../../core/product';
export class ProductListDataSource extends DataSource<Product> {
private dataObservable: Observable<Product[]>;
private filterValue: string;
constructor(private paginator: MatPaginator, private sort: MatSort, private filter: Observable<string>, public data: Product[]) {
@ -18,9 +17,8 @@ export class ProductListDataSource extends DataSource<Product> {
}
connect(): Observable<Product[]> {
this.dataObservable = observableOf(this.data);
const dataMutations = [
this.dataObservable,
observableOf(this.data),
this.filter,
this.paginator.page,
this.sort.sortChange
@ -28,9 +26,13 @@ export class ProductListDataSource extends DataSource<Product> {
return merge(...dataMutations).pipe(
map((x: any) => {
return this.getPagedData(this.getSortedData(this.getFilteredData([...this.data])));
return this.getFilteredData([...this.data]);
}),
tap((x: Product[]) => this.paginator.length = x.length)
).pipe(
map((x: any) => {
return this.getPagedData(this.getSortedData(x));
})
);
}
@ -66,6 +68,8 @@ export class ProductListDataSource extends DataSource<Product> {
switch (this.sort.active) {
case 'name':
return compare(a.name, b.name, isAsc);
case 'productGroup':
return compare(a.productGroup, b.productGroup, isAsc);
case 'id':
return compare(+a.id, +b.id, isAsc);
default: