Application Load

ICartOptionGroup

The physical TypeScript declaration from the Nuxt starter, with linked types and field comments.

ICartOptionGroup

Cart option group with text, file or product choices.

app/interfaces/orionplace/cart/ICartData.ts
TypeScript
export interface ICartOptionGroup {
  // Cart option-group record ID.
  id: number;
  // Saved option text.
  option_text_data: string;
  // Saved file basename, without its storage path.
  option_file_data: string;
  // Option-group translations.
  option_name: Record<
    string,
    {
      // Cart option-group record ID.
      id?: number;
      // Optional value of option_group_display_name; it may be omitted.
      option_group_display_name?: string;
    }
  >;
  // Option-type metadata.
  option_type: ICartOptionType | null;
  // True requires saved nonblank text, a saved file or a product option with
  // positive quantity, according to option_type.
  option_group_required: boolean;
  // Option-group image URL.
  image_url: string | null;
  // The same option-group image URL.
  option_image: string | null;
  // c_max_product_quantity_in_group caps one record.
  // c_max_products_quantity_for_group caps same-product records during
  // selection and the total selected product quantity at order creation. Zero
  // disables each cap. `file_max_mb` is the upload limit in MB for a file
  // option (`0` means no limit); show it beside the file field.
  limits: {
    // Value of c_max_products_quantity_for_group.
    c_max_products_quantity_for_group: number;
    // Value of c_max_product_quantity_in_group.
    c_max_product_quantity_in_group: number;
    /** Upload limit in MB (domain setting `cart_option_file_max_mb`); 0 means no limit. */
    file_max_mb?: number;
  };
  // Delivery-item ID for a physical product.
  delivery_from_list?: number;
  // Cart-item ID for a digital product.
  cart_item?: number;
  // Available option products; can be omitted if preparing this list fails.
  options?: ICartOption[];
}