@glodon-aiot/dataset-annotation 3.25.1-alpha.2 → 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.
Files changed (39) hide show
  1. package/dist/es/_virtual/_commonjsHelpers.mjs +8 -0
  2. package/dist/es/_virtual/dayjs.min.mjs +4 -0
  3. package/dist/es/components/OCRImageViewer/index.mjs +130 -117
  4. package/dist/es/components/VersionCompare/VersionCompareSelectModal/index.mjs +121 -0
  5. package/dist/es/components/VersionCompare/adapter.mjs +215 -0
  6. package/dist/es/components/VersionCompare/components/DataChangeStatsCard.mjs +68 -0
  7. package/dist/es/components/VersionCompare/components/DiffValue.mjs +31 -0
  8. package/dist/es/components/VersionCompare/components/LabelComparisonCard.mjs +130 -0
  9. package/dist/es/components/VersionCompare/components/ModifiedSampleCompareModal.mjs +207 -0
  10. package/dist/es/components/VersionCompare/components/SampleChangeDetailsCard.mjs +167 -0
  11. package/dist/es/components/VersionCompare/components/SingleSampleDetailModal.mjs +165 -0
  12. package/dist/es/components/VersionCompare/components/VersionCompareHeader.mjs +114 -0
  13. package/dist/es/components/VersionCompare/components/VersionOverviewCard.mjs +70 -0
  14. package/dist/es/components/VersionCompare/index.mjs +416 -0
  15. package/dist/es/components/VersionCompare/mock.mjs +571 -0
  16. package/dist/es/components/VersionCompare/style.less.mjs +4 -0
  17. package/dist/es/components/VersionCompare/utils/labelColors.mjs +45 -0
  18. package/dist/es/createDatasetVersionCompare/index.mjs +124 -0
  19. package/dist/es/index.mjs +21 -15
  20. package/dist/es/node_modules/dayjs/dayjs.min.mjs +324 -0
  21. package/dist/lib/index.js +37 -4
  22. package/dist/src/components/OCRImageViewer/index.d.ts +1 -0
  23. package/dist/src/components/VersionCompare/VersionCompareSelectModal/index.d.ts +16 -0
  24. package/dist/src/components/VersionCompare/adapter.d.ts +50 -0
  25. package/dist/src/components/VersionCompare/components/DataChangeStatsCard.d.ts +9 -0
  26. package/dist/src/components/VersionCompare/components/DiffValue.d.ts +23 -0
  27. package/dist/src/components/VersionCompare/components/LabelComparisonCard.d.ts +12 -0
  28. package/dist/src/components/VersionCompare/components/ModifiedSampleCompareModal.d.ts +48 -0
  29. package/dist/src/components/VersionCompare/components/SampleChangeDetailsCard.d.ts +21 -0
  30. package/dist/src/components/VersionCompare/components/SingleSampleDetailModal.d.ts +46 -0
  31. package/dist/src/components/VersionCompare/components/VersionCompareHeader.d.ts +13 -0
  32. package/dist/src/components/VersionCompare/components/VersionOverviewCard.d.ts +9 -0
  33. package/dist/src/components/VersionCompare/index.d.ts +34 -0
  34. package/dist/src/components/VersionCompare/mock.d.ts +25 -0
  35. package/dist/src/components/VersionCompare/types.d.ts +75 -0
  36. package/dist/src/components/VersionCompare/utils/labelColors.d.ts +13 -0
  37. package/dist/src/createDatasetVersionCompare/index.d.ts +26 -0
  38. package/dist/src/index.d.ts +6 -0
  39. package/package.json +2 -2
