realreport-designer 1.10.15 → 1.11.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.
@@ -338,6 +338,7 @@ declare class BandFooterPrintInfo {
338
338
  }
339
339
 
340
340
  declare class BandGroup extends ReportGroupItem {
341
+ static readonly MIN_BAND_COUNT = 1;
341
342
  static readonly PROP_BAND_COUNT = "bandCount";
342
343
  static readonly PROP_BAND_GAP = "bandGap";
343
344
  static readonly PROP_NO_SPLIT = "noSplit";
@@ -413,7 +414,7 @@ declare class BandGroupMarquee extends EditMarquee<BandGroupElement> {
413
414
 
414
415
  declare class BandGroupPrintInfo extends BandPrintInfo<BandGroup> {
415
416
  group: BandGroup;
416
- bands: BandPrintInfo<any>[] | TextBandPrintInfo[];
417
+ groupInfos: (BandGroupTextPrintInfo | BandPrintInfo<BandModel> | TextBandPrintInfo)[];
417
418
  left: string;
418
419
  gap: number;
419
420
  isEnded(): boolean;
@@ -424,6 +425,15 @@ declare class BandGroupPrintInfo extends BandPrintInfo<BandGroup> {
424
425
  getEmptyDataBandPage(doc: Document, ctx: PrintContext, bandPrintInfo: BandGroupPrintInfo, width: number, parent: HTMLDivElement): HTMLDivElement;
425
426
  resetRowIndex(): void;
426
427
  private $_createBandGroupPage;
428
+ private $_attachHorizontalBandGroup;
429
+ private $_attachVeritcalBandGroup;
430
+ }
431
+
432
+ declare class BandGroupTextPrintInfo {
433
+ bandCellWidth: number;
434
+ bandCellHeight: number;
435
+ element: TextItemElement;
436
+ constructor(bandCellWidth: number, bandCellHeight: number, element: TextItemElement);
427
437
  }
428
438
 
429
439
  declare abstract class BandItemElement<T extends ReportBandItem = ReportBandItem> extends ReportGroupItemElement<T> {
@@ -494,6 +504,7 @@ declare abstract class BandPrintInfo<T extends ReportItem> {
494
504
  setBorderContainerStyle(borderContainer: HTMLDivElement, styles: {
495
505
  [x: string]: string;
496
506
  }): void;
507
+ setBoxSidesStyle(bandContainer: HTMLDivElement, styles: Styles): void;
497
508
  protected _setX(dom: HTMLElement, x: number): void;
498
509
  protected _setY(dom: HTMLElement, y: number): void;
499
510
  protected _setPos(dom: HTMLElement, x: number, y: number): void;
@@ -542,6 +553,8 @@ declare enum BandSectionLayout {
542
553
  DOWN_ACROSS = "downAcross"
543
554
  }
544
555
 
556
+ declare type BandSectionType = 'header' | 'dataRow' | 'footer' | 'groupHeader' | 'groupFooter';
557
+
545
558
  declare type BarAxisDirection = 'context' | 'leftToRight' | 'rightToLeft';
546
559
 
547
560
  declare type BarAxisPosition = 'auto' | 'middle' | 'none';
@@ -2562,23 +2575,6 @@ declare enum DropResultType {
2562
2575
  ITEM = "item"
2563
2576
  }
2564
2577
 
2565
- declare interface EditableItem {
2566
- reportItemElement: ReportItemView;
2567
- targetElement: HTMLElement;
2568
- markerElement: HTMLElement;
2569
- name: string;
2570
- item: string;
2571
- originalValue: EditableItemValue;
2572
- value: EditableItemValue;
2573
- }
2574
-
2575
- declare type EditableItemMeta = {
2576
- name: string;
2577
- value: EditableItemValue;
2578
- };
2579
-
2580
- declare type EditableItemValue = string | number | boolean;
2581
-
2582
2578
  /**
2583
2579
  * Report Editable 속성 관련하여 수정가능한 영역 표시를 위해 작성
2584
2580
  */
@@ -3226,12 +3222,6 @@ declare abstract class ExcelColumnHeaderView extends ExcelTableElement {
3226
3222
  private $_prepareCells;
3227
3223
  }
3228
3224
 
3229
- /**
3230
- * 데이터밴드의 영역 중 아이템이 지정되지 않은 셀들에 표시되는 item.
3231
- * 모든 셀을 포함하는 하나의 아이템으로 지정된다.
3232
- * 밴드 단위로 표시된다.
3233
- * 다른 아이템을 추가하거나, 셀을 선택할 수 없다.
3234
- */
3235
3225
  declare class ExcelDataBand extends TableLikeBand {
3236
3226
  static readonly PROP_DESIGN_VISIBLE = "designVisible";
3237
3227
  static readonly PROP_COL_COUNT = "colCount";
@@ -3385,6 +3375,7 @@ declare class ExcelDataBand extends TableLikeBand {
3385
3375
  protected _doItemRemoved(item: ReportItem, index: number): void;
3386
3376
  protected _doItemsRemoved(items: ReportItem[]): void;
3387
3377
  protected _doItemsCleared(): void;
3378
+ protected _doAfterLoad(loader: IReportLoader, src: any): void;
3388
3379
  protected _doPrepareLayout(printing: boolean): void;
3389
3380
  prepareLayout(printing: boolean): void;
3390
3381
  private $_buildDefaultCtx;
@@ -3429,12 +3420,14 @@ declare class ExcelDataBandCollection extends DataBandCollection implements IExc
3429
3420
 
3430
3421
  declare class ExcelDataBandDataRow extends ExcelDataBandSection {
3431
3422
  static readonly $_ctor: string;
3423
+ static readonly SECTION_TYPE: BandSectionType;
3432
3424
  _runRowCount: number;
3433
3425
  get outlineLabel(): string;
3434
3426
  get pathLabel(): string;
3435
3427
  getHiddenText(): string;
3436
3428
  writeAll(ctx: ExcelPrintContext, drows?: number[]): IExcelCell[];
3437
3429
  writeRow(ctx: ExcelPrintContext, drow: number, col: number): IExcelCell[];
3430
+ protected _getSectionType(): BandSectionType;
3438
3431
  private $_writeRow;
3439
3432
  }
3440
3433
 
@@ -3475,25 +3468,29 @@ declare class ExcelDataBandElement extends ExcelReportGroupItemElementBase<Excel
3475
3468
 
3476
3469
  declare class ExcelDataBandFooter extends ExcelDataBandSection {
3477
3470
  static readonly $_ctor: string;
3478
- protected _getInitCellStyles(): {
3479
- backgroundColor: string;
3480
- };
3471
+ static readonly SECTION_TYPE: BandSectionType;
3481
3472
  get outlineLabel(): string;
3482
3473
  get pathLabel(): string;
3483
3474
  getHiddenText(): string;
3475
+ protected _getInitCellStyles(): {
3476
+ backgroundColor: string;
3477
+ };
3478
+ protected _getSectionType(): BandSectionType;
3484
3479
  }
3485
3480
 
3486
3481
  declare class ExcelDataBandHeader extends ExcelDataBandSection {
3487
3482
  static readonly $_ctor: string;
3483
+ static readonly SECTION_TYPE: BandSectionType;
3488
3484
  get outlineLabel(): string;
3489
3485
  get pathLabel(): string;
3486
+ getHiddenText(): string;
3490
3487
  protected _getInitCellStyles(): {
3491
3488
  textAlign: string;
3492
3489
  fontWeight: string;
3493
3490
  backgroundColor: string;
3494
3491
  border: string;
3495
3492
  };
3496
- getHiddenText(): string;
3493
+ protected _getSectionType(): BandSectionType;
3497
3494
  }
3498
3495
 
3499
3496
  declare class ExcelDataBandRowGroup extends DataBandRowGroup {
@@ -3602,7 +3599,7 @@ declare class ExcelDataBandRowGroupContainer extends ExcelDataBandSection {
3602
3599
 
3603
3600
  declare class ExcelDataBandRowGroupFooter extends ExcelDataBandRowGroupSection {
3604
3601
  static readonly PROPINFOS: IPropInfo[];
3605
- _row: number;
3602
+ static readonly SECTION_TYPE: BandSectionType;
3606
3603
  static readonly $_ctor: string;
3607
3604
  get outlineLabel(): string;
3608
3605
  get outlineParent(): IOutlineSource;
@@ -3614,11 +3611,12 @@ declare class ExcelDataBandRowGroupFooter extends ExcelDataBandRowGroupSection {
3614
3611
  protected _doLoad(loader: IReportLoader, src: any): void;
3615
3612
  protected _doSave(target: object): void;
3616
3613
  prepareLayout(printing: boolean): void;
3614
+ protected _getSectionType(): BandSectionType;
3617
3615
  }
3618
3616
 
3619
3617
  declare class ExcelDataBandRowGroupHeader extends ExcelDataBandRowGroupSection {
3620
3618
  static readonly PROPINFOS: IPropInfo[];
3621
- _row: number;
3619
+ static readonly SECTION_TYPE: BandSectionType;
3622
3620
  static readonly $_ctor: string;
3623
3621
  get outlineLabel(): string;
3624
3622
  get row(): number;
@@ -3630,14 +3628,15 @@ declare class ExcelDataBandRowGroupHeader extends ExcelDataBandRowGroupSection {
3630
3628
  protected _doLoad(loader: IReportLoader, src: any): void;
3631
3629
  protected _doSave(target: object): void;
3632
3630
  prepareLayout(printing: boolean): void;
3631
+ protected _getSectionType(): BandSectionType;
3633
3632
  }
3634
3633
 
3635
3634
  declare abstract class ExcelDataBandRowGroupSection extends ExcelDataBandSection {
3636
3635
  group: ExcelDataBandRowGroup;
3637
3636
  constructor(group: ExcelDataBandRowGroup);
3638
- get page(): ReportPageBase;
3639
3637
  getCol(): number;
3640
3638
  getRow(): number;
3639
+ write(ctx: ExcelPrintContext, group: IBandRowGroup): IExcelCell[];
3641
3640
  }
3642
3641
 
3643
3642
  declare abstract class ExcelDataBandSection extends ExcelGroupItem {
@@ -3646,18 +3645,23 @@ declare abstract class ExcelDataBandSection extends ExcelGroupItem {
3646
3645
  static readonly PROP_FIXED = "fixed";
3647
3646
  static readonly PROPINFOS: IPropInfo[];
3648
3647
  private static readonly STYLE_PROPS;
3648
+ protected _row: number;
3649
3649
  private _rowCount;
3650
3650
  private _minRowHeight;
3651
3651
  private _fixed;
3652
- _row: number;
3653
3652
  private _band;
3654
3653
  private _minRowHeightDim;
3655
3654
  _runRow: number;
3655
+ _pr: {
3656
+ r: number;
3657
+ c: number;
3658
+ };
3656
3659
  constructor(band: ExcelDataBand);
3657
3660
  get outlineItems(): IOutlineSource[];
3658
3661
  get row(): number;
3659
3662
  /** band */
3660
3663
  get band(): ExcelDataBand;
3664
+ get page(): ExcelPage;
3661
3665
  /**
3662
3666
  * 행 수.<br/>
3663
3667
  */
@@ -3686,6 +3690,7 @@ declare abstract class ExcelDataBandSection extends ExcelGroupItem {
3686
3690
  getRowPulledItems(row: number): ExcelItems[];
3687
3691
  protected _doLoad(loader: IReportLoader, src: any): void;
3688
3692
  protected _doSave(target: object): void;
3693
+ protected _getSectionType(): BandSectionType;
3689
3694
  }
3690
3695
 
3691
3696
  /**
@@ -3944,7 +3949,7 @@ declare abstract class ExcelItem extends ReportItem {
3944
3949
  };
3945
3950
  static isIntersecting(item: ExcelItems, r1: number, c1: number, r2: number, c2: number, p?: ExcelGroupItem): boolean;
3946
3951
  static isContained(item: ExcelItems, r1: number, c1: number, r2: number, c2: number, p?: ExcelGroupItem): boolean;
3947
- static createRenderInfo(info: any): IExcelRenderInfo;
3952
+ static createRenderInfo(ctx: ExcelPrintContext, item: ExcelItems | ExcelItem, info: any): IExcelRenderInfo;
3948
3953
  private _row;
3949
3954
  private _col;
3950
3955
  _saveRow: number;
@@ -4202,7 +4207,31 @@ declare class ExcelPageView extends PageViewBase {
4202
4207
  * @private
4203
4208
  */
4204
4209
  declare class ExcelPrintContext extends PrintContextBase<ExcelReport> {
4210
+ private _lastStartPrintedRow;
4211
+ private _saveSameStartPrintedRowCount;
4212
+ private _cells;
4213
+ private _heights;
4214
+ reportView: ExcelReportView;
4205
4215
  sheetView: ExcelSheetView;
4216
+ printView: SheetPrintView;
4217
+ printRows: number;
4218
+ printRow: number;
4219
+ /**
4220
+ * 가장 최근에 출력된 시작 행 정보
4221
+ * 이 정보를 통해 같은 행이 100번 이상 출력되는 경우를 방지한다.
4222
+ */
4223
+ get lastStartPrintedRow(): number;
4224
+ set lastStartPrintedRow(row: number);
4225
+ /**
4226
+ * 같은 행이 100번 이상 출력되는 경우를 방지하기 위해
4227
+ * 같은 행이 몇번 출력되었는지 카운트한다.
4228
+ */
4229
+ get saveSameStartPrintedRowCount(): number;
4230
+ set saveSameStartPrintedRowCount(count: number);
4231
+ get cells(): IExcelRenderInfo[][];
4232
+ set cells(cells: IExcelRenderInfo[][]);
4233
+ get heights(): number[][];
4234
+ set heights(heights: number[][]);
4206
4235
  getItemCell(item: ExcelItems | ExcelGroupItems): HTMLTableCellElement;
4207
4236
  getCell(row: number, col: number): HTMLTableCellElement;
4208
4237
  getItemRect(item: ExcelItems | ExcelGroupItem): IRect;
@@ -4210,6 +4239,7 @@ declare class ExcelPrintContext extends PrintContextBase<ExcelReport> {
4210
4239
  setCellHeight(cell: HTMLTableCellElement): void;
4211
4240
  setCellFixedHeight(cell: HTMLTableCellElement): void;
4212
4241
  setConditionalFormatting(options: IConditionalFormattingOptions): void;
4242
+ preparePrint(report?: ExcelReport): void;
4213
4243
  }
4214
4244
 
4215
4245
  declare class ExcelReport extends ReportBase<ExcelPage> {
@@ -4503,7 +4533,7 @@ declare abstract class ExcelReportView extends ReportViewBase<ExcelReport> {
4503
4533
  private static ViewCreators;
4504
4534
  private _pageViews;
4505
4535
  private _isPageViewSized;
4506
- constructor(doc: Document, editable?: boolean, printing?: boolean);
4536
+ constructor(doc: Document, printing: boolean);
4507
4537
  get pageViews(): ExcelPageView[];
4508
4538
  get isPageViewSized(): boolean;
4509
4539
  getPageView(index: number): ExcelPageView;
@@ -4779,8 +4809,9 @@ declare abstract class ExcelTableElementBase extends ReportElement {
4779
4809
  needEnd: number;
4780
4810
  private _colgroup;
4781
4811
  private _thead;
4782
- private _tbody;
4812
+ protected _tbody: HTMLTableSectionElement;
4783
4813
  constructor(doc: Document, needEnd?: number);
4814
+ createRow(doc: Document, height: number): HTMLTableRowElement;
4784
4815
  protected _createDom(doc: Document): HTMLElement;
4785
4816
  protected _initDom(doc: Document, dom: HTMLElement): void;
4786
4817
  get trows(): HTMLCollectionOf<HTMLTableRowElement>;
@@ -6173,7 +6204,7 @@ declare interface IDesignerContext {
6173
6204
  emailEditor?: EmailEditor;
6174
6205
  excelEditor?: ExcelReportEditor;
6175
6206
  previewScrollContainer: PreviewScrollContainer;
6176
- previewer?: PrintContainer;
6207
+ previewer?: PrintContainerBase;
6177
6208
  designer: ReportDesigner_2;
6178
6209
  previewed?: boolean;
6179
6210
  hasParams?: boolean;
@@ -6285,6 +6316,7 @@ declare interface IEventAware {
6285
6316
  }
6286
6317
 
6287
6318
  declare interface IExcelBandContext {
6319
+ model: ExcelDataBand;
6288
6320
  name: string;
6289
6321
  dataName: string;
6290
6322
  masterValues: any;
@@ -6299,7 +6331,7 @@ declare interface IExcelBandContext {
6299
6331
  designTimeRowCount: number;
6300
6332
  designTimeColCount: number;
6301
6333
  runRows: number;
6302
- bandGroups?: IExcelBandGroupContext[];
6334
+ bandGroups: IExcelBandGroupContext[];
6303
6335
  }
6304
6336
 
6305
6337
  declare type IExcelBandExcelMatrix = IExcelCell[];
@@ -6314,6 +6346,10 @@ declare interface IExcelBandGroupContext {
6314
6346
  children: IExcelBandGroupContext[];
6315
6347
  }
6316
6348
 
6349
+ declare interface IExcelBoxContext {
6350
+ model: string;
6351
+ }
6352
+
6317
6353
  declare interface IExcelCell {
6318
6354
  info?: IExcelRenderInfo;
6319
6355
  r: number;
@@ -6338,9 +6374,12 @@ declare interface IExcelCell {
6338
6374
  style?: Styles;
6339
6375
  rotation?: number | 'vertical';
6340
6376
  dr?: number;
6377
+ dataRowIndex?: number;
6341
6378
  bar?: IExcelDataBar;
6379
+ groupSection?: ExcelDataBandRowGroupSection;
6342
6380
  cbandGroup?: IExcelBandGroupContext;
6343
6381
  cband?: IExcelBandContext;
6382
+ bandSectionType?: BandSectionType;
6344
6383
  }
6345
6384
 
6346
6385
  declare interface IExcelDataBar {
@@ -6398,6 +6437,7 @@ declare interface IExcellImage {
6398
6437
  }
6399
6438
 
6400
6439
  declare interface IExcelRenderInfo {
6440
+ model: ExcelItems;
6401
6441
  row: number;
6402
6442
  col: number;
6403
6443
  rowCount?: number;
@@ -6407,11 +6447,12 @@ declare interface IExcelRenderInfo {
6407
6447
  runRows: number;
6408
6448
  colCount?: number;
6409
6449
  band?: IExcelBandContext;
6410
- box?: boolean;
6450
+ box?: IExcelBoxContext;
6411
6451
  sign?: any;
6412
6452
  stamp?: any;
6453
+ pr?: number;
6413
6454
  /**
6414
- * 아이템이 출력해야정확한 위치
6455
+ * 현재 아이템이 출력되어야 할 행 인덱스
6415
6456
  */
6416
6457
  r?: number;
6417
6458
  cells: IExcelCell | IExcelCell[];
@@ -6585,7 +6626,7 @@ declare interface IPreviewOptions {
6585
6626
  }
6586
6627
 
6587
6628
  declare interface IPrintOptions {
6588
- report: Report_2 | (Report_2 | IPrintReport)[];
6629
+ report: ReportBase | (ReportBase | IPrintReport)[];
6589
6630
  data: IReportDataProvider;
6590
6631
  preview?: boolean;
6591
6632
  id?: string;
@@ -6593,7 +6634,7 @@ declare interface IPrintOptions {
6593
6634
  }
6594
6635
 
6595
6636
  declare interface IPrintReport {
6596
- report: Report_2;
6637
+ report: ReportBase;
6597
6638
  data: IReportDataProvider;
6598
6639
  }
6599
6640
 
@@ -7052,6 +7093,10 @@ declare interface ISinglePageOptions {
7052
7093
  border: boolean;
7053
7094
  }
7054
7095
 
7096
+ declare interface ISinglePageOptions {
7097
+ border: boolean;
7098
+ }
7099
+
7055
7100
  declare interface ISize {
7056
7101
  width: number;
7057
7102
  height: number;
@@ -7970,11 +8015,11 @@ declare class PaperOptions extends Base {
7970
8015
  getContentRect(r: Rectangle): Rectangle;
7971
8016
  getClientRect(page: ReportPage): Rectangle;
7972
8017
  applyExtents(page: ReportPage, css: CSSStyleDeclaration): void;
7973
- applyPreviewExtents(page: ReportPage, css: CSSStyleDeclaration, paperOrientation: PaperOrientation): {
8018
+ applyPreviewExtents(page: ReportPageBase, css: CSSStyleDeclaration, paperOrientation: PaperOrientation): {
7974
8019
  pageWidth: number;
7975
8020
  pageHeight: number;
7976
8021
  };
7977
- applyClient(page: ReportPage, css: CSSStyleDeclaration): void;
8022
+ applyClient(page: ReportPageBase, css: CSSStyleDeclaration): void;
7978
8023
  applyPreviewClient(page: ReportPage, css: CSSStyleDeclaration): {
7979
8024
  width: string;
7980
8025
  height: string;
@@ -8100,126 +8145,6 @@ declare class PreviewScrollContainer extends DesignerLayerElement {
8100
8145
  protected _fireScrollEnd(): void;
8101
8146
  }
8102
8147
 
8103
- declare class PrintContainer extends PrintContainerBase {
8104
- static setMarkerElementsVisible(pages: PrintPage[], visible: boolean): void;
8105
- private _pageGap;
8106
- private _zoom;
8107
- private _styles;
8108
- onZoomed: (scale: number) => void;
8109
- private _context;
8110
- private _indicator;
8111
- private _reportView;
8112
- private _reportViews;
8113
- private _contexts;
8114
- private _pages;
8115
- private _preview;
8116
- private _previewId;
8117
- private _printMode;
8118
- private _pageToGo?;
8119
- private _printEditLayer;
8120
- private _printEditableItemManager;
8121
- private _floatingLayoutAction;
8122
- constructor(containerId: string | HTMLDivElement);
8123
- get reportView(): ReportView;
8124
- /** pageCount */
8125
- get pageCount(): number;
8126
- /** page */
8127
- get page(): number;
8128
- set page(value: number);
8129
- /** zoom */
8130
- get zoom(): number;
8131
- set zoom(value: number);
8132
- get pages(): PrintPage[];
8133
- get isPrinted(): boolean;
8134
- /**
8135
- * Report 에서 사용
8136
- */
8137
- get reportItemRegistry(): ReportItemRegistry | null;
8138
- /**
8139
- * Composite Report 에서 사용
8140
- */
8141
- get reportItemRegistries(): ReportItemRegistry[];
8142
- /**
8143
- * printEditableItemManager
8144
- */
8145
- get printEditableItemManager(): PrintEditableItemManager;
8146
- print(options: IPrintOptions): void;
8147
- printSingle(options: IPrintOptions): void;
8148
- printAll(options: IPrintOptions): void;
8149
- private $_printAll;
8150
- getPrintHtml(): string;
8151
- /** page */
8152
- getCurrentPage(scrollHeight: number, scrollTop: number): number;
8153
- loadAsyncLoadableElements(): Promise<void>;
8154
- setStyles(styles: any): void;
8155
- fitToWidth(): void;
8156
- fitToHeight(): void;
8157
- fitToPage(): void;
8158
- /**
8159
- * Multi 리포트이면서 가로로 시작하는 양식은 따로 설정이 필요함
8160
- * @returns 멀티 페이지이면서 첫번째 페이지가 가로양식으로 시작할 경우
8161
- */
8162
- needPrintScale(): boolean;
8163
- /**
8164
- * containerDiv의 크기에 맞춰 previewer의 위치를 재조정한다.
8165
- */
8166
- resetPreviewer(): void;
8167
- protected _doPrepareContainer(doc: Document, dom: HTMLElement): void;
8168
- protected _doResized(): void;
8169
- private $_refreshContextValues;
8170
- private $_replacePages;
8171
- private $_refreshHtmlItemValue;
8172
- private $_printReport;
8173
- private $_printPageless;
8174
- private $_getContainer;
8175
- private $_getPreviewer;
8176
- private $_getPageHeight;
8177
- private $_getPrintBack;
8178
- private $_removeBackContainer;
8179
- private $_resetPreviewer;
8180
- private $_buildOutput;
8181
- private $_buildNoPagingOutput;
8182
- private $_setFrontBackLayer;
8183
- /**
8184
- * 서브 밴드 페이지들은 다른 페이지들에 연결해서 사용되기 때문에 우선적으로 뷰를 준비한다.
8185
- */
8186
- private $_prepareSubPageViews;
8187
- /**
8188
- * unitpost 한장 요약 HTML 요청으로 singlePage 별도 메서드로 분리
8189
- */
8190
- private $_prepareSinglePage;
8191
- private $_setSinglePage;
8192
- private $_setSinglePageStyles;
8193
- private $_isReportFooter;
8194
- private $_setPrintMode;
8195
- private $_getScaleSize;
8196
- /**
8197
- * 각 인쇄 영역 Container Style 설정
8198
- */
8199
- private $_setPageContainerStyle;
8200
- private $_setLandscapePageStyle;
8201
- private $_setPrintScaleStyle;
8202
- private $_setUnvisibleDom;
8203
- private $_layoutFloatings;
8204
- private $_setLanguageContext;
8205
- /**
8206
- * 출력 옵션 검증
8207
- * @throws 출력 옵션이 유효하지 않을 경우 에러 발생
8208
- */
8209
- private $_validatePrintOptions;
8210
- private $_validateReportOption;
8211
- private $_createReportView;
8212
- private $_instanceofIPrintReport;
8213
- private $_addMarkerEventListener;
8214
- private $_addEditableItemToManager;
8215
- /**
8216
- * 한 페이지당 수정가능한 아이템 정보를 찾아서 정보를 최신화 시킨다.
8217
- */
8218
- private $_addEditableItems;
8219
- private $_addBorderContainer;
8220
- protected _scrollEndHandler: () => void;
8221
- }
8222
-
8223
8148
  declare abstract class PrintContainerBase extends VisualContainer {
8224
8149
  static readonly CLASS_NAME = "rr-report-container";
8225
8150
  static readonly PREVIEW_CLASS = "rr-report-preview";
@@ -8231,20 +8156,57 @@ declare abstract class PrintContainerBase extends VisualContainer {
8231
8156
  traceMode: boolean;
8232
8157
  private _align;
8233
8158
  onGetStampImage: () => Promise<string>;
8159
+ protected _pageGap: number;
8160
+ private _zoom;
8161
+ private _styles;
8162
+ onZoomed: (scale: number) => void;
8234
8163
  private _signLayer;
8235
8164
  private _errorView;
8236
8165
  protected _options: IPrintOptions;
8237
8166
  private _signPanel;
8238
8167
  private _signed;
8239
8168
  private _stampPanel;
8169
+ protected _preview: boolean;
8170
+ protected _previewId: string;
8171
+ protected _printMode: PrintMode;
8240
8172
  constructor(containerId: string | HTMLDivElement);
8241
8173
  abstract get reportView(): ReportViewBase;
8174
+ abstract get reportViews(): ReportViewBase[];
8175
+ /** align */
8242
8176
  get align(): Align;
8243
8177
  set align(value: Align);
8178
+ /** zoom */
8179
+ get zoom(): number;
8180
+ set zoom(value: number);
8181
+ abstract page: number;
8182
+ abstract get pageCount(): number;
8183
+ abstract get isPrinted(): boolean;
8184
+ abstract getCurrentPage(scrollHeight: number, scrollTop: number): number;
8185
+ abstract fitToWidth(): void;
8186
+ abstract fitToHeight(): void;
8187
+ abstract fitToPage(): void;
8188
+ abstract loadAsyncLoadableElements(): Promise<void>;
8244
8189
  print(options: IPrintOptions): void;
8190
+ /**
8191
+ * Multi 리포트이면서 가로로 시작하는 양식은 따로 설정이 필요함
8192
+ * @returns 멀티 페이지이면서 첫번째 페이지가 가로양식으로 시작할 경우
8193
+ */
8194
+ needPrintScale(): boolean;
8195
+ setStyles(styles: any): void;
8196
+ getScaleSize(width: number, height: number): number;
8197
+ startPrint(doc: Document, ctx: PrintContextBase, id: string, pageMark: boolean): HTMLElement;
8198
+ getPrintHtml(): string;
8199
+ /**
8200
+ * containerDiv의 크기에 맞춰 previewer의 위치를 재조정한다.
8201
+ */
8202
+ resetPreviewer(): void;
8245
8203
  get printing(): boolean;
8246
8204
  protected _doPrepareContainer(doc: Document, dom: HTMLElement): void;
8247
8205
  protected _render(timestamp: number): void;
8206
+ protected _getContainer(): HTMLElement;
8207
+ protected _getPreviewer(id?: string): HTMLElement;
8208
+ protected _setLanguageContext(ctx: PrintContextBase, report: ReportBase, language?: string): void;
8209
+ protected _setPrintMode(reports: ReportBase | (ReportBase | IPrintReport)[]): void;
8248
8210
  protected _initialize(div: HTMLDivElement): void;
8249
8211
  protected _showError(dom: HTMLElement, error: any): void;
8250
8212
  protected _hideError(): void;
@@ -8256,27 +8218,29 @@ declare abstract class PrintContainerBase extends VisualContainer {
8256
8218
  protected _validatePrintOptions(options: unknown): void;
8257
8219
  private _validateReportOption;
8258
8220
  private _instanceofIPrintReport;
8221
+ protected _resetPreviewer(): void;
8259
8222
  private $_clickHandler;
8260
8223
  $_keydownHandler: (ev: KeyboardEvent) => boolean;
8261
8224
  }
8262
8225
 
8263
8226
  declare class PrintContext extends PrintContextBase<Report_2> {
8227
+ private _reportView;
8264
8228
  get reportView(): ReportView;
8265
8229
  set reportView(value: ReportView);
8266
8230
  getBaseView(view: InheritableSectionElement<any>, viewType: string): InheritableSectionElement<any>;
8231
+ preparePrint(report?: Report_2): void;
8267
8232
  }
8268
8233
 
8269
8234
  /**
8270
8235
  * Printing 관련 상태 정보 모델.
8271
8236
  */
8272
- declare class PrintContextBase<R extends ReportBase = ReportBase> extends Base {
8237
+ declare abstract class PrintContextBase<R extends ReportBase = ReportBase> extends Base {
8273
8238
  static readonly VALUES: string[];
8274
8239
  private _printing;
8275
8240
  private _compositePrinting;
8276
8241
  private _dp;
8277
8242
  private _desingDp;
8278
8243
  private _assets;
8279
- private _reportView;
8280
8244
  private _pageWidth;
8281
8245
  private _pageHeight;
8282
8246
  private _date;
@@ -8338,6 +8302,7 @@ declare class PrintContextBase<R extends ReportBase = ReportBase> extends Base {
8338
8302
  * compositePrinting 복합 출력 여부를 반환
8339
8303
  */
8340
8304
  get compositePrinting(): boolean;
8305
+ abstract reportView: ReportViewBase;
8341
8306
  /**
8342
8307
  * data provider
8343
8308
  */
@@ -8353,11 +8318,6 @@ declare class PrintContextBase<R extends ReportBase = ReportBase> extends Base {
8353
8318
  */
8354
8319
  get assets(): AssetManager;
8355
8320
  set assets(value: AssetManager);
8356
- /**
8357
- * reportView
8358
- */
8359
- get reportView(): ReportViewBase;
8360
- set reportView(value: ReportViewBase);
8361
8321
  /**
8362
8322
  * pageWidth
8363
8323
  */
@@ -8458,50 +8418,36 @@ declare class PrintContextBase<R extends ReportBase = ReportBase> extends Base {
8458
8418
  initialize(): void;
8459
8419
  }
8460
8420
 
8461
- /**
8462
- * 리얼리포트 출력후에도 내용 수정이 가능한 아이템들의 정보를 저장하고 관리한다.
8463
- */
8464
- declare class PrintEditableItemManager extends Base {
8465
- static readonly FOCUSED_ITEMS: string[];
8466
- private _editableItems;
8467
- constructor();
8468
- get canFocusedItems(): EditableItem[];
8469
- addEditableItem(itemView: ReportItemView, targetElement: HTMLElement, markerElement: HTMLElement): void;
8470
- updateEditableItem(markerElement: HTMLElement, newValue: string): void;
8471
- getEditableItems(): EditableItemMeta[];
8472
- nextItem(currentElement: HTMLElement): EditableItem | undefined;
8473
- prevItem(currentElement: HTMLElement): EditableItem | undefined;
8474
- /**
8475
- * 포커스 가능한 아이템중에서 현재 선택된 아이템 인덱스 정보
8476
- * @param element 현재 선택된 요소
8477
- * @returns 포커스 가능한 아이템 목록에서 현재 선택된 아이템 인덱스
8478
- */
8479
- private $_getFoucsedElementIndex;
8480
- private $_convertValue;
8481
- }
8482
-
8483
- declare type PrintEndCallback = (ctx: PrintContext, pages: PrintPage[]) => void;
8421
+ declare type PrintEndCallback = (ctx: PrintContextBase, pages: PrintPage[]) => void;
8484
8422
 
8485
8423
  declare type PrintLine = {
8486
8424
  line: HTMLElement | BandPrintInfo<BandModel> | ReportFooterPrintInfo | PageBreaker;
8487
8425
  pageIndex: number;
8488
8426
  };
8489
8427
 
8428
+ declare enum PrintMode {
8429
+ PORTRAIT = "portrait",
8430
+ LANDSCAPE = "landscape",
8431
+ MULTI = "multi"
8432
+ }
8433
+
8490
8434
  /**
8491
8435
  * print page model.
8492
8436
  */
8493
8437
  declare class PrintPage {
8494
8438
  page: HTMLDivElement;
8495
8439
  pageOrientation: PaperOrientation;
8496
- pageHeader: HTMLDivElement;
8497
- pageFooter: HTMLDivElement;
8440
+ pageHeader: PrintPageElement;
8441
+ pageFooter: PrintPageElement;
8498
8442
  background: HTMLDivElement;
8499
- contents: HTMLDivElement[];
8443
+ contents: PrintPageElement[];
8500
8444
  foreground: HTMLDivElement;
8501
8445
  reportIndex: number;
8502
8446
  }
8503
8447
 
8504
- declare type PrintPageCallback = (ctx: PrintContext, page: PrintPage, pageNo: number) => void;
8448
+ declare type PrintPageCallback = (ctx: PrintContextBase, page: PrintPage, pageNo: number) => void;
8449
+
8450
+ declare type PrintPageElement = HTMLDivElement | HTMLTableElement;
8505
8451
 
8506
8452
  declare enum PrintUnit {
8507
8453
  PIXEL = "px",
@@ -9732,7 +9678,6 @@ declare class Report_2 extends ReportBase<ReportPage> {
9732
9678
  * row + 1 행의 높이를 줄이거나 늘이면서 row 행의 높이를 변경한다.
9733
9679
  */
9734
9680
  adjustRowHeights(table: TableBase, row: number, rowPoints: number[], newSize: number): void;
9735
- isFirstPageLandscape(): boolean;
9736
9681
  protected _createReportLoader(): IReportLoader;
9737
9682
  protected _createPage(): ReportPage;
9738
9683
  protected _createSubBandPage(): SubBandPage;
@@ -9964,6 +9909,7 @@ declare abstract class ReportBase<T extends ReportPageBase = ReportPageBase> ext
9964
9909
  addItem(parent: ReportGroupItem, item: ReportItem, index?: number): boolean;
9965
9910
  checkPasteTo(target: ReportPageItem): void;
9966
9911
  isUsed(data: IReportData): boolean;
9912
+ isFirstPageLandscape(): boolean;
9967
9913
  abstract prepareLayout(page: number): void;
9968
9914
  protected abstract _createReportLoader(): IReportLoader;
9969
9915
  protected abstract _createPage(): T;
@@ -10122,6 +10068,7 @@ export declare class ReportDesigner {
10122
10068
  declare class ReportDesigner_2 extends VisualContainer {
10123
10069
  static readonly CLASS_NAME = "rrd-report-designer";
10124
10070
  static readonly PROPERTY_SECTION_START_WIDTH: number;
10071
+ static readonly PREVIEW_CONTAINER_ID = "rrd-report-designer-preview";
10125
10072
  static readonly DIALOG_CLOSED = "onDialogClosed";
10126
10073
  static readonly REPORT_COMMAND_STACK_CHANGED = "onReportCommandStackChanged";
10127
10074
  static readonly REPORT_SAVED = "onReportSaved";
@@ -10263,6 +10210,7 @@ declare class ReportDesigner_2 extends VisualContainer {
10263
10210
  */
10264
10211
  get propertyMode(): PropertyMode;
10265
10212
  set propertyMode(value: PropertyMode);
10213
+ get previewMode(): PreviewMode;
10266
10214
  /**
10267
10215
  * panelMode
10268
10216
  */
@@ -12456,7 +12404,6 @@ declare abstract class ReportViewBase<T extends ReportBase = ReportBase> extends
12456
12404
  static readonly PAGE_HEAD = "rr-page-head";
12457
12405
  protected _model: T;
12458
12406
  private _loadError;
12459
- private _editable;
12460
12407
  protected _pageLayer: PageViewContainer;
12461
12408
  protected _emptyView: VisualElement;
12462
12409
  private _images;
@@ -12464,13 +12411,11 @@ declare abstract class ReportViewBase<T extends ReportBase = ReportBase> extends
12464
12411
  [key: string]: ReportElement;
12465
12412
  };
12466
12413
  protected _modelDirty: boolean;
12467
- constructor(doc: Document, editable: boolean, printing: boolean);
12414
+ constructor(doc: Document, printing: boolean);
12468
12415
  addImage(url: string): void;
12469
12416
  imageLoaded(url: string): void;
12470
12417
  imagesAllLoaded(): boolean;
12471
12418
  abstract get pageView(): VisualElement;
12472
- /** editable */
12473
- get editable(): boolean;
12474
12419
  /** model */
12475
12420
  get model(): T;
12476
12421
  set model(value: T);
@@ -12490,7 +12435,7 @@ declare abstract class ReportViewBase<T extends ReportBase = ReportBase> extends
12490
12435
  protected abstract _resetPages(model: T): void;
12491
12436
  protected _modelReset(): void;
12492
12437
  protected _modelChanged(): void;
12493
- $_preparePrint(ctx: PrintContext): void;
12438
+ _preparePrint(ctx: PrintContext): void;
12494
12439
  protected onReportReset(report: ReportBase): void;
12495
12440
  protected onReportPaperChanged(report: ReportBase): void;
12496
12441
  protected onReportPageAdded(report: ReportBase, page: ReportPageBase): void;
@@ -13121,6 +13066,7 @@ declare class Sheet extends ReportGroupItem {
13121
13066
  getCellHeight(row: number, span: number): number;
13122
13067
  setConditionalFormatting(options: IConditionalFormattingOptions): void;
13123
13068
  getCD(): IConditionalFormattingOptions[];
13069
+ prepareRowHeightsAndColumnWidths(): void;
13124
13070
  getSaveType(): string;
13125
13071
  get outlineLabel(): string;
13126
13072
  get pathLabel(): string;
@@ -13280,17 +13226,6 @@ declare class SheetEditor extends ReportContainer<ExcelPrintContext> {
13280
13226
  protected _createDefaultTool(): VisualTool;
13281
13227
  protected _createContext(): ExcelPrintContext;
13282
13228
  protected _doLayout(bounds: Rectangle): void;
13283
- /**
13284
- * 모든 Formula를 처리하는 메서드
13285
- *
13286
- * 밴드안에 있는 텍스트 아이템 중 Formula를 사용하는 객체만 처리한다.
13287
- * Formula를 실행하고, 그 결과값을 텍스트 아이템의 값으로 사용한다.
13288
- *
13289
- * @param renderInfos 시트 리포트의 모든 셀
13290
- */
13291
- private $_resolveFormula;
13292
- private $_setFormulaDependency;
13293
- private $_calcOrder;
13294
13229
  private $_clickHandler;
13295
13230
  $_keydownHandler: (ev: KeyboardEvent) => boolean;
13296
13231
  }
@@ -13321,7 +13256,7 @@ declare class SheetEditTable extends ExcelTableElementBase {
13321
13256
  render(sheet: Sheet, cells: {
13322
13257
  infos: IExcelRenderInfo[];
13323
13258
  heights: number[];
13324
- }): void;
13259
+ }, pageWidth?: number): void;
13325
13260
  getConditionalRef(): string[];
13326
13261
  columnWidthsChanged(): void;
13327
13262
  rowHeightsChanged(): void;
@@ -13363,6 +13298,8 @@ declare class SheetEditTable extends ExcelTableElementBase {
13363
13298
  */
13364
13299
  declare class SheetEditView extends DesignerElement implements ISheetSelectionOwner {
13365
13300
  static getCellInfo(dom: HTMLElement): IExcelCell;
13301
+ static prepareImageContent(div: HTMLElement, cell: IExcelCell, rowHeight: number): void;
13302
+ static prepareBarContent(cellContainer: HTMLElement, cell: IExcelCell, rowHeight: number): void;
13366
13303
  private _sheetView;
13367
13304
  private _selectionLayer;
13368
13305
  private _selections;
@@ -13443,6 +13380,13 @@ declare abstract class SheetItemCollection<C extends SheetCollectionItem = Sheet
13443
13380
  protected _resetIndices(from: number): void;
13444
13381
  }
13445
13382
 
13383
+ /**
13384
+ * Print view for a sheet report.
13385
+ */
13386
+ declare class SheetPrintView extends LayerElement {
13387
+ print(doc: Document, ctx: ExcelPrintContext, previewOptions: IPreviewOptions): void;
13388
+ }
13389
+
13446
13390
  /**
13447
13391
  * sheet row info.
13448
13392
  */
@@ -13592,6 +13536,7 @@ declare type SignLine = Array<{
13592
13536
  declare class SimpleBand extends DataBand {
13593
13537
  static readonly PROP_SIMPLE_BAND_GROUPS = "groups";
13594
13538
  static readonly PROPINFOS: IPropInfo[];
13539
+ static readonly STYLE_PROPS: string[];
13595
13540
  static readonly $_ctor: string;
13596
13541
  static readonly ITEM_TYPE = "Simple Band";
13597
13542
  private _groups;
@@ -14104,6 +14049,7 @@ declare class TableBand extends TableLikeBand {
14104
14049
  static readonly PROP_GROUPS = "groups";
14105
14050
  static readonly PROP_END_ROW_MERGED = "endRowMerged";
14106
14051
  static readonly PROPINFOS: IPropInfo[];
14052
+ static readonly STYLE_PROPS: string[];
14107
14053
  static readonly DEFAULT_COL_COUNT = 5;
14108
14054
  static readonly $_ctor: string;
14109
14055
  static readonly ITEM_TYPE: string;
@@ -15435,6 +15381,9 @@ declare class TextItem extends TextItemBase {
15435
15381
  protected _doLoad(loader: IReportLoader, src: any): void;
15436
15382
  protected _doSave(target: object): void;
15437
15383
  protected _isI18nFieldExist(): boolean;
15384
+ canResize(dir: ResizeDirection): boolean;
15385
+ canSized(): boolean;
15386
+ canRotate(): boolean;
15438
15387
  }
15439
15388
 
15440
15389
  /**
@@ -15525,6 +15474,8 @@ declare abstract class TextItemBase extends ReportItem {
15525
15474
  getDataValue(dp: IReportDataProvider, row: number): any;
15526
15475
  }
15527
15476
 
15477
+ /* Excluded from this release type: TextItemElement */
15478
+
15528
15479
  /* Excluded from this release type: TextItemElementBase */
15529
15480
 
15530
15481
  declare type ToolButonVariant = 'default' | 'outline' | 'filled' | 'subtle';