@nocobase/plugin-file-manager 2.1.0-alpha.4 → 2.1.0-alpha.40

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 (103) hide show
  1. package/LICENSE +201 -661
  2. package/README.md +79 -10
  3. package/client-v2.d.ts +2 -0
  4. package/client-v2.js +1 -0
  5. package/dist/client/index.d.ts +1 -1
  6. package/dist/client/index.js +1 -1
  7. package/dist/client/locale/index.d.ts +2 -1
  8. package/dist/client/previewer/filePreviewTypes.d.ts +1 -31
  9. package/dist/client-v2/125.01d5562df948d974.js +10 -0
  10. package/dist/client-v2/229.bd72c2d7aa088310.js +10 -0
  11. package/dist/client-v2/336.1dd1b32466d0c778.js +10 -0
  12. package/dist/client-v2/43.eb45d53ba3e9828b.js +10 -0
  13. package/dist/client-v2/450.f590b4c220108742.js +10 -0
  14. package/dist/client-v2/929.d7e783304cc1f236.js +10 -0
  15. package/dist/client-v2/942.9dc2d49980a4dd9e.js +10 -0
  16. package/dist/{client/StorageOptions.d.ts → client-v2/components/BaseUrlField.d.ts} +1 -1
  17. package/dist/client-v2/components/DefaultField.d.ts +18 -0
  18. package/dist/client-v2/components/FileSizeField.d.ts +10 -0
  19. package/dist/client-v2/components/MimetypeField.d.ts +10 -0
  20. package/dist/client-v2/components/NameField.d.ts +10 -0
  21. package/dist/client-v2/components/ParanoidField.d.ts +10 -0
  22. package/dist/client-v2/components/PathField.d.ts +18 -0
  23. package/dist/client-v2/components/RenameModeField.d.ts +10 -0
  24. package/dist/client-v2/components/TitleField.d.ts +10 -0
  25. package/dist/client-v2/components/index.d.ts +17 -0
  26. package/dist/client-v2/index.d.ts +15 -0
  27. package/dist/client-v2/index.js +10 -0
  28. package/dist/client-v2/locale.d.ts +10 -0
  29. package/dist/{client → client-v2}/models/DisplayPreviewFieldModel.d.ts +1 -1
  30. package/dist/{client → client-v2}/models/UploadActionModel.d.ts +2 -2
  31. package/dist/{client → client-v2}/models/UploadFieldModel.d.ts +1 -1
  32. package/dist/client-v2/models/index.d.ts +11 -0
  33. package/dist/client-v2/models/uploadFieldUtils.d.ts +64 -0
  34. package/dist/client-v2/pages/FileStoragePage.d.ts +10 -0
  35. package/dist/client-v2/plugin.d.ts +87 -0
  36. package/dist/client-v2/storage-forms/AliOssStorageForm.d.ts +10 -0
  37. package/dist/client-v2/storage-forms/LocalStorageForm.d.ts +10 -0
  38. package/dist/client-v2/storage-forms/S3StorageForm.d.ts +10 -0
  39. package/dist/client-v2/storage-forms/TxCosStorageForm.d.ts +10 -0
  40. package/dist/externalVersion.js +12 -12
  41. package/dist/locale/en-US.json +1 -0
  42. package/dist/locale/zh-CN.json +1 -0
  43. package/dist/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +190 -190
  44. package/dist/node_modules/@aws-sdk/client-s3/package.json +1 -1
  45. package/dist/node_modules/@aws-sdk/lib-storage/dist-cjs/index.js +195 -195
  46. package/dist/node_modules/@aws-sdk/lib-storage/node_modules/buffer/index.d.ts +186 -0
  47. package/dist/node_modules/@aws-sdk/lib-storage/node_modules/buffer/index.js +1794 -0
  48. package/dist/node_modules/@aws-sdk/lib-storage/node_modules/buffer/package.json +82 -0
  49. package/dist/node_modules/@aws-sdk/lib-storage/package.json +1 -1
  50. package/dist/node_modules/ali-oss/lib/client.js +14 -14
  51. package/dist/node_modules/ali-oss/package.json +1 -1
  52. package/dist/node_modules/cos-nodejs-sdk-v5/.github/workflows/auto-changelog.yml +55 -0
  53. package/dist/node_modules/cos-nodejs-sdk-v5/.prettierrc +10 -0
  54. package/dist/node_modules/cos-nodejs-sdk-v5/.travis.yml +16 -0
  55. package/dist/node_modules/cos-nodejs-sdk-v5/LICENSE +21 -0
  56. package/dist/node_modules/cos-nodejs-sdk-v5/demo/crc64.js +9 -0
  57. package/dist/node_modules/cos-nodejs-sdk-v5/demo/demo-sts-scope.js +75 -0
  58. package/dist/node_modules/cos-nodejs-sdk-v5/demo/demo-sts.js +65 -0
  59. package/dist/node_modules/cos-nodejs-sdk-v5/demo/demo.js +4542 -0
  60. package/dist/node_modules/cos-nodejs-sdk-v5/demo/util.js +135 -0
  61. package/dist/node_modules/cos-nodejs-sdk-v5/index.d.ts +2610 -0
  62. package/dist/node_modules/cos-nodejs-sdk-v5/index.js +220 -0
  63. package/dist/node_modules/cos-nodejs-sdk-v5/package.json +1 -0
  64. package/dist/node_modules/cos-nodejs-sdk-v5/sdk/advance.js +1659 -0
  65. package/dist/node_modules/cos-nodejs-sdk-v5/sdk/async.js +59 -0
  66. package/dist/node_modules/cos-nodejs-sdk-v5/sdk/base.js +4404 -0
  67. package/dist/node_modules/cos-nodejs-sdk-v5/sdk/cos.js +137 -0
  68. package/dist/node_modules/cos-nodejs-sdk-v5/sdk/event.js +34 -0
  69. package/dist/node_modules/cos-nodejs-sdk-v5/sdk/select-stream.js +181 -0
  70. package/dist/node_modules/cos-nodejs-sdk-v5/sdk/session.js +126 -0
  71. package/dist/node_modules/cos-nodejs-sdk-v5/sdk/task.js +255 -0
  72. package/dist/node_modules/cos-nodejs-sdk-v5/sdk/util.js +776 -0
  73. package/dist/node_modules/cos-nodejs-sdk-v5/test/csp.js +1302 -0
  74. package/dist/node_modules/cos-nodejs-sdk-v5/test/test.js +6119 -0
  75. package/dist/node_modules/mime-match/index.js +1 -1
  76. package/dist/node_modules/mime-match/package.json +1 -1
  77. package/dist/node_modules/mime-types/index.js +3 -3
  78. package/dist/node_modules/mime-types/package.json +1 -1
  79. package/dist/node_modules/mkdirp/index.js +1 -1
  80. package/dist/node_modules/mkdirp/package.json +1 -1
  81. package/dist/node_modules/url-join/lib/url-join.js +1 -1
  82. package/dist/node_modules/url-join/package.json +1 -1
  83. package/dist/server/index.d.ts +1 -1
  84. package/dist/server/index.js +2 -0
  85. package/dist/server/server.d.ts +2 -2
  86. package/dist/server/server.js +2 -2
  87. package/dist/server/storages/index.d.ts +4 -1
  88. package/dist/server/storages/index.js +2 -1
  89. package/dist/server/storages/local.js +7 -3
  90. package/dist/server/storages/tx-cos.d.ts +16 -1
  91. package/dist/server/storages/tx-cos.js +111 -10
  92. package/dist/server/utils.d.ts +1 -0
  93. package/dist/server/utils.js +21 -2
  94. package/dist/shared/locale.d.ts +9 -0
  95. package/dist/shared/locale.js +36 -0
  96. package/dist/shared/previewer/filePreviewTypes.d.ts +42 -0
  97. package/dist/shared/previewer/filePreviewTypes.js +459 -0
  98. package/package.json +7 -4
  99. package/dist/node_modules/multer-cos/LICENSE +0 -24
  100. package/dist/node_modules/multer-cos/demo/index.js +0 -39
  101. package/dist/node_modules/multer-cos/demo/myMulter.js +0 -88
  102. package/dist/node_modules/multer-cos/index.js +0 -220
  103. package/dist/node_modules/multer-cos/package.json +0 -1
