You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.0 KiB
102 lines
2.0 KiB
import { IElement, ImageDisplay, IRange } from '..'
|
|
import { EditorZone } from '../dataset/enum/Editor'
|
|
import { IElementPosition } from './Element'
|
|
import { IRow } from './Row'
|
|
import { ITd } from './table/Td'
|
|
|
|
export interface ICurrentPosition {
|
|
index: number
|
|
x?: number
|
|
y?: number
|
|
isCheckbox?: boolean
|
|
isRadio?: boolean
|
|
isControl?: boolean
|
|
isImage?: boolean
|
|
isTable?: boolean
|
|
isDirectHit?: boolean
|
|
trIndex?: number
|
|
tdIndex?: number
|
|
tdValueIndex?: number
|
|
tdId?: string
|
|
trId?: string
|
|
tableId?: string
|
|
zone?: EditorZone
|
|
hitLineStartIndex?: number
|
|
}
|
|
|
|
export interface IGetPositionByXYPayload {
|
|
x: number
|
|
y: number
|
|
pageNo?: number
|
|
isTable?: boolean
|
|
td?: ITd
|
|
tablePosition?: IElementPosition
|
|
elementList?: IElement[]
|
|
positionList?: IElementPosition[]
|
|
}
|
|
|
|
export type IGetFloatPositionByXYPayload = IGetPositionByXYPayload & {
|
|
imgDisplay: ImageDisplay
|
|
}
|
|
|
|
export interface IPositionContext {
|
|
isTable: boolean
|
|
isCheckbox?: boolean
|
|
isRadio?: boolean
|
|
isControl?: boolean
|
|
isImage?: boolean
|
|
isDirectHit?: boolean
|
|
index?: number
|
|
trIndex?: number
|
|
tdIndex?: number
|
|
tdId?: string
|
|
trId?: string
|
|
tableId?: string
|
|
}
|
|
|
|
export interface IComputeRowPositionPayload {
|
|
row: IRow
|
|
innerWidth: number
|
|
}
|
|
|
|
export interface IComputePageRowPositionPayload {
|
|
positionList: IElementPosition[]
|
|
rowList: IRow[]
|
|
pageNo: number
|
|
startRowIndex: number
|
|
startIndex: number
|
|
startX: number
|
|
startY: number
|
|
innerWidth: number
|
|
isTable?: boolean
|
|
index?: number
|
|
tdIndex?: number
|
|
trIndex?: number
|
|
tdValueIndex?: number
|
|
zone?: EditorZone
|
|
}
|
|
|
|
export interface IComputePageRowPositionResult {
|
|
x: number
|
|
y: number
|
|
index: number
|
|
}
|
|
|
|
export interface IFloatPosition {
|
|
pageNo: number
|
|
element: IElement
|
|
position: IElementPosition
|
|
isTable?: boolean
|
|
index?: number
|
|
tdIndex?: number
|
|
trIndex?: number
|
|
tdValueIndex?: number
|
|
zone?: EditorZone
|
|
}
|
|
|
|
export interface ILocationPosition {
|
|
zone: EditorZone
|
|
range: IRange
|
|
positionContext: IPositionContext
|
|
}
|