@leankylin-sheet/react 5.2.37 → 5.2.39

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/index.css CHANGED
@@ -1271,14 +1271,26 @@ html::-webkit-scrollbar-button {
1271
1271
  position: absolute;
1272
1272
  padding: 24px 28px;
1273
1273
  z-index: 1002;
1274
- min-width: 520px;
1274
+ width: 720px;
1275
+ height: 560px;
1275
1276
  max-height: calc(100vh - 60px);
1277
+ display: flex;
1278
+ flex-direction: column;
1279
+ box-sizing: border-box;
1276
1280
  overflow-y: auto;
1277
1281
  font-family:
1278
1282
  -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
1279
1283
  Arial, sans-serif;
1280
1284
  }
1281
1285
 
1286
+ /* 内容容器:占满弹框,结果列表占剩余空间 */
1287
+ #leankylin-search-replace .container {
1288
+ display: flex;
1289
+ flex-direction: column;
1290
+ flex: 1;
1291
+ min-height: 0;
1292
+ }
1293
+
1282
1294
  /* 关闭按钮 */
1283
1295
  #leankylin-search-replace .icon-close {
1284
1296
  width: 28px;
@@ -1353,7 +1365,7 @@ html::-webkit-scrollbar-button {
1353
1365
  padding: 0;
1354
1366
  border: none;
1355
1367
  font-size: 13px;
1356
- min-width: 460px;
1368
+ min-width: 640px;
1357
1369
  }
1358
1370
 
1359
1371
  #leankylin-search-replace .ctBox .row {
@@ -1580,9 +1592,10 @@ html::-webkit-scrollbar-button {
1580
1592
  border-color: #aaa;
1581
1593
  }
1582
1594
 
1583
- /* 搜索结果列表 */
1595
+ /* 搜索结果列表:占满剩余空间,内部滚动 */
1584
1596
  #leankylin-search-replace #searchAllbox {
1585
- height: 210px;
1597
+ flex: 1;
1598
+ min-height: 120px;
1586
1599
  border: 1px solid #e8e8e8;
1587
1600
  border-radius: 6px;
1588
1601
  margin-top: 14px;
@@ -1616,20 +1629,29 @@ html::-webkit-scrollbar-button {
1616
1629
  }
1617
1630
 
1618
1631
  #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(1) {
1619
- width: 25%;
1632
+ width: 12%;
1620
1633
  }
1621
1634
 
1622
1635
  #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(2) {
1623
- width: 25%;
1636
+ width: 9%;
1624
1637
  }
1625
1638
 
1626
1639
  #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(3) {
1627
- width: 50%;
1640
+ width: 24%;
1641
+ }
1642
+
1643
+ #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(4) {
1644
+ width: 30%;
1645
+ }
1646
+
1647
+ #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(5) {
1648
+ width: 25%;
1628
1649
  }
1629
1650
 
1630
1651
  #leankylin-search-replace #searchAllbox .boxMain .boxItem {
1631
- height: 32px;
1632
- line-height: 32px;
1652
+ display: flex;
1653
+ align-items: center;
1654
+ min-height: 32px;
1633
1655
  border-bottom: 1px solid #f0f0f0;
1634
1656
  padding: 0 10px;
1635
1657
  box-sizing: border-box;
@@ -1652,21 +1674,27 @@ html::-webkit-scrollbar-button {
1652
1674
  color: #fff;
1653
1675
  }
1654
1676
 
1677
+ #leankylin-search-replace #searchAllbox .boxMain .boxItem.on span {
1678
+ color: #fff;
1679
+ }
1680
+
1655
1681
  #leankylin-search-replace #searchAllbox .boxMain .boxItem span {
1682
+ flex: 0 0 auto;
1656
1683
  display: block;
1657
1684
  text-align: center;
1658
- float: left;
1685
+ box-sizing: border-box;
1686
+ padding: 6px 4px;
1659
1687
  }
1660
1688
 
1661
1689
  #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(1) {
1662
- width: 25%;
1690
+ flex-basis: 12%;
1663
1691
  overflow: hidden;
1664
1692
  text-overflow: ellipsis;
1665
1693
  white-space: nowrap;