@@ -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([["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))}}}]);
@@ -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([["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))}}}]);
@@ -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([["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}})))}}}]);
@@ -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([["450"],{177:function(e,t,n){n.r(t),n.d(t,{UploadActionModel:function(){return z},useBeforeUpload:function(){return A},useStorageCfg:function(){return B},useStorageUploadProps:function(){return _},useStorage:function(){return C},validate:function(){return I}});var r=n(375),o=n(485),i=n(694),l=n(625),a=n(59);let u="bits",c="bytes",s="jedec",p={iec:{bits:["bit","Kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],bytes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},jedec:{bits:["bit","Kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],bytes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}},f={iec:["","kibi","mebi","gibi","tebi","pebi","exbi","zebi","yobi"],jedec:["","kilo","mega","giga","tera","peta","exa","zetta","yotta"]};var d=n(484),b=n.n(d),y=n(155),g=n.n(y),m=n(953);function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function h(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function w(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O(e,t,n){return(O="u">typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=k(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n||e):o.value}})(e,t,n||e)}function k(e){return(k=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){w(e,t,n[t])})}return e}function j(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function x(e,t){return(x=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],l=!0,a=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(a)throw r}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v(e,t)}}(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 S(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(S=function(){return!!e})()}var T=function(e){var t,n,r=(0,i.useFlowContext)(),o=(0,y.useMemo)(function(){var t="".concat(e.context.collection.name,":create");if(null==(o=r.view)||null==(n=o.inputArgs)?void 0:n.sourceId){var n,o,i,l=P(e.context.blockModel.association.resourceName.split("."),2),a=l[0],u=l[1];t="".concat(a,"/").concat(null==(i=r.view)?void 0:i.inputArgs.sourceId,"/").concat(u,":create")}return t},[e.context.collection.name,null==(n=r.view)||null==(t=n.inputArgs)?void 0:t.sourceId]),l={},a=0,u={action:o,onChange:function(t){var n=t.fileList;n.forEach(function(t){if("uploading"!==t.status||l[t.uid]||(a++,l[t.uid]=!0),"uploading"!==t.status&&l[t.uid]&&(delete l[t.uid],0==--a)){var n,r;null==(n=(r=e.context.blockModel.resource).refresh)||n.call(r)}}),n.every(function(e){return"done"===e.status})&&r.view.close()}},c=_(u,e);return E({},u,c)};function C(e){var t=null!=e?e:"",n="storages:getBasicInfo/".concat(t),r=(0,i.useFlowContext)(),o=(0,l.useRequest)(function(){var e;return(e=function(){var e;return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(l,"next",{value:u(0)}),a(l,"throw",{value:u(1)}),a(l,"return",{value:u(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function u(a){return function(u){var c=[a,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:return[4,r.api.request({url:n,skipNotify:!0})];case 1:return[2,null==(e=t.sent())?void 0:e.data]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){h(i,r,o,l,a,"next",e)}function a(e){h(i,r,o,l,a,"throw",e)}l(void 0)})})()},{manual:!0,refreshDeps:[t],cacheKey:n}),a=o.loading,u=o.data,c=o.run;return(0,y.useEffect)(function(){c()},[c]),!a&&(null==u?void 0:u.data)||null}function B(e){var t,n=(0,i.useFlowContext)(),r=n.collectionField,o=null==(t=n.collectionField)?void 0:t.targetCollection,l=n.app.pm.get("@nocobase/plugin-file-manager"),a=e.context.blockModel.collection,u=C((null==r?void 0:r.storage)||a.storage||o.storage),c=l.getStorageType(null==u?void 0:u.type);return{storage:u,storageType:c}}function _(e,t){var n=B(t),r=n.storage,o=n.storageType,i=null==o?void 0:o.useUploadProps,l=(null==i?void 0:i(E({storage:r,rules:r.rules},e)))||{};return E({rules:null==r?void 0:r.rules},l)}var M={size:function(e,t){var n=null!=t?t:0x1400000;return 0===n||e.size<=n?null:"File size exceeds the limit"},mimetype:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"*",n=t.toString().trim();return n&&"*"!==n?n.split(",").filter(Boolean).some(b()(e.type))?null:"File type is not allowed":null}};function I(e,t){if(!t)return null;var n=Object.keys(t);if(!n.length)return null;var r=!0,o=!1,i=void 0;try{for(var l,a=n[Symbol.iterator]();!(r=(l=a.next()).done);r=!0){var u=l.value,c=M[u](e,t[u]);if(c)return c}}catch(e){o=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(o)throw i}}return null}function A(e){var t=(0,m.useTranslation)().t;return(0,y.useCallback)(function(n,r){var o=I(n,e);return o?(n.status="error",n.response=t(o)):"error"===n.status&&(delete n.status,delete n.response),!o&&Promise.resolve(n)},[e])}function U(e){var t,n,o,l,d,b,v=e.model,h=(0,i.useFlowContext)(),w=T(v),O=w.rules,k=null!=O?O:{},x=k.size;k.mimetype;var S=(t=null!=x?x:0x1400000,o=(n=(0,m.useTranslation)()).t,l=function(e,{bits:t=!1,pad:n=!1,base:r=-1,round:o=2,locale:i="",localeOptions:l={},separator:a="",spacer:d=" ",symbols:b={},standard:y="",output:g="string",fullform:m=!1,fullforms:v=[],exponent:h=-1,roundingMethod:w="round",precision:O=0}={}){let k=h,E=Number(e),j=[],x=0,P="";"si"===y?(r=10,y=s):"iec"===y||y===s?r=2:2===r?y="iec":(r=10,y=s);let S=10===r?1e3:1024,T=E<0,C=Math[w];if("bigint"!=typeof e&&isNaN(e))throw TypeError("Invalid number");if("function"!=typeof C)throw TypeError("Invalid rounding method");if(T&&(E=-E),(-1===k||isNaN(k))&&(k=Math.floor(Math.log(E)/Math.log(S)))<0&&(k=0),k>8&&(O>0&&(O+=8-k),k=8),"exponent"===g)return k;if(0===E)j[0]=0,P=j[1]=p[y][t?u:c][k];else{x=E/(2===r?Math.pow(2,10*k):Math.pow(1e3,k)),t&&(x*=8)>=S&&k<8&&(x/=S,k++);let e=Math.pow(10,k>0?o:0);j[0]=C(x*e)/e,j[0]===S&&k<8&&-1===h&&(j[0]=1,k++),P=j[1]=10===r&&1===k?t?"kbit":"kB":p[y][t?u:c][k]}if(T&&(j[0]=-j[0]),O>0&&(j[0]=j[0].toPrecision(O)),j[1]=b[j[1]]||j[1],!0===i?j[0]=j[0].toLocaleString():i.length>0?j[0]=j[0].toLocaleString(i,l):a.length>0&&(j[0]=j[0].toString().replace(".",a)),n&&o>0){let e=j[0].toString(),t=a||(e.match(/(\D)/g)||[]).pop()||".",n=e.toString().split(t),r=n[1]||"",i=r.length;j[0]=`${n[0]}${t}${r.padEnd(i+(o-i),"0")}`}return!0===m&&(j[1]=v[k]?v[k]:f[y][k]+(t?"bit":"byte")+(1===j[0]?"":"s")),"array"===g?j:"object"===g?{value:j[0],symbol:j[1],exponent:k,unit:P}:j.join(d)}(t,{base:2,standard:"jedec",locale:n.i18n.language}),0!==t?o("File size should not exceed {{size}}.",{size:l}):""),C=P((0,y.useState)(!1),2),B=C[0],_=C[1],M=(0,y.useCallback)(function(e){e.fileList.some(function(e){return"uploading"===e.status})?_(!0):_(!1)},[]),I=h.view.Header,U=A(O);return g().createElement("div",null,g().createElement(I,{title:h.t("Upload file")}),g().createElement("div",{style:{height:"50vh"},onClick:function(e){return e.stopPropagation()}},g().createElement(a.Upload.Dragger,E({multiple:!0,listType:"picture"},(d=j(E({},w),{handleChange:M,beforeUpload:U}),b=(0,i.useFlowContext)(),E({customRequest:function(e){var t=e.action,n=e.data,r=e.file,o=e.filename,i=e.headers,l=e.onError,a=e.onProgress,u=e.onSuccess,c=e.withCredentials,s=new FormData;return n&&Object.keys(n).forEach(function(e){s.append(e,n[e])}),s.append(o,r),b.api.axios.post(t,s,{withCredentials:c,headers:i,onUploadProgress:function(e){var t=e.total;a({percent:Math.round(e.loaded/t*100).toFixed(2)},r)}}).then(function(e){u(e.data,r)}).catch(l).finally(function(){}),{abort:function(){console.log("upload progress is aborted.")}}}},d))),g().createElement("p",{className:"ant-upload-drag-icon"},B?g().createElement(r.LoadingOutlined,{style:{fontSize:36},spin:!0}):g().createElement(r.InboxOutlined,null)),g().createElement("p",{className:"ant-upload-text"},h.t("Click or drag file to this area to upload")),g().createElement("ul",{style:{listStyleType:"none"}},g().createElement("li",{className:"ant-upload-hint"},h.t("Support for a single or bulk upload.")),g().createElement("li",{className:"ant-upload-hint"},S)))))}var z=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t,r;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return t=n,r=arguments,t=k(t),w(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,S()?Reflect.construct(t,r||[],k(this).constructor):t.apply(this,r)),"defaultProps",{type:"primary",title:(0,i.escapeT)("Upload"),icon:"UploadOutlined"}),e}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&x(n,e),t=[{key:"getAclActionName",value:function(){return"create"}},{key:"onInit",value:function(e){var t=this;O(k(n.prototype),"onInit",this).call(this,e),this.onUploadClick=function(e){t.dispatchEvent("openView",{event:e})}}},{key:"onUploadClick",set:function(e){this.setProps({onUploadClick:e})}},{key:"render",value:function(){var e=this.props,t=e.icon?g().createElement(o.Icon,{type:e.icon}):void 0;return g().createElement(a.Button,j(E({},e),{onClick:this.props.onUploadClick,icon:t}),e.children||e.title)}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(n.prototype,t),n}(o.ActionModel);w(z,"scene",o.ActionSceneEnum.collection),z.define({label:(0,i.escapeT)("Upload"),hide:function(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="file"}}),z.registerFlow({key:"selectExitRecordSettings",title:(0,i.escapeT)("Selector setting"),on:{eventName:"openView"},steps:{openView:{title:(0,i.escapeT)("Edit popup"),uiSchema:function(e){return{mode:{type:"string",title:(0,i.escapeT)("Open mode"),enum:[{label:(0,i.escapeT)("Drawer"),value:"drawer"},{label:(0,i.escapeT)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,i.escapeT)("Popup size"),enum:[{label:(0,i.escapeT)("Small"),value:"small"},{label:(0,i.escapeT)("Medium"),value:"medium"},{label:(0,i.escapeT)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}}},defaultParams:{mode:"drawer",size:"medium"},handler:function(e,t){var n,r=e.inputArgs.mode||t.mode||"drawer",o=e.inputArgs.size||t.size||"medium";e.viewer.open({type:r,width:{drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}}[r][o],inheritContext:!1,target:e.layoutContentElement,inputArgs:{sourceId:null==(n=e.resource)?void 0:n.getSourceId()},content:function(){return g().createElement(U,{model:e.model})},styles:{content:E({padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout},"embed"===r?{position:"absolute",top:0,left:0,right:0,bottom:0}:{})}})}}}})}}]);
@@ -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([["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))}}}]);
@@ -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(124);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}}))}}}]);
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import React from 'react';
10
- export declare const StorageOptions: React.MemoExoticComponent<import("@formily/react").ReactFC<unknown>>;
10
+ export declare function BaseUrlField(): React.JSX.Element;
@@ -0,0 +1,18 @@
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
+ export interface DefaultFieldProps {
11
+ /**
12
+ * Disables the checkbox when editing a storage that is already marked as the
13
+ * default. v1 prevents un-checking the default storage from the edit form
14
+ * because that operation needs to happen by promoting another storage first.
15
+ */
16
+ disabled?: boolean;
17
+ }
18
+ export declare function DefaultField(props: DefaultFieldProps): React.JSX.Element;
@@ -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
+ import React from 'react';
10
+ export declare function FileSizeField(): React.JSX.Element;
@@ -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
+ import React from 'react';
10
+ export declare function MimetypeField(): React.JSX.Element;
@@ -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
+ import React from 'react';
10
+ export declare function NameField(): React.JSX.Element;
@@ -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
+ import React from 'react';
10
+ export declare function ParanoidField(): React.JSX.Element;
@@ -0,0 +1,18 @@
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
+ export interface PathFieldProps {
11
+ /**
12
+ * Optional prefix shown inside the input's addonBefore slot. Local storage
13
+ * uses this to render the fixed `storage/uploads/` mount point so users
14
+ * understand the relative path is appended to it.
15
+ */
16
+ addonBefore?: string;
17
+ }
18
+ export declare function PathField(props: PathFieldProps): React.JSX.Element;
@@ -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
+ import React from 'react';
10
+ export declare function RenameModeField(): React.JSX.Element;
@@ -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
+ import React from 'react';
10
+ export declare function TitleField(): React.JSX.Element;
@@ -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
+ export * from './BaseUrlField';
10
+ export * from './DefaultField';
11
+ export * from './FileSizeField';
12
+ export * from './MimetypeField';
13
+ export * from './NameField';
14
+ export * from './ParanoidField';
15
+ export * from './PathField';
16
+ export * from './RenameModeField';
17
+ export * from './TitleField';
@@ -0,0 +1,15 @@
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
+ export { default } from './plugin';
10
+ export { default as PluginFileManagerClientV2 } from './plugin';
11
+ export type { StorageType } from './plugin';
12
+ export { BaseUrlField, DefaultField, FileSizeField, MimetypeField, NameField, ParanoidField, PathField, RenameModeField, TitleField, } from './components';
13
+ export type { DefaultFieldProps } from './components/DefaultField';
14
+ export type { PathFieldProps } from './components/PathField';
15
+ export { CardUpload, UploadFieldModel } from './models/UploadFieldModel';
@@ -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
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-i18next"),require("@emotion/css"),require("@formily/react"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("ahooks"),require("@nocobase/client-v2"),require("react"),require("antd"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-file-manager/client-v2",["react-i18next","@emotion/css","@formily/react","@ant-design/icons","@nocobase/flow-engine","ahooks","@nocobase/client-v2","react","antd","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-file-manager/client-v2"]=t(require("react-i18next"),require("@emotion/css"),require("@formily/react"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("ahooks"),require("@nocobase/client-v2"),require("react"),require("antd"),require("lodash")):e["@nocobase/plugin-file-manager/client-v2"]=t(e["react-i18next"],e["@emotion/css"],e["@formily/react"],e["@ant-design/icons"],e["@nocobase/flow-engine"],e.ahooks,e["@nocobase/client-v2"],e.react,e.antd,e.lodash)}(self,function(e,t,n,r,o,i,l,a,u,c){return function(){var s,f,p,d={484:function(e,t,n){var r=n(986),o=/[\/\+\.]/;e.exports=function(e,t){function n(t){var n=r(t,e,o);return n&&n.length>=2}return t?n(t.split(";")[0]):n}},986:function(e){"use strict";function t(e,t){this.text=e=e||"",this.hasWild=~e.indexOf("*"),this.separator=t,this.parts=e.split(t)}t.prototype.match=function(e){var t,n,r=!0,o=this.parts,i=o.length;if("string"==typeof e||e instanceof String)if(this.hasWild||this.text==e){for(t=0,n=(e||"").split(this.separator);r&&t<i;t++)if("*"===o[t])continue;else r=t<n.length&&o[t]===n[t];r=r&&n}else r=!1;else if("function"==typeof e.splice)for(r=[],t=e.length;t--;)this.match(e[t])&&(r[r.length]=e[t]);else if("object"==typeof e)for(var l in r={},e)this.match(l)&&(r[l]=e[l]);return r},e.exports=function(e,n,r){var o=new t(e,r||/[\/\.]/);return void 0!==n?o.match(n):o}},76:function(e,t,n){"use strict";n.r(t),n.d(t,{UploadFieldModel:function(){return _},CardUpload:function(){return q}});var r=n(375),o=n(477),i=n(59),l=n(773),a=n(953),u=n(694),c=n(155),s=n.n(c),f=n(230),p=n(485),d=n(348);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var g=function(e,t){var n,r,o,i,l=null==e?void 0:e.response,a=null!=(n=null==e?void 0:e.id)?n:null==l?void 0:l.id,u=null!=(r=null==e?void 0:e.url)?r:null==l?void 0:l.url,c=null!=(o=null==e?void 0:e.filename)?o:null==l?void 0:l.filename,s=null!=(i=null==e?void 0:e.name)?i:null==l?void 0:l.name;return null!=a?"id:".concat(String(a)):null!=u?"url:".concat(u):null!=c?"filename:".concat(c,":").concat(t):null!=s?"name:".concat(s,":").concat(t):(null==e?void 0:e.uid)?"uid:".concat(e.uid):"index:".concat(t)},y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=new Map(t.map(function(e,t){return[g(e,t),e.uid]}).filter(function(e){return!!(function(e){if(Array.isArray(e))return e}(e)||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(t=r.next()).done)&&(o.push(t.value),2!==o.length);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return m(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return m(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[1]}));return e.map(function(e,t){var r,o,i,l=g(e,t);return r=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},e),o=o={uid:e.uid||n.get(l)||l,thumbUrl:null!=(i=e.thumbUrl)?i:(0,d.qk)(e)},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}),r})},v=function(e,t){var n=e.findIndex(function(e){return e.uid===(null==t?void 0:t.uid)});return n>=0?n:0};function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function h(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function w(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){h(i,r,o,l,a,"next",e)}function a(e){h(i,r,o,l,a,"throw",e)}l(void 0)})}}function O(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x(e,t,n){return(x="u">typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=S(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n||e):o.value}})(e,t,n||e)}function S(e){return(S=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function j(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){O(e,t,n[t])})}return e}function E(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function P(e,t){return(P=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],l=!0,a=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(a)throw r}}return i}}(e,t)||F(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 C(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||F(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.")}()}function F(e,t){if(e){if("string"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b(e,t)}}function R(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(R=function(){return!!e})()}function T(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(l,"next",{value:u(0)}),a(l,"throw",{value:u(1)}),a(l,"return",{value:u(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function u(a){return function(u){var c=[a,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function I(){var e,t,n=(e=["\n .ant-upload-list-picture-card {\n margin-bottom: 10px;\n .ant-upload-list-item-container {\n margin: ",";\n }\n }\n .ant-upload-select {\n margin: ",";\n }\n ","\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return I=function(){return n},n}var q=function(e){var t,n=e.allowSelectExistingRecord,u=e.multiple,p=e.value,m=e.disabled,g=e.onSelectExitRecordClick,b=e.quickUpload,h=e.showFileName,O=k((0,c.useState)(function(){return y((0,l.castArray)(p||[]))}),2),x=O[0],S=O[1],P=k((0,c.useState)(!1),2),C=P[0],F=P[1],R=k((0,c.useState)(null),2),q=R[0],_=R[1],M=k((0,c.useState)(0),2),A=M[0],D=M[1],U=(0,a.useTranslation)().t;(0,c.useLayoutEffect)(function(){S(function(e){return y((0,l.castArray)(p||[]),e)})},[p]);var L=(t=x.length,!!u||0===t);return s().createElement(f.FieldContext.Provider,{value:{value:x}},s().createElement("div",{style:{display:"flex"},className:(0,o.css)(I(),h?"8px 0px":"0px",h?"8px 0px":"0px",u?"":"\n .ant-upload-list-item-container.ant-upload-animate-inline-appear,\n .ant-upload-list-item-container.ant-upload-animate-inline-appear-active,\n .ant-upload-list-item-container.ant-upload-animate-inline-enter,\n .ant-upload-list-item-container.ant-upload-animate-inline-enter-active {\n animation: none !important;\n transition: none !important;\n transform: none !important;\n opacity: 1 !important;\n }\n\n .ant-upload.ant-upload-animate-inline-leave,\n .ant-upload.ant-upload-animate-inline-leave-active {\n animation: none !important;\n transition: none !important;\n }\n ")},s().createElement(i.Upload,E(j({onPreview:function(e){return w(function(){var t;return T(this,function(n){switch(n.label){case 0:var r;if(t=v(x,e),!(!e.url&&!e.preview))return[3,2];return[4,(r=e.originFileObj,new Promise(function(e,t){var n=new FileReader;n.readAsDataURL(r),n.onload=function(){return e(n.result)},n.onerror=function(e){return t(e)}}))];case 1:e.preview=n.sent(),n.label=2;case 2:return _(e),D(t),F(!0),[2]}})})()}},e),{listType:"picture-card",fileList:x,onChange:function(t){var n=t.fileList;S(function(e){return y(n,e)});var r=n.filter(function(e){return"done"===e.status||e.id});if(n.every(function(e){return"done"===e.status||e.id}))if(1===e.maxCount){var o=r[0];e.onChange(o?o.response:null)}else e.onChange(r.map(function(e){return e.response||e}).filter(Boolean))},itemRender:function(e,t){return s().createElement(s().Fragment,null,e,h&&s().createElement("div",{style:{fontSize:12,whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},title:t.filename},t.filename))}}),(void 0===b||b)&&L?s().createElement(r.UploadOutlined,{style:{fontSize:20}}):null),q&&s().createElement(d.Mo,{open:C,file:q,list:x,index:A,onOpenChange:F,onClose:function(){return _(null)},onSwitchIndex:function(e){e<0||e>=x.length||(D(e),_(x[e]))},onDownload:function(e){var t=e||q;if(t){var n=t.url||t.preview;if(n){var r=(0,d.ub)(t,n);fetch(n).then(function(e){return e.blob()}).then(function(e){var t=URL.createObjectURL(new Blob([e])),n=document.createElement("a");n.href=t,n.download=r,document.body.appendChild(n),n.click(),URL.revokeObjectURL(t),n.remove()})}}}}),n&&L?s().createElement("div",{style:{marginLeft:5}},s().createElement(i.Upload,{disabled:m,multiple:u,listType:"picture-card",showUploadList:!1},s().createElement("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:function(e){m||(e.stopPropagation(),e.preventDefault(),g())}},s().createElement(r.PlusOutlined,null),U("Select")))):null))},_=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t,r;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return t=n,r=arguments,t=S(t),O(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,R()?Reflect.construct(t,r||[],S(this).constructor):t.apply(this,r)),"selectedRows",u.observable.ref([])),O(e,"_closeView",void 0),e}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&P(n,e),t=[{key:"customRequest",set:function(e){this.setProps({customRequest:e})}},{key:"onInit",value:function(e){var t=this;x(S(n.prototype),"onInit",this).call(this,e),this.onSelectExitRecordClick=function(e){t.dispatchEvent("openView",{event:e})}}},{key:"onSelectExitRecordClick",set:function(e){this.setProps({onSelectExitRecordClick:e})}},{key:"change",value:function(){this.props.onChange(this.selectedRows.value)}},{key:"render",value:function(){return s().createElement(q,this.props)}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(n.prototype,t),n}(p.FieldModel);(_=function(e,t,n,r){var o,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(l=(i<3?o(l):i>3?o(t,n,l):o(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l}([(0,u.largeField)()],_)).registerFlow({key:"uploadSettings",title:(0,u.tExpr)("Upload file settings"),steps:{quickUpload:{title:(0,u.tExpr)("Quick upload"),uiMode:{type:"switch",key:"quickUpload"},hideInSettings:function(e){return!e.collectionField.isAssociationField()||!e.collectionField.targetCollection},defaultParams:function(e){return{quickUpload:!0}},handler:function(e,t){e.model.setProps({quickUpload:t.quickUpload})}},allowMultiple:{title:(0,u.tExpr)("Allow multiple"),uiMode:{type:"switch",key:"multiple"},hideInSettings:function(e){return!e.collectionField||!["belongsToMany","hasMany","belongsToArray"].includes(e.collectionField.type)},defaultParams:function(e){return{multiple:e.collectionField&&["belongsToMany","hasMany","belongsToArray"].includes(e.model.context.collectionField.type)}},handler:function(e,t){e.model.setProps({multiple:null==t?void 0:t.multiple,maxCount:(null==t?void 0:t.multiple)?null:1})}},showFileName:{title:(0,u.tExpr)("Show file name"),uiMode:{type:"switch",key:"showFileName"},defaultParams:{showFileName:!1},handler:function(e,t){e.model.setProps("showFileName",t.showFileName)}},allowSelectExistingRecord:{title:(0,u.tExpr)("Allow selection of existing file"),uiMode:{type:"switch",key:"allowSelectExistingRecord"},hideInSettings:function(e){return!e.collectionField.isAssociationField()||!e.collectionField.targetCollection},defaultParams:function(e){return{allowSelectExistingRecord:e.collectionField.targetCollection&&e.collectionField.isAssociationField()}},handler:function(e,t){e.model.setProps({allowSelectExistingRecord:t.allowSelectExistingRecord})}}}}),_.registerFlow({key:"eventSettings",sort:300,steps:{bindEvent:{handler:function(e,t){e.model.customRequest=function(t){e.model.dispatchEvent("customRequest",{apiClient:e.app.apiClient,fileData:t})}}}}}),_.registerFlow({key:"customRequestSettings",on:"customRequest",steps:{step1:{handler:function(e,t){return w(function(){var t,n,r,o,i,l,a,u,c,s,f,p,d,m,g,y,v,b,h,w,O,x,S,P,k,C,F,R;return T(this,function(T){switch(T.label){case 0:if(n=(t=e.inputArgs.fileData).file,r=t.onSuccess,o=t.onError,i=t.onProgress,l=e.app.pm.get("@nocobase/plugin-file-manager"),a=e.model.props.target,u=e.collectionField,!l)return[2,r(n)];T.label=1;case 1:return T.trys.push([1,6,,7]),[4,e.api.resource("storages").check({fileCollectionName:a,storageName:u.options.storage})];case 2:if(!(null==(h=T.sent().data)||null==(c=h.data)?void 0:c.isSupportToUploadFiles))return O=e.t('The current storage "{{storageName}}" does not support file uploads.',{storageName:null==(w=h.data.storage)?void 0:w.title}).replaceAll("&gt;",">"),null==o||o(Error(O)),[2];if(x=l.getStorageType(null==h||null==(f=h.data)||null==(s=f.storage)?void 0:s.type)||{},S=null==h||null==(p=h.data)?void 0:p.storage,!x.createUploadCustomRequest||"function"!=typeof(P=x.createUploadCustomRequest(E(j({},e.model.props),{api:e.api,action:"".concat(a,":create?attachmentField=").concat(u.collectionName,".").concat(u.name),storage:S}))))return[3,4];return[4,P({file:n,onProgress:i,onSuccess:r,onError:o})];case 3:return T.sent(),[2];case 4:return[4,l.uploadFile({file:n,fileCollectionName:a,storageId:null==h||null==(m=h.data)||null==(d=m.storage)?void 0:d.id,storageType:null==h||null==(y=h.data)||null==(g=y.storage)?void 0:g.type,storageRules:null==h||null==(b=h.data)||null==(v=b.storage)?void 0:v.rules,onProgress:function(e){null==i||i({percent:e})},query:{attachmentField:"".concat(u.collectionName,".").concat(u.name)}})];case 5:if(C=(k=T.sent()).data,F=k.errorMessage)return null==o||o(Error(F)),[2];if(!C)return null==o||o(Error("上传成功但响应数据为空")),[2];return r(C),[3,7];case 6:return R=T.sent(),null==o||o(R),[3,7];case 7:return[2]}})})()}}}}),_.registerFlow({key:"selectExitRecordSettings",title:(0,u.tExpr)("Selector setting"),on:{eventName:"openView"},steps:{openView:{title:(0,u.tExpr)("Edit popup"),hideInSettings:function(e){var t,n,r;return!1===(null==(n=(r=e.model).getStepParams)||null==(t=n.call(r,"uploadSettings","allowSelectExistingRecord"))?void 0:t.allowSelectExistingRecord)},uiSchema:function(e){return{mode:{type:"string",title:(0,u.tExpr)("Open mode"),enum:[{label:(0,u.tExpr)("Drawer"),value:"drawer"},{label:(0,u.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,u.tExpr)("Popup size"),enum:[{label:(0,u.tExpr)("Small"),value:"small"},{label:(0,u.tExpr)("Medium"),value:"medium"},{label:(0,u.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}}},defaultParams:{mode:"drawer",size:"medium"},handler:function(e,t){var n,r,o,i,l,a=["belongsTo","hasOne"].includes(e.collectionField.type),u=e.isMobileLayout?"embed":e.inputArgs.mode||t.mode||"drawer",c=e.inputArgs.size||t.size||"medium",f=(null==(n=e.model.props)?void 0:n.sourceFieldModelUid)||e.model.uid,d=(null==(r=e.model.parent)?void 0:r.use)==="QuickEditFormModel"?null==(o=e.model.parent)?void 0:o.viewContainer:null;null==d||null==(i=d.update)||i.call(d,{preventClose:!0}),e.viewer.open({type:u,width:{drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}}[u][c],inheritContext:!1,target:e.layoutContentElement,onClose:function(){setTimeout(function(){var e;null==d||null==(e=d.update)||e.call(d,{preventClose:!1})},0)},inputArgs:{parentId:f,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(l=e.collectionField)?void 0:l.target,collectionField:e.collectionField,rowSelectionProps:{type:a?"radio":"checkbox",defaultSelectedRows:function(){return e.model.props.value},renderCell:void 0,selectedRowKeys:void 0,onChange:function(t,n){if(a){var r,o;e.model.selectedRows.value=null==n?void 0:n[0],e.model.change(),null==(r=(o=e.model)._closeView)||r.call(o)}else{var i=C(e.model.props.value||[]).concat(C(n)).filter(function(t,n,r){return n===r.findIndex(function(n){return n[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]})});e.model.selectedRows.value=i}}}},content:function(){return s().createElement(p.RecordPickerContent,{model:e.model})},styles:{content:j({padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout},"embed"===u?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}),body:{padding:0}}})}}}}),_.define({label:(0,u.tExpr)("File picker")}),u.EditableItemModel.bindModelToInterface("UploadFieldModel",["attachment","m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,order:30,when:function(e,t){return!t.targetCollection||"file"===t.targetCollection.template}})},124:function(e,t,n){"use strict";n.d(t,{A:function(){return h},S:function(){return b}});var r=n(485),o=n(624),i="file-manager";function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function a(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function u(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){a(i,r,o,l,u,"next",e)}function u(e){a(i,r,o,l,u,"throw",e)}l(void 0)})}}function c(e,t,n){return(c=y()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&m(o,n.prototype),o}).apply(null,arguments)}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){s(e,t,n[t])})}return e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function g(e){var t="function"==typeof Map?new Map:void 0;return(g=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return c(e,arguments,f(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),m(n,e)})(e)}function y(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(y=function(){return!!e})()}function v(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(l,"next",{value:u(0)}),a(l,"throw",{value:u(1)}),a(l,"return",{value:u(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function u(a){return function(u){var c=[a,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var b=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t,n;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return t=r,n=arguments,t=f(t),s(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,y()?Reflect.construct(t,n||[],f(this).constructor):t.apply(this,n)),"storageTypes",new Map),e}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&m(r,e),t=[{key:"load",value:function(){return u(function(){var e;return v(this,function(t){return e=this.app.i18n.t("File manager",{ns:i}),this.pluginSettingsManager.addMenuItem({key:i,title:e,icon:"FileOutlined",aclSnippet:"pm.file-manager.storages"}),this.pluginSettingsManager.addPageTabItem({menuKey:i,key:"index",title:e,componentLoader:function(){return n.e("942").then(n.bind(n,837))}}),this.registerBuiltInStorageTypes(),this.flowEngine.registerModelLoaders({DisplayPreviewFieldModel:{loader:function(){return n.e("125").then(n.bind(n,212))}},UploadActionModel:{loader:function(){return n.e("450").then(n.bind(n,177))}},UploadFieldModel:{loader:function(){return Promise.resolve().then(n.bind(n,76))}}}),[2]})}).call(this)}},{key:"registerStorageType",value:function(e,t){this.storageTypes.set(e,d(p({},t),{name:e}))}},{key:"getStorageType",value:function(e){return e?this.storageTypes.get(e):void 0}},{key:"registerBuiltInStorageTypes",value:function(){var e={renameMode:"appendRandomID",rules:{size:o.ZH}};this.registerStorageType(o.ZF,{title:"Local storage",formLoader:function(){return n.e("929").then(n.bind(n,864))},defaultValues:d(p({},e),{baseUrl:"/storage/uploads",options:{documentRoot:"storage/uploads"}})}),this.registerStorageType(o.y2,{title:"Aliyun OSS",formLoader:function(){return n.e("43").then(n.bind(n,574))},defaultValues:d(p({},e),{options:{timeout:6e5},settings:{requestOptions:{}}})}),this.registerStorageType(o.e7,{title:"Amazon S3",formLoader:function(){return n.e("336").then(n.bind(n,595))},defaultValues:e}),this.registerStorageType(o.a_,{title:"Tencent COS",formLoader:function(){return n.e("229").then(n.bind(n,316))},defaultValues:e})}},{key:"uploadFile",value:function(e){return u(function(){var t,n,r,o,i,a,u,c,s,f,p,d,m;return v(this,function(g){switch(g.label){case 0:if(!(null==e?void 0:e.file))return[2,{errorMessage:"Missing file"}];if(t=e.file,n=e.storageType,r=e.storageId,o=e.storageRules,a=void 0===(i=e.query)?{}:i,u=e.fileCollectionName||"attachments",!(null==(c=this.getStorageType(n))?void 0:c.upload))return[3,2];return[4,c.upload({file:t,apiClient:this.app.apiClient,storageType:n,storageId:r,storageRules:o,fileCollectionName:u,query:a})];case 1:return[2,g.sent()];case 2:return g.trys.push([2,4,,5]),(f=new FormData).append("file",t),d=(p=new URLSearchParams(Object.entries(a).map(function(e){var t=function(e){if(Array.isArray(e))return e}(e)||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(t=r.next()).done)&&(o.push(t.value),2!==o.length);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return l(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return l(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();return[t[0],String(t[1])]})).toString())?"".concat(u,":create?").concat(p):"".concat(u,":create"),[4,this.app.apiClient.request({url:d,method:"post",data:f})];case 3:return[2,{data:null==(s=g.sent().data)?void 0:s.data}];case 4:var y,v;return[2,{errorMessage:(y=m=g.sent(),null!=(v=Error)&&"u">typeof Symbol&&v[Symbol.hasInstance]?!!v[Symbol.hasInstance](y):y instanceof v)?m.message:"Upload failed"}];case 5:return[2]}})}).call(this)}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(r.prototype,t),r}(g(r.Plugin));s(b,"buildInStorage",[o.ZF,o.y2,o.e7,o.a_]);var h=b},348:function(e,t,n){"use strict";n.d(t,{Mo:function(){return q},WP:function(){return P},_H:function(){return d},_Y:function(){return C},q:function(){return m},qk:function(){return F},ub:function(){return k}});var r=n(155),o=n.n(r),i=n(375),l=n(59),a=n(484),u=n.n(a),c=n(953),s=n(301);function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var p=new(function(){var e;function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");f(this,"types",[])}return e=[{key:"add",value:function(e){this.types.unshift(e)}},{key:"getTypeByFile",value:function(e){var t=d(e);return this.types.find(function(e){return e.match(t)})}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(t.prototype,e),t}());function d(e){return e&&"string"==typeof e?{url:e}:e}function m(e){return e?"string"==typeof e?e:e.preview||e.url||"":""}function g(e){return e?"string"==typeof e?e:e.url||e.preview||"":""}var y={pdf:"/file-placeholder/pdf-200-200.png",mp4:"/file-placeholder/video-200-200.png",mov:"/file-placeholder/video-200-200.png",avi:"/file-placeholder/video-200-200.png",wmv:"/file-placeholder/video-200-200.png",flv:"/file-placeholder/video-200-200.png",mkv:"/file-placeholder/video-200-200.png",mp3:"/file-placeholder/audio-200-200.png",wav:"/file-placeholder/audio-200-200.png",aac:"/file-placeholder/audio-200-200.png",ogg:"/file-placeholder/audio-200-200.png",doc:"/file-placeholder/docx-200-200.png",docx:"/file-placeholder/docx-200-200.png",odt:"/file-placeholder/docx-200-200.png",xls:"/file-placeholder/xlsx-200-200.png",xlsx:"/file-placeholder/xlsx-200-200.png",csv:"/file-placeholder/xlsx-200-200.png",ppt:"/file-placeholder/pptx-200-200.png",pptx:"/file-placeholder/pptx-200-200.png",jpg:"/file-placeholder/jpeg-200-200.png",jpeg:"/file-placeholder/jpeg-200-200.png",png:"/file-placeholder/png-200-200.png",gif:"/file-placeholder/gif-200-200.png",webp:"/file-placeholder/png-200-200.png",bmp:"/file-placeholder/png-200-200.png",svg:"/file-placeholder/svg-200-200.png",default:"/file-placeholder/unknown-200-200.png"},v=new Set(["application/xhtml+xml","image/svg+xml","text/html"]),b=new Set(["htm","html","svg","svgz","xhtml"]),h=function(e){return e.split("?")[0].split("#")[0]},w=function(e){if(!e)return"";var t=h(e),n=t.lastIndexOf(".");return -1!==n?t.slice(n+1).toLowerCase():""},O={aac:"audio/aac",avi:"video/x-msvideo",bmp:"image/bmp",csv:"text/csv",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",flv:"video/x-flv",gif:"image/gif",jpeg:"image/jpeg",jpg:"image/jpeg",json:"application/json",mkv:"video/x-matroska",mov:"video/quicktime",mp3:"audio/mpeg",mp4:"video/mp4",odt:"application/vnd.oasis.opendocument.text",ogg:"audio/ogg",pdf:"application/pdf",png:"image/png",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",svg:"image/svg+xml",txt:"text/plain",wav:"audio/wav",webp:"image/webp",wmv:"video/x-ms-wmv",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};function x(e,t){return!!e&&(e.originFileObj?u()(e.type,t):e.mimetype?u()(e.mimetype,t):!!e.url&&u()(O[w(e.url)]||"",t))}var S=function(e){if(!e)return"";var t=h(e),n=t.lastIndexOf("/");return -1!==n?t.slice(n+1):t},j=function(e,t){if(e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"){if(e.extname)return String(e.extname).replace(/^\./,"").toLowerCase();var n=w(e.name||e.filename||e.title);if(n)return n}return w(t)},E=function(e,t){var n=(null==e?void 0:e.mimetype)||(null==e?void 0:e.type);if("string"==typeof n&&v.has(n.toLowerCase()))return!0;var r=j(e,t);return b.has(r)},P=function(e,t){var n=S(t);return e&&"string"!=typeof e&&(e.name||e.filename||e.title)||n},k=function(e,t){var n=t||g(e),r=P(e,n),o=j(e,n);return r&&o&&!r.toLowerCase().endsWith(".".concat(o))&&(r="".concat(r,".").concat(o)),"".concat(Date.now(),"_").concat(r||"file")},C=function(e,t){return y[j(e,t)]||y.default},F=function(e){var t,n=d(e),r=m(n);if(E(n,r))return C(n,r);var o=(null!=(t=p.getTypeByFile(n))?t:{}).getThumbnailURL,i=null==o?void 0:o(n);return i||(x(n,"image/*")?"":C(n,r))},R=function(e){var t=e.index,n=e.list,r=e.onSwitchIndex,a=e.onDownload,u=e.file,c="number"==typeof t&&!!r&&t>0,s="number"==typeof t&&!!r&&t<n.length-1;return o().createElement(l.Space,{size:14,style:{fontSize:"20px"}},o().createElement(i.LeftOutlined,{style:{cursor:c?"pointer":"not-allowed"},disabled:!c,onClick:function(){return c&&(null==r?void 0:r(t-1))}}),o().createElement(i.RightOutlined,{style:{cursor:s?"pointer":"not-allowed"},disabled:!s,onClick:function(){return s&&(null==r?void 0:r(t+1))}}),o().createElement(i.DownloadOutlined,{onClick:function(){return a(u)}}))},T=function(e){return function(t){var n=t.open,r=t.onOpenChange,i=t.onClose,a=t.file;if("boolean"!=typeof n)return o().createElement(e,t);var u=P(a,g(a));return o().createElement(l.Modal,{open:n,title:u,onCancel:function(){null==r||r(!1),null==i||i()},footer:R(t),width:"90vw",centered:!0},o().createElement("div",{style:{maxWidth:"100%",maxHeight:"calc(100vh - 256px)",height:"80vh",width:"100%",background:"white",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",overflowY:"auto"}},o().createElement(e,t)))}},I=function(e){(0,c.useTranslation)().t;var t=e.file;return o().createElement(l.Alert,{type:"warning",description:o().createElement(c.Trans,{ns:s.C},"File type is not supported for previewing, please ",e.onDownload?o().createElement("a",{onClick:function(){var n;return null==(n=e.onDownload)?void 0:n.call(e,t)},style:{textDecoration:"underline",cursor:"pointer"}},"download it to preview"):o().createElement("span",null,"download it to preview")),showIcon:!0})};p.add({match:function(){return!0},Previewer:T(I)}),p.add({match:function(e){return x(e,"image/*")},getThumbnailURL:function(e){return m(e)},Previewer:function(e){var t=e.file,n=e.list,r=e.index,a=e.open,u=e.onOpenChange,c=e.onSwitchIndex,s=e.onClose,f=e.onDownload;if("boolean"!=typeof a)return null;var p=g(t);if(!p)return null;var d="number"==typeof r&&r>0,m="number"==typeof r&&r<n.length-1;return o().createElement(l.Image,{wrapperStyle:{display:"none"},preview:{visible:a,onVisibleChange:function(e){return null==u?void 0:u(e)},afterOpenChange:function(e){e||null==s||s()},toolbarRender:function(e,n){var a=n.transform.scale,u=n.actions,s=u.onFlipY,p=u.onFlipX,g=u.onRotateLeft,y=u.onRotateRight,v=u.onZoomOut,b=u.onZoomIn,h=u.onReset;return o().createElement(l.Space,{size:14,className:"toolbar-wrapper",style:{fontSize:"20px"}},o().createElement(i.LeftOutlined,{style:{cursor:d?"pointer":"not-allowed"},disabled:!d,onClick:function(){return d&&(null==c?void 0:c(r-1))}}),o().createElement(i.RightOutlined,{style:{cursor:m?"pointer":"not-allowed"},disabled:!m,onClick:function(){return m&&(null==c?void 0:c(r+1))}}),f?o().createElement(i.DownloadOutlined,{onClick:function(){return f(t)}}):null,o().createElement(i.SwapOutlined,{rotate:90,onClick:s}),o().createElement(i.SwapOutlined,{onClick:p}),o().createElement(i.RotateLeftOutlined,{onClick:g}),o().createElement(i.RotateRightOutlined,{onClick:y}),o().createElement(i.ZoomOutOutlined,{disabled:1===a,onClick:v}),o().createElement(i.ZoomInOutlined,{disabled:50===a,onClick:b}),o().createElement(i.UndoOutlined,{onClick:h}))}},src:p})}}),p.add({match:function(e){return["text/plain","application/pdf","application/json"].some(function(t){return x(e,t)})},Previewer:T(function(e){var t=g(e.file);return t?o().createElement("iframe",{src:t,width:"100%",height:"100%",style:{border:"none"}}):null})}),p.add({match:function(e){return x(e,"audio/*")},Previewer:T(function(e){var t=e.file,n=(0,c.useTranslation)().t,r=g(t);return r?o().createElement("audio",{controls:!0},o().createElement("source",{src:r,type:(null==t?void 0:t.type)||(null==t?void 0:t.mimetype)}),n("Your browser does not support the audio tag.")):null})}),p.add({match:function(e){return x(e,"video/*")},Previewer:T(function(e){var t=e.file,n=(0,c.useTranslation)().t,r=g(t);return r?o().createElement("video",{controls:!0,width:"100%",height:"100%"},o().createElement("source",{src:r,type:(null==t?void 0:t.type)||(null==t?void 0:t.mimetype)}),n("Your browser does not support the video tag.")):null})}),p.add({match:function(e){return E(e,g(e))},Previewer:T(I)});var q=function(e){var t,n,r,i=d(e.file);if(!i)return null;var l=(null!=(r=p.getTypeByFile(i))?r:{}).Previewer;return l?o().createElement(l,(t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){f(e,t,n[t])})}return e}({},e),n=n={file:i},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t)):null}},564:function(e,t,n){"use strict";n.d(t,{KT:function(){return f},tp:function(){return m},OC:function(){return v},BL:function(){return u},om:function(){return d},mt:function(){return c},Sx:function(){return g},Lq:function(){return p},Lg:function(){return b}});var r=n(485),o=n(59),i=n(155),l=n.n(i),a=n(488);function u(){var e=(0,a.k)();return l().createElement(o.Form.Item,{name:"baseUrl",label:"".concat(e("Base URL")," :"),rules:[{required:!0,message:e("The field value is required")}],extra:e('Base URL for file access, could be your CDN base URL. For example: "https://cdn.nocobase.com".')},l().createElement(r.EnvVariableInput,null))}function c(e){var t=(0,a.k)();return l().createElement(o.Form.Item,{name:"default",valuePropName:"checked"},l().createElement(o.Checkbox,{disabled:e.disabled},t("Default storage")))}var s=n(624);function f(){var e=(0,a.k)();return l().createElement(o.Form.Item,{name:["rules","size"],label:"".concat(e("File size limit")," :"),rules:[{required:!0,message:e("The field value is required")}],extra:e("Minimum from 1 byte.")},l().createElement(r.FileSizeInput,{min:s.UW,max:s.Qj,defaultValue:s.ZH}))}function p(){var e=(0,a.k)();return l().createElement(o.Form.Item,{name:["rules","mimetype"],label:"".concat(e("File type allowed (in MIME type format)")," :"),extra:e('Multi-types seperated with comma, for example: "image/*", "image/png", "image/*, application/pdf" etc.')},l().createElement(o.Input,{placeholder:"*"}))}function d(){var e=(0,a.k)();return l().createElement(o.Form.Item,{name:"name",label:"".concat(e("Storage name")," :"),rules:[{required:!0,message:e("The field value is required")}],extra:e("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")},l().createElement(o.Input,null))}function m(){var e=(0,a.k)();return l().createElement(o.Form.Item,{name:"paranoid",valuePropName:"checked",extra:e("Files are only removed when their corresponding records in the file collection are deleted. If a record from another collection includes an associating field referencing the file collection, the file will not be deleted unless cascade deletion is enabled for that association.")},l().createElement(o.Checkbox,null,e("Keep file in storage when destroy the file record")))}function g(e){var t=(0,a.k)();return l().createElement(o.Form.Item,{name:"path",label:"".concat(t("Path")," :"),extra:t('Relative path the file will be saved to. Left blank as root path. The leading and trailing slashes "/" will be ignored. For example: "user/avatar".')},l().createElement(r.EnvVariableInput,{addonBefore:e.addonBefore}))}var y=[{label:"Append random ID",value:"appendRandomID"},{label:"Random string",value:"random"},{label:"Keep original filename (will be overwrite if filename is existed)",value:"none"}];function v(){var e=(0,a.k)();return l().createElement(o.Form.Item,{name:"renameMode",label:"".concat(e("Renaming")," :"),extra:e("Renaming strategy to avoid filename conflicts when uploading files.")},l().createElement(o.Radio.Group,{options:y.map(function(t){var n,r;return n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},t),r=r={label:e(t.label)},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(r)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}),n})}))}function b(){var e=(0,a.k)();return l().createElement(o.Form.Item,{name:"title",label:"".concat(e("Title")," :"),rules:[{required:!0,message:e("The field value is required")}]},l().createElement(o.Input,null))}},488:function(e,t,n){"use strict";n.d(t,{k:function(){return i}});var r=n(694),o=n(301);function i(){var e=(0,r.useFlowEngine)();return function(t,n){return e.context.t(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({ns:[o.C,"client"]},n))}}},624:function(e,t,n){"use strict";n.d(t,{Qj:function(){return o},UW:function(){return r},ZF:function(){return l},ZH:function(){return i},a_:function(){return c},e7:function(){return u},y2:function(){return a}});var r=1,o=1/0,i=0x1400000,l="local",a="ali-oss",u="s3",c="tx-cos"},301:function(e,t,n){"use strict";n.d(t,{C:function(){return r}});var r="file-manager"},375:function(e){"use strict";e.exports=r},477:function(e){"use strict";e.exports=t},230:function(e){"use strict";e.exports=n},485:function(e){"use strict";e.exports=l},694:function(e){"use strict";e.exports=o},625:function(e){"use strict";e.exports=i},59:function(e){"use strict";e.exports=u},773:function(e){"use strict";e.exports=c},155:function(e){"use strict";e.exports=a},953:function(t){"use strict";t.exports=e}},m={};function g(e){var t=m[e];if(void 0!==t)return t.exports;var n=m[e]={exports:{}};return d[e](n,n.exports,g),n.exports}g.m=d,g.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return g.d(t,{a:t}),t},g.d=function(e,t){for(var n in t)g.o(t,n)&&!g.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},g.f={},g.e=function(e){return Promise.all(Object.keys(g.f).reduce(function(t,n){return g.f[n](e,t),t},[]))},g.u=function(e){return""+e+"."+({125:"01d5562df948d974",229:"bd72c2d7aa088310",336:"1dd1b32466d0c778",43:"eb45d53ba3e9828b",450:"f590b4c220108742",929:"d7e783304cc1f236",942:"9dc2d49980a4dd9e"})[e]+".js"},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},y={},g.l=function(e,t,n,r){if(y[e])return void y[e].push(t);if(void 0!==n)for(var o,i,l=document.getElementsByTagName("script"),a=0;a<l.length;a++){var u=l[a];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-file-manager/client-v2:"+n){o=u;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,g.nc&&o.setAttribute("nonce",g.nc),o.setAttribute("data-rspack","@nocobase/plugin-file-manager/client-v2:"+n),o.src=e),y[e]=[t];var c=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=y[e];if(delete y[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(c.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=c.bind(null,o.onerror),o.onload=c.bind(null,o.onload),i&&document.head.appendChild(o)},g.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},g.g.importScripts&&(v=g.g.location+"");var y,v,b=g.g.document;if(!v&&b&&(b.currentScript&&"SCRIPT"===b.currentScript.tagName.toUpperCase()&&(v=b.currentScript.src),!v)){var h=b.getElementsByTagName("script");if(h.length)for(var w=h.length-1;w>-1&&(!v||!/^http(s?):/.test(v));)v=h[w--].src}if(!v)throw Error("Automatic publicPath is not supported in this browser");g.p=v.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s={889:0},g.f.j=function(e,t){var n=g.o(s,e)?s[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=s[e]=[t,r]});t.push(n[2]=r);var o=g.p+g.u(e),i=Error();g.l(o,function(t){if(g.o(s,e)&&(0!==(n=s[e])&&(s[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}},f=function(e,t){var n,r,o=t[0],i=t[1],l=t[2],a=0;if(o.some(function(e){return 0!==s[e]})){for(n in i)g.o(i,n)&&(g.m[n]=i[n]);l&&l(g)}for(e&&e(t);a<o.length;a++)r=o[a],g.o(s,r)&&s[r]&&s[r][0](),s[r]=0},(p=self.webpackChunk_nocobase_plugin_file_manager_client_v2=self.webpackChunk_nocobase_plugin_file_manager_client_v2||[]).forEach(f.bind(null,0)),p.push=f.bind(null,p.push.bind(p));var O={};return!function(){"use strict";var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/@nocobase/plugin-file-manager/dist/client-v2/")}if(!e){if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var r=window.location.pathname||"/",o=r.indexOf("/v2/");e=o>=0?r.slice(0,o+1):"/"}e&&(e=e.replace(/\/v2\/?$/,"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-file-manager/dist/client-v2/"}g.p=e}(),!function(){"use strict";g.r(O),g.d(O,{BaseUrlField:function(){return t.BL},CardUpload:function(){return n.CardUpload},DefaultField:function(){return t.mt},FileSizeField:function(){return t.KT},MimetypeField:function(){return t.Lq},NameField:function(){return t.om},ParanoidField:function(){return t.tp},PathField:function(){return t.Sx},PluginFileManagerClientV2:function(){return e.A},RenameModeField:function(){return t.OC},TitleField:function(){return t.Lg},UploadFieldModel:function(){return n.UploadFieldModel},default:function(){return e.A}});var e=g(124),t=g(564),n=g(76)}(),O}()});
@@ -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
+ export declare function useT(): (key: string, options?: Record<string, any>) => string;
10
+ export declare function tExpr(key: string): string;
@@ -6,7 +6,7 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import { FieldModel } from '@nocobase/client';
9
+ import { FieldModel } from '@nocobase/client-v2';
10
10
  export declare class DisplayPreviewFieldModel extends FieldModel {
11
11
  disableTitleField: boolean;
12
12
  render(): any;
@@ -6,7 +6,7 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import { ActionModel } from '@nocobase/client';
9
+ import { ActionModel } from '@nocobase/client-v2';
10
10
  import React from 'react';
11
11
  export declare function useStorage(storage: any): any;
12
12
  export declare function useStorageCfg(model: any): {
@@ -17,7 +17,7 @@ export declare function useStorageUploadProps(props: any, model: any): any;
17
17
  export declare function validate(file: any, rules: Record<string, any>): string;
18
18
  export declare function useBeforeUpload(rules: any): (file: any, fileList: any) => false | Promise<any>;
19
19
  export declare class UploadActionModel extends ActionModel {
20
- static scene: import("@nocobase/client").ActionSceneType;
20
+ static scene: import("@nocobase/client-v2").ActionSceneType;
21
21
  props: any;
22
22
  defaultProps: any;
23
23
  getAclActionName(): string;
@@ -7,7 +7,7 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import React from 'react';
10
- import { FieldModel } from '@nocobase/client';
10
+ import { FieldModel } from '@nocobase/client-v2';
11
11
  export declare const CardUpload: (props: any) => React.JSX.Element;
12
12
  export declare class UploadFieldModel extends FieldModel {
13
13
  selectedRows: {
@@ -0,0 +1,11 @@
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
+ export { DisplayPreviewFieldModel } from './DisplayPreviewFieldModel';
10
+ export { UploadActionModel } from './UploadActionModel';
11
+ export { CardUpload, UploadFieldModel } from './UploadFieldModel';
@@ -0,0 +1,64 @@
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
+ interface UploadFieldFile {
10
+ uid?: string;
11
+ id?: number | string;
12
+ url?: string;
13
+ filename?: string;
14
+ name?: string;
15
+ thumbUrl?: string;
16
+ response?: UploadFieldFile;
17
+ }
18
+ /**
19
+ * 判断上传字段是否继续展示追加入口。
20
+ *
21
+ * 单值文件关系在已有文件后应隐藏“上传”和“选择”入口,多值字段允许继续追加。
22
+ *
23
+ * @param multiple 是否多值
24
+ * @param fileCount 当前文件数量
25
+ * @returns 是否显示追加入口
26
+ * @example
27
+ * ```typescript
28
+ * shouldShowUploadActionSlot(false, 1);
29
+ * ```
30
+ */
31
+ export declare const shouldShowUploadActionSlot: (multiple: boolean | undefined, fileCount: number) => boolean;
32
+ /**
33
+ * 规范化上传字段文件列表,并尽量复用上一轮 uid,避免列表项重挂载。
34
+ *
35
+ * @param data 当前外部值或上传组件返回的文件列表
36
+ * @param previousFileList 上一轮渲染中的文件列表
37
+ * @returns 规范化后的文件列表
38
+ * @example
39
+ * ```typescript
40
+ * normalizeUploadFieldFileList([{ id: 1, url: '/1.png' }], [{ uid: 'u1', response: { id: 1 } }]);
41
+ * ```
42
+ */
43
+ export declare const normalizeUploadFieldFileList: (data: UploadFieldFile[], previousFileList?: UploadFieldFile[]) => {
44
+ uid: string;
45
+ thumbUrl: string;
46
+ id?: number | string;
47
+ url?: string;
48
+ filename?: string;
49
+ name?: string;
50
+ response?: UploadFieldFile;
51
+ }[];
52
+ /**
53
+ * 根据当前文件列表解析预览索引,避免把非数字 uid 强转成 NaN。
54
+ *
55
+ * @param fileList 当前文件列表
56
+ * @param targetFile 当前预览文件
57
+ * @returns 预览索引
58
+ * @example
59
+ * ```typescript
60
+ * getUploadFieldPreviewIndex([{ uid: 'id:1' }], { uid: 'id:1' });
61
+ * ```
62
+ */
63
+ export declare const getUploadFieldPreviewIndex: (fileList: UploadFieldFile[], targetFile: UploadFieldFile) => number;
64
+ export {};
@@ -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
+ import React from 'react';
10
+ export default function FileStoragePage(): React.JSX.Element;