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