1666
1694
  }
1667
1695
 
1668
1696
  #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(2) {
1669
- width: 25%;
1697
+ flex-basis: 9%;
1670
1698
  overflow: hidden;
1671
1699
  text-overflow: ellipsis;
1672
1700
  white-space: nowrap;
@@ -1675,7 +1703,23 @@ html::-webkit-scrollbar-button {
1675
1703
  }
1676
1704
 
1677
1705
  #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(3) {
1678
- width: 50%;
1706
+ flex-basis: 24%;
1707
+ overflow: hidden;
1708
+ text-overflow: ellipsis;
1709
+ white-space: nowrap;
1710
+ }
1711
+
1712
+ #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(4) {
1713
+ flex-basis: 30%;
1714
+ white-space: normal;
1715
+ word-break: break-all;
1716
+ line-height: 1.4;
1717
+ font-family: "SF Mono", "Fira Code", Menlo, monospace;
1718
+ font-size: 12px;
1719
+ }
1720
+
1721
+ #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(5) {
1722
+ flex-basis: 25%;
1679
1723
  overflow: hidden;
1680
1724
  text-overflow: ellipsis;
1681
1725
  white-space: nowrap;
@@ -1271,14 +1271,26 @@ html::-webkit-scrollbar-button {
1271
1271
  position: absolute;
1272
1272
  padding: 24px 28px;
1273
1273
  z-index: 1002;
1274
- min-width: 520px;
1274
+ width: 720px;
1275
+ height: 560px;
1275
1276
  max-height: calc(100vh - 60px);
1277
+ display: flex;
1278
+ flex-direction: column;
1279
+ box-sizing: border-box;
1276
1280
  overflow-y: auto;
1277
1281
  font-family:
1278
1282
  -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
1279
1283
  Arial, sans-serif;
1280
1284
  }
1281
1285
 
1286
+ /* 内容容器:占满弹框,结果列表占剩余空间 */
1287
+ #leankylin-search-replace .container {
1288
+ display: flex;
1289
+ flex-direction: column;
1290
+ flex: 1;
1291
+ min-height: 0;
1292
+ }
1293
+
1282
1294
  /* 关闭按钮 */
1283
1295
  #leankylin-search-replace .icon-close {
1284
1296
  width: 28px;
@@ -1353,7 +1365,7 @@ html::-webkit-scrollbar-button {
1353
1365
  padding: 0;
1354
1366
  border: none;
1355
1367
  font-size: 13px;
1356
- min-width: 460px;
1368
+ min-width: 640px;
1357
1369
  }
1358
1370
 
1359
1371
  #leankylin-search-replace .ctBox .row {
@@ -1580,9 +1592,10 @@ html::-webkit-scrollbar-button {
1580
1592
  border-color: #aaa;
1581
1593
  }
1582
1594
 
1583
- /* 搜索结果列表 */
1595
+ /* 搜索结果列表:占满剩余空间,内部滚动 */
1584
1596
  #leankylin-search-replace #searchAllbox {
1585
- height: 210px;
1597
+ flex: 1;
1598
+ min-height: 120px;
1586
1599
  border: 1px solid #e8e8e8;
1587
1600
  border-radius: 6px;
1588
1601
  margin-top: 14px;
@@ -1616,20 +1629,29 @@ html::-webkit-scrollbar-button {
1616
1629
  }
1617
1630
 
1618
1631
  #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(1) {
1619
- width: 25%;
1632
+ width: 12%;
1620
1633
  }
1621
1634
 
1622
1635
  #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(2) {
1623
- width: 25%;
1636
+ width: 9%;
1624
1637
  }
1625
1638
 
1626
1639
  #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(3) {
1627
- width: 50%;
1640
+ width: 24%;
1641
+ }
1642
+
1643
+ #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(4) {
1644
+ width: 30%;
1645
+ }
1646
+
1647
+ #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(5) {
1648
+ width: 25%;
1628
1649
  }
1629
1650
 
1630
1651
  #leankylin-search-replace #searchAllbox .boxMain .boxItem {
1631
- height: 32px;
1632
- line-height: 32px;
1652
+ display: flex;
1653
+ align-items: center;
1654
+ min-height: 32px;
1633
1655
  border-bottom: 1px solid #f0f0f0;
