@knockout-js/layout 0.1.4 → 0.1.5-beta.1

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 (27) hide show
  1. package/es2017/components/upload-file/index.d.ts +13 -17
  2. package/es2017/components/upload-file/index.js.map +1 -1
  3. package/es2017/components/upload-file/locale/en_US.js +3 -1
  4. package/es2017/components/upload-file/locale/en_US.js.map +1 -1
  5. package/es2017/components/upload-file/locale/zh_CN.js +3 -1
  6. package/es2017/components/upload-file/locale/zh_CN.js.map +1 -1
  7. package/es2017/components/upload-file/uploadAvatar.d.ts +1 -1
  8. package/es2017/components/upload-file/uploadAvatar.js +33 -47
  9. package/es2017/components/upload-file/uploadAvatar.js.map +1 -1
  10. package/es2017/components/upload-file/uploadMultiple.js +107 -142
  11. package/es2017/components/upload-file/uploadMultiple.js.map +1 -1
  12. package/es2017/components/upload-file/uploadTemp.js +66 -74
  13. package/es2017/components/upload-file/uploadTemp.js.map +1 -1
  14. package/esm/components/upload-file/index.d.ts +13 -17
  15. package/esm/components/upload-file/index.js.map +1 -1
  16. package/esm/components/upload-file/locale/en_US.js +3 -1
  17. package/esm/components/upload-file/locale/en_US.js.map +1 -1
  18. package/esm/components/upload-file/locale/zh_CN.js +3 -1
  19. package/esm/components/upload-file/locale/zh_CN.js.map +1 -1
  20. package/esm/components/upload-file/uploadAvatar.d.ts +1 -1
  21. package/esm/components/upload-file/uploadAvatar.js +55 -94
  22. package/esm/components/upload-file/uploadAvatar.js.map +1 -1
  23. package/esm/components/upload-file/uploadMultiple.js +173 -233
  24. package/esm/components/upload-file/uploadMultiple.js.map +1 -1
  25. package/esm/components/upload-file/uploadTemp.js +121 -149
  26. package/esm/components/upload-file/uploadTemp.js.map +1 -1
  27. package/package.json +2 -2
@@ -5,123 +5,53 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ice/jsx-runt
5
5
  import { UploadOutlined } from "@ant-design/icons";
6
6
  import { Button, Modal, Popconfirm, Space, Typography, Upload, message } from "antd";
7
7
  import { useEffect, useRef, useState } from "react";
8
- import { useAppCode, useTenantId } from "../provider/index";
9
8
  import { useLocale } from "../locale/index";
10
9
  import styles from "./index.module.css";
