import { TemplateRef } from '@angular/core'; export interface PoItemListAction { /** * Ação que será executada, sendo possível passar o nome ou a referência da função. * * > Para que a função seja executada no contexto do elemento filho o mesmo deve ser passado utilizando *bind*. * * Exemplo: `action: this.myFunction.bind(this)` */ action?: Function; /** * Função que deve retornar um booleano para habilitar ou desabilitar a ação para o registro selecionado. * * Também é possível informar diretamente um valor booleano que vai habilitar ou desabilitar a ação para todos os registros. */ disabled?: boolean | Function; /** * @description * * Define um ícone que será exibido ao lado esquerdo do rótulo. * * É possível usar qualquer um dos ícones da [Biblioteca de ícones](https://po-ui.io/icons). conforme exemplo abaixo: * ``` * * * ``` * * Também é possível utilizar outras fontes de ícones, por exemplo a biblioteca Font Awesome, da seguinte forma: * ``` * * * ``` * * Outra opção seria a customização do ícone através do `TemplateRef`, conforme exemplo abaixo: * component.html: * ``` * * * * * * ``` * component.ts: * ``` * @ViewChild('iconTemplate', { static: true } ) iconTemplate : TemplateRef; * * myProperty = [ * { * label: 'FA ICON', * icon: this.iconTemplate * } * ]; * ``` */ icon?: string | TemplateRef; /** Rótulo da ação. */ label: string; /** URL utilizada no redirecionamento das páginas. */ url?: string; selected?: boolean; /** Atribui uma linha separadora acima do item. */ separator?: boolean; /** * @description * * Define a cor do item, sendo `action` o padrão. * * Valores válidos: * - `action` * - `check` * - `option` */ type?: string; /** * @description * * Define se a ação será visível. * * > Caso o valor não seja especificado a ação será visível. * * Opções para tornar a ação visível ou não: * * - Função que deve retornar um booleano. * * - Informar diretamente um valor booleano. * */ visible?: boolean | Function; /** * @description * * Define se o item vai ter o estilo danger ou não. * * Deve ser usado para mostrar uma ação de exclusão ou de saída. */ danger?: boolean; }