bixi
Version:
企业级中后台前端解决方案
221 lines (198 loc) • 3.71 kB
text/typescript
export interface ILabel {
uuid?: string;
tagId?: string;
stroke?: string;
fill?: string;
index: number;
word: string;
selected?: boolean;
direction?: string;
}
export interface ILabelStyle {
uuid: string;
fill?: string;
stroke?: string;
}
export interface ISerarchParams {
keyword: string;
caseSensitive: boolean;
}
export interface ISearchResult extends ISerarchParams {
result?: {
[prop: number]: {
pageNumber: number;
pre: string;
next: string;
}[];
};
}
export interface IClickMetadata {
altKey: boolean;
ctrlKey: boolean;
metaKey: boolean;
shiftKey: boolean;
which: number;
}
interface ILabelsEvent {
data: ILabel[];
position: {
top: number;
left: number;
width: number;
height: number;
};
}
export type ILabelingEvent = ILabelsEvent;
export type IDeleteLabelsEvent = ILabelsEvent;
export type IHoverInLabelsEvent = ILabelsEvent;
export interface IClickLabelsEvent extends ILabelsEvent {
metadata: IClickMetadata;
}
export interface IPagination {
pageNumber: number;
pageCount: number;
}
export interface IInitOptions {
id: string;
pdfUrl: string;
pdfInfoUrl: string;
pdfCharsUrl: string;
pdfMode: string;
labelMode: LabelTableMode | LabelTextMode;
pdfSize?: number;
labels?: ILabel[];
tables?: ISafeAny[];
}
export interface ISearchLabelByUuidParams {
uuid: string;
pageNumber?: number;
isHighlight?: boolean;
level?: number;
offsetTop?: number;
stroke?: string;
fill?: string;
}
export interface ISearchLabelByIndexParams {
index: number;
word?: string;
isHighlight?: boolean;
level?: number; // 定位等级 1.置顶 2.当前页 3.窗口视图中间
offsetTop?: number; // 距离窗口高度
}
export interface ISearchTableCellParams {
pageNumber: number;
x: number;
y: number;
scale?: number;
}
export interface IViewPort {
height: number;
left: number;
scale: number;
top: number;
width: number;
zoom: number;
}
export interface ITableMatrix {
tableId: string;
type: 'update' | 'insert' | 'delete';
pageNumber: number;
area: number[]; // [left top width height]
lines: number[][][];
}
// tslint:disable-next-line: no-any
export type ISafeAny = any;
export enum LabelTextMode {
/**
* 禁止标注
*/
non = 'non',
/**
* 划选
*/
textSlip = 'textSlip',
/**
* 框选
*/
textFrame = 'textFrame',
/**
* 组合
*/
textGroup = 'textGroup'
}
export enum LabelTableMode {
/**
* 新增表格
*/
tableAddTbl = 'tableAddTbl',
/**
* 调整表格
*/
tableResizeTbl = 'tableResizeTbl',
/**
* 删除表格
*/
tableDelTbl = 'tableDelTbl',
/**
* 增加横线
*/
tableAddHLine = 'tableAddHLine',
/**
* 增加竖线
*/
tableAddVLine = 'tableAddVLine',
/**
* 增加表格线 (任意长度)
*/
tableAddLine = 'tableAddLine',
/**
* 调整线条
*/
tableResizeCell = 'tableResizeCell',
/**
* 删除线
*/
tableDelLine = 'tableDelLine',
/**
* 删除单元格线
*/
tableDelCellLine = 'tableDelCellLine',
/**
* 合并单元格
*/
tableMergeCell = 'tableMergeCell',
/**
* 拆分单元格
*/
tableSplitCell = 'tableSplitCell',
// /**
// * 选择单元格
// */
// tableSelectCell = 'tableSelectCell',
/**
* 隐藏框线
*/
tableHideTable = 'tableHideTable',
/**
* 显示框线
*/
tableShowTable = 'tableShowTable'
}
export enum PdfMode {
/**
* 全部功能
*/
full = 'full',
/**
* 只读
*/
readonly = 'readonly',
/**
* 只删
*/
deleteonly = 'deleteonly',
/**
* 预览(只能查看pdf文档)
*/
preview = 'preview'
}