/*! Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. */ import * as React from 'react'; import Screener from 'screener-storybook/src/screener'; import { storiesOf } from '@storybook/react'; import { FabricDecorator } from '../utilities'; import { DetailsList, DetailsListLayoutMode, IDetailsHeaderProps, Selection, IColumn, ConstrainMode, IDetailsFooterProps, DetailsRow, } from 'office-ui-fabric-react/lib/DetailsList'; import { IRenderFunction } from 'office-ui-fabric-react/lib/Utilities'; import { TooltipHost, ITooltipHostProps } from 'office-ui-fabric-react/lib/Tooltip'; import { ScrollablePane, ScrollbarVisibility } from 'office-ui-fabric-react/lib/ScrollablePane'; import { Sticky, StickyPositionType } from 'office-ui-fabric-react/lib/Sticky'; import { MarqueeSelection } from 'office-ui-fabric-react/lib/MarqueeSelection'; import { SelectionMode } from 'office-ui-fabric-react/lib/utilities/selection/index'; import { Fabric } from 'office-ui-fabric-react/lib/Fabric'; import { getTheme, mergeStyles } from 'office-ui-fabric-react/lib/Styling'; const stickyListTitleClass = mergeStyles({ paddingTop: '100px', }); const _columns: IColumn[] = [ { key: 'column1', name: 'Test 1', fieldName: 'test1', minWidth: 100, maxWidth: 200, isResizable: true, }, { key: 'column2', name: 'Test 2', fieldName: 'test2', minWidth: 100, maxWidth: 200, isResizable: true, }, { key: 'column3', name: 'Test 3', fieldName: 'test3', minWidth: 100, maxWidth: 200, isResizable: true, }, { key: 'column4', name: 'Test 4', fieldName: 'test4', minWidth: 100, maxWidth: 200, isResizable: true, }, { key: 'column5', name: 'Test 5', fieldName: 'test5', minWidth: 100, maxWidth: 200, isResizable: true, }, { key: 'column6', name: 'Test 6', fieldName: 'test6', minWidth: 100, maxWidth: 200, isResizable: true, }, ]; interface IItem { key: number; test1: string; test2: string; test3: string; test4: string; test5: string; test6: string; } class ScrollablePaneDetailsListStory extends React.Component<{}, {}> { private _selection: Selection; private readonly _items: IItem[]; constructor(props: {}) { super(props); this._items = []; let rowData = ''; for (let i = 0; i < 200; i++) { rowData = 'row ' + (i + 1).toString() + ', column '; this._items.push({ key: i, test1: rowData + '1', test2: rowData + '2', test3: rowData + '3', test4: rowData + '4', test5: rowData + '5', test6: rowData + '6', }); } this._selection = new Selection(); } public render(): JSX.Element { return (