Skip to content

Commit d2ce32f

Browse files
committed
feat(pickers): add custom styling ability #4647
1 parent d7803e9 commit d2ce32f

9 files changed

+33
-8
lines changed

Diff for: projects/igniteui-angular/src/lib/date-picker/calendar-container.component.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</ng-template>
99
<div>
1010
<igx-calendar #calendar></igx-calendar>
11-
<div class="igx-date-picker__buttons">
11+
<div [class]="datePickerActions && datePickerActions.cssClasses ? datePickerActions.cssClasses : 'igx-date-picker__buttons'">
1212
<ng-container *ngTemplateOutlet="datePickerActions ? datePickerActions.template : defaultDatePickerActions"></ng-container>
1313
</div>
1414
</div>

Diff for: projects/igniteui-angular/src/lib/date-picker/date-picker.directives.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Directive, TemplateRef } from '@angular/core';
1+
import { Directive, TemplateRef, Input } from '@angular/core';
22

33
@Directive({
44
selector: '[igxDatePickerTemplate]'
@@ -21,4 +21,7 @@ export class IgxDatePickerTemplateDirective {
2121
})
2222
export class IgxDatePickerActionsDirective {
2323
constructor(public template: TemplateRef<any>) { }
24+
25+
@Input()
26+
public cssClasses = '';
2427
}

Diff for: projects/igniteui-angular/src/lib/time-picker/time-picker.directives.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,11 @@ export class IgxTimePickerTemplateDirective {
352352
selector: 'igx-time-picker-actions,[igxTimePickerActions]'
353353
})
354354
export class IgxTimePickerActionsDirective {
355-
@HostBinding('class.igx-time-picker__buttons')
356-
public defaultClass = true;
355+
@HostBinding('class')
356+
get defaultClass(): string {
357+
return this.cssClasses ? this.cssClasses : 'igx-time-picker__buttons';
358+
};
359+
360+
@Input()
361+
public cssClasses = '';
357362
}

Diff for: src/app/date-picker/date-picker.sample.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ <h4 class="sample-title">DropDown Date Picker</h4>
5555
</igx-suffix>
5656
</igx-input-group>
5757
</ng-template>
58-
<ng-template igxDatePickerActions>
58+
<ng-template igxDatePickerActions [cssClasses]="actionBtnCss">
5959
<button igxButton="flat" (click)="selectToday(retemplated)">Today</button>
6060
</ng-template>
6161
</igx-date-picker>

Diff for: src/app/date-picker/date-picker.sample.css renamed to src/app/date-picker/date-picker.sample.scss

+8
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,11 @@
66
margin: 16px;
77
width: 200px;
88
}
9+
10+
:host ::ng-deep {
11+
.action-buttons {
12+
display: flex;
13+
flex-flow: column;
14+
margin: 10px;
15+
}
16+
}

Diff for: src/app/date-picker/date-picker.sample.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ import { DatePipe, formatDate } from '@angular/common';
88

99
@Component({
1010
selector: 'app-date-picker-sample',
11-
styleUrls: ['date-picker.sample.css'],
11+
styleUrls: ['date-picker.sample.scss'],
1212
templateUrl: 'date-picker.sample.html'
1313
})
1414

1515
export class DatePickerSampleComponent {
1616
date = new Date('10/3/2018');
17+
actionBtnCss = "action-buttons";
1718

1819
public formatOptions = {
1920
day: 'numeric',

Diff for: src/app/time-picker/time-picker.sample.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ <h4 class="sample-title">Templated Time Picker</h4>
101101
</igx-suffix>
102102
</igx-input-group>
103103
</ng-template>
104-
<igx-time-picker-actions>
104+
<igx-time-picker-actions [cssClasses]="actionBtnCss">
105105
<button igxButton="flat" (click)="selectToday(picker)">Today</button>
106106
</igx-time-picker-actions>
107107
</igx-time-picker>

Diff for: src/app/time-picker/time-picker.sample.css renamed to src/app/time-picker/time-picker.sample.scss

+6
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,10 @@
55
align-content: flex-start;
66
margin: 16px;
77
width: 200px;
8+
}
9+
10+
.action-buttons {
11+
display: flex;
12+
flex-flow: column;
13+
margin: 10px;
814
}

Diff for: src/app/time-picker/time-picker.sample.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ import { IgxTimePickerComponent, InteractionMode, IgxInputDirective, AutoPositio
33

44
@Component({
55
selector: 'app-time-picker-sample',
6-
styleUrls: ['time-picker.sample.css'],
6+
styleUrls: ['time-picker.sample.scss'],
77
templateUrl: 'time-picker.sample.html'
88
})
99
export class TimePickerSampleComponent implements AfterViewInit {
1010
max = '19:00';
1111
min = '09:00';
1212

13+
actionBtnCss = 'action-buttons';
14+
1315
itemsDelta = { hours: 1, minutes: 5 };
1416
format = 'hh:mm tt';
1517
isSpinLoop = true;

0 commit comments

Comments
 (0)