From 4ab73c5d7114e9f27740d042e567399aef942083 Mon Sep 17 00:00:00 2001 From: Madalena Campos <71613655+MadalenaCampos@users.noreply.github.com> Date: Fri, 28 Jul 2023 15:40:46 -0300 Subject: [PATCH] :memo: docs: add example img of custom row on table docs #738 (#750) * docs: add example img of custom row on table docs #738 * feat: add required to chip-group #734 * docs: add example img of custom row on table docs #738 * fix: documentation problem #738 --------- Co-authored-by: Iury Nogueira --- stories/SmartTable.stories.ts | 66 +++++----------------------- stories/TableCustomRow.stories.mdx | 61 +++++++++++++++++++++++++ stories/assets/table-custom-row.png | Bin 0 -> 23786 bytes 3 files changed, 71 insertions(+), 56 deletions(-) create mode 100644 stories/TableCustomRow.stories.mdx create mode 100644 stories/assets/table-custom-row.png diff --git a/stories/SmartTable.stories.ts b/stories/SmartTable.stories.ts index f80e20eef..f7e40c573 100644 --- a/stories/SmartTable.stories.ts +++ b/stories/SmartTable.stories.ts @@ -331,62 +331,6 @@ PopConfirmDynamicDescription.args = returnTableConfig( 2 ); -export const TableCustomRow = Template.bind({}); -TableCustomRow.args = { - config: { - columns, - }, -}; - -TableCustomRow.parameters = { - docs: { - description: { - story: `Passos para customizar a linha da tabela. - 1. No HTML do seu componente, crie um ng-template com a diretiva 'let-row' e realize as customizações desejadas. - A diretiva 'let-row' permite acessar os dados da linha através da identificação do objeto passado na configuração - da tabela. Veja o exemplo abaixo: - - - {{row.id}} - {{ row.name }} - - - - - - - 2. No arquivo .ts do seu componente, utilize o decorator '@ViewChild' para obter a referência do template customizado - criado no arquivo HTML. - - export class AppComponent implements OnInit { - @ViewChild("customTemplate", { static: true }) - customTemplate: TemplateRef; - - ... - } - - 3. Passe a referência do template customizado para o atributo customRowTemplate da configuração da tabela. - - export class AppComponent implements OnInit { - ... - - ngOnInit(): void { - this.config = { - data, - columns, - customRowTemplate: this.customTemplate, - } - } - } - `, - }, - }, -}; - export const WithEllipsisOnCell = Template.bind({}); WithEllipsisOnCell.args = returnTableConfig( longData, @@ -397,3 +341,13 @@ WithEllipsisOnCell.args = returnTableConfig( [10, 15, 30, 50, 100], true ); + +export const WithTooltipInActions = Template.bind({}); +WithTooltipInActions.args = returnTableConfig( + data, + columns, + actions, + 2, + 2000, + [10, 15, 30, 50, 100] +); diff --git a/stories/TableCustomRow.stories.mdx b/stories/TableCustomRow.stories.mdx new file mode 100644 index 000000000..0ff7b4272 --- /dev/null +++ b/stories/TableCustomRow.stories.mdx @@ -0,0 +1,61 @@ +import { Canvas, Meta, Story } from '@storybook/addon-docs'; +import imageExaple from './assets/table-custom-row.png'; + + + +export const Template = (args) => ; + +## Table Custom Row + +Passos para customizar a linha da tabela. + +1. No HTML do seu componente, crie um ng-template com a diretiva 'let-row' e realize as customizações desejadas. A diretiva 'let-row' permite acessar os dados da linha através da identificação do objeto passado na configuraçãoda tabela. Veja o exemplo abaixo: + +```html + + {{row.id}} + {{ row.name }} + + + + + +``` + +2. No arquivo .ts do seu componente, utilize o decorator '@ViewChild' para obter a referência do template customizado criado no arquivo HTML: + +```ts +export class AppComponent implements OnInit { + @ViewChild("customTemplate", { static: true }) + customTemplate: TemplateRef; + + ... +} +``` + +3. Passe a referência do template customizado para o atributo customRowTemplate da configuração da tabela: + +```ts +export class AppComponent implements OnInit { + ... + + ngOnInit(): void { + this.config = { + data, + columns, + customRowTemplate: this.customTemplate, + } + } +} +``` + +4. Pronto! A linha da tabela será customizada de acordo com o template criado. Veja o exemplo abaixo: + +grid 1 diff --git a/stories/assets/table-custom-row.png b/stories/assets/table-custom-row.png new file mode 100644 index 0000000000000000000000000000000000000000..b24bbb662ebba4a2e171b7e10904c73cf6d59956 GIT binary patch literal 23786 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