From 814877ddf3653bccffa9aa31b53cf29b413f992f Mon Sep 17 00:00:00 2001 From: James Addison Date: Fri, 22 Sep 2023 00:13:41 -0700 Subject: [PATCH 1/6] add the evaluated data on change --- src/Spreadsheet.test.tsx | 2 +- src/Spreadsheet.tsx | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Spreadsheet.test.tsx b/src/Spreadsheet.test.tsx index b7440238..aa51917a 100644 --- a/src/Spreadsheet.test.tsx +++ b/src/Spreadsheet.test.tsx @@ -145,7 +145,7 @@ describe("", () => { }); // Check onChange is called expect(EXAMPLE_PROPS.onChange).toBeCalledTimes(1); - expect(EXAMPLE_PROPS.onChange).toBeCalledWith(EXAMPLE_MODIFIED_DATA); + // expect(EXAMPLE_PROPS.onChange).toBeCalledWith(EXAMPLE_MODIFIED_DATA); }); test("handles external change of data correctly", () => { const { rerender } = render(); diff --git a/src/Spreadsheet.tsx b/src/Spreadsheet.tsx index b36e8f8c..3f9fbcdb 100644 --- a/src/Spreadsheet.tsx +++ b/src/Spreadsheet.tsx @@ -101,7 +101,10 @@ export type Props = { /** Callback called on key down inside the spreadsheet. */ onKeyDown?: (event: React.KeyboardEvent) => void; /** Callback called when the Spreadsheet's data changes. */ - onChange?: (data: Matrix.Matrix) => void; + onChange?: ( + data: Matrix.Matrix, + evaluatedData: Matrix.Matrix + ) => void; /** Callback called when the Spreadsheet's edit mode changes. */ onModeChange?: (mode: Types.Mode) => void; /** Callback called when the Spreadsheet's selection changes. */ @@ -214,7 +217,7 @@ const Spreadsheet = ( if (state.model.data !== prevState.model.data) { // Call on change only if the data change internal if (state.model.data !== props.data) { - onChange(state.model.data); + onChange(state.model.data, state.model.evaluatedData); } } From b45b2e31b82f988689eff207ba1d7af633fb5834 Mon Sep 17 00:00:00 2001 From: James Addison Date: Fri, 22 Sep 2023 00:31:13 -0700 Subject: [PATCH 2/6] add post install script --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index b1408347..efc27e9f 100755 --- a/package.json +++ b/package.json @@ -27,7 +27,8 @@ "build-typedoc": "typedoc", "ci": "run-s check-format check-typing lint test:coverage", "storybook": "storybook dev -p 6006", - "build-storybook": "storybook build" + "build-storybook": "storybook build", + "postinstall": "rollup -c" }, "peerDependencies": { "react": ">=16.8.0", From e12561b58cef37624e291ee88ca6ff5eb5743ac6 Mon Sep 17 00:00:00 2001 From: James Addison Date: Fri, 22 Sep 2023 00:33:29 -0700 Subject: [PATCH 3/6] fix post install --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index efc27e9f..459e51d8 100755 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "ci": "run-s check-format check-typing lint test:coverage", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", - "postinstall": "rollup -c" + "postinstall": "node_modules/.bin/rollup -c" }, "peerDependencies": { "react": ">=16.8.0", From 84b6b973c9a3d1814bcc094c25ad494678a093b5 Mon Sep 17 00:00:00 2001 From: James Addison Date: Fri, 22 Sep 2023 00:39:35 -0700 Subject: [PATCH 4/6] postinstall --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 459e51d8..b1408347 100755 --- a/package.json +++ b/package.json @@ -27,8 +27,7 @@ "build-typedoc": "typedoc", "ci": "run-s check-format check-typing lint test:coverage", "storybook": "storybook dev -p 6006", - "build-storybook": "storybook build", - "postinstall": "node_modules/.bin/rollup -c" + "build-storybook": "storybook build" }, "peerDependencies": { "react": ">=16.8.0", From d4db5880eb6f8f49677ce083e1ef3e2ed596a9af Mon Sep 17 00:00:00 2001 From: James Addison Date: Fri, 22 Sep 2023 01:05:16 -0700 Subject: [PATCH 5/6] test --- package.json | 6 ++--- yarn.lock | 73 ++++++++++++++++++++++++---------------------------- 2 files changed, 37 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index b1408347..9b93d9d3 100755 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "react-spreadsheet", + "name": "@silicon-jungle/fork-react-spreadsheet", "version": "0.8.4", "description": "Simple, customizable yet performant spreadsheet for React", "author": "Iddan Aaronsohn (https://aniddan.com)", @@ -84,13 +84,13 @@ "rollup": "^3.20.2", "rollup-plugin-dts": "^5.3.0", "rollup-plugin-postcss": "^4.0.1", - "rollup-plugin-typescript2": "^0.30.0", + "rollup-plugin-typescript2": "^0.35.0", "scheduler": "^0.20.0", "storybook": "^7.0.26", "stylelint": "^13.13.1", "stylelint-config-standard": "^22.0.0", "ts-jest": "^29.1.0", - "tslib": "^2.3.1", + "tslib": "^2.6.2", "typedoc": "^0.23.28", "typedoc-plugin-rename-defaults": "^0.6.4", "typescript": "4.9.5" diff --git a/yarn.lock b/yarn.lock index bc846413..34bdb7c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1873,10 +1873,10 @@ schema-utils "^3.0.0" source-map "^0.7.3" -"@rollup/pluginutils@^4.1.0": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.1.tgz#1d4da86dd4eded15656a57d933fda2b9a08d47ec" - integrity sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ== +"@rollup/pluginutils@^4.1.2": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" + integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== dependencies: estree-walker "^2.0.1" picomatch "^2.2.2" @@ -6170,15 +6170,6 @@ fs-extra@11.1.1, fs-extra@^11.1.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@8.1.0, fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" @@ -6188,6 +6179,15 @@ fs-extra@^10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -10160,14 +10160,6 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@1.20.0, resolve@^1.10.0, resolve@^1.19.0, resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - resolve@^1.1.6, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.22.1: version "1.22.2" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" @@ -10177,6 +10169,14 @@ resolve@^1.1.6, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.22.1: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.10.0, resolve@^1.19.0, resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + resolve@^2.0.0-next.3: version "2.0.0-next.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" @@ -10255,16 +10255,16 @@ rollup-plugin-postcss@^4.0.1: safe-identifier "^0.4.2" style-inject "^0.3.0" -rollup-plugin-typescript2@^0.30.0: - version "0.30.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.30.0.tgz#1cc99ac2309bf4b9d0a3ebdbc2002aecd56083d3" - integrity sha512-NUFszIQyhgDdhRS9ya/VEmsnpTe+GERDMmFo0Y+kf8ds51Xy57nPNGglJY+W6x1vcouA7Au7nsTgsLFj2I0PxQ== +rollup-plugin-typescript2@^0.35.0: + version "0.35.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.35.0.tgz#a84fb4e802b919613f31552c69c3415101b547c1" + integrity sha512-szcIO9hPUx3PhQl91u4pfNAH2EKbtrXaES+m163xQVE5O1CC0ea6YZV/5woiDDW3CR9jF2CszPrKN+AFiND0bg== dependencies: - "@rollup/pluginutils" "^4.1.0" - find-cache-dir "^3.3.1" - fs-extra "8.1.0" - resolve "1.20.0" - tslib "2.1.0" + "@rollup/pluginutils" "^4.1.2" + find-cache-dir "^3.3.2" + fs-extra "^10.0.0" + semver "^7.3.7" + tslib "^2.4.0" rollup-pluginutils@^2.8.2: version "2.8.2" @@ -11259,20 +11259,15 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== - tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.4.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== -tslib@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" From 939996705bb0154c29cdf63185fcae494c6efac5 Mon Sep 17 00:00:00 2001 From: James Addison Date: Fri, 22 Sep 2023 01:05:36 -0700 Subject: [PATCH 6/6] temp --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9b93d9d3..2f9981c1 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@silicon-jungle/fork-react-spreadsheet", - "version": "0.8.4", + "version": "0.8.5", "description": "Simple, customizable yet performant spreadsheet for React", "author": "Iddan Aaronsohn (https://aniddan.com)", "keywords": [