UNPKG

realreport-designer

Version:

RealReport Designer component library

1,335 lines (1,254 loc) 614 kB
import { default as default_2 } from 'csstype'; declare type Align$1 = 'left' | 'center' | 'right'; declare enum Align { LEFT = "left", CENTER = "center", RIGHT = "right" } declare interface Alignment { horizontal: 'left' | 'center' | 'right' | 'fill' | 'justify' | 'centerContinuous' | 'distributed'; vertical: 'top' | 'middle' | 'bottom' | 'distributed' | 'justify'; wrapText: boolean; shrinkToFit: boolean; indent: number; readingOrder: 'rtl' | 'ltr'; textRotation: number | 'vertical'; } declare enum AnchorPosition { CENTER = "center", LEFT = "left", RIGHT = "right", TOP = "top", BOTTOM = "bottom", INNER_LEFT = "innerLeft", INNER_RIGHT = "innerRight", INNER_TOP = "innerTop", INNER_BOTTOM = "innerBottom" } /** * Asset folder. */ declare class AssetGroup extends AssetItem { path: string; items: AssetItem[]; constructor(name: string); get count(): number; get(name: string): AssetItem; save(target: object[]): void; indexOf(item: AssetItem): number; get isGroup(): boolean; $_findItem(path: string, groupOnly?: boolean): AssetItem; } /** * 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, value: any): void; setItemsStyleProperty(sources: IPropertySource[], prop: string, value: any): void; getSubStyleProperty(prop: string, style: string): void; 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; isCollectionProp(): boolean; isEditableCollection(): boolean; isCollectionItem(): boolean; getCollectionLabel(): string; getPropertySources(): IPropertySource[]; getPopupPropLabel(prop: string): string; get isGroup(): boolean; get manager(): any; get displayPath(): string; save(target: any): any; protected _parsetData(data: string): void; protected _doSave(target: any): void; } /** * Asset 관리자. * 모든 asset의 name은 경로와 상관없이 유일해야 한다. * { * 'folder path': [asset items,...], * 'folder path': [asset items,...] * } * * 리포트에 저장되는 asset들 외에 application에서 제공하는 asset들(stock assets)이 * application asset view에 표시되도록 하고, * 그 asset들이 report에 추가되면 자동으로 report에도 추가한다. */ declare class AssetManager extends EventAware { private _owner; private _root; private _nameMap; private _commands; constructor(owner: IAssetOwner, commands: EditCommandStack); /** root */ get root(): AssetGroup; load(src: any): void; private $_collectGroups; save(target: object): void; private $_checkPath; get(name: string): AssetItem; getImage(name: string): string; getSvg(name: string): string; getPalette(name: string): ColorPaletteAsset; findGroup(path: string): AssetGroup; forceGroup(path: string): AssetGroup; addGroup(parent: string | AssetGroup, group: string): AssetGroup; removeGroup(group: string | AssetGroup): boolean; add(group: string | AssetGroup, item: AssetItem, index?: number): void; remove(item: AssetItem): void; addImage(group: string | AssetGroup, name: string, imageData: string, index?: number): ImageAsset; addSvg(group: string | AssetGroup, name: string, svgData: string, index?: number): SvgAsset; addPalette(group: string | AssetGroup, name: string, paletteData: string, index?: number): ColorPaletteAsset; getTree(root?: string): TreeItemSource; private $_parseTree; getValidName(prefix: string): string; isValidName(name: string): boolean; setItemProperty(item: AssetItem, prop: string, value: any): void; private $_findGroup; private $_addGroup; private $_removeGroup; private $_addItem; private $_removeItem; private $_addImage; private $_addSvg; private $_addSnippet; private $_addPalette; } declare class AssetTemplateGroup { name: string; title: string; description: string; items: IAssetTemplate[]; assets: AssetItem[]; constructor(source?: any); } declare interface AsyncLoadable { loadAsync(ctx: PrintContextBase): Promise<void>; } declare type AxisFitTo = 'body' | 'map'; /** * {}들의 배열. * values는 리포트에 저장하지 않는다. * 필요하다면 application이 별도로 관리한다. (파일로 저장/로드) * (필드.sample로 최초 한 행을 생성하고, 추후 다른 tool로 관리할 수 있도록 한다.) */ declare class BandArrayData extends BandData implements IBandData { private _linkedValues; private _embeddedValues; private _sampleCommands; private get _values(); private set _values(value); constructor(name: string, fields: IBandDataField[], values: any[], sampleCount?: number, link?: IReportDataLink, dp?: IReportDataProvider); get rowCount(): number; getRowValues(row: number): any; getValue(path: string): any; getRowValue(row: number, field: string | number): any; setRowValue(row: number, field: string | number, value: any): any; getFieldValues(field: string | number, rows?: number[]): any[]; equalValues(row: number, fields: string[], values: any[]): boolean; equalRows(row1: number, row2: number, fields?: string[]): boolean; findRows(values: object): number[]; appendRows(values: any[]): void; truncateRows(count: number): void; get sampleCommands(): EditCommandStack; _internalValues(): any[]; getValues(): any[]; setValues(vals: any[]): void; removeValueAt(index: number): boolean; insertValueAt(values: any, index: number): void; clearValues(): void; getFieldSample(): any[]; setLinkSource(source: any[]): void; setSource(source: any[]): void; getFieldInfos(): IReportDataFieldInfo[]; /** * 특정 모드의 데이터를 일회성으로 조작하기 위한 편의성 메서드 (callback 실행 후 모드는 원복됨) */ runInMode(callback: (() => void) | Promise<void>): void; getSaveType(): string; loadJson(source: string, link: IReportDataLink): Promise<void>; loadCsv(source: string, reader: ICsvDataReader, info: ICsvDataInfo): Promise<void>; loadExcel(source: ArrayBuffer, reader: IExcelDataReader, info: IExcelDataInfo): Promise<void>; protected _doDataFetched(fetchedData: unknown): void; editCommandStackChanged(stack: EditCommandStack, cmd: EditCommand, undoable: boolean, redoable: boolean): void; isDirty(): boolean; clean(): void; onSampleChanged: (stack: EditCommandStack, cmd: EditCommand) => void; private $_cloneRow; protected _getSampleValues(): any[]; protected _readRows(): void; protected _prepareCalcField(fields: IBandDataField[], fieldMap: any, calcField: IBandDataField, index: number, node: ExpressionNode): void; } declare class BandCollectionElement extends ReportGroupItemElement<DataBandCollection> { get debugLabel(): string; protected _getCssSelector(): string; protected _needDesignBox(): boolean; protected _initDom(doc: Document, dom: HTMLElement): void; protected _doMeasure(ctx: PrintContext, dom: HTMLElement, hintWidth: number, hintHeight: number): Size; protected _doAfterMeasure(ctx: PrintContext, dom: HTMLElement, hintWidth: number, hintHeight: number, sz: Size): void; protected _doLayoutContent(ctx: PrintContext): void; } declare abstract class BandData extends LinkableReportData { static readonly $_ctor: string; protected _fields: IBandDataField[]; private _fieldMap; protected _calcFieldRuntime: FieldValueRuntime; private _fieldCommands; constructor(name: string, fields: IBandDataField[], link?: IReportDataLink, dp?: IReportDataProvider); get fieldCommands(): EditCommandStack; get fields(): IBandDataField[]; get fieldCount(): number; abstract get rowCount(): number; getFields(): IBandDataField[]; getField(index: number): IBandDataField; fieldByName(fieldName: string): IBandDataField; getFieldIndex(field: string): number; containsField(fieldName: string): boolean; indexOfField(field: IBandDataField): number; setField(index: number, field: IBandDataField): void; getSaveFields(): IBandDataField[]; getSaveValues(): any[]; getNextFieldName(prefix?: string): string; getFieldNames(): string[]; addField(field: IBandDataField, index?: number): boolean; removeField(field: IBandDataField): boolean; abstract getRowValue(row: number, field: string | number): any; groupBy(dataView: BandDataSortView, fields: string[], subRows?: number[]): (number | IBandRowGroup | IBandRowGroupFooter)[]; readValue(field: IBandDataField, value: any): any; readRow(row: any): any; dateToStr(field: IBandDataField, v: Date): string; abstract getFieldValues(field: string | number, rows?: number[]): any[]; get isBand(): boolean; isDirty(): boolean; clean(): void; save(target: any): any; preparePrint(ctx: PrintContext, design: boolean): void; editCommandStackChanged(stack: EditCommandStack, cmd: EditCommand, undoable: boolean, redoable: boolean): void; onFieldChanged: (stack: EditCommandStack, cmd: EditCommand) => void; protected _getSampleValues(): any[]; protected _readRows(): void; protected _prepareCalcField(fields: IBandDataField[], fieldMap: any, calcField: IBandDataField, index: number, node: ExpressionNode): void; } declare class BandDataSortView extends Base implements IBandDataSortView { static readonly SOURCE_INDEX = "_source_index_"; private _source; private _fieldMap; private _view; constructor(data: IReportData); get rowCount(): number; sort(field: string, direction: DataDirection): this; getRowValue(row: number, field: string): any; getFieldValues(field: string, rows?: number[]): any[]; } declare abstract class BandDesigner extends PopupElement { static readonly TITLE_CONTAINER_CLASS = "rr-band-designer-title-container"; static readonly TITLE_CLASS = "rr-band-designer-title"; static readonly FOOTER_CLASS = "rr-band-designer-footer"; static readonly INPUT_LABEL_CLASS = "rr-band-designer-input-label"; static readonly SUBMIT_BTN_CLASS = "rr-band-designer-submit-button"; static readonly FIELD_LIST_CLASS = "rr-band-designer-field-list"; static readonly FIELD_CLASS = "rr-band-designer-field"; static readonly ARROW_CLASS = "rr-band-designer-arrow"; static readonly ARROW_BUTTON_CONTAINER_CLASS = "rr-band-designer-arrow-button-container"; static readonly BTN_ACTIVATED_CLASS = "rr-band-designer-toolbtn-activated"; static readonly SEARCH_CONTAINER_CLASS = "rr-band-designer-search-container"; static readonly SEARCH_INPUT_CLASS = "rr-band-designer-search-input"; protected _spanTitle: HTMLSpanElement; protected _container: HTMLDivElement; protected _dataContainer: HTMLDivElement; protected _arrowContainer: HTMLDivElement; protected _bandContainer: HTMLDivElement; protected _buttonContainer: HTMLDivElement; protected _ok: HTMLButtonElement; protected _cancel: HTMLButtonElement; _sizer: HTMLDivElement; protected _editor: VisualContainer; protected _dataList: HTMLSelectElement; protected _fieldListManager: FieldListManager; protected _appliedListManager: FieldListManager; abstract _end(completed: boolean): void; protected abstract _getTitle(): string; clickField(div: HTMLElement): void; dblClickField(div: HTMLElement): void; enterKeyDown(event: KeyboardEvent): void; escKeyDown(event: KeyboardEvent): void; buttonClick(button: HTMLButtonElement): void; private $_refreshFields; protected _refreshBandFields(): void; $_checkArrows(): void; resizeBy(dw: number, dh: number, draw?: boolean): void; private $_addAll; private $_removeAll; private $_add; private $_remove; private $_moveAll; private $_afterMove; } declare abstract class BandElement<T extends DataBand = DataBand> extends BandItemElement<T> { static readonly END_ROW_MESSAGE_CLASS = "rr-end-row-message"; static readonly END_ROW_CLASS = "rr-end-row"; static readonly BORDER_CONTAINER = "rr-band-border-container"; abstract get rowView(): ReportGroupItemView; private _needFooterView; get needFooterView(): boolean; set needFooterView(value: boolean); abstract printRow(ctx: PrintContext, row: number): any; findMasterBand(band: DataBand): DataBand; getBandLevel(masterBand: DataBand, band: DataBand): string; abstract addMasterRow(page: HTMLDivElement, headerView: any, rowView: any, x: number, y: number): number; abstract prepareAsync(doc: Document, ctx: PrintContext, width: number, subRows: number[], masterRow: number): BandPrintInfo<any>; abstract prepareSubBand(doc: Document, ctx: PrintContext, width: number, dataRows: number[]): BandPrintInfo<any>; protected _prepareDetail(doc: Document, ctx: PrintContext, band: DataBand, details: DataBandCollection, detailViews: BandCollectionElement, masterBandRow: number, rows: BandPrintRow[], width: number): void; private $_prepareDetailDataBand; private $_prepareDetailBandGroup; private $_setBandLevel; } declare class BandFooterPrintInfo { } declare class BandGroup extends ReportGroupItem { static readonly MIN_BAND_COUNT = 1; static readonly PROP_BAND_COUNT = "bandCount"; static readonly PROP_BAND_GAP = "bandGap"; static readonly PROP_NO_SPLIT = "noSplit"; static readonly PROP_DIRECTION = "direction"; static readonly PROPINFOS: IPropInfo[]; static readonly STYLE_PROPS: any[]; static readonly $_ctor: string; static readonly ITEM_TYPE = "Band Group"; private _bandGap; private _noSplit; private _direction; private _master; constructor(name: string); /** * band count. */ get bandCount(): number; set bandCount(value: number); /** * gap between bands. */ get bandGap(): number; set bandGap(value: number); /** * 밴드그룹 설정 방향 */ get direction(): Direction; set direction(value: Direction); /** * true면 밴드 아이템 전체 높이가 출력 페이지의 남은 높이 보다 클 경우 다음 페이지에 출력한다. #612 */ get noSplit(): boolean; set noSplit(value: boolean); /** * master band. */ get master(): DataBand; set master(band: DataBand); /* Excluded from this release type: loadProps */ getBandItem(index: number): DataBand | undefined; getSaveType(): string; get outlineLabel(): string; protected _getEditProps(): IPropInfo[]; protected _getStyleProps(): string[]; protected _doLoad(loader: IReportLoader, src: any): void; protected _doSave(target: object): void; canAdd(item: ReportItem): boolean; canResize(dir: ResizeDirection): boolean; private $_resetCells; } /* Excluded from this release type: BandGroupElement */ declare class BandGroupMarquee extends EditMarquee<BandGroupElement> { private static readonly STYLE_NAME; private static readonly W_ITEM; private static readonly H_ITEM; static $_isContainer(dom: HTMLElement): boolean; static getTarget(target: ReportItem, dom: HTMLElement): IEditMarqueeTarget; private _tableItem; private _topItems; private _topTrackers; private _sizeFeedback; private _sizeValueFeedback; private _cellFocus; private _topDivs; protected _getCssSelector(): string; protected _initDom(doc: Document, dom: HTMLElement): void; protected _doLayout(doc: Document, dom: HTMLElement, r: Rectangle): void; private $_getDivs; private $_getItems; private $_getTrackers; } declare class BandGroupPrintInfo extends BandPrintInfo<BandGroup> { group: BandGroup; groupInfos: (TextPrintInfo | BandPrintInfo<BandModel> | TextBandPrintInfo)[]; left: string; gap: number; bandWidth: number; bandView: BandGroupElement; isEnded(): boolean; getRows(): any[]; rollback(page: HTMLDivElement): void; getNextPage(doc: Document, ctx: PrintContext, width: number, parent: HTMLDivElement): HTMLDivElement | null; getNoPagingPage(doc: Document, ctx: PrintContext, width: number, parent: HTMLDivElement): HTMLDivElement | null; getEmptyDataBandPage(doc: Document, ctx: PrintContext, bandPrintInfo: BandGroupPrintInfo, width: number, parent: HTMLDivElement): HTMLDivElement; resetRowIndex(): void; private $_createBandGroupPage; private $_attachHorizontalBandGroup; private $_attachVeritcalBandGroup; } declare abstract class BandItemElement<T extends ReportBandItem = ReportBandItem> extends ReportGroupItemElement<T> { abstract getLines(): ReportItemElement[]; getSibling(item: ReportItemElement, delta: number): ReportItemElement; protected _getNext(item: ReportItemElement): ReportItemElement; protected _getPrev(item: ReportItemElement): ReportItemElement; } declare type BandModel = SimpleBand | TableBand | BandGroup | CrosstabBand; declare abstract class BandPrintInfo<T extends ReportItem> { band: T; xBand: number; ptsBand: number[]; wBand: number; bandCellWidth: number; bandCellHeight: number; masterRow: number; masterValues: any; /** * rows per page. * NaN이 아니면 이 수 만큼만 출력하고 페이지를 넘긴다. */ rpp: number; /** * end row count * NaN이 아니면 이 수만큼 빈 행을 추가한다. * endRowCount가 0보다 커서 이전 페이지에서 빈 행들을 추가했는데 다 출력하지 못한 빈 행수. */ erc: number; detailRows: number[]; isMasterRowPrintNext: boolean; needMasterHeader: boolean; needNextPage: boolean; private _headerSectionPrinted; private _footerSectionPrinted; get isHeaderSectionPrinted(): boolean; set headerSectionPrinted(print: boolean); get isFooterSectionPrinted(): boolean; set footerSectionPrinted(print: boolean); abstract isEnded(): boolean; abstract getRows(): any[]; abstract getNextPage(doc: Document, ctx: PrintContextBase, width: number, parent: HTMLDivElement): HTMLDivElement | null; abstract getNoPagingPage(doc: Document, ctx: PrintContextBase, width: number, parent: HTMLDivElement): HTMLDivElement | null; abstract getEmptyDataBandPage(doc: Document, ctx: PrintContextBase, bandPrintInfo: BandPrintInfo<T>, width: number, parent: HTMLDivElement): HTMLDivElement | null; abstract resetRowIndex(): void; rollback(page: HTMLDivElement): void; setMaxCount(rows: any[], count: number): void; isDataRow(row: any): row is number; isBand(row: any): row is BandPrintInfo<any>; isGroupHeader(row: any): boolean; isGroupFooter(row: any): boolean; /** * 밴드아이템 출력중 가장 마지막 행이 포함되어서 출력중인지 판단 */ isLastRowIncluded(lastRow: number, rows: TableBandPrintRow[] | SimpleBandPrintRow[]): boolean; /** * 데이터가 존재하지 않는 밴드에 대해 표시할지 말지 여부를 판단할 때 사용 */ isEmptyDataBandVisible(): boolean; /** * 밴드의 left, right 속성 적용 */ setBandBoundPosition(ctx: PrintContextBase, model: BandModel, div: HTMLDivElement): void; setBandPrevIndex(index: number): void; createBorderContaienr(doc: Document, y: number, w: number, name: string, tModel: string): HTMLDivElement; setBorderContainerStyle(borderContainer: HTMLDivElement, styles: { [x: string]: string; }): void; setBoxSidesStyle(bandContainer: HTMLDivElement, styles: Styles): void; protected _setX(dom: HTMLElement, x: number): void; protected _setY(dom: HTMLElement, y: number): void; protected _setPos(dom: HTMLElement, x: number, y: number): void; protected _createPage(doc: Document, parent: HTMLDivElement): HTMLDivElement; protected _createSectionPage(doc: Document, parent: HTMLDivElement): HTMLDivElement; protected _createBandDetailPage(doc: Document, top: number, pageWidth: number): HTMLDivElement; protected _buildEndRows(marker: EndRowMarker, rowCount: number, rows: any[]): void; protected _unshiftEndRows(row: any, rows: any[]): void; /** * 마스터-디테일 형태에서 디테일이 출력되는 동안 페이지마다 마스터 행 출력 준비 * 현재 출력중인 마스터 밴드 행 번호 사용 * @param band 마스터 밴드 정보 * @param rows 출력해야할 행 정보 목록 * @see {@link https://github.com/realgrid/realreport/issues/1138} */ protected _prepareRepeatMasterRow(band: DataBand, rows: BandPrintRow[]): void; /** * 마스터-디테일 밴드에서 마스터 헤더 출력여부와 관련된 값들에 대한 설정 * @param band 출력중인 밴드 정보 * @param bandHeaderPrinted 출력중인 페이지내에서 마스터 해더의 출력여부 * @param printed 출력했는지 여부 */ protected _setBandHeaderPrintFlag(band: DataBand, printed: boolean): void; /** * 디테일 밴드를 계속 출력 or 끝 결정 * @param ctx PrintContext * @param rows 현재 출력해야 할 행들에 대한 목록 * @param row 현재 출력중인 행 정보 * @param rowsPerPage 페이지에서 몇행 까지 출력할 수 있는지 정보 * @returns true = 디테일 밴드 출력 끝, false = 다음장에 디테일 계속 출력 */ protected _isDetailBandPrintEnd(row: BandPrintInfo<SimpleBand | TableBand | BandGroup>): boolean; protected _resetRowIndex(row: BandPrintInfo<SimpleBand | TableBand | BandGroup>): void; protected _prepareDetailBandPrintNext(ctx: PrintContextBase, band: DataBand, row: BandPrintInfo<SimpleBand | TableBand | BandGroup>, rows: BandPrintRow[], rowsPerPage: number): void; protected _isNextRowDataRow(rows: BandPrintRow[]): boolean; /** * 밴드 디테일 영역에서 SummaryItem 계산을 위한 데이터 준비 */ protected _prepareBandDetailSummary(ctx: PrintContext, band: DataBand): void; } declare type BandPrintRow = number | BandFooterPrintInfo | BandPrintInfo<any> | EndRowMarker; declare enum BandSectionLayout { ACROSS_DOWN = "acrossDown", DOWN_ACROSS = "downAcross" } declare type BandSectionType = 'header' | 'dataRow' | 'footer' | 'groupHeader' | 'groupFooter'; declare type BarAxisDirection = 'context' | 'leftToRight' | 'rightToLeft'; declare type BarAxisPosition = 'auto' | 'middle' | 'none'; declare enum BarcodeFormat { CODE39 = "code39", CODE128 = "code128", CODE128A = "code128a", CODE128B = "code128b", CODE128C = "code128c", EAN13 = "ean13", EAN8 = "ean8", EAN5 = "ean5", EAN2 = "ean2", UPC = "upc", UPCE = "upce", ITF = "itf", ITF14 = "itf14", MSI10 = "msi10", MSI11 = "msi11", MSI1010 = "msi1010", MSI1110 = "msi1110", PHARMACODE = "pharmacode", CODABAR = "codabar" } /** * 1차원 barcode item. */ declare class BarcodeItem extends ReportItem { static readonly PROP_FORMAT = "format"; static readonly PROP_TEXT = "text"; static readonly PROP_BAR_WIDTH = "barWidth"; static readonly PROP_SHOW_TEXT = "showText"; static readonly PROP_TEXT_POSITION = "textPosition"; static readonly PROP_TEXT_MARGIN = "textMargin"; static readonly PROP_TEXT_ALIGN = "textAlign"; static readonly PROP_FLAT = "flat"; static readonly PROP_LAST_CHAR = "lastChar"; static readonly PROP_AUTO_SCALE = "autoScale"; /** Barcode를 표현할 수 있는 영역의 최소 크기 (한 변 기준, px단위) */ static readonly BARCODE_WIDTH_MIN_SIZE = 50; static readonly BARCODE_HEIGHT_MIN_SIZE = 15; static readonly PROPINFOS: IPropInfo[]; static readonly STYLE_PROPS: string[]; static readonly $_ctor: string; static readonly ITEM_TYPE = "Barcode"; private _format; private _text; private _barWidth; private _showText; private _textAlign; private _textPosition; private _textMargin; private _flat; private _lastChar; private _autoScale; constructor(name: string); /** format */ get format(): BarcodeFormat; set format(value: BarcodeFormat); /** * text */ get text(): string; set text(value: string); /** * bar width */ get barWidth(): number; set barWidth(value: number); /** * show text */ get showText(): boolean; set showText(value: boolean); /** * text align */ get textAlign(): Align; set textAlign(value: Align); get textPosition(): 'top' | 'bottom'; set textPosition(value: 'top' | 'bottom'); /** * text margin */ get textMargin(): number; set textMargin(value: number); /** * flat */ get flat(): boolean; set flat(value: boolean); get lastChar(): string; set lastChar(value: string); /** * autoSize */ get autoScale(): boolean; set autoScale(value: boolean); convertText(s: string): string; getSaveType(): string; get outlineLabel(): string; protected _doDefaultInit(loader: IReportLoader, parent: ReportGroupItem, hintWidth: number, hintHeight: number): void; protected _getEditProps(): IPropInfo[]; protected _getStyleProps(): string[]; protected _doLoad(loader: IReportLoader, src: any): void; protected _doSave(target: object): void; } declare type BarcodeOutput = 'image' | 'font'; /* Excluded from this release type: Base */ declare interface BaseConfig { visible?: boolean; style?: RealMapChartSvgStyles; } /** * BodyItemAddSection */ declare class BodyItemAddSection extends ItemAddSection<PageBody> { static readonly $_ctor: string; constructor(target: PageBody); get pathLabel(): string; get outlineLabel(): string; protected _doItemAdded(item: ReportItem, index: number): void; } /* Excluded from this release type: BodyItemAddSectionElement */ declare class BodyView$1 extends DesignerLayerElement { protected _doInitStyles(dom: HTMLElement): void; } declare class BodyView extends DialogBodyView { private _fileType; private _tagInput; constructor(ctx: IDesignerContext); prepare(doc: Document, ctx: IDesignerContext): this; getResult(): { fileType: ReportArchiveType; tag: string; }; createInput(doc: Document, options: { id: string; label: string; type: 'text' | 'select'; selectOptions?: SelectOption[]; }): { inputWrapper: HTMLDivElement; input: HTMLInputElement | HTMLSelectElement; }; createTextInput(doc: Document): HTMLInputElement; createSelect(doc: Document, selectOptions?: SelectOption[]): HTMLSelectElement; } declare interface Border { style: BorderStyle; color: Partial<Color>; } declare interface BorderDiagonal extends Border { up: boolean; down: boolean; } declare interface Borders { top: Partial<Border>; left: Partial<Border>; bottom: Partial<Border>; right: Partial<Border>; diagonal: Partial<BorderDiagonal>; } declare type BorderStyle = 'thin' | 'dotted' | 'hair' | 'medium' | 'double' | 'thick' | 'dashed' | 'dashDot' | 'dashDotDot' | 'slantDashDot' | 'mediumDashed' | 'mediumDashDotDot' | 'mediumDashDot'; declare class BottomView extends DialogBottomView<UploadArchiveDlg> { static readonly BOTTOM_UPLOAD_BTN_ID = "upload-archive-dialog-bottom-preview"; static readonly BOTTOM_CANCEL_BTN_ID = "upload-archive-dialog-bottom-cancel"; protected _doInitBottom(doc: Document): void; } /** * 자식들의 위치를 지정할 수 있는 container. * 위치 설정이 안된 item은 중앙에 정렬 시킨다. */ declare abstract class BoundedContainer extends ReportGroupItem { static readonly CHILD_PROPS: IPropInfo[]; protected _getChildPropInfos(item: ReportItem): IPropInfo[]; protected _doLoadChild(child: ReportItem, src: any): void; } /* Excluded from this release type: BoundedContainerElement */ declare abstract class BoxContainer extends ReportGroupItem { static readonly PROP_ITEMS_ALIGN = "itemsAlign"; static readonly PROP_ITEM_GAP = "itemGap"; static readonly PROP_OVERFLOW = "overflow"; static readonly PROPINFOS: IPropInfo[]; static readonly STYLE_PROPS: string[]; private _itemsAlign; private _itemGap; private _overflow; private _itemGapDim; constructor(name: string); /** */ get itemsAlign(): BoxItemsAlign; set itemsAlign(value: BoxItemsAlign); /** */ get itemGap(): string | number; set itemGap(value: string | number); /** * true로 설정되면 자식이 넘칠 수 있다. * 특히, table을 자식으로 갖는 경우 true로 설정해야 우측 끝이 표시되는 경우가 있을 수 있다. */ get overflow(): boolean; set overflow(value: boolean); getItemGap(domain: number): number; /* Excluded from this release type: loadProps */ protected _datable(): boolean; protected _getEditProps(): IPropInfo[]; protected _getStyleProps(): string[]; protected _doLoad(loader: IReportLoader, src: any): void; protected _doSave(target: object): void; canAlign(child: ReportItem): boolean; } /* Excluded from this release type: BoxContainerElement */ declare enum BoxItemsAlign { START = "start", MIDDLE = "middle", END = "end" } declare type CategorizedSeries = RealMapChartBarSeries | RealMapChartPieSeries; declare enum CCITTScheme { GROUP_3 = "g3", GROUP_3_2D = "g3-2d", GROUP_4 = "g4" } /** * CellGroup들만을 자식으로 갖는다. */ declare abstract class CellContainer extends ReportGroupItem { /* Excluded from this release type: noPrepareCell */ contains(item: ReportItem, deep?: boolean): boolean; indexOf(item: ReportItem): number; findCell(item: ReportItem): CellGroup; find(name: string, recursive?: boolean): ReportItem; protected _loadChild(loader: IReportLoader, item: ReportItem, src: any): ReportItem; protected _addItem(item: ReportItem, index: number, silent: boolean): ReportItem; protected _removeItem(item: ReportItem): number; protected abstract _prepareCellGroup(item: ReportItem): CellGroup; protected _unprepareCellGroup(item: ReportItem): CellGroup; } /** * 자식을 대리하는 그룹. * 자식 하나만 가질 수 있다. */ declare abstract class CellGroup extends ReportGroupItem { private _item; constructor(item: ReportItem, name: string); /** * item */ get item(): ReportItem; get isEmpty(): boolean; get isChildPropContainer(): boolean; set childPropInfos(value: IPropInfo[]); get printable(): boolean; protected _maxChildCount(): number; protected _doItemChanged(item: ReportItem, prop: string, value: any, oldValue: any): void; } /** * exceljs 타입을 따로 선언해서 사용 * 사용자 환경의 skipLipCheck 설정 때문 */ declare type CfvoTypes = 'percentile' | 'percent' | 'num' | 'min' | 'max' | 'formula' | 'autoMin' | 'autoMax'; declare abstract class ChartAxis<T extends ChartItem, C = unknown> extends ChartDataObject<T, C> { static readonly PROPINFOS: IPropInfo[]; private _collection; private _index; constructor(collection: ChartAxisCollection<T>); get outlineParent(): IOutlineSource; get outlineLabel(): string; abstract get type(): string; get collection(): ChartAxisCollection<T>; set collection(value: ChartAxisCollection<T>); get index(): number; set index(value: number); get displayPath(): string; getSaveLabel(): string; protected _getEditProps(): IPropInfo[]; protected _doLoad(loader: IReportLoader, src: any): void; protected _doSave(target: ReportTarget): void; } declare abstract class ChartAxisCollection<T extends ChartItem, C = unknown> extends ReportItemCollection<ChartAxis<T, C>> implements ReportObject { private _chart; private _axes; constructor(chart: T); get outlineParent(): IOutlineSource; abstract get outlineLabel(): string; get outlineExpandable(): boolean; get outlineItems(): IOutlineSource[]; getSaveType(): string; get owner(): ChartItem; get chart(): T; get count(): number; get items(): ChartAxis<T, C>[]; get visibleCount(): number; abstract getChartConfig(context: PrintContext): C[]; abstract getSaveLabel(): string; defaultInit(): void; load(loader: IReportLoader, source: ReportSource): void; save(target: ReportTarget): boolean; get(index: number): ChartAxis<T, C>; indexOf(axis: ChartAxis<T, C>): number; addNew(loader: IReportLoader, type: string): ChartAxis<T, C>; add(axis: ChartAxis<T, C>): ChartAxis<T, C>; removeAt(index: number): boolean; remove(axis: ChartAxis<T, C>): boolean; clear(): boolean; get page(): ReportPageBase; abstract get displayPath(): string; get level(): number; isCollection(): boolean; isAncestorOf(item: ReportPageItem): boolean; getCollectionLabel(): string; protected _doMoveItem(from: number, to: number): boolean; protected abstract _createAxis(loader: IReportLoader, src: ReportSource): ChartAxis<T, C>; protected abstract _axesChanged(): void; protected _doDefaultInit(): void; private $_invalidateAxes; } declare abstract class ChartDataObject<T extends ChartItem, C = unknown> extends ChartObject$1<T, C> { static readonly PROP_DATA = "data"; static readonly PROPINFOS: IPropInfo[]; private _data; constructor(chart: T); get data(): string; set data(value: string); protected getData(): IReportData | undefined; protected getDataFieldNames(): string[]; protected getDataFieldValue(context: PrintContext, field: string): unknown; protected _getEditProps(): IPropInfo[]; getPropDomain(prop: IPropInfo): any[]; getPlaceHolder(prop: IPropInfo): string; protected _doLoad(loader: IReportLoader, source: ReportSource): void; protected _doSave(target: ReportTarget): void; } declare abstract class ChartItem<C = unknown> extends ReportGroupItem implements ChartWrappable<C> { abstract getChartConfig(context: PrintContext): C; getParentBand(): DataBand; } declare abstract class ChartObject$1<T extends ChartItem, C = unknown> extends ReportPageItem implements ReportObject, ChartWrappable<C> { static readonly PROP_VISIBLE = "visible"; static readonly PROP_VISIBLE_DEFAULT_VALUE = true; static readonly PROPINFOS: IPropInfo[]; static readonly STYLE_PROPS: any[]; private _visible; private _chart; private _styles; constructor(chart: T); get outlineParent(): IOutlineSource; get outlineExpandable(): boolean; get outlineLabel(): string; getSaveType(): string; canRemoveFrom(): boolean; abstract getSaveLabel(): string; getEditProps(): IPropInfo[]; getStyleProps(): IPropInfo[]; getSubStyleProps(prop: string): IPropInfo[]; getPlaceHolder(prop: IPropInfo): string; getPropDomain(prop: IPropInfo): any[]; setItemsProperty(sources: IPropertySource[], prop: string, value: any): void; getStyle(style: string): string; setStyle(style: string, value: string): void; getStyleProperty(prop: string): any; setStyleProperty(prop: string, value: any): void; isChildProp(prop: string): boolean; getSubStyleProperty(prop: string, style: string): any; setSubStyleProperty(prop: string, style: string, value: any): void; setItemsSubStyleProperty(sources: IPropertySource[], prop: string, style: string, value: any): void; canPropAdoptDragSource(prop: IPropInfo, source: any): boolean; adoptPropDragSource(prop: IPropInfo, source: any): IDropResult; get visible(): boolean; set visible(value: boolean); get chart(): T; get page(): ReportPageBase; get report(): ReportBase; get pathLabel(): string; get displayPath(): string; get level(): number; get styles(): Styles; set styles(value: Styles); defaultInit(): void; load(loader: IReportLoader, source: ReportSource): void; save(target: ReportTarget): boolean; abstract getChartConfig(context: PrintContext): C; get dataParent(): ReportGroupItem; get marqueeParent(): ReportItem; isCollection(): boolean; protected _doDefaultInit(): void; protected _doLoad(loader: IReportLoader, source: ReportSource): void; protected _doSave(target: ReportTarget): void; protected _getEditProps(): IPropInfo[]; protected _getStyleProps(): string[]; protected _getSubStyle(prop: string, style: string): any; protected _setSubStyle(prop: string, style: string, value: any): void; protected _getParentData(): string; protected _changed(prop: string, newValue: unknown, oldValue: unknown): void; } declare abstract class ChartObject<T extends ReportGroupItem> extends ReportItem { static readonly PROPINFOS: IPropInfo[]; private _chart; constructor(chart: T, name?: string); get chart(): T; canHide(): boolean; getWrapper(): object; get page(): ReportPageBase; get report(): ReportBase; get dataParent(): ReportGroupItem; get marqueeParent(): ReportItem; getSaveType(): string; protected _getEditProps(): IPropInfo[]; protected _doLoad(loader: IReportLoader, src: any): void; protected _doSave(target: any): void; protected _isDefaultVisible(): boolean; protected _getPropsWrapper(target: any, excludes?: string[], names?: { [key: string]: string; }): any; } declare abstract class ChartSeries$1<T extends ChartItem, C = unknown> extends ChartDataObject<T, C> { static readonly PROP_VALUE_FIELD = "valueField"; static readonly PROP_VALUES = "values"; static readonly PROPINFOS: IPropInfo[]; private _valueField; private _values; private _collection; private _index; private _designVisible; constructor(collection: ChartSeriesCollection$1<T>); getPropDomain(prop: IPropInfo): any[]; get outlineLabel(): string; get outlineParent(): IOutlineSource; abstract get type(): string; get valueField(): string; set valueField(value: string); get values(): number[]; set values(value: number[]); get collection(): ChartSeriesCollection$1<T>; set collection(value: ChartSeriesCollection$1<T>); get index(): number; set index(value: number); get designVisible(): boolean; set designVisible(value: boolean); hasSeriesData(context: PrintContext): boolean; protected getVisible(context: PrintContext): boolean; protected getSeriesData(context: PrintContext): number[]; get displayPath(): string; getSaveLabel(): string; protected _getEditProps(): IPropInfo[]; protected _doLoad(loader: IReportLoader, src: any): void; protected _doSave(target: ReportTarget): void; } declare abstract class ChartSeries<T extends ReportGroupItem> extends ChartObject<T> { static readonly PROP_SERIES_ID = "id"; static readonly PROP_DESIGN_VISIBLE = "designVisible"; static readonly PROP_VALUE_FIELD = "valueField"; static readonly PROP_VALUES = "values"; static readonly PROPINFOS: IPropInfo[]; private _id; private _designVisible; private _valueField; private _values; constructor(chart: T); getPropDomain(prop: IPropInfo): any[]; abstract get seriesType(): string; /** * id */ get id(): string; set id(value: string); /** * design visible */ get designVisible(): boolean; set designVisible(value: boolean); /** * valueField **/ get valueField(): string; set valueField(value: string); /** * valueField가 지정되면 이 속성은 무시된다. */ get values(): number[]; set values(value: number[]); hasValuesProp(): boolean; getValues(ctx: PrintContext, dp: IReportDataProvider): any[]; getSaveType(): string; get displayPath(): string; get outlineLabel(): string; protected _getEditProps(): IPropInfo[]; protected _doLoad(loader: IReportLoader, src: any): void; protected _doSave(target: object): void; } declare abstract class ChartSeriesCollection$1<T extends ChartItem, C = unknown> extends ReportItemCollection<ChartSeries$1<T, C>> implements ReportObject { private _chart; private _seriesList; constructor(chart: T); get outlineParent(): IOutlineSource; get outlineLabel(): string; get outlineExpandable(): boolean; get outlineItems(): IOutlineSource[]; getSaveType(): string; get owner(): ChartItem; get chart(): T; get count(): number; get items(): ChartSeries$1<T, C>[]; get visibleCount(): number; abstract getChartConfig(context: PrintContext): C[]; getSaveLabel(): string; defaultInit(): void; load(loader: IReportLoader, source: ReportSource): void; save(target: ReportTarget): boolean; get(index: number): ChartSeries$1<T, C>; indexOf(series: ChartSeries$1<T, C>): number; addNew(loader: IReportLoader, type: string): ChartSeries$1<T, C>; add(series: ChartSeries$1<T, C>): ChartSeries$1<T, C>; removeAt(index: number): boolean; remove(series: ChartSeries$1<T, C>): boolean; clear(): boolean; select(series: ChartSeries$1<T, C> | null): void; get page(): ReportPageBase; get displayPath(): string; get level(): number; isCollection(): boolean; isAncestorOf(item: ReportPageItem): boolean; getCollectionLabel(): string; protected _doMoveItem(from: number, to: number): boolean; protected abstract _createSeries(loader: IReportLoader, src: ReportSource): ChartSeries$1<T, C>; protected abstract _seriesChanged(): void; protected _doDefaultInit(): void; private $_invalidateSeriesList; } declare abstract class ChartSeriesCollection<T extends ReportGroupItem> extends ReportItemCollection<ChartSeries<T>> { private _chart; protected _series: ChartSeries<T>[]; constructor(chart?: T); get outlineParent(): IOutlineSource; get outlineLabel(): string; get outlineExpandable(): boolean; get outlineItems(): IOutlineSource[]; get owner(): ReportItem; /** chart */ get chart(): T; /** count */ get count(): number; get items(): ReportPageItem[]; get visibleCount(): number; load(loader: IReportLoader, src: any): void; save(target: any): void; get(index: number): ChartSeries<T>; indexOf(series: ChartSeries<T>): number; add(loader: IReportLoader, series: ChartSeries<T> | ConfigObject$2, index?: number): ChartSeries<T>; addAll(loader: IReportLoader, series: (ChartSeries<T> | ConfigObject$2)[], index?: number): boolean; removeAt(index: number): boolean; remove(series: ChartSeries<T>): boolean; clear(): boolean; select(series: ChartSeries<T>): void; getSaveType(): string; get page(): ReportPageBase; get displayPath(): string; get level(): number; isAncestorOf(item: ReportPageItem): boolean; protected abstract _createSeries(loader: IReportLoader, src: any): ChartSeries<T>; protected abstract _seriesChanged(series: ChartSeries<T>): void; private $_add; private $_invalidateSeries; private $_seriesChanged; protected _doMoveItem(from: number, to: number): boolean; } declare abstract class ChartTextObject$1<T extends ChartItem, C = unknown> extends ChartObject$1<T, C> { static readonly PROP_TEXT = "text"; static readonly PROPINFOS: IPropInfo[]; private _text; constructor(chart: T, text?: string); /** text */ get text(): string; set text(value: string); protected _getEditProps(): IPropInfo[]; protected _getStyleProps(): string[]; protected _doLoad(loader: IReportLoader, source: ReportSource): void; protected _doSave(target: ReportTarget): void; } declare abstract class ChartTextObject<T extends ReportGroupItem> extends ChartObject<T> { static readonly PROP_TEXT = "text"; static readonly PROPINFOS: IPropInfo[]; private _text; constructor(chart: T); /** text */ get text(): string; set text(value: string); protected _getEditProps(): IPropInfo[]; protected _getStyleProps(): string[]; protected _doLoad(loader: IReportLoader, src: any): void; protected _doSave(target: object): void; getWrapper(): object; } declare interface ChartWrappable<ChartConfig> { getChartConfig(context: PrintContext): ChartConfig; } declare interface Closable { close(): void; } declare class ColHeaderSelection2 extends HeaderSelection implements ISelectionSource { column: SheetColumn; constructor(column: SheetColumn, count?: number); get selectedItem(): SheetColumn; } declare interface Color { /** * Hex string for alpha-red-green-blue e.g. FF00FF00 */ argb: string; /** * Choose a theme by index */ theme: number; } /** * Color palette */ declare class ColorPaletteAsset extends AssetItem { protected _parsetData(data: string): void; protected _doSave(target: any): void; } /** * 수직으로 자식 item들을 배치한다. * Html flex box를 활용한다. */ declare class ColumnBoxContainer extends BoxContainer { static readonly CHILD_PROPS: IPropInfo[]; static readonly $_ctor: string; static readonly ITEM_TYPE = "Column Box"; private _child_left; private _child_right; constructor(name: string); /** * left */ getLeftOf(item: ReportItem): number | string; setLeftOf(item: ReportItem, value: number | string): void; /** * right */ getRightOf(item: ReportItem): number | string; setRightOf(item: ReportItem, value: number | string): void; getSaveType(): string; get outlineLabel(): string; get pathLabel(): string; protected _getChildPropInfos(item: ReportItem): IPropInfo[]; protected _doDefaultInit(loader: IReportLoader, parent: ReportGroupItem, hintWidth: number, hintHeight: number): void; protected _doLoadChild(child: ReportItem, src: any): void; canAlignTo(item: ReportPageItem, to: string): boolean; canResizeChild(item: ReportItem, dir: ResizeDirection): boolean; } /** * View for ColumnBoxContainer */ declare class ColumnBoxContainerElement extends BoxContainerElement<ColumnBoxContainer> { private _points; constructor(doc: Document, model: ColumnBoxContainer); getRowPoints(): number[]; get debugLabel(): string; protected _getCssSelector(): string; protected _doMeasure(ctx: PrintContext, dom: HTMLElement, hintWidth: number, hintHeight: number): Size; protected _doLayoutContent(ctx: PrintContext): void; /** * * @param x paddingLeft + borderLeftWidth 를 더한 것 * @param width columnBox Width - (paddingLeft + borderLeftWidth + paddingRight + borderRightWidth) */ protected _layoutItem(ctx: PrintContext, child: ReportElement, model: ReportItem, x: number, y: number, width: number, height: number): void; getLeft(view: ReportItemView): ReportItemView; getRight(view: ReportItemView): ReportItemView; } declare class ColumnBoxMarquee extends EditMarquee<ColumnBoxContainerElement> { private static readonly STYLE_NAME; static getTarget(target: ReportItem, dom: HTMLElement): IEditMarqueeTarget; private _leftItems; protected _getCssSelector(): string; protected _initDom(doc: Document, dom: HTMLElement): void; protected _doLayout(doc: Document, dom: HTMLElement, columnBoxRect: Rectangle): void; private $_getItems; } declare class ColumnHeaderLayer extends HeaderLayer$1 { static readonly MENU = "col_header"; private CONTEXT_MENUS; _headerView: DesignColumnHeaderView; _colPts: number[]; private _xPage; private _startPosition; constructor(doc: Document, editor: ExcelReportEditor); get startPosition(): number; set startPosition(position: number); setPage(reportView: ExcelReportEditView, colPts: number[], zoom: number): void; protected _initDom(doc: Document, dom: HTMLElement): void; protected _doMeasure(ctx: PrintContextBase, dom: HTMLElement, hintWidth: number, hintHeight: number): Size; protected _doLayoutContent(ctx: PrintContextBase): void; private $_layoutHandles; } declare type ConditionalFormattingRule = IDataBarRuleType; declare type ConfigObject$1 = { location?: string; group?: string; name?: string; align?: string; verticalAlign?: string; layout?: string; offsetX?: number; itemGap?: number; }; declare type ConfigObject$2 = { [key: string]: any; }; declare type ConfigObject = { name?: string; color?: string; }; declare type ContextValueCallback = (ctx: PrintContextBase) => any; /**