@fileverse-dev/fortune-react 1.0.2-mod-25 → 1.0.2-mod-25-patch-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/dist/index.js CHANGED
@@ -4316,205 +4316,6 @@ var Option = function Option(_ref2) {
4316
4316
  }, children));
4317
4317
  };
4318
4318
 
4319
- var FormulaSearch$1 = function FormulaSearch(_ref) {
4320
- var _onCancel = _ref.onCancel;
4321
- var _useContext = React.useContext(WorkbookContext),
4322
- context = _useContext.context,
4323
- setContext = _useContext.setContext,
4324
- _useContext$refs = _useContext.refs,
4325
- cellInput = _useContext$refs.cellInput,
4326
- globalCache = _useContext$refs.globalCache;
4327
- var _useState = React.useState(20),
4328
- _useState2 = _slicedToArray(_useState, 2),
4329
- selectedType = _useState2[0],
4330
- setSelectedType = _useState2[1];
4331
- var _useState3 = React.useState(0),
4332
- _useState4 = _slicedToArray(_useState3, 2),
4333
- selectedFuncIndex = _useState4[0],
4334
- setSelectedFuncIndex = _useState4[1];
4335
- var _useState5 = React.useState(""),
4336
- _useState6 = _slicedToArray(_useState5, 2),
4337
- searchText = _useState6[0],
4338
- setSearchText = _useState6[1];
4339
- var _locale = fortuneCore.locale(context),
4340
- formulaMore = _locale.formulaMore,
4341
- functionlist = _locale.functionlist,
4342
- button = _locale.button;
4343
- var typeList = React.useMemo(function () {
4344
- return [{
4345
- t: 20,
4346
- n: formulaMore.Crypto
4347
- }, {
4348
- t: 0,
4349
- n: formulaMore.Math
4350
- }, {
4351
- t: 1,
4352
- n: formulaMore.Statistical
4353
- }, {
4354
- t: 2,
4355
- n: formulaMore.Lookup
4356
- }, {
4357
- t: 3,
4358
- n: formulaMore.luckysheet
4359
- }, {
4360
- t: 4,
4361
- n: formulaMore.dataMining
4362
- }, {
4363
- t: 5,
4364
- n: formulaMore.Database
4365
- }, {
4366
- t: 6,
4367
- n: formulaMore.Date
4368
- }, {
4369
- t: 7,
4370
- n: formulaMore.Filter
4371
- }, {
4372
- t: 8,
4373
- n: formulaMore.Financial
4374
- }, {
4375
- t: 9,
4376
- n: formulaMore.Engineering
4377
- }, {
4378
- t: 10,
4379
- n: formulaMore.Logical
4380
- }, {
4381
- t: 11,
4382
- n: formulaMore.Operator
4383
- }, {
4384
- t: 12,
4385
- n: formulaMore.Text
4386
- }, {
4387
- t: 13,
4388
- n: formulaMore.Parser
4389
- }, {
4390
- t: 14,
4391
- n: formulaMore.Array
4392
- }, {
4393
- t: -1,
4394
- n: formulaMore.other
4395
- }];
4396
- }, [formulaMore]);
4397
- var filteredFunctionList = React.useMemo(function () {
4398
- if (searchText) {
4399
- var list = [];
4400
- var text = ___default['default'].cloneDeep(searchText.toUpperCase());
4401
- for (var i = 0; i < functionlist.length; i += 1) {
4402
- if (/^[a-zA-Z]+$/.test(text)) {
4403
- if (functionlist[i].n.indexOf(text) !== -1) {
4404
- list.push(functionlist[i]);
4405
- }
4406
- } else if (functionlist[i].a.indexOf(text) !== -1) {
4407
- list.push(functionlist[i]);
4408
- }
4409
- }
4410
- return list;
4411
- }
4412
- return ___default['default'].filter(functionlist, function (v) {
4413
- return v.t === selectedType;
4414
- });
4415
- }, [functionlist, selectedType, searchText]);
4416
- var onConfirm = React.useCallback(function () {
4417
- var _context$luckysheet_s;
4418
- 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];
4419
- var row_index = last === null || last === void 0 ? void 0 : last.row_focus;
4420
- var col_index = last === null || last === void 0 ? void 0 : last.column_focus;
4421
- if (!last) {
4422
- row_index = 0;
4423
- col_index = 0;
4424
- } else {
4425
- if (row_index == null) {
4426
- var _last$row = _slicedToArray(last.row, 1);
4427
- row_index = _last$row[0];
4428
- }
4429
- if (col_index == null) {
4430
- var _last$column = _slicedToArray(last.column, 1);
4431
- col_index = _last$column[0];
4432
- }
4433
- }
4434
- 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>");
4435
- setContext(function (ctx) {
4436
- if (cellInput.current != null) {
4437
- ctx.luckysheetCellUpdate = [row_index, col_index];
4438
- globalCache.doNotUpdateCell = true;
4439
- cellInput.current.innerHTML = formulaTxt;
4440
- var spans = cellInput.current.childNodes;
4441
- if (!___default['default'].isEmpty(spans)) {
4442
- fortuneCore.setCaretPosition(ctx, spans[spans.length - 1], 0, 1);
4443
- }
4444
- ctx.functionHint = filteredFunctionList[selectedFuncIndex].n.toUpperCase();
4445
- ctx.functionCandidates = [];
4446
- if (___default['default'].isEmpty(ctx.formulaCache.functionlistMap)) {
4447
- for (var i = 0; i < functionlist.length; i += 1) {
4448
- ctx.formulaCache.functionlistMap[functionlist[i].n] = functionlist[i];
4449
- }
4450
- }
4451
- _onCancel();
4452
- }
4453
- });
4454
- }, [cellInput, context.luckysheet_select_save, filteredFunctionList, globalCache, selectedFuncIndex, setContext, _onCancel, functionlist]);
4455
- var onCancel = React.useCallback(function () {
4456
- setContext(function (ctx) {
4457
- fortuneCore.cancelNormalSelected(ctx);
4458
- if (cellInput.current) {
4459
- cellInput.current.innerHTML = "";
4460
- }
4461
- });
4462
- _onCancel();
4463
- }, [_onCancel, cellInput, setContext]);
4464
- return /*#__PURE__*/React__default['default'].createElement("div", {
4465
- id: "luckysheet-search-formula"
4466
- }, /*#__PURE__*/React__default['default'].createElement("div", {
4467
- className: "inpbox"
4468
- }, /*#__PURE__*/React__default['default'].createElement("div", null, formulaMore.findFunctionTitle, "\uFF1A"), /*#__PURE__*/React__default['default'].createElement("input", {
4469
- className: "formulaInputFocus",
4470
- id: "searchFormulaListInput",
4471
- placeholder: formulaMore.tipInputFunctionName,
4472
- spellCheck: "false",
4473
- onChange: function onChange(e) {
4474
- return setSearchText(e.target.value);
4475
- }
4476
- })), /*#__PURE__*/React__default['default'].createElement("div", {
4477
- className: "selbox"
4478
- }, /*#__PURE__*/React__default['default'].createElement("span", null, formulaMore.selectCategory, "\uFF1A"), /*#__PURE__*/React__default['default'].createElement("select", {
4479
- id: "formulaTypeSelect",
4480
- onChange: function onChange(e) {
4481
- setSelectedType(parseInt(e.target.value, 10));
4482
- setSelectedFuncIndex(0);
4483
- }
4484
- }, typeList.map(function (v) {
4485
- return /*#__PURE__*/React__default['default'].createElement("option", {
4486
- key: v.t,
4487
- value: v.t
4488
- }, v.n);
4489
- }))), /*#__PURE__*/React__default['default'].createElement("div", {
4490
- className: "listbox",
4491
- style: {
4492
- height: 200
4493
- }
4494
- }, /*#__PURE__*/React__default['default'].createElement("div", null, formulaMore.selectFunctionTitle, "\uFF1A"), /*#__PURE__*/React__default['default'].createElement("div", {
4495
- className: "formulaList"
4496
- }, filteredFunctionList.map(function (v, index) {
4497
- return /*#__PURE__*/React__default['default'].createElement("div", {
4498
- className: "listBox".concat(index === selectedFuncIndex ? " on" : ""),
4499
- key: v.n,
4500
- onClick: function onClick() {
4501
- return setSelectedFuncIndex(index);
4502
- },
4503
- tabIndex: 0
4504
- }, /*#__PURE__*/React__default['default'].createElement("div", null, v.n), /*#__PURE__*/React__default['default'].createElement("div", null, v.a));
4505
- }))), /*#__PURE__*/React__default['default'].createElement("div", {
4506
- className: "fortune-dialog-box-button-container"
4507
- }, /*#__PURE__*/React__default['default'].createElement("div", {
4508
- className: "fortune-message-box-button button-primary",
4509
- onClick: onConfirm,
4510
- tabIndex: 0
4511
- }, button.confirm), /*#__PURE__*/React__default['default'].createElement("div", {
4512
- className: "fortune-message-box-button button-default",
4513
- onClick: onCancel,
4514
- tabIndex: 0
4515
- }, button.cancel)));
4516
- };
4517
-
4518
4319
  var SplitColumn = function SplitColumn() {
4519
4320
  var _useContext = React.useContext(WorkbookContext),
4520
4321
  context = _useContext.context,
@@ -6318,9 +6119,10 @@ var Toolbar = function Toolbar(_ref) {
6318
6119
  }), /*#__PURE__*/React__default['default'].createElement(MenuDivider, null), /*#__PURE__*/React__default['default'].createElement(Option, {
6319
6120
  key: "formula",
6320
6121
  onClick: function onClick() {
6321
- showDialog(/*#__PURE__*/React__default['default'].createElement(FormulaSearch$1, {
6322
- onCancel: hideDialog
6323
- }));
6122
+ var button = document.getElementById("function-button");
6123
+ if (button) {
6124
+ button.click();
6125
+ }
6324
6126
  setOpen(false);
6325
6127
  }
6326
6128
  }, "".concat(formula.find, "...")));
