@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
130 lines (129 loc) • 3.57 kB
TypeScript
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { DiagramParams, DiagramServices } from "@docsvision/webclient/Platform/DiagramOptions";
import { ITransformOptions } from "@docsvision/webclient/Platform/TransformToChartData";
export interface IDiagramLogic extends DiagramParams {
children?: Array<unknown>;
services: DiagramServices;
}
export interface IChartData {
labels?: string[];
series?: number[] | Array<{
data: number[];
name?: string;
}>;
options: {
[key: string]: unknown;
};
}
export declare enum QueryKind {
FolderQuery = 0,
SearchQuery = 1
}
export interface IChartDataElement {
value: number;
label: string;
}
export interface IChartColumn {
name: string;
id: string;
type: DiagramColumnType;
}
export interface IColValue {
value: string;
count: number;
primaryValue?: string;
}
export interface IChartColumns {
primary: IChartColumn;
secondary: IChartColumn;
}
export interface IParsedColumns {
primary: IColValue[];
secondary: IColValue[];
}
export interface IParsedModel {
data?: IParsedColumns;
chartColumns?: IChartColumns;
}
export interface ISeriesAccumulation {
name: string;
primaryCount: {
[key: string]: number | null;
};
}
export interface IDiagramChosenQueryParams {
items: Array<{
parameterName: string;
selected: unknown;
}>;
}
export interface IDiagramQueryParameter {
enabled?: boolean;
name: string;
valueContainer: string;
controlTypeName: string;
}
export interface IChartConfigModel {
representation: any;
series: any;
xaxis: any;
type: any;
labels: any;
legend: any;
title: any;
colorNum: any;
colorMode: any;
}
export interface IPointConfig {
dataPointIndex: number;
selectedDataPoints: {
[p: number]: number[];
};
seriesIndex: number;
}
export interface IApexChart {
updateOptions: (...args: any[]) => void;
updateSeries: (series: number[] | Array<{
data: number[];
name?: string;
}>) => void;
render: () => void;
}
export declare type DiagramRequestModel = GenModels.CardListRequestModel | GenModels.SearchRequestModelDiagram;
export interface IDiagramRequestStrategy {
options: DiagramParams;
createRequest: (options: DiagramParams) => DiagramRequestModel | GenModels.DistinctValuesDiagramRequestModel;
requestData: (request: DiagramRequestModel) => Promise<ParseDiagramModel>;
parseModel: (model: ParseDiagramModel, options: IParseDiagramOptions) => IParsedModel;
transformToChartData: (model: IParsedModel, options: ITransformOptions) => IChartData;
}
export interface IDiagramLoaderRectParams {
x: number;
y: number;
rectHeight?: number;
numberOfElements?: number;
wrapHeight?: number;
contentWidth?: number;
legendX?: number;
legendY?: number;
isHorizontal?: boolean;
}
export interface IDiagramLoaderLegendParams {
x: number;
y: number;
isHorizontal?: boolean;
isCircleBullets?: boolean;
}
export interface IParseDiagramOptions {
queryKind: QueryKind;
params: Partial<DiagramParams>;
}
export declare type ParseDiagramModel = GenModels.SearchResponseModelDiagram | GenModels.DistinctDiagramValuesModel;
export declare type ChartClass = new (root: HTMLElement, options: unknown) => IApexChart;
export declare type ChartModule = {
default: ChartClass;
};
export declare enum DiagramColumnType {
Common = 0,
Date = 1
}