@nocobase/plugin-file-manager 2.3.0-alpha.1 → 2.3.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/client/UseOriginalUrlRadio.d.ts +12 -0
  2. package/dist/client/index.js +1 -1
  3. package/dist/client/schemas/storageTypes/ali-oss.d.ts +12 -0
  4. package/dist/client/schemas/storageTypes/common.d.ts +12 -0
  5. package/dist/client/schemas/storageTypes/index.d.ts +48 -0
  6. package/dist/client/schemas/storageTypes/local.d.ts +12 -0
  7. package/dist/client/schemas/storageTypes/s3.d.ts +12 -0
  8. package/dist/client/schemas/storageTypes/tx-cos.d.ts +12 -0
  9. package/dist/client-v2/{229.bd72c2d7aa088310.js → 229.297c431f63a29cb2.js} +1 -1
  10. package/dist/client-v2/{336.1dd1b32466d0c778.js → 336.04d06f2cdcc3d0b5.js} +1 -1
  11. package/dist/client-v2/{43.eb45d53ba3e9828b.js → 43.1ec3e5bf1118d239.js} +1 -1
  12. package/dist/client-v2/{929.d7e783304cc1f236.js → 929.3744119eff70b3a3.js} +1 -1
  13. package/dist/client-v2/942.c3dcb7d4c8ebbc72.js +10 -0
  14. package/dist/client-v2/FileCollectionConfigure.d.ts +17 -0
  15. package/dist/client-v2/components/PublicAccessField.d.ts +19 -0
  16. package/dist/client-v2/components/UseOriginalUrlField.d.ts +25 -0
  17. package/dist/client-v2/components/index.d.ts +2 -0
  18. package/dist/client-v2/index.d.ts +3 -2
  19. package/dist/client-v2/index.js +1 -1
  20. package/dist/externalVersion.js +14 -13
  21. package/dist/locale/de-DE.json +7 -0
  22. package/dist/locale/en-US.json +7 -0
  23. package/dist/locale/es-ES.json +7 -0
  24. package/dist/locale/fr-FR.json +7 -0
  25. package/dist/locale/hu-HU.json +7 -0
  26. package/dist/locale/id-ID.json +7 -0
  27. package/dist/locale/it-IT.json +7 -0
  28. package/dist/locale/ja-JP.json +7 -0
  29. package/dist/locale/ko-KR.json +7 -0
  30. package/dist/locale/nl-NL.json +7 -0
  31. package/dist/locale/pt-BR.json +7 -0
  32. package/dist/locale/ru-RU.json +7 -0
  33. package/dist/locale/tr-TR.json +7 -0
  34. package/dist/locale/uk-UA.json +7 -0
  35. package/dist/locale/vi-VN.json +7 -0
  36. package/dist/locale/zh-CN.json +7 -0
  37. package/dist/locale/zh-TW.json +7 -0
  38. package/dist/node_modules/@aws-sdk/client-s3/package.json +1 -1
  39. package/dist/node_modules/@aws-sdk/lib-storage/package.json +1 -1
  40. package/dist/node_modules/@aws-sdk/s3-request-presigner/package.json +1 -1
  41. package/dist/node_modules/ali-oss/package.json +1 -1
  42. package/dist/node_modules/cos-nodejs-sdk-v5/package.json +1 -1
  43. package/dist/node_modules/mime-match/package.json +1 -1
  44. package/dist/node_modules/mime-types/package.json +1 -1
  45. package/dist/node_modules/mkdirp/package.json +1 -1
  46. package/dist/node_modules/url-join/package.json +1 -1
  47. package/dist/server/actions/attachments.js +9 -1
  48. package/dist/server/actions/get-file.js +31 -11
  49. package/dist/server/file-reference.d.ts +16 -0
  50. package/dist/server/file-reference.js +108 -0
  51. package/dist/server/index.d.ts +2 -0
  52. package/dist/server/index.js +4 -1
  53. package/dist/server/server.js +8 -7
  54. package/dist/server/temporary-access.js +2 -1
  55. package/package.json +2 -2
  56. package/dist/client-v2/942.f36d807d763a1b53.js +0 -10
