2019-07-18 13:40:50 +00:00
|
|
|
import React from 'react';
|
|
|
|
import { storiesOf } from '@storybook/react';
|
2019-08-12 08:20:52 +00:00
|
|
|
import { withKnobs, text, boolean, select, number } from '@storybook/addon-knobs/react';
|
2019-07-18 13:40:50 +00:00
|
|
|
import withReadme from 'storybook-readme/with-readme';
|
|
|
|
import Readme from './README.md';
|
|
|
|
import { Paging } from 'asc-web-components';
|
|
|
|
import Section from '../../../.storybook/decorators/section';
|
|
|
|
|
|
|
|
storiesOf('Components|Paging', module)
|
2019-07-30 13:49:33 +00:00
|
|
|
.addDecorator(withKnobs)
|
|
|
|
.addDecorator(withReadme(Readme))
|
|
|
|
.add('base', () => {
|
2019-07-18 13:40:50 +00:00
|
|
|
|
2019-08-12 08:20:52 +00:00
|
|
|
const createPageItems = (count) => {
|
|
|
|
let pageItems = [];
|
2019-08-13 11:14:32 +00:00
|
|
|
for (let i = 1; i <= count; i++){
|
2019-08-12 08:20:52 +00:00
|
|
|
pageItems.push({
|
|
|
|
key: i,
|
|
|
|
label: i + ' of ' + count
|
|
|
|
})
|
2019-07-30 13:49:33 +00:00
|
|
|
}
|
2019-08-12 08:20:52 +00:00
|
|
|
return pageItems;
|
|
|
|
}
|
2019-07-18 13:40:50 +00:00
|
|
|
|
2019-08-05 12:53:32 +00:00
|
|
|
const countItems = [
|
2019-07-30 13:49:33 +00:00
|
|
|
{
|
2019-08-05 12:53:32 +00:00
|
|
|
key: 25,
|
2019-07-30 13:49:33 +00:00
|
|
|
label: '25 per page'
|
|
|
|
},
|
|
|
|
{
|
2019-08-05 12:53:32 +00:00
|
|
|
key: 50,
|
2019-07-30 13:49:33 +00:00
|
|
|
label: '50 per page'
|
|
|
|
},
|
|
|
|
{
|
2019-08-05 12:53:32 +00:00
|
|
|
key: 100,
|
2019-07-30 13:49:33 +00:00
|
|
|
label: '100 per page'
|
|
|
|
}
|
|
|
|
];
|
2019-07-29 14:25:04 +00:00
|
|
|
|
2019-07-30 13:49:33 +00:00
|
|
|
const displayItems = boolean('Display pageItems', true);
|
2019-08-05 12:53:32 +00:00
|
|
|
const displayCount = boolean('Display countItems', true);
|
|
|
|
const selectedCount = select('selectedCount', [25, 50, 100], 100);
|
2019-08-13 11:14:32 +00:00
|
|
|
const pageCount = number('Count of pages', 10);
|
2019-08-14 12:54:16 +00:00
|
|
|
const pageItems = createPageItems(pageCount);
|
2019-08-14 14:24:01 +00:00
|
|
|
const selectedPageItem = pageItems[0];
|
|
|
|
const selectedCountItem = countItems[0];
|
2019-07-30 13:49:33 +00:00
|
|
|
|
|
|
|
return (
|
|
|
|
<Section>
|
|
|
|
<Paging previousLabel={text('previousLabel', 'Previous')}
|
|
|
|
nextLabel={text('nextLabel', 'Next')}
|
2019-08-14 12:54:16 +00:00
|
|
|
pageItems={displayItems ? pageItems : undefined}
|
2019-08-14 14:24:01 +00:00
|
|
|
selectedPageItem={selectedPageItem}
|
|
|
|
selectedCountItem={selectedCountItem}
|
2019-08-05 12:53:32 +00:00
|
|
|
countItems={displayCount ? countItems : undefined}
|
2019-07-30 13:49:33 +00:00
|
|
|
disablePrevious={boolean('disablePrevious', false)}
|
|
|
|
disableNext={boolean('disableNext', false)}
|
|
|
|
previousAction={() => console.log('Prev')}
|
|
|
|
nextAction={() => console.log('Next')}
|
|
|
|
openDirection='bottom'
|
2019-08-05 12:53:32 +00:00
|
|
|
selectedCount={selectedCount}
|
2019-07-30 13:49:33 +00:00
|
|
|
onSelectPage={(a) => console.log(a)}
|
2019-08-05 12:53:32 +00:00
|
|
|
onSelectCount={(a) => console.log(a)}
|
2019-07-30 13:49:33 +00:00
|
|
|
/>
|
|
|
|
</Section>
|
|
|
|
)
|
|
|
|
});
|