realreport 1.8.0 → 1.8.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,6 +1,6 @@
1
1
  /*
2
- RealReport v1.8.0
3
- Copyright (C) 2013-2023 WooriTech Inc.
2
+ RealReport v1.8.2
3
+ Copyright (C) 2013-2024 WooriTech Inc.
4
4
  All Rights Reserved.
5
5
  */
6
6
  @charset "UTF-8";
@@ -386,38 +386,26 @@ All Rights Reserved.
386
386
 
387
387
  @media print {
388
388
  .rr-print-page-portrait {
389
- margin: 0 !important;
390
- border: none !important;
391
- box-shadow: none !important;
392
- overflow: hidden;
389
+ width: var(--rr-print-height) !important;
390
+ height: var(--rr-print-height) !important;
393
391
  transform-origin: top left;
394
- transform: scale(var(--rr-print-scale));
392
+ transform: translateX(var(--rr-print-portrait-x)) scale(var(--rr-print-scale));
395
393
  }
396
394
 
397
395
  .rr-print-page-landscape {
398
- margin: 0 !important;
399
- border: none !important;
400
- box-shadow: none !important;
401
- overflow: hidden;
402
- width: var(--rr-print-height) !important;
396
+ width: var(--rr-print-width) !important;
403
397
  height: var(--rr-print-width) !important;
404
398
  transform-origin: top left;
405
- transform: translateX(calc(var(--rr-print-scale) * var(--rr-print-size))) rotate(90deg) scale(var(--rr-print-scale));
399
+ transform: translateX(var(--rr-print-size)) rotate(90deg);
406
400
  }
407
401
 
408
- .rr-print-page-portrait-only {
409
- padding: 0 !important;
410
- margin: 0 !important;
411
- border: none !important;
412
- box-shadow: none !important;
413
- overflow: hidden;
414
- }
415
-
416
- .rr-print-page-landscape-only {
402
+ .rr-print-page-landscape-start {
417
403
  margin: 0 !important;
418
404
  border: none !important;
419
405
  box-shadow: none !important;
420
406
  overflow: hidden;
407
+ transform-origin: top left;
408
+ transform: translateX(calc(var(--rr-print-size) * var(--rr-print-scale))) translateY(var(--rr-print-portrait-x)) rotate(90deg) scale(var(--rr-print-scale));
421
409
  }
422
410
 
423
411
  .rr-report-preview {
@@ -1214,7 +1202,6 @@ All Rights Reserved.
1214
1202
  .rct-control[data-theme='real'] {
1215
1203
  --rct-background: #264653;
1216
1204
  }
1217
-
1218
1205
  .rct-root {
1219
1206
  --rct-font-family: AppleSDGothicNeo-Light, "HelveticaNeue", "Malgun Gothic", "맑은 고딕", sans-serif;
1220
1207
  --rct-font-size: 16px;
@@ -1230,6 +1217,7 @@ All Rights Reserved.
1230
1217
 
1231
1218
  --rct-axis-title-fill: #333;
1232
1219
  --rct-axis-line-stroke: #aaa;
1220
+ --rct-axis-baseline-stroke: #333;
1233
1221
  --rct-axis-tick-stroke: #555;
1234
1222
  --rct-axis-label-fill: #555;
1235
1223
  --rct-axis-grid-line-stroke: #ddd;
@@ -1260,13 +1248,26 @@ All Rights Reserved.
1260
1248
  --rct-polar-yaxis-grid-line-stroke: #ccc;
1261
1249
  --rct-polar-axis-labels-fill: #555;
1262
1250
 
1251
+ /* linear gauge */
1252
+ --rct-linear-gauge-background-fill: #eee;
1253
+ --rct-linear-gauge-value-fill: green;
1254
+ --rct-linear-gauge-band-tick-labels-stroke: #333;
1255
+ --rct-linear-gauge-group-label-fill: #333;
1256
+ /** bullet gauge */
1257
+ --rct-bullet-gauge-background-fill: #eee;
1258
+ --rct-bullet-gauge-value-fill: #333;
1259
+ --rct-bullet-gauge-target-fill: #333;
1260
+ --rct-bullet-gauge-label-fill: #333;
1261
+ --rct-bullet-gauge-scale-line-stroke: #333;
1262
+ --rct-bullet-gauge-scale-ticks-stroke: #333;
1263
+ --rct-bullet-gauge-scale-tick-labels-stroke: #333;
1263
1264
  /* circle gauge */
1264
- --rct-circle-gauge-back-fill: #ededed;
1265
+ --rct-circle-gauge-rim-fill: #ededed;
1265
1266
  --rct-circle-gauge-inner-fill: none;
1266
1267
  --rct-circle-gauge-label-fill: #000;
1267
1268
  --rct-gauge-scale-line: #555;
1268
1269
  --rct-gauge-scale-tick: #555;
1269
- --rct-gauge-scale-tick-labels: #333;
1270
+ --rct-gauge-scale-tick-labels-stroke: #333;
1270
1271
  /* clock gauge */
1271
1272
  --rct-clock-gauge-face-fill: white;
1272
1273
  --rct-clock-gauge-rim-fill: #eee;
@@ -1294,6 +1295,7 @@ All Rights Reserved.
1294
1295
 
1295
1296
  --rct-axis-title-fill: #fff;
1296
1297
  --rct-axis-line-stroke: #fff;
1298
+ --rct-axis-baseline-stroke: #fff;
1297
1299
  --rct-axis-tick-stroke: #fff;
1298
1300
  --rct-axis-label-fill: #fff;
1299
1301
  --rct-axis-grid-line-stroke: #fff;
@@ -1313,12 +1315,14 @@ All Rights Reserved.
1313
1315
  --rct-polar-yaxis-grid-line-stroke: #fff;
1314
1316
  --rct-polar-axis-labels-fill: #fff;
1315
1317
 
1318
+ /* linear gauge */
1319
+ --rct-linear-gauge-group-label-fill: #eee;
1316
1320
  /* circle gauge */
1317
- --rct-circle-gauge-back-fill: #515151;
1321
+ --rct-circle-gauge-rim-fill: #515151;
1318
1322
  --rct-circle-gauge-label-fill: #fff;
1319
1323
  --rct-gauge-scale-line: #fff;
1320
1324
  --rct-gauge-scale-tick: #fff;
1321
- --rct-gauge-scale-tick-labels: #fff;
1325
+ --rct-gauge-scale-tick-labels-stroke: #fff;
1322
1326
 
1323
1327
  /** zoom tracker */
1324
1328
  --rct-zoom-tracker-fill: #efefef40;
@@ -1354,17 +1358,16 @@ All Rights Reserved.
1354
1358
  --rct-polar-axis-labels-fill: #f0d9be;
1355
1359
 
1356
1360
  /* circle gauge */
1357
- --rct-circle-gauge-back-fill: #515151;
1361
+ --rct-circle-gauge-rim-fill: #515151;
1358
1362
  --rct-circle-gauge-label-fill: #fff;
1359
1363
  --rct-gauge-scale-line: #fff;
1360
1364
  --rct-gauge-scale-tick: #fff;
1361
- --rct-gauge-scale-tick-labels: #fff;
1365
+ --rct-gauge-scale-tick-labels-stroke: #fff;
1362
1366
 
1363
1367
  /** zoom tracker */
1364
1368
  --rct-zoom-tracker-fill: #efefef40;
1365
1369
  }
1366
1370
 
1367
-
1368
1371
  /** control */
1369
1372
  .rct-control {
1370
1373
  background-color: var(--rct-background);
@@ -1486,6 +1489,10 @@ All Rights Reserved.
1486
1489
  stroke: var(--rct-axis-line-stroke);
1487
1490
  stroke-width: 1px;
1488
1491
  }
1492
+ .rct-axis-baseline {
1493
+ stroke: var(--rct-axis-baseline-stroke);
1494
+ stroke-width: 1px;
1495
+ }
1489
1496
  .rct-axis-tick {
1490
1497
  stroke: var(--rct-axis-tick-stroke);
1491
1498
  stroke-width: 1px;
@@ -1602,6 +1609,7 @@ All Rights Reserved.
1602
1609
  .rct-series-trendline {
1603
1610
  stroke: red;
1604
1611
  stroke-width: 2px;
1612
+ stroke-linejoin: round;
1605
1613
  fill: none;
1606
1614
  }
1607
1615
 
@@ -1696,7 +1704,7 @@ All Rights Reserved.
1696
1704
  .rct-series {
1697
1705
  opacity: inherit;
1698
1706
  transition-property: opacity;
1699
- transition-duration: 0.9s;
1707
+ transition-duration: 0.7s;
1700
1708
  }
1701
1709
  .rct-series[data-unfocus] {
1702
1710
  opacity: 0.2;
@@ -1709,7 +1717,7 @@ All Rights Reserved.
1709
1717
  .rct-point-labels {
1710
1718
  opacity: inherit;
1711
1719
  transition-property: opacity;
1712
- transition-duration: 0.9s;
1720
+ transition-duration: 0.7s;
1713
1721
  }
1714
1722
  .rct-point-labels[data-unfocus] {
1715
1723
  opacity: 0.3;
@@ -1754,7 +1762,16 @@ All Rights Reserved.
1754
1762
  stroke-dasharray: none;
1755
1763
  }
1756
1764
  .rct-line-series .rct-point[data-focus] {
1757
- stroke-width: 3px;
1765
+ stroke: #0088ff20 !important;
1766
+ stroke-width: 9px !important;
1767
+ opacity: inherit !important;
1768
+ /** TODO: 아래가 적용되지 않고 있다 */
1769
+ transition-property: opacity;
1770
+ transition-duration: 0.7s;
1771
+ }
1772
+ .rct-line-series-flag {
1773
+ font-weight: bold;
1774
+ font-size: 0.9em;
1758
1775
  }
1759
1776
 
1760
1777
  /** area series */
@@ -1842,6 +1859,9 @@ All Rights Reserved.
1842
1859
  .rct-ohlc-series .rct-point[data-decline] {
1843
1860
  stroke: #00f;
1844
1861
  }
1862
+ .rct-ohlc-series .rct-point[data-focus] .rct-ohlc-point-back {
1863
+ fill: #0088ff20 !important;
1864
+ }
1845
1865
  .rct-ohlc-point-back {
1846
1866
  stroke: none;
1847
1867
  }
@@ -1869,6 +1889,9 @@ All Rights Reserved.
1869
1889
  stroke: #008;
1870
1890
  stroke-width: 2px;
1871
1891
  }
1892
+ .rct-errorbar-series .rct-point[data-focus] .rct-errorbar-point-back {
1893
+ fill: #0088ff20 !important;
1894
+ }
1872
1895
 
1873
1896
  /** lollipop series */
1874
1897
  .rct-lollipop-series {
@@ -1962,8 +1985,8 @@ All Rights Reserved.
1962
1985
  }
1963
1986
 
1964
1987
  /** circle gauge */
1965
- .rct-circle-gauge-back {
1966
- fill: var(--rct-circle-gauge-back-fill);
1988
+ .rct-circle-gauge-rim {
1989
+ fill: var(--rct-circle-gauge-rim-fill);
1967
1990
  }
1968
1991
  .rct-circle-gauge-inner {
1969
1992
  fill: var(--rct-circle-gauge-inner-fill);
@@ -2043,49 +2066,50 @@ All Rights Reserved.
2043
2066
  }
2044
2067
  .rct-gauge-scale-tick-labels {
2045
2068
  font-size: 0.85em;
2046
- fill: var(--rct-gauge-scale-tick-labels);
2069
+ fill: var(--rct-gauge-scale-tick-labels-stroke);
2047
2070
  }
2048
2071
 
2049
2072
  /** linear gauge */
2050
2073
  .rct-linear-gauge-background {
2051
- fill: #eee;
2074
+ fill: var(--rct-linear-gauge-background-fill);
2052
2075
  }
2053
2076
  .rct-linear-gauge-value {
2054
- fill: green;
2077
+ fill: var(--rct-linear-gauge-value-fill);
2055
2078
  }
2056
2079
  .rct-linear-gauge-band-tick-labels {
2057
2080
  font-size: 0.85em;
2058
- fill: #333;
2081
+ fill: var(--rct-linear-gauge-band-tick-labels-stroke);
2059
2082
  }
2060
2083
 
2061
2084
  /** linear gauge group */
2062
2085
  .rct-linear-gauge-group-label {
2086
+ fill: var(--rct-linear-gauge-group-label-fill);
2063
2087
  font-size: 1.5em;
2064
2088
  }
2065
2089
 
2066
2090
  /** bullet gauge */
2067
2091
  .rct-bullet-gauge-background {
2068
- fill: #eee;
2092
+ fill: var(--rct-bullet-gauge-background-fill);
2069
2093
  }
2070
2094
  .rct-bullet-gauge-value {
2071
- fill: #333;
2095
+ fill: var(--rct-bullet-gauge-value-fill);
2072
2096
  }
2073
2097
  .rct-bullet-gauge-target {
2074
- fill: #338;
2098
+ fill: var(--rct-bullet-gauge-target-fill);
2075
2099
  }
2076
2100
  .rct-bullet-gauge-label {
2077
2101
  font-size: 1em;
2078
- fill: #333;
2102
+ fill: var(--rct-bullet-gauge-label-fill);
2079
2103
  }
2080
2104
  .rct-bullet-gauge-scale-line {
2081
- stroke: #333;
2105
+ stroke: var(--rct-bullet-gauge-scale-line-stroke);
2082
2106
  }
2083
2107
  .rct-bullet-gauge-scale-ticks {
2084
- stroke: #333;
2108
+ stroke: var(--rct-bullet-gauge-scale-ticks-stroke);
2085
2109
  }
2086
2110
  .rct-bullet-gauge-scale-tick-labels {
2087
2111
  font-size: 0.9em;
2088
- fill: #333;
2112
+ fill: var(--rct-bullet-gauge-scale-tick-labels-stroke);
2089
2113
  }
2090
2114
 
2091
2115
  /** bullet gauge group */
@@ -2114,10 +2138,12 @@ All Rights Reserved.
2114
2138
  }
2115
2139
 
2116
2140
  /** annotation */
2141
+ .rct-annotation-background {
2142
+ fill: none;
2143
+ stroke: none;
2144
+ }
2117
2145
  .rct-text-annotation {
2118
2146
  font-size: 20px;
2119
- }
2120
- .rct-shape-annotation {
2121
2147
  stroke: #333;
2122
2148
  stroke-width: 3px;
2123
2149
  }
@@ -1,18 +1,18 @@
1
1
  /// <reference types="pdfkit" />
2
2
  /**
3
- * RealReport v1.8.0
4
- * commit ebd79ee
3
+ * RealReport v1.8.2
4
+ * commit f5c709b
5
5
 
6
- * Copyright (C) 2013-2023 WooriTech Inc.
6
+ * Copyright (C) 2013-2024 WooriTech Inc.
7
7
  https://real-report.com
8
8
  * All Rights Reserved.
9
9
  */
10
10
 
11
11
  /**
12
- * RealReport Core v1.8.0
13
- * Copyright (C) 2013-2023 WooriTech Inc.
12
+ * RealReport Core v1.8.2
13
+ * Copyright (C) 2013-2024 WooriTech Inc.
14
14
  * All Rights Reserved.
15
- * commit d3571933f79b2141784ccc1b7872b1e98daab3f5
15
+ * commit a4993ff60cea5ad3357ab5abd502b4ad774a15c0
16
16
  */
17
17
  type ConfigObject$1 = {
18
18
  [key: string]: any;
@@ -672,6 +672,7 @@ declare abstract class VisualContainer$1 extends EventAware$1 implements VisualT
672
672
  get scrollHeight(): number;
673
673
  get scrollTop(): number;
674
674
  protected get scrolling(): boolean;
675
+ get containerDiv(): HTMLDivElement;
675
676
  findElementAt(x: number, y: number, hitTesting: boolean, blockLayer: boolean): VisualElement$1;
676
677
  findElementOf(dom: Element): VisualElement$1;
677
678
  getTableCell(dom: HTMLElement): HTMLTableCellElement;
@@ -3324,8 +3325,10 @@ declare class ReportElement extends VisualElement$1 {
3324
3325
  get guardLabel(): string;
3325
3326
  /** measuredWidth */
3326
3327
  get measuredWidth(): number;
3328
+ set measuredWidth(width: number);
3327
3329
  /** measuredHeight */
3328
3330
  get measuredHeight(): number;
3331
+ set measuredHeight(height: number);
3329
3332
  get measuredSize(): Size$1;
3330
3333
  /**
3331
3334
  * true면 measure() 시점이 아니라
@@ -3456,6 +3459,11 @@ declare abstract class ReportGroupItemElement<T extends ReportGroupItem> extends
3456
3459
  getLower(item: ReportItemView): ReportItemView;
3457
3460
  itemOfDom(dom: Element): ReportItem;
3458
3461
  setFixedSize(w: number): ReportGroupItemElement<ReportGroupItem>;
3462
+ /**
3463
+ * 그룹 아이템일 경우 자식 아이템에게 hintWidth를 전달할 때 보더를 제외한 너비를 전달하기 위해 사용
3464
+ * @param hintWidth 부모에서 전달받은 기준 너비 값
3465
+ */
3466
+ getWidthWithoutBorder(hintWidth: number): number;
3459
3467
  isDom(dom: Element): boolean;
3460
3468
  protected _initDom(doc: Document, dom: HTMLElement): void;
3461
3469
  replaceDom(dom: HTMLElement): void;
@@ -4796,6 +4804,49 @@ declare class RealChartItem extends ChartItem<RCConfig> {
4796
4804
  canAddTo(group: ReportGroupItem): boolean;
4797
4805
  }
4798
4806
 
4807
+ declare enum ReportItemType {
4808
+ TEXT = "text",
4809
+ SUMMARY = "summary",
4810
+ IMAGE = "image",
4811
+ CHECK = "check",
4812
+ STACK = "stack",
4813
+ CBOX = "cbox",
4814
+ RBOX = "rbox",
4815
+ DBOX = "dbox",
4816
+ LIST = "list",
4817
+ TABLE = "table",
4818
+ SPACE = "space",
4819
+ SIMPLEBAND = "simpleband",
4820
+ TABLEBAND = "tableband",
4821
+ BANDGROUP = "bandgroup",
4822
+ BANDCELL = "bandcell",
4823
+ CROSSTAB = "crosstab",
4824
+ DATALIST = "datalist",
4825
+ FLOATING = "floating",
4826
+ SHAPE = "shape",
4827
+ BARCODE = "barcode",
4828
+ QRCODE = "qrcode",
4829
+ DATAMATRIX = "datamatrix",
4830
+ BAR = "bar",
4831
+ RATING = "rating",
4832
+ HTML = "html",
4833
+ HTMLVIEW = "htmlview",
4834
+ SVG = "svg",
4835
+ REALCHART = "realchart",
4836
+ HICHART = "hichart",
4837
+ PAGE = "page"
4838
+ }
4839
+
4840
+ /**
4841
+ * Report Item들에 대한 정보를 한곳에 모아서 등록해놓고 용이하게 꺼내쓰기 위해 작성
4842
+ */
4843
+ declare class ReportItemRegistry extends Base$1 {
4844
+ private _reportItemFlatMap;
4845
+ constructor();
4846
+ add(type: ReportItemType, item: ReportItem): void;
4847
+ getItemCount(type: ReportItemType): number;
4848
+ }
4849
+
4799
4850
  declare enum PaperSize {
4800
4851
  A0 = "A0",
4801
4852
  A1 = "A1",
@@ -4834,7 +4885,6 @@ declare class PaperOptions extends Base$1 {
4834
4885
  /** size */
4835
4886
  get size(): PaperSize;
4836
4887
  set size(value: PaperSize);
4837
- private $_checkSize;
4838
4888
  /** width */
4839
4889
  get width(): ValueString;
4840
4890
  set width(value: ValueString);
@@ -5011,6 +5061,7 @@ declare class Report extends EventAware$1 implements IEditCommandStackOwner, IPr
5011
5061
  private _commands;
5012
5062
  private _loading;
5013
5063
  private _invalids;
5064
+ private _reportItemRegistry;
5014
5065
  constructor(designTime?: boolean, source?: any);
5015
5066
  _doDispose(): void;
5016
5067
  onDesignDataManagerDataAdded(dm: DesignDataManager, data: IReportData): void;
@@ -5053,6 +5104,8 @@ declare class Report extends EventAware$1 implements IEditCommandStackOwner, IPr
5053
5104
  get canRedo(): boolean;
5054
5105
  /** dirty */
5055
5106
  get dirty(): boolean;
5107
+ /** reportItemRegistry */
5108
+ get reportItemRegistry(): ReportItemRegistry;
5056
5109
  load(src: any): Report;
5057
5110
  setSaveTagging(tag: string): Report;
5058
5111
  save(pageOnly?: boolean): object;
@@ -5192,6 +5245,7 @@ declare class Report extends EventAware$1 implements IEditCommandStackOwner, IPr
5192
5245
  reason: string;
5193
5246
  }[];
5194
5247
  foldedChanged(item: ReportItem): void;
5248
+ isFirstPageLandscape(): boolean;
5195
5249
  protected _createReportRootItem(report: Report): ReportRootItem;
5196
5250
  protected _createReportInfo(report: Report): ReportInfo;
5197
5251
  protected _createReportLoader(): IReportLoader;
@@ -5221,6 +5275,10 @@ declare class Report extends EventAware$1 implements IEditCommandStackOwner, IPr
5221
5275
  */
5222
5276
  declare class ReportPage extends ReportGroupItem implements IEventAware {
5223
5277
  static readonly PROP_ORIENTATION = "orientation";
5278
+ static readonly PROP_MARGIN_LEFT = "marginLeft";
5279
+ static readonly PROP_MARGIN_RIGHT = "marginRight";
5280
+ static readonly PROP_MARGIN_TOP = "marginTop";
5281
+ static readonly PROP_MARGIN_BOTTOM = "marginBottom";
5224
5282
  static readonly ITEM_ADDED = "onPageItemAdded";
5225
5283
  static readonly ITEMS_ADDED = "onPageItemsAdded";
5226
5284
  static readonly ITEM_REMOVED = "onPageItemRemoved";
@@ -5230,6 +5288,14 @@ declare class ReportPage extends ReportGroupItem implements IEventAware {
5230
5288
  static readonly $_ctor: string;
5231
5289
  static readonly PROPINFOS: IPropInfo[];
5232
5290
  private _orientation;
5291
+ private _marginLeft;
5292
+ private _marginRight;
5293
+ private _marginTop;
5294
+ private _marginBottom;
5295
+ private _marginLeftDim;
5296
+ private _marginRightDim;
5297
+ private _marginTopDim;
5298
+ private _marginBottomDim;
5233
5299
  private _report;
5234
5300
  private _pageIndex;
5235
5301
  private _events;
@@ -5291,9 +5357,33 @@ declare class ReportPage extends ReportGroupItem implements IEventAware {
5291
5357
  */
5292
5358
  get orientation(): PaperOrientation;
5293
5359
  set orientation(value: PaperOrientation);
5360
+ /** marginLeft */
5361
+ get marginLeft(): ValueString;
5362
+ set marginLeft(value: ValueString);
5363
+ /** marginRight */
5364
+ get marginRight(): ValueString;
5365
+ set marginRight(value: ValueString);
5366
+ /** marginTop */
5367
+ get marginTop(): ValueString;
5368
+ set marginTop(value: ValueString);
5369
+ /** marginBottom */
5370
+ get marginBottom(): ValueString;
5371
+ set marginBottom(value: ValueString);
5294
5372
  getItem(name: string): ReportItem;
5295
5373
  removeItems(commands: EditCommandStack$1, items: ReportPageItem[]): number;
5296
5374
  search(page: number, key: string, options: FindOptions, results: FindResult[]): void;
5375
+ /**
5376
+ * 만약 리포트 페이지마다 margin이 지정되어있다면 해당 값을 구하기 위해 작성
5377
+ * @returns reportPage에 지정된 margin값 지정이 되어있지 않다면 report.paper의 margin 값
5378
+ */
5379
+ getPageMargins(): {
5380
+ pageMarginTop: number;
5381
+ pageMarginBottom: number;
5382
+ pageMarginLeft: number;
5383
+ pageMarginRight: number;
5384
+ };
5385
+ getPageRect(rect: Rectangle$1): Rectangle$1;
5386
+ getPageSize(): Rectangle$1;
5297
5387
  get outlineLabel(): string;
5298
5388
  get pathLabel(): string;
5299
5389
  get page(): ReportPage;
@@ -5586,6 +5676,7 @@ declare abstract class BoxContainerElement<T extends BoxContainer> extends Repor
5586
5676
  top: number;
5587
5677
  bottom: number;
5588
5678
  };
5679
+ getWidthWithoutBoxsizing(hintWidth: number): number;
5589
5680
  get debugLabel(): string;
5590
5681
  protected _needDesignBox(): boolean;
5591
5682
  protected _initDom(doc: Document, dom: HTMLElement): void;
@@ -5606,6 +5697,11 @@ declare class ColumnBoxContainerElement extends BoxContainerElement<ColumnBoxCon
5606
5697
  protected _initDom(doc: Document, dom: HTMLElement): void;
5607
5698
  protected _doMeasure(ctx: PrintContext, dom: HTMLElement, hintWidth: number, hintHeight: number): Size$1;
5608
5699
  protected _doLayoutContent(ctx: PrintContext): void;
5700
+ /**
5701
+ *
5702
+ * @param x paddingLeft + borderLeftWidth 를 더한 것
5703
+ * @param width columnBox Width - (paddingLeft + borderLeftWidth + paddingRight + borderRightWidth)
5704
+ */
5609
5705
  protected _layoutItem(ctx: PrintContext, child: ReportElement, model: ReportItem, x: number, y: number, width: number, height: number): void;
5610
5706
  getLeft(view: ReportItemView): ReportItemView;
5611
5707
  getRight(view: ReportItemView): ReportItemView;
@@ -5678,7 +5774,7 @@ declare class PageItemContainerElement extends BoundedContainerElement<PageItemC
5678
5774
  }
5679
5775
 
5680
5776
  type PrintPageCallback = (ctx: PrintContext, page: PrintPage, pageNo: number) => void;
5681
- type PrintEndCallback = (ctx: PrintContext, pages: PrintPage[]) => void;
5777
+ type PrintEndCallback = (ctx: PrintContext, pages: PrintPage[]) => Promise<void>;
5682
5778
  declare class PageSectionGuard extends ReportItemElement<ReportPage> {
5683
5779
  get guardLabel(): string;
5684
5780
  }
@@ -6072,6 +6168,9 @@ declare class HtmlItemElement extends ReportItemElement<HtmlItem> {
6072
6168
  private $_validateHtmlTags;
6073
6169
  }
6074
6170
 
6171
+ interface AsyncLoadable {
6172
+ loadAsync(ctx: PrintContext): Promise<void>;
6173
+ }
6075
6174
  /**
6076
6175
  * Printing 관련 상태 정보 모델.
6077
6176
  */
@@ -6131,6 +6230,7 @@ declare class PrintContext extends Base$1 {
6131
6230
  contextElements: {
6132
6231
  [hash: string]: TextItemElementBase<any>;
6133
6232
  };
6233
+ private _asyncLoadableElements;
6134
6234
  constructor(printing?: boolean, compositePrinting?: boolean);
6135
6235
  /**
6136
6236
  * printing
@@ -6227,6 +6327,15 @@ declare class PrintContext extends Base$1 {
6227
6327
  * 호출하기 전 pageHeader, pageFooter, pageHeight 값이 설정되어야 함
6228
6328
  */
6229
6329
  setBodySize(): void;
6330
+ /**
6331
+ * 로드가 필요한 리포트 아이템 View 정보를 추가한다.
6332
+ * @param itemElement 로드가 필요한 reportItemElement
6333
+ */
6334
+ addAsyncLoadableElement(itemElement: AsyncLoadable): void;
6335
+ /**
6336
+ * 로드가 필요한 Elements에 대한 비동기 처리
6337
+ */
6338
+ loadAsyncLoadableElements(): Promise<void[]>;
6230
6339
  }
6231
6340
  type ContextValueCallback = (ctx: PrintContext) => any;
6232
6341
  declare class PageBreaker {
@@ -8125,15 +8234,29 @@ declare class PrintContainer extends VisualContainer$1 {
8125
8234
  get pages(): PrintPage[];
8126
8235
  get align(): Align;
8127
8236
  set align(value: Align);
8237
+ /**
8238
+ * Report 에서 사용
8239
+ */
8240
+ get ReportItemRegistry(): ReportItemRegistry;
8241
+ /**
8242
+ * Composite Report 에서 사용
8243
+ */
8244
+ get ReportItemRegistries(): ReportItemRegistry[];
8128
8245
  print(options: IPrintOptions): void;
8129
8246
  printSingle(options: IPrintOptions): void;
8130
8247
  printAll(options: IPrintOptions): void;
8131
8248
  private $_printAll;
8132
8249
  getPrintHtml(): string;
8250
+ loadAsyncLoadableElements(): Promise<void>;
8133
8251
  setStyles(styles: any): void;
8134
8252
  fitToWidth(): void;
8135
8253
  fitToHeight(): void;
8136
8254
  fitToPage(): void;
8255
+ /**
8256
+ * Multi 리포트이면서 가로로 시작하는 양식은 따로 설정이 필요함
8257
+ * @returns 멀티 페이지이면서 첫번째 페이지가 가로양식으로 시작할 경우
8258
+ */
8259
+ needPrintScale(): boolean;
8137
8260
  get printing(): boolean;
8138
8261
  protected _doPrepareContainer(dom: HTMLElement): void;
8139
8262
  protected _render(timestamp: number): void;
@@ -8167,6 +8290,8 @@ declare class PrintContainer extends VisualContainer$1 {
8167
8290
  * 각 인쇄 영역 Container Style 설정
8168
8291
  */
8169
8292
  private $_setPageContainerStyle;
8293
+ private $_setLandscapePageStyle;
8294
+ private $_setPrintScaleStyle;
8170
8295
  private $_setUnvisibleDom;
8171
8296
  private $_layoutFloatings;
8172
8297
  /**
@@ -42258,6 +42383,7 @@ declare class ReportViewer extends ReportViewBase {
42258
42383
  protected _report: Report | Email;
42259
42384
  private _reportDataProvider;
42260
42385
  private _isPaging;
42386
+ private _reportViewPrinter;
42261
42387
  constructor(container: string | HTMLDivElement, reportForm?: ReportForm, dataSet?: ReportDataSet, options?: ReportOptions);
42262
42388
  get reportForm(): ReportForm;
42263
42389
  set reportForm(form: ReportForm);
@@ -42269,6 +42395,7 @@ declare class ReportViewer extends ReportViewBase {
42269
42395
  * container에 리포트를 preview로 렌더링 합니다.
42270
42396
  */
42271
42397
  preview(options?: PreviewOptions): void;
42398
+ print(options: PrintOptions): Promise<void>;
42272
42399
  /**
42273
42400
  * 리포트를 PDF파일로 다운로드 합니다.
42274
42401
  * @param options PDFExportOptions
@@ -42440,6 +42567,16 @@ declare type PreviewOptions = {
42440
42567
  */
42441
42568
  endCallback?: PrintEndCallback;
42442
42569
  };
42570
+ /**
42571
+ * 리포트 출력 옵션
42572
+ */
42573
+ declare type PrintOptions = {
42574
+ /**
42575
+ * 최대 출력 대기 시간 ms 단위
42576
+ * @defaultValue 2000
42577
+ */
42578
+ timeout: number;
42579
+ };
42443
42580
  /**
42444
42581
  * PDF내보내기시 인자로 사용되는 옵션
42445
42582
  */
@@ -42475,4 +42612,4 @@ declare type PDFExportOptions = {
42475
42612
  pdfVersion: '1.3' | '1.4' | '1.5' | '1.6' | '1.7' | '1.7ext3';
42476
42613
  };
42477
42614
 
42478
- export { GridReportLayout, GridReportViewer, PDFExportOptions, PreviewOptions, ReportCompositeViewer, ReportData, ReportDataSet, ReportForm, ReportFormSet, ReportFormSets, ReportOptions, ReportViewer };
42615
+ export { GridReportLayout, GridReportViewer, PDFExportOptions, PreviewOptions, PrintOptions, ReportCompositeViewer, ReportData, ReportDataSet, ReportForm, ReportFormSet, ReportFormSets, ReportOptions, ReportViewer };