@leankylin-sheet/react 1.2.9 → 1.2.11
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/components/SearchReplace/index.d.ts +1 -3
- package/dist/index.esm.js +16 -32
- package/dist/index.js +16 -32
- package/dist/index.umd.js +20 -37
- package/dist/index.umd.min.js +2 -2
- package/package.json +3 -2
package/dist/index.esm.js
CHANGED
|
@@ -2,6 +2,7 @@ import { defaultContext, defaultSettings, getSheetIndex, colLocationByIndex, fix
|
|
|
2
2
|
import React, { useContext, useRef, useState, useMemo, useCallback, useEffect, useLayoutEffect, useImperativeHandle } from 'react';
|
|
3
3
|
import produce, { applyPatches, enablePatches, produceWithPatches } from 'immer';
|
|
4
4
|
import _ from 'lodash';
|
|
5
|
+
import { createPortal } from 'react-dom';
|
|
5
6
|
|
|
6
7
|
function _iterableToArrayLimit(r, l) {
|
|
7
8
|
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
@@ -1144,8 +1145,7 @@ function useAlert() {
|
|
|
1144
1145
|
};
|
|
1145
1146
|
}
|
|
1146
1147
|
|
|
1147
|
-
var SearchReplace = function SearchReplace(
|
|
1148
|
-
var getContainer = _ref.getContainer;
|
|
1148
|
+
var SearchReplace = function SearchReplace() {
|
|
1149
1149
|
var _useContext = useContext(WorkbookContext),
|
|
1150
1150
|
context = _useContext.context,
|
|
1151
1151
|
setContext = _useContext.setContext,
|
|
@@ -1202,10 +1202,11 @@ var SearchReplace = function SearchReplace(_ref) {
|
|
|
1202
1202
|
top: (rect.height - 200) / 3
|
|
1203
1203
|
};
|
|
1204
1204
|
}, []);
|
|
1205
|
-
|
|
1205
|
+
var body = document.body;
|
|
1206
|
+
return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement("div", {
|
|
1206
1207
|
id: "leankylin-search-replace",
|
|
1207
1208
|
className: "leankylin-search-replace leankylin-dialog",
|
|
1208
|
-
style: getInitialPosition(
|
|
1209
|
+
style: getInitialPosition(body),
|
|
1209
1210
|
onMouseEnter: function onMouseEnter() {
|
|
1210
1211
|
_.set(refs.globalCache, "searchDialog.mouseEnter", true);
|
|
1211
1212
|
},
|
|
@@ -1214,7 +1215,7 @@ var SearchReplace = function SearchReplace(_ref) {
|
|
|
1214
1215
|
},
|
|
1215
1216
|
onMouseDown: function onMouseDown(e) {
|
|
1216
1217
|
var nativeEvent = e.nativeEvent;
|
|
1217
|
-
onSearchDialogMoveStart(refs.globalCache, nativeEvent,
|
|
1218
|
+
onSearchDialogMoveStart(refs.globalCache, nativeEvent, body);
|
|
1218
1219
|
e.stopPropagation();
|
|
1219
1220
|
}
|
|
1220
1221
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -1351,7 +1352,10 @@ var SearchReplace = function SearchReplace(_ref) {
|
|
|
1351
1352
|
className: "close-button leankylin-message-box-button button-default",
|
|
1352
1353
|
onClick: closeDialog
|
|
1353
1354
|
}, button.close), searchResult.length > 0 && ( /*#__PURE__*/React.createElement("div", {
|
|
1354
|
-
id: "searchAllbox"
|
|
1355
|
+
id: "searchAllbox",
|
|
1356
|
+
onScroll: function onScroll(e) {
|
|
1357
|
+
return e.stopPropagation();
|
|
1358
|
+
}
|
|
1355
1359
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1356
1360
|
className: "boxTitle"
|
|
1357
1361
|
}, /*#__PURE__*/React.createElement("span", null, findAndReplace.searchTargetSheet), /*#__PURE__*/React.createElement("span", null, findAndReplace.searchTargetCell), /*#__PURE__*/React.createElement("span", null, findAndReplace.searchTargetValue)), /*#__PURE__*/React.createElement("div", {
|
|
@@ -1377,7 +1381,7 @@ var SearchReplace = function SearchReplace(_ref) {
|
|
|
1377
1381
|
});
|
|
1378
1382
|
}
|
|
1379
1383
|
}, /*#__PURE__*/React.createElement("span", null, v.sheetName), /*#__PURE__*/React.createElement("span", null, v.cellPosition), /*#__PURE__*/React.createElement("span", null, v.value));
|
|
1380
|
-
}))))));
|
|
1384
|
+
})))))), body);
|
|
1381
1385
|
};
|
|
1382
1386
|
|
|
1383
1387
|
var LinkEditCard = function LinkEditCard(_ref) {
|
|
@@ -3311,11 +3315,7 @@ var SheetOverlay = function SheetOverlay() {
|
|
|
3311
3315
|
width: context.rowHeaderWidth - 1.5,
|
|
3312
3316
|
height: context.columnHeaderHeight - 1.5
|
|
3313
3317
|
}
|
|
3314
|
-
}), /*#__PURE__*/React.createElement(ColumnHeader, null)), (context.showSearch || context.showReplace) && ( /*#__PURE__*/React.createElement(
|
|
3315
|
-
getContainer: function getContainer() {
|
|
3316
|
-
return containerRef.current;
|
|
3317
|
-
}
|
|
3318
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
3318
|
+
}), /*#__PURE__*/React.createElement(ColumnHeader, null)), (context.showSearch || context.showReplace) && /*#__PURE__*/React.createElement(SearchReplace, null), /*#__PURE__*/React.createElement("div", {
|
|
3319
3319
|
className: "leankylin-row-body"
|
|
3320
3320
|
}, /*#__PURE__*/React.createElement(RowHeader, null), /*#__PURE__*/React.createElement(ScrollBar, {
|
|
3321
3321
|
axis: "x"
|
|
@@ -10683,6 +10683,9 @@ var Workbook = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
10683
10683
|
}, [context.currentSheetId, context.luckysheetfile.length, originalData, mergedSettings.defaultRowHeight, mergedSettings.defaultColWidth, mergedSettings.column, mergedSettings.row, mergedSettings.defaultFontSize, mergedSettings.devicePixelRatio, mergedSettings.lang, mergedSettings.allowEdit, mergedSettings.hooks, mergedSettings.generateSheetId, setContextWithProduce, initSheetData, mergedSettings.rowHeaderWidth, mergedSettings.columnHeaderHeight, mergedSettings.addRows]);
|
|
10684
10684
|
var onKeyDown = useCallback(function (e) {
|
|
10685
10685
|
var nativeEvent = e.nativeEvent;
|
|
10686
|
+
if ((e.ctrlKey || e.metaKey) && mergedSettings.disabledKeyboardCodes.includes(e.code)) {
|
|
10687
|
+
return;
|
|
10688
|
+
}
|
|
10686
10689
|
if ((e.ctrlKey || e.metaKey) && e.code === "KeyZ") {
|
|
10687
10690
|
if (e.shiftKey) {
|
|
10688
10691
|
handleRedo();
|
|
@@ -10701,7 +10704,7 @@ var Workbook = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
10701
10704
|
setContextWithProduce(function (draftCtx) {
|
|
10702
10705
|
handleGlobalKeyDown(draftCtx, cellInput.current, fxInput.current, nativeEvent, globalCache.current, handleUndo, handleRedo, canvas.current.getContext("2d"));
|
|
10703
10706
|
});
|
|
10704
|
-
}, [handleRedo, handleUndo, setContextWithProduce]);
|
|
10707
|
+
}, [handleRedo, handleUndo, setContextWithProduce, mergedSettings.disabledKeyboardCodes]);
|
|
10705
10708
|
var onPaste = useCallback(function (e) {
|
|
10706
10709
|
var _document$activeEleme;
|
|
10707
10710
|
if (cellInput.current === document.activeElement || ((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.className) === "leankylin-sheet-overlay") {
|
|
@@ -10712,25 +10715,6 @@ var Workbook = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
10712
10715
|
var txtdata = clipboardData.getData("text/html") || clipboardData.getData("text/plain");
|
|
10713
10716
|
var ele = document.createElement("div");
|
|
10714
10717
|
ele.innerHTML = txtdata;
|
|
10715
|
-
var trList = ele.querySelectorAll("table tr");
|
|
10716
|
-
var maxRow = trList.length + context.luckysheet_select_save[0].row[0];
|
|
10717
|
-
var rowToBeAdded = maxRow - context.luckysheetfile[getSheetIndex(context, context.currentSheetId)].data.length;
|
|
10718
|
-
var range = context.luckysheet_select_save;
|
|
10719
|
-
if (rowToBeAdded > 0) {
|
|
10720
|
-
var insertRowColOp = {
|
|
10721
|
-
type: "row",
|
|
10722
|
-
index: context.luckysheetfile[getSheetIndex(context, context.currentSheetId)].data.length - 1,
|
|
10723
|
-
count: rowToBeAdded,
|
|
10724
|
-
direction: "rightbottom",
|
|
10725
|
-
id: context.currentSheetId
|
|
10726
|
-
};
|
|
10727
|
-
setContextWithProduce(function (draftCtx) {
|
|
10728
|
-
insertRowCol(draftCtx, insertRowColOp);
|
|
10729
|
-
draftCtx.luckysheet_select_save = range;
|
|
10730
|
-
}, {
|
|
10731
|
-
insertRowColOp: insertRowColOp
|
|
10732
|
-
});
|
|
10733
|
-
}
|
|
10734
10718
|
setContextWithProduce(function (draftCtx) {
|
|
10735
10719
|
try {
|
|
10736
10720
|
handlePaste(draftCtx, e);
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ var core = require('@leankylin-sheet/core');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var produce = require('immer');
|
|
8
8
|
var _ = require('lodash');
|
|
9
|
+
var reactDom = require('react-dom');
|
|
9
10
|
|
|
10
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
12
|
|
|
@@ -1154,8 +1155,7 @@ function useAlert() {
|
|
|
1154
1155
|
};
|
|
1155
1156
|
}
|
|
1156
1157
|
|
|
1157
|
-
var SearchReplace = function SearchReplace(
|
|
1158
|
-
var getContainer = _ref.getContainer;
|
|
1158
|
+
var SearchReplace = function SearchReplace() {
|
|
1159
1159
|
var _useContext = React.useContext(WorkbookContext),
|
|
1160
1160
|
context = _useContext.context,
|
|
1161
1161
|
setContext = _useContext.setContext,
|
|
@@ -1212,10 +1212,11 @@ var SearchReplace = function SearchReplace(_ref) {
|
|
|
1212
1212
|
top: (rect.height - 200) / 3
|
|
1213
1213
|
};
|
|
1214
1214
|
}, []);
|
|
1215
|
-
|
|
1215
|
+
var body = document.body;
|
|
1216
|
+
return /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1216
1217
|
id: "leankylin-search-replace",
|
|
1217
1218
|
className: "leankylin-search-replace leankylin-dialog",
|
|
1218
|
-
style: getInitialPosition(
|
|
1219
|
+
style: getInitialPosition(body),
|
|
1219
1220
|
onMouseEnter: function onMouseEnter() {
|
|
1220
1221
|
___default['default'].set(refs.globalCache, "searchDialog.mouseEnter", true);
|
|
1221
1222
|
},
|
|
@@ -1224,7 +1225,7 @@ var SearchReplace = function SearchReplace(_ref) {
|
|
|
1224
1225
|
},
|
|
1225
1226
|
onMouseDown: function onMouseDown(e) {
|
|
1226
1227
|
var nativeEvent = e.nativeEvent;
|
|
1227
|
-
core.onSearchDialogMoveStart(refs.globalCache, nativeEvent,
|
|
1228
|
+
core.onSearchDialogMoveStart(refs.globalCache, nativeEvent, body);
|
|
1228
1229
|
e.stopPropagation();
|
|
1229
1230
|
}
|
|
1230
1231
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -1361,7 +1362,10 @@ var SearchReplace = function SearchReplace(_ref) {
|
|
|
1361
1362
|
className: "close-button leankylin-message-box-button button-default",
|
|
1362
1363
|
onClick: closeDialog
|
|
1363
1364
|
}, button.close), searchResult.length > 0 && ( /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1364
|
-
id: "searchAllbox"
|
|
1365
|
+
id: "searchAllbox",
|
|
1366
|
+
onScroll: function onScroll(e) {
|
|
1367
|
+
return e.stopPropagation();
|
|
1368
|
+
}
|
|
1365
1369
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1366
1370
|
className: "boxTitle"
|
|
1367
1371
|
}, /*#__PURE__*/React__default['default'].createElement("span", null, findAndReplace.searchTargetSheet), /*#__PURE__*/React__default['default'].createElement("span", null, findAndReplace.searchTargetCell), /*#__PURE__*/React__default['default'].createElement("span", null, findAndReplace.searchTargetValue)), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -1387,7 +1391,7 @@ var SearchReplace = function SearchReplace(_ref) {
|
|
|
1387
1391
|
});
|
|
1388
1392
|
}
|
|
1389
1393
|
}, /*#__PURE__*/React__default['default'].createElement("span", null, v.sheetName), /*#__PURE__*/React__default['default'].createElement("span", null, v.cellPosition), /*#__PURE__*/React__default['default'].createElement("span", null, v.value));
|
|
1390
|
-
}))))));
|
|
1394
|
+
})))))), body);
|
|
1391
1395
|
};
|
|
1392
1396
|
|
|
1393
1397
|
var LinkEditCard = function LinkEditCard(_ref) {
|
|
@@ -3321,11 +3325,7 @@ var SheetOverlay = function SheetOverlay() {
|
|
|
3321
3325
|
width: context.rowHeaderWidth - 1.5,
|
|
3322
3326
|
height: context.columnHeaderHeight - 1.5
|
|
3323
3327
|
}
|
|
3324
|
-
}), /*#__PURE__*/React__default['default'].createElement(ColumnHeader, null)), (context.showSearch || context.showReplace) && ( /*#__PURE__*/React__default['default'].createElement(
|
|
3325
|
-
getContainer: function getContainer() {
|
|
3326
|
-
return containerRef.current;
|
|
3327
|
-
}
|
|
3328
|
-
})), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
3328
|
+
}), /*#__PURE__*/React__default['default'].createElement(ColumnHeader, null)), (context.showSearch || context.showReplace) && /*#__PURE__*/React__default['default'].createElement(SearchReplace, null), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
3329
3329
|
className: "leankylin-row-body"
|
|
3330
3330
|
}, /*#__PURE__*/React__default['default'].createElement(RowHeader, null), /*#__PURE__*/React__default['default'].createElement(ScrollBar, {
|
|
3331
3331
|
axis: "x"
|
|
@@ -10693,6 +10693,9 @@ var Workbook = /*#__PURE__*/React__default['default'].forwardRef(function (_ref,
|
|
|
10693
10693
|
}, [context.currentSheetId, context.luckysheetfile.length, originalData, mergedSettings.defaultRowHeight, mergedSettings.defaultColWidth, mergedSettings.column, mergedSettings.row, mergedSettings.defaultFontSize, mergedSettings.devicePixelRatio, mergedSettings.lang, mergedSettings.allowEdit, mergedSettings.hooks, mergedSettings.generateSheetId, setContextWithProduce, initSheetData, mergedSettings.rowHeaderWidth, mergedSettings.columnHeaderHeight, mergedSettings.addRows]);
|
|
10694
10694
|
var onKeyDown = React.useCallback(function (e) {
|
|
10695
10695
|
var nativeEvent = e.nativeEvent;
|
|
10696
|
+
if ((e.ctrlKey || e.metaKey) && mergedSettings.disabledKeyboardCodes.includes(e.code)) {
|
|
10697
|
+
return;
|
|
10698
|
+
}
|
|
10696
10699
|
if ((e.ctrlKey || e.metaKey) && e.code === "KeyZ") {
|
|
10697
10700
|
if (e.shiftKey) {
|
|
10698
10701
|
handleRedo();
|
|
@@ -10711,7 +10714,7 @@ var Workbook = /*#__PURE__*/React__default['default'].forwardRef(function (_ref,
|
|
|
10711
10714
|
setContextWithProduce(function (draftCtx) {
|
|
10712
10715
|
core.handleGlobalKeyDown(draftCtx, cellInput.current, fxInput.current, nativeEvent, globalCache.current, handleUndo, handleRedo, canvas.current.getContext("2d"));
|
|
10713
10716
|
});
|
|
10714
|
-
}, [handleRedo, handleUndo, setContextWithProduce]);
|
|
10717
|
+
}, [handleRedo, handleUndo, setContextWithProduce, mergedSettings.disabledKeyboardCodes]);
|
|
10715
10718
|
var onPaste = React.useCallback(function (e) {
|
|
10716
10719
|
var _document$activeEleme;
|
|
10717
10720
|
if (cellInput.current === document.activeElement || ((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.className) === "leankylin-sheet-overlay") {
|
|
@@ -10722,25 +10725,6 @@ var Workbook = /*#__PURE__*/React__default['default'].forwardRef(function (_ref,
|
|
|
10722
10725
|
var txtdata = clipboardData.getData("text/html") || clipboardData.getData("text/plain");
|
|
10723
10726
|
var ele = document.createElement("div");
|
|
10724
10727
|
ele.innerHTML = txtdata;
|
|
10725
|
-
var trList = ele.querySelectorAll("table tr");
|
|
10726
|
-
var maxRow = trList.length + context.luckysheet_select_save[0].row[0];
|
|
10727
|
-
var rowToBeAdded = maxRow - context.luckysheetfile[core.getSheetIndex(context, context.currentSheetId)].data.length;
|
|
10728
|
-
var range = context.luckysheet_select_save;
|
|
10729
|
-
if (rowToBeAdded > 0) {
|
|
10730
|
-
var insertRowColOp = {
|
|
10731
|
-
type: "row",
|
|
10732
|
-
index: context.luckysheetfile[core.getSheetIndex(context, context.currentSheetId)].data.length - 1,
|
|
10733
|
-
count: rowToBeAdded,
|
|
10734
|
-
direction: "rightbottom",
|
|
10735
|
-
id: context.currentSheetId
|
|
10736
|
-
};
|
|
10737
|
-
setContextWithProduce(function (draftCtx) {
|
|
10738
|
-
core.insertRowCol(draftCtx, insertRowColOp);
|
|
10739
|
-
draftCtx.luckysheet_select_save = range;
|
|
10740
|
-
}, {
|
|
10741
|
-
insertRowColOp: insertRowColOp
|
|
10742
|
-
});
|
|
10743
|
-
}
|
|
10744
10728
|
setContextWithProduce(function (draftCtx) {
|
|
10745
10729
|
try {
|
|
10746
10730
|
core.handlePaste(draftCtx, e);
|