UNPKG

@manuth/woltlab-compiler

Version:

A compiler for generating WoltLab-Package `.tar` Archives and other WoltLab-Package Components

62 lines (61 loc) 1.79 kB
import { ILocalization } from "../Globalization/ILocalization.js"; import { IOptionItemOptions } from "./IOptionItemOptions.js"; import { OptionType } from "./OptionType.js"; /** * Provides options for the {@link Option `Option`} class. */ export interface IOptionOptions { /** * The id of the option. */ ID?: string; /** * The name of the option. */ Name: string; /** * The human readable name of the option. */ DisplayName?: ILocalization; /** * The description of the option. */ Description?: ILocalization; /** * The type of the option. */ Type?: OptionType | string; /** * The default value of the option. */ DefaultValue?: any; /** * The show-order of the option. */ ShowOrder?: number; /** * The validation-pattern of the option. */ ValidationPattern?: RegExp; /** * The items of the option. */ Items?: IOptionItemOptions[]; /** * A list of options of which at least one needs to be enabled for the option to be shown. */ Options?: string[]; /** * A list of options which should be visually enabled when this option is enabled. * A leading exclamation mark (`!`, `U+0021`) will disable the specified option when this option is enabled. * For `ComboBox` and `RadioButton` types the list should be prefixed by the name of the `selectoption`s followed by a colon (`:`, `U+003A`). * * This setting is a visual helper for the administrator only. * It does not have an effect on the server side processing of the option. */ EnableOptions?: string[]; /** * Additional properties of the option. */ AdditionalProperties?: Record<string, unknown>; }