File

libs/core/dynamic-form/input/src/input.model.ts

Index

Properties

Properties

convertTo (Optional)
Type MaskConversionTypes
Description

Convert mask, e.g. to upper case. Default: No conversion.

dropSpecialCharacters (Optional)
Type boolean
Description

Remove special characters in the value output. Default: false

nxMask
Type string
Description

0: digits (0 to 9 numbers) A: letters (uppercase and lowercase), digits S: letters (uppercase and lowercase)

Thus, if you write 000-AAA this specifies a mask that consists of three numbers and then three letters, with a separator in the middle

separators (Optional)
Type string[]
Description

The default separators are /, (, ), ., :, -, +, , and space.

validateMask (Optional)
Type boolean
Description

Mask should be part of the validation. Default: true

import { DfInteractiveBaseConfig } from '@allianz/taly-core/dynamic-form';
import { MaskConversionTypes } from '@aposin/ng-aquila/mask';

/**
 * The value to use for the `type` attribute of input
 * formfield configs.
 */
export const DfInputTypeName = 'INPUT';

/**
 * @additionalProperties false
 */
export interface NxMaskConfiguration {
  /**
   * 0: digits (0 to 9 numbers)
   * A: letters (uppercase and lowercase), digits
   * S: letters (uppercase and lowercase)
   *
   * Thus, if you write 000-AAA this specifies a mask that consists of three
   * numbers and then three letters, with a separator in the middle
   */
  nxMask: string;

  /**
   * The default separators are /, (, ), ., :, -, +, , and space.
   */
  separators?: string[];

  /**
   * Remove special characters in the value output.
   * Default: false
   */
  dropSpecialCharacters?: boolean;

  /**
   * Mask should be part of the validation.
   * Default: true
   */
  validateMask?: boolean;

  /**
   * Convert mask, e.g. to upper case.
   * Default: No conversion.
   */
  convertTo?: MaskConversionTypes;
}

/**
 * Configuration for a dynamic input field.
 *
 * @additionalProperties false
 */
export interface DfInputConfig extends DfInteractiveBaseConfig {
  /**
   * Specifies the type of the field as `INPUT`.
   */
  type: typeof DfInputTypeName;

  /**
   * The type of input element to use.
   *
   * Only types supported by NDBX's Input component are permitted.
   *
   * Explanations for the different kinds of input can be found here:
   * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input
   *
   * Careful! When an nxMask is used, only "password", "search", "tel", "text", "url" are supported.
   */
  inputType: 'color' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url';

  /**
   * Placeholder to be displayed in the field when the input is empty.
   * It's translatable by default and supports string interpolation.
   * @examples ["Placeholder", "Placeholder with dynamic value {$['bb-pgr-simple'].date}"]
   */
  placeholder?: string;
  /**
   * Configuration of an ndbx input mask.
   * See the ndbx documentation on how to use the inputs:
   * https://api-test.allianz.com/ngx-ndbx-dev/my-viewer/documentation/mask/overview
   */
  nxMask?: NxMaskConfiguration;
  /**
   * Boolean to determine if input is iban type
   */
  isIban?: boolean;
  /**
   * Boolean to determine if input value needs to be formatted to uppercase
   */
  formatUpperCase?: boolean;

  /**
   * The maximum number of characters allowed for user input.
   */
  maxLength?: number;

  /**
   * Prefix text to place at the start of this field's input.
   * It's translatable by default and supports string interpolation.
   */
  inputPrefix?: string;

  /**
   * Suffix text to place at the end of this field's input.
   * It's translatable by default and supports string interpolation.
   */
  inputSuffix?: string;
}

results matching ""

    No results matching ""