@mikezimm/fps-library-v2
Version:
Library of reusable typescript/javascript functions, interfaces and constants
133 lines (131 loc) • 5.99 kB
TypeScript
/**
* CodeAnalizerComment: Updated 2 imports on 2024-09-22 14:49:52
* Update:: import { IAnySourceItem } to '@mikezimm/fps-core-v7/lib/components/molecules/AnyContent/IAnyContent;'
* Update:: import { IStateSource } to '@mikezimm/fps-core-v7/lib/components/molecules/state-source/IStateSource;'
*/
/// <reference types="react" />
/**
* CodeAnalizerComment: Updated 4 imports on 2024-09-21 23:07:24
* Update:: import { IAnySourceItem } to '@mikezimm/fps-core-v7/lib/components/molecules/AnyContent/IAnyContent;'
* Update:: import { IStateSource } to '@mikezimm/fps-core-v7/lib/components/molecules/state-source/IStateSource;'
* Update:: import { ISourceProps } to '@mikezimm/fps-core-v7/lib/components/molecules/source-props/ISourceProps;'
* Update:: import { IFPSFilterButtonWPProps } to '@mikezimm/fps-core-v7/lib/components/atoms/FilterButtons/interfaces/IFPSFilterButtonWPProps;'
*/
import { IAnySourceItem } from '@mikezimm/fps-core-v7/lib/components/molecules/AnyContent/IAnyContent';
import { IMinPageArrowsState, IPageArrowsParentProps } from '../Arrows/PageArrows';
import { ISourceRowRender, ISourceRowRenderExpand } from "@mikezimm/fps-core-v7/lib/components/molecules/SourcePage/ISourceRowRender";
import { IStateSource } from '@mikezimm/fps-core-v7/lib/components/molecules/state-source/IStateSource';
import { ISourceProps } from "@mikezimm/fps-core-v7/lib/components/molecules/source-props/ISourceProps";
import { IReactJSONSettingsV1 } from '../../atoms/ReactJSON/IReactJSONSettingsV2';
import { IFPSFilterButtonWPProps } from '@mikezimm/fps-core-v7/lib/components/atoms/FilterButtons/interfaces/IFPSFilterButtonWPProps';
export type ITableHeaderElement = string | JSX.Element;
export type IMultiSelectCommand = 'Select Visible' | 'Un-Select Visible' | 'Clear All';
export declare const DefaultMultiSelectCommands: IMultiSelectCommand[];
/**
* All multiSelect properties work together....
* PARENT COMPONENT callback function MUST handle all the selected logic.
*/
export interface IFPSMultiSelectSourceProps {
multiSelectKeyword?: string | 'IconOnly';
multiSelectCommands?: IMultiSelectCommand[];
multiSelectCall?(command: IMultiSelectCommand, items: IAnySourceItem[]): void;
}
export interface ISourcePagesProps extends IPageArrowsParentProps, IFPSMultiSelectSourceProps {
resetArrows?: string;
ageSlider?: boolean;
searchAgeProp?: string;
searchAgeOp?: 'show >' | 'show <';
ageIndexDefault?: number;
startQty: number;
showItemType: boolean;
primarySource: ISourceProps;
topButtons: string[];
QFButtons?: IFPSFilterButtonWPProps[];
pageWidth: number;
deepProps: string[];
stateSource: IStateSource;
forceRender?: string;
renderRow(props: ISourceRowRender): JSX.Element;
disableSpinner?: boolean;
sourcePageClassName?: string;
tableHeaderElements?: ITableHeaderElement[];
tableClassName?: string;
tableStyles?: React.CSSProperties;
tableFractionalWidths?: string[];
tableHeaderClassName?: string;
selectedClass: string;
onParentCall(command: string, Id: number, type: string, item: IAnySourceItem, retainViewXdidUpdates?: number): void;
sendItemToParent?: (command: string, Id: number, type: string, item: IAnySourceItem, event?: React.MouseEvent<HTMLElement>) => void;
/**
* 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;
onParentCallMultiClick?: (command: string, Id: number, type: string, items: IAnySourceItem[], retainViewXdidUpdates?: number) => void;
optionalColumns1?: string[];
optionalColumns2?: string[];
optionalColumns3?: string[];
optionalColumns4?: string[];
optionalColumns5?: string[];
optionalColumns6?: string[];
optionalColumns7?: string[];
debugMode?: boolean;
showGoToList?: boolean;
headingElement?: JSX.Element;
footerElement?: JSX.Element;
ReactJSONSettings?: IReactJSONSettingsV1;
jsonOption?: ISourceJsonOption;
jsonObject?: ISourceJsonObject;
jsonFiltered?: ISourceJsonFilter;
onParentRequestsFiltered?: (items: IAnySourceItem[], cmd: string, idx: number) => void;
onParentRequestsFilteredCmds?: string[];
onParentDisabled?: boolean;
}
export type ISourceJsonOption = 'Only' | 'Default' | 'Enable' | 'Never';
export type ISourceJsonObject = 'stateSource' | 'items';
export type ISourceJsonFilter = 'filtered' | 'unfiltered' | 'both';
export type ISort = 'asc' | 'desc' | '-';
export interface ISourcePagesState extends IMinPageArrowsState {
resetArrows?: string;
filtered: any[];
topSearch: string[];
showItemPanel: boolean;
showThisItem: IAnySourceItem;
showCanvasContent1: boolean;
showPanelJSON: boolean;
sortNum: ISort;
sortName: ISort;
sortGroup: ISort;
searchText: string;
searchTime: number;
searchAge: number;
refreshId: string;
detailToggle: boolean;
enableAge: boolean;
lastItemMultiClickIdx: number;
renderJSON: boolean;
infinateItems: boolean;
parentRequestStatus0: string;
parentRequestStatus1: string;
parentRequestStatus2: string;
parentRequestStatus3: string;
}
//# sourceMappingURL=ISourcePagesProps.d.ts.map