UNPKG

@highcharts/dashboards

Version:
90 lines (89 loc) 2.83 kB
import type Component from './Component.js'; declare class EditableOptions { static defaultBindings: EditableOptions.OptionsBindings; static defaultTypeMap: Record<string, string>; component: Component; bindings: EditableOptions.OptionsBindings; constructor(component: Component, bindings?: EditableOptions.OptionsBindings); getOptions(): (Array<EditableOptions.Options>); } declare namespace EditableOptions { /** * Configuration for a single option in editable options. If type is * `nested` the options are rendered in the accordion menu, with rest of the * options defined in the detailed options. */ interface Options { /** * Name of the option which will be displayed on the label. */ name: string; /** * Type of the editable element. */ type: ElementType; /** * Whether render it as a standalone element without a group. */ isStandalone?: boolean; /** * Detailed options that should be included in the accordion menu. * Available for `nested` type. */ nestedOptions?: Array<NestedOptions>; /** * Relative path to the option, that should be changed in the component. * eg: `['chart', 'title', 'text']` */ propertyPath?: Array<string>; /** * Items that should be included in the select element. */ selectOptions?: Array<SelectOptions>; } /** * Options of the single option in the select dropdown. */ interface SelectOptions { /** * Name of the item that should be displayed. */ name: string; /** * URL of the icon that should be displayed. It is concatenated with * `iconURLPrefix` option. */ iconURL?: string; } /** * Type of the input to be displayed. */ type ElementType = 'input' | 'textarea' | 'toggle' | 'select' | 'nested'; /** * Configuration for a single option in detailed options. */ interface NestedOptions { /** * Name of the option that should be displayed. */ name: string; /** * Whether the option should have a toggle to be enabled or disabled. */ showToggle?: boolean; /** * Relative path to the option, that should be changed in the component. */ propertyPath?: Array<string>; /** * Options that should be included in the folded menu. */ options: Array<Options>; } interface OptionsBindings { keyMap: Record<string, string>; typeMap: Record<string, string>; skipRedraw: string[]; } } export default EditableOptions;