jspreadsheet 8.7.13 → 9.1.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.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  /**
2
- * Official Type definitions for Jspreadsheet Pro v8
3
- * https://jspreadsheet.com
4
- * Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
2
+ * Official Type definitions for Jspreadsheet Pro v9
3
+ * https://jspreadsheet.com/v9
5
4
  */
6
5
 
7
6
  declare function jspreadsheet(element: HTMLElement, options: jspreadsheet.Spreadsheet) : Array<jspreadsheet.worksheetInstance>;
@@ -15,13 +14,13 @@ declare namespace jspreadsheet {
15
14
  function formula(expression: string, variables: object, x: number, y: number, instance: jspreadsheet.worksheetInstance) : void;
16
15
 
17
16
  /** Jspreadsheet parser extension. More info at: https://jspreadsheet.com/products */
18
- function render(options: any) : void;
17
+ function render(element: HTMLElement, options: any) : void;
19
18
 
20
19
  /** Jspreadsheet forms extension. More info at: https://jspreadsheet.com/products */
21
20
  function forms(options: any) : void;
22
21
 
23
22
  /** Set extensions to the JSS spreadsheet. Example { formula, parser, render } */
24
- function setExtensions(extensions: object) : void
23
+ function setExtensions(extensions: object) : void;
25
24
 
26
25
  /** Destroy the spreadsheet. Full destroy will clear all JSS controllers and it is not possible to re-create a new spreadsheet if true is used, until refresh the page. */
27
26
  function destroy(element: HTMLElement, fullDestroy?: boolean) : void;
@@ -65,7 +64,7 @@ declare namespace jspreadsheet {
65
64
  onclick?: Function;
66
65
  /** For the type select when a new item is selected */
67
66
  onchange?: Function;
68
- /** To update the state of this item **/
67
+ /** To update the state of this item */
69
68
  updateState?: Function;
70
69
  }
71
70
 
@@ -150,7 +149,7 @@ declare namespace jspreadsheet {
150
149
 
151
150
  interface Column {
152
151
  /** Define the column type. Can be a string to define a native editor, or a method to define the custom editor plugin. */
153
- type?: Editor | 'autocomplete' | 'calendar' | 'checkbox' | 'color' | 'dropdown' | 'hidden' | 'html' | 'image' | 'numeric' | 'radio' | 'text';
152
+ type?: Editor | 'autocomplete' | 'calendar' | 'checkbox' | 'color' | 'dropdown' | 'hidden' | 'html' | 'image' | 'numeric' | 'radio' | 'text' | 'notes';
154
153
  /** Column title */
155
154
  title?: string;
156
155
  /** Name or a path of a property when the data is a JSON object. */
@@ -201,6 +200,10 @@ declare namespace jspreadsheet {
201
200
  shiftFormula?: boolean;
202
201
  /** Wrap the text in the column */
203
202
  wrap?: boolean;
203
+ /** Rotate text value between -90 and 90. Default: null */
204
+ rotate?: number;
205
+ /** CSS odd even background color. Default: false */
206
+ zebra?: boolean;
204
207
  }
205
208
 
206
209
  interface Row {
@@ -249,6 +252,8 @@ declare namespace jspreadsheet {
249
252
  tooltip?: string;
250
253
  /** Nested header colspan */
251
254
  colspan?: number;
255
+ /** Alignment */
256
+ align?: 'left' | 'center' | 'right';
252
257
  }
253
258
 
254
259
  interface Spreadsheet {
@@ -258,14 +263,14 @@ declare namespace jspreadsheet {
258
263
  cloud?: string;
259
264
  /** DOM element for binding the javascript events. This property is normally used when JSS is running as a web component. */
260
265
  root?: HTMLElement;
261
- /** Global defined names. It defines global range variables. **/
266
+ /** Global defined names. It defines global range variables. */
262
267
  definedNames?: Record<string, string>,
263
- /** Global sorting handler. **/
268
+ /** Global sorting handler. */
264
269
  sorting?: (direction: boolean, column: number) => number;
265
- /** Remote URL for the persistence server **/
270
+ /** Remote URL for the persistence server */
266
271
  server?: string;
267
- /** Toolbar */
268
- toolbar?: boolean | Toolbar | Function;
272
+ /** Enable the toolbars */
273
+ toolbar?: boolean | 'extended' | Toolbar | Function;
269
274
  /** Allow table edition */
270
275
  editable?: boolean;
271
276
  /** Allow data export */
@@ -280,11 +285,11 @@ declare namespace jspreadsheet {
280
285
  fullscreen?: boolean;
281
286
  /** Make sure the formulas are capital letter. Default: true */
282
287
  secureFormulas?: boolean;
283
- /** Enable formula debug. Default: false **/
288
+ /** Enable formula debug. Default: false */
284
289
  debugFormulas?: boolean,
285
290
  /** Execute formulas. Default: true */
286
291
  parseFormulas?: boolean;
287
- /** Disable the formula editor. Default: true **/
292
+ /** Disable the formula editor. Default: true */
288
293
  editorFormulas?: boolean;
289
294
  /** Auto increment cell data when using the corner copy, including formulas, numbers and dates. Default: true */
290
295
  autoIncrement?: boolean;
@@ -304,7 +309,7 @@ declare namespace jspreadsheet {
304
309
  moveDownOnEnter?: boolean;
305
310
  /** This method is called when the data in the spreadsheet is ready. */
306
311
  onload?: (spreadsheet: spreadsheetInstance) => void;
307
- /** Spreadsheet is clicked **/
312
+ /** Spreadsheet is clicked */
308
313
  onclick?: (worksheet: worksheetInstance, section: string, x: number, y: number) => void;
309
314
  /** When undo is applied */
310
315
  onundo?: (worksheet: worksheetInstance, historyRecord: object) => void;
@@ -313,7 +318,7 @@ declare namespace jspreadsheet {
313
318
  /** Before any data is sent to the backend. Can be used to overwrite the data or to cancel the action when return false. */
314
319
  onbeforesave?: (spreadsheet: spreadsheetInstance, worksheet: worksheetInstance, data: object) => boolean | object;
315
320
  /** After something is saved */
316
- onsave?: (spreadsheet: spreadsheetInstance, worksheet: worksheetInstance, data: Array<any>) => void;
321
+ onsave?: (spreadsheet: spreadsheetInstance, worksheet: worksheetInstance, data: Array<any>, result: Object) => void;
317
322
  /** Before a column value is changed. NOTE: It is possible to overwrite the original value, by return a new value on this method. */
318
323
  onbeforechange?: (worksheet: worksheetInstance, cell: HTMLElement, x: number, y: number, value: any) => boolean | any;
319
324
  /** After a column value is changed. */
@@ -378,9 +383,9 @@ declare namespace jspreadsheet {
378
383
  onchangenestedcell?: (worksheet: worksheetInstance, x: number, y: number, properties: object) => void;
379
384
  /** When an editor is created. */
380
385
  oncreateeditor?: (worksheet: worksheetInstance, cell: HTMLElement, x: number, y: number, element: HTMLElement, options: object) => void;
381
- /** When the editor is opened. **/
386
+ /** When the editor is opened. */
382
387
  oneditionstart?: (worksheet: worksheetInstance, cell: HTMLElement, x: number, y: number) => void;
383
- /** When the editor is closed. **/
388
+ /** When the editor is closed. */
384
389
  oneditionend?: (worksheet: worksheetInstance, cell: HTMLElement, x: number, y: number, newValue: any, save: boolean) => void;
385
390
  /** When the style of a cell is changed. */
386
391
  onchangestyle?: (worksheet: worksheetInstance, newValue: object, oldValue: object) => void;
@@ -430,8 +435,18 @@ declare namespace jspreadsheet {
430
435
  onformulachain?: (worksheet: worksheetInstance, expressions: Array<object>) => void;
431
436
  /** Customize the items available when filter editor is open. */
432
437
  onopenfilter?: (worksheet: worksheetInstance, column: number, options: Array<object>) => void | Array<object>;
438
+ /** When the viewport dimension is updated. */
439
+ onresize?: (worksheet: worksheetInstance, w: number, h: number) => void
440
+ /** Before the references are changed. */
441
+ onbeforechangereferences?: (worksheet: worksheetInstance, affectedTokens: [], deletedTokens: []) => void
442
+ /** When the references are changed. Sorting, Add/Delete/Move Rows and Columns. */
443
+ onchangereferences?: (worksheet: worksheetInstance, affectedTokens: [], deletedTokens: []) => void
433
444
  /** Intercept the ajax call before save. XHR ajax object */
434
445
  onbeforesend?: (worksheet: worksheetInstance, xhr: object) => void
446
+ /** When defined names is affected */
447
+ onchangedefinednames?: (worksheet: object, data: []) => void
448
+ /** New char is entered on editor. */
449
+ oninput?: (worksheet: object, event: object) => void
435
450
  /** Run every single table update action. Can bring performance issues if perform too much changes. */
436
451
  updateTable?: (worksheet: worksheetInstance, cell: Object, x: number, y: number, value: String) => void;
437
452
  /** Return false to cancel the contextMenu event, or return custom elements for the contextmenu. */
@@ -453,17 +468,17 @@ declare namespace jspreadsheet {
453
468
  }
454
469
 
455
470
  interface Worksheet {
456
- /** Logo URL **/
471
+ /** Logo URL */
457
472
  logo?: string
458
473
  /** Load the data from an external server URL */
459
474
  url?: string;
460
- /** Persitence URL or true when the URL is the same of the URL of the data source */
475
+ /** Persistence URL or true when the URL is the same of the URL of the data source */
461
476
  persistence?: string | boolean;
462
477
  /** Allow internal sequence for new rows */
463
478
  sequence?: boolean;
464
479
  /** Load the data into a new spreadsheet from an array of rows or objects */
465
480
  data?: Array<Array<any>> | Array<Record<string, any>>;
466
- /** Deprected. Please use the data property. */
481
+ /** Deprecated. Please use the data property. */
467
482
  json?: Array<Record<string, any>>;
468
483
  /** Array with the rows properties definitions such as title, height. */
469
484
  rows?: Row[];
@@ -471,7 +486,7 @@ declare namespace jspreadsheet {
471
486
  columns?: Array<Column>;
472
487
  /** Define the properties of a cell. This property overwrite the column definitions */
473
488
  cells?: Record<string, Column>;
474
- /** Role of this worksheet **/
489
+ /** Role of this worksheet */
475
490
  role?: string,
476
491
  /** Nested headers definition */
477
492
  nestedHeaders?: Array<Array<Nested>> | Array<Nested>;
@@ -551,13 +566,19 @@ declare namespace jspreadsheet {
551
566
  style?: Record<string, string>;
552
567
  /** Freeze columns. Default: 0 */
553
568
  freezeColumns?: number;
569
+ /** Freeze rows. Default: 0 */
570
+ freezeRows?: number;
571
+ /** Enable freeze column manual control. Default: false */
572
+ freezeColumnControl: boolean,
573
+ /** Enable freeze row manual control. Default: false */
574
+ freezeRowControl: boolean,
554
575
  /** Initial sorting [colNumber, direction]. Default: null */
555
576
  orderBy?: [number, boolean];
556
- /** Worksheet Unique Id. **/
577
+ /** Worksheet Unique Id. */
557
578
  worksheetId?: string;
558
- /** Worksheet Name. **/
579
+ /** Worksheet Name. */
559
580
  worksheetName?: string;
560
- /** Worksheet state: hidden | null. Hide a worksheet **/
581
+ /** Worksheet state: hidden | null. Hide a worksheet */
561
582
  worksheetState?: 'hidden' | undefined;
562
583
  /** Enable the column filters */
563
584
  filters?: boolean;
@@ -573,6 +594,12 @@ declare namespace jspreadsheet {
573
594
  selectUnLockedCells?: boolean;
574
595
  /** Allow the selection of locked cells. Default: true. */
575
596
  selectLockedCells?: boolean;
597
+ /** Enable resizable worksheet in on or both direction (horizontal | vertical | both). Default: none */
598
+ resize?: 'horizontal' | 'vertical' | 'both' | 'none' | undefined;
599
+ /** Wrap. Default: false */
600
+ wrap?: boolean,
601
+ /** Show the worksheet gridlines. Default: true */
602
+ gridline?: boolean,
576
603
  }
577
604
 
578
605
  interface spreadsheetInstance {
@@ -618,9 +645,9 @@ declare namespace jspreadsheet {
618
645
  ignoreHistory: Boolean;
619
646
  /** Ignore persistence events */
620
647
  ignorePersistence: Boolean;
621
- /** HTMLElement editor container **/
648
+ /** HTMLElement editor container */
622
649
  input: HTMLElement;
623
- /** HTMLElement loading element **/
650
+ /** HTMLElement loading element */
624
651
  loading: HTMLElement;
625
652
  /** Rename an existing worksheet by its position */
626
653
  renameWorksheet: (position: Number, title: String) => void;
@@ -704,8 +731,8 @@ declare namespace jspreadsheet {
704
731
  edition: [];
705
732
  /** DOM Worksheet. Alias for worksheet */
706
733
  element: HTMLElement;
707
- /** Internal method: Execute a formula */
708
- executeFormula: (expression: string, x?: number, y?: number, caching?: boolean) => void;
734
+ /** Internal method: Execute a formula. */
735
+ executeFormula: (expression: string, x?: number, y?: number, caching?: boolean, basic?: boolean) => void;
709
736
  /** Navigation first */
710
737
  first: (shiftKey?: boolean, ctrlKey?: boolean) => void;
711
738
  /** Footers */
@@ -760,7 +787,7 @@ declare namespace jspreadsheet {
760
787
  getHeaders: (asArray: boolean) => Array<any>;
761
788
  /** Get the height of one row by its position when height is defined. */
762
789
  getHeight: (row?: number) => Array<number> | number;
763
- /** Get the highlighted coordinates **/
790
+ /** Get the highlighted coordinates */
764
791
  getHighlighted: () => Array<any>;
765
792
  /** Get json */
766
793
  getJson: (h?: boolean, processed?: boolean) => any;
@@ -810,7 +837,7 @@ declare namespace jspreadsheet {
810
837
  getValueFromCoords: (x: number, y: number, processed: boolean) => any;
811
838
  /** Get the width of one column by index or all column width as an array when index is null. */
812
839
  getWidth: (x?: number) => Array<number> | number;
813
- /** Go to the row number, [col number] **/
840
+ /** Go to the row number, [col number] */
814
841
  goto: (y: number, x?: number) => void;
815
842
  /** Hold the header container */
816
843
  headerContainer: HTMLElement;
@@ -867,7 +894,7 @@ declare namespace jspreadsheet {
867
894
  /** Spreadsheet object */
868
895
  parent: spreadsheetInstance;
869
896
  /** Paste */
870
- paste: (x: number, y: number, data: string) => void;
897
+ paste: (x: number, y: number, data: string | any[]) => void;
871
898
  /** Get the quantity of pages when pagination is active */
872
899
  quantityOfPages?: () => number;
873
900
  /** Array with the cell DOM elements */
@@ -902,6 +929,8 @@ declare namespace jspreadsheet {
902
929
  results: Array<number>;
903
930
  /** Navigation right */
904
931
  right: () => void;
932
+ /** Rotate the spreadsheet cell text. cell = A1, B1... etc */
933
+ rotate: (cell: string|string[], value:number) => void;
905
934
  /** DOM array of rows */
906
935
  rows: Array<HTMLElement>;
907
936
  /** Persistence helper method. The callback is executed with a JSON from the server */
@@ -944,7 +973,7 @@ declare namespace jspreadsheet {
944
973
  setFooterValue: (col: number, row: number, value: any) => void;
945
974
  /** Freeze x number of columns */
946
975
  setFreezeColumns: (num: number) => void;
947
- /** Set the header title. Empty to reset to the default header value. */
976
+ /** Set the header title. Empty or null to reset to the default header value. */
948
977
  setHeader: (x: number, title?: String) => void;
949
978
  /** Set the height of one row by its position */
950
979
  setHeight: (row: number, width: number) => void;