Skip to content

Commit a19c841

Browse files
Adrian Faciuvalorkin
authored andcommitted
feat(timepicker): disabling meridian and hiding spinners if input is disabled (#768)
fixes #759
1 parent 1356ff7 commit a19c841

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

components/timepicker/timepicker.component.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ function addMinutes(date:any, minutes:number):Date {
5757
template: `
5858
<table>
5959
<tbody>
60-
<tr class="text-center" [ngClass]="{hidden: !showSpinners}">
60+
<tr class="text-center" [ngClass]="{hidden: !showSpinners || readonlyInput}">
6161
<td><a (click)="incrementHours()" [ngClass]="{disabled: noIncrementHours()}" class="btn btn-link"><span class="glyphicon glyphicon-chevron-up"></span></a></td>
6262
<td>&nbsp;</td>
6363
<td><a (click)="incrementMinutes()" [ngClass]="{disabled: noIncrementMinutes()}" class="btn btn-link"><span class="glyphicon glyphicon-chevron-up"></span></a></td>
@@ -71,9 +71,9 @@ function addMinutes(date:any, minutes:number):Date {
7171
<td class="form-group" [ngClass]="{'has-error': invalidMinutes}">
7272
<input style="width:50px;" type="text" [(ngModel)]="minutes" (change)="updateMinutes()" class="form-control text-center" [readonly]="readonlyInput" (blur)="minutesOnBlur($event)" maxlength="2">
7373
</td>
74-
<td [ngClass]="{hidden: !showMeridian}" *ngIf="showMeridian"><button type="button" [ngClass]="{disabled: noToggleMeridian()}" class="btn btn-default text-center" (click)="toggleMeridian()">{{meridian}}</button></td>
74+
<td [ngClass]="{hidden: !showMeridian}" *ngIf="showMeridian"><button type="button" [ngClass]="{disabled: noToggleMeridian() || readonlyInput}" class="btn btn-default text-center" (click)="toggleMeridian()">{{meridian}}</button></td>
7575
</tr>
76-
<tr class="text-center" [ngClass]="{hidden: !showSpinners}">
76+
<tr class="text-center" [ngClass]="{hidden: !showSpinners || readonlyInput}">
7777
<td><a (click)="decrementHours()" [ngClass]="{disabled: noDecrementHours()}" class="btn btn-link"><span class="glyphicon glyphicon-chevron-down"></span></a></td>
7878
<td>&nbsp;</td>
7979
<td><a (click)="decrementMinutes()" [ngClass]="{disabled: noDecrementMinutes()}" class="btn btn-link"><span class="glyphicon glyphicon-chevron-down"></span></a></td>
@@ -389,6 +389,10 @@ export class TimepickerComponent implements ControlValueAccessor, OnInit {
389389
}
390390

391391
private noToggleMeridian():boolean {
392+
if (this.readonlyInput) {
393+
return true;
394+
}
395+
392396
if (this.selected.getHours() < 13) {
393397
return addMinutes(this.selected, 12 * 60) > this.max;
394398
} else {

demo/components/timepicker/timepicker-demo.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
<timepicker [(ngModel)]="mytime" (change)="changed()" [hourStep]="hstep" [minuteStep]="mstep" [showMeridian]="ismeridian"></timepicker>
1+
<timepicker [(ngModel)]="mytime" (change)="changed()" [hourStep]="hstep"
2+
[minuteStep]="mstep" [showMeridian]="ismeridian"
3+
[readonlyInput]="!isEnabled"></timepicker>
24

35
<pre class="alert alert-info">Time is: {{mytime}}</pre>
46

@@ -20,5 +22,6 @@
2022
<hr>
2123

2224
<button type="button" class="btn btn-info" (click)="toggleMode()">12H / 24H</button>
25+
<button type="button" class="btn btn-info" (click)="isEnabled=!isEnabled">Enable / Disable input</button>
2326
<button type="button" class="btn btn-primary" (click)="update()">Set to 14:00</button>
2427
<button type="button" class="btn btn-danger" (click)="clear()">Clear</button>

demo/components/timepicker/timepicker-demo.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export class TimepickerDemoComponent {
1515
public hstep:number = 1;
1616
public mstep:number = 15;
1717
public ismeridian:boolean = true;
18+
public isEnabled:boolean = true;
1819

1920
public mytime:Date = new Date();
2021
public options:any = {

0 commit comments

Comments
 (0)