@fileverse-dev/fortune-core 1.1.40 → 1.1.41
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/es/events/keyboard.js +9 -1
- package/es/events/mouse.js +15 -11
- package/es/modules/cell.js +1 -0
- package/es/modules/formula.js +9 -0
- package/es/utils/index.d.ts +2 -0
- package/es/utils/index.js +14 -0
- package/lib/events/keyboard.js +9 -1
- package/lib/events/mouse.js +15 -11
- package/lib/modules/cell.js +1 -0
- package/lib/modules/formula.js +9 -0
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.js +19 -1
- package/package.json +1 -1
package/es/events/keyboard.js
CHANGED
|
@@ -348,8 +348,16 @@ function handleShiftWithArrowKey(ctx, e) {
|
|
|
348
348
|
e.preventDefault();
|
|
349
349
|
}
|
|
350
350
|
export function handleArrowKey(ctx, e) {
|
|
351
|
+
var _a, _b;
|
|
351
352
|
if (ctx.luckysheetCellUpdate.length > 0 || ctx.luckysheet_cell_selected_move || ctx.luckysheet_cell_selected_extend) {
|
|
352
|
-
|
|
353
|
+
var parser = new DOMParser();
|
|
354
|
+
var doc = parser.parseFromString("<div>".concat((_a = document.getElementById("luckysheet-rich-text-editor")) === null || _a === void 0 ? void 0 : _a.innerHTML, "</div>"), "text/html");
|
|
355
|
+
var spans = doc.querySelectorAll("span");
|
|
356
|
+
var lastSpan = spans[spans.length - 1];
|
|
357
|
+
var notFunctionInit = !((_b = document.getElementById("luckysheet-rich-text-editor")) === null || _b === void 0 ? void 0 : _b.innerText.includes("("));
|
|
358
|
+
if ((lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText.includes(")")) || notFunctionInit && /^[a-zA-Z]+$/.test(lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText) && !_.includes(["="], lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText)) {
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
353
361
|
}
|
|
354
362
|
var moveCount = hideCRCount(ctx, e.key);
|
|
355
363
|
switch (e.key) {
|
package/es/events/mouse.js
CHANGED
|
@@ -105,7 +105,7 @@ export function fixPositionOnFrozenCells(freeze, x, y, mouseX, mouseY) {
|
|
|
105
105
|
}
|
|
106
106
|
export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxInput, canvas) {
|
|
107
107
|
var _a, _b;
|
|
108
|
-
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
108
|
+
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
109
109
|
if (!(fxInput === null || fxInput === void 0 ? void 0 : fxInput.innerHTML) && ctx) {
|
|
110
110
|
ctx.defaultCandidates = [];
|
|
111
111
|
}
|
|
@@ -124,11 +124,11 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
|
|
|
124
124
|
return;
|
|
125
125
|
}
|
|
126
126
|
var freeze = (_c = globalCache.freezen) === null || _c === void 0 ? void 0 : _c[ctx.currentSheetId];
|
|
127
|
-
var
|
|
128
|
-
x =
|
|
129
|
-
y =
|
|
130
|
-
inHorizontalFreeze =
|
|
131
|
-
inVerticalFreeze =
|
|
127
|
+
var _q = fixPositionOnFrozenCells(freeze, _x, _y, mouseX, mouseY),
|
|
128
|
+
x = _q.x,
|
|
129
|
+
y = _q.y,
|
|
130
|
+
inHorizontalFreeze = _q.inHorizontalFreeze,
|
|
131
|
+
inVerticalFreeze = _q.inVerticalFreeze;
|
|
132
132
|
var row_location = rowLocation(y, ctx.visibledatarow);
|
|
133
133
|
var row = row_location[1];
|
|
134
134
|
var row_pre = row_location[0];
|
|
@@ -173,7 +173,11 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
|
|
|
173
173
|
}
|
|
174
174
|
ctx.luckysheet_scroll_status = true;
|
|
175
175
|
if (ctx.luckysheetCellUpdate.length > 0) {
|
|
176
|
-
|
|
176
|
+
var parser = new DOMParser();
|
|
177
|
+
var doc = parser.parseFromString("<div>".concat((_g = document.getElementById("luckysheet-rich-text-editor")) === null || _g === void 0 ? void 0 : _g.innerHTML, "</div>"), "text/html");
|
|
178
|
+
var spans = doc.querySelectorAll("span");
|
|
179
|
+
var firstSpan = spans[0];
|
|
180
|
+
if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || israngeseleciton(ctx) || (firstSpan === null || firstSpan === void 0 ? void 0 : firstSpan.innerText.includes("="))) {
|
|
177
181
|
var rowseleted = [row_index, row_index_ed];
|
|
178
182
|
var columnseleted = [col_index, col_index_ed];
|
|
179
183
|
var left = col_pre;
|
|
@@ -240,7 +244,7 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
|
|
|
240
244
|
last.top_move = top_1;
|
|
241
245
|
last.height_move = height;
|
|
242
246
|
ctx.formulaCache.func_selectedrange = last;
|
|
243
|
-
} else if (e.ctrlKey && ((
|
|
247
|
+
} else if (e.ctrlKey && ((_h = _.last(cellInput.querySelectorAll("span"))) === null || _h === void 0 ? void 0 : _h.innerText) !== ",") {
|
|
244
248
|
var vText = cellInput.innerText;
|
|
245
249
|
if (vText[vText.length - 1] === ")") {
|
|
246
250
|
vText = vText.substring(0, vText.length - 1);
|
|
@@ -256,7 +260,7 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
|
|
|
256
260
|
if (window.getSelection) {
|
|
257
261
|
var currSelection = window.getSelection();
|
|
258
262
|
if (currSelection == null) return;
|
|
259
|
-
ctx.formulaCache.functionRangeIndex = [_.indexOf((
|
|
263
|
+
ctx.formulaCache.functionRangeIndex = [_.indexOf((_l = (_k = (_j = currSelection.anchorNode) === null || _j === void 0 ? void 0 : _j.parentNode) === null || _k === void 0 ? void 0 : _k.parentNode) === null || _l === void 0 ? void 0 : _l.childNodes, (_m = currSelection.anchorNode) === null || _m === void 0 ? void 0 : _m.parentNode), currSelection.anchorOffset];
|
|
260
264
|
} else {
|
|
261
265
|
var textRange = document.selection.createRange();
|
|
262
266
|
ctx.formulaCache.functionRangeIndex = textRange;
|
|
@@ -330,7 +334,7 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
|
|
|
330
334
|
}
|
|
331
335
|
if (ctx.luckysheet_select_status) {
|
|
332
336
|
if (e.shiftKey) {
|
|
333
|
-
var last = (
|
|
337
|
+
var last = (_o = ctx.luckysheet_select_save) === null || _o === void 0 ? void 0 : _o[ctx.luckysheet_select_save.length - 1];
|
|
334
338
|
if (last && last.top != null && last.left != null && last.height != null && last.width != null && last.row_focus != null && last.column_focus != null) {
|
|
335
339
|
var top_2 = 0;
|
|
336
340
|
var height = 0;
|
|
@@ -389,7 +393,7 @@ export function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, containe
|
|
|
389
393
|
ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1] = last;
|
|
390
394
|
}
|
|
391
395
|
} else if (e.ctrlKey || e.metaKey) {
|
|
392
|
-
(
|
|
396
|
+
(_p = ctx.luckysheet_select_save) === null || _p === void 0 ? void 0 : _p.push({
|
|
393
397
|
left: col_pre,
|
|
394
398
|
width: col - col_pre - 1,
|
|
395
399
|
top: row_pre,
|
package/es/modules/cell.js
CHANGED
|
@@ -478,6 +478,7 @@ export function cancelNormalSelected(ctx) {
|
|
|
478
478
|
}
|
|
479
479
|
export function updateCell(ctx, r, c, $input, value, canvas) {
|
|
480
480
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
481
|
+
console.log("updateCell", r, c, $input, value);
|
|
481
482
|
var inputText = $input === null || $input === void 0 ? void 0 : $input.innerText;
|
|
482
483
|
var inputHtml = $input === null || $input === void 0 ? void 0 : $input.innerHTML;
|
|
483
484
|
var flowdata = getFlowdata(ctx);
|
package/es/modules/formula.js
CHANGED
|
@@ -29,6 +29,7 @@ import { locale } from "../locale";
|
|
|
29
29
|
import { colors } from "./color";
|
|
30
30
|
import { colLocation, mousePosition, rowLocation } from "./location";
|
|
31
31
|
import { cancelFunctionrangeSelected, seletedHighlistByindex, spillSortResult } from ".";
|
|
32
|
+
import { isLetterNumberPattern, removeLastSpan } from "../utils/index";
|
|
32
33
|
var functionHTMLIndex = 0;
|
|
33
34
|
var rangeIndexes = [];
|
|
34
35
|
var operatorPriority = {
|
|
@@ -1938,6 +1939,14 @@ export function functionStrChange(txt, type, rc, orient, stindex, step) {
|
|
|
1938
1939
|
}
|
|
1939
1940
|
export function rangeSetValue(ctx, cellInput, selected, fxInput) {
|
|
1940
1941
|
var _a, _b, _c, _d, _e;
|
|
1942
|
+
var parser = new DOMParser();
|
|
1943
|
+
var doc = parser.parseFromString("<div>".concat(cellInput.innerHTML, "</div>"), "text/html");
|
|
1944
|
+
var spans = doc.querySelectorAll("span");
|
|
1945
|
+
var lastSpan = spans[spans.length - 1];
|
|
1946
|
+
if (lastSpan && isLetterNumberPattern(lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText)) {
|
|
1947
|
+
var htmlR = removeLastSpan(cellInput.innerHTML);
|
|
1948
|
+
cellInput.innerHTML = "".concat(htmlR);
|
|
1949
|
+
}
|
|
1941
1950
|
var $editor = cellInput;
|
|
1942
1951
|
var $copyTo = fxInput;
|
|
1943
1952
|
if (((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.id) === "luckysheet-functionbox-cell") {
|
package/es/utils/index.d.ts
CHANGED
|
@@ -17,3 +17,5 @@ export declare function getRegExpStr(str: string): string;
|
|
|
17
17
|
export declare function chatatABC(n: number): string;
|
|
18
18
|
export declare function isAllowEdit(ctx: Context, range?: Sheet["luckysheet_select_save"]): boolean;
|
|
19
19
|
export declare function isAllowEditReadOnly(ctx: Context, range?: Sheet["luckysheet_select_save"]): boolean;
|
|
20
|
+
export declare function isLetterNumberPattern(str: string): boolean;
|
|
21
|
+
export declare function removeLastSpan(htmlString: string): string;
|
package/es/utils/index.js
CHANGED
|
@@ -195,4 +195,18 @@ export function isAllowEditReadOnly(ctx, range) {
|
|
|
195
195
|
}
|
|
196
196
|
return true;
|
|
197
197
|
}) && (_.isUndefined(ctx.isFlvReadOnly) ? true : ctx.isFlvReadOnly);
|
|
198
|
+
}
|
|
199
|
+
export function isLetterNumberPattern(str) {
|
|
200
|
+
var regex = /^[a-zA-Z]\d+$/;
|
|
201
|
+
return regex.test(str);
|
|
202
|
+
}
|
|
203
|
+
export function removeLastSpan(htmlString) {
|
|
204
|
+
var container = document.createElement("div");
|
|
205
|
+
container.innerHTML = htmlString;
|
|
206
|
+
var spans = container.querySelectorAll("span");
|
|
207
|
+
if (spans.length > 0) {
|
|
208
|
+
var lastSpan = spans[spans.length - 1];
|
|
209
|
+
lastSpan.remove();
|
|
210
|
+
}
|
|
211
|
+
return container.innerHTML;
|
|
198
212
|
}
|
package/lib/events/keyboard.js
CHANGED
|
@@ -358,8 +358,16 @@ function handleShiftWithArrowKey(ctx, e) {
|
|
|
358
358
|
e.preventDefault();
|
|
359
359
|
}
|
|
360
360
|
function handleArrowKey(ctx, e) {
|
|
361
|
+
var _a, _b;
|
|
361
362
|
if (ctx.luckysheetCellUpdate.length > 0 || ctx.luckysheet_cell_selected_move || ctx.luckysheet_cell_selected_extend) {
|
|
362
|
-
|
|
363
|
+
var parser = new DOMParser();
|
|
364
|
+
var doc = parser.parseFromString("<div>".concat((_a = document.getElementById("luckysheet-rich-text-editor")) === null || _a === void 0 ? void 0 : _a.innerHTML, "</div>"), "text/html");
|
|
365
|
+
var spans = doc.querySelectorAll("span");
|
|
366
|
+
var lastSpan = spans[spans.length - 1];
|
|
367
|
+
var notFunctionInit = !((_b = document.getElementById("luckysheet-rich-text-editor")) === null || _b === void 0 ? void 0 : _b.innerText.includes("("));
|
|
368
|
+
if ((lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText.includes(")")) || notFunctionInit && /^[a-zA-Z]+$/.test(lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText) && !_lodash.default.includes(["="], lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText)) {
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
363
371
|
}
|
|
364
372
|
var moveCount = (0, _2.hideCRCount)(ctx, e.key);
|
|
365
373
|
switch (e.key) {
|
package/lib/events/mouse.js
CHANGED
|
@@ -124,7 +124,7 @@ function fixPositionOnFrozenCells(freeze, x, y, mouseX, mouseY) {
|
|
|
124
124
|
}
|
|
125
125
|
function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxInput, canvas) {
|
|
126
126
|
var _a, _b;
|
|
127
|
-
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
127
|
+
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
128
128
|
if (!(fxInput === null || fxInput === void 0 ? void 0 : fxInput.innerHTML) && ctx) {
|
|
129
129
|
ctx.defaultCandidates = [];
|
|
130
130
|
}
|
|
@@ -143,11 +143,11 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
143
143
|
return;
|
|
144
144
|
}
|
|
145
145
|
var freeze = (_c = globalCache.freezen) === null || _c === void 0 ? void 0 : _c[ctx.currentSheetId];
|
|
146
|
-
var
|
|
147
|
-
x =
|
|
148
|
-
y =
|
|
149
|
-
inHorizontalFreeze =
|
|
150
|
-
inVerticalFreeze =
|
|
146
|
+
var _q = fixPositionOnFrozenCells(freeze, _x, _y, mouseX, mouseY),
|
|
147
|
+
x = _q.x,
|
|
148
|
+
y = _q.y,
|
|
149
|
+
inHorizontalFreeze = _q.inHorizontalFreeze,
|
|
150
|
+
inVerticalFreeze = _q.inVerticalFreeze;
|
|
151
151
|
var row_location = (0, _location.rowLocation)(y, ctx.visibledatarow);
|
|
152
152
|
var row = row_location[1];
|
|
153
153
|
var row_pre = row_location[0];
|
|
@@ -192,7 +192,11 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
192
192
|
}
|
|
193
193
|
ctx.luckysheet_scroll_status = true;
|
|
194
194
|
if (ctx.luckysheetCellUpdate.length > 0) {
|
|
195
|
-
|
|
195
|
+
var parser = new DOMParser();
|
|
196
|
+
var doc = parser.parseFromString("<div>".concat((_g = document.getElementById("luckysheet-rich-text-editor")) === null || _g === void 0 ? void 0 : _g.innerHTML, "</div>"), "text/html");
|
|
197
|
+
var spans = doc.querySelectorAll("span");
|
|
198
|
+
var firstSpan = spans[0];
|
|
199
|
+
if (ctx.formulaCache.rangestart || ctx.formulaCache.rangedrag_column_start || ctx.formulaCache.rangedrag_row_start || (0, _modules.israngeseleciton)(ctx) || (firstSpan === null || firstSpan === void 0 ? void 0 : firstSpan.innerText.includes("="))) {
|
|
196
200
|
var rowseleted = [row_index, row_index_ed];
|
|
197
201
|
var columnseleted = [col_index, col_index_ed];
|
|
198
202
|
var left = col_pre;
|
|
@@ -259,7 +263,7 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
259
263
|
last.top_move = top_1;
|
|
260
264
|
last.height_move = height;
|
|
261
265
|
ctx.formulaCache.func_selectedrange = last;
|
|
262
|
-
} else if (e.ctrlKey && ((
|
|
266
|
+
} else if (e.ctrlKey && ((_h = _lodash.default.last(cellInput.querySelectorAll("span"))) === null || _h === void 0 ? void 0 : _h.innerText) !== ",") {
|
|
263
267
|
var vText = cellInput.innerText;
|
|
264
268
|
if (vText[vText.length - 1] === ")") {
|
|
265
269
|
vText = vText.substring(0, vText.length - 1);
|
|
@@ -275,7 +279,7 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
275
279
|
if (window.getSelection) {
|
|
276
280
|
var currSelection = window.getSelection();
|
|
277
281
|
if (currSelection == null) return;
|
|
278
|
-
ctx.formulaCache.functionRangeIndex = [_lodash.default.indexOf((
|
|
282
|
+
ctx.formulaCache.functionRangeIndex = [_lodash.default.indexOf((_l = (_k = (_j = currSelection.anchorNode) === null || _j === void 0 ? void 0 : _j.parentNode) === null || _k === void 0 ? void 0 : _k.parentNode) === null || _l === void 0 ? void 0 : _l.childNodes, (_m = currSelection.anchorNode) === null || _m === void 0 ? void 0 : _m.parentNode), currSelection.anchorOffset];
|
|
279
283
|
} else {
|
|
280
284
|
var textRange = document.selection.createRange();
|
|
281
285
|
ctx.formulaCache.functionRangeIndex = textRange;
|
|
@@ -349,7 +353,7 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
349
353
|
}
|
|
350
354
|
if (ctx.luckysheet_select_status) {
|
|
351
355
|
if (e.shiftKey) {
|
|
352
|
-
var last = (
|
|
356
|
+
var last = (_o = ctx.luckysheet_select_save) === null || _o === void 0 ? void 0 : _o[ctx.luckysheet_select_save.length - 1];
|
|
353
357
|
if (last && last.top != null && last.left != null && last.height != null && last.width != null && last.row_focus != null && last.column_focus != null) {
|
|
354
358
|
var top_2 = 0;
|
|
355
359
|
var height = 0;
|
|
@@ -408,7 +412,7 @@ function handleCellAreaMouseDown(ctx, globalCache, e, cellInput, container, fxIn
|
|
|
408
412
|
ctx.luckysheet_select_save[ctx.luckysheet_select_save.length - 1] = last;
|
|
409
413
|
}
|
|
410
414
|
} else if (e.ctrlKey || e.metaKey) {
|
|
411
|
-
(
|
|
415
|
+
(_p = ctx.luckysheet_select_save) === null || _p === void 0 ? void 0 : _p.push({
|
|
412
416
|
left: col_pre,
|
|
413
417
|
width: col - col_pre - 1,
|
|
414
418
|
top: row_pre,
|
package/lib/modules/cell.js
CHANGED
|
@@ -508,6 +508,7 @@ function cancelNormalSelected(ctx) {
|
|
|
508
508
|
}
|
|
509
509
|
function updateCell(ctx, r, c, $input, value, canvas) {
|
|
510
510
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
511
|
+
console.log("updateCell", r, c, $input, value);
|
|
511
512
|
var inputText = $input === null || $input === void 0 ? void 0 : $input.innerText;
|
|
512
513
|
var inputHtml = $input === null || $input === void 0 ? void 0 : $input.innerHTML;
|
|
513
514
|
var flowdata = (0, _context.getFlowdata)(ctx);
|
package/lib/modules/formula.js
CHANGED
|
@@ -38,6 +38,7 @@ var _locale = require("../locale");
|
|
|
38
38
|
var _color = require("./color");
|
|
39
39
|
var _location = require("./location");
|
|
40
40
|
var _2 = require(".");
|
|
41
|
+
var _index = require("../utils/index");
|
|
41
42
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
42
43
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
43
44
|
var __assign = void 0 && (void 0).__assign || function () {
|
|
@@ -1967,6 +1968,14 @@ function functionStrChange(txt, type, rc, orient, stindex, step) {
|
|
|
1967
1968
|
}
|
|
1968
1969
|
function rangeSetValue(ctx, cellInput, selected, fxInput) {
|
|
1969
1970
|
var _a, _b, _c, _d, _e;
|
|
1971
|
+
var parser = new DOMParser();
|
|
1972
|
+
var doc = parser.parseFromString("<div>".concat(cellInput.innerHTML, "</div>"), "text/html");
|
|
1973
|
+
var spans = doc.querySelectorAll("span");
|
|
1974
|
+
var lastSpan = spans[spans.length - 1];
|
|
1975
|
+
if (lastSpan && (0, _index.isLetterNumberPattern)(lastSpan === null || lastSpan === void 0 ? void 0 : lastSpan.innerText)) {
|
|
1976
|
+
var htmlR = (0, _index.removeLastSpan)(cellInput.innerHTML);
|
|
1977
|
+
cellInput.innerHTML = "".concat(htmlR);
|
|
1978
|
+
}
|
|
1970
1979
|
var $editor = cellInput;
|
|
1971
1980
|
var $copyTo = fxInput;
|
|
1972
1981
|
if (((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.id) === "luckysheet-functionbox-cell") {
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -17,3 +17,5 @@ export declare function getRegExpStr(str: string): string;
|
|
|
17
17
|
export declare function chatatABC(n: number): string;
|
|
18
18
|
export declare function isAllowEdit(ctx: Context, range?: Sheet["luckysheet_select_save"]): boolean;
|
|
19
19
|
export declare function isAllowEditReadOnly(ctx: Context, range?: Sheet["luckysheet_select_save"]): boolean;
|
|
20
|
+
export declare function isLetterNumberPattern(str: string): boolean;
|
|
21
|
+
export declare function removeLastSpan(htmlString: string): string;
|
package/lib/utils/index.js
CHANGED
|
@@ -18,7 +18,9 @@ var _exportNames = {
|
|
|
18
18
|
getRegExpStr: true,
|
|
19
19
|
chatatABC: true,
|
|
20
20
|
isAllowEdit: true,
|
|
21
|
-
isAllowEditReadOnly: true
|
|
21
|
+
isAllowEditReadOnly: true,
|
|
22
|
+
isLetterNumberPattern: true,
|
|
23
|
+
removeLastSpan: true
|
|
22
24
|
};
|
|
23
25
|
exports.chatatABC = chatatABC;
|
|
24
26
|
exports.columnCharToIndex = columnCharToIndex;
|
|
@@ -33,6 +35,8 @@ exports.getSheetIndex = getSheetIndex;
|
|
|
33
35
|
exports.indexToColumnChar = indexToColumnChar;
|
|
34
36
|
exports.isAllowEdit = isAllowEdit;
|
|
35
37
|
exports.isAllowEditReadOnly = isAllowEditReadOnly;
|
|
38
|
+
exports.isLetterNumberPattern = isLetterNumberPattern;
|
|
39
|
+
exports.removeLastSpan = removeLastSpan;
|
|
36
40
|
exports.replaceHtml = replaceHtml;
|
|
37
41
|
exports.rgbToHex = rgbToHex;
|
|
38
42
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
@@ -255,4 +259,18 @@ function isAllowEditReadOnly(ctx, range) {
|
|
|
255
259
|
}
|
|
256
260
|
return true;
|
|
257
261
|
}) && (_lodash.default.isUndefined(ctx.isFlvReadOnly) ? true : ctx.isFlvReadOnly);
|
|
262
|
+
}
|
|
263
|
+
function isLetterNumberPattern(str) {
|
|
264
|
+
var regex = /^[a-zA-Z]\d+$/;
|
|
265
|
+
return regex.test(str);
|
|
266
|
+
}
|
|
267
|
+
function removeLastSpan(htmlString) {
|
|
268
|
+
var container = document.createElement("div");
|
|
269
|
+
container.innerHTML = htmlString;
|
|
270
|
+
var spans = container.querySelectorAll("span");
|
|
271
|
+
if (spans.length > 0) {
|
|
272
|
+
var lastSpan = spans[spans.length - 1];
|
|
273
|
+
lastSpan.remove();
|
|
274
|
+
}
|
|
275
|
+
return container.innerHTML;
|
|
258
276
|
}
|