import React, { useState } from 'react'; import { storiesOf } from '@storybook/react'; import { Icon, Tag, Table, Slider } from '../../index'; import OverflowList from '..'; import { IconAlarm, IconCamera, IconBookmark, IconDuration, IconEdit, IconFolder, IconFolderOpen, IconBolt } from '@douyinfe/semi-icons'; const stories = storiesOf('OverflowList', module); // stories.addDecorator(withKnobs);; const ITEMS = [ { icon: , key: "All" }, { icon: , key: "Users" }, { icon: , key: "Janet" }, { href: "#", icon: , key: "Photos" }, { href: "#", icon: , key: "Wednesday" }, { icon: , key: "image", current: true }, ]; class Demo extends React.Component { renderOverflow = (items) => { // console.log('overflow items: ', items); return ({items.length}) } renderItem = (item, ind) => { // console.log('visible item: ', item); return ({item.key}) } render() { return (
); } } stories.add('a simple overflow list', () => ); class StartCollapse extends React.Component { renderOverflow = (items) => { // console.log('overflow items: ', items); return ({items.length}) } renderItem = (item, ind) => { // console.log('visible item: ', item); return ({item.key}) } render() { return (
); } } stories.add('collapse from start', () => ); class MinCollapse extends React.Component { renderOverflow = (items) => { // console.log('overflow items: ', items); return ({items.length}) } renderItem = (item, ind) => { // console.log('visible item: ', item); return ({item.key}) } render() { return (
console.log(item)} />
); } } stories.add('minVisibleItems', () => ); class OverlapDemo extends React.Component { renderOverflow = (items) => { return items.map(item => {item.length}) } renderItem = (item, ind) => { return (
{item.key}
) } render() { return (
); } } stories.add('overlap overflow list', () => ); class OverlapDemo2 extends React.Component { renderOverflow = (items) => { return items.map(item => {item.length}) } renderItem = (item, ind) => { return (
{item.key}
) } render() { return (
console.log(item)} overflowRenderer={this.renderOverflow} visibleItemRenderer={this.renderItem} renderMode="scroll" />
); } } stories.add('overlap overflow threshold', () => ); const data = [ { key: '1', name: 'John Brown', age: 32, age1: 23, age2: 11, address: [1, 2, 3, 4, 5], }, { key: '2', name: 'Jim Green', age: 42, age1: 23, age2: 11, address: [1, 2, 3, 4, 5], }, { key: '3', name: 'Joe Black', age: 32, age1: 23, age2: 11, address: [1, 2, 3, 4, 5], }, { key: '4', name: 'Disabled User', age: 99, age1: 23, age2: 11, address: [1, 2, 3, 4, 5], }, ]; class TableDemo extends React.Component { renderOverflow = (items) => { return {items.length} } renderItem = (item, ind) => { return (
{item}
) } renderColumn(items) { return (
{items.length}} visibleItemRenderer={(item, ind) =>
{item}
} />
); // return ( //
// //
// ); } render() { const columns = [ { title: 'Name', dataIndex: 'name', width: '30%', }, { title: 'combine', dataIndex: 'test', children: [ { title: 'Age', children: [ { title: 'Age1', dataIndex: 'age1', }, { title: 'Age2', dataIndex: 'age2', }, ], }, { title: 'Key', dataIndex: 'key', }, ], }, { title: 'Address', width: '20%', dataIndex: 'address', render: item => this.renderColumn(item), className: 'table-width-test' }, ]; return } } stories.add('overflow in table', () => ); const LargeData = () => { const [width, setWidth] = useState(100) const renderOverflow = (items) => { // console.log('overflow items: ', items); return (items.length ? +{items.length} : null) } const renderItem = (item, ind) => { // console.log('visible item: ', item); return ( {item.icon} {item.key} ) } const items = [ { icon: , key: "alarm" }, { icon: , key: "bookmark" }, { icon: , key: "camera" }, { icon: , key: "duration" }, { icon: , key: "edit" }, { icon: , key: "folder" }, ]; return (
setWidth(value)} />

); } // TODO large data will cause memory heap // stories.add('large amount of data', () => );