realreport 1.4.1 → 1.5.0

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.
@@ -2,6 +2,7 @@
2
2
  .rr-report-root {
3
3
  font-family: "Malgun Gothic", "맑은 고딕", AppleSDGothicNeo-Light, sans-serif;
4
4
  font-size: 13px;
5
+ line-height: normal;
5
6
  color: #000000;
6
7
  -webkit-appearance: none;
7
8
  outline: none;
@@ -1,18 +1,18 @@
1
1
  /// <reference types="node" />
2
2
  /**
3
- * RealReport v1.4.1
4
- * commit cfce98e
3
+ * RealReport v1.5.0
4
+ * commit d7bf3b8
5
5
 
6
- * Copyright (C) 2013-2022 WooriTech Inc.
6
+ * Copyright (C) 2013-2023 WooriTech Inc.
7
7
  https://real-report.com
8
8
  * All Rights Reserved.
9
9
  */
10
10
 
11
11
  /**
12
- * RealReport Core v1.4.1
13
- * Copyright (C) 2013-2022 WooriTech Inc.
12
+ * RealReport Core v1.5.0
13
+ * Copyright (C) 2013-2023 WooriTech Inc.
14
14
  * All Rights Reserved.
15
- * commit e90b28d0b4dcc8900f90b18868af46c321368e38
15
+ * commit 9802c70009edea5667022018ac986e31aa2bb359
16
16
  */
17
17
 
18
18
 
@@ -111,6 +111,12 @@ declare enum PageBreakMode {
111
111
  AFTER = "after",
112
112
  BOTH = "both"
113
113
  }
114
+ declare enum LinkTarget {
115
+ SELF = "_self",
116
+ BLANK = "_blank",
117
+ PARENT = "_parent",
118
+ TOP = "_top"
119
+ }
114
120
  declare enum ResizeDirection {
115
121
  LEFT = "left",
116
122
  RIGHT = "right",
@@ -136,6 +142,11 @@ interface FindOptions {
136
142
  regularExpression?: boolean;
137
143
  inSelection?: boolean;
138
144
  }
145
+ declare enum BoxItemsAlign {
146
+ START = "start",
147
+ MIDDLE = "middle",
148
+ END = "end"
149
+ }
139
150
 
140
151
  declare type ConfigObject$1 = {
141
152
  [key: string]: any;
@@ -1144,15 +1155,11 @@ declare class PageItemContainer extends BoundedContainer {
1144
1155
  get outlineLabel(): string;
1145
1156
  get isArray(): boolean;
1146
1157
  canResize(dir: ResizeDirection): boolean;
1158
+ getMoveType(item: ReportItem): ItemMoveType;
1147
1159
  protected _doLoad(loader: IReportLoader, src: any): void;
1148
1160
  protected _doSave(target: object): void;
1149
1161
  }
1150
1162
 
1151
- declare enum BoxItemsAlign {
1152
- START = "start",
1153
- MIDDLE = "middle",
1154
- END = "end"
1155
- }
1156
1163
  declare abstract class BoxContainer extends ReportGroupItem {
1157
1164
  static readonly PROP_ITEMS_ALIGN = "itemsAlign";
1158
1165
  static readonly PROP_ITEM_GAP = "itemGap";
@@ -1776,7 +1783,8 @@ declare class DesignDataManager extends EventAware$1 implements IReportDataProvi
1776
1783
  removeData(data: string | IReportData): IReportData;
1777
1784
  dataNameChanged(data: IReportData, oldName: string): void;
1778
1785
  fieldNameChanged?(data: IReportData, newName: string, oldName: string): void;
1779
- load(source: any): DesignDataManager;
1786
+ clear(): DesignDataManager;
1787
+ load(source: any, clear?: boolean): DesignDataManager;
1780
1788
  save(target: object): void;
1781
1789
  getFieldIndex(data: string, field: string): number;
1782
1790
  updateField(data: BandData, index: number, field: IBandDataField): void;
@@ -2404,6 +2412,7 @@ declare abstract class DataBand extends ReportGroupItem {
2404
2412
  static readonly PROP_DATA_BAND_MAX_END_ROW_COUNT = "maxEndRowCount";
2405
2413
  static readonly PROP_DATA_BAND_END_ROW_MESSAGE = "endRowMessage";
2406
2414
  static readonly PROP_DATA_BAND_ALWAYS_HEADER = "alwaysHeader";
2415
+ static readonly PROP_DATA_BAND_NO_SPLIT = "noSplit";
2407
2416
  static readonly PROPINFOS: IPropInfo[];
2408
2417
  private _sectionCount;
2409
2418
  private _sectionLayout;
@@ -2421,6 +2430,7 @@ declare abstract class DataBand extends ReportGroupItem {
2421
2430
  private _repeatDetailHeader;
2422
2431
  private _repeatDetailFooter;
2423
2432
  private _alwaysHeader;
2433
+ private _noSplit;
2424
2434
  private _detail;
2425
2435
  private _master;
2426
2436
  private _keyFlds;
@@ -2576,6 +2586,11 @@ declare abstract class DataBand extends ReportGroupItem {
2576
2586
  */
2577
2587
  get alwaysHeader(): boolean;
2578
2588
  set alwaysHeader(value: boolean);
2589
+ /**
2590
+ * true면 밴드 아이템 전체 높이가 출력 페이지의 남은 높이 보다 클 경우 다음 페이지에 출력한다. #612
2591
+ */
2592
+ get noSplit(): boolean;
2593
+ set noSplit(value: boolean);
2579
2594
  /**
2580
2595
  * summary runtime
2581
2596
  */
@@ -2598,6 +2613,7 @@ declare abstract class DataBand extends ReportGroupItem {
2598
2613
  endRowCount: number;
2599
2614
  stopEndRow: boolean;
2600
2615
  };
2616
+ getEndRowMarker(): EndRowMarker;
2601
2617
  getCount(field: string, count: number, rows?: number[]): number;
2602
2618
  getVCount(field: string, count: number, rows?: number[]): number;
2603
2619
  getSum(field: string, count: number, rows?: number[]): number;
@@ -3248,6 +3264,8 @@ declare class SpaceItem extends ReportItem {
3248
3264
  set size(value: ValueString);
3249
3265
  getSize(domain: number): number;
3250
3266
  getSaveType(): string;
3267
+ canAddToFrontContainer(): boolean;
3268
+ canAddToBackContainer(): boolean;
3251
3269
  get outlineLabel(): string;
3252
3270
  protected _sizable(): boolean;
3253
3271
  protected _boundable(): boolean;
@@ -3318,6 +3336,7 @@ declare class ReportElement extends VisualElement$1 {
3318
3336
  declare abstract class ReportItemElement<T extends ReportItem> extends ReportElement {
3319
3337
  protected _designView: HTMLDivElement;
3320
3338
  protected _bindMarker: HTMLSpanElement;
3339
+ private _a;
3321
3340
  private _model;
3322
3341
  protected _modelChanged: boolean;
3323
3342
  private _prevStyles;
@@ -3350,6 +3369,7 @@ declare abstract class ReportItemElement<T extends ReportItem> extends ReportEle
3350
3369
  findElement(modelName: string): ReportItemElement<ReportItem>;
3351
3370
  findElementOf(dom: HTMLElement): ReportItemElement<ReportItem>;
3352
3371
  getPrintValue(ctx: PrintContext, m: ReportItem, defaultValue?: any): any;
3372
+ getPrintLinkValue(ctx: PrintContext, m: ReportItem): any;
3353
3373
  protected _doModelChanged(oldModel: T): void;
3354
3374
  protected _setX(dom: HTMLElement, x: number): void;
3355
3375
  protected _setY(dom: HTMLElement, y: number): void;
@@ -3573,9 +3593,13 @@ declare class CrosstabRowFieldCollection extends CrosstabFieldCollection<Crossta
3573
3593
  protected _createField(src: any): CrosstabRowField;
3574
3594
  }
3575
3595
  declare class CrosstabColumnField extends CrosstabField {
3596
+ static readonly PROPINFOS: IPropInfo[];
3597
+ private _prefix;
3598
+ private _suffix;
3576
3599
  constructor(collection: CrosstabColumnFieldCollection, source: any);
3577
3600
  get itemType(): string;
3578
3601
  getCollectionLabel(): string;
3602
+ getEditProps(): IPropInfo[];
3579
3603
  protected _doLoad(src: any): void;
3580
3604
  protected _doSave(target: any): any;
3581
3605
  }
@@ -3584,13 +3608,35 @@ declare class CrosstabColumnFieldCollection extends CrosstabFieldCollection<Cros
3584
3608
  protected _createField(src: any): CrosstabColumnField;
3585
3609
  }
3586
3610
  declare class CrosstabValueField extends CrosstabField {
3611
+ static readonly DEF_FORMAT = "#,##0";
3587
3612
  static readonly PROP_VALUE = "value";
3613
+ static readonly PROP_PREFIX = "prefix";
3614
+ static readonly PROP_SUFFIX = "suffix";
3615
+ static readonly PROP_FORMAT = "format";
3588
3616
  static readonly PROPINFOS: IPropInfo[];
3589
3617
  private _value;
3618
+ private _prefix;
3619
+ private _suffix;
3620
+ private _format;
3590
3621
  constructor(collection: CrosstabFieldCollection<any>, source: any);
3591
3622
  /** value */
3592
3623
  get value(): CrosstabSummary;
3593
3624
  set value(value: CrosstabSummary);
3625
+ /**
3626
+ * 접두어.
3627
+ */
3628
+ get prefix(): string;
3629
+ set prefix(value: string);
3630
+ /**
3631
+ * 접미어.
3632
+ */
3633
+ get suffix(): string;
3634
+ set suffix(value: string);
3635
+ /**
3636
+ * format
3637
+ */
3638
+ get format(): string;
3639
+ set format(value: string);
3594
3640
  get itemType(): string;
3595
3641
  getCollectionLabel(): string;
3596
3642
  getEditProps(): IPropInfo[];
@@ -3601,7 +3647,7 @@ declare class CrosstabValueFieldCollection extends CrosstabFieldCollection<Cross
3601
3647
  constructor(owner: CrosstabBand);
3602
3648
  protected _createField(src: any): CrosstabValueField;
3603
3649
  }
3604
- declare class CrosstabRec {
3650
+ declare class CrosstabCell {
3605
3651
  private _keys;
3606
3652
  private _rows;
3607
3653
  private sum;
@@ -3612,29 +3658,30 @@ declare class CrosstabRec {
3612
3658
  constructor(keys: any[], rows: number[]);
3613
3659
  get rowCount(): number;
3614
3660
  getKey(field: number): any;
3615
- getSummary(data: IBandData, field: number, exp: string): number;
3661
+ getValue(data: IBandData, field: number, exp: string): number;
3616
3662
  }
3617
3663
  interface IFilter {
3618
3664
  select(data: IBandData, row: number): boolean;
3619
3665
  }
3620
- declare class RecCollection {
3666
+ declare class CellCollection {
3621
3667
  private _band;
3622
3668
  private _filters;
3623
- private _recs;
3669
+ private _cells;
3624
3670
  constructor(band: CrosstabBand);
3625
3671
  get count(): number;
3626
- getKey(rec: number, field: number): any;
3627
- getRec(index: number): CrosstabRec;
3628
- getRecs(start?: number, end?: number): CrosstabRec[];
3672
+ getKey(index: number, field: number): any;
3673
+ getCell(index: number): CrosstabCell;
3674
+ getCells(start?: number, end?: number): CrosstabCell[];
3629
3675
  setFilters(filters: IFilter[]): void;
3630
3676
  build(data: BandArrayData): void;
3631
3677
  private $_collectRows;
3632
3678
  private $_sortRows;
3633
- private $_buildRecs;
3679
+ private $_buildCells;
3634
3680
  }
3635
3681
  declare class CrosstabColumn {
3636
3682
  hash: number;
3637
3683
  parent: CrosstabColumn;
3684
+ vlevel: number;
3638
3685
  protected _field: CrosstabColumnField;
3639
3686
  private _value;
3640
3687
  private _children;
@@ -3652,12 +3699,16 @@ declare class CrosstabColumn {
3652
3699
  addSummary(column: CrosstabSummaryColumn): void;
3653
3700
  sort(): void;
3654
3701
  getHeader(): string;
3702
+ ancestorByLevel(level: number): CrosstabColumn;
3703
+ ancestorByVlevel(level: number): CrosstabColumn;
3655
3704
  }
3656
3705
  declare class CrosstabLeafColumn extends CrosstabColumn {
3657
3706
  protected _valueField: CrosstabValueField;
3658
3707
  constructor(field: CrosstabColumnField, valueField: CrosstabValueField, value: any);
3659
3708
  get valueField(): CrosstabValueField;
3660
3709
  get leafCount(): number;
3710
+ contains(leaf: CrosstabLeafColumn): boolean;
3711
+ includes(band: CrosstabBand, cell: CrosstabCell): boolean;
3661
3712
  getHeader(): string;
3662
3713
  }
3663
3714
  declare class CrosstabSummaryColumn extends CrosstabColumn {
@@ -3666,6 +3717,13 @@ declare class CrosstabSummaryColumn extends CrosstabColumn {
3666
3717
  get summary(): CrosstabFieldSummary;
3667
3718
  getHeader(): string;
3668
3719
  }
3720
+ /**
3721
+ * @internal
3722
+ *
3723
+ * 컬럼 layer 셋을 구성한다.
3724
+ * layer 마다 앞쪽에 summary 컬럼이 추가된다.
3725
+ * row 컬럼들 + 마지막 leaf 목록을 기준으로 table 컬럼들이 구성된다.
3726
+ */
3669
3727
  declare class ColumnCollection$1 {
3670
3728
  private _band;
3671
3729
  private _root;
@@ -3675,7 +3733,7 @@ declare class ColumnCollection$1 {
3675
3733
  get count(): number;
3676
3734
  get leafCount(): number;
3677
3735
  get levels(): number;
3678
- build(recs: RecCollection): void;
3736
+ build(cells: CellCollection): void;
3679
3737
  get(index: number): CrosstabColumn;
3680
3738
  getLeaf(index: number): CrosstabLeafColumn;
3681
3739
  getColumns(parent: CrosstabColumn, columns: CrosstabColumn[][]): void;
@@ -3684,7 +3742,7 @@ declare class ColumnCollection$1 {
3684
3742
  declare abstract class CrosstabRowBase {
3685
3743
  abstract slice(count: number): any[];
3686
3744
  abstract getValue(index: number): any;
3687
- abstract getColumnRec(column: CrosstabColumn): CrosstabRec;
3745
+ abstract getColumnCell(column: CrosstabColumn): CrosstabCell;
3688
3746
  }
3689
3747
  declare class RowCollection {
3690
3748
  private _band;
@@ -3692,7 +3750,7 @@ declare class RowCollection {
3692
3750
  constructor(band: CrosstabBand);
3693
3751
  get rowCount(): number;
3694
3752
  getRow(index: number): CrosstabRowBase;
3695
- build(data: BandArrayData, recs: RecCollection): void;
3753
+ build(data: BandArrayData, cells: CellCollection): void;
3696
3754
  private $_collectRows;
3697
3755
  private $_collectSummaryRows;
3698
3756
  }
@@ -3730,25 +3788,29 @@ declare class CrosstabNullValue extends ReportItem {
3730
3788
  protected _doSave(target: object): void;
3731
3789
  }
3732
3790
  /**
3733
- * Crosstab band
3791
+ * Crosstab band.
3792
+ *
3793
+ * 1. rowFields + columnFields 로 정렬하고 그룹핑해서 cellCollection에 저장한다.
3734
3794
  */
3735
3795
  declare class CrosstabBand extends ReportGroupItem {
3736
3796
  static readonly PROP_TITLE = "title";
3737
3797
  static readonly PROP_NULL_VALUE = "nullValue";
3738
3798
  static readonly PROP_MAX_ROW_COUNT = "maxRowCount";
3799
+ static readonly PROP_NO_SPLIT = "noSplit";
3739
3800
  static readonly PROPINFOS: IPropInfo[];
3740
3801
  static readonly $_ctor: string;
3741
3802
  static isFieldCell(item: ReportPageItem): boolean;
3742
3803
  static getFieldOf(cell: CrosstabFieldCell): CrosstabField;
3743
3804
  static getBandOf(cell: CrosstabFieldCell): CrosstabBand;
3744
3805
  private _maxRowCount;
3806
+ private _noSplit;
3745
3807
  private _title;
3746
3808
  private _nullValue;
3747
3809
  private _rowFields;
3748
3810
  private _columnFields;
3749
3811
  private _valueFields;
3750
- private _recs;
3751
- _columns: ColumnCollection$1;
3812
+ private _cells;
3813
+ private _columns;
3752
3814
  private _rows;
3753
3815
  pageNo: number;
3754
3816
  rowIndex: number;
@@ -3758,6 +3820,11 @@ declare class CrosstabBand extends ReportGroupItem {
3758
3820
  */
3759
3821
  get maxRowCount(): number;
3760
3822
  set maxRowCount(value: number);
3823
+ /**
3824
+ * true면 밴드 아이템 전체 높이가 출력 페이지의 남은 높이 보다 클 경우 다음 페이지에 출력한다. #612
3825
+ */
3826
+ get noSplit(): boolean;
3827
+ set noSplit(value: boolean);
3761
3828
  /**
3762
3829
  * title
3763
3830
  */
@@ -3768,13 +3835,14 @@ declare class CrosstabBand extends ReportGroupItem {
3768
3835
  get nullValue(): CrosstabNullValue;
3769
3836
  /** rowFields */
3770
3837
  get rowFields(): CrosstabRowFieldCollection;
3838
+ get rowFieldCount(): number;
3771
3839
  /** columnFields */
3772
3840
  get columnFields(): CrosstabColumnFieldCollection;
3773
3841
  /** valueFields */
3774
3842
  get valueFields(): CrosstabValueFieldCollection;
3775
3843
  get rows(): RowCollection;
3776
3844
  get bandData(): BandArrayData;
3777
- get columnLevels(): number;
3845
+ get columns(): ColumnCollection$1;
3778
3846
  containsField(field: string): boolean;
3779
3847
  getRowField(index: number): CrosstabField;
3780
3848
  getColumnField(index: number): CrosstabColumnField;
@@ -5014,6 +5082,9 @@ declare abstract class ReportItem extends ReportPageItem {
5014
5082
  static readonly PROP_PAGE_BREAK = "pageBreak";
5015
5083
  static readonly PROP_STYLE_CALLBACK = "styleCallback";
5016
5084
  static readonly PROP_ROTATION = "rotation";
5085
+ static readonly PROP_LINK_URL = "linkUrl";
5086
+ static readonly PROP_LINK_TARGET = "linkTarget";
5087
+ static readonly PROP_LINK_FIELD = "linkField";
5017
5088
  static readonly DATA_PROP: {
5018
5089
  name: string;
5019
5090
  category: PropCategory;
@@ -5031,8 +5102,19 @@ declare abstract class ReportItem extends ReportPageItem {
5031
5102
  domain: any;
5032
5103
  validate: (source: ReportItem, value: any) => void;
5033
5104
  };
5105
+ static readonly LINK_FIELD_PROP: {
5106
+ name: string;
5107
+ category: PropCategory;
5108
+ type: typeof ListableProperty;
5109
+ multiple: boolean;
5110
+ default: any;
5111
+ domain: any;
5112
+ validate: (source: ReportItem, value: any) => void;
5113
+ visible: (source: IPropertySource) => boolean;
5114
+ };
5034
5115
  static readonly PROPINFOS: IPropInfo[];
5035
5116
  static readonly SIZE_PROPINFOS: IPropInfo[];
5117
+ static readonly LINK_PROPINFOS: IPropInfo[];
5036
5118
  static readonly VALUE_PROPINFOS: IPropInfo[];
5037
5119
  static findFloatingAnchor(item: ReportPageItem): ReportItem;
5038
5120
  private _name;
@@ -5048,6 +5130,9 @@ declare abstract class ReportItem extends ReportPageItem {
5048
5130
  private _minWidth;
5049
5131
  private _minHeight;
5050
5132
  private _rotation;
5133
+ private _linkUrl;
5134
+ private _linkTarget;
5135
+ private _linkField;
5051
5136
  private _styles;
5052
5137
  private _styleCallback;
5053
5138
  private _onGetStyles;
@@ -5184,6 +5269,25 @@ declare abstract class ReportItem extends ReportPageItem {
5184
5269
  get rotation(): number;
5185
5270
  set rotation(value: number);
5186
5271
  get isRotated(): boolean;
5272
+ /**
5273
+ * linkUrl
5274
+ * linkValue의 값이 있을 경우 해당 속성은 무시된다.
5275
+ */
5276
+ get linkUrl(): string;
5277
+ set linkUrl(value: string);
5278
+ /**
5279
+ * linkTarget
5280
+ */
5281
+ get linkTarget(): LinkTarget;
5282
+ set linkTarget(value: LinkTarget);
5283
+ /**
5284
+ * 리포트에 지정된 data의 특정 값(들)을 지시하는 경로.
5285
+ * 자신으로 시작해서 Report까지 가장 가까운 곳(dataParent)에 설정된 data에서 값을 가져온다.
5286
+ * Link 기능을 사용할 수 있는 아이템에 Url로 사용이 된다.
5287
+ * print 시 해당 속성의 값이 linkUrl보다 우선 적용된다.
5288
+ */
5289
+ get linkField(): string;
5290
+ set linkField(value: string);
5187
5291
  /**
5188
5292
  * onGetValue
5189
5293
  */
@@ -5296,6 +5400,8 @@ declare abstract class ReportItem extends ReportPageItem {
5296
5400
  isStyleProp(prop: string): boolean;
5297
5401
  canParentOf(itemType: string): boolean;
5298
5402
  canAddTo(group: ReportGroupItem): boolean;
5403
+ canAddToFrontContainer(): boolean;
5404
+ canAddToBackContainer(): boolean;
5299
5405
  prepareLayout(printing: boolean): void;
5300
5406
  preparePrint(ctx: PrintContext): void;
5301
5407
  getLeft(domain: number): number;
@@ -5316,6 +5422,7 @@ declare abstract class ReportItem extends ReportPageItem {
5316
5422
  canResizeHeight(): boolean;
5317
5423
  resize(width: number, height: number): ReportItem;
5318
5424
  canRotate(): boolean;
5425
+ canLink(): boolean;
5319
5426
  hasStyle(style: string): boolean;
5320
5427
  getStyle(style: string): string;
5321
5428
  setStyle(style: string, value: string): void;
@@ -5335,6 +5442,7 @@ declare abstract class ReportItem extends ReportPageItem {
5335
5442
  * 출력 시 ReportItemElement에서 호출.
5336
5443
  */
5337
5444
  getPrintValue(dp: IReportDataProvider, row: number): any;
5445
+ getLinkValue(dp: IReportDataProvider, row: number): any;
5338
5446
  protected _getParentData(): string;
5339
5447
  canRemoveFrom(): boolean;
5340
5448
  canAdoptDragSource(source: any): boolean;
@@ -5419,6 +5527,8 @@ declare abstract class ReportGroupItem extends ReportItem {
5419
5527
  get(index: number): ReportItem;
5420
5528
  canContainsBand(): boolean;
5421
5529
  canContainsBandGroup(): boolean;
5530
+ canAddToFrontContainer(): boolean;
5531
+ canAddToBackContainer(): boolean;
5422
5532
  contains(item: ReportPageItem, deep?: boolean): boolean;
5423
5533
  indexOf(item: ReportPageItem): number;
5424
5534
  getNames(list: string[], recursive?: boolean): string[];
@@ -5484,6 +5594,7 @@ declare abstract class ReportItemCollectionItem extends ReportPageItem {
5484
5594
  private _collection;
5485
5595
  private _styles;
5486
5596
  constructor(collection: ReportItemCollection<any>, src?: any);
5597
+ protected _doInitDefaults(): void;
5487
5598
  get outlineParent(): IOutlineSource;
5488
5599
  get outlineExpandable(): boolean;
5489
5600
  get outlineLabel(): string;
@@ -5687,6 +5798,7 @@ declare enum PropCategory {
5687
5798
  TEXT = "text",
5688
5799
  DATA = "data",
5689
5800
  BOUND = "bound",
5801
+ LINK = "link",
5690
5802
  EVENT = "event",
5691
5803
  EDITOR = "editor",
5692
5804
  REPORT = "report",
@@ -5760,6 +5872,7 @@ declare class StackContainer extends BoundedContainer {
5760
5872
  protected _datable(): boolean;
5761
5873
  protected _doDefaultInit(loader: IReportLoader, parent: ReportGroupItem, hintWidth: number, hintHeight: number): void;
5762
5874
  protected _getStyleProps(): string[];
5875
+ protected _getEditProps(): IPropInfo[];
5763
5876
  canAlign(child: ReportItem): boolean;
5764
5877
  canAdoptDragSource(source: any): boolean;
5765
5878
  getMoveType(item: ReportItem): ItemMoveType;
@@ -5894,7 +6007,7 @@ declare class ReportHeaderElement extends SectionElement<ReportHeader> {
5894
6007
  }
5895
6008
  /** @internal */
5896
6009
  declare class ReportFooterElement extends SectionElement<ReportFooter> {
5897
- static readonly STYLE_NAME = "rr-page-header rr-group-element";
6010
+ static readonly STYLE_NAME = "rr-report-footer rr-group-element";
5898
6011
  static isFooter: (div: HTMLElement) => boolean;
5899
6012
  constructor(doc: Document, model?: ReportFooter);
5900
6013
  protected _doDispose(): void;
@@ -5988,7 +6101,6 @@ declare class PageBodyElement extends ReportElement {
5988
6101
  */
5989
6102
  getLine(index: number): ReportItemView;
5990
6103
  getLines(): ReportItemView[];
5991
- printAll(doc: Document, ctx: PrintContext): PageBodyOutput;
5992
6104
  prepareAsync(doc: Document, ctx: PrintContext): PrintLine[];
5993
6105
  itemOfDom(dom: Element): ReportItem;
5994
6106
  protected _getCssSelector(): string;
@@ -6000,12 +6112,8 @@ declare class PageBodyElement extends ReportElement {
6000
6112
  protected _doMeasure(ctx: PrintContext, dom: HTMLElement, hintWidth: number, hintHeight: number): Size$1;
6001
6113
  protected _doLayoutContent(ctx: PrintContext): void;
6002
6114
  layoutFloating(ctx: PrintContext): void;
6003
- private $_buildPages;
6004
6115
  private $_prepareAsync;
6005
6116
  }
6006
- interface PageBodyOutput {
6007
- pages: HTMLDivElement[][];
6008
- }
6009
6117
 
6010
6118
  /** @internal */
6011
6119
  declare class PageItemContainerElement extends BoundedContainerElement<PageItemContainer> {
@@ -6248,6 +6356,7 @@ declare abstract class TextItemBase extends ReportItem {
6248
6356
  protected _doSave(target: object): void;
6249
6357
  protected _doApplyStyle(prop: string, value: string, target: CSSStyleDeclaration): boolean;
6250
6358
  canRotate(): boolean;
6359
+ canLink(): boolean;
6251
6360
  canAdoptDragSource(source: any): boolean;
6252
6361
  adoptDragSource(source: any): IDropResult;
6253
6362
  canPropAdoptDragSource(prop: IPropInfo, source: any): boolean;
@@ -6455,6 +6564,13 @@ declare class PrintContext extends Base$1 {
6455
6564
  }
6456
6565
  declare class PageBreaker {
6457
6566
  }
6567
+ declare class ReportFooterPrintInfo {
6568
+ }
6569
+ declare class EndRowMarker {
6570
+ count: number;
6571
+ maxCount: number;
6572
+ constructor(count: number, maxCount: number);
6573
+ }
6458
6574
  declare abstract class BandPrintInfo<T extends ReportItem> {
6459
6575
  band: T;
6460
6576
  xBand: number;
@@ -6478,6 +6594,7 @@ declare abstract class BandPrintInfo<T extends ReportItem> {
6478
6594
  abstract isEnded(): boolean;
6479
6595
  abstract getRows(): any[];
6480
6596
  abstract getNextPage(doc: Document, ctx: PrintContext, width: number, parent: HTMLDivElement): HTMLDivElement | null;
6597
+ rollback(page: HTMLDivElement): void;
6481
6598
  setMaxCount(rows: any[], count: number): void;
6482
6599
  isRow(row: any): row is number;
6483
6600
  isBand(row: any): row is BandPrintInfo<any>;
@@ -6487,8 +6604,10 @@ declare abstract class BandPrintInfo<T extends ReportItem> {
6487
6604
  protected _setY(dom: HTMLElement, y: number): void;
6488
6605
  protected _setPos(dom: HTMLElement, x: number, y: number): void;
6489
6606
  protected _createPage(doc: Document, parent: HTMLDivElement): HTMLDivElement;
6607
+ protected _buildEndRows(marker: EndRowMarker, rowCount: number, rows: any[]): void;
6608
+ protected _unshiftEndRows(row: any, rows: any[]): void;
6490
6609
  }
6491
- declare type PrintLine = HTMLElement | BandPrintInfo<any> | PageBreaker;
6610
+ declare type PrintLine = HTMLElement | BandPrintInfo<any> | ReportFooterPrintInfo | PageBreaker;
6492
6611
  interface IReportData {
6493
6612
  name: string;
6494
6613
  isBand: boolean;
@@ -6545,23 +6664,31 @@ interface IPrintReport {
6545
6664
  report: Report;
6546
6665
  data: IReportDataProvider;
6547
6666
  }
6548
- interface IPrintOptions {
6549
- report: Report | (Report | IPrintReport)[];
6550
- data: IReportDataProvider;
6551
- preview?: boolean;
6552
- id?: string;
6667
+ interface IPreviewOptions {
6668
+ pageGap?: number;
6553
6669
  async?: boolean;
6554
6670
  pageMark?: boolean;
6555
6671
  noScroll?: boolean;
6556
6672
  callback?: PrintPageCallback;
6557
6673
  endCallback?: PrintEndCallback;
6558
6674
  }
6675
+ interface IPrintOptions {
6676
+ report: Report | (Report | IPrintReport)[];
6677
+ data: IReportDataProvider;
6678
+ preview?: boolean;
6679
+ id?: string;
6680
+ previewOptions?: IPreviewOptions;
6681
+ }
6559
6682
  /**
6560
6683
  */
6561
6684
  declare class PrintContainer extends VisualContainer$1 {
6562
6685
  static readonly CLASS_NAME = "rr-report-container";
6563
6686
  static readonly PREVIEW_CLASS = "rr-report-preview";
6564
6687
  private static readonly CONFIRM_CLASS;
6688
+ private static readonly MARKER_CLASS;
6689
+ private static readonly PRINT_INDICATOR_CLASS;
6690
+ private static readonly PRINT_BACK_CLASS;
6691
+ private static readonly PAGE_GAP_CLASS;
6565
6692
  private _pageGap;
6566
6693
  private _zoom;
6567
6694
  private _align;
@@ -6578,6 +6705,7 @@ declare class PrintContainer extends VisualContainer$1 {
6578
6705
  private _preview;
6579
6706
  private _previewId;
6580
6707
  private _options;
6708
+ private _pageGapEls;
6581
6709
  constructor(containerId: string | HTMLDivElement);
6582
6710
  protected _doDispose(): void;
6583
6711
  /** pageCount */
@@ -6589,6 +6717,9 @@ declare class PrintContainer extends VisualContainer$1 {
6589
6717
  get zoom(): number;
6590
6718
  set zoom(value: number);
6591
6719
  get pages(): PrintPage[];
6720
+ /** pageGap */
6721
+ get pageGap(): number;
6722
+ set pageGap(value: number);
6592
6723
  print(options: IPrintOptions): void;
6593
6724
  printSingle(options: IPrintOptions): void;
6594
6725
  private $_printSingle2;
@@ -40565,6 +40696,8 @@ declare abstract class ReportViewBase {
40565
40696
  get page(): number;
40566
40697
  set page(v: number);
40567
40698
  get reportHtml(): string;
40699
+ get pageGap(): number;
40700
+ set pageGap(v: number);
40568
40701
  getHtml(): string;
40569
40702
  first(): void;
40570
40703
  prev(): void;
@@ -40635,6 +40768,7 @@ interface GridReportOptions extends ReportOptions {
40635
40768
  declare class GridReportViewer extends ReportViewer {
40636
40769
  private _grid;
40637
40770
  private _gridValues;
40771
+ private _gridTable;
40638
40772
  protected _options: GridReportOptions;
40639
40773
  constructor(container: string | HTMLDivElement, grid: GridView, options?: GridReportOptions);
40640
40774
  /**
@@ -40659,6 +40793,12 @@ declare class GridReportViewer extends ReportViewer {
40659
40793
  * @returns
40660
40794
  */
40661
40795
  private _addPageHeader;
40796
+ /**
40797
+ * 페이지 푸터 추가
40798
+ * @param footer PageFooter 객체
40799
+ * @returns
40800
+ */
40801
+ private _addPageFooter;
40662
40802
  /**
40663
40803
  * Layout 정보
40664
40804
  * - visibleCount: number
@@ -40667,6 +40807,7 @@ declare class GridReportViewer extends ReportViewer {
40667
40807
  */
40668
40808
  private _addGridTable;
40669
40809
  private _prepare;
40810
+ exportImage(imageOptions?: ImageExportOptions): void;
40670
40811
  }
40671
40812
 
40672
40813
  /**
@@ -40715,6 +40856,10 @@ declare type GridReportLayout = {
40715
40856
  * 리포트 프리뷰 옵션
40716
40857
  */
40717
40858
  declare type PreviewOptions = {
40859
+ /**
40860
+ * 리포트간 간격 조절 옵션
40861
+ */
40862
+ pageGap?: number;
40718
40863
  /**
40719
40864
  * 비동기 출력 여부
40720
40865
  * default: false;