realreport-designer
Version:
RealReport Designer component library
1,335 lines (1,254 loc) • 614 kB
TypeScript
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;
/**