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 (
);
}
// TODO large data will cause memory heap
// stories.add('large amount of data', () => );