Skip to content

Commit f737094

Browse files
authored
Merge branch 'master' into simeonoff/fix-highlight
2 parents 805d2ce + 60d4a47 commit f737094

File tree

13 files changed

+113
-38
lines changed

13 files changed

+113
-38
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export interface IDatePickerResourceStrings {
2+
igx_date_picker_change_date?: string;
3+
igx_date_picker_choose_date?: string;
4+
}
5+
6+
export const DatePickerResourceStringsEN: IDatePickerResourceStrings = {
7+
igx_date_picker_change_date: 'Change Date',
8+
igx_date_picker_choose_date: 'Choose Date'
9+
};
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
export interface IDateRangePickerResourceStrings {
22
igx_date_range_picker_date_separator?: string;
3+
igx_date_range_picker_done_button?: string;
34
}
45

56
export const DateRangePickerResourceStringsEN: IDateRangePickerResourceStrings = {
6-
igx_date_range_picker_date_separator: 'to'
7+
igx_date_range_picker_date_separator: 'to',
8+
igx_date_range_picker_done_button: 'Done'
79
};

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/core/i18n/resources.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { DatePickerResourceStringsEN, IDatePickerResourceStrings } from './date-picker-resources';
12
import { DateRangePickerResourceStringsEN, IDateRangePickerResourceStrings } from './date-range-picker-resources';
23
import { IGridResourceStrings, GridResourceStringsEN } from './grid-resources';
34
import { ITimePickerResourceStrings, TimePickerResourceStringsEN } from './time-picker-resources';
@@ -11,8 +12,8 @@ import { IInputResourceStrings, InputResourceStringsEN } from './input-resources
1112
import { ITreeResourceStrings, TreeResourceStringsEN } from './tree-resources';
1213

1314
export interface IResourceStrings extends IGridResourceStrings, ITimePickerResourceStrings, ICalendarResourceStrings,
14-
ICarouselResourceStrings, IChipResourceStrings, IInputResourceStrings, IDateRangePickerResourceStrings, IListResourceStrings,
15-
IPaginatorResourceStrings, ITreeResourceStrings { }
15+
ICarouselResourceStrings, IChipResourceStrings, IInputResourceStrings, IDatePickerResourceStrings, IDateRangePickerResourceStrings,
16+
IListResourceStrings, IPaginatorResourceStrings, ITreeResourceStrings { }
1617

