realreport 1.10.1 → 1.10.2

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.1
2
+ RealReport v1.10.2
3
3
  Copyright (C) 2013-2025 WooriTech Inc.
4
4
  All Rights Reserved.
5
5
  */
@@ -547,6 +547,16 @@ All Rights Reserved.
547
547
  width: 100%;
548
548
  }
549
549
 
550
+ .rr-text-band .rr-text-band-body[data-empty]:before {
551
+ background-color: #00000008;
552
+ color: #777;
553
+ text-align: center;
554
+ content: "[TEXT BAND]";
555
+ display: table;
556
+ width: 100%;
557
+ padding: 2px;
558
+ }
559
+
550
560
  .rr-html[data-empty]:before {
551
561
  color: #999;
552
562
  text-align: center;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="pdfkit" />
2
2
  /**
3
- * RealReport v1.10.1
4
- * commit ad41433
3
+ * RealReport v1.10.2
4
+ * commit 97b0067
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.1
14
+ * RealReport Core v1.10.2
15
15
  * Copyright (C) 2013-2025 WooriTech Inc.
16
16
  * All Rights Reserved.
17
- * commit df9f36f8ce85540c89c6bff947ccff5bb0be423f
17
+ * commit 4cdcb307bd96df72a34275cc094312196b9849ee
18
18
  */
19
19
 
20
20
 
@@ -1905,26 +1905,13 @@ declare abstract class DataBandRowGroup extends ReportGroupItem {
1905
1905
  protected _doSave(target: object): void;
1906
1906
  getPropDomain(prop: IPropInfo): any[];
1907
1907
  }
1908
- interface BandBorders {
1909
- border: string;
1910
- borderLeft: string;
1911
- borderRight: string;
1912
- borderTop: string;
1913
- borderBottom: string;
1914
- }
1915
- interface BorderWidths {
1916
- left: number;
1917
- right: number;
1918
- top: number;
1919
- bottom: number;
1920
- }
1921
1908
  /**
1922
1909
  * Data band base class.
1923
1910
  *
1924
1911
  * [제한 사항]
1925
1912
  * 1. detail band는 multi columns 불가. (TODO: master가 multi column이 아니면 가능하지 않을까?)
1926
1913
  */
1927
- declare abstract class DataBand extends ReportGroupItem {
1914
+ declare abstract class DataBand extends ReportBandItem {
1928
1915
  static readonly PROP_DATA_BAND_MASTER_FIELDS = "masterFields";
1929
1916
  static readonly PROP_DATA_BAND_KEY_FIELDS = "keyFields";
1930
1917
  static readonly PROP_DATA_BAND_ROWS_PER_MASTER = "rowsPerMaster";
@@ -2227,9 +2214,6 @@ declare abstract class DataBand extends ReportGroupItem {
2227
2214
  getMin(field: string, count: number, rows?: number[]): number;
2228
2215
  getMax(field: string, count: number, rows?: number[]): number;
2229
2216
  getAvg(field: string, count: number, rows?: number[]): number;
2230
- getBandBorders(): BandBorders;
2231
- getBandBorderWidths(): BorderWidths;
2232
- hasBorder(): boolean;
2233
2217
  getPropDomain(prop: IPropInfo): any[];
2234
2218
  /**
2235
2219
  * 출력시 사용되는 밴드의 정보를 초기값으로 초기화
@@ -2242,9 +2226,6 @@ declare abstract class DataBand extends ReportGroupItem {
2242
2226
  protected _datable(): boolean;
2243
2227
  protected _getEditProps(): IPropInfo[];
2244
2228
  protected _getStyleProps(): string[];
2245
- canAddTo(group: ReportGroupItem): boolean;
2246
- canResize(dir: ResizeDirection): boolean;
2247
- canPageBreak(): boolean;
2248
2229
  protected _canChildData(): boolean;
2249
2230
  protected _doLoad(loader: IReportLoader, src: any): void;
2250
2231
  protected _doSave(target: object): void;
@@ -3252,15 +3233,11 @@ declare abstract class SimpleBandSection extends StackContainer {
3252
3233
  static readonly PROP_SIMPLE_BAND_SECTION_REPEAT = "repeat";
3253
3234
  static readonly PROPINFOS: IPropInfo[];
3254
3235
  static readonly PROP_FIELD = "field";
3255
- private _repeat;
3256
3236
  private _child_field;
3257
3237
  private _band;
3258
3238
  constructor(band: SimpleBand);
3259
3239
  /** band */
3260
3240
  get band(): SimpleBand;
3261
- /** repeat */
3262
- get repeat(): boolean;
3263
- set repeat(value: boolean);
3264
3241
  /**
3265
3242
  * field
3266
3243
  */
@@ -3276,8 +3253,8 @@ declare abstract class SimpleBandSection extends StackContainer {
3276
3253
  }
3277
3254
  declare class SimpleBandHeader extends SimpleBandSection {
3278
3255
  static readonly $_ctor: string;
3279
- constructor(band: SimpleBand);
3280
3256
  get outlineLabel(): string;
3257
+ get pathLabel(): string;
3281
3258
  }
3282
3259
  declare class SimpleBandFooter extends SimpleBandSection {
3283
3260
  static readonly PROP_ATTACH_TO_BODY = "attachToBody";
@@ -3285,6 +3262,7 @@ declare class SimpleBandFooter extends SimpleBandSection {
3285
3262
  static readonly $_ctor: string;
3286
3263
  private _attachToBody;
3287
3264
  /**
3265
+ * 두 컬럼 이상의 밴드에서,
3288
3266
  * true면 multi column 모드일 때 마지막 컬럼의 마지막 행에 붙여서 출력하고,
3289
3267
  * false면 모든 컬럼의 가장 아래쪽에 붙여서 출력한다.
3290
3268
  *
@@ -3293,6 +3271,7 @@ declare class SimpleBandFooter extends SimpleBandSection {
3293
3271
  get attachToBody(): boolean;
3294
3272
  set attachToBody(value: boolean);
3295
3273
  get outlineLabel(): string;
3274
+ get pathLabel(): string;
3296
3275
  protected _getEditProps(): IPropInfo[];
3297
3276
  protected _doLoad(loader: IReportLoader, src: any): void;
3298
3277
  protected _doSave(target: object): void;
@@ -3307,6 +3286,7 @@ declare class SimpleBandRow extends SimpleBandSection {
3307
3286
  get blankItems(): ReportItem[];
3308
3287
  canBlank(item: ReportItem, row: number): boolean;
3309
3288
  get outlineLabel(): string;
3289
+ get pathLabel(): string;
3310
3290
  get dataDominant(): boolean;
3311
3291
  get isDataRowContainer(): boolean;
3312
3292
  protected _getChildPropInfos(item: ReportItem): IPropInfo[];
@@ -3326,11 +3306,13 @@ declare class SimpleBandRowGroupHeader extends SimpleBandRowGroupSection {
3326
3306
  static readonly $_ctor: string;
3327
3307
  constructor(group: SimpleBandRowGroup);
3328
3308
  get outlineLabel(): string;
3309
+ get pathLabel(): string;
3329
3310
  }
3330
3311
  declare class SimpleBandRowGroupFooter extends SimpleBandRowGroupSection {
3331
3312
  static readonly $_ctor: string;
3332
3313
  constructor(group: SimpleBandRowGroup);
3333
3314
  get outlineLabel(): string;
3315
+ get pathLabel(): string;
3334
3316
  }
3335
3317
  declare class SimpleBandRowGroup extends DataBandRowGroup {
3336
3318
  static readonly PROPINFOS: IPropInfo[];
@@ -3351,6 +3333,8 @@ declare class SimpleBandRowGroup extends DataBandRowGroup {
3351
3333
  get report(): ReportBase;
3352
3334
  get collection(): SimpleBandRowGroupCollection;
3353
3335
  get dataParent(): ReportGroupItem;
3336
+ get outlineLabel(): string;
3337
+ get displayPath(): string;
3354
3338
  protected _ignoreItems(): boolean;
3355
3339
  protected _doLoad(loader: IReportLoader, src: any): void;
3356
3340
  protected _doSave(target: object): void;
@@ -3670,6 +3654,7 @@ declare abstract class ReportItemElement<T extends ReportItem = ReportItem> exte
3670
3654
  layoutContent(ctx: PrintContextBase): void;
3671
3655
  protected _doMeasureFolded(hintWidth: number, hintHeight: number): Size$1;
3672
3656
  protected _doLayoutFolded(): void;
3657
+ protected _getStyleTarget(dom: HTMLElement): HTMLElement;
3673
3658
  protected _doPrepareMeasure(ctx: PrintContext, dom: HTMLElement): void;
3674
3659
  private $_setRotation;
3675
3660
  protected _doAfterMeasure(ctx: PrintContext, dom: HTMLElement, hintWidth: number, hintHeight: number, sz: Size$1): void;
@@ -3756,7 +3741,13 @@ declare abstract class ReportGroupItemElement<T extends ReportGroupItem = Report
3756
3741
  protected _doPrint(doc: Document, ctx: PrintContext): void;
3757
3742
  }
3758
3743
  type ReportGroupItemView = ReportGroupItemElement<ReportGroupItem>;
3759
- declare abstract class BandElement<T extends DataBand = DataBand> extends ReportGroupItemElement<T> {
3744
+ declare abstract class BandItemElement<T extends ReportBandItem = ReportBandItem> extends ReportGroupItemElement<T> {
3745
+ abstract getLines(): ReportItemElement[];
3746
+ getSibling(item: ReportItemElement, delta: number): ReportItemElement;
3747
+ protected _getNext(item: ReportItemElement): ReportItemElement;
3748
+ protected _getPrev(item: ReportItemElement): ReportItemElement;
3749
+ }
3750
+ declare abstract class BandElement<T extends DataBand = DataBand> extends BandItemElement<T> {
3760
3751
  static readonly END_ROW_MESSAGE_CLASS = "rr-end-row-message";
3761
3752
  static readonly END_ROW_CLASS = "rr-end-row";
3762
3753
  static readonly BORDER_CONTAINER = "rr-band-border-container";
@@ -3764,17 +3755,13 @@ declare abstract class BandElement<T extends DataBand = DataBand> extends Report
3764
3755
  private _needFooterView;
3765
3756
  get needFooterView(): boolean;
3766
3757
  set needFooterView(value: boolean);
3767
- abstract getLines(): ReportItemElement[];
3768
3758
  abstract printRow(ctx: PrintContext, row: number): any;
3769
- getSibling(item: ReportItemElement, delta: number): ReportItemElement;
3770
3759
  findMasterBand(band: DataBand): DataBand;
3771
3760
  getBandLevel(masterBand: DataBand, band: DataBand): string;
3772
3761
  abstract addMasterRow(page: HTMLDivElement, headerView: any, rowView: any, x: number, y: number): number;
3773
3762
  abstract prepareAsync(doc: Document, ctx: PrintContext, width: number, subRows: number[], masterRow: number): BandPrintInfo<any>;
3774
3763
  abstract prepareSubBand(doc: Document, ctx: PrintContext, width: number, dataRows: number[]): BandPrintInfo<any>;
3775
3764
  protected _prepareDetail(doc: Document, ctx: PrintContext, band: DataBand, details: DataBandCollection, detailViews: BandCollectionElement, masterBandRow: number, rows: BandPrintRow[], width: number): void;
3776
- protected _getNext(item: ReportItemElement): ReportItemElement;
3777
- protected _getPrev(item: ReportItemElement): ReportItemElement;
3778
3765
  private $_prepareDetailDataBand;
3779
3766
  private $_prepareDetailBandGroup;
3780
3767
  private $_setBandLevel;
@@ -5315,6 +5302,7 @@ declare enum ReportItemType {
5315
5302
  BANDCELL = "bandcell",
5316
5303
  CROSSTAB = "crosstab",
5317
5304
  DATALIST = "datalist",
5305
+ TEXTBAND = "textband",
5318
5306
  FLOATING = "floating",
5319
5307
  SHAPE = "shape",
5320
5308
  BARCODE = "barcode",
@@ -7090,6 +7078,11 @@ declare class ReportPage extends ReportPageBase {
7090
7078
  protected _doLoad(loader: IReportLoader, src: any): void;
7091
7079
  protected _createRemoveItemsCommand(items: ReportPageItem[]): ReportEditCommand;
7092
7080
  afterLayout(printing: boolean): void;
7081
+ /**
7082
+ * ReportPage는 따로 visible 속성을 설정하지 않으므로 reportItem.isPrintable을 사용하지 않는다.
7083
+ * @returns
7084
+ */
7085
+ isPrintable(context: PrintContextBase): boolean;
7093
7086
  protected _initSections(): ReportGroupItem[];
7094
7087
  protected _createPageBody(): PageBody;
7095
7088
  protected _createReportFooter(): ReportFooter;
@@ -7468,6 +7461,9 @@ declare class PageBodyElement extends ReportElement {
7468
7461
  */
7469
7462
  private $_createSubBandPrintRows;
7470
7463
  private $_createSubBandPrintLines;
7464
+ /**
7465
+ */
7466
+ private $_prepareTextBandElement;
7471
7467
  private $_isLastChild;
7472
7468
  }
7473
7469
 
@@ -11330,6 +11326,12 @@ declare class ReportView extends ReportViewBase$1<Report> implements IImageConta
11330
11326
  findElementOf(dom: HTMLElement): ReportElement;
11331
11327
  getElementOf(model: ReportPageItem): ReportElement;
11332
11328
  getItemBoundingRect(element: VisualElement$1, rotated?: boolean): Rectangle$1;
11329
+ /**
11330
+ * onGetVisible 설정에 의해 출력 가능한 페이지의 시작 Index를 반환한다.
11331
+ * @param fromIndex 검색을 시작해야할 페이지 인덱스 정보
11332
+ * @returns
11333
+ */
11334
+ getVisiblePageIndex(ctx: PrintContext, fromIndex?: number): number;
11333
11335
  protected _initDom(doc: Document, dom: HTMLElement): void;
11334
11336
  protected _resetPages(model: Report): void;
11335
11337
  protected _createEmptyView(doc: Document): VisualElement$1;
@@ -11412,6 +11414,83 @@ interface ISimpleGroupPrintInfo extends IGroupPrintInfo {
11412
11414
  }
11413
11415
  type SimpleBandPrintRow = BandPrintRow | ISimpleGroupPrintInfo;
11414
11416
 
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
+
11415
11494
  interface AsyncLoadable {
11416
11495
  loadAsync(ctx: PrintContextBase): Promise<void>;
11417
11496
  }
@@ -11465,7 +11544,7 @@ declare class PrintContextBase<R extends ReportBase = ReportBase> extends Base$1
11465
11544
  private _tags;
11466
11545
  private _bandSave;
11467
11546
  async: boolean;
11468
- band: DataBand | CrosstabBand;
11547
+ band: DataBand | CrosstabBand | TextBand;
11469
11548
  pages: PrintPage[];
11470
11549
  floatings: HTMLDivElement[];
11471
11550
  reportCount: number;
@@ -11525,6 +11604,7 @@ declare class PrintContextBase<R extends ReportBase = ReportBase> extends Base$1
11525
11604
  * page count.
11526
11605
  */
11527
11606
  get pageCount(): number;
11607
+ set pageCount(count: number);
11528
11608
  /**
11529
11609
  * page index.
11530
11610
  */
@@ -11563,7 +11643,6 @@ declare class PrintContextBase<R extends ReportBase = ReportBase> extends Base$1
11563
11643
  preparePrint(report?: R): void;
11564
11644
  preparePage(page: number, allPage: number): void;
11565
11645
  setDetailPage(count: number, page: number): void;
11566
- finishPrint(pageCount: number): void;
11567
11646
  setCompositePageCount(compostePageCount: number): void;
11568
11647
  getUserData(): any;
11569
11648
  getCurrentValue(prop: string): any;
@@ -11601,6 +11680,10 @@ declare class PrintContextBase<R extends ReportBase = ReportBase> extends Base$1
11601
11680
  loadAsyncLoadableElements(): Promise<void[]>;
11602
11681
  getPrintValue(m: ReportItem): any;
11603
11682
  getPrintLinkValue(m: ReportItem): any;
11683
+ /**
11684
+ * PrintContext에서 초기화가 필요한 속성들을 설정한다.
11685
+ */
11686
+ initialize(): void;
11604
11687
  }
11605
11688
  type ContextValueCallback = (ctx: PrintContextBase) => any;
11606
11689
  declare class PageBreaker {
@@ -11890,16 +11973,18 @@ interface ISelectionSource {
11890
11973
  canSelectedWith(other: ISelectionSource): boolean;
11891
11974
  canMakeSnippet(): boolean;
11892
11975
  }
11893
- declare enum DropResultType {
11894
- PROP = "prop",
11895
- ITEM = "item"
11976
+ interface ReportItemBorders {
11977
+ border: string;
11978
+ borderLeft: string;
11979
+ borderRight: string;
11980
+ borderTop: string;
11981
+ borderBottom: string;
11896
11982
  }
11897
- interface IDropResult {
11898
- type: DropResultType;
11899
- prop?: string;
11900
- value?: any;
11901
- hintWidth?: number;
11902
- hintHeight?: number;
11983
+ interface ReportItemBorderWidths {
11984
+ left: number;
11985
+ right: number;
11986
+ top: number;
11987
+ bottom: number;
11903
11988
  }
11904
11989
  /**
11905
11990
  * Report page 구성 요소 기반 클래스.
@@ -12214,6 +12299,7 @@ declare abstract class ReportItem extends ReportPageItem {
12214
12299
  */
12215
12300
  get width(): ValueString;
12216
12301
  set width(value: ValueString);
12302
+ protected _validateWidth(value: ValueString): ValueString;
12217
12303
  /**
12218
12304
  * height
12219
12305
  */
@@ -12449,6 +12535,9 @@ declare abstract class ReportItem extends ReportPageItem {
12449
12535
  * @returns 리포트 아이템 표시 여부
12450
12536
  */
12451
12537
  isPrintable(context: PrintContextBase): boolean;
12538
+ getItemBorders(): ReportItemBorders;
12539
+ getItemBorderWidths(): ReportItemBorderWidths;
12540
+ hasItemBorder(): boolean;
12452
12541
  get marqueeParent(): ReportItem;
12453
12542
  get printable(): boolean;
12454
12543
  isReadOnlyProperty(prop: IPropInfo): boolean;
@@ -12608,6 +12697,11 @@ declare abstract class ReportGroupItem extends ReportItem {
12608
12697
  protected _doItemChanged(item: ReportItem, prop: string, value: any, oldValue: any): void;
12609
12698
  protected _setOutlineOrders(start: number, ...items: ReportPageItem[]): void;
12610
12699
  }
12700
+ declare abstract class ReportBandItem extends ReportGroupItem {
12701
+ canAddTo(group: ReportGroupItem): boolean;
12702
+ canResize(dir: ResizeDirection): boolean;
12703
+ canPageBreak(): boolean;
12704
+ }
12611
12705
  declare abstract class ReportItemCollectionItem extends ReportPageItem {
12612
12706
  private _collection;
12613
12707
  private _styles;
@@ -13723,6 +13817,17 @@ declare enum SectionInherit {
13723
13817
  HEAD = "head",
13724
13818
  PREVIOUS = "previous"
13725
13819
  }
13820
+ declare enum DropResultType {
13821
+ PROP = "prop",
13822
+ ITEM = "item"
13823
+ }
13824
+ interface IDropResult {
13825
+ type: DropResultType;
13826
+ prop?: string;
13827
+ value?: any;
13828
+ hintWidth?: number;
13829
+ hintHeight?: number;
13830
+ }
13726
13831
 
13727
13832
  declare abstract class PrintContainerBase extends VisualContainer$1 {
13728
13833
  static readonly CLASS_NAME = "rr-report-container";