@mikezimm/fps-core-v7
Version:
Library of reusable core interfaces, types and constants migrated from fps-library-v2
86 lines (83 loc) • 3.72 kB
TypeScript
/**
* CodeAnalizerComment: Updated 1 imports on 2024-09-22 14:49:52
* Update:: import { IAnySourceItem } to '@mikezimm/fps-core-v7/lib/components/molecules/AnyContent/IAnyContent;'
*/
import { IReactCSSProperties } from "../../../types/react/IReactCSSTypes";
import { IMinReactMouseEvent } from "../../../types/react/IReactEvents";
import { IAnySourceItem } from "../AnyContent/IAnyContent";
/**
* CodeAnalizerComment: Updated 1 imports on 2024-09-21 23:07:24
* Update:: import { IAnySourceItem } to '@mikezimm/fps-core-v7/lib/components/molecules/AnyContent/IAnyContent;'
*/
/**
* Based on RTF Fixer Expand button logic
* Apply height dynamically based on the state of isExpanded
const RichTextHeight: React.CSSProperties = {
height: isExpanded ? 'auto' : `${ 6 + ReplaceOWizard.changes.length }em`,
display: isExpanded ? 'table-cell' : '-webkit-box', // Adjust display property to suit content flow
};
So each 'option' would look like ( where 'auto' eq full height ):
height: 'auto' OR '6em' OR '3em'
*/
export declare const SourceRowRenderExpandDefaults: ISourceRowRenderExpandOption[];
/**
* Important note about ISourceRowRenderExpandOption
* The buttonLabel is the text on the button indicating what will happen.
* HOWEVER, the styles on the button are what the current setting should be.
* This means that the label might say Expand but the styles would be height: '3em'
*/
export interface ISourceRowRenderExpandOption {
buttonLabel: string;
iconName?: string;
styles: IReactCSSProperties;
}
export interface ISourceRowRenderExpand {
enable: boolean;
className?: string;
styles?: IReactCSSProperties;
options: ISourceRowRenderExpandOption[];
defaultOptionIdx?: number;
}
export interface ISourceRowRender {
item: IAnySourceItem;
searchText: string;
optionalColumns1?: string[];
optionalColumns2?: string[];
optionalColumns3?: string[];
optionalColumns4?: string[];
optionalColumns5?: string[];
optionalColumns6?: string[];
optionalColumns7?: string[];
onClick: (Id: number, type: string, item: IAnySourceItem, event: IMinReactMouseEvent<HTMLElement>) => void;
onPropFilter: (prop: string, value: string, event: IMinReactMouseEvent<HTMLElement>) => void;
onTextFilter: (value: string, event: IMinReactMouseEvent<HTMLElement>) => void;
onOpenPanel?: (Id: number, type: string, item: IAnySourceItem, event: IMinReactMouseEvent<HTMLElement>) => void;
onParentCall?: (command: string, Id: number, type: string, item: IAnySourceItem, retainViewXdidUpdates?: number, event?: IMinReactMouseEvent<HTMLElement>) => void;
sendItemToParent?: (command: string, Id: number, type: string, item: IAnySourceItem, event?: IMinReactMouseEvent<HTMLElement>) => void;
details: boolean;
showItemType: boolean;
/**
* 2025-03-01: Added options for:
* expand: https://github.com/fps-solutions/Rtf-Fixer/issues/79
* openitem: https://github.com/fps-solutions/Rtf-Fixer/issues/80
*/
expand?: ISourceRowRenderExpand;
openItemButton?: boolean;
/**
* 2025-03-01: Added these so I can more easily pass in some typed custom parameters
* which can be used in custom row rendering more easily
*/
rowParamBoo1?: boolean;
rowParamBoo2?: boolean;
rowParamBoo3?: boolean;
rowParamStr1?: string;
rowParamStr2?: string;
rowParamStr3?: string;
rowParamNum1?: number;
rowParamNum2?: number;
rowParamNum3?: number;
rowParamObj1?: any;
rowParamObj2?: any;
rowParamObj3?: any;
}
//# sourceMappingURL=ISourceRowRender.d.ts.map