import { Formatter } from '@nodata/redux-utils'; import { ResourceContent } from './ResourceContent.js'; export interface SelectedResource { pagePath?: Array; gridPath?: Array; } /** * A resource is a Renderable element. * * @prop type The resource type. * @prop content The content for this resource. * @prop events The events applied on this resource. */ export interface Resource { readonly content?: ResourceContent; readonly events?: ResourceEvents; } export interface ResourceEvents { readonly mouseEnter?: ResourceEvent; readonly mouseLeave?: ResourceEvent; readonly mouseOver?: ResourceEvent; readonly mouseOut?: ResourceEvent; readonly click?: ResourceEvent; readonly select?: ResourceEvent; readonly unselect?: ResourceEvent; readonly move?: ResourceEvent; } export type ResourceEvent = Formatter<(pagePath: Array, gridPath: Array) => void>; export interface ResourceStyle { readonly style?: any; readonly cssClass?: string; }