realreport 1.8.6 → 1.8.7

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.8.6
2
+ RealReport v1.8.7
3
3
  Copyright (C) 2013-2024 WooriTech Inc.
4
4
  All Rights Reserved.
5
5
  */
@@ -1,7 +1,7 @@
1
1
  /// <reference types="pdfkit" />
2
2
  /**
3
- * RealReport v1.8.6
4
- * commit ab37db0
3
+ * RealReport v1.8.7
4
+ * commit e8f372d
5
5
 
6
6
  * Copyright (C) 2013-2024 WooriTech Inc.
7
7
  https://real-report.com
@@ -9,10 +9,10 @@
9
9
  */
10
10
 
11
11
  /**
12
- * RealReport Core v1.8.6
12
+ * RealReport Core v1.8.7
13
13
  * Copyright (C) 2013-2024 WooriTech Inc.
14
14
  * All Rights Reserved.
15
- * commit 84d9dfe922d0c8c03c2dcac923be8e4a2e26f685
15
+ * commit 2aaf9cc3a7145340f2496410f5c04ecff548ded0
16
16
  */
17
17
  type ConfigObject$1 = {
18
18
  [key: string]: any;
@@ -2474,6 +2474,7 @@ declare abstract class DataBand extends ReportGroupItem {
2474
2474
  * master band.
2475
2475
  */
2476
2476
  get master(): DataBand;
2477
+ set master(band: DataBand);
2477
2478
  /**
2478
2479
  * band level.
2479
2480
  * 최상위 band이면 0.
@@ -2716,18 +2717,22 @@ declare abstract class DataBand extends ReportGroupItem {
2716
2717
  */
2717
2718
  declare class DataBandCollection extends ReportGroupItem {
2718
2719
  static readonly PROPINFOS: IPropInfo[];
2720
+ static readonly CHILD_PROPS: IPropInfo[];
2719
2721
  static readonly $_ctor: string;
2720
2722
  private _owner;
2721
2723
  private _label;
2722
2724
  constructor(owner: DataBand, label: string);
2723
2725
  /** owner */
2724
2726
  get owner(): DataBand;
2727
+ protected _getChildPropInfos(item: ReportItem): IPropInfo[];
2725
2728
  getSaveType(): string;
2726
2729
  get outlineLabel(): string;
2727
2730
  get designLevel(): number;
2728
2731
  get marqueeParent(): ReportItem;
2732
+ protected _doLoadChild(child: ReportItem, src: any): void;
2729
2733
  canAdd(item: ReportItem): boolean;
2730
2734
  canContainsBand(): boolean;
2735
+ canContainsBandGroup(): boolean;
2731
2736
  protected _doItemAdded(item: ReportItem, index: number): void;
2732
2737
  }
2733
2738
 
@@ -3410,8 +3415,61 @@ declare class ReportElement extends VisualElement$1 {
3410
3415
  protected _doPrint(doc: Document, ctx: PrintContext): void;
3411
3416
  }
3412
3417
 
3413
- /**
3414
- */
3418
+ declare class BandGroup extends ReportGroupItem {
3419
+ static readonly PROP_BAND_COUNT = "bandCount";
3420
+ static readonly PROP_BAND_GAP = "bandGap";
3421
+ static readonly PROP_NO_SPLIT = "noSplit";
3422
+ static readonly PROP_DIRECTION = "direction";
3423
+ static readonly PROPINFOS: IPropInfo[];
3424
+ static readonly STYLE_PROPS: any[];
3425
+ static readonly $_ctor: string;
3426
+ static readonly ITEM_TYPE = "Band Group";
3427
+ private _bandGap;
3428
+ private _noSplit;
3429
+ private _direction;
3430
+ private _master;
3431
+ constructor(name: string);
3432
+ /**
3433
+ * band count.
3434
+ */
3435
+ get bandCount(): number;
3436
+ set bandCount(value: number);
3437
+ /**
3438
+ * gap between bands.
3439
+ */
3440
+ get bandGap(): number;
3441
+ set bandGap(value: number);
3442
+ /**
3443
+ * 밴드그룹 설정 방향
3444
+ */
3445
+ get direction(): Direction;
3446
+ set direction(value: Direction);
3447
+ /**
3448
+ * true면 밴드 아이템 전체 높이가 출력 페이지의 남은 높이 보다 클 경우 다음 페이지에 출력한다. #612
3449
+ */
3450
+ get noSplit(): boolean;
3451
+ set noSplit(value: boolean);
3452
+ /**
3453
+ * master band.
3454
+ */
3455
+ get master(): DataBand;
3456
+ set master(band: DataBand);
3457
+ /**
3458
+ * @internal
3459
+ * ReportPage에서 bodyItems를 통해 호출한다.
3460
+ */
3461
+ loadProps(src: any): void;
3462
+ getBandItem(index: number): DataBand | undefined;
3463
+ getSaveType(): string;
3464
+ get outlineLabel(): string;
3465
+ protected _getEditProps(): IPropInfo[];
3466
+ protected _getStyleProps(): string[];
3467
+ protected _doLoad(loader: IReportLoader, src: any): void;
3468
+ protected _doSave(target: object): void;
3469
+ canAdd(item: ReportItem): boolean;
3470
+ private $_resetCells;
3471
+ }
3472
+
3415
3473
  declare class BandCollectionElement extends ReportGroupItemElement<DataBandCollection> {
3416
3474
  constructor(doc: Document, model: DataBandCollection);
3417
3475
  protected _doDispose(): void;
@@ -3582,9 +3640,11 @@ declare abstract class BandElement<T extends DataBand> extends ReportGroupItemEl
3582
3640
  abstract addMasterRow(page: HTMLDivElement, headerView: any, rowView: any, x: number, y: number): number;
3583
3641
  abstract prepareAsync(doc: Document, ctx: PrintContext, width: number, subRows: number[], masterRow: number): BandPrintInfo<any>;
3584
3642
  abstract prepareSubBand(doc: Document, ctx: PrintContext, width: number, dataRows: number[]): BandPrintInfo<any>;
3585
- protected _prepareDetail(doc: Document, ctx: PrintContext, band: DataBand, details: DataBandCollection, detailViews: BandCollectionElement, r: number, rows: BandPrintRow[], width: number): void;
3643
+ protected _prepareDetail(doc: Document, ctx: PrintContext, band: DataBand, details: DataBandCollection, detailViews: BandCollectionElement, masterBandRow: number, rows: BandPrintRow[], width: number): void;
3586
3644
  protected _getNext(item: ReportItemView): ReportItemView;
3587
3645
  protected _getPrev(item: ReportItemView): ReportItemView;
3646
+ private $_prepareDetailDataBand;
3647
+ private $_prepareDetailBandGroup;
3588
3648
  }
3589
3649
 
3590
3650
  /**
@@ -3696,6 +3756,14 @@ declare abstract class TableElement<T extends TableBase> extends ReportGroupItem
3696
3756
  private $_layoutViewInCell;
3697
3757
  protected _findCell(model: TableCellItem): TableCellElementBase;
3698
3758
  createColGroup(doc: Document, width: number): HTMLTableColElement;
3759
+ /**
3760
+ * 셀 높이를 계산하여 반환한다. (모델 값만으로 계산)
3761
+ *
3762
+ * @param cell
3763
+ * @param rowHeightPixels 모든 행의 px 높이가 담긴 배열 (행 높이가 설정되어 있지 않은 경우 NaN)
3764
+ * @returns 셀 높이 (row 높이가 고정되어 있지 않고, 컨텐츠에 따라 늘어나는 경우는 undefined를 반환한다.)
3765
+ */
3766
+ private $_calcCellHeight;
3699
3767
  }
3700
3768
 
3701
3769
  declare class CrosstabFieldHeader extends ReportItem {
@@ -6482,54 +6550,6 @@ interface ISimpleGroupPrintInfo extends IGroupPrintInfo {
6482
6550
  }
6483
6551
  type SimpleBandPrintRow = BandPrintRow | ISimpleGroupPrintInfo;
6484
6552
 
6485
- declare class BandGroup extends ReportGroupItem {
6486
- static readonly PROP_BAND_COUNT = "bandCount";
6487
- static readonly PROP_BAND_GAP = "bandGap";
6488
- static readonly PROP_NO_SPLIT = "noSplit";
6489
- static readonly PROP_DIRECTION = "direction";
6490
- static readonly PROPINFOS: IPropInfo[];
6491
- static readonly STYLE_PROPS: any[];
6492
- static readonly $_ctor: string;
6493
- static readonly ITEM_TYPE = "Band Group";
6494
- private _bandGap;
6495
- private _noSplit;
6496
- private _direction;
6497
- constructor(name: string);
6498
- /**
6499
- * band count.
6500
- */
6501
- get bandCount(): number;
6502
- set bandCount(value: number);
6503
- /**
6504
- * gap between bands.
6505
- */
6506
- get bandGap(): number;
6507
- set bandGap(value: number);
6508
- /**
6509
- * 밴드그룹 설정 방향
6510
- */
6511
- get direction(): Direction;
6512
- set direction(value: Direction);
6513
- /**
6514
- * true면 밴드 아이템 전체 높이가 출력 페이지의 남은 높이 보다 클 경우 다음 페이지에 출력한다. #612
6515
- */
6516
- get noSplit(): boolean;
6517
- set noSplit(value: boolean);
6518
- /**
6519
- * @internal
6520
- * ReportPage에서 bodyItems를 통해 호출한다.
6521
- */
6522
- loadProps(src: any): void;
6523
- getSaveType(): string;
6524
- get outlineLabel(): string;
6525
- protected _getEditProps(): IPropInfo[];
6526
- protected _getStyleProps(): string[];
6527
- protected _doLoad(loader: IReportLoader, src: any): void;
6528
- protected _doSave(target: object): void;
6529
- canAdd(item: ReportItem): boolean;
6530
- private $_resetCells;
6531
- }
6532
-
6533
6553
  interface AsyncLoadable {
6534
6554
  loadAsync(ctx: PrintContext): Promise<void>;
6535
6555
  }
@@ -6756,6 +6776,7 @@ declare abstract class BandPrintInfo<T extends ReportItem> {
6756
6776
  abstract getNextPage(doc: Document, ctx: PrintContext, width: number, parent: HTMLDivElement): HTMLDivElement | null;
6757
6777
  abstract getNoPagingPage(doc: Document, ctx: PrintContext, width: number, parent: HTMLDivElement): HTMLDivElement;
6758
6778
  abstract getEmptyDataBandPage(doc: Document, ctx: PrintContext, bandPrintInfo: BandPrintInfo<T>, width: number, parent: HTMLDivElement): HTMLDivElement | null;
6779
+ abstract resetRowIndex(): void;
6759
6780
  rollback(page: HTMLDivElement): void;
6760
6781
  setMaxCount(rows: any[], count: number): void;
6761
6782
  isDataRow(row: any): row is number;
@@ -6774,11 +6795,13 @@ declare abstract class BandPrintInfo<T extends ReportItem> {
6774
6795
  * 밴드의 left, right 속성 적용
6775
6796
  */
6776
6797
  setBandBoundPosition(ctx: PrintContext, model: BandModel, div: HTMLDivElement): void;
6798
+ setBandPrevIndex(index: number): void;
6777
6799
  protected _setX(dom: HTMLElement, x: number): void;
6778
6800
  protected _setY(dom: HTMLElement, y: number): void;
6779
6801
  protected _setPos(dom: HTMLElement, x: number, y: number): void;
6780
6802
  protected _createPage(doc: Document, parent: HTMLDivElement): HTMLDivElement;
6781
6803
  protected _createSectionPage(doc: Document, parent: HTMLDivElement): HTMLDivElement;
6804
+ protected _createBandDetailPage(doc: Document, top: number, pageWidth: number): HTMLDivElement;
6782
6805
  protected _buildEndRows(marker: EndRowMarker, rowCount: number, rows: any[]): void;
6783
6806
  protected _unshiftEndRows(row: any, rows: any[]): void;
6784
6807
  /**
@@ -6804,9 +6827,9 @@ declare abstract class BandPrintInfo<T extends ReportItem> {
6804
6827
  * @param rowsPerPage 페이지에서 몇행 까지 출력할 수 있는지 정보
6805
6828
  * @returns true = 디테일 밴드 출력 끝, false = 다음장에 디테일 계속 출력
6806
6829
  */
6807
- protected _isDetailBandPrintEnd(row: BandPrintInfo<SimpleBand | TableBand>): boolean;
6808
- protected _resetRowIndex(row: BandPrintInfo<SimpleBand | TableBand>): void;
6809
- protected _prepareDetailBandPrintNext(ctx: PrintContext, band: DataBand, row: BandPrintInfo<SimpleBand | TableBand>, rows: BandPrintRow[], rowsPerPage: number): void;
6830
+ protected _isDetailBandPrintEnd(row: BandPrintInfo<SimpleBand | TableBand | BandGroup>): boolean;
6831
+ protected _resetRowIndex(row: BandPrintInfo<SimpleBand | TableBand | BandGroup>): void;
6832
+ protected _prepareDetailBandPrintNext(ctx: PrintContext, band: DataBand, row: BandPrintInfo<SimpleBand | TableBand | BandGroup>, rows: BandPrintRow[], rowsPerPage: number): void;
6810
6833
  }
6811
6834
  type PrintLine = {
6812
6835
  line: HTMLElement | BandPrintInfo<BandModel> | ReportFooterPrintInfo | PageBreaker;