realreport 1.10.2 → 1.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /*
2
- RealReport v1.10.2
2
+ RealReport v1.10.4
3
3
  Copyright (C) 2013-2025 WooriTech Inc.
4
4
  All Rights Reserved.
5
5
  */
@@ -1,7 +1,7 @@
1
1
  /// <reference types="pdfkit" />
2
2
  /**
3
- * RealReport v1.10.2
4
- * commit 97b0067
3
+ * RealReport v1.10.4
4
+ * commit b11cc0a
5
5
 
6
6
  * {@link https://real-report.com}
7
7
  * Copyright (C) 2013-2025 WooriTech Inc.
@@ -11,10 +11,10 @@
11
11
  import { Cvfo, Style } from 'exceljs';
12
12
 
13
13
  /**
14
- * RealReport Core v1.10.2
14
+ * RealReport Core v1.10.4
15
15
  * Copyright (C) 2013-2025 WooriTech Inc.
16
16
  * All Rights Reserved.
17
- * commit 4cdcb307bd96df72a34275cc094312196b9849ee
17
+ * commit f8009ee1c49638603fa7227836c820a59e19a28f
18
18
  */
19
19
 
20
20
 
@@ -7471,6 +7471,7 @@ declare class PageBodyElement extends ReportElement {
7471
7471
  declare class PageItemContainerElement extends BoundedContainerElement<PageItemContainer> {
7472
7472
  static readonly FRONT_CONTAINER_CLASS = "rr-front-container";
7473
7473
  static readonly BACK_CONTAINER_CLASS = "rr-back-container";
7474
+ static isDomInFrontBackLayer(dom: HTMLElement): boolean;
7474
7475
  private _emptySize;
7475
7476
  private _findable;
7476
7477
  constructor(doc: Document, model: PageItemContainer, styleName: string, emptySize?: boolean);
@@ -7487,8 +7488,6 @@ declare class PageItemContainerElement extends BoundedContainerElement<PageItemC
7487
7488
  protected _doMeasure(ctx: PrintContext, dom: HTMLElement, hintWidth: number, hintHeight: number): Size$1;
7488
7489
  }
7489
7490
 
7490
- type PrintPageCallback = (ctx: PrintContext, page: PrintPage, pageNo: number) => void;
7491
- type PrintEndCallback = (ctx: PrintContext, pages: PrintPage[]) => void;
7492
7491
  declare class PageSectionGuard extends ReportItemElement<ReportPage> {
7493
7492
  get guardLabel(): string;
7494
7493
  }
@@ -7788,6 +7787,7 @@ declare class TableBandPrintInfo extends BandPrintInfo<TableBand> {
7788
7787
  private $_getDownPages;
7789
7788
  private $_setGroupFooterPB;
7790
7789
  private $_addBorderContainer;
7790
+ protected _createPage(doc: Document, parent: HTMLDivElement): HTMLDivElement;
7791
7791
  }
7792
7792
  /**
7793
7793
  * @internal
@@ -7795,6 +7795,7 @@ declare class TableBandPrintInfo extends BandPrintInfo<TableBand> {
7795
7795
  * 1. 한 행(복수 tr 가능)은 페이지를 넘어갈 수 없다. 현재 상태에서 넘치면 다음 페이지에 출력한다.
7796
7796
  **/
7797
7797
  declare class TableBandElement extends BandElement<TableBand> implements ITable {
7798
+ static readonly CLASS_NAME = "rr-tableband";
7798
7799
  static readonly HEADER_CLASS = "-rrp-tableband-header";
7799
7800
  static readonly FOOTER_CLASS = "-rrp-tableband-footer";
7800
7801
  static readonly ROW_CLASS = "-rrp-tableband-row";
@@ -8114,9 +8115,177 @@ declare class HichartMarquee extends EditMarquee<HichartItemElement> {
8114
8115
  private $_prepareSeries;
8115
8116
  }
8116
8117
 
8118
+ declare abstract class TextBandSection extends StackContainer {
8119
+ static readonly PROP_REPEAT = "repeat";
8120
+ static readonly PROPINFOS: IPropInfo[];
8121
+ private _repeat;
8122
+ private _band;
8123
+ constructor(band: TextBand);
8124
+ /** band */
8125
+ get band(): TextBand;
8126
+ /** repeat */
8127
+ get repeat(): boolean;
8128
+ set repeat(value: boolean);
8129
+ get designLevel(): number;
8130
+ get marqueeParent(): ReportItem;
8131
+ protected _datable(): boolean;
8132
+ canCopy(): boolean;
8133
+ canResize(dir: ResizeDirection): boolean;
8134
+ /**
8135
+ * TextBand Header, Footer는 기본 visible이 false로 따로 처리함
8136
+ */
8137
+ protected _getEditProps(): IPropInfo[];
8138
+ protected _doLoad(loader: IReportLoader, src: any): void;
8139
+ protected _doSave(target: object): void;
8140
+ }
8141
+ declare class TextBandHeader extends TextBandSection {
8142
+ static readonly $_ctor: string;
8143
+ get outlineLabel(): string;
8144
+ get pathLabel(): string;
8145
+ canDelete(): boolean;
8146
+ }
8147
+ declare class TextBandFooter extends TextBandSection {
8148
+ static readonly PROPINFOS: IPropInfo[];
8149
+ static readonly $_ctor: string;
8150
+ get outlineLabel(): string;
8151
+ get pathLabel(): string;
8152
+ canDelete(): boolean;
8153
+ protected _getEditProps(): IPropInfo[];
8154
+ protected _doLoad(loader: IReportLoader, src: any): void;
8155
+ protected _doSave(target: object): void;
8156
+ }
8157
+ type TextBandLine = {
8158
+ r: IRect;
8159
+ line: string;
8160
+ };
8161
+ /**
8162
+ * 페이지를 넘길 수 있는 멀티 라인 텍스트 아이템.
8163
+ */
8164
+ declare class TextBand extends ReportBandItem {
8165
+ static readonly PROP_TEXT = "text";
8166
+ static readonly PROP_LINE_SEPARATORS = "lineSeparators";
8167
+ static readonly PROPINFOS: IPropInfo[];
8168
+ static readonly STYLE_PROPS: string[];
8169
+ static readonly $_ctor: string;
8170
+ static readonly ITEM_TYPE = "Text Band";
8171
+ private _text;
8172
+ private _lineSeparators;
8173
+ private _editing;
8174
+ private _header;
8175
+ private _footer;
8176
+ prevHead: boolean;
8177
+ rowIndex: number;
8178
+ _pr: number;
8179
+ _pageNo: number;
8180
+ constructor(name: string);
8181
+ /** header */
8182
+ get header(): TextBandHeader;
8183
+ /** footer */
8184
+ get footer(): TextBandFooter;
8185
+ /** text */
8186
+ get text(): string;
8187
+ set text(value: string);
8188
+ /** html */
8189
+ get lineSeparators(): string;
8190
+ set lineSeparators(value: string);
8191
+ /**
8192
+ * editing
8193
+ * - 텍스트를 미리보기 시점에 수정가능하게 하는 속성
8194
+ */
8195
+ get editing(): EditableObject<TextBand>;
8196
+ getText(v: any): string;
8197
+ getDesignText(): string;
8198
+ isEmpty(): boolean;
8199
+ get outlineLabel(): string;
8200
+ getSaveType(): string;
8201
+ protected _valueable(): boolean;
8202
+ protected _ignoreItems(): boolean;
8203
+ /**
8204
+ * ReportGroupItem은 onGetValue 이벤트를 사용하지 않는 설정이 기본설정
8205
+ * TextBand는 Text 속성에 값 하나만 연결해서 사용하기 때문에 onGetValue를 사용할 수 있도록 설정한다.
8206
+ */
8207
+ protected _getEditProps(): IPropInfo[];
8208
+ protected _getStyleProps(): string[];
8209
+ canAdoptDragSource(source: any): boolean;
8210
+ canAdd(item: ReportItem): boolean;
8211
+ canRemove(item: ReportItem): boolean;
8212
+ protected _doLoad(loader: IReportLoader, src: any): void;
8213
+ protected _doSave(target: object): void;
8214
+ }
8215
+
8216
+ /**
8217
+ * Report Editable 속성 관련하여 수정가능한 영역 표시를 위해 작성
8218
+ */
8219
+ declare class EditableMarker extends VisualElement$1 {
8220
+ static readonly CLASS_NAME = "rr-editable-marker";
8221
+ static readonly DEFAULT_BACKGROUND_COLOR = "#0ea5e9";
8222
+ private $_originalValue;
8223
+ get originalValue(): string;
8224
+ set originalValue(value: string);
8225
+ constructor(doc: Document);
8226
+ get isLayer(): boolean;
8227
+ protected _initDom(doc: Document, dom: HTMLElement): void;
8228
+ setOriginalValue(value: string): void;
8229
+ setMarkerSize(width: number, height: number): void;
8230
+ }
8231
+
8232
+ declare class TextBandSectionElement extends StackContainerElement<TextBandSection> {
8233
+ constructor(doc: Document, model: TextBandSection, styleName: string);
8234
+ get debugLabel(): string;
8235
+ protected _getCssSelector(): string;
8236
+ protected _needDesignBox(): boolean;
8237
+ protected _needContentBox(): boolean;
8238
+ protected _doAfterMeasure(ctx: PrintContext, dom: HTMLElement, hintWidth: number, hintHeight: number, sz: Size$1): void;
8239
+ }
8240
+ /** @internal */
8241
+ declare class TextBandElement extends BandItemElement<TextBand> {
8242
+ static readonly CLASS_NAME = "rr-textband";
8243
+ static readonly HEADER_CLASS = "rr-band-header";
8244
+ static readonly FOOTER_CLASS = "rr-band-footer";
8245
+ static readonly BODY_CLASS = "rr-textband-body";
8246
+ static parseLines(span: HTMLSpanElement, text: string): TextBandLine[];
8247
+ private _bodyView;
8248
+ private _headerView;
8249
+ private _footerView;
8250
+ private _headViews;
8251
+ private _hBody;
8252
+ private _lines;
8253
+ private _editableMarkers;
8254
+ constructor(doc: Document, model: TextBand);
8255
+ get headerView(): TextBandSectionElement;
8256
+ /** footerView */
8257
+ get footerView(): TextBandSectionElement;
8258
+ prepareAsync(doc: Document, ctx: PrintContext, width: number): TextBandPrintInfo;
8259
+ addEditableMarker(): EditableMarker;
8260
+ get debugLabel(): string;
8261
+ isDom(dom: Element): boolean;
8262
+ protected _getCssSelector(): string;
8263
+ protected _needDesignBox(): boolean;
8264
+ protected _getDesignText(): string;
8265
+ getLines(): ReportItemElement[];
8266
+ protected _getStyleTarget(dom: HTMLElement): HTMLElement;
8267
+ protected _doMeasure(ctx: PrintContextBase, dom: HTMLElement, hintWidth: number, hintHeight: number): Size$1;
8268
+ protected _doLayoutContent(ctx: PrintContextBase): void;
8269
+ private $_getPrintText;
8270
+ private $_prepareHeads;
8271
+ }
8272
+ declare class TextBandPrintInfo {
8273
+ band: TextBand;
8274
+ bandView: TextBandElement;
8275
+ headerView: TextBandSectionElement;
8276
+ footerView: TextBandSectionElement;
8277
+ text: string;
8278
+ lines: TextBandLine[];
8279
+ bandCellWidth: number;
8280
+ bandCellHeight: number;
8281
+ isEnded(): boolean;
8282
+ getNextPage(doc: Document, ctx: PrintContext, pageWidth: number, parent: HTMLDivElement): HTMLDivElement;
8283
+ protected _createPage(doc: Document, parent: HTMLDivElement): HTMLDivElement;
8284
+ }
8285
+
8117
8286
  declare class BandGroupPrintInfo extends BandPrintInfo<BandGroup> {
8118
8287
  group: BandGroup;
8119
- bands: BandPrintInfo<any>[];
8288
+ bands: BandPrintInfo<any>[] | TextBandPrintInfo[];
8120
8289
  left: string;
8121
8290
  gap: number;
8122
8291
  isEnded(): boolean;
@@ -11414,83 +11583,6 @@ interface ISimpleGroupPrintInfo extends IGroupPrintInfo {
11414
11583
  }
11415
11584
  type SimpleBandPrintRow = BandPrintRow | ISimpleGroupPrintInfo;
11416
11585
 
11417
- declare abstract class TextBandSection extends StackContainer {
11418
- static readonly PROP_REPEAT = "repeat";
11419
- static readonly PROPINFOS: IPropInfo[];
11420
- private _repeat;
11421
- private _band;
11422
- constructor(band: TextBand);
11423
- /** band */
11424
- get band(): TextBand;
11425
- /** repeat */
11426
- get repeat(): boolean;
11427
- set repeat(value: boolean);
11428
- get designLevel(): number;
11429
- get marqueeParent(): ReportItem;
11430
- protected _datable(): boolean;
11431
- canCopy(): boolean;
11432
- canResize(dir: ResizeDirection): boolean;
11433
- protected _getEditProps(): IPropInfo[];
11434
- protected _doLoad(loader: IReportLoader, src: any): void;
11435
- protected _doSave(target: object): void;
11436
- }
11437
- declare class TextBandHeader extends TextBandSection {
11438
- static readonly $_ctor: string;
11439
- get outlineLabel(): string;
11440
- get pathLabel(): string;
11441
- }
11442
- declare class TextBandFooter extends TextBandSection {
11443
- static readonly PROPINFOS: IPropInfo[];
11444
- static readonly $_ctor: string;
11445
- get outlineLabel(): string;
11446
- get pathLabel(): string;
11447
- protected _getEditProps(): IPropInfo[];
11448
- protected _doLoad(loader: IReportLoader, src: any): void;
11449
- protected _doSave(target: object): void;
11450
- }
11451
- /**
11452
- * 페이지를 넘길 수 있는 멀티 라인 텍스트 아이템.
11453
- */
11454
- declare class TextBand extends ReportBandItem {
11455
- static readonly PROP_TEXT = "text";
11456
- static readonly PROP_LINE_SEPARATORS = "lineSeparators";
11457
- static readonly PROPINFOS: IPropInfo[];
11458
- static readonly STYLE_PROPS: string[];
11459
- static readonly $_ctor: string;
11460
- static readonly ITEM_TYPE = "Text Band";
11461
- private _text;
11462
- private _lineSeparators;
11463
- private _header;
11464
- private _footer;
11465
- prevHead: boolean;
11466
- rowIndex: number;
11467
- _pr: number;
11468
- _pageNo: number;
11469
- constructor(name: string);
11470
- /** header */
11471
- get header(): TextBandHeader;
11472
- /** footer */
11473
- get footer(): TextBandFooter;
11474
- /** text */
11475
- get text(): string;
11476
- set text(value: string);
11477
- /** html */
11478
- get lineSeparators(): string;
11479
- set lineSeparators(value: string);
11480
- getText(v: any): string;
11481
- getDesignText(): string;
11482
- isEmpty(): boolean;
11483
- get outlineLabel(): string;
11484
- getSaveType(): string;
11485
- protected _valueable(): boolean;
11486
- protected _getEditProps(): IPropInfo[];
11487
- protected _getStyleProps(): string[];
11488
- canAdoptDragSource(source: any): boolean;
11489
- canAdd(item: ReportItem): boolean;
11490
- protected _doLoad(loader: IReportLoader, src: any): void;
11491
- protected _doSave(target: object): void;
11492
- }
11493
-
11494
11586
  interface AsyncLoadable {
11495
11587
  loadAsync(ctx: PrintContextBase): Promise<void>;
11496
11588
  }
@@ -13829,6 +13921,67 @@ interface IDropResult {
13829
13921
  hintHeight?: number;
13830
13922
  }
13831
13923
 
13924
+ type SignLine = Array<{
13925
+ x: number;
13926
+ y: number;
13927
+ w: number;
13928
+ t: number;
13929
+ }>;
13930
+ interface ISignResult {
13931
+ width: number;
13932
+ height: number;
13933
+ lines: SignLine[];
13934
+ }
13935
+
13936
+ interface IStampResult {
13937
+ data: string;
13938
+ }
13939
+
13940
+ interface IPrintReport {
13941
+ report: Report;
13942
+ data: IReportDataProvider;
13943
+ }
13944
+ interface ISinglePageOptions {
13945
+ border: boolean;
13946
+ }
13947
+ interface IItemPrintInfo {
13948
+ reportName: string;
13949
+ name: string;
13950
+ data?: string;
13951
+ row?: number;
13952
+ field?: string;
13953
+ value?: number;
13954
+ }
13955
+ type PrintPageCallback = (ctx: PrintContext, page: PrintPage, pageNo: number) => void;
13956
+ type PrintEndCallback = (ctx: PrintContext, pages: PrintPage[]) => void;
13957
+ type SignCallback = (item: IItemPrintInfo, sign: ISignResult) => void;
13958
+ type StampCallback = (item: IItemPrintInfo, stamp: IStampResult) => void;
13959
+ interface IPreviewOptions {
13960
+ debug?: boolean;
13961
+ async?: boolean;
13962
+ pageMark?: boolean;
13963
+ optimize?: boolean;
13964
+ pageDelay?: number;
13965
+ noScroll?: boolean;
13966
+ noIndicator?: boolean;
13967
+ singlePage?: boolean;
13968
+ singlePageOptions?: ISinglePageOptions;
13969
+ align?: Align;
13970
+ paging?: boolean;
13971
+ language?: string;
13972
+ editable?: boolean;
13973
+ callback?: PrintPageCallback;
13974
+ endCallback?: PrintEndCallback;
13975
+ signCallback?: SignCallback;
13976
+ stampCallback?: StampCallback;
13977
+ }
13978
+ interface IPrintOptions {
13979
+ report: Report | (Report | IPrintReport)[];
13980
+ data: IReportDataProvider;
13981
+ preview?: boolean;
13982
+ id?: string;
13983
+ previewOptions?: IPreviewOptions;
13984
+ }
13832
13985
  declare abstract class PrintContainerBase extends VisualContainer$1 {
13833
13986
  static readonly CLASS_NAME = "rr-report-container";
13834
13987
  static readonly PREVIEW_CLASS = "rr-report-preview";
@@ -13895,37 +14048,6 @@ declare class PrintEditableItemManager extends Base$1 {
13895
14048
  private $_getMarkerElementIndex;
13896
14049
  }
13897
14050
 
13898
- interface IPrintReport {
13899
- report: Report;
13900
- data: IReportDataProvider;
13901
- }
13902
- interface IPreviewOptions {
13903
- debug?: boolean;
13904
- async?: boolean;
13905
- pageMark?: boolean;
13906
- optimize?: boolean;
13907
- pageDelay?: number;
13908
- noScroll?: boolean;
13909
- noIndicator?: boolean;
13910
- singlePage?: boolean;
13911
- singlePageOptions?: ISinglePageOptions;
13912
- align?: Align;
13913
- paging?: boolean;
13914
- language?: string;
13915
- editable?: boolean;
13916
- callback?: PrintPageCallback;
13917
- endCallback?: PrintEndCallback;
13918
- }
13919
- interface IPrintOptions {
13920
- report: Report | (Report | IPrintReport)[];
13921
- data: IReportDataProvider;
13922
- preview?: boolean;
13923
- id?: string;
13924
- previewOptions?: IPreviewOptions;
13925
- }
13926
- interface ISinglePageOptions {
13927
- border: boolean;
13928
- }
13929
14051
  declare class PrintContainer extends PrintContainerBase {
13930
14052
  static setMarkerElementsVisible(pages: PrintPage[], visible: boolean): void;
13931
14053
  private _pageGap;