Skip to content

Commit 13c846a

Browse files
authored
Merge branch 'master' into iganchev/localization-time-date-pickers
2 parents 6b2fad0 + 832bf17 commit 13c846a

File tree

7 files changed

+60
-53
lines changed

7 files changed

+60
-53
lines changed

projects/igniteui-angular/src/lib/core/i18n/grid-resources.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,8 @@ export const GridResourceStringsEN: IGridResourceStrings = {
232232
igx_grid_advanced_filter_column_placeholder: 'Select column',
233233
igx_grid_advanced_filter_value_placeholder: 'Value',
234234
igx_grid_pinned_row_indicator: 'Pinned',
235-
igx_grid_hiding_check_all_label: 'Hide All',
236-
igx_grid_hiding_uncheck_all_label: 'Show All',
235+
igx_grid_hiding_check_all_label: 'Show All',
236+
igx_grid_hiding_uncheck_all_label: 'Hide All',
237237
igx_grid_pinning_check_all_label: 'Pin All',
238238
igx_grid_pinning_uncheck_all_label: 'Unpin All',
239239
igx_grid_toolbar_actions_filter_prompt: 'Filter columns list ...',

projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -220,11 +220,11 @@ describe('IgxDatePicker', () => {
220220
onClosed: new EventEmitter<OverlayEventArgs>(),
221221
onClosing: new EventEmitter<OverlayClosingEventArgs>(),
222222
show(..._args) {
223-
this.onOpening.emit(mockOverlayEventArgs);
223+
this.onOpening.emit(Object.assign({}, mockOverlayEventArgs, { cancel: false }));
224224
this.onOpened.emit(mockOverlayEventArgs);
225225
},
226226
hide(..._args) {
227-
this.onClosing.emit(mockOverlayEventArgs);
227+
this.onClosing.emit(Object.assign({}, mockOverlayEventArgs, { cancel: false }));
228228
this.onClosed.emit(mockOverlayEventArgs);
229229
},
230230
detach: (..._args) => { },
@@ -297,7 +297,7 @@ describe('IgxDatePicker', () => {
297297
//#endregion
298298

299299
//#region Events
300-
xit('should properly emit open/close events', () => {
300+
it('should properly emit open/close events', () => {
301301
spyOn(datePicker.opened, 'emit');
302302
spyOn(datePicker.closed, 'emit');
303303

@@ -310,17 +310,17 @@ describe('IgxDatePicker', () => {
310310
expect(datePicker.closed.emit).toHaveBeenCalledWith({ owner: datePicker });
311311
});
312312

313-
xit('should properly emit opening/closing events', () => {
313+
it('should properly emit opening/closing events', () => {
314314
spyOn(datePicker.opening, 'emit');
315315
spyOn(datePicker.closing, 'emit');
316316

317317
datePicker.ngAfterViewInit();
318318

319319
datePicker.open();
320-
expect(datePicker.opening.emit).toHaveBeenCalledWith({ owner: datePicker, cancel: false });
320+
expect(datePicker.opening.emit).toHaveBeenCalledWith({ owner: datePicker, event: undefined, cancel: false });
321321

322322
datePicker.close();
323-
expect(datePicker.closing.emit).toHaveBeenCalledWith({ owner: datePicker, cancel: false });
323+
expect(datePicker.closing.emit).toHaveBeenCalledWith({ owner: datePicker, event: undefined, cancel: false });
324324
});
325325

326326
it('should emit valueChange when the value changes', () => {

projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import { fadeIn, fadeOut } from '../animations/fade';
3434
import { PickerBaseDirective } from '../date-common/picker-base.directive';
3535
import { DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
3636
import { DatePart, DatePartDeltas, IgxDateTimeEditorDirective } from '../directives/date-time-editor/public_api';
37-
import { DeprecateProperty } from '../core/deprecateDecorators';
3837
import { DateTimeUtil } from '../date-common/util/date-time.util';
3938
import { PickerHeaderOrientation as PickerHeaderOrientation } from '../date-common/types';
4039
import { IDatePickerValidationFailedEventArgs } from './date-picker.common';
@@ -862,9 +861,10 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr
862861
}
863862

864863
private subscribeToOverlayEvents() {
865-
this._overlayService.onOpening.pipe(...this._overlaySubFilter).subscribe((eventArgs) => {
866-
const args = eventArgs as IBaseCancelableBrowserEventArgs;
864+
this._overlayService.onOpening.pipe(...this._overlaySubFilter).subscribe((eventArgs: OverlayCancelableEventArgs) => {
865+
const args: IBaseCancelableBrowserEventArgs = { owner: this, event: eventArgs.event, cancel: eventArgs.cancel };
867866
this.opening.emit(args);
867+
eventArgs.cancel = args.cancel;
868868
if (args.cancel) {
869869
this._overlayService.detach(this._overlayId);
870870
return;
@@ -874,8 +874,9 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr
874874
this._collapsed = false;
875875
});
876876

877-
this._overlayService.onOpened.pipe(...this._overlaySubFilter).subscribe((eventArgs) => {
878-
this.opened.emit(eventArgs as IBaseEventArgs);
877+
this._overlayService.onOpened.pipe(...this._overlaySubFilter).subscribe((_eventArgs) => {
878+
const args: IBaseEventArgs = { owner: this };
879+
this.opened.emit(args);
879880
if (this._calendar?.daysView?.selectedDates) {
880881
this._calendar?.daysView?.focusActiveDate();
881882
return;
@@ -887,9 +888,10 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr
887888
}
888889
});
889890

890-
this._overlayService.onClosing.pipe(...this._overlaySubFilter).subscribe((eventArgs) => {
891-
const args = eventArgs as IBaseCancelableBrowserEventArgs;
891+
this._overlayService.onClosing.pipe(...this._overlaySubFilter).subscribe((eventArgs: OverlayCancelableEventArgs) => {
892+
const args: IBaseCancelableBrowserEventArgs = { owner: this, event: eventArgs.event, cancel: eventArgs.cancel };
892893
this.closing.emit(args);
894+
eventArgs.cancel = args.cancel;
893895
if (args.cancel) {
894896
return;
895897
}
@@ -899,8 +901,9 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr
899901
}
900902
});
901903

902-
this._overlayService.onClosed.pipe(...this._overlaySubFilter).subscribe((event) => {
903-
this.closed.emit(event as IBaseEventArgs);
904+
this._overlayService.onClosed.pipe(...this._overlaySubFilter).subscribe((_event) => {
905+
const args: IBaseEventArgs = { owner: this };
906+
this.closed.emit(args);
904907
this._overlayService.detach(this._overlayId);
905908
this._collapsed = true;
906909
this._overlayId = null;

projects/igniteui-angular/src/lib/grids/column-actions/column-hiding.directive.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,28 +19,28 @@ export class IgxColumnHidingDirective extends IgxColumnActionsBaseDirective {
1919
* @hidden @internal
2020
*/
2121
public get checkAllLabel(): string {
22-
return this.columnActions.grid?.resourceStrings.igx_grid_hiding_check_all_label ?? 'Hide All';
22+
return this.columnActions.grid?.resourceStrings.igx_grid_hiding_check_all_label ?? 'Show All';
2323
}
2424

2525
/**
2626
* @hidden @internal
2727
*/
2828
public get uncheckAllLabel(): string {
29-
return this.columnActions.grid?.resourceStrings.igx_grid_hiding_uncheck_all_label ?? 'Show All';
29+
return this.columnActions.grid?.resourceStrings.igx_grid_hiding_uncheck_all_label ?? 'Hide All';
3030
}
3131
/**
3232
* @hidden @internal
3333
*/
3434
public checkAll() {
35-
this.columnActions.filteredColumns.forEach(c => c.toggleVisibility(true));
35+
this.columnActions.filteredColumns.forEach(c => c.toggleVisibility(false));
3636

3737
}
3838

3939
/**
4040
* @hidden @internal
4141
*/
4242
public uncheckAll() {
43-
this.columnActions.filteredColumns.forEach(c => c.toggleVisibility(false));
43+
this.columnActions.filteredColumns.forEach(c => c.toggleVisibility(true));
4444
}
4545

4646
/**
@@ -63,10 +63,10 @@ export class IgxColumnHidingDirective extends IgxColumnActionsBaseDirective {
6363
}
6464

6565
public get allChecked() {
66-
return this.columnActions.filteredColumns.every(col => this.columnChecked(col));
66+
return this.columnActions.filteredColumns.every(col => !this.columnChecked(col));
6767
}
6868

6969
public get allUnchecked() {
70-
return this.columnActions.filteredColumns.every(col => !this.columnChecked(col));
70+
return this.columnActions.filteredColumns.every(col => this.columnChecked(col));
7171
}
7272
}

projects/igniteui-angular/src/lib/grids/common/row.interface.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { IGroupByRecord } from '../../data-operations/groupby-record.interface';
22
import { IgxSummaryResult } from '../summaries/grid-summary';
33
import { ITreeGridRecord } from '../tree-grid/tree-grid.interfaces';
4+
import { GridType } from './grid.interface';
5+
46
export interface RowType {
57
index: number;
68
viewIndex?: number;
@@ -23,6 +25,7 @@ export interface RowType {
2325
children?: ITreeGridRecord[];
2426
parent?: ITreeGridRecord;
2527
hasChildren?: boolean;
28+
grid: GridType;
2629
update?: (value: any) => void;
2730
delete?: () => any;
2831
pin?: () => void;

projects/igniteui-angular/src/lib/grids/grid-public-row.ts

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
import { DeprecateProperty } from '../core/deprecateDecorators';
22
import { IGroupByRecord } from '../data-operations/groupby-record.interface';
33
import { IgxRow } from './common/crud.service';
4-
import { FlatGridType, GridType, HierarchicalGridType, TreeGridType } from './common/grid.interface';
54
import { RowType } from './common/row.interface';
6-
import { IgxGridBaseDirective } from './grid-base.directive';
75
import { IgxGridAPIService } from './grid/grid-api.service';
6+
import { IgxGridComponent } from './grid/grid.component';
7+
import { IgxHierarchicalGridComponent } from './hierarchical-grid/hierarchical-grid.component';
88
import { IgxSummaryResult } from './summaries/grid-summary';
9+
import { IgxTreeGridComponent } from './tree-grid/tree-grid.component';
910
import { ITreeGridRecord } from './tree-grid/tree-grid.interfaces';
1011

1112
abstract class BaseRow implements RowType {
1213
public index: number;
13-
protected grid: IgxGridBaseDirective & FlatGridType |
14-
IgxGridBaseDirective & TreeGridType |
15-
IgxGridBaseDirective & HierarchicalGridType;
14+
/**
15+
* The grid that contains the row.
16+
*/
17+
public grid: IgxGridComponent | IgxTreeGridComponent | IgxHierarchicalGridComponent;
1618
protected _data?: any;
1719

1820
/**
@@ -253,7 +255,7 @@ export class IgxGridRow extends BaseRow implements RowType {
253255
/**
254256
* @hidden
255257
*/
256-
constructor(protected grid: IgxGridBaseDirective & FlatGridType,
258+
constructor(public grid: IgxGridComponent,
257259
public index: number, protected _data?: any) {
258260
super();
259261
}
@@ -273,7 +275,7 @@ export class IgxTreeGridRow extends BaseRow implements RowType {
273275
/**
274276
* @hidden
275277
*/
276-
constructor(protected grid: IgxGridBaseDirective & TreeGridType,
278+
constructor(public grid: IgxTreeGridComponent,
277279
public index: number, protected _data?: any, private _treeRow?: ITreeGridRecord) {
278280
super();
279281
}
@@ -390,7 +392,7 @@ export class IgxHierarchicalGridRow extends BaseRow implements RowType {
390392
/**
391393
* @hidden
392394
*/
393-
constructor(protected grid: IgxGridBaseDirective & HierarchicalGridType,
395+
constructor(public grid: IgxHierarchicalGridComponent,
394396
public index: number, protected _data?: any) {
395397
super();
396398
}
@@ -409,6 +411,11 @@ export class IgxGroupByRow implements RowType {
409411
*/
410412
public index: number;
411413

414+
/**
415+
* The grid that contains the row.
416+
*/
417+
public grid: IgxGridComponent;
418+
412419
/**
413420
* Returns always true, because this is in instance of an IgxGroupByRow.
414421
*/
@@ -424,7 +431,8 @@ export class IgxGroupByRow implements RowType {
424431
/**
425432
* @hidden
426433
*/
427-
constructor(private _grid: IgxGridBaseDirective & FlatGridType, index: number, private _groupRow?: IGroupByRecord) {
434+
constructor(grid: IgxGridComponent, index: number, private _groupRow?: IGroupByRecord) {
435+
this.grid = grid;
428436
this.index = index;
429437
this.isGroupByRow = true;
430438
}
@@ -457,13 +465,6 @@ export class IgxGroupByRow implements RowType {
457465
this.grid.toggleGroup(this.groupRow);
458466
}
459467

460-
/**
461-
* Get a reference to the grid that contains the GroupBy row.
462-
*/
463-
protected get grid(): IgxGridBaseDirective & FlatGridType {
464-
return this._grid;
465-
}
466-
467468
private get gridAPI(): IgxGridAPIService {
468469
return this.grid.gridAPI as IgxGridAPIService;
469470
}
@@ -475,6 +476,11 @@ export class IgxSummaryRow implements RowType {
475476
*/
476477
public index: number;
477478

479+
/**
480+
* The grid that contains the row.
481+
*/
482+
public grid: IgxGridComponent | IgxTreeGridComponent | IgxHierarchicalGridComponent;
483+
478484
/**
479485
* Returns always true, because this is in instance of an IgxGroupByRow.
480486
*/
@@ -490,15 +496,10 @@ export class IgxSummaryRow implements RowType {
490496
/**
491497
* @hidden
492498
*/
493-
constructor(protected _grid: IgxGridBaseDirective & GridType, index: number, private _summaries?: Map<string, IgxSummaryResult[]>) {
499+
constructor(grid: IgxGridComponent | IgxTreeGridComponent | IgxHierarchicalGridComponent,
500+
index: number, private _summaries?: Map<string, IgxSummaryResult[]>) {
501+
this.grid = grid;
494502
this.index = index;
495503
this.isSummaryRow = true;
496504
}
497-
498-
/**
499-
* Get a reference to the grid that contains the selected row.
500-
*/
501-
protected get grid(): IgxGridBaseDirective & GridType {
502-
return this._grid;
503-
}
504505
}

projects/igniteui-angular/src/lib/grids/grid/column-hiding.spec.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -579,8 +579,8 @@ describe('Column Hiding UI #grid', () => {
579579

580580
const showAll = GridFunctions.getColumnChooserButton(columnChooserElement, 'Show All');
581581
const hideAll = GridFunctions.getColumnChooserButton(columnChooserElement, 'Hide All').nativeElement;
582-
ControlsFunction.verifyButtonIsDisabled(showAll.nativeElement, false);
583-
ControlsFunction.verifyButtonIsDisabled(hideAll);
582+
ControlsFunction.verifyButtonIsDisabled(showAll.nativeElement);
583+
ControlsFunction.verifyButtonIsDisabled(hideAll, false);
584584

585585
showAll.triggerEventHandler('click', new Event('click'));
586586
fix.detectChanges();
@@ -600,11 +600,11 @@ describe('Column Hiding UI #grid', () => {
600600
fix.detectChanges();
601601
tick();
602602

603-
ControlsFunction.verifyButtonIsDisabled(showAll.nativeElement, false);
603+
ControlsFunction.verifyButtonIsDisabled(showAll.nativeElement);
604604
ControlsFunction.verifyButtonIsDisabled(hideAll, false);
605605

606606
checkbox = GridFunctions.getColumnChooserItemElement(columnChooserElement, 'ProductName');
607-
expect(GridFunctions.getColumnChooserItemInput(checkbox).checked).toBe(false);
607+
expect(GridFunctions.getColumnChooserItemInput(checkbox).checked).toBe(true);
608608

609609
showAll.triggerEventHandler('click', new Event('click'));
610610
fix.detectChanges();
@@ -616,11 +616,11 @@ describe('Column Hiding UI #grid', () => {
616616
expect(columnChooser.filterCriteria).toBe('', 'Filter criteria is not empty string!');
617617

618618
checkbox = GridFunctions.getColumnChooserItemElement(columnChooserElement, 'ID');
619-
expect(GridFunctions.getColumnChooserItemInput(checkbox).checked).toBe(false);
619+
expect(GridFunctions.getColumnChooserItemInput(checkbox).checked).toBe(true);
620620
checkbox = GridFunctions.getColumnChooserItemElement(columnChooserElement, 'ProductName');
621621
expect(GridFunctions.getColumnChooserItemInput(checkbox).checked).toBe(true);
622622

623-
ControlsFunction.verifyButtonIsDisabled(showAll.nativeElement, false);
623+
ControlsFunction.verifyButtonIsDisabled(showAll.nativeElement);
624624
ControlsFunction.verifyButtonIsDisabled(hideAll, false);
625625
}));
626626

0 commit comments

Comments
 (0)