@@ -19,7 +19,8 @@ import {
1919 TableModel ,
2020 TableItem ,
2121 TableHeaderItem ,
22- NFormsModule
22+ NFormsModule ,
23+ DialogModule
2324} from "../" ;
2425
2526import { clone } from "../utils/utils" ;
@@ -169,6 +170,56 @@ class ExpansionTableStory implements OnInit {
169170}
170171
171172
173+ @Component ( {
174+ selector : "app-overflow-table" ,
175+ template : `
176+ <ng-template #overflowMenuItemTemplate let-data="data">
177+ <ibm-overflow-menu>
178+ <ibm-overflow-menu-option>
179+ First Option
180+ </ibm-overflow-menu-option>
181+ <ibm-overflow-menu-option>
182+ Second Option
183+ </ibm-overflow-menu-option>
184+ <ibm-overflow-menu-option>
185+ Third Option
186+ </ibm-overflow-menu-option>
187+ </ibm-overflow-menu>
188+ </ng-template>
189+
190+ <ibm-table
191+ [model]="model"
192+ [size]="size"
193+ [showSelectionColumn]="showSelectionColumn"
194+ [striped]="striped">
195+ </ibm-table>
196+ `
197+ } )
198+ class OverflowTableStory implements OnInit {
199+ @Input ( ) model = new TableModel ( ) ;
200+ @Input ( ) size = "md" ;
201+ @Input ( ) showSelectionColumn = true ;
202+ @Input ( ) striped = true ;
203+
204+ @ViewChild ( "overflowMenuItemTemplate" )
205+ private overflowMenuItemTemplate : TemplateRef < any > ;
206+
207+ ngOnInit ( ) {
208+ this . model . data = [
209+ [ new TableItem ( { data : "Name 1" } ) , new TableItem ( { data : { id : "1" } , template : this . overflowMenuItemTemplate } ) ] ,
210+ [ new TableItem ( { data : "Name 2" } ) , new TableItem ( { data : { id : "2" } , template : this . overflowMenuItemTemplate } ) ] ,
211+ [ new TableItem ( { data : "Name 3" } ) , new TableItem ( { data : { id : "3" } , template : this . overflowMenuItemTemplate } ) ] ,
212+ [ new TableItem ( { data : "Name 4" } ) , new TableItem ( { data : { id : "4" } , template : this . overflowMenuItemTemplate } ) ] ,
213+ ] ;
214+ this . model . header = [
215+ new TableHeaderItem ( { data : "Name" } ) ,
216+ new TableHeaderItem ( { data : "Actions" } ) ,
217+ ] ;
218+ }
219+ }
220+
221+
222+
172223class CustomHeaderItem extends TableHeaderItem {
173224 // used for custom sorting
174225 compare ( one : TableItem , two : TableItem ) {
@@ -215,11 +266,13 @@ storiesOf("Table", module).addDecorator(
215266 imports : [
216267 NFormsModule ,
217268 TableModule ,
269+ DialogModule ,
218270 TranslateModule . forRoot ( )
219271 ] ,
220272 declarations : [
221273 DynamicTableStory ,
222- ExpansionTableStory
274+ ExpansionTableStory ,
275+ OverflowTableStory
223276 ]
224277 } )
225278 )
@@ -269,5 +322,19 @@ storiesOf("Table", module).addDecorator(
269322 showSelectionColumn : boolean ( "showSelectionColumn" , true ) ,
270323 striped : boolean ( "striped" , true )
271324 }
325+ } ) )
326+ . add ( "with overflow menu" , ( ) => ( {
327+ template : `
328+ <app-overflow-table
329+ [size]="size"
330+ [showSelectionColumn]="showSelectionColumn"
331+ [striped]="striped">
332+ </app-overflow-table>
333+ ` ,
334+ props : {
335+ size : selectV2 ( "size" , { Small : "sm" , Normal : "md" , Large : "lg" } , "md" , "table-size-selection" ) ,
336+ showSelectionColumn : boolean ( "showSelectionColumn" , true ) ,
337+ striped : boolean ( "striped" , true )
338+ }
272339 } ) ) ;
273340
0 commit comments