@jaspersoft/jv-tools
Version:
Tools for working with JasperReports Server's Visualize.js
79 lines (78 loc) • 2.4 kB
TypeScript
export { default as useVisualize } from '../visualize/hooks/useVisualize';
export type InputControlDataTypeType = string | "date" | "datetime" | "time" | "text" | "number" | undefined;
export interface InputControlDataType {
type?: InputControlDataTypeType;
pattern?: string;
maxValue?: string;
strictMax?: boolean;
minValue?: string;
strictMin?: boolean;
maxLength?: number;
}
export interface InputControlValidationRule {
dateTimeFormatValidationRule?: {
errorMessage: string;
format: string;
};
mandatoryValidationRule?: {
errorMessage: string;
};
regexpValidationRule?: {
errorMessage: string;
inverted: boolean;
regexp: string;
};
rangeValidationRule?: {
errorMessage: string;
inverted: boolean;
maxValue: number;
minValue: number;
includeMaxValue: boolean;
includeMinValue: boolean;
};
}
export interface InputControlOption {
selected: boolean;
label: string;
value: string;
}
export interface InputControlState {
id: string;
uri: string;
value?: string | string[] | boolean;
error?: string;
totalCount?: string;
options?: InputControlOption[];
}
export type InputControlType = string | "bool" | "singleValueText" | "singleValueNumber" | "singleValueDate" | "singleValueDatetime" | "singleValueTime" | "singleSelect" | "singleSelectRadio" | "multiSelect" | "multiSelectCheckbox" | undefined;
export interface CommonInputControlProperties {
id: string;
type: InputControlType;
label: string;
mandatory: boolean;
readOnly: boolean;
visible: boolean;
description?: string;
uri?: string;
state?: InputControlState;
validationRules?: InputControlValidationRule[];
dataType?: InputControlDataType;
isLoading?: boolean;
masterDependencies?: string[];
slaveDependencies?: string[];
}
export interface InputControlProperties extends CommonInputControlProperties {
events?: {
change: (ic: {
[key: string]: CommonInputControlProperties[];
}, validationResult?: {
[key: string]: string;
} | boolean) => void;
};
parameters?: {
[key: string]: string[];
};
handleIcChange?: (ctrlUpdated: CommonInputControlProperties, resultValidation?: {
[key: string]: string;
}) => void;
}