Skip to content

Commit b3308de

Browse files
crisbetojosephperrott
authored andcommitted
chore: fix connected position demo (#10460)
1 parent 7774da2 commit b3308de

File tree

3 files changed

+41
-25
lines changed

3 files changed

+41
-25
lines changed

src/demo-app/connected-overlay/connected-overlay-demo.html

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<div style="height: 500px"></div>
22

3-
<div class="demo-options">
3+
<div class="demo-options mat-typography">
44
<div>
5-
<h4>Origin X</h4>
5+
<h2>Origin X</h2>
66
<mat-radio-group [(ngModel)]="originX">
77
<mat-radio-button value="start">start</mat-radio-button>
88
<mat-radio-button value="center">center</mat-radio-button>
@@ -11,7 +11,7 @@ <h4>Origin X</h4>
1111
</div>
1212

1313
<div>
14-
<h4>Origin Y</h4>
14+
<h2>Origin Y</h2>
1515
<mat-radio-group [(ngModel)]="originY">
1616
<mat-radio-button value="top">top</mat-radio-button>
1717
<mat-radio-button value="center">center</mat-radio-button>
@@ -20,7 +20,7 @@ <h4>Origin Y</h4>
2020
</div>
2121

2222
<div>
23-
<h4>Overlay X</h4>
23+
<h2>Overlay X</h2>
2424
<mat-radio-group [(ngModel)]="overlayX">
2525
<mat-radio-button value="start">start</mat-radio-button>
2626
<mat-radio-button value="center">center</mat-radio-button>
@@ -29,7 +29,7 @@ <h4>Overlay X</h4>
2929
</div>
3030

3131
<div>
32-
<h4>Overlay Y</h4>
32+
<h2>Overlay Y</h2>
3333
<mat-radio-group [(ngModel)]="overlayY">
3434
<mat-radio-button value="top">top</mat-radio-button>
3535
<mat-radio-button value="center">center</mat-radio-button>
@@ -38,28 +38,39 @@ <h4>Overlay Y</h4>
3838
</div>
3939

4040
<div>
41-
<h4>Offsets</h4>
41+
<h2>Offsets</h2>
4242

43-
<div>
43+
<p>
4444
<label>
4545
offsetX
4646
<input type="number" [(ngModel)]="offsetX">
4747
</label>
48-
</div>
48+
</p>
4949

50-
<div>
50+
<p>
5151
<label>
5252
offsetY
5353
<input type="number" [(ngModel)]="offsetY">
5454
</label>
55-
</div>
55+
</p>
5656
</div>
5757

5858
<div>
59-
<label>
60-
Number of items in the overlay
61-
<input #count type="number" value="25" (input)="updateCount(count.value)">
62-
</label>
59+
<h2>Options</h2>
60+
61+
<p>
62+
<label>
63+
Number of items in the overlay
64+
<input type="number" [(ngModel)]="itemCount">
65+
</label>
66+
</p>
67+
68+
<p>
69+
<label>
70+
Item text
71+
<input [(ngModel)]="itemText">
72+
</label>
73+
</p>
6374

6475
<div>
6576
<mat-checkbox [(ngModel)]="isFlexible">Allow flexible dimensions</mat-checkbox>
@@ -84,7 +95,6 @@ <h4>Offsets</h4>
8495

8596

8697
<div class="demo-trigger">
87-
<div style="width: 50px;"></div>
8898
<button mat-raised-button
8999
cdkOverlayOrigin
90100
type="button"

src/demo-app/connected-overlay/connected-overlay-demo.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
& > div {
66
margin: 16px;
77
}
8+
9+
.mat-radio-button {
10+
display: block;
11+
margin-bottom: 5px;
12+
}
813
}
914

1015
demo-overlay {

src/demo-app/connected-overlay/connected-overlay-demo.ts

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ import {
1818
} from '@angular/cdk/overlay';
1919

2020

21-
let itemCount = 25;
22-
2321
@Component({
2422
moduleId: module.id,
2523
selector: 'overlay-demo',
@@ -39,6 +37,8 @@ export class ConnectedOverlayDemo {
3937
showBoundingBox = false;
4038
offsetX = 0;
4139
offsetY = 0;
40+
itemCount = 25;
41+
itemText = 'Item with a long name';
4242
overlayRef: OverlayRef | null;
4343

4444
constructor(
@@ -84,7 +84,11 @@ export class ConnectedOverlayDemo {
8484
minHeight: 50
8585
});
8686

87-
this.overlayRef.attach(new ComponentPortal(DemoOverlay, this.viewContainerRef));
87+
const portal = new ComponentPortal(DemoOverlay, this.viewContainerRef);
88+
const componentRef = this.overlayRef.attach(portal);
89+
90+
componentRef.instance.items = Array(this.itemCount);
91+
componentRef.instance.text = this.itemText;
8892
}
8993

9094
close() {
@@ -95,10 +99,6 @@ export class ConnectedOverlayDemo {
9599
}
96100
}
97101

98-
updateCount(value: number) {
99-
itemCount = +value;
100-
}
101-
102102
toggleShowBoundingBox() {
103103
const box = document.querySelector('.cdk-overlay-connected-position-bounding-box');
104104

@@ -111,14 +111,15 @@ export class ConnectedOverlayDemo {
111111

112112

113113
@Component({
114+
selector: 'demo-overlay',
114115
template: `
115116
<div style="overflow: auto;">
116-
{{items.length}}
117-
<ul><li *ngFor="let item of items; index as i">Item with a long name {{i}}</li></ul>
117+
<ul><li *ngFor="let item of items; index as i">{{text}} {{i}}</li></ul>
118118
</div>`,
119119
encapsulation: ViewEncapsulation.None,
120120
})
121121
export class DemoOverlay {
122-
items = Array(itemCount);
122+
items: number[];
123+
text: string;
123124
}
124125

0 commit comments

Comments
 (0)