@trebco/treb 25.7.5 → 25.7.7
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/treb-spreadsheet.mjs +9 -9
- package/package.json +1 -1
- package/treb-base-types/src/import.ts +3 -0
- package/treb-embed/src/embedded-spreadsheet.ts +7 -1
- package/treb-export/src/import2.ts +11 -0
- package/treb-grid/src/types/annotation.ts +7 -1
- package/treb-grid/src/types/grid.ts +0 -1
- package/treb-grid/src/types/sheet.ts +11 -0
package/package.json
CHANGED
|
@@ -228,6 +228,9 @@ export class EmbeddedSpreadsheet {
|
|
|
228
228
|
/** @internal */
|
|
229
229
|
public static enable_formatter = false;
|
|
230
230
|
|
|
231
|
+
/** @internal */
|
|
232
|
+
public static one_time_warnings: Record<string, boolean> = {};
|
|
233
|
+
|
|
231
234
|
/**
|
|
232
235
|
* this flag will be set on LoadDocument. the intent is to be able to
|
|
233
236
|
* know if you have loaded a network document, which may happen before you
|
|
@@ -865,7 +868,10 @@ export class EmbeddedSpreadsheet {
|
|
|
865
868
|
|
|
866
869
|
}
|
|
867
870
|
else {
|
|
868
|
-
|
|
871
|
+
if (!EmbeddedSpreadsheet.one_time_warnings.headless) {
|
|
872
|
+
EmbeddedSpreadsheet.one_time_warnings.headless = true;
|
|
873
|
+
console.info('not initializing grid; don\'t call UI functions');
|
|
874
|
+
}
|
|
869
875
|
this.grid.headless = true; // ensure
|
|
870
876
|
}
|
|
871
877
|
|
|
@@ -478,6 +478,7 @@ export class Importer {
|
|
|
478
478
|
// data (and row heights)
|
|
479
479
|
|
|
480
480
|
const row_heights: number[] = [];
|
|
481
|
+
const outline: number[] = [];
|
|
481
482
|
|
|
482
483
|
const rows = FindAll('worksheet/sheetData/row');
|
|
483
484
|
|
|
@@ -491,6 +492,12 @@ export class Importer {
|
|
|
491
492
|
height = Math.round(num * 4 / 3); // seems to be the excel unit -> pixel ratio
|
|
492
493
|
}
|
|
493
494
|
}
|
|
495
|
+
if (row.a$?.outlineLevel) {
|
|
496
|
+
const num = Number(row.a$.outlineLevel);
|
|
497
|
+
if (!isNaN(num)) {
|
|
498
|
+
outline[row_index - 1] = num;
|
|
499
|
+
}
|
|
500
|
+
}
|
|
494
501
|
|
|
495
502
|
// if there's a height which is not === default height, but
|
|
496
503
|
// the customHeight attribute is not set, then it's been auto-sized.
|
|
@@ -867,6 +874,10 @@ export class Importer {
|
|
|
867
874
|
styles: this.workbook?.style_cache?.CellXfToStyles() || [],
|
|
868
875
|
};
|
|
869
876
|
|
|
877
|
+
if (outline.length) {
|
|
878
|
+
result.outline = outline;
|
|
879
|
+
}
|
|
880
|
+
|
|
870
881
|
if (sheet.visible_state === VisibleState.hidden || sheet.visible_state === VisibleState.very_hidden) {
|
|
871
882
|
result.hidden = true;
|
|
872
883
|
}
|
|
@@ -81,7 +81,13 @@ export interface ViewData {
|
|
|
81
81
|
|
|
82
82
|
export interface ImageAnnotationData {
|
|
83
83
|
src: string;
|
|
84
|
-
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* @privateRemarks
|
|
87
|
+
* why is this a string?
|
|
88
|
+
*/
|
|
89
|
+
scale: string;
|
|
90
|
+
|
|
85
91
|
original_size: {
|
|
86
92
|
width: number;
|
|
87
93
|
height: number;
|
|
@@ -148,6 +148,13 @@ export class Sheet {
|
|
|
148
148
|
return this._image;
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
+
/**
|
|
152
|
+
* @internal
|
|
153
|
+
*
|
|
154
|
+
* testing, not serialized atm
|
|
155
|
+
*/
|
|
156
|
+
public outline: number[] | undefined;
|
|
157
|
+
|
|
151
158
|
/** internal ID */
|
|
152
159
|
// tslint:disable-next-line: variable-name
|
|
153
160
|
private id_: number;
|
|
@@ -2686,6 +2693,10 @@ export class Sheet {
|
|
|
2686
2693
|
|
|
2687
2694
|
const styles = data.styles;
|
|
2688
2695
|
|
|
2696
|
+
if (data.outline) {
|
|
2697
|
+
this.outline = data.outline;
|
|
2698
|
+
}
|
|
2699
|
+
|
|
2689
2700
|
// adding sheet style...
|
|
2690
2701
|
|
|
2691
2702
|
// 0 is implicitly just a general style
|