Skip to content

Commit ee8d0a9

Browse files
author
Maged Hennawy
committed
Add missing attributes to timepicker
1 parent 1097553 commit ee8d0a9

File tree

3 files changed

+40
-13
lines changed

3 files changed

+40
-13
lines changed

src/timepicker-select/timepicker-select.component.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,27 @@ export class TimePickerSelect extends Select {
2020
@HostBinding("class.bx--select") timeSelect = true;
2121
@HostBinding("class.bx--time-picker__select") timePickerSelect = true;
2222

23+
@Input() id = `timepicker-select-${TimePickerSelect.selectCount++}`;
24+
25+
/**
26+
* Set to true for a loading select.
27+
*/
28+
@Input() skeleton = false;
29+
/**
30+
* Set to `true` for an invalid select component.
31+
*/
32+
@Input() invalid = false;
33+
34+
/**
35+
* `light` or `dark` select theme
36+
*/
37+
@Input() theme: "light" | "dark" = "dark";
38+
2339
@HostBinding("class.bx--skeleton") timePickerSelectSkeleton = this.skeleton;
24-
@HostBinding("class.bx--select--light") timePickerSelectLight = (true ? this.theme === "light" : false);
2540

26-
@Input() id = `timepicker-select-${TimePickerSelect.selectCount++}`;
41+
@HostBinding("class.bx--select--light") get timePickerSelectLight() {
42+
return (true ? this.theme === "light" : false);
43+
}
2744

2845
@Output() valueChange: EventEmitter<string> = new EventEmitter();
2946

src/timepicker/timepicker.component.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,13 @@ import {
99
@Component({
1010
selector: "ibm-timepicker",
1111
template: `
12-
<div
13-
[ngClass]="{
14-
'bx--select--light': theme === 'light',
15-
'bx--skeleton': skeleton
16-
}"
17-
class="bx--time-picker__input">
12+
<div class="bx--time-picker__input">
1813
<label *ngIf="!skeleton" [attr.for]="id" class="bx--label">{{label}}</label>
1914
<input
15+
[ngClass]="{
16+
'bx--text-input--light': theme === 'light',
17+
'bx--skeleton': skeleton
18+
}"
2019
[value]="value"
2120
[placeholder]="placeholder"
2221
[pattern]="pattern"
@@ -45,6 +44,16 @@ export class TimePicker {
4544
@Input() disabled = false;
4645
@Input() value: string;
4746

47+
/**
48+
* Set to true for a loading select.
49+
*/
50+
@Input() skeleton = false;
51+
52+
/**
53+
* `light` or `dark` select theme
54+
*/
55+
@Input() theme: "light" | "dark" = "dark";
56+
4857
@Output() valueChange: EventEmitter<string> = new EventEmitter();
4958

5059
onChange(event) {

src/timepicker/timepicker.stories.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { action } from "@storybook/addon-actions";
22
import { TimePickerSelectModule } from "../timepicker-select/timepicker-select.module";
33
import { TimePickerModule } from "./timepicker.module";
44
import { storiesOf, moduleMetadata } from "@storybook/angular";
5-
import { withKnobs, boolean, text } from "@storybook/addon-knobs/angular";
5+
import { withKnobs, boolean, text, select } from "@storybook/addon-knobs/angular";
66
import { ExperimentalModule } from "..";
77

88
storiesOf("Time Picker", module)
@@ -18,12 +18,12 @@ storiesOf("Time Picker", module)
1818
.addDecorator(withKnobs)
1919
.add("Simple", () => ({
2020
template: `
21-
<ibm-timepicker (valueChange)="timePickerChange($event)" [value]="value" [disabled]="disableTime" label="Select a time">
22-
<ibm-timepicker-select (valueChange)="timePickerSelectChange($event)" [disabled]="disabledSelect" display="inline">
21+
<ibm-timepicker [theme]="theme" (valueChange)="timePickerChange($event)" [value]="value" [disabled]="disableTime" label="Select a time">
22+
<ibm-timepicker-select [theme]="theme" (valueChange)="timePickerSelectChange($event)" [disabled]="disabledSelect" display="inline">
2323
<option selected value="AM">AM</option>
2424
<option value="PM">PM</option>
2525
</ibm-timepicker-select>
26-
<ibm-timepicker-select (valueChange)="timePickerSelectChange($event)" [disabled]="disabledSelect" display="inline">
26+
<ibm-timepicker-select [theme]="theme" (valueChange)="timePickerSelectChange($event)" [disabled]="disabledSelect" display="inline">
2727
<option selected value="Time Zone 1">Time Zone 1</option>
2828
<option value="Time Zone 2">Time Zone 2</option>
2929
</ibm-timepicker-select>
@@ -35,6 +35,7 @@ storiesOf("Time Picker", module)
3535
timePickerSelectChange: action("Time picker select change fired"),
3636
value: text("Time in 12hr format", "12:12"),
3737
disableTime: boolean("disabled time", false),
38-
disabledSelect: boolean("disabled selects", false)
38+
disabledSelect: boolean("disabled selects", false),
39+
theme: select("Theme", ["dark", "light"], "dark")
3940
}
4041
}));

0 commit comments

Comments
 (0)