diff --git a/src/models/statement.base.ts b/src/models/statement.base.ts index ee99915..e572791 100644 --- a/src/models/statement.base.ts +++ b/src/models/statement.base.ts @@ -27,23 +27,23 @@ export abstract class StatementBase implements AfterViewInit, OnInit { ngAfterViewInit(): void { this.gridOptions.api.setDatasource(this.setRowData()); - this.data = this.paramsSubject - .switchMap((params: IGetRowsParams) => { - return this.service.getData(params); - }).catch((error: any) => { - console.log(error); - return Observable.of([]); - }); - this.data.subscribe((data: any[]) => { - if (!data.length) { - data = [this.createModel()]; - } - let lastRow: number = -1; - if (data.length < (this.params.endRow - this.params.startRow) && !this.isNew) { - lastRow = data.length; - } - this.params.successCallback(data, lastRow); - }); + // this.data = this.paramsSubject + // .switchMap((params: IGetRowsParams) => { + // return this.service.getData(params); + // }).catch((error: any) => { + // console.log(error); + // return Observable.of([]); + // }); + // this.data.subscribe((data: any[]) => { + // if (!data.length) { + // data = [this.createModel()]; + // } + // let lastRow: number = -1; + // if (data.length < (this.params.endRow - this.params.startRow) && !this.isNew) { + // lastRow = data.length; + // } + // this.params.successCallback(data, lastRow); + // }); } enableLoader(): void { @@ -77,8 +77,6 @@ export abstract class StatementBase implements AfterViewInit, OnInit { this.showGrid = true; this.gridOptions.rowModelType = 'virtual'; this.gridOptions.paginationPageSize = 10; - this.gridOptions.paginationOverflowSize = 2; - this.gridOptions.maxPagesInCache = 2; this.gridOptions.getRowNodeId = function(item) { return item.id; }; @@ -117,17 +115,8 @@ export abstract class StatementBase implements AfterViewInit, OnInit { rowCount: null, getRows: (params: IGetRowsParams) => { this.params = params; - this.paramsSubject.next(params); - // this.service.getData(params).subscribe((data: any[]) => { - // if (!data.length) { - // data = [this.createModel()]; - // } - // let lastRow: number = -1; - // if (data.length <= params.endRow) { - // lastRow = data.length; - // } - // params.successCallback(data, lastRow); - // }); + // this.paramsSubject.next(params); + this.service.getData(params); }, }; return dataSource; diff --git a/src/services/statement.base.service.ts b/src/services/statement.base.service.ts index ad1b288..638823f 100644 --- a/src/services/statement.base.service.ts +++ b/src/services/statement.base.service.ts @@ -11,36 +11,55 @@ export abstract class StatementBaseService { constructor(protected http: Http) { } - // getData2(from: number = 0, to: number = 100, sort: string = null): Promise { - // let url: string = this.url; - // url += '?from=' + from + '&to=' + to; - // if (sort) { + getData(params: IGetRowsParams): Promise { + let sort: string = null; + if (params.sortModel.length) { + sort = this.parseSort(params.sortModel[0]); + } + let url: string = this.url; + url += '?from=' + params.startRow + '&perPage=' + (params.endRow - params.startRow); + if (sort) { + url += '&sort=' + sort; + } + let filter: string = this.parseFilter(params.filterModel); + if (filter) { + url += '&filter=' + filter; + } + return this.http.get(url) + .toPromise() + .then((response: Response) => { + let data: any[] = this.parseModels(response.json()); + if (!data.length) { + data = [this.createModel()]; + } + let lastRow: number = -1; + if (data.length < (params.endRow - params.startRow)) { + lastRow = data.length; + } + params.successCallback(data, lastRow); + return data; + }) + .catch(this.handleError); + } + + // getData(params: IGetRowsParams): Observable { + // let sort: string = null; + // if (params.sortModel.length) { + // sort = this.parseSort(params.sortModel[0]); + // } + // let url: string = this.url; + // url += '?from=' + params.startRow + '&perPage=' + (params.endRow - params.startRow); + // if (sort) { // url += '&sort=' + sort; // } - // return this.http.get(url) - // .toPromise() - // .then((response: Response) => this.parseModels(response.json())) - // .catch(this.handleError); + // let filter: string = this.parseFilter(params.filterModel); + // if (filter) { + // url += '&filter=' + filter; + // } + // return this.http.get(url) + // .map((response: Response) => this.parseModels(response.json())); // } - getData(params: IGetRowsParams): Observable { - let sort: string = null; - if (params.sortModel.length) { - sort = this.parseSort(params.sortModel[0]); - } - let url: string = this.url; - url += '?from=' + params.startRow + '&perPage=' + (params.endRow - params.startRow); - if (sort) { - url += '&sort=' + sort; - } - let filter: string = this.parseFilter(params.filterModel); - if (filter) { - url += '&filter=' + filter; - } - return this.http.get(url) - .map((response: Response) => this.parseModels(response.json())); - } - update(id: number, data: string): Promise { return this.http.post(this.url + '/update?id=' + id, data, { headers: this.headers }) .toPromise() -- libgit2 0.21.4