UNPKG

realreport

Version:
1,512 lines (1,488 loc) 1.62 MB
/// <reference types="pdfkit" /> /** * RealReport v1.11.3 * commit 8ce7c84 * {@link https://real-report.com} * Copyright (C) 2013-2025 WooriTech Inc. * All Rights Reserved. */ import { Cvfo, Style } from 'exceljs'; /** * RealReport Core v1.11.3 * Copyright (C) 2013-2025 WooriTech Inc. * All Rights Reserved. * commit 645ea5b84a0ca9591145ea337113c4aeade413ed */ type ConfigObject$1 = { [key: string]: any; }; /** @internal */ declare abstract class Base$1 { private $_hash; private $_disposed; private $_disposing; constructor(); dispose(): null; protected _doDispose(): void; get disposing(): boolean; get hash(): number; get shash(): string; isMe(hash: number): boolean; private $_getters; /** * true를 리턴하면 assign()이 호출되지 않는다. */ protected doAssignSimple(source: any): boolean; assignFrom(source: any): void; extend(source: ConfigObject$1): void; toProxy(): ConfigObject$1; assignProps(target: object, props: string[], all?: boolean): object; toString(): string; } /** @internal */ declare class DatetimeReader { static readonly Formats: string[]; static readonly Default: DatetimeReader; static initialize(): void; private _format; private _type; private _parser; constructor(format: string); /** format */ get format(): string; set format(value: string); /** amText */ get amText(): string; set amText(value: string); /** pmText */ get pmText(): string; set pmText(value: string); /** baseYear */ get baseYear(): number; set baseYear(value: number); toDate(value: string): Date; private parse; } interface IEventAware { addListener(listener: object): IEventAware; removeListener(listener: object): IEventAware; } /** @internal */ declare class EventAware$1 extends Base$1 implements IEventAware { private _listeners; constructor(); protected _doDispose(): void; get listenerCount(): number; addListener(listener: object): IEventAware; removeListener(listener: object): IEventAware; isListener(listener: any): boolean; clearListener(): void; fireEvent(event: string, ...args: any): void; fireConfirmEvent(event: string, ...args: any): boolean; fireMessageEvent(event: string, ...args: any): string; fireObjectEvent(event: string, ...args: any): any; } type EditCommandCallback<T extends EditCommand$1 = EditCommand$1> = (cmd: T) => void; /** * Edit command base. * 편집 행위 외에 다른 로직이 포함되지 않도록 한다. */ declare abstract class EditCommand$1 extends Base$1 { static createGroup(...commands: EditCommand$1[]): EditCommandGroup; constructor(); protected _doDispose(): void; abstract get source(): any; error: any; get page(): any; abstract undo(): void; abstract redo(redoing: boolean): any; run(): any; } /** * Edit command group base. * 하나 이상의 command를 동시에 실행하거나 undo한다. */ declare class EditCommandGroup extends EditCommand$1 { private _commands; constructor(commands: EditCommand$1[]); protected _doDispose(): void; get commands(): EditCommand$1[]; undo(): void; redo(redoing: boolean): any; get source(): any; get page(): any; } /** * Edit command stack owner spec. */ interface IEditCommandStackOwner { editCommandStackChanged(stack: EditCommandStack$1, cmd: EditCommand$1, undoable: boolean, redoable: boolean): void; editCommandStackDirtyChanged(stack: EditCommandStack$1): void; editCommandError(command: EditCommand$1): void; } /** * Edit command stack. * 커맨드는 반드시 이 객체를 통해서 실행되거나 undo 되어야 한다. */ declare class EditCommandStack$1 extends EventAware$1 { owner: IEditCommandStackOwner; private _commands; private _current; private _closed; private _undoing; private _redoing; constructor(owner: IEditCommandStackOwner); protected _doDispose(): void; /** length */ get length(): number; /** current */ get current(): number; /** empty */ get empty(): boolean; /** canUndo */ get canUndo(): boolean; /** canRedo */ get canRedo(): boolean; /** undoing */ get undoing(): boolean; /** redoing */ get redoing(): boolean; /** dirty */ get dirty(): boolean; get(index: number): EditCommand$1; peek(): EditCommand$1; undo(): boolean; redo(redoing?: boolean): boolean; execute(command: EditCommand$1): boolean; flush(): void; /** * 현 위치를 marking한다. dirty는 마지막 marking 시점과 다른 경우 true가 된다. */ close(): void; getHistory(all?: boolean): EditCommand$1[]; protected _changed(oldCurrent: number, cmd: EditCommand$1): void; private $_shrink; } /**@internal */ declare abstract class ExpressionRuntime$1 extends Base$1 { constructor(); isIdentifier(token: string, isValue?: boolean): number; evaluateIdentifier(idKey: number): void; evaluateIndexerI(idKey: number, index: number): any; evaluateIndexerS(idKey: number, index: string, capital: boolean): any; evaluateFunc(idKey: number, param: string): any; } /**@internal */ declare abstract class ExpressionNode$1 { constructor(); get value(): any; get asLiteral(): any; prepareValue(): void; getLiteral(): ExpressionNode$1; isIdentifier(value: any): boolean; abstract evaluate(runtime: ExpressionRuntime$1): any; toString(): string; } interface IExcelDataInfo { /** * 컬럼들의 이름이 표시되는 행 번호. 행은 1부터 시작. */ headerRow?: number; /** * 데이터가 시작되는 행 번호. 지정하지 않으면 headerRow + 1. */ startRow?: number; /** * 최대 행 수. 지정하지 않으면 마지막 데이터 행까지. */ rowCount?: number; /** * 데이터가 시작되는 col. 지정하지 않으면 "A". */ startCol?: string; /** * 마지막 행 여부 검사 기준 컬럼. 지정하지 않으면 Start Col. 이 행 이전까지 데이터 행. */ endRowCol?: string; /** * 마지막 행 검사 기준 값. 지정하지 않으면 빈 셀. */ endCheckValue?: any; /** * headerRow가 존재하는 경우 header cell의 이름을 field와 mapping하는 데 사용. */ useHeaderNames?: boolean; } interface IExcelDataReader { readDataRows(buffer: ArrayBuffer, fields: IBandDataField[], info: IExcelDataInfo): Promise<any[]>; } /**@internal */ declare class FieldValueRuntime extends ExpressionRuntime$1 { private _data; private _fieldMap; private _row; prepare(data: BandData): FieldValueRuntime; setRow(row: number): FieldValueRuntime; isIdentifier(token: string): number; evaluateIdentifier(idKey: number): any; evaluateIndexerS(idKey: number, index: string, capitalized: boolean): any; evaluateFunc(idKey: number, param: string): any; } /** @internal */ interface VisualToolOwner$1 { findElementAt(x: number, y: number, hitTesting: boolean, blockLayer: boolean): VisualElement$1; findElementOf(dom: HTMLElement): VisualElement$1; getTableCell(dom: HTMLElement): HTMLTableCellElement; } /** @internal */ declare class VisualTool$1 extends Base$1 { private _owner; private _name; private _previous; private _dragTracker; private _clickX; private _clickY; private _mouseX; private _mouseY; private _mouseEventTarget; protected _lastTouch: number; constructor(owner: VisualToolOwner$1, name?: string); protected _doDispose(): void; /** owner */ get owner(): VisualToolOwner$1; /** name */ get name(): string; /** previous */ get previous(): VisualTool$1; /** dragTracker */ get dragTracker(): DragTracker$1; set dragTracker(value: DragTracker$1); /** dragging */ get dragging(): boolean; /** mouseX */ get mouseX(): number; /** mouseY */ get mouseY(): number; get mouseEventTarget(): HTMLElement; findElementAt(x: number, y: number, hitTesting: boolean, blockLayer?: boolean): VisualElement$1; findElementOf(dom: HTMLElement): VisualElement$1; activate(previous: VisualTool$1): void; deactivate(): void; keyDown(event: KeyboardEvent): boolean; keyUp(event: KeyboardEvent): boolean; keyPress(event: KeyboardEvent): boolean; mouseDown(event: MouseEvent | TouchEvent): boolean; dragFrom(event: MouseEvent, tracker: DragTracker$1): void; dropFrom(event: MouseEvent, tracker: DragTracker$1): void; mouseMove(event: MouseEvent | TouchEvent): void; mouseUp(event: MouseEvent | TouchEvent): void; mouseEnter(event: MouseEvent): void; mouseLeave(event: MouseEvent): void; mouseOver(event: MouseEvent): void; mouseOutside(): void; mouseWheel(event: MouseEvent): boolean; contextMenu(event: MouseEvent): boolean; click(event: MouseEvent): void; dblclick(event: MouseEvent): void; setFocus(target?: HTMLElement): void; focusLeave(event: Event): void; dragStart(event: MouseEvent): void; dragEnd(event: MouseEvent): void; dragEnter(event: MouseEvent): void; dragOver(event: MouseEvent): void; dragLeave(event: MouseEvent): void; dragDrop(event: MouseEvent): void; protected isMouseEventTarget(elt: VisualElement$1): boolean; protected _doActivated(previous: VisualTool$1): void; protected _doDeactivated(): void; protected _doKeyDown(event: KeyboardEvent): boolean; protected _doKeyUp(event: KeyboardEvent): boolean; protected _doKeyPress(event: KeyboardEvent): boolean; /** * true 리턴하면 preventDefault 호출. */ protected _doMouseDown(event: MouseEvent | TouchEvent): boolean; protected _doMouseMove(event: MouseEvent | TouchEvent): void; /** 그리드 밖에서도 호출된다. */ protected _doMouseUp(event: MouseEvent | TouchEvent): void; protected _doMouseEnter(event: MouseEvent): void; protected _doMouseLeave(event: MouseEvent): void; protected _doMouseOver(event: MouseEvent): void; protected _doMouseOutside(): void; protected _doMouseWheel(event: MouseEvent): boolean; protected _doContextMenu(event: MouseEvent): boolean; /** 그리드 밖에서 마우스를 놓으면 호출되지 않는다. */ protected _doClick(event: MouseEvent): void; protected _doDblClick(event: MouseEvent): void; protected _doSetFocus(target?: HTMLElement): void; protected _doFocusLeave(event: Event): void; protected _doDragStart(event: MouseEvent): void; protected _doDragEnd(event: MouseEvent): void; protected _doDragEnter(event: MouseEvent): void; protected _doDragOver(event: MouseEvent): void; protected _doDragLeave(event: MouseEvent): void; protected _doDragDrop(event: MouseEvent): void; protected _getDragTracker(request: EditRequest$1, x: number, y: number): DragTracker$1; protected _startDragTracker(x: number, y: number, shift: boolean, alt: boolean): void; protected _stopDragTracker(x: number, y: number, canceled: boolean): void; protected _doDragTrackerStarted(dragTracker: DragTracker$1): void; protected _doDragTrackerFinished(dragTracker: DragTracker$1, canceled: boolean): void; protected _findTableCell(source?: HTMLElement): HTMLTableCellElement; protected _doTouchStart(event: TouchEvent): void; protected _doTouchMove(event: TouchEvent): void; protected _doTouchEnd(evnet: TouchEvent): void; protected _doTouchCancel(evnet: TouchEvent): void; } /** @internal */ declare abstract class EditRequest$1 extends Base$1 { constructor(); /** cursor */ get cursor(): Cursor$1; /** source */ get source(): any; /** selectable */ get selectable(): boolean; /** dblClickable */ get dblClickable(): boolean; } /** @internal */ declare class DragTracker$1 extends Base$1 { private _container; private _active; private _completed; private _dragging; private _startX; private _startY; private _currentX; private _currentY; constructor(container: VisualContainer$1); /** container */ get container(): VisualContainer$1; /** active */ get active(): boolean; /** dragging */ get dragging(): boolean; /** startWhenCreated */ get startWhenCreated(): boolean; /** completed */ get completed(): boolean; /** * linkable proprerty. * 다른 그리드에서 진행 가능한 tracker. */ get linkable(): boolean; get cursor(): string; activate(): void; deactivate(): void; start(eventTarget: HTMLElement, x: number, y: number, shift: boolean, alt: boolean): boolean; drag(eventTarget: HTMLElement, x: number, y: number, meta: boolean): boolean; cancel(): void; drop(eventTarget: HTMLElement, x: number, y: number): void; end(): void; getRequest(): EditRequest$1; getNextRequest(x: number, y: number): EditRequest$1; protected get startX(): number; protected get startY(): number; protected get currentX(): number; protected get currentY(): number; protected _showFeedback(x: number, y: number): void; protected _moveFeedback(x: number, y: number): void; protected _hideFeedback(): void; protected _doActivate(): void; protected _doDeactivate(): void; protected _doStart(eventTarget: HTMLElement, x: number, y: number, shfit: boolean, alt: boolean): boolean; protected _doDrag(eventTarget: HTMLElement, x: number, y: number, meta: boolean): boolean; protected _doCanceled(x: number, y: number): void; protected _canAccept(eventTarget: HTMLElement, x: number, y: number): boolean; protected _doCompleted(eventTarget: HTMLElement, x: number, y: number): void; protected _doEnded(): void; } interface IPoint { x: number; y: number; } interface IRect extends IPoint { width: number; height: number; } interface ISides { left: number; top: number; right: number; bottom: number; } /** @internal */ declare class Rectangle$1 implements IRect { x: number; y: number; width: number; height: number; static Empty: Readonly<Rectangle$1>; static Temp: Rectangle$1; static create(x: number, y: number, width: number, height: number): Rectangle$1; constructor(x?: number, y?: number, width?: number, height?: number); /** left */ get left(): number; set left(value: number); /** right */ get right(): number; set right(value: number); /** top */ get top(): number; set top(value: number); /** bottom */ get bottom(): number; set bottom(value: number); /** isEmpty */ get isEmpty(): boolean; clone(): Rectangle$1; getInner(): Rectangle$1; equals(r: Rectangle$1): boolean; leftBy(delta: number): Rectangle$1; rightBy(delta: number): Rectangle$1; topBy(delta: number): Rectangle$1; bottomBy(delta: number): Rectangle$1; shrink(dx: number, dy: number): Rectangle$1; expand(dx: number, dy: number): Rectangle$1; contains(x: number, y: number): boolean; setEmpty(): Rectangle$1; move(x?: number, y?: number): Rectangle$1; set(x: number, y: number, width: number, height: number): Rectangle$1; setWidth(value: number): Rectangle$1; copy(r: Rectangle$1): Rectangle$1; copyHorz(r: Rectangle$1): Rectangle$1; copyVert(r: Rectangle$1): Rectangle$1; inflate(left?: number, top?: number, right?: number, bottom?: number): Rectangle$1; translate(dx: number, dy: number): Rectangle$1; round(): Rectangle$1; union(r: Rectangle$1): Rectangle$1; normalize(): Rectangle$1; intersects(r: Rectangle$1): boolean; toString(): string; } /** @internal */ declare class Point$1 { x: number; y: number; static empty(): Point$1; static create(x?: number, y?: number): Point$1; constructor(x?: number, y?: number); /** isEmpty */ get isEmpty(): boolean; clone(): Point$1; equals(sz: Point$1): boolean; setEmpty(): Point$1; set(x: number, y: number): Point$1; round(): Point$1; toString(): string; } /** @internal */ interface UIToolOwner { } /** @internal */ declare class UITool extends Base$1 { private _owner; private _name; private _previous; private _dragTracker; private _clickX; private _clickY; private _pointerX; private _pointerY; private _pointerEventTarget; protected _lastTouch: number; constructor(owner: UIToolOwner, name: string); protected _doDispose(): void; /** owner */ get owner(): UIToolOwner; /** name */ get name(): string; /** previous */ get previous(): UITool; /** dragTracker */ get dragTracker(): UIDragTracker; set dragTracker(value: UIDragTracker); /** dragging */ get dragging(): boolean; /** pointerX */ get pointerX(): number; /** pointerY */ get pointerY(): number; activate(previous: UITool): void; deactivate(): void; keyDown(event: KeyboardEvent): boolean; keyUp(event: KeyboardEvent): boolean; keyPress(event: KeyboardEvent): boolean; pointerDown(event: PointerEvent): boolean; dragFrom(event: PointerEvent, tracker: UIDragTracker): void; dropFrom(event: PointerEvent, tracker: UIDragTracker): void; pointerMove(event: PointerEvent): void; pointerUp(event: PointerEvent): void; pointerEnter(event: PointerEvent): void; pointerLeave(event: PointerEvent): void; pointerOver(event: PointerEvent): void; pointerOutside(): void; mouseWheel(event: MouseEvent): boolean; contextMenu(event: PointerEvent): boolean; click(event: PointerEvent): void; dblclick(event: PointerEvent): void; setFocus(target?: HTMLElement): void; focusLeave(event: Event): void; protected get pointerEventTarget(): HTMLElement; protected ispointerEventTarget(elt: UIElement): boolean; protected _doActivated(previous: UITool): void; protected _doDeactivated(): void; protected _doKeyDown(event: KeyboardEvent): boolean; protected _doKeyUp(event: KeyboardEvent): boolean; protected _doKeyPress(event: KeyboardEvent): boolean; /** * true 리턴하면 preventDefault 호출. */ protected _doPointerDown(event: PointerEvent | TouchEvent): boolean; protected _doPointerMove(event: PointerEvent | TouchEvent): void; /** 그리드 밖에서도 호출된다. */ protected _doPointerUp(event: PointerEvent | TouchEvent): void; protected _doPointerEnter(event: PointerEvent): void; protected _doPointerLeave(event: PointerEvent): void; protected _doPointerOver(event: PointerEvent): void; protected _doPointerOutside(): void; protected _doMouseWheel(event: MouseEvent): boolean; protected _doContextMenu(event: PointerEvent): boolean; /** 그리드 밖에서 마우스를 놓으면 호출되지 않는다. */ protected _doClick(event: PointerEvent): void; protected _doDblClick(event: PointerEvent): void; protected _doSetFocus(target?: HTMLElement): void; protected _doFocusLeave(event: Event): void; protected _getUIDragTracker(request: UIEditRequest, x: number, y: number): UIDragTracker; protected _startDragTracker(event: PointerEvent, x: number, y: number, shift: boolean, alt: boolean): void; protected _stopDragTracker(event: PointerEvent, x: number, y: number, canceled: boolean): void; protected _doDragTrackerStarted(UIDragTracker: UIDragTracker): void; protected _doDragTrackerFinished(UIDragTracker: UIDragTracker, canceled: boolean): void; } /** @internal */ declare abstract class UIEditRequest extends Base$1 { constructor(); /** cursor */ get cursor(): Cursor$1; /** source */ get source(): any; /** selectable */ get selectable(): boolean; /** dblClickable */ get dblClickable(): boolean; } /** @internal */ declare class UIDragTracker extends Base$1 { private _container; private _name; private _active; private _completed; private _dragging; private _startX; private _startY; private _currentX; private _currentY; constructor(container: UIContainer, name: string); /** container */ get container(): UIContainer; /** name */ get name(): string; /** active */ get active(): boolean; /** dragging */ get dragging(): boolean; /** startWhenCreated */ get startWhenCreated(): boolean; /** completed */ get completed(): boolean; /** * linkable proprerty. * 다른 그리드에서 진행 가능한 tracker. */ get linkable(): boolean; activate(): void; deactivate(): void; start(event: PointerEvent, eventTarget: HTMLElement, x: number, y: number, shift: boolean, alt: boolean): boolean; drag(eventTarget: HTMLElement, x: number, y: number): boolean; cancel(event: PointerEvent): void; drop(event: PointerEvent, eventTarget: HTMLElement, x: number, y: number): void; getRequest(): UIEditRequest; getNextRequest(x: number, y: number): UIEditRequest; protected get startX(): number; protected get startY(): number; protected get currentX(): number; protected get currentY(): number; protected _showFeedback(x: number, y: number): void; protected _moveFeedback(x: number, y: number): void; protected _hideFeedback(): void; protected _doActivate(): void; protected _doDeactivate(): void; protected _doStart(event: PointerEvent, eventTarget: HTMLElement, x: number, y: number, shfit: boolean, alt: boolean): boolean; protected _doDrag(eventTarget: HTMLElement, x: number, y: number): boolean; protected _doCanceled(x: number, y: number): void; protected _canAccept(eventTarget: HTMLElement, x: number, y: number): boolean; protected _doCompleted(eventTarget: HTMLElement, x: number, y: number): void; protected _doEnded(event: PointerEvent): void; } declare class UIElement extends EventAware$1 { userData: any; private _parent; private _dom; private _elements; constructor(doc: Document, className: string, elementType?: string); get dom(): HTMLElement; /** parent */ get parent(): UIElement; /** container */ get container(): UIContainer; /** x */ get x(): number; set x(value: number); /** y */ get y(): number; set y(value: number); /** width */ get width(): number; /** height */ get height(): number; isDom(dom: Element): boolean; setClassName(className: string): void; setHint(title: string): void; setStyle(style: string, value: string): void; clearStyle(style: string): void; setStyles(styles: object): void; setImportantStyle(style: string, value: any): void; getBounds(): IRect; setBounds(x: number, y: number, width: number, height: number): void; setRect(r: IRect): void; move(x: number, y: number): UIElement; setXP(x: number): void; setYP(y: number): void; contains(dom: Element | UIElement): boolean; appendDom(dom: Element): void; clear(): this; addChild(child: UIElement): boolean; removeChild(child: UIElement): boolean; removeLast(): UIElement; containerToLocal(x?: number, y?: number): { x: number; y: number; }; setText(text: string): this; hide(): this; show(style?: string): this; setRotation(rotation: number): this; protected _addChild(child: UIElement): void; protected _removeChild(child: UIElement): boolean; protected _initDom(doc: Document, dom: HTMLElement): void; } /** @internal */ declare abstract class UIContainer extends EventAware$1 { private _activeTool; private _containerDiv; private _layoutNeeded; private _defaultTool; private _defaultCursor; private _eventHandlers; private _eventNodes; private _doc; private _root; private _requestTimer; private _containerRender; private _saveDisplay; constructor(containerId: string | HTMLDivElement); protected _doDispose(): void; /** Document */ get doc(): Document; /** visible */ get visible(): boolean; set visible(value: boolean); /** activeTool */ get activeTool(): UITool; set activeTool(value: UITool); /** defaultTool */ get defaultTool(): UITool; /** width */ get width(): number; set width(value: number); /** height */ get height(): number; set height(value: number); getBound(): Rectangle$1; getHtml(): string; setCursor(cursor?: string): void; contains(dom: any): boolean; protected abstract _getCssSelector(): string; private prepareContainer; protected _addElement(element: UIElement): void; protected _prepareContainer(div: HTMLDivElement): void; protected _prepareChildren(doc: Document, dom: HTMLElement): void; protected _createDefaultTool(): UITool; isLayoutNeeded(): boolean; invalidateLayout(): void; updateNow(): void; protected _render(timestamp: number): void; private $$_render; protected _doLayout(doc: Document, bounds: Rectangle$1): void; protected _doPrepareRender(bounds: Rectangle$1): void; protected _doRenderHtml(bounds: Rectangle$1): void; _registerEventHandlers(container: HTMLElement): void; $_addListener(node: any, event: any, handler: any, capture: any): void; $_removeListener(node: any, event: any): void; $_removeListenerAll(node?: HTMLElement): void; private _unloadHandler; private _resizeHandler; protected _doResized(event: Event): void; protected _isEnabled(): boolean; private _keyDownHandler; private _keyUpHandler; private _keyPressHandler; eventToContainer(event: any): Point$1; private toOffset; private _clickHandler; private _dblclickHandler; private $_getHtmlElement; private _pointerDownHandler; private _pointerMoveHandler; private _pointerUpHandler; private _pointerEnterHandler; private _pointerLeaveHandler; private _pointerOverHandler; private _contextMenuHander; private _wheelHandler; private _focusHandler; private _blurHandler; private _selectstartHandler; private _focusinHandler; private _globalPointerDownHandler; private _focusoutHandler; private _focusHandlerFireFox; } /** @internal */ declare abstract class VisualContainer$1 extends EventAware$1 implements VisualToolOwner$1 { static readonly FEEDBACK_ZINDEX = 1000; private static $_Containers; static $_mouseContainer: number; getMouseContainer(): VisualContainer$1; private static $_ActiveGrid; static getActiveGrid(): any; static setActiveGrid(hash: number): void; static clearContainer(hash: number): void; static disposeStatic(): void; private _disabled; private _activeTool; private _containerDiv; private _containerDom; private _measurer; private _textMeasurer; private _checkMeasurer; private _checkRect; private _updateRequested; private _layoutNeeded; private _invalidated; private _scrolling; private _defaultTool; private _captured; private _focusing; private _focusingTarget; private _hovered; private _currentX; private _currentY; private _rendered; private _defaultCursor; private _drawing; private _offsetX; private _offsetY; private _rootElement; private _feedbackElement; private _eventHandlers; private _eventNodes; private _containerRender; private _scrollTool; private _cursor; private _testWidth; private _testHeight; private _requestTimer; private _doc; private _saveDisplay; private $_testing; constructor(containerId: string | HTMLDivElement); protected _initContainer(containerId: string | HTMLDivElement): void; protected _doDispose(): void; /** document */ get doc(): Document; /** dom */ get dom(): HTMLElement; /** visible */ get visible(): boolean; set visible(value: boolean); /** contentVisible */ get contentVisible(): boolean; set contentVisible(value: boolean); /** disabled */ get disabled(): boolean; set disabled(value: boolean); /** printing */ get printing(): boolean; /** activeTool */ get activeTool(): VisualTool$1; set activeTool(value: VisualTool$1); /** defaultTool */ get defaultTool(): VisualTool$1; /** measurer */ protected get measurer(): HTMLElement; /** width */ get width(): number; set width(value: number); /** height */ get height(): number; set height(value: number); get scrollHeight(): number; get scrollTop(): number; protected get scrolling(): boolean; get containerDiv(): HTMLDivElement; protected get root(): VisualElement$1; findElementAt(x: number, y: number, hitTesting: boolean, blockLayer: boolean): VisualElement$1; findElementOf(dom: Element, deep?: boolean): VisualElement$1; getTableCell(dom: HTMLElement): HTMLTableCellElement; setCursor(cursor: string): void; setFocus(): void; updateNow(): void; toScreen(r: Rectangle$1): Rectangle$1; pointToScreen(x: number, y: number): { x: number; y: number; }; getBound(): Rectangle$1; getHtml(): string; appendDom(dom: HTMLElement): void; addElement(element: VisualElement$1): boolean; removeElement(element: VisualElement$1): boolean; addFeedback(element: UIElement | HTMLElement): boolean; addFeedbacks(...elements: (UIElement | HTMLElement)[]): void; removeFeedback(element: UIElement | HTMLElement): boolean; removeFeedbacks(...elements: (UIElement | HTMLElement)[]): void; resetSize(callback?: any): void; measureText(style: string, text: string): number; private $_refreshCheckMeasurer; measureCheckWidth(): number; measureCheckHeight(): number; contains(target: any): boolean; getDomPosition(elt: HTMLElement | VisualElement$1, rotated?: boolean): IRect; private $_offsetDomPosition; getBoundingRect(element: VisualElement$1): Rectangle$1; domToContainer(dom: Element): IRect; get feedbackElement(): UIElement; private $_setTesting; protected get _isTesting(): boolean; protected _doDisabledChanged(): void; private $_prepareContainer; protected _doPrepareContainer(doc: Document, dom: HTMLElement): void; protected _doPrepareContent(doc: Document, root: HTMLDivElement): void; protected _createRootElement(doc: Document): VisualElement$1; protected _createDefaultTool(): VisualTool$1; isLayoutNeeded(): boolean; invalidateLayout(scrolling?: boolean): void; invalidate(force: boolean): void; invalidateElement(element: VisualElement$1): void; invalidateElements(force?: boolean): void; refresh(): void; protected _render(timestamp: number): void; private $$_render; protected _layoutChildren(bounds: Rectangle$1): void; protected _doLayout(bounds: Rectangle$1): void; protected _doAfterRender(): void; protected _doRenderHtml(bounds: Rectangle$1): void; protected _doDrawContainer(bounds: Rectangle$1): void; protected _drawElement(element: VisualElement$1): void; private _validateChildren; _registerEventHandlers(container: HTMLElement): void; $_addListener(node: any, event: any, handler: any, capture: any): void; $_removeListener(node: any, event: any): void; $_removeListenerAll(node?: HTMLElement): void; private _unloadHandler; private _resizeHandler; protected _doResized(event: Event): void; protected _isEnabled(): boolean; private _keyDownHandler; protected _doKeyDown(ev: KeyboardEvent): boolean; private _keyUpHandler; private _keyPressHandler; eventToContainer(event: any): Point$1; private toOffset; private toOffsetTouch; protected _doClick(event: MouseEvent): boolean; private _clickHandler; private _dblclickHandler; private $_getHtmlElement; protected _isAutoFocus(): boolean; private _mouseDownHandler; private _mouseMoveHandler; private _mouseUpHandler; private _mouseEnterHandler; _mouseLeaveHandler(event: MouseEvent): void; private _mouseOverHandler; /** * - 드래그 하는동안은 MouseMove가 발생하지 않기 때문에 Start End를 제외하고 타겟을 직접 넣어준다. * @param event */ private _dragStartHandler; private _dragEndHandler; private _dragOverHandler; private _dragEnterHandler; private _dragLeaveHandler; private _dragDropHandler; private _contextMenuHander; protected _wheelHandler(event: WheelEvent): void; protected _focusHandler(event: FocusEvent): void; protected _blurHandler(event: FocusEvent): void; private _selectstartHandler; private _focusinHandler; private _globalMouseDownHandler; private _focusoutHandler; private _focusHandlerFireFox; } type VisualElementCallback = (element: VisualElement$1, dom: HTMLElement) => void; /** @internal */ declare abstract class VisualElement$1 extends EventAware$1 { private static readonly Testing; private static readonly Logging; static log(message: string, level?: 'error' | 'warn' | 'info'): void; private _positionable; private _x; private _y; private _width; private _height; private _visible; private _styleName; private _name; private _parent; private _elements; private _dom; private _dirty; private _className; _nodraw: boolean; constructor(doc: Document, name?: string, callback?: VisualElementCallback); protected _doDispose(): void; /** positionable */ get positionable(): boolean; set positionable(value: boolean); /** name */ get name(): string; /** styleName */ get styleName(): string; set styleName(value: string); /** container */ get container(): VisualContainer$1; /** parent */ get parent(): VisualElement$1; /** elements */ get elements(): VisualElement$1[]; /** childCount */ get childCount(): number; /** isSingleton */ get isSingleton(): boolean; /** x */ get x(): number; set x(value: number); /** y */ get y(): number; set y(value: number); /** width */ get width(): number; set width(value: number); /** height */ get height(): number; set height(value: number); /** right */ get right(): number; /** bottom */ get bottom(): number; /** position */ get position(): Point$1; /** bounds */ get bounds(): Rectangle$1; /** clientRect */ get clientRect(): Rectangle$1; /** visible */ get visible(): boolean; set visible(value: boolean); interalSetVisible(value: boolean): boolean; setVisible(value: boolean, style?: string): boolean; /** findable */ get findable(): boolean; /** isLayer */ get isLayer(): boolean; /** * blockable * true이면 isLayer일 때도 findElementAt에서 hit test될 수 있다. */ get blockable(): boolean; /** mouseX */ get mouseX(): number; /** mouseY */ get mouseY(): number; /** dom */ get dom(): HTMLElement; /** doc */ get doc(): Document; /** style */ protected get style(): CSSStyleDeclaration; /** offsetWidth */ get offsetWidth(): number; /** offsetHeight */ get offsetHeight(): number; /** offsetSize */ get offsetSize(): { width: number; height: number; }; get printable(): boolean; isDom(dom: Element): boolean; containsDom(dom: Element): boolean; containsClass(className: string): boolean; getChildren(): VisualElement$1[]; getChild(index: number): VisualElement$1; indexOf(element: VisualElement$1): number; get firstChild(): VisualElement$1; contains(element: VisualElement$1): boolean; getAncestor(cls: any): VisualElement$1; addDom<T extends Element>(dom: T): T; insertDom(dom: Element, elt: VisualElement$1): void; addChild(child: VisualElement$1): boolean; protected _getParentDom(): HTMLElement; insertChild(index: number, child: VisualElement$1): boolean; remove(): void; removeChild(child: VisualElement$1): boolean; removeChildAt(index: number): VisualElement$1; removeLast(): VisualElement$1; clear(): boolean; hideAll(): void; invalidate(force?: boolean, invalidateChildren?: boolean): void; validate(): void; invalidateLayout(): void; getBounds(r?: Rectangle$1): Rectangle$1; getClientRect(r?: Rectangle$1): Rectangle$1; containsInBounds(x: number, y: number): boolean; containsInClient(x: number, y: number): boolean; parentToElement(parent: VisualElement$1, x: number, y: number): Point$1; translateBy(descendant: VisualElement$1, r?: Rectangle$1): Rectangle$1; topBy(parent: VisualElement$1, top: number): number; boundsBy(parent: VisualElement$1, r?: Rectangle$1): Rectangle$1; boundsByContainer(r?: Rectangle$1): Rectangle$1; pointByContainer(x: number, y: number): Point$1; containerToElement(x: number, y: number): Point$1; boundsByScreen(r?: Rectangle$1): Rectangle$1; offsetFrom(elt: VisualElement$1): Point$1; hitTest(x: number, y: number): boolean; findChildAt(x: number, y: number, hitTesting: boolean, blockLayer: boolean): VisualElement$1; findChildOf(dom: Element, deep: boolean): VisualElement$1; internalSetX(x: number): void; internalSetY(y: number): void; move(x: number, y: number, draw?: boolean): void; internalMove(x: number, y: number): void; moveBy(dx: number, dy: number, draw?: boolean): void; resize(width: number, height: number, draw?: boolean): void; setSize(width: number, height: number): void; resizeBy(dw: number, dh: number, draw?: boolean): void; setBounds(x: number, y: number, width: number, height: number): VisualElement$1; setBoundsI(x: number, y: number, width: number, height: number): VisualElement$1; setRect(r: IRect): VisualElement$1; internalSetRect(r: IRect): VisualElement$1; setRectI(r: IRect): VisualElement$1; getBoundingRect(): { x: number; y: number; left: number; right: number; width: number; top: number; bottom: number; height: number; }; draw(force?: boolean): void; drawRecursive(): void; resetSizeStyle(): void; getHtml(): string; setImportantStyle(style: string, value: any): void; isAncestorOf(child: VisualElement$1): boolean; isAncestorDomOf(child: HTMLElement, checkThis?: boolean): boolean; findDescendantOf(dom: HTMLElement): VisualElement$1; setStyles(styles: any): void; get scrollTop(): number; get scrollLeft(): number; scrollDom(x: number, y: number): void; setHint(title: string): void; setRotation(rotation: number): void; setFocus(): void; protected _isTesting(): boolean; protected _getElements(): VisualElement$1[]; protected _createDom(doc: Document): HTMLElement; protected _getCssSelector(): string; protected _initDom(doc: Document, dom: HTMLElement): void; protected _addEventListeners(dom: HTMLElement): void; protected _removeEventListeners(dom: HTMLElement): void; private $_attached; protected _doAttached(parent: VisualElement$1): void; private $_detached; protected _doDetached(parent: VisualElement$1): void; protected _isEmptySize(): boolean; protected _setSizeStyle(css: CSSStyleDeclaration): void; setPrintStyles(): void; protected _getCssDisplay(): string; resetStyleName(): void; protected _setClassName(dom: HTMLElement, className?: string): void; replaceDom(dom: HTMLElement): void; cloneNode(): Node; applyBounds(): void; protected _beforeDraw(dom: HTMLElement): void; protected _doDraw(dom: HTMLElement): void; protected _afterDraw(dom: HTMLElement): void; protected _visibleChanged(): void; private sizeChanged; protected _doSizeChanged(): void; } /** @internal */ declare class LayerElement$1 extends VisualElement$1 { get isLayer(): boolean; protected _doDraw(element: HTMLElement): void; } interface ISize { width: number; height: number; } /** @internal */ declare class Size$1 implements ISize { width: number; height: number; static readonly EMPTY: Size$1; static empty(): Size$1; static create(w?: number, h?: number): Size$1; constructor(width?: number, height?: number); /** isEmpty */ get isEmpty(): boolean; clone(): Size$1; equals(sz: Size$1): boolean; setEmpty(): Size$1; set(width: number, height: number): Size$1; round(): Size$1; toString(): string; } /** * Property 모델 구성 요소. */ declare abstract class PropertyItem extends Base$1 { private _prop; private _group; constructor(prop: IPropInfo); get group(): PropertyGroup; get prop(): IPropInfo; get name(): string; get label(): string; get domain(): any[]; get parent(): any; isVisible(source: IPropertySource): boolean; isReadOnly(source: IPropertySource): boolean; getValue(source: IPropertySource): any; getValueByName(name: string, source: IPropertySource): any; setValue(source: IPropertySource, value: any): void; setValues(sources: IPropertySource[], value: any): void; setValueByName(name: string, source: IPropertySource, value: any): void; setValuesByName(name: string, sources: IPropertySource[], value: any): void; hasColor(): boolean; } declare class PropertyGroup extends Base$1 { static readonly $_ctor: string; private _label; private _items; private _pool; source: IPropertySource; constructor(label: string); get label(): string; get count(): number; get(index: number): PropertyItem; borrow(info: IPropInfo): PropertyItem; find(name: string): PropertyItem; add(item: PropertyItem): void; clear(): void; } /** * Value property base. */ declare abstract class ValueProperty extends PropertyItem { private _defaultValue; /** * 기본값. */ get defaultValue(): any; set defaultValue(value: any); } /** * String property. */ declare class StringProperty extends ValueProperty { static readonly $_ctor: string; } /** * 참조 항목 list를 갖는 property. */ declare class ListableProperty extends StringProperty { static readonly $_ctor: string; } interface IPropertySource { getEditProps(): IPropInfo[]; getStyleProps(): IPropInfo[]; getSubStyleProps(prop: string): IPropInfo[]; isDominantProp(prop: IPropInfo): boolean; getPlaceHolder(prop: IPropInfo): string; getPropDomain(prop: IPropInfo): any[]; getProperty(prop: string): any; setProperty(prop: string, value: any): void; setItemsProperty(sources: IPropertySource[], prop: string, value: any): void; getStyleProperty(prop: string): any; setStyleProperty(prop: string, value: any): void; setItemsStyleProperty(sources: IPropertySource[], prop: string, value: any): void; getSubStyleProperty(prop: string, style: string): any; setSubStyleProperty(prop: string, style: string, value: any): void; setItemsSubStyleProperty(sources: IPropertySource[], prop: string, style: string, value: any): void; isReadOnlyProperty(prop: IPropInfo): boolean; canPropAdoptDragSource(prop: IPropInfo, source: any): boolean; adoptPropDragSource(prop: IPropInfo, source: any): IDropResult; getCollapsedPropCategories?: () => string[]; isCollectionProp(): boolean; isEditableCollection(): boolean; isCollectionItem(): boolean; getCollectionLabel(): string; getPropertySources(): IPropertySource[]; getPopupPropLabel(prop: string): string; } interface IPropertyContainer { addCollectionItem(collection: IPropertySource): void; removeItem(item: IPropertySource): void; } declare enum PropCategory { DESIGN = "design", BASIC = "basic", TEXT = "text", DATA = "data", BOUND = "bound", LINK = "link", EVENT = "event", I18N = "internationalization", EDITING = "editing", CHECK = "check", SECTION = "section", EDITOR = "editor", REPORT = "report", PAPER = "paper", PRINT = "print", BOX = "box", TABLE = "table", BARCODE = "barcode", CELL = "cell", BAND = "band", BAND_GROUP = "band group", BAND_CELL = "band cell", SUB_BAND = "sub band", FIELD = "field", COLUMN = "column", ROW = "row", CHART = "chart", TITLE = "title", SUBTITLE = "subtitle", AXIS = "axis", XAXIS = "x Axis", YAXIS = "y Axis", SERIES = "series", LABEL = "label", LABELS = "labels", DATA_LABELS = "dataLabels", MARKER = "marker", LEGEND = "legend", SHEET = "sheet", GRID = "grid", LINE = "line", TICK = "tick", POINT = "point", TOOLTIP = "tooltip", CROSSHAIR = "crosshair", OPTIONS = "options", BODY = "body", CREDITS = "credits", COLOR_SCALE = "colorScale", MAP = "map", STYLES = "Styles", EMAIL_FORM_INFO = "email form info", EMAIL_LAYOUT = "email layout", EXCEL = "excel", EXCEL_BAR = "bar" } interface IPropInfo { name: string; category: string; type: any; typeProps?: any | ModelPropertyTypeProps; parent?: string; indented?: boolean; calculated?: boolean; collection?: boolean; visible?: (source: IPropertySource) => boolean; multiple?: boolean; /** * 속성 기본값 * - 속성값이 `default` 값과 일치하면 양식에 저장하지 않는다. * - 이메일 아이템의 경우에는 로드할 때, 양식에 해당 속성 필드가 정의되어 있지 않으면 `default` 값으로 로드한다. (`EmailLoaderImpl.loadOwn()` 참고) * - 명시적으로 `undefined`값을 할당해야 `undefined`를 기본값으로 처리한다. 반면 `default` 필드를 정의하지 않는 경우는 기본값 로직이 동작하지 않는다. * - inspector에서 reset 시에도 활용된다. */ default?: any; /** * 속성값 변경 가능 여부 * - `true`면 값을 변경할 수 없고, 양식에서 로드되지 않는다. */ readonly?: boolean; domain?: any[] | any; label?: string; tag?: string; params?: any; signature?: string; validate?: (source: IPropertySource, inputValue: any) => void; refresh?: boolean; description?: string; expandable?: boolean; } /** * Report 혹은 ReportItem들의 속성 집합 모델. */ declare class PropertyModel extends EventAware$1 { static readonly SOURCE_CHANGED = "onPropertySourceChanged"; static readonly VALUE_CHANGED = "onPropertyValueChanged"; private _name; private _modelMap; private _groupMap; private _styleGroup; private _childStyleMap; private _source; private _sources; private _groups; private _models; private _includedPropNames; constructor(name?: string); get name(): string; /** source */ get source(): IPropertySource; set source(value: IPropertySource); /** * 리포트에서 복수 선택시 설정된다. */ get sources(): IPropertySource[]; set sources(value: IPropertySource[]); /** groupCount */ get groupCount(): number; /** * sub model count */ get modelCount(): number; /** * 현재 모델에 포함해야 할 속성을 정의 (undefined일 경우에는 모든 속성을 포함, 빈 배열을 모든 속성 무시) */ get includedPropNames(): string[] | undefined; set includedPropNames(value: string[] | undefined); getGroup(index: number): PropertyGroup; getModel(index: number): PropertyModel; findItem(prop: string): PropertyItem; refresh(): void; updateValue(source: IPropertySource, item: PropertyItem, value: any): void; updateValueByName(name: string, source: IPropertySource, item: PropertyItem, value: any): void; private $_borrowGroup; private $_borrowModel; private $_clear; private $_buildSource; private $_buildModels; private $_buildItems; private $_isIncludeProp; protected _fireSourceChanged(): void; protected _fireValueChanged(source: IPropertySource, item: PropertyItem, value: any): void; } interface ModelPropertyTypeProps { /** * 포함해야할 모델 내부 속성을 정의 */ include?: string[]; } /** * Sub property model property. */ declare class ModelProperty extends PropertyItem { static readonly $_ctor: string; private _model; constructor(prop: IPropInfo); /** model */ get model(): PropertyModel; } /** * 자식 item들을 순서대로 쌓아가며 배치한다. * 위치 설정이 안된 item은 중앙에 정렬 시킨다. */ declare class StackContainer extends BoundedContainer { static readonly PROP_OVERFLOW = "overflow"; static readonly PROPINFOS: IPropInfo[]; static readonly $_ctor: string; static readonly ITEM_TYPE = "Stack Container"; static readonly STYLE_PROPS: string[]; private _overflow; constructor(name: string); /** * true로 설정되면 자식이 넘칠 수 있다. * 특히, table을 자식으로 갖는 경우 true로 설정해야 우측 끝이 표시되는 경우가 있을 수 있다. */ get overflow(): boolean; set overflow(value: boolean); canOverflow(): boolean; get outlineLabel(): string; getSaveType(): string; protected _datable(): boolean; protected _doDefaultInit(loader: IReportLoader, parent: ReportGroupItem, hintWidth: number, hintHeight: number): void; protected _getStyleProps(): string[]; protected _getEditProps(): IPropInfo[]; protected _doLoad(loader: IReportLoader, src: any): void; protected _doSave(target: object): void; canAlign(child: ReportItem): boolean; canAdoptDragSource(source: any): boolean; getMoveType(item: ReportItem): ItemMoveType; } /** * Report 편집 command base. */ declare abstract class ReportEditCommand extends EditCommand$1 { get page(): ReportPageBase; } /** * Asset item base. */ declare abstract class AssetItem implements IPropertySource { name: string; data: string; static readonly PROP_NAME = "name"; static readonly PROP_INFOS: { name: string; category: PropCategory; type: typeof StringProperty; multiple: boolean; default: any; }[]; parent: AssetGroup; description: string; tag: any; constructor(name: string, data: string); getEditProps(): IPropInfo[]; getStyleProps(): IPropInfo[]; getSubStyleProps(prop: string): IPropInfo[]; isDominantProp(prop: IPropInfo): boolean; getPlaceHolder(prop: IPropInfo): string; getPropDomain(prop: IPropInfo): any[]; getProperty(prop: string): any; setProperty(prop: string, value: any): void; setItemsProperty(sources: IPropertySource[], prop: string, value: any): void; getStyleProperty(prop: string): void; setStyleProperty(prop: string, va