realreport 1.8.1 → 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,5 +1,5 @@
1
1
  /*
2
- RealReport v1.8.1
2
+ RealReport v1.8.2
3
3
  Copyright (C) 2013-2024 WooriTech Inc.
4
4
  All Rights Reserved.
5
5
  */
@@ -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,7 +1,7 @@
1
1
  /// <reference types="pdfkit" />
2
2
  /**
3
- * RealReport v1.8.1
4
- * commit 362f3fb
3
+ * RealReport v1.8.2
4
+ * commit f5c709b
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.1
12
+ * RealReport Core v1.8.2
13
13
  * Copyright (C) 2013-2024 WooriTech Inc.
14
14
  * All Rights Reserved.
15
- * commit 15ef0812b90536bd8483d5a6a13ae4f7801d38b0
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;
@@ -4803,6 +4804,49 @@ declare class RealChartItem extends ChartItem<RCConfig> {
4803
4804
  canAddTo(group: ReportGroupItem): boolean;
4804
4805
  }
4805
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
+
4806
4850
  declare enum PaperSize {
4807
4851
  A0 = "A0",
4808
4852
  A1 = "A1",
@@ -4841,7 +4885,6 @@ declare class PaperOptions extends Base$1 {
4841
4885
  /** size */
4842
4886
  get size(): PaperSize;
4843
4887
  set size(value: PaperSize);
4844
- private $_checkSize;
4845
4888
  /** width */
4846
4889
  get width(): ValueString;
4847
4890
  set width(value: ValueString);
@@ -5018,6 +5061,7 @@ declare class Report extends EventAware$1 implements IEditCommandStackOwner, IPr
5018
5061
  private _commands;
5019
5062
  private _loading;
5020
5063
  private _invalids;
5064
+ private _reportItemRegistry;
5021
5065
  constructor(designTime?: boolean, source?: any);
5022
5066
  _doDispose(): void;
5023
5067
  onDesignDataManagerDataAdded(dm: DesignDataManager, data: IReportData): void;
@@ -5060,6 +5104,8 @@ declare class Report extends EventAware$1 implements IEditCommandStackOwner, IPr
5060
5104
  get canRedo(): boolean;
5061
5105
  /** dirty */
5062
5106
  get dirty(): boolean;
5107
+ /** reportItemRegistry */
5108
+ get reportItemRegistry(): ReportItemRegistry;
5063
5109
  load(src: any): Report;
5064
5110
  setSaveTagging(tag: string): Report;
5065
5111
  save(pageOnly?: boolean): object;
@@ -5199,6 +5245,7 @@ declare class Report extends EventAware$1 implements IEditCommandStackOwner, IPr
5199
5245
  reason: string;
5200
5246
  }[];
5201
5247
  foldedChanged(item: ReportItem): void;
5248
+ isFirstPageLandscape(): boolean;
5202
5249
  protected _createReportRootItem(report: Report): ReportRootItem;
5203
5250
  protected _createReportInfo(report: Report): ReportInfo;
5204
5251
  protected _createReportLoader(): IReportLoader;
@@ -5228,6 +5275,10 @@ declare class Report extends EventAware$1 implements IEditCommandStackOwner, IPr
5228
5275
  */
