Skip to content

Commit b7a2aa6

Browse files
committed
fix(ngTableEventsChannel): event callbacks defines incorrect params
afterDataSorted and afterDataFiltered defined with wrong params. The publisher parameter should be the `NgTableParams` instancefor whom the event relates and should the first parameter. BREAKING CHANGE: * changed signatures of `afterDataSorted` + `afterDataFiltered` events Previously: ```ts (publisher: IDefaultGetData<T>, params: NgTableParams<T>, newData: DataResult<T>[] ): any ``` Now: ```ts (publisher: NgTableParams<T>, newData: DataResult<T>[] ): any ```
1 parent 71dddea commit b7a2aa6

File tree

3 files changed

+11
-12
lines changed

3 files changed

+11
-12
lines changed

src/core/data/ngTableDefaultGetData.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ export class NgTableDefaultGetDataProvider implements IServiceProvider {
6666
function ngTableDefaultGetData<T>($filter: IFilterService, ngTableEventsChannel: NgTableEventsChannel): IDefaultGetData<T> {
6767

6868
const defaultDataOptions = { applyFilter: true, applySort: true, applyPaging: true };
69-
const self = this;
7069

7170
(getData as IDefaultGetData<T>).applyPaging = applyPaging;
7271
(getData as IDefaultGetData<T>).getFilterFn = getFilterFn;
@@ -122,10 +121,10 @@ export class NgTableDefaultGetDataProvider implements IServiceProvider {
122121
const options = ng1.extend({}, defaultDataOptions, params.settings().dataOptions);
123122

124123
const fData = options.applyFilter ? applyFilter(data, params) : data;
125-
ngTableEventsChannel.publishAfterDataFiltered(self, params, fData);
124+
ngTableEventsChannel.publishAfterDataFiltered(params, fData);
126125

127126
const orderedData = options.applySort ? applySort(fData, params) : fData;
128-
ngTableEventsChannel.publishAfterDataSorted(self, params,orderedData);
127+
ngTableEventsChannel.publishAfterDataSorted(params,orderedData);
129128

130129
return options.applyPaging ? applyPaging(orderedData, params) : orderedData;
131130
}

src/core/ngTableEventsChannel.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,13 @@ export interface IPagesChangedListener {
5353
* Signature of the event hander that is registered to receive the *afterDataFiltered* event
5454
*/
5555
export interface IAfterDataFilteredListener<T> {
56-
(publisher: IDefaultGetData<T>, params: NgTableParams<T>, newData: DataResult<T>[] ): any
56+
(publisher: NgTableParams<T>, newData: DataResult<T>[] ): any
5757
}
5858
/**
5959
* Signature of the event hander that is registered to receive the *afterDataSorted* event
6060
*/
6161
export interface IAfterDataSortedListener<T> {
62-
(publisher: IDefaultGetData<T>, params: NgTableParams<T>, newData: DataResult<T>[] ): any
62+
(publisher: NgTableParams<T>, newData: DataResult<T>[] ): any
6363
}
6464

6565
/**
@@ -207,8 +207,8 @@ export interface NgTableEventsChannel {
207207
publishAfterReloadData<T>(publisher: NgTableParams<T>, newData: T[], oldData: T[]): void;
208208
publishDatasetChanged<T>(publisher: NgTableParams<T>, newDataset: T[], oldDataset: T[]): void;
209209
publishPagesChanged<T>(publisher: NgTableParams<T>, newPages: IPageButton[], oldPages: IPageButton[]): void;
210-
publishAfterDataFiltered<T>(publisher: IDefaultGetData<T>, params: NgTableParams<T>, newData: T[]): void;
211-
publishAfterDataSorted<T>(publisher: IDefaultGetData<T>, params: NgTableParams<T>, newData: T[]): void;
210+
publishAfterDataFiltered<T>(publisher: NgTableParams<T>, newData: T[]): void;
211+
publishAfterDataSorted<T>(params: NgTableParams<T>, newData: T[]): void;
212212
}
213213

214214
export class NgTableEventsChannel {

test/tableParamsSpec.spec.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1651,7 +1651,7 @@ describe('NgTableParams', () => {
16511651

16521652
describe('general pub/sub mechanics', () => {
16531653

1654-
const supportedEvents = ['DatasetChanged', 'AfterReloadData', 'PagesChanged', 'AfterCreated'];
1654+
const supportedEvents = ['DatasetChanged', 'AfterReloadData', 'PagesChanged', 'AfterCreated', 'AfterDataFiltered', 'AfterDataSorted'];
16551655

16561656
it('should be safe to publish event when no subscribers', () => {
16571657

@@ -2160,7 +2160,7 @@ describe('NgTableParams', () => {
21602160
describe('afterDataFiltered', () => {
21612161
it('should fire when a reload completes - no filter', () => {
21622162
// given
2163-
ngTableEventsChannel.onAfterDataFiltered((getData, params, newVal) => {
2163+
ngTableEventsChannel.onAfterDataFiltered((params, newVal) => {
21642164
actualPublisher = params;
21652165
actualEventArgs = [newVal];
21662166
});
@@ -2178,7 +2178,7 @@ describe('NgTableParams', () => {
21782178

21792179
it('should fire when a reload completes and the data is filtered', () => {
21802180
// given
2181-
ngTableEventsChannel.onAfterDataFiltered((getData, params, newVal) => {
2181+
ngTableEventsChannel.onAfterDataFiltered((params, newVal) => {
21822182
actualPublisher = params;
21832183
actualEventArgs = [newVal];
21842184
});
@@ -2201,7 +2201,7 @@ describe('NgTableParams', () => {
22012201
describe('afterDataSorted', () => {
22022202
it('should fire when a reload completes - no order', () => {
22032203
// given
2204-
ngTableEventsChannel.onAfterDataSorted((getData, params, newVal) => {
2204+
ngTableEventsChannel.onAfterDataSorted((params, newVal) => {
22052205
actualPublisher = params;
22062206
actualEventArgs = [newVal];
22072207
});
@@ -2219,7 +2219,7 @@ describe('NgTableParams', () => {
22192219

22202220
it('should fire when a reload completes and the data is filtered', () => {
22212221
// given
2222-
ngTableEventsChannel.onAfterDataSorted((getData, params, newVal) => {
2222+
ngTableEventsChannel.onAfterDataSorted((params, newVal) => {
22232223
actualPublisher = params;
22242224
actualEventArgs = [newVal];
22252225
});

0 commit comments

Comments
 (0)