1634
1656
  padding: 0 10px;
1635
1657
  box-sizing: border-box;
@@ -1652,21 +1674,27 @@ html::-webkit-scrollbar-button {
1652
1674
  color: #fff;
1653
1675
  }
1654
1676
 
1677
+ #leankylin-search-replace #searchAllbox .boxMain .boxItem.on span {
1678
+ color: #fff;
1679
+ }
1680
+
1655
1681
  #leankylin-search-replace #searchAllbox .boxMain .boxItem span {
1682
+ flex: 0 0 auto;
1656
1683
  display: block;
1657
1684
  text-align: center;
1658
- float: left;
1685
+ box-sizing: border-box;
1686
+ padding: 6px 4px;
1659
1687
  }
1660
1688
 
1661
1689
  #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(1) {
1662
- width: 25%;
1690
+ flex-basis: 12%;
1663
1691
  overflow: hidden;
1664
1692
  text-overflow: ellipsis;
1665
1693
  white-space: nowrap;
1666
1694
  }
1667
1695
 
1668
1696
  #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(2) {
1669
- width: 25%;
1697
+ flex-basis: 9%;
1670
1698
  overflow: hidden;
1671
1699
  text-overflow: ellipsis;
1672
1700
  white-space: nowrap;
@@ -1675,7 +1703,23 @@ html::-webkit-scrollbar-button {
1675
1703
  }
1676
1704
 
1677
1705
  #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(3) {
1678
- width: 50%;
1706
+ flex-basis: 24%;
1707
+ overflow: hidden;
1708
+ text-overflow: ellipsis;
1709
+ white-space: nowrap;
1710
+ }
1711
+
1712
+ #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(4) {
1713
+ flex-basis: 30%;
1714
+ white-space: normal;
1715
+ word-break: break-all;
1716
+ line-height: 1.4;
1717
+ font-family: "SF Mono", "Fira Code", Menlo, monospace;
1718
+ font-size: 12px;
1719
+ }
1720
+
1721
+ #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(5) {
1722
+ flex-basis: 25%;
1679
1723
  overflow: hidden;
1680
1724
  text-overflow: ellipsis;
1681
1725
  white-space: nowrap;