@@ -10149,7 +9951,7 @@ var MoreItemsContaier = function MoreItemsContaier(_ref) {
10149
9951
  }, children);
10150
9952
  };
10151
9953
 
10152
- function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY) {
9954
+ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY, globalCache) {
10153
9955
  return {
10154
9956
  applyOp: function applyOp(ops) {
10155
9957
  setContext(function (ctx_) {
@@ -10450,6 +10252,50 @@ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cel
10450
10252
  },
10451
10253
  celldataToData: function celldataToData(celldata, rowCount, colCount) {
10452
10254
  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);
10453
10299
  }
10454
10300
  };
10455
10301
  }
@@ -11657,8 +11503,8 @@ var Workbook = /*#__PURE__*/React__default['default'].forwardRef(function (_ref,
11657
11503
  };
11658
11504
  }, [onPaste]);
11659
11505
  React.useImperativeHandle(ref, function () {
11660
- return generateAPIs(context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, cellInput.current, scrollbarX.current, scrollbarY.current);
11661
- }, [context, setContextWithProduce, handleUndo, handleRedo, mergedSettings]);
11506
+ return generateAPIs(context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, cellInput.current, scrollbarX.current, scrollbarY.current, globalCache.current);
11507
+ }, [context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, globalCache]);
11662
11508
  var i = fortuneCore.getSheetIndex(context, context.currentSheetId);
