@nocobase/plugin-data-source-manager 2.1.0-beta.47 → 2.1.0-beta.48
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/dist/ai/skills/data-query/SKILLS.md +0 -1
- package/dist/client/271.1374702d84646fff.js +10 -0
- package/dist/client/{369.6025f2112454fab1.js → 369.342f1e0231dbe482.js} +1 -1
- package/dist/client/420.a37695bbfc3bec7a.js +10 -0
- package/dist/client/index.js +1 -1
- package/dist/client-v2/167.52e683be46f9cfc7.js +10 -0
- package/dist/client-v2/index.js +1 -1
- package/dist/client-v2/pages/components/CollectionsPage.d.ts +1 -1
- package/dist/client-v2/pages/components/FieldsPage.d.ts +1 -0
- package/dist/client-v2/plugin.d.ts +4 -0
- package/dist/externalVersion.js +12 -12
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/plugin.js +5 -2
- package/dist/server/resourcers/data-sources-collections-fields.js +10 -0
- package/dist/server/utils.js +5 -2
- package/package.json +2 -2
- package/dist/client/271.b3c0013cf976adf0.js +0 -10
- package/dist/client/420.0c3e3c9888e0ba31.js +0 -10
- package/dist/client-v2/167.72a76c27e80a809f.js +0 -10
package/dist/client-v2/index.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@emotion/css"),require("react-router-dom"),require("@ant-design/icons"),require("@dnd-kit/core"),require("@nocobase/flow-engine"),require("ahooks"),require("@nocobase/client-v2"),require("@dnd-kit/sortable"),require("dayjs"),require("react"),require("antd"),require("@nocobase/utils/client"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-data-source-manager/client-v2",["@emotion/css","react-router-dom","@ant-design/icons","@dnd-kit/core","@nocobase/flow-engine","ahooks","@nocobase/client-v2","@dnd-kit/sortable","dayjs","react","antd","@nocobase/utils/client","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-data-source-manager/client-v2"]=t(require("@emotion/css"),require("react-router-dom"),require("@ant-design/icons"),require("@dnd-kit/core"),require("@nocobase/flow-engine"),require("ahooks"),require("@nocobase/client-v2"),require("@dnd-kit/sortable"),require("dayjs"),require("react"),require("antd"),require("@nocobase/utils/client"),require("lodash")):e["@nocobase/plugin-data-source-manager/client-v2"]=t(e["@emotion/css"],e["react-router-dom"],e["@ant-design/icons"],e["@dnd-kit/core"],e["@nocobase/flow-engine"],e.ahooks,e["@nocobase/client-v2"],e["@dnd-kit/sortable"],e.dayjs,e.react,e.antd,e["@nocobase/utils/client"],e.lodash)}(self,function(e,t,n,r,o,i,a,l,u,c,s,f,d){return function(){"use strict";var p,m,y,b,v,h={832:function(e,t,n){n.d(t,{A:function(){return er},v:function(){return en}});var r=n(485),o=n(155),i=n.n(o),a=n(143),l=n(694),u=n(625),c=n(59),s=n(773),f=n(938);function d(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,a){try{var l=e[i](a),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).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){p(i,r,o,a,l,"next",e)}function l(e){p(i,r,o,a,l,"throw",e)}a(void 0)})}}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,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){y(e,t,n[t])})}return e}function v(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 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)||w(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 g(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||w(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 w(e,t){if(e){if("string"==typeof e)return d(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 d(e,t)}}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:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=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 O=new Set(["hasOne","hasMany","belongsToMany"]),j="__viewUnsupportedFields";function k(e){var t=(0,s.get)(e,"data.data");return Array.isArray(t)?t:Array.isArray((0,s.get)(t,"data"))?(0,s.get)(t,"data"):[]}function P(e){var t=e||{};return t.rawTitle,function(e,t){if(null==e)return{};var n,r,o,i={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}if(i=function(e,t){if(null==e)return{};var n,r,o={},i=Object.getOwnPropertyNames(e);for(r=0;r<i.length;r++)n=i[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}(t,["rawTitle"])}function F(e){return Array.isArray(e)?e.filter(Boolean):"string"==typeof e?e.split(".").filter(Boolean):[]}function A(e){var t=F(e);return t.length?t.join("."):null}function x(e){return(null==e?void 0:e.options)||e||{}}function T(){var e=(0,l.useFlowContext)();return(0,u.useRequest)(function(){return m(function(){return S(this,function(t){switch(t.label){case 0:return[4,e.api.request({url:"dataSources/main/collections:list",params:{paginate:!1,sort:["sort"],filter:{"hidden.$isFalsy":!0},appends:["fields"]}})];case 1:return[2,k(t.sent())]}})})()})}function C(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=t.dataSourceManager.collectionFieldInterfaceManager,d=(0,o.useRef)(),p=h((0,o.useState)(!1),2),g=p[0],w=p[1],O=c.Form.useWatch("databaseView",e.form),F=c.Form.useWatch("schema",e.form),x=c.Form.useWatch("viewName",e.form),T=(0,o.useMemo)(function(){return O||(x?F?"".concat(F,"@").concat(x):x:void 0)},[O,F,x]),C=(0,o.useMemo)(function(){var e;return((null==r||null==(e=r.getFieldInterfaces)?void 0:e.call(r))||[]).reduce(function(e,t){return t.name&&(e[t.name]=t),e},{})},[r]),I=(0,u.useRequest)(function(){return m(function(){return S(this,function(e){switch(e.label){case 0:return[4,t.api.resource("dbViews").list()];case 1:return[2,k(e.sent())]}})})()}),E=(0,o.useMemo)(function(){var e=(I.data||[]).map(function(e){return{value:e.schema?"".concat(e.schema,"@").concat(e.name):e.name,label:e.schema?"".concat(e.schema,".").concat((0,f.hd)(e.name,n)):(0,f.hd)(e.name,n)}});return T&&!e.some(function(e){return e.value===T})&&e.unshift({value:T,label:F?"".concat(F,".").concat((0,f.hd)(x||T,n)):(0,f.hd)(x||T,n)}),e},[T,n,I.data,F,x]),M=(0,o.useCallback)(function(n,r){return m(function(){var o,i,a,l;return S(this,function(u){switch(u.label){case 0:w(!0),u.label=1;case 1:return u.trys.push([1,,3,4]),[4,t.api.resource("dbViews").get({filterByTk:n,schema:r||void 0})];case 2:var c,f,d,p,m;return c=u.sent(),o={fields:(f=(0,s.get)(c,"data.data")||(0,s.get)(c,"data")||c||{}).fields,sources:f.sources,unsupportedFields:f.unsupportedFields},m=new Map(((p={currentFields:Array.isArray(i=e.form.getFieldValue("fields")||[])?i:[],fieldInterfacesByName:C,inferredFields:(d=o.fields)?(Array.isArray(d)?d:Object.values(d)).filter(Boolean):[]}).currentFields||[]).map(function(e){return[e.name,e]})),a=p.inferredFields.map(function(e){var t,n,r,o=m.get(e.name)||e,i=p.fieldInterfacesByName[o.interface||e.interface||""],a=(null==i||null==(t=i.default)?void 0:t.uiSchema)||{},l=(null==(n=o.uiSchema)?void 0:n.title)||o.title||(null==(r=e.uiSchema)?void 0:r.title)||e.name,u=v(b({},P(a),P(o.uiSchema||e.uiSchema)),{title:l});return e.source?v(b({},e),{interface:e.interface||o.interface,type:e.type||o.type,uiSchema:u}):v(b({},e,o),{uiSchema:u})}),l=Array.isArray(o.sources)?o.sources:[],e.form.setFieldsValue(y({fields:a.map(function(e){return v(b({},e),{source:A(e.source)})}),sources:l},j,Array.isArray(o.unsupportedFields)?o.unsupportedFields:[])),[3,4];case 3:return w(!1),[7];case 4:return[2]}})})()},[t.api,C,e.form]),_=(0,o.useCallback)(function(t){var n=function(e){if(!e)return{schema:null,viewName:null};var t=h(e.includes("@")?e.split("@"):[null,e],2);return{schema:t[0]||null,viewName:t[1]||e}}(t),r=n.schema,o=n.viewName;if(e.form.setFieldsValue(y({databaseView:t,schema:r,viewName:o,fields:[],sources:[]},j,[])),o){var i=e.form.getFieldValue("name");(!e.form.isFieldTouched("name")||i===d.current||/^t_[A-Za-z0-9]+$/.test(i))&&(d.current=o,e.form.setFieldValue("name",o)),M(o,r)}},[M,e.form]);return(0,o.useEffect)(function(){!O&&T&&e.form.setFieldValue("databaseView",T)},[T,e.form,O]),i().createElement(c.Spin,{spinning:g},i().createElement(c.Form.Item,{name:"databaseView",label:n("Connect to database view"),rules:[{required:!0,message:n("Please select a database view")}]},i().createElement(c.Select,{allowClear:!0,loading:I.loading,options:E,showSearch:!0,optionFilterProp:"label",disabled:"edit"===e.mode,onChange:_})),i().createElement(c.Form.Item,{name:"schema",hidden:!0},i().createElement(c.Input,null)),i().createElement(c.Form.Item,{name:"viewName",hidden:!0,rules:[{required:!0}]},i().createElement(c.Input,null)))}function I(e){var t=(0,a.kj)(),n=T(),r=c.Form.useWatch("sources",e.form),l=(0,o.useMemo)(function(){return Array.isArray(r)?r:[]},[r]),u=(0,o.useMemo)(function(){var e,r=(e=n.data||[],e.filter(function(e){return e.name}).map(function(e){return{value:e.name,label:(0,f.hd)(e.title||e.name,t)}})),o=l.filter(function(e){return!r.some(function(t){return t.value===e})}).map(function(e){return{value:e,label:e}});return g(r).concat(g(o))},[n.data,l,t]);return i().createElement(c.Form.Item,{name:"sources",label:t("Source collections")},i().createElement(c.Select,{mode:"multiple",options:u,loading:n.loading,disabled:!0,allowClear:!0}))}function E(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=T(),u=t.dataSourceManager.collectionFieldInterfaceManager,s=t.dataSourceManager.getDataSource("main"),d=c.Form.useWatch("fields",e.form),p=c.Form.useWatch("sources",e.form),m=c.Form.useWatch(j,{form:e.form,preserve:!0}),y=(0,o.useMemo)(function(){return Array.isArray(d)?d:[]},[d]),w=(0,o.useMemo)(function(){return Array.isArray(p)?p:[]},[p]),S=(0,o.useMemo)(function(){var e,t,n,r,o;return n=(null==u||null==(e=u.getFieldInterfaceGroups)?void 0:e.call(u))||{},r=(null==u||null==(t=u.getFieldInterfaces)?void 0:t.call(u))||[],o=new Map,r.filter(function(e){return e.name&&!["relation","systemInfo"].includes(String(e.group))}).forEach(function(e){var t=String(e.group||"other"),n=o.get(t)||[];n.push({value:String(e.name),label:e.title||String(e.name),availableTypes:e.availableTypes}),o.set(t,n)}),Array.from(o.entries()).sort(function(e,t){var r,o,i,a,l=h(e,1)[0],u=h(t,1)[0];return(null!=(r=null==(i=n[l])?void 0:i.order)?r:0)-(null!=(o=null==(a=n[u])?void 0:a.order)?o:0)}).map(function(e){var t,r=h(e,2),o=r[0],i=r[1];return{label:(null==(t=n[o])?void 0:t.label)||o,options:i}})},[u]),k=(0,o.useMemo)(function(){return w.map(function(e){return(r.data||[]).find(function(t){return t.name===e})}).filter(Boolean).map(function(e){var t,r=null==s||null==(t=s.getCollection)?void 0:t.call(s,e.name),o="function"==typeof(null==r?void 0:r.getFields)?r.getFields():e.fields||[];return{value:e.name,label:(0,f.hd)(e.title||(null==r?void 0:r.title)||e.name,n),children:o.map(x).filter(function(e){return e.name&&!O.has(String(e.type))}).map(function(e){var t,r;return{value:e.name,label:(0,f.hd)((null==(t=(r=x(e)).uiSchema)?void 0:t.title)||r.title||r.name,n)}})}})},[r.data,s,w,n]),C=(0,o.useCallback)(function(t,n){var r=g(y);r.splice(t,1,v(b({},n),{source:A(n.source)})),e.form.setFieldValue("fields",r)},[y,e.form]),I=[{title:n("Field name"),dataIndex:"name",width:130},{title:n("Field source"),dataIndex:"source",width:220,render:function(e,t,o){return i().createElement(c.Cascader,{allowClear:!0,options:k,placeholder:n("Select field source"),value:F(e),onChange:function(e){var n,i,a,l=(e||[]).map(String),u=(r.data||[]).find(function(e){return e.name===l[0]}),c=l[0]?null==s||null==(n=s.getCollection)?void 0:n.call(s,l[0]):void 0,f=("function"==typeof(null==c?void 0:c.getFields)?c.getFields().map(x):(null==u?void 0:u.fields)||[]).find(function(e){return e.name===l[1]});C(o,v(b({},t),{source:l,interface:(null==f?void 0:f.interface)||t.interface,type:(null==f?void 0:f.type)||t.type,uiSchema:v(b({},t.uiSchema,null==f?void 0:f.uiSchema),{title:(null==f||null==(i=f.uiSchema)?void 0:i.title)||(null==(a=t.uiSchema)?void 0:a.title)||t.name})}))}})}},{title:n("Field type"),dataIndex:"type",width:140,render:function(e,t,n){var r;return!t.source&&(null==(r=t.possibleTypes)?void 0:r.length)?i().createElement(c.Select,{value:e,style:{width:"100%"},popupMatchSelectWidth:!1,options:t.possibleTypes.map(function(e){return{label:e,value:e}}),onChange:function(e){return C(n,v(b({},t),{type:e}))}}):i().createElement(c.Tag,null,e)}},{title:n("Field interface"),dataIndex:"interface",width:180,render:function(e,t,r){if(t.source){var o,a=null==u||null==(o=u.getFieldInterface)?void 0:o.call(u,e);return i().createElement(c.Tag,null,(0,f.hd)((null==a?void 0:a.title)||e,n))}return i().createElement(c.Select,{allowClear:!0,popupMatchSelectWidth:!1,style:{width:"100%"},options:S.map(function(e){return{label:(0,f.hd)(e.label,n),options:e.options.filter(function(e){var n;return!t.type||(null==(n=e.availableTypes)?void 0:n.includes(t.type))}).map(function(e){return{value:e.value,label:(0,f.hd)(e.label,n)}})}}),value:e||void 0,onChange:function(e){var n,o,i,a,l,c,s=null==u||null==(n=u.getFieldInterface)?void 0:n.call(u,e);C(r,v(b({},t),{interface:e||null,type:(null==s||null==(o=s.default)?void 0:o.type)||t.type,uiSchema:v(b({},null==s||null==(i=s.default)?void 0:i.uiSchema),{title:(null==s||null==(l=s.default)||null==(a=l.uiSchema)?void 0:a.title)||(null==(c=t.uiSchema)?void 0:c.title)||t.name})}))}})}},{title:n("Field display name"),dataIndex:["uiSchema","title"],width:180,render:function(e,t,n){var r;return i().createElement(c.Input,{value:(null==(r=t.uiSchema)?void 0:r.title)||t.name,onChange:function(e){C(n,v(b({},t),{uiSchema:v(b({},P(t.uiSchema)),{title:e.target.value})}))}})}}];return r.loading?i().createElement(c.Spin,null):i().createElement(i().Fragment,null,i().createElement(c.Form.Item,{name:"fields",hidden:!0,rules:[{required:!0}]},i().createElement(c.Input,null)),y.length?i().createElement(c.Form.Item,{label:n("Fields"),required:!0,extra:n("Fields can only be used correctly if they are defined with an interface.")},i().createElement(c.Table,{bordered:!0,columns:I,dataSource:y,pagination:!1,rowKey:"name",scroll:{y:300}})):i().createElement(c.Form.Item,{label:n("Fields"),required:!0},i().createElement(c.Alert,{showIcon:!0,message:n("Please select a database view")})),(null==m?void 0:m.length)?i().createElement(c.Alert,{showIcon:!0,type:"warning",message:n("Unsupported fields"),description:m.map(function(e){return e.name}).join(", "),style:{marginBottom:24}}):null)}function M(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=c.Form.useWatch("viewName",e.form),u=c.Form.useWatch("schema",e.form),s=c.Form.useWatch("fields",e.form),d=(0,o.useMemo)(function(){return Array.isArray(s)?s:[]},[s]),p=h((0,o.useState)(!1),2),y=p[0],b=p[1],v=h((0,o.useState)([]),2),g=v[0],w=v[1],O=(0,o.useMemo)(function(){var e=["lineString","point","circle","polygon"];return JSON.stringify(d.reduce(function(t,n){return n.type&&e.includes(n.type)&&(t[n.name]=n.type),t},{}))},[d]),j=(0,o.useMemo)(function(){return d.filter(function(e){return e.source||e.interface}).map(function(e){var t;return{title:(0,f.hd)((null==(t=e.uiSchema)?void 0:t.title)||e.name,n),dataIndex:e.name,key:e.name,width:200,ellipsis:!0,render:function(e){return null==e?null:(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"?JSON.stringify(e):String(e)}}})},[d,n]);return(0,o.useEffect)(function(){if(!r||!d.length)return void w([]);var e=!1;return m(function(){var n;return S(this,function(o){switch(o.label){case 0:b(!0),o.label=1;case 1:return o.trys.push([1,,3,4]),[4,t.api.resource("dbViews").query({filterByTk:r,schema:u||void 0,fieldTypes:JSON.parse(O)})];case 2:return n=o.sent(),e||w(k(n)),[3,4];case 3:return e||b(!1),[7];case 4:return[2]}})})(),function(){e=!0}},[t.api,O,d.length,u,r]),i().createElement(c.Form.Item,{label:n("Preview")},i().createElement(c.Spin,{spinning:y},i().createElement(c.Table,{bordered:!0,columns:j,dataSource:g,pagination:!1,rowKey:function(e,t){return String(null!=t?t:0)},scroll:{x:1e3,y:300}})))}function _(e){var t=b({},e);return delete t[j],Array.isArray(t.fields)&&(t.fields=t.fields.map(function(e){return v(b({},e),{source:A(e.source)})})),t}var q=function(){var e;function t(){var e,n;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");e="permissionTabs",n=new Map,e in this?Object.defineProperty(this,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):this[e]=n}return e=[{key:"add",value:function(e){var t="function"==typeof e?"callback:".concat(this.permissionTabs.size):e.key;this.permissionTabs.set(t,e)}},{key:"getPermissionTabs",value:function(e){return Array.from(this.permissionTabs.values()).map(function(t){return"function"==typeof t?t(e):t}).filter(function(e){return!!e}).sort(function(e,t){var n,r;return(null!=(n=e.sort)?n:100)-(null!=(r=t.sort)?r:100)})}}],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}(),D=n(448);function N(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),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function R(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 V(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function $(e,t,n){return($=Q()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&G(o,n.prototype),o}).apply(null,arguments)}function L(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)}}function U(e,t,n){return t&&L(e.prototype,t),n&&L(e,n),e}function W(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function K(e){return(K=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){W(e,t,n[t])})}return e}function z(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 G(e,t){return(G=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Z(e){return function(e){if(Array.isArray(e))return N(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return N(e,void 0);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 N(e,void 0)}}(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 H(e){var t="function"==typeof Map?new Map:void 0;return(H=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 $(e,arguments,K(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),G(n,e)})(e)}function Q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Q=function(){return!!e})()}function X(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:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=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 Y=function(){function e(){V(this,e),W(this,"templates",new Map)}return U(e,[{key:"register",value:function(e,t){var n="string"==typeof e?z(J({},t),{name:(null==t?void 0:t.name)||e}):e;(null==n?void 0:n.name)&&this.templates.set(n.name,z(J({},n),{name:n.name}))}},{key:"get",value:function(e){return e?this.templates.get(e):void 0}},{key:"getAll",value:function(){return Z(this.templates.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}}]),e}(),ee=function(){function e(){V(this,e),W(this,"fields",new Map)}return U(e,[{key:"register",value:function(e){var t,n=e.name||(null==(t=e.value)?void 0:t.name);n&&this.fields.set(n,z(J({},e),{name:n}))}},{key:"remove",value:function(e){this.fields.delete(e)}},{key:"getAll",value:function(){return Z(this.fields.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}}]),e}(),et=function(){function e(){V(this,e),W(this,"managerActions",[])}return U(e,[{key:"registerManagerAction",value:function(e){var t=e.order,n=e.component;this.managerActions.push({order:null!=t?t:0,component:n})}},{key:"getManagerActions",value:function(){return Z(this.managerActions).sort(function(e,t){return e.order-t.order})}}]),e}(),en=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function t(){var e,n,r;return V(this,t),n=t,r=arguments,n=K(n),W(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,Q()?Reflect.construct(n,r||[],K(this).constructor):n.apply(this,r)),"types",new Map),W(e,"extensionManager",new et),W(e,"collectionTemplateRegistry",new Y),W(e,"collectionPresetFieldRegistry",new ee),W(e,"permissionTabRegistry",new q),e}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&G(t,e),U(t,[{key:"load",value:function(){return R(function(){var e,t;return X(this,function(r){return e=this,this.registerBuiltInCollectionPresetFields(),this.registerBuiltInCollectionTemplates(),null==(t=this.app.pm.get("@nocobase/plugin-acl"))||t.settingsUI.addPermissionsTab({key:"dataSource",label:String(this.t("Data sources")),sort:15,componentLoader:function(){return n.e("907").then(n.bind(n,390))}}),this.dataSourceManager.registerLoader("*",function(){return R(function(){var e,t,n;return X(this,function(r){switch(r.label){case 0:return[4,this.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1,appends:["collections"]}})];case 1:return n=(null==(t=r.sent())||null==(e=t.data)?void 0:e.data)||[],(0,D.b)(this.dataSourceManager,n),[2,{dataSources:n}]}})}).call(e)}),this.pluginSettingsManager.addMenuItem({key:a.Ji,title:this.t("Data sources"),icon:"ClusterOutlined",isPinned:!0,sort:100,showTabs:!1,aclSnippet:"pm.data-source-manager*"}),this.pluginSettingsManager.addPageTabItem({menuKey:a.Ji,key:"list",title:this.t("Data sources"),componentLoader:function(){return n.e("426").then(n.bind(n,649))},sort:1,aclSnippet:"pm.data-source-manager"}),this.pluginSettingsManager.addPageTabItem({menuKey:a.Ji,key:":name/collections",title:this.t("Collections"),componentLoader:function(){return n.e("167").then(n.bind(n,442))},hidden:!0,sort:2,aclSnippet:"pm.data-source-manager"}),[2]})}).call(this)}},{key:"registerType",value:function(e,t){this.types.set(e,z(J({},t),{name:t.name||e}))}},{key:"getType",value:function(e){return e?this.types.get(e):void 0}},{key:"registerFieldInterfaceConfigure",value:function(e){var t,n;null==(n=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=n.registerFieldInterfaceConfigure)||t.call(n,e)}},{key:"registerCollectionTemplate",value:function(e,t){this.collectionTemplateRegistry.register(e,t)}},{key:"registerCollectionPresetField",value:function(e){this.collectionPresetFieldRegistry.register(e)}},{key:"registerPermissionTab",value:function(e){this.permissionTabRegistry.add(e)}},{key:"getPermissionTabs",value:function(e){return this.permissionTabRegistry.getPermissionTabs(e)}},{key:"addCollectionPresetField",value:function(e){this.registerCollectionPresetField(e)}},{key:"removeCollectionPresetField",value:function(e){this.collectionPresetFieldRegistry.remove(e)}},{key:"getCollectionPresetFields",value:function(){return this.collectionPresetFieldRegistry.getAll()}},{key:"getCollectionTemplate",value:function(e){return this.collectionTemplateRegistry.get(e)}},{key:"getCollectionTemplates",value:function(){return this.collectionTemplateRegistry.getAll()}},{key:"registerBuiltInCollectionPresetFields",value:function(){this.registerCollectionPresetField({order:100,description:'{{t("Primary key, distributed uniqueness, time-ordering") }}',value:{name:"id",type:"snowflakeId",autoIncrement:!1,primaryKey:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-component-props":{stringMode:!0,separator:"0.00",step:"1"},"x-validator":"integer"},interface:"snowflakeId"}}),this.registerCollectionPresetField({order:200,description:'{{t("Store the creation time of each record")}}',value:{name:"createdAt",interface:"createdAt",type:"date",field:"createdAt",uiSchema:{type:"datetime",title:'{{t("Created at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:300,description:'{{t("Store the creation user of each record") }}',value:{name:"createdBy",interface:"createdBy",type:"belongsTo",target:"users",foreignKey:"createdById",uiSchema:{type:"object",title:'{{t("Created by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:400,description:'{{t("Store the last update time of each record")}}',value:{type:"date",field:"updatedAt",name:"updatedAt",interface:"updatedAt",uiSchema:{type:"datetime",title:'{{t("Last updated at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:500,description:'{{t("Store the last update user of each record")}}',value:{type:"belongsTo",target:"users",foreignKey:"updatedById",name:"updatedBy",interface:"updatedBy",uiSchema:{type:"object",title:'{{t("Last updated by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}})}},{key:"registerBuiltInCollectionTemplates",value:function(){this.registerCollectionTemplate({name:"general",title:'{{t("General collection")}}',order:10,color:"blue",collection:{options:{template:"general"},fields:[]}}),this.registerCollectionTemplate({name:"view",title:'{{t("Connect to database view")}}',order:50,color:"yellow",divider:!0,collection:{options:{template:"view",view:!0},fields:[]},capabilities:{recordUniqueKey:!0,simplePaginate:!0},presetFields:{disabled:!0},fieldInterfaces:{create:{include:["m2o"]}},configure:{items:[{name:"databaseView",Component:C,required:!0},{name:"sources",Component:I},{name:"fields",Component:E,required:!0,hidden:function(e){return"edit"===e.mode}},{name:"preview",Component:M,hidden:function(e){return"edit"===e.mode}},{name:"writableView",label:'{{t("Allow add new, update and delete actions")}}',component:"Checkbox"}],transformSubmitValues:_}})}}]),t}(H(r.Plugin)),er=en},143:function(e,t,n){n.d(t,{Ji:function(){return i},CU:function(){return o},kj:function(){return a}});var r=n(694),o=JSON.parse('{"UU":"@nocobase/plugin-data-source-manager"}').UU,i="data-source-manager";function a(){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,"client"]},n))}}},448:function(e,t,n){n.d(t,{b:function(){return o},h:function(){return i}});var r=n(694);function o(e,t){e&&t.forEach(function(t){var n,o,i,a,l=(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),o=o={key:t.key,use:"main"===t.key?void 0:r.DataSource},Object.getOwnPropertyDescriptors?Object.defineProperties(n,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(n,e,Object.getOwnPropertyDescriptor(o,e))}),n);e.getDataSource(t.key)?null==(i=e.getDataSource(t.key))||i.patchOptions(l):e.addDataSource(l),Array.isArray(t.collections)&&(null==(a=e.getDataSource(t.key))||a.setCollections(t.collections,{clearFields:!0}))})}function i(e,t){e&&t.forEach(function(t){"main"!==String(t)&&e.removeDataSource(String(t))})}},938:function(e,t,n){n.d(t,{Ad:function(){return c},hd:function(){return l},sZ:function(){return u},zN:function(){return i}});var r=/^\s*\{\{\s*t\s*\(\s*(['"])(.*?)\1(?:\s*,\s*([\s\S]*?))?\)\s*\}\}\s*$/,o=/\{\{\s*t\s*\(\s*(['"])(.*?)\1(?:\s*,\s*([\s\S]*?))?\)\s*\}\}/g;function i(e){var t;return"string"==typeof e?null==(t=e.match(r))?void 0:t[2]:void 0}function a(e){var t=null==e?void 0:e.trim();if(t){try{var n=JSON.parse(t);return n&&(void 0===n?"undefined":n&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)=="object"&&!Array.isArray(n)?n:void 0}catch(e){}var r={},o=t.match(/(?:^|[{,\s])ns\s*:\s*(\[[\s\S]*?\])/);if(null==o?void 0:o[1]){var i,a,l=(i=o[1],a=[],i.replace(/(['"])(.*?)\1/g,function(e,t,n){return a.push(n),""}),a.length?a:void 0);l&&(r.ns=l)}else{var u=t.match(/(?:^|[{,\s])ns\s*:\s*(['"])(.*?)\1/);(null==u?void 0:u[2])&&(r.ns=u[2])}var c=t.match(/(?:^|[{,\s])nsMode\s*:\s*(['"])(.*?)\1/);return(null==c?void 0:c[2])&&(r.nsMode=c[2]),Object.keys(r).length?r:void 0}}function l(e,t){if("string"!=typeof e)return e;var n=e.match(r);return(null==n?void 0:n[2])?t(n[2],a(n[3])):e.replace(o,function(e,n,r,o){return t(r,a(o))})}function u(e,t){var n=i(t);return"string"==typeof e&&n===e?t:e}function c(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=l(e,t);return null==r||""===r?n:"string"==typeof r||"number"==typeof r||"boolean"==typeof r?String(r):n}},375:function(e){e.exports=n},799:function(e){e.exports=r},428:function(e){e.exports=l},477:function(t){t.exports=e},485:function(e){e.exports=a},694:function(e){e.exports=o},768:function(e){e.exports=f},625:function(e){e.exports=i},59:function(e){e.exports=s},185:function(e){e.exports=u},773:function(e){e.exports=d},155:function(e){e.exports=c},61:function(e){e.exports=t}},g={};function w(e){var t=g[e];if(void 0!==t)return t.exports;var n=g[e]={exports:{}};return h[e](n,n.exports,w),n.exports}w.m=h,w.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return w.d(t,{a:t}),t},w.d=function(e,t){for(var n in t)w.o(t,n)&&!w.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},w.f={},w.e=function(e){return Promise.all(Object.keys(w.f).reduce(function(t,n){return w.f[n](e,t),t},[]))},w.u=function(e){return""+e+"."+({167:"72a76c27e80a809f",426:"53e3eaee8d9dbca0",907:"a0ab273516f45ac3"})[e]+".js"},w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),w.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},S={},w.l=function(e,t,n,r){if(S[e])return void S[e].push(t);if(void 0!==n)for(var o,i,a=document.getElementsByTagName("script"),l=0;l<a.length;l++){var u=a[l];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-data-source-manager/client-v2:"+n){o=u;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,w.nc&&o.setAttribute("nonce",w.nc),o.setAttribute("data-rspack","@nocobase/plugin-data-source-manager/client-v2:"+n),o.src=e),S[e]=[t];var c=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=S[e];if(delete S[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)},w.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},w.g.importScripts&&(O=w.g.location+"");var S,O,j=w.g.document;if(!O&&j&&(j.currentScript&&"SCRIPT"===j.currentScript.tagName.toUpperCase()&&(O=j.currentScript.src),!O)){var k=j.getElementsByTagName("script");if(k.length)for(var P=k.length-1;P>-1&&(!O||!/^http(s?):/.test(O));)O=k[P--].src}if(!O)throw Error("Automatic publicPath is not supported in this browser");w.p=O.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),p={889:0},w.f.j=function(e,t){var n=w.o(p,e)?p[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=p[e]=[t,r]});t.push(n[2]=r);var o=w.p+w.u(e),i=Error();w.l(o,function(t){if(w.o(p,e)&&(0!==(n=p[e])&&(p[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)}},m=function(e,t){var n,r,o=t[0],i=t[1],a=t[2],l=0;if(o.some(function(e){return 0!==p[e]})){for(n in i)w.o(i,n)&&(w.m[n]=i[n]);a&&a(w)}for(e&&e(t);l<o.length;l++)r=o[l],w.o(p,r)&&p[r]&&p[r][0](),p[r]=0},(y=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).forEach(m.bind(null,0)),y.push=m.bind(null,y.push.bind(y));var F={};return!function(){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-data-source-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||"/",a=i.indexOf(o);e=a>=0?i.slice(0,a+1):"/"}e&&(e=e.replace(RegExp("/"+r+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-data-source-manager/dist/client-v2/"}w.p=e}(),w.r(F),w.d(F,{PluginDataSourceManagerClientV2:function(){return b.v},compileLegacyTemplate:function(){return v.hd},compileLegacyTemplateText:function(){return v.Ad},default:function(){return b.A},getLegacyTemplateKey:function(){return v.zN},preferLegacyTemplateTitle:function(){return v.sZ}}),b=w(832),v=w(938),F}()});
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@emotion/css"),require("react-router-dom"),require("@ant-design/icons"),require("@dnd-kit/core"),require("@nocobase/flow-engine"),require("ahooks"),require("@nocobase/client-v2"),require("@dnd-kit/sortable"),require("dayjs"),require("react"),require("antd"),require("@nocobase/utils/client"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-data-source-manager/client-v2",["@emotion/css","react-router-dom","@ant-design/icons","@dnd-kit/core","@nocobase/flow-engine","ahooks","@nocobase/client-v2","@dnd-kit/sortable","dayjs","react","antd","@nocobase/utils/client","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-data-source-manager/client-v2"]=t(require("@emotion/css"),require("react-router-dom"),require("@ant-design/icons"),require("@dnd-kit/core"),require("@nocobase/flow-engine"),require("ahooks"),require("@nocobase/client-v2"),require("@dnd-kit/sortable"),require("dayjs"),require("react"),require("antd"),require("@nocobase/utils/client"),require("lodash")):e["@nocobase/plugin-data-source-manager/client-v2"]=t(e["@emotion/css"],e["react-router-dom"],e["@ant-design/icons"],e["@dnd-kit/core"],e["@nocobase/flow-engine"],e.ahooks,e["@nocobase/client-v2"],e["@dnd-kit/sortable"],e.dayjs,e.react,e.antd,e["@nocobase/utils/client"],e.lodash)}(self,function(e,t,n,r,o,i,a,l,u,c,s,f,d){return function(){"use strict";var p,m,y,b,v,h={832:function(e,t,n){n.d(t,{A:function(){return er},v:function(){return en}});var r=n(485),o=n(155),i=n.n(o),a=n(143),l=n(694),u=n(625),c=n(59),s=n(773),f=n(938);function d(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,a){try{var l=e[i](a),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).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){p(i,r,o,a,l,"next",e)}function l(e){p(i,r,o,a,l,"throw",e)}a(void 0)})}}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,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){y(e,t,n[t])})}return e}function v(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 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)||w(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 g(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||w(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 w(e,t){if(e){if("string"==typeof e)return d(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 d(e,t)}}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:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=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 O=new Set(["hasOne","hasMany","belongsToMany"]),j="__viewUnsupportedFields";function k(e){var t=(0,s.get)(e,"data.data");return Array.isArray(t)?t:Array.isArray((0,s.get)(t,"data"))?(0,s.get)(t,"data"):[]}function P(e){var t=e||{};return t.rawTitle,function(e,t){if(null==e)return{};var n,r,o,i={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}if(i=function(e,t){if(null==e)return{};var n,r,o={},i=Object.getOwnPropertyNames(e);for(r=0;r<i.length;r++)n=i[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}(t,["rawTitle"])}function F(e){return Array.isArray(e)?e.filter(Boolean):"string"==typeof e?e.split(".").filter(Boolean):[]}function A(e){var t=F(e);return t.length?t.join("."):null}function x(e){return(null==e?void 0:e.options)||e||{}}function T(){var e=(0,l.useFlowContext)();return(0,u.useRequest)(function(){return m(function(){return S(this,function(t){switch(t.label){case 0:return[4,e.api.request({url:"dataSources/main/collections:list",params:{paginate:!1,sort:["sort"],filter:{"hidden.$isFalsy":!0},appends:["fields"]}})];case 1:return[2,k(t.sent())]}})})()})}function C(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=t.dataSourceManager.collectionFieldInterfaceManager,d=(0,o.useRef)(),p=h((0,o.useState)(!1),2),g=p[0],w=p[1],O=c.Form.useWatch("databaseView",e.form),F=c.Form.useWatch("schema",e.form),x=c.Form.useWatch("viewName",e.form),T=(0,o.useMemo)(function(){return O||(x?F?"".concat(F,"@").concat(x):x:void 0)},[O,F,x]),C=(0,o.useMemo)(function(){var e;return((null==r||null==(e=r.getFieldInterfaces)?void 0:e.call(r))||[]).reduce(function(e,t){return t.name&&(e[t.name]=t),e},{})},[r]),I=(0,u.useRequest)(function(){return m(function(){return S(this,function(e){switch(e.label){case 0:return[4,t.api.resource("dbViews").list()];case 1:return[2,k(e.sent())]}})})()}),E=(0,o.useMemo)(function(){var e=(I.data||[]).map(function(e){return{value:e.schema?"".concat(e.schema,"@").concat(e.name):e.name,label:e.schema?"".concat(e.schema,".").concat((0,f.hd)(e.name,n)):(0,f.hd)(e.name,n)}});return T&&!e.some(function(e){return e.value===T})&&e.unshift({value:T,label:F?"".concat(F,".").concat((0,f.hd)(x||T,n)):(0,f.hd)(x||T,n)}),e},[T,n,I.data,F,x]),M=(0,o.useCallback)(function(n,r){return m(function(){var o,i,a,l;return S(this,function(u){switch(u.label){case 0:w(!0),u.label=1;case 1:return u.trys.push([1,,3,4]),[4,t.api.resource("dbViews").get({filterByTk:n,schema:r||void 0})];case 2:var c,f,d,p,m;return c=u.sent(),o={fields:(f=(0,s.get)(c,"data.data")||(0,s.get)(c,"data")||c||{}).fields,sources:f.sources,unsupportedFields:f.unsupportedFields},m=new Map(((p={currentFields:Array.isArray(i=e.form.getFieldValue("fields")||[])?i:[],fieldInterfacesByName:C,inferredFields:(d=o.fields)?(Array.isArray(d)?d:Object.values(d)).filter(Boolean):[]}).currentFields||[]).map(function(e){return[e.name,e]})),a=p.inferredFields.map(function(e){var t,n,r,o=m.get(e.name)||e,i=p.fieldInterfacesByName[o.interface||e.interface||""],a=(null==i||null==(t=i.default)?void 0:t.uiSchema)||{},l=(null==(n=o.uiSchema)?void 0:n.title)||o.title||(null==(r=e.uiSchema)?void 0:r.title)||e.name,u=v(b({},P(a),P(o.uiSchema||e.uiSchema)),{title:l});return e.source?v(b({},e),{interface:e.interface||o.interface,type:e.type||o.type,uiSchema:u}):v(b({},e,o),{uiSchema:u})}),l=Array.isArray(o.sources)?o.sources:[],e.form.setFieldsValue(y({fields:a.map(function(e){return v(b({},e),{source:A(e.source)})}),sources:l},j,Array.isArray(o.unsupportedFields)?o.unsupportedFields:[])),[3,4];case 3:return w(!1),[7];case 4:return[2]}})})()},[t.api,C,e.form]),_=(0,o.useCallback)(function(t){var n=function(e){if(!e)return{schema:null,viewName:null};var t=h(e.includes("@")?e.split("@"):[null,e],2);return{schema:t[0]||null,viewName:t[1]||e}}(t),r=n.schema,o=n.viewName;if(e.form.setFieldsValue(y({databaseView:t,schema:r,viewName:o,fields:[],sources:[]},j,[])),o){var i=e.form.getFieldValue("name");(!e.form.isFieldTouched("name")||i===d.current||/^t_[A-Za-z0-9]+$/.test(i))&&(d.current=o,e.form.setFieldValue("name",o)),M(o,r)}},[M,e.form]);return(0,o.useEffect)(function(){!O&&T&&e.form.setFieldValue("databaseView",T)},[T,e.form,O]),i().createElement(c.Spin,{spinning:g},i().createElement(c.Form.Item,{name:"databaseView",label:n("Connect to database view"),rules:[{required:!0,message:n("Please select a database view")}]},i().createElement(c.Select,{allowClear:!0,loading:I.loading,options:E,showSearch:!0,optionFilterProp:"label",disabled:"edit"===e.mode,onChange:_})),i().createElement(c.Form.Item,{name:"schema",hidden:!0},i().createElement(c.Input,null)),i().createElement(c.Form.Item,{name:"viewName",hidden:!0,rules:[{required:!0}]},i().createElement(c.Input,null)))}function I(e){var t=(0,a.kj)(),n=T(),r=c.Form.useWatch("sources",e.form),l=(0,o.useMemo)(function(){return Array.isArray(r)?r:[]},[r]),u=(0,o.useMemo)(function(){var e,r=(e=n.data||[],e.filter(function(e){return e.name}).map(function(e){return{value:e.name,label:(0,f.hd)(e.title||e.name,t)}})),o=l.filter(function(e){return!r.some(function(t){return t.value===e})}).map(function(e){return{value:e,label:e}});return g(r).concat(g(o))},[n.data,l,t]);return i().createElement(c.Form.Item,{name:"sources",label:t("Source collections")},i().createElement(c.Select,{mode:"multiple",options:u,loading:n.loading,disabled:!0,allowClear:!0}))}function E(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=T(),u=t.dataSourceManager.collectionFieldInterfaceManager,s=t.dataSourceManager.getDataSource("main"),d=c.Form.useWatch("fields",e.form),p=c.Form.useWatch("sources",e.form),m=c.Form.useWatch(j,{form:e.form,preserve:!0}),y=(0,o.useMemo)(function(){return Array.isArray(d)?d:[]},[d]),w=(0,o.useMemo)(function(){return Array.isArray(p)?p:[]},[p]),S=(0,o.useMemo)(function(){var e,t,n,r,o;return n=(null==u||null==(e=u.getFieldInterfaceGroups)?void 0:e.call(u))||{},r=(null==u||null==(t=u.getFieldInterfaces)?void 0:t.call(u))||[],o=new Map,r.filter(function(e){return e.name&&!["relation","systemInfo"].includes(String(e.group))}).forEach(function(e){var t=String(e.group||"other"),n=o.get(t)||[];n.push({value:String(e.name),label:e.title||String(e.name),availableTypes:e.availableTypes}),o.set(t,n)}),Array.from(o.entries()).sort(function(e,t){var r,o,i,a,l=h(e,1)[0],u=h(t,1)[0];return(null!=(r=null==(i=n[l])?void 0:i.order)?r:0)-(null!=(o=null==(a=n[u])?void 0:a.order)?o:0)}).map(function(e){var t,r=h(e,2),o=r[0],i=r[1];return{label:(null==(t=n[o])?void 0:t.label)||o,options:i}})},[u]),k=(0,o.useMemo)(function(){return w.map(function(e){return(r.data||[]).find(function(t){return t.name===e})}).filter(Boolean).map(function(e){var t,r=null==s||null==(t=s.getCollection)?void 0:t.call(s,e.name),o="function"==typeof(null==r?void 0:r.getFields)?r.getFields():e.fields||[];return{value:e.name,label:(0,f.hd)(e.title||(null==r?void 0:r.title)||e.name,n),children:o.map(x).filter(function(e){return e.name&&!O.has(String(e.type))}).map(function(e){var t,r;return{value:e.name,label:(0,f.hd)((null==(t=(r=x(e)).uiSchema)?void 0:t.title)||r.title||r.name,n)}})}})},[r.data,s,w,n]),C=(0,o.useCallback)(function(t,n){var r=g(y);r.splice(t,1,v(b({},n),{source:A(n.source)})),e.form.setFieldValue("fields",r)},[y,e.form]),I=[{title:n("Field name"),dataIndex:"name",width:130},{title:n("Field source"),dataIndex:"source",width:220,render:function(e,t,o){return i().createElement(c.Cascader,{allowClear:!0,options:k,placeholder:n("Select field source"),value:F(e),onChange:function(e){var n,i,a,l=(e||[]).map(String),u=(r.data||[]).find(function(e){return e.name===l[0]}),c=l[0]?null==s||null==(n=s.getCollection)?void 0:n.call(s,l[0]):void 0,f=("function"==typeof(null==c?void 0:c.getFields)?c.getFields().map(x):(null==u?void 0:u.fields)||[]).find(function(e){return e.name===l[1]});C(o,v(b({},t),{source:l,interface:(null==f?void 0:f.interface)||t.interface,type:(null==f?void 0:f.type)||t.type,uiSchema:v(b({},t.uiSchema,null==f?void 0:f.uiSchema),{title:(null==f||null==(i=f.uiSchema)?void 0:i.title)||(null==(a=t.uiSchema)?void 0:a.title)||t.name})}))}})}},{title:n("Field type"),dataIndex:"type",width:140,render:function(e,t,n){var r;return!t.source&&(null==(r=t.possibleTypes)?void 0:r.length)?i().createElement(c.Select,{value:e,style:{width:"100%"},popupMatchSelectWidth:!1,options:t.possibleTypes.map(function(e){return{label:e,value:e}}),onChange:function(e){return C(n,v(b({},t),{type:e}))}}):i().createElement(c.Tag,null,e)}},{title:n("Field interface"),dataIndex:"interface",width:180,render:function(e,t,r){if(t.source){var o,a=null==u||null==(o=u.getFieldInterface)?void 0:o.call(u,e);return i().createElement(c.Tag,null,(0,f.hd)((null==a?void 0:a.title)||e,n))}return i().createElement(c.Select,{allowClear:!0,popupMatchSelectWidth:!1,style:{width:"100%"},options:S.map(function(e){return{label:(0,f.hd)(e.label,n),options:e.options.filter(function(e){var n;return!t.type||(null==(n=e.availableTypes)?void 0:n.includes(t.type))}).map(function(e){return{value:e.value,label:(0,f.hd)(e.label,n)}})}}),value:e||void 0,onChange:function(e){var n,o,i,a,l,c,s=null==u||null==(n=u.getFieldInterface)?void 0:n.call(u,e);C(r,v(b({},t),{interface:e||null,type:(null==s||null==(o=s.default)?void 0:o.type)||t.type,uiSchema:v(b({},null==s||null==(i=s.default)?void 0:i.uiSchema),{title:(null==s||null==(l=s.default)||null==(a=l.uiSchema)?void 0:a.title)||(null==(c=t.uiSchema)?void 0:c.title)||t.name})}))}})}},{title:n("Field display name"),dataIndex:["uiSchema","title"],width:180,render:function(e,t,n){var r;return i().createElement(c.Input,{value:(null==(r=t.uiSchema)?void 0:r.title)||t.name,onChange:function(e){C(n,v(b({},t),{uiSchema:v(b({},P(t.uiSchema)),{title:e.target.value})}))}})}}];return r.loading?i().createElement(c.Spin,null):i().createElement(i().Fragment,null,i().createElement(c.Form.Item,{name:"fields",hidden:!0,rules:[{required:!0}]},i().createElement(c.Input,null)),y.length?i().createElement(c.Form.Item,{label:n("Fields"),required:!0,extra:n("Fields can only be used correctly if they are defined with an interface.")},i().createElement(c.Table,{bordered:!0,columns:I,dataSource:y,pagination:!1,rowKey:"name",scroll:{y:300}})):i().createElement(c.Form.Item,{label:n("Fields"),required:!0},i().createElement(c.Alert,{showIcon:!0,message:n("Please select a database view")})),(null==m?void 0:m.length)?i().createElement(c.Alert,{showIcon:!0,type:"warning",message:n("Unsupported fields"),description:m.map(function(e){return e.name}).join(", "),style:{marginBottom:24}}):null)}function M(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=c.Form.useWatch("viewName",e.form),u=c.Form.useWatch("schema",e.form),s=c.Form.useWatch("fields",e.form),d=(0,o.useMemo)(function(){return Array.isArray(s)?s:[]},[s]),p=h((0,o.useState)(!1),2),y=p[0],b=p[1],v=h((0,o.useState)([]),2),g=v[0],w=v[1],O=(0,o.useMemo)(function(){var e=["lineString","point","circle","polygon"];return JSON.stringify(d.reduce(function(t,n){return n.type&&e.includes(n.type)&&(t[n.name]=n.type),t},{}))},[d]),j=(0,o.useMemo)(function(){return d.filter(function(e){return e.source||e.interface}).map(function(e){var t;return{title:(0,f.hd)((null==(t=e.uiSchema)?void 0:t.title)||e.name,n),dataIndex:e.name,key:e.name,width:200,ellipsis:!0,render:function(e){return null==e?null:(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"?JSON.stringify(e):String(e)}}})},[d,n]);return(0,o.useEffect)(function(){if(!r||!d.length)return void w([]);var e=!1;return m(function(){var n;return S(this,function(o){switch(o.label){case 0:b(!0),o.label=1;case 1:return o.trys.push([1,,3,4]),[4,t.api.resource("dbViews").query({filterByTk:r,schema:u||void 0,fieldTypes:JSON.parse(O)})];case 2:return n=o.sent(),e||w(k(n)),[3,4];case 3:return e||b(!1),[7];case 4:return[2]}})})(),function(){e=!0}},[t.api,O,d.length,u,r]),i().createElement(c.Form.Item,{label:n("Preview")},i().createElement(c.Spin,{spinning:y},i().createElement(c.Table,{bordered:!0,columns:j,dataSource:g,pagination:!1,rowKey:function(e,t){return String(null!=t?t:0)},scroll:{x:1e3,y:300}})))}function _(e){var t=b({},e);return delete t[j],Array.isArray(t.fields)&&(t.fields=t.fields.map(function(e){return v(b({},e),{source:A(e.source)})})),t}var q=function(){var e;function t(){var e,n;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");e="permissionTabs",n=new Map,e in this?Object.defineProperty(this,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):this[e]=n}return e=[{key:"add",value:function(e){var t="function"==typeof e?"callback:".concat(this.permissionTabs.size):e.key;this.permissionTabs.set(t,e)}},{key:"getPermissionTabs",value:function(e){return Array.from(this.permissionTabs.values()).map(function(t){return"function"==typeof t?t(e):t}).filter(function(e){return!!e}).sort(function(e,t){var n,r;return(null!=(n=e.sort)?n:100)-(null!=(r=t.sort)?r:100)})}}],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}(),D=n(448);function N(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),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function R(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 V(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function $(e,t,n){return($=Q()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&G(o,n.prototype),o}).apply(null,arguments)}function L(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)}}function U(e,t,n){return t&&L(e.prototype,t),n&&L(e,n),e}function W(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function K(e){return(K=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){W(e,t,n[t])})}return e}function z(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 G(e,t){return(G=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Z(e){return function(e){if(Array.isArray(e))return N(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return N(e,void 0);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 N(e,void 0)}}(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 H(e){var t="function"==typeof Map?new Map:void 0;return(H=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 $(e,arguments,K(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),G(n,e)})(e)}function Q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Q=function(){return!!e})()}function X(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:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=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 Y=function(){function e(){V(this,e),W(this,"templates",new Map)}return U(e,[{key:"register",value:function(e,t){var n="string"==typeof e?z(J({},t),{name:(null==t?void 0:t.name)||e}):e;(null==n?void 0:n.name)&&this.templates.set(n.name,z(J({},n),{name:n.name}))}},{key:"get",value:function(e){return e?this.templates.get(e):void 0}},{key:"getAll",value:function(){return Z(this.templates.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}}]),e}(),ee=function(){function e(){V(this,e),W(this,"fields",new Map)}return U(e,[{key:"register",value:function(e){var t,n=e.name||(null==(t=e.value)?void 0:t.name);n&&this.fields.set(n,z(J({},e),{name:n}))}},{key:"remove",value:function(e){this.fields.delete(e)}},{key:"getAll",value:function(){return Z(this.fields.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}}]),e}(),et=function(){function e(){V(this,e),W(this,"managerActions",[])}return U(e,[{key:"registerManagerAction",value:function(e){var t=e.order,n=e.component;this.managerActions.push({order:null!=t?t:0,component:n})}},{key:"getManagerActions",value:function(){return Z(this.managerActions).sort(function(e,t){return e.order-t.order})}}]),e}(),en=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function t(){var e,n,r;return V(this,t),n=t,r=arguments,n=K(n),W(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,Q()?Reflect.construct(n,r||[],K(this).constructor):n.apply(this,r)),"types",new Map),W(e,"extensionManager",new et),W(e,"collectionTemplateRegistry",new Y),W(e,"collectionPresetFieldRegistry",new ee),W(e,"permissionTabRegistry",new q),e}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&G(t,e),U(t,[{key:"load",value:function(){return R(function(){var e,t;return X(this,function(r){return e=this,this.registerBuiltInCollectionPresetFields(),this.registerBuiltInCollectionTemplates(),null==(t=this.app.pm.get("@nocobase/plugin-acl"))||t.settingsUI.addPermissionsTab({key:"dataSource",label:String(this.t("Data sources")),sort:15,componentLoader:function(){return n.e("907").then(n.bind(n,390))}}),this.dataSourceManager.registerLoader("*",function(){return R(function(){var e,t,n;return X(this,function(r){switch(r.label){case 0:return[4,this.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1,appends:["collections"]}})];case 1:return n=(null==(t=r.sent())||null==(e=t.data)?void 0:e.data)||[],(0,D.b)(this.dataSourceManager,n),[2,{dataSources:n}]}})}).call(e)}),this.pluginSettingsManager.addMenuItem({key:a.Ji,title:this.t("Data sources"),icon:"ClusterOutlined",isPinned:!0,sort:100,showTabs:!1,aclSnippet:"pm.data-source-manager*"}),this.pluginSettingsManager.addPageTabItem({menuKey:a.Ji,key:"list",title:this.t("Data sources"),componentLoader:function(){return n.e("426").then(n.bind(n,649))},sort:1,aclSnippet:"pm.data-source-manager"}),this.pluginSettingsManager.addPageTabItem({menuKey:a.Ji,key:":name/collections",title:this.t("Collections"),componentLoader:function(){return n.e("167").then(n.bind(n,442))},hidden:!0,sort:2,aclSnippet:"pm.data-source-manager"}),[2]})}).call(this)}},{key:"registerType",value:function(e,t){this.types.set(e,z(J({},t),{name:t.name||e}))}},{key:"getType",value:function(e){return e?this.types.get(e):void 0}},{key:"registerFieldInterfaceConfigure",value:function(e){var t,n;null==(n=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=n.registerFieldInterfaceConfigure)||t.call(n,e)}},{key:"registerCollectionTemplate",value:function(e,t){this.collectionTemplateRegistry.register(e,t)}},{key:"registerCollectionPresetField",value:function(e){this.collectionPresetFieldRegistry.register(e)}},{key:"registerPermissionTab",value:function(e){this.permissionTabRegistry.add(e)}},{key:"getPermissionTabs",value:function(e){return this.permissionTabRegistry.getPermissionTabs(e)}},{key:"addCollectionPresetField",value:function(e){this.registerCollectionPresetField(e)}},{key:"removeCollectionPresetField",value:function(e){this.collectionPresetFieldRegistry.remove(e)}},{key:"getCollectionPresetFields",value:function(){return this.collectionPresetFieldRegistry.getAll()}},{key:"getCollectionTemplate",value:function(e){return this.collectionTemplateRegistry.get(e)}},{key:"getCollectionTemplates",value:function(){return this.collectionTemplateRegistry.getAll()}},{key:"registerBuiltInCollectionPresetFields",value:function(){this.registerCollectionPresetField({order:100,description:'{{t("Primary key, distributed uniqueness, time-ordering") }}',value:{name:"id",type:"snowflakeId",autoIncrement:!1,primaryKey:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-component-props":{stringMode:!0,separator:"0.00",step:"1"},"x-validator":"integer"},interface:"snowflakeId"}}),this.registerCollectionPresetField({order:200,description:'{{t("Store the creation time of each record")}}',value:{name:"createdAt",interface:"createdAt",type:"date",field:"createdAt",uiSchema:{type:"datetime",title:'{{t("Created at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:300,description:'{{t("Store the creation user of each record") }}',value:{name:"createdBy",interface:"createdBy",type:"belongsTo",target:"users",foreignKey:"createdById",uiSchema:{type:"object",title:'{{t("Created by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:400,description:'{{t("Store the last update time of each record")}}',value:{type:"date",field:"updatedAt",name:"updatedAt",interface:"updatedAt",uiSchema:{type:"datetime",title:'{{t("Last updated at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:500,description:'{{t("Store the last update user of each record")}}',value:{type:"belongsTo",target:"users",foreignKey:"updatedById",name:"updatedBy",interface:"updatedBy",uiSchema:{type:"object",title:'{{t("Last updated by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}})}},{key:"registerBuiltInCollectionTemplates",value:function(){this.registerCollectionTemplate({name:"general",title:'{{t("General collection")}}',order:10,color:"blue",collection:{options:{template:"general"},fields:[]}}),this.registerCollectionTemplate({name:"view",title:'{{t("Connect to database view")}}',order:50,color:"yellow",divider:!0,collection:{options:{template:"view",view:!0},fields:[]},capabilities:{recordUniqueKey:!0,simplePaginate:!0},presetFields:{disabled:!0},fieldInterfaces:{create:{include:["m2o"]}},configure:{items:[{name:"databaseView",Component:C,required:!0},{name:"sources",Component:I},{name:"fields",Component:E,required:!0,hidden:function(e){return"edit"===e.mode}},{name:"preview",Component:M,hidden:function(e){return"edit"===e.mode}},{name:"writableView",label:'{{t("Allow add new, update and delete actions")}}',component:"Checkbox"}],transformSubmitValues:_}})}}]),t}(H(r.Plugin)),er=en},143:function(e,t,n){n.d(t,{Ji:function(){return i},CU:function(){return o},kj:function(){return a}});var r=n(694),o=JSON.parse('{"UU":"@nocobase/plugin-data-source-manager"}').UU,i="data-source-manager";function a(){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,"client"]},n))}}},448:function(e,t,n){n.d(t,{b:function(){return o},h:function(){return i}});var r=n(694);function o(e,t){e&&t.forEach(function(t){var n,o,i,a,l=(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),o=o={key:t.key,use:"main"===t.key?void 0:r.DataSource},Object.getOwnPropertyDescriptors?Object.defineProperties(n,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(n,e,Object.getOwnPropertyDescriptor(o,e))}),n);e.getDataSource(t.key)?null==(i=e.getDataSource(t.key))||i.patchOptions(l):e.addDataSource(l),Array.isArray(t.collections)&&(null==(a=e.getDataSource(t.key))||a.setCollections(t.collections,{clearFields:!0}))})}function i(e,t){e&&t.forEach(function(t){"main"!==String(t)&&e.removeDataSource(String(t))})}},938:function(e,t,n){n.d(t,{Ad:function(){return c},hd:function(){return l},sZ:function(){return u},zN:function(){return i}});var r=/^\s*\{\{\s*t\s*\(\s*(['"])(.*?)\1(?:\s*,\s*([\s\S]*?))?\)\s*\}\}\s*$/,o=/\{\{\s*t\s*\(\s*(['"])(.*?)\1(?:\s*,\s*([\s\S]*?))?\)\s*\}\}/g;function i(e){var t;return"string"==typeof e?null==(t=e.match(r))?void 0:t[2]:void 0}function a(e){var t=null==e?void 0:e.trim();if(t){try{var n=JSON.parse(t);return n&&(void 0===n?"undefined":n&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)=="object"&&!Array.isArray(n)?n:void 0}catch(e){}var r={},o=t.match(/(?:^|[{,\s])ns\s*:\s*(\[[\s\S]*?\])/);if(null==o?void 0:o[1]){var i,a,l=(i=o[1],a=[],i.replace(/(['"])(.*?)\1/g,function(e,t,n){return a.push(n),""}),a.length?a:void 0);l&&(r.ns=l)}else{var u=t.match(/(?:^|[{,\s])ns\s*:\s*(['"])(.*?)\1/);(null==u?void 0:u[2])&&(r.ns=u[2])}var c=t.match(/(?:^|[{,\s])nsMode\s*:\s*(['"])(.*?)\1/);return(null==c?void 0:c[2])&&(r.nsMode=c[2]),Object.keys(r).length?r:void 0}}function l(e,t){if("string"!=typeof e)return e;var n=e.match(r);return(null==n?void 0:n[2])?t(n[2],a(n[3])):e.replace(o,function(e,n,r,o){return t(r,a(o))})}function u(e,t){var n=i(t);return"string"==typeof e&&n===e?t:e}function c(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=l(e,t);return null==r||""===r?n:"string"==typeof r||"number"==typeof r||"boolean"==typeof r?String(r):n}},375:function(e){e.exports=n},799:function(e){e.exports=r},428:function(e){e.exports=l},477:function(t){t.exports=e},485:function(e){e.exports=a},694:function(e){e.exports=o},768:function(e){e.exports=f},625:function(e){e.exports=i},59:function(e){e.exports=s},185:function(e){e.exports=u},773:function(e){e.exports=d},155:function(e){e.exports=c},61:function(e){e.exports=t}},g={};function w(e){var t=g[e];if(void 0!==t)return t.exports;var n=g[e]={exports:{}};return h[e](n,n.exports,w),n.exports}w.m=h,w.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return w.d(t,{a:t}),t},w.d=function(e,t){for(var n in t)w.o(t,n)&&!w.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},w.f={},w.e=function(e){return Promise.all(Object.keys(w.f).reduce(function(t,n){return w.f[n](e,t),t},[]))},w.u=function(e){return""+e+"."+({167:"52e683be46f9cfc7",426:"53e3eaee8d9dbca0",907:"a0ab273516f45ac3"})[e]+".js"},w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),w.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},S={},w.l=function(e,t,n,r){if(S[e])return void S[e].push(t);if(void 0!==n)for(var o,i,a=document.getElementsByTagName("script"),l=0;l<a.length;l++){var u=a[l];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-data-source-manager/client-v2:"+n){o=u;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,w.nc&&o.setAttribute("nonce",w.nc),o.setAttribute("data-rspack","@nocobase/plugin-data-source-manager/client-v2:"+n),o.src=e),S[e]=[t];var c=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=S[e];if(delete S[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)},w.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},w.g.importScripts&&(O=w.g.location+"");var S,O,j=w.g.document;if(!O&&j&&(j.currentScript&&"SCRIPT"===j.currentScript.tagName.toUpperCase()&&(O=j.currentScript.src),!O)){var k=j.getElementsByTagName("script");if(k.length)for(var P=k.length-1;P>-1&&(!O||!/^http(s?):/.test(O));)O=k[P--].src}if(!O)throw Error("Automatic publicPath is not supported in this browser");w.p=O.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),p={889:0},w.f.j=function(e,t){var n=w.o(p,e)?p[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=p[e]=[t,r]});t.push(n[2]=r);var o=w.p+w.u(e),i=Error();w.l(o,function(t){if(w.o(p,e)&&(0!==(n=p[e])&&(p[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)}},m=function(e,t){var n,r,o=t[0],i=t[1],a=t[2],l=0;if(o.some(function(e){return 0!==p[e]})){for(n in i)w.o(i,n)&&(w.m[n]=i[n]);a&&a(w)}for(e&&e(t);l<o.length;l++)r=o[l],w.o(p,r)&&p[r]&&p[r][0](),p[r]=0},(y=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).forEach(m.bind(null,0)),y.push=m.bind(null,y.push.bind(y));var F={};return!function(){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-data-source-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||"/",a=i.indexOf(o);e=a>=0?i.slice(0,a+1):"/"}e&&(e=e.replace(RegExp("/"+r+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-data-source-manager/dist/client-v2/"}w.p=e}(),w.r(F),w.d(F,{PluginDataSourceManagerClientV2:function(){return b.v},compileLegacyTemplate:function(){return v.hd},compileLegacyTemplateText:function(){return v.Ad},default:function(){return b.A},getLegacyTemplateKey:function(){return v.zN},preferLegacyTemplateTitle:function(){return v.sZ}}),b=w(832),v=w(938),F}()});
|
|
@@ -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 {
|
|
10
|
+
import type { CollectionPresetFieldOptions } from '../../plugin';
|
|
11
11
|
interface CollectionsPageProps {
|
|
12
12
|
dataSourceKey: string;
|
|
13
13
|
title?: React.ReactNode;
|
|
@@ -10,6 +10,7 @@ import React from 'react';
|
|
|
10
10
|
interface FieldsPageProps {
|
|
11
11
|
dataSourceKey: string;
|
|
12
12
|
collection: Record<string, any>;
|
|
13
|
+
onCollectionChange?: (collectionName: string, values: Record<string, any>) => void;
|
|
13
14
|
}
|
|
14
15
|
export default function FieldsPage(props: FieldsPageProps): React.JSX.Element;
|
|
15
16
|
export {};
|
|
@@ -48,6 +48,10 @@ export interface DataSourceTypeOptions {
|
|
|
48
48
|
disableAddFields?: boolean;
|
|
49
49
|
disableConfigureFields?: boolean;
|
|
50
50
|
disableTestConnection?: boolean;
|
|
51
|
+
capabilities?: {
|
|
52
|
+
query?: boolean;
|
|
53
|
+
runSQL?: boolean;
|
|
54
|
+
};
|
|
51
55
|
AddCollection?: ComponentType<DataSourceCollectionActionProps>;
|
|
52
56
|
EditCollection?: ComponentType<DataSourceCollectionActionProps>;
|
|
53
57
|
DeleteCollection?: ComponentType<DataSourceCollectionActionProps>;
|
package/dist/externalVersion.js
CHANGED
|
@@ -8,18 +8,18 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
|
-
"@nocobase/client": "2.1.0-beta.
|
|
11
|
+
"@nocobase/client": "2.1.0-beta.48",
|
|
12
12
|
"react": "18.2.0",
|
|
13
|
-
"@nocobase/plugin-acl": "2.1.0-beta.
|
|
14
|
-
"@nocobase/utils": "2.1.0-beta.
|
|
15
|
-
"@nocobase/flow-engine": "2.1.0-beta.
|
|
16
|
-
"@nocobase/client-v2": "2.1.0-beta.
|
|
17
|
-
"@nocobase/ai": "2.1.0-beta.
|
|
18
|
-
"@nocobase/server": "2.1.0-beta.
|
|
19
|
-
"@nocobase/data-source-manager": "2.1.0-beta.
|
|
13
|
+
"@nocobase/plugin-acl": "2.1.0-beta.48",
|
|
14
|
+
"@nocobase/utils": "2.1.0-beta.48",
|
|
15
|
+
"@nocobase/flow-engine": "2.1.0-beta.48",
|
|
16
|
+
"@nocobase/client-v2": "2.1.0-beta.48",
|
|
17
|
+
"@nocobase/ai": "2.1.0-beta.48",
|
|
18
|
+
"@nocobase/server": "2.1.0-beta.48",
|
|
19
|
+
"@nocobase/data-source-manager": "2.1.0-beta.48",
|
|
20
20
|
"lodash": "4.18.1",
|
|
21
|
-
"@nocobase/acl": "2.1.0-beta.
|
|
22
|
-
"@nocobase/database": "2.1.0-beta.
|
|
21
|
+
"@nocobase/acl": "2.1.0-beta.48",
|
|
22
|
+
"@nocobase/database": "2.1.0-beta.48",
|
|
23
23
|
"@ant-design/icons": "5.6.1",
|
|
24
24
|
"antd": "5.24.2",
|
|
25
25
|
"react-router-dom": "6.30.1",
|
|
@@ -28,9 +28,9 @@ module.exports = {
|
|
|
28
28
|
"react-i18next": "11.18.6",
|
|
29
29
|
"@emotion/css": "11.13.0",
|
|
30
30
|
"ahooks": "3.7.8",
|
|
31
|
-
"@nocobase/actions": "2.1.0-beta.
|
|
31
|
+
"@nocobase/actions": "2.1.0-beta.48",
|
|
32
32
|
"sequelize": "6.35.2",
|
|
33
|
-
"@nocobase/test": "2.1.0-beta.
|
|
33
|
+
"@nocobase/test": "2.1.0-beta.48",
|
|
34
34
|
"@formily/antd-v5": "1.2.3",
|
|
35
35
|
"@formily/core": "2.3.7",
|
|
36
36
|
"@formily/reactive": "2.3.7",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"zod","version":"4.3.5","type":"module","license":"MIT","author":"Colin McDonnell <zod@colinhacks.com>","description":"TypeScript-first schema declaration and validation library with static type inference","homepage":"https://zod.dev","llms":"https://zod.dev/llms.txt","llmsFull":"https://zod.dev/llms-full.txt","mcpServer":"https://mcp.inkeep.com/zod/mcp","funding":"https://github.com/sponsors/colinhacks","sideEffects":false,"files":["src","**/*.js","**/*.mjs","**/*.cjs","**/*.d.ts","**/*.d.mts","**/*.d.cts","**/package.json"],"keywords":["typescript","schema","validation","type","inference"],"main":"./index.cjs","types":"./index.d.cts","module":"./index.js","zshy":{"exports":{"./package.json":"./package.json",".":"./src/index.ts","./mini":"./src/mini/index.ts","./locales":"./src/locales/index.ts","./v3":"./src/v3/index.ts","./v4":"./src/v4/index.ts","./v4-mini":"./src/v4-mini/index.ts","./v4/mini":"./src/v4/mini/index.ts","./v4/core":"./src/v4/core/index.ts","./v4/locales":"./src/v4/locales/index.ts","./v4/locales/*":"./src/v4/locales/*"},"conditions":{"@zod/source":"src"}},"exports":{"./package.json":"./package.json",".":{"@zod/source":"./src/index.ts","types":"./index.d.cts","import":"./index.js","require":"./index.cjs"},"./mini":{"@zod/source":"./src/mini/index.ts","types":"./mini/index.d.cts","import":"./mini/index.js","require":"./mini/index.cjs"},"./locales":{"@zod/source":"./src/locales/index.ts","types":"./locales/index.d.cts","import":"./locales/index.js","require":"./locales/index.cjs"},"./v3":{"@zod/source":"./src/v3/index.ts","types":"./v3/index.d.cts","import":"./v3/index.js","require":"./v3/index.cjs"},"./v4":{"@zod/source":"./src/v4/index.ts","types":"./v4/index.d.cts","import":"./v4/index.js","require":"./v4/index.cjs"},"./v4-mini":{"@zod/source":"./src/v4-mini/index.ts","types":"./v4-mini/index.d.cts","import":"./v4-mini/index.js","require":"./v4-mini/index.cjs"},"./v4/mini":{"@zod/source":"./src/v4/mini/index.ts","types":"./v4/mini/index.d.cts","import":"./v4/mini/index.js","require":"./v4/mini/index.cjs"},"./v4/core":{"@zod/source":"./src/v4/core/index.ts","types":"./v4/core/index.d.cts","import":"./v4/core/index.js","require":"./v4/core/index.cjs"},"./v4/locales":{"@zod/source":"./src/v4/locales/index.ts","types":"./v4/locales/index.d.cts","import":"./v4/locales/index.js","require":"./v4/locales/index.cjs"},"./v4/locales/*":{"@zod/source":"./src/v4/locales/*","types":"./v4/locales/*","import":"./v4/locales/*","require":"./v4/locales/*"}},"repository":{"type":"git","url":"git+https://github.com/colinhacks/zod.git"},"bugs":{"url":"https://github.com/colinhacks/zod/issues"},"support":{"backing":{"npm-funding":true}},"scripts":{"clean":"git clean -xdf . -e node_modules","build":"zshy --project tsconfig.build.json","postbuild":"tsx ../../scripts/write-stub-package-jsons.ts && pnpm biome check --write .","test:watch":"pnpm vitest","test":"pnpm vitest run","prepublishOnly":"tsx ../../scripts/check-versions.ts"},"_lastModified":"2026-06-
|
|
1
|
+
{"name":"zod","version":"4.3.5","type":"module","license":"MIT","author":"Colin McDonnell <zod@colinhacks.com>","description":"TypeScript-first schema declaration and validation library with static type inference","homepage":"https://zod.dev","llms":"https://zod.dev/llms.txt","llmsFull":"https://zod.dev/llms-full.txt","mcpServer":"https://mcp.inkeep.com/zod/mcp","funding":"https://github.com/sponsors/colinhacks","sideEffects":false,"files":["src","**/*.js","**/*.mjs","**/*.cjs","**/*.d.ts","**/*.d.mts","**/*.d.cts","**/package.json"],"keywords":["typescript","schema","validation","type","inference"],"main":"./index.cjs","types":"./index.d.cts","module":"./index.js","zshy":{"exports":{"./package.json":"./package.json",".":"./src/index.ts","./mini":"./src/mini/index.ts","./locales":"./src/locales/index.ts","./v3":"./src/v3/index.ts","./v4":"./src/v4/index.ts","./v4-mini":"./src/v4-mini/index.ts","./v4/mini":"./src/v4/mini/index.ts","./v4/core":"./src/v4/core/index.ts","./v4/locales":"./src/v4/locales/index.ts","./v4/locales/*":"./src/v4/locales/*"},"conditions":{"@zod/source":"src"}},"exports":{"./package.json":"./package.json",".":{"@zod/source":"./src/index.ts","types":"./index.d.cts","import":"./index.js","require":"./index.cjs"},"./mini":{"@zod/source":"./src/mini/index.ts","types":"./mini/index.d.cts","import":"./mini/index.js","require":"./mini/index.cjs"},"./locales":{"@zod/source":"./src/locales/index.ts","types":"./locales/index.d.cts","import":"./locales/index.js","require":"./locales/index.cjs"},"./v3":{"@zod/source":"./src/v3/index.ts","types":"./v3/index.d.cts","import":"./v3/index.js","require":"./v3/index.cjs"},"./v4":{"@zod/source":"./src/v4/index.ts","types":"./v4/index.d.cts","import":"./v4/index.js","require":"./v4/index.cjs"},"./v4-mini":{"@zod/source":"./src/v4-mini/index.ts","types":"./v4-mini/index.d.cts","import":"./v4-mini/index.js","require":"./v4-mini/index.cjs"},"./v4/mini":{"@zod/source":"./src/v4/mini/index.ts","types":"./v4/mini/index.d.cts","import":"./v4/mini/index.js","require":"./v4/mini/index.cjs"},"./v4/core":{"@zod/source":"./src/v4/core/index.ts","types":"./v4/core/index.d.cts","import":"./v4/core/index.js","require":"./v4/core/index.cjs"},"./v4/locales":{"@zod/source":"./src/v4/locales/index.ts","types":"./v4/locales/index.d.cts","import":"./v4/locales/index.js","require":"./v4/locales/index.cjs"},"./v4/locales/*":{"@zod/source":"./src/v4/locales/*","types":"./v4/locales/*","import":"./v4/locales/*","require":"./v4/locales/*"}},"repository":{"type":"git","url":"git+https://github.com/colinhacks/zod.git"},"bugs":{"url":"https://github.com/colinhacks/zod/issues"},"support":{"backing":{"npm-funding":true}},"scripts":{"clean":"git clean -xdf . -e node_modules","build":"zshy --project tsconfig.build.json","postbuild":"tsx ../../scripts/write-stub-package-jsons.ts && pnpm biome check --write .","test:watch":"pnpm vitest","test":"pnpm vitest run","prepublishOnly":"tsx ../../scripts/check-versions.ts"},"_lastModified":"2026-06-10T17:08:00.500Z"}
|
package/dist/server/plugin.js
CHANGED
|
@@ -261,15 +261,18 @@ class PluginDataSourceManagerServer extends import_server.Plugin {
|
|
|
261
261
|
const mapDataSourceWithCollection = (dataSourceModel, appendCollections = true) => {
|
|
262
262
|
const dataSource = app.dataSourceManager.dataSources.get(dataSourceModel.get("key"));
|
|
263
263
|
const dataSourceStatus = plugin.dataSourceStatus[dataSourceModel.get("key")];
|
|
264
|
+
const publicOptions = dataSource == null ? void 0 : dataSource.publicOptions();
|
|
265
|
+
const collectionManager = dataSource == null ? void 0 : dataSource.collectionManager;
|
|
266
|
+
const db = collectionManager == null ? void 0 : collectionManager.db;
|
|
267
|
+
const isDBInstance = (db == null ? void 0 : db.isDBInstance) === false ? false : !!db;
|
|
264
268
|
const item = {
|
|
265
269
|
key: dataSourceModel.get("key"),
|
|
266
270
|
displayName: dataSourceModel.get("displayName"),
|
|
267
271
|
status: dataSourceStatus,
|
|
268
272
|
type: dataSourceModel.get("type"),
|
|
269
273
|
// @ts-ignore
|
|
270
|
-
isDBInstance
|
|
274
|
+
isDBInstance
|
|
271
275
|
};
|
|
272
|
-
const publicOptions = dataSource == null ? void 0 : dataSource.publicOptions();
|
|
273
276
|
if (publicOptions) {
|
|
274
277
|
item["options"] = publicOptions;
|
|
275
278
|
}
|
|
@@ -41,6 +41,12 @@ __export(data_sources_collections_fields_exports, {
|
|
|
41
41
|
module.exports = __toCommonJS(data_sources_collections_fields_exports);
|
|
42
42
|
var import_lodash = __toESM(require("lodash"));
|
|
43
43
|
var import_external_field_apply = require("../services/external-field-apply");
|
|
44
|
+
function ensureFieldConfigureEnabled(ctx, dataSourceKey) {
|
|
45
|
+
const dataSource = ctx.app.dataSourceManager.dataSources.get(dataSourceKey);
|
|
46
|
+
if (dataSource == null ? void 0 : dataSource.disableConfigureFields) {
|
|
47
|
+
ctx.throw(403, "Field configuration is disabled for this data source");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
44
50
|
var data_sources_collections_fields_default = {
|
|
45
51
|
name: "dataSourcesCollections.fields",
|
|
46
52
|
actions: {
|
|
@@ -68,6 +74,7 @@ var data_sources_collections_fields_default = {
|
|
|
68
74
|
async update(ctx, next) {
|
|
69
75
|
const { associatedIndex: collectionNameWithDataSourceKey, filterByTk: name, values } = ctx.action.params;
|
|
70
76
|
const [dataSourceKey, collectionName] = collectionNameWithDataSourceKey.split(".");
|
|
77
|
+
ensureFieldConfigureEnabled(ctx, dataSourceKey);
|
|
71
78
|
const mainDb = ctx.app.db;
|
|
72
79
|
let fieldRecord = await mainDb.getRepository("dataSourcesFields").findOne({
|
|
73
80
|
filter: {
|
|
@@ -105,6 +112,7 @@ var data_sources_collections_fields_default = {
|
|
|
105
112
|
async create(ctx, next) {
|
|
106
113
|
const { associatedIndex: collectionNameWithDataSourceKey, values } = ctx.action.params;
|
|
107
114
|
const [dataSourceKey, collectionName] = collectionNameWithDataSourceKey.split(".");
|
|
115
|
+
ensureFieldConfigureEnabled(ctx, dataSourceKey);
|
|
108
116
|
const mainDb = ctx.app.db;
|
|
109
117
|
const name = values.name;
|
|
110
118
|
if (await mainDb.getRepository("dataSourcesFields").findOne({
|
|
@@ -134,6 +142,7 @@ var data_sources_collections_fields_default = {
|
|
|
134
142
|
async apply(ctx, next) {
|
|
135
143
|
const rawValues = ctx.action.params.values || ctx.request.body || {};
|
|
136
144
|
const defaults = (0, import_external_field_apply.parseCollectionNameWithDataSourceKey)(ctx.action.params.associatedIndex);
|
|
145
|
+
ensureFieldConfigureEnabled(ctx, defaults.dataSourceKey);
|
|
137
146
|
ctx.body = {
|
|
138
147
|
data: await (0, import_external_field_apply.applyExternalFieldDefinition)(ctx, rawValues, defaults)
|
|
139
148
|
};
|
|
@@ -142,6 +151,7 @@ var data_sources_collections_fields_default = {
|
|
|
142
151
|
async destroy(ctx, next) {
|
|
143
152
|
const { associatedIndex: collectionNameWithDataSourceKey, filterByTk: name } = ctx.action.params;
|
|
144
153
|
const [dataSourceKey, collectionName] = collectionNameWithDataSourceKey.split(".");
|
|
154
|
+
ensureFieldConfigureEnabled(ctx, dataSourceKey);
|
|
145
155
|
const mainDb = ctx.app.db;
|
|
146
156
|
const fieldRecord = await mainDb.getRepository("dataSourcesFields").findOne({
|
|
147
157
|
filter: {
|
package/dist/server/utils.js
CHANGED
|
@@ -51,15 +51,18 @@ const mapDataSourceWithCollection = (app, dataSourceModel, appendCollections = t
|
|
|
51
51
|
const plugin = app.pm.get("data-source-manager");
|
|
52
52
|
const dataSource = app.dataSourceManager.dataSources.get(dataSourceModel.get("key"));
|
|
53
53
|
const dataSourceStatus = plugin.dataSourceStatus[dataSourceModel.get("key")];
|
|
54
|
+
const publicOptions = dataSource == null ? void 0 : dataSource.publicOptions();
|
|
55
|
+
const collectionManager = dataSource == null ? void 0 : dataSource.collectionManager;
|
|
56
|
+
const db = collectionManager == null ? void 0 : collectionManager.db;
|
|
57
|
+
const isDBInstance = (db == null ? void 0 : db.isDBInstance) === false ? false : !!db;
|
|
54
58
|
const item = {
|
|
55
59
|
key: dataSourceModel.get("key"),
|
|
56
60
|
displayName: dataSourceModel.get("displayName"),
|
|
57
61
|
status: dataSourceStatus,
|
|
58
62
|
type: dataSourceModel.get("type"),
|
|
59
63
|
// @ts-ignore
|
|
60
|
-
isDBInstance
|
|
64
|
+
isDBInstance
|
|
61
65
|
};
|
|
62
|
-
const publicOptions = dataSource == null ? void 0 : dataSource.publicOptions();
|
|
63
66
|
if (publicOptions) {
|
|
64
67
|
item["options"] = publicOptions;
|
|
65
68
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-data-source-manager",
|
|
3
|
-
"version": "2.1.0-beta.
|
|
3
|
+
"version": "2.1.0-beta.48",
|
|
4
4
|
"main": "dist/server/index.js",
|
|
5
5
|
"displayName": "Data source manager",
|
|
6
6
|
"displayName.ru-RU": "Менеджер управления источниками данных",
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
"keywords": [
|
|
23
23
|
"Data model tools"
|
|
24
24
|
],
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "f8c27a286db015c5e433b48241f14c0412e50530",
|
|
26
26
|
"license": "Apache-2.0"
|
|
27
27
|
}
|
|
@@ -1,10 +0,0 @@
|
|
|
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_data_source_manager=self.webpackChunk_nocobase_plugin_data_source_manager||[]).push([["271"],{61:function(e,t,n){n.r(t),n.d(t,{DatabaseConnectionManagerPane:function(){return J}});var r=n(166),o=n(342),a=n(59),l=n(155),i=n.n(l),c=n(953),u=n(719),s=n(221),p=n(135),f=n(375),d=n(230),m=n(691),y=n(872),b=n(694);function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function h(e,t,n,r,o,a,l){try{var i=e[a](l),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function g(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}function C(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 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 a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var S=(0,b.observer)(function(e){var t,n,r,c,u,s,p,d,m,y,b=(0,o.useAPIClient)(),v=x((0,l.useState)(!1),2),S=v[0],w=v[1],A=x((0,l.useState)(""),2),k=A[0],O=A[1],P=x((0,l.useState)([]),2),E=P[0],j=P[1],D=x((0,l.useState)(new Map),2),T=D[0],I=D[1],M=x((0,l.useState)(!1),2),q=M[0],R=M[1],V=(0,l.useRef)(),_=e.NAMESPACE,F=e.t,U=(null==(n=e.formValues)||null==(t=n.options)?void 0:t.addAllCollections)===void 0||(null==(c=e.formValues)||null==(r=c.options)?void 0:r.addAllCollections),$=x((0,l.useState)(U),2),L=$[0],N=$[1],z=(0,l.useMemo)(function(){var t=e.value&&e.value.length>0?e.value:E;return k.trim()&&(t=t.filter(function(e){var t;return null==(t=e.name)?void 0:t.toLowerCase().includes(k.toLowerCase())})),t},[e.value,E,k]),B=(0,l.useMemo)(function(){return e.value&&e.value.length>0?e.value:E},[e.value,E]),W=(0,l.useMemo)(function(){var t,n=null==(t=e.options)?void 0:t.tablePrefix;return z.map(function(e){var t,r=!1;return e.required||q?r=!0:T.get(e.name)&&(!n||!n.trim()||(null==(t=e.name)?void 0:t.startsWith(n.trim())))&&(r=!0),C(g({},e),{selected:r})})},[z,T,q,null==(u=e.options)?void 0:u.tablePrefix]),K=(0,l.useRef)(null==(s=e.options)?void 0:s.tablePrefix);(0,l.useEffect)(function(){var t=null==(n=e.options)?void 0:n.tablePrefix;if(K.current!==t&&E.length>0){K.current=t;var n,r,o=E.map(function(e){var n,r=!1;return e.required?r=!0:T.get(e.name)&&(!t||!t.trim()||(null==(n=e.name)?void 0:n.startsWith(t.trim())))&&(r=!0),C(g({},e),{selected:r})});null==(r=e.onChange)||r.call(e,o)}},[null==(p=e.options)?void 0:p.tablePrefix,E.length,T]),(0,l.useEffect)(function(){if(B.length>0){var e=new Map;B.forEach(function(t){t.selected&&e.set(t.name,!0)}),I(e),R(!1)}},[B.length]);var G=(0,l.useCallback)(function(t){N(t),e.formSetValues&&e.formSetValues("options.addAllCollections",t)},[e.formSetValues]),H=(0,l.useCallback)(function(){var t;return(t=function(){var t,n,r,o,l,i,c,u,s,p,f,d,m;return function(e,t){var n,r,o,a={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),i=Object.defineProperty;return i(l,"next",{value:c(0)}),i(l,"throw",{value:c(1)}),i(l,"return",{value:c(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(a=0)),a;)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 a.label++,{value:u[1],done:!1};case 5:a.label++,r=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}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}}}}(this,function(y){switch(y.label){case 0:if(t=e.dataSourceKey,n=e.formValues,r=e.onChange,o=e.from,l=(null==n?void 0:n.options)||{},i=F("is required"),"oracle"!==n.type){if(!t)return a.message.error(F("Data source name",{ns:_})+i),[2];if(!l.host)return a.message.error(F("Host",{ns:_})+i),[2];if(!l.port)return a.message.error(F("Port",{ns:_})+i),[2];if(!l.database)return a.message.error(F("Database",{ns:_})+i),[2];if(!l.username)return a.message.error(F("Username",{ns:_})+i),[2]}w(!0),y.label=1;case 1:return y.trys.push([1,3,4,5]),[4,b.resource("dataSources").readTables({values:g({dataSourceKey:t},"create"===o?{dbOptions:C(g({},l),{type:n.type||"mysql"})}:{})})];case 2:return j(u=((null==(c=y.sent())?void 0:c.data)||{}).data||[]),s=0===T.size&&e.value&&e.value.length>0,p=T,s&&(f=new Map,e.value.forEach(function(e){e.selected&&f.set(e.name,!0)}),I(f),p=f),d=l.tablePrefix,m=u.map(function(e){var t,n=!1;return e.required?n=!0:p.get(e.name)&&(!d||!d.trim()||(null==(t=e.name)?void 0:t.startsWith(d.trim())))&&(n=!0),C(g({},e),{selected:n})}),r&&r(m),[3,5];case 3:return console.error("Error loading collections:",y.sent()),a.message.error(F("Failed to load collections",{ns:_})),[3,5];case 4:return w(!1),[7];case 5:return[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function l(e){h(a,r,o,l,i,"next",e)}function i(e){h(a,r,o,l,i,"throw",e)}l(void 0)})})()},[e.dataSourceKey,e.formValues,e.options,e.from,e.tablePrefix,b,F,_]),J=(0,l.useCallback)(function(e){V.current&&clearTimeout(V.current),V.current=setTimeout(function(){O(e)},300)},[]);(0,l.useEffect)(function(){return function(){V.current&&clearTimeout(V.current)}},[]);var Q=(0,l.useMemo)(function(){var t,n=null==(t=e.options)?void 0:t.tablePrefix,r=B.filter(function(e){var t;return!!e.required||!!T.get(e.name)&&!!(!n||!n.trim()||(null==(t=e.name)?void 0:t.startsWith(n.trim())))}).length,o=W.filter(function(e){return!e.required}),a=W.filter(function(e){return e.selected||e.required}).length;return{isAllSelected:o.length>0&&a===W.length,isIndeterminate:a>0&&a<W.length,selectedCount:r,isAtLimit:r>=500}},[W,B,T,null==(d=e.options)?void 0:d.tablePrefix]),X=Q.isAllSelected,Y=Q.isIndeterminate,Z=Q.selectedCount,ee=Q.isAtLimit,et=(0,l.useCallback)(function(t){var n,r=null==(n=e.options)?void 0:n.tablePrefix;if(t){var o=B.filter(function(e){var t;return!!e.required||!!T.get(e.name)&&!!(!r||!r.trim()||(null==(t=e.name)?void 0:t.startsWith(r.trim())))}).length,l=z.filter(function(e){return!e.required&&!T.get(e.name)}).length;if(o>=500)return;l>500-o&&a.message.warning(F("Maximum selection limit exceeded. To ensure system performance, you can select up to {{limit}} collections.",{ns:_,limit:500}))}R(t);var i=function(){var n,o=new Map(T),a=0,l=500-B.filter(function(e){var t;return!!e.required||!!T.get(e.name)&&!!(!r||!r.trim()||(null==(t=e.name)?void 0:t.startsWith(r.trim())))}).length;z.forEach(function(e){!e.required&&(t?a<l&&!T.get(e.name)&&(o.set(e.name,!0),a++):o.delete(e.name))}),I(o);var i=B.map(function(e){var t,n=!1;return e.required?n=!0:o.get(e.name)&&(!r||!r.trim()||(null==(t=e.name)?void 0:t.startsWith(r.trim())))&&(n=!0),C(g({},e),{selected:n})});null==(n=e.onChange)||n.call(e,i),R(!1)};if("u">typeof MessageChannel){var c=new MessageChannel;c.port2.onmessage=function(){return i()},c.port1.postMessage(null)}else setTimeout(i,0)},[z,B,T,e.onChange,null==(m=e.options)?void 0:m.tablePrefix,F,_]),en=(0,l.useCallback)(function(t,n){var r=W[t];if(r&&r.selected!==n){if(n){var o,l=null==(o=e.options)?void 0:o.tablePrefix,i=B.filter(function(e){var t;return!!e.required||!!T.get(e.name)&&!!(!l||!l.trim()||(null==(t=e.name)?void 0:t.startsWith(l.trim())))}).length;if(i>=500)return;i+1===500&&a.message.warning(F("Maximum selection limit reached. To ensure system performance, you can select up to {{limit}} collections at once.",{ns:_,limit:500}))}var c=new Map(T);n?c.set(r.name,!0):(c.delete(r.name),R(!1)),I(c),setTimeout(function(){var t,n,r=null==(t=e.options)?void 0:t.tablePrefix,o=B.map(function(e){var t,n=!1;return e.required?n=!0:c.get(e.name)&&(!r||!r.trim()||(null==(t=e.name)?void 0:t.startsWith(r.trim())))&&(n=!0),C(g({},e),{selected:n})});null==(n=e.onChange)||n.call(e,o)},0)}},[W,B,T,e.onChange,null==(y=e.options)?void 0:y.tablePrefix,F,_]),er=(0,l.useCallback)(function(e){J(e)},[J]),eo=(0,l.useCallback)(function(){O(""),V.current&&clearTimeout(V.current)},[]),ea=(0,l.useCallback)(function(){I(new Map),R(!1);var t,n=B.map(function(e){return C(g({},e),{selected:e.required||!1})});null==(t=e.onChange)||t.call(e,n)},[B,e.onChange]),el=(0,l.useMemo)(function(){var e=i().memo(function(e){var t=e.selected,n=e.required,r=e.index,o=e.onChange,l=(e.name,e.disabled);return i().createElement(a.Checkbox,{checked:n||t,disabled:n||l,onChange:function(e){return o(r,e.target.checked)}})}),t=i().memo(function(e){var t=e.text;return i().createElement("span",{style:{paddingLeft:"40px"}},t)}),n=[{title:i().createElement("div",{style:{textAlign:"center"}},F("Display name",{ns:_})),dataIndex:"name",key:"name",align:"left",width:"50%",render:function(e){return i().createElement(t,{text:e})}}];if(!L){var r=Z>=450,o=B.filter(function(e){return T.get(e.name)||e.required}).length,l=W.filter(function(e){return!e.selected&&!e.required}).length;n.push({title:i().createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:4}},i().createElement(a.Checkbox,{checked:X,indeterminate:Y,disabled:ee&&!X&&!(o+l<=500),onChange:function(e){return et(e.target.checked)}}),i().createElement("span",{style:r?{color:"#ff7a00"}:{}},F("Add",{ns:_})," (",Z,"/",B.length,")"),Z>0&&i().createElement(a.Tooltip,{title:F("Reset selection",{ns:_})},i().createElement(a.Button,{type:"text",size:"small",icon:i().createElement(f.ClearOutlined,null),onClick:ea,style:{padding:"0 4px",height:"16px",minWidth:"16px",fontSize:"12px",color:"#666"}}))),dataIndex:"selected",key:"selected",align:"center",width:"30%",render:function(t,n,r){var o=ee&&!t&&!n.required;return i().createElement(e,{selected:t,required:n.required,index:r,name:n.name,disabled:o,onChange:en})}})}return n},[F,X,Y,et,en,L,_,Z,B.length,ee,T,W,ea]);return i().createElement("div",null,i().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",margin:"8px 0"}},i().createElement("div",null,i().createElement(a.Checkbox,{checked:L,onChange:function(e){return G(e.target.checked)}},F("Add all collections",{ns:_}))),i().createElement(a.Input.Search,{placeholder:F("Search collection name",{ns:_}),allowClear:!0,style:{width:250},onSearch:er,onChange:function(e){return er(e.target.value)},onClear:eo}),i().createElement(a.Button,{icon:i().createElement(f.ReloadOutlined,null),onClick:function(){return H()},loading:S},F("Load Collections",{ns:_}))),i().createElement(a.Table,{columns:el,dataSource:W,loading:S,pagination:!1,scroll:{x:L?300:550,y:400},virtual:!0,bordered:!0,rowKey:"name",size:"small"}))}),w=function(e){var t=e.NAMESPACE,n=e.t;return{CollectionsTable:function(e){return i().createElement(S,C(g({},e),{NAMESPACE:t,t:n}))},createCollectionsSchema:function(e,n){return{type:"array",title:'{{t("Collections",{ ns: "'.concat(t,'" })}}'),"x-decorator":"FormItem","x-component":"CollectionsTable","x-component-props":{from:e,loadCollections:n,formValues:"{{$form.values}}",options:"{{$form.values.options}}",formSetValues:"{{$form.setValuesIn}}"},"x-reactions":[{dependencies:["..key","..options","..addAllCollections"],fulfill:{schema:{"x-component-props.dataSourceKey":"{{$deps[0]}}","x-component-props.options":"{{$deps[1]}}","x-component-props.addAllCollectionsValue":"{{$deps[2]}}"}}},{dependencies:["..options.tablePrefix"],fulfill:{run:"\n $self.forceUpdate && $self.forceUpdate();\n "}},{dependencies:["..key"],fulfill:{run:"\n if ($deps[0] && from === 'edit' && loadCollections) {\n (async () => {\n const {data} = await loadCollections($deps[0]);\n $self.value = data || [];\n $form.setValuesIn('collections', data || []);\n })();\n }\n "}}]}},Text:(0,b.observer)(function(e){return i().createElement("span",null,e.value)}),addAllCollectionsSchema:{type:"boolean","x-component":"Checkbox","x-display":"hidden",default:!0}}};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 k(e,t,n,r,o,a,l){try{var i=e[a](l),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}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 P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||j(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 E(e){return function(e){if(Array.isArray(e))return A(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||j(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 j(e,t){if(e){if("string"==typeof e)return A(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 A(e,t)}}var D=function(e){var t=(0,d.useForm)(),n=(0,d.useField)(),r=(0,o.useActionContext)(),a=(0,o.useResourceActionContext)().refresh,l=(0,o.useResourceContext)().resource;return{run:function(){var o;return(o=function(){var o,i,c;return function(e,t){var n,r,o,a={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),i=Object.defineProperty;return i(l,"next",{value:c(0)}),i(l,"throw",{value:c(1)}),i(l,"return",{value:c(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(a=0)),a;)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 a.label++,{value:u[1],done:!1};case 5:a.label++,r=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}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}}}}(this,function(u){switch(u.label){case 0:return u.trys.push([0,4,,5]),[4,t.submit()];case 1:var s,p;return u.sent(),n.data=n.data||{},n.data.loading=!0,i=t.values.collections||[],[4,l.create({values:(s=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){O(e,t,n[t])})}return e}({},t.values),p=p={collections:i.filter(function(e){return e.selected}).map(function(e){return e.name})},Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(p)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(p)).forEach(function(e){Object.defineProperty(s,e,Object.getOwnPropertyDescriptor(p,e))}),s)})];case 2:return c=u.sent(),r.setVisible(!1),null==e||e(null==c||null==(o=c.data)?void 0:o.data),[4,t.reset()];case 3:return u.sent(),n.data.loading=!1,a(),[3,5];case 4:return u.sent(),n.data&&(n.data.loading=!1),[3,5];case 5:return[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,r){var a=o.apply(e,t);function l(e){k(a,n,r,l,i,"next",e)}function i(e){k(a,n,r,l,i,"throw",e)}l(void 0)})})()}}},T=function(){var e=P((0,l.useState)({}),2),t=e[0],n=e[1],s=(0,o.usePlugin)(u.default),p=(0,o.useCompile)(),d=P((0,l.useState)(!1),2),b=d[0],v=d[1],h=(0,c.useTranslation)().t,g=P((0,l.useState)(null),2),C=g[0],x=g[1],S=(0,o.useAPIClient)(),A=(0,m.useLoadCollections)();return i().createElement("div",null,i().createElement(o.ActionContext.Provider,{value:{visible:b,setVisible:v}},i().createElement(a.Dropdown,{menu:{onClick:function(e){if("__empty__"!==e.key){var t=s.types.get(e.key);x(e.key),v(!0),n({type:"object",properties:O({},(0,r.uid)(),{type:"void","x-component":"Action.Drawer","x-component-props":{width:650},"x-decorator":"Form","x-decorator-props":{initialValue:{type:e.key,key:"d_".concat((0,r.uid)())}},title:p("{{t('Add new')}}")+" - "+p(t.label),properties:{body:{type:"void","x-component":t.DataSourceSettingsForm.bind(null,{CollectionsTableField:w,loadCollections:A,from:"create"})},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{testConnection:{title:'{{ t("Test Connection",{ ns: "'.concat(y.CU,'" }) }}'),"x-component":"Action","x-component-props":{useAction:"{{ useTestConnectionAction }}"},"x-hidden":null==t?void 0:t.disableTestConnection},cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useCreateAction }}",actionCallback:"{{ dataSourceCreateCallback }}"}}}}}})})}},items:[s.types.size?null:{key:"__empty__",label:i().createElement(a.Empty,{image:a.Empty.PRESENTED_IMAGE_SIMPLE,description:i().createElement(i().Fragment,null,h("No external data source plugin installed",{ns:y.CU}),i().createElement("br",null)," ",i().createElement("a",{target:"_blank",href:"zh-CN"===S.auth.locale?"https://docs-cn.nocobase.com/handbook/data-source-manager":"https://docs.nocobase.com/handbook/data-source-manager",rel:"noreferrer"},h("View documentation",{ns:y.CU})))})}].filter(Boolean).concat(E(s.types.keys()).map(function(e){var t=s.types.get(e);return{key:e,label:p(null==t?void 0:t.label)}}))}},i().createElement(a.Button,{type:"primary",icon:i().createElement(f.PlusOutlined,null)},h("Add new")," ",i().createElement(f.DownOutlined,null))),i().createElement(o.SchemaComponent,{scope:{createOnly:!1,useTestConnectionAction:m.useTestConnectionAction,dialect:C,useDialectDataSource:function(e){e.dataSource=E(s.types.keys()).map(function(e){var t=s.types.get(e);return{value:t.name,label:p(t.label)}})},useCreateAction:D},schema:t})))},I=n(773),M=n.n(I);function q(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 R(e,t,n,r,o,a,l){try{var i=e[a](l),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function V(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _(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 a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return q(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 q(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.")}()}var F=function(){var e=(0,o.useRecord)(),t=_((0,l.useState)({}),2),n=t[0],a=t[1],s=(0,o.usePlugin)(u.default),p=(0,o.useCompile)(),f=_((0,l.useState)(!1),2),b=f[0],v=f[1],h=(0,c.useTranslation)().t,g=(0,o.useDataSourceManager)(),C=(0,m.useLoadCollections)();return(0,o.useAPIClient)(),i().createElement("div",null,i().createElement(o.ActionContext.Provider,{value:{visible:b,setVisible:v}},"main"!==e.key&&i().createElement("a",{onClick:function(){v(!0);var t=s.types.get(e.type);a({type:"object",properties:V({},(0,r.uid)(),{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:e},"x-component-props":{width:650},title:p("{{t('Edit')}}")+" - "+p(e.displayName),properties:{body:{type:"void","x-component":t.DataSourceSettingsForm.bind(null,{CollectionsTableField:w,loadCollections:C,from:"edit"})},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},testConnectiion:{title:'{{ t("Test Connection",{ ns: "'.concat(y.CU,'" }) }}'),"x-component":"Action","x-component-props":{useAction:"{{ useTestConnectionAction }}"},"x-hidden":null==t?void 0:t.disableTestConnection},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useUpdateAction }}"}}}}}})})}},h("Edit")),i().createElement(o.SchemaComponent,{scope:{createOnly:!0,useUpdateAction:function(){var e=(0,d.useField)(),t=(0,d.useForm)(),n=(0,o.useActionContext)(),r=(0,o.useResourceActionContext)().refresh,a=(0,o.useResourceContext)().resource,l=(0,o.useRecord)().key;return{run:function(){var o;return(o=function(){var o;return function(e,t){var n,r,o,a={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),i=Object.defineProperty;return i(l,"next",{value:c(0)}),i(l,"throw",{value:c(1)}),i(l,"return",{value:c(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(a=0)),a;)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 a.label++,{value:u[1],done:!1};case 5:a.label++,r=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}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}}}}(this,function(i){switch(i.label){case 0:return[4,t.submit()];case 1:i.sent(),e.data=e.data||{},e.data.loading=!0,o=t.values.collections||[],i.label=2;case 2:var c,u;return i.trys.push([2,5,6,7]),[4,a.update({filterByTk:l,values:(c=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){V(e,t,n[t])})}return e}({},t.values),u=u={collections:o.filter(function(e){return e.selected}).map(function(e){return e.name})},Object.getOwnPropertyDescriptors?Object.defineProperties(c,Object.getOwnPropertyDescriptors(u)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(u)).forEach(function(e){Object.defineProperty(c,e,Object.getOwnPropertyDescriptor(u,e))}),c)})];case 3:return i.sent(),n.setVisible(!1),g.getDataSource(l).setOptions(M().omit(t.values,"collections")),g.getDataSource(l).reload(),[4,t.reset()];case 4:return i.sent(),r(),[3,7];case 5:return console.log(i.sent()),[3,7];case 6:return e.data.loading=!1,[7];case 7:return[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,r){var a=o.apply(e,t);function l(e){R(a,n,r,l,i,"next",e)}function i(e){R(a,n,r,l,i,"throw",e)}l(void 0)})})()}}},loadCollections:C},schema:n})))},U=n(477),$=n(442),L=function(e){var t=e.key,n=e.type;return"/admin/settings/data-source-manager/".concat(t,"/collections?type=").concat(n)};function N(){var e,t,n=(e=["\n .ant-btn-link {\n &:hover {\n color: rgba(0, 0, 0, 0.25) !important;\n }\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return N=function(){return n},n}var z=function(){var e=(0,o.useRecord)(),t=(0,$.useNavigate)(),n=(0,c.useTranslation)().t;return i().createElement("div",{className:e.enabled?void 0:(0,U.css)(N())},i().createElement(a.Button,{type:"link",style:{padding:"0px"},disabled:!e.enabled,onClick:function(){t(L(e))},role:"button","aria-label":"".concat(null==e?void 0:e.key,"-Configure")},n("Configure")))};function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function W(e,t,n,r,o,a,l){try{var i=e[a](l),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function K(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){W(a,r,o,l,i,"next",e)}function i(e){W(a,r,o,l,i,"throw",e)}l(void 0)})}}function G(e){return function(e){if(Array.isArray(e))return B(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return B(e,void 0);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 B(e,void 0)}}(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 H(e,t){var n,r,o,a={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),i=Object.defineProperty;return i(l,"next",{value:c(0)}),i(l,"throw",{value:c(1)}),i(l,"return",{value:c(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(a=0)),a;)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 a.label++,{value:u[1],done:!1};case 5:a.label++,r=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}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 J=function(){var e=(0,c.useTranslation)().t,t=(0,o.usePlugin)(u.default),n=(0,o.useDataSourceManager)();(0,o.useAPIClient)();var f=(0,l.useCallback)(function(e){n.setDataSources((null==e?void 0:e.data)||[]),n.reload()},[n]),d=G(t.types.keys()).map(function(n){var r=t.types.get(n);return{value:n,label:e(null==r?void 0:r.label)}}).concat([{value:"main",label:e("Main")}]),m=i().useRef([]);(0,l.useEffect)(function(){return function(){n.getDataSources().forEach(function(e){m.current.includes(e.key)&&e.reload()})}},[m]);var y=(0,l.useCallback)(function(e){n.removeDataSources(e)},[n]),b=(0,l.useCallback)(function(e){return K(function(){return H(this,function(t){return n.addDataSource(p.J,e),m.current=G(m.current).concat([e.key]),[2]})})()},[n]);return i().createElement(a.Card,{bordered:!1},i().createElement(o.SchemaComponent,{components:{CreateDatabaseConnectAction:T,EditDatabaseConnectionAction:F,ViewDatabaseConnectionAction:z},scope:{useNewId:function(e){return"".concat(e).concat((0,r.uid)())},types:d,useRefreshActionProps:function(){var e=(0,o.useResourceActionContext)();return{onClick:function(){return K(function(){var t,r,o,a,l;return H(this,function(i){switch(i.label){case 0:if(!(null==(o=null==e||null==(t=e.data)?void 0:t.data.filter(function(e){return"loaded"!==e.status}))?void 0:o.length))return[3,2];return a=n.getDataSources(),l=o.map(function(e){return e.key}),[4,Promise.all(a.filter(function(e){return l.includes(e.key)}).map(function(e){return e.reload()}))];case 1:i.sent(),i.label=2;case 2:return null==e||null==(r=e.refresh)||r.call(e),[2]}})})()}}},useDestroyAction:function(){var e=(0,o.useResourceActionContext)().refresh,t=(0,o.useResourceContext)().resource,n=(0,o.useRecord)().key;return{run:function(){return K(function(){return H(this,function(r){switch(r.label){case 0:return[4,t.destroy({filterByTk:n})];case 1:return r.sent(),y([n]),e(),[2]}})})()}}},dataSourceDeleteCallback:y,dataSourceCreateCallback:b,dataSourceListCallback:f,useIsAbleDelete:function(e){e.visible="main"!==(0,o.useRecord)().key}},schema:s.z}))}},221:function(e,t,n){n.d(t,{m:function(){return c},z:function(){return s}});var r,o,a,l=n(166),i=n(872),c=[{value:"loading",label:'{{t("Loading",{ns:"'.concat(i.CU,'"})}}'),color:"orange"},{value:"loading-failed",label:'{{t("Failed",{ns:"'.concat(i.CU,'"})}}'),color:"red"},{value:"loaded",label:'{{t("Loaded",{ns:"'.concat(i.CU,'"})}}'),color:"green"},{value:"reloading",label:'{{t("Reloading",{ns:"'.concat(i.CU,'"})}}'),color:"orange"}],u={name:"collections-"+(0,l.uid)(),disableTranslation:!0,fields:[{type:"string",name:"key",interface:"input",uiSchema:{title:'{{t("Data source name",{ ns: "'.concat(i.CU,'" })}}'),type:"string","x-component":"Input",required:!0}},{type:"string",name:"displayName",interface:"input",uiSchema:{title:'{{t("Data source display name",{ ns: "'.concat(i.CU,'" })}}'),type:"string","x-component":"Input",required:!0}},{type:"string",name:"type",interface:"select",uiSchema:{title:'{{t("Type", { ns: "'.concat(i.CU,'" })}}'),type:"string","x-component":"Select",enum:"{{types}}"}},{type:"string",name:"status",interface:"select",uiSchema:{title:'{{t("Status", { ns: "'.concat(i.CU,'" })}}'),type:"string","x-component":"Select",enum:c}},{type:"boolean",name:"enabled",uiSchema:{type:"boolean",title:'{{t("Enabled")}}',"x-component":"Checkbox"}}]},s={type:"object",properties:(r={},o=(0,l.uid)(),a={type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:u,resourceName:"dataSources",request:{resource:"dataSources",action:"list",params:{pageSize:50,appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:u},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{refresh:{type:"void",title:'{{ t("Refresh") }}',"x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{icon:"DeleteOutlined",useAction:"{{ cm.useBulkDestroyAction }}",confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"},actionCallback:"{{ dataSourceDeleteCallback }}"}},create:{type:"void",title:'{{t("Add new")}}',"x-component":"CreateDatabaseConnectAction","x-component-props":{type:"primary"}}}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"key",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}",onSuccess:"{{ dataSourceListCallback }}"},properties:{key:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{key:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},displayName:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{displayName:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},type:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{type:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},status:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{status:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},enabled:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{enabled:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{},properties:{view:{type:"void",title:'{{t("View")}}',"x-component":"ViewDatabaseConnectionAction","x-component-props":{type:"primary"}},update:{type:"void",title:'{{t("Edit")}}',"x-component":"EditDatabaseConnectionAction","x-component-props":{type:"primary"},"x-reactions":["{{useIsAbleDelete($self)}}"]},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:'{{t("Delete")}}',content:'{{t("Are you sure you want to delete it?")}}'},useAction:"{{useDestroyAction}}"},"x-reactions":["{{useIsAbleDelete($self)}}"]}}}}}}}}},o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a,r)}}}]);
|