Skip to content

Commit c23fcaf

Browse files
authored
Merge branch 'master' into combobox-recursion
2 parents b5d68f4 + b44ab14 commit c23fcaf

File tree

5 files changed

+30
-47
lines changed

5 files changed

+30
-47
lines changed

src/tabs/tab-headers.component.spec.ts

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/tabs/tabs.component.spec.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Component } from "@angular/core";
22
import { TestBed } from "@angular/core/testing";
33
import { By } from "@angular/platform-browser";
44
import { I18nModule } from "../i18n/index";
5-
import { UtilsModule } from "carbon-components-angular/utils";
5+
import { UtilsModule } from "../utils";
66
import { Tabs } from "./tabs.component";
77
import { CommonModule } from "@angular/common";
88
import { Tab } from "./tab.component";
@@ -23,7 +23,7 @@ class TabsTest {
2323
onSelected() {}
2424
}
2525

26-
describe("Sample", () => {
26+
describe("Tabs", () => {
2727
let fixture, wrapper, element;
2828

2929
const arrowRight = new KeyboardEvent("keydown", {
@@ -47,9 +47,7 @@ describe("Sample", () => {
4747
I18nModule
4848
]
4949
});
50-
});
5150

52-
beforeEach(() => {
5351
fixture = TestBed.createComponent(TabsTest);
5452
wrapper = fixture.componentInstance;
5553
element = fixture.debugElement.query(By.css("ibm-tabs"));

src/tiles/selection-tile.component.ts

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,30 @@ import {
77
HostListener,
88
AfterViewInit
99
} from "@angular/core";
10-
import { NG_VALUE_ACCESSOR } from "@angular/forms";
1110
import { I18n } from "carbon-components-angular/i18n";
1211

1312
@Component({
1413
selector: "ibm-selection-tile",
1514
template: `
15+
<input
16+
#input
17+
[tabindex]="disabled ? null : 0"
18+
class="bx--tile-input"
19+
[id]="id"
20+
[disabled]="disabled"
21+
[type]="(multiple ? 'checkbox': 'radio')"
22+
[value]="value"
23+
[name]="name"
24+
(change)="onChange($event)"/>
1625
<label
1726
class="bx--tile bx--tile--selectable"
18-
tabindex="disabled ? null : 0"
1927
[for]="id"
2028
[ngClass]="{
2129
'bx--tile--is-selected' : selected,
2230
'bx--tile--light': theme === 'light',
2331
'bx--tile--disabled' : disabled
2432
}"
2533
[attr.aria-label]="i18n.get('TILES.TILE') | async">
26-
<input
27-
#input
28-
tabindex="-1"
29-
class="bx--tile-input"
30-
[id]="id"
31-
[disabled]="disabled"
32-
[type]="(multiple ? 'checkbox': 'radio')"
33-
[value]="value"
34-
[name]="name"
35-
(change)="onChange($event)"/>
3634
<div class="bx--tile__checkmark">
3735
<svg width="16" height="16" viewBox="0 0 16 16">
3836
<path d="M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16zm3.646-10.854L6.75 10.043 4.354 7.646l-.708.708 3.104 3.103 5.604-5.603-.708-.708z"

src/tiles/tile-group.component.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import {
77
HostBinding,
88
ContentChildren,
99
QueryList,
10-
OnDestroy
10+
OnDestroy,
11+
TemplateRef
1112
} from "@angular/core";
1213
import { SelectionTile } from "./selection-tile.component";
1314
import { NG_VALUE_ACCESSOR } from "@angular/forms";
@@ -17,7 +18,14 @@ import { takeUntil } from "rxjs/operators";
1718

1819
@Component({
1920
selector: "ibm-tile-group",
20-
template: `<ng-content select="ibm-selection-tile"></ng-content>`,
21+
template: `
22+
<fieldset>
23+
<legend *ngIf="legend" class="bx--label">
24+
<ng-template *ngIf="isTemplate(legend); else legendLabel;" [ngTemplateOutlet]="legend"></ng-template>
25+
<ng-template #legendLabel>{{legend}}</ng-template>
26+
</legend>
27+
<ng-content select="ibm-selection-tile"></ng-content>
28+
</fieldset>`,
2129
providers: [
2230
{
2331
provide: NG_VALUE_ACCESSOR,
@@ -37,6 +45,8 @@ export class TileGroup implements AfterContentInit, OnDestroy {
3745
*/
3846
@Input() multiple = false;
3947

48+
@Input() legend: string | TemplateRef<any>;
49+
4050
/**
4151
* Emits an event when the tile selection changes.
4252
*
@@ -124,4 +134,8 @@ export class TileGroup implements AfterContentInit, OnDestroy {
124134
registerOnTouched(fn: any) {
125135
this.onTouched = fn;
126136
}
137+
138+
public isTemplate(value) {
139+
return value instanceof TemplateRef;
140+
}
127141
}

src/tiles/tiles.stories.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ storiesOf("Components|Tiles", module)
136136
Edit on Carbon UI Builder
137137
</a>
138138
<br><br>
139-
<ibm-tile-group (selected)="selected($event)" [multiple]="false">
139+
<ibm-tile-group (selected)="selected($event)" [multiple]="false" legend="Radio tile group">
140140
<ibm-selection-tile value="tile1" [disabled]="disabled" [selected]="true" [theme]="theme">Selectable Tile</ibm-selection-tile>
141141
<ibm-selection-tile value="tile2" [disabled]="disabled" [theme]="theme">Selectable Tile</ibm-selection-tile>
142142
<ibm-selection-tile value="tile3" [disabled]="disabled" [theme]="theme">Selectable Tile</ibm-selection-tile>
@@ -174,7 +174,7 @@ storiesOf("Components|Tiles", module)
174174
Edit on Carbon UI Builder
175175
</a>
176176
<br><br>
177-
<ibm-tile-group (selected)="selected($event)" [multiple]="true">
177+
<ibm-tile-group (selected)="selected($event)" [multiple]="true" legend="Multi-select tile group">
178178
<ibm-selection-tile value="tile1" [selected]="true" [theme]="theme" [disabled]="disabled">Selectable Tile</ibm-selection-tile>
179179
<ibm-selection-tile value="tile2" [theme]="theme" [disabled]="disabled">Selectable Tile</ibm-selection-tile>
180180
<ibm-selection-tile value="tile3" [theme]="theme" [disabled]="disabled">Selectable Tile</ibm-selection-tile>

0 commit comments

Comments
 (0)