Pipes - Vista General
Paquete: @tiendana/ngx-core/pipes
Transformaciones de datos para templates de Angular.
Pipes Disponibles
dateImplictTz
Formatea fechas asegurando que se interpreten en UTC cuando no tienen zona horaria explícita. Convierte automáticamente timestamps Unix (segundos) multiplicándolos por 1000.
{{ dateString | dateImplictTz:'dd/MM/yyyy HH:mm' }}
{{ timestamp | dateImplictTz:'medium' }}
highlightedText
Resalta términos de búsqueda en texto envolviéndolos con <span class="highlighted-text">. Soporta normalización de acentos y mínimo de caracteres.
<p [innerHTML]="text | highlightedText:search():true:3"></p>
Demos interactivos: 4 ejemplos (básico, normalización, mínimo caracteres, lista)
searchList
Filtra arrays de objetos buscando un término en todas sus propiedades de tipo string, number o boolean.
@for (item of items | searchList:searchTerm(); track item.id) {
<li>{{ item.name }}</li>
}
Demos interactivos: 3 ejemplos (básico, múltiples campos, tabla)
addUtm
Agrega parámetros UTM a URLs para tracking de campañas. Usa source: 'webapp' y campaign: 'organic' por defecto.
<a [href]="url | addUtm:{ medium: 'email' }">Link</a>
Demos interactivos: 2 ejemplos (básico, lista de productos)
abstract2Fa
Convierte AbstractControl a FormArray con type safety en templates.
@for (control of (form.controls.items | abstract2Fa).controls; track $index) {
<input [formControl]="control" />
}
abstract2Fg
Convierte AbstractControl a FormGroup con type safety en templates.
<div [formGroup]="form.controls.address | abstract2Fg">
<input formControlName="street" />
</div>
Instalación
npm install @tiendana/ngx-core
Clases exportadas
Cada pipe es standalone y se importa desde @tiendana/ngx-core/pipes:
| Pipe | Clase |
|---|---|
dateImplictTz | DateImplictTZPipe |
highlightedText | HighlightedTextPipe |
searchList | SearchListPipe |
addUtm | AddUtmPipe |
abstract2Fa | Abstract2FaPipe |
abstract2Fg | Abstract2FgPipe |
Importación
import { Component, signal } from '@angular/core';
import { DateImplictTZPipe, SearchListPipe } from '@tiendana/ngx-core/pipes';
@Component({
selector: 'app-my-component',
standalone: true,
imports: [DateImplictTZPipe, SearchListPipe],
template: `
<p>{{ date | dateImplictTz:'dd/MM/yyyy' }}</p>
@for (item of items | searchList:searchTerm(); track item.id) {
<div>{{ item.name }}</div>
}
`
})
export class MyComponent {
date = new Date();
items = [/* ... */];
searchTerm = signal('');
}
safeHtml no está en este entry point: vive en @tiendana/ngx-core/ui junto al resto de componentes y directivas. Consulta safeHtml y la vista general de UI, que enlaza también tdn-tabs, tdn-status, tdn-timeline, tdn-stepper y el logomark.
Explorar Pipes
- dateImplictTz - Formateo de fechas con timezone implícita
- highlightedText - Resaltado de texto en búsquedas
- searchList - Filtrado de listas
- addUtm - Parámetros UTM en URLs
- abstract2Fa - Type casting a FormArray
- abstract2Fg - Type casting a FormGroup