11663
11509
  if (i == null) {
11664
11510
  return null;
@@ -2368,72 +2368,6 @@ input[type="number"].condition-rules-project-input {
2368
2368
  cursor: pointer;
2369
2369
  }
2370
2370
 
2371
- /*函数公式查找样式*/
2372
- #luckysheet-search-formula {
2373
- font-size: 12px;
2374
- }
2375
-
2376
- #luckysheet-search-formula .inpbox {
2377
- margin-bottom: 5px;
2378
- }
2379
-
2380
- #luckysheet-search-formula .inpbox div {
2381
- display: block;
2382
- margin-bottom: 5px;
2383
- }
2384
-
2385
- #luckysheet-search-formula .inpbox input {
2386
- width: 100%;
2387
- height: 24px;
2388
- line-height: 24px;
2389
- border: 1px solid #d4d4d4;
2390
- padding: 0 10px;
2391
- box-sizing: border-box;
2392
- font-size: 12px;
2393
- }
2394
-
2395
- #luckysheet-search-formula .selbox {
2396
- margin-bottom: 5px;
2397
- }
2398
-
2399
- #luckysheet-search-formula .selbox select {
2400
- width: 50%;
2401
- height: 24px;
2402
- line-height: 24px;
2403
- border: 1px solid #d4d4d4;
2404
- box-sizing: border-box;
2405
- font-size: 12px;
2406
- }
2407
-
2408
- #luckysheet-search-formula .listbox label {
2409
- display: block;
2410
- margin-bottom: 5px;
2411
- }
2412
-
2413
- #formulaTypeList {
2414
- width: 300px;
2415
- height: 170px;
2416
- border: 1px solid #d4d4d4;
2417
- overflow-y: scroll;
2418
- }
2419
-
2420
- .formulaList {
2421
- width: 300px;
2422
- height: 170px;
2423
- border: 1px solid #d4d4d4;
2424
- overflow-y: scroll;
2425
- }
2426
-
2427
- .listBox {
2428
- padding: 5px;
2429
- border-bottom: 1px solid #d4d4d4;
2430
- }
2431
-
2432
- .listBox.on {
2433
- background-color: #8c89fe;
2434
- color: #fff;
2435
- }
2436
-
2437
2371
  #fortune-split-column {