5229
5276
  declare class ReportPage extends ReportGroupItem implements IEventAware {
5230
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";
5231
5282
  static readonly ITEM_ADDED = "onPageItemAdded";
5232
5283
  static readonly ITEMS_ADDED = "onPageItemsAdded";
5233
5284
  static readonly ITEM_REMOVED = "onPageItemRemoved";
@@ -5237,6 +5288,14 @@ declare class ReportPage extends ReportGroupItem implements IEventAware {
5237
5288
  static readonly $_ctor: string;
5238
5289
  static readonly PROPINFOS: IPropInfo[];
5239
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;
5240
5299
  private _report;
5241
5300
  private _pageIndex;
5242
5301
  private _events;
@@ -5298,9 +5357,33 @@ declare class ReportPage extends ReportGroupItem implements IEventAware {
5298
5357
  */
5299
5358
  get orientation(): PaperOrientation;
5300
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);
5301
5372
  getItem(name: string): ReportItem;
5302
5373
  removeItems(commands: EditCommandStack$1, items: ReportPageItem[]): number;
5303
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;
5304
5387
  get outlineLabel(): string;
5305
5388
  get pathLabel(): string;
5306
5389
  get page(): ReportPage;
@@ -5691,7 +5774,7 @@ declare class PageItemContainerElement extends BoundedContainerElement<PageItemC
5691
5774
  }
5692
5775
 
5693
5776
  type PrintPageCallback = (ctx: PrintContext, page: PrintPage, pageNo: number) => void;
5694
- type PrintEndCallback = (ctx: PrintContext, pages: PrintPage[]) => void;
5777
+ type PrintEndCallback = (ctx: PrintContext, pages: PrintPage[]) => Promise<void>;
5695
5778
  declare class PageSectionGuard extends ReportItemElement<ReportPage> {
5696
5779
  get guardLabel(): string;
5697
5780
  }
@@ -6085,6 +6168,9 @@ declare class HtmlItemElement extends ReportItemElement<HtmlItem> {
6085
6168
  private $_validateHtmlTags;
6086
6169
  }
6087
6170
 
6171
+ interface AsyncLoadable {
6172
+ loadAsync(ctx: PrintContext): Promise<void>;
6173
+ }
6088
6174
  /**
6089
6175
  * Printing 관련 상태 정보 모델.
6090
6176
  */
@@ -6144,6 +6230,7 @@ declare class PrintContext extends Base$1 {
6144
6230
  contextElements: {
6145
6231
  [hash: string]: TextItemElementBase<any>;
6146
6232
  };
6233
+ private _asyncLoadableElements;
6147
6234
  constructor(printing?: boolean, compositePrinting?: boolean);
6148
6235
  /**
6149
6236
  * printing
@@ -6240,6 +6327,15 @@ declare class PrintContext extends Base$1 {
6240
6327
  * 호출하기 전 pageHeader, pageFooter, pageHeight 값이 설정되어야 함
6241
6328
  */
6242
6329
  setBodySize(): void;
6330
+ /**
6331
+ * 로드가 필요한 리포트 아이템 View 정보를 추가한다.
6332
+ * @param itemElement 로드가 필요한 reportItemElement
6333
+ */
6334
+ addAsyncLoadableElement(itemElement: AsyncLoadable): void;
6335
+ /**
6336
+ * 로드가 필요한 Elements에 대한 비동기 처리
6337
+ */
6338
+ loadAsyncLoadableElements(): Promise<void[]>;
6243
6339
  }
6244
6340
  type ContextValueCallback = (ctx: PrintContext) => any;
6245
6341
  declare class PageBreaker {
@@ -8138,15 +8234,29 @@ declare class PrintContainer extends VisualContainer$1 {
8138
8234
  get pages(): PrintPage[];
8139
8235
  get align(): Align;
8140
8236
  set align(value: Align);
8237
+ /**
8238
+ * Report 에서 사용
8239
+ */
8240
+ get ReportItemRegistry(): ReportItemRegistry;
8241
+ /**
8242
+ * Composite Report 에서 사용
8243
+ */
8244
+ get ReportItemRegistries(): ReportItemRegistry[];
8141
8245
  print(options: IPrintOptions): void;
8142
8246
  printSingle(options: IPrintOptions): void;
8143
8247
  printAll(options: IPrintOptions): void;
8144
8248
  private $_printAll;
8145
8249
  getPrintHtml(): string;
8250
+ loadAsyncLoadableElements(): Promise<void>;
8146
8251
  setStyles(styles: any): void;
8147
8252
  fitToWidth(): void;
8148
8253
  fitToHeight(): void;
8149
8254
  fitToPage(): void;
8255
+ /**
8256
+ * Multi 리포트이면서 가로로 시작하는 양식은 따로 설정이 필요함
8257
+ * @returns 멀티 페이지이면서 첫번째 페이지가 가로양식으로 시작할 경우
8258
+ */
8259
+ needPrintScale(): boolean;
8150
8260
  get printing(): boolean;
8151
8261
  protected _doPrepareContainer(dom: HTMLElement): void;
8152
8262
  protected _render(timestamp: number): void;
@@ -8180,6 +8290,8 @@ declare class PrintContainer extends VisualContainer$1 {
8180
8290
  * 각 인쇄 영역 Container Style 설정
8181
8291
  */
8182
8292
  private $_setPageContainerStyle;
8293
+ private $_setLandscapePageStyle;
8294
+ private $_setPrintScaleStyle;
8183
8295
  private $_setUnvisibleDom;
8184
8296
  private $_layoutFloatings;
8185
8297
  /**
@@ -42271,6 +42383,7 @@ declare class ReportViewer extends ReportViewBase {
42271
42383
  protected _report: Report | Email;
42272
42384
  private _reportDataProvider;
42273
42385
  private _isPaging;
42386
+ private _reportViewPrinter;
42274
42387
  constructor(container: string | HTMLDivElement, reportForm?: ReportForm, dataSet?: ReportDataSet, options?: ReportOptions);
42275
42388
  get reportForm(): ReportForm;
42276
42389
  set reportForm(form: ReportForm);
@@ -42282,6 +42395,7 @@ declare class ReportViewer extends ReportViewBase {
42282
42395
  * container에 리포트를 preview로 렌더링 합니다.
42283
42396
  */
42284
42397
  preview(options?: PreviewOptions): void;
42398
+ print(options: PrintOptions): Promise<void>;
42285
42399
  /**
42286
42400
  * 리포트를 PDF파일로 다운로드 합니다.
42287
42401
  * @param options PDFExportOptions
@@ -42453,6 +42567,16 @@ declare type PreviewOptions = {
42453
42567
  */
42454
42568
  endCallback?: PrintEndCallback;
42455
42569
  };
42570
+ /**
42571
+ * 리포트 출력 옵션
42572
+ */
42573
+ declare type PrintOptions = {
42574
+ /**
42575
+ * 최대 출력 대기 시간 ms 단위
42576
+ * @defaultValue 2000
42577
+ */
42578
+ timeout: number;
42579
+ };
42456
42580
  /**
42457
42581
  * PDF내보내기시 인자로 사용되는 옵션
42458
42582
  */
@@ -42488,4 +42612,4 @@ declare type PDFExportOptions = {
42488
42612
  pdfVersion: '1.3' | '1.4' | '1.5' | '1.6' | '1.7' | '1.7ext3';
42489
42613
  };
42490
42614
 
42491
- 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 };