package/dist/index.esm.js CHANGED
@@ -1165,6 +1165,7 @@ var InputBox = function InputBox() {
1165
1165
  var row_index = firstSelection === null || firstSelection === void 0 ? void 0 : firstSelection.row_focus;
1166
1166
  var col_index = firstSelection === null || firstSelection === void 0 ? void 0 : firstSelection.column_focus;
1167
1167
  var preText = useRef("");
1168
+ var prevCellRef = useRef();
1168
1169
  useLayoutEffect(function () {
1169
1170
  if (!context.allowEdit) {
1170
1171
  setContext(function (ctx) {
@@ -1181,11 +1182,18 @@ var InputBox = function InputBox() {
1181
1182
  delete refs.globalCache.doNotUpdateCell;
1182
1183
  return;
1183
1184
  }
1184
- if (_.isEqual(prevCellUpdate, context.luckysheetCellUpdate) && prevSheetId === context.currentSheetId) {
1185
- return;
1186
- }
1187
1185
  var flowdata = getFlowdata(context);
1188
1186
  var cell = flowdata === null || flowdata === void 0 ? void 0 : (_flowdata$row_index = flowdata[row_index]) === null || _flowdata$row_index === void 0 ? void 0 : _flowdata$row_index[col_index];
1187
+ var selectionChanged = !_.isEqual(prevCellUpdate, context.luckysheetCellUpdate) || prevSheetId !== context.currentSheetId;
1188
+ var cellChanged = !prevCellRef.current || prevCellRef.current.r !== row_index || prevCellRef.current.c !== col_index || prevCellRef.current.cell !== cell;
1189
+ if (!selectionChanged && !cellChanged) {
1190
+ return;
1191
+ }
1192
+ prevCellRef.current = {
1193
+ r: row_index,
1194
+ c: col_index,
1195
+ cell: cell
1196
+ };
1189
1197
  var value = "";
1190
1198
  if (cell && !refs.globalCache.overwriteCell) {
1191
1199
  if (isInlineStringCell(cell)) {
@@ -1564,15 +1572,17 @@ var SearchReplace = function SearchReplace() {
1564
1572
  _.set(draft, mode, value);
1565
1573
  }));
1566
1574
  }, []);
1567
- var getInitialPosition = useCallback(function (container) {
1568
- var rect = container.getBoundingClientRect();
1569
- var estimatedHeight = 520;
1570
- var dialogWidth = 500;
1571
- var top = Math.max(40, Math.min((rect.height - estimatedHeight) / 2, rect.height - estimatedHeight - 20));
1572
- return {
1573
- left: Math.max(20, (rect.width - dialogWidth) / 2),
1574
- top: Number.isFinite(top) && top > 0 ? top : 40
1575
- };
1575
+ var dialogRef = useRef(null);
1576
+ useLayoutEffect(function () {
1577
+ var box = dialogRef.current;
1578
+ if (!box) return;
1579
+ var viewportWidth = window.innerWidth;
1580
+ var viewportHeight = window.innerHeight;
1581
+ var dialogWidth = box.offsetWidth;
1582
+ var estimatedHeight = 560;
1583
+ var top = Math.max(40, Math.min((viewportHeight - estimatedHeight) / 2, viewportHeight - estimatedHeight - 20));
1584
+ box.style.left = "".concat(Math.max(20, (viewportWidth - dialogWidth) / 2), "px");
1585
+ box.style.top = "".concat(Number.isFinite(top) && top > 0 ? top : 40, "px");
1576
1586
  }, []);
1577
1587
  var body = document.body;
1578
1588
  return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement("div", {
@@ -1581,7 +1591,7 @@ var SearchReplace = function SearchReplace() {
1581
1591
  },
1582
1592
  id: "leankylin-search-replace",
1583
1593
  className: "leankylin-search-replace leankylin-dialog",
1584
- style: getInitialPosition(body),
1594
+ ref: dialogRef,
1585
1595
  onMouseEnter: function onMouseEnter() {
1586
1596
  _.set(refs.globalCache, "searchDialog.mouseEnter", true);
1587
1597
  },
@@ -1758,7 +1768,7 @@ var SearchReplace = function SearchReplace() {
1758
1768
  }
1759
1769
  }, /*#__PURE__*/React.createElement("div", {
1760
1770
  className: "boxTitle"
1761
- }, /*#__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", {
1771
+ }, /*#__PURE__*/React.createElement("span", null, findAndReplace.searchTargetSheet), /*#__PURE__*/React.createElement("span", null, findAndReplace.searchTargetCell), /*#__PURE__*/React.createElement("span", null, findAndReplace.searchTargetValue), /*#__PURE__*/React.createElement("span", null, findAndReplace.searchTargetFormula), /*#__PURE__*/React.createElement("span", null, findAndReplace.searchTargetDisplayValue)), /*#__PURE__*/React.createElement("div", {
1762
1772
  className: "boxMain"
1763
1773
  }, searchResult.map(function (v) {
1764
1774
  return /*#__PURE__*/React.createElement("div", {
@@ -1783,7 +1793,7 @@ var SearchReplace = function SearchReplace() {
1783
1793
  c: v.c
1784
1794
  });
1785
1795
  }
1786
- }, /*#__PURE__*/React.createElement("span", null, v.sheetName), /*#__PURE__*/React.createElement("span", null, v.cellPosition), /*#__PURE__*/React.createElement("span", null, v.value));
1796
+ }, /*#__PURE__*/React.createElement("span", null, v.sheetName), /*#__PURE__*/React.createElement("span", null, v.cellPosition), /*#__PURE__*/React.createElement("span", null, v.value), /*#__PURE__*/React.createElement("span", null, v.formula), /*#__PURE__*/React.createElement("span", null, v.displayValue));
1787
1797
  })))))), body);
1788
1798
  };
1789
1799
 
@@ -10566,17 +10576,7 @@ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cel
10566
10576
  var isrefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
