@kingteza/crud-component 1.0.14 → 1.0.16

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 (105) hide show
  1. package/dist/components/common/DatePicker/DatePicker.cjs +1 -1
  2. package/dist/components/common/DatePicker/DatePicker.js +42 -42
  3. package/dist/components/common/DatePicker/TimePicker.cjs +1 -1
  4. package/dist/components/common/DatePicker/TimePicker.js +39 -39
  5. package/dist/components/common/appearance/Hider.cjs +1 -1
  6. package/dist/components/common/appearance/Hider.js +3 -3
  7. package/dist/components/common/button/Button.cjs +1 -1
  8. package/dist/components/common/button/Button.js +19 -19
  9. package/dist/components/common/button/CloneButtonTable.cjs +1 -1
  10. package/dist/components/common/button/CloneButtonTable.js +11 -11
  11. package/dist/components/common/button/DeleteButtonTable.cjs +1 -1
  12. package/dist/components/common/button/DeleteButtonTable.js +29 -29
  13. package/dist/components/common/button/ExportButton.cjs +1 -1
  14. package/dist/components/common/button/ExportButton.js +17 -17
  15. package/dist/components/common/button/HideButtonTable.cjs +1 -1
  16. package/dist/components/common/button/HideButtonTable.js +35 -35
  17. package/dist/components/common/button/ImportButton.cjs +1 -1
  18. package/dist/components/common/button/ImportButton.js +28 -28
  19. package/dist/components/common/button/NewButton.cjs +1 -1
  20. package/dist/components/common/button/NewButton.js +14 -14
  21. package/dist/components/common/button/PrintButton.cjs +1 -1
  22. package/dist/components/common/button/PrintButton.js +14 -14
  23. package/dist/components/common/button/RefreshButton.cjs +1 -1
  24. package/dist/components/common/button/RefreshButton.js +16 -16
  25. package/dist/components/common/button/UnHideButton.cjs +1 -1
  26. package/dist/components/common/button/UnHideButton.js +37 -37
  27. package/dist/components/common/button/UpdateButtonTable.cjs +1 -1
  28. package/dist/components/common/button/UpdateButtonTable.js +11 -11
  29. package/dist/components/common/button/ViewButtonTable.cjs +1 -1
  30. package/dist/components/common/button/ViewButtonTable.js +10 -10
  31. package/dist/components/common/check-box/CheckBox.cjs +1 -1
  32. package/dist/components/common/check-box/CheckBox.js +20 -20
  33. package/dist/components/common/description/DescList.cjs +1 -1
  34. package/dist/components/common/description/DescList.js +9 -9
  35. package/dist/components/common/layout/VerticalSpace.cjs +1 -1
  36. package/dist/components/common/layout/VerticalSpace.js +3 -3
  37. package/dist/components/common/loading/LoadingIndicator.cjs +1 -1
  38. package/dist/components/common/loading/LoadingIndicator.js +12 -12
  39. package/dist/components/common/picker/ImagePicker.cjs +1 -1
  40. package/dist/components/common/picker/ImagePicker.js +173 -176
  41. package/dist/components/common/radio/RadioGroupComponent.cjs +1 -1
  42. package/dist/components/common/radio/RadioGroupComponent.js +6 -6
  43. package/dist/components/common/report/SelectFieldInReport.cjs +1 -1
  44. package/dist/components/common/report/SelectFieldInReport.js +11 -11
  45. package/dist/components/common/select/CustomSelectOption.cjs +1 -1
  46. package/dist/components/common/select/CustomSelectOption.js +7 -7
  47. package/dist/components/common/select/SelectComponent.cjs +1 -1
  48. package/dist/components/common/select/SelectComponent.js +36 -36
  49. package/dist/components/common/show-more/index.cjs +1 -1
  50. package/dist/components/common/show-more/index.js +5 -5
  51. package/dist/components/common/tab/TabViewWithRoute.cjs +1 -1
  52. package/dist/components/common/tab/TabViewWithRoute.js +23 -22
  53. package/dist/components/common/table/table.cjs +1 -1
  54. package/dist/components/common/table/table.js +12 -12
  55. package/dist/components/common/tag/StatusTag.cjs +1 -1
  56. package/dist/components/common/tag/StatusTag.js +13 -13
  57. package/dist/components/common/text-field/NumberField.cjs +1 -1
  58. package/dist/components/common/text-field/NumberField.js +43 -43
  59. package/dist/components/common/text-field/PhoneNumberField.cjs +1 -1
  60. package/dist/components/common/text-field/PhoneNumberField.js +4 -4
  61. package/dist/components/common/text-field/TextArea.cjs +1 -1
  62. package/dist/components/common/text-field/TextArea.js +20 -20
  63. package/dist/components/common/text-field/TextField.cjs +1 -1
  64. package/dist/components/common/text-field/TextField.js +47 -47
  65. package/dist/components/common/tooltip/TooltipComponent.cjs +1 -1
  66. package/dist/components/common/tooltip/TooltipComponent.js +3 -3
  67. package/dist/components/common/wizard/WizardResult.cjs +1 -1
  68. package/dist/components/common/wizard/WizardResult.js +37 -38
  69. package/dist/components/common/wizard/WizardViewForm.cjs +1 -1
  70. package/dist/components/common/wizard/WizardViewForm.js +43 -43
  71. package/dist/components/crud/CrudComponent.cjs +1 -1
  72. package/dist/components/crud/CrudComponent.js +130 -130
  73. package/dist/components/crud/CrudField.cjs +1 -1
  74. package/dist/components/crud/CrudField.js +217 -217
  75. package/dist/components/crud/CrudForm.cjs +1 -1
  76. package/dist/components/crud/CrudForm.js +55 -55
  77. package/dist/components/crud/CrudFormWizard.cjs +1 -1
  78. package/dist/components/crud/CrudFormWizard.js +82 -84
  79. package/dist/components/crud/CrudReportComponent.cjs +3 -3
  80. package/dist/components/crud/CrudReportComponent.js +123 -123
  81. package/dist/components/crud/CrudSearchComponent.cjs +1 -1
  82. package/dist/components/crud/CrudSearchComponent.js +43 -43
  83. package/dist/components/crud/FileCrudField.cjs +1 -1
  84. package/dist/components/crud/FileCrudField.js +118 -125
  85. package/dist/components/crud/ImageCrudField.cjs +1 -1
  86. package/dist/components/crud/ImageCrudField.js +56 -56
  87. package/dist/components/crud/import/CrudImportButton.cjs +1 -1
  88. package/dist/components/crud/import/CrudImportButton.js +18 -18
  89. package/dist/components/crud/import/CrudImportComponent.cjs +2 -2
  90. package/dist/components/crud/import/CrudImportComponent.js +108 -109
  91. package/dist/components/crud/view/CrudDecListView.cjs +1 -1
  92. package/dist/components/crud/view/CrudDecListView.js +22 -22
  93. package/dist/components/crud/view/CrudViewer.cjs +1 -1
  94. package/dist/components/crud/view/CrudViewer.js +152 -152
  95. package/dist/components/crud/view/CrudViewerUtil.cjs +1 -1
  96. package/dist/components/crud/view/CrudViewerUtil.js +33 -34
  97. package/dist/locale/index.cjs +1 -1
  98. package/dist/locale/index.js +2 -2
  99. package/dist/util/DateUtil.cjs +1 -1
  100. package/dist/util/DateUtil.js +4 -4
  101. package/dist/util/ImageUtil.cjs +1 -1
  102. package/dist/util/ImageUtil.js +1 -1
  103. package/dist/util/ValidationUtil.cjs +1 -1
  104. package/dist/util/ValidationUtil.js +1 -1
  105. package/package.json +1 -1
