@oceanbase/ui 1.0.0-alpha.10 → 1.0.0-alpha.11
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/ui.min.js +1 -1
- package/es/Action/Group.js +1 -0
- package/es/Action/Item.js +1 -0
- package/es/Action/index.js +1 -0
- package/es/BackgroundTaskManager/RefreshMan.js +1 -0
- package/es/BackgroundTaskManager/index.js +1 -0
- package/es/BasicLayout/Header.js +1 -0
- package/es/BasicLayout/index.js +1 -0
- package/es/BatchOperationBar/index.js +1 -0
- package/es/Boundary/Components/Code.js +1 -0
- package/es/Boundary/Components/Exception.js +1 -0
- package/es/Boundary/Components/Function.js +1 -0
- package/es/Boundary/index.js +1 -0
- package/es/ContentWithIcon/index.js +1 -0
- package/es/ContentWithQuestion/index.js +1 -0
- package/es/DateRanger/PickerPanel.js +1 -0
- package/es/DateRanger/Ranger.js +1 -0
- package/es/DateRanger/index.js +1 -0
- package/es/Dialog/Anchor.js +1 -0
- package/es/Dialog/EventProxy.js +1 -0
- package/es/Dialog/index.js +1 -0
- package/es/DocDialog/index.js +1 -0
- package/es/FooterToolbar/index.js +1 -0
- package/es/FullscreenBox/index.js +1 -0
- package/es/Highlight/DiffView/DiffCells.js +1 -0
- package/es/Highlight/DiffView/index.js +1 -0
- package/es/Highlight/HighlightCell.js +1 -0
- package/es/Highlight/JsonView.js +1 -0
- package/es/Highlight/index.js +1 -0
- package/es/Highlight/useKeyDownCopyEvent.js +1 -0
- package/es/IconFont/index.js +1 -0
- package/es/LightFilter/index.js +1 -0
- package/es/LocaleDropdown/index.js +1 -0
- package/es/Login/ActivateForm.js +1 -0
- package/es/Login/LoginForm.js +1 -0
- package/es/Login/RegisterForm.js +1 -0
- package/es/Login/index.js +1 -0
- package/es/Lottie/index.js +1 -0
- package/es/NavMenu/index.js +1 -0
- package/es/PageContainer/ItemRender.js +1 -0
- package/es/PageContainer/index.js +1 -0
- package/es/PageLoading/index.js +1 -0
- package/es/Password/Content.js +1 -0
- package/es/Password/index.js +1 -0
- package/es/ProCard/index.js +1 -0
- package/es/ProTable/index.js +2 -3
- package/es/Ranger/QuickPicker.js +1 -0
- package/es/Ranger/Ranger.js +1 -0
- package/es/Ranger/index.js +1 -0
- package/es/SideTip/Dragger.js +1 -0
- package/es/SideTip/IconLoading.js +1 -0
- package/es/SideTip/index.js +1 -0
- package/es/TagSelect/Group.js +1 -0
- package/es/TagSelect/Item.js +1 -0
- package/es/TagSelect/index.js +1 -0
- package/es/TreeSearch/index.js +1 -0
- package/es/Welcome/index.js +1 -0
- package/es/Welcome/step.js +1 -0
- package/es/_util/index.js +1 -0
- package/es/constant/index.js +1 -0
- package/es/index.js +1 -0
- package/es/locale/LocaleWrapper.js +1 -0
- package/es/locale/index.js +1 -0
- package/lib/Action/Group.js +189 -162
- package/lib/Action/Item.js +47 -65
- package/lib/Action/index.js +13 -35
- package/lib/Action/style/index.js +25 -43
- package/lib/BackgroundTaskManager/RefreshMan.js +34 -50
- package/lib/BackgroundTaskManager/constants.js +10 -32
- package/lib/BackgroundTaskManager/index.js +118 -126
- package/lib/BasicLayout/Header.js +242 -200
- package/lib/BasicLayout/index.js +265 -307
- package/lib/BasicLayout/locale/en-US.js +16 -34
- package/lib/BasicLayout/locale/ja-JP.js +16 -34
- package/lib/BasicLayout/locale/zh-CN.js +16 -34
- package/lib/BasicLayout/locale/zh-TW.js +16 -34
- package/lib/BasicLayout/style/Header.js +41 -60
- package/lib/BasicLayout/style/index.js +176 -197
- package/lib/BatchOperationBar/index.js +109 -151
- package/lib/BatchOperationBar/locale/en-US.js +10 -28
- package/lib/BatchOperationBar/locale/ja-JP.js +10 -28
- package/lib/BatchOperationBar/locale/zh-CN.js +10 -28
- package/lib/BatchOperationBar/locale/zh-TW.js +10 -28
- package/lib/BatchOperationBar/style/index.js +30 -46
- package/lib/Boundary/Components/Code.js +57 -75
- package/lib/Boundary/Components/Exception.js +103 -123
- package/lib/Boundary/Components/Function.js +47 -62
- package/lib/Boundary/Components/index.js +36 -25
- package/lib/Boundary/IBoundary.js +4 -16
- package/lib/Boundary/constant.js +16 -38
- package/lib/Boundary/index.js +11 -24
- package/lib/Boundary/locale/en-US.js +14 -32
- package/lib/Boundary/locale/ja-JP.js +14 -32
- package/lib/Boundary/locale/zh-CN.js +14 -32
- package/lib/Boundary/locale/zh-TW.js +14 -32
- package/lib/Boundary/style/index.js +28 -47
- package/lib/Boundary/utils.js +9 -31
- package/lib/ContentWithIcon/index.js +101 -114
- package/lib/ContentWithIcon/style/index.js +17 -36
- package/lib/ContentWithQuestion/index.js +40 -52
- package/lib/ContentWithQuestion/style/index.js +16 -35
- package/lib/DateRanger/PickerPanel.js +343 -325
- package/lib/DateRanger/Ranger.js +430 -515
- package/lib/DateRanger/constant/index.js +188 -376
- package/lib/DateRanger/index.js +45 -64
- package/lib/DateRanger/locale/en-US.js +20 -47
- package/lib/DateRanger/locale/ja-JP.js +20 -47
- package/lib/DateRanger/locale/zh-CN.js +20 -47
- package/lib/DateRanger/locale/zh-TW.js +20 -47
- package/lib/DateRanger/style/index.js +41 -62
- package/lib/DateRanger/typing.js +4 -16
- package/lib/Dialog/Anchor.js +70 -95
- package/lib/Dialog/Dock.js +14 -36
- package/lib/Dialog/EventProxy.js +21 -39
- package/lib/Dialog/index.js +327 -370
- package/lib/Dialog/locale/en-US.js +8 -26
- package/lib/Dialog/locale/ja-JP.js +8 -26
- package/lib/Dialog/locale/zh-CN.js +8 -26
- package/lib/Dialog/locale/zh-TW.js +8 -26
- package/lib/Dialog/style/index.js +58 -76
- package/lib/DocDialog/index.js +51 -77
- package/lib/DocDialog/locale/en-US.js +5 -23
- package/lib/DocDialog/locale/ja-JP.js +5 -23
- package/lib/DocDialog/locale/zh-CN.js +5 -23
- package/lib/DocDialog/locale/zh-TW.js +5 -23
- package/lib/FooterToolbar/index.js +27 -45
- package/lib/FooterToolbar/style/index.js +23 -38
- package/lib/FullscreenBox/index.js +151 -138
- package/lib/FullscreenBox/locale/en-US.js +5 -23
- package/lib/FullscreenBox/locale/ja-JP.js +5 -23
- package/lib/FullscreenBox/locale/zh-CN.js +5 -23
- package/lib/FullscreenBox/locale/zh-TW.js +5 -23
- package/lib/FullscreenBox/style/index.js +23 -41
- package/lib/Highlight/DiffView/DiffCells.js +34 -54
- package/lib/Highlight/DiffView/index.js +165 -163
- package/lib/Highlight/HighlightCell.js +28 -47
- package/lib/Highlight/JsonView.js +45 -74
- package/lib/Highlight/index.js +200 -214
- package/lib/Highlight/languages/bash.js +7 -34
- package/lib/Highlight/languages/cpp.js +7 -34
- package/lib/Highlight/languages/css.js +7 -34
- package/lib/Highlight/languages/dockerfile.js +7 -34
- package/lib/Highlight/languages/go.js +7 -34
- package/lib/Highlight/languages/groovy.js +7 -34
- package/lib/Highlight/languages/http.js +7 -34
- package/lib/Highlight/languages/java.js +7 -34
- package/lib/Highlight/languages/javascript.js +7 -34
- package/lib/Highlight/languages/json.js +7 -34
- package/lib/Highlight/languages/markdown.js +7 -34
- package/lib/Highlight/languages/nginx.js +7 -34
- package/lib/Highlight/languages/python.js +7 -34
- package/lib/Highlight/languages/ruby.js +7 -34
- package/lib/Highlight/languages/solidity.js +7 -34
- package/lib/Highlight/languages/sql.js +7 -34
- package/lib/Highlight/languages/typescript.js +7 -34
- package/lib/Highlight/languages/xml.js +7 -34
- package/lib/Highlight/languages/yaml.js +7 -34
- package/lib/Highlight/locale/en-US.js +7 -25
- package/lib/Highlight/locale/ja-JP.js +7 -25
- package/lib/Highlight/locale/zh-CN.js +7 -25
- package/lib/Highlight/locale/zh-TW.js +7 -25
- package/lib/Highlight/style/index.js +128 -144
- package/lib/Highlight/useKeyDownCopyEvent.js +40 -64
- package/lib/IconFont/index.js +23 -28
- package/lib/LightFilter/index.js +29 -43
- package/lib/LightFilter/style/index.js +15 -33
- package/lib/LocaleDropdown/index.js +43 -53
- package/lib/Login/ActivateForm.js +93 -119
- package/lib/Login/LoginForm.js +149 -184
- package/lib/Login/RegisterForm.js +122 -163
- package/lib/Login/index.js +157 -163
- package/lib/Login/locale/en-US.js +31 -49
- package/lib/Login/locale/ja-JP.js +31 -49
- package/lib/Login/locale/zh-CN.js +31 -49
- package/lib/Login/locale/zh-TW.js +30 -48
- package/lib/Login/style/index.js +77 -98
- package/lib/Lottie/index.js +7 -24
- package/lib/NavMenu/index.js +105 -108
- package/lib/NavMenu/style/index.js +31 -49
- package/lib/PageContainer/ItemRender.js +28 -46
- package/lib/PageContainer/index.js +125 -140
- package/lib/PageContainer/locale/en-US.js +8 -26
- package/lib/PageContainer/locale/ja-JP.js +8 -26
- package/lib/PageContainer/locale/zh-CN.js +8 -26
- package/lib/PageContainer/locale/zh-TW.js +8 -26
- package/lib/PageContainer/style/index.js +19 -40
- package/lib/PageLoading/index.js +33 -54
- package/lib/Password/Content.js +92 -80
- package/lib/Password/index.js +125 -160
- package/lib/Password/locale/en-US.js +14 -32
- package/lib/Password/locale/ja-JP.js +16 -34
- package/lib/Password/locale/zh-CN.js +15 -33
- package/lib/Password/locale/zh-TW.js +14 -32
- package/lib/ProCard/index.js +77 -98
- package/lib/ProCard/style/index.js +21 -39
- package/lib/ProTable/index.js +102 -123
- package/lib/ProTable/style/index.js +21 -38
- package/lib/Ranger/QuickPicker.js +92 -94
- package/lib/Ranger/Ranger.js +98 -133
- package/lib/Ranger/constant/index.js +115 -266
- package/lib/Ranger/index.js +61 -69
- package/lib/Ranger/locale/en-US.js +31 -49
- package/lib/Ranger/locale/ja-JP.js +31 -49
- package/lib/Ranger/locale/zh-CN.js +7 -25
- package/lib/Ranger/locale/zh-TW.js +7 -25
- package/lib/Ranger/style/index.js +21 -39
- package/lib/Ranger/typing.js +4 -16
- package/lib/SideTip/Dragger.js +259 -219
- package/lib/SideTip/IconLoading.js +43 -74
- package/lib/SideTip/index.js +124 -126
- package/lib/SideTip/locale/en-US.js +5 -23
- package/lib/SideTip/locale/ja-JP.js +5 -23
- package/lib/SideTip/locale/zh-CN.js +5 -23
- package/lib/SideTip/locale/zh-TW.js +5 -23
- package/lib/SideTip/style/index.js +76 -92
- package/lib/SideTip/utils.js +40 -61
- package/lib/TagSelect/Group.js +64 -83
- package/lib/TagSelect/Item.js +68 -91
- package/lib/TagSelect/TagSelectContext.js +7 -25
- package/lib/TagSelect/index.js +12 -35
- package/lib/TagSelect/style/index.js +41 -64
- package/lib/TreeSearch/index.js +133 -127
- package/lib/TreeSearch/util.js +52 -70
- package/lib/Welcome/index.js +142 -117
- package/lib/Welcome/locale/en-US.js +8 -26
- package/lib/Welcome/locale/ja-JP.js +8 -26
- package/lib/Welcome/locale/zh-CN.js +8 -26
- package/lib/Welcome/locale/zh-TW.js +8 -26
- package/lib/Welcome/step/style/index.js +24 -40
- package/lib/Welcome/step.js +63 -59
- package/lib/Welcome/style/index.js +58 -70
- package/lib/_util/genComponentStyleHook.js +15 -43
- package/lib/_util/index.js +38 -43
- package/lib/_util/useNavigate.js +11 -26
- package/lib/constant/index.js +23 -49
- package/lib/index.js +283 -129
- package/lib/interface.js +4 -16
- package/lib/locale/LocaleWrapper.js +50 -60
- package/lib/locale/en-US.js +37 -64
- package/lib/locale/index.js +5 -16
- package/lib/locale/ja-JP.js +37 -64
- package/lib/locale/zh-CN.js +36 -63
- package/lib/locale/zh-TW.js +32 -59
- package/package.json +3 -3
|
@@ -1,54 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
28
2
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
__export(DiffView_exports, {
|
|
32
|
-
default: () => DiffView_default
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
33
5
|
});
|
|
34
|
-
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
var
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _design = require("@oceanbase/design");
|
|
8
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
+
var _diff = require("diff");
|
|
10
|
+
var _core = _interopRequireDefault(require("highlight.js/lib/core"));
|
|
11
|
+
var _warning = _interopRequireDefault(require("rc-util/lib/warning"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _ = require("..");
|
|
14
|
+
var _useKeyDownCopyEvent = require("../useKeyDownCopyEvent");
|
|
15
|
+
var _DiffCells = _interopRequireDefault(require("./DiffCells"));
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
18
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
|
+
"use client";
|
|
21
|
+
const MAX_MERGE_TIMES = 10000;
|
|
22
|
+
const EMPTY_TEXT = `<span class="hljs-comment">// 没有数据</span>`;
|
|
47
23
|
function getHighlightRows(language, code) {
|
|
48
|
-
const {
|
|
24
|
+
const {
|
|
25
|
+
value
|
|
26
|
+
} = language ? _core.default.highlight(language, code) : _core.default.highlightAuto(code);
|
|
49
27
|
return value.split(/\r?\n/);
|
|
50
28
|
}
|
|
51
|
-
|
|
29
|
+
const DiffView = ({
|
|
52
30
|
style,
|
|
53
31
|
className,
|
|
54
32
|
prefixCls: customizePrefixCls,
|
|
@@ -60,46 +38,55 @@ var DiffView = ({
|
|
|
60
38
|
height,
|
|
61
39
|
startRowIndex: baseStartRowIndex = 1
|
|
62
40
|
}) => {
|
|
63
|
-
const {
|
|
64
|
-
|
|
41
|
+
const {
|
|
42
|
+
getPrefixCls
|
|
43
|
+
} = (0, _react.useContext)(_design.ConfigProvider.ConfigContext);
|
|
44
|
+
const prefixCls = customizePrefixCls || getPrefixCls('highlight');
|
|
65
45
|
const diffPrefixCls = `${prefixCls}-diff`;
|
|
66
|
-
const [report, setReport] =
|
|
46
|
+
const [report, setReport] = _react.default.useState(null);
|
|
67
47
|
const normalizedIndexes = Array.isArray(baseStartRowIndex) ? baseStartRowIndex : [baseStartRowIndex, baseStartRowIndex];
|
|
68
48
|
const [baseStartRowIndexSrc = 1, baseStartRowIndexTgt = 1] = normalizedIndexes;
|
|
69
49
|
const rowOffsetSrc = baseStartRowIndexSrc > 1 ? baseStartRowIndexSrc - 1 : 0;
|
|
70
50
|
const rowOffsetTgt = baseStartRowIndexTgt > 1 ? baseStartRowIndexTgt - 1 : 0;
|
|
71
|
-
|
|
51
|
+
|
|
52
|
+
// =========================== Language ===========================
|
|
53
|
+
(0, _react.useEffect)(() => {
|
|
72
54
|
if (language) {
|
|
73
|
-
|
|
55
|
+
_core.default.registerLanguage(language, _.languageMap[language]);
|
|
74
56
|
} else {
|
|
75
|
-
Object.keys(
|
|
76
|
-
|
|
57
|
+
Object.keys(_.languageMap).forEach(lan => {
|
|
58
|
+
_core.default.registerLanguage(lan, _.languageMap[lan]);
|
|
77
59
|
});
|
|
78
60
|
}
|
|
79
61
|
}, [language]);
|
|
80
|
-
|
|
62
|
+
|
|
63
|
+
// ============================= Lock =============================
|
|
64
|
+
// Lock the selection to make user easy to copy
|
|
65
|
+
const [selectable, setSelectable] = _react.default.useState(null);
|
|
81
66
|
function setSelectableRegion(region) {
|
|
82
|
-
var _a, _b, _c, _d, _e, _f;
|
|
83
67
|
if (region !== selectable) {
|
|
84
|
-
|
|
85
|
-
|
|
68
|
+
window.getSelection?.().removeAllRanges?.();
|
|
69
|
+
window.getSelection?.().empty?.();
|
|
86
70
|
}
|
|
87
71
|
setSelectable(region);
|
|
88
72
|
}
|
|
89
73
|
const onSourceMouseDown = () => {
|
|
90
|
-
setSelectableRegion(
|
|
74
|
+
setSelectableRegion('source');
|
|
91
75
|
};
|
|
92
76
|
const onTargetMouseDown = () => {
|
|
93
|
-
setSelectableRegion(
|
|
77
|
+
setSelectableRegion('target');
|
|
94
78
|
};
|
|
95
|
-
|
|
79
|
+
|
|
80
|
+
// ============================= Diff =============================
|
|
81
|
+
// Collection diff content
|
|
82
|
+
(0, _react.useEffect)(() => {
|
|
96
83
|
if (!source && !target) {
|
|
97
84
|
setReport(null);
|
|
98
85
|
return;
|
|
99
86
|
}
|
|
100
|
-
const srcRows = getHighlightRows(language, source ||
|
|
101
|
-
const tgtRows = getHighlightRows(language, target ||
|
|
102
|
-
const diff = (0,
|
|
87
|
+
const srcRows = getHighlightRows(language, source || '');
|
|
88
|
+
const tgtRows = getHighlightRows(language, target || '');
|
|
89
|
+
const diff = (0, _diff.diffLines)(source || '', target || '');
|
|
103
90
|
const newReport = {
|
|
104
91
|
source: srcRows,
|
|
105
92
|
target: tgtRows,
|
|
@@ -107,7 +94,9 @@ var DiffView = ({
|
|
|
107
94
|
};
|
|
108
95
|
setReport(newReport);
|
|
109
96
|
}, [source, target, language]);
|
|
110
|
-
|
|
97
|
+
|
|
98
|
+
// Get diff rows
|
|
99
|
+
const diffData = (0, _react.useMemo)(() => {
|
|
111
100
|
if (!report) {
|
|
112
101
|
return null;
|
|
113
102
|
}
|
|
@@ -115,56 +104,65 @@ var DiffView = ({
|
|
|
115
104
|
let endRowIndex = 0;
|
|
116
105
|
const sourceRows = [];
|
|
117
106
|
const targetRows = [];
|
|
118
|
-
report.diff.forEach(({
|
|
107
|
+
report.diff.forEach(({
|
|
108
|
+
count,
|
|
109
|
+
added,
|
|
110
|
+
removed
|
|
111
|
+
}) => {
|
|
112
|
+
// Source
|
|
119
113
|
if (added) {
|
|
120
114
|
sourceRows.push(...new Array(count).fill(null));
|
|
121
115
|
} else {
|
|
122
|
-
sourceRows.push(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}))
|
|
128
|
-
);
|
|
116
|
+
sourceRows.push(...report.source.slice(startRowIndex, startRowIndex + count).map((value, index) => ({
|
|
117
|
+
value,
|
|
118
|
+
index: startRowIndex + index + 1,
|
|
119
|
+
type: removed ? 'remove' : 'keep'
|
|
120
|
+
})));
|
|
129
121
|
startRowIndex += count;
|
|
130
122
|
}
|
|
123
|
+
|
|
124
|
+
// Target
|
|
131
125
|
if (removed) {
|
|
132
126
|
targetRows.push(...new Array(count).fill(null));
|
|
133
127
|
} else {
|
|
134
|
-
targetRows.push(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}))
|
|
140
|
-
);
|
|
128
|
+
targetRows.push(...report.target.slice(endRowIndex, endRowIndex + count).map((value, index) => ({
|
|
129
|
+
value,
|
|
130
|
+
index: endRowIndex + index + 1,
|
|
131
|
+
type: added ? 'add' : 'keep'
|
|
132
|
+
})));
|
|
141
133
|
endRowIndex += count;
|
|
142
134
|
}
|
|
143
135
|
});
|
|
144
|
-
return {
|
|
136
|
+
return {
|
|
137
|
+
sourceRows,
|
|
138
|
+
targetRows
|
|
139
|
+
};
|
|
145
140
|
}, [report, split]);
|
|
146
|
-
|
|
141
|
+
|
|
142
|
+
// Merge -- & ++ to one row
|
|
143
|
+
const mergedData = (0, _react.useMemo)(() => {
|
|
147
144
|
if (!diffData) {
|
|
148
145
|
return null;
|
|
149
146
|
}
|
|
150
|
-
function findMergeRowIndex(startIndex,
|
|
151
|
-
|
|
152
|
-
for (let index = startIndex; index < sourceRows2.length - 1; index += 1) {
|
|
147
|
+
function findMergeRowIndex(startIndex, sourceRows, targetRows) {
|
|
148
|
+
for (let index = startIndex; index < sourceRows.length - 1; index += 1) {
|
|
153
149
|
if (
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
150
|
+
// Row: ---- | null
|
|
151
|
+
// Row: null | ++++
|
|
152
|
+
sourceRows[index]?.type === 'remove' && !targetRows[index] && !sourceRows[index + 1] && targetRows[index + 1]?.type === 'add') {
|
|
153
|
+
// Find source remove start index
|
|
158
154
|
let removeStartIndex = index;
|
|
159
155
|
for (let i = index - 1; i >= 0; i -= 1) {
|
|
160
|
-
if (
|
|
156
|
+
if (sourceRows[i]?.type !== 'remove') {
|
|
161
157
|
removeStartIndex = i + 1;
|
|
162
158
|
break;
|
|
163
159
|
}
|
|
164
160
|
}
|
|
161
|
+
|
|
162
|
+
// Find target add end index
|
|
165
163
|
let addEndIndex = index;
|
|
166
|
-
for (let i = index + 1; i <=
|
|
167
|
-
if (
|
|
164
|
+
for (let i = index + 1; i <= targetRows.length; i += 1) {
|
|
165
|
+
if (targetRows[i]?.type !== 'add') {
|
|
168
166
|
addEndIndex = i - 1;
|
|
169
167
|
break;
|
|
170
168
|
}
|
|
@@ -178,7 +176,10 @@ var DiffView = ({
|
|
|
178
176
|
}
|
|
179
177
|
return null;
|
|
180
178
|
}
|
|
181
|
-
let {
|
|
179
|
+
let {
|
|
180
|
+
sourceRows,
|
|
181
|
+
targetRows
|
|
182
|
+
} = diffData;
|
|
182
183
|
let mergeStartIndex = 0;
|
|
183
184
|
let times = 0;
|
|
184
185
|
for (; times < MAX_MERGE_TIMES; times += 1) {
|
|
@@ -186,23 +187,31 @@ var DiffView = ({
|
|
|
186
187
|
if (mergeInfo === null) {
|
|
187
188
|
break;
|
|
188
189
|
}
|
|
189
|
-
const {
|
|
190
|
+
const {
|
|
191
|
+
index,
|
|
192
|
+
addCount,
|
|
193
|
+
removeCount
|
|
194
|
+
} = mergeInfo;
|
|
190
195
|
const maxMergeRowCount = Math.min(addCount, removeCount);
|
|
191
196
|
sourceRows = [...sourceRows.slice(0, index), ...sourceRows.slice(index + maxMergeRowCount)];
|
|
192
197
|
targetRows = [...targetRows.slice(0, index - maxMergeRowCount), ...targetRows.slice(index)];
|
|
193
198
|
mergeStartIndex = index - maxMergeRowCount;
|
|
194
199
|
}
|
|
195
|
-
(0,
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
200
|
+
(0, _warning.default)(times < MAX_MERGE_TIMES, 'Diff check too many times. Please help to fire issue of DiffView. Thanks.');
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Change target rows order when has empty content:
|
|
204
|
+
* -- null -- [ Data ]
|
|
205
|
+
* -- null -- => -- null --
|
|
206
|
+
* [ Data ] -- null --
|
|
207
|
+
*/
|
|
199
208
|
const targetRowsLen = targetRows.length;
|
|
200
209
|
for (let i = 0; i < targetRowsLen; i += 1) {
|
|
201
210
|
if (!targetRows[i]) {
|
|
202
211
|
for (let j = i + 1; j < targetRowsLen; j += 1) {
|
|
203
212
|
const followRow = targetRows[j];
|
|
204
213
|
if (followRow) {
|
|
205
|
-
if (followRow.type ===
|
|
214
|
+
if (followRow.type === 'add') {
|
|
206
215
|
targetRows[i] = followRow;
|
|
207
216
|
targetRows[j] = null;
|
|
208
217
|
}
|
|
@@ -216,86 +225,79 @@ var DiffView = ({
|
|
|
216
225
|
source: src,
|
|
217
226
|
target: targetRows[index]
|
|
218
227
|
})),
|
|
219
|
-
sourceEmpty: sourceRows.every(
|
|
220
|
-
targetEmpty: targetRows.every(
|
|
228
|
+
sourceEmpty: sourceRows.every(row => !row),
|
|
229
|
+
targetEmpty: targetRows.every(row => !row)
|
|
221
230
|
};
|
|
222
231
|
}, [diffData]);
|
|
232
|
+
|
|
233
|
+
// ============================ Render ============================
|
|
223
234
|
let viewRows;
|
|
224
235
|
if (!report) {
|
|
225
|
-
viewRows =
|
|
226
|
-
|
|
227
|
-
{
|
|
236
|
+
viewRows = /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", {
|
|
237
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DiffCells.default, {
|
|
228
238
|
width: "100%",
|
|
229
|
-
diffPrefixCls,
|
|
239
|
+
diffPrefixCls: diffPrefixCls,
|
|
230
240
|
data: {
|
|
231
241
|
index: 1,
|
|
232
242
|
value: EMPTY_TEXT,
|
|
233
|
-
type:
|
|
243
|
+
type: 'keep'
|
|
234
244
|
}
|
|
235
|
-
}
|
|
236
|
-
|
|
245
|
+
})
|
|
246
|
+
});
|
|
237
247
|
} else if (split) {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
}
|
|
262
|
-
)
|
|
263
|
-
] }, index));
|
|
248
|
+
// Split view
|
|
249
|
+
viewRows = mergedData.rows.map(({
|
|
250
|
+
source: src,
|
|
251
|
+
target: tgt
|
|
252
|
+
}, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)("tr", {
|
|
253
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DiffCells.default, {
|
|
254
|
+
width: "50%",
|
|
255
|
+
diffPrefixCls: diffPrefixCls,
|
|
256
|
+
data: src,
|
|
257
|
+
emptyText: index === 0 && mergedData.sourceEmpty && EMPTY_TEXT,
|
|
258
|
+
onMouseDown: onSourceMouseDown,
|
|
259
|
+
lock: selectable !== 'source',
|
|
260
|
+
rowOffset: rowOffsetSrc
|
|
261
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DiffCells.default, {
|
|
262
|
+
width: "50%",
|
|
263
|
+
diffPrefixCls: diffPrefixCls,
|
|
264
|
+
data: tgt,
|
|
265
|
+
emptyText: index === 0 && mergedData.targetEmpty && EMPTY_TEXT,
|
|
266
|
+
onMouseDown: onTargetMouseDown,
|
|
267
|
+
lock: selectable !== 'target',
|
|
268
|
+
rowOffset: rowOffsetTgt
|
|
269
|
+
})]
|
|
270
|
+
}, index));
|
|
264
271
|
} else {
|
|
272
|
+
// Merge
|
|
265
273
|
viewRows = diffData.sourceRows.map((src, index) => {
|
|
266
|
-
return
|
|
267
|
-
|
|
268
|
-
{
|
|
274
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", {
|
|
275
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DiffCells.default, {
|
|
269
276
|
width: "100%",
|
|
270
|
-
diffPrefixCls,
|
|
277
|
+
diffPrefixCls: diffPrefixCls,
|
|
271
278
|
data: src ?? diffData.targetRows[index],
|
|
272
279
|
rowOffset: rowOffsetTgt
|
|
273
|
-
}
|
|
274
|
-
|
|
280
|
+
})
|
|
281
|
+
}, index);
|
|
275
282
|
});
|
|
276
283
|
}
|
|
277
|
-
const codeRef =
|
|
278
|
-
(0,
|
|
279
|
-
return
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
style
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
className
|
|
296
|
-
),
|
|
297
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("table", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("tbody", { children: viewRows }) })
|
|
298
|
-
}
|
|
299
|
-
);
|
|
284
|
+
const codeRef = _react.default.useRef();
|
|
285
|
+
(0, _useKeyDownCopyEvent.useKeyDownCopyEvent)(codeRef);
|
|
286
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
287
|
+
style: {
|
|
288
|
+
height,
|
|
289
|
+
...style
|
|
290
|
+
},
|
|
291
|
+
ref: codeRef,
|
|
292
|
+
tabIndex: -1,
|
|
293
|
+
className: (0, _classnames.default)(prefixCls, diffPrefixCls, `${prefixCls}-${theme === 'dark' ? 'dark' : 'light'}`, {
|
|
294
|
+
[`${diffPrefixCls}-split`]: split
|
|
295
|
+
}, className),
|
|
296
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("table", {
|
|
297
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
|
|
298
|
+
children: viewRows
|
|
299
|
+
})
|
|
300
|
+
})
|
|
301
|
+
});
|
|
300
302
|
};
|
|
301
|
-
var
|
|
303
|
+
var _default = exports.default = DiffView;
|
|
@@ -1,39 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
28
2
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
__export(HighlightCell_exports, {
|
|
32
|
-
default: () => HighlightCell
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
33
5
|
});
|
|
34
|
-
|
|
35
|
-
var
|
|
36
|
-
var
|
|
6
|
+
exports.default = HighlightCell;
|
|
7
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
"use client";
|
|
37
14
|
function HighlightCell({
|
|
38
15
|
prefixCls,
|
|
39
16
|
theme,
|
|
@@ -45,17 +22,21 @@ function HighlightCell({
|
|
|
45
22
|
onMouseDown,
|
|
46
23
|
hashId
|
|
47
24
|
}) {
|
|
48
|
-
const rowIndex = data
|
|
49
|
-
return
|
|
50
|
-
lineNumber ?
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
25
|
+
const rowIndex = data?.index;
|
|
26
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
27
|
+
children: [lineNumber ? /*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
|
|
28
|
+
className: (0, _classnames.default)(`${prefixCls}-${theme}-index`, `${prefixCls}-index`, hashId),
|
|
29
|
+
children: rowIndex
|
|
30
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
|
|
31
|
+
onMouseDown: onMouseDown,
|
|
32
|
+
style: {
|
|
33
|
+
width,
|
|
34
|
+
userSelect: lock ? 'none' : undefined
|
|
35
|
+
},
|
|
36
|
+
className: (0, _classnames.default)(`${prefixCls}-content`, hashId),
|
|
37
|
+
dangerouslySetInnerHTML: {
|
|
38
|
+
__html: data?.value ?? (emptyText || '')
|
|
58
39
|
}
|
|
59
|
-
)
|
|
60
|
-
|
|
61
|
-
}
|
|
40
|
+
})]
|
|
41
|
+
});
|
|
42
|
+
}
|