1718
/**
1819
* @hidden
@@ -23,6 +24,7 @@ export const CurrentResourceStrings = {
2324
TimePickerResStrings: cloneValue(TimePickerResourceStringsEN),
2425
CalendarResStrings: cloneValue(CalendarResourceStringsEN),
2526
ChipResStrings: cloneValue(ChipResourceStringsEN),
27+
DatePickerResourceStrings: cloneValue(DatePickerResourceStringsEN),
2628
DateRangePickerResStrings: cloneValue(DateRangePickerResourceStringsEN),
2729
CarouselResStrings: cloneValue(CarouselResourceStringsEN),
2830
ListResStrings: cloneValue(ListResourceStringsEN),
@@ -56,6 +58,7 @@ export const getCurrentResourceStrings = (): IResourceStrings => ({
5658
...CurrentResourceStrings.CalendarResStrings,
5759
...CurrentResourceStrings.CarouselResStrings,
5860
...CurrentResourceStrings.ChipResStrings,
61+
...CurrentResourceStrings.DatePickerResourceStrings,
5962
...CurrentResourceStrings.DateRangePickerResStrings,
6063
...CurrentResourceStrings.GridResStrings,
6164
...CurrentResourceStrings.InputResStrings,
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
export interface ITimePickerResourceStrings {
22
igx_time_picker_ok?: string;
33
igx_time_picker_cancel?: string;
4+
igx_time_picker_change_time?: string;
5+
igx_time_picker_choose_time?: string;
46
}
57

68
export const TimePickerResourceStringsEN: ITimePickerResourceStrings = {
79
igx_time_picker_ok: 'OK',
8-
igx_time_picker_cancel: 'Cancel'
10+
igx_time_picker_cancel: 'Cancel',
11+
igx_time_picker_change_time: 'Change Time',
12+
igx_time_picker_choose_time: 'Choose Time'
913
};

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<igx-input-group [displayDensity]="this.displayDensity" [type]="this.type" [suppressInputAutofocus]="true">
22
<igx-prefix *ngIf="!this.toggleComponents.length" (click)="this.toggle()">
3-
<igx-icon [title]="this.value ? 'Change Date' : 'Choose Date'">today</igx-icon>
3+
<igx-icon [title]="this.value ? resourceStrings.igx_date_picker_change_date : resourceStrings.igx_date_picker_choose_date">today</igx-icon>
44
</igx-prefix>
55

66
<input class="igx-date-picker__input-date" [displayValuePipe]="this.formatter ? displayValue : null" igxInput

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: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,15 @@ import {
2525
OverlayCancelableEventArgs,
2626
OverlayEventArgs
2727
} from '../services/public_api';
28+
import { CurrentResourceStrings } from '../core/i18n/resources';
29+
import { IDatePickerResourceStrings } from '../core/i18n/date-picker-resources';
2830
import { DateRangeDescriptor, DateRangeType } from '../core/dates/dateRange';
2931
import { isEqual, IBaseCancelableBrowserEventArgs, IBaseEventArgs, PlatformUtil } from '../core/utils';
3032
import { IgxCalendarContainerComponent } from '../date-common/calendar-container/calendar-container.component';
3133
import { fadeIn, fadeOut } from '../animations/fade';
3234
import { PickerBaseDirective } from '../date-common/picker-base.directive';
3335
import { DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
3436
import { DatePart, DatePartDeltas, IgxDateTimeEditorDirective } from '../directives/date-time-editor/public_api';
35-
import { DeprecateProperty } from '../core/deprecateDecorators';
3637
import { DateTimeUtil } from '../date-common/util/date-time.util';
3738
import { PickerHeaderOrientation as PickerHeaderOrientation } from '../date-common/types';
3839
import { IDatePickerValidationFailedEventArgs } from './date-picker.common';
@@ -354,6 +355,22 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr
354355
return this._maxValue;
355356
}
356357

358+
/**
359+
* An accessor that sets the resource strings.
360+
* By default it uses EN resources.
361+
*/
362+
@Input()
363+
public set resourceStrings(value: IDatePickerResourceStrings) {
364+
this._resourceStrings = Object.assign({}, this._resourceStrings, value);
365+
}
366+
367+
/**
368+
* An accessor that returns the resource strings.
369+
*/
370+
public get resourceStrings(): IDatePickerResourceStrings {
371+
return this._resourceStrings;
372+
}
373+
357374
/** @hidden @internal */
358375
@Input()
359376
public readOnly = false;
@@ -435,6 +452,7 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr
435452
/** @hidden @internal */
436453
public displayValue: PipeTransform = { transform: (date: Date) => this.formatter(date) };
437454

455+
private _resourceStrings = CurrentResourceStrings.DatePickerResourceStrings;
438456
private _dateValue: Date;
439457
private _overlayId: string;
440458
private _value: Date | string;
@@ -843,9 +861,10 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr
843861
}
844862

845863
private subscribeToOverlayEvents() {
846-
this._overlayService.onOpening.pipe(...this._overlaySubFilter).subscribe((eventArgs) => {
847-
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 };
848866
this.opening.emit(args);
867+
eventArgs.cancel = args.cancel;
849868
if (args.cancel) {
850869
this._overlayService.detach(this._overlayId);
851870
return;
@@ -855,8 +874,9 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr
855874
this._collapsed = false;
856875
});
857876

858-
this._overlayService.onOpened.pipe(...this._overlaySubFilter).subscribe((eventArgs) => {
859-
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);
860880
if (this._calendar?.daysView?.selectedDates) {
861881
this._calendar?.daysView?.focusActiveDate();
862882
return;
@@ -868,9 +888,10 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr
868888
}
869889
});
870890

