|
class CustomAdaptor extends WebApiAdaptor {
public options = {
sortBy: '$orderby',
select: '$select',
skip: 'page',
take: 'pageSize',
count: '$inlinecount',
. . .
};
public convertToQueryString(request: any, query: Query, dm: DataManager): string {
request.page = (request.page / request.pageSize) + 1;
let res: string[] | string = [];
let table: string = 'table';
let tableName: string = request[table] || '';
let keys: string[] = Object.keys(request);
for (let prop of keys) {
(<string[]>res).push(prop + '=' + request[prop]);
}
res = (<string[]>res).join('&');
return res.length ? tableName + '?' + res : tableName || '';
}
}
export class FetchDataComponent {
@ViewChild('grid')
public grid: GridComponent;
ngOnInit(): void {
this.data = new DataManager({
url: 'api/Orders',
adaptor: new CustomAdaptor,
});
}
} |
|
|