10567
10577
  setContext(function (draftCtx) {
10568
10578
  api.updateFunctionGroup(draftCtx);
10569
- if (sheetId) {
10570
- api.calculateSheetFromula(draftCtx, sheetId, isrefresh);
10571
- } else {
10572
- if (isrefresh) {
10573
- api.calculateSheetFromula(draftCtx, '', isrefresh);
10574
- } else {
10575
- _.forEach(draftCtx.luckysheetfile, function (sheet_obj) {
10576
- api.calculateSheetFromula(draftCtx, sheet_obj.id, isrefresh);
10577
- });
10578
- }
10579
- }
10579
+ api.calculateSheetFromula(draftCtx, sheetId, isrefresh);
10580
10580
  });
10581
10581
  },
10582
10582
  calculateSheetByCells: function calculateSheetByCells(cells) {
package/dist/index.js CHANGED
@@ -1175,6 +1175,7 @@ var InputBox = function InputBox() {
1175
1175
  var row_index = firstSelection === null || firstSelection === void 0 ? void 0 : firstSelection.row_focus;
1176
1176
  var col_index = firstSelection === null || firstSelection === void 0 ? void 0 : firstSelection.column_focus;
1177
1177
  var preText = React.useRef("");
1178
+ var prevCellRef = React.useRef();
1178
1179
  React.useLayoutEffect(function () {
1179
1180
  if (!context.allowEdit) {
1180
1181
  setContext(function (ctx) {
@@ -1191,11 +1192,18 @@ var InputBox = function InputBox() {
1191
1192
  delete refs.globalCache.doNotUpdateCell;
1192
1193
  return;
1193
1194
  }
1194
- if (___default['default'].isEqual(prevCellUpdate, context.luckysheetCellUpdate) && prevSheetId === context.currentSheetId) {
1195
- return;
1196
- }
1197
1195
  var flowdata = core.getFlowdata(context);
1198
1196
  var cell = flowdata === null || flowdata === void 0 ? void 0 : (_flowdata$row_index = flowdata[row_index]) === null || _flowdata$row_index === void 0 ? void 0 : _flowdata$row_index[col_index];
1197
+ var selectionChanged = !___default['default'].isEqual(prevCellUpdate, context.luckysheetCellUpdate) || prevSheetId !== context.currentSheetId;
1198
+ var cellChanged = !prevCellRef.current || prevCellRef.current.r !== row_index || prevCellRef.current.c !== col_index || prevCellRef.current.cell !== cell;
1199
+ if (!selectionChanged && !cellChanged) {
1200
+ return;
1201
+ }
1202
+ prevCellRef.current = {
1203
+ r: row_index,
1204
+ c: col_index,
1205
+ cell: cell
1206
+ };
1199
1207
  var value = "";
1200
1208
  if (cell && !refs.globalCache.overwriteCell) {
1201
1209
  if (core.isInlineStringCell(cell)) {
@@ -1574,15 +1582,17 @@ var SearchReplace = function SearchReplace() {
1574
1582
  ___default['default'].set(draft, mode, value);
1575
1583
  }));
1576
1584
  }, []);
1577
- var getInitialPosition = React.useCallback(function (container) {
1578
- var rect = container.getBoundingClientRect();
1579
- var estimatedHeight = 520;
1580
- var dialogWidth = 500;
1581
- var top = Math.max(40, Math.min((rect.height - estimatedHeight) / 2, rect.height - estimatedHeight - 20));
1582
- return {
1583
- left: Math.max(20, (rect.width - dialogWidth) / 2),
1584
- top: Number.isFinite(top) && top > 0 ? top : 40
1585
- };
1585
+ var dialogRef = React.useRef(null);
1586
+ React.useLayoutEffect(function () {
1587
+ var box = dialogRef.current;
1588
+ if (!box) return;
1589
+ var viewportWidth = window.innerWidth;
1590
+ var viewportHeight = window.innerHeight;
1591
+ var dialogWidth = box.offsetWidth;
1592
+ var estimatedHeight = 560;
1593
+ var top = Math.max(40, Math.min((viewportHeight - estimatedHeight) / 2, viewportHeight - estimatedHeight - 20));
1594
+ box.style.left = "".concat(Math.max(20, (viewportWidth - dialogWidth) / 2), "px");
1595
+ box.style.top = "".concat(Number.isFinite(top) && top > 0 ? top : 40, "px");
1586
1596
  }, []);
1587
1597
  var body = document.body;
1588
1598
  return /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default['default'].createElement("div", {
@@ -1591,7 +1601,7 @@ var SearchReplace = function SearchReplace() {
1591
1601
  },
1592
1602
  id: "leankylin-search-replace",
1593
1603
  className: "leankylin-search-replace leankylin-dialog",
1594
- style: getInitialPosition(body),
1604
+ ref: dialogRef,
1595
1605
  onMouseEnter: function onMouseEnter() {
1596
1606
  ___default['default'].set(refs.globalCache, "searchDialog.mouseEnter", true);
1597
1607
  },
@@ -1768,7 +1778,7 @@ var SearchReplace = function SearchReplace() {
1768
1778
  }
1769
1779
  }, /*#__PURE__*/React__default['default'].createElement("div", {
1770
1780
  className: "boxTitle"
1771
- }, /*#__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", {
1781
+ }, /*#__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("span", null, findAndReplace.searchTargetFormula), /*#__PURE__*/React__default['default'].createElement("span", null, findAndReplace.searchTargetDisplayValue)), /*#__PURE__*/React__default['default'].createElement("div", {
1772
1782
  className: "boxMain"
1773
1783
  }, searchResult.map(function (v) {
1774
1784
  return /*#__PURE__*/React__default['default'].createElement("div", {
@@ -1793,7 +1803,7 @@ var SearchReplace = function SearchReplace() {
1793
1803
  c: v.c
1794
1804
  });
1795
1805
  }
1796
- }, /*#__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));
1806
+ }, /*#__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), /*#__PURE__*/React__default['default'].createElement("span", null, v.formula), /*#__PURE__*/React__default['default'].createElement("span", null, v.displayValue));
1797
1807
  })))))), body);
1798
1808
  };
