Skip to content

Column Add Popup

AdditionalData (Extended from @revolist/revogrid)

Section titled “AdditionalData (Extended from @revolist/revogrid)”
interface AdditionalData {
/**
* Column add popup plugin configuration.
*
* @deprecated Prefer the direct `grid.columnAddPopup` property.
*/
columnAddPopup?: ColumnAddPopupConfig
}

HTMLRevoGridElement (Extended from global)

Section titled “HTMLRevoGridElement (Extended from global)”
interface HTMLRevoGridElement {
/**
* Column add popup plugin configuration.
*/
columnAddPopup?: ColumnAddPopupConfig
}
class ColumnAddPopupPlugin {
open(trigger: HTMLElement, originalEvent: MouseEvent);
destroy();
}

export type ColumnAddPopupTone =
| 'green'
| 'blue'
| 'cyan'
| 'red'
| 'orange'
| 'yellow'
| 'violet'
| 'pink'
| 'gray';

interface ColumnAddPopupItem {
id: string;
label: string;
description?: string;
icon?: string;
tone?: ColumnAddPopupTone;
disabled?: boolean;
selected?: boolean
}

interface ColumnAddPopupSection {
title: string;
items: ColumnAddPopupItem[]
}

interface ColumnAddPopupSelectContext {
item: ColumnAddPopupItem;
selected: boolean;
grid: HTMLRevoGridElement;
originalEvent: MouseEvent;
close: () => void
}

interface ColumnAddPopupItemStateContext {
item: ColumnAddPopupItem;
grid: HTMLRevoGridElement
}

interface ColumnAddPopupFooterContext {
grid: HTMLRevoGridElement;
originalEvent: MouseEvent;
close: () => void
}

interface ColumnAddPopupConfig {
sections?: ColumnAddPopupSection[];
title?: string;
footerLabel?: string;
className?: string;
isSelected?: (context: ColumnAddPopupItemStateContext) => boolean;
onSelect?: (context: ColumnAddPopupSelectContext) => void;
onFooterClick?: (context: ColumnAddPopupFooterContext) => void
}