2438
2372
  /* position: absolute;
2439
2373
  padding: 30px 42px;
package/dist/index.umd.js CHANGED
@@ -107306,205 +107306,6 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
107306
107306
  }, children));
107307
107307
  };
107308
107308
 
107309
- var FormulaSearch$1 = function FormulaSearch(_ref) {
107310
- var _onCancel = _ref.onCancel;
107311
- var _useContext = React.useContext(WorkbookContext),
107312
- context = _useContext.context,
107313
- setContext = _useContext.setContext,
107314
- _useContext$refs = _useContext.refs,
107315
- cellInput = _useContext$refs.cellInput,
107316
- globalCache = _useContext$refs.globalCache;
107317
- var _useState = React.useState(20),
107318
- _useState2 = _slicedToArray(_useState, 2),
107319
- selectedType = _useState2[0],
107320
- setSelectedType = _useState2[1];
107321
- var _useState3 = React.useState(0),
107322
- _useState4 = _slicedToArray(_useState3, 2),
107323
- selectedFuncIndex = _useState4[0],
107324
- setSelectedFuncIndex = _useState4[1];
107325
- var _useState5 = React.useState(""),
107326
- _useState6 = _slicedToArray(_useState5, 2),
107327
- searchText = _useState6[0],
107328
- setSearchText = _useState6[1];
107329
- var _locale = locale(context),
107330
- formulaMore = _locale.formulaMore,
107331
- functionlist = _locale.functionlist,
107332
- button = _locale.button;
107333
- var typeList = React.useMemo(function () {
107334
- return [{
107335
- t: 20,
107336
- n: formulaMore.Crypto
107337
- }, {
107338
- t: 0,
107339
- n: formulaMore.Math
107340
- }, {
107341
- t: 1,
107342
- n: formulaMore.Statistical
107343
- }, {
107344
- t: 2,
107345
- n: formulaMore.Lookup
107346
- }, {
107347
- t: 3,
107348
- n: formulaMore.luckysheet
107349
- }, {
107350
- t: 4,
107351
- n: formulaMore.dataMining
107352
- }, {
107353
- t: 5,
107354
- n: formulaMore.Database
107355
- }, {
107356
- t: 6,
107357
- n: formulaMore.Date
107358
- }, {
107359
- t: 7,
107360
- n: formulaMore.Filter
107361
- }, {
107362
- t: 8,
107363
- n: formulaMore.Financial
107364
- }, {
107365
- t: 9,
107366
- n: formulaMore.Engineering
107367
- }, {
107368
- t: 10,
107369
- n: formulaMore.Logical
107370
- }, {
107371
- t: 11,
107372
- n: formulaMore.Operator
107373
- }, {
107374
- t: 12,
107375
- n: formulaMore.Text
107376
- }, {
107377
- t: 13,
107378
- n: formulaMore.Parser
107379
- }, {
107380
- t: 14,
107381
- n: formulaMore.Array
107382
- }, {
107383
- t: -1,
107384
- n: formulaMore.other
107385
- }];
107386
- }, [formulaMore]);
107387
- var filteredFunctionList = React.useMemo(function () {
107388
- if (searchText) {
107389
- var list = [];
107390
- var text = lodash.cloneDeep(searchText.toUpperCase());
107391
- for (var i = 0; i < functionlist.length; i += 1) {
107392
- if (/^[a-zA-Z]+$/.test(text)) {
107393
- if (functionlist[i].n.indexOf(text) !== -1) {
107394
- list.push(functionlist[i]);
107395
- }
107396
- } else if (functionlist[i].a.indexOf(text) !== -1) {
107397
- list.push(functionlist[i]);
107398
- }
107399
- }
107400
- return list;
107401
- }
107402
- return lodash.filter(functionlist, function (v) {
107403
- return v.t === selectedType;
107404
- });
107405
- }, [functionlist, selectedType, searchText]);
107406
- var onConfirm = React.useCallback(function () {
107407
- var _context$luckysheet_s;
107408
- 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];
107409
- var row_index = last === null || last === void 0 ? void 0 : last.row_focus;
107410
- var col_index = last === null || last === void 0 ? void 0 : last.column_focus;
107411
- if (!last) {
107412
- row_index = 0;
107413
- col_index = 0;
107414
- } else {
107415
- if (row_index == null) {
107416
- var _last$row = _slicedToArray(last.row, 1);
107417
- row_index = _last$row[0];
107418
- }
107419
- if (col_index == null) {
107420
- var _last$column = _slicedToArray(last.column, 1);
107421
- col_index = _last$column[0];
107422
- }
107423
- }
107424
- 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>");
107425
- setContext(function (ctx) {
107426
- if (cellInput.current != null) {
107427
- ctx.luckysheetCellUpdate = [row_index, col_index];
107428
- globalCache.doNotUpdateCell = true;
107429
- cellInput.current.innerHTML = formulaTxt;
107430
- var spans = cellInput.current.childNodes;
107431
- if (!lodash.isEmpty(spans)) {
107432
- setCaretPosition(ctx, spans[spans.length - 1], 0, 1);
107433
- }
107434
- ctx.functionHint = filteredFunctionList[selectedFuncIndex].n.toUpperCase();
107435
- ctx.functionCandidates = [];
107436
- if (lodash.isEmpty(ctx.formulaCache.functionlistMap)) {
107437
- for (var i = 0; i < functionlist.length; i += 1) {
107438
- ctx.formulaCache.functionlistMap[functionlist[i].n] = functionlist[i];
107439
- }
107440
- }
107441
- _onCancel();
107442
- }
107443
- });
107444
- }, [cellInput, context.luckysheet_select_save, filteredFunctionList, globalCache, selectedFuncIndex, setContext, _onCancel, functionlist]);
107445
- var onCancel = React.useCallback(function () {
107446
- setContext(function (ctx) {
107447
- cancelNormalSelected(ctx);
107448
- if (cellInput.current) {
107449
- cellInput.current.innerHTML = "";
107450
- }
107451
- });
107452
- _onCancel();
107453
- }, [_onCancel, cellInput, setContext]);
107454
- return /*#__PURE__*/React__default['default'].createElement("div", {
107455
- id: "luckysheet-search-formula"
107456
- }, /*#__PURE__*/React__default['default'].createElement("div", {
107457
- className: "inpbox"
107458
- }, /*#__PURE__*/React__default['default'].createElement("div", null, formulaMore.findFunctionTitle, "\uFF1A"), /*#__PURE__*/React__default['default'].createElement("input", {
107459
- className: "formulaInputFocus",
107460
- id: "searchFormulaListInput",
107461
- placeholder: formulaMore.tipInputFunctionName,
107462
- spellCheck: "false",
107463
- onChange: function onChange(e) {
107464
- return setSearchText(e.target.value);
107465
- }
107466
- })), /*#__PURE__*/React__default['default'].createElement("div", {
107467
- className: "selbox"
107468
- }, /*#__PURE__*/React__default['default'].createElement("span", null, formulaMore.selectCategory, "\uFF1A"), /*#__PURE__*/React__default['default'].createElement("select", {
107469
- id: "formulaTypeSelect",
107470
- onChange: function onChange(e) {
107471
- setSelectedType(parseInt(e.target.value, 10));
107472
- setSelectedFuncIndex(0);
107473
- }
107474
- }, typeList.map(function (v) {
107475
- return /*#__PURE__*/React__default['default'].createElement("option", {
107476
- key: v.t,
107477
- value: v.t
107478
- }, v.n);
107479
- }))), /*#__PURE__*/React__default['default'].createElement("div", {
107480
- className: "listbox",
107481
- style: {
107482
- height: 200
107483
- }
107484
- }, /*#__PURE__*/React__default['default'].createElement("div", null, formulaMore.selectFunctionTitle, "\uFF1A"), /*#__PURE__*/React__default['default'].createElement("div", {
107485
- className: "formulaList"
107486
- }, filteredFunctionList.map(function (v, index) {
107487
- return /*#__PURE__*/React__default['default'].createElement("div", {
107488
- className: "listBox".concat(index === selectedFuncIndex ? " on" : ""),
107489
- key: v.n,
107490
- onClick: function onClick() {
107491
- return setSelectedFuncIndex(index);
107492
- },
107493
- tabIndex: 0
107494
- }, /*#__PURE__*/React__default['default'].createElement("div", null, v.n), /*#__PURE__*/React__default['default'].createElement("div", null, v.a));
107495
- }))), /*#__PURE__*/React__default['default'].createElement("div", {
107496
- className: "fortune-dialog-box-button-container"
107497
- }, /*#__PURE__*/React__default['default'].createElement("div", {
107498
- className: "fortune-message-box-button button-primary",
107499
- onClick: onConfirm,
107500
- tabIndex: 0
107501
- }, button.confirm), /*#__PURE__*/React__default['default'].createElement("div", {
107502
- className: "fortune-message-box-button button-default",
107503
- onClick: onCancel,
107504
- tabIndex: 0
107505
- }, button.cancel)));
107506
- };
107507
-
107508
107309
  var SplitColumn = function SplitColumn() {
107509
107310
  var _useContext = React.useContext(WorkbookContext),
107510
107311
  context = _useContext.context,
@@ -109308,9 +109109,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
109308
109109
  }), /*#__PURE__*/React__default['default'].createElement(MenuDivider, null), /*#__PURE__*/React__default['default'].createElement(Option, {
109309
109110
  key: "formula",
109310
109111
  onClick: function onClick() {
109311
- showDialog(/*#__PURE__*/React__default['default'].createElement(FormulaSearch$1, {
109312
- onCancel: hideDialog
109313
- }));
109112
+ var button = document.getElementById("function-button");
109113
+ if (button) {
109114
+ button.click();
109115
+ }
109314
109116
  setOpen(false);
109315
109117
  }
109316
109118
  }, "".concat(formula.find, "...")));