1799
1809
 
@@ -10576,17 +10586,7 @@ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cel
10576
10586
  var isrefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
10577
10587
  setContext(function (draftCtx) {
10578
10588
  core.api.updateFunctionGroup(draftCtx);
10579
- if (sheetId) {
10580
- core.api.calculateSheetFromula(draftCtx, sheetId, isrefresh);
10581
- } else {
10582
- if (isrefresh) {
10583
- core.api.calculateSheetFromula(draftCtx, '', isrefresh);
10584
- } else {
10585
- ___default['default'].forEach(draftCtx.luckysheetfile, function (sheet_obj) {
10586
- core.api.calculateSheetFromula(draftCtx, sheet_obj.id, isrefresh);
10587
- });
10588
- }
10589
- }
10589
+ core.api.calculateSheetFromula(draftCtx, sheetId, isrefresh);
10590
10590
  });
10591
10591
  },
10592
10592
  calculateSheetByCells: function calculateSheetByCells(cells) {
@@ -1271,14 +1271,26 @@ html::-webkit-scrollbar-button {
1271
1271
  position: absolute;
1272
1272
  padding: 24px 28px;
1273
1273
  z-index: 1002;
1274
- min-width: 520px;
1274
+ width: 720px;
1275
+ height: 560px;
1275
1276
  max-height: calc(100vh - 60px);
1277
+ display: flex;
1278
+ flex-direction: column;
1279
+ box-sizing: border-box;
1276
1280
  overflow-y: auto;
1277
1281
  font-family:
1278
1282
  -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
1279
1283
  Arial, sans-serif;
1280
1284
  }
1281
1285
 
1286
+ /* 内容容器:占满弹框,结果列表占剩余空间 */
1287
+ #leankylin-search-replace .container {
1288
+ display: flex;
1289
+ flex-direction: column;
1290
+ flex: 1;
1291
+ min-height: 0;
1292
+ }
1293
+
1282
1294
  /* 关闭按钮 */
1283
1295
  #leankylin-search-replace .icon-close {
1284
1296
  width: 28px;
@@ -1353,7 +1365,7 @@ html::-webkit-scrollbar-button {
1353
1365
  padding: 0;
1354
1366
  border: none;
1355
1367
  font-size: 13px;
1356
- min-width: 460px;
1368
+ min-width: 640px;
1357
1369
  }
