@fileverse-dev/fortune-react 1.0.2-mod-25-patch-1 → 1.0.2-mod-27

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.js CHANGED
@@ -807,25 +807,77 @@ var FormulaSearch = function FormulaSearch(props) {
807
807
  key: v.n,
808
808
  "data-func": v.n,
809
809
  className: "luckysheet-formula-search-item ".concat(index === 0 ? "luckysheet-formula-search-item-active" : "")
810
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
811
+ style: {
812
+ display: "flex",
813
+ justifyContent: "space-between"
814
+ }
810
815
  }, /*#__PURE__*/React__default['default'].createElement("div", {
811
816
  className: "luckysheet-formula-search-func"
812
817
  }, v.n), /*#__PURE__*/React__default['default'].createElement("div", {
818
+ style: {
819
+ display: "flex",
820
+ gap: "4px"
821
+ }
822
+ }, v.LOGO && (/*#__PURE__*/React__default['default'].createElement("img", {
823
+ src: v.LOGO,
824
+ alt: "Service Logo",
825
+ width: 32,
826
+ height: 32
827
+ })), v.API_KEY && (/*#__PURE__*/React__default['default'].createElement("div", {
828
+ style: {
829
+ borderRadius: "4px",
830
+ width: "20px",
831
+ height: "20px",
832
+ backgroundColor: "".concat(localStorage.getItem(v.API_KEY) ? "#177E23" : "#F9A92B")
833
+ }
834
+ }, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
835
+ name: "Key",
836
+ style: {
837
+ color: "white"
838
+ }
839
+ }))))), /*#__PURE__*/React__default['default'].createElement("div", {
813
840
  className: "luckysheet-formula-search-detail"
814
841
  }, v.d));
815
842
  }));
816
843
  };
817
844
 
