fbredius/storybook

View on GitHub
docs/snippets/angular/table-story-fully-customize-controls.ts.mdx

Summary

Maintainability
Test Coverage
```ts
// Table.stories.ts

import { Meta, Story } from '@storybook/angular',

import { Table } from './Table.component';

export default {
  /* 👇 The title prop is optional.
  * See https://storybook.js.org/docs/angular/configure/overview#configure-story-loading
  * to learn how to generate automatic titles
  */
  title: 'Custom Table',
  component: Table,
} as Meta;

const TableStory: Story = (args) => ({
  props: args,
  template: `
    <table>
      <tbody>
        <tr *ngFor="let row of data; let i=index">
          <td *ngFor="let col of row; let j=index">
            {{data[i][j]}}
          </td>
        </tr>
      </tbody>
    </table>
    `,
});

export const Numeric = TableStory.bind({});
Numeric.args = {
  //👇 This arg is for the story component
  data: [
    [1, 2, 3],
    [4, 5, 6],
  ],
  //👇 The remaining args get passed to the `Table` component
  size: 'large',
};
```