@leankylin-sheet/react 4.0.0 → 4.0.2
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/components/SheetOverlay/FormulaSearch/utils.d.ts +3 -0
- package/dist/components/Workbook/api.d.ts +2 -0
- package/dist/components/Workbook/index.d.ts +2 -0
- package/dist/index.css +95 -125
- package/dist/index.esm.css +95 -125
- package/dist/index.esm.js +447 -136
- package/dist/index.js +447 -136
- package/dist/index.umd.css +95 -125
- package/dist/index.umd.js +889 -10446
- package/dist/index.umd.min.css +1 -1
- package/dist/index.umd.min.js +2 -2
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -169,6 +169,57 @@ function _nonIterableSpread() {
|
|
|
169
169
|
function _nonIterableRest() {
|
|
170
170
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
171
171
|
}
|
|
172
|
+
function _createForOfIteratorHelper(o, allowArrayLike) {
|
|
173
|
+
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
174
|
+
if (!it) {
|
|
175
|
+
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
176
|
+
if (it) o = it;
|
|
177
|
+
var i = 0;
|
|
178
|
+
var F = function () {};
|
|
179
|
+
return {
|
|
180
|
+
s: F,
|
|
181
|
+
n: function () {
|
|
182
|
+
if (i >= o.length) return {
|
|
183
|
+
done: true
|
|
184
|
+
};
|
|
185
|
+
return {
|
|
186
|
+
done: false,
|
|
187
|
+
value: o[i++]
|
|
188
|
+
};
|
|
189
|
+
},
|
|
190
|
+
e: function (e) {
|
|
191
|
+
throw e;
|
|
192
|
+
},
|
|
193
|
+
f: F
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
197
|
+
}
|
|
198
|
+
var normalCompletion = true,
|
|
199
|
+
didErr = false,
|
|
200
|
+
err;
|
|
201
|
+
return {
|
|
202
|
+
s: function () {
|
|
203
|
+
it = it.call(o);
|
|
204
|
+
},
|
|
205
|
+
n: function () {
|
|
206
|
+
var step = it.next();
|
|
207
|
+
normalCompletion = step.done;
|
|
208
|
+
return step;
|
|
209
|
+
},
|
|
210
|
+
e: function (e) {
|
|
211
|
+
didErr = true;
|
|
212
|
+
err = e;
|
|
213
|
+
},
|
|
214
|
+
f: function () {
|
|
215
|
+
try {
|
|
216
|
+
if (!normalCompletion && it.return != null) it.return();
|
|
217
|
+
} finally {
|
|
218
|
+
if (didErr) throw err;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
}
|
|
172
223
|
|
|
173
224
|
var defaultRefs = {
|
|
174
225
|
globalCache: {
|
|
@@ -425,10 +476,10 @@ var ColumnHeader = function ColumnHeader() {
|
|
|
425
476
|
className: "luckysheet-grdblkpush"
|
|
426
477
|
})))), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
427
478
|
style: {
|
|
428
|
-
left:
|
|
479
|
+
left: context.rowHeaderWidth,
|
|
429
480
|
position: "absolute",
|
|
430
481
|
pointerEvents: "none",
|
|
431
|
-
height:
|
|
482
|
+
height: context.columnHeaderHeight
|
|
432
483
|
}
|
|
433
484
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
434
485
|
className: "leankylin-cols-freeze-handle ".concat(freezeCanDrag ? "" : "leankylin-cols-freeze-handle-disabled"),
|
|
@@ -622,10 +673,10 @@ var RowHeader = function RowHeader() {
|
|
|
622
673
|
className: "luckysheetsheetchange"
|
|
623
674
|
})), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
624
675
|
style: {
|
|
625
|
-
top: 20,
|
|
626
676
|
position: "absolute",
|
|
627
677
|
pointerEvents: "none",
|
|
628
|
-
|
|
678
|
+
top: context.columnHeaderHeight,
|
|
679
|
+
width: context.rowHeaderWidth
|
|
629
680
|
}
|
|
630
681
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
631
682
|
className: "leankylin-rows-freeze-handle ".concat(freezeCanDrag ? "" : "leankylin-rows-freeze-handle-disabled"),
|
|
@@ -640,6 +691,8 @@ var RowHeader = function RowHeader() {
|
|
|
640
691
|
var ContentEditable = function ContentEditable(_ref) {
|
|
641
692
|
var props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
|
|
642
693
|
var lastHtml = React.useRef("");
|
|
694
|
+
var _useContext = React.useContext(WorkbookContext),
|
|
695
|
+
settings = _useContext.settings;
|
|
643
696
|
var root = React.useRef(null);
|
|
644
697
|
var autoFocus = props.autoFocus,
|
|
645
698
|
initialContent = props.initialContent,
|
|
@@ -677,7 +730,14 @@ var ContentEditable = function ContentEditable(_ref) {
|
|
|
677
730
|
return e.stopPropagation();
|
|
678
731
|
},
|
|
679
732
|
onClick: function onClick(e) {
|
|
680
|
-
|
|
733
|
+
var _settings$onClickCont;
|
|
734
|
+
e.stopPropagation();
|
|
735
|
+
(_settings$onClickCont = settings.onClickContentEditable) === null || _settings$onClickCont === void 0 ? void 0 : _settings$onClickCont.call(settings, e);
|
|
736
|
+
},
|
|
737
|
+
onMouseEnter: function onMouseEnter(e) {
|
|
738
|
+
var _settings$onClickCont2;
|
|
739
|
+
e.stopPropagation();
|
|
740
|
+
(_settings$onClickCont2 = settings.onClickContentEditable) === null || _settings$onClickCont2 === void 0 ? void 0 : _settings$onClickCont2.call(settings, e);
|
|
681
741
|
}
|
|
682
742
|
}, ___default['default'].omit(props, "innerRef", "onChange", "html", "onBlur", "autoFocus", "allowEdit", "initialContent")), {}, {
|
|
683
743
|
ref: function ref(e) {
|
|
@@ -694,39 +754,295 @@ var ContentEditable = function ContentEditable(_ref) {
|
|
|
694
754
|
}));
|
|
695
755
|
};
|
|
696
756
|
|
|
757
|
+
function getLastTextNode(element) {
|
|
758
|
+
var lastText = null;
|
|
759
|
+
function traverse(node) {
|
|
760
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
761
|
+
lastText = node;
|
|
762
|
+
} else if (node.nodeType === Node.ELEMENT_NODE) {
|
|
763
|
+
for (var i = node.childNodes.length - 1; i >= 0; i -= 1) {
|
|
764
|
+
traverse(node.childNodes[i]);
|
|
765
|
+
if (lastText) break;
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
traverse(element);
|
|
770
|
+
return lastText;
|
|
771
|
+
}
|
|
772
|
+
function getPlainTextCursorOffset(editableDiv) {
|
|
773
|
+
var selection = window.getSelection();
|
|
774
|
+
if (!selection || selection.rangeCount === 0) return -1;
|
|
775
|
+
var range = selection.getRangeAt(0);
|
|
776
|
+
if (!editableDiv.contains(range.commonAncestorContainer)) {
|
|
777
|
+
return -1;
|
|
778
|
+
}
|
|
779
|
+
var textNodes = [];
|
|
780
|
+
function collectTextNodes(node) {
|
|
781
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
782
|
+
textNodes.push(node);
|
|
783
|
+
} else if (node.nodeType === Node.ELEMENT_NODE) {
|
|
784
|
+
for (var i = 0; i < node.childNodes.length; i += 1) {
|
|
785
|
+
collectTextNodes(node.childNodes[i]);
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
collectTextNodes(editableDiv);
|
|
790
|
+
var cursorTextNode = null;
|
|
791
|
+
var offsetInNode = 0;
|
|
792
|
+
var startContainer = range.startContainer;
|
|
793
|
+
var startOffset = range.startOffset;
|
|
794
|
+
if (startContainer.nodeType === Node.TEXT_NODE) {
|
|
795
|
+
cursorTextNode = startContainer;
|
|
796
|
+
offsetInNode = startOffset;
|
|
797
|
+
} else if (startContainer.nodeType === Node.ELEMENT_NODE) {
|
|
798
|
+
var childNodes = startContainer.childNodes;
|
|
799
|
+
var prevTextNode = null;
|
|
800
|
+
for (var i = 0; i < startOffset; i += 1) {
|
|
801
|
+
var child = childNodes[i];
|
|
802
|
+
if (child.nodeType === Node.TEXT_NODE) {
|
|
803
|
+
prevTextNode = child;
|
|
804
|
+
} else if (child.nodeType === Node.ELEMENT_NODE) {
|
|
805
|
+
var lastText = getLastTextNode(child);
|
|
806
|
+
if (lastText) prevTextNode = lastText;
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
if (prevTextNode) {
|
|
810
|
+
var _prevTextNode$textCon;
|
|
811
|
+
cursorTextNode = prevTextNode;
|
|
812
|
+
offsetInNode = ((_prevTextNode$textCon = prevTextNode.textContent) === null || _prevTextNode$textCon === void 0 ? void 0 : _prevTextNode$textCon.length) || 0;
|
|
813
|
+
} else {
|
|
814
|
+
return 0;
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
var totalOffset = 0;
|
|
818
|
+
for (var _i = 0, _textNodes = textNodes; _i < _textNodes.length; _i++) {
|
|
819
|
+
var node = _textNodes[_i];
|
|
820
|
+
if (node === cursorTextNode) {
|
|
821
|
+
totalOffset += offsetInNode;
|
|
822
|
+
break;
|
|
823
|
+
} else {
|
|
824
|
+
var _node$textContent;
|
|
825
|
+
totalOffset += ((_node$textContent = node.textContent) === null || _node$textContent === void 0 ? void 0 : _node$textContent.length) || 0;
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
return totalOffset;
|
|
829
|
+
}
|
|
830
|
+
function getrangeseleciton() {
|
|
831
|
+
var _anchorNode$parentNod, _anchorNode$parentNod2, _anchorNode$parentEle, _anchorNode$parentEle2;
|
|
832
|
+
var currSelection = window.getSelection();
|
|
833
|
+
if (!currSelection) return null;
|
|
834
|
+
var anchorNode = currSelection.anchorNode,
|
|
835
|
+
anchorOffset = currSelection.anchorOffset;
|
|
836
|
+
if (!anchorNode) return null;
|
|
837
|
+
if (((_anchorNode$parentNod = anchorNode.parentNode) === null || _anchorNode$parentNod === void 0 ? void 0 : (_anchorNode$parentNod2 = _anchorNode$parentNod.nodeName) === null || _anchorNode$parentNod2 === void 0 ? void 0 : _anchorNode$parentNod2.toLowerCase()) === "span" && anchorOffset !== 0) {
|
|
838
|
+
var txt = ___default['default'].trim(anchorNode.textContent || "");
|
|
839
|
+
if (txt.length === 0 && anchorNode.parentNode.previousSibling) {
|
|
840
|
+
var ahr = anchorNode.parentNode.previousSibling;
|
|
841
|
+
txt = ___default['default'].trim(ahr.textContent || "");
|
|
842
|
+
return ahr;
|
|
843
|
+
}
|
|
844
|
+
return anchorNode.parentNode;
|
|
845
|
+
}
|
|
846
|
+
var anchorElement = anchorNode;
|
|
847
|
+
if (anchorElement.id === "luckysheet-rich-text-editor" || anchorElement.id === "luckysheet-functionbox-cell") {
|
|
848
|
+
var _$last;
|
|
849
|
+
var _txt = ___default['default'].trim((_$last = ___default['default'].last(anchorElement.querySelectorAll("span"))) === null || _$last === void 0 ? void 0 : _$last.innerText);
|
|
850
|
+
if (_txt.length === 0 && anchorElement.querySelectorAll("span").length > 1) {
|
|
851
|
+
var _ahr = anchorElement.querySelectorAll("span");
|
|
852
|
+
_txt = ___default['default'].trim(_ahr[_ahr.length - 2].innerText);
|
|
853
|
+
return _ahr === null || _ahr === void 0 ? void 0 : _ahr[0];
|
|
854
|
+
}
|
|
855
|
+
return ___default['default'].last(anchorElement.querySelectorAll("span"));
|
|
856
|
+
}
|
|
857
|
+
if ((anchorNode === null || anchorNode === void 0 ? void 0 : (_anchorNode$parentEle = anchorNode.parentElement) === null || _anchorNode$parentEle === void 0 ? void 0 : _anchorNode$parentEle.id) === "luckysheet-rich-text-editor" || (anchorNode === null || anchorNode === void 0 ? void 0 : (_anchorNode$parentEle2 = anchorNode.parentElement) === null || _anchorNode$parentEle2 === void 0 ? void 0 : _anchorNode$parentEle2.id) === "luckysheet-functionbox-cell" || anchorOffset === 0) {
|
|
858
|
+
var newAnchorNode = anchorOffset === 0 ? anchorNode === null || anchorNode === void 0 ? void 0 : anchorNode.parentNode : anchorNode;
|
|
859
|
+
if (newAnchorNode === null || newAnchorNode === void 0 ? void 0 : newAnchorNode.previousSibling) {
|
|
860
|
+
return newAnchorNode === null || newAnchorNode === void 0 ? void 0 : newAnchorNode.previousSibling;
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
return null;
|
|
864
|
+
}
|
|
865
|
+
function moveCursorToPosition(editableDiv, targetPosition) {
|
|
866
|
+
if (!editableDiv || editableDiv.contentEditable !== "true") {
|
|
867
|
+
console.warn('目标元素必须是可编辑的div(contenteditable="true")');
|
|
868
|
+
return;
|
|
869
|
+
}
|
|
870
|
+
if (targetPosition < 0) {
|
|
871
|
+
targetPosition = 0;
|
|
872
|
+
}
|
|
873
|
+
var textNodesInfo = [];
|
|
874
|
+
var totalLength = 0;
|
|
875
|
+
function traverseNodes(node) {
|
|
876
|
+
if (!node) return;
|
|
877
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
878
|
+
var textLength = node.textContent.length;
|
|
879
|
+
totalLength += textLength;
|
|
880
|
+
textNodesInfo.push({
|
|
881
|
+
node: node,
|
|
882
|
+
cumulativeLength: totalLength
|
|
883
|
+
});
|
|
884
|
+
} else if (node.nodeType === Node.ELEMENT_NODE) {
|
|
885
|
+
Array.from(node.childNodes).forEach(function (child) {
|
|
886
|
+
return traverseNodes(child);
|
|
887
|
+
});
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
traverseNodes(editableDiv);
|
|
891
|
+
var targetNode = null;
|
|
892
|
+
var offsetInNode = 0;
|
|
893
|
+
if (totalLength <= targetPosition) {
|
|
894
|
+
if (textNodesInfo.length > 0) {
|
|
895
|
+
var lastNodeInfo = textNodesInfo[textNodesInfo.length - 1];
|
|
896
|
+
targetNode = lastNodeInfo.node;
|
|
897
|
+
offsetInNode = lastNodeInfo.node.textContent.length;
|
|
898
|
+
}
|
|
899
|
+
} else {
|
|
900
|
+
var prevCumulativeLength = 0;
|
|
901
|
+
var _iterator = _createForOfIteratorHelper(textNodesInfo),
|
|
902
|
+
_step;
|
|
903
|
+
try {
|
|
904
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
905
|
+
var info = _step.value;
|
|
906
|
+
if (info.cumulativeLength > targetPosition) {
|
|
907
|
+
targetNode = info.node;
|
|
908
|
+
offsetInNode = targetPosition - prevCumulativeLength;
|
|
909
|
+
break;
|
|
910
|
+
}
|
|
911
|
+
prevCumulativeLength = info.cumulativeLength;
|
|
912
|
+
}
|
|
913
|
+
} catch (err) {
|
|
914
|
+
_iterator.e(err);
|
|
915
|
+
} finally {
|
|
916
|
+
_iterator.f();
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
if (targetNode) {
|
|
920
|
+
var selection = window.getSelection();
|
|
921
|
+
selection.removeAllRanges();
|
|
922
|
+
var range = document.createRange();
|
|
923
|
+
range.setStart(targetNode, offsetInNode);
|
|
924
|
+
range.setEnd(targetNode, offsetInNode);
|
|
925
|
+
selection.addRange(range);
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
|
|
697
929
|
var FormulaSearch = function FormulaSearch(props) {
|
|
698
930
|
var _useContext = React.useContext(WorkbookContext),
|
|
699
931
|
context = _useContext.context,
|
|
700
932
|
refs = _useContext.refs,
|
|
701
933
|
settings = _useContext.settings;
|
|
934
|
+
var _useState = React.useState(""),
|
|
935
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
936
|
+
n = _useState2[0],
|
|
937
|
+
setN = _useState2[1];
|
|
938
|
+
var wrapperRf = React.useRef(null);
|
|
939
|
+
var nRef = React.useRef(n);
|
|
940
|
+
nRef.current = n;
|
|
941
|
+
React.useEffect(function () {
|
|
942
|
+
if (context.functionCandidates.length) {
|
|
943
|
+
setN(context.functionCandidates[0].n);
|
|
944
|
+
}
|
|
945
|
+
}, [context.functionCandidates]);
|
|
946
|
+
var fListRef = React.useRef([]);
|
|
947
|
+
fListRef.current = context.functionCandidates;
|
|
948
|
+
var inputN = function inputN(fnName) {
|
|
949
|
+
var _refs$cellInput$curre, _editor$textContent;
|
|
950
|
+
var offsetIndex = getPlainTextCursorOffset(refs.cellInput.current);
|
|
951
|
+
var text = ((_refs$cellInput$curre = refs.cellInput.current) === null || _refs$cellInput$curre === void 0 ? void 0 : _refs$cellInput$curre.innerText) || "";
|
|
952
|
+
var editor = getrangeseleciton();
|
|
953
|
+
var replaceText = (_editor$textContent = editor.textContent) === null || _editor$textContent === void 0 ? void 0 : _editor$textContent.trim();
|
|
954
|
+
var replaceTextLength = (replaceText === null || replaceText === void 0 ? void 0 : replaceText.length) || 0;
|
|
955
|
+
var newText = (text === null || text === void 0 ? void 0 : text.slice(0, offsetIndex - replaceTextLength)) + fnName + (text === null || text === void 0 ? void 0 : text.slice(offsetIndex));
|
|
956
|
+
refs.cellInput.current.innerHTML = core.functionHTMLGenerate(newText);
|
|
957
|
+
moveCursorToPosition(refs.cellInput.current, offsetIndex - replaceTextLength + fnName.length);
|
|
958
|
+
};
|
|
959
|
+
var viewActive = function viewActive() {
|
|
960
|
+
var _wrapperRf$current;
|
|
961
|
+
var aItem = (_wrapperRf$current = wrapperRf.current) === null || _wrapperRf$current === void 0 ? void 0 : _wrapperRf$current.querySelector(".luckysheet-formula-search-item-active");
|
|
962
|
+
if (aItem) {
|
|
963
|
+
aItem === null || aItem === void 0 ? void 0 : aItem.scrollIntoView({
|
|
964
|
+
block: "nearest",
|
|
965
|
+
behavior: "smooth"
|
|
966
|
+
});
|
|
967
|
+
}
|
|
968
|
+
};
|
|
969
|
+
React.useEffect(function () {
|
|
970
|
+
var _refs$cellInput$curre2;
|
|
971
|
+
var onChange = function onChange(e) {
|
|
972
|
+
var _fListRef$current;
|
|
973
|
+
if (((_fListRef$current = fListRef.current) === null || _fListRef$current === void 0 ? void 0 : _fListRef$current.length) <= 0) {
|
|
974
|
+
return;
|
|
975
|
+
}
|
|
976
|
+
if (e.key === "ArrowDown") {
|
|
977
|
+
e.preventDefault();
|
|
978
|
+
setN(function (_n) {
|
|
979
|
+
var _fListRef$current2, _fListRef$current3;
|
|
980
|
+
var currentIndex = Math.max((_fListRef$current2 = fListRef.current) === null || _fListRef$current2 === void 0 ? void 0 : _fListRef$current2.findIndex(function (item) {
|
|
981
|
+
return item.n === _n;
|
|
982
|
+
}), 0);
|
|
983
|
+
return (_fListRef$current3 = fListRef.current[(currentIndex + 1) % fListRef.current.length]) === null || _fListRef$current3 === void 0 ? void 0 : _fListRef$current3.n;
|
|
984
|
+
});
|
|
985
|
+
setTimeout(function () {
|
|
986
|
+
viewActive();
|
|
987
|
+
}, 200);
|
|
988
|
+
} else if (e.key === "ArrowUp") {
|
|
989
|
+
e.preventDefault();
|
|
990
|
+
setN(function (_n) {
|
|
991
|
+
var _fListRef$current4, _fListRef$current5;
|
|
992
|
+
var currentIndex = Math.max((_fListRef$current4 = fListRef.current) === null || _fListRef$current4 === void 0 ? void 0 : _fListRef$current4.findIndex(function (item) {
|
|
993
|
+
return item.n === _n;
|
|
994
|
+
}), 0);
|
|
995
|
+
return (_fListRef$current5 = fListRef.current[(currentIndex - 1) % fListRef.current.length]) === null || _fListRef$current5 === void 0 ? void 0 : _fListRef$current5.n;
|
|
996
|
+
});
|
|
997
|
+
setTimeout(function () {
|
|
998
|
+
viewActive();
|
|
999
|
+
}, 200);
|
|
1000
|
+
} else if (e.key === "Enter") {
|
|
1001
|
+
e.preventDefault();
|
|
1002
|
+
e.stopPropagation();
|
|
1003
|
+
if (nRef.current) {
|
|
1004
|
+
inputN("".concat(nRef.current, "("));
|
|
1005
|
+
}
|
|
1006
|
+
}
|
|
1007
|
+
};
|
|
1008
|
+
(_refs$cellInput$curre2 = refs.cellInput.current) === null || _refs$cellInput$curre2 === void 0 ? void 0 : _refs$cellInput$curre2.addEventListener("keydown", onChange);
|
|
1009
|
+
return function () {
|
|
1010
|
+
var _refs$cellInput$curre3;
|
|
1011
|
+
(_refs$cellInput$curre3 = refs.cellInput.current) === null || _refs$cellInput$curre3 === void 0 ? void 0 : _refs$cellInput$curre3.removeEventListener("keydown", onChange);
|
|
1012
|
+
};
|
|
1013
|
+
}, [refs.cellInput.current]);
|
|
702
1014
|
if (___default['default'].isEmpty(context.functionCandidates)) return null;
|
|
703
|
-
function moveCursorToEnd(editor) {
|
|
704
|
-
var leftParen = editor.querySelector(".luckysheet-formula-text-lpar");
|
|
705
|
-
var rightParen = editor.querySelector(".luckysheet-formula-text-rpar");
|
|
706
|
-
var range = document.createRange();
|
|
707
|
-
var selection = window.getSelection();
|
|
708
|
-
range.setStartAfter(leftParen);
|
|
709
|
-
range.setEndBefore(rightParen);
|
|
710
|
-
selection.removeAllRanges();
|
|
711
|
-
selection.addRange(range);
|
|
712
|
-
}
|
|
713
1015
|
if (settings.renderFormulaSearch) {
|
|
714
1016
|
return settings.renderFormulaSearch(context.functionCandidates, core.functionHTMLGenerate, refs.cellInput.current);
|
|
715
1017
|
}
|
|
716
1018
|
return /*#__PURE__*/React__default['default'].createElement("div", _objectSpread2(_objectSpread2({}, props), {}, {
|
|
717
1019
|
id: "luckysheet-formula-search-c",
|
|
718
|
-
className: "luckysheet-formula-search-c"
|
|
1020
|
+
className: "luckysheet-formula-search-c",
|
|
1021
|
+
ref: wrapperRf,
|
|
1022
|
+
onWheel: function onWheel(e) {
|
|
1023
|
+
e.preventDefault();
|
|
1024
|
+
e.stopPropagation();
|
|
1025
|
+
},
|
|
1026
|
+
onWheelCapture: function onWheelCapture(e) {
|
|
1027
|
+
e.preventDefault();
|
|
1028
|
+
e.stopPropagation();
|
|
1029
|
+
}
|
|
719
1030
|
}), context.functionCandidates.map(function (v) {
|
|
720
1031
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
721
|
-
onClick: function onClick() {
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
(
|
|
725
|
-
|
|
1032
|
+
onClick: function onClick(e) {
|
|
1033
|
+
e.preventDefault();
|
|
1034
|
+
e.stopPropagation();
|
|
1035
|
+
inputN("".concat(v.n, "("));
|
|
1036
|
+
},
|
|
1037
|
+
onMouseEnter: function onMouseEnter() {
|
|
1038
|
+
setN(v.n);
|
|
1039
|
+
},
|
|
1040
|
+
onMouseDown: function onMouseDown(e) {
|
|
1041
|
+
return e.preventDefault();
|
|
726
1042
|
},
|
|
727
1043
|
key: v.n,
|
|
728
1044
|
"data-func": v.n,
|
|
729
|
-
className: "luckysheet-formula-search-item"
|
|
1045
|
+
className: "luckysheet-formula-search-item ".concat(n === v.n && "luckysheet-formula-search-item-active")
|
|
730
1046
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
731
1047
|
className: "luckysheet-formula-search-func"
|
|
732
1048
|
}, v.n), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -846,11 +1162,12 @@ function usePrevious(value) {
|
|
|
846
1162
|
}
|
|
847
1163
|
|
|
848
1164
|
var InputBox = function InputBox() {
|
|
849
|
-
var _context$luckysheet_s, _context$rangeDialog;
|
|
1165
|
+
var _context$luckysheet_s, _context$rangeDialog, _settings$renderEdito;
|
|
850
1166
|
var _useContext = React.useContext(WorkbookContext),
|
|
851
1167
|
context = _useContext.context,
|
|
852
1168
|
setContext = _useContext.setContext,
|
|
853
|
-
refs = _useContext.refs
|
|
1169
|
+
refs = _useContext.refs,
|
|
1170
|
+
settings = _useContext.settings;
|
|
854
1171
|
var inputRef = React.useRef(null);
|
|
855
1172
|
var lastKeyDownEventRef = React.useRef();
|
|
856
1173
|
var prevCellUpdate = usePrevious(context.luckysheetCellUpdate);
|
|
@@ -1019,7 +1336,7 @@ var InputBox = function InputBox() {
|
|
|
1019
1336
|
onKeyDown: onKeyDown,
|
|
1020
1337
|
onPaste: onPaste,
|
|
1021
1338
|
allowEdit: edit ? !isHidenRC : edit
|
|
1022
|
-
})), document.activeElement === inputRef.current && ( /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(FormulaSearch, {
|
|
1339
|
+
})), document.activeElement === inputRef.current && ( /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, (_settings$renderEdito = settings.renderEditorSelector) === null || _settings$renderEdito === void 0 ? void 0 : _settings$renderEdito.call(settings, inputRef.current, context.functionCandidates, context.functionHint, context.formulaCache.functionlistMap), /*#__PURE__*/React__default['default'].createElement(FormulaSearch, {
|
|
1023
1340
|
style: {
|
|
1024
1341
|
top: ((firstSelection === null || firstSelection === void 0 ? void 0 : firstSelection.height_move) || 0) + 4
|
|
1025
1342
|
}
|
|
@@ -1739,6 +2056,7 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
1739
2056
|
};
|
|
1740
2057
|
|
|
1741
2058
|
var FilterOptions = function FilterOptions(_ref) {
|
|
2059
|
+
var _refs$globalCache$fre, _refs$globalCache$fre2;
|
|
1742
2060
|
var getContainer = _ref.getContainer;
|
|
1743
2061
|
var _useContext = React.useContext(WorkbookContext),
|
|
1744
2062
|
context = _useContext.context,
|
|
@@ -1763,7 +2081,7 @@ var FilterOptions = function FilterOptions(_ref) {
|
|
|
1763
2081
|
core.createFilterOptions(draftCtx, draftCtx.luckysheet_filter_save, undefined);
|
|
1764
2082
|
});
|
|
1765
2083
|
}, [visibledatarow, visibledatacolumn, setContext, currentSheetId, filter_select]);
|
|
1766
|
-
var
|
|
2084
|
+
var _showFilterContextMenu = React.useCallback(function (v, i) {
|
|
1767
2085
|
if (filterOptions == null) return;
|
|
1768
2086
|
setContext(function (draftCtx) {
|
|
1769
2087
|
var _draftCtx$filterConte, _draftCtx$filter$i;
|
|
@@ -1794,11 +2112,21 @@ var FilterOptions = function FilterOptions(_ref) {
|
|
|
1794
2112
|
frozenColumns = (frozen === null || frozen === void 0 ? void 0 : (_frozen$range = frozen.range) === null || _frozen$range === void 0 ? void 0 : _frozen$range.column_focus) || -1;
|
|
1795
2113
|
frozenRows = (frozen === null || frozen === void 0 ? void 0 : (_frozen$range2 = frozen.range) === null || _frozen$range2 === void 0 ? void 0 : _frozen$range2.row_focus) || -1;
|
|
1796
2114
|
}
|
|
1797
|
-
return filterOptions == null ? ( /*#__PURE__*/React__default['default'].createElement("div", null)) : ( /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null,
|
|
1798
|
-
|
|
2115
|
+
return filterOptions == null ? ( /*#__PURE__*/React__default['default'].createElement("div", null)) : ( /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
2116
|
+
id: "luckysheet-filter-selected-sheet",
|
|
2117
|
+
className: "luckysheet-cell-selected luckysheet-filter-selected",
|
|
2118
|
+
style: ___default['default'].assign({
|
|
2119
|
+
left: Math.max(filterOptions.left, 1),
|
|
2120
|
+
width: filterOptions.width,
|
|
2121
|
+
top: filterOptions.top,
|
|
2122
|
+
height: filterOptions.height,
|
|
2123
|
+
display: "block"
|
|
2124
|
+
}, core.fixRowStyleOverflowInFreeze(context, filterOptions.startRow, filterOptions.endRow, (_refs$globalCache$fre = refs.globalCache.freezen) === null || _refs$globalCache$fre === void 0 ? void 0 : _refs$globalCache$fre[context.currentSheetId]), core.fixColumnStyleOverflowInFreeze(context, filterOptions.startCol, filterOptions.endCol, (_refs$globalCache$fre2 = refs.globalCache.freezen) === null || _refs$globalCache$fre2 === void 0 ? void 0 : _refs$globalCache$fre2[context.currentSheetId]))
|
|
2125
|
+
}), filterOptions.items.map(function (v, i) {
|
|
2126
|
+
var _refs$globalCache$fre3, _refs$globalCache$fre4;
|
|
1799
2127
|
var filterParam = filter[i];
|
|
1800
|
-
var columnOverflowFreezeStyle = core.fixColumnStyleOverflowInFreeze(context, i + filterOptions.startCol, i + filterOptions.startCol, (_refs$globalCache$
|
|
1801
|
-
var rowOverflowFreezeStyle = core.fixRowStyleOverflowInFreeze(context, filterOptions.startRow, filterOptions.startRow, (_refs$globalCache$
|
|
2128
|
+
var columnOverflowFreezeStyle = core.fixColumnStyleOverflowInFreeze(context, i + filterOptions.startCol, i + filterOptions.startCol, (_refs$globalCache$fre3 = refs.globalCache.freezen) === null || _refs$globalCache$fre3 === void 0 ? void 0 : _refs$globalCache$fre3[context.currentSheetId]);
|
|
2129
|
+
var rowOverflowFreezeStyle = core.fixRowStyleOverflowInFreeze(context, filterOptions.startRow, filterOptions.startRow, (_refs$globalCache$fre4 = refs.globalCache.freezen) === null || _refs$globalCache$fre4 === void 0 ? void 0 : _refs$globalCache$fre4[context.currentSheetId]);
|
|
1802
2130
|
var col = visibledatacolumn[v.col];
|
|
1803
2131
|
var col_pre = v.col > 0 ? visibledatacolumn[v.col - 1] : 0;
|
|
1804
2132
|
var left = v.col <= frozenColumns && columnOverflowFreezeStyle.left ? columnOverflowFreezeStyle.left + col - col_pre - 20 : v.left;
|
|
@@ -1808,20 +2136,20 @@ var FilterOptions = function FilterOptions(_ref) {
|
|
|
1808
2136
|
top: top
|
|
1809
2137
|
});
|
|
1810
2138
|
if (settings.renderFilter) {
|
|
1811
|
-
return
|
|
1812
|
-
|
|
1813
|
-
return e.stopPropagation();
|
|
1814
|
-
},
|
|
1815
|
-
onClick: function onClick(e) {
|
|
1816
|
-
e.stopPropagation();
|
|
1817
|
-
},
|
|
1818
|
-
style: {
|
|
1819
|
-
position: "absolute",
|
|
2139
|
+
return settings.renderFilter({
|
|
2140
|
+
style: ___default['default'].assign(rowOverflowFreezeStyle, columnOverflowFreezeStyle, {
|
|
1820
2141
|
left: left,
|
|
1821
2142
|
top: top,
|
|
1822
|
-
|
|
2143
|
+
height: undefined,
|
|
2144
|
+
width: undefined,
|
|
2145
|
+
position: "absolute",
|
|
2146
|
+
zIndex: 200
|
|
2147
|
+
}),
|
|
2148
|
+
filterParam: filterParam,
|
|
2149
|
+
showFilterContextMenu: function showFilterContextMenu() {
|
|
2150
|
+
return _showFilterContextMenu(v_adjusted, i);
|
|
1823
2151
|
}
|
|
1824
|
-
}
|
|
2152
|
+
});
|
|
1825
2153
|
}
|
|
1826
2154
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1827
2155
|
onMouseDown: function onMouseDown(e) {
|
|
@@ -1829,7 +2157,7 @@ var FilterOptions = function FilterOptions(_ref) {
|
|
|
1829
2157
|
},
|
|
1830
2158
|
onClick: function onClick(e) {
|
|
1831
2159
|
e.stopPropagation();
|
|
1832
|
-
|
|
2160
|
+
_showFilterContextMenu(v_adjusted, i);
|
|
1833
2161
|
},
|
|
1834
2162
|
onDoubleClick: function onDoubleClick(e) {
|
|
1835
2163
|
return e.stopPropagation();
|
|
@@ -5046,7 +5374,8 @@ var CustomColor = function CustomColor(_ref) {
|
|
|
5046
5374
|
var onCustomPick = _ref.onCustomPick,
|
|
5047
5375
|
onColorPick = _ref.onColorPick;
|
|
5048
5376
|
var _useContext = React.useContext(WorkbookContext),
|
|
5049
|
-
context = _useContext.context
|
|
5377
|
+
context = _useContext.context,
|
|
5378
|
+
settings = _useContext.settings;
|
|
5050
5379
|
var _locale = core.locale(context),
|
|
5051
5380
|
toolbar = _locale.toolbar,
|
|
5052
5381
|
sheetconfig = _locale.sheetconfig,
|
|
@@ -5055,6 +5384,12 @@ var CustomColor = function CustomColor(_ref) {
|
|
|
5055
5384
|
_useState2 = _slicedToArray(_useState, 2),
|
|
5056
5385
|
inputColor = _useState2[0],
|
|
5057
5386
|
setInputColor = _useState2[1];
|
|
5387
|
+
if (settings.renderCustomColor) {
|
|
5388
|
+
return settings.renderCustomColor({
|
|
5389
|
+
onCustomPick: onCustomPick,
|
|
5390
|
+
onColorPick: onColorPick
|
|
5391
|
+
});
|
|
5392
|
+
}
|
|
5058
5393
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
5059
5394
|
id: "leankylin-custom-color"
|
|
5060
5395
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -5411,7 +5746,7 @@ var FormatSearch = function FormatSearch(_ref) {
|
|
|
5411
5746
|
};
|
|
5412
5747
|
|
|
5413
5748
|
var Toolbar = function Toolbar(_ref) {
|
|
5414
|
-
var _context$luckysheet_s, _flowdata$row, _settings$customToolb;
|
|
5749
|
+
var _context$luckysheet_s, _flowdata$row, _settings$customToolb, _settings$toolbarRigh;
|
|
5415
5750
|
var setMoreItems = _ref.setMoreItems,
|
|
5416
5751
|
moreItemsOpen = _ref.moreItemsOpen;
|
|
5417
5752
|
var _useContext = React.useContext(WorkbookContext),
|
|
@@ -5519,8 +5854,10 @@ var Toolbar = function Toolbar(_ref) {
|
|
|
5519
5854
|
if (!container) return;
|
|
5520
5855
|
var moreButtonWidth = 50;
|
|
5521
5856
|
for (var i = itemLocations.length - 1; i >= 0; i -= 1) {
|
|
5857
|
+
var _container$querySelec;
|
|
5522
5858
|
var loc = itemLocations[i];
|
|
5523
|
-
|
|
5859
|
+
var wrapperWidth = container.clientWidth - (((_container$querySelec = container.querySelector(".leankylin-toolbar-right")) === null || _container$querySelec === void 0 ? void 0 : _container$querySelec.clientWidth) || 0);
|
|
5860
|
+
if (loc + moreButtonWidth < wrapperWidth) {
|
|
5524
5861
|
setToolbarWrapIndex(i - itemLocations.length + settings.toolbarItems.length);
|
|
5525
5862
|
if (i === itemLocations.length - 1) {
|
|
5526
5863
|
setMoreItems(null);
|
|
@@ -5555,7 +5892,7 @@ var Toolbar = function Toolbar(_ref) {
|
|
|
5555
5892
|
key: name
|
|
5556
5893
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
5557
5894
|
style: {
|
|
5558
|
-
width:
|
|
5895
|
+
width: 30,
|
|
5559
5896
|
height: 2,
|
|
5560
5897
|
backgroundColor: name === "font-color" ? refs.globalCache.recentTextColor : refs.globalCache.recentBackgroundColor,
|
|
5561
5898
|
position: "absolute",
|
|
@@ -6538,7 +6875,9 @@ var Toolbar = function Toolbar(_ref) {
|
|
|
6538
6875
|
}));
|
|
6539
6876
|
}
|
|
6540
6877
|
}
|
|
6541
|
-
})) : null
|
|
6878
|
+
})) : null, settings.toolbarRightRender ? ( /*#__PURE__*/React__default['default'].createElement("div", {
|
|
6879
|
+
className: "leankylin-toolbar-right"
|
|
6880
|
+
}, (_settings$toolbarRigh = settings.toolbarRightRender) === null || _settings$toolbarRigh === void 0 ? void 0 : _settings$toolbarRigh.call(settings))) : null);
|
|
6542
6881
|
};
|
|
6543
6882
|
|
|
6544
6883
|
var LocationBox = function LocationBox() {
|
|
@@ -7574,7 +7913,10 @@ var ContextMenu = function ContextMenu() {
|
|
|
7574
7913
|
onKeyDown: function onKeyDown(e) {
|
|
7575
7914
|
return e.stopPropagation();
|
|
7576
7915
|
},
|
|
7577
|
-
|
|
7916
|
+
onMouseDown: function onMouseDown(e) {
|
|
7917
|
+
return e.stopPropagation();
|
|
7918
|
+
},
|
|
7919
|
+
type: "number",
|
|
7578
7920
|
className: "luckysheet-mousedown-cancel",
|
|
7579
7921
|
placeholder: rightclick.number,
|
|
7580
7922
|
defaultValue: "1"
|
|
@@ -7627,7 +7969,10 @@ var ContextMenu = function ContextMenu() {
|
|
|
7627
7969
|
onKeyDown: function onKeyDown(e) {
|
|
7628
7970
|
return e.stopPropagation();
|
|
7629
7971
|
},
|
|
7630
|
-
|
|
7972
|
+
onMouseDown: function onMouseDown(e) {
|
|
7973
|
+
return e.stopPropagation();
|
|
7974
|
+
},
|
|
7975
|
+
type: "number",
|
|
7631
7976
|
className: "luckysheet-mousedown-cancel",
|
|
7632
7977
|
placeholder: rightclick.number,
|
|
7633
7978
|
defaultValue: "1"
|
|
@@ -7823,15 +8168,15 @@ var ContextMenu = function ContextMenu() {
|
|
|
7823
8168
|
onKeyDown: function onKeyDown(e) {
|
|
7824
8169
|
return e.stopPropagation();
|
|
7825
8170
|
},
|
|
8171
|
+
onMouseDown: function onMouseDown(e) {
|
|
8172
|
+
return e.stopPropagation();
|
|
8173
|
+
},
|
|
7826
8174
|
type: "number",
|
|
7827
8175
|
min: 1,
|
|
7828
8176
|
max: 545,
|
|
7829
8177
|
className: "luckysheet-mousedown-cancel",
|
|
7830
8178
|
placeholder: rightclick.number,
|
|
7831
|
-
defaultValue: shownRowHeight
|
|
7832
|
-
style: {
|
|
7833
|
-
width: "40px"
|
|
7834
|
-
}
|
|
8179
|
+
defaultValue: shownRowHeight
|
|
7835
8180
|
}), "px")) : null;
|
|
7836
8181
|
}
|
|
7837
8182
|
if (name === "set-column-width") {
|
|
@@ -7871,6 +8216,9 @@ var ContextMenu = function ContextMenu() {
|
|
|
7871
8216
|
onKeyDown: function onKeyDown(e) {
|
|
7872
8217
|
return e.stopPropagation();
|
|
7873
8218
|
},
|
|
8219
|
+
onMouseDown: function onMouseDown(e) {
|
|
8220
|
+
return e.stopPropagation();
|
|
8221
|
+
},
|
|
7874
8222
|
type: "number",
|
|
7875
8223
|
min: 1,
|
|
7876
8224
|
max: 545,
|
|
@@ -8035,11 +8383,11 @@ var ContextMenu = function ContextMenu() {
|
|
|
8035
8383
|
left: contextMenu.x,
|
|
8036
8384
|
top: contextMenu.y
|
|
8037
8385
|
}
|
|
8038
|
-
}, context.contextMenu.headerMenu === true ? settings.headerContextMenu.map(function (menu, i) {
|
|
8386
|
+
}, renderCustom(), context.contextMenu.headerMenu === true ? settings.headerContextMenu.map(function (menu, i) {
|
|
8039
8387
|
return getMenuElement(menu, i);
|
|
8040
8388
|
}) : settings.cellContextMenu().map(function (menu, i) {
|
|
8041
8389
|
return getMenuElement(menu, i);
|
|
8042
|
-
})
|
|
8390
|
+
}));
|
|
8043
8391
|
};
|
|
8044
8392
|
|
|
8045
8393
|
var SVGDefines = function SVGDefines() {
|
|
@@ -9435,67 +9783,6 @@ var SVGDefines = function SVGDefines() {
|
|
|
9435
9783
|
}))));
|
|
9436
9784
|
};
|
|
9437
9785
|
|
|
9438
|
-
var ChangeColor = function ChangeColor(_ref) {
|
|
9439
|
-
var triggerParentUpdate = _ref.triggerParentUpdate;
|
|
9440
|
-
var _useContext = React.useContext(WorkbookContext),
|
|
9441
|
-
context = _useContext.context,
|
|
9442
|
-
setContext = _useContext.setContext;
|
|
9443
|
-
var _locale = core.locale(context),
|
|
9444
|
-
toolbar = _locale.toolbar,
|
|
9445
|
-
sheetconfig = _locale.sheetconfig,
|
|
9446
|
-
button = _locale.button;
|
|
9447
|
-
var _useState = React.useState("#000000"),
|
|
9448
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
9449
|
-
inputColor = _useState2[0],
|
|
9450
|
-
setInputColor = _useState2[1];
|
|
9451
|
-
var _useState3 = React.useState(context.luckysheetfile[core.getSheetIndex(context, context.currentSheetId)].color),
|
|
9452
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
9453
|
-
selectColor = _useState4[0],
|
|
9454
|
-
setSelectColor = _useState4[1];
|
|
9455
|
-
var certainBtn = React.useCallback(function () {
|
|
9456
|
-
setSelectColor(inputColor);
|
|
9457
|
-
}, [inputColor]);
|
|
9458
|
-
React.useEffect(function () {
|
|
9459
|
-
setContext(function (ctx) {
|
|
9460
|
-
if (ctx.allowEdit === false) return;
|
|
9461
|
-
var index = core.getSheetIndex(ctx, ctx.currentSheetId);
|
|
9462
|
-
ctx.luckysheetfile[index].color = selectColor;
|
|
9463
|
-
});
|
|
9464
|
-
}, [selectColor, setContext]);
|
|
9465
|
-
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
9466
|
-
id: "leankylin-change-color"
|
|
9467
|
-
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
9468
|
-
className: "color-reset",
|
|
9469
|
-
onClick: function onClick() {
|
|
9470
|
-
return setSelectColor(undefined);
|
|
9471
|
-
}
|
|
9472
|
-
}, sheetconfig.resetColor), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
9473
|
-
className: "custom-color"
|
|
9474
|
-
}, /*#__PURE__*/React__default['default'].createElement("div", null, toolbar.customColor, ":"), /*#__PURE__*/React__default['default'].createElement("input", {
|
|
9475
|
-
type: "color",
|
|
9476
|
-
value: inputColor,
|
|
9477
|
-
onChange: function onChange(e) {
|
|
9478
|
-
return setInputColor(e.target.value);
|
|
9479
|
-
},
|
|
9480
|
-
onFocus: function onFocus() {
|
|
9481
|
-
triggerParentUpdate(true);
|
|
9482
|
-
},
|
|
9483
|
-
onBlur: function onBlur() {
|
|
9484
|
-
triggerParentUpdate(false);
|
|
9485
|
-
}
|
|
9486
|
-
}), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
9487
|
-
className: "button-basic button-primary",
|
|
9488
|
-
onClick: function onClick() {
|
|
9489
|
-
certainBtn();
|
|
9490
|
-
}
|
|
9491
|
-
}, button.confirm)), /*#__PURE__*/React__default['default'].createElement(ColorPicker, {
|
|
9492
|
-
onPick: function onPick(color) {
|
|
9493
|
-
setInputColor(color);
|
|
9494
|
-
setSelectColor(color);
|
|
9495
|
-
}
|
|
9496
|
-
}));
|
|
9497
|
-
};
|
|
9498
|
-
|
|
9499
9786
|
var SheetTabContextMenu = function SheetTabContextMenu() {
|
|
9500
9787
|
var _settings$sheetTabCon;
|
|
9501
9788
|
var _useContext = React.useContext(WorkbookContext),
|
|
@@ -9593,6 +9880,13 @@ var SheetTabContextMenu = function SheetTabContextMenu() {
|
|
|
9593
9880
|
});
|
|
9594
9881
|
});
|
|
9595
9882
|
}, [context.allowEdit, setContext, sheet === null || sheet === void 0 ? void 0 : sheet.id]);
|
|
9883
|
+
var changeColor = function changeColor(selectColor) {
|
|
9884
|
+
setContext(function (ctx) {
|
|
9885
|
+
if (ctx.allowEdit === false) return;
|
|
9886
|
+
var index = core.getSheetIndex(ctx, ctx.currentSheetId);
|
|
9887
|
+
ctx.luckysheetfile[index].color = selectColor;
|
|
9888
|
+
});
|
|
9889
|
+
};
|
|
9596
9890
|
if (!sheet || x == null || y == null) return null;
|
|
9597
9891
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
9598
9892
|
className: "leankylin-context-menu luckysheet-cols-menu",
|
|
@@ -9689,9 +9983,15 @@ var SheetTabContextMenu = function SheetTabContextMenu() {
|
|
|
9689
9983
|
}, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
|
|
9690
9984
|
name: "rightArrow",
|
|
9691
9985
|
width: 18
|
|
9692
|
-
})), isShowChangeColor && context.allowEdit && ( /*#__PURE__*/React__default['default'].createElement(
|
|
9693
|
-
|
|
9694
|
-
}
|
|
9986
|
+
})), isShowChangeColor && context.allowEdit && ( /*#__PURE__*/React__default['default'].createElement("div", {
|
|
9987
|
+
className: "leankylin-sheet-color-change"
|
|
9988
|
+
}, /*#__PURE__*/React__default['default'].createElement(CustomColor, {
|
|
9989
|
+
onCustomPick: function onCustomPick(color) {
|
|
9990
|
+
changeColor(color);
|
|
9991
|
+
setIsShowChangeColor(false);
|
|
9992
|
+
},
|
|
9993
|
+
onColorPick: changeColor
|
|
9994
|
+
}))));
|
|
9695
9995
|
}
|
|
9696
9996
|
if (name === "focus") {
|
|
9697
9997
|
return /*#__PURE__*/React__default['default'].createElement(Menu, {
|
|
@@ -9726,6 +10026,9 @@ var MoreItemsContaier = function MoreItemsContaier(_ref) {
|
|
|
9726
10026
|
|
|
9727
10027
|
function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cellInput, scrollbarX, scrollbarY, refs) {
|
|
9728
10028
|
return {
|
|
10029
|
+
replaceVariables: function replaceVariables(_map) {
|
|
10030
|
+
context.formulaCache.parser.replaceVariables(_map);
|
|
10031
|
+
},
|
|
9729
10032
|
setVariable: function setVariable(name, value) {
|
|
9730
10033
|
context.formulaCache.parser.setVariable(name, value);
|
|
9731
10034
|
},
|
|
@@ -9919,6 +10222,12 @@ function generateAPIs(context, setContext, handleUndo, handleRedo, settings, cel
|
|
|
9919
10222
|
return core.api.setCellValuesByRange(draftCtx, data, range, cellInput, options);
|
|
9920
10223
|
});
|
|
9921
10224
|
},
|
|
10225
|
+
setCellValues: function setCellValues(data) {
|
|
10226
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
10227
|
+
return setContext(function (draftCtx) {
|
|
10228
|
+
return core.api.setCellValues(draftCtx, data, cellInput, options);
|
|
10229
|
+
});
|
|
10230
|
+
},
|
|
9922
10231
|
setCellFormatByRange: function setCellFormatByRange(attr, value, range) {
|
|
9923
10232
|
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
9924
10233
|
return setContext(function (draftCtx) {
|
|
@@ -10275,6 +10584,9 @@ var FilterMenu = function FilterMenu() {
|
|
|
10275
10584
|
backgroundColor: v.color
|
|
10276
10585
|
}
|
|
10277
10586
|
}), /*#__PURE__*/React__default['default'].createElement("input", {
|
|
10587
|
+
onMouseDown: function onMouseDown(e) {
|
|
10588
|
+
return e.stopPropagation();
|
|
10589
|
+
},
|
|
10278
10590
|
className: "luckysheet-mousedown-cancel",
|
|
10279
10591
|
type: "checkbox",
|
|
10280
10592
|
checked: v.checked,
|
|
@@ -10441,11 +10753,7 @@ var FilterMenu = function FilterMenu() {
|
|
|
10441
10753
|
if (name === "filter-by-value") {
|
|
10442
10754
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
10443
10755
|
key: name
|
|
10444
|
-
}, /*#__PURE__*/React__default['default'].createElement(Menu, {
|
|
10445
|
-
onClick: function onClick() {}
|
|
10446
10756
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
10447
|
-
className: "filter-caret right"
|
|
10448
|
-
}), filter.filterByValues), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
10449
10757
|
className: "luckysheet-filter-byvalue"
|
|
10450
10758
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
10451
10759
|
className: "leankylin-menuitem-row byvalue-btn-row"
|
|
@@ -10535,20 +10843,13 @@ var FilterMenu = function FilterMenu() {
|
|
|
10535
10843
|
}), /*#__PURE__*/React__default['default'].createElement(Divider$1, null), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
10536
10844
|
className: "leankylin-menuitem-row"
|
|
10537
10845
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
10538
|
-
className: "button-basic button-
|
|
10846
|
+
className: "button-basic button-danger",
|
|
10539
10847
|
onClick: function onClick() {
|
|
10540
|
-
if (col == null) return;
|
|
10541
10848
|
setContext(function (draftCtx) {
|
|
10542
|
-
|
|
10543
|
-
pre[curr] = 0;
|
|
10544
|
-
return pre;
|
|
10545
|
-
}, {});
|
|
10546
|
-
core.saveFilter(draftCtx, hiddenRows.current.length > 0, rowHidden, {}, startRow, endRow, col, startCol, endCol);
|
|
10547
|
-
hiddenRows.current = [];
|
|
10548
|
-
draftCtx.filterContextMenu = undefined;
|
|
10849
|
+
core.clearFilter(draftCtx);
|
|
10549
10850
|
});
|
|
10550
10851
|
}
|
|
10551
|
-
}, filter.
|
|
10852
|
+
}, filter.clearFilter), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
10552
10853
|
className: "button-basic button-default",
|
|
10553
10854
|
onClick: function onClick() {
|
|
10554
10855
|
setContext(function (draftCtx) {
|
|
@@ -10556,13 +10857,20 @@ var FilterMenu = function FilterMenu() {
|
|
|
10556
10857
|
});
|
|
10557
10858
|
}
|
|
10558
10859
|
}, filter.filterCancel), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
10559
|
-
className: "button-basic button-
|
|
10860
|
+
className: "button-basic button-primary",
|
|
10560
10861
|
onClick: function onClick() {
|
|
10862
|
+
if (col == null) return;
|
|
10561
10863
|
setContext(function (draftCtx) {
|
|
10562
|
-
|
|
10864
|
+
var rowHidden = ___default['default'].reduce(hiddenRows.current, function (pre, curr) {
|
|
10865
|
+
pre[curr] = 0;
|
|
10866
|
+
return pre;
|
|
10867
|
+
}, {});
|
|
10868
|
+
core.saveFilter(draftCtx, hiddenRows.current.length > 0, rowHidden, {}, startRow, endRow, col, startCol, endCol);
|
|
10869
|
+
hiddenRows.current = [];
|
|
10870
|
+
draftCtx.filterContextMenu = undefined;
|
|
10563
10871
|
});
|
|
10564
10872
|
}
|
|
10565
|
-
}, filter.
|
|
10873
|
+
}, filter.filterConform))), showSubMenu && ( /*#__PURE__*/React__default['default'].createElement("div", {
|
|
10566
10874
|
ref: subMenuRef,
|
|
10567
10875
|
className: "luckysheet-filter-bycolor-submenu",
|
|
10568
10876
|
style: subMenuPos,
|
|
@@ -10572,6 +10880,9 @@ var FilterMenu = function FilterMenu() {
|
|
|
10572
10880
|
onMouseLeave: function onMouseLeave() {
|
|
10573
10881
|
mouseHoverSubMenu.current = false;
|
|
10574
10882
|
setShowSubMenu(false);
|
|
10883
|
+
},
|
|
10884
|
+
onMouseDown: function onMouseDown(e) {
|
|
10885
|
+
return e.stopPropagation();
|
|
10575
10886
|
}
|
|
10576
10887
|
}, filterColors.bgColors.length < 2 && filterColors.fcColors.length < 2 ? ( /*#__PURE__*/React__default['default'].createElement("div", {
|
|
10577
10888
|
className: "one-color-tip"
|