@@ -100,6 +100,18 @@ declare const _default: {
100
100
  }[];
101
101
  default: string;
102
102
  };
103
+ 'options.useOriginalUrl': {
104
+ type: string;
105
+ title: string;
106
+ 'x-decorator': string;
107
+ 'x-component': string;
108
+ default: boolean;
109
+ };
110
+ 'options.public': {
111
+ type: string;
112
+ 'x-display': string;
113
+ default: boolean;
114
+ };
103
115
  rules: {
104
116
  type: string;
105
117
  'x-component': string;
@@ -65,6 +65,18 @@ declare const _default: {
65
65
  'x-content': string;
66
66
  description: string;
67
67
  };
68
+ useOriginalUrl: {
69
+ type: string;
70
+ title: string;
71
+ 'x-decorator': string;
72
+ 'x-component': string;
73
+ default: boolean;
74
+ };
75
+ public: {
76
+ type: string;
77
+ 'x-display': string;
78
+ default: boolean;
79
+ };
68
80
  renameMode: {
69
81
  title: string;
70
82
  description: string;
@@ -62,6 +62,18 @@ export declare const storageTypes: {
62
62
  }[];
63
63
  default: string;
64
64
  };
65
+ 'options.useOriginalUrl': {
66
+ type: string;
67
+ title: string;
68
+ 'x-decorator': string;
69
+ 'x-component': string;
70
+ default: boolean;
71
+ };
72
+ 'options.public': {
73
+ type: string;
74
+ 'x-display': string;
75
+ default: boolean;
76
+ };
65
77
  rules: {
66
78
  type: string;
67
79
  'x-component': string;
@@ -194,6 +206,18 @@ export declare const storageTypes: {
194
206
  }[];
195
207
  default: string;
196
208
  };
209
+ 'options.useOriginalUrl': {
210
+ type: string;
211
+ title: string;
212
+ 'x-decorator': string;
213
+ 'x-component': string;
214
+ default: boolean;
215
+ };
216
+ 'options.public': {
217
+ type: string;
218
+ 'x-display': string;
219
+ default: boolean;
220
+ };
197
221
  rules: {
198
222
  type: string;
199
223
  'x-component': string;
@@ -333,6 +357,18 @@ export declare const storageTypes: {
333
357
  }[];
334
358
  default: string;
335
359
  };
360
+ 'options.useOriginalUrl': {
361
+ type: string;
362
+ title: string;
363
+ 'x-decorator': string;
364
+ 'x-component': string;
365
+ default: boolean;
366
+ };
367
+ 'options.public': {
368
+ type: string;
369
+ 'x-display': string;
370
+ default: boolean;
371
+ };
336
372
  rules: {
337
373
  type: string;
338
374
  'x-component': string;
@@ -456,6 +492,18 @@ export declare const storageTypes: {
456
492
  }[];
457
493
  default: string;
458
494
  };
495
+ 'options.useOriginalUrl': {
496
+ type: string;
497
+ title: string;
498
+ 'x-decorator': string;
499
+ 'x-component': string;
500
+ default: boolean;
501
+ };
502
+ 'options.public': {
503
+ type: string;
504
+ 'x-display': string;
505
+ default: boolean;
506
+ };
459
507
  rules: {
460
508
  type: string;
461
509
  'x-component': string;
@@ -61,6 +61,18 @@ declare const _default: {
61
61
  }[];
62
62
  default: string;
63
63
  };
64
+ 'options.useOriginalUrl': {
65
+ type: string;
66
+ title: string;
67
+ 'x-decorator': string;
68
+ 'x-component': string;
69
+ default: boolean;
70
+ };
71
+ 'options.public': {
72
+ type: string;
73
+ 'x-display': string;
74
+ default: boolean;
75
+ };
64
76
  rules: {
65
77
  type: string;
66
78
  'x-component': string;
@@ -87,6 +87,18 @@ declare const _default: {
87
87
  }[];
88
88
  default: string;
89
89
  };
90
+ 'options.useOriginalUrl': {
91
+ type: string;
92
+ title: string;
93
+ 'x-decorator': string;
94
+ 'x-component': string;
95
+ default: boolean;
96
+ };
97
+ 'options.public': {
98
+ type: string;
99
+ 'x-display': string;
100
+ default: boolean;
101
+ };
90
102
  rules: {
91
103
  type: string;
92
104
  'x-component': string;
@@ -91,6 +91,18 @@ declare const _default: {
91
91
  }[];
92
92
  default: string;
93
93
  };
94
+ 'options.useOriginalUrl': {
95
+ type: string;
96
+ title: string;
97
+ 'x-decorator': string;
98
+ 'x-component': string;
99
+ default: boolean;
100
+ };
101
+ 'options.public': {
102
+ type: string;
103
+ 'x-display': string;
104
+ default: boolean;
105
+ };
94
106
  rules: {
95
107
  type: string;
96
108
  'x-component': string;
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- "use strict";(self.webpackChunk_nocobase_plugin_file_manager_client_v2=self.webpackChunk_nocobase_plugin_file_manager_client_v2||[]).push([["229"],{316:function(e,l,n){n.r(l),n.d(l,{default:function(){return o}});var t=n(485),a=n(59),r=n(155),c=n.n(r),m=n(564),u=n(488);function o(){var e=(0,u.k)(),l=[{required:!0,message:e("The field value is required")}];return c().createElement(c().Fragment,null,c().createElement(m.Lg,null),c().createElement(m.om,null),c().createElement(m.BL,null),c().createElement(a.Form.Item,{name:["options","Region"],label:"".concat(e("Region")," :"),rules:l},c().createElement(t.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","SecretId"],label:"".concat(e("SecretId")," :"),rules:l},c().createElement(t.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","SecretKey"],label:"".concat(e("SecretKey")," :"),rules:l},c().createElement(t.EnvVariableInput,{password:!0})),c().createElement(a.Form.Item,{name:["options","Bucket"],label:"".concat(e("Bucket")," :"),rules:l},c().createElement(t.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","thumbnailRule"],label:"".concat(e("Thumbnail rule")," :")},c().createElement(t.EnvVariableInput,{placeholder:"?imageMogr2/thumbnail/!50p"})),c().createElement(m.Sx,null),c().createElement(m.OC,null),c().createElement(m.KT,null),c().createElement(m.Lq,null),c().createElement(m.mt,null),c().createElement(m.tp,null))}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_file_manager_client_v2=self.webpackChunk_nocobase_plugin_file_manager_client_v2||[]).push([["229"],{316:function(e,l,n){n.r(l),n.d(l,{default:function(){return o}});var t=n(485),a=n(59),r=n(155),c=n.n(r),m=n(592),u=n(488);function o(){var e=(0,u.k)(),l=[{required:!0,message:e("The field value is required")}];return c().createElement(c().Fragment,null,c().createElement(m.Lg,null),c().createElement(m.om,null),c().createElement(m.BL,null),c().createElement(a.Form.Item,{name:["options","Region"],label:"".concat(e("Region")," :"),rules:l},c().createElement(t.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","SecretId"],label:"".concat(e("SecretId")," :"),rules:l},c().createElement(t.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","SecretKey"],label:"".concat(e("SecretKey")," :"),rules:l},c().createElement(t.EnvVariableInput,{password:!0})),c().createElement(a.Form.Item,{name:["options","Bucket"],label:"".concat(e("Bucket")," :"),rules:l},c().createElement(t.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","thumbnailRule"],label:"".concat(e("Thumbnail rule")," :")},c().createElement(t.EnvVariableInput,{placeholder:"?imageMogr2/thumbnail/!50p"})),c().createElement(m.Sx,null),c().createElement(m.OC,null),c().createElement(m.C6,null),c().createElement(m.KT,null),c().createElement(m.Lq,null),c().createElement(m.mt,null),c().createElement(m.tp,null))}}}]);
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- "use strict";(self.webpackChunk_nocobase_plugin_file_manager_client_v2=self.webpackChunk_nocobase_plugin_file_manager_client_v2||[]).push([["336"],{595:function(e,n,t){t.r(n),t.d(n,{default:function(){return o}});var l=t(485),a=t(59),r=t(155),c=t.n(r),m=t(564),u=t(488);function o(){var e=(0,u.k)(),n=[{required:!0,message:e("The field value is required")}];return c().createElement(c().Fragment,null,c().createElement(m.Lg,null),c().createElement(m.om,null),c().createElement(m.BL,null),c().createElement(a.Form.Item,{name:["options","region"],label:"".concat(e("Region")," :"),rules:n},c().createElement(l.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","accessKeyId"],label:"".concat(e("AccessKey ID")," :"),rules:n},c().createElement(l.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","secretAccessKey"],label:"".concat(e("AccessKey Secret")," :"),rules:n},c().createElement(l.EnvVariableInput,{password:!0})),c().createElement(a.Form.Item,{name:["options","bucket"],label:"".concat(e("Bucket")," :"),rules:n},c().createElement(l.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","endpoint"],label:"".concat(e("Endpoint")," :")},c().createElement(l.EnvVariableInput,null)),c().createElement(m.Sx,null),c().createElement(m.OC,null),c().createElement(m.KT,null),c().createElement(m.Lq,null),c().createElement(m.mt,null),c().createElement(m.tp,null))}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_file_manager_client_v2=self.webpackChunk_nocobase_plugin_file_manager_client_v2||[]).push([["336"],{595:function(e,n,l){l.r(n),l.d(n,{default:function(){return o}});var t=l(485),a=l(59),r=l(155),c=l.n(r),m=l(592),u=l(488);function o(){var e=(0,u.k)(),n=[{required:!0,message:e("The field value is required")}];return c().createElement(c().Fragment,null,c().createElement(m.Lg,null),c().createElement(m.om,null),c().createElement(m.BL,null),c().createElement(a.Form.Item,{name:["options","region"],label:"".concat(e("Region")," :"),rules:n},c().createElement(t.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","accessKeyId"],label:"".concat(e("AccessKey ID")," :"),rules:n},c().createElement(t.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","secretAccessKey"],label:"".concat(e("AccessKey Secret")," :"),rules:n},c().createElement(t.EnvVariableInput,{password:!0})),c().createElement(a.Form.Item,{name:["options","bucket"],label:"".concat(e("Bucket")," :"),rules:n},c().createElement(t.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","endpoint"],label:"".concat(e("Endpoint")," :")},c().createElement(t.EnvVariableInput,null)),c().createElement(m.Sx,null),c().createElement(m.OC,null),c().createElement(m.C6,null),c().createElement(m.KT,null),c().createElement(m.Lq,null),c().createElement(m.mt,null),c().createElement(m.tp,null))}}}]);
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- "use strict";(self.webpackChunk_nocobase_plugin_file_manager_client_v2=self.webpackChunk_nocobase_plugin_file_manager_client_v2||[]).push([["43"],{574:function(e,t,n){n.r(t),n.d(t,{default:function(){return s}});var l=n(485),a=n(59),r=n(155),c=n.n(r),o=n(564),m=n(488);function s(){var e=(0,m.k)(),t=[{required:!0,message:e("The field value is required")}];return c().createElement(c().Fragment,null,c().createElement(o.Lg,null),c().createElement(o.om,null),c().createElement(o.BL,null),c().createElement(a.Form.Item,{name:["options","region"],label:"".concat(e("Region")," :"),rules:t,extra:e('Aliyun OSS region part of the bucket. For example: "oss-cn-beijing".')},c().createElement(l.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","accessKeyId"],label:"".concat(e("AccessKey ID")," :"),rules:t},c().createElement(l.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","accessKeySecret"],label:"".concat(e("AccessKey Secret")," :"),rules:t},c().createElement(l.EnvVariableInput,{password:!0})),c().createElement(a.Form.Item,{name:["options","bucket"],label:"".concat(e("Bucket")," :"),rules:t},c().createElement(l.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","timeout"],label:"".concat(e("Timeout")," :"),extra:e("Upload timeout for a single file in milliseconds. Default is 600000.")},c().createElement(a.InputNumber,{style:{width:"100%"}})),c().createElement(a.Form.Item,{name:["options","thumbnailRule"],label:"".concat(e("File pre-process parameters")," :")},c().createElement(l.EnvVariableInput,{placeholder:"?x-oss-process=image/auto-orient,1/resize,m_fill,w_94,h_94/quality,q_90"})),c().createElement(o.Sx,null),c().createElement(o.OC,null),c().createElement(o.KT,null),c().createElement(o.Lq,null),c().createElement(o.mt,null),c().createElement(o.tp,null),c().createElement(a.Form.Item,{name:["settings","requestOptions"],label:"".concat(e("Request options")," :"),extra:e("Additional options for HTTP requests when fetching files from remote storage on server side, such as headers.")},c().createElement(l.JsonTextArea,{autoSize:{minRows:5}})))}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_file_manager_client_v2=self.webpackChunk_nocobase_plugin_file_manager_client_v2||[]).push([["43"],{574:function(e,t,n){n.r(t),n.d(t,{default:function(){return s}});var l=n(485),a=n(59),r=n(155),c=n.n(r),o=n(592),m=n(488);function s(){var e=(0,m.k)(),t=[{required:!0,message:e("The field value is required")}];return c().createElement(c().Fragment,null,c().createElement(o.Lg,null),c().createElement(o.om,null),c().createElement(o.BL,null),c().createElement(a.Form.Item,{name:["options","region"],label:"".concat(e("Region")," :"),rules:t,extra:e('Aliyun OSS region part of the bucket. For example: "oss-cn-beijing".')},c().createElement(l.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","accessKeyId"],label:"".concat(e("AccessKey ID")," :"),rules:t},c().createElement(l.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","accessKeySecret"],label:"".concat(e("AccessKey Secret")," :"),rules:t},c().createElement(l.EnvVariableInput,{password:!0})),c().createElement(a.Form.Item,{name:["options","bucket"],label:"".concat(e("Bucket")," :"),rules:t},c().createElement(l.EnvVariableInput,null)),c().createElement(a.Form.Item,{name:["options","timeout"],label:"".concat(e("Timeout")," :"),extra:e("Upload timeout for a single file in milliseconds. Default is 600000.")},c().createElement(a.InputNumber,{style:{width:"100%"}})),c().createElement(a.Form.Item,{name:["options","thumbnailRule"],label:"".concat(e("File pre-process parameters")," :")},c().createElement(l.EnvVariableInput,{placeholder:"?x-oss-process=image/auto-orient,1/resize,m_fill,w_94,h_94/quality,q_90"})),c().createElement(o.Sx,null),c().createElement(o.OC,null),c().createElement(o.C6,null),c().createElement(o.KT,null),c().createElement(o.Lq,null),c().createElement(o.mt,null),c().createElement(o.tp,null),c().createElement(a.Form.Item,{name:["settings","requestOptions"],label:"".concat(e("Request options")," :"),extra:e("Additional options for HTTP requests when fetching files from remote storage on server side, such as headers.")},c().createElement(l.JsonTextArea,{autoSize:{minRows:5}})))}}}]);
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- "use strict";(self.webpackChunk_nocobase_plugin_file_manager_client_v2=self.webpackChunk_nocobase_plugin_file_manager_client_v2||[]).push([["929"],{864:function(e,n,t){t.r(n),t.d(n,{default:function(){return m}});var l=t(59),a=t(155),r=t.n(a),u=t(564);function m(){return r().createElement(r().Fragment,null,r().createElement(u.Lg,null),r().createElement(u.om,null),r().createElement(l.Form.Item,{name:"baseUrl",hidden:!0},r().createElement(l.Input,null)),r().createElement(l.Form.Item,{name:["options","documentRoot"],hidden:!0},r().createElement(l.Input,null)),r().createElement(u.Sx,{addonBefore:"storage/uploads/"}),r().createElement(u.OC,null),r().createElement(u.KT,null),r().createElement(u.Lq,null),r().createElement(u.mt,null),r().createElement(u.tp,null))}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_file_manager_client_v2=self.webpackChunk_nocobase_plugin_file_manager_client_v2||[]).push([["929"],{864:function(e,n,t){t.r(n),t.d(n,{default:function(){return m}});var l=t(59),a=t(155),r=t.n(a),u=t(592);function m(){return r().createElement(r().Fragment,null,r().createElement(u.Lg,null),r().createElement(u.om,null),r().createElement(l.Form.Item,{name:"baseUrl",hidden:!0},r().createElement(l.Input,null)),r().createElement(l.Form.Item,{name:["options","documentRoot"],hidden:!0},r().createElement(l.Input,null)),r().createElement(u.Sx,{addonBefore:"storage/uploads/"}),r().createElement(u.OC,null),r().createElement(u.C6,null),r().createElement(u.KT,null),r().createElement(u.Lq,null),r().createElement(u.mt,null),r().createElement(u.tp,null))}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_file_manager_client_v2=self.webpackChunk_nocobase_plugin_file_manager_client_v2||[]).push([["942"],{837:function(e,t,r){r.r(t),r.d(t,{default:function(){return E}});var n=r(375),a=r(477),o=r(485),l=r(694),u=r(625),i=r(59),c=r(773),s=r(155),f=r.n(s),p=r(488),d=r(58);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function y(e,t,r,n,a,o,l){try{var u=e[o](l),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,a)}function b(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var o=e.apply(t,r);function l(e){y(o,n,a,l,u,"next",e)}function u(e){y(o,n,a,l,u,"throw",e)}l(void 0)})}}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,u=!1;try{for(a=a.call(e);!(l=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);l=!0);}catch(e){u=!0,n=e}finally{try{l||null==a.return||a.return()}finally{if(u)throw n}}return o}}(e,t)||v(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){if(e){if("string"==typeof e)return m(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return m(e,t)}}function h(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function w(){var e,t,r=(e=["\n .ant-radio-group {\n display: flex;\n flex-wrap: wrap;\n gap: ","px;\n }\n\n .ant-radio-wrapper {\n margin-inline-end: 0;\n max-width: 100%;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return w=function(){return r},r}function S(){return(0,l.useFlowContext)().api.resource("storages")}function O(e){var t,r=(0,p.k)(),n=S(),u=g(i.Form.useForm(),1)[0],d=g((0,s.useState)(!1),2),m=d[0],y=d[1],v=(t=i.theme.useToken().token,(0,s.useMemo)(function(){return(0,a.css)(w(),t.marginSM)},[t.marginSM])),O=(0,s.useMemo)(function(){var t,r,n={mode:e.mode,storageType:e.storageType,record:e.record};return"edit"===n.mode?(0,c.cloneDeep)(n.record||{}):(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},(0,c.cloneDeep)(n.storageType.defaultValues||{})),r=r={type:n.storageType.name,name:(0,l.randomId)("s_")},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t)},[e.mode,e.record,e.storageType]);(0,s.useEffect)(function(){u.setFieldsValue(O)},[u,O]);var E=(0,s.useCallback)(function(){return b(function(){var t,r;return h(this,function(a){switch(a.label){case 0:return[4,u.validateFields()];case 1:t=a.sent(),y(!0),a.label=2;case 2:if(a.trys.push([2,,7,8]),"create"!==e.mode)return[3,4];return[4,n.create({values:t})];case 3:return a.sent(),[3,6];case 4:return[4,n.update({filterByTk:null==(r=e.record)?void 0:r.id,values:t})];case 5:a.sent(),a.label=6;case 6:return e.onSubmitted(),[3,8];case 7:return y(!1),[7];case 8:return[2]}})})()},[u,e,n]),k=(0,s.useMemo)(function(){return(0,s.lazy)(e.storageType.formLoader)},[e.storageType]),j="".concat(r("create"===e.mode?"Add new":"Edit")," - ").concat(r(e.storageType.title));return f().createElement(o.DrawerFormLayout,{title:j,onSubmit:E,submitting:m,submitText:r("Submit"),cancelText:r("Cancel")},f().createElement(i.Form,{form:u,layout:"vertical",initialValues:O,className:v},f().createElement(i.Form.Item,{name:"type",hidden:!0},f().createElement(i.Input,null)),f().createElement(s.Suspense,{fallback:f().createElement(i.Spin,null)},f().createElement(k,null))))}function E(){var e=(0,p.k)(),t=(0,l.useFlowContext)(),r=i.theme.useToken().token,a=i.App.useApp(),c=a.modal,y=a.message,w=S(),E=t.app.pm.get(d.S),k=(0,s.useMemo)(function(){var e;return function(e){if(Array.isArray(e))return m(e)}(e=E.storageTypes.values())||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||v(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()},[E]),j=g((0,s.useState)(1),2),T=j[0],A=j[1],x=g((0,s.useState)(o.DEFAULT_PAGE_SIZE),2),C=x[0],P=x[1],D=g((0,s.useState)([]),2),_=D[0],I=D[1],F=(0,u.useRequest)(function(){return b(function(){return h(this,function(e){switch(e.label){case 0:return[4,w.list({page:T,pageSize:C,sort:["id"],appends:[]})];case 1:var t,r,n,a,o;return[2,{records:a=Array.isArray(n=null==(r=null==(t=e.sent())?void 0:t.data)?void 0:r.data)?n:Array.isArray(null==n?void 0:n.data)?n.data:[],total:(o=(null==r?void 0:r.meta)||(null==n?void 0:n.meta)||{}).count||o.total||a.length}]}})})()},{refreshDeps:[T,C]}),M=F.data,z=F.loading,B=F.refresh,L=(0,u.useMemoizedFn)(function(e,t){if(t!==C){P(t),A(1);return}A(e)}),V=(0,s.useCallback)(function(e,r,n){t.viewer.drawer({width:"50%",closable:!0,content:function(){return f().createElement(O,{mode:e,storageType:r,record:n,onSubmitted:function(){return B()}})}})},[t.viewer,B]),G=(0,s.useCallback)(function(t){c.confirm({title:e("Delete"),content:e("Are you sure you want to delete it?"),onOk:function(){return b(function(){return h(this,function(e){switch(e.label){case 0:return[4,w.destroy({filterByTk:t})];case 1:return e.sent(),I([]),B(),[2]}})})()}})},[c,B,w,e]),K=(0,s.useMemo)(function(){return[{title:e("Title"),dataIndex:"title"},{title:e("Storage name"),dataIndex:"name"},{title:e("Default storage"),dataIndex:"default",render:function(e){return e?f().createElement(n.CheckOutlined,{style:{color:r.colorSuccess}}):null}},{title:e("Actions"),render:function(t,r){return f().createElement(i.Space,null,f().createElement("a",{onClick:function(){var t=E.getStorageType(r.type);t?V("edit",t,r):y.error(e("Storage type {{type}} is not registered, please check if related plugin is enabled.").replace("{{type}}",r.type||""))}},e("Edit")),f().createElement("a",{onClick:function(){return G(r.id)}},e("Delete")))}}]},[E,G,y,V,e]);return f().createElement(i.Card,{variant:"borderless"},f().createElement("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginBottom:16}},f().createElement(i.Button,{icon:f().createElement(n.DeleteOutlined,null),disabled:!_.length,onClick:function(){return G(_)}},e("Delete")),f().createElement(i.Dropdown,{menu:{items:k.map(function(t){return{key:t.name,label:e(t.title)}}),onClick:function(e){var t=E.getStorageType(e.key);t&&V("create",t)}}},f().createElement(i.Button,{type:"primary",icon:f().createElement(n.PlusOutlined,null)},e("Add new")," ",f().createElement(n.DownOutlined,null)))),f().createElement(o.Table,{rowKey:"id",loading:z,columns:K,dataSource:(null==M?void 0:M.records)||[],rowSelection:{selectedRowKeys:_,onChange:I},pagination:{current:T,pageSize:C,total:(null==M?void 0:M.total)||0,onChange:L}}))}}}]);
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import type { CollectionTemplateConfigureItemProps } from '@nocobase/plugin-data-source-manager/client-v2';
10
+ import React from 'react';
11
+ type StorageRecord = {
12
+ name: string;
13
+ title?: string;
14
+ };
15
+ export declare function normalizeStorageRecords(response: unknown): StorageRecord[];
16
+ export declare function FileCollectionStorageConfigureItem({ item }: CollectionTemplateConfigureItemProps): React.JSX.Element;
17
+ export {};
@@ -0,0 +1,19 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ type Translate = (key: string) => string;
11
+ export interface PublicAccessCheckboxProps {
12
+ checked?: boolean;
13
+ onChange?: (checked: boolean) => void;
14
+ disabled?: boolean;
15
+ t: Translate;
16
+ }
17
+ export declare function PublicAccessCheckbox({ checked, onChange, disabled, t }: PublicAccessCheckboxProps): React.JSX.Element;
18
+ export declare function PublicAccessField(): React.JSX.Element;
19
+ export {};
@@ -0,0 +1,25 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ type Translate = (key: string) => string;
11
+ export interface UseOriginalUrlRadioProps {
12
+ id?: string;
13
+ value?: boolean;
14
+ onChange?: (value: boolean) => void;
15
+ disabled?: boolean;
16
+ originalUrlExample?: string;
17
+ publicAccessControl?: React.ReactNode;
18
+ t: Translate;
19
+ }
20
+ export interface UseOriginalUrlFieldProps {
21
+ originalUrlExample?: string;
22
+ }
23
+ export declare function UseOriginalUrlRadio({ id, value, onChange, disabled, originalUrlExample, publicAccessControl, t, }: UseOriginalUrlRadioProps): React.JSX.Element;
24
+ export declare function UseOriginalUrlField(props: UseOriginalUrlFieldProps): React.JSX.Element;
25
+ export {};
@@ -13,5 +13,7 @@ export * from './MimetypeField';
13
13
  export * from './NameField';
14
14
  export * from './ParanoidField';
15
15
  export * from './PathField';
16
+ export * from './PublicAccessField';
16
17
  export * from './RenameModeField';
17
18
  export * from './TitleField';
19
+ export * from './UseOriginalUrlField';
@@ -9,10 +9,11 @@
9
9
  export { default } from './plugin';
10
10
  export { default as PluginFileManagerClientV2 } from './plugin';
11
11
  export type { StorageType } from './plugin';
12
- export { BaseUrlField, DefaultField, FileSizeField, MimetypeField, NameField, ParanoidField, PathField, RenameModeField, TitleField, } from './components';
12
+ export { BaseUrlField, DefaultField, FileSizeField, MimetypeField, NameField, ParanoidField, PathField, PublicAccessField, RenameModeField, TitleField, UseOriginalUrlField, UseOriginalUrlRadio, } from './components';
13
+ export type { UseOriginalUrlFieldProps, UseOriginalUrlRadioProps } from './components/UseOriginalUrlField';
13
14
  export type { DefaultFieldProps } from './components/DefaultField';
14
15
  export type { PathFieldProps } from './components/PathField';
15
16
  export { CardUpload, UploadFieldModel } from './models/UploadFieldModel';
16
17
  export { AttachmentFieldInterface } from './interfaces/attachment';
17
- export { filePreviewTypes, getPermanentFilePreviewUrl, getPreviewThumbnailUrl, isPermanentFileUrl, matchMimetype, wrapWithModalPreviewer, } from './previewer/filePreviewTypes';
18
+ export { filePreviewTypes, getPermanentFilePreviewUrl, getPreviewThumbnailUrl, isPermanentFileUrl, matchMimetype, triggerFileDownload, wrapWithModalPreviewer, } from './previewer/filePreviewTypes';
18
19
  export type { FilePreviewType, FilePreviewerProps } from './previewer/filePreviewTypes';