@nocobase/plugin-file-manager
Version:
Provides files storage services with files collection template and attachment field.
10 lines (9 loc) • 68.2 kB
JavaScript
/**
* This file is part of the NocoBase (R) project.
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
* Authors: NocoBase Team.
*
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
* For more information, please refer to: https://www.nocobase.com/agreement.
*/
!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("@formily/shared"),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","@formily/shared","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("@formily/shared"),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["@formily/shared"],e.react,e.antd,e.lodash)}(self,function(e,t,n,r,o,i,a,l,c,u,s){return function(){var f,p,d,m={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 a in r={},e)this.match(a)&&(r[a]=e[a]);return r},e.exports=function(e,n,r){var o=new t(e,r||/[\/\.]/);return void 0!==n?o.match(n):o}},76:function(e,t,n){"use strict";n.r(t),n.d(t,{UploadFieldModel:function(){return M},CardUpload:function(){return I}});var r=n(375),o=n(477),i=n(59),a=n(773),l=n(953),c=n(694),u=n(155),s=n.n(u),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,a=null==e?void 0:e.response,l=null!=(n=null==e?void 0:e.id)?n:null==a?void 0:a.id,c=null!=(r=null==e?void 0:e.url)?r:null==a?void 0:a.url,u=null!=(o=null==e?void 0:e.filename)?o:null==a?void 0:a.filename,s=null!=(i=null==e?void 0:e.name)?i:null==a?void 0:a.name;return null!=l?"id:".concat(String(l)):null!=c?"url:".concat(c):null!=u?"filename:".concat(u,":").concat(t):null!=s?"name:".concat(s,":").concat(t):(null==e?void 0:e.uid)?"uid:".concat(e.uid):"index:".concat(t)},h=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,a=!1;try{for(r=r.call(e);!(i=(t=r.next()).done)&&(o.push(t.value),2!==o.length);i=!0);}catch(e){a=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(a)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,a=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(a)||a,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})},g=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,a){try{var l=e[i](a),c=l.value}catch(e){n(e);return}l.done?t(c):Promise.resolve(c).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 a(e){b(i,r,o,a,l,"next",e)}function l(e){b(i,r,o,a,l,"throw",e)}a(void 0)})}}function x(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O(e,t,n){return(O="u">typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=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){x(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=[],a=!0,l=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){l=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(l)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 _(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_=function(){return!!e})()}function R(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:c(0)}),l(a,"throw",{value:c(1)}),l(a,"return",{value:c(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function c(l){return function(c){var u=[l,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){i.label=u[1];break}if(6===u[0]&&i.label<o[1]){i.label=o[1],o=u;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(u);break}o[2]&&i.ops.pop(),i.trys.pop();continue}u=t.call(e,i)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function T(){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 T=function(){return n},n}var I=function(e){var t,n=e.allowSelectExistingRecord,c=e.multiple,p=e.value,m=e.disabled,y=e.onSelectExitRecordClick,v=e.quickUpload,b=e.showFileName,x=k((0,u.useState)(function(){return h((0,a.castArray)(p||[]))}),2),O=x[0],S=x[1],E=k((0,u.useState)(!1),2),F=E[0],C=E[1],_=k((0,u.useState)(null),2),I=_[0],M=_[1],A=k((0,u.useState)(0),2),D=A[0],L=A[1],U=(0,l.useTranslation)().t;(0,u.useLayoutEffect)(function(){S(function(e){return h((0,a.castArray)(p||[]),e)})},[p]);var q=(t=O.length,!!c||0===t);return s().createElement(f.FieldContext.Provider,{value:{value:O}},s().createElement("div",{style:{display:"flex"},className:(0,o.css)(T(),b?"8px 0px":"0px",b?"8px 0px":"0px",c?"":"\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 R(this,function(n){switch(n.label){case 0:var r;if(t=g(O,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),L(t),C(!0),[2]}})})()}},e),{listType:"picture-card",fileList:O,onChange:function(t){var n=t.fileList;S(function(e){return h(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)&&q?s().createElement(r.UploadOutlined,{style:{fontSize:20}}):null),I&&s().createElement(d.Mo,{open:F,file:I,list:O,index:D,onOpenChange:C,onClose:function(){return M(null)},onSwitchIndex:function(e){e<0||e>=O.length||(L(e),M(O[e]))},onDownload:function(e){var t=e||I;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&&q?s().createElement("div",{style:{marginLeft:5}},s().createElement(i.Upload,{disabled:m,multiple:c,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),U("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),x(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,_()?Reflect.construct(t,r||[],S(this).constructor):t.apply(this,r)),"selectedRows",c.observable.ref([])),x(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;O(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(I,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,a=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}([(0,c.largeField)()],M)).registerFlow({key:"uploadSettings",title:(0,c.tExpr)("Upload file settings"),steps:{quickUpload:{title:(0,c.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,c.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,c.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,c.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,a,l,c,u,s,f,p,d,m,y,h,g,v,b,w,x,O,S,E,k,F,C,_,T,I;return R(this,function(R){switch(R.label){case 0:if(r=(n=e.inputArgs.fileData).file,o=n.onSuccess,i=n.onError,a=n.onProgress,l=e.app.pm.get("@nocobase/plugin-file-manager"),c=e.model.props.target,u=e.collectionField,s=null==(t=e.collection)?void 0:t.dataSourceKey,!l)return[2,o(r)];R.label=1;case 1:return R.trys.push([1,6,,7]),[4,e.api.resource("storages").check(P(j({fileCollectionName:c},s&&"main"!==s?{uploadDataSourceKey:s}:{}),{storageName:u.options.storage}))];case 2:if(!(null==(x=R.sent().data)||null==(f=x.data)?void 0:f.isSupportToUploadFiles))return S=e.t('The current storage "{{storageName}}" does not support file uploads.',{storageName:null==(O=x.data.storage)?void 0:O.title}).replaceAll(">",">"),null==i||i(Error(S)),[2];if(E=l.getStorageType(null==x||null==(d=x.data)||null==(p=d.storage)?void 0:p.type)||{},k=null==x||null==(m=x.data)?void 0:m.storage,!E.createUploadCustomRequest||"function"!=typeof(F=E.createUploadCustomRequest(P(j({},e.model.props),{api:e.api,action:function(e,t){if(!t||"main"===t)return e;var n=e.includes("?")?"&":"?";return"".concat(e).concat(n,"uploadDataSourceKey=").concat(encodeURIComponent(t))}("".concat(c,":create?attachmentField=").concat(u.collectionName,".").concat(u.name),s),storage:k}))))return[3,4];return[4,F({file:r,onProgress:a,onSuccess:o,onError:i})];case 3:return R.sent(),[2];case 4:return[4,l.uploadFile({file:r,fileCollectionName:c,storageId:null==x||null==(h=x.data)||null==(y=h.storage)?void 0:y.id,storageType:null==x||null==(v=x.data)||null==(g=v.storage)?void 0:g.type,storageRules:null==x||null==(w=x.data)||null==(b=w.storage)?void 0:b.rules,dataSourceKey:s,onProgress:function(e){null==a||a({percent:e})},query:{attachmentField:"".concat(u.collectionName,".").concat(u.name)}})];case 5:if(_=(C=R.sent()).data,T=C.errorMessage)return null==i||i(Error(T)),[2];if(!_)return null==i||i(Error("上传成功但响应数据为空")),[2];return o(_),[3,7];case 6:return I=R.sent(),null==i||i(I),[3,7];case 7:return[2]}})})()}}}}),M.registerFlow({key:"selectExitRecordSettings",title:(0,c.tExpr)("Selector setting"),on:{eventName:"openView"},steps:{openView:{title:(0,c.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,c.tExpr)("Open mode"),enum:[{label:(0,c.tExpr)("Drawer"),value:"drawer"},{label:(0,c.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,c.tExpr)("Popup size"),enum:[{label:(0,c.tExpr)("Small"),value:"small"},{label:(0,c.tExpr)("Medium"),value:"medium"},{label:(0,c.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,a,l=["belongsTo","hasOne"].includes(e.collectionField.type),c=e.isMobileLayout?"embed":e.inputArgs.mode||t.mode||"drawer",u=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:c,width:{drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}}[c][u],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==(a=e.collectionField)?void 0:a.target,collectionField:e.collectionField,rowSelectionProps:{type:l?"radio":"checkbox",defaultSelectedRows:function(){return e.model.props.value},renderCell:void 0,selectedRowKeys:void 0,onChange:function(t,n){if(l){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"===c?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}),body:{padding:0}}})}}}}),M.define({label:(0,c.tExpr)("File picker")}),c.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 w}});var r=n(485),o=n(624),i=n(358),a=n(732),l=n(488);function c(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,a){try{var l=e[i](a),c=l.value}catch(e){n(e);return}l.done?t(c):Promise.resolve(c).then(r,o)}function s(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){u(i,r,o,a,l,"next",e)}function l(e){u(i,r,o,a,l,"throw",e)}a(void 0)})}}function f(e,t,n){return(f=v()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&h(o,n.prototype),o}).apply(null,arguments)}function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(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){p(e,t,n[t])})}return e}function y(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 h(e,t){return(h=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 f(e,arguments,d(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),h(n,e)})(e)}function v(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(v=function(){return!!e})()}function b(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:c(0)}),l(a,"throw",{value:c(1)}),l(a,"return",{value:c(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function c(l){return function(c){var u=[l,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){i.label=u[1];break}if(6===u[0]&&i.label<o[1]){i.label=o[1],o=u;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(u);break}o[2]&&i.ops.pop(),i.trys.pop();continue}u=t.call(e,i)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var w=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=d(t),p(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,v()?Reflect.construct(t,n||[],d(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&&h(r,e),t=[{key:"load",value:function(){return s(function(){var e,t,r;return b(this,function(o){return this.app.addFieldInterfaces([a.p]),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,y(m({},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:y(m({},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:y(m({},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 s(function(){var t,n,r,o,i,a,l,u,s,f,p,d,y,h,g;return b(this,function(v){switch(v.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,l=void 0===(a=e.query)?{}:a,u=e.fileCollectionName||"attachments",s=this.getStorageType(n),f=m({},l,i&&"main"!==i?{uploadDataSourceKey:i}:{}),!(null==s?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:u,query:f})];case 1:return[2,v.sent()];case 2:return v.trys.push([2,4,,5]),(d=new FormData).append("file",t),h=(y=new URLSearchParams(Object.entries(f).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,a=!1;try{for(r=r.call(e);!(i=(t=r.next()).done)&&(o.push(t.value),2!==o.length);i=!0);}catch(e){a=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(a)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return c(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 c(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();return[t[0],String(t[1])]})).toString())?"".concat(u,":create?").concat(y):"".concat(u,":create"),[4,this.app.apiClient.request({url:h,method:"post",data:d})];case 3:return[2,{data:null==(p=v.sent().data)?void 0:p.data}];case 4:var b,w;return[2,{errorMessage:(b=g=v.sent(),null!=(w=Error)&&"u">typeof Symbol&&w[Symbol.hasInstance]?!!w[Symbol.hasInstance](b):b instanceof w)?g.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));p(w,"buildInStorage",[o.ZF,o.y2,o.e7,o.a_]),t.A=w},23:function(e,t,n){"use strict";n.d(t,{LD:function(){return Y},Mo:function(){return eu},WP:function(){return $},_H:function(){return _},_Y:function(){return Z},e$:function(){return C},q:function(){return R},qk:function(){return G},ub:function(){return W}});var r=n(155),o=n.n(r),i=n(375),a=n(477),l=n(59),c=n(484),u=n.n(c),s=n(953),f=n(358);function p(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 d(e,t,n,r,o,i,a){try{var l=e[i](a),c=l.value}catch(e){n(e);return}l.done?t(c):Promise.resolve(c).then(r,o)}function m(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){d(i,r,o,a,l,"next",e)}function l(e){d(i,r,o,a,l,"throw",e)}a(void 0)})}}function y(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function h(e,t,n){return(h=P()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&x(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 v(e){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function b(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}function w(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function x(e,t){return(x=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function O(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=[],a=!0,l=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){l=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(l)throw r}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return p(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 p(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function j(e){var t="function"==typeof Map?new Map:void 0;return(j=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 h(e,arguments,v(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),x(n,e)})(e)}function P(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(P=function(){return!!e})()}function E(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:c(0)}),l(a,"throw",{value:c(1)}),l(a,"return",{value:c(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function c(l){return function(c){var u=[l,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){i.label=u[1];break}if(6===u[0]&&i.label<o[1]){i.label=o[1],o=u;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(u);break}o[2]&&i.ops.pop(),i.trys.pop();continue}u=t.call(e,i)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function k(){var e,t,n=(e=["\n position: relative;\n width: 100%;\n background: #fff;\n overflow: hidden;\n --total-scale-factor: calc("," * var(--pdf-responsive-scale, 1));\n --scale-round-x: 1px;\n --scale-round-y: 1px;\n\n canvas {\n position: absolute;\n inset: 0;\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .textLayer {\n position: absolute;\n inset: 0;\n overflow: hidden;\n line-height: 1;\n text-align: initial;\n text-size-adjust: none;\n transform-origin: 0 0;\n z-index: 1;\n --text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size, 1));\n --min-font-size-inv: calc(1 / var(--min-font-size, 1));\n }\n\n .textLayer :is(span, br) {\n position: absolute;\n color: transparent;\n white-space: pre;\n cursor: text;\n transform-origin: 0% 0%;\n }\n\n .textLayer > :not(.markedContent),\n .textLayer .markedContent span:not(.markedContent) {\n z-index: 1;\n --font-height: 0;\n --scale-x: 1;\n --rotate: 0deg;\n font-size: calc(var(--text-scale-factor) * var(--font-height));\n transform: rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv));\n }\n\n .textLayer .markedContent {\n display: contents;\n }\n\n .textLayer span[role='img'] {\n user-select: none;\n cursor: default;\n }\n\n .textLayer ::selection {\n background: rgba(0, 0, 255, 0.25);\n }\n"],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return k=function(){return n},n}var F="u">typeof window&&window.__nocobase_public_path__||"/",C=new(function(){var e;function t(){y(this,t),g(this,"types",[])}return e=[{key:"add",value:function(e){this.types.unshift(e)}},{key:"getTypeByFile",value:function(e){var t=_(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){return e&&"string"==typeof e?{url:e}:e}function R(e){return e?"string"==typeof e?e:e.preview||e.url||"":""}function T(e){return e?"string"==typeof e?e:e.url||e.preview||"":""}var I={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"},M=new Set(["application/pdf","application/xhtml+xml","application/xml","application/xslt+xml","image/svg+xml","text/html","text/xml"]),A=new Set(["htm","html","pdf","svg","svgz","xht","xhtml","xml","xsl","xslt"]),D=function(e){return e.split("?")[0].split("#")[0]},L=function(e){if(!e)return"";var t=D(e),n=t.lastIndexOf(".");return -1!==n?t.slice(n+1).toLowerCase():""},U={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 q(e,t){return!!e&&(e.originFileObj?u()(e.type,t):e.mimetype?u()(e.mimetype,t):!!e.url&&u()(U[L(e.url)]||"",t))}var z=function(e){if(!e)return"";var t=D(e),n=t.lastIndexOf("/"),r=-1!==n?t.slice(n+1):t;try{return decodeURIComponent(r)}catch(e){return r}},N=function(e,t){if(e&&(void 0===e?"undefined":S(e))==="object"){if(e.extname)return String(e.extname).replace(/^\./,"").toLowerCase();var n=L(e.name||e.filename||e.title);if(n)return n}return L(t)},B=function(e,t){var n=(null==e?void 0:e.mimetype)||(null==e?void 0:e.type);if("string"==typeof n&&M.has(n.toLowerCase()))return!0;var r=N(e,t);return A.has(r)},K=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"===N(e,t)},V=function(e){if(!e||"u"<typeof window)return!0;try{return new URL(e,window.location.href).origin===window.location.origin}catch(e){return!0}},$=function(e,t){var n=z(t||T(e));return e&&"string"!=typeof e&&(e.name||e.filename||e.title)||n},W=function(e,t){var n=t||T(e),r=$(e,n),o=N(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=I[N(e,t)]||I.default,"".concat(F.replace(/\/$/,""),"/").concat(n.replace(/^\//,""))},G=function(e){var t,n=_(e),r=R(n);if(B(n,r))return Z(n,r);var o=(null!=(t=C.getTypeByFile(n))?t:{}).getThumbnailURL,i=null==o?void 0:o(n);return i||(q(n,"image/*")?"":Z(n,r))},H=function(e){var t=e.index,n=e.list,r=e.onSwitchIndex,a=e.onDownload,c=e.file,u="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:u?"pointer":"not-allowed"},disabled:!u,onClick:function(){return u&&(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(c)}}))},Y=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 c=$(a,T(a));return o().createElement(l.Modal,{open:n,title:c,onCancel:function(){null==r||r(!1),null==i||i()},footer:H(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)))}},Q=function(e){var t=T(e.file);return t?o().createElement("iframe",{src:t,width:"100%",height:"100%",style:{border:"none"}}):null},X=null,J=function(e){return e.endsWith("/")?e:"".concat(e,"/")},ee=function(e){var t=null==e?void 0:e.__webpack_public_path__;if(t)return J(t);var n=J((null==e?void 0:e.__nocobase_public_path__)||"/"),r="string"==typeof(null==e?void 0:e.__nocobase_modern_client_prefix__)?e.__nocobase_modern_client_prefix__.replace(/^\/+|\/+$/g,""):"";return r?n.replace(new RegExp("/".concat(r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"/$")),"/"):n},et=function(){var e=ee("u"<typeof window?void 0:window);return"".concat(e,"static/plugins/@nocobase/plugin-file-manager/dist/client/pdfjs/")},en=function(){var e=et();return{cMapPacked:!0,cMapUrl:"".concat(e,"cmaps/"),standardFontDataUrl:"".concat(e,"standard_fonts/")}},er=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,a;return y(this,t),i=t,a=[n],i=v(i),g(o=function(e,t){if(t&&("object"===S(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,P()?Reflect.construct(i,a||[],v(this).constructor):i.apply(this,a)),"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&&x(t,e),t}(j(Error)),eo=function(e){return(null!=er&&"u">typeof Symbol&&er[Symbol.hasInstance]?!!er[Symbol.hasInstance](e):e instanceof er)?e.code:"document"},ei=(0,a.css)(k(),1.4),ea={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."},el=function(e){var t=e.file,n=(0,s.useTranslation)(f.C).t,r=T(t),i=o().useRef(new Map),a=o().useRef(null),c=O(o().useState(null),2),u=c[0],p=c[1],d=O(o().useState(null),2),y=d[0],h=d[1];return(o().useEffect(function(){if(r){var e={cancelled:!1,abortController:new AbortController,rendered:new Set,inFlight:new Set,loadingTasks:[],renderTasks:[],textLayers:new Set};return a.current=e,p(null),h(null),m(function(){var t,n,o,i,a,l,c,u;return E(this,function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),[4,m(function(){return E(this,function(e){return X||(X=import("".concat(et(),"pdf.min.mjs"))),[2,X]})})()];case 1:return t=s.sent(),[3,3];case 2:throw new er("resources","Failed to load PDF.js resources.",s.sent());case 3:if(e.cancelled)return[2];e.pdfjs=t;try{n=new URL(r,location.href)}catch(e){throw new er("file","Invalid PDF file URL.",e)}s.label=4;case 4:return s.trys.push([4,6,,7]),[4,fetch(n,{credentials:n.origin===location.origin?"include":"omit",signal:e.abortController.signal})];case 5:return o=s.sent(),[3,7];case 6:throw new er("file","Failed to fetch PDF file.",s.sent());case 7:if(!o.ok)throw new er("file","Failed to fetch PDF file: ".concat(o.status));s.label=8;case 8:return s.trys.push([8,10,,11]),a=Uint8Array.bind,[4,o.arrayBuffer()];case 9:return i=new(a.apply(Uint8Array,[void 0,s.sent()])),[3,11];case 10:throw new er("file","Failed to read PDF file response.",s.sent());case 11:if(e.cancelled)return[2];e.data=i;try{t.GlobalWorkerOptions.workerSrc="".concat(et(),"pdf.worker.min.mjs"),e.worker=t.PDFWorker.create({})}catch(e){throw new er("resources","Failed to load PDF.js worker.",e)}l=t.getDocument(w(b({data:i.slice(0)},en()),{isEvalSupported:!1,enableXfa:!1,useWasm:!1,worker:e.worker})),e.loadingTasks.push(l),s.label=12;case 12:return s.trys.push([12,14,,15]),[4,l.promise];case 13:return c=s.sent(),[3,15];case 14:throw new er("document","Failed to parse PDF file.",s.sent());case 15:if(e.cancelled)return[2];return e.metaPdf=c,[4,c.getPage(1)];case 16:if(u=s.sent().getViewport({scale:1.4}),e.cancelled)return[2];return p({numPages:c.numPages,width:u.width,height:u.height}),[2]}})})().catch(function(t){if(!e.cancelled){var n=eo(t);console.warn("[file-manager] PDF preview failed",{code:n,src:r,error:t}),h(n)}}),function(){var t,n,r,o;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.textLayers.forEach(function(e){return e.cancel()}),e.loadingTasks.forEach(function(e){var t;return null==(t=e.destroy)?void 0:t.call(e)}),null==(n=e.pdfjs)||n.TextLayer.cleanup(),null==(o=e.worker)||null==(r=o.destroy)||r.call(o)}}},[r]),o().useEffect(function(){if(u&&"u">typeof ResizeObserver){var e=function(e,t){t>0&&e.style.setProperty("--pdf-responsive-scale",String(t/u.width))},t=new ResizeObserver(function(t){var n=!0,r=!1,o=void 0;try{for(var i,a=t[Symbol.iterator]();!(n=(i=a.next()).done);n=!0){var l=i.value;e(l.target,l.contentRect.width)}}catch(e){r=!0,o=e}finally{try{n||null==a.return||a.return()}finally{if(r)throw o}}});return i.current.forEach(function(n){e(n,n.getBoundingClientRect().width),t.observe(n)}),function(){t.disconnect()}}},[u]),o().useEffect(function(){var e=a.current;if(u&&(null==e?void 0:e.pdfjs)&&e.metaPdf){var t=e.pdfjs,n=e.metaPdf,o=function(o){return m(function(){var a,l,c,u,s,f,p,d,m,y,h,g,v,x;return E(this,function(O){switch(O.label){case 0:if(e.cancelled||e.rendered.has(o)||e.inFlight.has(o)||!(a=i.current.get(o)))return[2];e.inFlight.add(o),O.label=1;case 1:if(O.trys.push([1,8,9,10]),!(1===o||!e.data))return[3,2];return s=n,[3,4];case 2:return l=t.getDocument(w(b({data:e.data.slice(0)},en()),{isEvalSupported:!1,enableXfa:!1,useWasm:!1,worker:e.worker})),e.loadingTasks.push(l),[4,l.promise];case 3:s=O.sent(),O.label=4;case 4:if(e.cancelled)return[2];return[4,s.getPage(o)];case 5:if(p=(f=O.sent()).getViewport({scale:1.4}),!(d=document.createElement("canvas").getContext("2d")))return[2];return(m=d.canvas).width=p.width,m.height=p.height,m.setAttribute("aria-hidden","true"),(y=document.createElement("div")).className=ei,y.style.aspectRatio="".concat(p.width," / ").concat(p.height),(h=document.createElement("div")).className="textLayer",y.replaceChil