@leankylin-sheet/core 5.2.58 → 5.2.60

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.esm.js CHANGED
@@ -10559,6 +10559,10 @@ var en = {
10559
10559
  searchTypeValue: "Value",
10560
10560
  searchTypeFormula: "Formula",
10561
10561
  searchTypeDisplay: "Display Value",
10562
+ searchRangeLabel: "Search Area",
10563
+ searchRangeAllSheet: "All sheets",
10564
+ searchRangeCurrentSheet: "Current sheet",
10565
+ searchRangeSelection: "Selected range",
10562
10566
  allReplaceBtn: "Replace All",
10563
10567
  replaceBtn: "Replace",
10564
10568
  allFindBtn: "Find All",
@@ -21147,6 +21151,10 @@ var zh = {
21147
21151
  searchTypeValue: "值",
21148
21152
  searchTypeFormula: "公式",
21149
21153
  searchTypeDisplay: "显示值",
21154
+ searchRangeLabel: "搜索区域",
21155
+ searchRangeAllSheet: "所有sheet",
21156
+ searchRangeCurrentSheet: "当前sheet",
21157
+ searchRangeSelection: "选择区域",
21150
21158
  allReplaceBtn: "全部替换",
21151
21159
  replaceBtn: "替换",
21152
21160
  allFindBtn: "查找全部",
@@ -31193,6 +31201,10 @@ var es = {
31193
31201
  searchTypeValue: "Valor",
31194
31202
  searchTypeFormula: "Fórmula",
31195
31203
  searchTypeDisplay: "Valor mostrado",
31204
+ searchRangeLabel: "Área de búsqueda",
31205
+ searchRangeAllSheet: "Todas las hojas",
31206
+ searchRangeCurrentSheet: "Hoja actual",
31207
+ searchRangeSelection: "Rango seleccionado",
31196
31208
  allReplaceBtn: "Reemplazar Todo",
31197
31209
  replaceBtn: "Reemplazar",
31198
31210
  allFindBtn: "Encontrar Todo",
@@ -53979,6 +53991,60 @@ function handleScreenShot(ctx) {
53979
53991
  return image.src;
53980
53992
  }
53981
53993
 
53994
+ function getSearchTargets(ctx) {
53995
+ var searchRangeType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "all";
53996
+ var selectionRange = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
53997
+ var sheets = ctx.luckysheetfile;
53998
+ if (!sheets || sheets.length === 0) return [];
53999
+ if (searchRangeType === "all") {
54000
+ var targets = [];
54001
+ var _iterator = _createForOfIteratorHelper(sheets),
54002
+ _step;
54003
+ try {
54004
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
54005
+ var sheet = _step.value;
54006
+ var data = sheet.data;
54007
+ if (!data || data.length === 0 || data[0].length === 0) continue;
54008
+ targets.push({
54009
+ sheet: sheet,
54010
+ range: [{
54011
+ row: [0, data.length - 1],
54012
+ column: [0, data[0].length - 1]
54013
+ }]
54014
+ });
54015
+ }
54016
+ } catch (err) {
54017
+ _iterator.e(err);
54018
+ } finally {
54019
+ _iterator.f();
54020
+ }
54021
+ return targets;
54022
+ }
54023
+ var currentSheet = sheets.find(function (sheet) {
54024
+ return sheet.id === ctx.currentSheetId;
54025
+ });
54026
+ if (!currentSheet) return [];
54027
+ var flowdata = currentSheet.data;
54028
+ if (!flowdata || flowdata.length === 0 || flowdata[0].length === 0) return [];
54029
+ var range;
54030
+ if (searchRangeType === "selection") {
54031
+ var selection = selectionRange && selectionRange.length > 0 ? selectionRange : ctx.luckysheet_select_save;
54032
+ var isRealSelection = selection != null && selection.length > 0 && !(selection.length === 1 && selection[0].row[0] === selection[0].row[1] && selection[0].column[0] === selection[0].column[1]);
54033
+ range = isRealSelection ? _.assign([], selection) : [{
54034
+ row: [0, flowdata.length - 1],
54035
+ column: [0, flowdata[0].length - 1]
54036
+ }];
54037
+ } else {
54038
+ range = [{
54039
+ row: [0, flowdata.length - 1],
54040
+ column: [0, flowdata[0].length - 1]
54041
+ }];
54042
+ }
54043
+ return [{
54044
+ sheet: currentSheet,
54045
+ range: range
54046
+ }];
54047
+ }
53982
54048
  function getSearchIndexArr(searchText, range, flowdata) {
53983
54049
  var _ref = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {
53984
54050
  regCheck: false,
@@ -54083,39 +54149,35 @@ function getSearchIndexArr(searchText, range, flowdata) {
54083
54149
  }
54084
54150
  return arr;
54085
54151
  }
54086
- function searchSheet(searchText, checkModes, sheet) {
54087
- var searchType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "v";
54088
- var flowdata = sheet.data;
54089
- if (!flowdata || flowdata.length === 0 || flowdata[0].length === 0) {
54090
- return [];
54091
- }
54092
- var range = [{
54093
- row: [0, flowdata.length - 1],
54094
- column: [0, flowdata[0].length - 1]
54095
- }];
54096
- return getSearchIndexArr(searchText, range, flowdata, checkModes, searchType);
54097
- }
54098
54152
  function searchNext(ctx, searchText, checkModes) {
54099
- var _getSheetIndex, _currentSelection$0$r, _currentSelection$, _currentSelection$0$c, _currentSelection$2;
54153
+ var _currentSelection$0$r, _currentSelection$, _currentSelection$0$c, _currentSelection$2;
54100
54154
  var searchType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "v";
54155
+ var searchRangeType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "all";
54156
+ var selectionRange = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];
54101
54157
  var _locale = locale(ctx),
54102
54158
  findAndReplace = _locale.findAndReplace;
54103
54159
  if (searchText === "" || searchText == null) {
54104
54160
  return findAndReplace.searchInputTip;
54105
54161
  }
54106
- var sheets = ctx.luckysheetfile;
54107
- if (!sheets || sheets.length === 0) {
54162
+ var targets = getSearchTargets(ctx, searchRangeType, selectionRange);
54163
+ if (targets.length === 0) {
54108
54164
  return findAndReplace.noFindTip;
54109
54165
  }
54110
- var currentSheetIndex = (_getSheetIndex = getSheetIndex(ctx, ctx.currentSheetId)) !== null && _getSheetIndex !== void 0 ? _getSheetIndex : 0;
54166
+ var currentSheetIndex = targets.findIndex(function (t) {
54167
+ return t.sheet.id === ctx.currentSheetId;
54168
+ });
54111
54169
  var currentSelection = ctx.luckysheet_select_save;
54112
54170
  var currentR = (_currentSelection$0$r = currentSelection === null || currentSelection === void 0 ? void 0 : (_currentSelection$ = currentSelection[0]) === null || _currentSelection$ === void 0 ? void 0 : _currentSelection$.row_focus) !== null && _currentSelection$0$r !== void 0 ? _currentSelection$0$r : -1;
54113
54171
  var currentC = (_currentSelection$0$c = currentSelection === null || currentSelection === void 0 ? void 0 : (_currentSelection$2 = currentSelection[0]) === null || _currentSelection$2 === void 0 ? void 0 : _currentSelection$2.column_focus) !== null && _currentSelection$0$c !== void 0 ? _currentSelection$0$c : -1;
54114
- var totalSheets = sheets.length;
54115
- for (var offset = 0; offset < totalSheets; offset += 1) {
54116
- var sheetIdx = (currentSheetIndex + offset) % totalSheets;
54117
- var sheet = sheets[sheetIdx];
54118
- var matches = searchSheet(searchText, checkModes, sheet, searchType);
54172
+ var totalTargets = targets.length;
54173
+ for (var offset = 0; offset < totalTargets; offset += 1) {
54174
+ var targetIdx = currentSheetIndex >= 0 ? (currentSheetIndex + offset) % totalTargets : offset;
54175
+ var _targets$targetIdx = targets[targetIdx],
54176
+ sheet = _targets$targetIdx.sheet,
54177
+ range = _targets$targetIdx.range;
54178
+ var flowdata = sheet.data;
54179
+ if (!flowdata || flowdata.length === 0) continue;
54180
+ var matches = getSearchIndexArr(searchText, range, flowdata, checkModes, searchType);
54119
54181
  if (matches.length === 0) continue;
54120
54182
  var foundMatch = null;
54121
54183
  if (offset === 0 && currentR >= 0 && currentC >= 0) {
@@ -54139,7 +54201,7 @@ function searchNext(ctx, searchText, checkModes) {
54139
54201
  }
54140
54202
  }
54141
54203
  if (foundMatch) {
54142
- if (sheetIdx !== currentSheetIndex) {
54204
+ if (sheet.id !== ctx.currentSheetId) {
54143
54205
  changeSheet(ctx, sheet.id);
54144
54206
  }
54145
54207
  ctx.luckysheet_select_save = normalizeSelection(ctx, [{
@@ -54154,21 +54216,25 @@ function searchNext(ctx, searchText, checkModes) {
54154
54216
  }
54155
54217
  function searchAll(ctx, searchText, checkModes) {
54156
54218
  var searchType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "v";
54219
+ var searchRangeType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "all";
54220
+ var selectionRange = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];
54157
54221
  var searchResult = [];
54158
54222
  if (searchText === "" || searchText == null) {
54159
54223
  return searchResult;
54160
54224
  }
54161
- var sheets = ctx.luckysheetfile;
54162
- if (!sheets || sheets.length === 0) {
54225
+ var targets = getSearchTargets(ctx, searchRangeType, selectionRange);
54226
+ if (targets.length === 0) {
54163
54227
  return searchResult;
54164
54228
  }
54165
54229
  var firstMatch = null;
54166
- for (var sheetIdx = 0; sheetIdx < sheets.length; sheetIdx += 1) {
54167
- var sheet = sheets[sheetIdx];
54168
- var matches = searchSheet(searchText, checkModes, sheet, searchType);
54169
- if (matches.length === 0) continue;
54230
+ for (var targetIdx = 0; targetIdx < targets.length; targetIdx += 1) {
54231
+ var _targets$targetIdx2 = targets[targetIdx],
54232
+ sheet = _targets$targetIdx2.sheet,
54233
+ range = _targets$targetIdx2.range;
54170
54234
  var flowdata = sheet.data;
54171
54235
  if (!flowdata) continue;
54236
+ var matches = getSearchIndexArr(searchText, range, flowdata, checkModes, searchType);
54237
+ if (matches.length === 0) continue;
54172
54238
  for (var i = 0; i < matches.length; i += 1) {
54173
54239
  var _flowdata$match$r;
54174
54240
  var match = matches[i];
@@ -54251,53 +54317,73 @@ function onSearchDialogMoveEnd(globalCache) {
54251
54317
  _.set(globalCache, "searchDialog.moveProps", undefined);
54252
54318
  }
54253
54319
  function replace(ctx, searchText, replaceText, checkModes) {
54254
- var _ctx$luckysheet_selec, _ctx$luckysheet_selec2;
54320
+ var _ctx$luckysheet_selec;
54255
54321
  var searchType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "v";
54322
+ var searchRangeType = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : "all";
54323
+ var selectionRange = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : [];
54256
54324
  var _locale2 = locale(ctx),
54257
54325
  findAndReplace = _locale2.findAndReplace;
54258
54326
  var allowEdit = isAllowEdit(ctx);
54259
54327
  if (!allowEdit) {
54260
54328
  return findAndReplace.modeTip;
54261
54329
  }
54262
- var flowdata = getFlowdata(ctx);
54263
- if (searchText === "" || searchText == null || flowdata == null) {
54330
+ if (searchText === "" || searchText == null) {
54264
54331
  return findAndReplace.searchInputTip;
54265
54332
  }
54266
- var range;
54267
- if (_.size(ctx.luckysheet_select_save) === 0 || ((_ctx$luckysheet_selec = ctx.luckysheet_select_save) === null || _ctx$luckysheet_selec === void 0 ? void 0 : _ctx$luckysheet_selec.length) === 1 && ctx.luckysheet_select_save[0].row[0] === ctx.luckysheet_select_save[0].row[1] && ctx.luckysheet_select_save[0].column[0] === ctx.luckysheet_select_save[0].column[1]) {
54268
- range = [{
54269
- row: [0, flowdata.length - 1],
54270
- column: [0, flowdata[0].length - 1]
54271
- }];
54272
- } else {
54273
- range = _.assign([], ctx.luckysheet_select_save);
54333
+ var matches = [];
54334
+ var targets = getSearchTargets(ctx, searchRangeType, selectionRange);
54335
+ if (targets.length === 0) {
54336
+ return findAndReplace.noReplceTip;
54337
+ }
54338
+ var _iterator2 = _createForOfIteratorHelper(targets),
54339
+ _step2;
54340
+ try {
54341
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
54342
+ var _step2$value = _step2.value,
54343
+ sheet = _step2$value.sheet,
54344
+ range = _step2$value.range;
54345
+ var fd = sheet.data;
54346
+ if (!fd) continue;
54347
+ var arr = getSearchIndexArr(searchText, range, fd, checkModes, searchType);
54348
+ for (var _i = 0; _i < arr.length; _i += 1) {
54349
+ matches.push({
54350
+ r: arr[_i].r,
54351
+ c: arr[_i].c,
54352
+ sheetId: sheet.id,
54353
+ flowdata: fd
54354
+ });
54355
+ }
54356
+ }
54357
+ } catch (err) {
54358
+ _iterator2.e(err);
54359
+ } finally {
54360
+ _iterator2.f();
54274
54361
  }
54275
- var searchIndexArr = getSearchIndexArr(searchText, range, flowdata, checkModes, searchType);
54276
- if (searchIndexArr.length === 0) {
54362
+ if (matches.length === 0) {
54277
54363
  return findAndReplace.noReplceTip;
54278
54364
  }
54279
54365
  var count = null;
54280
- var last = (_ctx$luckysheet_selec2 = ctx.luckysheet_select_save) === null || _ctx$luckysheet_selec2 === void 0 ? void 0 : _ctx$luckysheet_selec2[ctx.luckysheet_select_save.length - 1];
54366
+ var last = (_ctx$luckysheet_selec = ctx.luckysheet_select_save) === null || _ctx$luckysheet_selec === void 0 ? void 0 : _ctx$luckysheet_selec[ctx.luckysheet_select_save.length - 1];
54281
54367
  var rf = last === null || last === void 0 ? void 0 : last.row_focus;
54282
54368
  var cf = last === null || last === void 0 ? void 0 : last.column_focus;
54283
- for (var i = 0; i < searchIndexArr.length; i += 1) {
54284
- if (searchIndexArr[i].r === rf && searchIndexArr[i].c === cf) {
54369
+ for (var i = 0; i < matches.length; i += 1) {
54370
+ if (matches[i].sheetId === ctx.currentSheetId && matches[i].r === rf && matches[i].c === cf) {
54285
54371
  count = i;
54286
54372
  break;
54287
54373
  }
54288
54374
  }
54289
54375
  if (count == null) {
54290
- if (searchIndexArr.length === 0) {
54291
- return findAndReplace.noMatchTip;
54292
- }
54293
54376
  count = 0;
54294
54377
  }
54295
- var d = flowdata;
54296
- var r;
54297
- var c;
54378
+ var _matches$count = matches[count],
54379
+ r = _matches$count.r,
54380
+ c = _matches$count.c,
54381
+ sheetId = _matches$count.sheetId,
54382
+ d = _matches$count.flowdata;
54383
+ if (sheetId !== ctx.currentSheetId) {
54384
+ changeSheet(ctx, sheetId);
54385
+ }
54298
54386
  if (checkModes.wordCheck) {
54299
- r = searchIndexArr[count].r;
54300
- c = searchIndexArr[count].c;
54301
54387
  var v = replaceText;
54302
54388
  setCellValue(ctx, r, c, d, v);
54303
54389
  } else {
@@ -54308,13 +54394,11 @@ function replace(ctx, searchText, replaceText, checkModes) {
54308
54394
  } else {
54309
54395
  reg = new RegExp(regSource, "ig");
54310
54396
  }
54311
- r = searchIndexArr[count].r;
54312
- c = searchIndexArr[count].c;
54313
54397
  var cell = d[r][c];
54314
54398
  if (searchType === "f" && !_.isNil(cell === null || cell === void 0 ? void 0 : cell.f)) {
54315
54399
  var newFormula = cell.f.toString().replace(reg, replaceText);
54316
54400
  cell.f = newFormula;
54317
- var exec = execfunction(ctx, newFormula, r, c, ctx.currentSheetId, false, true);
54401
+ var exec = execfunction(ctx, newFormula, r, c, sheetId, false, true);
54318
54402
  setCellValue(ctx, r, c, d, {
54319
54403
  v: exec[1],
54320
54404
  f: exec[2]
@@ -54332,53 +54416,46 @@ function replace(ctx, searchText, replaceText, checkModes) {
54332
54416
  return null;
54333
54417
  }
54334
54418
  function replaceAll(ctx, searchText, replaceText, checkModes) {
54335
- var _ctx$luckysheet_selec3;
54336
54419
  var searchType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "v";
54420
+ var searchRangeType = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : "all";
54421
+ var selectionRange = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : [];
54337
54422
  var _locale3 = locale(ctx),
54338
54423
  findAndReplace = _locale3.findAndReplace;
54339
54424
  var allowEdit = isAllowEdit(ctx);
54340
54425
  if (!allowEdit) {
54341
54426
  return findAndReplace.modeTip;
54342
54427
  }
54343
- var flowdata = getFlowdata(ctx);
54344
- if (searchText === "" || searchText == null || flowdata == null) {
54428
+ if (searchText === "" || searchText == null) {
54345
54429
  return findAndReplace.searchInputTip;
54346
54430
  }
54347
- var range;
54348
- if (_.size(ctx.luckysheet_select_save) === 0 || ((_ctx$luckysheet_selec3 = ctx.luckysheet_select_save) === null || _ctx$luckysheet_selec3 === void 0 ? void 0 : _ctx$luckysheet_selec3.length) === 1 && ctx.luckysheet_select_save[0].row[0] === ctx.luckysheet_select_save[0].row[1] && ctx.luckysheet_select_save[0].column[0] === ctx.luckysheet_select_save[0].column[1]) {
54349
- range = [{
54350
- row: [0, flowdata.length - 1],
54351
- column: [0, flowdata[0].length - 1]
54352
- }];
54353
- } else {
54354
- range = _.assign([], ctx.luckysheet_select_save);
54355
- }
54356
54431
  var matches = [];
54357
- var _iterator = _createForOfIteratorHelper(ctx.luckysheetfile),
54358
- _step;
54432
+ var targets = getSearchTargets(ctx, searchRangeType, selectionRange);
54433
+ if (targets.length === 0) {
54434
+ return findAndReplace.noReplceTip;
54435
+ }
54436
+ var _iterator3 = _createForOfIteratorHelper(targets),
54437
+ _step3;
54359
54438
  try {
54360
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
54361
- var sheet = _step.value;
54439
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
54440
+ var _step3$value = _step3.value,
54441
+ sheet = _step3$value.sheet,
54442
+ range = _step3$value.range;
54362
54443
  var _fd2 = sheet.data;
54363
54444
  if (!_fd2 || _fd2.length === 0) continue;
54364
- var sheetRange = sheet.id === ctx.currentSheetId ? range : [{
54365
- row: [0, _fd2.length - 1],
54366
- column: [0, _fd2[0].length - 1]
54367
- }];
54368
- var arr = getSearchIndexArr(searchText, sheetRange, _fd2, checkModes, searchType);
54369
- for (var _i2 = 0; _i2 < arr.length; _i2 += 1) {
54445
+ var arr = getSearchIndexArr(searchText, range, _fd2, checkModes, searchType);
54446
+ for (var _i3 = 0; _i3 < arr.length; _i3 += 1) {
54370
54447
  matches.push({
54371
- r: arr[_i2].r,
54372
- c: arr[_i2].c,
54448
+ r: arr[_i3].r,
54449
+ c: arr[_i3].c,
54373
54450
  sheetId: sheet.id,
54374
54451
  flowdata: _fd2
54375
54452
  });
54376
54453
  }
54377
54454
  }
54378
54455
  } catch (err) {
54379
- _iterator.e(err);
54456
+ _iterator3.e(err);
54380
54457
  } finally {
54381
- _iterator.f();
54458
+ _iterator3.f();
54382
54459
  }
54383
54460
  if (matches.length === 0) {
54384
54461
  return findAndReplace.noReplceTip;
@@ -54409,8 +54486,8 @@ function replaceAll(ctx, searchText, replaceText, checkModes) {
54409
54486
  } else {
54410
54487
  reg = new RegExp(regSource, "ig");
54411
54488
  }
54412
- for (var _i = 0; _i < matches.length; _i += 1) {
54413
- var _matches$_i = matches[_i],
54489
+ for (var _i2 = 0; _i2 < matches.length; _i2 += 1) {
54490
+ var _matches$_i = matches[_i2],
54414
54491
  _r = _matches$_i.r,
54415
54492
  _c = _matches$_i.c,
54416
54493
  _sheetId = _matches$_i.sheetId,
package/dist/index.js CHANGED
@@ -10569,6 +10569,10 @@ var en = {
10569
10569
  searchTypeValue: "Value",
10570
10570
  searchTypeFormula: "Formula",
10571
10571
  searchTypeDisplay: "Display Value",
10572
+ searchRangeLabel: "Search Area",
10573
+ searchRangeAllSheet: "All sheets",
10574
+ searchRangeCurrentSheet: "Current sheet",
10575
+ searchRangeSelection: "Selected range",
10572
10576
  allReplaceBtn: "Replace All",
10573
10577
  replaceBtn: "Replace",
10574
10578
  allFindBtn: "Find All",
@@ -21157,6 +21161,10 @@ var zh = {
21157
21161
  searchTypeValue: "值",
21158
21162
  searchTypeFormula: "公式",
21159
21163
  searchTypeDisplay: "显示值",
21164
+ searchRangeLabel: "搜索区域",
21165
+ searchRangeAllSheet: "所有sheet",
21166
+ searchRangeCurrentSheet: "当前sheet",
21167
+ searchRangeSelection: "选择区域",
21160
21168
  allReplaceBtn: "全部替换",
21161
21169
  replaceBtn: "替换",
21162
21170
  allFindBtn: "查找全部",
@@ -31203,6 +31211,10 @@ var es = {
31203
31211
  searchTypeValue: "Valor",
31204
31212
  searchTypeFormula: "Fórmula",
31205
31213
  searchTypeDisplay: "Valor mostrado",
31214
+ searchRangeLabel: "Área de búsqueda",
31215
+ searchRangeAllSheet: "Todas las hojas",
31216
+ searchRangeCurrentSheet: "Hoja actual",
31217
+ searchRangeSelection: "Rango seleccionado",
31206
31218
  allReplaceBtn: "Reemplazar Todo",
31207
31219
  replaceBtn: "Reemplazar",
31208
31220
  allFindBtn: "Encontrar Todo",
@@ -53989,6 +54001,60 @@ function handleScreenShot(ctx) {
53989
54001
  return image.src;
53990
54002
  }
53991
54003
 
54004
+ function getSearchTargets(ctx) {
54005
+ var searchRangeType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "all";
54006
+ var selectionRange = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
54007
+ var sheets = ctx.luckysheetfile;
54008
+ if (!sheets || sheets.length === 0) return [];
54009
+ if (searchRangeType === "all") {
54010
+ var targets = [];
54011
+ var _iterator = _createForOfIteratorHelper(sheets),
54012
+ _step;
54013
+ try {
54014
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
54015
+ var sheet = _step.value;
54016
+ var data = sheet.data;
54017
+ if (!data || data.length === 0 || data[0].length === 0) continue;
54018
+ targets.push({
54019
+ sheet: sheet,
54020
+ range: [{
54021
+ row: [0, data.length - 1],
54022
+ column: [0, data[0].length - 1]
54023
+ }]
54024
+ });
54025
+ }
54026
+ } catch (err) {
54027
+ _iterator.e(err);
54028
+ } finally {
54029
+ _iterator.f();
54030
+ }
54031
+ return targets;
54032
+ }
54033
+ var currentSheet = sheets.find(function (sheet) {
54034
+ return sheet.id === ctx.currentSheetId;
54035
+ });
54036
+ if (!currentSheet) return [];
54037
+ var flowdata = currentSheet.data;
54038
+ if (!flowdata || flowdata.length === 0 || flowdata[0].length === 0) return [];
54039
+ var range;
54040
+ if (searchRangeType === "selection") {
54041
+ var selection = selectionRange && selectionRange.length > 0 ? selectionRange : ctx.luckysheet_select_save;
54042
+ var isRealSelection = selection != null && selection.length > 0 && !(selection.length === 1 && selection[0].row[0] === selection[0].row[1] && selection[0].column[0] === selection[0].column[1]);
54043
+ range = isRealSelection ? ___default['default'].assign([], selection) : [{
54044
+ row: [0, flowdata.length - 1],
54045
+ column: [0, flowdata[0].length - 1]
54046
+ }];
54047
+ } else {
54048
+ range = [{
54049
+ row: [0, flowdata.length - 1],
54050
+ column: [0, flowdata[0].length - 1]
54051
+ }];
54052
+ }
54053
+ return [{
54054
+ sheet: currentSheet,
54055
+ range: range
54056
+ }];
54057
+ }
53992
54058
  function getSearchIndexArr(searchText, range, flowdata) {
53993
54059
  var _ref = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {
53994
54060
  regCheck: false,
@@ -54093,39 +54159,35 @@ function getSearchIndexArr(searchText, range, flowdata) {
54093
54159
  }
54094
54160
  return arr;
54095
54161
  }
54096
- function searchSheet(searchText, checkModes, sheet) {
54097
- var searchType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "v";
54098
- var flowdata = sheet.data;
54099
- if (!flowdata || flowdata.length === 0 || flowdata[0].length === 0) {
54100
- return [];
54101
- }
54102
- var range = [{
54103
- row: [0, flowdata.length - 1],
54104
- column: [0, flowdata[0].length - 1]
54105
- }];
54106
- return getSearchIndexArr(searchText, range, flowdata, checkModes, searchType);
54107
- }
54108
54162
  function searchNext(ctx, searchText, checkModes) {
54109
- var _getSheetIndex, _currentSelection$0$r, _currentSelection$, _currentSelection$0$c, _currentSelection$2;
54163
+ var _currentSelection$0$r, _currentSelection$, _currentSelection$0$c, _currentSelection$2;
54110
54164
  var searchType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "v";
54165
+ var searchRangeType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "all";
54166
+ var selectionRange = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];
54111
54167
  var _locale = locale(ctx),
54112
54168
  findAndReplace = _locale.findAndReplace;
54113
54169
  if (searchText === "" || searchText == null) {
54114
54170
  return findAndReplace.searchInputTip;
54115
54171
  }
54116
- var sheets = ctx.luckysheetfile;
54117
- if (!sheets || sheets.length === 0) {
54172
+ var targets = getSearchTargets(ctx, searchRangeType, selectionRange);
54173
+ if (targets.length === 0) {
54118
54174
  return findAndReplace.noFindTip;
54119
54175
  }
54120
- var currentSheetIndex = (_getSheetIndex = getSheetIndex(ctx, ctx.currentSheetId)) !== null && _getSheetIndex !== void 0 ? _getSheetIndex : 0;
54176
+ var currentSheetIndex = targets.findIndex(function (t) {
54177
+ return t.sheet.id === ctx.currentSheetId;
54178
+ });
54121
54179
  var currentSelection = ctx.luckysheet_select_save;
54122
54180
  var currentR = (_currentSelection$0$r = currentSelection === null || currentSelection === void 0 ? void 0 : (_currentSelection$ = currentSelection[0]) === null || _currentSelection$ === void 0 ? void 0 : _currentSelection$.row_focus) !== null && _currentSelection$0$r !== void 0 ? _currentSelection$0$r : -1;
54123
54181
  var currentC = (_currentSelection$0$c = currentSelection === null || currentSelection === void 0 ? void 0 : (_currentSelection$2 = currentSelection[0]) === null || _currentSelection$2 === void 0 ? void 0 : _currentSelection$2.column_focus) !== null && _currentSelection$0$c !== void 0 ? _currentSelection$0$c : -1;
54124
- var totalSheets = sheets.length;
54125
- for (var offset = 0; offset < totalSheets; offset += 1) {
54126
- var sheetIdx = (currentSheetIndex + offset) % totalSheets;
54127
- var sheet = sheets[sheetIdx];
54128
- var matches = searchSheet(searchText, checkModes, sheet, searchType);
54182
+ var totalTargets = targets.length;
54183
+ for (var offset = 0; offset < totalTargets; offset += 1) {
54184
+ var targetIdx = currentSheetIndex >= 0 ? (currentSheetIndex + offset) % totalTargets : offset;
54185
+ var _targets$targetIdx = targets[targetIdx],
54186
+ sheet = _targets$targetIdx.sheet,
54187
+ range = _targets$targetIdx.range;
54188
+ var flowdata = sheet.data;
54189
+ if (!flowdata || flowdata.length === 0) continue;
54190
+ var matches = getSearchIndexArr(searchText, range, flowdata, checkModes, searchType);
54129
54191
  if (matches.length === 0) continue;
54130
54192
  var foundMatch = null;
54131
54193
  if (offset === 0 && currentR >= 0 && currentC >= 0) {
@@ -54149,7 +54211,7 @@ function searchNext(ctx, searchText, checkModes) {
54149
54211
  }
54150
54212
  }
54151
54213
  if (foundMatch) {
54152
- if (sheetIdx !== currentSheetIndex) {
54214
+ if (sheet.id !== ctx.currentSheetId) {
54153
54215
  changeSheet(ctx, sheet.id);
54154
54216
  }
54155
54217
  ctx.luckysheet_select_save = normalizeSelection(ctx, [{
@@ -54164,21 +54226,25 @@ function searchNext(ctx, searchText, checkModes) {
54164
54226
  }
54165
54227
  function searchAll(ctx, searchText, checkModes) {
54166
54228
  var searchType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "v";
54229
+ var searchRangeType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "all";
54230
+ var selectionRange = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];
54167
54231
  var searchResult = [];
54168
54232
  if (searchText === "" || searchText == null) {
54169
54233
  return searchResult;
54170
54234
  }
54171
- var sheets = ctx.luckysheetfile;
54172
- if (!sheets || sheets.length === 0) {
54235
+ var targets = getSearchTargets(ctx, searchRangeType, selectionRange);
54236
+ if (targets.length === 0) {
54173
54237
  return searchResult;
54174
54238
  }
54175
54239
  var firstMatch = null;
54176
- for (var sheetIdx = 0; sheetIdx < sheets.length; sheetIdx += 1) {
54177
- var sheet = sheets[sheetIdx];
54178
- var matches = searchSheet(searchText, checkModes, sheet, searchType);
54179
- if (matches.length === 0) continue;
54240
+ for (var targetIdx = 0; targetIdx < targets.length; targetIdx += 1) {
54241
+ var _targets$targetIdx2 = targets[targetIdx],
54242
+ sheet = _targets$targetIdx2.sheet,
54243
+ range = _targets$targetIdx2.range;
54180
54244
  var flowdata = sheet.data;
54181
54245
  if (!flowdata) continue;
54246
+ var matches = getSearchIndexArr(searchText, range, flowdata, checkModes, searchType);
54247
+ if (matches.length === 0) continue;
54182
54248
  for (var i = 0; i < matches.length; i += 1) {
54183
54249
  var _flowdata$match$r;
54184
54250
  var match = matches[i];
@@ -54261,53 +54327,73 @@ function onSearchDialogMoveEnd(globalCache) {
54261
54327
  ___default['default'].set(globalCache, "searchDialog.moveProps", undefined);
54262
54328
  }
54263
54329
  function replace(ctx, searchText, replaceText, checkModes) {
54264
- var _ctx$luckysheet_selec, _ctx$luckysheet_selec2;
54330
+ var _ctx$luckysheet_selec;
54265
54331
  var searchType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "v";
54332
+ var searchRangeType = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : "all";
54333
+ var selectionRange = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : [];
54266
54334
  var _locale2 = locale(ctx),
54267
54335
  findAndReplace = _locale2.findAndReplace;
54268
54336
  var allowEdit = isAllowEdit(ctx);
54269
54337
  if (!allowEdit) {
54270
54338
  return findAndReplace.modeTip;
54271
54339
  }
54272
- var flowdata = getFlowdata(ctx);
54273
- if (searchText === "" || searchText == null || flowdata == null) {
54340
+ if (searchText === "" || searchText == null) {
54274
54341
  return findAndReplace.searchInputTip;
54275
54342
  }
54276
- var range;
54277
- if (___default['default'].size(ctx.luckysheet_select_save) === 0 || ((_ctx$luckysheet_selec = ctx.luckysheet_select_save) === null || _ctx$luckysheet_selec === void 0 ? void 0 : _ctx$luckysheet_selec.length) === 1 && ctx.luckysheet_select_save[0].row[0] === ctx.luckysheet_select_save[0].row[1] && ctx.luckysheet_select_save[0].column[0] === ctx.luckysheet_select_save[0].column[1]) {
54278
- range = [{
54279
- row: [0, flowdata.length - 1],
54280
- column: [0, flowdata[0].length - 1]
54281
- }];
54282
- } else {
54283
- range = ___default['default'].assign([], ctx.luckysheet_select_save);
54343
+ var matches = [];
54344
+ var targets = getSearchTargets(ctx, searchRangeType, selectionRange);
54345
+ if (targets.length === 0) {
54346
+ return findAndReplace.noReplceTip;
54347
+ }
54348
+ var _iterator2 = _createForOfIteratorHelper(targets),
54349
+ _step2;
54350
+ try {
54351
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
54352
+ var _step2$value = _step2.value,
54353
+ sheet = _step2$value.sheet,
54354
+ range = _step2$value.range;
54355
+ var fd = sheet.data;
54356
+ if (!fd) continue;
54357
+ var arr = getSearchIndexArr(searchText, range, fd, checkModes, searchType);
54358
+ for (var _i = 0; _i < arr.length; _i += 1) {
54359
+ matches.push({
54360
+ r: arr[_i].r,
54361
+ c: arr[_i].c,
54362
+ sheetId: sheet.id,
54363
+ flowdata: fd
54364
+ });
54365
+ }
54366
+ }
54367
+ } catch (err) {
54368
+ _iterator2.e(err);
54369
+ } finally {
54370
+ _iterator2.f();
54284
54371
  }
54285
- var searchIndexArr = getSearchIndexArr(searchText, range, flowdata, checkModes, searchType);
54286
- if (searchIndexArr.length === 0) {
54372
+ if (matches.length === 0) {
54287
54373
  return findAndReplace.noReplceTip;
54288
54374
  }
54289
54375
  var count = null;
54290
- var last = (_ctx$luckysheet_selec2 = ctx.luckysheet_select_save) === null || _ctx$luckysheet_selec2 === void 0 ? void 0 : _ctx$luckysheet_selec2[ctx.luckysheet_select_save.length - 1];
54376
+ var last = (_ctx$luckysheet_selec = ctx.luckysheet_select_save) === null || _ctx$luckysheet_selec === void 0 ? void 0 : _ctx$luckysheet_selec[ctx.luckysheet_select_save.length - 1];
54291
54377
  var rf = last === null || last === void 0 ? void 0 : last.row_focus;
54292
54378
  var cf = last === null || last === void 0 ? void 0 : last.column_focus;
54293
- for (var i = 0; i < searchIndexArr.length; i += 1) {
54294
- if (searchIndexArr[i].r === rf && searchIndexArr[i].c === cf) {
54379
+ for (var i = 0; i < matches.length; i += 1) {
54380
+ if (matches[i].sheetId === ctx.currentSheetId && matches[i].r === rf && matches[i].c === cf) {
54295
54381
  count = i;
54296
54382
  break;
54297
54383
  }
54298
54384
  }
54299
54385
  if (count == null) {
54300
- if (searchIndexArr.length === 0) {
54301
- return findAndReplace.noMatchTip;
54302
- }
54303
54386
  count = 0;
54304
54387
  }
54305
- var d = flowdata;
54306
- var r;
54307
- var c;
54388
+ var _matches$count = matches[count],
54389
+ r = _matches$count.r,
54390
+ c = _matches$count.c,
54391
+ sheetId = _matches$count.sheetId,
54392
+ d = _matches$count.flowdata;
54393
+ if (sheetId !== ctx.currentSheetId) {
54394
+ changeSheet(ctx, sheetId);
54395
+ }
54308
54396
  if (checkModes.wordCheck) {
54309
- r = searchIndexArr[count].r;
54310
- c = searchIndexArr[count].c;
54311
54397
  var v = replaceText;
54312
54398
  setCellValue(ctx, r, c, d, v);
54313
54399
  } else {
@@ -54318,13 +54404,11 @@ function replace(ctx, searchText, replaceText, checkModes) {
54318
54404
  } else {
54319
54405
  reg = new RegExp(regSource, "ig");
54320
54406
  }
54321
- r = searchIndexArr[count].r;
54322
- c = searchIndexArr[count].c;
54323
54407
  var cell = d[r][c];
54324
54408
  if (searchType === "f" && !___default['default'].isNil(cell === null || cell === void 0 ? void 0 : cell.f)) {
54325
54409
  var newFormula = cell.f.toString().replace(reg, replaceText);
54326
54410
  cell.f = newFormula;
54327
- var exec = execfunction(ctx, newFormula, r, c, ctx.currentSheetId, false, true);
54411
+ var exec = execfunction(ctx, newFormula, r, c, sheetId, false, true);
54328
54412
  setCellValue(ctx, r, c, d, {
54329
54413
  v: exec[1],
54330
54414
  f: exec[2]
@@ -54342,53 +54426,46 @@ function replace(ctx, searchText, replaceText, checkModes) {
54342
54426
  return null;
54343
54427
  }
54344
54428
  function replaceAll(ctx, searchText, replaceText, checkModes) {
54345
- var _ctx$luckysheet_selec3;
54346
54429
  var searchType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "v";
54430
+ var searchRangeType = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : "all";
54431
+ var selectionRange = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : [];
54347
54432
  var _locale3 = locale(ctx),
54348
54433
  findAndReplace = _locale3.findAndReplace;
54349
54434
  var allowEdit = isAllowEdit(ctx);
54350
54435
  if (!allowEdit) {
54351
54436
  return findAndReplace.modeTip;
54352
54437
  }
54353
- var flowdata = getFlowdata(ctx);
54354
- if (searchText === "" || searchText == null || flowdata == null) {
54438
+ if (searchText === "" || searchText == null) {
54355
54439
  return findAndReplace.searchInputTip;
54356
54440
  }
54357
- var range;
54358
- if (___default['default'].size(ctx.luckysheet_select_save) === 0 || ((_ctx$luckysheet_selec3 = ctx.luckysheet_select_save) === null || _ctx$luckysheet_selec3 === void 0 ? void 0 : _ctx$luckysheet_selec3.length) === 1 && ctx.luckysheet_select_save[0].row[0] === ctx.luckysheet_select_save[0].row[1] && ctx.luckysheet_select_save[0].column[0] === ctx.luckysheet_select_save[0].column[1]) {
54359
- range = [{
54360
- row: [0, flowdata.length - 1],
54361
- column: [0, flowdata[0].length - 1]
54362
- }];
54363
- } else {
54364
- range = ___default['default'].assign([], ctx.luckysheet_select_save);
54365
- }
54366
54441
  var matches = [];
54367
- var _iterator = _createForOfIteratorHelper(ctx.luckysheetfile),
54368
- _step;
54442
+ var targets = getSearchTargets(ctx, searchRangeType, selectionRange);
54443
+ if (targets.length === 0) {
54444
+ return findAndReplace.noReplceTip;
54445
+ }
54446
+ var _iterator3 = _createForOfIteratorHelper(targets),
54447
+ _step3;
54369
54448
  try {
54370
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
54371
- var sheet = _step.value;
54449
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
54450
+ var _step3$value = _step3.value,
54451
+ sheet = _step3$value.sheet,
54452
+ range = _step3$value.range;
54372
54453
  var _fd2 = sheet.data;
54373
54454
  if (!_fd2 || _fd2.length === 0) continue;
54374
- var sheetRange = sheet.id === ctx.currentSheetId ? range : [{
54375
- row: [0, _fd2.length - 1],
54376
- column: [0, _fd2[0].length - 1]
54377
- }];
54378
- var arr = getSearchIndexArr(searchText, sheetRange, _fd2, checkModes, searchType);
54379
- for (var _i2 = 0; _i2 < arr.length; _i2 += 1) {
54455
+ var arr = getSearchIndexArr(searchText, range, _fd2, checkModes, searchType);
54456
+ for (var _i3 = 0; _i3 < arr.length; _i3 += 1) {
54380
54457
  matches.push({
54381
- r: arr[_i2].r,
54382
- c: arr[_i2].c,
54458
+ r: arr[_i3].r,
54459
+ c: arr[_i3].c,
54383
54460
  sheetId: sheet.id,
54384
54461
  flowdata: _fd2
54385
54462
  });
54386
54463
  }
54387
54464
  }
54388
54465
  } catch (err) {
54389
- _iterator.e(err);
54466
+ _iterator3.e(err);
54390
54467
  } finally {
54391
- _iterator.f();
54468
+ _iterator3.f();
54392
54469
  }
54393
54470
  if (matches.length === 0) {
54394
54471
  return findAndReplace.noReplceTip;
@@ -54419,8 +54496,8 @@ function replaceAll(ctx, searchText, replaceText, checkModes) {
54419
54496
  } else {
54420
54497
  reg = new RegExp(regSource, "ig");
54421
54498
  }
54422
- for (var _i = 0; _i < matches.length; _i += 1) {
54423
- var _matches$_i = matches[_i],
54499
+ for (var _i2 = 0; _i2 < matches.length; _i2 += 1) {
54500
+ var _matches$_i = matches[_i2],
54424
54501
  _r = _matches$_i.r,
54425
54502
  _c = _matches$_i.c,
54426
54503
  _sheetId = _matches$_i.sheetId,
@@ -504,6 +504,10 @@ declare const _default: {
504
504
  searchTypeValue: string;
505
505
  searchTypeFormula: string;
506
506
  searchTypeDisplay: string;
507
+ searchRangeLabel: string;
508
+ searchRangeAllSheet: string;
509
+ searchRangeCurrentSheet: string;
510
+ searchRangeSelection: string;
507
511
  allReplaceBtn: string;
508
512
  replaceBtn: string;
509
513
  allFindBtn: string;
@@ -629,6 +629,10 @@ declare const _default: {
629
629
  searchTypeValue: string;
630
630
  searchTypeFormula: string;
631
631
  searchTypeDisplay: string;
632
+ searchRangeLabel: string;
633
+ searchRangeAllSheet: string;
634
+ searchRangeCurrentSheet: string;
635
+ searchRangeSelection: string;
632
636
  allReplaceBtn: string;
633
637
  replaceBtn: string;
634
638
  allFindBtn: string;
@@ -522,6 +522,10 @@ declare function locale(ctx: Context): {
522
522
  searchTypeValue: string;
523
523
  searchTypeFormula: string;
524
524
  searchTypeDisplay: string;
525
+ searchRangeLabel: string;
526
+ searchRangeAllSheet: string;
527
+ searchRangeCurrentSheet: string;
528
+ searchRangeSelection: string;
525
529
  allReplaceBtn: string;
526
530
  replaceBtn: string;
527
531
  allFindBtn: string;
@@ -521,6 +521,10 @@ declare const _default: {
521
521
  searchTypeValue: string;
522
522
  searchTypeFormula: string;
523
523
  searchTypeDisplay: string;
524
+ searchRangeLabel: string;
525
+ searchRangeAllSheet: string;
526
+ searchRangeCurrentSheet: string;
527
+ searchRangeSelection: string;
524
528
  allReplaceBtn: string;
525
529
  replaceBtn: string;
526
530
  allFindBtn: string;
@@ -667,6 +667,10 @@ declare const _default: {
667
667
  searchTypeValue: string;
668
668
  searchTypeFormula: string;
669
669
  searchTypeDisplay: string;
670
+ searchRangeLabel: string;
671
+ searchRangeAllSheet: string;
672
+ searchRangeCurrentSheet: string;
673
+ searchRangeSelection: string;
670
674
  allReplaceBtn: string;
671
675
  replaceBtn: string;
672
676
  allFindBtn: string;
@@ -1,6 +1,7 @@
1
1
  import { Context } from "../context";
2
2
  import { CellMatrix, SearchResult, GlobalCache } from "../types";
3
3
  export type SearchType = "v" | "m" | "f";
4
+ export type SearchRangeType = "all" | "currentSheet" | "selection";
4
5
  export declare function getSearchIndexArr(searchText: string, range: {
5
6
  row: number[];
6
7
  column: number[];
@@ -16,12 +17,18 @@ export declare function searchNext(ctx: Context, searchText: string, checkModes:
16
17
  regCheck: boolean;
17
18
  wordCheck: boolean;
18
19
  caseCheck: boolean;
19
- }, searchType?: SearchType): string | null;
20
+ }, searchType?: SearchType, searchRangeType?: SearchRangeType, selectionRange?: {
21
+ row: number[];
22
+ column: number[];
23
+ }[]): string | null;
20
24
  export declare function searchAll(ctx: Context, searchText: string, checkModes: {
21
25
  regCheck: boolean;
22
26
  wordCheck: boolean;
23
27
  caseCheck: boolean;
24
- }, searchType?: SearchType): SearchResult[];
28
+ }, searchType?: SearchType, searchRangeType?: SearchRangeType, selectionRange?: {
29
+ row: number[];
30
+ column: number[];
31
+ }[]): SearchResult[];
25
32
  export declare function onSearchDialogMoveStart(globalCache: GlobalCache, e: MouseEvent, container: HTMLDivElement): void;
26
33
  export declare function onSearchDialogMove(globalCache: GlobalCache, e: MouseEvent): void;
27
34
  export declare function onSearchDialogMoveEnd(globalCache: GlobalCache): void;
@@ -29,9 +36,15 @@ export declare function replace(ctx: Context, searchText: string, replaceText: s
29
36
  regCheck: boolean;
30
37
  wordCheck: boolean;
31
38
  caseCheck: boolean;
32
- }, searchType?: SearchType): string | null;
39
+ }, searchType?: SearchType, searchRangeType?: SearchRangeType, selectionRange?: {
40
+ row: number[];
41
+ column: number[];
42
+ }[]): string | null;
33
43
  export declare function replaceAll(ctx: Context, searchText: string, replaceText: string, checkModes: {
34
44
  regCheck: boolean;
35
45
  wordCheck: boolean;
36
46
  caseCheck: boolean;
37
- }, searchType?: SearchType): string;
47
+ }, searchType?: SearchType, searchRangeType?: SearchRangeType, selectionRange?: {
48
+ row: number[];
49
+ column: number[];
50
+ }[]): string;
@@ -21,6 +21,7 @@ export type Hooks = {
21
21
  beforeUpdateCell?: (r: number, c: number, value: any) => boolean;
22
22
  afterUpdateCell?: (row: number, column: number, oldValue: any, newValue: any) => void;
23
23
  afterSelectionChange?: (sheetId: string, selection: Selection) => void;
24
+ afterSheetChange?: (sheetId: string, prevSheetId: string) => void;
24
25
  beforeRenderRowHeaderCell?: (rowNumber: string, rowIndex: number, top: number, width: number, height: number, ctx: CanvasRenderingContext2D) => boolean;
25
26
  afterRenderRowHeaderCell?: (rowNumber: string, rowIndex: number, top: number, width: number, height: number, ctx: CanvasRenderingContext2D) => void;
26
27
  beforeRenderColumnHeaderCell?: (columnChar: string, columnIndex: number, left: number, width: number, height: number, ctx: CanvasRenderingContext2D) => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leankylin-sheet/core",
3
- "version": "5.2.58",
3
+ "version": "5.2.60",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.esm.js",
6
6
  "typings": "dist/index.d.ts",
@@ -13,7 +13,7 @@
13
13
  "build": "father-build"
14
14
  },
15
15
  "dependencies": {
16
- "@leankylin-sheet/formula-parser": "5.2.58",
16
+ "@leankylin-sheet/formula-parser": "5.2.60",
17
17
  "dayjs": "^1.11.0",
18
18
  "immer": "^9.0.12",
19
19
  "lodash": "^4.17.21",