845
+ function lightenHexColor(hex) {
846
+ var amount = 100;
847
+ if (hex.startsWith("#")) {
848
+ hex = hex.slice(1);
849
+ }
850
+ var r = parseInt(hex.slice(0, 2), 16);
851
+ var g = parseInt(hex.slice(2, 4), 16);
852
+ var b = parseInt(hex.slice(4, 6), 16);
853
+ r = Math.min(255, r + amount);
854
+ g = Math.min(255, g + amount);
855
+ b = Math.min(255, b + amount);
856
+ var newHex = "#".concat((1 << 24 | r << 16 | g << 8 | b).toString(16).slice(1).toUpperCase());
857
+ return newHex;
858
+ }
818
859
  var FormulaHint = function FormulaHint(props) {
819
860
  var _useContext = React.useContext(WorkbookContext),
820
861
  context = _useContext.context;
821
862
  var _locale = fortuneCore.locale(context),
822
863
  formulaMore = _locale.formulaMore;
823
- if (!context.functionHint) return null;
824
864
  var fn = context.formulaCache.functionlistMap[context.functionHint];
865
+ var _useState = React.useState(localStorage.getItem(fn === null || fn === void 0 ? void 0 : fn.API_KEY)),
866
+ _useState2 = _slicedToArray(_useState, 2),
867
+ API_KEY = _useState2[0],
868
+ setAPI_KEY = _useState2[1];
869
+ var _useState3 = React.useState(!API_KEY),
870
+ _useState4 = _slicedToArray(_useState3, 2),
871
+ showAPInput = _useState4[0],
872
+ setShowAPInput = _useState4[1];
825
873
  if (!fn) return null;
826
874
  return /*#__PURE__*/React__default['default'].createElement("div", _objectSpread2(_objectSpread2({}, props), {}, {
827
875
  id: "luckysheet-formula-help-c",
828
- className: "luckysheet-formula-help-c"
876
+ className: "luckysheet-formula-help-c",
877
+ style: {
878
+ border: "1px solid ".concat(fn.BRAND_COLOR),
879
+ backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : "#F8F9FA")
880
+ }
829
881
  }), /*#__PURE__*/React__default['default'].createElement("div", {
830
882
  className: "luckysheet-formula-help-close",
831
883
  title: "\u5173\u95ED"
@@ -839,7 +891,10 @@ var FormulaHint = function FormulaHint(props) {
839
891
  className: "fa fa-angle-up",
840
892
  "aria-hidden": "true"
841
893
  })), /*#__PURE__*/React__default['default'].createElement("div", {
842
- className: "luckysheet-formula-help-title"
894
+ className: "luckysheet-formula-help-title formula-title",
895
+ style: {
896
+ backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : "#F8F9FA")
897
+ }
843
898
  }, /*#__PURE__*/React__default['default'].createElement("div", {
844
899
  className: "luckysheet-formula-help-title-formula"
845
900
  }, /*#__PURE__*/React__default['default'].createElement("span", {
@@ -863,16 +918,98 @@ var FormulaHint = function FormulaHint(props) {
863
918
  }, name, i !== fn.p.length - 1 && ", ");
864
919
  })), /*#__PURE__*/React__default['default'].createElement("span", {
865
920
  className: "luckysheet-arguments-paren"
866
- }, ")"))), /*#__PURE__*/React__default['default'].createElement("div", {
867
- className: "luckysheet-formula-help-content"
921
+ }, ")")), /*#__PURE__*/React__default['default'].createElement("div", {
922
+ style: {
923
+ display: "flex",
924
+ gap: "4px"
925
+ }
926
+ }, fn.LOGO && (/*#__PURE__*/React__default['default'].createElement("img", {
927
+ src: fn.LOGO,
928
+ alt: "Service Logo",
929
+ width: 32,
930
+ height: 32
931
+ })), fn.API_KEY && (/*#__PURE__*/React__default['default'].createElement("div", {
932
+ style: {
933
+ borderRadius: "4px",
934
+ width: "20px",
935
+ height: "20px",
936
+ backgroundColor: "".concat(localStorage.getItem(fn.API_KEY) ? "#177E23" : "#F9A92B")
937
+ }
938
+ }, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
939
+ name: "Key",
940
+ style: {
941
+ color: "white"
942
+ }
943
+ }))))), /*#__PURE__*/React__default['default'].createElement("div", {
944
+ className: "luckysheet-formula-help-content",
945
+ style: {
946
+ backgroundColor: "".concat(fn.BRAND_COLOR ? lightenHexColor(fn.BRAND_COLOR) : "#F8F9FA")
947
+ }
948
+ }, fn.API_KEY && (/*#__PURE__*/React__default['default'].createElement("div", {
949
+ style: {
950
+ borderLeft: "4px solid ".concat(API_KEY ? "#177E23" : "#fb923c"),
951
+ backgroundColor: "white",
952
+ padding: "16px",
953
+ margin: "4px 4px 0px 4px",
954
+ borderRadius: "4px"
955
+ }
956
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
957
+ style: {
958
+ display: "flex",
959
+ justifyContent: "space-between",
960
+ cursor: "pointer"
961
+ },
962
+ onClick: function onClick() {
963
+ return setShowAPInput(!showAPInput);
964
+ }
965
+ }, /*#__PURE__*/React__default['default'].createElement("h3", {
966
+ style: {
967
+ fontSize: "14px",
968
+ fontWeight: "600",
969
+ color: "#1f2937",
970
+ margin: "0 0 8px 0"
971
+ }
972
+ }, "API key is required"), /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
973
+ name: "ChevronDown",
974
+ width: 24,
975
+ height: 24
976
+ })), showAPInput && (/*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("p", {
977
+ style: {
978
+ color: "#6b7280",
979
+ margin: "0 0 16px 0"
980
+ }
981
+ }, "This function is require API key. Please paste it below and\n press 'Ok'."), /*#__PURE__*/React__default['default'].createElement("div", {
982
+ style: {
983
+ display: "flex",
984
+ gap: "12px"
985
+ }
986
+ }, /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
987
+ value: API_KEY,
988
+ id: "function-api-key",
989
+ type: "text",
990
+ placeholder: "API key",
991
+ onChange: function onChange(e) {
992
+ setAPI_KEY(e.target.value);
993
+ }
994
+ }), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
995
+ onClick: function onClick() {
996
+ localStorage.setItem(fn.API_KEY, API_KEY);
997
+ }
998
+ }, "Ok")))))), /*#__PURE__*/React__default['default'].createElement("div", {
999
+ style: {
1000
+ backgroundColor: "white",
1001
+ padding: "6px",
1002
+ margin: "4px 4px 0px 4px",
1003
+ borderRadius: "4px"
1004
+ }
868
1005
  }, /*#__PURE__*/React__default['default'].createElement("div", {
869
1006
  className: "luckysheet-formula-help-content-example"
870
1007
  }, /*#__PURE__*/React__default['default'].createElement("div", {
871
- className: "luckysheet-arguments-help-section-title"
1008
+ className: "luckysheet-arguments-help-section-title example-title"
872
1009
  }, formulaMore.helpExample), /*#__PURE__*/React__default['default'].createElement("div", {
873
1010
  className: "luckysheet-arguments-help-formula"
874
1011
  }, /*#__PURE__*/React__default['default'].createElement("span", {
875
- className: "luckysheet-arguments-help-function-name"
1012
+ className: "luckysheet-arguments-help-function-name example-value"
876
1013
  }, fn.n), /*#__PURE__*/React__default['default'].createElement("span", {
877
1014
  className: "luckysheet-arguments-paren"
878
1015
  }, "("), /*#__PURE__*/React__default['default'].createElement("span", {
@@ -886,13 +1023,16 @@ var FormulaHint = function FormulaHint(props) {
886
1023
  })), /*#__PURE__*/React__default['default'].createElement("span", {
887
1024
  className: "luckysheet-arguments-paren"
888
1025
  }, ")"))), /*#__PURE__*/React__default['default'].createElement("div", {
889
- className: "luckysheet-formula-help-content-detail"
1026
+ className: "luckysheet-formula-help-content-detail",
1027
+ style: {
1028
+ paddingBottom: "6px"
1029
+ }
890
1030
  }, /*#__PURE__*/React__default['default'].createElement("div", {
891
1031
  className: "luckysheet-arguments-help-section"
892
1032
  }, /*#__PURE__*/React__default['default'].createElement("div", {
893
- className: "luckysheet-arguments-help-section-title luckysheet-arguments-help-parameter-name"
894
- }, formulaMore.helpAbstract), /*#__PURE__*/React__default['default'].createElement("span", {
895
- className: "luckysheet-arguments-help-parameter-content"
1033
+ className: "luckysheet-arguments-help-section-title luckysheet-arguments-help-parameter-name example-title"
1034
+ }, "About"), /*#__PURE__*/React__default['default'].createElement("span", {
1035
+ className: "luckysheet-arguments-help-parameter-content example-value"
896
1036
  }, fn.d))), /*#__PURE__*/React__default['default'].createElement("div", {
897
1037
  className: "luckysheet-formula-help-content-param"
898
1038
  }, fn.p.map(function (param) {
@@ -900,15 +1040,24 @@ var FormulaHint = function FormulaHint(props) {
900
1040
  className: "luckysheet-arguments-help-section",
901
1041
  key: param.name
902
1042
  }, /*#__PURE__*/React__default['default'].createElement("div", {
903
- className: "luckysheet-arguments-help-section-title"
1043
+ className: "luckysheet-arguments-help-section-title example-title"
904
1044
  }, param.name, param.repeat === "y" && (/*#__PURE__*/React__default['default'].createElement("span", {
905
- className: "luckysheet-arguments-help-argument-info"
1045
+ className: "luckysheet-arguments-help-argument-info example-value",
1046
+ style: {
1047
+ marginTop: "2px"
1048
+ }
906
1049
  }, "...-", formulaMore.allowRepeatText)), param.require === "o" && (/*#__PURE__*/React__default['default'].createElement("span", {
907
- className: "luckysheet-arguments-help-argument-info"
1050
+ className: "luckysheet-arguments-help-argument-info example-value",
1051
+ style: {
1052
+ marginTop: "2px"
1053
+ }
908
1054
  }, "-[", formulaMore.allowOptionText, "]"))), /*#__PURE__*/React__default['default'].createElement("span", {
909
- className: "luckysheet-arguments-help-parameter-content"
1055
+ className: "luckysheet-arguments-help-parameter-content example-value",
1056
+ style: {
1057
+ marginTop: "2px"
1058
+ }
910
1059
  }, param.detail));
911
- }))), /*#__PURE__*/React__default['default'].createElement("div", {
1060
+ })))), /*#__PURE__*/React__default['default'].createElement("div", {
912
1061
  className: "luckysheet-formula-help-foot"
913
1062
  }));
