Skip to content

Commit 8d57411

Browse files
committed
Dynamic overflow menu example
1 parent 9c71a96 commit 8d57411

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/dialog/overflow-menu/overflow-menu.stories.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,18 @@
11
import { storiesOf, moduleMetadata } from "@storybook/angular";
2+
import { withKnobs, boolean, number } from "@storybook/addon-knobs/angular";
23

34
import { DialogModule } from "../../";
45

6+
let options;
7+
8+
cost createOptions = (count: number): Array<string> => {
9+
if (options && count === options.length) {
10+
return options;
11+
}
12+
options = Array(count).fill(0).map((x, i) => "Option " + (i+1));
13+
return options;
14+
};
15+
516
storiesOf("Overflow Menu", module)
617
.addDecorator(
718
moduleMetadata({
@@ -10,6 +21,7 @@ storiesOf("Overflow Menu", module)
1021
]
1122
})
1223
)
24+
.addDecorator(withKnobs)
1325
.add("Basic", () => ({
1426
template: `
1527
<ibm-overflow-menu>
@@ -44,4 +56,18 @@ storiesOf("Overflow Menu", module)
4456
click: () => console.log("click"),
4557
selected: () => console.log("selected")
4658
}
59+
}))
60+
.add("Dynamic", () => ({
61+
template: `
62+
<span>Dynamic OverflowMenu, using the optionCount knob to change the number of menu options</span>
63+
<ibm-overflow-menu>
64+
<ibm-overflow-menu-option *ngFor="let option of options(optionCount)">
65+
{{option}}
66+
</ibm-overflow-menu-option>
67+
</ibm-overflow-menu>
68+
`,
69+
props: {
70+
optionCount: number("optionCount", 10),
71+
options: createOptions
72+
}
4773
}));

0 commit comments

Comments
 (0)