@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
38 lines (37 loc) • 1.68 kB
TypeScript
import { ButtonStyle } from './ButtonStyle';
import { AdaptableObject } from './AdaptableObject';
import { AdaptableIcon } from './AdaptableIcon';
import { BaseContext } from '../../types';
/**
* Defines a Button that appears in numerous places including Adaptable Form
*/
export interface AdaptableButton<CONTEXT_TYPE extends BaseContext> extends AdaptableObject {
/**
* Label for Button - can be string or function that provides string
*/
label?: string | ((button: AdaptableButton<CONTEXT_TYPE>, context: CONTEXT_TYPE) => string);
/**
* Style for Button - can be object or function that provides a `ButtonStyle` object
*/
buttonStyle?: ButtonStyle | ((button: AdaptableButton<CONTEXT_TYPE>, context: CONTEXT_TYPE) => ButtonStyle);
/**
* Icon for Button - can be object or function that provides a `AdaptableIcon` object
*/
icon?: AdaptableIcon | ((button: AdaptableButton<CONTEXT_TYPE>, context: CONTEXT_TYPE) => AdaptableIcon);
/**
* Tooltip for Button - can be string or function that provides string
*/
tooltip?: string | ((button: AdaptableButton<CONTEXT_TYPE>, context: CONTEXT_TYPE) => string);
/**
* Function that disables / enables the button based on its evaluation result
*/
disabled?: (button: AdaptableButton<CONTEXT_TYPE>, context: CONTEXT_TYPE) => boolean;
/**
* Function to invoke when button is clicked
*/
onClick?: (button: AdaptableButton<CONTEXT_TYPE>, context: CONTEXT_TYPE) => void;
/**
* Function which sets whether Button is hidden
*/
hidden?: (button: AdaptableButton<CONTEXT_TYPE>, context: CONTEXT_TYPE) => boolean;
}