2020-10-16 13:16:01 +00:00
|
|
|
import React from "react";
|
|
|
|
import { storiesOf } from "@storybook/react";
|
|
|
|
import {
|
|
|
|
withKnobs,
|
|
|
|
text,
|
|
|
|
boolean,
|
|
|
|
select,
|
|
|
|
number,
|
|
|
|
} from "@storybook/addon-knobs/react";
|
|
|
|
import withReadme from "storybook-readme/with-readme";
|
|
|
|
import Readme from "./README.md";
|
|
|
|
import Paging from ".";
|
|
|
|
import Section from "../../../.storybook/decorators/section";
|
2019-07-18 13:40:50 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
storiesOf("Components|Paging", module)
|
2019-07-30 13:49:33 +00:00
|
|
|
.addDecorator(withKnobs)
|
|
|
|
.addDecorator(withReadme(Readme))
|
2020-10-16 13:16:01 +00:00
|
|
|
.add("base", () => {
|
2019-08-12 08:20:52 +00:00
|
|
|
const createPageItems = (count) => {
|
|
|
|
let pageItems = [];
|
2020-10-16 13:16:01 +00:00
|
|
|
for (let i = 1; i <= count; i++) {
|
2019-08-12 08:20:52 +00:00
|
|
|
pageItems.push({
|
|
|
|
key: i,
|
2020-10-16 13:16:01 +00:00
|
|
|
label: i + " of " + count,
|
|
|
|
});
|
2019-07-30 13:49:33 +00:00
|
|
|
}
|
2019-08-12 08:20:52 +00:00
|
|
|
return pageItems;
|
2020-10-16 13:16:01 +00:00
|
|
|
};
|
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,
|
2020-10-16 13:16:01 +00:00
|
|
|
label: "25 per page",
|
2019-07-30 13:49:33 +00:00
|
|
|
},
|
|
|
|
{
|
2019-08-05 12:53:32 +00:00
|
|
|
key: 50,
|
2020-10-16 13:16:01 +00:00
|
|
|
label: "50 per page",
|
2019-07-30 13:49:33 +00:00
|
|
|
},
|
|
|
|
{
|
2019-08-05 12:53:32 +00:00
|
|
|
key: 100,
|
2020-10-16 13:16:01 +00:00
|
|
|
label: "100 per page",
|
|
|
|
},
|
2019-07-30 13:49:33 +00:00
|
|
|
];
|
2019-07-29 14:25:04 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
const displayItems = boolean("Display pageItems", true);
|
|
|
|
const displayCount = boolean("Display countItems", true);
|
|
|
|
const selectedCount = select("selectedCount", [25, 50, 100], 100);
|
|
|
|
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>
|
2020-10-16 13:16:01 +00:00
|
|
|
<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}
|
2020-10-16 13:16:01 +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>
|
2020-10-16 13:16:01 +00:00
|
|
|
);
|
|
|
|
});
|