11
- import { formatFileSize, randomId } from "../_util/index";
12
- import { getFiles, getFilesRaw, updateFiles } from "@knockout-js/api";
10
+ import { formatFileSize } from "../_util/index";
11
+ import { getFileRaw, getFileUrl, getStorageUrl, parseStorageData, uploadFile } from "@knockout-js/api";
13
12
  export default function(props) {
14
13
  var _props_accept;
15
- var _props_bucket, _props_appCode, _props_tenantId;
16
- var bucket = (_props_bucket = props.bucket) !== null && _props_bucket !== void 0 ? _props_bucket : "local", appCode = (_props_appCode = props.appCode) !== null && _props_appCode !== void 0 ? _props_appCode : useAppCode(), tenantId = (_props_tenantId = props.tenantId) !== null && _props_tenantId !== void 0 ? _props_tenantId : useTenantId(), locale = useLocale("UploadFile"), _message_useMessage = _sliced_to_array(message.useMessage(), 1), messageApi = _message_useMessage[0], _useState = _sliced_to_array(useState(false), 2), loading = _useState[0], setLoading = _useState[1], iframeRef = useRef(null), _useState1 = _sliced_to_array(useState(), 2), name = _useState1[0], setName = _useState1[1], _useState2 = _sliced_to_array(useState(), 2), urlSrc = _useState2[0], setUrlSrc = _useState2[1], _useState3 = _sliced_to_array(useState({
14
+ var locale = useLocale("UploadFile"), _message_useMessage = _sliced_to_array(message.useMessage(), 1), messageApi = _message_useMessage[0], _useState = _sliced_to_array(useState(false), 2), loading = _useState[0], setLoading = _useState[1], iframeRef = useRef(null), _useState1 = _sliced_to_array(useState(), 2), name = _useState1[0], setName = _useState1[1], _useState2 = _sliced_to_array(useState(), 2), urlSrc = _useState2[0], setUrlSrc = _useState2[1], _useState3 = _sliced_to_array(useState({
17
15
  show: false
18
16
  }), 2), modal = _useState3[0], setModal = _useState3[1];
19
- var getUploadKey = function(file) {
20
- var suffix = file.name.split(".").pop(), keys = [];
21
- if (props.forceDirectory && props.directory) {
22
- keys.push(props.directory);
23
- } else {
24
- if (appCode) {
25
- keys.push(appCode);
26
- }
27
- if (tenantId) {
28
- keys.push(tenantId);
29
- }
30
- if (props.directory) {
31
- keys.push(props.directory);
32
- }
33
- }
34
- keys.push("".concat(randomId(16), ".").concat(suffix));
35
- return "/".concat(keys.join("/")).replace("//", "/");
36
- }, beforeUpload = function() {
37
- var _ref = _async_to_generator(function(file) {
38
- var maxSize;
39
- return _ts_generator(this, function(_state) {
40
- switch(_state.label){
41
- case 0:
42
- maxSize = props.maxSize || 1024 * 1024 * 5;
43
- if (file.size > maxSize) {
44
- messageApi.error("".concat(locale.fileSizeTip, ": ").concat(formatFileSize(maxSize)));
45
- return [
46
- 2,
47
- false
48
- ];
49
- }
50
- return [
51
- 4,
52
- updateFile(file)
53
- ];
54
- case 1:
55
- _state.sent();
56
- return [
57
- 2,
58
- false
59
- ];
60
- }
61
- });
62
- });
63
- return function beforeUpload(file) {
64
- return _ref.apply(this, arguments);
65
- };
66
- }(), updateFile = function() {
67
- var _ref = _async_to_generator(function(file) {
68
- var key, result, _props_onChange, _props_onChangePath, error;
17
+ var getValueFile = function() {
18
+ var _ref = _async_to_generator(function() {
19
+ var result;
69
20
  return _ts_generator(this, function(_state) {
70
21
  switch(_state.label){
71
22
  case 0:
72
- key = getUploadKey(file);
73
- setLoading(true);
74
- if (!(bucket === "local")) return [
23
+ if (!props.value) return [
75
24
  3,
76
- 4
25
+ 2
77
26
  ];
78
- _state.label = 1;
79
- case 1:
80
- _state.trys.push([
81
- 1,
82
- 3,
83
- ,
84
- 4
85
- ]);
86
27
  return [
87
28
  4,
88
- updateFiles({
89
- key: key,
90
- bucket: bucket,
91
- file: file
29
+ parseStorageData(props.value, {
30
+ inBrowser: false,
31
+ endpoint: props.endpoint,
32
+ bucket: props.bucket
92
33
  })
93
34
  ];
94
- case 2:
35
+ case 1:
95
36
  result = _state.sent();
96
37
  if (result) {
97
- ;
98
- (_props_onChange = props.onChange) === null || _props_onChange === void 0 ? void 0 : _props_onChange.call(props, result);
99
- (_props_onChangePath = props.onChangePath) === null || _props_onChangePath === void 0 ? void 0 : _props_onChangePath.call(props, key);
38
+ setName(result.name);
39
+ setUrlSrc(result.url);
100
40
  }
101
- return [
102
- 3,
103
- 4
104
- ];
105
- case 3:
106
- error = _state.sent();
107
- return [
108
- 3,
109
- 4
110
- ];
111
- case 4:
112
- setLoading(false);
41
+ _state.label = 2;
42
+ case 2:
113
43
  return [
114
44
  2
115
45
  ];
116
46
  }
117
47
  });
118
48
  });
119
- return function updateFile(file) {
49
+ return function getValueFile() {
120
50
  return _ref.apply(this, arguments);
121
51
  };
122
- }(), getValueFile = function() {
52
+ }(), updateContent = function() {
123
53
  var _ref = _async_to_generator(function() {
124
- var result, result1;
54
+ var dataRes, result, _result_Body, content, r;
125
55
  return _ts_generator(this, function(_state) {
126
56
  switch(_state.label){
127
57
  case 0:
@@ -131,75 +61,47 @@ export default function(props) {
131
61
  ];
132
62
  return [
133
63
  4,
134
- getFiles(props.value)
64
+ parseStorageData(props.value)
135
65
  ];
136
66
  case 1:
137
- result = _state.sent();
138
- if (result === null || result === void 0 ? void 0 : result.id) {
139
- setName(result.name);
140
- }
141
- if (!(bucket === "local")) return [
67
+ dataRes = _state.sent();
68
+ if (!dataRes) return [
142
69
  3,
143
- 3
70
+ 4
144
71
  ];
145
72
  return [
146
73
  4,
147
- getFilesRaw(props.value, "url")
74
+ getFileRaw(dataRes.path, {
75
+ endpoint: props.endpoint,
76
+ bucket: props.bucket
77
+ })
148
78
  ];
149
79
  case 2:
150
- result1 = _state.sent();
151
- if (typeof result1 === "string") {
152
- setUrlSrc(result1);
153
- }
154
- _state.label = 3;
155
- case 3:
156
- return [
157
- 3,
158
- 5
159
- ];
160
- case 4:
161
- setUrlSrc(undefined);
162
- _state.label = 5;
163
- case 5:
164
- return [
165
- 2
166
- ];
167
- }
168
- });
169
- });
170
- return function getValueFile() {
171
- return _ref.apply(this, arguments);
172
- };
173
- }(), updateContent = function() {
174
- var _ref = _async_to_generator(function() {
175
- var result, r;
176
- return _ts_generator(this, function(_state) {
177
- switch(_state.label){
178
- case 0:
179
- if (!props.value) return [
80
+ result = _state.sent();
81
+ if (!result) return [
180
82
  3,
181
- 2
83
+ 4
182
84
  ];
183
85
  return [
184
86
  4,
185
- getFilesRaw(props.value)
87
+ (_result_Body = result.Body) === null || _result_Body === void 0 ? void 0 : _result_Body.transformToString("utf-8")
186
88
  ];
187
- case 1:
188
- result = _state.sent();
189
- if (result && typeof result != "string") {
190
- r = new FileReader();
191
- r.readAsText(result, "utf-8");
192
- r.onload = function() {
193
- var _iframeRef_current, _iframeRef_current1;
194
- if ((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow) {
195
- iframeRef.current.contentWindow.document.write(r.result);
196
- } else if ((_iframeRef_current1 = iframeRef.current) === null || _iframeRef_current1 === void 0 ? void 0 : _iframeRef_current1.contentDocument) {
197
- iframeRef.current.contentDocument.write(r.result);
198
- }
199
- };
200
- }
201
- _state.label = 2;
202
- case 2:
89
+ case 3:
90
+ content = _state.sent();
91
+ r = new FileReader();
92
+ r.readAsText(new Blob([
93
+ content !== null && content !== void 0 ? content : ""
94
+ ]), "utf-8");
95
+ r.onload = function() {
96
+ var _iframeRef_current, _iframeRef_current1;
97
+ if ((_iframeRef_current = iframeRef.current) === null || _iframeRef_current === void 0 ? void 0 : _iframeRef_current.contentWindow) {
98
+ iframeRef.current.contentWindow.document.write("<pre>".concat(r.result, "</pre>"));
99
+ } else if ((_iframeRef_current1 = iframeRef.current) === null || _iframeRef_current1 === void 0 ? void 0 : _iframeRef_current1.contentDocument) {
100
+ iframeRef.current.contentDocument.write("<pre>".concat(r.result, "</pre>"));
101
+ }
102
+ };
103
+ _state.label = 4;
104
+ case 4:
203
105
  return [
204
106
  2
205
107
  ];
@@ -229,7 +131,77 @@ export default function(props) {
229
131
  /*#__PURE__*/ _jsx(Upload, {
230
132
  accept: props.accept,
231
133
  showUploadList: false,
232
- beforeUpload: beforeUpload,
134
+ beforeUpload: function() {
135
+ var _ref = _async_to_generator(function(file) {
136
+ var maxSize, result, _props_onChange, storageUlr, url;
137
+ return _ts_generator(this, function(_state) {
138
+ switch(_state.label){
139
+ case 0:
140
+ maxSize = props.maxSize || 1024 * 1024 * 5;
141
+ if (file.size > maxSize) {
142
+ messageApi.error("".concat(locale.fileSizeTip, ": ").concat(formatFileSize(maxSize)));
143
+ return [
144
+ 2,
145
+ false
146
+ ];
147
+ }
148
+ setLoading(true);
149
+ return [
150
+ 4,
151
+ uploadFile(file, props.directory, {
152
+ endpoint: props.endpoint,
153
+ bucket: props.bucket,
154
+ useFileName: props.useFileName,
155
+ custromFileName: props.custromFileName
156
+ })
157
+ ];
158
+ case 1:
159
+ result = _state.sent();
160
+ if (!(result === null || result === void 0 ? void 0 : result.path)) return [
161
+ 3,
162
+ 4
163
+ ];
164
+ return [
165
+ 4,
166
+ getStorageUrl(result.path, {
167
+ endpoint: props.endpoint,
168
+ bucket: props.bucket
169
+ })
170
+ ];
171
+ case 2:
172
+ storageUlr = _state.sent();
173
+ return [
174
+ 4,
175
+ getFileUrl(result.path, {
176
+ endpoint: props.endpoint,
177
+ bucket: props.bucket
178
+ })
179
+ ];
180
+ case 3:
181
+ url = _state.sent();
182
+ setName(file.name);
183
+ setUrlSrc(url);
184
+ (_props_onChange = props.onChange) === null || _props_onChange === void 0 ? void 0 : _props_onChange.call(props, storageUlr);
185
+ return [
186
+ 3,
187
+ 5
188
+ ];
189
+ case 4:
190
+ messageApi.error(locale.errorUpload);
191
+ _state.label = 5;
192
+ case 5:
193
+ setLoading(false);
194
+ return [
195
+ 2,
196
+ false
197
+ ];
198
+ }
199
+ });
200
+ });
201
+ return function(file) {
202
+ return _ref.apply(this, arguments);
203
+ };
204
+ }(),
233
205
  children: /*#__PURE__*/ _jsx(Button, {
234
206
  loading: loading,
235
207
  icon: /*#__PURE__*/ _jsx(UploadOutlined, {
@@ -265,15 +237,15 @@ export default function(props) {
265
237
  target: "_blank",
266
238
  href: urlSrc,
267
239
  download: name,
240
+ rel: "noopener noreferrer",
268
241
  children: locale.tempDown
269
242
  }),
270
243
  props.showDelBtn ? /*#__PURE__*/ _jsx(Popconfirm, {
271
244
  title: locale.del,
272
245
  description: locale.confirmDel,
273
246
  onConfirm: function() {
274
- var _props_onChange, _props_onChangePath;
247
+ var _props_onChange;
275
248
  (_props_onChange = props.onChange) === null || _props_onChange === void 0 ? void 0 : _props_onChange.call(props);
276
- (_props_onChangePath = props.onChangePath) === null || _props_onChangePath === void 0 ? void 0 : _props_onChangePath.call(props);
277
249
  },
278
250
  okText: "Yes",
279
251
  cancelText: "No",
@@ -1 +1 @@
1
- {"version":3,"sources":[".\\src\\components\\upload-file\\uploadTemp.tsx"],"sourcesContent":["import { UploadOutlined } from \"@ant-design/icons\";\r\nimport { Button, Modal, Popconfirm, Space, Typography, Upload, message } from \"antd\"\r\nimport { RcFile } from \"antd/es/upload\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useAppCode, useTenantId } from \"../provider\";\r\nimport { UploadFileProps } from \".\";\r\nimport { useLocale } from \"../locale\";\r\nimport styles from \"./index.module.css\";\r\nimport { formatFileSize, randomId } from \"../_util\";\r\nimport { getFiles, getFilesRaw, updateFiles } from \"@knockout-js/api\";\r\n\r\nexport default (props: UploadFileProps<string> & {\r\n /**\r\n * 显示删除按钮\r\n */\r\n showDelBtn?: boolean;\r\n}) => {\r\n const\r\n bucket = props.bucket ?? 'local',\r\n appCode = props.appCode ?? useAppCode(),\r\n tenantId = props.tenantId ?? useTenantId(),\r\n locale = useLocale(\"UploadFile\"),\r\n [messageApi] = message.useMessage(),\r\n [loading, setLoading] = useState(false),\r\n iframeRef = useRef<HTMLIFrameElement>(null),\r\n [name, setName] = useState<string>(),\r\n [urlSrc, setUrlSrc] = useState<string>(),\r\n [modal, setModal] = useState<{\r\n show: boolean,\r\n }>({\r\n show: false,\r\n });\r\n\r\n const\r\n getUploadKey = (file: RcFile) => {\r\n const suffix = file.name.split('.').pop(),\r\n keys: string[] = [];\r\n if (props.forceDirectory && props.directory) {\r\n keys.push(props.directory)\r\n } else {\r\n if (appCode) {\r\n keys.push(appCode)\r\n }\r\n if (tenantId) {\r\n keys.push(tenantId)\r\n }\r\n if (props.directory) {\r\n keys.push(props.directory)\r\n }\r\n }\r\n keys.push(`${randomId(16)}.${suffix}`);\r\n return `/${keys.join('/')}`.replace('//', '/');\r\n },\r\n beforeUpload = async (file: RcFile) => {\r\n const maxSize = props.maxSize || (1024 * 1024 * 5);\r\n\r\n if (file.size > maxSize) {\r\n messageApi.error(`${locale.fileSizeTip}: ${formatFileSize(maxSize)}`);\r\n return false;\r\n }\r\n\r\n await updateFile(file);\r\n return false;\r\n },\r\n updateFile = async (file: RcFile) => {\r\n const key = getUploadKey(file);\r\n setLoading(true);\r\n if (bucket === 'local') {\r\n try {\r\n const result = await updateFiles({\r\n key,\r\n bucket,\r\n file,\r\n })\r\n if (result) {\r\n props.onChange?.(result)\r\n props.onChangePath?.(key);\r\n }\r\n } catch (error) {\r\n\r\n }\r\n }\r\n setLoading(false)\r\n },\r\n getValueFile = async () => {\r\n if (props.value) {\r\n const result = await getFiles(props.value);\r\n if (result?.id) {\r\n setName(result.name)\r\n }\r\n if (bucket === 'local') {\r\n const result = await getFilesRaw(props.value, 'url');\r\n if (typeof result === 'string') {\r\n setUrlSrc(result)\r\n }\r\n }\r\n } else {\r\n setUrlSrc(undefined)\r\n }\r\n },\r\n updateContent = async () => {\r\n if (props.value) {\r\n const result = await getFilesRaw(props.value)\r\n if (result && typeof result != 'string') {\r\n const r = new FileReader()\r\n r.readAsText(result, 'utf-8')\r\n r.onload = () => {\r\n if (iframeRef.current?.contentWindow) {\r\n iframeRef.current.contentWindow.document.write(r.result as string)\r\n } else if (iframeRef.current?.contentDocument) {\r\n iframeRef.current.contentDocument.write(r.result as string)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n getValueFile();\r\n }, [props.value]);\r\n\r\n useEffect(() => {\r\n if (modal.show) {\r\n updateContent();\r\n }\r\n }, [modal.show]);\r\n\r\n return <>\r\n <Space>\r\n <Upload\r\n accept={props.accept}\r\n showUploadList={false}\r\n beforeUpload={beforeUpload}\r\n >\r\n <Button loading={loading} icon={<UploadOutlined rev={undefined} />}>{locale.fileUpload}</Button>\r\n </Upload>\r\n <Typography.Text type=\"secondary\">\r\n {`${locale.supportExtension}: ${props.accept?.split(',.').join('、').replace('.', '')}`}\r\n </Typography.Text>\r\n </Space>\r\n {props.value ? <>\r\n <div style={{ height: \"8px\" }}></div>\r\n <Space >\r\n <a onClick={() => {\r\n setModal({ show: true })\r\n }}\r\n >{locale.tempViewer}</a>\r\n <a target=\"_blank\" href={urlSrc} download={name}>{locale.tempDown}</a>\r\n {props.showDelBtn ? <Popconfirm\r\n title={locale.del}\r\n description={locale.confirmDel}\r\n onConfirm={() => {\r\n props.onChange?.()\r\n props.onChangePath?.();\r\n }}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n <a className={styles.delText}>{locale.del}</a>\r\n </Popconfirm> : <></>}\r\n </Space>\r\n <Modal\r\n title={locale.tempViewer}\r\n open={modal.show}\r\n destroyOnClose\r\n footer={null}\r\n width={800}\r\n onCancel={() => {\r\n setModal({ show: false })\r\n }}\r\n >\r\n <iframe className={styles.modalIframe} ref={iframeRef}></iframe>\r\n </Modal>\r\n </> : <></>}\r\n </>\r\n}\r\n"],"names":["UploadOutlined","Button","Modal","Popconfirm","Space","Typography","Upload","message","useEffect","useRef","useState","useAppCode","useTenantId","useLocale","styles","formatFileSize","randomId","getFiles","getFilesRaw","updateFiles","props","bucket","appCode","tenantId","locale","useMessage","messageApi","loading","setLoading","iframeRef","name","setName","urlSrc","setUrlSrc","show","modal","setModal","getUploadKey","file","suffix","split","pop","keys","forceDirectory","directory","push","join","replace","beforeUpload","maxSize","size","error","fileSizeTip","updateFile","key","result","onChange","onChangePath","getValueFile","value","id","undefined","updateContent","r","FileReader","readAsText","onload","current","contentWindow","document","write","contentDocument","accept","showUploadList","icon","rev","fileUpload","Text","type","supportExtension","div","style","height","a","onClick","tempViewer","target","href","download","tempDown","showDelBtn","title","del","description","confirmDel","onConfirm","okText","cancelText","className","delText","open","destroyOnClose","footer","width","onCancel","iframe","modalIframe","ref"],"mappings":"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"}
1
+ {"version":3,"sources":[".\\src\\components\\upload-file\\uploadTemp.tsx"],"sourcesContent":["import { UploadOutlined } from \"@ant-design/icons\";\r\nimport { Button, Modal, Popconfirm, Space, Typography, Upload, message } from \"antd\"\r\nimport { RcFile } from \"antd/es/upload\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { UploadFileProps } from \".\";\r\nimport { useLocale } from \"../locale\";\r\nimport styles from \"./index.module.css\";\r\nimport { formatFileSize } from \"../_util\";\r\nimport { getFileRaw, getFileUrl, getStorageUrl, parseStorageData, uploadFile } from \"@knockout-js/api\";\r\n\r\nexport default (props: UploadFileProps<string> & {\r\n /**\r\n * 显示删除按钮\r\n */\r\n showDelBtn?: boolean;\r\n}) => {\r\n const\r\n locale = useLocale(\"UploadFile\"),\r\n [messageApi] = message.useMessage(),\r\n [loading, setLoading] = useState(false),\r\n iframeRef = useRef<HTMLIFrameElement>(null),\r\n [name, setName] = useState<string>(),\r\n [urlSrc, setUrlSrc] = useState<string>(),\r\n [modal, setModal] = useState<{\r\n show: boolean,\r\n }>({\r\n show: false,\r\n });\r\n\r\n const\r\n getValueFile = async () => {\r\n if (props.value) {\r\n const result = await parseStorageData(props.value, {\r\n inBrowser: false,\r\n endpoint: props.endpoint,\r\n bucket: props.bucket\r\n });\r\n if (result) {\r\n setName(result.name)\r\n setUrlSrc(result.url)\r\n }\r\n }\r\n },\r\n updateContent = async () => {\r\n if (props.value) {\r\n const dataRes = await parseStorageData(props.value)\r\n if (dataRes) {\r\n const result = await getFileRaw(dataRes.path, {\r\n endpoint: props.endpoint,\r\n bucket: props.bucket\r\n })\r\n if (result) {\r\n const content = await result.Body?.transformToString('utf-8')\r\n const r = new FileReader()\r\n r.readAsText(new Blob([content ?? '']), 'utf-8')\r\n r.onload = () => {\r\n if (iframeRef.current?.contentWindow) {\r\n iframeRef.current.contentWindow.document.write(`<pre>${r.result}</pre>`)\r\n } else if (iframeRef.current?.contentDocument) {\r\n iframeRef.current.contentDocument.write(`<pre>${r.result}</pre>`)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n getValueFile();\r\n }, [props.value]);\r\n\r\n useEffect(() => {\r\n if (modal.show) {\r\n updateContent();\r\n }\r\n }, [modal.show]);\r\n\r\n return <>\r\n <Space>\r\n <Upload\r\n accept={props.accept}\r\n showUploadList={false}\r\n beforeUpload={async (file: RcFile) => {\r\n const maxSize = props.maxSize || (1024 * 1024 * 5);\r\n\r\n if (file.size > maxSize) {\r\n messageApi.error(`${locale.fileSizeTip}: ${formatFileSize(maxSize)}`);\r\n return false;\r\n }\r\n setLoading(true);\r\n const result = await uploadFile(file, props.directory, {\r\n endpoint: props.endpoint,\r\n bucket: props.bucket,\r\n useFileName: props.useFileName,\r\n custromFileName: props.custromFileName,\r\n });\r\n if (result?.path) {\r\n const storageUlr = await getStorageUrl(result.path, {\r\n endpoint: props.endpoint,\r\n bucket: props.bucket\r\n }),\r\n url = await getFileUrl(result.path, {\r\n endpoint: props.endpoint,\r\n bucket: props.bucket\r\n })\r\n setName(file.name)\r\n setUrlSrc(url)\r\n props.onChange?.(storageUlr)\r\n } else {\r\n messageApi.error(locale.errorUpload);\r\n }\r\n setLoading(false);\r\n return false;\r\n }}\r\n >\r\n <Button loading={loading} icon={<UploadOutlined rev={undefined} />}>{locale.fileUpload}</Button>\r\n </Upload>\r\n <Typography.Text type=\"secondary\">\r\n {`${locale.supportExtension}: ${props.accept?.split(',.').join('、').replace('.', '')}`}\r\n </Typography.Text>\r\n </Space>\r\n {props.value ? <>\r\n <div style={{ height: \"8px\" }}></div>\r\n <Space >\r\n <a onClick={() => {\r\n setModal({ show: true })\r\n }}\r\n >{locale.tempViewer}</a>\r\n <a target=\"_blank\" href={urlSrc} download={name} rel=\"noopener noreferrer\">{locale.tempDown}</a>\r\n {props.showDelBtn ? <Popconfirm\r\n title={locale.del}\r\n description={locale.confirmDel}\r\n onConfirm={() => {\r\n props.onChange?.()\r\n }}\r\n okText=\"Yes\"\r\n cancelText=\"No\"\r\n >\r\n <a className={styles.delText}>{locale.del}</a>\r\n </Popconfirm> : <></>}\r\n </Space>\r\n <Modal\r\n title={locale.tempViewer}\r\n open={modal.show}\r\n destroyOnClose\r\n footer={null}\r\n width={800}\r\n onCancel={() => {\r\n setModal({ show: false })\r\n }}\r\n >\r\n <iframe className={styles.modalIframe} ref={iframeRef}></iframe>\r\n </Modal>\r\n </> : <></>}\r\n </>\r\n}\r\n"],"names":["UploadOutlined","Button","Modal","Popconfirm","Space","Typography","Upload","message","useEffect","useRef","useState","useLocale","styles","formatFileSize","getFileRaw","getFileUrl","getStorageUrl","parseStorageData","uploadFile","props","locale","useMessage","messageApi","loading","setLoading","iframeRef","name","setName","urlSrc","setUrlSrc","show","modal","setModal","getValueFile","result","value","inBrowser","endpoint","bucket","url","updateContent","dataRes","content","r","path","Body","transformToString","FileReader","readAsText","Blob","onload","current","contentWindow","document","write","contentDocument","accept","showUploadList","beforeUpload","file","maxSize","storageUlr","size","error","fileSizeTip","directory","useFileName","custromFileName","onChange","errorUpload","icon","rev","undefined","fileUpload","Text","type","supportExtension","split","join","replace","div","style","height","a","onClick","tempViewer","target","href","download","rel","tempDown","showDelBtn","title","del","description","confirmDel","onConfirm","okText","cancelText","className","delText","open","destroyOnClose","footer","width","onCancel","iframe","modalIframe","ref"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knockout-js/layout",
3
- "version": "0.1.4",
3
+ "version": "0.1.5-beta.1",
4
4
  "description": "组件功能描述",
5
5
  "files": [
6
6
  "esm",
@@ -48,7 +48,7 @@
48
48
  "dayjs": "^1.11.9",
49
49
  "react-activation": "^0.12.4",
50
50
  "react-draggable": "^4.4.5",
51
- "@knockout-js/api": "^0.1.5",
51
+ "@knockout-js/api": "^0.1.6-beta.4",
52
52
  "@knockout-js/ice-urql": "^0.1.4"
53
53
  },
54
54
  "devDependencies": {