@compass-framework/worksheet-layout 1.0.81 → 1.0.83

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.
@@ -0,0 +1,77 @@
1
+ import { SheetSourceObserver } from "./SheetSourceObserver";
2
+ import { SheetView } from "./SheetView";
3
+ import { SheetStyle } from "./SheetStyle";
4
+
5
+ /**
6
+ * 工作表数据源。
7
+ *
8
+ * 统一约定:
9
+ * - 行号、列号均从 0 开始;
10
+ * - 所有尺寸单位都是内容逻辑像素(会再经过 WorksheetLayout 的 zoom 缩放后显示),不是屏幕像素;
11
+ * - 带 start/end 的区间接口均为闭区间 [start, end];
12
+ * - 带 index 的接口表示单个行/列的索引。
13
+ */
14
+ export interface SheetSource {
15
+ /**
16
+ * 取消订阅工作表数据变化。
17
+ */
18
+ unsubscribe(obs: SheetSourceObserver): void;
19
+
20
+ /**
21
+ * 订阅工作表数据变化。
22
+ */
23
+ subscribe(obs: SheetSourceObserver): void;
24
+
25
+ /**
26
+ * 获取当前激活的工作表视图(包含冻结窗格等信息)。
27
+ */
28
+ getSheetView(): SheetView;
29
+
30
+ /**
31
+ * 获取工作表外观配置(背景色、冻结分割线样式等)。
32
+ * 未实现时使用 DEFAULT_WORKSHEET_STYLE。
33
+ */
34
+ getSheetStyle?(): SheetStyle;
35
+
36
+ /// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
37
+
38
+ /**
39
+ * 获取第 rowIndex 行顶部的 Y 偏移,即第 0 行到第 rowIndex - 1 行的高度之和。
40
+ * 等价于 getRowsHeight(0, rowIndex - 1),rowIndex <= 0 时返回 0。
41
+ * @param rowIndex 行号(0 基)
42
+ */
43
+ getRowTop(rowIndex: number): number;
44
+
45
+ /**
46
+ * 获取第 columnIndex 列左侧的 X 偏移,即第 0 列到第 columnIndex - 1 列的宽度之和。
47
+ * 等价于 getColumnsWidth(0, columnIndex - 1),columnIndex <= 0 时返回 0。
48
+ * @param columnIndex 列号(0 基)
49
+ */
50
+ getColumnLeft(columnIndex: number): number;
51
+
52
+ /**
53
+ * 获取指定行的高度。
54
+ * @param rowIndex 行号(0 基)
55
+ */
56
+ getRowHeight(rowIndex: number): number;
57
+
58
+ /**
59
+ * 获取指定列的宽度。
60
+ * @param columnIndex 列号(0 基)
61
+ */
62
+ getColumnWidth(columnIndex: number): number;
63
+
64
+ /**
65
+ * 获取 [startRow, endRow] 闭区间内所有行的高度之和。
66
+ * @param startRow 起始行号(包含)
67
+ * @param endRow 结束行号(包含)
68
+ */
69
+ getRowsHeight(startRow: number, endRow: number): number;
70
+
71
+ /**
72
+ * 获取 [startColumn, endColumn] 闭区间内所有列的宽度之和。
73
+ * @param startColumn 起始列号(包含)
74
+ * @param endColumn 结束列号(包含)
75
+ */
76
+ getColumnsWidth(startColumn: number, endColumn: number): number;
77
+ }
@@ -0,0 +1,7 @@
1
+ export class SheetSourceObserver {
2
+ onFreezePaneChanged(): void {}
3
+
4
+ onRowsHeighChanged(): void {}
5
+
6
+ onColumnsWidthChanged(): void {}
7
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * 工作表外观配置。
3
+ *
4
+ * 所有颜色均为 ARGB 整数(如 Color.WHITE),尺寸单位为内容逻辑像素。
5
+ */
6
+ export interface SheetStyle {
7
+ /**
8
+ * 分页视图的页面背景色。
9
+ */
10
+ pageColor?: number;
11
+
12
+ /**
13
+ * 页面背景色。
14
+ * 返回 Color.TRANSPARENT 表示不绘制背景。
15
+ */
16
+ backgroundColor?: number;
17
+
18
+ /**
19
+ * 页面宽度(内容逻辑像素)。
20
+ */
21
+ pageWidth?: number;
22
+
23
+ /**
24
+ * 页面高度(内容逻辑像素)。
25
+ */
26
+ pageHeight?: number;
27
+
28
+ /**
29
+ * 页面上边距。
30
+ */
31
+ pageMarginTop?: number;
32
+
33
+ /**
34
+ * 页面右边距。
35
+ */
36
+ pageMarginRight?: number;
37
+
38
+ /**
39
+ * 页面下边距。
40
+ */
41
+ pageMarginBottom?: number;
42
+
43
+ /**
44
+ * 页面左边距。
45
+ */
46
+ pageMarginLeft?: number;
47
+
48
+ /**
49
+ * 页面之间的间距。
50
+ */
51
+ pageGap?: number;
52
+
53
+ /**
54
+ * 冻结分割线颜色。
55
+ */
56
+ freezeDividerColor?: number;
57
+
58
+ /**
59
+ * 冻结分割线宽度。
60
+ * 小于等于 0 表示不绘制分割线。
61
+ */
62
+ freezeDividerStrokeWidth?: number;
63
+ }
@@ -0,0 +1,8 @@
1
+ import { SheetViewPane } from "./SheetViewPane";
2
+
3
+ export interface SheetView {
4
+ /**
5
+ * 获取当前工作表的窗格信息(冻结拆分、左上角单元格等)。
6
+ */
7
+ getPane(): SheetViewPane;
8
+ }
@@ -0,0 +1,28 @@
1
+ export interface XSplitPane {
2
+ getColumnCount(): number;
3
+ }
4
+
5
+ export interface YSplitPane {
6
+ getRowCount(): number;
7
+ }
8
+
9
+ export interface XYSplitPane {
10
+ getColumnCount(): number;
11
+ getRowCount(): number;
12
+ }
13
+
14
+ export interface SheetViewPane {
15
+ getTopLeftCell(): [number, number];
16
+
17
+ isXSplitPane(): boolean;
18
+
19
+ isYSplitPane(): boolean;
20
+
21
+ isXYSplitPane(): boolean;
22
+
23
+ getXSplitPane(): XSplitPane;
24
+
25
+ getYSplitPane(): YSplitPane;
26
+
27
+ getXYSplitPane(): XYSplitPane;
28
+ }
@@ -10,13 +10,13 @@ import {
10
10
  Drawable,
11
11
  } from "@compass-framework/core";
12
12
 
13
- import { WorksheetObserver } from "../source/WorksheetObserver";
14
13
  import { ViewMode } from "../content/ViewMode";
15
- import { WorksheetSource } from "../source/WorksheetSource";
16
14
  import { HorizontalSegment } from "../content/HorizontalSegment";
17
15
  import { VerticalSegment } from "../content/VerticalSegment";
16
+ import { SheetSourceObserver } from "../source/SheetSourceObserver";
17
+ import { SheetSource } from "../source/SheetSource";
18
18
 
19
- export declare class WorksheetContent extends AbsoluteLayout implements WorksheetObserver, View.OnGenericMotionListener {
19
+ export declare class WorksheetContent extends AbsoluteLayout implements SheetSourceObserver, View.OnGenericMotionListener {
20
20
  constructor(context: Context);
21
21
  constructor(context: Context, attrs: AttributeSet);
22
22
  onGenericMotion(v: View, event: MotionEvent): boolean;
@@ -51,11 +51,11 @@ export declare class WorksheetContent extends AbsoluteLayout implements Workshee
51
51
  superGetBackground(): Drawable;
52
52
  superGetTargetOffsetScrollY(): number;
53
53
  superGetTargetOffsetScrollX(): number;
54
- getWorksheetSource(): WorksheetSource;
54
+ getWorksheetSource(): SheetSource;
55
55
  getMotionEventCoords(event: MotionEvent): number[];
56
56
  getViewMode(): ViewMode;
57
57
  getVerticalSegment(): VerticalSegment[];
58
58
  getHorizontalSegment(): HorizontalSegment[];
59
59
  setViewMode(viewMode: ViewMode): void;
60
- setWorksheetSource(worksheetSource: WorksheetSource): void;
60
+ setWorksheetSource(source: SheetSource): void;
61
61
  }
package/index.d.ts CHANGED
@@ -13,10 +13,10 @@ export * from "./@types/drawable/WorksheetContentDrawable";
13
13
 
14
14
  export * from "./@types/layout/WorksheetLayout";
15
15
 
16
- export * from "./@types/source/WorksheetSource";
17
- export * from "./@types/source/WorksheetObserver";
18
- export * from "./@types/source/Pane";
16
+ export * from "./@types/source/SheetSource";
17
+ export * from "./@types/source/SheetSourceObserver";
18
+ export * from "./@types/source/SheetStyle";
19
19
  export * from "./@types/source/SheetView";
20
- export * from "./@types/source/CellAddress";
20
+ export * from "./@types/source/SheetViewPane";
21
21
 
22
22
  export * from "./@types/widget/WorksheetContent";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compass-framework/worksheet-layout",
3
- "version": "1.0.81",
3
+ "version": "1.0.83",
4
4
  "description": "@compass-framework/worksheet-layout public api",
5
5
  "types": "./index.d.ts",
6
6
  "main": "./index.js",
@@ -1,4 +0,0 @@
1
- export interface CellAddress {
2
- getRow(): number;
3
- getColumn(): number;
4
- }
@@ -1,21 +0,0 @@
1
- import { CellAddress } from "./CellAddress";
2
-
3
- export interface XSplit {
4
- getColumnCount(): number;
5
- }
6
- export interface YSplit {
7
- getRowCount(): number;
8
- }
9
- export interface XYSplit {
10
- getColumnCount(): number;
11
- getRowCount(): number;
12
- }
13
- export interface Pane {
14
- getTopLeftCell(): CellAddress;
15
- isXSplit(): boolean;
16
- isYSplit(): boolean;
17
- isXYSplit(): boolean;
18
- getXSplit(): XSplit;
19
- getYSplit(): YSplit;
20
- getXYSplit(): XYSplit;
21
- }
@@ -1,12 +0,0 @@
1
- import { Pane } from "./Pane";
2
-
3
- export interface SheetView {
4
- /**
5
- * 获取当前工作表的窗格信息(冻结拆分、左上角单元格等)。
6
- */
7
- getPane(): Pane;
8
- }
9
- /**
10
- * 默认工作表视图:无列冻结,顶部冻结 5 行。
11
- */
12
- export declare const DEFAULT_SHEET_VIEW: SheetView;
@@ -1,5 +0,0 @@
1
- export declare class WorksheetObserver {
2
- onFreezePaneChanged(): void;
3
- onRowsHeighChanged(): void;
4
- onColumnsWidthChanged(): void;
5
- }
@@ -1,120 +0,0 @@
1
- import { SheetView } from "./SheetView";
2
- /**
3
- * 工作表外观配置。
4
- *
5
- * 所有颜色均为 ARGB 整数(如 Color.WHITE),尺寸单位为内容逻辑像素。
6
- */
7
- export interface WorksheetStyle {
8
- /**
9
- * 页面背景色。
10
- * 返回 Color.TRANSPARENT 表示不绘制背景。
11
- */
12
- backgroundColor?: number;
13
- /**
14
- * 冻结分割线颜色。
15
- */
16
- freezeDividerColor?: number;
17
- /**
18
- * 冻结分割线宽度。
19
- * 小于等于 0 表示不绘制分割线。
20
- */
21
- freezeDividerStrokeWidth?: number;
22
- /**
23
- * 分页视图的页面背景色。
24
- */
25
- pageColor?: number;
26
- /**
27
- * 页面宽度(内容逻辑像素)。
28
- */
29
- pageWidth?: number;
30
- /**
31
- * 页面高度(内容逻辑像素)。
32
- */
33
- pageHeight?: number;
34
- /**
35
- * 页面上边距。
36
- */
37
- pageMarginTop?: number;
38
- /**
39
- * 页面右边距。
40
- */
41
- pageMarginRight?: number;
42
- /**
43
- * 页面下边距。
44
- */
45
- pageMarginBottom?: number;
46
- /**
47
- * 页面左边距。
48
- */
49
- pageMarginLeft?: number;
50
- /**
51
- * 页面之间的间距。
52
- */
53
- pageGap?: number;
54
- }
55
- /**
56
- * 默认工作表外观配置。
57
- */
58
- export declare const DEFAULT_WORKSHEET_STYLE: WorksheetStyle;
59
- /**
60
- * 工作表数据源。
61
- *
62
- * 统一约定:
63
- * - 行号、列号均从 0 开始;
64
- * - 所有尺寸单位都是内容逻辑像素(会再经过 WorksheetLayout 的 zoom 缩放后显示),不是屏幕像素;
65
- * - 带 start/end 的区间接口均为闭区间 [start, end];
66
- * - 带 index 的接口表示单个行/列的索引。
67
- */
68
- export interface WorksheetSource {
69
- /**
70
- * 订阅工作表数据变化。
71
- */
72
- subscribe(): void;
73
- /**
74
- * 取消订阅工作表数据变化。
75
- */
76
- unsubscribe(): void;
77
- /**
78
- * 获取当前激活的工作表视图(包含冻结窗格等信息)。
79
- */
80
- getActiveSheetView(): SheetView;
81
- /**
82
- * 获取工作表外观配置(背景色、冻结分割线样式等)。
83
- * 未实现时使用 DEFAULT_WORKSHEET_STYLE。
84
- */
85
- getWorksheetStyle?(): WorksheetStyle;
86
- /**
87
- * 获取指定行的高度。
88
- * @param rowIndex 行号(0 基)
89
- */
90
- getRowHeight(rowIndex: number): number;
91
- /**
92
- * 获取指定列的宽度。
93
- * @param columnIndex 列号(0 基)
94
- */
95
- getColumnWidth(columnIndex: number): number;
96
- /**
97
- * 获取 [startRow, endRow] 闭区间内所有行的高度之和。
98
- * @param startRow 起始行号(包含)
99
- * @param endRow 结束行号(包含)
100
- */
101
- getRowsHeight(startRow: number, endRow: number): number;
102
- /**
103
- * 获取 [startColumn, endColumn] 闭区间内所有列的宽度之和。
104
- * @param startColumn 起始列号(包含)
105
- * @param endColumn 结束列号(包含)
106
- */
107
- getColumnsWidth(startColumn: number, endColumn: number): number;
108
- /**
109
- * 获取第 rowIndex 行顶部的 Y 偏移,即第 0 行到第 rowIndex - 1 行的高度之和。
110
- * 等价于 getRowsHeight(0, rowIndex - 1),rowIndex <= 0 时返回 0。
111
- * @param rowIndex 行号(0 基)
112
- */
113
- getRowTop(rowIndex: number): number;
114
- /**
115
- * 获取第 columnIndex 列左侧的 X 偏移,即第 0 列到第 columnIndex - 1 列的宽度之和。
116
- * 等价于 getColumnsWidth(0, columnIndex - 1),columnIndex <= 0 时返回 0。
117
- * @param columnIndex 列号(0 基)
118
- */
119
- getColumnLeft(columnIndex: number): number;
120
- }