Skip to content

Commit 72c38f7

Browse files
authored
docs(cdk/overlay): add a simple overlay example (#19419)
Add a basic component in order to build out an example for cdk/overlay
1 parent b365ba7 commit 72c38f7

File tree

9 files changed

+101
-2
lines changed

9 files changed

+101
-2
lines changed

src/components-examples/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ ALL_EXAMPLES = [
5656
"//src/components-examples/cdk/drag-drop",
5757
"//src/components-examples/cdk/clipboard",
5858
"//src/components-examples/cdk/a11y",
59+
"//src/components-examples/cdk/overlay",
5960
"//src/components-examples/cdk-experimental/popover-edit",
6061
]
6162

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
load("//tools:defaults.bzl", "ng_module")
2+
3+
package(default_visibility = ["//visibility:public"])
4+
5+
ng_module(
6+
name = "overlay",
7+
srcs = glob(["**/*.ts"]),
8+
assets = glob([
9+
"**/*.html",
10+
"**/*.css",
11+
]),
12+
module_name = "@angular/components-examples/cdk/overlay",
13+
deps = [
14+
"//src/cdk/overlay",
15+
],
16+
)
17+
18+
filegroup(
19+
name = "source-files",
20+
srcs = glob([
21+
"**/*.html",
22+
"**/*.css",
23+
"**/*.ts",
24+
]),
25+
)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
.example-list {
2+
width: 100px;
3+
border: solid 1px #ccc;
4+
border-radius: 5px;
5+
background: #fff;
6+
text-align: center;
7+
padding: 10px;
8+
margin: 0;
9+
}
10+
11+
.example-list > li {
12+
list-style-type: none;
13+
border-bottom: solid 1px #8b8b8b;
14+
padding: 8px 0;
15+
}
16+
17+
.example-list > li:last-child {
18+
border-bottom: none;
19+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!-- This button triggers the overlay and is it's origin -->
2+
<button (click)="isOpen = !isOpen" type="button" cdkOverlayOrigin #trigger="cdkOverlayOrigin">
3+
{{isOpen ? "Close" : "Open"}}
4+
</button>
5+
6+
<!-- This template displays the overlay content and is connected to the button -->
7+
<ng-template
8+
cdkConnectedOverlay
9+
[cdkConnectedOverlayOrigin]="trigger"
10+
[cdkConnectedOverlayOpen]="isOpen"
11+
>
12+
<ul class="example-list">
13+
<li>Item 1</li>
14+
<li>Item 2</li>
15+
<li>Item 3</li>
16+
</ul>
17+
</ng-template>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import {Component} from '@angular/core';
2+
3+
/**
4+
* @title Overlay basic example
5+
*/
6+
@Component({
7+
selector: 'cdk-overlay-basic-example',
8+
templateUrl: './cdk-overlay-basic-example.html',
9+
styleUrls: ['./cdk-overlay-basic-example.css'],
10+
})
11+
export class CdkOverlayBasicExample {
12+
isOpen = false;
13+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import {NgModule} from '@angular/core';
2+
import {OverlayModule} from '@angular/cdk/overlay';
3+
4+
import {CdkOverlayBasicExample} from './cdk-overlay-basic/cdk-overlay-basic-example';
5+
6+
export {CdkOverlayBasicExample};
7+
8+
const EXAMPLES = [CdkOverlayBasicExample];
9+
10+
@NgModule({
11+
imports: [OverlayModule],
12+
declarations: EXAMPLES,
13+
exports: EXAMPLES,
14+
entryComponents: EXAMPLES,
15+
})
16+
export class CdkOverlayExamplesModule {}

src/dev-app/connected-overlay/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ ng_module(
1313
"//src/cdk/bidi",
1414
"//src/cdk/overlay",
1515
"//src/cdk/portal",
16+
"//src/components-examples/cdk/overlay",
1617
"//src/material/button",
1718
"//src/material/checkbox",
1819
"//src/material/radio",

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,13 @@ import {MatButtonModule} from '@angular/material/button';
1414
import {MatCheckboxModule} from '@angular/material/checkbox';
1515
import {MatRadioModule} from '@angular/material/radio';
1616
import {RouterModule} from '@angular/router';
17+
import {CdkOverlayExamplesModule} from '@angular/components-examples/cdk/overlay';
18+
1719
import {ConnectedOverlayDemo} from './connected-overlay-demo';
1820

1921
@NgModule({
2022
imports: [
23+
CdkOverlayExamplesModule,
2124
CommonModule,
2225
FormsModule,
2326
MatButtonModule,
@@ -28,5 +31,4 @@ import {ConnectedOverlayDemo} from './connected-overlay-demo';
2831
],
2932
declarations: [ConnectedOverlayDemo],
3033
})
31-
export class ConnectedOverlayDemoModule {
32-
}
34+
export class ConnectedOverlayDemoModule {}

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1+
<h3>Basic overlay</h3>
2+
<cdk-overlay-basic-example></cdk-overlay-basic-example>
3+
14
<div style="height: 500px"></div>
25

6+
<h3>Debug Overlay</h3>
7+
38
<div class="demo-options-connected-overlay mat-typography">
49
<div>
510
<h2>Origin X</h2>

0 commit comments

Comments
 (0)