@nocobase/plugin-file-manager 2.1.0-beta.9 → 2.2.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client-v2.d.ts +2 -0
- package/client-v2.js +1 -0
- package/dist/client/867ada653cd02a3e.mjs +6 -0
- package/dist/client/876.ca16d7a6e6387862.js +11 -0
- package/dist/client/index.d.ts +2 -1
- package/dist/client/index.js +1 -1
- package/dist/client/locale/index.d.ts +2 -1
- package/dist/client/previewer/filePreviewTypes.d.ts +1 -31
- package/dist/client/templates/file.d.ts +1 -1
- package/dist/client-v2/125.0b8eef1f19b87042.js +10 -0
- package/dist/client-v2/229.bd72c2d7aa088310.js +10 -0
- package/dist/client-v2/336.1dd1b32466d0c778.js +10 -0
- package/dist/client-v2/43.eb45d53ba3e9828b.js +10 -0
- package/dist/client-v2/450.30cc3ed6973d8c4d.js +10 -0
- package/dist/client-v2/867ada653cd02a3e.mjs +6 -0
- package/dist/client-v2/876.22cd8e41ac8631ed.js +11 -0
- package/dist/client-v2/929.d7e783304cc1f236.js +10 -0
- package/dist/client-v2/942.f36d807d763a1b53.js +10 -0
- package/dist/{client/StorageOptions.d.ts → client-v2/components/BaseUrlField.d.ts} +1 -1
- package/dist/client-v2/components/DefaultField.d.ts +18 -0
- package/dist/client-v2/components/FileSizeField.d.ts +10 -0
- package/dist/client-v2/components/MimetypeField.d.ts +10 -0
- package/dist/client-v2/components/NameField.d.ts +10 -0
- package/dist/client-v2/components/ParanoidField.d.ts +10 -0
- package/dist/client-v2/components/PathField.d.ts +18 -0
- package/dist/client-v2/components/RenameModeField.d.ts +10 -0
- package/dist/client-v2/components/TitleField.d.ts +10 -0
- package/dist/client-v2/components/index.d.ts +17 -0
- package/dist/client-v2/index.d.ts +17 -0
- package/dist/client-v2/index.js +10 -0
- package/dist/client-v2/locale.d.ts +10 -0
- package/dist/{client → client-v2}/models/DisplayPreviewFieldModel.d.ts +1 -1
- package/dist/{client → client-v2}/models/UploadActionModel.d.ts +4 -3
- package/dist/{client → client-v2}/models/UploadFieldModel.d.ts +1 -1
- package/dist/client-v2/models/index.d.ts +11 -0
- package/dist/{client → client-v2}/models/uploadFieldUtils.d.ts +8 -0
- package/dist/client-v2/pages/FileStoragePage.d.ts +10 -0
- package/dist/client-v2/plugin.d.ts +89 -0
- package/dist/client-v2/previewer/filePreviewTypes.d.ts +46 -0
- package/dist/client-v2/storage-forms/AliOssStorageForm.d.ts +10 -0
- package/dist/client-v2/storage-forms/LocalStorageForm.d.ts +10 -0
- package/dist/client-v2/storage-forms/S3StorageForm.d.ts +10 -0
- package/dist/client-v2/storage-forms/TxCosStorageForm.d.ts +10 -0
- package/dist/common/collections/attachments.d.ts +1 -0
- package/dist/common/collections/attachments.js +1 -0
- package/dist/common/collections/storages.d.ts +1 -0
- package/dist/common/collections/storages.js +1 -0
- package/dist/externalVersion.js +12 -12
- package/dist/locale/de-DE.json +3 -0
- package/dist/locale/en-US.json +4 -0
- package/dist/locale/es-ES.json +3 -0
- package/dist/locale/fr-FR.json +3 -0
- package/dist/locale/hu-HU.json +4 -1
- package/dist/locale/id-ID.json +4 -1
- package/dist/locale/it-IT.json +3 -0
- package/dist/locale/ja-JP.json +3 -0
- package/dist/locale/ko-KR.json +3 -0
- package/dist/locale/nl-NL.json +3 -0
- package/dist/locale/pt-BR.json +3 -0
- package/dist/locale/ru-RU.json +3 -0
- package/dist/locale/tr-TR.json +3 -0
- package/dist/locale/uk-UA.json +3 -0
- package/dist/locale/vi-VN.json +4 -1
- package/dist/locale/zh-CN.json +4 -0
- package/dist/locale/zh-TW.json +3 -0
- package/dist/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +190 -190
- package/dist/node_modules/@aws-sdk/client-s3/package.json +1 -1
- package/dist/node_modules/@aws-sdk/lib-storage/dist-cjs/index.js +195 -195
- package/dist/node_modules/@aws-sdk/lib-storage/node_modules/buffer/index.d.ts +186 -0
- package/dist/node_modules/@aws-sdk/lib-storage/node_modules/buffer/index.js +1794 -0
- package/dist/node_modules/@aws-sdk/lib-storage/node_modules/buffer/package.json +82 -0
- package/dist/node_modules/@aws-sdk/lib-storage/package.json +1 -1
- package/dist/node_modules/ali-oss/lib/client.js +14 -14
- package/dist/node_modules/ali-oss/package.json +1 -1
- package/dist/node_modules/cos-nodejs-sdk-v5/.github/workflows/auto-changelog.yml +55 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/.prettierrc +10 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/.travis.yml +16 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/LICENSE +21 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/demo/crc64.js +9 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/demo/demo-sts-scope.js +75 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/demo/demo-sts.js +65 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/demo/demo.js +4542 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/demo/util.js +135 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/index.d.ts +2610 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/index.js +220 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/package.json +1 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/sdk/advance.js +1659 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/sdk/async.js +59 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/sdk/base.js +4404 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/sdk/cos.js +137 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/sdk/event.js +34 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/sdk/select-stream.js +181 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/sdk/session.js +126 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/sdk/task.js +255 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/sdk/util.js +776 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/test/csp.js +1302 -0
- package/dist/node_modules/cos-nodejs-sdk-v5/test/test.js +6119 -0
- package/dist/node_modules/mime-match/index.js +1 -1
- package/dist/node_modules/mime-match/package.json +1 -1
- package/dist/node_modules/mime-types/index.js +3 -3
- package/dist/node_modules/mime-types/package.json +1 -1
- package/dist/node_modules/mkdirp/index.js +1 -1
- package/dist/node_modules/mkdirp/package.json +1 -1
- package/dist/node_modules/url-join/lib/url-join.js +1 -1
- package/dist/node_modules/url-join/package.json +1 -1
- package/dist/server/actions/attachments.js +2 -2
- package/dist/server/actions/index.js +8 -1
- package/dist/server/actions/storage-validation.d.ts +10 -0
- package/dist/server/actions/storage-validation.js +73 -0
- package/dist/server/commands/repair-filenames.d.ts +55 -0
- package/dist/server/commands/repair-filenames.js +283 -0
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +2 -0
- package/dist/server/server.d.ts +5 -2
- package/dist/server/server.js +19 -7
- package/dist/server/storages/ali-oss.d.ts +3 -1
- package/dist/server/storages/ali-oss.js +23 -2
- package/dist/server/storages/index.d.ts +7 -1
- package/dist/server/storages/index.js +8 -1
- package/dist/server/storages/local.d.ts +6 -0
- package/dist/server/storages/local.js +76 -11
- package/dist/server/storages/s3.d.ts +2 -0
- package/dist/server/storages/s3.js +26 -0
- package/dist/server/storages/tx-cos.d.ts +18 -1
- package/dist/server/storages/tx-cos.js +138 -10
- package/dist/server/utils.d.ts +3 -0
- package/dist/server/utils.js +72 -4
- package/package.json +8 -3
- package/dist/node_modules/multer-cos/LICENSE +0 -24
- package/dist/node_modules/multer-cos/demo/index.js +0 -39
- package/dist/node_modules/multer-cos/demo/myMulter.js +0 -88
- package/dist/node_modules/multer-cos/index.js +0 -220
- 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([["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(667);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
|
|
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,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 { 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';
|
|
16
|
+
export { filePreviewTypes, wrapWithModalPreviewer } from './previewer/filePreviewTypes';
|
|
17
|
+
export type { FilePreviewType, FilePreviewerProps } from './previewer/filePreviewTypes';
|
|
@@ -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}},613:function(e,t,n){"use strict";e.exports=n.p+"867ada653cd02a3e.mjs"},76:function(e,t,n){"use strict";n.r(t),n.d(t,{UploadFieldModel:function(){return M},CardUpload:function(){return _}});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(23);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 y=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)},g=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=new Map(t.map(function(e,t){return[y(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=y(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})},h=function(e,t){var n=e.findIndex(function(e){return e.uid===(null==t?void 0:t.uid)});return n>=0?n:0};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 b(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){b(i,r,o,l,a,"next",e)}function a(e){b(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 P(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 E(e,t){return(E=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)||C(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 F(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||C(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 C(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)}}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 _=function(e){var t,n=e.allowSelectExistingRecord,u=e.multiple,p=e.value,m=e.disabled,y=e.onSelectExitRecordClick,v=e.quickUpload,b=e.showFileName,O=k((0,c.useState)(function(){return g((0,l.castArray)(p||[]))}),2),x=O[0],S=O[1],E=k((0,c.useState)(!1),2),F=E[0],C=E[1],R=k((0,c.useState)(null),2),_=R[0],M=R[1],D=k((0,c.useState)(0),2),A=D[0],U=D[1],q=(0,a.useTranslation)().t;(0,c.useLayoutEffect)(function(){S(function(e){return g((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(),b?"8px 0px":"0px",b?"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,P(j({onPreview:function(e){return w(function(){var t;return T(this,function(n){switch(n.label){case 0:var r;if(t=h(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 M(e),U(t),C(!0),[2]}})})()}},e),{listType:"picture-card",fileList:x,onChange:function(t){var n=t.fileList;S(function(e){return g(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,b&&s().createElement("div",{style:{fontSize:12,whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},title:t.filename},t.filename))}}),(void 0===v||v)&&L?s().createElement(r.UploadOutlined,{style:{fontSize:20}}):null),_&&s().createElement(d.Mo,{open:F,file:_,list:x,index:A,onOpenChange:C,onClose:function(){return M(null)},onSwitchIndex:function(e){e<0||e>=x.length||(U(e),M(x[e]))},onDownload:function(e){var t=e||_;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(),y())}},s().createElement(r.PlusOutlined,null),q("Select")))):null))},M=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&&E(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(_,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);(M=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)()],M)).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})}}}}),M.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})}}}}}),M.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,y,g,h,v,b,w,O,x,S,E,k,F,C,R,I,_;return T(this,function(T){switch(T.label){case 0:if(r=(n=e.inputArgs.fileData).file,o=n.onSuccess,i=n.onError,l=n.onProgress,a=e.app.pm.get("@nocobase/plugin-file-manager"),u=e.model.props.target,c=e.collectionField,s=null==(t=e.collection)?void 0:t.dataSourceKey,!a)return[2,o(r)];T.label=1;case 1:var M;return T.trys.push([1,6,,7]),[4,e.api.resource("storages",null,(M=s)&&"main"!==M?{"x-data-source":M}:{}).check({fileCollectionName:u,storageName:c.options.storage})];case 2:if(!(null==(O=T.sent().data)||null==(f=O.data)?void 0:f.isSupportToUploadFiles))return S=e.t('The current storage "{{storageName}}" does not support file uploads.',{storageName:null==(x=O.data.storage)?void 0:x.title}).replaceAll(">",">"),null==i||i(Error(S)),[2];if(E=a.getStorageType(null==O||null==(d=O.data)||null==(p=d.storage)?void 0:p.type)||{},k=null==O||null==(m=O.data)?void 0:m.storage,!E.createUploadCustomRequest||"function"!=typeof(F=E.createUploadCustomRequest(P(j({},e.model.props),{api:e.api,action:"".concat(u,":create?attachmentField=").concat(c.collectionName,".").concat(c.name),storage:k}))))return[3,4];return[4,F({file:r,onProgress:l,onSuccess:o,onError:i})];case 3:return T.sent(),[2];case 4:return[4,a.uploadFile({file:r,fileCollectionName:u,storageId:null==O||null==(g=O.data)||null==(y=g.storage)?void 0:y.id,storageType:null==O||null==(v=O.data)||null==(h=v.storage)?void 0:h.type,storageRules:null==O||null==(w=O.data)||null==(b=w.storage)?void 0:b.rules,dataSourceKey:s,onProgress:function(e){null==l||l({percent:e})},query:{attachmentField:"".concat(c.collectionName,".").concat(c.name)}})];case 5:if(R=(C=T.sent()).data,I=C.errorMessage)return null==i||i(Error(I)),[2];if(!R)return null==i||i(Error("上传成功但响应数据为空")),[2];return o(R),[3,7];case 6:return _=T.sent(),null==i||i(_),[3,7];case 7:return[2]}})})()}}}}),M.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=F(e.model.props.value||[]).concat(F(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}}})}}}}),M.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}})},667:function(e,t,n){"use strict";n.d(t,{S:function(){return b}});var r=n(485),o=n(624),i=n(358),l=n(488);function a(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 u(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 c(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){u(i,r,o,l,a,"next",e)}function a(e){u(i,r,o,l,a,"throw",e)}l(void 0)})}}function s(e,t,n){return(s=h()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&y(o,n.prototype),o}).apply(null,arguments)}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}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(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}function m(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 y(e,t){return(y=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 s(e,arguments,p(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),y(n,e)})(e)}function h(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(h=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=p(t),f(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,h()?Reflect.construct(t,n||[],p(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&&y(r,e),t=[{key:"load",value:function(){return c(function(){var e,t,r;return v(this,function(o){return t=this.app.i18n.t("File manager",{ns:i.C}),null==(r=this.app.pm.get("@nocobase/plugin-data-source-manager")||this.app.pm.get("data-source-manager"))||null==(e=r.registerCollectionTemplate)||e.call(r,{name:"file",title:(0,l.M)("File collection"),order:25,color:"blue",collection:{options:{template:"file",createdBy:!0,updatedBy:!0},fields:[{name:"title",interface:"input",type:"string",title:(0,l.M)("Title"),deletable:!1},{name:"filename",interface:"input",type:"string",title:(0,l.M)("File name"),deletable:!1,uiSchema:{"x-read-pretty":!0}},{name:"extname",interface:"input",type:"string",title:(0,l.M)("Extension name"),deletable:!1,uiSchema:{"x-read-pretty":!0}},{name:"size",interface:"integer",type:"integer",title:(0,l.M)("Size"),deletable:!1,componentProps:{stringMode:!0,step:"0"},uiSchema:{"x-read-pretty":!0}},{name:"mimetype",interface:"input",type:"string",title:(0,l.M)("MIME type"),deletable:!1,uiSchema:{"x-read-pretty":!0}},{name:"path",interface:"textarea",type:"text",title:(0,l.M)("Path"),deletable:!1,component:"TextAreaWithGlobalScope",uiSchema:{"x-read-pretty":!0}},{name:"url",interface:"url",type:"text",title:(0,l.M)("URL"),deletable:!1,uiSchema:{"x-read-pretty":!0}},{name:"preview",interface:"url",type:"text",title:(0,l.M)("Preview"),field:"url",deletable:!1,component:"Preview",uiSchema:{"x-read-pretty":!0}},{name:"storage",interface:"m2o",type:"belongsTo",title:(0,l.M)("Storage"),target:"storages",foreignKey:"storageId",deletable:!1,componentProps:{fieldNames:{value:"id",label:"title"}},uiSchema:{type:"object","x-read-pretty":!0}},{name:"meta",interface:"json",type:"jsonb",defaultValue:{},deletable:!1}]},presetFields:{disabled:!0}}),this.pluginSettingsManager.addMenuItem({key:i.C,title:t,icon:"FileOutlined",aclSnippet:"pm.file-manager.storages"}),this.pluginSettingsManager.addPageTabItem({menuKey:i.C,key:"index",title:t,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,m(d({},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:m(d({},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:m(d({},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 c(function(){var t,n,r,o,i,l,u,c,s,f,p,d,m,y;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,i=e.dataSourceKey,u=void 0===(l=e.query)?{}:l,c=e.fileCollectionName||"attachments",!(null==(s=this.getStorageType(n))?void 0:s.upload))return[3,2];return[4,s.upload({file:t,apiClient:this.app.apiClient,storageType:n,storageId:r,storageRules:o,dataSourceKey:i,fileCollectionName:c,query:u})];case 1:return[2,g.sent()];case 2:return g.trys.push([2,4,,5]),(p=new FormData).append("file",t),m=(d=new URLSearchParams(Object.entries(u).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 a(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 a(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(c,":create?").concat(d):"".concat(c,":create"),[4,this.app.apiClient.request({url:m,method:"post",data:p,headers:i&&"main"!==i?{"x-data-source":i}:{}})];case 3:return[2,{data:null==(f=g.sent().data)?void 0:f.data}];case 4:var h,v;return[2,{errorMessage:(h=y=g.sent(),null!=(v=Error)&&"u">typeof Symbol&&v[Symbol.hasInstance]?!!v[Symbol.hasInstance](h):h instanceof v)?y.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));f(b,"buildInStorage",[o.ZF,o.y2,o.e7,o.a_]),t.A=b},23:function(e,t,n){"use strict";n.d(t,{LD:function(){return $},Mo:function(){return Q},WP:function(){return N},_H:function(){return E},_Y:function(){return z},e$:function(){return P},q:function(){return k},qk:function(){return V},ub:function(){return B}});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(358);function f(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 p(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 d(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){p(i,r,o,l,a,"next",e)}function a(e){p(i,r,o,l,a,"throw",e)}l(void 0)})}}function m(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function y(e,t,n){return(y=x()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&v(o,n.prototype),o}).apply(null,arguments)}function g(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function b(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 f(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 f(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 w(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function O(e){var t="function"==typeof Map?new Map:void 0;return(O=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 y(e,arguments,h(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,e)})(e)}function x(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(x=function(){return!!e})()}function S(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 j="u">typeof window&&window.__nocobase_public_path__||"/",P=new(function(){var e;function t(){m(this,t),g(this,"types",[])}return e=[{key:"add",value:function(e){this.types.unshift(e)}},{key:"getTypeByFile",value:function(e){var t=E(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 E(e){return e&&"string"==typeof e?{url:e}:e}function k(e){return e?"string"==typeof e?e:e.preview||e.url||"":""}function F(e){return e?"string"==typeof e?e:e.url||e.preview||"":""}var C={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"},R=new Set(["application/pdf","application/xhtml+xml","image/svg+xml","text/html"]),T=new Set(["htm","html","pdf","svg","svgz","xhtml"]),I=function(e){return e.split("?")[0].split("#")[0]},_=function(e){if(!e)return"";var t=I(e),n=t.lastIndexOf(".");return -1!==n?t.slice(n+1).toLowerCase():""},M={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 D(e,t){return!!e&&(e.originFileObj?u()(e.type,t):e.mimetype?u()(e.mimetype,t):!!e.url&&u()(M[_(e.url)]||"",t))}var A=function(e){if(!e)return"";var t=I(e),n=t.lastIndexOf("/"),r=-1!==n?t.slice(n+1):t;try{return decodeURIComponent(r)}catch(e){return r}},U=function(e,t){if(e&&(void 0===e?"undefined":w(e))==="object"){if(e.extname)return String(e.extname).replace(/^\./,"").toLowerCase();var n=_(e.name||e.filename||e.title);if(n)return n}return _(t)},q=function(e,t){var n=(null==e?void 0:e.mimetype)||(null==e?void 0:e.type);if("string"==typeof n&&R.has(n.toLowerCase()))return!0;var r=U(e,t);return T.has(r)},L=function(e,t){var n=(null==e?void 0:e.mimetype)||(null==e?void 0:e.type);return"string"==typeof n&&"application/pdf"===n.toLowerCase()||"pdf"===U(e,t)},N=function(e,t){var n=A(t||F(e));return e&&"string"!=typeof e&&(e.name||e.filename||e.title)||n},B=function(e,t){var n=t||F(e),r=N(e,n),o=U(e,n);return r&&o&&!r.toLowerCase().endsWith(".".concat(o))&&(r="".concat(r,".").concat(o)),"".concat(Date.now(),"_").concat(r||"file")},z=function(e,t){var n;return n=C[U(e,t)]||C.default,"".concat(j.replace(/\/$/,""),"/").concat(n.replace(/^\//,""))},V=function(e){var t,n=E(e),r=k(n);if(q(n,r))return z(n,r);var o=(null!=(t=P.getTypeByFile(n))?t:{}).getThumbnailURL,i=null==o?void 0:o(n);return i||(D(n,"image/*")?"":z(n,r))},K=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)}}))},$=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=N(a,F(a));return o().createElement(l.Modal,{open:n,title:u,onCancel:function(){null==r||r(!1),null==i||i()},footer:K(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)))}},W=null,Z=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function t(e,n,r){var o,i,l;return m(this,t),i=t,l=[n],i=h(i),g(o=function(e,t){if(t&&("object"===w(t)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,x()?Reflect.construct(i,l||[],h(this).constructor):i.apply(this,l)),"code",void 0),g(o,"cause",void 0),o.name="PdfPreviewError",o.code=e,o.cause=r,o}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&v(t,e),t}(O(Error)),G=function(e){return(null!=Z&&"u">typeof Symbol&&Z[Symbol.hasInstance]?!!Z[Symbol.hasInstance](e):e instanceof Z)?e.code:"document"},H={resources:"PDF preview resources failed to load. Please refresh the page and check whether plugin static files are deployed correctly.",file:"PDF preview failed to load the file. If the file is stored on another domain, configure CORS for the external storage to allow this site to read the file.",document:"PDF preview failed. Please download the file to preview it."},Y=function(e){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:$(Y)}),P.add({match:function(e){return D(e,"image/*")},getThumbnailURL:function(e){return k(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=F(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,y=u.onRotateLeft,g=u.onRotateRight,h=u.onZoomOut,v=u.onZoomIn,b=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:y}),o().createElement(i.RotateRightOutlined,{onClick:g}),o().createElement(i.ZoomOutOutlined,{disabled:1===a,onClick:h}),o().createElement(i.ZoomInOutlined,{disabled:50===a,onClick:v}),o().createElement(i.UndoOutlined,{onClick:b}))}},src:p})}}),P.add({match:function(e){return["text/plain","application/json"].some(function(t){return D(e,t)})},Previewer:$(function(e){var t=F(e.file);return t?o().createElement("iframe",{src:t,width:"100%",height:"100%",style:{border:"none"}}):null})}),P.add({match:function(e){return D(e,"audio/*")},Previewer:$(function(e){var t=e.file,n=(0,c.useTranslation)().t,r=F(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 D(e,"video/*")},Previewer:$(function(e){var t=e.file,n=(0,c.useTranslation)().t,r=F(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 q(e,F(e))},Previewer:$(Y)}),P.add({match:function(e){return L(e,F(e))},Previewer:$(function(e){var t=e.file,r=(0,c.useTranslation)(s.C).t,i=F(t),a=o().useRef(new Map),u=o().useRef(null),f=b(o().useState(null),2),p=f[0],m=f[1],y=b(o().useState(null),2),g=y[0],h=y[1];return(o().useEffect(function(){if(i){var e={cancelled:!1,abortController:new AbortController,rendered:new Set,inFlight:new Set,loadingTasks:[],renderTasks:[]};return u.current=e,m(null),h(null),d(function(){var t,r,o,l,a,u,c,s;return S(this,function(f){switch(f.label){case 0:return f.trys.push([0,2,,3]),[4,d(function(){return S(this,function(e){return W||(W=n.e("876").then(n.bind(n,583))),[2,W]})})()];case 1:return t=f.sent(),[3,3];case 2:throw new Z("resources","Failed to load PDF.js resources.",f.sent());case 3:if(e.cancelled)return[2];e.pdfjs=t;try{r=new URL(i,location.href)}catch(e){throw new Z("file","Invalid PDF file URL.",e)}f.label=4;case 4:return f.trys.push([4,6,,7]),[4,fetch(r,{credentials:r.origin===location.origin?"include":"omit",signal:e.abortController.signal})];case 5:return o=f.sent(),[3,7];case 6:throw new Z("file","Failed to fetch PDF file.",f.sent());case 7:if(!o.ok)throw new Z("file","Failed to fetch PDF file: ".concat(o.status));f.label=8;case 8:return f.trys.push([8,10,,11]),a=Uint8Array.bind,[4,o.arrayBuffer()];case 9:return l=new(a.apply(Uint8Array,[void 0,f.sent()])),[3,11];case 10:throw new Z("file","Failed to read PDF file response.",f.sent());case 11:if(e.cancelled)return[2];e.data=l;try{t.GlobalWorkerOptions.workerSrc=new URL(n(613),n.b).toString(),e.worker=t.PDFWorker.create({})}catch(e){throw new Z("resources","Failed to load PDF.js worker.",e)}u=t.getDocument({data:l.slice(0),isEvalSupported:!1,enableXfa:!1,useWasm:!1,worker:e.worker}),e.loadingTasks.push(u),f.label=12;case 12:return f.trys.push([12,14,,15]),[4,u.promise];case 13:return c=f.sent(),[3,15];case 14:throw new Z("document","Failed to parse PDF file.",f.sent());case 15:if(e.cancelled)return[2];return e.metaPdf=c,[4,c.getPage(1)];case 16:if(s=f.sent().getViewport({scale:1.4}),e.cancelled)return[2];return m({numPages:c.numPages,width:s.width,height:s.height}),[2]}})})().catch(function(t){if(!e.cancelled){var n=G(t);console.warn("[file-manager] PDF preview failed",{code:n,src:i,error:t}),h(n)}}),function(){var t,n,r;e.cancelled=!0,e.abortController.abort(),null==(t=e.observer)||t.disconnect(),e.renderTasks.forEach(function(e){var t;return null==(t=e.cancel)?void 0:t.call(e)}),e.loadingTasks.forEach(function(e){var t;return null==(t=e.destroy)?void 0:t.call(e)}),null==(r=e.worker)||null==(n=r.destroy)||n.call(r)}}},[i]),o().useEffect(function(){var e=u.current;if(p&&(null==e?void 0:e.pdfjs)&&e.metaPdf){var t=e.pdfjs,n=e.metaPdf,r=function(r){return d(function(){var o,l,u,c,s,f,p,d,m,y;return S(this,function(g){switch(g.label){case 0:if(e.cancelled||e.rendered.has(r)||e.inFlight.has(r)||!(o=a.current.get(r)))return[2];e.inFlight.add(r),g.label=1;case 1:if(g.trys.push([1,7,8,9]),!(1===r||!e.data))return[3,2];return c=n,[3,4];case 2:return l=t.getDocument({data:e.data.slice(0),isEvalSupported:!1,enableXfa:!1,useWasm:!1,worker:e.worker}),e.loadingTasks.push(l),[4,l.promise];case 3:c=g.sent(),g.label=4;case 4:if(e.cancelled)return[2];return[4,c.getPage(r)];case 5:if(f=(s=g.sent()).getViewport({scale:1.4}),!(p=document.createElement("canvas").getContext("2d")))return[2];return(d=p.canvas).width=f.width,d.height=f.height,d.style.display="block",d.style.width="100%",d.style.height="auto",o.style.aspectRatio="",o.replaceChildren(d),m=s.render({canvas:d,canvasContext:p,viewport:f,annotationMode:t.AnnotationMode.DISABLE}),e.renderTasks.push(m),[4,m.promise];case 6:if(g.sent(),e.cancelled)return[2];return e.rendered.add(r),null==(u=e.observer)||u.unobserve(o),[3,9];case 7:return y=g.sent(),e.cancelled||console.warn("[file-manager] PDF page render failed",{pageNumber:r,src:i,error:y}),[3,9];case 8:return null==l||l.destroy(),e.inFlight.delete(r),[7];case 9:return[2]}})})()},o=new IntersectionObserver(function(e){var t=!0,n=!1,o=void 0;try{for(var i,l=e[Symbol.iterator]();!(t=(i=l.next()).done);t=!0){var a=i.value;a.isIntersecting&&r(Number(a.target.dataset.page))}}catch(e){n=!0,o=e}finally{try{t||null==l.return||l.return()}finally{if(n)throw o}}},{rootMargin:"300px 0px"});return e.observer=o,a.current.forEach(function(e){return o.observe(e)}),function(){o.disconnect(),e.observer===o&&(e.observer=void 0)}}},[p,i]),i)?o().createElement("div",{style:{width:"100%",minHeight:"100%",padding:16}},g?o().createElement(l.Alert,{type:"warning",showIcon:!0,message:r(H[g])}):null,p||g?null:o().createElement("div",{style:{display:"flex",justifyContent:"center",padding:48}},o().createElement(l.Spin,null)),p?Array.from({length:p.numPages},function(e,t){return t+1}).map(function(e){return o().createElement("div",{key:e,"data-page":e,ref:function(t){t?a.current.set(e,t):a.current.delete(e)},style:{width:"100%",maxWidth:p.width,margin:"0 auto 16px",aspectRatio:"".concat(p.width," / ").concat(p.height),background:"#fff",border:"1px solid #f0f0f0"}})}):null):null})});var Q=function(e){var t,n,r,i=E(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){g(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 h},BL:function(){return u},om:function(){return d},mt:function(){return c},Sx:function(){return y},Lq:function(){return p},Lg:function(){return v}});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 y(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 g=[{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 h(){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:g.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 v(){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,{M:function(){return l},k:function(){return i}});var r=n(694),o=n(358);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))}}function l(e){return(0,r.tExpr)(e,{ns:[o.C,"client"]})}},358:function(e,t,n){"use strict";n.d(t,{C:function(){return r}});var r="file-manager"},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"},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 y(e){var t=m[e];if(void 0!==t)return t.exports;var n=m[e]={exports:{}};return d[e](n,n.exports,y),n.exports}y.m=d,y.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return y.d(t,{a:t}),t},y.d=function(e,t){for(var n in t)y.o(t,n)&&!y.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},y.f={},y.e=function(e){return Promise.all(Object.keys(y.f).reduce(function(t,n){return y.f[n](e,t),t},[]))},y.u=function(e){return""+e+"."+({125:"0b8eef1f19b87042",229:"bd72c2d7aa088310",336:"1dd1b32466d0c778",43:"eb45d53ba3e9828b",450:"30cc3ed6973d8c4d",876:"22cd8e41ac8631ed",929:"d7e783304cc1f236",942:"f36d807d763a1b53"})[e]+".js"},y.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),y.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},g={},y.l=function(e,t,n,r){if(g[e])return void g[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,y.nc&&o.setAttribute("nonce",y.nc),o.setAttribute("data-rspack","@nocobase/plugin-file-manager/client-v2:"+n),o.src=e),g[e]=[t];var c=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=g[e];if(delete g[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)},y.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},y.g.importScripts&&(h=y.g.location+"");var g,h,v=y.g.document;if(!h&&v&&(v.currentScript&&"SCRIPT"===v.currentScript.tagName.toUpperCase()&&(h=v.currentScript.src),!h)){var b=v.getElementsByTagName("script");if(b.length)for(var w=b.length-1;w>-1&&(!h||!/^http(s?):/.test(h));)h=b[w--].src}if(!h)throw Error("Automatic publicPath is not supported in this browser");y.p=h.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),y.b=document.baseURI||self.location.href,s={889:0},y.f.j=function(e,t){var n=y.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=y.p+y.u(e),i=Error();y.l(o,function(t){if(y.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)y.o(i,n)&&(y.m[n]=i[n]);l&&l(y)}for(e&&e(t);a<o.length;a++)r=o[a],y.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){var r=window.__nocobase_modern_client_prefix__||"v",o="/"+(r=String(r).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var i=window.location.pathname||"/",l=i.indexOf(o);e=l>=0?i.slice(0,l+1):"/"}e&&(e=e.replace(RegExp("/"+r+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-file-manager/dist/client-v2/"}y.p=e}(),!function(){"use strict";y.r(O),y.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},filePreviewTypes:function(){return r.e$},wrapWithModalPreviewer:function(){return r.LD}});var e=y(667),t=y(564),n=y(76),r=y(23)}(),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,18 +6,19 @@
|
|
|
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
|
-
export declare function useStorage(storage: any): any;
|
|
11
|
+
export declare function useStorage(storage: any, dataSourceKey?: string): any;
|
|
12
12
|
export declare function useStorageCfg(model: any): {
|
|
13
13
|
storage: any;
|
|
14
14
|
storageType: any;
|
|
15
|
+
dataSourceKey: any;
|
|
15
16
|
};
|
|
16
17
|
export declare function useStorageUploadProps(props: any, model: any): any;
|
|
17
18
|
export declare function validate(file: any, rules: Record<string, any>): string;
|
|
18
19
|
export declare function useBeforeUpload(rules: any): (file: any, fileList: any) => false | Promise<any>;
|
|
19
20
|
export declare class UploadActionModel extends ActionModel {
|
|
20
|
-
static scene: import("@nocobase/client").ActionSceneType;
|
|
21
|
+
static scene: import("@nocobase/client-v2").ActionSceneType;
|
|
21
22
|
props: any;
|
|
22
23
|
defaultProps: any;
|
|
23
24
|
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';
|
|
@@ -1,3 +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
|
+
*/
|
|
1
9
|
interface UploadFieldFile {
|
|
2
10
|
uid?: string;
|
|
3
11
|
id?: number | string;
|
|
@@ -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;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { Application } from '@nocobase/client-v2';
|
|
10
|
+
import { Plugin } from '@nocobase/client-v2';
|
|
11
|
+
import type React from 'react';
|
|
12
|
+
type UploadFileResult = {
|
|
13
|
+
errorMessage?: string;
|
|
14
|
+
data?: unknown;
|
|
15
|
+
};
|
|
16
|
+
type StorageUploadOptions = {
|
|
17
|
+
file: File;
|
|
18
|
+
apiClient: Application['apiClient'];
|
|
19
|
+
storageType?: string;
|
|
20
|
+
storageId?: number;
|
|
21
|
+
storageRules?: {
|
|
22
|
+
size?: number;
|
|
23
|
+
mimetype?: string | string[];
|
|
24
|
+
};
|
|
25
|
+
dataSourceKey?: string;
|
|
26
|
+
fileCollectionName: string;
|
|
27
|
+
query?: Record<string, string | number | boolean>;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Unified storage type definition. A single entry describes both the
|
|
31
|
+
* settings-page form (UI: `title` + `formLoader` + `defaultValues`) and the
|
|
32
|
+
* optional runtime upload override (`upload` / `createUploadCustomRequest`).
|
|
33
|
+
*
|
|
34
|
+
* Built-in storages register the UI fields only and fall back to the default
|
|
35
|
+
* `apiClient.request` multipart upload. Commercial / third-party storage
|
|
36
|
+
* plugins (e.g. S3 Pro) layer a presigned-PUT pipeline on top by populating
|
|
37
|
+
* the optional runtime fields.
|
|
38
|
+
*/
|
|
39
|
+
export interface StorageType {
|
|
40
|
+
/** Server-side storage type identifier — must match the persisted `storages.type` value. */
|
|
41
|
+
name: string;
|
|
42
|
+
/** Display title shown in the "Add new" dropdown and drawer header. Wrapped with `t(...)` at render time. */
|
|
43
|
+
title: string;
|
|
44
|
+
/**
|
|
45
|
+
* Async loader for the form body — the list of `<Form.Item>` fields inside
|
|
46
|
+
* the storage drawer. The loaded module's default export is used, matching
|
|
47
|
+
* the convention of `componentLoader` and `registerModelLoaders` elsewhere
|
|
48
|
+
* in the codebase.
|
|
49
|
+
*/
|
|
50
|
+
formLoader: () => Promise<{
|
|
51
|
+
default: React.ComponentType;
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Optional per-storage initial values merged on top of the page-level
|
|
55
|
+
* defaults (`type` + generated `name`) when creating a new record.
|
|
56
|
+
*/
|
|
57
|
+
defaultValues?: Record<string, any>;
|
|
58
|
+
/**
|
|
59
|
+
* Optional override of the `PluginFileManagerClientV2.uploadFile` pipeline,
|
|
60
|
+
* used when editors (Markdown, Vditor, etc.) paste / drop files outside of
|
|
61
|
+
* an attachment field. When absent, uploads go through the default
|
|
62
|
+
* multipart `apiClient.request` path.
|
|
63
|
+
*/
|
|
64
|
+
upload?: (options: StorageUploadOptions) => Promise<UploadFileResult>;
|
|
65
|
+
/**
|
|
66
|
+
* Optional `customRequest` factory consumed by `UploadFieldModel` for the
|
|
67
|
+
* inline attachment Upload component. When absent, `UploadFieldModel` falls
|
|
68
|
+
* back to `uploadFile`.
|
|
69
|
+
*/
|
|
70
|
+
createUploadCustomRequest?: (options: any) => (option: any) => void;
|
|
71
|
+
}
|
|
72
|
+
export declare class PluginFileManagerClientV2 extends Plugin<Record<string, never>, Application> {
|
|
73
|
+
static buildInStorage: string[];
|
|
74
|
+
storageTypes: Map<string, StorageType>;
|
|
75
|
+
load(): Promise<void>;
|
|
76
|
+
registerStorageType(name: string, storageType: Omit<StorageType, 'name'>): void;
|
|
77
|
+
getStorageType(name?: string): StorageType;
|
|
78
|
+
private registerBuiltInStorageTypes;
|
|
79
|
+
uploadFile(options?: {
|
|
80
|
+
file: File;
|
|
81
|
+
fileCollectionName?: string;
|
|
82
|
+
storageType?: string;
|
|
83
|
+
storageId?: number;
|
|
84
|
+
storageRules?: StorageUploadOptions['storageRules'];
|
|
85
|
+
dataSourceKey?: string;
|
|
86
|
+
query?: StorageUploadOptions['query'];
|
|
87
|
+
}): Promise<UploadFileResult>;
|
|
88
|
+
}
|
|
89
|
+
export default PluginFileManagerClientV2;
|
|
@@ -0,0 +1,46 @@
|
|
|
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 FilePreviewerProps {
|
|
11
|
+
file: any;
|
|
12
|
+
index: number;
|
|
13
|
+
list: any[];
|
|
14
|
+
open?: boolean;
|
|
15
|
+
onOpenChange?: (open: boolean) => void;
|
|
16
|
+
onSwitchIndex?: (index: number) => void;
|
|
17
|
+
onClose?: () => void;
|
|
18
|
+
onDownload: (file: any) => void;
|
|
19
|
+
}
|
|
20
|
+
export interface FilePreviewType {
|
|
21
|
+
match(file: any): boolean;
|
|
22
|
+
getThumbnailURL?: (file: any) => string | null;
|
|
23
|
+
Previewer?: React.ComponentType<FilePreviewerProps>;
|
|
24
|
+
}
|
|
25
|
+
export declare class FilePreviewTypes {
|
|
26
|
+
types: FilePreviewType[];
|
|
27
|
+
add(type: FilePreviewType): void;
|
|
28
|
+
getTypeByFile(file: any): Omit<FilePreviewType, 'match'> | undefined;
|
|
29
|
+
}
|
|
30
|
+
export declare const filePreviewTypes: FilePreviewTypes;
|
|
31
|
+
export declare function normalizePreviewFile(file: any): any;
|
|
32
|
+
export declare function getPreviewFileUrl(file: any): any;
|
|
33
|
+
export declare function getFileUrl(file: any): any;
|
|
34
|
+
export declare function matchMimetype(file: any, type: string): any;
|
|
35
|
+
export declare const getFileExt: (file: any, url?: string) => string;
|
|
36
|
+
export declare const isActiveContentFile: (file: any, url?: string) => boolean;
|
|
37
|
+
export declare const isPdfFile: (file: any, url?: string) => boolean;
|
|
38
|
+
export declare const getFileName: (file: any, url?: string) => any;
|
|
39
|
+
export declare const getDownloadFileName: (file: any, url?: string) => string;
|
|
40
|
+
export declare const getFallbackIcon: (file: any, url?: string) => string;
|
|
41
|
+
export declare const getPreviewThumbnailUrl: (file: any) => string;
|
|
42
|
+
export declare const wrapWithModalPreviewer: (Previewer: React.ComponentType<FilePreviewerProps>) => (props: FilePreviewerProps) => React.JSX.Element;
|
|
43
|
+
type PdfPreviewErrorCode = 'resources' | 'file' | 'document';
|
|
44
|
+
export declare const getPdfPreviewErrorCode: (error: unknown) => PdfPreviewErrorCode;
|
|
45
|
+
export declare const FilePreviewRenderer: (props: FilePreviewerProps) => React.JSX.Element;
|
|
46
|
+
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 AliOssStorageForm(): 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 default function LocalStorageForm(): React.JSX.Element;
|