914
1063
  };
@@ -4316,6 +4465,205 @@ var Option = function Option(_ref2) {
4316
4465
  }, children));
4317
4466
  };
4318
4467
 
4468
+ var FormulaSearch$1 = function FormulaSearch(_ref) {
4469
+ var _onCancel = _ref.onCancel;
4470
+ var _useContext = React.useContext(WorkbookContext),
4471
+ context = _useContext.context,
4472
+ setContext = _useContext.setContext,
4473
+ _useContext$refs = _useContext.refs,
4474
+ cellInput = _useContext$refs.cellInput,
4475
+ globalCache = _useContext$refs.globalCache;
4476
+ var _useState = React.useState(20),
4477
+ _useState2 = _slicedToArray(_useState, 2),
4478
+ selectedType = _useState2[0],
4479
+ setSelectedType = _useState2[1];
4480
+ var _useState3 = React.useState(0),
4481
+ _useState4 = _slicedToArray(_useState3, 2),
4482
+ selectedFuncIndex = _useState4[0],
4483
+ setSelectedFuncIndex = _useState4[1];
4484
+ var _useState5 = React.useState(""),
4485
+ _useState6 = _slicedToArray(_useState5, 2),
4486
+ searchText = _useState6[0],
4487
+ setSearchText = _useState6[1];
4488
+ var _locale = fortuneCore.locale(context),
4489
+ formulaMore = _locale.formulaMore,
4490
+ functionlist = _locale.functionlist,
4491
+ button = _locale.button;
4492
+ var typeList = React.useMemo(function () {
4493
+ return [{
4494
+ t: 20,
4495
+ n: formulaMore.Crypto
4496
+ }, {
4497
+ t: 0,
4498
+ n: formulaMore.Math
4499
+ }, {
4500
+ t: 1,
4501
+ n: formulaMore.Statistical
4502
+ }, {
4503
+ t: 2,
4504
+ n: formulaMore.Lookup
4505
+ }, {
4506
+ t: 3,
4507
+ n: formulaMore.luckysheet
4508
+ }, {
4509
+ t: 4,
4510
+ n: formulaMore.dataMining
4511
+ }, {
4512
+ t: 5,
4513
+ n: formulaMore.Database
4514
+ }, {
4515
+ t: 6,
4516
+ n: formulaMore.Date
4517
+ }, {
4518
+ t: 7,
4519
+ n: formulaMore.Filter
4520
+ }, {
4521
+ t: 8,
4522
+ n: formulaMore.Financial
4523
+ }, {
4524
+ t: 9,
4525
+ n: formulaMore.Engineering
4526
+ }, {
4527
+ t: 10,
4528
+ n: formulaMore.Logical
4529
+ }, {
4530
+ t: 11,
4531
+ n: formulaMore.Operator
4532
+ }, {
4533
+ t: 12,
4534
+ n: formulaMore.Text
4535
+ }, {
4536
+ t: 13,
4537
+ n: formulaMore.Parser
4538
+ }, {
4539
+ t: 14,
4540
+ n: formulaMore.Array
4541
+ }, {
4542
+ t: -1,
4543
+ n: formulaMore.other
4544
+ }];
4545
+ }, [formulaMore]);
4546
+ var filteredFunctionList = React.useMemo(function () {
4547
+ if (searchText) {
4548
+ var list = [];
4549
+ var text = ___default['default'].cloneDeep(searchText.toUpperCase());
4550
+ for (var i = 0; i < functionlist.length; i += 1) {
4551
+ if (/^[a-zA-Z]+$/.test(text)) {
4552
+ if (functionlist[i].n.indexOf(text) !== -1) {
4553
+ list.push(functionlist[i]);
4554
+ }
4555
+ } else if (functionlist[i].a.indexOf(text) !== -1) {
4556
+ list.push(functionlist[i]);
4557
+ }
4558
+ }
4559
+ return list;
4560
+ }
4561
+ return ___default['default'].filter(functionlist, function (v) {
4562
+ return v.t === selectedType;
4563
+ });
4564
+ }, [functionlist, selectedType, searchText]);
4565
+ var onConfirm = React.useCallback(function () {
4566
+ var _context$luckysheet_s;
4567
+ var last = (_context$luckysheet_s = context.luckysheet_select_save) === null || _context$luckysheet_s === void 0 ? void 0 : _context$luckysheet_s[context.luckysheet_select_save.length - 1];
4568
+ var row_index = last === null || last === void 0 ? void 0 : last.row_focus;
4569
+ var col_index = last === null || last === void 0 ? void 0 : last.column_focus;
4570
+ if (!last) {
4571
+ row_index = 0;
4572
+ col_index = 0;
4573
+ } else {
4574
+ if (row_index == null) {
4575
+ var _last$row = _slicedToArray(last.row, 1);
4576
+ row_index = _last$row[0];
4577
+ }
4578
+ if (col_index == null) {
4579
+ var _last$column = _slicedToArray(last.column, 1);
4580
+ col_index = _last$column[0];
4581
+ }
4582
+ }
4583
+ var formulaTxt = "<span dir=\"auto\" class=\"luckysheet-formula-text-color\">=</span><span dir=\"auto\" class=\"luckysheet-formula-text-color\">".concat(filteredFunctionList[selectedFuncIndex].n.toUpperCase(), "</span><span dir=\"auto\" class=\"luckysheet-formula-text-color\">(</span>");
4584
+ setContext(function (ctx) {
4585
+ if (cellInput.current != null) {
4586
+ ctx.luckysheetCellUpdate = [row_index, col_index];
4587
+ globalCache.doNotUpdateCell = true;
4588
+ cellInput.current.innerHTML = formulaTxt;
4589
+ var spans = cellInput.current.childNodes;
4590
+ if (!___default['default'].isEmpty(spans)) {
4591
+ fortuneCore.setCaretPosition(ctx, spans[spans.length - 1], 0, 1);
4592
+ }
4593
+ ctx.functionHint = filteredFunctionList[selectedFuncIndex].n.toUpperCase();
4594
+ ctx.functionCandidates = [];
4595
+ if (___default['default'].isEmpty(ctx.formulaCache.functionlistMap)) {
4596
+ for (var i = 0; i < functionlist.length; i += 1) {
4597
+ ctx.formulaCache.functionlistMap[functionlist[i].n] = functionlist[i];
4598
+ }
4599
+ }
4600
+ _onCancel();
4601
+ }
4602
+ });
4603
+ }, [cellInput, context.luckysheet_select_save, filteredFunctionList, globalCache, selectedFuncIndex, setContext, _onCancel, functionlist]);
4604
+ var onCancel = React.useCallback(function () {
4605
+ setContext(function (ctx) {
4606
+ fortuneCore.cancelNormalSelected(ctx);
4607
+ if (cellInput.current) {
4608
+ cellInput.current.innerHTML = "";
4609
+ }
4610
+ });
4611
+ _onCancel();
4612
+ }, [_onCancel, cellInput, setContext]);
4613
+ return /*#__PURE__*/React__default['default'].createElement("div", {
4614
+ id: "luckysheet-search-formula"
4615
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4616
+ className: "inpbox"
4617
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, formulaMore.findFunctionTitle, "\uFF1A"), /*#__PURE__*/React__default['default'].createElement("input", {
4618
+ className: "formulaInputFocus",
4619
+ id: "searchFormulaListInput",
4620
+ placeholder: formulaMore.tipInputFunctionName,
4621
+ spellCheck: "false",
4622
+ onChange: function onChange(e) {
4623
+ return setSearchText(e.target.value);
4624
+ }
4625
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
4626
+ className: "selbox"
4627
+ }, /*#__PURE__*/React__default['default'].createElement("span", null, formulaMore.selectCategory, "\uFF1A"), /*#__PURE__*/React__default['default'].createElement("select", {
4628
+ id: "formulaTypeSelect",
4629
+ onChange: function onChange(e) {
4630
+ setSelectedType(parseInt(e.target.value, 10));
4631
+ setSelectedFuncIndex(0);
4632
+ }
4633
+ }, typeList.map(function (v) {
4634
+ return /*#__PURE__*/React__default['default'].createElement("option", {
4635
+ key: v.t,
4636
+ value: v.t
4637
+ }, v.n);
4638
+ }))), /*#__PURE__*/React__default['default'].createElement("div", {
4639
+ className: "listbox",
4640
+ style: {
4641
+ height: 200
4642
+ }
4643
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, formulaMore.selectFunctionTitle, "\uFF1A"), /*#__PURE__*/React__default['default'].createElement("div", {
4644
+ className: "formulaList"
4645
+ }, filteredFunctionList.map(function (v, index) {
4646
+ return /*#__PURE__*/React__default['default'].createElement("div", {
4647
+ className: "listBox".concat(index === selectedFuncIndex ? " on" : ""),
4648
+ key: v.n,
4649
+ onClick: function onClick() {
4650
+ return setSelectedFuncIndex(index);
4651
+ },
4652
+ tabIndex: 0
4653
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, v.n), /*#__PURE__*/React__default['default'].createElement("div", null, v.a));
4654
+ }))), /*#__PURE__*/React__default['default'].createElement("div", {
4655
+ className: "fortune-dialog-box-button-container"
4656
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4657
+ className: "fortune-message-box-button button-primary",
4658
+ onClick: onConfirm,
4659
+ tabIndex: 0
4660
+ }, button.confirm), /*#__PURE__*/React__default['default'].createElement("div", {
4661
+ className: "fortune-message-box-button button-default",
4662
+ onClick: onCancel,
4663
+ tabIndex: 0
4664
+ }, button.cancel)));
4665
+ };
4666
+
4319
4667
  var SplitColumn = function SplitColumn() {
4320
4668
  var _useContext = React.useContext(WorkbookContext),
4321
4669
  context = _useContext.context,
@@ -6119,10 +6467,9 @@ var Toolbar = function Toolbar(_ref) {
6119
6467
  }), /*#__PURE__*/React__default['default'].createElement(MenuDivider, null), /*#__PURE__*/React__default['default'].createElement(Option, {
6120
6468
  key: "formula",
6121
6469
  onClick: function onClick() {
6122
- var button = document.getElementById("function-button");
6123
- if (button) {
6124
- button.click();
6125
- }
6470
+ showDialog(/*#__PURE__*/React__default['default'].createElement(FormulaSearch$1, {
6471
+ onCancel: hideDialog
6472
+ }));
6126
6473
  setOpen(false);
6127
6474
  }
6128
6475
  }, "".concat(formula.find, "...")));