871-
this._overlayService.onClosing.pipe(...this._overlaySubFilter).subscribe((eventArgs) => {
872-
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 };
873893
this.closing.emit(args);
894+
eventArgs.cancel = args.cancel;
874895
if (args.cancel) {
875896
return;
876897
}
@@ -880,8 +901,9 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr
880901
}
881902
});
882903

883-
this._overlayService.onClosed.pipe(...this._overlaySubFilter).subscribe((event) => {
884-
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);
885907
this._overlayService.detach(this._overlayId);
886908
this._collapsed = true;
887909
this._overlayId = null;

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

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { CalendarSelection, IgxCalendarComponent, WEEKDAYS } from '../calendar/p
1616
import { DateRangeType } from '../core/dates';
1717
import { DisplayDensityToken, IDisplayDensityOptions } from '../core/density';
1818
import { CurrentResourceStrings } from '../core/i18n/resources';
19+
import { IDateRangePickerResourceStrings } from '../core/i18n/date-range-picker-resources';
1920
import { DateTimeUtil } from '../date-common/util/date-time.util';
2021
import { IBaseCancelableBrowserEventArgs, isDate, parseDate, PlatformUtil } from '../core/utils';
2122
import { IgxCalendarContainerComponent } from '../date-common/calendar-container/calendar-container.component';
@@ -152,6 +153,7 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective
152153
*
153154
* @remarks
154155
* Default value is `Done`.
156+
* An @Input property that renders Done button with custom text. By default `doneButtonText` is set to Done.
155157
* The button will only show up in `dialog` mode.
156158
*
157159
* @example
@@ -160,8 +162,16 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective
160162
* ```
161163
*/
162164
@Input()
163-
public doneButtonText = 'Done';
165+
public set doneButtonText(value: string) {
166+
this._doneButtonText = value;
167+
}
164168

169+
public get doneButtonText(): string {
170+
if (this._doneButtonText === null) {
171+
return this.resourceStrings.igx_date_range_picker_done_button;
172+
}
173+
return this._doneButtonText;
174+
}
165175
/**
166176
* Custom overlay settings that should be used to display the calendar.
167177
*
@@ -234,6 +244,22 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective
234244
return this._maxValue;
235245
}
236246

247+
/**
248+
* An accessor that sets the resource strings.
249+
* By default it uses EN resources.
250+
*/
251+
@Input()
252+
public set resourceStrings(value: IDateRangePickerResourceStrings) {
253+
this._resourceStrings = Object.assign({}, this._resourceStrings, value);
254+
}
255+
256+
/**
257+
* An accessor that returns the resource strings.
258+
*/
259+
public get resourceStrings(): IDateRangePickerResourceStrings {
260+
return this._resourceStrings;
261+
}
262+
237263
/**
238264
* Sets the `placeholder` for single-input `IgxDateRangePickerComponent`.
239265
*
@@ -303,7 +329,12 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective
303329
public dateSeparatorTemplate: TemplateRef<any>;
304330

305331
/** @hidden @internal */
306-
public dateSeparator = CurrentResourceStrings.DateRangePickerResStrings.igx_date_range_picker_date_separator;
332+
public get dateSeparator(): string {
333+
if (this._dateSeparator === null) {
334+
return this.resourceStrings.igx_date_range_picker_date_separator;
335+
}
336+
return this._dateSeparator;
337+
}
307338

308339
/** @hidden @internal */
309340
public get appliedFormat(): string {
@@ -386,6 +417,9 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective
386417
return false;
387418
}
388419

420+
private _resourceStrings = CurrentResourceStrings.DateRangePickerResStrings;
421+
private _doneButtonText = null;
422+
private _dateSeparator = null;
389423
private _value: DateRange | null;
390424
private _overlayId: string;
391425
private _ngControl: NgControl;

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
}

0 commit comments

Comments
 (0)