The AOC Framework
github logodiscord logo

BACKEND

Transforms #

Los transformadores son funciones decoradas con el decorador @AocTransform y se usan para transformar, por ejemplo, valores o entidades a otros elementos de otros tipos.

Algunos casos podrían ser: dada una entidad con dos campos de teléfono, devolver un solo string con esos campos concatenados, otro caso podría ser el cálculo de un porcentaje sobre un valor, etc.

Al exportar hojas de cáculo, estas transformaciones se pueden especificar directamente desde el cliente para las columnas.

Además, se pueden ejecutar a través del método estático AocContext.execTransform.

Ejemplo #

Al crear una spreadsheet de exportación podemos definir una columna de tipo AocSpreadsheetColumn así:

  {
    header: 'Telephone numbers',
    type: 'string',
    field: null,
    transform: 'listTelephoneNumbers'
  }

Vea el ejemplo completo en quest-client/src/app/features/schemas/customers/customer/customer-grid.component.ts

y en el servidor podemos registrar un método de una clase con el decorador @AocTransform:

export class QuestTransforms {
  @AocTransform
  listTelephoneNumbers(args: AocTransformArgs<Customer>) {
    const phone1 = args.value.phone1;
    const phone2 = args.value.phone2;
    if (phone1 && phone2) {
      return `${phone1} - ${phone2}`;
    } else if (phone2) {
      return phone2;
    } else {
      return phone1 || ''; // In case both strings are empty
    }
  }
}

Este método se ejecutará automáticamente para cada celda de la columna Telephone numbers, de modo que los concatenará con un guion en medio en caso de que sea necesario.

Vea el ejemplo completo en quest-server/src/transforms/quest-transforms.ts

API #

Definición completa en la API.

Por favor, busque en Issues y Discussions en Github para más información

© 2024 Atlantis of Code. All rights reserved.
All trademarks are the property of their respective owners.