File

src/app/core/basic-datatypes/date-with-age/date-with-age.datatype.ts

Description

Similar to the 'date-only' datatype but it uses the DateWithAge class which provides the age function.

Extends

DateOnlyDatatype

Index

Properties
Methods

Methods

transformToObjectFormat
transformToObjectFormat(value, schemaField: EntitySchemaField, parent: any)
Inherited from DefaultDatatype
Defined in DefaultDatatype:16
Parameters :
Name Type Optional
value No
schemaField EntitySchemaField No
parent any No
Returns : DateWithAge
transformToDatabaseFormat
transformToDatabaseFormat(value: Date)
Inherited from DefaultDatatype
Defined in DefaultDatatype:37
Parameters :
Name Type Optional
value Date No
Returns : any
Async anonymize
anonymize(value: Date)
Inherited from DefaultDatatype
Defined in DefaultDatatype:80
Parameters :
Name Type Optional
value Date No
Returns : Promise<Date>
Async importMapFunction
importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any)
Inherited from DefaultDatatype
Defined in DefaultDatatype:67
Parameters :
Name Type Optional
val any No
schemaField EntitySchemaField No
additional any Yes
Returns : unknown
importIncompleteAdditionalConfigBadge
importIncompleteAdditionalConfigBadge(col: ColumnMapping)
Inherited from DefaultDatatype

Output a label indicating whether the given column mapping needs user configuration for the "additional" config or has a valid, complete "additional" config. returns "undefined" if no user action is required.

Parameters :
Name Type Optional
col ColumnMapping No
Returns : string

Properties

Static dataType
Type : string
Default value : "date-with-age"
Inherited from DefaultDatatype
Defined in DefaultDatatype:11
editComponent
Type : string
Default value : "EditAge"
Inherited from DefaultDatatype
Defined in DefaultDatatype:14
Static label
Type : string
Default value : $localize`:datatype-label:date of birth (date + age)`
Inherited from DefaultDatatype
Defined in DefaultDatatype:12
importConfigComponent
Type : string
Default value : "DateImportConfig"
Inherited from DefaultDatatype
Defined in DefaultDatatype:65
viewComponent
Type : string
Default value : "DisplayDate"
Inherited from DefaultDatatype
Defined in DefaultDatatype:43
Readonly importAllowsMultiMapping
Type : boolean
Default value : false
Inherited from DefaultDatatype
Defined in DefaultDatatype:48

Whether this datatype allows multiple values to be mapped to the same entity field during import.

import { DateOnlyDatatype } from "../date-only/date-only.datatype";
import { Injectable } from "@angular/core";
import { DateWithAge } from "./dateWithAge";
import { EntitySchemaField } from "../../entity/schema/entity-schema-field";

/**
 * Similar to the 'date-only' datatype but it uses the `DateWithAge` class which provides the `age` function.
 */
@Injectable()
export class DateWithAgeDatatype extends DateOnlyDatatype {
  static override dataType = "date-with-age";
  static override label: string = $localize`:datatype-label:date of birth (date + age)`;

  override editComponent = "EditAge";

  override transformToObjectFormat(
    value,
    schemaField: EntitySchemaField,
    parent: any,
  ): DateWithAge {
    const dateValue = super.transformToObjectFormat(value, schemaField, parent);
    if (!dateValue) {
      return undefined;
    }
    return new DateWithAge(dateValue);
  }
}

results matching ""

    No results matching ""