Skip to content

Conditional Formatting

  • Auto-installed DialogPlugin: Uses the shared Pro dialog runtime for conditional-formatting editors.
class ConditionalFormattingDialogPlugin {
open(options: ConditionalFormattingDialogOpenOptions): void;
close(): void;
}

export function createConditionalFormattingEditor({
document,
localeText,
operators,
initialValue,
}: ConditionalFormattingEditorOptions): ConditionalFormattingEditor;

interface ConditionalFormattingEditor {
readonly element: HTMLElement;
readonly secondValueField: HTMLLabelElement;
readonly preview: HTMLElement;
getDraft(): ConditionalFormattingDialogDraft;
isValid(): boolean
}

interface ConditionalFormattingOperatorOption {
readonly value: string;
readonly label: string;
readonly usesSecondValue?: boolean
}

interface ConditionalFormattingDialogDraft {
readonly operator: string;
readonly value: string;
readonly secondValue: string;
readonly backgroundColor: string;
readonly textColor: string
}

interface ConditionalFormattingDialogLocaleText {
readonly description: string;
readonly rule: string;
readonly condition: string;
readonly value: string;
readonly secondValue: string;
readonly valuePlaceholder: string;
readonly secondValuePlaceholder: string;
readonly appearance: string;
readonly background: string;
readonly text: string;
readonly preview: string;
readonly sampleValue: string;
readonly clearRules: string;
readonly cancel: string;
readonly apply: string
}

interface ConditionalFormattingDialogOpenOptions {
readonly title: string;
readonly closeLabel: string;
readonly localeText: ConditionalFormattingDialogLocaleText;
readonly operators: readonly ConditionalFormattingOperatorOption[];
readonly initialValue?: Partial<ConditionalFormattingDialogDraft>;
readonly onApply: (draft: ConditionalFormattingDialogDraft) => void;
readonly onClear: () => void
}