1358
1370
 
1359
1371
  #leankylin-search-replace .ctBox .row {
@@ -1580,9 +1592,10 @@ html::-webkit-scrollbar-button {
1580
1592
  border-color: #aaa;
1581
1593
  }
1582
1594
 
1583
- /* 搜索结果列表 */
1595
+ /* 搜索结果列表:占满剩余空间,内部滚动 */
1584
1596
  #leankylin-search-replace #searchAllbox {
1585
- height: 210px;
1597
+ flex: 1;
1598
+ min-height: 120px;
1586
1599
  border: 1px solid #e8e8e8;
1587
1600
  border-radius: 6px;
1588
1601
  margin-top: 14px;
@@ -1616,20 +1629,29 @@ html::-webkit-scrollbar-button {
1616
1629
  }
1617
1630
 
1618
1631
  #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(1) {
1619
- width: 25%;
1632
+ width: 12%;
1620
1633
  }
1621
1634
 
1622
1635
  #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(2) {
1623
- width: 25%;
1636
+ width: 9%;
1624
1637
  }
1625
1638
 
1626
1639
  #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(3) {
1627
- width: 50%;
1640
+ width: 24%;
1641
+ }
1642
+
1643
+ #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(4) {
1644
+ width: 30%;
1645
+ }
1646
+
1647
+ #leankylin-search-replace #searchAllbox .boxTitle span:nth-of-type(5) {
1648
+ width: 25%;
1628
1649
  }
1629
1650
 
1630
1651
  #leankylin-search-replace #searchAllbox .boxMain .boxItem {
1631
- height: 32px;
1632
- line-height: 32px;
1652
+ display: flex;
1653
+ align-items: center;
1654
+ min-height: 32px;
1633
1655
  border-bottom: 1px solid #f0f0f0;
1634
1656
  padding: 0 10px;
1635
1657
  box-sizing: border-box;
@@ -1652,21 +1674,27 @@ html::-webkit-scrollbar-button {
1652
1674
  color: #fff;
1653
1675
  }
1654
1676
 
1677
+ #leankylin-search-replace #searchAllbox .boxMain .boxItem.on span {
1678
+ color: #fff;
1679
+ }
1680
+
1655
1681
  #leankylin-search-replace #searchAllbox .boxMain .boxItem span {
1682
+ flex: 0 0 auto;
1656
1683
  display: block;
1657
1684
  text-align: center;
1658
- float: left;
1685
+ box-sizing: border-box;
1686
+ padding: 6px 4px;
1659
1687
  }
1660
1688
 
1661
1689
  #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(1) {
1662
- width: 25%;
1690
+ flex-basis: 12%;
1663
1691
  overflow: hidden;
1664
1692
  text-overflow: ellipsis;
1665
1693
  white-space: nowrap;
1666
1694
  }
1667
1695
 
1668
1696
  #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(2) {
1669
- width: 25%;
1697
+ flex-basis: 9%;
1670
1698
  overflow: hidden;
1671
1699
  text-overflow: ellipsis;
1672
1700
  white-space: nowrap;
@@ -1675,7 +1703,23 @@ html::-webkit-scrollbar-button {
1675
1703
  }
1676
1704
 
1677
1705
  #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(3) {
1678
- width: 50%;
1706
+ flex-basis: 24%;
1707
+ overflow: hidden;
1708
+ text-overflow: ellipsis;
1709
+ white-space: nowrap;
1710
+ }
1711
+
1712
+ #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(4) {
1713
+ flex-basis: 30%;
1714
+ white-space: normal;
1715
+ word-break: break-all;
1716
+ line-height: 1.4;
1717
+ font-family: "SF Mono", "Fira Code", Menlo, monospace;
1718
+ font-size: 12px;
1719
+ }
1720
+
1721
+ #leankylin-search-replace #searchAllbox .boxMain .boxItem span:nth-of-type(5) {
1722
+ flex-basis: 25%;
1679
1723
  overflow: hidden;
1680
1724
  text-overflow: ellipsis;
1681
1725
  white-space: nowrap;