@@ -1,197 +1,190 @@
1
- import { j as e } from "../../_virtual/jsx-runtime.js";
1
+ import { jsxs as f, jsx as s, Fragment as O } from "react/jsx-runtime";
2
2
  /* empty css */
3
- import { Form as F, Upload as W, Modal as z } from "antd";
4
- import M from "../../node_modules/mime/dist/src/index.js";
5
- import { useState as d, useCallback as N, useEffect as S, useMemo as E } from "react";
6
- import { TRANSLATION_NAMESPACE as G } from "../../locale/hooks/translation-constants.js";
7
- import J from "../../util/ValidationUtil.js";
8
- import g from "../common/button/Button.js";
9
- import K from "../common/layout/VerticalSpace.js";
10
- import Q from "../../node_modules/@ant-design/icons/es/icons/FileOutlined.js";
11
- import X from "../../node_modules/@ant-design/icons/es/icons/FilePptOutlined.js";
12
- import Y from "../../node_modules/@ant-design/icons/es/icons/FileExcelOutlined.js";
13
- import Z from "../../node_modules/@ant-design/icons/es/icons/FileTextOutlined.js";
14
- import m from "../../node_modules/@ant-design/icons/es/icons/FileWordOutlined.js";
15
- import v from "../../node_modules/@ant-design/icons/es/icons/FilePdfOutlined.js";
16
- import y from "../../node_modules/@ant-design/icons/es/icons/FileImageOutlined.js";
17
- import { useTranslation as T } from "../../node_modules/react-i18next/dist/es/useTranslation.js";
18
- import tt from "../../node_modules/@ant-design/icons/es/icons/ExportOutlined.js";
19
- function It({
20
- name: o,
3
+ import { FileOutlined as G, FilePptOutlined as J, FileExcelOutlined as K, FileTextOutlined as Q, FileWordOutlined as X, FilePdfOutlined as Y, FileImageOutlined as Z, ExportOutlined as v } from "@ant-design/icons";
4
+ import { Form as P, Upload as y, Modal as m } from "antd";
5
+ import $ from "mime";
6
+ import { useState as p, useCallback as U, useEffect as j, useMemo as k } from "react";
7
+ import { useTranslation as T } from "react-i18next";
8
+ import { TRANSLATION_NAMESPACE as tt } from "../../locale/hooks/translation-constants.js";
9
+ import et from "../../util/ValidationUtil.js";
10
+ import C from "../common/button/Button.js";
11
+ import st from "../common/layout/VerticalSpace.js";
12
+ function wt({
13
+ name: n,
21
14
  label: t,
22
15
  required: r,
23
- provider: s,
24
- onUploading: l,
25
- onRemoved: f,
26
- fieldClassName: x,
16
+ provider: e,
17
+ onUploading: a,
18
+ onRemoved: u,
19
+ fieldClassName: w,
27
20
  accept: I,
28
- rules: U,
29
- maxCount: C = 1,
30
- block: k,
31
- ...O
21
+ rules: _,
22
+ maxCount: V = 1,
23
+ block: L,
24
+ ...W
32
25
  }) {
33
- const u = F.useFormInstance(), h = F.useWatch(o, u), [P, $] = d(!1), [R, _] = d(!1), L = N(
34
- async (n) => {
35
- var c, a;
26
+ const d = P.useFormInstance(), h = P.useWatch(n, d), [b, A] = p(!1), [D, q] = p(!1), B = U(
27
+ async (l) => {
28
+ var c, o;
36
29
  try {
37
- const { file: i } = n, j = i.name;
38
- $(!0), _(!0), l == null || l(!0);
39
- const w = j ?? "", b = w.split("."), B = b[b.length - 1], H = s.generateFileName(w), A = `${await s.getInitialPath()}/${H}.${B}`;
40
- console.log({ filePath: A });
41
- const D = await s.upload(
30
+ const { file: i } = l, x = i.name;
31
+ A(!0), q(!0), a == null || a(!0);
32
+ const g = x ?? "", N = g.split("."), R = N[N.length - 1], z = e.generateFileName(g), M = `${await e.getInitialPath()}/${z}.${R}`;
33
+ console.log({ filePath: M });
34
+ const S = await e.upload(
42
35
  { ...i, originFileObj: i },
43
- A
36
+ M
44
37
  );
45
- l == null || l(!1), u.setFieldValue(o, D), (c = n.onSuccess) == null || c.call(n, D);
38
+ a == null || a(!1), d.setFieldValue(n, S), (c = l.onSuccess) == null || c.call(l, S);
46
39
  } catch (i) {
47
- (a = n.onError) == null || a.call(n, i);
40
+ (o = l.onError) == null || o.call(l, i);
48
41
  } finally {
49
- $(!1);
42
+ A(!1);
50
43
  }
51
44
  },
52
- [u, o, l, s]
53
- ), [p, V] = d([]);
54
- S(() => {
55
- !R && h && Promise.all(
45
+ [d, n, a, e]
46
+ ), [F, E] = p([]);
47
+ j(() => {
48
+ !D && h && Promise.all(
56
49
  (Array.isArray(h) ? h : [h]).map(
57
- async (n) => {
58
- const c = M.getType(n), a = n.split("/").pop(), i = await s.getRealUrl(n);
50
+ async (l) => {
51
+ const c = $.getType(l), o = l.split("/").pop(), i = await e.getRealUrl(l);
59
52
  return {
60
- uid: n,
53
+ uid: l,
61
54
  url: i,
62
55
  type: c,
63
- name: a
56
+ name: o
64
57
  };
65
58
  }
66
59
  )
67
- ).then((n) => V(() => {
68
- const c = n.map(({ url: a, type: i, uid: j, name: w }) => ({ uid: j, url: a, type: i, response: j, thumbUrl: a, name: w }));
60
+ ).then((l) => E(() => {
61
+ const c = l.map(({ url: o, type: i, uid: x, name: g }) => ({ uid: x, url: o, type: i, response: x, thumbUrl: o, name: g }));
69
62
  return console.log(c), c;
70
63
  }));
71
- }, [h, R, P, s]);
72
- const q = N(
73
- async (n) => {
74
- const c = n.response, a = c || u.getFieldValue(o);
75
- await s.delete(a), f == null || f(), n && u.setFieldsValue({ [o]: null });
64
+ }, [h, D, b, e]);
65
+ const H = U(
66
+ async (l) => {
67
+ const c = l.response, o = c || d.getFieldValue(n);
68
+ await e.delete(o), u == null || u(), l && d.setFieldsValue({ [n]: null });
76
69
  },
77
- [u, o, f, s]
70
+ [d, n, u, e]
78
71
  );
79
- return /* @__PURE__ */ e.jsxs(
80
- F.Item,
72
+ return /* @__PURE__ */ f(
73
+ P.Item,
81
74
  {
82
75
  label: t,
83
76
  required: r,
84
- name: o,
85
- className: x,
77
+ name: n,
78
+ className: w,
86
79
  rules: [
87
- ...r ? J.required(t) : [],
88
- ...U ?? []
80
+ ...r ? et.required(t) : [],
81
+ ..._ ?? []
89
82
  ],
90
83
  children: [
91
- /* @__PURE__ */ e.jsx("input", { hidden: !0 }),
92
- /* @__PURE__ */ e.jsx(
93
- W,
84
+ /* @__PURE__ */ s("input", { hidden: !0 }),
85
+ /* @__PURE__ */ s(
86
+ y,
94
87
  {
95
- ...O,
96
- fileList: p,
97
- className: ((p == null ? void 0 : p.length) ?? 0) >= C ? "hide-upload" : "",
98
- maxCount: C,
99
- customRequest: L,
100
- onRemove: q,
88
+ ...W,
89
+ fileList: F,
90
+ className: ((F == null ? void 0 : F.length) ?? 0) >= V ? "hide-upload" : "",
91
+ maxCount: V,
92
+ customRequest: B,
93
+ onRemove: H,
101
94
  listType: "picture",
102
- onChange: ({ fileList: n }) => {
103
- V(n);
95
+ onChange: ({ fileList: l }) => {
96
+ E(l);
104
97
  },
105
- style: k ? { width: "100%" } : void 0,
106
- children: /* @__PURE__ */ e.jsx(g, { loading: P, children: "Upload File" })
98
+ style: L ? { width: "100%" } : void 0,
99
+ children: /* @__PURE__ */ s(C, { loading: b, children: "Upload File" })
107
100
  }
108
101
  )
109
102
  ]
110
103
  }
111
104
  );
112
105
  }
113
- const Ct = ({ provider: o, value: t }) => {
114
- const [r, s] = d();
115
- return S(() => {
116
- t && o.getRealUrl(t).then((l) => {
117
- s({
118
- mimeType: M.getType(t),
119
- url: l,
106
+ const Ft = ({ provider: n, value: t }) => {
107
+ const [r, e] = p();
108
+ return j(() => {
109
+ t && n.getRealUrl(t).then((a) => {
110
+ e({
111
+ mimeType: $.getType(t),
112
+ url: a,
120
113
  fileName: t.split("/").pop() ?? t
121
114
  });
122
115
  });
123
- }, [o, t]), r ? /* @__PURE__ */ e.jsx(
124
- et,
116
+ }, [n, t]), r ? /* @__PURE__ */ s(
117
+ rt,
125
118
  {
126
119
  fileName: r.fileName,
127
120
  url: r == null ? void 0 : r.url,
128
121
  mimeType: r == null ? void 0 : r.mimeType
129
122
  }
130
- ) : /* @__PURE__ */ e.jsx(e.Fragment, {});
131
- }, et = ({ url: o, mimeType: t = "", fileName: r }) => {
132
- const s = E(() => t != null && t.includes("image") ? "image" : t != null && t.includes("pdf") ? "pdf" : t != null && t.includes("word") ? "word" : t != null && t.includes("text") ? "text" : t != null && t.includes("presentation") ? "presentation" : t != null && t.includes("excel") || t != null && t.includes("spreadsheet") ? "excel" : "file", [t]), l = E(() => {
133
- switch (s) {
123
+ ) : /* @__PURE__ */ s(O, {});
124
+ }, rt = ({ url: n, mimeType: t = "", fileName: r }) => {
125
+ const e = k(() => t != null && t.includes("image") ? "image" : t != null && t.includes("pdf") ? "pdf" : t != null && t.includes("word") ? "word" : t != null && t.includes("text") ? "text" : t != null && t.includes("presentation") ? "presentation" : t != null && t.includes("excel") || t != null && t.includes("spreadsheet") ? "excel" : "file", [t]), a = k(() => {
126
+ switch (e) {
134
127
  case "image":
135
- return /* @__PURE__ */ e.jsx(y, {});
128
+ return /* @__PURE__ */ s(Z, {});
136
129
  case "pdf":
137
- return /* @__PURE__ */ e.jsx(v, {});
130
+ return /* @__PURE__ */ s(Y, {});
138
131
  case "word":
139
- return /* @__PURE__ */ e.jsx(m, {});
132
+ return /* @__PURE__ */ s(X, {});
140
133
  case "text":
141
- return /* @__PURE__ */ e.jsx(Z, {});
134
+ return /* @__PURE__ */ s(Q, {});
142
135
  case "excel":
143
- return /* @__PURE__ */ e.jsx(Y, {});
136
+ return /* @__PURE__ */ s(K, {});
144
137
  case "presentation":
145
- return /* @__PURE__ */ e.jsx(X, {});
138
+ return /* @__PURE__ */ s(J, {});
146
139
  default:
147
- return /* @__PURE__ */ e.jsx(Q, {});
140
+ return /* @__PURE__ */ s(G, {});
148
141
  }
149
- }, [s]), [f, x] = d(!1), { t: I } = T(G);
150
- return s !== "file" && s !== "text" ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
151
- /* @__PURE__ */ e.jsx(
152
- z,
142
+ }, [e]), [u, w] = p(!1), { t: I } = T(tt);
143
+ return e !== "file" && e !== "text" ? /* @__PURE__ */ f(O, { children: [
144
+ /* @__PURE__ */ s(
145
+ m,
153
146
  {
154
- open: f,
147
+ open: u,
155
148
  title: r,
156
- onCancel: () => x(!1),
157
- footer: /* @__PURE__ */ e.jsx(e.Fragment, {}),
149
+ onCancel: () => w(!1),
150
+ footer: /* @__PURE__ */ s(O, {}),
158
151
  width: "100%",
159
152
  style: { top: "8px", minHeight: "700px" },
160
153
  destroyOnClose: !0,
161
- children: /* @__PURE__ */ e.jsxs(K, { children: [
162
- /* @__PURE__ */ e.jsx(
163
- g,
154
+ children: /* @__PURE__ */ f(st, { children: [
155
+ /* @__PURE__ */ s(
156
+ C,
164
157
  {
165
158
  tooltip: r,
166
- icon: /* @__PURE__ */ e.jsx(tt, {}),
159
+ icon: /* @__PURE__ */ s(v, {}),
167
160
  target: "_blank",
168
- href: o,
161
+ href: n,
169
162
  style: { textDecoration: "none" },
170
163
  children: I("str.openInNewTab")
171
164
  }
172
165
  ),
173
- s === "image" ? /* @__PURE__ */ e.jsx("img", { src: o, alt: r, style: { width: "100%" } }) : s === "pdf" ? /* @__PURE__ */ e.jsxs("iframe", { title: r, src: o, width: "100%", height: "700px", children: [
166
+ e === "image" ? /* @__PURE__ */ s("img", { src: n, alt: r, style: { width: "100%" } }) : e === "pdf" ? /* @__PURE__ */ f("iframe", { title: r, src: n, width: "100%", height: "700px", children: [
174
167
  "This browser does not support PDFs. Please download the PDF to view it:",
175
- /* @__PURE__ */ e.jsx("a", { href: o, children: "Download PDF" }),
168
+ /* @__PURE__ */ s("a", { href: n, children: "Download PDF" }),
176
169
  "."
177
- ] }) : /* @__PURE__ */ e.jsxs(
170
+ ] }) : /* @__PURE__ */ f(
178
171
  "iframe",
179
172
  {
180
173
  title: r,
181
174
  src: `https://view.officeapps.live.com/op/view.aspx?src=${encodeURIComponent(
182
- o
175
+ n
183
176
  )}`,
184
177
  width: "100%",
185
178
  height: "700px",
186
179
  children: [
187
180
  "This browser does not support open ",
188
- s.toUpperCase(),
181
+ e.toUpperCase(),
189
182
  ". Please download the",
190
- s.toUpperCase(),
183
+ e.toUpperCase(),
191
184
  " to view it:",
192
- /* @__PURE__ */ e.jsxs("a", { href: o, children: [
185
+ /* @__PURE__ */ f("a", { href: n, children: [
193
186
  "Download ",
194
- s.toUpperCase()
187
+ e.toUpperCase()
195
188
  ] }),
196
189
  "."
197
190
  ]
@@ -200,28 +193,28 @@ const Ct = ({ provider: o, value: t }) => {
200
193
  ] })
201
194
  }
202
195
  ),
203
- /* @__PURE__ */ e.jsx(
204
- g,
196
+ /* @__PURE__ */ s(
197
+ C,
205
198
  {
206
199
  tooltip: r,
207
- icon: l,
200
+ icon: a,
208
201
  shape: "circle",
209
- onClick: () => x(!0)
202
+ onClick: () => w(!0)
210
203
  }
211
204
  )
212
- ] }) : /* @__PURE__ */ e.jsx(
213
- g,
205
+ ] }) : /* @__PURE__ */ s(
206
+ C,
214
207
  {
215
208
  tooltip: r,
216
- icon: l,
209
+ icon: a,
217
210
  target: "_blank",
218
- href: o,
211
+ href: n,
219
212
  shape: "circle"
220
213
  }
221
214
  );
222
215
  };
223
216
  export {
224
- et as FileCellValue,
225
- Ct as FileCrudCellValue,
226
- It as default
217
+ rt as FileCellValue,
218
+ Ft as FileCrudCellValue,
219
+ wt as default
227
220
  };
@@ -1 +1 @@
1
- "use strict";var S=Object.defineProperty;var _=(e,a,t)=>a in e?S(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t;var d=(e,a,t)=>_(e,typeof a!="symbol"?a+"":a,t);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("../../_virtual/jsx-runtime.cjs");;/* empty css */const u=require("antd"),I=require("../../_virtual/index.cjs"),i=require("react"),O=require("../../util/NumberUtil.cjs"),k=require("../../util/ValidationUtil.cjs"),A=require("../common/picker/ImagePicker.cjs"),D=require("../../node_modules/uuid/dist/esm-browser/v4.cjs"),M=require("../../node_modules/@ant-design/icons/es/icons/EyeOutlined.cjs");class p{}class T extends p{constructor(t="",s=""){super();d(this,"rootPath");d(this,"subPath");this.rootPath=t,this.subPath=s}cloneFilePath(t){const s=I.parse(t),r=`${s.name}_cloned_${O.default.randInt(1e5)}`;return I.format({dir:s.dir,ext:s.ext,name:r})}generateFileName(t){return`${t.split(".")[0]}_${D().replace("-","")}`}}function W({name:e,label:a,required:t,provider:s,onUploading:r,aspectRatio:h,onRemoved:o,fieldClassName:g,hideLabel:q=!1,listType:w}){const c=u.Form.useFormInstance(),f=u.Form.useWatch(e,c),[F,C]=i.useState(!1),P=i.useCallback(async(n,N)=>{if(N){r==null||r(!0);const m=n.name,x=m.split("."),V=x[x.length-1],y=s.generateFileName(m),$=`${await s.getInitialPath()}/${y}.${V}`,b=await s.upload(n,$);C(!0),r==null||r(!1),c.setFieldValue(e,b)}else{console.log(n);const m=c.getFieldsValue(),x=await s.delete(m[e]);o==null||o(),x&&c.setFieldsValue({[e]:null})}},[c,e,o,r,s]),[j,E]=i.useState();return i.useEffect(()=>{!F&&f?s.getRealUrl(f).then(E):E(j)},[f,F,s,j]),l.jsxRuntimeExports.jsx(l.jsxRuntimeExports.Fragment,{children:l.jsxRuntimeExports.jsxs(u.Form.Item,{rules:t?k.required(a):[],label:q?null:a,required:t,name:e,children:[l.jsxRuntimeExports.jsx(A.default,{noStyle:!0,listType:w,aspectRatio:h,values:j,onRemove:n=>{n&&P(n,!1)},onAdd:async n=>{n&&await P(n,!0)},className:g}),l.jsxRuntimeExports.jsx(u.Input,{hidden:!0})]})})}const z=({provider:e,value:a})=>{const[t,s]=i.useState();return i.useEffect(()=>{a&&e.getRealUrl(a).then(s)},[e,a]),t?l.jsxRuntimeExports.jsx(R,{url:t}):l.jsxRuntimeExports.jsx(l.jsxRuntimeExports.Fragment,{})},R=({url:e})=>l.jsxRuntimeExports.jsx(u.Avatar,{className:"p-0",children:l.jsxRuntimeExports.jsx(u.Image,{className:"m-0 p-0 position-relative",src:e,preview:{mask:l.jsxRuntimeExports.jsx(M,{})}})});exports.FileDownloadProvider=p;exports.FileUploadProvider=T;exports.ImageCellValue=R;exports.ImageCrudCellValue=z;exports.default=W;
1
+ "use strict";var k=Object.defineProperty;var E=(e,a,t)=>a in e?k(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t;var F=(e,a,t)=>E(e,typeof a!="symbol"?a+"":a,t);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react/jsx-runtime");;/* empty css */const p=require("@ant-design/icons"),u=require("antd"),g=require("path-browserify"),i=require("react"),A=require("../../util/NumberUtil.cjs"),D=require("../../util/ValidationUtil.cjs"),M=require("uuid"),T=require("../common/picker/ImagePicker.cjs");class q{}class W extends q{constructor(t="",s=""){super();F(this,"rootPath");F(this,"subPath");this.rootPath=t,this.subPath=s}cloneFilePath(t){const s=g.parse(t),r=`${s.name}_cloned_${A.default.randInt(1e5)}`;return g.format({dir:s.dir,ext:s.ext,name:r})}generateFileName(t){return`${t.split(".")[0]}_${M.v4().replace("-","")}`}}function z({name:e,label:a,required:t,provider:s,onUploading:r,aspectRatio:P,onRemoved:o,fieldClassName:C,hideLabel:N=!1,listType:V}){const c=u.Form.useFormInstance(),h=u.Form.useWatch(e,c),[x,y]=i.useState(!1),I=i.useCallback(async(n,$)=>{if($){r==null||r(!0);const f=n.name,m=f.split("."),b=m[m.length-1],S=s.generateFileName(f),_=`${await s.getInitialPath()}/${S}.${b}`,O=await s.upload(n,_);y(!0),r==null||r(!1),c.setFieldValue(e,O)}else{console.log(n);const f=c.getFieldsValue(),m=await s.delete(f[e]);o==null||o(),m&&c.setFieldsValue({[e]:null})}},[c,e,o,r,s]),[d,j]=i.useState();return i.useEffect(()=>{!x&&h?s.getRealUrl(h).then(j):j(d)},[h,x,s,d]),l.jsx(l.Fragment,{children:l.jsxs(u.Form.Item,{rules:t?D.required(a):[],label:N?null:a,required:t,name:e,children:[l.jsx(T.default,{noStyle:!0,listType:V,aspectRatio:P,values:d,onRemove:n=>{n&&I(n,!1)},onAdd:async n=>{n&&await I(n,!0)},className:C}),l.jsx(u.Input,{hidden:!0})]})})}const B=({provider:e,value:a})=>{const[t,s]=i.useState();return i.useEffect(()=>{a&&e.getRealUrl(a).then(s)},[e,a]),t?l.jsx(w,{url:t}):l.jsx(l.Fragment,{})},w=({url:e})=>l.jsx(u.Avatar,{className:"p-0",children:l.jsx(u.Image,{className:"m-0 p-0 position-relative",src:e,preview:{mask:l.jsx(p.EyeOutlined,{})}})});exports.FileDownloadProvider=q;exports.FileUploadProvider=W;exports.ImageCellValue=w;exports.ImageCrudCellValue=B;exports.default=z;
@@ -1,19 +1,19 @@
1
1
  var A = Object.defineProperty;
2
2
  var E = (e, a, t) => a in e ? A(e, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[a] = t;
3
3
  var h = (e, a, t) => E(e, typeof a != "symbol" ? a + "" : a, t);
4
- import { j as l } from "../../_virtual/jsx-runtime.js";
4
+ import { jsx as n, Fragment as V, jsxs as S } from "react/jsx-runtime";
5
5
  /* empty css */
6
- import { Form as x, Input as O, Avatar as S, Image as D } from "antd";
7
- import N from "../../_virtual/index.js";
8
- import { useState as F, useCallback as W, useEffect as w } from "react";
9
- import q from "../../util/NumberUtil.js";
10
- import z from "../../util/ValidationUtil.js";
11
- import B from "../common/picker/ImagePicker.js";
12
- import G from "../../node_modules/uuid/dist/esm-browser/v4.js";
13
- import H from "../../node_modules/@ant-design/icons/es/icons/EyeOutlined.js";
14
- class J {
6
+ import { EyeOutlined as D } from "@ant-design/icons";
7
+ import { Form as F, Input as W, Avatar as q, Image as z } from "antd";
8
+ import w from "path-browserify";
9
+ import { useState as P, useCallback as B, useEffect as x } from "react";
10
+ import G from "../../util/NumberUtil.js";
11
+ import H from "../../util/ValidationUtil.js";
12
+ import { v4 as J } from "uuid";
13
+ import K from "../common/picker/ImagePicker.js";
14
+ class L {
15
15
  }
16
- class te extends J {
16
+ class ae extends L {
17
17
  constructor(t = "", s = "") {
18
18
  super();
19
19
  h(this, "rootPath");
@@ -21,93 +21,93 @@ class te extends J {
21
21
  this.rootPath = t, this.subPath = s;
22
22
  }
23
23
  cloneFilePath(t) {
24
- const s = N.parse(t), r = `${s.name}_cloned_${q.randInt(1e5)}`;
25
- return N.format({
24
+ const s = w.parse(t), l = `${s.name}_cloned_${G.randInt(1e5)}`;
25
+ return w.format({
26
26
  dir: s.dir,
27
27
  ext: s.ext,
28
- name: r
28
+ name: l
29
29
  });
30
30
  }
31
31
  generateFileName(t) {
32
- return `${t.split(".")[0]}_${G().replace("-", "")}`;
32
+ return `${t.split(".")[0]}_${J().replace("-", "")}`;
33
33
  }
34
34
  }
35
- function se({
35
+ function le({
36
36
  name: e,
37
37
  label: a,
38
38
  required: t,
39
39
  provider: s,
40
- onUploading: r,
40
+ onUploading: l,
41
41
  aspectRatio: I,
42
42
  onRemoved: c,
43
- fieldClassName: d,
44
- hideLabel: V = !1,
45
- listType: C
43
+ fieldClassName: y,
44
+ hideLabel: C = !1,
45
+ listType: $
46
46
  }) {
47
- const i = x.useFormInstance(), u = x.useWatch(e, i), [P, $] = F(!1), p = W(
48
- async (n, g) => {
49
- if (g) {
50
- r == null || r(!0);
51
- const m = n.name, o = m.split("."), y = o[o.length - 1], b = s.generateFileName(m), k = `${await s.getInitialPath()}/${b}.${y}`, _ = await s.upload(n, k);
52
- $(!0), r == null || r(!1), i.setFieldValue(e, _);
47
+ const i = F.useFormInstance(), u = F.useWatch(e, i), [p, g] = P(!1), N = B(
48
+ async (r, b) => {
49
+ if (b) {
50
+ l == null || l(!0);
51
+ const m = r.name, o = m.split("."), k = o[o.length - 1], O = s.generateFileName(m), _ = `${await s.getInitialPath()}/${O}.${k}`, j = await s.upload(r, _);
52
+ g(!0), l == null || l(!1), i.setFieldValue(e, j);
53
53
  } else {
54
- console.log(n);
54
+ console.log(r);
55
55
  const m = i.getFieldsValue(), o = await s.delete(m[e]);
56
56
  c == null || c(), o && i.setFieldsValue({ [e]: null });
57
57
  }
58
58
  },
59
- [i, e, c, r, s]
60
- ), [f, j] = F();
61
- return w(() => {
62
- !P && u ? s.getRealUrl(u).then(j) : j(f);
63
- }, [u, P, s, f]), /* @__PURE__ */ l.jsx(l.Fragment, { children: /* @__PURE__ */ l.jsxs(
64
- x.Item,
59
+ [i, e, c, l, s]
60
+ ), [f, d] = P();
61
+ return x(() => {
62
+ !p && u ? s.getRealUrl(u).then(d) : d(f);
63
+ }, [u, p, s, f]), /* @__PURE__ */ n(V, { children: /* @__PURE__ */ S(
64
+ F.Item,
65
65
  {
66
- rules: t ? z.required(a) : [],
67
- label: V ? null : a,
66
+ rules: t ? H.required(a) : [],
67
+ label: C ? null : a,
68
68
  required: t,
69
69
  name: e,
70
70
  children: [
71
- /* @__PURE__ */ l.jsx(
72
- B,
71
+ /* @__PURE__ */ n(
72
+ K,
73
73
  {
74
74
  noStyle: !0,
75
- listType: C,
75
+ listType: $,
76
76
  aspectRatio: I,
77
77
  values: f,
78
- onRemove: (n) => {
79
- n && p(n, !1);
78
+ onRemove: (r) => {
79
+ r && N(r, !1);
80
80
  },
81
- onAdd: async (n) => {
82
- n && await p(n, !0);
81
+ onAdd: async (r) => {
82
+ r && await N(r, !0);
83
83
  },
84
- className: d
84
+ className: y
85
85
  }
86
86
  ),
87
- /* @__PURE__ */ l.jsx(O, { hidden: !0 })
87
+ /* @__PURE__ */ n(W, { hidden: !0 })
88
88
  ]
89
89
  }
90
90
  ) });
91
91
  }
92
- const ae = ({ provider: e, value: a }) => {
93
- const [t, s] = F();
94
- return w(() => {
92
+ const re = ({ provider: e, value: a }) => {
93
+ const [t, s] = P();
94
+ return x(() => {
95
95
  a && e.getRealUrl(a).then(s);
96
- }, [e, a]), t ? /* @__PURE__ */ l.jsx(K, { url: t }) : /* @__PURE__ */ l.jsx(l.Fragment, {});
97
- }, K = ({ url: e }) => /* @__PURE__ */ l.jsx(S, { className: "p-0", children: /* @__PURE__ */ l.jsx(
98
- D,
96
+ }, [e, a]), t ? /* @__PURE__ */ n(M, { url: t }) : /* @__PURE__ */ n(V, {});
97
+ }, M = ({ url: e }) => /* @__PURE__ */ n(q, { className: "p-0", children: /* @__PURE__ */ n(
98
+ z,
99
99
  {
100
100
  className: "m-0 p-0 position-relative",
101
101
  src: e,
102
102
  preview: {
103
- mask: /* @__PURE__ */ l.jsx(H, {})
103
+ mask: /* @__PURE__ */ n(D, {})
104
104
  }
105
105
  }
106
106
  ) });
107
107
  export {
108
- J as FileDownloadProvider,
109
- te as FileUploadProvider,
110
- K as ImageCellValue,
111
- ae as ImageCrudCellValue,
112
- se as default
108
+ L as FileDownloadProvider,
109
+ ae as FileUploadProvider,
110
+ M as ImageCellValue,
111
+ re as ImageCrudCellValue,
112
+ le as default
113
113
  };
@@ -1 +1 @@
1
- "use strict";const t=require("../../../_virtual/jsx-runtime.cjs"),o=require("react"),u=require("../../../locale/hooks/translation-constants.cjs"),i=require("./CrudImportComponent.cjs"),c=require("../../common/button/Button.cjs"),p=require("../../../node_modules/react-i18next/dist/es/useTranslation.cjs"),x=require("../../../node_modules/@ant-design/icons/es/icons/ImportOutlined.cjs");function m(n){const{t:s}=p.useTranslation(u.TRANSLATION_NAMESPACE),[r,e]=o.useState(!1);return t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[t.jsxRuntimeExports.jsx(i,{open:r,onCloseMethod:e,...n}),t.jsxRuntimeExports.jsx(c,{icon:t.jsxRuntimeExports.jsx(x,{}),onClick:()=>e(!0),children:s("str.import")})]})}module.exports=m;
1
+ "use strict";const t=require("react/jsx-runtime"),s=require("@ant-design/icons"),i=require("react"),u=require("react-i18next"),c=require("../../../locale/hooks/translation-constants.cjs"),p=require("./CrudImportComponent.cjs"),a=require("../../common/button/Button.cjs");function m(n){const{t:r}=u.useTranslation(c.TRANSLATION_NAMESPACE),[o,e]=i.useState(!1);return t.jsxs(t.Fragment,{children:[t.jsx(p,{open:o,onCloseMethod:e,...n}),t.jsx(a,{icon:t.jsx(s.ImportOutlined,{}),onClick:()=>e(!0),children:r("str.import")})]})}module.exports=m;
@@ -1,31 +1,31 @@
1
- import { j as o } from "../../../_virtual/jsx-runtime.js";
2
- import { useState as e } from "react";
3
- import { TRANSLATION_NAMESPACE as p } from "../../../locale/hooks/translation-constants.js";
4
- import s from "./CrudImportComponent.js";
5
- import i from "../../common/button/Button.js";
6
- import { useTranslation as f } from "../../../node_modules/react-i18next/dist/es/useTranslation.js";
7
- import u from "../../../node_modules/@ant-design/icons/es/icons/ImportOutlined.js";
8
- function I(r) {
9
- const { t: n } = f(p), [m, t] = e(!1);
10
- return /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
11
- /* @__PURE__ */ o.jsx(
12
- s,
1
+ import { jsxs as e, Fragment as p, jsx as o } from "react/jsx-runtime";
2
+ import { ImportOutlined as i } from "@ant-design/icons";
3
+ import { useState as s } from "react";
4
+ import { useTranslation as u } from "react-i18next";
5
+ import { TRANSLATION_NAMESPACE as f } from "../../../locale/hooks/translation-constants.js";
6
+ import l from "./CrudImportComponent.js";
7
+ import a from "../../common/button/Button.js";
8
+ function N(r) {
9
+ const { t: m } = u(f), [n, t] = s(!1);
10
+ return /* @__PURE__ */ e(p, { children: [
11
+ /* @__PURE__ */ o(
12
+ l,
13
13
  {
14
- open: m,
14
+ open: n,
15
15
  onCloseMethod: t,
16
16
  ...r
17
17
  }
18
18
  ),
19
- /* @__PURE__ */ o.jsx(
20
- i,
19
+ /* @__PURE__ */ o(
20
+ a,
21
21
  {
22
- icon: /* @__PURE__ */ o.jsx(u, {}),
22
+ icon: /* @__PURE__ */ o(i, {}),
23
23
  onClick: () => t(!0),
24
- children: n("str.import")
24
+ children: m("str.import")
25
25
  }
26
26
  )
27
27
  ] });
28
28
  }
29
29
  export {
30
- I as default
30
+ N as default
31
31
  };
@@ -1,2 +1,2 @@
1
- "use strict";const s=require("../../../_virtual/jsx-runtime.cjs"),M=require("../../../_virtual/papaparse.min.cjs"),d=require("antd"),B=require("../../../_virtual/FileSaver.min.cjs"),o=require("react"),O=require("../../../locale/hooks/translation-constants.cjs"),V=require("../view/CrudViewer.cjs"),_=require("../../../util/DateUtil.cjs"),L=require("../../common/button/Button.cjs"),W=require("../../common/button/ImportButton.cjs"),z=require("../../../node_modules/react-i18next/dist/es/useTranslation.cjs"),N=require("../../../node_modules/@ant-design/icons/es/icons/WarningTwoTone.cjs"),$=require("../../../node_modules/@ant-design/icons/es/icons/DownloadOutlined.cjs");function U({onCloseMethod:E,open:b,fields:q,importProps:a}){const[u,w]=o.useState([]),[C,h]=o.useState(!1),[T,g]=o.useState(0);o.useEffect(()=>{b||(w([]),h(!1))},[b]);const f=o.useMemo(()=>new Map(q.filter(e=>{var t;return!e.hidden&&!((t=e.importProps)!=null&&t.hidden)&&!e.readonly}).map(e=>[e.name,e])),[q]),v=o.useMemo(()=>Array.from(f.values()).flatMap(e=>{var t;return[e.name,...((t=e.importProps)==null?void 0:t.extraFields)??[]]}),[f]),F=o.useCallback(async function(){const e=`${v.join(",")}
2
- `,t=new Blob([e],{type:"text/csv;charset=utf-8;"});B.FileSaver_minExports.saveAs(t,(a==null?void 0:a.name)+" - "+_.formatDateTimeWithSecond(new Date).replaceAll(":","-")+".csv")},[v,a==null?void 0:a.name]),{t:l}=z.useTranslation(O.TRANSLATION_NAMESPACE),D=o.useCallback(async e=>{const t=new FileReader;t.onerror=console.error,t.onload=async r=>{var n;const c=(n=r==null?void 0:r.target)==null?void 0:n.result,i=M.parse(c,{header:!0});w(i.data)},t.readAsText(e)},[]),y=o.useMemo(()=>{var t,r,c;let e=!1;for(const i of u)for(const[n,x]of f.entries()){const j=i[n],m=j||!isNaN(j);if(x.required&&!m)if((r=(t=x.importProps)==null?void 0:t.extraFields)!=null&&r.length)for(const R of((c=x.importProps)==null?void 0:c.extraFields)??[])if(i[R]||!isNaN(i[R])){e=!1;break}else return!0;else return!0}return e},[u,f]),p=o.useCallback(e=>(t,r)=>{var i,n,x;const c=t||!isNaN(t);if(e.required&&!c){let j=l("err.validation.required");if((n=(i=e.importProps)==null?void 0:i.extraFields)!=null&&n.length){const m=(x=e.importProps)==null?void 0:x.extraFields;(m==null?void 0:m.find(A=>!r[A]))&&(j="Either one of these fields is required: "+[e.name,...m].join(", "))}return s.jsxRuntimeExports.jsxs(d.Tooltip,{className:"d-flex",title:j,children:[s.jsxRuntimeExports.jsx(N,{twoToneColor:"#ee9702"}),t]})}return t},[l]),S=o.useCallback(async e=>{g(e)},[]),k=o.useCallback(async()=>{try{h(!0),await a.onClickImport(u,S),E(!1)}finally{h(!1),g(0)}},[u,a,E,S]),I=o.useCallback(async()=>{y?d.Modal.warn({title:l("str.warning"),content:l("qus.importWithIssues"),okText:l("str.import"),onOk:k,okCancel:!0,closable:!0}):k()},[y,k,l]);return s.jsxRuntimeExports.jsxs(d.Modal,{title:[l("str.import"),a==null?void 0:a.name].filter(Boolean).join(" "),width:"100%",open:b,onOk:I,destroyOnClose:!0,onCancel:()=>E(!1),okText:l("str.import"),confirmLoading:C,okButtonProps:{disabled:!(u!=null&&u.length)},footer:(e,{OkBtn:t,CancelBtn:r})=>s.jsxRuntimeExports.jsxs(d.Space,{children:[s.jsxRuntimeExports.jsx(r,{}),s.jsxRuntimeExports.jsx(t,{}),y&&s.jsxRuntimeExports.jsx(d.Tooltip,{className:"d-flex",title:"Some fields have issue. Please review before submit.",children:s.jsxRuntimeExports.jsx(N,{twoToneColor:"#ee9702"})})]}),children:[s.jsxRuntimeExports.jsxs(d.Space,{children:[s.jsxRuntimeExports.jsx(L,{onClick:F,icon:s.jsxRuntimeExports.jsx($,{}),children:l("str.downloadCsvTemplate")}),s.jsxRuntimeExports.jsx(W.ImportButton,{disabled:C,type:"default",onClick:D,accept:".csv",children:l("str.importCsvFile")})]}),s.jsxRuntimeExports.jsx(d.Spin,{spinning:C,indicator:T?s.jsxRuntimeExports.jsx(d.Progress,{type:"circle",percent:T*100,size:50,format:e=>`${parseInt(e)}%`}):void 0,children:s.jsxRuntimeExports.jsx(V,{data:u,bordered:!0,size:"small",fields:Array.from(f.values()).flatMap(e=>{var t,r,c,i;return e.type==="text"?[{...e,label:e.name,render:p(e)},...((r=(t=e.importProps)==null?void 0:t.extraFields)==null?void 0:r.map(n=>({...e,name:n,label:n,render:p(e)})))??[]]:e.type==="select"?[{...e,label:e.name,type:"text",render:p(e)},...((i=(c=e.importProps)==null?void 0:c.extraFields)==null?void 0:i.map(n=>({...e,name:n,label:n,type:"text",render:p(e)})))??[]]:[{...e,label:e.name,render:p(e)}]})})})]})}module.exports=U;
1
+ "use strict";const r=require("react/jsx-runtime"),T=require("@ant-design/icons"),B=require("papaparse"),d=require("antd"),O=require("file-saver"),a=require("react"),V=require("react-i18next"),R=require("../../../locale/hooks/translation-constants.cjs"),W=require("../view/CrudViewer.cjs"),L=require("../../../util/DateUtil.cjs"),z=require("../../common/button/Button.cjs"),_=require("../../common/button/ImportButton.cjs");function $({onCloseMethod:C,open:h,fields:g,importProps:o}){const[u,v]=a.useState([]),[y,k]=a.useState(!1),[A,N]=a.useState(0);a.useEffect(()=>{h||(v([]),k(!1))},[h]);const x=a.useMemo(()=>new Map(g.filter(e=>{var t;return!e.hidden&&!((t=e.importProps)!=null&&t.hidden)&&!e.readonly}).map(e=>[e.name,e])),[g]),S=a.useMemo(()=>Array.from(x.values()).flatMap(e=>{var t;return[e.name,...((t=e.importProps)==null?void 0:t.extraFields)??[]]}),[x]),E=a.useCallback(async function(){const e=`${S.join(",")}
2
+ `,t=new Blob([e],{type:"text/csv;charset=utf-8;"});O.saveAs(t,(o==null?void 0:o.name)+" - "+L.formatDateTimeWithSecond(new Date).replaceAll(":","-")+".csv")},[S,o==null?void 0:o.name]),{t:i}=V.useTranslation(R.TRANSLATION_NAMESPACE),F=a.useCallback(async e=>{const t=new FileReader;t.onerror=console.error,t.onload=async n=>{var s;const c=(s=n==null?void 0:n.target)==null?void 0:s.result,l=B.parse(c,{header:!0});v(l.data)},t.readAsText(e)},[]),j=a.useMemo(()=>{var t,n,c;let e=!1;for(const l of u)for(const[s,f]of x.entries()){const b=l[s],m=b||!isNaN(b);if(f.required&&!m)if((n=(t=f.importProps)==null?void 0:t.extraFields)!=null&&n.length)for(const w of((c=f.importProps)==null?void 0:c.extraFields)??[])if(l[w]||!isNaN(l[w])){e=!1;break}else return!0;else return!0}return e},[u,x]),p=a.useCallback(e=>(t,n)=>{var l,s,f;const c=t||!isNaN(t);if(e.required&&!c){let b=i("err.validation.required");if((s=(l=e.importProps)==null?void 0:l.extraFields)!=null&&s.length){const m=(f=e.importProps)==null?void 0:f.extraFields;(m==null?void 0:m.find(I=>!n[I]))&&(b="Either one of these fields is required: "+[e.name,...m].join(", "))}return r.jsxs(d.Tooltip,{className:"d-flex",title:b,children:[r.jsx(T.WarningTwoTone,{twoToneColor:"#ee9702"}),t]})}return t},[i]),D=a.useCallback(async e=>{N(e)},[]),q=a.useCallback(async()=>{try{k(!0),await o.onClickImport(u,D),C(!1)}finally{k(!1),N(0)}},[u,o,C,D]),M=a.useCallback(async()=>{j?d.Modal.warn({title:i("str.warning"),content:i("qus.importWithIssues"),okText:i("str.import"),onOk:q,okCancel:!0,closable:!0}):q()},[j,q,i]);return r.jsxs(d.Modal,{title:[i("str.import"),o==null?void 0:o.name].filter(Boolean).join(" "),width:"100%",open:h,onOk:M,destroyOnClose:!0,onCancel:()=>C(!1),okText:i("str.import"),confirmLoading:y,okButtonProps:{disabled:!(u!=null&&u.length)},footer:(e,{OkBtn:t,CancelBtn:n})=>r.jsxs(d.Space,{children:[r.jsx(n,{}),r.jsx(t,{}),j&&r.jsx(d.Tooltip,{className:"d-flex",title:"Some fields have issue. Please review before submit.",children:r.jsx(T.WarningTwoTone,{twoToneColor:"#ee9702"})})]}),children:[r.jsxs(d.Space,{children:[r.jsx(z,{onClick:E,icon:r.jsx(T.DownloadOutlined,{}),children:i("str.downloadCsvTemplate")}),r.jsx(_.ImportButton,{disabled:y,type:"default",onClick:F,accept:".csv",children:i("str.importCsvFile")})]}),r.jsx(d.Spin,{spinning:y,indicator:A?r.jsx(d.Progress,{type:"circle",percent:A*100,size:50,format:e=>`${parseInt(e)}%`}):void 0,children:r.jsx(W,{data:u,bordered:!0,size:"small",fields:Array.from(x.values()).flatMap(e=>{var t,n,c,l;return e.type==="text"?[{...e,label:e.name,render:p(e)},...((n=(t=e.importProps)==null?void 0:t.extraFields)==null?void 0:n.map(s=>({...e,name:s,label:s,render:p(e)})))??[]]:e.type==="select"?[{...e,label:e.name,type:"text",render:p(e)},...((l=(c=e.importProps)==null?void 0:c.extraFields)==null?void 0:l.map(s=>({...e,name:s,label:s,type:"text",render:p(e)})))??[]]:[{...e,label:e.name,render:p(e)}]})})})]})}module.exports=$;