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.

120 lines
2.8 KiB

import { IElement } from '..'
import {
EditorMode,
PageMode,
PaperDirection,
RenderMode,
WordBreak
} from '../dataset/enum/Editor'
import { IBackgroundOption } from './Background'
import { ICheckboxOption } from './Checkbox'
import { IRadioOption } from './Radio'
import { IControlOption } from './Control'
import { ICursorOption } from './Cursor'
import { IFooter } from './Footer'
import { IGroup } from './Group'
import { IHeader } from './Header'
import { ILineBreakOption } from './LineBreak'
import { IMargin } from './Margin'
import { IPageBreak } from './PageBreak'
import { IPageNumber } from './PageNumber'
import { IPlaceholder } from './Placeholder'
import { ITitleOption } from './Title'
import { IWatermark } from './Watermark'
import { IZoneOption } from './Zone'
import { ISeparatorOption } from './Separator'
import { ITableOption } from './table/Table'
export interface IEditorData {
header?: IElement[]
main: IElement[]
footer?: IElement[]
}
export interface IEditorOption {
mode?: EditorMode
defaultType?: string
defaultColor?: string
defaultFont?: string
defaultSize?: number
minSize?: number
maxSize?: number
defaultBasicRowMarginHeight?: number
defaultRowMargin?: number
defaultTabWidth?: number
width?: number
height?: number
scale?: number
pageGap?: number
underlineColor?: string
strikeoutColor?: string
rangeColor?: string
rangeAlpha?: number
rangeMinWidth?: number
searchMatchColor?: string
searchNavigateMatchColor?: string
searchMatchAlpha?: number
highlightAlpha?: number
resizerColor?: string
resizerSize?: number
marginIndicatorSize?: number
marginIndicatorColor?: string
margins?: IMargin
pageMode?: PageMode
renderMode?: RenderMode
defaultHyperlinkColor?: string
paperDirection?: PaperDirection
inactiveAlpha?: number
historyMaxRecordCount?: number
printPixelRatio?: number
maskMargin?: IMargin
letterClass?: string[]
contextMenuDisableKeys?: string[]
scrollContainerSelector?: string
wordBreak?: WordBreak
table?: ITableOption
header?: IHeader
footer?: IFooter
pageNumber?: IPageNumber
watermark?: IWatermark
control?: IControlOption
checkbox?: ICheckboxOption
radio?: IRadioOption
cursor?: ICursorOption
title?: ITitleOption
placeholder?: IPlaceholder
group?: IGroup
pageBreak?: IPageBreak
zone?: IZoneOption
background?: IBackgroundOption
lineBreak?: ILineBreakOption
separator?: ISeparatorOption
}
export interface IEditorResult {
version: string
data: IEditorData
options: IEditorOption
}
export interface IEditorHTML {
header: string
main: string
footer: string
}
export type IEditorText = IEditorHTML
export type IUpdateOption = Omit<
IEditorOption,
| 'mode'
| 'width'
| 'height'
| 'scale'
| 'pageGap'
| 'pageMode'
| 'paperDirection'
| 'historyMaxRecordCount'
| 'scrollContainerSelector'
>