m2mui-datasheet 4.0.0 → 4.0.1
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/Cell.d.ts +5 -4
- package/Cell.js +14 -28
- package/Cell.js.map +1 -1
- package/Controller.d.ts +5 -1
- package/Controller.js +2 -8
- package/Controller.js.map +1 -1
- package/CustomCell.js +4 -5
- package/CustomCell.js.map +1 -1
- package/DataSheet.d.ts +2 -4
- package/DataSheet.js +21 -39
- package/DataSheet.js.map +1 -1
- package/DataSheetCheckbox.d.ts +4 -1
- package/DataSheetCheckbox.js +6 -14
- package/DataSheetCheckbox.js.map +1 -1
- package/DataSheetInput.d.ts +3 -1
- package/DataSheetInput.js +1 -5
- package/DataSheetInput.js.map +1 -1
- package/DataSheetSelect.d.ts +5 -1
- package/DataSheetSelect.js +1 -5
- package/DataSheetSelect.js.map +1 -1
- package/InnerElement.d.ts +1 -1
- package/InnerElement.js +13 -24
- package/InnerElement.js.map +1 -1
- package/README.md +1 -78
- package/cjs/Cell.js +11 -29
- package/cjs/Cell.js.map +1 -1
- package/cjs/Controller.js +2 -13
- package/cjs/Controller.js.map +1 -1
- package/cjs/CustomCell.js +5 -16
- package/cjs/CustomCell.js.map +1 -1
- package/cjs/DataSheet.js +55 -55
- package/cjs/DataSheet.js.map +1 -1
- package/cjs/DataSheetCheckbox.js +3 -13
- package/cjs/DataSheetCheckbox.js.map +1 -1
- package/cjs/DataSheetInput.js +2 -11
- package/cjs/DataSheetInput.js.map +1 -1
- package/cjs/DataSheetSelect.js +2 -11
- package/cjs/DataSheetSelect.js.map +1 -1
- package/cjs/InnerElement.js +8 -24
- package/cjs/InnerElement.js.map +1 -1
- package/cjs/index.js +0 -6
- package/cjs/index.js.map +1 -1
- package/cjs/useOnClickOutside.js +3 -11
- package/cjs/useOnClickOutside.js.map +1 -1
- package/esm/Cell.js +14 -28
- package/esm/Cell.js.map +1 -1
- package/esm/Controller.js +2 -8
- package/esm/Controller.js.map +1 -1
- package/esm/CustomCell.js +4 -5
- package/esm/CustomCell.js.map +1 -1
- package/esm/DataSheet.js +21 -39
- package/esm/DataSheet.js.map +1 -1
- package/esm/DataSheetCheckbox.js +6 -14
- package/esm/DataSheetCheckbox.js.map +1 -1
- package/esm/DataSheetInput.js +1 -5
- package/esm/DataSheetInput.js.map +1 -1
- package/esm/DataSheetSelect.js +1 -5
- package/esm/DataSheetSelect.js.map +1 -1
- package/esm/InnerElement.js +13 -24
- package/esm/InnerElement.js.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/useOnClickOutside.js +3 -8
- package/esm/useOnClickOutside.js.map +1 -1
- package/index.js.map +1 -1
- package/package.json +24 -44
- package/types/Cell.d.ts +5 -4
- package/types/Controller.d.ts +5 -1
- package/types/DataSheet.d.ts +2 -4
- package/types/DataSheetCheckbox.d.ts +4 -1
- package/types/DataSheetInput.d.ts +3 -1
- package/types/DataSheetSelect.d.ts +5 -1
- package/types/InnerElement.d.ts +1 -1
- package/types/useOnClickOutside.d.ts +1 -1
- package/useOnClickOutside.d.ts +1 -1
- package/useOnClickOutside.js +3 -8
- package/useOnClickOutside.js.map +1 -1
package/cjs/Controller.js
CHANGED
|
@@ -2,45 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.DownloadButton = exports.Controller = void 0;
|
|
5
|
-
|
|
6
5
|
var _react = require("@emotion/react");
|
|
7
|
-
|
|
8
6
|
var _react2 = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
8
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
13
|
-
|
|
14
9
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
15
|
-
|
|
16
10
|
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
17
11
|
name: "17ncf2e",
|
|
18
12
|
styles: "box-sizing:border-box;display:flex;justify-content:flex-end;background-color:#f8f9fa;border-top:1px solid #e1e3e3;border-right:1px solid #e1e3e3;border-left:1px solid #e1e3e3"
|
|
19
13
|
} : {
|
|
20
14
|
name: "1h7ldop-Controller",
|
|
21
15
|
styles: "box-sizing:border-box;display:flex;justify-content:flex-end;background-color:#f8f9fa;border-top:1px solid #e1e3e3;border-right:1px solid #e1e3e3;border-left:1px solid #e1e3e3;label:Controller;",
|
|
22
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
16
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVYyIsImZpbGUiOiIuLi8uLi9zcmMvQ29udHJvbGxlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuaW50ZXJmYWNlIENvbnRyb2xsZXJQcm9wcyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjxcImRpdlwiPiB7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5leHBvcnQgY29uc3QgQ29udHJvbGxlciA9IChwcm9wczogQ29udHJvbGxlclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTFlM2UzO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTFlM2UzO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMWUzZTM7XG4gICAgICBgfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgRG93bmxvYWRCdXR0b24gPSAoXG4gIHByb3BzOiBSZWFjdC5EZXRhaWxlZEhUTUxQcm9wczxcbiAgICBSZWFjdC5CdXR0b25IVE1MQXR0cmlidXRlczxIVE1MQnV0dG9uRWxlbWVudD4sXG4gICAgSFRNTEJ1dHRvbkVsZW1lbnRcbiAgPixcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIHRpdGxlPXtgQ1NW5b2i5byP44Gn44OH44O844K/44KS44OA44Km44Oz44Ot44O844OJ44GX44G+44GZ44CCXG5DdHJs44G+44Gf44GvQ29tbWFuZOOCkuaKvOOBl+OBquOBjOOCieOCr+ODquODg+OCr+OBmeOCi+OBk+OBqOOBp+WQjeWJjeOCkuS7mOOBkeOBpuODgOOCpuODs+ODreODvOODieOBp+OBjeOBvuOBmeOAgmB9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnM7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWUzZTM7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPHN2Z1xuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgZW5hYmxlQmFja2dyb3VuZD1cIm5ldyAwIDAgMjQgMjRcIlxuICAgICAgICBoZWlnaHQ9XCIyNHB4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgIHdpZHRoPVwiMjRweFwiXG4gICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgID5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHJlY3QgZmlsbD1cIm5vbmVcIiBoZWlnaHQ9XCIyNFwiIHdpZHRoPVwiMjRcIiAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNNSwyMGgxNHYtMkg1VjIweiBNMTksOWgtNFYzSDl2Nkg1bDcsN0wxOSw5elwiIC8+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuICApO1xufTtcbiJdfQ== */",
|
|
23
17
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
24
18
|
};
|
|
25
|
-
|
|
26
19
|
const Controller = props => {
|
|
27
20
|
return (0, _react.jsx)("div", _extends({
|
|
28
21
|
css: _ref2
|
|
29
22
|
}, props));
|
|
30
23
|
};
|
|
31
|
-
|
|
32
24
|
exports.Controller = Controller;
|
|
33
|
-
|
|
34
25
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
35
26
|
name: "1nlr1g4",
|
|
36
27
|
styles: "box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0px;margin:0px;cursor:pointer;background-color:#f8f9fa;border:none;outline:none;transition:0.2s;appearance:none;&:hover{background-color:#e1e3e3;}"
|
|
37
28
|
} : {
|
|
38
29
|
name: "1xvqni3-DownloadButton",
|
|
39
30
|
styles: "box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0px;margin:0px;cursor:pointer;background-color:#f8f9fa;border:none;outline:none;transition:0.2s;appearance:none;&:hover{background-color:#e1e3e3;};label:DownloadButton;",
|
|
40
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
31
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQ2MiLCJmaWxlIjoiLi4vLi4vc3JjL0NvbnRyb2xsZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmludGVyZmFjZSBDb250cm9sbGVyUHJvcHMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8XCJkaXZcIj4ge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRyb2xsZXIgPSAocHJvcHM6IENvbnRyb2xsZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UxZTNlMztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UxZTNlMztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTFlM2UzO1xuICAgICAgYH1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IERvd25sb2FkQnV0dG9uID0gKFxuICBwcm9wczogUmVhY3QuRGV0YWlsZWRIVE1MUHJvcHM8XG4gICAgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+LFxuICAgIEhUTUxCdXR0b25FbGVtZW50XG4gID4sXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICB0aXRsZT17YENTVuW9ouW8j+OBp+ODh+ODvOOCv+OCkuODgOOCpuODs+ODreODvOODieOBl+OBvuOBmeOAglxuQ3RybOOBvuOBn+OBr0NvbW1hbmTjgpLmirzjgZfjgarjgYzjgonjgq/jg6rjg4Pjgq/jgZnjgovjgZPjgajjgaflkI3liY3jgpLku5jjgZHjgabjg4Djgqbjg7Pjg63jg7zjg4njgafjgY3jgb7jgZnjgIJgfVxuICAgICAgey4uLnByb3BzfVxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlM2UzO1xuICAgICAgICB9XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIGVuYWJsZUJhY2tncm91bmQ9XCJuZXcgMCAwIDI0IDI0XCJcbiAgICAgICAgaGVpZ2h0PVwiMjRweFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICB3aWR0aD1cIjI0cHhcIlxuICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICA+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxyZWN0IGZpbGw9XCJub25lXCIgaGVpZ2h0PVwiMjRcIiB3aWR0aD1cIjI0XCIgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTUsMjBoMTR2LTJINVYyMHogTTE5LDloLTRWM0g5djZINWw3LDdMMTksOXpcIiAvPlxuICAgICAgICA8L2c+XG4gICAgICA8L3N2Zz5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn07XG4iXX0= */",
|
|
41
32
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
42
33
|
};
|
|
43
|
-
|
|
44
34
|
const DownloadButton = props => {
|
|
45
35
|
return (0, _react.jsx)("button", _extends({
|
|
46
36
|
title: `CSV形式でデータをダウンロードします。
|
|
@@ -63,6 +53,5 @@ CtrlまたはCommandを押しながらクリックすることで名前を付け
|
|
|
63
53
|
d: "M5,20h14v-2H5V20z M19,9h-4V3H9v6H5l7,7L19,9z"
|
|
64
54
|
}))));
|
|
65
55
|
};
|
|
66
|
-
|
|
67
56
|
exports.DownloadButton = DownloadButton;
|
|
68
57
|
//# sourceMappingURL=Controller.js.map
|
package/cjs/Controller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Controller.js","names":["Controller","props","DownloadButton"],"sources":["../../src/Controller.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\
|
|
1
|
+
{"version":3,"file":"Controller.js","names":["_react","require","_react2","_interopRequireDefault","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_EMOTION_STRINGIFIED_CSS_ERROR__","_ref2","process","env","NODE_ENV","name","styles","map","toString","Controller","props","jsx","css","exports","_ref","DownloadButton","title","type","xmlns","enableBackground","height","viewBox","width","fill","d"],"sources":["../../src/Controller.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\ninterface ControllerProps extends React.ComponentPropsWithoutRef<\"div\"> {\n children?: React.ReactNode;\n}\n\nexport const Controller = (props: ControllerProps) => {\n return (\n <div\n css={css`\n box-sizing: border-box;\n display: flex;\n justify-content: flex-end;\n background-color: #f8f9fa;\n border-top: 1px solid #e1e3e3;\n border-right: 1px solid #e1e3e3;\n border-left: 1px solid #e1e3e3;\n `}\n {...props}\n />\n );\n};\n\nexport const DownloadButton = (\n props: React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >,\n) => {\n return (\n <button\n title={`CSV形式でデータをダウンロードします。\nCtrlまたはCommandを押しながらクリックすることで名前を付けてダウンロードできます。`}\n {...props}\n type=\"button\"\n css={css`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n padding: 0px;\n margin: 0px;\n cursor: pointer;\n background-color: #f8f9fa;\n border: none;\n outline: none;\n transition: 0.2s;\n appearance: none;\n &:hover {\n background-color: #e1e3e3;\n }\n `}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n enableBackground=\"new 0 0 24 24\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#000000\"\n >\n <g>\n <rect fill=\"none\" height=\"24\" width=\"24\" />\n </g>\n <g>\n <path d=\"M5,20h14v-2H5V20z M19,9h-4V3H9v6H5l7,7L19,9z\" />\n </g>\n </svg>\n </button>\n );\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,iCAAA;AAAA,IAAAC,KAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAR;AAAA;AAMnB,MAAMS,UAAU,GAAIC,KAAsB,IAAK;EACpD,OACE,IAAA/B,MAAA,CAAAgC,GAAA,SAAAzB,QAAA;IACE0B,GAAG,EAAAX;EAQD,GACES,KAAK,CACV,CAAC;AAEN,CAAC;AAACG,OAAA,CAAAJ,UAAA,GAAAA,UAAA;AAAA,IAAAK,IAAA,GAAAZ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAR;AAAA;AAEK,MAAMe,cAAc,GACzBL,KAGC,IACE;EACH,OACE,IAAA/B,MAAA,CAAAgC,GAAA,YAAAzB,QAAA;IACE8B,KAAK,EAAG;AACd;EAAgD,GACtCN,KAAK;IACTO,IAAI,EAAC,QAAQ;IACbL,GAAG,EAAAE;EAkBD,IAEF,IAAAnC,MAAA,CAAAgC,GAAA;IACEO,KAAK,EAAC,4BAA4B;IAClCC,gBAAgB,EAAC,eAAe;IAChCC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,KAAK,EAAC,MAAM;IACZC,IAAI,EAAC;EAAS,GAEd,IAAA5C,MAAA,CAAAgC,GAAA,aACE,IAAAhC,MAAA,CAAAgC,GAAA;IAAMY,IAAI,EAAC,MAAM;IAACH,MAAM,EAAC,IAAI;IAACE,KAAK,EAAC;EAAI,CAAE,CACzC,CAAC,EACJ,IAAA3C,MAAA,CAAAgC,GAAA,aACE,IAAAhC,MAAA,CAAAgC,GAAA;IAAMa,CAAC,EAAC;EAA8C,CAAE,CACvD,CACA,CACC,CAAC;AAEb,CAAC;AAACX,OAAA,CAAAE,cAAA,GAAAA,cAAA","ignoreList":[]}
|
package/cjs/CustomCell.js
CHANGED
|
@@ -2,24 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.CustomCell = void 0;
|
|
5
|
-
|
|
6
5
|
var _Cell = require("./Cell");
|
|
7
|
-
|
|
8
6
|
var _DataSheetCheckbox = require("./DataSheetCheckbox");
|
|
9
|
-
|
|
10
7
|
var _DataSheetInput = require("./DataSheetInput");
|
|
11
|
-
|
|
12
8
|
var _DataSheetSelect = require("./DataSheetSelect");
|
|
13
|
-
|
|
14
9
|
var _reactWindow = require("react-window");
|
|
15
|
-
|
|
16
10
|
var _react = _interopRequireDefault(require("react"));
|
|
17
|
-
|
|
18
11
|
var _react2 = require("@emotion/react");
|
|
19
|
-
|
|
20
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access */
|
|
21
14
|
|
|
22
|
-
const CustomCell = /*#__PURE__*/_react.default.memo(({
|
|
15
|
+
const CustomCell = exports.CustomCell = /*#__PURE__*/_react.default.memo(({
|
|
23
16
|
columnIndex,
|
|
24
17
|
rowIndex,
|
|
25
18
|
style,
|
|
@@ -41,7 +34,6 @@ const CustomCell = /*#__PURE__*/_react.default.memo(({
|
|
|
41
34
|
}) => {
|
|
42
35
|
const x = rowIndex;
|
|
43
36
|
const y = columnIndex - 1;
|
|
44
|
-
|
|
45
37
|
if (y === -1) {
|
|
46
38
|
return (0, _react2.jsx)(_Cell.RowHeadCell, {
|
|
47
39
|
title: `${x}行目を選択`,
|
|
@@ -55,7 +47,6 @@ const CustomCell = /*#__PURE__*/_react.default.memo(({
|
|
|
55
47
|
style: style
|
|
56
48
|
}, x);
|
|
57
49
|
}
|
|
58
|
-
|
|
59
50
|
const row = rows[x];
|
|
60
51
|
const cell = row[y];
|
|
61
52
|
const {
|
|
@@ -70,8 +61,9 @@ const CustomCell = /*#__PURE__*/_react.default.memo(({
|
|
|
70
61
|
x: x,
|
|
71
62
|
y: y
|
|
72
63
|
});
|
|
73
|
-
|
|
74
|
-
|
|
64
|
+
const makeOptions = () =>
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
66
|
+
list ? typeof list === "function" ? list({
|
|
75
67
|
row: data[x]
|
|
76
68
|
}).map((option, i) => (0, _react2.jsx)("option", {
|
|
77
69
|
value: option,
|
|
@@ -80,7 +72,6 @@ const CustomCell = /*#__PURE__*/_react.default.memo(({
|
|
|
80
72
|
value: option,
|
|
81
73
|
key: `${option}-${i}`
|
|
82
74
|
}, option)) : null;
|
|
83
|
-
|
|
84
75
|
const displayValue = cell === undefined ? "" : formatter ? formatter(cell, {
|
|
85
76
|
row: data[y]
|
|
86
77
|
}) : `${cell}`;
|
|
@@ -133,6 +124,4 @@ const CustomCell = /*#__PURE__*/_react.default.memo(({
|
|
|
133
124
|
id: key
|
|
134
125
|
}, makeOptions()) : null));
|
|
135
126
|
}, _reactWindow.areEqual);
|
|
136
|
-
|
|
137
|
-
exports.CustomCell = CustomCell;
|
|
138
127
|
//# sourceMappingURL=CustomCell.js.map
|
package/cjs/CustomCell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomCell.js","names":["CustomCell","React","memo","columnIndex","rowIndex","style","data","columns","handleSelectRow","handleMouseDownRow","handleMouseOverRow","handleMouseUpRow","isSelectRow","rows","handleChangeDataEditor","isSelection","handleMouseDown","handleMouseOver","handleChangeCheckbox","x","y","row","cell","readonly","type","list","key","validator","formatter","
|
|
1
|
+
{"version":3,"file":"CustomCell.js","names":["_Cell","require","_DataSheetCheckbox","_DataSheetInput","_DataSheetSelect","_reactWindow","_react","_interopRequireDefault","_react2","obj","__esModule","default","CustomCell","exports","React","memo","columnIndex","rowIndex","style","data","columns","handleSelectRow","handleMouseDownRow","handleMouseOverRow","handleMouseUpRow","isSelectRow","rows","handleChangeDataEditor","isSelection","handleMouseDown","handleMouseOver","handleChangeCheckbox","x","y","jsx","RowHeadCell","title","onClick","onMouseDown","onMouseOver","onMouseUp","selected","row","cell","readonly","type","list","key","validator","formatter","makeOptions","map","option","i","value","displayValue","undefined","Cell","invalid","DataSheetInput","defaultValue","onChange","readOnly","DataSheetCheckbox","defaultChecked","DataSheetSelect","Fragment","id","areEqual"],"sources":["../../src/CustomCell.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access */\nimport { Cell, RowHeadCell } from \"./Cell\";\nimport { ComponentType } from \"react\";\nimport { DataSheetCheckbox } from \"./DataSheetCheckbox\";\nimport { DataSheetInput } from \"./DataSheetInput\";\nimport { DataSheetSelect } from \"./DataSheetSelect\";\nimport { GridChildComponentProps, areEqual } from \"react-window\";\nimport React from \"react\";\n\nexport const CustomCell: ComponentType<GridChildComponentProps> = React.memo(\n ({\n columnIndex,\n rowIndex,\n style,\n data: {\n columns,\n handleSelectRow,\n handleMouseDownRow,\n handleMouseOverRow,\n handleMouseUpRow,\n isSelectRow,\n rows,\n handleChangeDataEditor,\n isSelection,\n data,\n handleMouseDown,\n handleMouseOver,\n handleChangeCheckbox,\n },\n }) => {\n const x = rowIndex;\n const y = columnIndex - 1;\n if (y === -1) {\n return (\n <RowHeadCell\n title={`${x}行目を選択`}\n data-row={x}\n data-column={0}\n onClick={handleSelectRow}\n onMouseDown={handleMouseDownRow}\n onMouseOver={handleMouseOverRow}\n onMouseUp={handleMouseUpRow}\n selected={isSelectRow(x)}\n style={style}\n >\n {x}\n </RowHeadCell>\n );\n }\n const row = rows[x];\n const cell = row[y];\n\n const {\n readonly = false,\n type,\n list,\n key,\n validator,\n formatter,\n } = columns[y];\n\n const selected = isSelection({\n x: x,\n y: y,\n });\n const makeOptions = () =>\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n list\n ? typeof list === \"function\"\n ? list({\n row: data[x],\n }).map((option: string, i: number) => (\n <option value={option} key={`${option}-${i}`}>\n {option}\n </option>\n ))\n : list.map((option: string, i: number) => (\n <option value={option} key={`${option}-${i}`}>\n {option}\n </option>\n ))\n : null;\n\n const displayValue =\n cell === undefined\n ? \"\"\n : formatter\n ? formatter(cell, {\n row: data[y],\n })\n : `${cell}`;\n return (\n <Cell\n style={style}\n title={displayValue}\n invalid={\n cell !== undefined && validator\n ? validator({\n row: data[x],\n })\n : false\n }\n readonly={readonly}\n selected={selected}\n data-row={x}\n data-column={y}\n value={cell}\n key={`row-${x}-cell-${y}`}\n onMouseDown={handleMouseDown}\n onMouseOver={handleMouseOver}\n >\n {readonly || type === undefined ? (\n <DataSheetInput\n type={type}\n defaultValue={displayValue}\n list={`${key}`}\n key={`${x}-${y}-${cell}`}\n data-row={x}\n data-column={y}\n onChange={handleChangeDataEditor}\n readOnly={readonly}\n />\n ) : type === \"checkbox\" ? (\n <DataSheetCheckbox\n type={type}\n data-row={x}\n data-column={y}\n onChange={handleChangeCheckbox}\n key={`${x}-${y}-${cell}`}\n defaultChecked={typeof cell === \"boolean\" ? cell : undefined}\n />\n ) : type === \"select\" ? (\n <DataSheetSelect\n data-row={x}\n data-column={y}\n defaultValue={cell as string}\n key={`${x}-${y}-${cell}`}\n onChange={handleChangeDataEditor}\n >\n {makeOptions()}\n </DataSheetSelect>\n ) : (\n <React.Fragment>\n <DataSheetInput\n type={type}\n defaultValue={cell}\n list={`${key}`}\n key={`${x}-${y}-${cell}`}\n data-row={x}\n data-column={y}\n onChange={handleChangeDataEditor}\n readOnly={readonly}\n />\n {list ? (\n <datalist id={key as string}>{makeOptions()}</datalist>\n ) : null}\n </React.Fragment>\n )}\n </Cell>\n );\n },\n areEqual,\n);\n"],"mappings":"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","ignoreList":[]}
|
package/cjs/DataSheet.js
CHANGED
|
@@ -2,34 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.DataSheet = void 0;
|
|
5
|
-
|
|
6
5
|
var _Controller = require("./Controller");
|
|
7
|
-
|
|
8
6
|
var _CustomCell = require("./CustomCell");
|
|
9
|
-
|
|
10
|
-
var _reactWindow = require("react-window");
|
|
11
|
-
|
|
12
7
|
var _InnerElement = require("./InnerElement");
|
|
13
|
-
|
|
8
|
+
var _reactWindow = require("react-window");
|
|
14
9
|
var _useOnClickOutside = require("./useOnClickOutside");
|
|
15
|
-
|
|
16
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
18
11
|
var _react2 = require("@emotion/react");
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
-
|
|
16
|
+
const Grid = _reactWindow.VariableSizeGrid;
|
|
24
17
|
const paste = async () => {
|
|
25
18
|
const text = await navigator.clipboard.readText();
|
|
26
19
|
return text;
|
|
27
20
|
};
|
|
28
|
-
|
|
29
21
|
const copy = async text => {
|
|
30
22
|
await navigator.clipboard.writeText(text);
|
|
31
23
|
};
|
|
32
|
-
|
|
33
24
|
const DataSheet = ({
|
|
34
25
|
data,
|
|
35
26
|
columns,
|
|
@@ -50,6 +41,7 @@ const DataSheet = ({
|
|
|
50
41
|
}, [data, columns]);
|
|
51
42
|
const history = (0, _react.useRef)([]);
|
|
52
43
|
(0, _react.useEffect)(() => {
|
|
44
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
53
45
|
history.current.push(JSON.parse(JSON.stringify(data)));
|
|
54
46
|
}, [data]);
|
|
55
47
|
const handleChangeCheckbox = (0, _react.useCallback)(event => {
|
|
@@ -63,11 +55,13 @@ const DataSheet = ({
|
|
|
63
55
|
const {
|
|
64
56
|
key
|
|
65
57
|
} = columns[y];
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
66
59
|
const copy = JSON.parse(JSON.stringify(data));
|
|
67
60
|
const {
|
|
68
61
|
checked
|
|
69
62
|
} = element;
|
|
70
|
-
copy[x] = {
|
|
63
|
+
copy[x] = {
|
|
64
|
+
...copy[x],
|
|
71
65
|
[key]: checked
|
|
72
66
|
};
|
|
73
67
|
history.current.push(copy);
|
|
@@ -83,19 +77,21 @@ const DataSheet = ({
|
|
|
83
77
|
const {
|
|
84
78
|
key
|
|
85
79
|
} = columns[y];
|
|
80
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
86
81
|
const copy = JSON.parse(JSON.stringify(data));
|
|
87
82
|
const {
|
|
88
83
|
value
|
|
89
84
|
} = element;
|
|
90
|
-
copy[x] = {
|
|
85
|
+
copy[x] = {
|
|
86
|
+
...copy[x],
|
|
91
87
|
[key]: value
|
|
92
88
|
};
|
|
93
89
|
history.current.push(copy);
|
|
94
90
|
}, [columns, data]);
|
|
91
|
+
|
|
95
92
|
/**
|
|
96
93
|
* Select
|
|
97
94
|
*/
|
|
98
|
-
|
|
99
95
|
const {
|
|
100
96
|
current: initialSelection
|
|
101
97
|
} = (0, _react.useRef)({
|
|
@@ -124,7 +120,8 @@ const DataSheet = ({
|
|
|
124
120
|
} = event.currentTarget.dataset;
|
|
125
121
|
const x = parseInt(row, 10);
|
|
126
122
|
const y = parseInt(column, 10);
|
|
127
|
-
setSelection(prev => ({
|
|
123
|
+
setSelection(prev => ({
|
|
124
|
+
...prev,
|
|
128
125
|
type: "cell",
|
|
129
126
|
end: {
|
|
130
127
|
x,
|
|
@@ -164,39 +161,39 @@ const DataSheet = ({
|
|
|
164
161
|
const y = parseInt(column, 10);
|
|
165
162
|
setSelection(prev => {
|
|
166
163
|
if (prev.active === false) return prev;
|
|
167
|
-
|
|
168
164
|
if (prev.type === "cell") {
|
|
169
|
-
return {
|
|
165
|
+
return {
|
|
166
|
+
...prev,
|
|
170
167
|
end: {
|
|
171
168
|
x,
|
|
172
169
|
y
|
|
173
170
|
}
|
|
174
171
|
};
|
|
175
172
|
}
|
|
176
|
-
|
|
177
173
|
if (prev.type === "column") {
|
|
178
|
-
return {
|
|
174
|
+
return {
|
|
175
|
+
...prev,
|
|
179
176
|
end: {
|
|
180
177
|
x: prev.end.x,
|
|
181
178
|
y
|
|
182
179
|
}
|
|
183
180
|
};
|
|
184
181
|
}
|
|
185
|
-
|
|
186
182
|
if (prev.type === "row") {
|
|
187
|
-
return {
|
|
183
|
+
return {
|
|
184
|
+
...prev,
|
|
188
185
|
end: {
|
|
189
186
|
x,
|
|
190
187
|
y: prev.end.y
|
|
191
188
|
}
|
|
192
189
|
};
|
|
193
190
|
}
|
|
194
|
-
|
|
195
191
|
return prev;
|
|
196
192
|
});
|
|
197
193
|
}, []);
|
|
198
194
|
const handleShiftKeyUp = (0, _react.useCallback)(() => {
|
|
199
|
-
setSelection(prev => ({
|
|
195
|
+
setSelection(prev => ({
|
|
196
|
+
...prev,
|
|
200
197
|
active: false
|
|
201
198
|
}));
|
|
202
199
|
document.removeEventListener("keyup", handleShiftKeyUp);
|
|
@@ -204,7 +201,8 @@ const DataSheet = ({
|
|
|
204
201
|
const handleMouseUp = (0, _react.useCallback)(event => {
|
|
205
202
|
if (event.shiftKey) {
|
|
206
203
|
setSelection(prev => {
|
|
207
|
-
return {
|
|
204
|
+
return {
|
|
205
|
+
...prev,
|
|
208
206
|
active: true
|
|
209
207
|
};
|
|
210
208
|
});
|
|
@@ -213,14 +211,15 @@ const DataSheet = ({
|
|
|
213
211
|
});
|
|
214
212
|
} else {
|
|
215
213
|
setSelection(prev => {
|
|
216
|
-
return {
|
|
214
|
+
return {
|
|
215
|
+
...prev,
|
|
217
216
|
active: false
|
|
218
217
|
};
|
|
219
218
|
});
|
|
220
219
|
}
|
|
221
220
|
}, [handleShiftKeyUp]);
|
|
222
|
-
/** Column */
|
|
223
221
|
|
|
222
|
+
/** Column */
|
|
224
223
|
const handleSelectColumn = (0, _react.useCallback)(event => {
|
|
225
224
|
const {
|
|
226
225
|
column
|
|
@@ -264,7 +263,8 @@ const DataSheet = ({
|
|
|
264
263
|
const y = parseInt(column, 10);
|
|
265
264
|
setSelection(prev => {
|
|
266
265
|
if (prev.active === false || prev.type !== "column") return prev;
|
|
267
|
-
return {
|
|
266
|
+
return {
|
|
267
|
+
...prev,
|
|
268
268
|
end: {
|
|
269
269
|
x: data.length - 1,
|
|
270
270
|
y
|
|
@@ -274,13 +274,14 @@ const DataSheet = ({
|
|
|
274
274
|
}, [data.length]);
|
|
275
275
|
const handleMouseUpColumn = (0, _react.useCallback)(() => {
|
|
276
276
|
setSelection(prev => {
|
|
277
|
-
return {
|
|
277
|
+
return {
|
|
278
|
+
...prev,
|
|
278
279
|
active: false
|
|
279
280
|
};
|
|
280
281
|
});
|
|
281
282
|
}, []);
|
|
282
|
-
/** Row */
|
|
283
283
|
|
|
284
|
+
/** Row */
|
|
284
285
|
const handleSelectRow = (0, _react.useCallback)(event => {
|
|
285
286
|
const {
|
|
286
287
|
row
|
|
@@ -324,7 +325,8 @@ const DataSheet = ({
|
|
|
324
325
|
const x = parseInt(row, 10);
|
|
325
326
|
setSelection(prev => {
|
|
326
327
|
if (prev.active === false || prev.type !== "row") return prev;
|
|
327
|
-
return {
|
|
328
|
+
return {
|
|
329
|
+
...prev,
|
|
328
330
|
end: {
|
|
329
331
|
x,
|
|
330
332
|
y: columns.length - 1
|
|
@@ -334,11 +336,13 @@ const DataSheet = ({
|
|
|
334
336
|
}, [columns.length]);
|
|
335
337
|
const handleMouseUpRow = (0, _react.useCallback)(() => {
|
|
336
338
|
setSelection(prev => {
|
|
337
|
-
return {
|
|
339
|
+
return {
|
|
340
|
+
...prev,
|
|
338
341
|
active: false
|
|
339
342
|
};
|
|
340
343
|
});
|
|
341
344
|
}, []);
|
|
345
|
+
|
|
342
346
|
/** All */
|
|
343
347
|
|
|
344
348
|
const handleSelectAll = (0, _react.useCallback)(() => {
|
|
@@ -375,17 +379,18 @@ const DataSheet = ({
|
|
|
375
379
|
const negY = current.x <= start.x && current.x >= end.x;
|
|
376
380
|
return posX && posY || negX && posY || negX && negY || posX && negY;
|
|
377
381
|
}, [selection]);
|
|
382
|
+
|
|
378
383
|
/**
|
|
379
384
|
* Keycode
|
|
380
385
|
*/
|
|
381
|
-
|
|
382
386
|
const handleKeyDown = (0, _react.useCallback)(event => {
|
|
383
387
|
switch (event.key) {
|
|
384
388
|
case "ArrowUp":
|
|
385
389
|
{
|
|
386
390
|
setSelection(prev => {
|
|
387
391
|
if (prev.start.x === 0) return prev;
|
|
388
|
-
return {
|
|
392
|
+
return {
|
|
393
|
+
...prev,
|
|
389
394
|
start: {
|
|
390
395
|
x: prev.start.x - 1,
|
|
391
396
|
y: prev.start.y
|
|
@@ -398,11 +403,11 @@ const DataSheet = ({
|
|
|
398
403
|
});
|
|
399
404
|
break;
|
|
400
405
|
}
|
|
401
|
-
|
|
402
406
|
case "ArrowRight":
|
|
403
407
|
setSelection(prev => {
|
|
404
408
|
if (prev.start.y === columns.length - 1) return prev;
|
|
405
|
-
return {
|
|
409
|
+
return {
|
|
410
|
+
...prev,
|
|
406
411
|
start: {
|
|
407
412
|
x: prev.start.x,
|
|
408
413
|
y: prev.start.y + 1
|
|
@@ -414,11 +419,11 @@ const DataSheet = ({
|
|
|
414
419
|
};
|
|
415
420
|
});
|
|
416
421
|
break;
|
|
417
|
-
|
|
418
422
|
case "ArrowDown":
|
|
419
423
|
setSelection(prev => {
|
|
420
424
|
if (prev.start.x === data.length - 1) return prev;
|
|
421
|
-
return {
|
|
425
|
+
return {
|
|
426
|
+
...prev,
|
|
422
427
|
start: {
|
|
423
428
|
x: prev.start.x + 1,
|
|
424
429
|
y: prev.start.y
|
|
@@ -430,11 +435,11 @@ const DataSheet = ({
|
|
|
430
435
|
};
|
|
431
436
|
});
|
|
432
437
|
break;
|
|
433
|
-
|
|
434
438
|
case "ArrowLeft":
|
|
435
439
|
setSelection(prev => {
|
|
436
440
|
if (prev.start.y === 0) return prev;
|
|
437
|
-
return {
|
|
441
|
+
return {
|
|
442
|
+
...prev,
|
|
438
443
|
start: {
|
|
439
444
|
x: prev.start.x,
|
|
440
445
|
y: prev.start.y - 1
|
|
@@ -446,7 +451,6 @@ const DataSheet = ({
|
|
|
446
451
|
};
|
|
447
452
|
});
|
|
448
453
|
break;
|
|
449
|
-
|
|
450
454
|
default:
|
|
451
455
|
break;
|
|
452
456
|
}
|
|
@@ -455,7 +459,6 @@ const DataSheet = ({
|
|
|
455
459
|
const getClipBoardText = async () => {
|
|
456
460
|
if (selection.start.x > -1 && selection.start.y > -1) {
|
|
457
461
|
const text = await paste();
|
|
458
|
-
|
|
459
462
|
if (text) {
|
|
460
463
|
const minX = Math.min(selection.start.x, selection.end.x);
|
|
461
464
|
const minY = Math.min(selection.start.y, selection.end.y);
|
|
@@ -463,7 +466,6 @@ const DataSheet = ({
|
|
|
463
466
|
const rowLength = dataToInsert.length;
|
|
464
467
|
const columnLength = dataToInsert[0].length;
|
|
465
468
|
const copy = [...data];
|
|
466
|
-
|
|
467
469
|
for (let i = 0; i < rowLength; i++) {
|
|
468
470
|
for (let j = 0; j < columnLength; j++) {
|
|
469
471
|
const column = columns[minY + j];
|
|
@@ -473,10 +475,8 @@ const DataSheet = ({
|
|
|
473
475
|
readonly,
|
|
474
476
|
type
|
|
475
477
|
} = column;
|
|
476
|
-
|
|
477
|
-
if (key && copy[minX + i] && !readonly) {
|
|
478
|
+
if (key !== undefined && copy[minX + i] !== undefined && !readonly) {
|
|
478
479
|
const value = dataToInsert[i][j];
|
|
479
|
-
|
|
480
480
|
if (type === "checkbox") {
|
|
481
481
|
copy[minX + i][key] = value === "false" ? false : value === "true" ? true : value;
|
|
482
482
|
} else {
|
|
@@ -485,7 +485,6 @@ const DataSheet = ({
|
|
|
485
485
|
}
|
|
486
486
|
}
|
|
487
487
|
}
|
|
488
|
-
|
|
489
488
|
if (onSave) {
|
|
490
489
|
onSave(copy);
|
|
491
490
|
}
|
|
@@ -493,10 +492,12 @@ const DataSheet = ({
|
|
|
493
492
|
}
|
|
494
493
|
};
|
|
495
494
|
|
|
495
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
496
496
|
document.addEventListener("paste", getClipBoardText, {
|
|
497
497
|
capture: true
|
|
498
498
|
});
|
|
499
499
|
return () => {
|
|
500
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
500
501
|
document.removeEventListener("paste", getClipBoardText);
|
|
501
502
|
};
|
|
502
503
|
}, [columns, data, onSave, selection.end.x, selection.end.y, selection.start.x, selection.start.y]);
|
|
@@ -514,17 +515,17 @@ const DataSheet = ({
|
|
|
514
515
|
return row[key];
|
|
515
516
|
}).join("\t");
|
|
516
517
|
}).join("\n");
|
|
517
|
-
|
|
518
518
|
if (result) {
|
|
519
519
|
await copy(result);
|
|
520
520
|
}
|
|
521
521
|
}
|
|
522
522
|
};
|
|
523
|
-
|
|
523
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
524
524
|
document.addEventListener("copy", handleCopy, {
|
|
525
525
|
capture: true
|
|
526
526
|
});
|
|
527
527
|
return () => {
|
|
528
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
528
529
|
document.removeEventListener("copy", handleCopy);
|
|
529
530
|
};
|
|
530
531
|
}, [columns, data, selection.end.x, selection.end.y, selection.start.x, selection.start.y]);
|
|
@@ -540,7 +541,7 @@ const DataSheet = ({
|
|
|
540
541
|
style: {
|
|
541
542
|
maxWidth: width
|
|
542
543
|
}
|
|
543
|
-
},
|
|
544
|
+
}, (0, _react2.jsx)(_Controller.DownloadButton, {
|
|
544
545
|
onClick: () => {
|
|
545
546
|
const result = [columns.map(column => column.title)].concat(data.map(row => {
|
|
546
547
|
return columns.map(({
|
|
@@ -551,7 +552,7 @@ const DataSheet = ({
|
|
|
551
552
|
}));
|
|
552
553
|
onDownload(result);
|
|
553
554
|
}
|
|
554
|
-
})
|
|
555
|
+
})) : null, (0, _react2.jsx)(_InnerElement.InnerElementContext.Provider, {
|
|
555
556
|
value: {
|
|
556
557
|
handleSelectAll,
|
|
557
558
|
handleSelectColumn,
|
|
@@ -562,7 +563,7 @@ const DataSheet = ({
|
|
|
562
563
|
handleKeyDown,
|
|
563
564
|
columns: columns
|
|
564
565
|
}
|
|
565
|
-
}, (0, _react2.jsx)(
|
|
566
|
+
}, (0, _react2.jsx)(Grid, {
|
|
566
567
|
style: {
|
|
567
568
|
maxWidth: "100%"
|
|
568
569
|
},
|
|
@@ -591,6 +592,5 @@ const DataSheet = ({
|
|
|
591
592
|
}
|
|
592
593
|
}, _CustomCell.CustomCell)));
|
|
593
594
|
};
|
|
594
|
-
|
|
595
595
|
exports.DataSheet = DataSheet;
|
|
596
596
|
//# sourceMappingURL=DataSheet.js.map
|