gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/libs/entity-table/stories/entity-table.stories.tsx · nightly
Source
1 4cebd65 Mardin 2y ago import {
2 4cebd65 Mardin 2y ago EntityDataTable,
3 4cebd65 Mardin 2y ago DataTablePagination,
4 65bbe9d Mardin 2y ago TableSearch,
5 4cebd65 Mardin 2y ago } from "../components";
6 4cebd65 Mardin 2y ago import { EntityTable } from "../entity-table";
7 4cebd65 Mardin 2y ago import React from "react";
8 4cebd65 Mardin 2y ago import type { Meta, StoryObj } from "@storybook/react";
9 4cebd65 Mardin 2y ago import { QueryClientProvider, QueryClient } from "@tanstack/react-query";
10 4cebd65 Mardin 2y ago
11 4cebd65 Mardin 2y ago import { columnsFnBasicEntityTable } from "./columns-fns";
12 4cebd65 Mardin 2y ago import { fetchEntity, fetchEntityLoading } from "./fetch-entities";
13 4cebd65 Mardin 2y ago
14 65bbe9d Mardin 2y ago const TableSearchComponent = TableSearch as React.FC<unknown>;
15 4cebd65 Mardin 2y ago const DataTablePaginationComponent = DataTablePagination as React.FC<unknown>;
16 4cebd65 Mardin 2y ago const EntityDataTableComponent = EntityDataTable as React.FC<unknown>;
17 4cebd65 Mardin 2y ago
18 4cebd65 Mardin 2y ago const queryClient = new QueryClient();
19 4cebd65 Mardin 2y ago
20 4cebd65 Mardin 2y ago const meta: Meta<typeof EntityTable> = {
21 4cebd65 Mardin 2y ago title: "Features/Entity Table/Entity Table",
22 4cebd65 Mardin 2y ago component: EntityTable,
23 4cebd65 Mardin 2y ago decorators: [(Story) => (
24 4cebd65 Mardin 2y ago <QueryClientProvider client={queryClient}>
25 4cebd65 Mardin 2y ago <Story />
26 4cebd65 Mardin 2y ago </QueryClientProvider>
27 4cebd65 Mardin 2y ago )],
28 4cebd65 Mardin 2y ago tags: ["autodocs"],
29 4cebd65 Mardin 2y ago subcomponents: {
30 65bbe9d Mardin 2y ago TableSearchComponent,
31 4cebd65 Mardin 2y ago DataTablePaginationComponent,
32 4cebd65 Mardin 2y ago EntityDataTableComponent
33 4cebd65 Mardin 2y ago }
34 4cebd65 Mardin 2y ago };
35 4cebd65 Mardin 2y ago
36 4cebd65 Mardin 2y ago export default meta;
37 4cebd65 Mardin 2y ago
38 4cebd65 Mardin 2y ago
39 4cebd65 Mardin 2y ago type Story = StoryObj<typeof EntityTable>;
40 4cebd65 Mardin 2y ago
41 d0daa61 Mardin 2y ago const onEdit = (entity: any) => alert(`Edit entity: ${JSON.stringify(entity)}`)
42 d0daa61 Mardin 2y ago const onDelete = (entity: any) => alert(`Delete entity: ${JSON.stringify(entity)}`)
43 d0daa61 Mardin 2y ago const onOpen = (entity: any) => alert(`Open entity: ${JSON.stringify(entity)}`)
44 d0daa61 Mardin 2y ago
45 4cebd65 Mardin 2y ago export const BasicEntityTable: Story = {
46 4cebd65 Mardin 2y ago args: {
47 4cebd65 Mardin 2y ago fetchEntity: fetchEntity,
48 d0daa61 Mardin 2y ago columns: columnsFnBasicEntityTable({ onEdit, onDelete, onOpen }),
49 65bbe9d Mardin 2y ago primaryFilter: "name",
50 4cebd65 Mardin 2y ago entityKey: "entities",
51 4cebd65 Mardin 2y ago onCreate: () => alert("Create entity"),
52 d0daa61 Mardin 2y ago onOpen: onOpen,
53 4cebd65 Mardin 2y ago }
54 4cebd65 Mardin 2y ago };
55 4cebd65 Mardin 2y ago
56 4cebd65 Mardin 2y ago export const LoadingEntityTable: Story = {
57 4cebd65 Mardin 2y ago args: {
58 4cebd65 Mardin 2y ago fetchEntity: fetchEntityLoading,
59 d0daa61 Mardin 2y ago columns: columnsFnBasicEntityTable({ onEdit, onDelete, onOpen }),
60 65bbe9d Mardin 2y ago primaryFilter: "name",
61 4cebd65 Mardin 2y ago entityKey: "entities",
62 4cebd65 Mardin 2y ago onCreate: () => alert("Create entity"),
63 d0daa61 Mardin 2y ago onOpen: onOpen,
64 4cebd65 Mardin 2y ago }
65 4cebd65 Mardin 2y ago };