You can add a column to your importer directly through the UI of your Fuse account, or you can do so in code using the documentation below.

The Dropdown column type displays a select box for the user to pick from an array of values.

addColumn Function

The addColumn function accepts an object as an argument.

  • internal_key (String) - required: The internal key used to access a column’s value.
  • label (String) - required: The user-facing column label that is shown in the interface.
  • column_type (String) - required: Should be “enum”.
  • required (String) - required: Whether or not the column is required.
  • values (Array) - required: An array of values for the dropdown.
  • position (Optional): The position or order of the column.
  • unique (Optional): Whether values should be unique.
  • validations (Optional): An array of built-in data validations. See Built-in Enum Validations.
  • transformations (Optional): An array of built-in data transformations. See Built-in Enum Transformations

Example Code

  const importer = new FuseImporter(organizationApiKey, importerId);

  const values = ["Pizza", "Sushi", "Burger"];

  const validations = [
    {
      validation_type: "unique_case_insensitive",
      message: "Must be unique (case insensitive)",
    },
  ];

  const transformations = [
    {
      transformation_type: "autodetect",
    },
  ];

  importer.addColumn({
    internal_key: "food_options",
    label: "Food Options",
    column_type: "enum",
    required: true,
    position: 1,
    unique: true,
    values: values,
    validations: validations,
    transformations: transformations,
  });

  importer.show();

Built-in Enum Validations

The options property of addColumn accepts an array of validations. For the Enum validation, you can specify two properties:

  • validation_type: the name of the validation
  • message: the message showed to the end user if the validation fails

The validations property accepts an array of objects that contains these possible values: validation_type, message. As the example below:

validations: [
  {
    validation_type: "unique_case_sensitive",
    message: "Must be unique (case sensitive)",
  },
];

unique_case_sensitive

Specifies that the value must be unique using case-sensitive comparison.

validations: [
  {
    validation_type: "unique_case_sensitive",
    message: "Must be unique (case sensitive)",
  },
];

unique_case_insensitive

Specifies that the value must be unique using case-insensitive comparison.

validations: [
  {
    validation_type: "unique_case_insensitive",
    message: "Must be unique (case insensitive)",
  },
];

Built-in Enum Transformations

The options property of addColumn accepts an array of transformations. For the time transformations, you can specify one property:

  • transformation_type: the name of the transformation

The transformations property accepts an array of objects that contains these possible values: transformation_type. As the example below:

transformations: [
  {
    transformation_type: "autodetect",
  },
];

autodetect

The autodetect transformation analyzes the values in the column and automatically converts them to a more meaningful representation. For example, it can convert numerical values like 0 and 1 to boolean values like true and false.

transformations: [
  {
    transformation_type: "autodetect",
  },
];