@@ -117721,7 +117523,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
117721
117523
  }, children);
117722
117524
  };
117723
117525
 
117724
- function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY) {
117526
+ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY, globalCache) {
117725
117527
  return {
117726
117528
  applyOp: function applyOp(ops) {
117727
117529
  setContext(function (ctx_) {
@@ -118022,6 +117824,50 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
118022
117824
  },
118023
117825
  celldataToData: function celldataToData(celldata, rowCount, colCount) {
118024
117826
  return index.celldataToData(celldata, rowCount, colCount);
117827
+ },
117828
+ insertFunction: function insertFunction(selectedFuncIndex, filteredFunctionList, callback) {
117829
+ var _context$luckysheet_s2;
117830
+ 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];
117831
+ var row_index = last === null || last === void 0 ? void 0 : last.row_focus;
117832
+ var col_index = last === null || last === void 0 ? void 0 : last.column_focus;
117833
+ if (!last) {
117834
+ row_index = 0;
117835
+ col_index = 0;
117836
+ } else {
117837
+ if (row_index == null) {
117838
+ var _last$row2 = _slicedToArray(last.row, 1);
117839
+ row_index = _last$row2[0];
117840
+ }
117841
+ if (col_index == null) {
117842
+ var _last$column2 = _slicedToArray(last.column, 1);
117843
+ col_index = _last$column2[0];
117844
+ }
117845
+ }
117846
+ 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>");
117847
+ var _locale2 = locale(context),
117848
+ functionlist = _locale2.functionlist;
117849
+ setContext(function (ctx) {
117850
+ if (cellInput != null && globalCache != null) {
117851
+ ctx.luckysheetCellUpdate = [row_index, col_index];
117852
+ globalCache.doNotUpdateCell = true;
117853
+ cellInput.innerHTML = formulaTxt;
117854
+ var spans = cellInput.childNodes;
117855
+ if (!lodash.isEmpty(spans)) {
117856
+ setCaretPosition(ctx, spans[spans.length - 1], 0, 1);
117857
+ }
117858
+ ctx.functionHint = filteredFunctionList[selectedFuncIndex].n.toUpperCase();
117859
+ ctx.functionCandidates = [];
117860
+ if (lodash.isEmpty(ctx.formulaCache.functionlistMap)) {
117861
+ for (var i = 0; i < functionlist.length; i += 1) {
117862
+ ctx.formulaCache.functionlistMap[functionlist[i].n] = functionlist[i];
117863
+ }
117864
+ }
117865
+ callback === null || callback === void 0 ? void 0 : callback();
117866
+ }
117867
+ });
117868
+ },
117869
+ getLocaleContext: function getLocaleContext() {
117870
+ return locale(context);
118025
117871
  }
118026
117872
  };
118027
117873
  }
@@ -119229,8 +119075,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
119229
119075
  };
119230
119076
  }, [onPaste]);
119231
119077
  React.useImperativeHandle(ref, function () {
119232
- return generateAPIs(context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, cellInput.current, scrollbarX.current, scrollbarY.current);
119233
- }, [context, setContextWithProduce, handleUndo, handleRedo, mergedSettings]);
119078
+ return generateAPIs(context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, cellInput.current, scrollbarX.current, scrollbarY.current, globalCache.current);
119079
+ }, [context, setContextWithProduce, handleUndo, handleRedo, mergedSettings, globalCache]);
119234
119080
  var i = getSheetIndex(context, context.currentSheetId);
119235
119081
  if (i == null) {
119236
119082
  return null;