@@ -9951,7 +10298,7 @@ var MoreItemsContaier = function MoreItemsContaier(_ref) {
9951
10298
  }, children);
9952
10299
  };
9953
10300
 
9954
- function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY, globalCache) {
10301
+ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY) {
9955
10302
  return {
9956
10303
  applyOp: function applyOp(ops) {
9957
10304
  setContext(function (ctx_) {
@@ -10252,50 +10599,6 @@ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cel
10252
10599
  },
10253
10600
  celldataToData: function celldataToData(celldata, rowCount, colCount) {
10254
10601
  return fortuneCore.api.celldataToData(celldata, rowCount, colCount);
10255
- },
10256
- insertFunction: function insertFunction(selectedFuncIndex, filteredFunctionList, callback) {
10257
- var _context$luckysheet_s2;
10258
- var last = (_context$luckysheet_s2 = context.luckysheet_select_save) === null || _context$luckysheet_s2 === void 0 ? void 0 : _context$luckysheet_s2[context.luckysheet_select_save.length - 1];
10259
- var row_index = last === null || last === void 0 ? void 0 : last.row_focus;
10260
- var col_index = last === null || last === void 0 ? void 0 : last.column_focus;
10261
- if (!last) {
10262
- row_index = 0;
10263
- col_index = 0;
10264
- } else {
10265
- if (row_index == null) {
10266
- var _last$row2 = _slicedToArray(last.row, 1);
10267
- row_index = _last$row2[0];
10268
- }
10269
- if (col_index == null) {
10270
- var _last$column2 = _slicedToArray(last.column, 1);
10271
- col_index = _last$column2[0];
10272
- }
10273
- }
10274
- var formulaTxt = "<span dir=\"auto\" class=\"luckysheet-formula-text-color\">=</span><span dir=\"auto\" class=\"luckysheet-formula-text-color\">".concat(filteredFunctionList[selectedFuncIndex].n.toUpperCase(), "</span><span dir=\"auto\" class=\"luckysheet-formula-text-color\">(</span>");
10275
- var _locale2 = fortuneCore.locale(context),
10276
- functionlist = _locale2.functionlist;
10277
- setContext(function (ctx) {
10278
- if (cellInput != null && globalCache != null) {
10279
- ctx.luckysheetCellUpdate = [row_index, col_index];
10280
- globalCache.doNotUpdateCell = true;
10281
- cellInput.innerHTML = formulaTxt;
10282
- var spans = cellInput.childNodes;
10283
- if (!___default['default'].isEmpty(spans)) {
10284
- fortuneCore.setCaretPosition(ctx, spans[spans.length - 1], 0, 1);
10285
- }
10286
- ctx.functionHint = filteredFunctionList[selectedFuncIndex].n.toUpperCase();
10287
- ctx.functionCandidates = [];
10288
- if (___default['default'].isEmpty(ctx.formulaCache.functionlistMap)) {
10289
- for (var i = 0; i < functionlist.length; i += 1) {
10290
- ctx.formulaCache.functionlistMap[functionlist[i].n] = functionlist[i];
10291
- }
10292
- }
10293
- callback === null || callback === void 0 ? void 0 : callback();
10294
- }
10295
- });
10296
- },
10297
- getLocaleContext: function getLocaleContext() {
10298
- return fortuneCore.locale(context);
10299
10602
  }
10300
10603
  };
10301
10604
  }
@@ -11503,8 +11806,8 @@ var Workbook = /*#__PURE__*/React__default['default'].forwardRef(function (_ref,
11503
11806
  };
11504
11807
  }, [onPaste]);
11505
11808
  React.useImperativeHandle(ref, function () {
11506
- return generateAPIs(context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, cellInput.current, scrollbarX.current, scrollbarY.current, globalCache.current);
11507
- }, [context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, globalCache]);
11809
+ return generateAPIs(context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, cellInput.current, scrollbarX.current, scrollbarY.current);
11810
+ }, [context, setContextWithProduce, handleUndo, handleRedo, mergedSettings]);
11508
11811
  var i = fortuneCore.getSheetIndex(context, context.currentSheetId);
11509
11812
  if (i == null) {
11510
11813
  return null;