@glodon-aiot/dataset-annotation 3.25.1-alpha.3 → 3.25.1-alpha.4
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/es/_virtual/_commonjsHelpers.mjs +8 -0
- package/dist/es/_virtual/dayjs.min.mjs +4 -0
- package/dist/es/components/OCRImageViewer/index.mjs +130 -117
- package/dist/es/components/VersionCompare/VersionCompareSelectModal/index.mjs +121 -0
- package/dist/es/components/VersionCompare/adapter.mjs +215 -0
- package/dist/es/components/VersionCompare/components/DataChangeStatsCard.mjs +68 -0
- package/dist/es/components/VersionCompare/components/DiffValue.mjs +31 -0
- package/dist/es/components/VersionCompare/components/LabelComparisonCard.mjs +130 -0
- package/dist/es/components/VersionCompare/components/ModifiedSampleCompareModal.mjs +207 -0
- package/dist/es/components/VersionCompare/components/SampleChangeDetailsCard.mjs +167 -0
- package/dist/es/components/VersionCompare/components/SingleSampleDetailModal.mjs +165 -0
- package/dist/es/components/VersionCompare/components/VersionCompareHeader.mjs +114 -0
- package/dist/es/components/VersionCompare/components/VersionOverviewCard.mjs +70 -0
- package/dist/es/components/VersionCompare/index.mjs +416 -0
- package/dist/es/components/VersionCompare/mock.mjs +571 -0
- package/dist/es/components/VersionCompare/style.less.mjs +4 -0
- package/dist/es/components/VersionCompare/utils/labelColors.mjs +45 -0
- package/dist/es/createDatasetVersionCompare/index.mjs +124 -0
- package/dist/es/index.mjs +21 -15
- package/dist/es/node_modules/dayjs/dayjs.min.mjs +324 -0
- package/dist/lib/index.js +37 -4
- package/dist/src/components/OCRImageViewer/index.d.ts +1 -0
- package/dist/src/components/VersionCompare/VersionCompareSelectModal/index.d.ts +16 -0
- package/dist/src/components/VersionCompare/adapter.d.ts +50 -0
- package/dist/src/components/VersionCompare/components/DataChangeStatsCard.d.ts +9 -0
- package/dist/src/components/VersionCompare/components/DiffValue.d.ts +23 -0
- package/dist/src/components/VersionCompare/components/LabelComparisonCard.d.ts +12 -0
- package/dist/src/components/VersionCompare/components/ModifiedSampleCompareModal.d.ts +48 -0
- package/dist/src/components/VersionCompare/components/SampleChangeDetailsCard.d.ts +21 -0
- package/dist/src/components/VersionCompare/components/SingleSampleDetailModal.d.ts +46 -0
- package/dist/src/components/VersionCompare/components/VersionCompareHeader.d.ts +13 -0
- package/dist/src/components/VersionCompare/components/VersionOverviewCard.d.ts +9 -0
- package/dist/src/components/VersionCompare/index.d.ts +34 -0
- package/dist/src/components/VersionCompare/mock.d.ts +25 -0
- package/dist/src/components/VersionCompare/types.d.ts +75 -0
- package/dist/src/components/VersionCompare/utils/labelColors.d.ts +13 -0
- package/dist/src/createDatasetVersionCompare/index.d.ts +26 -0
- package/dist/src/index.d.ts +6 -0
- package/package.json +2 -2
- package/dist/dataset-annotation.js +0 -123598
- package/dist/dataset-annotation.umd.cjs +0 -1017
- package/dist/example/DatasetAnnotationDemo.d.ts +0 -3
- package/dist/example/DemoTabs.d.ts +0 -3
- package/dist/example/DetectionDatasetDemo.d.ts +0 -5
- package/dist/example/DetectionImageDemo.d.ts +0 -5
- package/dist/example/OcrDatasetDemo.d.ts +0 -5
- package/dist/example/OcrImageDemo.d.ts +0 -5
- package/dist/example/OcrkvcDatasetDemo.d.ts +0 -5
- package/dist/example/constant.local.d.ts +0 -6
- package/dist/example/index.d.ts +0 -1
- package/dist/src/components/VLMAnnotationDetail/MarkVLMBoxModal/ImageDetail/index.d.ts +0 -16
- package/dist/src/components/VLMAnnotationDetail/MarkVLMBoxModal/OCRBoxMaker/LabelEditorInput.d.ts +0 -12
- package/dist/src/components/VLMAnnotationDetail/MarkVLMBoxModal/OCRBoxMaker/LabelEditorItem.d.ts +0 -21
- package/dist/src/components/VLMAnnotationDetail/MarkVLMBoxModal/OCRBoxMaker/LableEditor.d.ts +0 -16
- package/dist/src/components/VLMAnnotationDetail/MarkVLMBoxModal/OCRBoxMaker/index.d.ts +0 -19
- package/dist/src/utils/reactCompatibility.d.ts +0 -5
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { jsxs as r, jsx as a, Fragment as q } from "react/jsx-runtime";
|
|
2
|
+
import { Spin as x, Tooltip as E, Pagination as O } from "antd";
|
|
3
|
+
import T from "classnames";
|
|
4
|
+
import V from "../../Thumbnail/index.mjs";
|
|
5
|
+
import A from "../../DetectionStatus/index.mjs";
|
|
6
|
+
import F from "../../DataEmpty/index.mjs";
|
|
7
|
+
const I = (s) => {
|
|
8
|
+
var d;
|
|
9
|
+
if (!((d = s == null ? void 0 : s.labels) != null && d.length))
|
|
10
|
+
return [];
|
|
11
|
+
const o = /* @__PURE__ */ new Set();
|
|
12
|
+
return s.labels.forEach((n) => {
|
|
13
|
+
var t;
|
|
14
|
+
const l = (t = n == null ? void 0 : n.label) == null ? void 0 : t.trim();
|
|
15
|
+
l && o.add(l);
|
|
16
|
+
}), Array.from(o);
|
|
17
|
+
}, R = (s) => {
|
|
18
|
+
var b, p, N, g;
|
|
19
|
+
const {
|
|
20
|
+
baseVersionNo: o,
|
|
21
|
+
targetVersionNo: d,
|
|
22
|
+
isOcrDetection: n,
|
|
23
|
+
changeStats: l,
|
|
24
|
+
activeTab: t,
|
|
25
|
+
items: v,
|
|
26
|
+
total: D,
|
|
27
|
+
pageNo: u,
|
|
28
|
+
pageSize: f,
|
|
29
|
+
loading: U = !1,
|
|
30
|
+
imgProxy: z,
|
|
31
|
+
onTabChange: L,
|
|
32
|
+
onPageChange: P,
|
|
33
|
+
onSampleClick: h
|
|
34
|
+
} = s, $ = [{
|
|
35
|
+
key: "added",
|
|
36
|
+
label: "新增",
|
|
37
|
+
count: (b = l == null ? void 0 : l.addedCount) != null ? b : 0
|
|
38
|
+
}, {
|
|
39
|
+
key: "deleted",
|
|
40
|
+
label: "删除",
|
|
41
|
+
count: (p = l == null ? void 0 : l.deletedCount) != null ? p : 0
|
|
42
|
+
}, {
|
|
43
|
+
key: "modified",
|
|
44
|
+
label: "修改",
|
|
45
|
+
count: (N = l == null ? void 0 : l.modifiedCount) != null ? N : 0
|
|
46
|
+
}, {
|
|
47
|
+
key: "unchanged",
|
|
48
|
+
label: "无变动",
|
|
49
|
+
count: (g = l == null ? void 0 : l.unchangedCount) != null ? g : 0
|
|
50
|
+
}];
|
|
51
|
+
return /* @__PURE__ */ r("div", {
|
|
52
|
+
className: "vc-card vc-sample-details-card",
|
|
53
|
+
children: [/* @__PURE__ */ r("div", {
|
|
54
|
+
children: [/* @__PURE__ */ r("div", {
|
|
55
|
+
className: "vc-card-header",
|
|
56
|
+
children: [/* @__PURE__ */ a("h3", {
|
|
57
|
+
className: "vc-card-title",
|
|
58
|
+
children: "数据变更详情"
|
|
59
|
+
}), /* @__PURE__ */ r("span", {
|
|
60
|
+
className: "vc-card-subtitle",
|
|
61
|
+
children: ["(", o || "-", " → ", d || "-", ")"]
|
|
62
|
+
})]
|
|
63
|
+
}), /* @__PURE__ */ a("div", {
|
|
64
|
+
className: "vc-sample-tabs-bar",
|
|
65
|
+
role: "tablist",
|
|
66
|
+
children: $.map((c) => {
|
|
67
|
+
const i = t === c.key;
|
|
68
|
+
return /* @__PURE__ */ r("div", {
|
|
69
|
+
role: "tab",
|
|
70
|
+
"aria-selected": i,
|
|
71
|
+
className: T("vc-sample-tab-item", {
|
|
72
|
+
"is-active": i
|
|
73
|
+
}),
|
|
74
|
+
onClick: () => {
|
|
75
|
+
c.key !== t && L(c.key);
|
|
76
|
+
},
|
|
77
|
+
children: [c.label, " (", c.count, ")"]
|
|
78
|
+
}, c.key);
|
|
79
|
+
})
|
|
80
|
+
})]
|
|
81
|
+
}), /* @__PURE__ */ a(x, {
|
|
82
|
+
spinning: U,
|
|
83
|
+
children: v.length > 0 ? /* @__PURE__ */ r(q, {
|
|
84
|
+
children: [/* @__PURE__ */ a("div", {
|
|
85
|
+
className: "vc-sample-grid",
|
|
86
|
+
children: v.map((c, i) => {
|
|
87
|
+
var y, w;
|
|
88
|
+
const e = c.sample, j = (u - 1) * f + i + 1, m = n ? [] : I(e), C = ((w = (y = e == null ? void 0 : e.labels) == null ? void 0 : y[0]) == null ? void 0 : w.label) || m[0] || "", k = m.length >= 2 ? `+${m.length - 1}` : null;
|
|
89
|
+
return /* @__PURE__ */ r("div", {
|
|
90
|
+
className: "vc-sample-card",
|
|
91
|
+
"data-sample-id": (e == null ? void 0 : e.id) || c.fileKey || String(i),
|
|
92
|
+
onClick: () => h == null ? void 0 : h(c, i),
|
|
93
|
+
children: [/* @__PURE__ */ a("div", {
|
|
94
|
+
className: "vc-detection-status-wrapper",
|
|
95
|
+
children: /* @__PURE__ */ a(A, {
|
|
96
|
+
sample: e
|
|
97
|
+
})
|
|
98
|
+
}), /* @__PURE__ */ a("div", {
|
|
99
|
+
className: "vc-sample-card-img",
|
|
100
|
+
children: /* @__PURE__ */ a(V, {
|
|
101
|
+
fileKey: (e == null ? void 0 : e.fileKey) || c.fileKey,
|
|
102
|
+
width: 124,
|
|
103
|
+
thumbnailUrl: (e == null ? void 0 : e.thumbnailUrl) || (e == null ? void 0 : e.fileUrl),
|
|
104
|
+
imgProxy: z
|
|
105
|
+
})
|
|
106
|
+
}), /* @__PURE__ */ r("div", {
|
|
107
|
+
className: T("vc-sample-card-footer", {
|
|
108
|
+
"is-ocr": n
|
|
109
|
+
}),
|
|
110
|
+
children: [!n && /* @__PURE__ */ a("div", {
|
|
111
|
+
className: "vc-sample-label-info",
|
|
112
|
+
children: C ? /* @__PURE__ */ a(E, {
|
|
113
|
+
placement: "top",
|
|
114
|
+
title: /* @__PURE__ */ a("div", {
|
|
115
|
+
children: m.map((K) => /* @__PURE__ */ a("div", {
|
|
116
|
+
children: K
|
|
117
|
+
}, K))
|
|
118
|
+
}),
|
|
119
|
+
children: /* @__PURE__ */ r("div", {
|
|
120
|
+
style: {
|
|
121
|
+
width: "100%",
|
|
122
|
+
display: "flex",
|
|
123
|
+
alignItems: "center"
|
|
124
|
+
},
|
|
125
|
+
children: [/* @__PURE__ */ a("span", {
|
|
126
|
+
className: "vc-sample-first-label",
|
|
127
|
+
children: C
|
|
128
|
+
}), k && /* @__PURE__ */ a("span", {
|
|
129
|
+
className: "vc-sample-more-count",
|
|
130
|
+
children: k
|
|
131
|
+
})]
|
|
132
|
+
})
|
|
133
|
+
}) : /* @__PURE__ */ a("span", {
|
|
134
|
+
className: "vc-sample-no-label",
|
|
135
|
+
children: "无标签"
|
|
136
|
+
})
|
|
137
|
+
}), /* @__PURE__ */ a("div", {
|
|
138
|
+
className: "vc-sample-serial",
|
|
139
|
+
children: j
|
|
140
|
+
})]
|
|
141
|
+
})]
|
|
142
|
+
}, `${c.changeType}-${c.fileKey || (e == null ? void 0 : e.id) || i}`);
|
|
143
|
+
})
|
|
144
|
+
}), /* @__PURE__ */ a("div", {
|
|
145
|
+
className: "vc-sample-pagination",
|
|
146
|
+
children: /* @__PURE__ */ a(O, {
|
|
147
|
+
current: u,
|
|
148
|
+
pageSize: f,
|
|
149
|
+
total: D,
|
|
150
|
+
showQuickJumper: !0,
|
|
151
|
+
showSizeChanger: !0,
|
|
152
|
+
pageSizeOptions: ["10", "20", "50", "100"],
|
|
153
|
+
onChange: P
|
|
154
|
+
})
|
|
155
|
+
})]
|
|
156
|
+
}) : /* @__PURE__ */ a("div", {
|
|
157
|
+
className: "vc-sample-empty-wrapper",
|
|
158
|
+
children: /* @__PURE__ */ a(F, {
|
|
159
|
+
description: "当前分类下暂无图片数据"
|
|
160
|
+
})
|
|
161
|
+
})
|
|
162
|
+
})]
|
|
163
|
+
});
|
|
164
|
+
};
|
|
165
|
+
export {
|
|
166
|
+
R as default
|
|
167
|
+
};
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
2
|
+
import { useState as w, useRef as R, useEffect as U, useMemo as P } from "react";
|
|
3
|
+
import { Modal as T, Tag as D, Button as q, Spin as y } from "antd";
|
|
4
|
+
import { useKeyPress as _ } from "ahooks";
|
|
5
|
+
import $ from "../../Iconfont/index.mjs";
|
|
6
|
+
import ee from "../../DetectionStatus/index.mjs";
|
|
7
|
+
import le from "../../DetectionAnnotation/components/LabelMaker/index.mjs";
|
|
8
|
+
import se from "../../OCRImageViewer/index.mjs";
|
|
9
|
+
import { injectSampleLabelColors as G } from "../utils/labelColors.mjs";
|
|
10
|
+
const H = {
|
|
11
|
+
added: {
|
|
12
|
+
text: "新增",
|
|
13
|
+
className: "is-added"
|
|
14
|
+
},
|
|
15
|
+
deleted: {
|
|
16
|
+
text: "删除",
|
|
17
|
+
className: "is-deleted"
|
|
18
|
+
},
|
|
19
|
+
modified: {
|
|
20
|
+
text: "修改",
|
|
21
|
+
className: "is-modified"
|
|
22
|
+
},
|
|
23
|
+
unchanged: {
|
|
24
|
+
text: "无变动",
|
|
25
|
+
className: "is-unchanged"
|
|
26
|
+
}
|
|
27
|
+
}, ve = ({
|
|
28
|
+
open: t,
|
|
29
|
+
onCancel: K,
|
|
30
|
+
item: l,
|
|
31
|
+
changeType: o,
|
|
32
|
+
isOcrDetection: b,
|
|
33
|
+
datasetId: g,
|
|
34
|
+
baseVersionId: Y,
|
|
35
|
+
targetVersionId: J,
|
|
36
|
+
labelColorMap: h,
|
|
37
|
+
canPrev: ae,
|
|
38
|
+
canNext: te,
|
|
39
|
+
switching: E = !1,
|
|
40
|
+
onPrev: M,
|
|
41
|
+
onNext: S,
|
|
42
|
+
onImageReadyChange: m,
|
|
43
|
+
cvforceDatahub: n,
|
|
44
|
+
useMock: V = !1
|
|
45
|
+
}) => {
|
|
46
|
+
var I, k, z;
|
|
47
|
+
const [u, j] = w(null), [A, f] = w(!1), [O, i] = w(), x = R(0);
|
|
48
|
+
U(() => {
|
|
49
|
+
t || i(void 0);
|
|
50
|
+
}, [t]);
|
|
51
|
+
const r = P(() => {
|
|
52
|
+
if (l)
|
|
53
|
+
return o === "deleted" && l.baseSample || l.sample;
|
|
54
|
+
}, [l, o]), L = o === "deleted" ? Y : J;
|
|
55
|
+
U(() => {
|
|
56
|
+
if (j(null), !t || !r) {
|
|
57
|
+
f(!1);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const v = !!r.fileUrl, N = Array.isArray(r.labels);
|
|
61
|
+
if (V || !(n != null && n.getDatasetsIdVersionsVidSsamplesSid) || !g || !L || !r.id || v && N) {
|
|
62
|
+
f(!1);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const p = ++x.current;
|
|
66
|
+
f(!0), n.getDatasetsIdVersionsVidSsamplesSid(g, L, r.id).then((Z) => {
|
|
67
|
+
p === x.current && j(Z);
|
|
68
|
+
}).catch(() => {
|
|
69
|
+
}).finally(() => {
|
|
70
|
+
p === x.current && f(!1);
|
|
71
|
+
});
|
|
72
|
+
}, [t, r, V, n, g, L]);
|
|
73
|
+
const e = u || r, Q = P(() => {
|
|
74
|
+
var v, N;
|
|
75
|
+
return u ? G(u, h) : o === "deleted" && ((v = l == null ? void 0 : l.baseColorLabels) != null && v.length) ? l.baseColorLabels : (N = l == null ? void 0 : l.targetColorLabels) != null && N.length ? l.targetColorLabels : G(e, h);
|
|
76
|
+
}, [u, l, o, e, h]), B = H[o] || H.added, C = (l == null ? void 0 : l.displayFileName) || ((I = e == null ? void 0 : e.sampleFileName) == null ? void 0 : I.name) || (e == null ? void 0 : e.fileName) || "-", a = (e == null ? void 0 : e.fileUrl) || (e == null ? void 0 : e.thumbnailUrl) || "", W = (z = (k = e == null ? void 0 : e.labels) == null ? void 0 : k.length) != null ? z : 0, F = !!a && O !== a, d = E || A || F, X = E || A || b && F;
|
|
77
|
+
return U(() => {
|
|
78
|
+
m == null || m(t && !d && !!a);
|
|
79
|
+
}, [t, d, a, m]), _("leftarrow", () => {
|
|
80
|
+
!t || d || M();
|
|
81
|
+
}), _("rightarrow", () => {
|
|
82
|
+
!t || d || S();
|
|
83
|
+
}), /* @__PURE__ */ s(T, {
|
|
84
|
+
open: t,
|
|
85
|
+
onCancel: K,
|
|
86
|
+
footer: null,
|
|
87
|
+
centered: !0,
|
|
88
|
+
width: 1151,
|
|
89
|
+
destroyOnClose: !0,
|
|
90
|
+
wrapClassName: "vc-single-detail-modal-wrap",
|
|
91
|
+
className: "vc-single-detail-modal",
|
|
92
|
+
title: /* @__PURE__ */ c("div", {
|
|
93
|
+
className: "vc-detail-modal-header",
|
|
94
|
+
children: [/* @__PURE__ */ c("div", {
|
|
95
|
+
className: "vc-detail-modal-header-left",
|
|
96
|
+
children: [/* @__PURE__ */ s("span", {
|
|
97
|
+
className: "vc-detail-modal-title",
|
|
98
|
+
children: "图片详情"
|
|
99
|
+
}), /* @__PURE__ */ s(D, {
|
|
100
|
+
className: `vc-detail-change-tag ${B.className}`,
|
|
101
|
+
children: B.text
|
|
102
|
+
})]
|
|
103
|
+
}), /* @__PURE__ */ s("span", {
|
|
104
|
+
className: "vc-detail-modal-filename",
|
|
105
|
+
title: C,
|
|
106
|
+
children: C
|
|
107
|
+
})]
|
|
108
|
+
}),
|
|
109
|
+
children: /* @__PURE__ */ c("div", {
|
|
110
|
+
className: "vc-single-detail-body",
|
|
111
|
+
children: [/* @__PURE__ */ s(q, {
|
|
112
|
+
className: "vc-detail-nav-btn select-prev",
|
|
113
|
+
icon: /* @__PURE__ */ s($, {
|
|
114
|
+
type: "icon-zuojiantou"
|
|
115
|
+
}),
|
|
116
|
+
type: "text",
|
|
117
|
+
disabled: d,
|
|
118
|
+
onClick: M
|
|
119
|
+
}), /* @__PURE__ */ c("div", {
|
|
120
|
+
className: "vc-single-detail-center",
|
|
121
|
+
children: [/* @__PURE__ */ s("div", {
|
|
122
|
+
className: "vc-ocr-box-count-bar",
|
|
123
|
+
children: b ? `标注框数量:${W}` : null
|
|
124
|
+
}), /* @__PURE__ */ c("div", {
|
|
125
|
+
className: "vc-single-detail-canvas",
|
|
126
|
+
children: [e && /* @__PURE__ */ s("div", {
|
|
127
|
+
className: "vc-modal-detection-status",
|
|
128
|
+
children: /* @__PURE__ */ s(ee, {
|
|
129
|
+
sample: e
|
|
130
|
+
})
|
|
131
|
+
}), e && (b ? /* @__PURE__ */ s(se, {
|
|
132
|
+
zoomMin: 0.1,
|
|
133
|
+
zoomMax: 10,
|
|
134
|
+
zoomStep: 0.1,
|
|
135
|
+
url: a,
|
|
136
|
+
labels: e.labels || [],
|
|
137
|
+
onImageLoad: () => i(a),
|
|
138
|
+
onImageError: () => i(a)
|
|
139
|
+
}, "vc-single-ocr") : /* @__PURE__ */ s(le, {
|
|
140
|
+
disabled: !0,
|
|
141
|
+
isPreLabel: !0,
|
|
142
|
+
imageUrl: a,
|
|
143
|
+
labels: Q,
|
|
144
|
+
onImageLoad: () => i(a),
|
|
145
|
+
onImageError: () => i(a)
|
|
146
|
+
}, "vc-single-det")), X && /* @__PURE__ */ s("div", {
|
|
147
|
+
className: "vc-detail-loading-mask",
|
|
148
|
+
children: /* @__PURE__ */ s(y, {})
|
|
149
|
+
})]
|
|
150
|
+
})]
|
|
151
|
+
}), /* @__PURE__ */ s(q, {
|
|
152
|
+
className: "vc-detail-nav-btn select-next",
|
|
153
|
+
icon: /* @__PURE__ */ s($, {
|
|
154
|
+
type: "icon-youjiantou"
|
|
155
|
+
}),
|
|
156
|
+
type: "text",
|
|
157
|
+
disabled: d,
|
|
158
|
+
onClick: S
|
|
159
|
+
})]
|
|
160
|
+
})
|
|
161
|
+
});
|
|
162
|
+
};
|
|
163
|
+
export {
|
|
164
|
+
ve as default
|
|
165
|
+
};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { jsxs as a, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Tooltip as v, Button as b } from "antd";
|
|
3
|
+
import { ArrowLeftOutlined as l, ArrowRightOutlined as h } from "@ant-design/icons";
|
|
4
|
+
const f = (i) => {
|
|
5
|
+
const {
|
|
6
|
+
datasetName: s,
|
|
7
|
+
baseVersionNo: d,
|
|
8
|
+
targetVersionNo: o,
|
|
9
|
+
formattedCompareTime: t,
|
|
10
|
+
showBreadcrumb: n = !0,
|
|
11
|
+
onBack: r,
|
|
12
|
+
onReselect: m
|
|
13
|
+
} = i;
|
|
14
|
+
return /* @__PURE__ */ a("div", {
|
|
15
|
+
className: "vc-top-bar-wrapper",
|
|
16
|
+
children: [n && /* @__PURE__ */ e("div", {
|
|
17
|
+
className: "vc-breadcrumb-bar",
|
|
18
|
+
children: /* @__PURE__ */ a("div", {
|
|
19
|
+
className: "vc-breadcrumb-left",
|
|
20
|
+
children: [/* @__PURE__ */ e("span", {
|
|
21
|
+
className: "vc-back-btn",
|
|
22
|
+
role: "button",
|
|
23
|
+
tabIndex: 0,
|
|
24
|
+
"aria-label": "返回",
|
|
25
|
+
onClick: r,
|
|
26
|
+
onKeyDown: (c) => {
|
|
27
|
+
(c.key === "Enter" || c.key === " ") && (r == null || r());
|
|
28
|
+
},
|
|
29
|
+
children: /* @__PURE__ */ e(l, {})
|
|
30
|
+
}), /* @__PURE__ */ a("nav", {
|
|
31
|
+
className: "vc-breadcrumb-nav",
|
|
32
|
+
"aria-label": "面包屑",
|
|
33
|
+
children: [/* @__PURE__ */ e("span", {
|
|
34
|
+
className: "vc-breadcrumb-link",
|
|
35
|
+
onClick: r,
|
|
36
|
+
children: "数据集管理"
|
|
37
|
+
}), /* @__PURE__ */ e("span", {
|
|
38
|
+
className: "vc-breadcrumb-sep",
|
|
39
|
+
children: "/"
|
|
40
|
+
}), /* @__PURE__ */ e("span", {
|
|
41
|
+
className: "vc-breadcrumb-current",
|
|
42
|
+
children: "版本对比"
|
|
43
|
+
})]
|
|
44
|
+
})]
|
|
45
|
+
})
|
|
46
|
+
}), /* @__PURE__ */ a("div", {
|
|
47
|
+
className: "vc-header-bar",
|
|
48
|
+
children: [/* @__PURE__ */ a("div", {
|
|
49
|
+
className: "vc-header-left",
|
|
50
|
+
children: [/* @__PURE__ */ a("div", {
|
|
51
|
+
className: "vc-dataset-title-group",
|
|
52
|
+
children: [!n && /* @__PURE__ */ e("span", {
|
|
53
|
+
className: "vc-inline-back-btn",
|
|
54
|
+
role: "button",
|
|
55
|
+
tabIndex: 0,
|
|
56
|
+
"aria-label": "返回",
|
|
57
|
+
onClick: r,
|
|
58
|
+
onKeyDown: (c) => {
|
|
59
|
+
(c.key === "Enter" || c.key === " ") && (r == null || r());
|
|
60
|
+
},
|
|
61
|
+
children: /* @__PURE__ */ e(l, {})
|
|
62
|
+
}), /* @__PURE__ */ e(v, {
|
|
63
|
+
title: s,
|
|
64
|
+
children: /* @__PURE__ */ e("span", {
|
|
65
|
+
className: "vc-dataset-name",
|
|
66
|
+
children: s || "-"
|
|
67
|
+
})
|
|
68
|
+
})]
|
|
69
|
+
}), /* @__PURE__ */ a("div", {
|
|
70
|
+
className: "vc-version-direction",
|
|
71
|
+
children: [/* @__PURE__ */ e("span", {
|
|
72
|
+
className: "vc-version-label",
|
|
73
|
+
children: "对比版本:"
|
|
74
|
+
}), /* @__PURE__ */ a("div", {
|
|
75
|
+
className: "vc-version-pair",
|
|
76
|
+
children: [/* @__PURE__ */ a("span", {
|
|
77
|
+
className: "vc-version-tag",
|
|
78
|
+
children: [/* @__PURE__ */ e("span", {
|
|
79
|
+
className: "vc-version-no",
|
|
80
|
+
children: d || "-"
|
|
81
|
+
}), /* @__PURE__ */ e("span", {
|
|
82
|
+
className: "vc-version-role",
|
|
83
|
+
children: "(基准版本)"
|
|
84
|
+
})]
|
|
85
|
+
}), /* @__PURE__ */ e("span", {
|
|
86
|
+
className: "vc-version-arrow",
|
|
87
|
+
"aria-label": "对比方向",
|
|
88
|
+
children: /* @__PURE__ */ e(h, {})
|
|
89
|
+
}), /* @__PURE__ */ a("span", {
|
|
90
|
+
className: "vc-version-tag",
|
|
91
|
+
children: [/* @__PURE__ */ e("span", {
|
|
92
|
+
className: "vc-version-no",
|
|
93
|
+
children: o || "-"
|
|
94
|
+
}), /* @__PURE__ */ e("span", {
|
|
95
|
+
className: "vc-version-role",
|
|
96
|
+
children: "(目标版本)"
|
|
97
|
+
})]
|
|
98
|
+
})]
|
|
99
|
+
})]
|
|
100
|
+
}), /* @__PURE__ */ a("span", {
|
|
101
|
+
className: "vc-compare-time",
|
|
102
|
+
children: ["对比时间:", t || "-"]
|
|
103
|
+
})]
|
|
104
|
+
}), /* @__PURE__ */ e(b, {
|
|
105
|
+
className: "vc-reselect-btn",
|
|
106
|
+
onClick: m,
|
|
107
|
+
children: "重新选择"
|
|
108
|
+
})]
|
|
109
|
+
})]
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
export {
|
|
113
|
+
f as default
|
|
114
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { jsxs as a, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import n from "./DiffValue.mjs";
|
|
3
|
+
const h = (r) => {
|
|
4
|
+
const {
|
|
5
|
+
baseVersionNo: s,
|
|
6
|
+
targetVersionNo: i,
|
|
7
|
+
rows: l
|
|
8
|
+
} = r;
|
|
9
|
+
return /* @__PURE__ */ a("div", {
|
|
10
|
+
className: "vc-card vc-overview-card",
|
|
11
|
+
children: [/* @__PURE__ */ e("div", {
|
|
12
|
+
className: "vc-card-header",
|
|
13
|
+
children: /* @__PURE__ */ e("h3", {
|
|
14
|
+
className: "vc-card-title",
|
|
15
|
+
children: "版本数据概览"
|
|
16
|
+
})
|
|
17
|
+
}), /* @__PURE__ */ e("div", {
|
|
18
|
+
className: "vc-table-container",
|
|
19
|
+
children: /* @__PURE__ */ a("table", {
|
|
20
|
+
className: "vc-standard-table",
|
|
21
|
+
children: [/* @__PURE__ */ e("thead", {
|
|
22
|
+
children: /* @__PURE__ */ a("tr", {
|
|
23
|
+
children: [/* @__PURE__ */ e("th", {
|
|
24
|
+
children: "指标"
|
|
25
|
+
}), /* @__PURE__ */ e("th", {
|
|
26
|
+
children: /* @__PURE__ */ a("span", {
|
|
27
|
+
className: "vc-th-version-title",
|
|
28
|
+
children: [/* @__PURE__ */ e("span", {
|
|
29
|
+
className: "vc-th-version-no",
|
|
30
|
+
children: s || "-"
|
|
31
|
+
}), /* @__PURE__ */ e("span", {
|
|
32
|
+
className: "vc-th-version-desc",
|
|
33
|
+
children: "(基准版本)"
|
|
34
|
+
})]
|
|
35
|
+
})
|
|
36
|
+
}), /* @__PURE__ */ e("th", {
|
|
37
|
+
children: /* @__PURE__ */ a("span", {
|
|
38
|
+
className: "vc-th-version-title",
|
|
39
|
+
children: [/* @__PURE__ */ e("span", {
|
|
40
|
+
className: "vc-th-version-no",
|
|
41
|
+
children: i || "-"
|
|
42
|
+
}), /* @__PURE__ */ e("span", {
|
|
43
|
+
className: "vc-th-version-desc",
|
|
44
|
+
children: "(目标版本)"
|
|
45
|
+
})]
|
|
46
|
+
})
|
|
47
|
+
})]
|
|
48
|
+
})
|
|
49
|
+
}), /* @__PURE__ */ e("tbody", {
|
|
50
|
+
children: l.map((c) => /* @__PURE__ */ a("tr", {
|
|
51
|
+
children: [/* @__PURE__ */ e("td", {
|
|
52
|
+
children: c.metricLabel
|
|
53
|
+
}), /* @__PURE__ */ e("td", {
|
|
54
|
+
children: c.baseValue
|
|
55
|
+
}), /* @__PURE__ */ e("td", {
|
|
56
|
+
children: /* @__PURE__ */ e(n, {
|
|
57
|
+
value: c.targetValue,
|
|
58
|
+
diff: c.diff,
|
|
59
|
+
gap: 8
|
|
60
|
+
})
|
|
61
|
+
})]
|
|
62
|
+
}, c.key))
|
|
63
|
+
})]
|
|
64
|
+
})
|
|
65
|
+
})]
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
export {
|
|
69
|
+
h as default
|
|
70
|
+
};
|