Skip to content

Commit e51a77f

Browse files
authored
Merge pull request #66 from mura-/downgrade-handsontable
Downgraded for commercial
2 parents 4002661 + 801ff86 commit e51a77f

File tree

3 files changed

+41
-80
lines changed

3 files changed

+41
-80
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"@handsontable/react": "^4.0.0",
2424
"@kintone/kintone-ui-component": "^0.7.2",
2525
"@kintone/rest-api-client": "^1.4.1",
26-
"handsontable": "^8.0.0",
26+
"handsontable": "6.2.2",
2727
"i18next": "^19.4.5",
2828
"react": "^16.13.1",
2929
"react-dom": "^16.13.1",

src/js/spreadsheet/index.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
import React, { useEffect, useRef, useMemo } from 'react';
1+
import React, { useEffect, useRef } from 'react';
22
import { usePageVisibility } from 'react-page-visibility';
33
import Handsontable from 'handsontable';
44
import { HotTable } from '@handsontable/react';
55
import 'handsontable/dist/handsontable.full.css';
6-
import { useAsync, useAsyncFn } from 'react-use';
7-
import { Record } from '@kintone/rest-api-client/lib/client/types';
6+
import { useAsync } from 'react-use';
87
import styled from '@emotion/styled';
98
import { Alert } from '@kintone/kintone-ui-component';
109
import { useTranslation } from 'react-i18next';
@@ -21,8 +20,8 @@ import {
2120
import { Loader } from '~/src/js/spreadsheet/Loader';
2221

2322
type SpreadSheetProps = {
24-
saveAfterChange: Handsontable.Hooks.Events['afterChange'];
25-
beforeRemoveRow: Handsontable.Hooks.Events['beforeRemoveRow'];
23+
saveAfterChange: Handsontable.Hooks['afterChange'];
24+
beforeRemoveRow: Handsontable.Hooks['beforeRemoveRow'];
2625
colHeaders: Handsontable.GridSettings['colHeaders'];
2726
columns: Handsontable.GridSettings['columns'];
2827
dataSchema: Handsontable.GridSettings['dataSchema'];
@@ -88,8 +87,8 @@ const getColumnData = async (config: Config, appId: number, onChange: any) => {
8887
});
8988

9089
// 各セルの設定
91-
const columnDatas: Handsontable.ColumnSettings[] = config.columns.map(({ code }) => {
92-
const columnData: Handsontable.ColumnSettings = { data: `${code}.value` };
90+
const columnDatas: Handsontable.GridSettings['columns'] = config.columns.map(({ code }) => {
91+
const columnData: Handsontable.GridSettings = { data: `${code}.value` };
9392

9493
// if type is DROP_DOWN, add type and source property
9594
if (resp.properties[code].type === 'DROP_DOWN' || resp.properties[code].type === 'RADIO_BUTTON') {
@@ -121,7 +120,8 @@ const getColumnData = async (config: Config, appId: number, onChange: any) => {
121120
});
122121

123122
// データスキーマの作成
124-
const dataSchema: Handsontable.RowObject = config.columns.reduce((prev, { code }) => {
123+
// const dataSchema: Handsontable.RowObject = config.columns.reduce((prev, { code }) => {
124+
const dataSchema = config.columns.reduce((prev, { code }) => {
125125
return {
126126
...prev,
127127
[code]: { type: resp.properties[code].type, value: (resp.properties[code] as any).defaultValue },
@@ -192,8 +192,8 @@ export const useSpreadSheet = ({ config, query, appId }: { config: Config; query
192192
const fetchedAppDataState = useAsync(async (): Promise<{
193193
columnData: {
194194
colHeaders: any[];
195-
columnDatas: Handsontable.ColumnSettings[];
196-
dataSchema: Handsontable.RowObject;
195+
columnDatas: Handsontable.GridSettings['columns'];
196+
dataSchema: Handsontable.GridSettings['data'];
197197
};
198198
}> => {
199199
const columnData = await getColumnData(config, appId, onChangeCheckbox).catch((e) => {
@@ -262,8 +262,8 @@ const MemoedHotTable = React.memo<SpreadSheetProps>(
262262
rowHeaders
263263
contextMenu={['remove_row']}
264264
minSpareRows={1}
265-
width="100%"
266-
height="100vh"
265+
// width="100%"
266+
// height="100vh"
267267
colHeaders={colHeaders}
268268
columns={columns}
269269
dataSchema={dataSchema}

yarn.lock

Lines changed: 28 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -417,14 +417,6 @@
417417
resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46"
418418
integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==
419419

420-
"@handsontable/formulajs@^2.0.2":
421-
version "2.0.2"
422-
resolved "https://registry.yarnpkg.com/@handsontable/formulajs/-/formulajs-2.0.2.tgz#5be4b9226cc47811f646ae46b1b985230cd82995"
423-
integrity sha512-maIyMJtYjA5e/R9nyA22Qd7Yw73MBSxClJvle0a8XWAS/5l6shc/OFpQqrmwMy4IXUCmywJ9ER0gOGz/YA720w==
424-
dependencies:
425-
bessel "^1.0.2"
426-
jstat "^1.9.2"
427-
428420
"@handsontable/react@^4.0.0":
429421
version "4.0.0"
430422
resolved "https://registry.yarnpkg.com/@handsontable/react/-/react-4.0.0.tgz#484423752d21d1313af5fed7cad6fef5e02ea676"
@@ -818,13 +810,6 @@
818810
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
819811
integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
820812

821-
"@types/pikaday@1.7.4":
822-
version "1.7.4"
823-
resolved "https://registry.yarnpkg.com/@types/pikaday/-/pikaday-1.7.4.tgz#aa41f928f0f5af31a4a656f471a78177a9260abf"
824-
integrity sha512-0KsHVyw5pTG829nqG4IRu7m+BFQlFEBdbE/1i3S5182HeKUKv1uEW0gyEmkJVp5i4IV+9pyh23O83+KpRkSQbw==
825-
dependencies:
826-
moment ">=2.14.0"
827-
828813
"@types/prettier@^2.0.0":
829814
version "2.0.1"
830815
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.1.tgz#b6e98083f13faa1e5231bfa3bdb1b0feff536b6d"
@@ -1619,11 +1604,6 @@ bcrypt-pbkdf@^1.0.0:
16191604
dependencies:
16201605
tweetnacl "^0.14.3"
16211606

1622-
bessel@^1.0.2:
1623-
version "1.0.2"
1624-
resolved "https://registry.yarnpkg.com/bessel/-/bessel-1.0.2.tgz#828812291e0b62e94959cdea43fac186e8a7202d"
1625-
integrity sha512-Al3nHGQGqDYqqinXhQzmwmcRToe/3WyBv4N8aZc5Pef8xw2neZlR9VPi84Sa23JtgWcucu18HxVZrnI0fn2etw==
1626-
16271607
bfj@^6.1.1:
16281608
version "6.1.2"
16291609
resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f"
@@ -1639,7 +1619,7 @@ big.js@^5.2.2:
16391619
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
16401620
integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
16411621

1642-
bignumber.js@^8.0.1:
1622+
bignumber.js@^8.1.1:
16431623
version "8.1.1"
16441624
resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-8.1.1.tgz#4b072ae5aea9c20f6730e4e5d529df1271c4d885"
16451625
integrity sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==
@@ -2415,7 +2395,7 @@ core-js-pure@^3.0.0:
24152395
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813"
24162396
integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==
24172397

2418-
core-js@^3.0.0, core-js@^3.6.5:
2398+
core-js@^3.6.5:
24192399
version "3.6.5"
24202400
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a"
24212401
integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==
@@ -4105,17 +4085,14 @@ gzip-size@^5.0.0:
41054085
duplexer "^0.1.1"
41064086
pify "^4.0.1"
41074087

4108-
handsontable@^8.0.0:
4109-
version "8.0.0"
4110-
resolved "https://registry.yarnpkg.com/handsontable/-/handsontable-8.0.0.tgz#c1d200eeea5b01b2ca89eac981749ac7aac80c53"
4111-
integrity sha512-6vqmAGmv6Pi1sliCZ7p6IU2IRW+RtrYYfFaksxNEKxvntxCPNqbrrfIcTJDx2nH50ggLVOI4PWHVJql/YZeqrg==
4088+
handsontable@6.2.2:
4089+
version "6.2.2"
4090+
resolved "https://registry.yarnpkg.com/handsontable/-/handsontable-6.2.2.tgz#f1250f3f374abdf7d4a0080950482d3edeea8f07"
4091+
integrity sha512-Z/sQa51OMHH4RoeBJeANYJMJYmx5SR+/xP8JCh5mzKJnAMKoQWF1zONPNgNCFZ/LdKFmI0f34XKtU0GHW0MG/Q==
41124092
dependencies:
4113-
"@types/pikaday" "1.7.4"
4114-
core-js "^3.0.0"
4115-
hot-formula-parser "^3.0.1"
4116-
moment "2.24.0"
4117-
numbro "2.1.2"
4118-
pikaday "1.8.0"
4093+
moment "2.20.1"
4094+
numbro "^2.0.6"
4095+
pikaday "1.5.1"
41194096

41204097
har-schema@^2.0.0:
41214098
version "2.0.0"
@@ -4248,14 +4225,6 @@ hosted-git-info@^2.1.4:
42484225
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
42494226
integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
42504227

4251-
hot-formula-parser@^3.0.1:
4252-
version "3.0.2"
4253-
resolved "https://registry.yarnpkg.com/hot-formula-parser/-/hot-formula-parser-3.0.2.tgz#d71f03a4ef43ba3074bde383a0e36202b5b64116"
4254-
integrity sha512-W/Dj/UbIyuViMIQOQD6tUEVySl7jd6ei+gfWslTiRqa4yRhkyHnIz8N4oLnqgDRhhVAQIcFF5NfNz49k4X8IxQ==
4255-
dependencies:
4256-
"@handsontable/formulajs" "^2.0.2"
4257-
tiny-emitter "^2.1.0"
4258-
42594228
html-encoding-sniffer@^2.0.1:
42604229
version "2.0.1"
42614230
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3"
@@ -5468,11 +5437,6 @@ jsprim@^1.2.2:
54685437
json-schema "0.2.3"
54695438
verror "1.10.0"
54705439

5471-
jstat@^1.9.2:
5472-
version "1.9.3"
5473-
resolved "https://registry.yarnpkg.com/jstat/-/jstat-1.9.3.tgz#6a0e60c3b87fd714b61e765b77fc6b035437ee34"
5474-
integrity sha512-/2JL4Xv6xfhN2+AEKQGTYr1LZTmBCR/5fHxJVvb9zWNsmKZfKrl3wYYK8SD/Z8kXkf+ZSusfumLZ4wDTHrWujA==
5475-
54765440
jsx-ast-utils@^2.2.3:
54775441
version "2.4.1"
54785442
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e"
@@ -6105,15 +6069,15 @@ mkdirp@^1.0.3, mkdirp@^1.0.4:
61056069
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
61066070
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
61076071

6108-
moment@2.24.0:
6109-
version "2.24.0"
6110-
resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
6111-
integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
6072+
moment@2.20.1:
6073+
version "2.20.1"
6074+
resolved "https://registry.yarnpkg.com/moment/-/moment-2.20.1.tgz#d6eb1a46cbcc14a2b2f9434112c1ff8907f313fd"
6075+
integrity sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==
61126076

6113-
moment@>=2.14.0:
6114-
version "2.26.0"
6115-
resolved "https://registry.yarnpkg.com/moment/-/moment-2.26.0.tgz#5e1f82c6bafca6e83e808b30c8705eed0dcbd39a"
6116-
integrity sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==
6077+
moment@2.x:
6078+
version "2.29.1"
6079+
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
6080+
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
61176081

61186082
move-concurrently@^1.0.1:
61196083
version "1.0.1"
@@ -6375,12 +6339,12 @@ number-is-nan@^1.0.0:
63756339
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
63766340
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
63776341

6378-
numbro@2.1.2:
6379-
version "2.1.2"
6380-
resolved "https://registry.yarnpkg.com/numbro/-/numbro-2.1.2.tgz#2d51104f09b5d69aef7e15bb565d7795e47ecfd6"
6381-
integrity sha512-7w833BxZmKGLE9HI0aREtNVRVH6WTYUUlWf4qgA5gKNhPQ4F/MRZ14sc0v8eoLORprk9ZTVwYaLwj8N3Zgxwiw==
6342+
numbro@^2.0.6:
6343+
version "2.3.2"
6344+
resolved "https://registry.yarnpkg.com/numbro/-/numbro-2.3.2.tgz#4967c631b0ea99b17dd7f88cdd1eaa4ace4d4971"
6345+
integrity sha512-GHRdsyYs6ugRP0mipuBKTybzTPKdlhzKh271PG3hPwL1fg2DKwK/I2nCsh0gW3FfIKBzWIFoBnousQfiAkOuwQ==
63826346
dependencies:
6383-
bignumber.js "^8.0.1"
6347+
bignumber.js "^8.1.1"
63846348

63856349
nwsapi@^2.2.0:
63866350
version "2.2.0"
@@ -6877,10 +6841,12 @@ pify@^4.0.1:
68776841
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
68786842
integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
68796843

6880-
pikaday@1.8.0:
6881-
version "1.8.0"
6882-
resolved "https://registry.yarnpkg.com/pikaday/-/pikaday-1.8.0.tgz#ce930e257042e852e6aadee1115e01554b2d71c5"
6883-
integrity sha512-SgGxMYX0NHj9oQnMaSyAipr2gOrbB4Lfs/TJTb6H6hRHs39/5c5VZi73Q8hr53+vWjdn6HzkWcj8Vtl3c9ziaA==
6844+
pikaday@1.5.1:
6845+
version "1.5.1"
6846+
resolved "https://registry.yarnpkg.com/pikaday/-/pikaday-1.5.1.tgz#0a48549bc1a14ea1d08c44074d761bc2f2bfcfd3"
6847+
integrity sha1-CkhUm8GhTqHQjEQHTXYbwvK/z9M=
6848+
optionalDependencies:
6849+
moment "2.x"
68846850

68856851
pinkie-promise@^2.0.0:
68866852
version "2.0.1"
@@ -8926,11 +8892,6 @@ timers-browserify@^2.0.4:
89268892
dependencies:
89278893
setimmediate "^1.0.4"
89288894

8929-
tiny-emitter@^2.1.0:
8930-
version "2.1.0"
8931-
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
8932-
integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
8933-
89348895
tmp@^0.0.33:
89358896
version "0.0.33"
89368897
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"

0 commit comments

Comments
 (0)