@fileverse-dev/fortune-react 1.0.2-mod-28 → 1.0.2-mod-30
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.css +169 -80
- package/dist/index.esm.css +169 -80
- package/dist/index.esm.js +88 -151
- package/dist/index.js +87 -150
- package/dist/index.umd.css +169 -80
- package/dist/index.umd.js +2662 -4413
- package/dist/index.umd.min.css +1 -1
- package/dist/index.umd.min.js +9 -9
- package/package.json +2 -2
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defaultContext, defaultSettings, getSheetIndex, colLocationByIndex, fixPositionOnFrozenCells, colLocation, getFlowdata, isAllowEdit, handleColumnHeaderMouseDown, handleColSizeHandleMouseDown, handleColFreezeHandleMouseDown, handleContextMenu, selectTitlesMap, selectTitlesRange, fixColumnStyleOverflowInFreeze, rowLocationByIndex, rowLocation, handleRowHeaderMouseDown, handleRowSizeHandleMouseDown, handleRowFreezeHandleMouseDown, fixRowStyleOverflowInFreeze, locale, getStyleByCell, getCellValue, createRangeHightlight, isInlineStringCell, getInlineStringHTML, valueShowEs, escapeHTMLTag, escapeScriptTag, moveToEnd, isShowHidenCR, getrangeseleciton, cancelNormalSelected, moveHighlightCell, israngeseleciton, handleFormulaInput, onSearchDialogMoveStart, replaceAll, replace, searchAll, searchNext, normalizeSelection, scrollToHighlightCell, isLinkValid,
|
|
1
|
+
import { defaultContext, defaultSettings, getSheetIndex, colLocationByIndex, fixPositionOnFrozenCells, colLocation, getFlowdata, isAllowEdit, handleColumnHeaderMouseDown, handleColSizeHandleMouseDown, handleColFreezeHandleMouseDown, handleContextMenu, selectTitlesMap, selectTitlesRange, fixColumnStyleOverflowInFreeze, rowLocationByIndex, rowLocation, handleRowHeaderMouseDown, handleRowSizeHandleMouseDown, handleRowFreezeHandleMouseDown, fixRowStyleOverflowInFreeze, locale, getStyleByCell, getCellValue, createRangeHightlight, isInlineStringCell, getInlineStringHTML, valueShowEs, escapeHTMLTag, escapeScriptTag, moveToEnd, isShowHidenCR, getrangeseleciton, cancelNormalSelected, moveHighlightCell, israngeseleciton, handleFormulaInput, onSearchDialogMoveStart, replaceAll, replace, searchAll, searchNext, normalizeSelection, scrollToHighlightCell, isLinkValid, goToLink, replaceHtml, removeHyperlink, saveHyperlink, createFilterOptions, onImageMoveStart, onImageResizeStart, showComments, setEditingComment, onCommentBoxMoveStart, confirmMessage, getRangeByTxt, getDropdownList, setCellValue, getRangetxt, setConditionRules, mergeBorder, setDropcownValue, handleCellAreaMouseDown, handleCellAreaDoubleClick, selectAll, showLinkCard, getCellRowColumn, getCellHyperlink, handleOverlayMouseMove, handleOverlayMouseUp, handleKeydownForZoom, handleOverlayTouchStart, handleOverlayTouchMove, handleOverlayTouchEnd, insertRowCol, drawArrow, onCellsMoveStart, createDropCellRange, updateContextWithSheetData, updateContextWithCanvas, initFreeze, Canvas, handleGlobalWheel, getDataArr, updateMoreCell, getRegStr, getOptionValue, getSelectRange, applyLocation, updateItem, update, normalizedCellAttr, updateFormat, handleTextSize, handleHorizontalAlign, handleVerticalAlign, handleScreenShot, showImgChooser, insertImage, editComment, deleteComment, showHideComment, showHideAllComments, newComment, handleSum, autoSelectionFormula, handleMerge, handleBorder, handleFreeze, handleSort, createFilter, clearFilter, toolbarItemSelectedFunc, toolbarItemClickHandler, handleTextColor, handleTextBackground, getInlineStringNoStyle, rangeHightlightselected, updateCell, editSheetName, cancelActiveImgItem, MAX_ZOOM_RATIO, MIN_ZOOM_RATIO, addSheet, getFreezeState, toggleFreeze, jfrefreshgrid, handleCopy, deleteRowCol, hideSelected, showSelected, api, removeActiveImage, deleteSelectedCellText, sortSelection, handleLink, handlePasteByClick, deleteSheet, opToPatch, setCaretPosition, orderbydatafiler, getFilterColumnValues, getFilterColumnColors, saveFilter, calcSelectionInfo, patchToOp, filterPatch, inverseRowColOptions, ensureSheetIndex, initSheetIndex, handleGlobalKeyDown, handlePaste, groupValuesRefresh } from '@fileverse-dev/fortune-core';
|
|
2
2
|
import React, { useContext, useRef, useState, useMemo, useCallback, useEffect, useLayoutEffect, useImperativeHandle } from 'react';
|
|
3
3
|
import produce, { applyPatches, enablePatches, produceWithPatches } from 'immer';
|
|
4
4
|
import _ from 'lodash';
|
|
@@ -1792,8 +1792,7 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
1792
1792
|
originType = _ref.originType,
|
|
1793
1793
|
originAddress = _ref.originAddress,
|
|
1794
1794
|
isEditing = _ref.isEditing,
|
|
1795
|
-
position = _ref.position
|
|
1796
|
-
selectingCellRange = _ref.selectingCellRange;
|
|
1795
|
+
position = _ref.position;
|
|
1797
1796
|
var _useContext = useContext(WorkbookContext),
|
|
1798
1797
|
context = _useContext.context,
|
|
1799
1798
|
setContext = _useContext.setContext,
|
|
@@ -1812,29 +1811,24 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
1812
1811
|
setLinkType = _useState6[1];
|
|
1813
1812
|
var _locale = locale(context),
|
|
1814
1813
|
insertLink = _locale.insertLink,
|
|
1815
|
-
linkTypeList = _locale.linkTypeList
|
|
1816
|
-
button = _locale.button;
|
|
1817
|
-
var lastCell = useRef(normalizeSelection(context, [{
|
|
1818
|
-
row: [r, r],
|
|
1819
|
-
column: [c, c]
|
|
1820
|
-
}]));
|
|
1821
|
-
var skipCellRangeSet = useRef(true);
|
|
1814
|
+
linkTypeList = _locale.linkTypeList;
|
|
1822
1815
|
var isLinkAddressValid = isLinkValid(context, linkType, linkAddress);
|
|
1823
|
-
var
|
|
1824
|
-
|
|
1825
|
-
|
|
1816
|
+
var isButtonDisabled = useMemo(function () {
|
|
1817
|
+
if (!linkText.trim()) return true;
|
|
1818
|
+
if (linkType === "webpage") {
|
|
1819
|
+
return !linkAddress.trim() || !isLinkAddressValid.isValid;
|
|
1820
|
+
}
|
|
1821
|
+
if (linkType === "sheet") {
|
|
1822
|
+
return !linkAddress.trim();
|
|
1823
|
+
}
|
|
1824
|
+
return false;
|
|
1825
|
+
}, [linkText, linkAddress, linkType, isLinkAddressValid.isValid]);
|
|
1826
1826
|
var hideLinkCard = useCallback(function () {
|
|
1827
1827
|
_.set(refs.globalCache, "linkCard.mouseEnter", false);
|
|
1828
1828
|
setContext(function (draftCtx) {
|
|
1829
1829
|
draftCtx.linkCard = undefined;
|
|
1830
1830
|
});
|
|
1831
1831
|
}, [refs.globalCache, setContext]);
|
|
1832
|
-
var setRangeModalVisible = useCallback(function (visible) {
|
|
1833
|
-
return setContext(function (draftCtx) {
|
|
1834
|
-
draftCtx.luckysheet_select_save = lastCell.current;
|
|
1835
|
-
if (draftCtx.linkCard != null) draftCtx.linkCard.selectingCellRange = visible;
|
|
1836
|
-
});
|
|
1837
|
-
}, [setContext]);
|
|
1838
1832
|
var containerEvent = useMemo(function () {
|
|
1839
1833
|
return {
|
|
1840
1834
|
onMouseEnter: function onMouseEnter() {
|
|
@@ -1860,19 +1854,6 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
1860
1854
|
}
|
|
1861
1855
|
};
|
|
1862
1856
|
}, [refs.globalCache]);
|
|
1863
|
-
var renderBottomButton = useCallback(function (onOk, onCancel) {
|
|
1864
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1865
|
-
className: "button-group"
|
|
1866
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1867
|
-
className: "button-basic button-default",
|
|
1868
|
-
onClick: onCancel,
|
|
1869
|
-
tabIndex: 0
|
|
1870
|
-
}, button.cancel), /*#__PURE__*/React.createElement("div", {
|
|
1871
|
-
className: "button-basic button-primary",
|
|
1872
|
-
onClick: onOk,
|
|
1873
|
-
tabIndex: 0
|
|
1874
|
-
}, button.confirm));
|
|
1875
|
-
}, [button]);
|
|
1876
1857
|
var renderToolbarButton = useCallback(function (iconId, onClick) {
|
|
1877
1858
|
return /*#__PURE__*/React.createElement("div", {
|
|
1878
1859
|
className: "fortune-toolbar-button",
|
|
@@ -1891,23 +1872,6 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
1891
1872
|
setLinkText(originText);
|
|
1892
1873
|
setLinkType(originType);
|
|
1893
1874
|
}, [rc, originAddress, originText, originType]);
|
|
1894
|
-
useLayoutEffect(function () {
|
|
1895
|
-
if (selectingCellRange) {
|
|
1896
|
-
skipCellRangeSet.current = true;
|
|
1897
|
-
}
|
|
1898
|
-
}, [selectingCellRange]);
|
|
1899
|
-
useLayoutEffect(function () {
|
|
1900
|
-
if (skipCellRangeSet.current) {
|
|
1901
|
-
skipCellRangeSet.current = false;
|
|
1902
|
-
return;
|
|
1903
|
-
}
|
|
1904
|
-
if (selectingCellRange) {
|
|
1905
|
-
var len = _.size(context.luckysheet_select_save);
|
|
1906
|
-
if (len > 0) {
|
|
1907
|
-
setLinkAddress(getRangetxt(context, context.currentSheetId, context.luckysheet_select_save[len - 1], ""));
|
|
1908
|
-
}
|
|
1909
|
-
}
|
|
1910
|
-
}, [context, selectingCellRange]);
|
|
1911
1875
|
if (!isEditing) {
|
|
1912
1876
|
return /*#__PURE__*/React.createElement("div", _objectSpread2(_objectSpread2({}, containerEvent), {}, {
|
|
1913
1877
|
onKeyDown: function onKeyDown(e) {
|
|
@@ -1948,69 +1912,16 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
1948
1912
|
});
|
|
1949
1913
|
}));
|
|
1950
1914
|
}
|
|
1951
|
-
return
|
|
1952
|
-
className: "fortune-link-
|
|
1953
|
-
style: {
|
|
1954
|
-
left: position.cellLeft,
|
|
1955
|
-
top: position.cellBottom + 5
|
|
1956
|
-
}
|
|
1957
|
-
}, _.omit(containerEvent, ["onMouseDown", "onMouseMove", "onMouseUp"])), {}, {
|
|
1958
|
-
onMouseDown: function onMouseDown(e) {
|
|
1959
|
-
var nativeEvent = e.nativeEvent;
|
|
1960
|
-
onRangeSelectionModalMoveStart(context, refs.globalCache, nativeEvent);
|
|
1961
|
-
e.stopPropagation();
|
|
1962
|
-
}
|
|
1963
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
1964
|
-
className: "modal-icon-close",
|
|
1965
|
-
onClick: function onClick() {
|
|
1966
|
-
return setRangeModalVisible(false);
|
|
1967
|
-
},
|
|
1968
|
-
tabIndex: 0
|
|
1969
|
-
}, /*#__PURE__*/React.createElement(SVGIcon, {
|
|
1970
|
-
name: "close"
|
|
1971
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
1972
|
-
className: "modal-title"
|
|
1973
|
-
}, insertLink.selectCellRange), /*#__PURE__*/React.createElement("input", _objectSpread2(_objectSpread2({}, containerEvent), {}, {
|
|
1974
|
-
className: "range-selection-input ".concat(!linkAddress || isLinkAddressValid.isValid ? "" : "error-input"),
|
|
1975
|
-
placeholder: insertLink.cellRangePlaceholder,
|
|
1976
|
-
onChange: function onChange(e) {
|
|
1977
|
-
return setLinkAddress(e.target.value);
|
|
1978
|
-
},
|
|
1979
|
-
value: linkAddress
|
|
1980
|
-
})), tooltip, /*#__PURE__*/React.createElement("div", {
|
|
1981
|
-
className: "modal-footer"
|
|
1982
|
-
}, renderBottomButton(function () {
|
|
1983
|
-
if (isLinkAddressValid.isValid) setRangeModalVisible(false);
|
|
1984
|
-
}, function () {
|
|
1985
|
-
setLinkAddress(originAddress);
|
|
1986
|
-
setRangeModalVisible(false);
|
|
1987
|
-
})))) : (/*#__PURE__*/React.createElement("div", _objectSpread2({
|
|
1988
|
-
className: "fortune-link-modify-modal",
|
|
1915
|
+
return /*#__PURE__*/React.createElement("div", _objectSpread2({
|
|
1916
|
+
className: "fortune-link-card",
|
|
1989
1917
|
style: {
|
|
1990
1918
|
left: position.cellLeft + 20,
|
|
1991
1919
|
top: position.cellBottom
|
|
1992
1920
|
}
|
|
1993
|
-
}, containerEvent), /*#__PURE__*/React.createElement(
|
|
1994
|
-
className: "fortune-link-modify-line"
|
|
1995
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1996
|
-
className: "fortune-link-modify-title"
|
|
1997
|
-
}, insertLink.linkText), /*#__PURE__*/React.createElement("input", {
|
|
1998
|
-
className: "fortune-link-modify-input",
|
|
1999
|
-
spellCheck: "false",
|
|
2000
|
-
autoFocus: true,
|
|
2001
|
-
value: linkText,
|
|
2002
|
-
onChange: function onChange(e) {
|
|
2003
|
-
return setLinkText(e.target.value);
|
|
2004
|
-
}
|
|
2005
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
2006
|
-
className: "fortune-link-modify-line"
|
|
2007
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
2008
|
-
className: "fortune-link-modify-title"
|
|
2009
|
-
}, insertLink.linkType), /*#__PURE__*/React.createElement("select", {
|
|
2010
|
-
className: "fortune-link-modify-select",
|
|
1921
|
+
}, containerEvent), /*#__PURE__*/React.createElement(Select$1, {
|
|
2011
1922
|
value: linkType,
|
|
2012
|
-
|
|
2013
|
-
if (
|
|
1923
|
+
onValueChange: function onValueChange(value) {
|
|
1924
|
+
if (value === "sheet") {
|
|
2014
1925
|
if (!linkText) {
|
|
2015
1926
|
setLinkText(context.luckysheetfile[0].name);
|
|
2016
1927
|
}
|
|
@@ -2018,65 +1929,79 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
2018
1929
|
} else {
|
|
2019
1930
|
setLinkAddress("");
|
|
2020
1931
|
}
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
1932
|
+
setLinkType(value);
|
|
1933
|
+
}
|
|
1934
|
+
}, /*#__PURE__*/React.createElement(SelectTrigger, {
|
|
1935
|
+
className: "fortune-link-type-select"
|
|
1936
|
+
}, /*#__PURE__*/React.createElement(SelectValue, null)), /*#__PURE__*/React.createElement(SelectContent, {
|
|
1937
|
+
className: "fortune-link-type-dropdown"
|
|
1938
|
+
}, linkTypeList.filter(function (type) {
|
|
1939
|
+
return type.value !== "cellrange";
|
|
1940
|
+
}).map(function (type) {
|
|
1941
|
+
return /*#__PURE__*/React.createElement(SelectItem$1, {
|
|
2026
1942
|
key: type.value,
|
|
2027
1943
|
value: type.value
|
|
2028
1944
|
}, type.text);
|
|
2029
1945
|
}))), /*#__PURE__*/React.createElement("div", {
|
|
2030
|
-
className: "fortune-
|
|
2031
|
-
},
|
|
2032
|
-
className: "
|
|
2033
|
-
},
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
1946
|
+
className: "fortune-input-with-icon"
|
|
1947
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1948
|
+
className: "input-icon"
|
|
1949
|
+
}, /*#__PURE__*/React.createElement(LucideIcon, {
|
|
1950
|
+
name: "ALargeSmall"
|
|
1951
|
+
})), /*#__PURE__*/React.createElement(TextField, {
|
|
1952
|
+
placeholder: "Display text",
|
|
1953
|
+
value: linkText,
|
|
2037
1954
|
onChange: function onChange(e) {
|
|
2038
|
-
return
|
|
2039
|
-
}
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
1955
|
+
return setLinkText(e.target.value);
|
|
1956
|
+
},
|
|
1957
|
+
className: "fortune-link-input"
|
|
1958
|
+
})), linkType === "webpage" && (/*#__PURE__*/React.createElement("div", {
|
|
1959
|
+
className: "fortune-input-with-icon"
|
|
1960
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1961
|
+
className: "input-icon"
|
|
1962
|
+
}, /*#__PURE__*/React.createElement(SVGIcon, {
|
|
1963
|
+
name: "link"
|
|
1964
|
+
})), /*#__PURE__*/React.createElement(TextField, {
|
|
1965
|
+
placeholder: "Paste URL",
|
|
2045
1966
|
value: linkAddress,
|
|
2046
1967
|
onChange: function onChange(e) {
|
|
2047
1968
|
return setLinkAddress(e.target.value);
|
|
2048
|
-
}
|
|
2049
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
2050
|
-
className: "fortune-link-modify-cell-selector",
|
|
2051
|
-
onClick: function onClick() {
|
|
2052
|
-
return setRangeModalVisible(true);
|
|
2053
1969
|
},
|
|
2054
|
-
|
|
1970
|
+
className: "fortune-link-input ".concat(!linkAddress || isLinkAddressValid.isValid ? "" : "error-input")
|
|
1971
|
+
}))), linkType === "sheet" && (/*#__PURE__*/React.createElement("div", {
|
|
1972
|
+
className: "fortune-input-with-icon"
|
|
1973
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1974
|
+
className: "input-icon"
|
|
2055
1975
|
}, /*#__PURE__*/React.createElement(SVGIcon, {
|
|
2056
|
-
name: "
|
|
2057
|
-
})),
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
onChange: function onChange(e) {
|
|
2062
|
-
if (!linkText) setLinkText(e.target.value);
|
|
2063
|
-
setLinkAddress(e.target.value);
|
|
1976
|
+
name: "link"
|
|
1977
|
+
})), /*#__PURE__*/React.createElement(Select$1, {
|
|
1978
|
+
onValueChange: function onValueChange(value) {
|
|
1979
|
+
if (!linkText) setLinkText(value);
|
|
1980
|
+
setLinkAddress(value);
|
|
2064
1981
|
},
|
|
2065
1982
|
value: linkAddress
|
|
1983
|
+
}, /*#__PURE__*/React.createElement(SelectTrigger, {
|
|
1984
|
+
className: "fortune-sheet-select"
|
|
1985
|
+
}, /*#__PURE__*/React.createElement(SelectValue, {
|
|
1986
|
+
placeholder: "[Sheet name]"
|
|
1987
|
+
})), /*#__PURE__*/React.createElement(SelectContent, {
|
|
1988
|
+
className: "fortune-sheet-dropdown"
|
|
2066
1989
|
}, context.luckysheetfile.map(function (sheet) {
|
|
2067
|
-
return /*#__PURE__*/React.createElement(
|
|
1990
|
+
return /*#__PURE__*/React.createElement(SelectItem$1, {
|
|
2068
1991
|
key: sheet.id,
|
|
2069
1992
|
value: sheet.name
|
|
2070
1993
|
}, sheet.name);
|
|
2071
|
-
}))
|
|
2072
|
-
className: "
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
1994
|
+
}))))), /*#__PURE__*/React.createElement(Button$1, {
|
|
1995
|
+
className: "fortune-insert-button",
|
|
1996
|
+
disabled: isButtonDisabled,
|
|
1997
|
+
onClick: function onClick() {
|
|
1998
|
+
if (isButtonDisabled) return;
|
|
1999
|
+
_.set(refs.globalCache, "linkCard.mouseEnter", false);
|
|
2000
|
+
setContext(function (draftCtx) {
|
|
2001
|
+
return saveHyperlink(draftCtx, r, c, linkText, linkType, linkAddress);
|
|
2002
|
+
});
|
|
2003
|
+
}
|
|
2004
|
+
}, "Insert link"));
|
|
2080
2005
|
};
|
|
2081
2006
|
|
|
2082
2007
|
var FilterOptions = function FilterOptions(_ref) {
|
|
@@ -6630,7 +6555,7 @@ var Toolbar = function Toolbar(_ref) {
|
|
|
6630
6555
|
className: "fortune-toolbar",
|
|
6631
6556
|
"aria-label": toolbar.toolbar
|
|
6632
6557
|
}, settings.customToolbarItems.filter(function (n) {
|
|
6633
|
-
return n.key
|
|
6558
|
+
return n.key === "import-export";
|
|
6634
6559
|
}).map(function (n) {
|
|
6635
6560
|
return /*#__PURE__*/React.createElement(CustomButton, {
|
|
6636
6561
|
tooltip: n.tooltip,
|
|
@@ -6667,6 +6592,18 @@ var Toolbar = function Toolbar(_ref) {
|
|
|
6667
6592
|
icon: n.icon,
|
|
6668
6593
|
iconName: n.iconName
|
|
6669
6594
|
}, n.children);
|
|
6595
|
+
}), /*#__PURE__*/React.createElement(Divider, {
|
|
6596
|
+
key: "templateDivider"
|
|
6597
|
+
}), settings.customToolbarItems.filter(function (n) {
|
|
6598
|
+
return n.key !== "templates" && n.key !== "import-export";
|
|
6599
|
+
}).map(function (n) {
|
|
6600
|
+
return /*#__PURE__*/React.createElement(CustomButton, {
|
|
6601
|
+
tooltip: n.tooltip,
|
|
6602
|
+
onClick: n.onClick,
|
|
6603
|
+
key: n.key,
|
|
6604
|
+
icon: n.icon,
|
|
6605
|
+
iconName: n.iconName
|
|
6606
|
+
}, n.children);
|
|
6670
6607
|
}));
|
|
6671
6608
|
};
|
|
6672
6609
|
|
package/dist/index.js
CHANGED
|
@@ -1804,8 +1804,7 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
1804
1804
|
originType = _ref.originType,
|
|
1805
1805
|
originAddress = _ref.originAddress,
|
|
1806
1806
|
isEditing = _ref.isEditing,
|
|
1807
|
-
position = _ref.position
|
|
1808
|
-
selectingCellRange = _ref.selectingCellRange;
|
|
1807
|
+
position = _ref.position;
|
|
1809
1808
|
var _useContext = React.useContext(WorkbookContext),
|
|
1810
1809
|
context = _useContext.context,
|
|
1811
1810
|
setContext = _useContext.setContext,
|
|
@@ -1824,29 +1823,24 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
1824
1823
|
setLinkType = _useState6[1];
|
|
1825
1824
|
var _locale = fortuneCore.locale(context),
|
|
1826
1825
|
insertLink = _locale.insertLink,
|
|
1827
|
-
linkTypeList = _locale.linkTypeList
|
|
1828
|
-
button = _locale.button;
|
|
1829
|
-
var lastCell = React.useRef(fortuneCore.normalizeSelection(context, [{
|
|
1830
|
-
row: [r, r],
|
|
1831
|
-
column: [c, c]
|
|
1832
|
-
}]));
|
|
1833
|
-
var skipCellRangeSet = React.useRef(true);
|
|
1826
|
+
linkTypeList = _locale.linkTypeList;
|
|
1834
1827
|
var isLinkAddressValid = fortuneCore.isLinkValid(context, linkType, linkAddress);
|
|
1835
|
-
var
|
|
1836
|
-
|
|
1837
|
-
|
|
1828
|
+
var isButtonDisabled = React.useMemo(function () {
|
|
1829
|
+
if (!linkText.trim()) return true;
|
|
1830
|
+
if (linkType === "webpage") {
|
|
1831
|
+
return !linkAddress.trim() || !isLinkAddressValid.isValid;
|
|
1832
|
+
}
|
|
1833
|
+
if (linkType === "sheet") {
|
|
1834
|
+
return !linkAddress.trim();
|
|
1835
|
+
}
|
|
1836
|
+
return false;
|
|
1837
|
+
}, [linkText, linkAddress, linkType, isLinkAddressValid.isValid]);
|
|
1838
1838
|
var hideLinkCard = React.useCallback(function () {
|
|
1839
1839
|
___default['default'].set(refs.globalCache, "linkCard.mouseEnter", false);
|
|
1840
1840
|
setContext(function (draftCtx) {
|
|
1841
1841
|
draftCtx.linkCard = undefined;
|
|
1842
1842
|
});
|
|
1843
1843
|
}, [refs.globalCache, setContext]);
|
|
1844
|
-
var setRangeModalVisible = React.useCallback(function (visible) {
|
|
1845
|
-
return setContext(function (draftCtx) {
|
|
1846
|
-
draftCtx.luckysheet_select_save = lastCell.current;
|
|
1847
|
-
if (draftCtx.linkCard != null) draftCtx.linkCard.selectingCellRange = visible;
|
|
1848
|
-
});
|
|
1849
|
-
}, [setContext]);
|
|
1850
1844
|
var containerEvent = React.useMemo(function () {
|
|
1851
1845
|
return {
|
|
1852
1846
|
onMouseEnter: function onMouseEnter() {
|
|
@@ -1872,19 +1866,6 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
1872
1866
|
}
|
|
1873
1867
|
};
|
|
1874
1868
|
}, [refs.globalCache]);
|
|
1875
|
-
var renderBottomButton = React.useCallback(function (onOk, onCancel) {
|
|
1876
|
-
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1877
|
-
className: "button-group"
|
|
1878
|
-
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1879
|
-
className: "button-basic button-default",
|
|
1880
|
-
onClick: onCancel,
|
|
1881
|
-
tabIndex: 0
|
|
1882
|
-
}, button.cancel), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1883
|
-
className: "button-basic button-primary",
|
|
1884
|
-
onClick: onOk,
|
|
1885
|
-
tabIndex: 0
|
|
1886
|
-
}, button.confirm));
|
|
1887
|
-
}, [button]);
|
|
1888
1869
|
var renderToolbarButton = React.useCallback(function (iconId, onClick) {
|
|
1889
1870
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1890
1871
|
className: "fortune-toolbar-button",
|
|
@@ -1903,23 +1884,6 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
1903
1884
|
setLinkText(originText);
|
|
1904
1885
|
setLinkType(originType);
|
|
1905
1886
|
}, [rc, originAddress, originText, originType]);
|
|
1906
|
-
React.useLayoutEffect(function () {
|
|
1907
|
-
if (selectingCellRange) {
|
|
1908
|
-
skipCellRangeSet.current = true;
|
|
1909
|
-
}
|
|
1910
|
-
}, [selectingCellRange]);
|
|
1911
|
-
React.useLayoutEffect(function () {
|
|
1912
|
-
if (skipCellRangeSet.current) {
|
|
1913
|
-
skipCellRangeSet.current = false;
|
|
1914
|
-
return;
|
|
1915
|
-
}
|
|
1916
|
-
if (selectingCellRange) {
|
|
1917
|
-
var len = ___default['default'].size(context.luckysheet_select_save);
|
|
1918
|
-
if (len > 0) {
|
|
1919
|
-
setLinkAddress(fortuneCore.getRangetxt(context, context.currentSheetId, context.luckysheet_select_save[len - 1], ""));
|
|
1920
|
-
}
|
|
1921
|
-
}
|
|
1922
|
-
}, [context, selectingCellRange]);
|
|
1923
1887
|
if (!isEditing) {
|
|
1924
1888
|
return /*#__PURE__*/React__default['default'].createElement("div", _objectSpread2(_objectSpread2({}, containerEvent), {}, {
|
|
1925
1889
|
onKeyDown: function onKeyDown(e) {
|
|
@@ -1960,69 +1924,16 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
1960
1924
|
});
|
|
1961
1925
|
}));
|
|
1962
1926
|
}
|
|
1963
|
-
return
|
|
1964
|
-
className: "fortune-link-
|
|
1965
|
-
style: {
|
|
1966
|
-
left: position.cellLeft,
|
|
1967
|
-
top: position.cellBottom + 5
|
|
1968
|
-
}
|
|
1969
|
-
}, ___default['default'].omit(containerEvent, ["onMouseDown", "onMouseMove", "onMouseUp"])), {}, {
|
|
1970
|
-
onMouseDown: function onMouseDown(e) {
|
|
1971
|
-
var nativeEvent = e.nativeEvent;
|
|
1972
|
-
fortuneCore.onRangeSelectionModalMoveStart(context, refs.globalCache, nativeEvent);
|
|
1973
|
-
e.stopPropagation();
|
|
1974
|
-
}
|
|
1975
|
-
}), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1976
|
-
className: "modal-icon-close",
|
|
1977
|
-
onClick: function onClick() {
|
|
1978
|
-
return setRangeModalVisible(false);
|
|
1979
|
-
},
|
|
1980
|
-
tabIndex: 0
|
|
1981
|
-
}, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
|
|
1982
|
-
name: "close"
|
|
1983
|
-
})), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1984
|
-
className: "modal-title"
|
|
1985
|
-
}, insertLink.selectCellRange), /*#__PURE__*/React__default['default'].createElement("input", _objectSpread2(_objectSpread2({}, containerEvent), {}, {
|
|
1986
|
-
className: "range-selection-input ".concat(!linkAddress || isLinkAddressValid.isValid ? "" : "error-input"),
|
|
1987
|
-
placeholder: insertLink.cellRangePlaceholder,
|
|
1988
|
-
onChange: function onChange(e) {
|
|
1989
|
-
return setLinkAddress(e.target.value);
|
|
1990
|
-
},
|
|
1991
|
-
value: linkAddress
|
|
1992
|
-
})), tooltip, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1993
|
-
className: "modal-footer"
|
|
1994
|
-
}, renderBottomButton(function () {
|
|
1995
|
-
if (isLinkAddressValid.isValid) setRangeModalVisible(false);
|
|
1996
|
-
}, function () {
|
|
1997
|
-
setLinkAddress(originAddress);
|
|
1998
|
-
setRangeModalVisible(false);
|
|
1999
|
-
})))) : (/*#__PURE__*/React__default['default'].createElement("div", _objectSpread2({
|
|
2000
|
-
className: "fortune-link-modify-modal",
|
|
1927
|
+
return /*#__PURE__*/React__default['default'].createElement("div", _objectSpread2({
|
|
1928
|
+
className: "fortune-link-card",
|
|
2001
1929
|
style: {
|
|
2002
1930
|
left: position.cellLeft + 20,
|
|
2003
1931
|
top: position.cellBottom
|
|
2004
1932
|
}
|
|
2005
|
-
}, containerEvent), /*#__PURE__*/React__default['default'].createElement(
|
|
2006
|
-
className: "fortune-link-modify-line"
|
|
2007
|
-
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
2008
|
-
className: "fortune-link-modify-title"
|
|
2009
|
-
}, insertLink.linkText), /*#__PURE__*/React__default['default'].createElement("input", {
|
|
2010
|
-
className: "fortune-link-modify-input",
|
|
2011
|
-
spellCheck: "false",
|
|
2012
|
-
autoFocus: true,
|
|
2013
|
-
value: linkText,
|
|
2014
|
-
onChange: function onChange(e) {
|
|
2015
|
-
return setLinkText(e.target.value);
|
|
2016
|
-
}
|
|
2017
|
-
})), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
2018
|
-
className: "fortune-link-modify-line"
|
|
2019
|
-
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
2020
|
-
className: "fortune-link-modify-title"
|
|
2021
|
-
}, insertLink.linkType), /*#__PURE__*/React__default['default'].createElement("select", {
|
|
2022
|
-
className: "fortune-link-modify-select",
|
|
1933
|
+
}, containerEvent), /*#__PURE__*/React__default['default'].createElement(ui.Select, {
|
|
2023
1934
|
value: linkType,
|
|
2024
|
-
|
|
2025
|
-
if (
|
|
1935
|
+
onValueChange: function onValueChange(value) {
|
|
1936
|
+
if (value === "sheet") {
|
|
2026
1937
|
if (!linkText) {
|
|
2027
1938
|
setLinkText(context.luckysheetfile[0].name);
|
|
2028
1939
|
}
|
|
@@ -2030,65 +1941,79 @@ var LinkEditCard = function LinkEditCard(_ref) {
|
|
|
2030
1941
|
} else {
|
|
2031
1942
|
setLinkAddress("");
|
|
2032
1943
|
}
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
1944
|
+
setLinkType(value);
|
|
1945
|
+
}
|
|
1946
|
+
}, /*#__PURE__*/React__default['default'].createElement(ui.SelectTrigger, {
|
|
1947
|
+
className: "fortune-link-type-select"
|
|
1948
|
+
}, /*#__PURE__*/React__default['default'].createElement(ui.SelectValue, null)), /*#__PURE__*/React__default['default'].createElement(ui.SelectContent, {
|
|
1949
|
+
className: "fortune-link-type-dropdown"
|
|
1950
|
+
}, linkTypeList.filter(function (type) {
|
|
1951
|
+
return type.value !== "cellrange";
|
|
1952
|
+
}).map(function (type) {
|
|
1953
|
+
return /*#__PURE__*/React__default['default'].createElement(ui.SelectItem, {
|
|
2038
1954
|
key: type.value,
|
|
2039
1955
|
value: type.value
|
|
2040
1956
|
}, type.text);
|
|
2041
1957
|
}))), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
2042
|
-
className: "fortune-
|
|
2043
|
-
},
|
|
2044
|
-
className: "
|
|
2045
|
-
},
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
1958
|
+
className: "fortune-input-with-icon"
|
|
1959
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1960
|
+
className: "input-icon"
|
|
1961
|
+
}, /*#__PURE__*/React__default['default'].createElement(ui.LucideIcon, {
|
|
1962
|
+
name: "ALargeSmall"
|
|
1963
|
+
})), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
|
|
1964
|
+
placeholder: "Display text",
|
|
1965
|
+
value: linkText,
|
|
2049
1966
|
onChange: function onChange(e) {
|
|
2050
|
-
return
|
|
2051
|
-
}
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
1967
|
+
return setLinkText(e.target.value);
|
|
1968
|
+
},
|
|
1969
|
+
className: "fortune-link-input"
|
|
1970
|
+
})), linkType === "webpage" && (/*#__PURE__*/React__default['default'].createElement("div", {
|
|
1971
|
+
className: "fortune-input-with-icon"
|
|
1972
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1973
|
+
className: "input-icon"
|
|
1974
|
+
}, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
|
|
1975
|
+
name: "link"
|
|
1976
|
+
})), /*#__PURE__*/React__default['default'].createElement(ui.TextField, {
|
|
1977
|
+
placeholder: "Paste URL",
|
|
2057
1978
|
value: linkAddress,
|
|
2058
1979
|
onChange: function onChange(e) {
|
|
2059
1980
|
return setLinkAddress(e.target.value);
|
|
2060
|
-
}
|
|
2061
|
-
}), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
2062
|
-
className: "fortune-link-modify-cell-selector",
|
|
2063
|
-
onClick: function onClick() {
|
|
2064
|
-
return setRangeModalVisible(true);
|
|
2065
1981
|
},
|
|
2066
|
-
|
|
1982
|
+
className: "fortune-link-input ".concat(!linkAddress || isLinkAddressValid.isValid ? "" : "error-input")
|
|
1983
|
+
}))), linkType === "sheet" && (/*#__PURE__*/React__default['default'].createElement("div", {
|
|
1984
|
+
className: "fortune-input-with-icon"
|
|
1985
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
1986
|
+
className: "input-icon"
|
|
2067
1987
|
}, /*#__PURE__*/React__default['default'].createElement(SVGIcon, {
|
|
2068
|
-
name: "
|
|
2069
|
-
})),
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
onChange: function onChange(e) {
|
|
2074
|
-
if (!linkText) setLinkText(e.target.value);
|
|
2075
|
-
setLinkAddress(e.target.value);
|
|
1988
|
+
name: "link"
|
|
1989
|
+
})), /*#__PURE__*/React__default['default'].createElement(ui.Select, {
|
|
1990
|
+
onValueChange: function onValueChange(value) {
|
|
1991
|
+
if (!linkText) setLinkText(value);
|
|
1992
|
+
setLinkAddress(value);
|
|
2076
1993
|
},
|
|
2077
1994
|
value: linkAddress
|
|
1995
|
+
}, /*#__PURE__*/React__default['default'].createElement(ui.SelectTrigger, {
|
|
1996
|
+
className: "fortune-sheet-select"
|
|
1997
|
+
}, /*#__PURE__*/React__default['default'].createElement(ui.SelectValue, {
|
|
1998
|
+
placeholder: "[Sheet name]"
|
|
1999
|
+
})), /*#__PURE__*/React__default['default'].createElement(ui.SelectContent, {
|
|
2000
|
+
className: "fortune-sheet-dropdown"
|
|
2078
2001
|
}, context.luckysheetfile.map(function (sheet) {
|
|
2079
|
-
return /*#__PURE__*/React__default['default'].createElement(
|
|
2002
|
+
return /*#__PURE__*/React__default['default'].createElement(ui.SelectItem, {
|
|
2080
2003
|
key: sheet.id,
|
|
2081
2004
|
value: sheet.name
|
|
2082
2005
|
}, sheet.name);
|
|
2083
|
-
}))
|
|
2084
|
-
className: "
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2006
|
+
}))))), /*#__PURE__*/React__default['default'].createElement(ui.Button, {
|
|
2007
|
+
className: "fortune-insert-button",
|
|
2008
|
+
disabled: isButtonDisabled,
|
|
2009
|
+
onClick: function onClick() {
|
|
2010
|
+
if (isButtonDisabled) return;
|
|
2011
|
+
___default['default'].set(refs.globalCache, "linkCard.mouseEnter", false);
|
|
2012
|
+
setContext(function (draftCtx) {
|
|
2013
|
+
return fortuneCore.saveHyperlink(draftCtx, r, c, linkText, linkType, linkAddress);
|
|
2014
|
+
});
|
|
2015
|
+
}
|
|
2016
|
+
}, "Insert link"));
|
|
2092
2017
|
};
|
|
2093
2018
|
|
|
2094
2019
|
var FilterOptions = function FilterOptions(_ref) {
|
|
@@ -6642,7 +6567,7 @@ var Toolbar = function Toolbar(_ref) {
|
|
|
6642
6567
|
className: "fortune-toolbar",
|
|
6643
6568
|
"aria-label": toolbar.toolbar
|
|
6644
6569
|
}, settings.customToolbarItems.filter(function (n) {
|
|
6645
|
-
return n.key
|
|
6570
|
+
return n.key === "import-export";
|
|
6646
6571
|
}).map(function (n) {
|
|
6647
6572
|
return /*#__PURE__*/React__default['default'].createElement(CustomButton, {
|
|
6648
6573
|
tooltip: n.tooltip,
|
|
@@ -6679,6 +6604,18 @@ var Toolbar = function Toolbar(_ref) {
|
|
|
6679
6604
|
icon: n.icon,
|
|
6680
6605
|
iconName: n.iconName
|
|
6681
6606
|
}, n.children);
|
|
6607
|
+
}), /*#__PURE__*/React__default['default'].createElement(Divider, {
|
|
6608
|
+
key: "templateDivider"
|
|
6609
|
+
}), settings.customToolbarItems.filter(function (n) {
|
|
6610
|
+
return n.key !== "templates" && n.key !== "import-export";
|
|
6611
|
+
}).map(function (n) {
|
|
6612
|
+
return /*#__PURE__*/React__default['default'].createElement(CustomButton, {
|
|
6613
|
+
tooltip: n.tooltip,
|
|
6614
|
+
onClick: n.onClick,
|
|
6615
|
+
key: n.key,
|
|
6616
|
+
icon: n.icon,
|
|
6617
|
+
iconName: n.iconName
|
|
6618
|
+
}, n.children);
|
|
6682
6619
|
}));
|
|
6683
6620
|
};
|
|
6684
6621
|
|