@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trebco/treb",
3
- "version": "25.7.5",
3
+ "version": "25.7.7",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "homepage": "https://treb.app",
6
6
  "repository": {
@@ -66,6 +66,9 @@ export interface ImportedSheetData {
66
66
  // new
67
67
  annotations?: AnchoredAnnotation[];
68
68
 
69
+ // new
70
+ outline?: number[];
71
+
69
72
  hidden?: boolean;
70
73
 
71
74
  }
@@ -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
- console.info('not initializing grid; don\'t call UI functions');
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
- scale: string;
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;
@@ -2054,7 +2054,6 @@ export class Grid extends GridBase {
2054
2054
  }
2055
2055
 
2056
2056
  protected RenameSheetInternal(target: Sheet, name: string) {
2057
- console.info("RIS");
2058
2057
  super.RenameSheetInternal(target, name);
2059
2058
  this.tab_bar?.Update();
2060
2059
 
@@ -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