realreport-designer 1.10.15 → 1.11.1

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: (TextPrintInfo | BandPrintInfo<BandModel> | TextBandPrintInfo)[];
417
418
  left: string;
418
419
  gap: number;
419
420
  isEnded(): boolean;
@@ -424,6 +425,8 @@ 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;
427
430
  }
428
431
 
429
432
  declare abstract class BandItemElement<T extends ReportBandItem = ReportBandItem> extends ReportGroupItemElement<T> {
@@ -494,6 +497,7 @@ declare abstract class BandPrintInfo<T extends ReportItem> {
494
497
  setBorderContainerStyle(borderContainer: HTMLDivElement, styles: {
495
498
  [x: string]: string;
496
499
  }): void;
500
+ setBoxSidesStyle(bandContainer: HTMLDivElement, styles: Styles): void;
497
501
  protected _setX(dom: HTMLElement, x: number): void;
498
502
  protected _setY(dom: HTMLElement, y: number): void;
499
503
  protected _setPos(dom: HTMLElement, x: number, y: number): void;
@@ -542,6 +546,8 @@ declare enum BandSectionLayout {
542
546
  DOWN_ACROSS = "downAcross"
543
547
  }
544
548
 
549
+ declare type BandSectionType = 'header' | 'dataRow' | 'footer' | 'groupHeader' | 'groupFooter';
550
+
545
551
  declare type BarAxisDirection = 'context' | 'leftToRight' | 'rightToLeft';
546
552
 
547
553
  declare type BarAxisPosition = 'auto' | 'middle' | 'none';
@@ -2562,23 +2568,6 @@ declare enum DropResultType {
2562
2568
  ITEM = "item"
2563
2569
  }
2564
2570
 
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
2571
  /**
2583
2572
  * Report Editable 속성 관련하여 수정가능한 영역 표시를 위해 작성
2584
2573
  */
@@ -3226,12 +3215,6 @@ declare abstract class ExcelColumnHeaderView extends ExcelTableElement {
3226
3215
  private $_prepareCells;
3227
3216
  }
3228
3217
 
3229
- /**
3230
- * 데이터밴드의 영역 중 아이템이 지정되지 않은 셀들에 표시되는 item.
3231
- * 모든 셀을 포함하는 하나의 아이템으로 지정된다.
3232
- * 밴드 단위로 표시된다.
3233
- * 다른 아이템을 추가하거나, 셀을 선택할 수 없다.
3234
- */
3235
3218
  declare class ExcelDataBand extends TableLikeBand {
3236
3219
  static readonly PROP_DESIGN_VISIBLE = "designVisible";
3237
3220
  static readonly PROP_COL_COUNT = "colCount";
@@ -3385,6 +3368,7 @@ declare class ExcelDataBand extends TableLikeBand {
3385
3368
  protected _doItemRemoved(item: ReportItem, index: number): void;
3386
3369
  protected _doItemsRemoved(items: ReportItem[]): void;
3387
3370
  protected _doItemsCleared(): void;
3371
+ protected _doAfterLoad(loader: IReportLoader, src: any): void;
3388
3372
  protected _doPrepareLayout(printing: boolean): void;
3389
3373
  prepareLayout(printing: boolean): void;
3390
3374
  private $_buildDefaultCtx;
@@ -3429,12 +3413,14 @@ declare class ExcelDataBandCollection extends DataBandCollection implements IExc
3429
3413
 
3430
3414
  declare class ExcelDataBandDataRow extends ExcelDataBandSection {
3431
3415
  static readonly $_ctor: string;
3416
+ static readonly SECTION_TYPE: BandSectionType;
3432
3417
  _runRowCount: number;
3433
3418
  get outlineLabel(): string;
3434
3419
  get pathLabel(): string;
3435
3420
  getHiddenText(): string;
3436
3421
  writeAll(ctx: ExcelPrintContext, drows?: number[]): IExcelCell[];
3437
3422
  writeRow(ctx: ExcelPrintContext, drow: number, col: number): IExcelCell[];
3423
+ protected _getSectionType(): BandSectionType;
3438
3424
  private $_writeRow;
3439
3425
  }
3440
3426
 
@@ -3475,25 +3461,29 @@ declare class ExcelDataBandElement extends ExcelReportGroupItemElementBase<Excel
3475
3461
 
3476
3462
  declare class ExcelDataBandFooter extends ExcelDataBandSection {
3477
3463
  static readonly $_ctor: string;
3478
- protected _getInitCellStyles(): {
3479
- backgroundColor: string;
3480
- };
3464
+ static readonly SECTION_TYPE: BandSectionType;
3481
3465
  get outlineLabel(): string;
3482
3466
  get pathLabel(): string;
3483
3467
  getHiddenText(): string;
3468
+ protected _getInitCellStyles(): {
3469
+ backgroundColor: string;
3470
+ };
3471
+ protected _getSectionType(): BandSectionType;
3484
3472
  }
3485
3473
 
3486
3474
  declare class ExcelDataBandHeader extends ExcelDataBandSection {
3487
3475
  static readonly $_ctor: string;
3476
+ static readonly SECTION_TYPE: BandSectionType;
3488
3477
  get outlineLabel(): string;
3489
3478
  get pathLabel(): string;
3479
+ getHiddenText(): string;
3490
3480
  protected _getInitCellStyles(): {
3491
3481
  textAlign: string;
3492
3482
  fontWeight: string;
3493
3483
  backgroundColor: string;
3494
3484
  border: string;
3495
3485
  };
3496
- getHiddenText(): string;
3486
+ protected _getSectionType(): BandSectionType;
3497
3487
  }
3498
3488
 
3499
3489
  declare class ExcelDataBandRowGroup extends DataBandRowGroup {
@@ -3602,7 +3592,7 @@ declare class ExcelDataBandRowGroupContainer extends ExcelDataBandSection {
3602
3592
 
3603
3593
  declare class ExcelDataBandRowGroupFooter extends ExcelDataBandRowGroupSection {
3604
3594
  static readonly PROPINFOS: IPropInfo[];
3605
- _row: number;
3595
+ static readonly SECTION_TYPE: BandSectionType;
3606
3596
  static readonly $_ctor: string;
3607
3597
  get outlineLabel(): string;
3608
3598
  get outlineParent(): IOutlineSource;
@@ -3614,11 +3604,12 @@ declare class ExcelDataBandRowGroupFooter extends ExcelDataBandRowGroupSection {
3614
3604
  protected _doLoad(loader: IReportLoader, src: any): void;
3615
3605
  protected _doSave(target: object): void;
3616
3606
  prepareLayout(printing: boolean): void;
3607
+ protected _getSectionType(): BandSectionType;
3617
3608
  }
3618
3609
 
3619
3610
  declare class ExcelDataBandRowGroupHeader extends ExcelDataBandRowGroupSection {
3620
3611
  static readonly PROPINFOS: IPropInfo[];
3621
- _row: number;
3612
+ static readonly SECTION_TYPE: BandSectionType;
3622
3613
  static readonly $_ctor: string;
3623
3614
  get outlineLabel(): string;
3624
3615
  get row(): number;
@@ -3630,14 +3621,15 @@ declare class ExcelDataBandRowGroupHeader extends ExcelDataBandRowGroupSection {
3630
3621
  protected _doLoad(loader: IReportLoader, src: any): void;
3631
3622
  protected _doSave(target: object): void;
3632
3623
  prepareLayout(printing: boolean): void;
3624
+ protected _getSectionType(): BandSectionType;
3633
3625
  }
3634
3626
 
3635
3627
  declare abstract class ExcelDataBandRowGroupSection extends ExcelDataBandSection {
3636
3628
  group: ExcelDataBandRowGroup;
3637
3629
  constructor(group: ExcelDataBandRowGroup);
3638
- get page(): ReportPageBase;
3639
3630
  getCol(): number;
3640
3631
  getRow(): number;
3632
+ write(ctx: ExcelPrintContext, group: IBandRowGroup): IExcelCell[];
3641
3633
  }
3642
3634
 
3643
3635
  declare abstract class ExcelDataBandSection extends ExcelGroupItem {
@@ -3646,18 +3638,23 @@ declare abstract class ExcelDataBandSection extends ExcelGroupItem {
3646
3638
  static readonly PROP_FIXED = "fixed";
3647
3639
  static readonly PROPINFOS: IPropInfo[];
3648
3640
  private static readonly STYLE_PROPS;
3641
+ protected _row: number;
3649
3642
  private _rowCount;
3650
3643
  private _minRowHeight;
3651
3644
  private _fixed;
3652
- _row: number;
3653
3645
  private _band;
3654
3646
  private _minRowHeightDim;
3655
3647
  _runRow: number;
3648
+ _pr: {
3649
+ r: number;
3650
+ c: number;
3651
+ };
3656
3652
  constructor(band: ExcelDataBand);
3657
3653
  get outlineItems(): IOutlineSource[];
3658
3654
  get row(): number;
3659
3655
  /** band */
3660
3656
  get band(): ExcelDataBand;
3657
+ get page(): ExcelPage;
3661
3658
  /**
3662
3659
  * 행 수.<br/>
3663
3660
  */
@@ -3686,6 +3683,7 @@ declare abstract class ExcelDataBandSection extends ExcelGroupItem {
3686
3683
  getRowPulledItems(row: number): ExcelItems[];
3687
3684
  protected _doLoad(loader: IReportLoader, src: any): void;
3688
3685
  protected _doSave(target: object): void;
3686
+ protected _getSectionType(): BandSectionType;
3689
3687
  }
3690
3688
 
3691
3689
  /**
@@ -3944,7 +3942,7 @@ declare abstract class ExcelItem extends ReportItem {
3944
3942
  };
3945
3943
  static isIntersecting(item: ExcelItems, r1: number, c1: number, r2: number, c2: number, p?: ExcelGroupItem): boolean;
3946
3944
  static isContained(item: ExcelItems, r1: number, c1: number, r2: number, c2: number, p?: ExcelGroupItem): boolean;
3947
- static createRenderInfo(info: any): IExcelRenderInfo;
3945
+ static createRenderInfo(ctx: ExcelPrintContext, item: ExcelItems | ExcelItem, info: any): IExcelRenderInfo;
3948
3946
  private _row;
3949
3947
  private _col;
3950
3948
  _saveRow: number;
@@ -4202,7 +4200,31 @@ declare class ExcelPageView extends PageViewBase {
4202
4200
  * @private
4203
4201
  */
4204
4202
  declare class ExcelPrintContext extends PrintContextBase<ExcelReport> {
4203
+ private _lastStartPrintedRow;
4204
+ private _saveSameStartPrintedRowCount;
4205
+ private _cells;
4206
+ private _heights;
4207
+ reportView: ExcelReportView;
4205
4208
  sheetView: ExcelSheetView;
4209
+ printView: SheetPrintView;
4210
+ printRows: number;
4211
+ printRow: number;
4212
+ /**
4213
+ * 가장 최근에 출력된 시작 행 정보
4214
+ * 이 정보를 통해 같은 행이 100번 이상 출력되는 경우를 방지한다.
4215
+ */
4216
+ get lastStartPrintedRow(): number;
4217
+ set lastStartPrintedRow(row: number);
4218
+ /**
4219
+ * 같은 행이 100번 이상 출력되는 경우를 방지하기 위해
4220
+ * 같은 행이 몇번 출력되었는지 카운트한다.
4221
+ */
4222
+ get saveSameStartPrintedRowCount(): number;
4223
+ set saveSameStartPrintedRowCount(count: number);
4224
+ get cells(): IExcelRenderInfo[][];
4225
+ set cells(cells: IExcelRenderInfo[][]);
4226
+ get heights(): number[][];
4227
+ set heights(heights: number[][]);
4206
4228
  getItemCell(item: ExcelItems | ExcelGroupItems): HTMLTableCellElement;
4207
4229
  getCell(row: number, col: number): HTMLTableCellElement;
4208
4230
  getItemRect(item: ExcelItems | ExcelGroupItem): IRect;
@@ -4210,6 +4232,7 @@ declare class ExcelPrintContext extends PrintContextBase<ExcelReport> {
4210
4232
  setCellHeight(cell: HTMLTableCellElement): void;
4211
4233
  setCellFixedHeight(cell: HTMLTableCellElement): void;
4212
4234
  setConditionalFormatting(options: IConditionalFormattingOptions): void;
4235
+ preparePrint(report?: ExcelReport): void;
4213
4236
  }
4214
4237
 
4215
4238
  declare class ExcelReport extends ReportBase<ExcelPage> {
@@ -4503,7 +4526,7 @@ declare abstract class ExcelReportView extends ReportViewBase<ExcelReport> {
4503
4526
  private static ViewCreators;
4504
4527
  private _pageViews;
4505
4528
  private _isPageViewSized;
4506
- constructor(doc: Document, editable?: boolean, printing?: boolean);
4529
+ constructor(doc: Document, printing: boolean);
4507
4530
  get pageViews(): ExcelPageView[];
4508
4531
  get isPageViewSized(): boolean;
4509
4532
  getPageView(index: number): ExcelPageView;
@@ -4779,8 +4802,9 @@ declare abstract class ExcelTableElementBase extends ReportElement {
4779
4802
  needEnd: number;
4780
4803
  private _colgroup;
4781
4804
  private _thead;
4782
- private _tbody;
4805
+ protected _tbody: HTMLTableSectionElement;
4783
4806
  constructor(doc: Document, needEnd?: number);
4807
+ createRow(doc: Document, height: number): HTMLTableRowElement;
4784
4808
  protected _createDom(doc: Document): HTMLElement;
4785
4809
  protected _initDom(doc: Document, dom: HTMLElement): void;
4786
4810
  get trows(): HTMLCollectionOf<HTMLTableRowElement>;
@@ -6173,7 +6197,7 @@ declare interface IDesignerContext {
6173
6197
  emailEditor?: EmailEditor;
6174
6198
  excelEditor?: ExcelReportEditor;
6175
6199
  previewScrollContainer: PreviewScrollContainer;
6176
- previewer?: PrintContainer;
6200
+ previewer?: PrintContainerBase;
6177
6201
  designer: ReportDesigner_2;
6178
6202
  previewed?: boolean;
6179
6203
  hasParams?: boolean;
@@ -6285,6 +6309,7 @@ declare interface IEventAware {
6285
6309
  }
6286
6310
 
6287
6311
  declare interface IExcelBandContext {
6312
+ model: ExcelDataBand;
6288
6313
  name: string;
6289
6314
  dataName: string;
6290
6315
  masterValues: any;
@@ -6299,7 +6324,7 @@ declare interface IExcelBandContext {
6299
6324
  designTimeRowCount: number;
6300
6325
  designTimeColCount: number;
6301
6326
  runRows: number;
6302
- bandGroups?: IExcelBandGroupContext[];
6327
+ bandGroups: IExcelBandGroupContext[];
6303
6328
  }
6304
6329
 
6305
6330
  declare type IExcelBandExcelMatrix = IExcelCell[];
@@ -6314,6 +6339,10 @@ declare interface IExcelBandGroupContext {
6314
6339
  children: IExcelBandGroupContext[];
6315
6340
  }
6316
6341
 
6342
+ declare interface IExcelBoxContext {
6343
+ model: string;
6344
+ }
6345
+
6317
6346
  declare interface IExcelCell {
6318
6347
  info?: IExcelRenderInfo;
6319
6348
  r: number;
@@ -6338,9 +6367,12 @@ declare interface IExcelCell {
6338
6367
  style?: Styles;
6339
6368
  rotation?: number | 'vertical';
6340
6369
  dr?: number;
6370
+ dataRowIndex?: number;
6341
6371
  bar?: IExcelDataBar;
6372
+ groupSection?: ExcelDataBandRowGroupSection;
6342
6373
  cbandGroup?: IExcelBandGroupContext;
6343
6374
  cband?: IExcelBandContext;
6375
+ bandSectionType?: BandSectionType;
6344
6376
  }
6345
6377
 
6346
6378
  declare interface IExcelDataBar {
@@ -6398,6 +6430,7 @@ declare interface IExcellImage {
6398
6430
  }
6399
6431
 
6400
6432
  declare interface IExcelRenderInfo {
6433
+ model: ExcelItems;
6401
6434
  row: number;
6402
6435
  col: number;
6403
6436
  rowCount?: number;
@@ -6407,11 +6440,12 @@ declare interface IExcelRenderInfo {
6407
6440
  runRows: number;
6408
6441
  colCount?: number;
6409
6442
  band?: IExcelBandContext;
6410
- box?: boolean;
6443
+ box?: IExcelBoxContext;
6411
6444
  sign?: any;
6412
6445
  stamp?: any;
6446
+ pr?: number;
6413
6447
  /**
6414
- * 아이템이 출력해야정확한 위치
6448
+ * 현재 아이템이 출력되어야 할 행 인덱스
6415
6449
  */
6416
6450
  r?: number;
6417
6451
  cells: IExcelCell | IExcelCell[];
@@ -6585,7 +6619,7 @@ declare interface IPreviewOptions {
6585
6619
  }
6586
6620
 
6587
6621
  declare interface IPrintOptions {
6588
- report: Report_2 | (Report_2 | IPrintReport)[];
6622
+ report: ReportBase | (ReportBase | IPrintReport)[];
6589
6623
  data: IReportDataProvider;
6590
6624
  preview?: boolean;
6591
6625
  id?: string;
@@ -6593,7 +6627,7 @@ declare interface IPrintOptions {
6593
6627
  }
6594
6628
 
6595
6629
  declare interface IPrintReport {
6596
- report: Report_2;
6630
+ report: ReportBase;
6597
6631
  data: IReportDataProvider;
6598
6632
  }
6599
6633
 
@@ -7052,6 +7086,10 @@ declare interface ISinglePageOptions {
7052
7086
  border: boolean;
7053
7087
  }
7054
7088
 
7089
+ declare interface ISinglePageOptions {
7090
+ border: boolean;
7091
+ }
7092
+
7055
7093
  declare interface ISize {
7056
7094
  width: number;
7057
7095
  height: number;
@@ -7970,11 +8008,11 @@ declare class PaperOptions extends Base {
7970
8008
  getContentRect(r: Rectangle): Rectangle;
7971
8009
  getClientRect(page: ReportPage): Rectangle;
7972
8010
  applyExtents(page: ReportPage, css: CSSStyleDeclaration): void;
7973
- applyPreviewExtents(page: ReportPage, css: CSSStyleDeclaration, paperOrientation: PaperOrientation): {
8011
+ applyPreviewExtents(page: ReportPageBase, css: CSSStyleDeclaration, paperOrientation: PaperOrientation): {
7974
8012
  pageWidth: number;
7975
8013
  pageHeight: number;
7976
8014
  };
7977
- applyClient(page: ReportPage, css: CSSStyleDeclaration): void;
8015
+ applyClient(page: ReportPageBase, css: CSSStyleDeclaration): void;
7978
8016
  applyPreviewClient(page: ReportPage, css: CSSStyleDeclaration): {
7979
8017
  width: string;
7980
8018
  height: string;
@@ -8100,126 +8138,6 @@ declare class PreviewScrollContainer extends DesignerLayerElement {
8100
8138
  protected _fireScrollEnd(): void;
8101
8139
  }
8102
8140
 
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
8141
  declare abstract class PrintContainerBase extends VisualContainer {
8224
8142
  static readonly CLASS_NAME = "rr-report-container";
8225
8143
  static readonly PREVIEW_CLASS = "rr-report-preview";
@@ -8231,20 +8149,57 @@ declare abstract class PrintContainerBase extends VisualContainer {
8231
8149
  traceMode: boolean;
8232
8150
  private _align;
8233
8151
  onGetStampImage: () => Promise<string>;
8152
+ protected _pageGap: number;
8153
+ private _zoom;
8154
+ private _styles;
8155
+ onZoomed: (scale: number) => void;
8234
8156
  private _signLayer;
8235
8157
  private _errorView;
8236
8158
  protected _options: IPrintOptions;
8237
8159
  private _signPanel;
8238
8160
  private _signed;
8239
8161
  private _stampPanel;
8162
+ protected _preview: boolean;
8163
+ protected _previewId: string;
8164
+ protected _printMode: PrintMode;
8240
8165
  constructor(containerId: string | HTMLDivElement);
8241
8166
  abstract get reportView(): ReportViewBase;
8167
+ abstract get reportViews(): ReportViewBase[];
8168
+ /** align */
8242
8169
  get align(): Align;
8243
8170
  set align(value: Align);
8171
+ /** zoom */
8172
+ get zoom(): number;
8173
+ set zoom(value: number);
8174
+ abstract page: number;
8175
+ abstract get pageCount(): number;
8176
+ abstract get isPrinted(): boolean;
8177
+ abstract getCurrentPage(scrollHeight: number, scrollTop: number): number;
8178
+ abstract fitToWidth(): void;
8179
+ abstract fitToHeight(): void;
8180
+ abstract fitToPage(): void;
8181
+ abstract loadAsyncLoadableElements(): Promise<void>;
8244
8182
  print(options: IPrintOptions): void;
8183
+ /**
8184
+ * Multi 리포트이면서 가로로 시작하는 양식은 따로 설정이 필요함
8185
+ * @returns 멀티 페이지이면서 첫번째 페이지가 가로양식으로 시작할 경우
8186
+ */
8187
+ needPrintScale(): boolean;
8188
+ setStyles(styles: any): void;
8189
+ getScaleSize(width: number, height: number): number;
8190
+ startPrint(doc: Document, ctx: PrintContextBase, id: string, pageMark: boolean): HTMLElement;
8191
+ getPrintHtml(): string;
8192
+ /**
8193
+ * containerDiv의 크기에 맞춰 previewer의 위치를 재조정한다.
8194
+ */
8195
+ resetPreviewer(): void;
8245
8196
  get printing(): boolean;
8246
8197
  protected _doPrepareContainer(doc: Document, dom: HTMLElement): void;
8247
8198
  protected _render(timestamp: number): void;
8199
+ protected _getContainer(): HTMLElement;
8200
+ protected _getPreviewer(id?: string): HTMLElement;
8201
+ protected _setLanguageContext(ctx: PrintContextBase, report: ReportBase, language?: string): void;
8202
+ protected _setPrintMode(reports: ReportBase | (ReportBase | IPrintReport)[]): void;
8248
8203
  protected _initialize(div: HTMLDivElement): void;
8249
8204
  protected _showError(dom: HTMLElement, error: any): void;
8250
8205
  protected _hideError(): void;
@@ -8256,27 +8211,29 @@ declare abstract class PrintContainerBase extends VisualContainer {
8256
8211
  protected _validatePrintOptions(options: unknown): void;
8257
8212
  private _validateReportOption;
8258
8213
  private _instanceofIPrintReport;
8214
+ protected _resetPreviewer(): void;
8259
8215
  private $_clickHandler;
8260
8216
  $_keydownHandler: (ev: KeyboardEvent) => boolean;
8261
8217
  }
8262
8218
 
8263
8219
  declare class PrintContext extends PrintContextBase<Report_2> {
8220
+ private _reportView;
8264
8221
  get reportView(): ReportView;
8265
8222
  set reportView(value: ReportView);
8266
8223
  getBaseView(view: InheritableSectionElement<any>, viewType: string): InheritableSectionElement<any>;
8224
+ preparePrint(report?: Report_2): void;
8267
8225
  }
8268
8226
 
8269
8227
  /**
8270
8228
  * Printing 관련 상태 정보 모델.
8271
8229
  */
8272
- declare class PrintContextBase<R extends ReportBase = ReportBase> extends Base {
8230
+ declare abstract class PrintContextBase<R extends ReportBase = ReportBase> extends Base {
8273
8231
  static readonly VALUES: string[];
8274
8232
  private _printing;
8275
8233
  private _compositePrinting;
8276
8234
  private _dp;
8277
8235
  private _desingDp;
8278
8236
  private _assets;
8279
- private _reportView;
8280
8237
  private _pageWidth;
8281
8238
  private _pageHeight;
8282
8239
  private _date;
@@ -8338,6 +8295,7 @@ declare class PrintContextBase<R extends ReportBase = ReportBase> extends Base {
8338
8295
  * compositePrinting 복합 출력 여부를 반환
8339
8296
  */
8340
8297
  get compositePrinting(): boolean;
8298
+ abstract reportView: ReportViewBase;
8341
8299
  /**
8342
8300
  * data provider
8343
8301
  */
@@ -8353,11 +8311,6 @@ declare class PrintContextBase<R extends ReportBase = ReportBase> extends Base {
8353
8311
  */
8354
8312
  get assets(): AssetManager;
8355
8313
  set assets(value: AssetManager);
8356
- /**
8357
- * reportView
8358
- */
8359
- get reportView(): ReportViewBase;
8360
- set reportView(value: ReportViewBase);
8361
8314
  /**
8362
8315
  * pageWidth
8363
8316
  */
@@ -8458,50 +8411,36 @@ declare class PrintContextBase<R extends ReportBase = ReportBase> extends Base {
8458
8411
  initialize(): void;
8459
8412
  }
8460
8413
 
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;
8414
+ declare type PrintEndCallback = (ctx: PrintContextBase, pages: PrintPage[]) => void;
8484
8415
 
8485
8416
  declare type PrintLine = {
8486
8417
  line: HTMLElement | BandPrintInfo<BandModel> | ReportFooterPrintInfo | PageBreaker;
8487
8418
  pageIndex: number;
8488
8419
  };
8489
8420
 
8421
+ declare enum PrintMode {
8422
+ PORTRAIT = "portrait",
8423
+ LANDSCAPE = "landscape",
8424
+ MULTI = "multi"
8425
+ }
8426
+
8490
8427
  /**
8491
8428
  * print page model.
8492
8429
  */
8493
8430
  declare class PrintPage {
8494
8431
  page: HTMLDivElement;
8495
8432
  pageOrientation: PaperOrientation;
8496
- pageHeader: HTMLDivElement;
8497
- pageFooter: HTMLDivElement;
8433
+ pageHeader: PrintPageElement;
8434
+ pageFooter: PrintPageElement;
8498
8435
  background: HTMLDivElement;
8499
- contents: HTMLDivElement[];
8436
+ contents: PrintPageElement[];
8500
8437
  foreground: HTMLDivElement;
8501
8438
  reportIndex: number;
8502
8439
  }
8503
8440
 
8504
- declare type PrintPageCallback = (ctx: PrintContext, page: PrintPage, pageNo: number) => void;
8441
+ declare type PrintPageCallback = (ctx: PrintContextBase, page: PrintPage, pageNo: number) => void;
8442
+
8443
+ declare type PrintPageElement = HTMLDivElement | HTMLTableElement;
8505
8444
 
8506
8445
  declare enum PrintUnit {
8507
8446
  PIXEL = "px",
@@ -9732,7 +9671,6 @@ declare class Report_2 extends ReportBase<ReportPage> {
9732
9671
  * row + 1 행의 높이를 줄이거나 늘이면서 row 행의 높이를 변경한다.
9733
9672
  */
9734
9673
  adjustRowHeights(table: TableBase, row: number, rowPoints: number[], newSize: number): void;
9735
- isFirstPageLandscape(): boolean;
9736
9674
  protected _createReportLoader(): IReportLoader;
9737
9675
  protected _createPage(): ReportPage;
9738
9676
  protected _createSubBandPage(): SubBandPage;
@@ -9964,6 +9902,7 @@ declare abstract class ReportBase<T extends ReportPageBase = ReportPageBase> ext
9964
9902
  addItem(parent: ReportGroupItem, item: ReportItem, index?: number): boolean;
9965
9903
  checkPasteTo(target: ReportPageItem): void;
9966
9904
  isUsed(data: IReportData): boolean;
9905
+ isFirstPageLandscape(): boolean;
9967
9906
  abstract prepareLayout(page: number): void;
9968
9907
  protected abstract _createReportLoader(): IReportLoader;
9969
9908
  protected abstract _createPage(): T;
@@ -10122,6 +10061,7 @@ export declare class ReportDesigner {
10122
10061
  declare class ReportDesigner_2 extends VisualContainer {
10123
10062
  static readonly CLASS_NAME = "rrd-report-designer";
10124
10063
  static readonly PROPERTY_SECTION_START_WIDTH: number;
10064
+ static readonly PREVIEW_CONTAINER_ID = "rrd-report-designer-preview";
10125
10065
  static readonly DIALOG_CLOSED = "onDialogClosed";
10126
10066
  static readonly REPORT_COMMAND_STACK_CHANGED = "onReportCommandStackChanged";
10127
10067
  static readonly REPORT_SAVED = "onReportSaved";
@@ -10263,6 +10203,7 @@ declare class ReportDesigner_2 extends VisualContainer {
10263
10203
  */
10264
10204
  get propertyMode(): PropertyMode;
10265
10205
  set propertyMode(value: PropertyMode);
10206
+ get previewMode(): PreviewMode;
10266
10207
  /**
10267
10208
  * panelMode
10268
10209
  */
@@ -12456,7 +12397,6 @@ declare abstract class ReportViewBase<T extends ReportBase = ReportBase> extends
12456
12397
  static readonly PAGE_HEAD = "rr-page-head";
12457
12398
  protected _model: T;
12458
12399
  private _loadError;
12459
- private _editable;
12460
12400
  protected _pageLayer: PageViewContainer;
12461
12401
  protected _emptyView: VisualElement;
12462
12402
  private _images;
@@ -12464,13 +12404,11 @@ declare abstract class ReportViewBase<T extends ReportBase = ReportBase> extends
12464
12404
  [key: string]: ReportElement;
12465
12405
  };
12466
12406
  protected _modelDirty: boolean;
12467
- constructor(doc: Document, editable: boolean, printing: boolean);
12407
+ constructor(doc: Document, printing: boolean);
12468
12408
  addImage(url: string): void;
12469
12409
  imageLoaded(url: string): void;
12470
12410
  imagesAllLoaded(): boolean;
12471
12411
  abstract get pageView(): VisualElement;
12472
- /** editable */
12473
- get editable(): boolean;
12474
12412
  /** model */
12475
12413
  get model(): T;
12476
12414
  set model(value: T);
@@ -12490,7 +12428,7 @@ declare abstract class ReportViewBase<T extends ReportBase = ReportBase> extends
12490
12428
  protected abstract _resetPages(model: T): void;
12491
12429
  protected _modelReset(): void;
12492
12430
  protected _modelChanged(): void;
12493
- $_preparePrint(ctx: PrintContext): void;
12431
+ _preparePrint(ctx: PrintContext): void;
12494
12432
  protected onReportReset(report: ReportBase): void;
12495
12433
  protected onReportPaperChanged(report: ReportBase): void;
12496
12434
  protected onReportPageAdded(report: ReportBase, page: ReportPageBase): void;
@@ -13121,6 +13059,7 @@ declare class Sheet extends ReportGroupItem {
13121
13059
  getCellHeight(row: number, span: number): number;
13122
13060
  setConditionalFormatting(options: IConditionalFormattingOptions): void;
13123
13061
  getCD(): IConditionalFormattingOptions[];
13062
+ prepareRowHeightsAndColumnWidths(): void;
13124
13063
  getSaveType(): string;
13125
13064
  get outlineLabel(): string;
13126
13065
  get pathLabel(): string;
@@ -13280,17 +13219,6 @@ declare class SheetEditor extends ReportContainer<ExcelPrintContext> {
13280
13219
  protected _createDefaultTool(): VisualTool;
13281
13220
  protected _createContext(): ExcelPrintContext;
13282
13221
  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
13222
  private $_clickHandler;
13295
13223
  $_keydownHandler: (ev: KeyboardEvent) => boolean;
13296
13224
  }
@@ -13321,7 +13249,7 @@ declare class SheetEditTable extends ExcelTableElementBase {
13321
13249
  render(sheet: Sheet, cells: {
13322
13250
  infos: IExcelRenderInfo[];
13323
13251
  heights: number[];
13324
- }): void;
13252
+ }, pageWidth?: number): void;
13325
13253
  getConditionalRef(): string[];
13326
13254
  columnWidthsChanged(): void;
13327
13255
  rowHeightsChanged(): void;
@@ -13363,6 +13291,8 @@ declare class SheetEditTable extends ExcelTableElementBase {
13363
13291
  */
13364
13292
  declare class SheetEditView extends DesignerElement implements ISheetSelectionOwner {
13365
13293
  static getCellInfo(dom: HTMLElement): IExcelCell;
13294
+ static prepareImageContent(div: HTMLElement, cell: IExcelCell, rowHeight: number): void;
13295
+ static prepareBarContent(cellContainer: HTMLElement, cell: IExcelCell, rowHeight: number): void;
13366
13296
  private _sheetView;
13367
13297
  private _selectionLayer;
13368
13298
  private _selections;
@@ -13443,6 +13373,13 @@ declare abstract class SheetItemCollection<C extends SheetCollectionItem = Sheet
13443
13373
  protected _resetIndices(from: number): void;
13444
13374
  }
13445
13375
 
13376
+ /**
13377
+ * Print view for a sheet report.
13378
+ */
13379
+ declare class SheetPrintView extends LayerElement {
13380
+ print(doc: Document, ctx: ExcelPrintContext, previewOptions: IPreviewOptions): void;
13381
+ }
13382
+
13446
13383
  /**
13447
13384
  * sheet row info.
13448
13385
  */
@@ -13592,6 +13529,7 @@ declare type SignLine = Array<{
13592
13529
  declare class SimpleBand extends DataBand {
13593
13530
  static readonly PROP_SIMPLE_BAND_GROUPS = "groups";
13594
13531
  static readonly PROPINFOS: IPropInfo[];
13532
+ static readonly STYLE_PROPS: string[];
13595
13533
  static readonly $_ctor: string;
13596
13534
  static readonly ITEM_TYPE = "Simple Band";
13597
13535
  private _groups;
@@ -14104,6 +14042,7 @@ declare class TableBand extends TableLikeBand {
14104
14042
  static readonly PROP_GROUPS = "groups";
14105
14043
  static readonly PROP_END_ROW_MERGED = "endRowMerged";
14106
14044
  static readonly PROPINFOS: IPropInfo[];
14045
+ static readonly STYLE_PROPS: string[];
14107
14046
  static readonly DEFAULT_COL_COUNT = 5;
14108
14047
  static readonly $_ctor: string;
14109
14048
  static readonly ITEM_TYPE: string;
@@ -14511,6 +14450,8 @@ declare class TableBandRowGroupCollection extends ReportItemCollection<TableBand
14511
14450
  remove(group: TableBandRowGroup): boolean;
14512
14451
  clear(): boolean;
14513
14452
  getValidGroups(data: IBandData): TableBandRowGroup[];
14453
+ removeCols(index: number, count: number): void;
14454
+ resetCells(): void;
14514
14455
  get page(): ReportPageBase;
14515
14456
  get displayPath(): string;
14516
14457
  get level(): number;
@@ -14695,6 +14636,8 @@ declare abstract class TableBase extends CellContainer {
14695
14636
  * 가장 상단의 item만 보존된다.
14696
14637
  */
14697
14638
  mergeCells(r1: number, c1: number, r2: number, c2: number): void;
14639
+ removeCols(index: number, count: number): void;
14640
+ resetCells(): void;
14698
14641
  protected _getEditProps(): IPropInfo[];
14699
14642
  protected _getStyleProps(): string[];
14700
14643
  protected _doDefaultInit(loader: IReportLoader, parent: ReportGroupItem, hintWidth: number, hintHeight: number): void;
@@ -14712,8 +14655,6 @@ declare abstract class TableBase extends CellContainer {
14712
14655
  isAncestorOf(item: ReportPageItem): boolean;
14713
14656
  protected _createRows(): TableRowCollection;
14714
14657
  protected _spanChanged(cell: TableCell): void;
14715
- protected _resetCells(): void;
14716
- protected _removeCols(index: number, count: number): void;
14717
14658
  protected _addCols(col: number, count: number): void;
14718
14659
  protected _moveCols(col: number, count: number, newCol: number): void;
14719
14660
  protected _removeRows(index: number, count: number): void;
@@ -15435,6 +15376,9 @@ declare class TextItem extends TextItemBase {
15435
15376
  protected _doLoad(loader: IReportLoader, src: any): void;
15436
15377
  protected _doSave(target: object): void;
15437
15378
  protected _isI18nFieldExist(): boolean;
15379
+ canResize(dir: ResizeDirection): boolean;
15380
+ canSized(): boolean;
15381
+ canRotate(): boolean;
15438
15382
  }
15439
15383
 
15440
15384
  /**
@@ -15525,8 +15469,17 @@ declare abstract class TextItemBase extends ReportItem {
15525
15469
  getDataValue(dp: IReportDataProvider, row: number): any;
15526
15470
  }
15527
15471
 
15472
+ /* Excluded from this release type: TextItemElement */
15473
+
15528
15474
  /* Excluded from this release type: TextItemElementBase */
15529
15475
 
15476
+ declare class TextPrintInfo {
15477
+ bandCellWidth: number;
15478
+ bandCellHeight: number;
15479
+ element: TextItemElement;
15480
+ constructor(bandCellWidth: number, bandCellHeight: number, element: TextItemElement);
15481
+ }
15482
+
15530
15483
  declare type ToolButonVariant = 'default' | 'outline' | 'filled' | 'subtle';
15531
15484
 
15532
15485
  declare interface ToolButtonOptions {