realreport 1.4.2 → 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.2
4
- * commit 642bc5d
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.2
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 c40fc49cbf656d9483a0fd72852cb2ba6efb8454
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;
@@ -1149,11 +1160,6 @@ declare class PageItemContainer extends BoundedContainer {
1149
1160
  protected _doSave(target: object): void;
1150
1161
  }
1151
1162
 
1152
- declare enum BoxItemsAlign {
1153
- START = "start",
1154
- MIDDLE = "middle",
1155
- END = "end"
1156
- }
1157
1163
  declare abstract class BoxContainer extends ReportGroupItem {
1158
1164
  static readonly PROP_ITEMS_ALIGN = "itemsAlign";
1159
1165
  static readonly PROP_ITEM_GAP = "itemGap";
@@ -1777,7 +1783,8 @@ declare class DesignDataManager extends EventAware$1 implements IReportDataProvi
1777
1783
  removeData(data: string | IReportData): IReportData;
1778
1784
  dataNameChanged(data: IReportData, oldName: string): void;
1779
1785
  fieldNameChanged?(data: IReportData, newName: string, oldName: string): void;
1780
- load(source: any): DesignDataManager;
1786
+ clear(): DesignDataManager;
1787
+ load(source: any, clear?: boolean): DesignDataManager;
1781
1788
  save(target: object): void;
1782
1789
  getFieldIndex(data: string, field: string): number;
1783
1790
  updateField(data: BandData, index: number, field: IBandDataField): void;
@@ -2405,6 +2412,7 @@ declare abstract class DataBand extends ReportGroupItem {
2405
2412
  static readonly PROP_DATA_BAND_MAX_END_ROW_COUNT = "maxEndRowCount";
2406
2413
  static readonly PROP_DATA_BAND_END_ROW_MESSAGE = "endRowMessage";
2407
2414
  static readonly PROP_DATA_BAND_ALWAYS_HEADER = "alwaysHeader";
2415
+ static readonly PROP_DATA_BAND_NO_SPLIT = "noSplit";
2408
2416
  static readonly PROPINFOS: IPropInfo[];
2409
2417
  private _sectionCount;
2410
2418
  private _sectionLayout;
@@ -2422,6 +2430,7 @@ declare abstract class DataBand extends ReportGroupItem {
2422
2430
  private _repeatDetailHeader;
2423
2431
  private _repeatDetailFooter;
2424
2432
  private _alwaysHeader;
2433
+ private _noSplit;
2425
2434
  private _detail;
2426
2435
  private _master;
2427
2436
  private _keyFlds;
@@ -2577,6 +2586,11 @@ declare abstract class DataBand extends ReportGroupItem {
2577
2586
  */
2578
2587
  get alwaysHeader(): boolean;
2579
2588
  set alwaysHeader(value: boolean);
2589
+ /**
2590
+ * true면 밴드 아이템 전체 높이가 출력 페이지의 남은 높이 보다 클 경우 다음 페이지에 출력한다. #612
2591
+ */
2592
+ get noSplit(): boolean;
2593
+ set noSplit(value: boolean);
2580
2594
  /**
2581
2595
  * summary runtime
2582
2596
  */
@@ -2599,6 +2613,7 @@ declare abstract class DataBand extends ReportGroupItem {
2599
2613
  endRowCount: number;
2600
2614
  stopEndRow: boolean;
2601
2615
  };
2616
+ getEndRowMarker(): EndRowMarker;
2602
2617
  getCount(field: string, count: number, rows?: number[]): number;
2603
2618
  getVCount(field: string, count: number, rows?: number[]): number;
2604
2619
  getSum(field: string, count: number, rows?: number[]): number;
@@ -3249,6 +3264,8 @@ declare class SpaceItem extends ReportItem {
3249
3264
  set size(value: ValueString);
3250
3265
  getSize(domain: number): number;
3251
3266
  getSaveType(): string;
3267
+ canAddToFrontContainer(): boolean;
3268
+ canAddToBackContainer(): boolean;
3252
3269
  get outlineLabel(): string;
3253
3270
  protected _sizable(): boolean;
3254
3271
  protected _boundable(): boolean;
@@ -3319,6 +3336,7 @@ declare class ReportElement extends VisualElement$1 {
3319
3336
  declare abstract class ReportItemElement<T extends ReportItem> extends ReportElement {
3320
3337
  protected _designView: HTMLDivElement;
3321
3338
  protected _bindMarker: HTMLSpanElement;
3339
+ private _a;
3322
3340
  private _model;
3323
3341
  protected _modelChanged: boolean;
3324
3342
  private _prevStyles;
@@ -3351,6 +3369,7 @@ declare abstract class ReportItemElement<T extends ReportItem> extends ReportEle
3351
3369
  findElement(modelName: string): ReportItemElement<ReportItem>;
3352
3370
  findElementOf(dom: HTMLElement): ReportItemElement<ReportItem>;
3353
3371
  getPrintValue(ctx: PrintContext, m: ReportItem, defaultValue?: any): any;
3372
+ getPrintLinkValue(ctx: PrintContext, m: ReportItem): any;
3354
3373
  protected _doModelChanged(oldModel: T): void;
3355
3374
  protected _setX(dom: HTMLElement, x: number): void;
3356
3375
  protected _setY(dom: HTMLElement, y: number): void;
@@ -3662,6 +3681,7 @@ declare class CellCollection {
3662
3681
  declare class CrosstabColumn {
3663
3682
  hash: number;
3664
3683
  parent: CrosstabColumn;
3684
+ vlevel: number;
3665
3685
  protected _field: CrosstabColumnField;
3666
3686
  private _value;
3667
3687
  private _children;
@@ -3679,6 +3699,8 @@ declare class CrosstabColumn {
3679
3699
  addSummary(column: CrosstabSummaryColumn): void;
3680
3700
  sort(): void;
3681
3701
  getHeader(): string;
3702
+ ancestorByLevel(level: number): CrosstabColumn;
3703
+ ancestorByVlevel(level: number): CrosstabColumn;
3682
3704
  }
3683
3705
  declare class CrosstabLeafColumn extends CrosstabColumn {
3684
3706
  protected _valueField: CrosstabValueField;
@@ -3774,12 +3796,14 @@ declare class CrosstabBand extends ReportGroupItem {
3774
3796
  static readonly PROP_TITLE = "title";
3775
3797
  static readonly PROP_NULL_VALUE = "nullValue";
3776
3798
  static readonly PROP_MAX_ROW_COUNT = "maxRowCount";
3799
+ static readonly PROP_NO_SPLIT = "noSplit";
3777
3800
  static readonly PROPINFOS: IPropInfo[];
3778
3801
  static readonly $_ctor: string;
3779
3802
  static isFieldCell(item: ReportPageItem): boolean;
3780
3803
  static getFieldOf(cell: CrosstabFieldCell): CrosstabField;
3781
3804
  static getBandOf(cell: CrosstabFieldCell): CrosstabBand;
3782
3805
  private _maxRowCount;
3806
+ private _noSplit;
3783
3807
  private _title;
3784
3808
  private _nullValue;
3785
3809
  private _rowFields;
@@ -3796,6 +3820,11 @@ declare class CrosstabBand extends ReportGroupItem {
3796
3820
  */
3797
3821
  get maxRowCount(): number;
3798
3822
  set maxRowCount(value: number);
3823
+ /**
3824
+ * true면 밴드 아이템 전체 높이가 출력 페이지의 남은 높이 보다 클 경우 다음 페이지에 출력한다. #612
3825
+ */
3826
+ get noSplit(): boolean;
3827
+ set noSplit(value: boolean);
3799
3828
  /**
3800
3829
  * title
3801
3830
  */
@@ -5053,6 +5082,9 @@ declare abstract class ReportItem extends ReportPageItem {
5053
5082
  static readonly PROP_PAGE_BREAK = "pageBreak";
5054
5083
  static readonly PROP_STYLE_CALLBACK = "styleCallback";
5055
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";
5056
5088
  static readonly DATA_PROP: {
5057
5089
  name: string;
5058
5090
  category: PropCategory;
@@ -5070,8 +5102,19 @@ declare abstract class ReportItem extends ReportPageItem {
5070
5102
  domain: any;
5071
5103
  validate: (source: ReportItem, value: any) => void;
5072
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
+ };
5073
5115
  static readonly PROPINFOS: IPropInfo[];
5074
5116
  static readonly SIZE_PROPINFOS: IPropInfo[];
5117
+ static readonly LINK_PROPINFOS: IPropInfo[];
5075
5118
  static readonly VALUE_PROPINFOS: IPropInfo[];
5076
5119
  static findFloatingAnchor(item: ReportPageItem): ReportItem;
5077
5120
  private _name;
@@ -5087,6 +5130,9 @@ declare abstract class ReportItem extends ReportPageItem {
5087
5130
  private _minWidth;
5088
5131
  private _minHeight;
5089
5132
  private _rotation;
5133
+ private _linkUrl;
5134
+ private _linkTarget;
5135
+ private _linkField;
5090
5136
  private _styles;
5091
5137
  private _styleCallback;
5092
5138
  private _onGetStyles;
@@ -5223,6 +5269,25 @@ declare abstract class ReportItem extends ReportPageItem {
5223
5269
  get rotation(): number;
5224
5270
  set rotation(value: number);
5225
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);
5226
5291
  /**
5227
5292
  * onGetValue
5228
5293
  */
@@ -5335,6 +5400,8 @@ declare abstract class ReportItem extends ReportPageItem {
5335
5400
  isStyleProp(prop: string): boolean;
5336
5401
  canParentOf(itemType: string): boolean;
5337
5402
  canAddTo(group: ReportGroupItem): boolean;
5403
+ canAddToFrontContainer(): boolean;
5404
+ canAddToBackContainer(): boolean;
5338
5405
  prepareLayout(printing: boolean): void;
5339
5406
  preparePrint(ctx: PrintContext): void;
5340
5407
  getLeft(domain: number): number;
@@ -5355,6 +5422,7 @@ declare abstract class ReportItem extends ReportPageItem {
5355
5422
  canResizeHeight(): boolean;
5356
5423
  resize(width: number, height: number): ReportItem;
5357
5424
  canRotate(): boolean;
5425
+ canLink(): boolean;
5358
5426
  hasStyle(style: string): boolean;
5359
5427
  getStyle(style: string): string;
5360
5428
  setStyle(style: string, value: string): void;
@@ -5374,6 +5442,7 @@ declare abstract class ReportItem extends ReportPageItem {
5374
5442
  * 출력 시 ReportItemElement에서 호출.
5375
5443
  */
5376
5444
  getPrintValue(dp: IReportDataProvider, row: number): any;
5445
+ getLinkValue(dp: IReportDataProvider, row: number): any;
5377
5446
  protected _getParentData(): string;
5378
5447
  canRemoveFrom(): boolean;
5379
5448
  canAdoptDragSource(source: any): boolean;
@@ -5458,6 +5527,8 @@ declare abstract class ReportGroupItem extends ReportItem {
5458
5527
  get(index: number): ReportItem;
5459
5528
  canContainsBand(): boolean;
5460
5529
  canContainsBandGroup(): boolean;
5530
+ canAddToFrontContainer(): boolean;
5531
+ canAddToBackContainer(): boolean;
5461
5532
  contains(item: ReportPageItem, deep?: boolean): boolean;
5462
5533
  indexOf(item: ReportPageItem): number;
5463
5534
  getNames(list: string[], recursive?: boolean): string[];
@@ -5727,6 +5798,7 @@ declare enum PropCategory {
5727
5798
  TEXT = "text",
5728
5799
  DATA = "data",
5729
5800
  BOUND = "bound",
5801
+ LINK = "link",
5730
5802
  EVENT = "event",
5731
5803
  EDITOR = "editor",
5732
5804
  REPORT = "report",
@@ -6284,6 +6356,7 @@ declare abstract class TextItemBase extends ReportItem {
6284
6356
  protected _doSave(target: object): void;
6285
6357
  protected _doApplyStyle(prop: string, value: string, target: CSSStyleDeclaration): boolean;
6286
6358
  canRotate(): boolean;
6359
+ canLink(): boolean;
6287
6360
  canAdoptDragSource(source: any): boolean;
6288
6361
  adoptDragSource(source: any): IDropResult;
6289
6362
  canPropAdoptDragSource(prop: IPropInfo, source: any): boolean;
@@ -6491,6 +6564,13 @@ declare class PrintContext extends Base$1 {
6491
6564
  }
6492
6565
  declare class PageBreaker {
6493
6566
  }
6567
+ declare class ReportFooterPrintInfo {
6568
+ }
6569
+ declare class EndRowMarker {
6570
+ count: number;
6571
+ maxCount: number;
6572
+ constructor(count: number, maxCount: number);
6573
+ }
6494
6574
  declare abstract class BandPrintInfo<T extends ReportItem> {
6495
6575
  band: T;
6496
6576
  xBand: number;
@@ -6514,6 +6594,7 @@ declare abstract class BandPrintInfo<T extends ReportItem> {
6514
6594
  abstract isEnded(): boolean;
6515
6595
  abstract getRows(): any[];
6516
6596
  abstract getNextPage(doc: Document, ctx: PrintContext, width: number, parent: HTMLDivElement): HTMLDivElement | null;
6597
+ rollback(page: HTMLDivElement): void;
6517
6598
  setMaxCount(rows: any[], count: number): void;
6518
6599
  isRow(row: any): row is number;
6519
6600
  isBand(row: any): row is BandPrintInfo<any>;
@@ -6523,8 +6604,10 @@ declare abstract class BandPrintInfo<T extends ReportItem> {
6523
6604
  protected _setY(dom: HTMLElement, y: number): void;
6524
6605
  protected _setPos(dom: HTMLElement, x: number, y: number): void;
6525
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;
6526
6609
  }
6527
- declare type PrintLine = HTMLElement | BandPrintInfo<any> | PageBreaker;
6610
+ declare type PrintLine = HTMLElement | BandPrintInfo<any> | ReportFooterPrintInfo | PageBreaker;
6528
6611
  interface IReportData {
6529
6612
  name: string;
6530
6613
  isBand: boolean;
@@ -6581,17 +6664,21 @@ interface IPrintReport {
6581
6664
  report: Report;
6582
6665
  data: IReportDataProvider;
6583
6666
  }
6584
- interface IPrintOptions {
6585
- report: Report | (Report | IPrintReport)[];
6586
- data: IReportDataProvider;
6587
- preview?: boolean;
6588
- id?: string;
6667
+ interface IPreviewOptions {
6668
+ pageGap?: number;
6589
6669
  async?: boolean;
6590
6670
  pageMark?: boolean;
6591
6671
  noScroll?: boolean;
6592
6672
  callback?: PrintPageCallback;
6593
6673
  endCallback?: PrintEndCallback;
6594
6674
  }
6675
+ interface IPrintOptions {
6676
+ report: Report | (Report | IPrintReport)[];
6677
+ data: IReportDataProvider;
6678
+ preview?: boolean;
6679
+ id?: string;
6680
+ previewOptions?: IPreviewOptions;
6681
+ }
6595
6682
  /**
6596
6683
  */
6597
6684
  declare class PrintContainer extends VisualContainer$1 {
@@ -6601,6 +6688,7 @@ declare class PrintContainer extends VisualContainer$1 {
6601
6688
  private static readonly MARKER_CLASS;
6602
6689
  private static readonly PRINT_INDICATOR_CLASS;
6603
6690
  private static readonly PRINT_BACK_CLASS;
6691
+ private static readonly PAGE_GAP_CLASS;
6604
6692
  private _pageGap;
6605
6693
  private _zoom;
6606
6694
  private _align;
@@ -6617,6 +6705,7 @@ declare class PrintContainer extends VisualContainer$1 {
6617
6705
  private _preview;
6618
6706
  private _previewId;
6619
6707
  private _options;
6708
+ private _pageGapEls;
6620
6709
  constructor(containerId: string | HTMLDivElement);
6621
6710
  protected _doDispose(): void;
6622
6711
  /** pageCount */
@@ -6628,6 +6717,9 @@ declare class PrintContainer extends VisualContainer$1 {
6628
6717
  get zoom(): number;
6629
6718
  set zoom(value: number);
6630
6719
  get pages(): PrintPage[];
6720
+ /** pageGap */
6721
+ get pageGap(): number;
6722
+ set pageGap(value: number);
6631
6723
  print(options: IPrintOptions): void;
6632
6724
  printSingle(options: IPrintOptions): void;
6633
6725
  private $_printSingle2;
@@ -40604,6 +40696,8 @@ declare abstract class ReportViewBase {
40604
40696
  get page(): number;
40605
40697
  set page(v: number);
40606
40698
  get reportHtml(): string;
40699
+ get pageGap(): number;
40700
+ set pageGap(v: number);
40607
40701
  getHtml(): string;
40608
40702
  first(): void;
40609
40703
  prev(): void;
@@ -40674,6 +40768,7 @@ interface GridReportOptions extends ReportOptions {
40674
40768
  declare class GridReportViewer extends ReportViewer {
40675
40769
  private _grid;
40676
40770
  private _gridValues;
40771
+ private _gridTable;
40677
40772
  protected _options: GridReportOptions;
40678
40773
  constructor(container: string | HTMLDivElement, grid: GridView, options?: GridReportOptions);
40679
40774
  /**
@@ -40712,6 +40807,7 @@ declare class GridReportViewer extends ReportViewer {
40712
40807
  */
40713
40808
  private _addGridTable;
40714
40809
  private _prepare;
40810
+ exportImage(imageOptions?: ImageExportOptions): void;
40715
40811
  }
40716
40812
 
40717
40813
  /**
@@ -40760,6 +40856,10 @@ declare type GridReportLayout = {
40760
40856
  * 리포트 프리뷰 옵션
40761
40857
  */
40762
40858
  declare type PreviewOptions = {
40859
+ /**
40860
+ * 리포트간 간격 조절 옵션
40861
+ */
40862
+ pageGap?: number;
40763
40863
  /**
40764
40864
  * 비동기 출력 여부
40765
40865
  * default: false;