@windoc/core 0.3.20 → 0.3.22

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.
package/dist/index.d.mts CHANGED
@@ -259,6 +259,19 @@ interface IPlaceholder {
259
259
  font?: string;
260
260
  }
261
261
 
262
+ interface ISplitCellSelection {
263
+ pagingId: string;
264
+ rootTrId: string;
265
+ colIndex: number;
266
+ }
267
+ interface ITableCellSelection {
268
+ tableId?: string;
269
+ trId?: string;
270
+ tdId?: string;
271
+ pagingId?: string;
272
+ rootTrId?: string;
273
+ colIndex?: number;
274
+ }
262
275
  interface IRange {
263
276
  startIndex: number;
264
277
  endIndex: number;
@@ -269,6 +282,8 @@ interface IRange {
269
282
  startTrIndex?: number;
270
283
  endTrIndex?: number;
271
284
  zone?: EditorZone;
285
+ splitCellSelection?: ISplitCellSelection;
286
+ tableCellSelection?: ITableCellSelection;
272
287
  }
273
288
  type RangeRowArray = Map<number, number[]>;
274
289
  type RangeRowMap = Map<number, Set<number>>;
@@ -493,6 +508,8 @@ interface ITd {
493
508
  mainHeight?: number;
494
509
  realHeight?: number;
495
510
  realMinHeight?: number;
511
+ splitSyntheticLeadingZero?: boolean;
512
+ splitListState?: IListStateSeed;
496
513
  disabled?: boolean;
497
514
  deletable?: boolean;
498
515
  }
@@ -505,6 +522,11 @@ interface ITr {
505
522
  tdList: ITd[];
506
523
  minHeight?: number;
507
524
  pagingRepeat?: boolean;
525
+ splitParentId?: string;
526
+ splitRootId?: string;
527
+ splitLevel?: number;
528
+ splitBoundaryTop?: boolean;
529
+ splitBoundaryBottom?: boolean;
508
530
  }
509
531
 
510
532
  interface IElementBasic {
@@ -746,6 +768,12 @@ interface IGetImageOption {
746
768
  pixelRatio?: number;
747
769
  mode?: EditorMode;
748
770
  }
771
+ interface IListStateSeed {
772
+ listId?: string;
773
+ listIndex: number;
774
+ prevListLevel: number;
775
+ listLevelIndex: Record<number, number>;
776
+ }
749
777
  interface IComputeRowListPayload {
750
778
  innerWidth: number;
751
779
  elementList: IElement[];
@@ -756,6 +784,7 @@ interface IComputeRowListPayload {
756
784
  pageHeight?: number;
757
785
  mainOuterHeight?: number;
758
786
  surroundElementList?: IElement[];
787
+ initialListState?: IListStateSeed;
759
788
  }
760
789
 
761
790
  interface ICurrentPosition {
@@ -777,6 +806,7 @@ interface ICurrentPosition {
777
806
  tableId?: string;
778
807
  zone?: EditorZone;
779
808
  hitLineStartIndex?: number;
809
+ splitCellSelection?: ISplitCellSelection;
780
810
  }
781
811
  interface IGetPositionByXYPayload {
782
812
  x: number;
@@ -1640,6 +1670,10 @@ declare class RangeManager {
1640
1670
  constructor(draw: Draw);
1641
1671
  getRange(): IRange;
1642
1672
  clearRange(): void;
1673
+ getSplitCellSelection(): ISplitCellSelection | undefined;
1674
+ setSplitCellSelection(payload?: ISplitCellSelection | null): void;
1675
+ getTableCellSelection(): ITableCellSelection | undefined;
1676
+ setTableCellSelection(payload?: ITableCellSelection | null): void;
1643
1677
  setDefaultStyle(style: IRangeElementStyle | null): void;
1644
1678
  getDefaultStyle(): IRangeElementStyle | null;
1645
1679
  getRangeAnchorStyle(elementList: IElement[], anchorIndex: number): IElement | null;
@@ -1750,6 +1784,7 @@ declare class TableParticle {
1750
1784
  getTrListGroupByCol(payload: ITr[]): ITr[];
1751
1785
  getRangeRowCol(): ITd[][] | null;
1752
1786
  private _drawOuterBorder;
1787
+ private _drawHorizontalBorder;
1753
1788
  private _drawSlash;
1754
1789
  private _drawBorder;
1755
1790
  private _drawBackgroundColor;
@@ -1760,6 +1795,8 @@ declare class TableParticle {
1760
1795
  getTdListByRowIndex(trList: ITr[], rowIndex: number): ITd[];
1761
1796
  computeRowColInfo(element: IElement): void;
1762
1797
  drawRange(ctx: CanvasRenderingContext2D, element: IElement, startX: number, startY: number): void;
1798
+ private _isSelectedCell;
1799
+ drawCellRange(ctx: CanvasRenderingContext2D, element: IElement, startX: number, startY: number, selection: ITableCellSelection): void;
1763
1800
  render(ctx: CanvasRenderingContext2D, element: IElement, startX: number, startY: number): void;
1764
1801
  }
1765
1802
 
@@ -2182,6 +2219,8 @@ declare class ListParticle {
2182
2219
  outdent(): void;
2183
2220
  unsetList(): void;
2184
2221
  getListIndentWidth(element: IElement): number;
2222
+ private _getListMarkerStyleElement;
2223
+ private _getListMarkerText;
2185
2224
  computeListStyle(ctx: CanvasRenderingContext2D, elementList: IElement[]): Map<string, number>;
2186
2225
  getListStyleWidth(ctx: CanvasRenderingContext2D, listElementList: IElement[]): number;
2187
2226
  private _getOlStyleForLevel;
@@ -2266,6 +2305,9 @@ declare class TableOperate {
2266
2305
  private tableParticle;
2267
2306
  private options;
2268
2307
  constructor(draw: Draw);
2308
+ private getActiveTableElements;
2309
+ private getSplitCellStyleSelection;
2310
+ private getStyleTargetRowCol;
2269
2311
  insertTable(row: number, col: number): void;
2270
2312
  insertTableTopRow(): void;
2271
2313
  insertTableBottomRow(): void;
@@ -2288,6 +2330,7 @@ declare class TableOperate {
2288
2330
  tableTdBorderColor(payload: string): void;
2289
2331
  tableTdPadding(payload: IPadding): void;
2290
2332
  tableSelectAll(): void;
2333
+ tableTdSelectAll(): void;
2291
2334
  }
2292
2335
 
2293
2336
  declare class Area {
@@ -2420,6 +2463,7 @@ declare class Draw {
2420
2463
  private intersectionPageNo;
2421
2464
  private lazyRenderIntersectionObserver;
2422
2465
  private printModeData;
2466
+ private pendingTableCursorIndex;
2423
2467
  constructor(rootContainer: HTMLElement, options: DeepRequired<IEditorOption>, data: IEditorData, listener: Listener, eventBus: EventBus<EventBusMap>, override: Override);
2424
2468
  setPrintData(): void;
2425
2469
  clearPrintData(): void;
@@ -2463,6 +2507,13 @@ declare class Draw {
2463
2507
  setPageNo(payload: number): void;
2464
2508
  getRenderCount(): number;
2465
2509
  getPage(pageNo?: number): HTMLCanvasElement;
2510
+ resolveTableCellContext(sourceElementList?: IElement[], context?: IPositionContext): {
2511
+ index: number;
2512
+ trIndex: number;
2513
+ tdIndex: number;
2514
+ element: IElement;
2515
+ td: ITd;
2516
+ } | null;
2466
2517
  getPageList(): HTMLCanvasElement[];
2467
2518
  getPageCount(): number;
2468
2519
  getTableRowList(sourceElementList: IElement[]): IRow[];
@@ -2483,6 +2534,21 @@ declare class Draw {
2483
2534
  getTextParticle(): TextParticle;
2484
2535
  getHeaderElementList(): IElement[];
2485
2536
  getTableElementList(sourceElementList: IElement[]): IElement[];
2537
+ getSplitCellSelectionContext(sourceElementList?: IElement[], splitCellSelection?: ISplitCellSelection | undefined): {
2538
+ value: IElement[];
2539
+ positionList: IElementPosition[];
2540
+ cellContextList: Array<{
2541
+ tableIndex: number;
2542
+ trIndex: number;
2543
+ tdIndex: number;
2544
+ element: IElement;
2545
+ tr: ITr;
2546
+ td: ITd;
2547
+ }>;
2548
+ } | null;
2549
+ private syncTableElementContext;
2550
+ private getCollapsedSplitTableCursorContext;
2551
+ private applyCollapsedSplitTableCursor;
2486
2552
  getElementList(): IElement[];
2487
2553
  getMainElementList(): IElement[];
2488
2554
  getOriginalElementList(): IElement[];
@@ -2492,6 +2558,7 @@ declare class Draw {
2492
2558
  insertElementList(payload: IElement[], options?: IInsertElementListOption): void;
2493
2559
  appendElementList(elementList: IElement[], options?: IAppendElementListOption): void;
2494
2560
  spliceElementList(elementList: IElement[], start: number, deleteCount: number, items?: IElement[], options?: ISpliceElementListOption): void;
2561
+ replaceSplitCellSelection(payload: IElement[], splitCellSelection?: ISplitCellSelection): number;
2495
2562
  getCanvasEvent(): CanvasEvent;
2496
2563
  getGlobalEvent(): GlobalEvent;
2497
2564
  getListener(): Listener;
@@ -2545,6 +2612,9 @@ declare class Draw {
2545
2612
  getElementFont(el: IElement, scale?: number): string;
2546
2613
  getElementSize(el: IElement): number;
2547
2614
  getElementRowMargin(el: IElement): number;
2615
+ private createListStateSeed;
2616
+ private advanceListState;
2617
+ private getListStateBeforeIndex;
2548
2618
  computeRowList(payload: IComputeRowListPayload): IRow[];
2549
2619
  private _applyRowSpacing;
2550
2620
  private _computePageList;
@@ -2582,6 +2652,7 @@ declare class CommandAdapt {
2582
2652
  private zone;
2583
2653
  private tableOperate;
2584
2654
  constructor(draw: Draw);
2655
+ private getStyleSelectionElementList;
2585
2656
  mode(payload: EditorMode): void;
2586
2657
  cut(): Promise<void>;
2587
2658
  copy(payload?: ICopyOption): Promise<void>;
package/dist/index.d.ts CHANGED
@@ -259,6 +259,19 @@ interface IPlaceholder {
259
259
  font?: string;
260
260
  }
261
261
 
262
+ interface ISplitCellSelection {
263
+ pagingId: string;
264
+ rootTrId: string;
265
+ colIndex: number;
266
+ }
267
+ interface ITableCellSelection {
268
+ tableId?: string;
269
+ trId?: string;
270
+ tdId?: string;
271
+ pagingId?: string;
272
+ rootTrId?: string;
273
+ colIndex?: number;
274
+ }
262
275
  interface IRange {
263
276
  startIndex: number;
264
277
  endIndex: number;
@@ -269,6 +282,8 @@ interface IRange {
269
282
  startTrIndex?: number;
270
283
  endTrIndex?: number;
271
284
  zone?: EditorZone;
285
+ splitCellSelection?: ISplitCellSelection;
286
+ tableCellSelection?: ITableCellSelection;
272
287
  }
273
288
  type RangeRowArray = Map<number, number[]>;
274
289
  type RangeRowMap = Map<number, Set<number>>;
@@ -493,6 +508,8 @@ interface ITd {
493
508
  mainHeight?: number;
494
509
  realHeight?: number;
495
510
  realMinHeight?: number;
511
+ splitSyntheticLeadingZero?: boolean;
512
+ splitListState?: IListStateSeed;
496
513
  disabled?: boolean;
497
514
  deletable?: boolean;
498
515
  }
@@ -505,6 +522,11 @@ interface ITr {
505
522
  tdList: ITd[];
506
523
  minHeight?: number;
507
524
  pagingRepeat?: boolean;
525
+ splitParentId?: string;
526
+ splitRootId?: string;
527
+ splitLevel?: number;
528
+ splitBoundaryTop?: boolean;
529
+ splitBoundaryBottom?: boolean;
508
530
  }
509
531
 
510
532
  interface IElementBasic {
@@ -746,6 +768,12 @@ interface IGetImageOption {
746
768
  pixelRatio?: number;
747
769
  mode?: EditorMode;
748
770
  }
771
+ interface IListStateSeed {
772
+ listId?: string;
773
+ listIndex: number;
774
+ prevListLevel: number;
775
+ listLevelIndex: Record<number, number>;
776
+ }
749
777
  interface IComputeRowListPayload {
750
778
  innerWidth: number;
751
779
  elementList: IElement[];
@@ -756,6 +784,7 @@ interface IComputeRowListPayload {
756
784
  pageHeight?: number;
757
785
  mainOuterHeight?: number;
758
786
  surroundElementList?: IElement[];
787
+ initialListState?: IListStateSeed;
759
788
  }
760
789
 
761
790
  interface ICurrentPosition {
@@ -777,6 +806,7 @@ interface ICurrentPosition {
777
806
  tableId?: string;
778
807
  zone?: EditorZone;
779
808
  hitLineStartIndex?: number;
809
+ splitCellSelection?: ISplitCellSelection;
780
810
  }
781
811
  interface IGetPositionByXYPayload {
782
812
  x: number;
@@ -1640,6 +1670,10 @@ declare class RangeManager {
1640
1670
  constructor(draw: Draw);
1641
1671
  getRange(): IRange;
1642
1672
  clearRange(): void;
1673
+ getSplitCellSelection(): ISplitCellSelection | undefined;
1674
+ setSplitCellSelection(payload?: ISplitCellSelection | null): void;
1675
+ getTableCellSelection(): ITableCellSelection | undefined;
1676
+ setTableCellSelection(payload?: ITableCellSelection | null): void;
1643
1677
  setDefaultStyle(style: IRangeElementStyle | null): void;
1644
1678
  getDefaultStyle(): IRangeElementStyle | null;
1645
1679
  getRangeAnchorStyle(elementList: IElement[], anchorIndex: number): IElement | null;
@@ -1750,6 +1784,7 @@ declare class TableParticle {
1750
1784
  getTrListGroupByCol(payload: ITr[]): ITr[];
1751
1785
  getRangeRowCol(): ITd[][] | null;
1752
1786
  private _drawOuterBorder;
1787
+ private _drawHorizontalBorder;
1753
1788
  private _drawSlash;
1754
1789
  private _drawBorder;
1755
1790
  private _drawBackgroundColor;
@@ -1760,6 +1795,8 @@ declare class TableParticle {
1760
1795
  getTdListByRowIndex(trList: ITr[], rowIndex: number): ITd[];
1761
1796
  computeRowColInfo(element: IElement): void;
1762
1797
  drawRange(ctx: CanvasRenderingContext2D, element: IElement, startX: number, startY: number): void;
1798
+ private _isSelectedCell;
1799
+ drawCellRange(ctx: CanvasRenderingContext2D, element: IElement, startX: number, startY: number, selection: ITableCellSelection): void;
1763
1800
  render(ctx: CanvasRenderingContext2D, element: IElement, startX: number, startY: number): void;
1764
1801
  }
1765
1802
 
@@ -2182,6 +2219,8 @@ declare class ListParticle {
2182
2219
  outdent(): void;
2183
2220
  unsetList(): void;
2184
2221
  getListIndentWidth(element: IElement): number;
2222
+ private _getListMarkerStyleElement;
2223
+ private _getListMarkerText;
2185
2224
  computeListStyle(ctx: CanvasRenderingContext2D, elementList: IElement[]): Map<string, number>;
2186
2225
  getListStyleWidth(ctx: CanvasRenderingContext2D, listElementList: IElement[]): number;
2187
2226
  private _getOlStyleForLevel;
@@ -2266,6 +2305,9 @@ declare class TableOperate {
2266
2305
  private tableParticle;
2267
2306
  private options;
2268
2307
  constructor(draw: Draw);
2308
+ private getActiveTableElements;
2309
+ private getSplitCellStyleSelection;
2310
+ private getStyleTargetRowCol;
2269
2311
  insertTable(row: number, col: number): void;
2270
2312
  insertTableTopRow(): void;
2271
2313
  insertTableBottomRow(): void;
@@ -2288,6 +2330,7 @@ declare class TableOperate {
2288
2330
  tableTdBorderColor(payload: string): void;
2289
2331
  tableTdPadding(payload: IPadding): void;
2290
2332
  tableSelectAll(): void;
2333
+ tableTdSelectAll(): void;
2291
2334
  }
2292
2335
 
2293
2336
  declare class Area {
@@ -2420,6 +2463,7 @@ declare class Draw {
2420
2463
  private intersectionPageNo;
2421
2464
  private lazyRenderIntersectionObserver;
2422
2465
  private printModeData;
2466
+ private pendingTableCursorIndex;
2423
2467
  constructor(rootContainer: HTMLElement, options: DeepRequired<IEditorOption>, data: IEditorData, listener: Listener, eventBus: EventBus<EventBusMap>, override: Override);
2424
2468
  setPrintData(): void;
2425
2469
  clearPrintData(): void;
@@ -2463,6 +2507,13 @@ declare class Draw {
2463
2507
  setPageNo(payload: number): void;
2464
2508
  getRenderCount(): number;
2465
2509
  getPage(pageNo?: number): HTMLCanvasElement;
2510
+ resolveTableCellContext(sourceElementList?: IElement[], context?: IPositionContext): {
2511
+ index: number;
2512
+ trIndex: number;
2513
+ tdIndex: number;
2514
+ element: IElement;
2515
+ td: ITd;
2516
+ } | null;
2466
2517
  getPageList(): HTMLCanvasElement[];
2467
2518
  getPageCount(): number;
2468
2519
  getTableRowList(sourceElementList: IElement[]): IRow[];
@@ -2483,6 +2534,21 @@ declare class Draw {
2483
2534
  getTextParticle(): TextParticle;
2484
2535
  getHeaderElementList(): IElement[];
2485
2536
  getTableElementList(sourceElementList: IElement[]): IElement[];
2537
+ getSplitCellSelectionContext(sourceElementList?: IElement[], splitCellSelection?: ISplitCellSelection | undefined): {
2538
+ value: IElement[];
2539
+ positionList: IElementPosition[];
2540
+ cellContextList: Array<{
2541
+ tableIndex: number;
2542
+ trIndex: number;
2543
+ tdIndex: number;
2544
+ element: IElement;
2545
+ tr: ITr;
2546
+ td: ITd;
2547
+ }>;
2548
+ } | null;
2549
+ private syncTableElementContext;
2550
+ private getCollapsedSplitTableCursorContext;
2551
+ private applyCollapsedSplitTableCursor;
2486
2552
  getElementList(): IElement[];
2487
2553
  getMainElementList(): IElement[];
2488
2554
  getOriginalElementList(): IElement[];
@@ -2492,6 +2558,7 @@ declare class Draw {
2492
2558
  insertElementList(payload: IElement[], options?: IInsertElementListOption): void;
2493
2559
  appendElementList(elementList: IElement[], options?: IAppendElementListOption): void;
2494
2560
  spliceElementList(elementList: IElement[], start: number, deleteCount: number, items?: IElement[], options?: ISpliceElementListOption): void;
2561
+ replaceSplitCellSelection(payload: IElement[], splitCellSelection?: ISplitCellSelection): number;
2495
2562
  getCanvasEvent(): CanvasEvent;
2496
2563
  getGlobalEvent(): GlobalEvent;
2497
2564
  getListener(): Listener;
@@ -2545,6 +2612,9 @@ declare class Draw {
2545
2612
  getElementFont(el: IElement, scale?: number): string;
2546
2613
  getElementSize(el: IElement): number;
2547
2614
  getElementRowMargin(el: IElement): number;
2615
+ private createListStateSeed;
2616
+ private advanceListState;
2617
+ private getListStateBeforeIndex;
2548
2618
  computeRowList(payload: IComputeRowListPayload): IRow[];
2549
2619
  private _applyRowSpacing;
2550
2620
  private _computePageList;
@@ -2582,6 +2652,7 @@ declare class CommandAdapt {
2582
2652
  private zone;
2583
2653
  private tableOperate;
2584
2654
  constructor(draw: Draw);
2655
+ private getStyleSelectionElementList;
2585
2656
  mode(payload: EditorMode): void;
2586
2657
  cut(): Promise<void>;
2587
2658
  copy(payload?: ICopyOption): Promise<void>;