@@ -0,0 +1,8 @@
1
+ var o = typeof globalThis != "undefined" ? globalThis : typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : {};
2
+ function l(e) {
3
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
4
+ }
5
+ export {
6
+ o as commonjsGlobal,
7
+ l as getDefaultExportFromCjs
8
+ };
@@ -0,0 +1,4 @@
1
+ var a = { exports: {} };
2
+ export {
3
+ a as __module
4
+ };
@@ -1,177 +1,186 @@
1
- import { jsxs as E, jsx as s } from "react/jsx-runtime";
2
- import { forwardRef as pt, useRef as _, useState as i, useEffect as vt, useImperativeHandle as It } from "react";
1
+ import { jsxs as b, jsx as s } from "react/jsx-runtime";
2
+ import { forwardRef as ye, useRef as k, useState as i, useImperativeHandle as We, useEffect as xe } from "react";
3
3
  import "./style.less.mjs";
4
- import Mt from "classnames";
5
- import { Space as wt, Tooltip as k, Button as L } from "antd";
6
- import { ZoomInOutlined as xt, ZoomOutOutlined as yt, DragOutlined as St } from "@ant-design/icons";
7
- import { useKeyPress as tt } from "ahooks";
8
- const Dt = pt((O, et) => {
9
- var Q;
4
+ import Ce from "classnames";
5
+ import { Space as He, Tooltip as O, Button as U } from "antd";
6
+ import { ZoomInOutlined as Se, ZoomOutOutlined as Ye, DragOutlined as Ee } from "@ant-design/icons";
7
+ import { useKeyPress as se } from "ahooks";
8
+ const ke = ye((B, ie) => {
9
+ var te;
10
10
  const {
11
- url: R,
12
- offsetEdge: ot = [50, 50, 50, 50],
13
- zoomable: b = !0,
14
- zoomStep: p = 0.02,
15
- zoomMax: v = 2,
11
+ url: v,
12
+ offsetEdge: re = [50, 50, 50, 50],
13
+ zoomable: j = !0,
14
+ zoomStep: w = 0.02,
15
+ zoomMax: M = 2,
16
16
  zoomMin: I = 0,
17
- onImageLoad: X,
18
- labels: N
19
- } = O, M = _({}), w = _({}), [j, nt] = i(0), [B, st] = i(0), [l, P] = i(1), [u, f] = i(0), [g, d] = i(0), [r, z] = i(0), [c, D] = i(0), [it, U] = i(!1), [Z, x] = i(!1), [$, rt] = i(), [y, S] = i({
17
+ onImageLoad: L,
18
+ onImageError: X,
19
+ labels: z
20
+ } = B, h = k({}), y = k({}), [Z, ce] = i(0), [$, ae] = i(0), [l, N] = i(1), [u, g] = i(0), [m, f] = i(0), [r, P] = i(0), [c, D] = i(0), [le, ue] = i(""), q = !!v && le === v, [K, W] = i(!1), [V, me] = i(), [x, C] = i({
20
21
  x: 0,
21
22
  y: 0
22
- }), [q, K, V, A] = ot, [a, T] = i((Q = O.draggable) != null ? Q : !0);
23
- tt("ctrl", () => {
24
- T(!0);
23
+ }), [A, F, G, J] = re, [a, R] = i((te = B.draggable) != null ? te : !0);
24
+ se("ctrl", () => {
25
+ R(!0);
25
26
  }, {
26
27
  events: ["keydown"]
27
- }), tt("ctrl", () => {
28
- T(!1);
28
+ }), se("ctrl", () => {
29
+ R(!1);
29
30
  }, {
30
31
  events: ["keyup"]
31
- }), vt(() => {
32
- U(!1);
33
- }, [R]);
34
- const F = () => {
35
- if (!w.current)
32
+ });
33
+ const T = () => {
34
+ var oe, ne;
35
+ if (!y.current || !((oe = h.current) != null && oe.naturalWidth) || !((ne = h.current) != null && ne.naturalHeight))
36
36
  return;
37
- const t = w.current.clientWidth, e = w.current.clientHeight, o = M.current.naturalWidth, n = M.current.naturalHeight, m = t / o, H = e / n, h = m < H ? m : H, mt = (t - o * h) / 2, ft = (e - n * h) / 2, dt = o * h, ht = n * h;
38
- nt(t), st(e), P(h), f(mt), d(ft), z(dt), D(ht), U(!0), X && X(M.current);
39
- }, C = () => {
40
- if (!b || l >= v)
37
+ const e = y.current.clientWidth, t = y.current.clientHeight, o = h.current.naturalWidth, n = h.current.naturalHeight, d = e / o, E = t / n, p = d < E ? d : E, ve = (e - o * p) / 2, we = (t - n * p) / 2, Me = o * p, Ie = n * p;
38
+ ce(e), ae(t), N(p), g(ve), f(we), P(Me), D((Xe) => Ie), ue(v), L && L(h.current);
39
+ }, Q = k(T);
40
+ Q.current = T;
41
+ const H = () => {
42
+ if (!j || l >= M)
41
43
  return;
42
- let t = l * (1 + p), e = p;
43
- t >= v && (t = v, e = v / l - 1), f(u - r * (e / 2)), d(g - c * (e / 2)), z(r + r * e), D(c + c * e), P(t), Y();
44
- }, W = () => {
45
- if (!b || l <= I)
44
+ let e = l * (1 + w), t = w;
45
+ e >= M && (e = M, t = M / l - 1), g(u - r * (t / 2)), f(m - c * (t / 2)), P(r + r * t), D(c + c * t), N(e), Y();
46
+ }, S = () => {
47
+ if (!j || l <= I)
46
48
  return;
47
- let t = l * (1 - p), e = p;
48
- t <= I && (t = I, e = 1 - I / l), f(u - r * (-e / 2)), d(g - c * (-e / 2)), z(r + r * -e), D(c + c * -e), P(t), Y();
49
+ let e = l * (1 - w), t = w;
50
+ e <= I && (e = I, t = 1 - I / l), g(u - r * (-t / 2)), f(m - c * (-t / 2)), P(r + r * -t), D(c + c * -t), N(e), Y();
49
51
  };
50
- It(et, () => ({
51
- zoomIn: C,
52
- zoomOut: W,
53
- onImageLoad: X
52
+ We(ie, () => ({
53
+ zoomIn: H,
54
+ zoomOut: S,
55
+ onImageLoad: L
54
56
  }));
55
- const ct = (t) => (t.deltaY < 0 ? C() : W(), !1), at = (t) => {
56
- x(!0);
57
+ const de = (e) => (e.deltaY < 0 ? H() : S(), !1), ge = (e) => {
58
+ W(!0);
57
59
  const {
58
- pageX: e,
60
+ pageX: t,
59
61
  pageY: o
60
- } = t;
61
- S({
62
- x: e,
62
+ } = e;
63
+ C({
64
+ x: t,
63
65
  y: o
64
66
  });
65
- }, lt = (t) => {
66
- if (!Z)
67
+ }, fe = (e) => {
68
+ if (!K)
67
69
  return !1;
68
70
  const {
69
- pageX: e,
71
+ pageX: t,
70
72
  pageY: o
71
- } = t, n = e - y.x, m = o - y.y;
72
- S({
73
- x: e,
73
+ } = e, n = t - x.x, d = o - x.y;
74
+ C({
75
+ x: t,
74
76
  y: o
75
- }), f(u + n), d(g + m), Y();
76
- }, G = () => {
77
- x(!1);
77
+ }), g(u + n), f(m + d), Y();
78
+ }, _ = () => {
79
+ W(!1);
78
80
  };
79
- window.onmouseup = () => {
80
- x(!1);
81
- }, window.onresize = F;
81
+ xe(() => {
82
+ const e = () => {
83
+ W(!1);
84
+ }, t = () => {
85
+ Q.current();
86
+ };
87
+ return window.addEventListener("mouseup", e), window.addEventListener("resize", t), () => {
88
+ window.removeEventListener("mouseup", e), window.removeEventListener("resize", t);
89
+ };
90
+ }, []);
82
91
  const Y = () => {
83
- u < -r + A && f(-r + A), g < -c + q && d(-c + q), u > j - K && f(j - K), g > B - V && d(B - V);
84
- }, ut = (t) => {
92
+ u < -r + J && g(-r + J), m < -c + A && f(-c + A), u > Z - F && g(Z - F), m > $ - G && f($ - G);
93
+ }, he = (e) => {
85
94
  const {
86
- touches: e
87
- } = t;
88
- if (x(!0), e.length < 2) {
95
+ touches: t
96
+ } = e;
97
+ if (W(!0), t.length < 2) {
89
98
  const {
90
99
  clientX: o,
91
100
  clientY: n
92
- } = e[0];
93
- S({
101
+ } = t[0];
102
+ C({
94
103
  x: o,
95
104
  y: n
96
105
  });
97
106
  } else
98
- rt(e);
99
- }, gt = (t) => {
100
- if (!Z || !t.touches)
107
+ me(t);
108
+ }, pe = (e) => {
109
+ if (!K || !e.touches)
101
110
  return !1;
102
111
  const {
103
- clientX: e,
112
+ clientX: t,
104
113
  clientY: o
105
- } = t.touches[0];
106
- if (t.touches.length < 2) {
107
- const n = e - y.x, m = o - y.y;
108
- S({
109
- x: e,
114
+ } = e.touches[0];
115
+ if (e.touches.length < 2) {
116
+ const n = t - x.x, d = o - x.y;
117
+ C({
118
+ x: t,
110
119
  y: o
111
- }), f(u + n), d(g + m), Y();
120
+ }), g(u + n), f(m + d), Y();
112
121
  } else {
113
- const n = t.touches, m = J(n[0], n[1]), H = J($[0], $[1]);
114
- m > H ? C() : W();
122
+ const n = e.touches, d = ee(n[0], n[1]), E = ee(V[0], V[1]);
123
+ d > E ? H() : S();
115
124
  }
116
- }, J = (t, e) => {
117
- const o = e.pageX - t.pageX, n = e.pageY - t.pageY;
125
+ }, ee = (e, t) => {
126
+ const o = t.pageX - e.pageX, n = t.pageY - e.pageY;
118
127
  return Math.sqrt(o * o + n * n);
119
128
  };
120
- return /* @__PURE__ */ E("div", {
129
+ return /* @__PURE__ */ b("div", {
121
130
  className: "ocr-image-viewer",
122
131
  children: [/* @__PURE__ */ s("div", {
123
132
  className: "marker-toolbar",
124
133
  children: /* @__PURE__ */ s("div", {
125
134
  className: "create-mode-select",
126
- children: /* @__PURE__ */ E(wt, {
135
+ children: /* @__PURE__ */ b(He, {
127
136
  direction: "vertical",
128
137
  size: 16,
129
- children: [/* @__PURE__ */ s(k, {
138
+ children: [/* @__PURE__ */ s(O, {
130
139
  title: "放大-鼠标滚轮前滑",
131
140
  placement: "right",
132
- children: /* @__PURE__ */ s(L, {
133
- icon: /* @__PURE__ */ s(xt, {}),
141
+ children: /* @__PURE__ */ s(U, {
142
+ icon: /* @__PURE__ */ s(Se, {}),
134
143
  onClick: () => {
135
- C();
144
+ H();
136
145
  }
137
146
  })
138
- }), /* @__PURE__ */ s(k, {
147
+ }), /* @__PURE__ */ s(O, {
139
148
  title: "缩小-鼠标滚轮后滑",
140
149
  placement: "right",
141
- children: /* @__PURE__ */ s(L, {
142
- icon: /* @__PURE__ */ s(yt, {}),
150
+ children: /* @__PURE__ */ s(U, {
151
+ icon: /* @__PURE__ */ s(Ye, {}),
143
152
  onClick: () => {
144
- W();
153
+ S();
145
154
  }
146
155
  })
147
- }), /* @__PURE__ */ s(k, {
156
+ }), /* @__PURE__ */ s(O, {
148
157
  title: "拖动-按住ctrl",
149
158
  placement: "right",
150
- children: /* @__PURE__ */ s(L, {
151
- icon: /* @__PURE__ */ s(St, {}),
159
+ children: /* @__PURE__ */ s(U, {
160
+ icon: /* @__PURE__ */ s(Ee, {}),
152
161
  className: a ? "active" : "",
153
162
  onClick: () => {
154
- T(!a);
163
+ R(!a);
155
164
  }
156
165
  })
157
166
  })]
158
167
  })
159
168
  })
160
- }), /* @__PURE__ */ E("div", {
161
- className: Mt({
169
+ }), /* @__PURE__ */ b("div", {
170
+ className: Ce({
162
171
  "image-map": !0,
163
172
  draggable: a
164
173
  }),
165
- ref: w,
166
- onMouseDown: a ? at : void 0,
167
- onMouseMove: a ? lt : void 0,
168
- onMouseUp: a ? G : void 0,
169
- onWheel: ct,
170
- onTouchStart: a ? ut : void 0,
171
- onTouchMove: a ? gt : void 0,
172
- onTouchEnd: a ? G : void 0,
173
- onContextMenu: (t) => {
174
- t.preventDefault();
174
+ ref: y,
175
+ onMouseDown: a ? ge : void 0,
176
+ onMouseMove: a ? fe : void 0,
177
+ onMouseUp: a ? _ : void 0,
178
+ onWheel: de,
179
+ onTouchStart: a ? he : void 0,
180
+ onTouchMove: a ? pe : void 0,
181
+ onTouchEnd: a ? _ : void 0,
182
+ onContextMenu: (e) => {
183
+ e.preventDefault();
175
184
  },
176
185
  children: [/* @__PURE__ */ s("img", {
177
186
  draggable: "false",
@@ -179,35 +188,39 @@ const Dt = pt((O, et) => {
179
188
  style: {
180
189
  position: "absolute",
181
190
  left: u,
182
- top: g,
191
+ top: m,
183
192
  width: r,
184
- height: c
193
+ height: c,
194
+ visibility: q ? "visible" : "hidden"
195
+ },
196
+ ref: h,
197
+ onLoad: T,
198
+ onError: () => {
199
+ X == null || X();
185
200
  },
186
- ref: M,
187
- onLoad: F,
188
- src: R,
201
+ src: v,
189
202
  alt: ""
190
- }), it ? /* @__PURE__ */ s("svg", {
203
+ }), q ? /* @__PURE__ */ s("svg", {
191
204
  style: {
192
205
  position: "absolute",
193
206
  left: u,
194
- top: g,
207
+ top: m,
195
208
  width: r,
196
209
  height: c
197
210
  },
198
- children: N == null ? void 0 : N.map((t, e) => {
211
+ children: z == null ? void 0 : z.map((e, t) => {
199
212
  var o;
200
213
  return /* @__PURE__ */ s("g", {
201
214
  children: /* @__PURE__ */ s("polygon", {
202
215
  className: "label-box",
203
- points: (o = t == null ? void 0 : t.box) == null ? void 0 : o.map((n) => `${n[0] * l} ${n[1] * l}`).join(",")
204
- }, t.id)
205
- }, e);
216
+ points: (o = e == null ? void 0 : e.box) == null ? void 0 : o.map((n) => `${n[0] * l} ${n[1] * l}`).join(",")
217
+ }, e.id)
218
+ }, t);
206
219
  })
207
220
  }) : ""]
208
221
  })]
209
222
  });
210
223
  });
211
224
  export {
212
- Dt as default
225
+ ke as default
213
226
  };
@@ -0,0 +1,121 @@
1
+ import { jsx as t, jsxs as M } from "react/jsx-runtime";
2
+ import { useContext as k, useState as C, useEffect as A } from "react";
3
+ import { Form as r, Modal as B, Button as F, Select as S } from "antd";
4
+ import E from "../../../DatasetContext/index.mjs";
5
+ import { MOCK_DATASET_VERSIONS as O } from "../mock.mjs";
6
+ const R = (x) => {
7
+ var b, g;
8
+ const s = k(E), {
9
+ open: l,
10
+ datasetId: d = s.datasetId,
11
+ datasetName: y = (b = s.dataset) == null ? void 0 : b.name,
12
+ initialBaseVersionId: u,
13
+ initialTargetVersionId: f,
14
+ versions: n,
15
+ cvforceDatahub: c = (g = s.services) == null ? void 0 : g.cvforceDatahub,
16
+ useMock: h = !1,
17
+ onCancel: p,
18
+ onConfirm: v
19
+ } = x, [o] = r.useForm(), [i, a] = C([]), [V, I] = C(!1), D = r.useWatch("baseVersionId", o), T = r.useWatch("targetVersionId", o);
20
+ return A(() => {
21
+ if (l) {
22
+ if (o.setFieldsValue({
23
+ baseVersionId: u,
24
+ targetVersionId: f
25
+ }), n && n.length > 0) {
26
+ a(n);
27
+ return;
28
+ }
29
+ if (h) {
30
+ a(O);
31
+ return;
32
+ }
33
+ if (!d || !c) {
34
+ a(s.versions || []);
35
+ return;
36
+ }
37
+ I(!0), c.getDatasetsIdVersions(d, 1, 1e3).then((e) => {
38
+ a((e == null ? void 0 : e.recordList) || []);
39
+ }).catch(() => {
40
+ a([]);
41
+ }).finally(() => {
42
+ I(!1);
43
+ });
44
+ }
45
+ }, [l, d, u, f, n, c, h, s.versions, o]), /* @__PURE__ */ t(B, {
46
+ title: "选择对比版本",
47
+ open: l,
48
+ width: 400,
49
+ destroyOnClose: !0,
50
+ maskClosable: !1,
51
+ centered: !0,
52
+ onCancel: p,
53
+ footer: [/* @__PURE__ */ t(F, {
54
+ onClick: p,
55
+ children: "取消"
56
+ }, "cancel"), /* @__PURE__ */ t(F, {
57
+ type: "primary",
58
+ htmlType: "submit",
59
+ form: "versionCompareSelectForm",
60
+ children: "开始对比"
61
+ }, "confirm")],
62
+ children: /* @__PURE__ */ M(r, {
63
+ form: o,
64
+ preserve: !1,
65
+ name: "versionCompareSelectForm",
66
+ labelAlign: "right",
67
+ labelCol: {
68
+ style: {
69
+ width: 90
70
+ }
71
+ },
72
+ onFinish: (e) => {
73
+ const w = i.find((m) => m.id === e.baseVersionId), L = i.find((m) => m.id === e.targetVersionId);
74
+ v(e.baseVersionId, e.targetVersionId, w, L);
75
+ },
76
+ children: [/* @__PURE__ */ t(r.Item, {
77
+ label: "数据集",
78
+ children: /* @__PURE__ */ t("span", {
79
+ children: y || "-"
80
+ })
81
+ }), /* @__PURE__ */ t(r.Item, {
82
+ name: "baseVersionId",
83
+ label: "基准版本",
84
+ rules: [{
85
+ required: !0,
86
+ message: "请选择基准版本"
87
+ }],
88
+ children: /* @__PURE__ */ t(S, {
89
+ allowClear: !0,
90
+ placeholder: "请选择基准版本",
91
+ loading: V,
92
+ options: i.map((e) => ({
93
+ label: e.no,
94
+ value: e.id,
95
+ disabled: e.id === T
96
+ }))
97
+ })
98
+ }), /* @__PURE__ */ t(r.Item, {
99
+ name: "targetVersionId",
100
+ label: "目标版本",
101
+ rules: [{
102
+ required: !0,
103
+ message: "请选择目标版本"
104
+ }],
105
+ children: /* @__PURE__ */ t(S, {
106
+ allowClear: !0,
107
+ placeholder: "请选择目标版本",
108
+ loading: V,
109
+ options: i.map((e) => ({
110
+ label: e.no,
111
+ value: e.id,
112
+ disabled: e.id === D
113
+ }))
114
+ })
115
+ })]
116
+ })
117
+ });
118
+ };
119
+ export {
120
+ R as default
121
+ };