diff --git a/.gitignore b/.gitignore index 829aaf0..698c88a 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,7 @@ client/cypress/screenshots client/cypress/results client/cypress/videos client/documentation -client/sheet-crypto* +client/**/sheet-crypto.tgz client/.nx client/libraries/sheet-crypto.tgz cypress.env.json diff --git a/client/licenseChecker.js b/client/licenseChecker.js index 669c15f..6894056 100644 --- a/client/licenseChecker.js +++ b/client/licenseChecker.js @@ -10,7 +10,7 @@ const check = (cwd) => { onlyAllow: 'AFLv2.1;Apache 2.0;Apache-2.0;Apache*;Artistic-2.0;0BSD;BSD*;BSD-2-Clause;BSD-3-Clause;CC0-1.0;CC-BY-3.0;CC-BY-4.0;ISC;MIT;MPL-2.0;ODC-By-1.0;Python-2.0;Unlicense;', excludePackages: - '@cds/city@1.1.0;@handsontable/angular@13.1.0;handsontable@13.1.0;hyperformula@2.7.0;jackspeak@2.2.0;path-scurry@1.7.0' + '@cds/city@1.1.0;@handsontable/angular@14.3.0;handsontable@14.3.0;hyperformula@2.7.0;jackspeak@2.2.0;path-scurry@1.7.0' }, (error, json) => { if (error) { diff --git a/client/package-lock.json b/client/package-lock.json index f6af475..287a56a 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -20,7 +20,7 @@ "@clr/angular": "^17.0.1", "@clr/icons": "^13.0.2", "@clr/ui": "^17.0.1", - "@handsontable/angular": "^13.1.0", + "@handsontable/angular": "^14.3.0", "@sasjs/adapter": "4.10.2", "@sasjs/utils": "^3.4.0", "@sheet/crypto": "file:libraries/sheet-crypto.tgz", @@ -32,7 +32,7 @@ "crypto-js": "^4.2.0", "d3-graphviz": "^5.0.2", "fs-extra": "^7.0.1", - "handsontable": "^13.1.0", + "handsontable": "^14.3.0", "https-browserify": "1.0.0", "hyperformula": "^2.5.0", "iconv-lite": "^0.5.0", @@ -4516,11 +4516,11 @@ "dev": true }, "node_modules/@handsontable/angular": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@handsontable/angular/-/angular-13.1.0.tgz", - "integrity": "sha512-FPU0pPFSG2R8uCk6DjdY8hcCNi+i1cfhe7qkbZfXfJz8EOtF30WN+8QBYO3rza+EOfWJ/7VKExj4Eui+ezXmOQ==", + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@handsontable/angular/-/angular-14.3.0.tgz", + "integrity": "sha512-Tdea1fKgQY1DG1upr2I8AlzbYg+kvI4sw4FU/dwWCgKKUkArAT8bW2aOhZMh55CYLJksLFTgCtPSQQMuSeR39g==", "optionalDependencies": { - "tslib": "^2.2.0" + "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": ">=12.0.0", @@ -4531,9 +4531,14 @@ "@angular/platform-browser": ">=12.0.0", "@angular/platform-browser-dynamic": ">=12.0.0", "@angular/router": ">=12.0.0", - "handsontable": "^13.0.0" + "handsontable": "^14.0.0" } }, + "node_modules/@handsontable/pikaday": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@handsontable/pikaday/-/pikaday-1.0.0.tgz", + "integrity": "sha512-1VN6N38t5/DcjJ7y7XUYrDx1LuzvvzlrFdBdMG90Qo1xc8+LXHqbWbsTEm5Ec5gXTEbDEO53vUT35R+2COmOyg==" + }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -11995,10 +12000,11 @@ } }, "node_modules/handsontable": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/handsontable/-/handsontable-13.1.0.tgz", - "integrity": "sha512-KqJtS3rJeOWsFWCffnDlM8fcLMTqmW+Vbc7OCVM4X7dYDpfefgFerjNLIxLfT9xohcQoUOS1jcvXwV8dwSppVQ==", + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/handsontable/-/handsontable-14.3.0.tgz", + "integrity": "sha512-XRKivPK+DkxWTYr+H6ywwLhSn/B5WMj3F3whF7O+Mo6Edm35rF8ydOm6oxVuVWnkvvy4FLqch7wgQk2w6hC8VA==", "dependencies": { + "@handsontable/pikaday": "^1.0.0", "@types/pikaday": "1.7.4", "core-js": "^3.31.1", "dompurify": "^2.1.1", @@ -12007,7 +12013,7 @@ "pikaday": "1.8.2" }, "optionalDependencies": { - "hyperformula": "^2.4.0" + "hyperformula": "^2.6.2" } }, "node_modules/handsontable/node_modules/core-js": { diff --git a/client/package.json b/client/package.json index 6ed637d..6e5e50f 100644 --- a/client/package.json +++ b/client/package.json @@ -48,9 +48,10 @@ "@clr/angular": "^17.0.1", "@clr/icons": "^13.0.2", "@clr/ui": "^17.0.1", - "@handsontable/angular": "^13.1.0", + "@handsontable/angular": "^14.3.0", "@sasjs/adapter": "4.10.2", "@sasjs/utils": "^3.4.0", + "@sheet/crypto": "file:libraries/sheet-crypto.tgz", "@types/d3-graphviz": "^2.6.7", "@sheet/crypto": "file:libraries/sheet-crypto.tgz", "@types/text-encoding": "0.0.35", @@ -60,7 +61,7 @@ "crypto-js": "^4.2.0", "d3-graphviz": "^5.0.2", "fs-extra": "^7.0.1", - "handsontable": "^13.1.0", + "handsontable": "^14.3.0", "https-browserify": "1.0.0", "hyperformula": "^2.5.0", "iconv-lite": "^0.5.0", diff --git a/client/src/app/editor/editor.component.ts b/client/src/app/editor/editor.component.ts index a84afcc..0246f0b 100644 --- a/client/src/app/editor/editor.component.ts +++ b/client/src/app/editor/editor.component.ts @@ -2044,7 +2044,7 @@ export class EditorComponent implements OnInit, AfterViewInit { (el: DynamicExtendedCellValidation) => el.DISPLAY_TYPE === 'C' ? el.RAW_VALUE_CHAR : el.RAW_VALUE_NUM ) - const cellCol = hot.propToCol(cell) + const cellCol = hot.propToCol(cell) as number const dynamicValidationEl = this.disabledBasicDynamicCellValidationMap.find( (x) => x.row === row && x.col === cellCol @@ -3367,7 +3367,7 @@ export class EditorComponent implements OnInit, AfterViewInit { const row = source[0][0] const colProp = source[0][1] - const col = hot.propToCol(colProp) + const col = hot.propToCol(colProp) as number // On edit we enabled filter for this cell, now when editing is finished // We want filter to be disabled again, to be ready for next dropdown opening. diff --git a/client/src/app/shared/viewboxes/viewboxes.component.ts b/client/src/app/shared/viewboxes/viewboxes.component.ts index b757793..4c3abeb 100644 --- a/client/src/app/shared/viewboxes/viewboxes.component.ts +++ b/client/src/app/shared/viewboxes/viewboxes.component.ts @@ -1078,7 +1078,7 @@ export class ViewboxesComponent implements OnInit, AfterViewInit, OnDestroy { const hotInstance = this.getViewboxHotInstance(viewboxId) if (hotInstance) { - const column = hotInstance.propToCol(colProp) + const column = hotInstance.propToCol(colProp) as number const plugin = hotInstance.getPlugin('manualColumnMove') plugin.moveColumn(column, finalIndex) @@ -1143,7 +1143,7 @@ export class ViewboxesComponent implements OnInit, AfterViewInit, OnDestroy { if (hotInstance) { const columns = colProps.map((prop: string) => { - return hotInstance.propToCol(prop) + return hotInstance.propToCol(prop) as number }) hotInstance.updateSettings({