@nocobase/plugin-data-source-manager 2.2.0-beta.9 → 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/skills/data-metadata/SKILLS.md +6 -0
- package/dist/ai/skills/data-query/SKILLS.md +54 -17
- package/dist/ai/skills/data-query/tools/dataQuery.js +26 -20
- package/dist/ai/skills/data-query/tools/dataSourceQuery.js +1 -1
- package/dist/client-v2/108.821ba8fd6c210d83.js +10 -0
- package/dist/client-v2/{426.e754c9cc3a1f7c49.js → 426.e41974a6a5b5abf2.js} +1 -1
- package/dist/client-v2/{907.a0ab273516f45ac3.js → 907.27929615be9d7eac.js} +1 -1
- package/dist/client-v2/index.js +1 -1
- package/dist/client-v2/pages/components/FieldForm.d.ts +11 -0
- package/dist/client-v2/pages/components/collectionTemplateFieldInterfaces.d.ts +1 -0
- package/dist/client-v2/plugin.d.ts +4 -1
- package/dist/externalVersion.js +12 -12
- package/dist/locale/en-US.json +2 -2
- package/dist/locale/zh-CN.json +2 -2
- package/dist/node_modules/zod/package.json +1 -1
- package/package.json +2 -2
- package/dist/client-v2/108.6e39f84548b492c4.js +0 -10
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
"use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).push([["426"],{649:function(e,t,r){r.r(t),r.d(t,{default:function(){return I}});var n=r(375),a=r(485),o=r(694),l=r(625),u=r(59),i=r(155),c=r.n(i),s=r(143),f=r(938),d=r(872);function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function m(e,t,r,n,a,o,l){try{var u=e[o](l),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,a)}function y(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var o=e.apply(t,r);function l(e){m(o,n,a,l,u,"next",e)}function u(e){m(o,n,a,l,u,"throw",e)}l(void 0)})}}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}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 r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,u=!1;try{for(a=a.call(e);!(l=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);l=!0);}catch(e){u=!0,n=e}finally{try{l||null==a.return||a.return()}finally{if(u)throw n}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return p(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return p(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function S(e){var t=(0,s.kj)(),r=(0,o.useFlowContext)(),n=(0,o.useFlowView)(),l=u.App.useApp(),p=l.message,m=l.notification,S=g(u.Form.useForm(),1)[0],w=g((0,i.useState)(!1),2),E=w[0],k=w[1],A=g((0,i.useState)(!1),2),C=A[0],O=A[1],j=(0,i.useMemo)(function(){return r.api.resource("dataSources")},[r.api]),_=(0,i.useMemo)(function(){return"create"===e.mode?v(b({},e.type.defaultValues),{type:e.type.name,key:(0,o.randomId)("d_")}):e.initialValues||{}},[e.initialValues,e.mode,e.type]),I=e.type.SettingsForm;(0,i.useEffect)(function(){S.setFieldsValue(_)},[S,_]);var x=(0,i.useCallback)(function(e){return y(function(){var t;return h(this,function(r){switch(r.label){case 0:return[4,j.readTables({values:{dataSourceKey:e}})];case 1:return[2,null==(t=r.sent())?void 0:t.data]}})})()},[j]),P=(0,i.useCallback)(function(t){var r,n,a,o=t.collections||[],l=b({},t.options||{});"string"==typeof l.port&&/^\d+$/.test(l.port.trim())&&(l.port=Number(l.port.trim())),(null==(r=l.ssl)?void 0:r.sslMode)==="disable"&&(l.ssl={sslMode:"disable"});var u=v(b({},t),{options:l,collections:o.filter(function(e){return"string"==typeof e||e.selected}).map(function(e){return"string"==typeof e?e:e.name})});return(null==(n=(a=e.type).normalizeValues)?void 0:n.call(a,u))||u},[e.type]),M=(0,i.useCallback)(function(){return y(function(){var e,r,n,a,o;return h(this,function(l){switch(l.label){case 0:O(!0),l.label=1;case 1:return l.trys.push([1,4,5,6]),[4,S.validateFields()];case 2:return e=l.sent(),[4,j.testConnection({values:P(e)})];case 3:if(r=l.sent(),n=(0,d.tK)(r))throw Error(n);return p.success(t("Connection successful")),[3,6];case 4:return a=l.sent(),o=(0,d.u1)(a,t("Connection failed")),(m||u.notification).error({message:t("Test Connection"),description:o}),[3,6];case 5:return O(!1),[7];case 6:return[2]}})})()},[S,p,P,m,j,t]),D=(0,i.useCallback)(function(){return y(function(){var r,a,o,l,i,c;return h(this,function(s){switch(s.label){case 0:return[4,S.validateFields()];case 1:r=P.apply(void 0,[s.sent()]),k(!0),s.label=2;case 2:if(s.trys.push([2,9,10,11]),"create"!==e.mode)return[3,4];return[4,j.create({values:r})];case 3:return o=s.sent(),[3,6];case 4:return[4,j.update({filterByTk:null==(l=e.initialValues)?void 0:l.key,values:r})];case 5:o=s.sent(),s.label=6;case 6:return[4,e.onSubmitted((null==o||null==(a=o.data)?void 0:a.data)||r)];case 7:return s.sent(),[4,n.close()];case 8:return s.sent(),[3,11];case 9:return i=s.sent(),c=(0,d.u1)(i,t("Submit failed")),(m||u.notification).error({message:t("Submit failed"),description:c}),[3,11];case 10:return k(!1),[7];case 11:return[2]}})})()},[S,P,m,e,j,t,n]),T=(0,f.Ad)(e.type.label||e.type.name,t),F="".concat("create"===e.mode?t("Add new"):t("Edit")," - ").concat(T);return c().createElement(a.DrawerFormLayout,{title:F,onSubmit:D,submitting:E,submitText:t("Submit"),cancelText:t("Cancel"),footer:c().createElement(u.Space,null,e.type.disableTestConnection?null:c().createElement(u.Button,{loading:C,onClick:M},t("Test Connection")),c().createElement(u.Button,{onClick:function(){return n.close()}},t("Cancel")),c().createElement(u.Button,{type:"primary",loading:E,onClick:D},t("Submit")))},c().createElement(u.Form,{form:S,layout:"vertical",initialValues:_},c().createElement(u.Form.Item,{name:"type",hidden:!0},c().createElement(u.Input,null)),c().createElement(u.Form.Item,{name:"key",label:t("Data source name"),rules:[{required:!0,message:t("Data source name")},{pattern:/^[A-Za-z][A-Za-z0-9_]*$/,message:t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")}],extra:t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")},c().createElement(u.Input,{disabled:"edit"===e.mode})),c().createElement(u.Form.Item,{name:"displayName",label:t("Data source display name"),rules:[{required:!0,message:t("Data source display name")}]},c().createElement(u.Input,null)),I?c().createElement(I,{mode:e.mode,type:e.type,initialValues:_,loadCollections:x}):null))}var w=r(832),E=r(448);function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function A(e,t,r,n,a,o,l){try{var u=e[o](l),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,a)}function C(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var o=e.apply(t,r);function l(e){A(o,n,a,l,u,"next",e)}function u(e){A(o,n,a,l,u,"throw",e)}l(void 0)})}}function O(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,u=!1;try{for(a=a.call(e);!(l=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);l=!0);}catch(e){u=!0,n=e}finally{try{l||null==a.return||a.return()}finally{if(u)throw n}}return o}}(e,t)||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 j(e,t){if(e){if("string"==typeof e)return k(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return k(e,t)}}function _(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function I(){var e,t,r=(0,s.kj)(),d=(0,o.useFlowContext)(),p=u.App.useApp().modal,m=d.app.pm.get(w.v),y=(0,i.useMemo)(function(){return d.api.resource("dataSources")},[d.api]),b=(0,i.useMemo)(function(){var e;return function(e){if(Array.isArray(e))return k(e)}(e=m.types.values())||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.")}()},[m]),v=O((0,i.useState)(1),2),g=v[0],h=v[1],A=O((0,i.useState)(a.DEFAULT_PAGE_SIZE),2),I=A[0],x=A[1],P=O((0,i.useState)([]),2),M=P[0],D=P[1],T=(0,l.useRequest)(function(){return C(function(){var e;return _(this,function(t){switch(t.label){case 0:return[4,y.list({page:g,pageSize:I,appends:[]})];case 1:var r,n,a,o,l;return e={records:o=Array.isArray(a=null==(n=null==(r=t.sent())?void 0:r.data)?void 0:n.data)?a:Array.isArray(null==a?void 0:a.data)?a.data:[],total:(l=(null==n?void 0:n.meta)||(null==a?void 0:a.meta)||{}).count||l.total||o.length},(0,E.b)(d.dataSourceManager,e.records),[2,e]}})})()},{refreshDeps:[g,I]}),F=(0,i.useMemo)(function(){var e;return(null==(e=T.data)?void 0:e.records)||[]},[null==(e=T.data)?void 0:e.records]),V=(0,i.useCallback)(function(e,t,r){var n=m.getType(t);n&&d.viewer.drawer({width:650,closable:!0,content:function(){return c().createElement(S,{mode:e,type:n,initialValues:r,onSubmitted:function(e){e&&(0,E.b)(d.dataSourceManager,[e]),T.refresh()}})}})},[d.dataSourceManager,d.viewer,m,T]),R=(0,i.useCallback)(function(e){var t=d.app.pluginSettingsManager.getRoutePath("".concat(s.Ji,".:name/collections")).replace(":name",encodeURIComponent(e.key));d.router.navigate(t)},[d.app.pluginSettingsManager,d.router]),B=(0,i.useCallback)(function(){return C(function(){return _(this,function(e){switch(e.label){case 0:return[4,Promise.all(F.filter(function(e){return"loaded"!==e.status}).map(function(e){return e.key}).map(function(e){var t;return null==(t=d.dataSourceManager.getDataSource(e))?void 0:t.reload()}))];case 1:return e.sent(),T.refresh(),[2]}})})()},[d.dataSourceManager,F,T]),z=(0,i.useCallback)(function(e){var t=Array.isArray(e)?e:[e];p.confirm({title:r("Delete"),content:r("Are you sure you want to delete it?"),onOk:function(){return C(function(){return _(this,function(r){switch(r.label){case 0:return[4,y.destroy({filterByTk:e})];case 1:return r.sent(),(0,E.h)(d.dataSourceManager,t),D([]),T.refresh(),[2]}})})()}})},[d.dataSourceManager,p,T,y,r]),N=(0,i.useMemo)(function(){return[{title:r("Data source name"),dataIndex:"key",ellipsis:!0},{title:r("Data source display name"),dataIndex:"displayName",ellipsis:!0,render:function(e){return(0,f.hd)(e,r)}},{title:r("Type"),dataIndex:"type",render:function(e){var t;return"main"===e?r("Main"):(0,f.hd)((null==(t=m.getType(e))?void 0:t.label)||e||"-",r)}},{title:r("Status"),dataIndex:"status",render:function(e){var t;return t=({loading:{color:"orange",label:r("Loading")},"loading-failed":{color:"red",label:r("Failed")},loaded:{color:"green",label:r("Loaded")},reloading:{color:"orange",label:r("Reloading")}})[e||""]||{color:"default",label:e||"-"},c().createElement(u.Tag,{color:t.color},t.label)}},{title:r("Enabled"),dataIndex:"enabled",render:function(e){return c().createElement(u.Switch,{checked:e,disabled:!0,size:"small"})}},{title:r("Actions"),width:260,render:function(e,t){return c().createElement(u.Space,{size:12,wrap:!0},c().createElement("a",{onClick:function(){return R(t)}},r("Configure")),"main"!==t.key?c().createElement("a",{onClick:function(){return V("edit",t.type||"",t)}},r("Edit")):null,"main"!==t.key?c().createElement("a",{onClick:function(){return z(t.key)}},r("Delete")):null)}}]},[z,R,V,m,r]),G=(0,i.useMemo)(function(){return b.length?b.map(function(e){return{key:e.name||"",label:(0,f.hd)(e.label||e.name,r)}}):[{key:"__empty__",label:c().createElement(u.Empty,{image:u.Empty.PRESENTED_IMAGE_SIMPLE,description:c().createElement("span",null,r("No external data source plugin installed"),c().createElement("br",null),c().createElement("a",{target:"_blank",rel:"noreferrer",href:"zh-CN"===d.api.auth.locale?"https://docs-cn.nocobase.com/handbook/data-source-manager":"https://docs.nocobase.com/handbook/data-source-manager"},r("View documentation")))})}]},[d.api.auth.locale,b,r]);return c().createElement(u.Card,{variant:"borderless"},c().createElement("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginBottom:16}},c().createElement(u.Space,null,c().createElement(u.Button,{icon:c().createElement(n.ReloadOutlined,null),onClick:B},r("Refresh")),c().createElement(u.Button,{icon:c().createElement(n.DeleteOutlined,null),disabled:!M.length,onClick:function(){return z(M)}},r("Delete")),c().createElement(u.Dropdown,{menu:{items:G,onClick:function(e){var t=e.key;"__empty__"!==t&&V("create",t)}}},c().createElement(u.Button,{type:"primary",icon:c().createElement(n.PlusOutlined,null)},r("Add new")," ",c().createElement(n.DownOutlined,null))))),c().createElement(a.Table,{rowKey:"key",loading:T.loading,dataSource:F,columns:N,rowSelection:{selectedRowKeys:M,getCheckboxProps:function(e){return{disabled:"main"===e.key}},onChange:D},pagination:{current:g,pageSize:I,total:null==(t=T.data)?void 0:t.total,onChange:function(e,t){if(t!==I){x(t),h(1);return}h(e)}}}))}},872:function(e,t,r){function n(e){return(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&null!==e}function a(e,t){var r=e,a=!0,o=!1,l=void 0;try{for(var u,i=t[Symbol.iterator]();!(a=(u=i.next()).done);a=!0){var c=u.value;if(!n(r))return;r=r[c]}}catch(e){o=!0,l=e}finally{try{a||null==i.return||i.return()}finally{if(o)throw l}}return n(r)?r:void 0}function o(e,t){var r=e,a=!0,o=!1,l=void 0;try{for(var u,i=t[Symbol.iterator]();!(a=(u=i.next()).done);a=!0){var c=u.value;if(!n(r))return;r=r[c]}}catch(e){o=!0,l=e}finally{try{a||null==i.return||i.return()}finally{if(o)throw l}}return r}function l(e){return"string"==typeof e&&e?e:void 0}function u(e){if(Array.isArray(e))return e.map(function(e){return n(e)?e.message:e}).filter(function(e){return"string"==typeof e&&!!e}).join("\n")||void 0}function i(e){if(Array.isArray(e))return e.map(function(e){return e.message}).filter(function(e){return"string"==typeof e&&!!e}).join("\n")||void 0}function c(e){return Array.isArray(o(e,["errorFields"]))}function s(e,t){if("string"==typeof e)return e;var r,n=a(e,["response","data"]);return l(o(e,["errorFields","0","errors","0"]))||i(null==n?void 0:n.errors)||u(null==n?void 0:n.messages)||l(null==n||null==(r=n.error)?void 0:r.message)||l(null==n?void 0:n.message)||l(o(e,["message"]))||t}function f(e){var t,r=a(e,["data"]);return i(null==r?void 0:r.errors)||u(null==r?void 0:r.messages)||l(null==r||null==(t=r.error)?void 0:t.message)||l(null==r?void 0:r.message)}r.d(t,{GN:function(){return c},tK:function(){return f},u1:function(){return s}})}}]);
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).push([["426"],{649:function(e,t,r){r.r(t),r.d(t,{default:function(){return I}});var n=r(375),a=r(485),o=r(694),l=r(625),u=r(59),i=r(155),c=r.n(i),s=r(143),f=r(938),d=r(872);function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function m(e,t,r,n,a,o,l){try{var u=e[o](l),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,a)}function y(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var o=e.apply(t,r);function l(e){m(o,n,a,l,u,"next",e)}function u(e){m(o,n,a,l,u,"throw",e)}l(void 0)})}}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}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 r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,u=!1;try{for(a=a.call(e);!(l=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);l=!0);}catch(e){u=!0,n=e}finally{try{l||null==a.return||a.return()}finally{if(u)throw n}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return p(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return p(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function S(e){var t=(0,s.kj)(),r=(0,o.useFlowContext)(),n=(0,o.useFlowView)(),l=u.App.useApp(),p=l.message,m=l.notification,S=g(u.Form.useForm(),1)[0],w=g((0,i.useState)(!1),2),E=w[0],k=w[1],A=g((0,i.useState)(!1),2),C=A[0],O=A[1],j=(0,i.useMemo)(function(){return r.api.resource("dataSources")},[r.api]),_=(0,i.useMemo)(function(){return"create"===e.mode?v(b({},e.type.defaultValues),{type:e.type.name,key:(0,o.randomId)("d_")}):e.initialValues||{}},[e.initialValues,e.mode,e.type]),I=e.type.SettingsForm;(0,i.useEffect)(function(){S.setFieldsValue(_)},[S,_]);var x=(0,i.useCallback)(function(e){return y(function(){var t;return h(this,function(r){switch(r.label){case 0:return[4,j.readTables({values:{dataSourceKey:e}})];case 1:return[2,null==(t=r.sent())?void 0:t.data]}})})()},[j]),P=(0,i.useCallback)(function(t){var r,n,a,o=t.collections||[],l=b({},t.options||{});"string"==typeof l.port&&/^\d+$/.test(l.port.trim())&&(l.port=Number(l.port.trim())),(null==(r=l.ssl)?void 0:r.sslMode)==="disable"&&(l.ssl={sslMode:"disable"});var u=v(b({},t),{options:l,collections:o.filter(function(e){return"string"==typeof e||e.selected}).map(function(e){return"string"==typeof e?e:e.name})});return(null==(n=(a=e.type).normalizeValues)?void 0:n.call(a,u))||u},[e.type]),M=(0,i.useCallback)(function(){return y(function(){var e,r,n,a,o;return h(this,function(l){switch(l.label){case 0:O(!0),l.label=1;case 1:return l.trys.push([1,4,5,6]),[4,S.validateFields()];case 2:return e=l.sent(),[4,j.testConnection({values:P(e)})];case 3:if(r=l.sent(),n=(0,d.tK)(r))throw Error(n);return p.success(t("Connection successful")),[3,6];case 4:return a=l.sent(),o=(0,d.u1)(a,t("Connection failed")),(m||u.notification).error({message:t("Test Connection"),description:o}),[3,6];case 5:return O(!1),[7];case 6:return[2]}})})()},[S,p,P,m,j,t]),D=(0,i.useCallback)(function(){return y(function(){var r,a,o,l,i,c;return h(this,function(s){switch(s.label){case 0:return[4,S.validateFields()];case 1:r=P.apply(void 0,[s.sent()]),k(!0),s.label=2;case 2:if(s.trys.push([2,9,10,11]),"create"!==e.mode)return[3,4];return[4,j.create({values:r})];case 3:return o=s.sent(),[3,6];case 4:return[4,j.update({filterByTk:null==(l=e.initialValues)?void 0:l.key,values:r})];case 5:o=s.sent(),s.label=6;case 6:return[4,e.onSubmitted((null==o||null==(a=o.data)?void 0:a.data)||r)];case 7:return s.sent(),[4,n.close()];case 8:return s.sent(),[3,11];case 9:return i=s.sent(),c=(0,d.u1)(i,t("Submit failed")),(m||u.notification).error({message:t("Submit failed"),description:c}),[3,11];case 10:return k(!1),[7];case 11:return[2]}})})()},[S,P,m,e,j,t,n]),T=(0,f.Ad)(e.type.label||e.type.name,t),F="".concat("create"===e.mode?t("Add new"):t("Edit")," - ").concat(T);return c().createElement(a.DrawerFormLayout,{title:F,onSubmit:D,submitting:E,submitText:t("Submit"),cancelText:t("Cancel"),footer:c().createElement(u.Space,null,e.type.disableTestConnection?null:c().createElement(u.Button,{loading:C,onClick:M},t("Test Connection")),c().createElement(u.Button,{onClick:function(){return n.close()}},t("Cancel")),c().createElement(u.Button,{type:"primary",loading:E,onClick:D},t("Submit")))},c().createElement(u.Form,{form:S,layout:"vertical",initialValues:_},c().createElement(u.Form.Item,{name:"type",hidden:!0},c().createElement(u.Input,null)),c().createElement(u.Form.Item,{name:"key",label:t("Data source name"),rules:[{required:!0,message:t("Data source name")},{pattern:/^[A-Za-z][A-Za-z0-9_]*$/,message:t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")}],extra:t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")},c().createElement(u.Input,{disabled:"edit"===e.mode})),c().createElement(u.Form.Item,{name:"displayName",label:t("Data source display name"),rules:[{required:!0,message:t("Data source display name")}]},c().createElement(u.Input,null)),I?c().createElement(I,{mode:e.mode,type:e.type,initialValues:_,loadCollections:x}):null))}var w=r(832),E=r(448);function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function A(e,t,r,n,a,o,l){try{var u=e[o](l),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,a)}function C(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var o=e.apply(t,r);function l(e){A(o,n,a,l,u,"next",e)}function u(e){A(o,n,a,l,u,"throw",e)}l(void 0)})}}function O(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,u=!1;try{for(a=a.call(e);!(l=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);l=!0);}catch(e){u=!0,n=e}finally{try{l||null==a.return||a.return()}finally{if(u)throw n}}return o}}(e,t)||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 j(e,t){if(e){if("string"==typeof e)return k(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return k(e,t)}}function _(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function I(){var e,t,r=(0,s.kj)(),d=(0,o.useFlowContext)(),p=u.App.useApp().modal,m=d.app.pm.get(w.vb),y=(0,i.useMemo)(function(){return d.api.resource("dataSources")},[d.api]),b=(0,i.useMemo)(function(){var e;return function(e){if(Array.isArray(e))return k(e)}(e=m.types.values())||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.")}()},[m]),v=O((0,i.useState)(1),2),g=v[0],h=v[1],A=O((0,i.useState)(a.DEFAULT_PAGE_SIZE),2),I=A[0],x=A[1],P=O((0,i.useState)([]),2),M=P[0],D=P[1],T=(0,l.useRequest)(function(){return C(function(){var e;return _(this,function(t){switch(t.label){case 0:return[4,y.list({page:g,pageSize:I,appends:[]})];case 1:var r,n,a,o,l;return e={records:o=Array.isArray(a=null==(n=null==(r=t.sent())?void 0:r.data)?void 0:n.data)?a:Array.isArray(null==a?void 0:a.data)?a.data:[],total:(l=(null==n?void 0:n.meta)||(null==a?void 0:a.meta)||{}).count||l.total||o.length},(0,E.b)(d.dataSourceManager,e.records),[2,e]}})})()},{refreshDeps:[g,I]}),F=(0,i.useMemo)(function(){var e;return(null==(e=T.data)?void 0:e.records)||[]},[null==(e=T.data)?void 0:e.records]),V=(0,i.useCallback)(function(e,t,r){var n=m.getType(t);n&&d.viewer.drawer({width:650,closable:!0,content:function(){return c().createElement(S,{mode:e,type:n,initialValues:r,onSubmitted:function(e){e&&(0,E.b)(d.dataSourceManager,[e]),T.refresh()}})}})},[d.dataSourceManager,d.viewer,m,T]),R=(0,i.useCallback)(function(e){var t=d.app.pluginSettingsManager.getRoutePath("".concat(s.Ji,".:name/collections")).replace(":name",encodeURIComponent(e.key));d.router.navigate(t)},[d.app.pluginSettingsManager,d.router]),B=(0,i.useCallback)(function(){return C(function(){return _(this,function(e){switch(e.label){case 0:return[4,Promise.all(F.filter(function(e){return"loaded"!==e.status}).map(function(e){return e.key}).map(function(e){var t;return null==(t=d.dataSourceManager.getDataSource(e))?void 0:t.reload()}))];case 1:return e.sent(),T.refresh(),[2]}})})()},[d.dataSourceManager,F,T]),z=(0,i.useCallback)(function(e){var t=Array.isArray(e)?e:[e];p.confirm({title:r("Delete"),content:r("Are you sure you want to delete it?"),onOk:function(){return C(function(){return _(this,function(r){switch(r.label){case 0:return[4,y.destroy({filterByTk:e})];case 1:return r.sent(),(0,E.h)(d.dataSourceManager,t),D([]),T.refresh(),[2]}})})()}})},[d.dataSourceManager,p,T,y,r]),N=(0,i.useMemo)(function(){return[{title:r("Data source name"),dataIndex:"key",ellipsis:!0},{title:r("Data source display name"),dataIndex:"displayName",ellipsis:!0,render:function(e){return(0,f.hd)(e,r)}},{title:r("Type"),dataIndex:"type",render:function(e){var t;return"main"===e?r("Main"):(0,f.hd)((null==(t=m.getType(e))?void 0:t.label)||e||"-",r)}},{title:r("Status"),dataIndex:"status",render:function(e){var t;return t=({loading:{color:"orange",label:r("Loading")},"loading-failed":{color:"red",label:r("Failed")},loaded:{color:"green",label:r("Loaded")},reloading:{color:"orange",label:r("Reloading")}})[e||""]||{color:"default",label:e||"-"},c().createElement(u.Tag,{color:t.color},t.label)}},{title:r("Enabled"),dataIndex:"enabled",render:function(e){return c().createElement(u.Switch,{checked:e,disabled:!0,size:"small"})}},{title:r("Actions"),width:260,render:function(e,t){return c().createElement(u.Space,{size:12,wrap:!0},c().createElement("a",{onClick:function(){return R(t)}},r("Configure")),"main"!==t.key?c().createElement("a",{onClick:function(){return V("edit",t.type||"",t)}},r("Edit")):null,"main"!==t.key?c().createElement("a",{onClick:function(){return z(t.key)}},r("Delete")):null)}}]},[z,R,V,m,r]),G=(0,i.useMemo)(function(){return b.length?b.map(function(e){return{key:e.name||"",label:(0,f.hd)(e.label||e.name,r)}}):[{key:"__empty__",label:c().createElement(u.Empty,{image:u.Empty.PRESENTED_IMAGE_SIMPLE,description:c().createElement("span",null,r("No external data source plugin installed"),c().createElement("br",null),c().createElement("a",{target:"_blank",rel:"noreferrer",href:"zh-CN"===d.api.auth.locale?"https://docs-cn.nocobase.com/handbook/data-source-manager":"https://docs.nocobase.com/handbook/data-source-manager"},r("View documentation")))})}]},[d.api.auth.locale,b,r]);return c().createElement(u.Card,{variant:"borderless"},c().createElement("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginBottom:16}},c().createElement(u.Space,null,c().createElement(u.Button,{icon:c().createElement(n.ReloadOutlined,null),onClick:B},r("Refresh")),c().createElement(u.Button,{icon:c().createElement(n.DeleteOutlined,null),disabled:!M.length,onClick:function(){return z(M)}},r("Delete")),c().createElement(u.Dropdown,{menu:{items:G,onClick:function(e){var t=e.key;"__empty__"!==t&&V("create",t)}}},c().createElement(u.Button,{type:"primary",icon:c().createElement(n.PlusOutlined,null)},r("Add new")," ",c().createElement(n.DownOutlined,null))))),c().createElement(a.Table,{rowKey:"key",loading:T.loading,dataSource:F,columns:N,rowSelection:{selectedRowKeys:M,getCheckboxProps:function(e){return{disabled:"main"===e.key}},onChange:D},pagination:{current:g,pageSize:I,total:null==(t=T.data)?void 0:t.total,onChange:function(e,t){if(t!==I){x(t),h(1);return}h(e)}}}))}},872:function(e,t,r){function n(e){return(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&null!==e}function a(e,t){var r=e,a=!0,o=!1,l=void 0;try{for(var u,i=t[Symbol.iterator]();!(a=(u=i.next()).done);a=!0){var c=u.value;if(!n(r))return;r=r[c]}}catch(e){o=!0,l=e}finally{try{a||null==i.return||i.return()}finally{if(o)throw l}}return n(r)?r:void 0}function o(e,t){var r=e,a=!0,o=!1,l=void 0;try{for(var u,i=t[Symbol.iterator]();!(a=(u=i.next()).done);a=!0){var c=u.value;if(!n(r))return;r=r[c]}}catch(e){o=!0,l=e}finally{try{a||null==i.return||i.return()}finally{if(o)throw l}}return r}function l(e){return"string"==typeof e&&e?e:void 0}function u(e){if(Array.isArray(e))return e.map(function(e){return n(e)?e.message:e}).filter(function(e){return"string"==typeof e&&!!e}).join("\n")||void 0}function i(e){if(Array.isArray(e))return e.map(function(e){return e.message}).filter(function(e){return"string"==typeof e&&!!e}).join("\n")||void 0}function c(e){return Array.isArray(o(e,["errorFields"]))}function s(e,t){if("string"==typeof e)return e;var r,n=a(e,["response","data"]);return l(o(e,["errorFields","0","errors","0"]))||i(null==n?void 0:n.errors)||u(null==n?void 0:n.messages)||l(null==n||null==(r=n.error)?void 0:r.message)||l(null==n?void 0:n.message)||l(o(e,["message"]))||t}function f(e){var t,r=a(e,["data"]);return i(null==r?void 0:r.errors)||u(null==r?void 0:r.messages)||l(null==r||null==(t=r.error)?void 0:t.message)||l(null==r?void 0:r.message)}r.d(t,{GN:function(){return c},tK:function(){return f},u1:function(){return s}})}}]);
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
"use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).push([["907"],{390:function(e,t,n){n.r(t),n.d(t,{default:function(){return eS}});var r=n(477),o=n(485),a=n(694),l=n(625),i=n(59),u=n(155),c=n.n(u),s=n(938);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){d(e,t,n[t])})}return e}function p(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function y(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)||h(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function b(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||h(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){if(e){if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(e,t)}}function g(){var e=v(["\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);\n column-gap: ","px;\n align-items: center;\n white-space: nowrap;\n\n .ant-checkbox-wrapper {\n grid-column: 2;\n }\n\n .nb-field-permission-title {\n grid-column: 3;\n }\n "]);return g=function(){return e},e}function w(){var e=v(["\n display: flex;\n justify-content: center;\n align-items: center;\n "]);return w=function(){return e},e}function S(e){return Object.entries(e).map(function(e){var t=y(e,2),n=t[0],r=t[1];return"all"===r?n:"".concat(n,":").concat(r)})}function O(e){return!!(e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Object.keys(e).length)}function x(e,t){return t?c().createElement(i.Tag,{color:"green"},e("Action on new records")):c().createElement(i.Tag,{color:"geekblue"},e("Action on existing records"))}function E(e){var t=i.theme.useToken().token,n=e.value,r=e.onChange,a=e.availableActions,l=e.t,f=(0,u.useMemo)(function(){var e,t;return t={},null==n||null==(e=n.forEach)||e.call(n,function(e){var n=y(e.split(":"),2),r=n[0],o=n[1];r&&(t[r]=o||"all")}),t},[n]),v=(0,u.useMemo)(function(){return a.map(function(e){return p(m({},e),{enabled:!!f[e.name],scope:f[e.name]||"all"})})},[a,f]),b=(0,u.useMemo)(function(){return[{title:l("Action display name"),dataIndex:"displayName",width:4*t.sizeXXL,render:function(e){return(0,s.hd)(e,l)}},{title:l("Action type"),dataIndex:"onNewRecord",width:4*t.sizeXXL,render:function(e){return x(l,e)}},{title:l("Allow"),dataIndex:"enabled",align:"center",width:2*t.sizeXXL,render:function(e,t){return c().createElement(i.Checkbox,{checked:e,onChange:function(){var n=m({},f);e?delete n[t.name]:n[t.name]="all",null==r||r(S(n))}})}},{title:l("Data scope"),dataIndex:"scope",width:4*t.sizeXXL,render:function(e,t){return t.onNewRecord?null:c().createElement(i.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:e,options:[{label:l("All records"),value:"all"},{label:l("Own records"),value:"own"}],onChange:function(e){var n=p(m({},f),d({},t.name,e));null==r||r(S(n))}})}}]},[r,f,l,t.sizeXXL]);return c().createElement(o.Table,{rowKey:"name",size:"small",pagination:!1,dataSource:v,columns:b,scroll:{x:"max-content"}})}function j(e){var t=i.theme.useToken().token,n=e.value,a=e.onChange,f=e.availableActions,y=e.collectionFields,v=e.renderScopeSelect,h=e.t,S=(0,u.useMemo)(function(){return(0,r.css)(g(),t.marginXXS)},[t.marginXXS]),E=(0,u.useMemo)(function(){return(0,r.css)(w())},[]),j=(0,u.useMemo)(function(){var e,t;return t={},null==n||null==(e=n.forEach)||e.call(n,function(e){if(null==e?void 0:e.name){var n=O(e.scope)?void 0:e.scope,r=null!=n?n:null==e.scopeId?void 0:{id:e.scopeId};t[e.name]=p(m({},e),{scope:r})}}),t},[n]),C=(0,u.useMemo)(function(){return f.filter(function(e){return e.allowConfigureFields})},[f]),k=(0,l.useMemoizedFn)(function(e){null==a||a(Object.values(e).map(function(e){return p(m({},e),{scope:O(e.scope)?null:e.scope})}))}),A=(0,l.useMemoizedFn)(function(e){var t=m({},j);t[e]?delete t[e]:t[e]={name:e,fields:y.map(function(e){return e.name})},k(t)}),P=(0,l.useMemoizedFn)(function(e,t){var n,r,o,a;k((n=j,r=e,o=t,a=y,p(m({},n),d({},r,p(m({},n[r]||{name:r,fields:a.map(function(e){return e.name})}),{scope:o})))))}),z=(0,u.useMemo)(function(){return f.map(function(e){var t,n;return p(m({},e),{enabled:!!j[e.name],scope:null!=(t=null==(n=j[e.name])?void 0:n.scope)?t:null})})},[j,f]),M=(0,u.useMemo)(function(){return y.map(function(e){var t=m({},e);return C.forEach(function(n){var r,o;t[n.name]=!!(null==(o=j[n.name])||null==(r=o.fields)?void 0:r.includes(e.name))}),t})},[j,C,y]),X=(0,u.useMemo)(function(){return[{title:h("Action display name"),dataIndex:"displayName",width:4*t.sizeXXL,render:function(e){return(0,s.hd)(e,h)}},{title:h("Action type"),dataIndex:"onNewRecord",width:4*t.sizeXXL,render:function(e){return x(h,e)}},{title:h("Allow"),dataIndex:"enabled",align:"center",width:2*t.sizeXXL,render:function(e,t){return c().createElement(i.Checkbox,{checked:e,onChange:function(){return A(t.name)}})}},{title:h("Data scope"),dataIndex:"scope",width:5*t.sizeXXL,render:function(e,t){return t.onNewRecord?null:v({value:e,onChange:function(e){return P(t.name,e)},action:t})}}]},[v,P,h,A,t.sizeXXL]),I=(0,u.useMemo)(function(){return[{title:h("Field display name"),dataIndex:["uiSchema","title"],width:4*t.sizeXXL,render:function(e,t){return(0,s.hd)(e,h)||t.name}}].concat(b(C.map(function(e){var n,r,o=y.length>0&&y.length===(null==(r=j[e.name])||null==(n=r.fields)?void 0:n.length);return{title:c().createElement("span",{className:S},c().createElement(i.Checkbox,{checked:o,onChange:function(){var t=m({},j),n=t[e.name]||{name:e.name};n.fields=o?[]:y.map(function(e){return e.name}),t[e.name]=n,k(t)}}),c().createElement("span",{className:"nb-field-permission-title"},(0,s.hd)(e.displayName,h))),dataIndex:e.name,align:"center",width:3*t.sizeXXL,render:function(t,n){return c().createElement("span",{className:E},c().createElement(i.Checkbox,{checked:t,onChange:function(){var r=m({},j),o=r[e.name]||{name:e.name},a=b(o.fields||[]);t?o.fields=a.filter(function(e){return e!==n.name}):o.fields=Array.from(new Set(b(a).concat([n.name]))),r[e.name]=o,k(r)}}))}}})))},[j,C,y,k,E,S,h,t.sizeXXL]);return c().createElement(c().Fragment,null,c().createElement(i.Form.Item,{label:h("Action permission")},c().createElement(o.Table,{rowKey:"name",size:"small",pagination:!1,dataSource:z,columns:X,scroll:{x:"max-content"}})),c().createElement(i.Form.Item,{label:h("Field permission")},c().createElement(o.Table,{rowKey:"name",size:"small",pagination:!1,dataSource:M,columns:I})))}function C(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).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){C(a,r,o,l,i,"next",e)}function i(e){C(a,r,o,l,i,"throw",e)}l(void 0)})}}function A(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 P(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function z(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:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)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 a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}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 M=n(375);function X(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 I(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function F(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){I(a,r,o,l,i,"next",e)}function i(e){I(a,r,o,l,i,"throw",e)}l(void 0)})}}function R(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 X(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 X(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function N(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function D(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:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)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 a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function L(){var e=T(["\n height: 100%;\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n "]);return L=function(){return e},e}function K(){var e=T(["\n flex: 0 0 auto;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: ","px;\n flex-wrap: wrap;\n margin-bottom: ","px;\n "]);return K=function(){return e},e}function _(){var e=T(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content,\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return _=function(){return e},e}function $(e){if(e&&(void 0===e?"undefined":N(e))==="object"){var t;return null!=(t=e.id)?t:e.key}return e}function B(e){var t,n,r=(0,a.useFlowContext)(),l=R(i.Form.useForm(),1)[0],s=(0,u.useRef)(null),f=(0,u.useMemo)(function(){return r.api.resource("dataSources/".concat(e.dataSourceKey,"/rolesResourcesScopes"))},[r.api,e.dataSourceKey]);return c().createElement(o.DrawerFormLayout,{title:(null==(t=e.initialValues)?void 0:t.id)!=null?e.t("Edit record"):e.t("Add record"),onSubmit:function(){return F(function(){var t,n,r;return D(this,function(o){switch(o.label){case 0:return[4,l.validateFields()];case 1:var a;return r=o.sent(),[4,(a={id:null==(t=e.initialValues)?void 0:t.id,resourceName:e.resourceName,values:r,scope:null==(n=s.current)?void 0:n.getFilter()},k(function(){var e;return z(this,function(t){switch(t.label){case 0:if(e=P(A({},a.values),{resourceName:a.resourceName,scope:a.scope}),null==a.id)return[3,2];return[4,f.update({filterByTk:a.id,values:e})];case 1:case 3:return t.sent(),[2];case 2:return[4,f.create({values:e})]}})})())];case 2:return o.sent(),e.onSubmitted(),[2]}})})()},submitText:e.t("Submit"),cancelText:e.t("Cancel")},c().createElement(i.Form,{form:l,layout:"vertical",initialValues:e.initialValues},c().createElement(i.Form.Item,{name:"name",label:e.t("Scope name"),rules:[{required:!0,message:e.t("The field value is required")}]},c().createElement(i.Input,null)),c().createElement(i.Form.Item,{label:e.t("Data scope")},c().createElement(o.CollectionFilterPanel,{ref:s,collection:e.collection,initialValue:null==(n=e.initialValues)?void 0:n.scope,t:e.t,noIgnore:!0}))))}function q(e){var t,n,f,d,m,p,y,v=i.theme.useToken().token,b=(0,a.useFlowContext)(),h=i.App.useApp().modal,g=R((0,u.useState)($(e.value)),2),w=g[0],S=g[1],O=R((0,u.useState)(1),2),x=O[0],E=O[1],j=R((0,u.useState)(20),2),C=j[0],A=j[1],P=(0,u.useMemo)(function(){return b.api.resource("dataSources/".concat(e.dataSourceKey,"/rolesResourcesScopes"))},[b.api,e.dataSourceKey]),X=(0,l.useRequest)(function(){return F(function(){return D(this,function(t){switch(t.label){case 0:return[4,P.list({page:x,pageSize:C,fields:["id","key","name","resourceName","scope"],filter:{$or:[{resourceName:e.resourceName},{resourceName:null}]}})];case 1:var n,r,o,a,l,i;return[2,{rows:i=Array.isArray(l=null==(n=t.sent())||null==(r=n.data)?void 0:r.data)?l:(null==l?void 0:l.data)||(null==l?void 0:l.rows)||[],total:(null==l?void 0:l.count)||(null==l?void 0:l.total)||(null==n||null==(a=n.data)||null==(o=a.meta)?void 0:o.count)||i.length,page:null==l?void 0:l.page,pageSize:null==l?void 0:l.pageSize}]}})})()},{refreshDeps:[e.dataSourceKey,e.resourceName,x,C]}),I=(null==(d=X.data)?void 0:d.rows)||[],T=I.find(function(e){return String($(e))===String(w)})||(e.value&&"object"===N(e.value)&&String($(e.value))===String(w)?e.value:void 0),q=(t=i.theme.useToken().token,n=(0,u.useMemo)(function(){return(0,r.css)(L())},[]),f=(0,u.useMemo)(function(){return(0,r.css)(K(),t.marginSM,t.marginSM)},[t.marginSM]),{contentClassName:n,tableClassName:(0,u.useMemo)(function(){return(0,r.css)(_())},[]),toolbarClassName:f}),V=q.contentClassName,G=q.tableClassName,U=q.toolbarClassName,W=(0,l.useMemoizedFn)(function(t){b.viewer.drawer({width:"50%",closable:!0,content:function(){return c().createElement(B,{collection:e.collection,dataSourceKey:e.dataSourceKey,resourceName:e.resourceName,initialValues:t,t:e.t,onSubmitted:function(){X.refresh()}})}})}),H=(0,l.useMemoizedFn)(function(t){h.confirm({title:e.t("Delete record"),content:e.t("Are you sure you want to delete it?"),onOk:function(){return F(function(){return D(this,function(e){switch(e.label){case 0:var n;return[4,(n=t.id,k(function(){return z(this,function(e){switch(e.label){case 0:return[4,P.destroy({filterByTk:n})];case 1:return e.sent(),[2]}})})())];case 1:return e.sent(),X.refresh(),[2]}})})()}})}),J=(0,u.useMemo)(function(){return[{title:e.t("Scope name"),dataIndex:"name",width:5*v.sizeXXL,ellipsis:!0,render:function(t){return(0,s.hd)(t,e.t)}},{title:e.t("Actions"),width:4*v.sizeXXL,render:function(t,n){var r=(null==n?void 0:n.key)==="all"||(null==n?void 0:n.key)==="own";return c().createElement(i.Space,{size:v.marginXXS},c().createElement(i.Button,{type:"link",size:"small",disabled:r,onClick:function(){r||W(n)}},e.t("Edit")),c().createElement(i.Button,{type:"link",size:"small",disabled:r,onClick:function(){r||H(n)}},e.t("Delete")))}}]},[H,W,e,v.marginXXS,v.sizeXXL]),Q=(0,u.useMemo)(function(){var e,t,n,r,o;return{current:null!=(e=null==(n=X.data)?void 0:n.page)?e:x,pageSize:null!=(t=null==(r=X.data)?void 0:r.pageSize)?t:C,total:null==(o=X.data)?void 0:o.total,onChange:function(e,t){E(e),A(t)}}},[x,C,null==(m=X.data)?void 0:m.page,null==(p=X.data)?void 0:p.pageSize,null==(y=X.data)?void 0:y.total]);return c().createElement(o.DrawerFormLayout,{title:e.t("Select record"),submitText:e.t("Submit"),cancelText:e.t("Cancel"),onSubmit:function(){return F(function(){var t;return D(this,function(n){return null==(t=e.onChange)||t.call(e,T||null),e.onClose(),[2]})})()},footer:c().createElement(i.Space,null,c().createElement(i.Button,{onClick:e.onClose},e.t("Cancel")),c().createElement(i.Button,{type:"primary",onClick:function(){var t;null==(t=e.onChange)||t.call(e,T||null),e.onClose()}},e.t("Submit")))},c().createElement("div",{className:V},c().createElement("div",{className:U},c().createElement(i.Button,{type:"primary",icon:c().createElement(M.PlusOutlined,null),onClick:function(){return W()}},e.t("Add new"))),c().createElement(o.Table,{rowKey:"id",showIndex:!1,loading:X.loading,dataSource:I,columns:J,pagination:Q,scroll:{x:"max-content",y:"100%"},className:G,rowSelection:{type:"radio",selectedRowKeys:null==w?[]:[w],onChange:function(e){return S(e[0])}}})))}function V(e){var t,n=i.theme.useToken().token,r=(0,a.useFlowContext)(),o=(t=e.value)&&(void 0===t?"undefined":N(t))==="object"?t:void 0,f=$(e.value),d=(0,u.useMemo)(function(){return r.api.resource("dataSources/".concat(e.dataSourceKey,"/rolesResourcesScopes"))},[r.api,e.dataSourceKey]),m=(0,l.useRequest)(function(){return F(function(){var e,t;return D(this,function(n){switch(n.label){case 0:if(null==f||(null==o?void 0:o.name))return[2,o];return[4,d.get({filterByTk:f})];case 1:return[2,null==(t=n.sent())||null==(e=t.data)?void 0:e.data]}})})()},{refreshDeps:[f,e.dataSourceKey],ready:null!=f}),p=(null==o?void 0:o.name)?o:m.data,y=(null==p?void 0:p.name)?(0,s.Ad)(p.name,e.t,""):void 0,v=null==f?void 0:{label:y||String(f),value:String(f)},b=(0,l.useMemoizedFn)(function(){r.viewer.drawer({width:"50%",closable:!0,styles:{body:{display:"flex",flexDirection:"column",overflow:"hidden"}},content:function(t){var n,r,o=t.close;return c().createElement(q,(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}({},e),r=r={value:p||e.value,onClose:o},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(r)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}),n))}})});return c().createElement(i.Tooltip,{title:y},c().createElement(i.Select,{size:"small",value:v,labelInValue:!0,popupMatchSelectWidth:!1,open:!1,placeholder:e.t("Select record"),options:v?[v]:[],allowClear:!0,showSearch:!1,style:{minWidth:5*n.sizeXXL},onClick:b,onClear:function(){var t;null==(t=e.onChange)||t.call(e,null)}}))}var G=n(143),U=n(832);function W(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),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function J(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,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)})}}function Q(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 Y(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)||ee(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 Z(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function ee(e,t){if(e){if("string"==typeof e)return W(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 W(e,t)}}function et(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:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)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 a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function en(){var e=Z(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content,\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return en=function(){return e},e}function er(){var e=Z(["\n width: 100%;\n "]);return er=function(){return e},e}function eo(){var e=Z(["\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n "]);return eo=function(){return e},e}function ea(){var e=Z(["\n flex: 0 0 auto;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: ","px;\n flex-wrap: wrap;\n margin-bottom: ","px;\n "]);return ea=function(){return e},e}function el(){var e=Z(["\n width: 100%;\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n gap: ","px;\n "]);return el=function(){return e},e}var ei="dataSourcePermissionCollectionsFilter",eu={name:ei,fields:[{type:"string",name:"title",interface:"input",uiSchema:{title:'{{t("Collection display name")}}',type:"string"}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Collection name")}}',type:"string"}}]};function ec(e){var t,n,r,o,a,l=null==e||null==(t=e.data)?void 0:t.data;return Array.isArray(l)?{records:l,total:(null==e||null==(a=e.data)||null==(o=a.meta)?void 0:o.count)||l.length}:{records:(null==l?void 0:l.rows)||(null==l?void 0:l.data)||[],total:(null==l?void 0:l.count)||(null==l?void 0:l.total)||(null==e||null==(r=e.data)||null==(n=r.meta)?void 0:n.count)||0,page:null==l?void 0:l.page,pageSize:null==l?void 0:l.pageSize}}function es(){return(0,u.useMemo)(function(){return(0,r.css)(en())},[])}function ef(e){var t;return null==e||null==(t=e.data)?void 0:t.data}function ed(e){return!!e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Array.isArray(e)}function em(e){return String(null!=e?e:"").toLowerCase()}function ep(e,t,n){var r=em(n);if(!r)return!0;switch(t){case"$eq":return e.some(function(e){return e===r});case"$ne":return e.every(function(e){return e!==r});case"$notIncludes":return e.every(function(e){return!e.includes(r)});default:return e.some(function(e){return e.includes(r)})}}function ey(e,t){if(!ed(t))return ep(e,"$includes",t);var n=Object.entries(t).filter(function(e){return Y(e,1)[0].startsWith("$")});return!n.length||n.every(function(t){var n=Y(t,2);return ep(e,n[0],n[1])})}function ev(e){var t,n,o=(0,a.useFlowContext)(),s=i.App.useApp().message,f=Y((0,u.useState)([]),2),d=f[0],m=f[1],p=(0,u.useMemo)(function(){return o.api.resource("dataSources/".concat(e.dataSource.key,"/roles"))},[o.api,e.dataSource.key]),y=(0,l.useRequest)(function(){return J(function(){var t,n,r,o;return et(this,function(a){switch(a.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))return[2,[]];return[4,p.get({filterByTk:e.activeRole.name})];case 1:return m(o=(null==(r=ef(a.sent()))||null==(n=r.strategy)?void 0:n.actions)||[]),[2,o]}})})()},{refreshDeps:[null==(t=e.activeRole)?void 0:t.name,e.dataSource.key],ready:!!(null==(n=e.activeRole)?void 0:n.name)}),v=(0,l.useMemoizedFn)(function(t){return J(function(){var n,r;return et(this,function(o){var a,l;switch(o.label){case 0:if(!(null==(n=e.activeRole)?void 0:n.name))return[2];m(t),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,(a=e.activeRole.name,k(function(){return z(this,function(e){switch(e.label){case 0:return[4,p.update({filterByTk:a,values:{strategy:{actions:t}}})];case 1:return e.sent(),[2]}})})())];case 2:return o.sent(),s.success(e.t("Saved successfully")),[3,4];case 3:return r=o.sent(),s.error((null!=(l=Error)&&"u">typeof Symbol&&l[Symbol.hasInstance]?!!l[Symbol.hasInstance](r):r instanceof l)?r.message:e.t("Save failed")),y.refresh(),[3,4];case 4:return[2]}})})()});return c().createElement("div",{className:(0,r.css)(er())},c().createElement(E,{value:d,onChange:v,availableActions:e.availableActions,t:e.t}))}function eb(e){var t,n,r,s,f,d,m=(0,a.useFlowContext)(),p=i.App.useApp().message,y=Y(i.Form.useForm(),1)[0],v=i.Form.useWatch("usingActionsConfig",y),b=(t=e.dataSource.key,n=e.collection.name,null==(r=m.dataSourceManager.getDataSource(t))?void 0:r.getCollection(n)),h=(0,u.useMemo)(function(){var t;return m.api.resource("roles.dataSourceResources",null==(t=e.activeRole)?void 0:t.name)},[m.api,null==(s=e.activeRole)?void 0:s.name]),g=(0,l.useRequest)(function(){return J(function(){var t,n,r;return et(this,function(o){switch(o.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))return[2,void 0];if(!e.collection.exists)return n={usingActionsConfig:!1,actions:[]},y.setFieldsValue(n),[2,n];return[4,h.get({filter:{dataSourceKey:e.dataSource.key,name:e.collection.name},appends:["actions","actions.scope"]})];case 1:return r=ef(o.sent())||{usingActionsConfig:"resourceAction"===e.collection.usingConfig,actions:[]},y.setFieldsValue(r),[2,r]}})})()},{refreshDeps:[null==(f=e.activeRole)?void 0:f.name,e.collection.name,e.dataSource.key],ready:!!(null==(d=e.activeRole)?void 0:d.name)});return c().createElement(o.DrawerFormLayout,{title:e.t("Configure permission"),onSubmit:function(){return J(function(){var t,n;return et(this,function(r){switch(r.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))throw Error("Role is required");return[4,y.validateFields()];case 1:var o,a;return n=r.sent(),[4,(o=e.collection,a=e.dataSource.key,k(function(){var e;return z(this,function(t){switch(t.label){case 0:if(e=P(A({},n),{name:o.name,dataSourceKey:a}),!o.exists)return[3,2];return[4,h.update({filter:{dataSourceKey:a,name:o.name},values:e})];case 1:case 3:return t.sent(),[2];case 2:return[4,h.create({values:e})]}})})())];case 2:return r.sent(),p.success(e.t("Saved successfully")),e.onSubmitted(),[2]}})})()},submitting:g.loading,submitText:e.t("Submit"),cancelText:e.t("Cancel")},c().createElement(i.Form,{form:y,layout:"vertical",initialValues:{usingActionsConfig:!1,actions:[]}},c().createElement(i.Form.Item,{name:"usingActionsConfig",label:e.t("Permission policy")},c().createElement(i.Radio.Group,{options:[{value:!1,label:e.t("General")},{value:!0,label:e.t("Individual")}]})),v?c().createElement(i.Form.Item,{name:"actions",noStyle:!0},c().createElement(j,{availableActions:e.availableActions,collectionFields:e.collection.fields||[],t:e.t,renderScopeSelect:function(t){var n=t.value,r=t.onChange;return c().createElement(V,{value:n,onChange:r,collection:b,dataSourceKey:e.dataSource.key,resourceName:e.collection.name,t:e.t})}})):null))}function eh(e){var t,n,f,d,m=i.theme.useToken().token,p=(0,a.useFlowContext)(),y=(0,a.useFlowEngine)(),v=es(),b=Y((0,u.useState)(1),2),h=b[0],g=b[1],w=Y((0,u.useState)(20),2),S=w[0],O=w[1],x=Y((0,u.useState)(),2),E=x[0],j=x[1],C=null==(t=p.dataSourceManager.getDataSource("main"))?void 0:t.getCollection(ei),k=(0,u.useMemo)(function(){var t;return p.api.resource("roles.dataSourcesCollections",null==(t=e.activeRole)?void 0:t.name)},[p.api,null==(n=e.activeRole)?void 0:n.name]),A=(0,l.useMemoizedFn)(function(e,t){return y.context.t(e,Q({ns:["client",G.CU]},t))}),P=(0,l.useRequest)(function(){return J(function(){var t;return et(this,function(n){switch(n.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))return[2,{records:[],total:0}];return[4,k.list({page:1,pageSize:20,filter:{dataSourceKey:e.dataSource.key},sort:["sort"],appends:["fields"]})];case 1:return[2,ec(n.sent())]}})})()},{refreshDeps:[null==(f=e.activeRole)?void 0:f.name,e.dataSource.key]}),z=(0,u.useMemo)(function(){var t;return((null==(t=P.data)?void 0:t.records)||[]).filter(function(t){return function e(t,n,r){if(!ed(n))return!0;var o=[];if(Array.isArray(n.$and)&&o.push(n.$and.every(function(n){return e(t,n,r)})),Array.isArray(n.$or)&&o.push(n.$or.some(function(n){return e(t,n,r)})),Object.prototype.hasOwnProperty.call(n,"title")){var a=Array.from(new Set([null==t.title?"":String(t.title),(0,s.Ad)(t.title,r,"")].filter(Boolean).map(em)));o.push(ey(a,n.title))}return Object.prototype.hasOwnProperty.call(n,"name")&&o.push(ey([em(t.name)],n.name)),!o.length||o.every(Boolean)}(t,E,e.t)})},[E,e.t,null==(d=P.data)?void 0:d.records]),M=(0,u.useMemo)(function(){var e=(h-1)*S;return z.slice(e,e+S)},[z,h,S]),X=(0,l.useMemoizedFn)(function(t){p.viewer.drawer({width:"50%",closable:!0,content:function(){return c().createElement(eb,{activeRole:e.activeRole,availableActions:e.availableActions,collection:t,dataSource:e.dataSource,t:e.t,onSubmitted:function(){P.refresh()}})}})}),I=(0,u.useMemo)(function(){return[{title:A("Collection display name"),dataIndex:"title",width:5*m.sizeXXL,ellipsis:!0,render:function(t){return(0,s.hd)(t,e.t)}},{title:A("Collection name"),dataIndex:"name",width:5*m.sizeXXL,ellipsis:!0},{title:e.t("Permission policy"),dataIndex:"usingConfig",width:4*m.sizeXXL,render:function(t){return"resourceAction"===t?c().createElement(i.Tag,{color:"orange"},e.t("Individual")):c().createElement(i.Tag,null,e.t("General"))}},{title:e.t("Actions"),width:3*m.sizeXXL,render:function(t,n){return c().createElement("a",{onClick:function(){return X(n)}},e.t("Configure"))}}]},[X,e,A,m.sizeXXL]),F=(0,u.useMemo)(function(){return{current:h,pageSize:S,total:z.length,onChange:function(e,t){g(e),O(t)}}},[z.length,h,S]);return c().createElement("div",{className:(0,r.css)(eo())},c().createElement("div",{className:(0,r.css)(ea(),m.marginSM,m.marginSM)},c().createElement(o.CollectionFilter,{collection:C,t:A,filterableFieldNames:["title","name"],onChange:function(e){g(1),j(e)}})),c().createElement(o.Table,{rowKey:"name",loading:P.loading,dataSource:M,columns:I,pagination:F,scroll:{x:"max-content",y:"100%"},className:v}))}function eg(e){return c().createElement(o.ExtendCollectionsProvider,{collections:[eu]},c().createElement(eh,e))}function ew(e){var t=e.activeRole,n=e.availableActions,r=e.dataSource,l=e.t,s=(0,a.useFlowContext)(),f=(0,u.useRef)(new Map),d=s.app.pm.get(U.A),m=(0,u.useMemo)(function(){return{activeRole:t,availableActions:n,dataSource:r,t:l}},[t,n,r,l]),p=(0,u.useMemo)(function(){return(null==d?void 0:d.getPermissionTabs(m).map(function(e){var t;return{key:e.key,label:e.label,sort:null!=(t=e.sort)?t:100,Component:function(e,t,n){var r=e.get(t);if((null==r?void 0:r.loader)===n)return r.Component;var o=(0,u.lazy)(n);return e.set(t,{loader:n,Component:o}),o}(f.current,e.key,e.componentLoader)}}))||[]},[d,m]),y=(0,u.useMemo)(function(){var e,o=new Map;return[{key:"general",label:l("General action permissions"),sort:10,children:c().createElement(ev,{activeRole:t,availableActions:n,dataSource:r,t:l})},{key:"actions",label:l("Action permissions"),sort:20,children:c().createElement(eg,{activeRole:t,availableActions:n,dataSource:r,t:l})}].concat(function(e){if(Array.isArray(e))return W(e)}(e=p.map(function(e){var t,n,r=e.Component;return t=Q({},function(e,t){if(null==e)return{};var n,r,o,a={};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)&&(a[r]=e[r]);return a}if(a=function(e,t){if(null==e)return{};var n,r,o={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[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)&&(a[r]=e[r]);return a}(e,["Component"])),n=n={children:c().createElement(u.Suspense,{fallback:null},c().createElement(r,m))},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t}))||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ee(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.")}()).forEach(function(e){o.set(e.key,e)}),Array.from(o.values()).sort(function(e,t){return e.sort-t.sort})},[t,n,r,p,l,m]);return c().createElement(o.DrawerFormLayout,{title:l("Configure permission"),footer:c().createElement(c().Fragment,null)},c().createElement(i.Tabs,{items:y}))}function eS(e){var t,n,f,d,m=i.theme.useToken().token,p=(0,a.useFlowContext)(),y=(0,a.useFlowEngine)(),v=(0,l.useMemoizedFn)(function(e,t){return y.context.t(e,Q({ns:[G.CU,"client"]},t))}),b=es(),h=Y((0,u.useState)(1),2),g=h[0],w=h[1],S=Y((0,u.useState)(50),2),O=S[0],x=S[1],E=(0,l.useRequest)(function(){return J(function(){var e,t;return et(this,function(n){switch(n.label){case 0:return[4,p.api.resource("availableActions").list()];case 1:return[2,(null==(t=n.sent())||null==(e=t.data)?void 0:e.data)||[]]}})})()}),j=(0,l.useRequest)(function(){return J(function(){return et(this,function(e){switch(e.label){case 0:return[4,p.api.resource("dataSources").list({page:g,pageSize:O})];case 1:return[2,ec(e.sent())]}})})()},{refreshDeps:[g,O]}),C=(0,l.useMemoizedFn)(function(t){p.viewer.drawer({width:"50%",closable:!0,content:function(){return c().createElement(ew,{activeRole:e.activeRole,availableActions:E.data||[],dataSource:t,t:v})}})}),k=(0,u.useMemo)(function(){return[{title:v("Data source display name"),dataIndex:"displayName",width:5*m.sizeXXL,ellipsis:!0,render:function(e){return(0,s.hd)(e,v)}},{title:v("Data source name"),dataIndex:"key",width:5*m.sizeXXL,ellipsis:!0},{title:v("Actions"),width:3*m.sizeXXL,render:function(e,t){return c().createElement("a",{onClick:function(){return C(t)}},v("Configure"))}}]},[C,v,m.sizeXXL]),A=(0,u.useMemo)(function(){var e,t,n,r,o;return{current:null!=(e=null==(n=j.data)?void 0:n.page)?e:g,pageSize:null!=(t=null==(r=j.data)?void 0:r.pageSize)?t:O,total:null==(o=j.data)?void 0:o.total,onChange:function(e,t){w(e),x(t)}}},[g,O,null==(t=j.data)?void 0:t.page,null==(n=j.data)?void 0:n.pageSize,null==(f=j.data)?void 0:f.total]);return e.activeRole?c().createElement("div",{className:(0,r.css)(el(),m.marginSM)},c().createElement(i.Typography.Text,{strong:!0},v("Data sources")),E.error?c().createElement(i.Alert,{type:"error",message:E.error.message,showIcon:!0}):null,c().createElement(o.Table,{rowKey:"key",loading:j.loading||E.loading,dataSource:(null==(d=j.data)?void 0:d.records)||[],columns:k,pagination:A,scroll:{x:"max-content",y:"100%"},className:(0,r.cx)(b)})):c().createElement(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE})}}}]);
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).push([["907"],{390:function(e,t,n){n.r(t),n.d(t,{default:function(){return eS}});var r=n(477),o=n(485),a=n(694),l=n(625),i=n(59),u=n(155),c=n.n(u),s=n(938);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){d(e,t,n[t])})}return e}function p(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function y(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)||h(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function b(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||h(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){if(e){if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(e,t)}}function g(){var e=v(["\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);\n column-gap: ","px;\n align-items: center;\n white-space: nowrap;\n\n .ant-checkbox-wrapper {\n grid-column: 2;\n }\n\n .nb-field-permission-title {\n grid-column: 3;\n }\n "]);return g=function(){return e},e}function w(){var e=v(["\n display: flex;\n justify-content: center;\n align-items: center;\n "]);return w=function(){return e},e}function S(e){return Object.entries(e).map(function(e){var t=y(e,2),n=t[0],r=t[1];return"all"===r?n:"".concat(n,":").concat(r)})}function O(e){return!!(e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Object.keys(e).length)}function x(e,t){return t?c().createElement(i.Tag,{color:"green"},e("Action on new records")):c().createElement(i.Tag,{color:"geekblue"},e("Action on existing records"))}function E(e){var t=i.theme.useToken().token,n=e.value,r=e.onChange,a=e.availableActions,l=e.t,f=(0,u.useMemo)(function(){var e,t;return t={},null==n||null==(e=n.forEach)||e.call(n,function(e){var n=y(e.split(":"),2),r=n[0],o=n[1];r&&(t[r]=o||"all")}),t},[n]),v=(0,u.useMemo)(function(){return a.map(function(e){return p(m({},e),{enabled:!!f[e.name],scope:f[e.name]||"all"})})},[a,f]),b=(0,u.useMemo)(function(){return[{title:l("Action display name"),dataIndex:"displayName",width:4*t.sizeXXL,render:function(e){return(0,s.hd)(e,l)}},{title:l("Action type"),dataIndex:"onNewRecord",width:4*t.sizeXXL,render:function(e){return x(l,e)}},{title:l("Allow"),dataIndex:"enabled",align:"center",width:2*t.sizeXXL,render:function(e,t){return c().createElement(i.Checkbox,{checked:e,onChange:function(){var n=m({},f);e?delete n[t.name]:n[t.name]="all",null==r||r(S(n))}})}},{title:l("Data scope"),dataIndex:"scope",width:4*t.sizeXXL,render:function(e,t){return t.onNewRecord?null:c().createElement(i.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:e,options:[{label:l("All records"),value:"all"},{label:l("Own records"),value:"own"}],onChange:function(e){var n=p(m({},f),d({},t.name,e));null==r||r(S(n))}})}}]},[r,f,l,t.sizeXXL]);return c().createElement(o.Table,{rowKey:"name",size:"small",pagination:!1,dataSource:v,columns:b,scroll:{x:"max-content"}})}function j(e){var t=i.theme.useToken().token,n=e.value,a=e.onChange,f=e.availableActions,y=e.collectionFields,v=e.renderScopeSelect,h=e.t,S=(0,u.useMemo)(function(){return(0,r.css)(g(),t.marginXXS)},[t.marginXXS]),E=(0,u.useMemo)(function(){return(0,r.css)(w())},[]),j=(0,u.useMemo)(function(){var e,t;return t={},null==n||null==(e=n.forEach)||e.call(n,function(e){if(null==e?void 0:e.name){var n=O(e.scope)?void 0:e.scope,r=null!=n?n:null==e.scopeId?void 0:{id:e.scopeId};t[e.name]=p(m({},e),{scope:r})}}),t},[n]),C=(0,u.useMemo)(function(){return f.filter(function(e){return e.allowConfigureFields})},[f]),k=(0,l.useMemoizedFn)(function(e){null==a||a(Object.values(e).map(function(e){return p(m({},e),{scope:O(e.scope)?null:e.scope})}))}),A=(0,l.useMemoizedFn)(function(e){var t=m({},j);t[e]?delete t[e]:t[e]={name:e,fields:y.map(function(e){return e.name})},k(t)}),P=(0,l.useMemoizedFn)(function(e,t){var n,r,o,a;k((n=j,r=e,o=t,a=y,p(m({},n),d({},r,p(m({},n[r]||{name:r,fields:a.map(function(e){return e.name})}),{scope:o})))))}),z=(0,u.useMemo)(function(){return f.map(function(e){var t,n;return p(m({},e),{enabled:!!j[e.name],scope:null!=(t=null==(n=j[e.name])?void 0:n.scope)?t:null})})},[j,f]),M=(0,u.useMemo)(function(){return y.map(function(e){var t=m({},e);return C.forEach(function(n){var r,o;t[n.name]=!!(null==(o=j[n.name])||null==(r=o.fields)?void 0:r.includes(e.name))}),t})},[j,C,y]),X=(0,u.useMemo)(function(){return[{title:h("Action display name"),dataIndex:"displayName",width:4*t.sizeXXL,render:function(e){return(0,s.hd)(e,h)}},{title:h("Action type"),dataIndex:"onNewRecord",width:4*t.sizeXXL,render:function(e){return x(h,e)}},{title:h("Allow"),dataIndex:"enabled",align:"center",width:2*t.sizeXXL,render:function(e,t){return c().createElement(i.Checkbox,{checked:e,onChange:function(){return A(t.name)}})}},{title:h("Data scope"),dataIndex:"scope",width:5*t.sizeXXL,render:function(e,t){return t.onNewRecord?null:v({value:e,onChange:function(e){return P(t.name,e)},action:t})}}]},[v,P,h,A,t.sizeXXL]),I=(0,u.useMemo)(function(){return[{title:h("Field display name"),dataIndex:["uiSchema","title"],width:4*t.sizeXXL,render:function(e,t){return(0,s.hd)(e,h)||t.name}}].concat(b(C.map(function(e){var n,r,o=y.length>0&&y.length===(null==(r=j[e.name])||null==(n=r.fields)?void 0:n.length);return{title:c().createElement("span",{className:S},c().createElement(i.Checkbox,{checked:o,onChange:function(){var t=m({},j),n=t[e.name]||{name:e.name};n.fields=o?[]:y.map(function(e){return e.name}),t[e.name]=n,k(t)}}),c().createElement("span",{className:"nb-field-permission-title"},(0,s.hd)(e.displayName,h))),dataIndex:e.name,align:"center",width:3*t.sizeXXL,render:function(t,n){return c().createElement("span",{className:E},c().createElement(i.Checkbox,{checked:t,onChange:function(){var r=m({},j),o=r[e.name]||{name:e.name},a=b(o.fields||[]);t?o.fields=a.filter(function(e){return e!==n.name}):o.fields=Array.from(new Set(b(a).concat([n.name]))),r[e.name]=o,k(r)}}))}}})))},[j,C,y,k,E,S,h,t.sizeXXL]);return c().createElement(c().Fragment,null,c().createElement(i.Form.Item,{label:h("Action permission")},c().createElement(o.Table,{rowKey:"name",size:"small",pagination:!1,dataSource:z,columns:X,scroll:{x:"max-content"}})),c().createElement(i.Form.Item,{label:h("Field permission")},c().createElement(o.Table,{rowKey:"name",size:"small",pagination:!1,dataSource:M,columns:I})))}function C(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).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){C(a,r,o,l,i,"next",e)}function i(e){C(a,r,o,l,i,"throw",e)}l(void 0)})}}function A(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 P(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function z(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:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)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 a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}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 M=n(375);function X(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 I(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function F(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){I(a,r,o,l,i,"next",e)}function i(e){I(a,r,o,l,i,"throw",e)}l(void 0)})}}function R(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 X(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 X(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function N(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function D(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:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)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 a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function L(){var e=T(["\n height: 100%;\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n "]);return L=function(){return e},e}function K(){var e=T(["\n flex: 0 0 auto;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: ","px;\n flex-wrap: wrap;\n margin-bottom: ","px;\n "]);return K=function(){return e},e}function _(){var e=T(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content,\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return _=function(){return e},e}function $(e){if(e&&(void 0===e?"undefined":N(e))==="object"){var t;return null!=(t=e.id)?t:e.key}return e}function B(e){var t,n,r=(0,a.useFlowContext)(),l=R(i.Form.useForm(),1)[0],s=(0,u.useRef)(null),f=(0,u.useMemo)(function(){return r.api.resource("dataSources/".concat(e.dataSourceKey,"/rolesResourcesScopes"))},[r.api,e.dataSourceKey]);return c().createElement(o.DrawerFormLayout,{title:(null==(t=e.initialValues)?void 0:t.id)!=null?e.t("Edit record"):e.t("Add record"),onSubmit:function(){return F(function(){var t,n,r;return D(this,function(o){switch(o.label){case 0:return[4,l.validateFields()];case 1:var a;return r=o.sent(),[4,(a={id:null==(t=e.initialValues)?void 0:t.id,resourceName:e.resourceName,values:r,scope:null==(n=s.current)?void 0:n.getFilter()},k(function(){var e;return z(this,function(t){switch(t.label){case 0:if(e=P(A({},a.values),{resourceName:a.resourceName,scope:a.scope}),null==a.id)return[3,2];return[4,f.update({filterByTk:a.id,values:e})];case 1:case 3:return t.sent(),[2];case 2:return[4,f.create({values:e})]}})})())];case 2:return o.sent(),e.onSubmitted(),[2]}})})()},submitText:e.t("Submit"),cancelText:e.t("Cancel")},c().createElement(i.Form,{form:l,layout:"vertical",initialValues:e.initialValues},c().createElement(i.Form.Item,{name:"name",label:e.t("Scope name"),rules:[{required:!0,message:e.t("The field value is required")}]},c().createElement(i.Input,null)),c().createElement(i.Form.Item,{label:e.t("Data scope")},c().createElement(o.CollectionFilterPanel,{ref:s,collection:e.collection,initialValue:null==(n=e.initialValues)?void 0:n.scope,t:e.t,noIgnore:!0}))))}function q(e){var t,n,f,d,m,p,y,v=i.theme.useToken().token,b=(0,a.useFlowContext)(),h=i.App.useApp().modal,g=R((0,u.useState)($(e.value)),2),w=g[0],S=g[1],O=R((0,u.useState)(1),2),x=O[0],E=O[1],j=R((0,u.useState)(20),2),C=j[0],A=j[1],P=(0,u.useMemo)(function(){return b.api.resource("dataSources/".concat(e.dataSourceKey,"/rolesResourcesScopes"))},[b.api,e.dataSourceKey]),X=(0,l.useRequest)(function(){return F(function(){return D(this,function(t){switch(t.label){case 0:return[4,P.list({page:x,pageSize:C,fields:["id","key","name","resourceName","scope"],filter:{$or:[{resourceName:e.resourceName},{resourceName:null}]}})];case 1:var n,r,o,a,l,i;return[2,{rows:i=Array.isArray(l=null==(n=t.sent())||null==(r=n.data)?void 0:r.data)?l:(null==l?void 0:l.data)||(null==l?void 0:l.rows)||[],total:(null==l?void 0:l.count)||(null==l?void 0:l.total)||(null==n||null==(a=n.data)||null==(o=a.meta)?void 0:o.count)||i.length,page:null==l?void 0:l.page,pageSize:null==l?void 0:l.pageSize}]}})})()},{refreshDeps:[e.dataSourceKey,e.resourceName,x,C]}),I=(null==(d=X.data)?void 0:d.rows)||[],T=I.find(function(e){return String($(e))===String(w)})||(e.value&&"object"===N(e.value)&&String($(e.value))===String(w)?e.value:void 0),q=(t=i.theme.useToken().token,n=(0,u.useMemo)(function(){return(0,r.css)(L())},[]),f=(0,u.useMemo)(function(){return(0,r.css)(K(),t.marginSM,t.marginSM)},[t.marginSM]),{contentClassName:n,tableClassName:(0,u.useMemo)(function(){return(0,r.css)(_())},[]),toolbarClassName:f}),V=q.contentClassName,G=q.tableClassName,U=q.toolbarClassName,W=(0,l.useMemoizedFn)(function(t){b.viewer.drawer({width:"50%",closable:!0,content:function(){return c().createElement(B,{collection:e.collection,dataSourceKey:e.dataSourceKey,resourceName:e.resourceName,initialValues:t,t:e.t,onSubmitted:function(){X.refresh()}})}})}),H=(0,l.useMemoizedFn)(function(t){h.confirm({title:e.t("Delete record"),content:e.t("Are you sure you want to delete it?"),onOk:function(){return F(function(){return D(this,function(e){switch(e.label){case 0:var n;return[4,(n=t.id,k(function(){return z(this,function(e){switch(e.label){case 0:return[4,P.destroy({filterByTk:n})];case 1:return e.sent(),[2]}})})())];case 1:return e.sent(),X.refresh(),[2]}})})()}})}),J=(0,u.useMemo)(function(){return[{title:e.t("Scope name"),dataIndex:"name",width:5*v.sizeXXL,ellipsis:!0,render:function(t){return(0,s.hd)(t,e.t)}},{title:e.t("Actions"),width:4*v.sizeXXL,render:function(t,n){var r=(null==n?void 0:n.key)==="all"||(null==n?void 0:n.key)==="own";return c().createElement(i.Space,{size:v.marginXXS},c().createElement(i.Button,{type:"link",size:"small",disabled:r,onClick:function(){r||W(n)}},e.t("Edit")),c().createElement(i.Button,{type:"link",size:"small",disabled:r,onClick:function(){r||H(n)}},e.t("Delete")))}}]},[H,W,e,v.marginXXS,v.sizeXXL]),Q=(0,u.useMemo)(function(){var e,t,n,r,o;return{current:null!=(e=null==(n=X.data)?void 0:n.page)?e:x,pageSize:null!=(t=null==(r=X.data)?void 0:r.pageSize)?t:C,total:null==(o=X.data)?void 0:o.total,onChange:function(e,t){E(e),A(t)}}},[x,C,null==(m=X.data)?void 0:m.page,null==(p=X.data)?void 0:p.pageSize,null==(y=X.data)?void 0:y.total]);return c().createElement(o.DrawerFormLayout,{title:e.t("Select record"),submitText:e.t("Submit"),cancelText:e.t("Cancel"),onSubmit:function(){return F(function(){var t;return D(this,function(n){return null==(t=e.onChange)||t.call(e,T||null),e.onClose(),[2]})})()},footer:c().createElement(i.Space,null,c().createElement(i.Button,{onClick:e.onClose},e.t("Cancel")),c().createElement(i.Button,{type:"primary",onClick:function(){var t;null==(t=e.onChange)||t.call(e,T||null),e.onClose()}},e.t("Submit")))},c().createElement("div",{className:V},c().createElement("div",{className:U},c().createElement(i.Button,{type:"primary",icon:c().createElement(M.PlusOutlined,null),onClick:function(){return W()}},e.t("Add new"))),c().createElement(o.Table,{rowKey:"id",showIndex:!1,loading:X.loading,dataSource:I,columns:J,pagination:Q,scroll:{x:"max-content",y:"100%"},className:G,rowSelection:{type:"radio",selectedRowKeys:null==w?[]:[w],onChange:function(e){return S(e[0])}}})))}function V(e){var t,n=i.theme.useToken().token,r=(0,a.useFlowContext)(),o=(t=e.value)&&(void 0===t?"undefined":N(t))==="object"?t:void 0,f=$(e.value),d=(0,u.useMemo)(function(){return r.api.resource("dataSources/".concat(e.dataSourceKey,"/rolesResourcesScopes"))},[r.api,e.dataSourceKey]),m=(0,l.useRequest)(function(){return F(function(){var e,t;return D(this,function(n){switch(n.label){case 0:if(null==f||(null==o?void 0:o.name))return[2,o];return[4,d.get({filterByTk:f})];case 1:return[2,null==(t=n.sent())||null==(e=t.data)?void 0:e.data]}})})()},{refreshDeps:[f,e.dataSourceKey],ready:null!=f}),p=(null==o?void 0:o.name)?o:m.data,y=(null==p?void 0:p.name)?(0,s.Ad)(p.name,e.t,""):void 0,v=null==f?void 0:{label:y||String(f),value:String(f)},b=(0,l.useMemoizedFn)(function(){r.viewer.drawer({width:"50%",closable:!0,styles:{body:{display:"flex",flexDirection:"column",overflow:"hidden"}},content:function(t){var n,r,o=t.close;return c().createElement(q,(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}({},e),r=r={value:p||e.value,onClose:o},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(r)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}),n))}})});return c().createElement(i.Tooltip,{title:y},c().createElement(i.Select,{size:"small",value:v,labelInValue:!0,popupMatchSelectWidth:!1,open:!1,placeholder:e.t("Select record"),options:v?[v]:[],allowClear:!0,showSearch:!1,style:{minWidth:5*n.sizeXXL},onClick:b,onClear:function(){var t;null==(t=e.onChange)||t.call(e,null)}}))}var G=n(143),U=n(832);function W(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),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function J(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,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)})}}function Q(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 Y(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)||ee(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 Z(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function ee(e,t){if(e){if("string"==typeof e)return W(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 W(e,t)}}function et(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:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)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 a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function en(){var e=Z(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content,\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return en=function(){return e},e}function er(){var e=Z(["\n width: 100%;\n "]);return er=function(){return e},e}function eo(){var e=Z(["\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n "]);return eo=function(){return e},e}function ea(){var e=Z(["\n flex: 0 0 auto;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: ","px;\n flex-wrap: wrap;\n margin-bottom: ","px;\n "]);return ea=function(){return e},e}function el(){var e=Z(["\n width: 100%;\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n gap: ","px;\n "]);return el=function(){return e},e}var ei="dataSourcePermissionCollectionsFilter",eu={name:ei,fields:[{type:"string",name:"title",interface:"input",uiSchema:{title:'{{t("Collection display name")}}',type:"string"}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Collection name")}}',type:"string"}}]};function ec(e){var t,n,r,o,a,l=null==e||null==(t=e.data)?void 0:t.data;return Array.isArray(l)?{records:l,total:(null==e||null==(a=e.data)||null==(o=a.meta)?void 0:o.count)||l.length}:{records:(null==l?void 0:l.rows)||(null==l?void 0:l.data)||[],total:(null==l?void 0:l.count)||(null==l?void 0:l.total)||(null==e||null==(r=e.data)||null==(n=r.meta)?void 0:n.count)||0,page:null==l?void 0:l.page,pageSize:null==l?void 0:l.pageSize}}function es(){return(0,u.useMemo)(function(){return(0,r.css)(en())},[])}function ef(e){var t;return null==e||null==(t=e.data)?void 0:t.data}function ed(e){return!!e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Array.isArray(e)}function em(e){return String(null!=e?e:"").toLowerCase()}function ep(e,t,n){var r=em(n);if(!r)return!0;switch(t){case"$eq":return e.some(function(e){return e===r});case"$ne":return e.every(function(e){return e!==r});case"$notIncludes":return e.every(function(e){return!e.includes(r)});default:return e.some(function(e){return e.includes(r)})}}function ey(e,t){if(!ed(t))return ep(e,"$includes",t);var n=Object.entries(t).filter(function(e){return Y(e,1)[0].startsWith("$")});return!n.length||n.every(function(t){var n=Y(t,2);return ep(e,n[0],n[1])})}function ev(e){var t,n,o=(0,a.useFlowContext)(),s=i.App.useApp().message,f=Y((0,u.useState)([]),2),d=f[0],m=f[1],p=(0,u.useMemo)(function(){return o.api.resource("dataSources/".concat(e.dataSource.key,"/roles"))},[o.api,e.dataSource.key]),y=(0,l.useRequest)(function(){return J(function(){var t,n,r,o;return et(this,function(a){switch(a.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))return[2,[]];return[4,p.get({filterByTk:e.activeRole.name})];case 1:return m(o=(null==(r=ef(a.sent()))||null==(n=r.strategy)?void 0:n.actions)||[]),[2,o]}})})()},{refreshDeps:[null==(t=e.activeRole)?void 0:t.name,e.dataSource.key],ready:!!(null==(n=e.activeRole)?void 0:n.name)}),v=(0,l.useMemoizedFn)(function(t){return J(function(){var n,r;return et(this,function(o){var a,l;switch(o.label){case 0:if(!(null==(n=e.activeRole)?void 0:n.name))return[2];m(t),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,(a=e.activeRole.name,k(function(){return z(this,function(e){switch(e.label){case 0:return[4,p.update({filterByTk:a,values:{strategy:{actions:t}}})];case 1:return e.sent(),[2]}})})())];case 2:return o.sent(),s.success(e.t("Saved successfully")),[3,4];case 3:return r=o.sent(),s.error((null!=(l=Error)&&"u">typeof Symbol&&l[Symbol.hasInstance]?!!l[Symbol.hasInstance](r):r instanceof l)?r.message:e.t("Save failed")),y.refresh(),[3,4];case 4:return[2]}})})()});return c().createElement("div",{className:(0,r.css)(er())},c().createElement(E,{value:d,onChange:v,availableActions:e.availableActions,t:e.t}))}function eb(e){var t,n,r,s,f,d,m=(0,a.useFlowContext)(),p=i.App.useApp().message,y=Y(i.Form.useForm(),1)[0],v=i.Form.useWatch("usingActionsConfig",y),b=(t=e.dataSource.key,n=e.collection.name,null==(r=m.dataSourceManager.getDataSource(t))?void 0:r.getCollection(n)),h=(0,u.useMemo)(function(){var t;return m.api.resource("roles.dataSourceResources",null==(t=e.activeRole)?void 0:t.name)},[m.api,null==(s=e.activeRole)?void 0:s.name]),g=(0,l.useRequest)(function(){return J(function(){var t,n,r;return et(this,function(o){switch(o.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))return[2,void 0];if(!e.collection.exists)return n={usingActionsConfig:!1,actions:[]},y.setFieldsValue(n),[2,n];return[4,h.get({filter:{dataSourceKey:e.dataSource.key,name:e.collection.name},appends:["actions","actions.scope"]})];case 1:return r=ef(o.sent())||{usingActionsConfig:"resourceAction"===e.collection.usingConfig,actions:[]},y.setFieldsValue(r),[2,r]}})})()},{refreshDeps:[null==(f=e.activeRole)?void 0:f.name,e.collection.name,e.dataSource.key],ready:!!(null==(d=e.activeRole)?void 0:d.name)});return c().createElement(o.DrawerFormLayout,{title:e.t("Configure permission"),onSubmit:function(){return J(function(){var t,n;return et(this,function(r){switch(r.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))throw Error("Role is required");return[4,y.validateFields()];case 1:var o,a;return n=r.sent(),[4,(o=e.collection,a=e.dataSource.key,k(function(){var e;return z(this,function(t){switch(t.label){case 0:if(e=P(A({},n),{name:o.name,dataSourceKey:a}),!o.exists)return[3,2];return[4,h.update({filter:{dataSourceKey:a,name:o.name},values:e})];case 1:case 3:return t.sent(),[2];case 2:return[4,h.create({values:e})]}})})())];case 2:return r.sent(),p.success(e.t("Saved successfully")),e.onSubmitted(),[2]}})})()},submitting:g.loading,submitText:e.t("Submit"),cancelText:e.t("Cancel")},c().createElement(i.Form,{form:y,layout:"vertical",initialValues:{usingActionsConfig:!1,actions:[]}},c().createElement(i.Form.Item,{name:"usingActionsConfig",label:e.t("Permission policy")},c().createElement(i.Radio.Group,{options:[{value:!1,label:e.t("General")},{value:!0,label:e.t("Individual")}]})),v?c().createElement(i.Form.Item,{name:"actions",noStyle:!0},c().createElement(j,{availableActions:e.availableActions,collectionFields:e.collection.fields||[],t:e.t,renderScopeSelect:function(t){var n=t.value,r=t.onChange;return c().createElement(V,{value:n,onChange:r,collection:b,dataSourceKey:e.dataSource.key,resourceName:e.collection.name,t:e.t})}})):null))}function eh(e){var t,n,f,d,m=i.theme.useToken().token,p=(0,a.useFlowContext)(),y=(0,a.useFlowEngine)(),v=es(),b=Y((0,u.useState)(1),2),h=b[0],g=b[1],w=Y((0,u.useState)(20),2),S=w[0],O=w[1],x=Y((0,u.useState)(),2),E=x[0],j=x[1],C=null==(t=p.dataSourceManager.getDataSource("main"))?void 0:t.getCollection(ei),k=(0,u.useMemo)(function(){var t;return p.api.resource("roles.dataSourcesCollections",null==(t=e.activeRole)?void 0:t.name)},[p.api,null==(n=e.activeRole)?void 0:n.name]),A=(0,l.useMemoizedFn)(function(e,t){return y.context.t(e,Q({ns:["client",G.CU]},t))}),P=(0,l.useRequest)(function(){return J(function(){var t;return et(this,function(n){switch(n.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))return[2,{records:[],total:0}];return[4,k.list({page:1,pageSize:20,filter:{dataSourceKey:e.dataSource.key},sort:["sort"],appends:["fields"]})];case 1:return[2,ec(n.sent())]}})})()},{refreshDeps:[null==(f=e.activeRole)?void 0:f.name,e.dataSource.key]}),z=(0,u.useMemo)(function(){var t;return((null==(t=P.data)?void 0:t.records)||[]).filter(function(t){return function e(t,n,r){if(!ed(n))return!0;var o=[];if(Array.isArray(n.$and)&&o.push(n.$and.every(function(n){return e(t,n,r)})),Array.isArray(n.$or)&&o.push(n.$or.some(function(n){return e(t,n,r)})),Object.prototype.hasOwnProperty.call(n,"title")){var a=Array.from(new Set([null==t.title?"":String(t.title),(0,s.Ad)(t.title,r,"")].filter(Boolean).map(em)));o.push(ey(a,n.title))}return Object.prototype.hasOwnProperty.call(n,"name")&&o.push(ey([em(t.name)],n.name)),!o.length||o.every(Boolean)}(t,E,e.t)})},[E,e.t,null==(d=P.data)?void 0:d.records]),M=(0,u.useMemo)(function(){var e=(h-1)*S;return z.slice(e,e+S)},[z,h,S]),X=(0,l.useMemoizedFn)(function(t){p.viewer.drawer({width:"50%",closable:!0,content:function(){return c().createElement(eb,{activeRole:e.activeRole,availableActions:e.availableActions,collection:t,dataSource:e.dataSource,t:e.t,onSubmitted:function(){P.refresh()}})}})}),I=(0,u.useMemo)(function(){return[{title:A("Collection display name"),dataIndex:"title",width:5*m.sizeXXL,ellipsis:!0,render:function(t){return(0,s.hd)(t,e.t)}},{title:A("Collection name"),dataIndex:"name",width:5*m.sizeXXL,ellipsis:!0},{title:e.t("Permission policy"),dataIndex:"usingConfig",width:4*m.sizeXXL,render:function(t){return"resourceAction"===t?c().createElement(i.Tag,{color:"orange"},e.t("Individual")):c().createElement(i.Tag,null,e.t("General"))}},{title:e.t("Actions"),width:3*m.sizeXXL,render:function(t,n){return c().createElement("a",{onClick:function(){return X(n)}},e.t("Configure"))}}]},[X,e,A,m.sizeXXL]),F=(0,u.useMemo)(function(){return{current:h,pageSize:S,total:z.length,onChange:function(e,t){g(e),O(t)}}},[z.length,h,S]);return c().createElement("div",{className:(0,r.css)(eo())},c().createElement("div",{className:(0,r.css)(ea(),m.marginSM,m.marginSM)},c().createElement(o.CollectionFilter,{collection:C,t:A,filterableFieldNames:["title","name"],onChange:function(e){g(1),j(e)}})),c().createElement(o.Table,{rowKey:"name",loading:P.loading,dataSource:M,columns:I,pagination:F,scroll:{x:"max-content",y:"100%"},className:v}))}function eg(e){return c().createElement(o.ExtendCollectionsProvider,{collections:[eu]},c().createElement(eh,e))}function ew(e){var t=e.activeRole,n=e.availableActions,r=e.dataSource,l=e.t,s=(0,a.useFlowContext)(),f=(0,u.useRef)(new Map),d=s.app.pm.get(U.Ay),m=(0,u.useMemo)(function(){return{activeRole:t,availableActions:n,dataSource:r,t:l}},[t,n,r,l]),p=(0,u.useMemo)(function(){return(null==d?void 0:d.getPermissionTabs(m).map(function(e){var t;return{key:e.key,label:e.label,sort:null!=(t=e.sort)?t:100,Component:function(e,t,n){var r=e.get(t);if((null==r?void 0:r.loader)===n)return r.Component;var o=(0,u.lazy)(n);return e.set(t,{loader:n,Component:o}),o}(f.current,e.key,e.componentLoader)}}))||[]},[d,m]),y=(0,u.useMemo)(function(){var e,o=new Map;return[{key:"general",label:l("General action permissions"),sort:10,children:c().createElement(ev,{activeRole:t,availableActions:n,dataSource:r,t:l})},{key:"actions",label:l("Action permissions"),sort:20,children:c().createElement(eg,{activeRole:t,availableActions:n,dataSource:r,t:l})}].concat(function(e){if(Array.isArray(e))return W(e)}(e=p.map(function(e){var t,n,r=e.Component;return t=Q({},function(e,t){if(null==e)return{};var n,r,o,a={};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)&&(a[r]=e[r]);return a}if(a=function(e,t){if(null==e)return{};var n,r,o={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[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)&&(a[r]=e[r]);return a}(e,["Component"])),n=n={children:c().createElement(u.Suspense,{fallback:null},c().createElement(r,m))},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t}))||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ee(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.")}()).forEach(function(e){o.set(e.key,e)}),Array.from(o.values()).sort(function(e,t){return e.sort-t.sort})},[t,n,r,p,l,m]);return c().createElement(o.DrawerFormLayout,{title:l("Configure permission"),footer:c().createElement(c().Fragment,null)},c().createElement(i.Tabs,{items:y}))}function eS(e){var t,n,f,d,m=i.theme.useToken().token,p=(0,a.useFlowContext)(),y=(0,a.useFlowEngine)(),v=(0,l.useMemoizedFn)(function(e,t){return y.context.t(e,Q({ns:[G.CU,"client"]},t))}),b=es(),h=Y((0,u.useState)(1),2),g=h[0],w=h[1],S=Y((0,u.useState)(50),2),O=S[0],x=S[1],E=(0,l.useRequest)(function(){return J(function(){var e,t;return et(this,function(n){switch(n.label){case 0:return[4,p.api.resource("availableActions").list()];case 1:return[2,(null==(t=n.sent())||null==(e=t.data)?void 0:e.data)||[]]}})})()}),j=(0,l.useRequest)(function(){return J(function(){return et(this,function(e){switch(e.label){case 0:return[4,p.api.resource("dataSources").list({page:g,pageSize:O})];case 1:return[2,ec(e.sent())]}})})()},{refreshDeps:[g,O]}),C=(0,l.useMemoizedFn)(function(t){p.viewer.drawer({width:"50%",closable:!0,content:function(){return c().createElement(ew,{activeRole:e.activeRole,availableActions:E.data||[],dataSource:t,t:v})}})}),k=(0,u.useMemo)(function(){return[{title:v("Data source display name"),dataIndex:"displayName",width:5*m.sizeXXL,ellipsis:!0,render:function(e){return(0,s.hd)(e,v)}},{title:v("Data source name"),dataIndex:"key",width:5*m.sizeXXL,ellipsis:!0},{title:v("Actions"),width:3*m.sizeXXL,render:function(e,t){return c().createElement("a",{onClick:function(){return C(t)}},v("Configure"))}}]},[C,v,m.sizeXXL]),A=(0,u.useMemo)(function(){var e,t,n,r,o;return{current:null!=(e=null==(n=j.data)?void 0:n.page)?e:g,pageSize:null!=(t=null==(r=j.data)?void 0:r.pageSize)?t:O,total:null==(o=j.data)?void 0:o.total,onChange:function(e,t){w(e),x(t)}}},[g,O,null==(t=j.data)?void 0:t.page,null==(n=j.data)?void 0:n.pageSize,null==(f=j.data)?void 0:f.total]);return e.activeRole?c().createElement("div",{className:(0,r.css)(el(),m.marginSM)},c().createElement(i.Typography.Text,{strong:!0},v("Data sources")),E.error?c().createElement(i.Alert,{type:"error",message:E.error.message,showIcon:!0}):null,c().createElement(o.Table,{rowKey:"key",loading:j.loading||E.loading,dataSource:(null==(d=j.data)?void 0:d.records)||[],columns:k,pagination:A,scroll:{x:"max-content",y:"100%"},className:(0,r.cx)(b)})):c().createElement(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE})}}}]);
|
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={850:function(e,t,n){n.d(t,{T:function(){return c}});var r=n(485),o=n(59),i=n(155),a=n.n(i),l=n(143);function u(e,t){var n=e[t];return"string"==typeof n?n:void 0}function c(e){var t=(0,l.kj)(),n=Array.isArray(e.dataSource)?e.dataSource:[],c=(0,i.useMemo)(function(){return[{title:t("Field name"),render:function(e,t){return u(t,"name")||u(t,"field")}},{title:t("Field database type"),render:function(e,t){return u(t,"rawType")||u(t,"type")}}]},[t]);return n.length?a().createElement("div",{style:e.style},a().createElement(o.Divider,{plain:!0,orientation:"left",orientationMargin:"0"},a().createElement("h3",null,t("Unknown field type"))),a().createElement("div",{style:{marginBottom:15}},t("The following field types are not compatible and do not support output and display")),a().createElement(r.Table,{columns:c,dataSource:n,pagination:!1,rowKey:function(e){return u(e,"name")||u(e,"field")||u(e,"rawType")||u(e,"type")||""}})):null}},832:function(e,t,n){n.d(t,{A:function(){return eo},v:function(){return er}});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),d=n(850);function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(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 y(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){m(i,r,o,a,l,"next",e)}function l(e){m(i,r,o,a,l,"throw",e)}a(void 0)})}}function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(e){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){b(e,t,n[t])})}return e}function h(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 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)||S(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e){return function(e){if(Array.isArray(e))return p(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||S(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 S(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(e,t)}}function O(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 j=new Set(["hasOne","hasMany","belongsToMany"]),k="__viewUnsupportedFields";function P(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 F(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 A(e){return Array.isArray(e)?e.filter(Boolean):"string"==typeof e?e.split(".").filter(Boolean):[]}function T(e){var t=A(e);return t.length?t.join("."):null}function x(e){return(null==e?void 0:e.options)||e||{}}function E(){var e=(0,l.useFlowContext)();return(0,u.useRequest)(function(){return y(function(){return O(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,P(t.sent())]}})})()})}function C(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=t.dataSourceManager.collectionFieldInterfaceManager,d=(0,o.useRef)(),p=g((0,o.useState)(!1),2),m=p[0],w=p[1],S=c.Form.useWatch("databaseView",e.form),j=c.Form.useWatch("schema",e.form),A=c.Form.useWatch("viewName",e.form),x=(0,o.useMemo)(function(){return S||(A?j?"".concat(j,"@").concat(A):A:void 0)},[S,j,A]),E=(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]),C=(0,u.useRequest)(function(){return y(function(){return O(this,function(e){switch(e.label){case 0:return[4,t.api.resource("dbViews").list()];case 1:return[2,P(e.sent())]}})})()}),I=(0,o.useMemo)(function(){var e=(C.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 x&&!e.some(function(e){return e.value===x})&&e.unshift({value:x,label:j?"".concat(j,".").concat((0,f.hd)(A||x,n)):(0,f.hd)(A||x,n)}),e},[x,n,C.data,j,A]),M=(0,o.useCallback)(function(n,r){return y(function(){var o,i,a,l;return O(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:E,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=h(v({},F(a),F(o.uiSchema||e.uiSchema)),{title:l});return e.source?h(v({},e),{interface:e.interface||o.interface,type:e.type||o.type,uiSchema:u}):h(v({},e,o),{uiSchema:u})}),l=Array.isArray(o.sources)?o.sources:[],e.form.setFieldsValue(b({fields:a.map(function(e){return h(v({},e),{source:T(e.source)})}),sources:l},k,Array.isArray(o.unsupportedFields)?o.unsupportedFields:[])),[3,4];case 3:return w(!1),[7];case 4:return[2]}})})()},[t.api,E,e.form]),_=(0,o.useCallback)(function(t){var n=function(e){if(!e)return{schema:null,viewName:null};var t=g(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(b({databaseView:t,schema:r,viewName:o,fields:[],sources:[]},k,[])),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(){!S&&x&&e.form.setFieldValue("databaseView",x)},[x,e.form,S]),i().createElement(c.Spin,{spinning:m},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:C.loading,options:I,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=E(),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 w(r).concat(w(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 M(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=E(),u=t.dataSourceManager.collectionFieldInterfaceManager,s=t.dataSourceManager.getDataSource("main"),p=c.Form.useWatch("fields",e.form),m=c.Form.useWatch("sources",e.form),y=c.Form.useWatch(k,{form:e.form,preserve:!0}),b=(0,o.useMemo)(function(){return Array.isArray(p)?p:[]},[p]),S=(0,o.useMemo)(function(){return Array.isArray(m)?m:[]},[m]),O=(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=g(e,1)[0],u=g(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=g(e,2),o=r[0],i=r[1];return{label:(null==(t=n[o])?void 0:t.label)||o,options:i}})},[u]),P=(0,o.useMemo)(function(){return S.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&&!j.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,S,n]),C=(0,o.useCallback)(function(t,n){var r=w(b);r.splice(t,1,h(v({},n),{source:T(n.source)})),e.form.setFieldValue("fields",r)},[b,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:P,placeholder:n("Select field source"),value:A(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,h(v({},t),{source:l,interface:(null==f?void 0:f.interface)||t.interface,type:(null==f?void 0:f.type)||t.type,uiSchema:h(v({},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,h(v({},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:O.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,h(v({},t),{interface:e||null,type:(null==s||null==(o=s.default)?void 0:o.type)||t.type,uiSchema:h(v({},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,h(v({},t),{uiSchema:h(v({},F(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)),b.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:b,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")})),i().createElement(d.T,{dataSource:y,style:{marginBottom:24}}))}function _(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=g((0,o.useState)(!1),2),m=p[0],b=p[1],v=g((0,o.useState)([]),2),h=v[0],w=v[1],S=(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 y(function(){var n;return O(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(S)})];case 2:return n=o.sent(),e||w(P(n)),[3,4];case 3:return e||b(!1),[7];case 4:return[2]}})})(),function(){e=!0}},[t.api,S,d.length,u,r]),i().createElement(c.Form.Item,{label:n("Preview")},i().createElement(c.Spin,{spinning:m},i().createElement(c.Table,{bordered:!0,columns:j,dataSource:h,pagination:!1,rowKey:function(e,t){return String(null!=t?t:0)},scroll:{x:1e3,y:300}})))}function q(e){var t=v({},e);return delete t[k],Array.isArray(t.fields)&&(t.fields=t.fields.map(function(e){return h(v({},e),{source:T(e.source)})})),t}var D=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}(),N=n(448);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 R(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 V(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){R(i,r,o,a,l,"next",e)}function l(e){R(i,r,o,a,l,"throw",e)}a(void 0)})}}function $(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function K(e,t,n){return(K=X()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&Z(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 J(e){return(J=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function z(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 G(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 Z(e,t){return(Z=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function H(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 Q(e){var t="function"==typeof Map?new Map:void 0;return(Q=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 K(e,arguments,J(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),Z(n,e)})(e)}function X(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(X=function(){return!!e})()}function Y(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 ee=function(){function e(){$(this,e),W(this,"templates",new Map)}return U(e,[{key:"register",value:function(e,t){var n="string"==typeof e?G(z({},t),{name:(null==t?void 0:t.name)||e}):e;(null==n?void 0:n.name)&&this.templates.set(n.name,G(z({},n),{name:n.name}))}},{key:"get",value:function(e){return e?this.templates.get(e):void 0}},{key:"getAll",value:function(){return H(this.templates.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(){$(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,G(z({},e),{name:n}))}},{key:"remove",value:function(e){this.fields.delete(e)}},{key:"getAll",value:function(){return H(this.fields.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}}]),e}(),en=function(){function e(){$(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 H(this.managerActions).sort(function(e,t){return e.order-t.order})}}]),e}(),er=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 $(this,t),n=t,r=arguments,n=J(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,X()?Reflect.construct(n,r||[],J(this).constructor):n.apply(this,r)),"types",new Map),W(e,"extensionManager",new en),W(e,"collectionTemplateRegistry",new ee),W(e,"collectionPresetFieldRegistry",new et),W(e,"permissionTabRegistry",new D),e}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Z(t,e),U(t,[{key:"load",value:function(){return V(function(){var e,t;return Y(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 V(function(){var e,t,n;return Y(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,N.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("108").then(n.bind(n,703))},hidden:!0,sort:2,aclSnippet:"pm.data-source-manager"}),[2]})}).call(this)}},{key:"registerType",value:function(e,t){this.types.set(e,G(z({},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:M,required:!0,hidden:function(e){return"edit"===e.mode}},{name:"preview",Component:_,hidden:function(e){return"edit"===e.mode}},{name:"writableView",label:'{{t("Allow add new, update and delete actions")}}',component:"Checkbox"}],transformSubmitValues:q}})}}]),t}(Q(r.Plugin)),eo=er},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},442: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+"."+({108:"6e39f84548b492c4",426:"e754c9cc3a1f7c49",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){var n=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");n.indexOf("/static/plugins/@nocobase/plugin-data-source-manager/dist/client-v2/")>=0&&(e=n.replace(/\/[^\/]+$/,"/"))}if(!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-data-source-manager/dist/client-v2/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",i="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var a=window.location.pathname||"/",l=a.indexOf(i);e=l>=0?a.slice(0,l+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),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,g={850:function(e,t,n){n.d(t,{T:function(){return c}});var r=n(485),o=n(59),i=n(155),a=n.n(i),l=n(143);function u(e,t){var n=e[t];return"string"==typeof n?n:void 0}function c(e){var t=(0,l.kj)(),n=Array.isArray(e.dataSource)?e.dataSource:[],c=(0,i.useMemo)(function(){return[{title:t("Field name"),render:function(e,t){return u(t,"name")||u(t,"field")}},{title:t("Field database type"),render:function(e,t){return u(t,"rawType")||u(t,"type")}}]},[t]);return n.length?a().createElement("div",{style:e.style},a().createElement(o.Divider,{plain:!0,orientation:"left",orientationMargin:"0"},a().createElement("h3",null,t("Unknown field type"))),a().createElement("div",{style:{marginBottom:15}},t("The following field types are not compatible and do not support output and display")),a().createElement(r.Table,{columns:c,dataSource:n,pagination:!1,rowKey:function(e){return u(e,"name")||u(e,"field")||u(e,"rawType")||u(e,"type")||""}})):null}},832:function(e,t,n){n.d(t,{CM:function(){return ee},vb:function(){return er},Ay:function(){return eo}});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),d=n(850);function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(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 y(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){m(i,r,o,a,l,"next",e)}function l(e){m(i,r,o,a,l,"throw",e)}a(void 0)})}}function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(e){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){b(e,t,n[t])})}return e}function g(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)||S(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e){return function(e){if(Array.isArray(e))return p(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||S(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 S(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(e,t)}}function O(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 j=new Set(["hasOne","hasMany","belongsToMany"]),k="__viewUnsupportedFields";function P(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 F(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 A(e){return Array.isArray(e)?e.filter(Boolean):"string"==typeof e?e.split(".").filter(Boolean):[]}function T(e){var t=A(e);return t.length?t.join("."):null}function C(e){return(null==e?void 0:e.options)||e||{}}function x(){var e=(0,l.useFlowContext)();return(0,u.useRequest)(function(){return y(function(){return O(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,P(t.sent())]}})})()})}function E(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),m=p[0],w=p[1],S=c.Form.useWatch("databaseView",e.form),j=c.Form.useWatch("schema",e.form),A=c.Form.useWatch("viewName",e.form),C=(0,o.useMemo)(function(){return S||(A?j?"".concat(j,"@").concat(A):A:void 0)},[S,j,A]),x=(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]),E=(0,u.useRequest)(function(){return y(function(){return O(this,function(e){switch(e.label){case 0:return[4,t.api.resource("dbViews").list()];case 1:return[2,P(e.sent())]}})})()}),I=(0,o.useMemo)(function(){var e=(E.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 C&&!e.some(function(e){return e.value===C})&&e.unshift({value:C,label:j?"".concat(j,".").concat((0,f.hd)(A||C,n)):(0,f.hd)(A||C,n)}),e},[C,n,E.data,j,A]),M=(0,o.useCallback)(function(n,r){return y(function(){var o,i,a,l;return O(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:x,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=g(v({},F(a),F(o.uiSchema||e.uiSchema)),{title:l});return e.source?g(v({},e),{interface:e.interface||o.interface,type:e.type||o.type,uiSchema:u}):g(v({},e,o),{uiSchema:u})}),l=Array.isArray(o.sources)?o.sources:[],e.form.setFieldsValue(b({fields:a.map(function(e){return g(v({},e),{source:T(e.source)})}),sources:l},k,Array.isArray(o.unsupportedFields)?o.unsupportedFields:[])),[3,4];case 3:return w(!1),[7];case 4:return[2]}})})()},[t.api,x,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(b({databaseView:t,schema:r,viewName:o,fields:[],sources:[]},k,[])),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(){!S&&C&&e.form.setFieldValue("databaseView",C)},[C,e.form,S]),i().createElement(c.Spin,{spinning:m},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:E.loading,options:I,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=x(),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 w(r).concat(w(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 M(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=x(),u=t.dataSourceManager.collectionFieldInterfaceManager,s=t.dataSourceManager.getDataSource("main"),p=c.Form.useWatch("fields",e.form),m=c.Form.useWatch("sources",e.form),y=c.Form.useWatch(k,{form:e.form,preserve:!0}),b=(0,o.useMemo)(function(){return Array.isArray(p)?p:[]},[p]),S=(0,o.useMemo)(function(){return Array.isArray(m)?m:[]},[m]),O=(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]),P=(0,o.useMemo)(function(){return S.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(C).filter(function(e){return e.name&&!j.has(String(e.type))}).map(function(e){var t,r;return{value:e.name,label:(0,f.hd)((null==(t=(r=C(e)).uiSchema)?void 0:t.title)||r.title||r.name,n)}})}})},[r.data,s,S,n]),E=(0,o.useCallback)(function(t,n){var r=w(b);r.splice(t,1,g(v({},n),{source:T(n.source)})),e.form.setFieldValue("fields",r)},[b,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:P,placeholder:n("Select field source"),value:A(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(C):(null==u?void 0:u.fields)||[]).find(function(e){return e.name===l[1]});E(o,g(v({},t),{source:l,interface:(null==f?void 0:f.interface)||t.interface,type:(null==f?void 0:f.type)||t.type,uiSchema:g(v({},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 E(n,g(v({},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:O.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);E(r,g(v({},t),{interface:e||null,type:(null==s||null==(o=s.default)?void 0:o.type)||t.type,uiSchema:g(v({},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){E(n,g(v({},t),{uiSchema:g(v({},F(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)),b.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:b,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")})),i().createElement(d.T,{dataSource:y,style:{marginBottom:24}}))}function _(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),m=p[0],b=p[1],v=h((0,o.useState)([]),2),g=v[0],w=v[1],S=(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 y(function(){var n;return O(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(S)})];case 2:return n=o.sent(),e||w(P(n)),[3,4];case 3:return e||b(!1),[7];case 4:return[2]}})})(),function(){e=!0}},[t.api,S,d.length,u,r]),i().createElement(c.Form.Item,{label:n("Preview")},i().createElement(c.Spin,{spinning:m},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 q(e){var t=v({},e);return delete t[k],Array.isArray(t.fields)&&(t.fields=t.fields.map(function(e){return g(v({},e),{source:T(e.source)})})),t}var D=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}(),N=n(448);function R(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 V(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 $(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function K(e,t,n){return(K=X()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&Z(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 J(e){return(J=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function z(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 G(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 Z(e,t){return(Z=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function H(e){return function(e){if(Array.isArray(e))return R(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 R(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 R(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 Q(e){var t="function"==typeof Map?new Map:void 0;return(Q=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 K(e,arguments,J(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),Z(n,e)})(e)}function X(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(X=function(){return!!e})()}function Y(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 ee=function(){function e(){$(this,e),W(this,"templates",new Map)}return U(e,[{key:"register",value:function(e,t){var n="string"==typeof e?G(z({},t),{name:(null==t?void 0:t.name)||e}):e;(null==n?void 0:n.name)&&this.templates.set(n.name,G(z({},n),{name:n.name}))}},{key:"get",value:function(e){return e?this.templates.get(e):void 0}},{key:"getAll",value:function(){return H(this.templates.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}},{key:"getCreatable",value:function(){return this.getAll().filter(function(e){return!1!==e.creatable})}}]),e}(),et=function(){function e(){$(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,G(z({},e),{name:n}))}},{key:"remove",value:function(e){this.fields.delete(e)}},{key:"getAll",value:function(){return H(this.fields.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}}]),e}(),en=function(){function e(){$(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 H(this.managerActions).sort(function(e,t){return e.order-t.order})}}]),e}(),er=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 $(this,t),n=t,r=arguments,n=J(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,X()?Reflect.construct(n,r||[],J(this).constructor):n.apply(this,r)),"types",new Map),W(e,"extensionManager",new en),W(e,"collectionTemplateRegistry",new ee),W(e,"collectionPresetFieldRegistry",new et),W(e,"permissionTabRegistry",new D),e}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Z(t,e),U(t,[{key:"load",value:function(){return V(function(){var e,t;return Y(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 V(function(){var e,t,n;return Y(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,N.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("108").then(n.bind(n,703))},hidden:!0,sort:2,aclSnippet:"pm.data-source-manager"}),[2]})}).call(this)}},{key:"registerType",value:function(e,t){this.types.set(e,G(z({},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:"getCreatableCollectionTemplates",value:function(){return this.collectionTemplateRegistry.getCreatable()}},{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:E,required:!0},{name:"sources",Component:I},{name:"fields",Component:M,required:!0,hidden:function(e){return"edit"===e.mode}},{name:"preview",Component:_,hidden:function(e){return"edit"===e.mode}},{name:"writableView",label:'{{t("Allow add new, update and delete actions")}}',component:"Checkbox"}],transformSubmitValues:q}})}}]),t}(Q(r.Plugin)),eo=er},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},442:function(e){e.exports=t}},h={};function w(e){var t=h[e];if(void 0!==t)return t.exports;var n=h[e]={exports:{}};return g[e](n,n.exports,w),n.exports}w.m=g,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+"."+({108:"821ba8fd6c210d83",426:"e41974a6a5b5abf2",907:"27929615be9d7eac"})[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){var n=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");n.indexOf("/static/plugins/@nocobase/plugin-data-source-manager/dist/client-v2/")>=0&&(e=n.replace(/\/[^\/]+$/,"/"))}if(!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-data-source-manager/dist/client-v2/")}if(!e){var o=window.__nocobase_modern_client_prefix__||"v",i="/"+(o=String(o).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var a=window.location.pathname||"/",l=a.indexOf(i);e=l>=0?a.slice(0,l+1):"/"}e&&(e=e.replace(RegExp("/"+o+"/?$"),"/")),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,{CollectionTemplateRegistry:function(){return b.CM},PluginDataSourceManagerClientV2:function(){return b.vb},compileLegacyTemplate:function(){return v.hd},compileLegacyTemplateText:function(){return v.Ad},default:function(){return b.Ay},getLegacyTemplateKey:function(){return v.zN},preferLegacyTemplateTitle:function(){return v.sZ}}),b=w(832),v=w(938),F}()});
|
|
@@ -16,5 +16,16 @@ interface FieldFormProps {
|
|
|
16
16
|
override?: boolean;
|
|
17
17
|
onSubmitted: () => void;
|
|
18
18
|
}
|
|
19
|
+
type ConfigureSelectOption = {
|
|
20
|
+
label?: React.ReactNode;
|
|
21
|
+
value?: string | number | boolean;
|
|
22
|
+
};
|
|
23
|
+
type ConfigureSelectControlBehavior = {
|
|
24
|
+
allowClear: boolean;
|
|
25
|
+
autoSelectFirstOption: boolean;
|
|
26
|
+
showSearch: boolean;
|
|
27
|
+
};
|
|
28
|
+
export declare function resolveConfigureSelectControlBehavior(name: string, component: string | undefined, configured?: Partial<ConfigureSelectControlBehavior>): ConfigureSelectControlBehavior;
|
|
29
|
+
export declare function filterConfigureSelectOption(input: string, option?: ConfigureSelectOption): boolean;
|
|
19
30
|
export declare function FieldForm(props: FieldFormProps): React.JSX.Element;
|
|
20
31
|
export {};
|
|
@@ -116,6 +116,7 @@ export interface CollectionTemplateOptions {
|
|
|
116
116
|
order?: number;
|
|
117
117
|
color?: string;
|
|
118
118
|
divider?: boolean;
|
|
119
|
+
creatable?: boolean;
|
|
119
120
|
collection?: {
|
|
120
121
|
options?: Record<string, any> | (() => Record<string, any>);
|
|
121
122
|
fields?: CollectionTemplateField[] | (() => CollectionTemplateField[]);
|
|
@@ -192,11 +193,12 @@ export interface CollectionTemplateOptions {
|
|
|
192
193
|
*/
|
|
193
194
|
beforeSubmit?: (values: Record<string, any>) => void;
|
|
194
195
|
}
|
|
195
|
-
declare class CollectionTemplateRegistry {
|
|
196
|
+
export declare class CollectionTemplateRegistry {
|
|
196
197
|
protected templates: Map<string, CollectionTemplateOptions>;
|
|
197
198
|
register(nameOrOptions: string | CollectionTemplateOptions, options?: CollectionTemplateOptions): void;
|
|
198
199
|
get(name?: string): CollectionTemplateOptions;
|
|
199
200
|
getAll(): CollectionTemplateOptions[];
|
|
201
|
+
getCreatable(): CollectionTemplateOptions[];
|
|
200
202
|
}
|
|
201
203
|
declare class CollectionPresetFieldRegistry {
|
|
202
204
|
protected fields: Map<string, CollectionPresetFieldOptions>;
|
|
@@ -237,6 +239,7 @@ export declare class PluginDataSourceManagerClientV2 extends Plugin<any, Applica
|
|
|
237
239
|
getCollectionPresetFields(): CollectionPresetFieldOptions[];
|
|
238
240
|
getCollectionTemplate(name?: string): CollectionTemplateOptions;
|
|
239
241
|
getCollectionTemplates(): CollectionTemplateOptions[];
|
|
242
|
+
getCreatableCollectionTemplates(): CollectionTemplateOptions[];
|
|
240
243
|
private registerBuiltInCollectionPresetFields;
|
|
241
244
|
private registerBuiltInCollectionTemplates;
|
|
242
245
|
}
|