@fileverse-dev/fortune-core 1.0.83 → 1.0.85
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 +12 -4
- package/es/modules/selection.d.ts +2 -0
- package/es/modules/selection.js +82 -0
- package/es/modules/zoom.js +1 -1
- package/lib/events/keyboard.js +10 -2
- package/lib/modules/selection.d.ts +2 -0
- package/lib/modules/selection.js +84 -0
- package/lib/modules/zoom.js +1 -1
- package/package.json +1 -1
package/es/events/keyboard.js
CHANGED
|
@@ -3,8 +3,8 @@ import { hideCRCount, removeActiveImage } from "..";
|
|
|
3
3
|
import { getFlowdata } from "../context";
|
|
4
4
|
import { updateCell, cancelNormalSelected } from "../modules/cell";
|
|
5
5
|
import { handleFormulaInput } from "../modules/formula";
|
|
6
|
-
import { copy, deleteSelectedCellText, deleteSelectedCellFormat, textFormat, moveHighlightCell, moveHighlightRange, selectAll, selectionCache } from "../modules/selection";
|
|
7
|
-
import { cancelPaintModel, handleBold, handleItalic, handleUnderline } from "../modules/toolbar";
|
|
6
|
+
import { copy, deleteSelectedCellText, deleteSelectedCellFormat, textFormat, fillDate, fillTime, moveHighlightCell, moveHighlightRange, selectAll, selectionCache } from "../modules/selection";
|
|
7
|
+
import { cancelPaintModel, handleBold, handleItalic, handleUnderline, handleLink } from "../modules/toolbar";
|
|
8
8
|
import { hasPartMC } from "../modules/validation";
|
|
9
9
|
import { getNowDateTime, getSheetIndex, isAllowEdit } from "../utils";
|
|
10
10
|
import { handleCopy } from "./copy";
|
|
@@ -119,7 +119,6 @@ function handleControlPlusArrowKey(ctx, e, shiftPressed) {
|
|
|
119
119
|
}
|
|
120
120
|
export function handleWithCtrlOrMetaKey(ctx, cache, e, cellInput, fxInput, handleUndo, handleRedo) {
|
|
121
121
|
var _a, _b, _c, _d;
|
|
122
|
-
console.log(e.key, e.code);
|
|
123
122
|
var flowdata = getFlowdata(ctx);
|
|
124
123
|
if (!flowdata) return;
|
|
125
124
|
if (e.shiftKey) {
|
|
@@ -127,7 +126,7 @@ export function handleWithCtrlOrMetaKey(ctx, cache, e, cellInput, fxInput, handl
|
|
|
127
126
|
ctx.luckysheet_shiftkeydown = true;
|
|
128
127
|
if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(e.key)) {
|
|
129
128
|
handleControlPlusArrowKey(ctx, e, true);
|
|
130
|
-
} else if (_.includes([
|
|
129
|
+
} else if (_.includes(['"', ":", "'"], e.key)) {
|
|
131
130
|
var last = (_b = ctx.luckysheet_select_save) === null || _b === void 0 ? void 0 : _b[ctx.luckysheet_select_save.length - 1];
|
|
132
131
|
if (!last) return;
|
|
133
132
|
var row_index = last.row_focus;
|
|
@@ -270,6 +269,15 @@ export function handleGlobalKeyDown(ctx, cellInput, fxInput, e, cache, handleUnd
|
|
|
270
269
|
} else if ((e.ctrlKey || e.metaKey && e.shiftKey) && e.code === "KeyR") {
|
|
271
270
|
textFormat(ctx, "right");
|
|
272
271
|
}
|
|
272
|
+
if ((e.metaKey || e.ctrlKey) && e.code === "KeyK") {
|
|
273
|
+
handleLink(ctx);
|
|
274
|
+
}
|
|
275
|
+
if ((e.metaKey || e.ctrlKey) && !e.shiftKey && e.code === "Semicolon") {
|
|
276
|
+
fillDate(ctx);
|
|
277
|
+
}
|
|
278
|
+
if ((e.metaKey || e.ctrlKey) && e.shiftKey && e.code === "Semicolon") {
|
|
279
|
+
fillTime(ctx);
|
|
280
|
+
}
|
|
273
281
|
ctx.luckysheet_select_status = false;
|
|
274
282
|
var kcode = e.keyCode;
|
|
275
283
|
var kstr = e.key;
|
|
@@ -26,6 +26,8 @@ export declare function copy(ctx: Context): void;
|
|
|
26
26
|
export declare function deleteSelectedCellText(ctx: Context): string;
|
|
27
27
|
export declare function deleteSelectedCellFormat(ctx: Context): string;
|
|
28
28
|
export declare function textFormat(ctx: Context, type: "left" | "center" | "right"): string;
|
|
29
|
+
export declare function fillDate(ctx: Context): string;
|
|
30
|
+
export declare function fillTime(ctx: Context): string;
|
|
29
31
|
export declare function selectIsOverlap(ctx: Context, range?: any): boolean;
|
|
30
32
|
export declare function selectAll(ctx: Context): void;
|
|
31
33
|
export declare function fixRowStyleOverflowInFreeze(ctx: Context, r1: number, r2: number, freeze: Freezen | undefined): {
|
package/es/modules/selection.js
CHANGED
|
@@ -1635,6 +1635,88 @@ export function textFormat(ctx, type) {
|
|
|
1635
1635
|
}
|
|
1636
1636
|
return "success";
|
|
1637
1637
|
}
|
|
1638
|
+
export function fillDate(ctx) {
|
|
1639
|
+
var allowEdit = isAllowEdit(ctx);
|
|
1640
|
+
if (allowEdit === false) {
|
|
1641
|
+
return "allowEdit";
|
|
1642
|
+
}
|
|
1643
|
+
var selection = ctx.luckysheet_select_save;
|
|
1644
|
+
if (selection && !_.isEmpty(selection)) {
|
|
1645
|
+
var d = getFlowdata(ctx);
|
|
1646
|
+
if (!d) return "dataNullError";
|
|
1647
|
+
var has_PartMC = false;
|
|
1648
|
+
for (var s = 0; s < selection.length; s += 1) {
|
|
1649
|
+
var r1 = selection[s].row[0];
|
|
1650
|
+
var r2 = selection[s].row[1];
|
|
1651
|
+
var c1 = selection[s].column[0];
|
|
1652
|
+
var c2 = selection[s].column[1];
|
|
1653
|
+
if (hasPartMC(ctx, ctx.config, r1, r2, c1, c2)) {
|
|
1654
|
+
has_PartMC = true;
|
|
1655
|
+
break;
|
|
1656
|
+
}
|
|
1657
|
+
}
|
|
1658
|
+
if (has_PartMC) {
|
|
1659
|
+
return "partMC";
|
|
1660
|
+
}
|
|
1661
|
+
for (var s = 0; s < selection.length; s += 1) {
|
|
1662
|
+
var r1 = selection[s].row[0];
|
|
1663
|
+
var r2 = selection[s].row[1];
|
|
1664
|
+
var c1 = selection[s].column[0];
|
|
1665
|
+
var c2 = selection[s].column[1];
|
|
1666
|
+
for (var r = r1; r <= r2; r += 1) {
|
|
1667
|
+
for (var c = c1; c <= c2; c += 1) {
|
|
1668
|
+
var today = new Date();
|
|
1669
|
+
var formattedDate = "".concat(String(today.getDate()).padStart(2, "0"), "/").concat(String(today.getMonth() + 1).padStart(2, "0"), "/").concat(today.getFullYear());
|
|
1670
|
+
d[r][c] = {
|
|
1671
|
+
v: formattedDate
|
|
1672
|
+
};
|
|
1673
|
+
}
|
|
1674
|
+
}
|
|
1675
|
+
}
|
|
1676
|
+
}
|
|
1677
|
+
return "success";
|
|
1678
|
+
}
|
|
1679
|
+
export function fillTime(ctx) {
|
|
1680
|
+
var allowEdit = isAllowEdit(ctx);
|
|
1681
|
+
if (allowEdit === false) {
|
|
1682
|
+
return "allowEdit";
|
|
1683
|
+
}
|
|
1684
|
+
var selection = ctx.luckysheet_select_save;
|
|
1685
|
+
if (selection && !_.isEmpty(selection)) {
|
|
1686
|
+
var d = getFlowdata(ctx);
|
|
1687
|
+
if (!d) return "dataNullError";
|
|
1688
|
+
var has_PartMC = false;
|
|
1689
|
+
for (var s = 0; s < selection.length; s += 1) {
|
|
1690
|
+
var r1 = selection[s].row[0];
|
|
1691
|
+
var r2 = selection[s].row[1];
|
|
1692
|
+
var c1 = selection[s].column[0];
|
|
1693
|
+
var c2 = selection[s].column[1];
|
|
1694
|
+
if (hasPartMC(ctx, ctx.config, r1, r2, c1, c2)) {
|
|
1695
|
+
has_PartMC = true;
|
|
1696
|
+
break;
|
|
1697
|
+
}
|
|
1698
|
+
}
|
|
1699
|
+
if (has_PartMC) {
|
|
1700
|
+
return "partMC";
|
|
1701
|
+
}
|
|
1702
|
+
for (var s = 0; s < selection.length; s += 1) {
|
|
1703
|
+
var r1 = selection[s].row[0];
|
|
1704
|
+
var r2 = selection[s].row[1];
|
|
1705
|
+
var c1 = selection[s].column[0];
|
|
1706
|
+
var c2 = selection[s].column[1];
|
|
1707
|
+
for (var r = r1; r <= r2; r += 1) {
|
|
1708
|
+
for (var c = c1; c <= c2; c += 1) {
|
|
1709
|
+
var now = new Date();
|
|
1710
|
+
var formattedTime = "".concat(String(now.getHours()).padStart(2, "0"), ":").concat(String(now.getMinutes()).padStart(2, "0"), ":").concat(String(now.getSeconds()).padStart(2, "0"));
|
|
1711
|
+
d[r][c] = {
|
|
1712
|
+
v: formattedTime
|
|
1713
|
+
};
|
|
1714
|
+
}
|
|
1715
|
+
}
|
|
1716
|
+
}
|
|
1717
|
+
}
|
|
1718
|
+
return "success";
|
|
1719
|
+
}
|
|
1638
1720
|
export function selectIsOverlap(ctx, range) {
|
|
1639
1721
|
return false;
|
|
1640
1722
|
}
|
package/es/modules/zoom.js
CHANGED
package/lib/events/keyboard.js
CHANGED
|
@@ -129,7 +129,6 @@ function handleControlPlusArrowKey(ctx, e, shiftPressed) {
|
|
|
129
129
|
}
|
|
130
130
|
function handleWithCtrlOrMetaKey(ctx, cache, e, cellInput, fxInput, handleUndo, handleRedo) {
|
|
131
131
|
var _a, _b, _c, _d;
|
|
132
|
-
console.log(e.key, e.code);
|
|
133
132
|
var flowdata = (0, _context.getFlowdata)(ctx);
|
|
134
133
|
if (!flowdata) return;
|
|
135
134
|
if (e.shiftKey) {
|
|
@@ -137,7 +136,7 @@ function handleWithCtrlOrMetaKey(ctx, cache, e, cellInput, fxInput, handleUndo,
|
|
|
137
136
|
ctx.luckysheet_shiftkeydown = true;
|
|
138
137
|
if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(e.key)) {
|
|
139
138
|
handleControlPlusArrowKey(ctx, e, true);
|
|
140
|
-
} else if (_lodash.default.includes([
|
|
139
|
+
} else if (_lodash.default.includes(['"', ":", "'"], e.key)) {
|
|
141
140
|
var last = (_b = ctx.luckysheet_select_save) === null || _b === void 0 ? void 0 : _b[ctx.luckysheet_select_save.length - 1];
|
|
142
141
|
if (!last) return;
|
|
143
142
|
var row_index = last.row_focus;
|
|
@@ -280,6 +279,15 @@ function handleGlobalKeyDown(ctx, cellInput, fxInput, e, cache, handleUndo, hand
|
|
|
280
279
|
} else if ((e.ctrlKey || e.metaKey && e.shiftKey) && e.code === "KeyR") {
|
|
281
280
|
(0, _selection.textFormat)(ctx, "right");
|
|
282
281
|
}
|
|
282
|
+
if ((e.metaKey || e.ctrlKey) && e.code === "KeyK") {
|
|
283
|
+
(0, _toolbar.handleLink)(ctx);
|
|
284
|
+
}
|
|
285
|
+
if ((e.metaKey || e.ctrlKey) && !e.shiftKey && e.code === "Semicolon") {
|
|
286
|
+
(0, _selection.fillDate)(ctx);
|
|
287
|
+
}
|
|
288
|
+
if ((e.metaKey || e.ctrlKey) && e.shiftKey && e.code === "Semicolon") {
|
|
289
|
+
(0, _selection.fillTime)(ctx);
|
|
290
|
+
}
|
|
283
291
|
ctx.luckysheet_select_status = false;
|
|
284
292
|
var kcode = e.keyCode;
|
|
285
293
|
var kstr = e.key;
|
|
@@ -26,6 +26,8 @@ export declare function copy(ctx: Context): void;
|
|
|
26
26
|
export declare function deleteSelectedCellText(ctx: Context): string;
|
|
27
27
|
export declare function deleteSelectedCellFormat(ctx: Context): string;
|
|
28
28
|
export declare function textFormat(ctx: Context, type: "left" | "center" | "right"): string;
|
|
29
|
+
export declare function fillDate(ctx: Context): string;
|
|
30
|
+
export declare function fillTime(ctx: Context): string;
|
|
29
31
|
export declare function selectIsOverlap(ctx: Context, range?: any): boolean;
|
|
30
32
|
export declare function selectAll(ctx: Context): void;
|
|
31
33
|
export declare function fixRowStyleOverflowInFreeze(ctx: Context, r1: number, r2: number, freeze: Freezen | undefined): {
|
package/lib/modules/selection.js
CHANGED
|
@@ -8,6 +8,8 @@ exports.colHasMerged = colHasMerged;
|
|
|
8
8
|
exports.copy = copy;
|
|
9
9
|
exports.deleteSelectedCellFormat = deleteSelectedCellFormat;
|
|
10
10
|
exports.deleteSelectedCellText = deleteSelectedCellText;
|
|
11
|
+
exports.fillDate = fillDate;
|
|
12
|
+
exports.fillTime = fillTime;
|
|
11
13
|
exports.fixColumnStyleOverflowInFreeze = fixColumnStyleOverflowInFreeze;
|
|
12
14
|
exports.fixRowStyleOverflowInFreeze = fixRowStyleOverflowInFreeze;
|
|
13
15
|
exports.getColMerge = getColMerge;
|
|
@@ -1666,6 +1668,88 @@ function textFormat(ctx, type) {
|
|
|
1666
1668
|
}
|
|
1667
1669
|
return "success";
|
|
1668
1670
|
}
|
|
1671
|
+
function fillDate(ctx) {
|
|
1672
|
+
var allowEdit = (0, _utils.isAllowEdit)(ctx);
|
|
1673
|
+
if (allowEdit === false) {
|
|
1674
|
+
return "allowEdit";
|
|
1675
|
+
}
|
|
1676
|
+
var selection = ctx.luckysheet_select_save;
|
|
1677
|
+
if (selection && !_lodash.default.isEmpty(selection)) {
|
|
1678
|
+
var d = (0, _context.getFlowdata)(ctx);
|
|
1679
|
+
if (!d) return "dataNullError";
|
|
1680
|
+
var has_PartMC = false;
|
|
1681
|
+
for (var s = 0; s < selection.length; s += 1) {
|
|
1682
|
+
var r1 = selection[s].row[0];
|
|
1683
|
+
var r2 = selection[s].row[1];
|
|
1684
|
+
var c1 = selection[s].column[0];
|
|
1685
|
+
var c2 = selection[s].column[1];
|
|
1686
|
+
if ((0, _validation.hasPartMC)(ctx, ctx.config, r1, r2, c1, c2)) {
|
|
1687
|
+
has_PartMC = true;
|
|
1688
|
+
break;
|
|
1689
|
+
}
|
|
1690
|
+
}
|
|
1691
|
+
if (has_PartMC) {
|
|
1692
|
+
return "partMC";
|
|
1693
|
+
}
|
|
1694
|
+
for (var s = 0; s < selection.length; s += 1) {
|
|
1695
|
+
var r1 = selection[s].row[0];
|
|
1696
|
+
var r2 = selection[s].row[1];
|
|
1697
|
+
var c1 = selection[s].column[0];
|
|
1698
|
+
var c2 = selection[s].column[1];
|
|
1699
|
+
for (var r = r1; r <= r2; r += 1) {
|
|
1700
|
+
for (var c = c1; c <= c2; c += 1) {
|
|
1701
|
+
var today = new Date();
|
|
1702
|
+
var formattedDate = "".concat(String(today.getDate()).padStart(2, "0"), "/").concat(String(today.getMonth() + 1).padStart(2, "0"), "/").concat(today.getFullYear());
|
|
1703
|
+
d[r][c] = {
|
|
1704
|
+
v: formattedDate
|
|
1705
|
+
};
|
|
1706
|
+
}
|
|
1707
|
+
}
|
|
1708
|
+
}
|
|
1709
|
+
}
|
|
1710
|
+
return "success";
|
|
1711
|
+
}
|
|
1712
|
+
function fillTime(ctx) {
|
|
1713
|
+
var allowEdit = (0, _utils.isAllowEdit)(ctx);
|
|
1714
|
+
if (allowEdit === false) {
|
|
1715
|
+
return "allowEdit";
|
|
1716
|
+
}
|
|
1717
|
+
var selection = ctx.luckysheet_select_save;
|
|
1718
|
+
if (selection && !_lodash.default.isEmpty(selection)) {
|
|
1719
|
+
var d = (0, _context.getFlowdata)(ctx);
|
|
1720
|
+
if (!d) return "dataNullError";
|
|
1721
|
+
var has_PartMC = false;
|
|
1722
|
+
for (var s = 0; s < selection.length; s += 1) {
|
|
1723
|
+
var r1 = selection[s].row[0];
|
|
1724
|
+
var r2 = selection[s].row[1];
|
|
1725
|
+
var c1 = selection[s].column[0];
|
|
1726
|
+
var c2 = selection[s].column[1];
|
|
1727
|
+
if ((0, _validation.hasPartMC)(ctx, ctx.config, r1, r2, c1, c2)) {
|
|
1728
|
+
has_PartMC = true;
|
|
1729
|
+
break;
|
|
1730
|
+
}
|
|
1731
|
+
}
|
|
1732
|
+
if (has_PartMC) {
|
|
1733
|
+
return "partMC";
|
|
1734
|
+
}
|
|
1735
|
+
for (var s = 0; s < selection.length; s += 1) {
|
|
1736
|
+
var r1 = selection[s].row[0];
|
|
1737
|
+
var r2 = selection[s].row[1];
|
|
1738
|
+
var c1 = selection[s].column[0];
|
|
1739
|
+
var c2 = selection[s].column[1];
|
|
1740
|
+
for (var r = r1; r <= r2; r += 1) {
|
|
1741
|
+
for (var c = c1; c <= c2; c += 1) {
|
|
1742
|
+
var now = new Date();
|
|
1743
|
+
var formattedTime = "".concat(String(now.getHours()).padStart(2, "0"), ":").concat(String(now.getMinutes()).padStart(2, "0"), ":").concat(String(now.getSeconds()).padStart(2, "0"));
|
|
1744
|
+
d[r][c] = {
|
|
1745
|
+
v: formattedTime
|
|
1746
|
+
};
|
|
1747
|
+
}
|
|
1748
|
+
}
|
|
1749
|
+
}
|
|
1750
|
+
}
|
|
1751
|
+
return "success";
|
|
1752
|
+
}
|
|
1669
1753
|
function selectIsOverlap(ctx, range) {
|
|
1670
1754
|
return false;
|
|
1671
1755
|
}
|
package/lib/modules/zoom.js
CHANGED
|
@@ -9,7 +9,7 @@ var ZOOM_STEP = 0.1;
|
|
|
9
9
|
var MAX_ZOOM_RATIO = exports.MAX_ZOOM_RATIO = 4;
|
|
10
10
|
var MIN_ZOOM_RATIO = exports.MIN_ZOOM_RATIO = 0.1;
|
|
11
11
|
function handleKeydownForZoom(ev, currentZoom) {
|
|
12
|
-
if (!ev.ctrlKey) {
|
|
12
|
+
if (!ev.ctrlKey || ev.altKey) {
|
|
13
13
|
return currentZoom;
|
|
14
14
|
}
|
|
15
15
|
var handled = false;
|