@nocobase/plugin-data-source-manager 2.4.0-alpha.3 → 2.4.0-alpha.5

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.
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_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 ez}});var r=n(477),o=n(485),a=n(694),i=n(625),l=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 v(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=[],i=!0,l=!1;try{for(o=o.call(e);!(i=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){l=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(l)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 y(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=y(["\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=y(["\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=v(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(l.Tag,{color:"green"},e("Action on new records")):c().createElement(l.Tag,{color:"geekblue"},e("Action on existing records"))}function j(e){var t=l.theme.useToken().token,n=e.value,r=e.onChange,a=e.availableActions,i=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=v(e.split(":"),2),r=n[0],o=n[1];r&&(t[r]=o||"all")}),t},[n]),y=(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:i("Action display name"),dataIndex:"displayName",width:4*t.sizeXXL,render:function(e){return(0,s.hd)(e,i)}},{title:i("Action type"),dataIndex:"onNewRecord",width:4*t.sizeXXL,render:function(e){return x(i,e)}},{title:i("Allow"),dataIndex:"enabled",align:"center",width:2*t.sizeXXL,render:function(e,t){return c().createElement(l.Checkbox,{checked:e,onChange:function(){var n=m({},f);e?delete n[t.name]:n[t.name]="all",null==r||r(S(n))}})}},{title:i("Data scope"),dataIndex:"scope",width:4*t.sizeXXL,render:function(e,t){return t.onNewRecord?null:c().createElement(l.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:e,options:[{label:i("All records"),value:"all"},{label:i("Own records"),value:"own"}],onChange:function(e){var n=p(m({},f),d({},t.name,e));null==r||r(S(n))}})}}]},[r,f,i,t.sizeXXL]);return c().createElement(o.Table,{rowKey:"name",size:"small",pagination:!1,dataSource:y,columns:b,scroll:{x:"max-content"}})}function E(e){var t=l.theme.useToken().token,n=e.value,a=e.onChange,f=e.availableActions,v=e.collectionFields,y=e.renderScopeSelect,h=e.t,S=(0,u.useMemo)(function(){return(0,r.css)(g(),t.marginXXS)},[t.marginXXS]),j=(0,u.useMemo)(function(){return(0,r.css)(w())},[]),E=(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]),A=(0,u.useMemo)(function(){return f.filter(function(e){return e.allowConfigureFields})},[f]),C=(0,i.useMemoizedFn)(function(e){null==a||a(Object.values(e).map(function(e){return p(m({},e),{scope:O(e.scope)?null:e.scope})}))}),k=(0,i.useMemoizedFn)(function(e){var t=m({},E);t[e]?delete t[e]:t[e]={name:e,fields:v.map(function(e){return e.name})},C(t)}),P=(0,i.useMemoizedFn)(function(e,t){var n,r,o,a;C((n=E,r=e,o=t,a=v,p(m({},n),d({},r,p(m({},n[r]||{name:r,fields:a.map(function(e){return e.name})}),{scope:o})))))}),M=(0,u.useMemo)(function(){return f.map(function(e){var t,n;return p(m({},e),{enabled:!!E[e.name],scope:null!=(t=null==(n=E[e.name])?void 0:n.scope)?t:null})})},[E,f]),z=(0,u.useMemo)(function(){return v.map(function(e){var t=m({},e);return A.forEach(function(n){var r,o;t[n.name]=!!(null==(o=E[n.name])||null==(r=o.fields)?void 0:r.includes(e.name))}),t})},[E,A,v]),F=(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(l.Checkbox,{checked:e,onChange:function(){return k(t.name)}})}},{title:h("Data scope"),dataIndex:"scope",width:5*t.sizeXXL,render:function(e,t){return t.onNewRecord?null:y({value:e,onChange:function(e){return P(t.name,e)},action:t})}}]},[y,P,h,k,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(A.map(function(e){var n,r,o=v.length>0&&v.length===(null==(r=E[e.name])||null==(n=r.fields)?void 0:n.length);return{title:c().createElement("span",{className:S},c().createElement(l.Checkbox,{checked:o,onChange:function(){var t=m({},E),n=t[e.name]||{name:e.name};n.fields=o?[]:v.map(function(e){return e.name}),t[e.name]=n,C(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:j},c().createElement(l.Checkbox,{checked:t,onChange:function(){var r=m({},E),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,C(r)}}))}}})))},[E,A,v,C,j,S,h,t.sizeXXL]);return c().createElement(c().Fragment,null,c().createElement(l.Form.Item,{label:h("Action permission")},c().createElement(o.Table,{rowKey:"name",size:"small",pagination:!1,dataSource:M,columns:F,scroll:{x:"max-content"}})),c().createElement(l.Form.Item,{label:h("Field permission")},c().createElement(o.Table,{rowKey:"name",size:"small",pagination:!1,dataSource:z,columns:I})))}function A(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function C(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){A(a,r,o,i,l,"next",e)}function l(e){A(a,r,o,i,l,"throw",e)}i(void 0)})}}function k(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 M(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;i&&(i=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 z=n(375);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 I(e){if(Array.isArray(e))return e}function X(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function R(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){X(a,r,o,i,l,"next",e)}function l(e){X(a,r,o,i,l,"throw",e)}i(void 0)})}}function T(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function D(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function L(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){T(e,t,n[t])})}return e}function $(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 K(e,t){return I(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],i=!0,l=!1;try{for(o=o.call(e);!(i=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){l=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(l)throw r}}return a}}(e,t)||B(e,t)||D()}function V(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function _(e){return function(e){if(Array.isArray(e))return F(e)}(e)||N(e)||B(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){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function B(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(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;i&&(i=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 U(){var e=V(["\n height: 100%;\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n "]);return U=function(){return e},e}function W(){var e=V(["\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 W=function(){return e},e}function H(){var e=V(["\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 H=function(){return e},e}var J={resolvePathFromValue:function(e){if("string"==typeof e){var t,n=null==(t=e.match(/^\{\{\s*([^}]+?)\s*\}\}$/))?void 0:t[1];if(n){if("$nRole"===n||"ctx.state.currentRole"===n)return["role"];var r=n.match(/^(?:\$user|ctx\.state\.currentUser)(?:\.(.+))?$/);return r?["user"].concat(_(r[1]?r[1].split("."):[])):void 0}}},resolveValueFromPath:function(e){var t,n=I(t=e.paths)||N(t)||B(t)||D(),r=n[0],o=n.slice(1);return"role"===r?"{{$nRole}}":"user"===r&&o.length?"{{$user.".concat(o.join("."),"}}"):void 0}},Q=(0,u.forwardRef)(function(e,t){var n=(0,a.useFlowContext)(),r=K((0,u.useState)(),2),i=r[0],l=r[1],s=(0,u.useRef)();s.current||(s.current=(0,a.observable)(function e(t){if(!t||(void 0===t?"undefined":q(t))!=="object"||Array.isArray(t))return{logic:"$and",items:[]};var n=Array.isArray(t.$or)?"$or":"$and",r=Array.isArray(t[n])?t[n]:[t];return{logic:n,items:r.flatMap(function(t){return!t||(void 0===t?"undefined":q(t))!=="object"||Array.isArray(t)?[]:Array.isArray(t.$and)||Array.isArray(t.$or)?[e(t)]:function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!t||(void 0===t?"undefined":q(t))!=="object"||Array.isArray(t))return n.length?[{path:n.join("."),operator:"$eq",value:t}]:[];var r=Object.entries(t),o=r.filter(function(e){return K(e,1)[0].startsWith("$")});return o.length?o.map(function(e){var t=K(e,2),r=t[0],o=t[1];return{path:n.join("."),operator:r,value:o}}):r.flatMap(function(t){var r=K(t,2),o=r[0];return e(r[1],_(n).concat([o]))})}(t)})}}(e.initialValue))),(0,u.useEffect)(function(){if(!e.collection)return void l(void 0);var t=n.engine.createModel({uid:(0,a.randomId)("permissionScopeFilter_"),use:a.FlowModel});return t.context.defineProperty("collection",{value:e.collection}),l(t),function(){t.remove()}},[n.engine,e.collection]),(0,u.useImperativeHandle)(t,function(){return{getFilter:function(){return function e(t){if(null==t?void 0:t.items.length){var n=t.items.map(function(t){var n;return Array.isArray(t.items)?e(t):!t.path||!t.operator||null==(n=t.value)||""===n||(Array.isArray(n)?0===n.length:(void 0===n?"undefined":q(n))==="object"&&0===Object.keys(n).length)?void 0:function(e,t){for(var n=e.split("."),r=t,o=n.length-1;o>=0;o-=1)r=T({},n[o],r);return r}(t.path,T({},t.operator,t.value))}).filter(function(e){return!!e});return n.length?T({},t.logic,n):void 0}}(s.current)}}},[]);var f=(0,u.useMemo)(function(){return function(){return R(function(){return G(this,function(e){switch(e.label){case 0:if(!i)return[2,[]];return[4,i.context.getPropertyMetaTree()];case 1:return[2,e.sent().filter(function(e){return"user"===e.name||"role"===e.name}).map(function(e){return"user"===e.name?$(L({},e),{selectable:!1}):e})]}})})()}},[i]);return i?c().createElement(o.FilterGroup,{value:s.current,FilterItem:function(e){return c().createElement(a.FlowModelProvider,{model:i},c().createElement(o.VariableFilterItem,$(L({},e),{model:i,rightAsVariable:!0,rightMetaTree:f,rightVariableConverters:J})))}}):null});function Y(e){if(e&&(void 0===e?"undefined":q(e))==="object"){var t;return null!=(t=e.id)?t:e.key}return e}function Z(e){var t,n,r=(0,a.useFlowContext)(),i=K(l.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 R(function(){var t,n,r;return G(this,function(o){switch(o.label){case 0:return[4,i.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()},C(function(){var e;return M(this,function(t){switch(t.label){case 0:if(e=P(k({},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(l.Form,{form:i,layout:"vertical",initialValues:e.initialValues},c().createElement(l.Form.Item,{name:"name",label:e.t("Scope name"),rules:[{required:!0,message:e.t("The field value is required")}]},c().createElement(l.Input,null)),c().createElement(l.Form.Item,{label:e.t("Data scope")},c().createElement(Q,{ref:s,collection:e.collection,initialValue:null==(n=e.initialValues)?void 0:n.scope}))))}function ee(e){var t,n,f,d,m,p,v,y=l.theme.useToken().token,b=(0,a.useFlowContext)(),h=l.App.useApp().modal,g=K((0,u.useState)(Y(e.value)),2),w=g[0],S=g[1],O=K((0,u.useState)(1),2),x=O[0],j=O[1],E=K((0,u.useState)(20),2),A=E[0],k=E[1],P=(0,u.useMemo)(function(){return b.api.resource("dataSources/".concat(e.dataSourceKey,"/rolesResourcesScopes"))},[b.api,e.dataSourceKey]),F=(0,i.useRequest)(function(){return R(function(){return G(this,function(t){switch(t.label){case 0:return[4,P.list({page:x,pageSize:A,fields:["id","key","name","resourceName","scope"],filter:{$or:[{resourceName:e.resourceName},{resourceName:null}]}})];case 1:var n,r,o,a,i,l;return[2,{rows:l=Array.isArray(i=null==(n=t.sent())||null==(r=n.data)?void 0:r.data)?i:(null==i?void 0:i.data)||(null==i?void 0:i.rows)||[],total:(null==i?void 0:i.count)||(null==i?void 0:i.total)||(null==n||null==(a=n.data)||null==(o=a.meta)?void 0:o.count)||l.length,page:null==i?void 0:i.page,pageSize:null==i?void 0:i.pageSize}]}})})()},{refreshDeps:[e.dataSourceKey,e.resourceName,x,A]}),I=(null==(d=F.data)?void 0:d.rows)||[],X=I.find(function(e){return String(Y(e))===String(w)})||(e.value&&"object"===q(e.value)&&String(Y(e.value))===String(w)?e.value:void 0),T=(t=l.theme.useToken().token,n=(0,u.useMemo)(function(){return(0,r.css)(U())},[]),f=(0,u.useMemo)(function(){return(0,r.css)(W(),t.marginSM,t.marginSM)},[t.marginSM]),{contentClassName:n,tableClassName:(0,u.useMemo)(function(){return(0,r.css)(H())},[]),toolbarClassName:f}),N=T.contentClassName,D=T.tableClassName,L=T.toolbarClassName,$=(0,i.useMemoizedFn)(function(t){b.viewer.drawer({width:"50%",closable:!0,content:function(){return c().createElement(Z,{collection:e.collection,dataSourceKey:e.dataSourceKey,resourceName:e.resourceName,initialValues:t,t:e.t,onSubmitted:function(){F.refresh()}})}})}),V=(0,i.useMemoizedFn)(function(t){h.confirm({title:e.t("Delete record"),content:e.t("Are you sure you want to delete it?"),onOk:function(){return R(function(){return G(this,function(e){switch(e.label){case 0:var n;return[4,(n=t.id,C(function(){return M(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(),F.refresh(),[2]}})})()}})}),_=(0,u.useMemo)(function(){return[{title:e.t("Scope name"),dataIndex:"name",width:5*y.sizeXXL,ellipsis:!0,render:function(t){return(0,s.hd)(t,e.t)}},{title:e.t("Actions"),width:4*y.sizeXXL,render:function(t,n){var r=(null==n?void 0:n.key)==="all"||(null==n?void 0:n.key)==="own";return c().createElement(l.Space,{size:y.marginXXS},c().createElement(l.Button,{type:"link",size:"small",disabled:r,onClick:function(){r||$(n)}},e.t("Edit")),c().createElement(l.Button,{type:"link",size:"small",disabled:r,onClick:function(){r||V(n)}},e.t("Delete")))}}]},[V,$,e,y.marginXXS,y.sizeXXL]),B=(0,u.useMemo)(function(){var e,t,n,r,o;return{current:null!=(e=null==(n=F.data)?void 0:n.page)?e:x,pageSize:null!=(t=null==(r=F.data)?void 0:r.pageSize)?t:A,total:null==(o=F.data)?void 0:o.total,onChange:function(e,t){j(e),k(t)}}},[x,A,null==(m=F.data)?void 0:m.page,null==(p=F.data)?void 0:p.pageSize,null==(v=F.data)?void 0:v.total]);return c().createElement(o.DrawerFormLayout,{title:e.t("Select record"),submitText:e.t("Submit"),cancelText:e.t("Cancel"),onSubmit:function(){return R(function(){var t;return G(this,function(n){return null==(t=e.onChange)||t.call(e,X||null),e.onClose(),[2]})})()},footer:c().createElement(l.Space,null,c().createElement(l.Button,{onClick:e.onClose},e.t("Cancel")),c().createElement(l.Button,{type:"primary",onClick:function(){var t;null==(t=e.onChange)||t.call(e,X||null),e.onClose()}},e.t("Submit")))},c().createElement("div",{className:N},c().createElement("div",{className:L},c().createElement(l.Button,{type:"primary",icon:c().createElement(z.PlusOutlined,null),onClick:function(){return $()}},e.t("Add new"))),c().createElement(o.Table,{rowKey:"id",showIndex:!1,loading:F.loading,dataSource:I,columns:_,pagination:B,scroll:{x:"max-content",y:"100%"},className:D,rowSelection:{type:"radio",selectedRowKeys:null==w?[]:[w],onChange:function(e){return S(e[0])}}})))}function et(e){var t,n=l.theme.useToken().token,r=(0,a.useFlowContext)(),o=(t=e.value)&&(void 0===t?"undefined":q(t))==="object"?t:void 0,f=Y(e.value),d=(0,u.useMemo)(function(){return r.api.resource("dataSources/".concat(e.dataSourceKey,"/rolesResourcesScopes"))},[r.api,e.dataSourceKey]),m=(0,i.useRequest)(function(){return R(function(){var e,t;return G(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,v=(null==p?void 0:p.name)?(0,s.Ad)(p.name,e.t,""):void 0,y=null==f?void 0:{label:v||String(f),value:String(f)},b=(0,i.useMemoizedFn)(function(){r.viewer.drawer({width:"50%",closable:!0,styles:{body:{display:"flex",flexDirection:"column",overflow:"hidden"}},content:function(t){var n=t.close;return c().createElement(ee,$(L({},e),{value:p||e.value,onClose:n}))}})});return c().createElement(l.Tooltip,{title:v},c().createElement(l.Select,{size:"small",value:y,labelInValue:!0,popupMatchSelectWidth:!1,open:!1,placeholder:e.t("Select record"),options:y?[y]:[],allowClear:!0,showSearch:!1,style:{minWidth:5*n.sizeXXL},onClick:b,onClear:function(){var t;null==(t=e.onChange)||t.call(e,null)}}))}Q.displayName="PermissionScopeFilter";var en=n(143),er=n(832);function eo(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 ea(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function ei(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){ea(a,r,o,i,l,"next",e)}function l(e){ea(a,r,o,i,l,"throw",e)}i(void 0)})}}function el(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 eu(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=[],i=!0,l=!1;try{for(o=o.call(e);!(i=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){l=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(l)throw r}}return a}}(e,t)||es(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 ec(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function es(e,t){if(e){if("string"==typeof e)return eo(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 eo(e,t)}}function ef(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;i&&(i=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 ed(){var e=ec(["\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 ed=function(){return e},e}function em(){var e=ec(["\n width: 100%;\n "]);return em=function(){return e},e}function ep(){var e=ec(["\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n "]);return ep=function(){return e},e}function ev(){var e=ec(["\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 ev=function(){return e},e}function ey(){var e=ec(["\n width: 100%;\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n gap: ","px;\n "]);return ey=function(){return e},e}var eb="dataSourcePermissionCollectionsFilter",eh={name:eb,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 eg(e){var t,n,r,o,a,i=null==e||null==(t=e.data)?void 0:t.data;return Array.isArray(i)?{records:i,total:(null==e||null==(a=e.data)||null==(o=a.meta)?void 0:o.count)||i.length}:{records:(null==i?void 0:i.rows)||(null==i?void 0:i.data)||[],total:(null==i?void 0:i.count)||(null==i?void 0:i.total)||(null==e||null==(r=e.data)||null==(n=r.meta)?void 0:n.count)||0,page:null==i?void 0:i.page,pageSize:null==i?void 0:i.pageSize}}function ew(){return(0,u.useMemo)(function(){return(0,r.css)(ed())},[])}function eS(e){var t;return null==e||null==(t=e.data)?void 0:t.data}function eO(e){return!!e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Array.isArray(e)}function ex(e){return String(null!=e?e:"").toLowerCase()}function ej(e,t,n){var r=ex(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 eE(e,t){if(!eO(t))return ej(e,"$includes",t);var n=Object.entries(t).filter(function(e){return eu(e,1)[0].startsWith("$")});return!n.length||n.every(function(t){var n=eu(t,2);return ej(e,n[0],n[1])})}function eA(e){var t,n,o=(0,a.useFlowContext)(),s=l.App.useApp().message,f=eu((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]),v=(0,i.useRequest)(function(){return ei(function(){var t,n,r,o;return ef(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=eS(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)}),y=(0,i.useMemoizedFn)(function(t){return ei(function(){var n,r;return ef(this,function(o){var a,i;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,C(function(){return M(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!=(i=Error)&&"u">typeof Symbol&&i[Symbol.hasInstance]?!!i[Symbol.hasInstance](r):r instanceof i)?r.message:e.t("Save failed")),v.refresh(),[3,4];case 4:return[2]}})})()});return c().createElement("div",{className:(0,r.css)(em())},c().createElement(j,{value:d,onChange:y,availableActions:e.availableActions,t:e.t}))}function eC(e){var t,n,r,s,f,d,m=(0,a.useFlowContext)(),p=l.App.useApp().message,v=eu(l.Form.useForm(),1)[0],y=l.Form.useWatch("usingActionsConfig",v),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,i.useRequest)(function(){return ei(function(){var t,n,r;return ef(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:[]},v.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=eS(o.sent())||{usingActionsConfig:"resourceAction"===e.collection.usingConfig,actions:[]},v.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 ei(function(){var t,n;return ef(this,function(r){switch(r.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))throw Error("Role is required");return[4,v.validateFields()];case 1:var o,a;return n=r.sent(),[4,(o=e.collection,a=e.dataSource.key,C(function(){var e;return M(this,function(t){switch(t.label){case 0:if(e=P(k({},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(l.Form,{form:v,layout:"vertical",initialValues:{usingActionsConfig:!1,actions:[]}},c().createElement(l.Form.Item,{name:"usingActionsConfig",label:e.t("Permission policy")},c().createElement(l.Radio.Group,{options:[{value:!1,label:e.t("General")},{value:!0,label:e.t("Individual")}]})),y?c().createElement(l.Form.Item,{name:"actions",noStyle:!0},c().createElement(E,{availableActions:e.availableActions,collectionFields:e.collection.fields||[],t:e.t,renderScopeSelect:function(t){var n=t.value,r=t.onChange;return c().createElement(et,{value:n,onChange:r,collection:b,dataSourceKey:e.dataSource.key,resourceName:e.collection.name,t:e.t})}})):null))}function ek(e){var t,n,f,d,m=l.theme.useToken().token,p=(0,a.useFlowContext)(),v=(0,a.useFlowEngine)(),y=ew(),b=eu((0,u.useState)(1),2),h=b[0],g=b[1],w=eu((0,u.useState)(20),2),S=w[0],O=w[1],x=eu((0,u.useState)(),2),j=x[0],E=x[1],A=null==(t=p.dataSourceManager.getDataSource("main"))?void 0:t.getCollection(eb),C=(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]),k=(0,i.useMemoizedFn)(function(e,t){return v.context.t(e,el({ns:["client",en.CU]},t))}),P=(0,i.useRequest)(function(){return ei(function(){var t;return ef(this,function(n){switch(n.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))return[2,{records:[],total:0}];return[4,C.list({page:1,pageSize:20,filter:{dataSourceKey:e.dataSource.key},sort:["sort"],appends:["fields"]})];case 1:return[2,eg(n.sent())]}})})()},{refreshDeps:[null==(f=e.activeRole)?void 0:f.name,e.dataSource.key]}),M=(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(!eO(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(ex)));o.push(eE(a,n.title))}return Object.prototype.hasOwnProperty.call(n,"name")&&o.push(eE([ex(t.name)],n.name)),!o.length||o.every(Boolean)}(t,j,e.t)})},[j,e.t,null==(d=P.data)?void 0:d.records]),z=(0,u.useMemo)(function(){var e=(h-1)*S;return M.slice(e,e+S)},[M,h,S]),F=(0,i.useMemoizedFn)(function(t){p.viewer.drawer({width:"50%",closable:!0,content:function(){return c().createElement(eC,{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:k("Collection display name"),dataIndex:"title",width:5*m.sizeXXL,ellipsis:!0,render:function(t){return(0,s.hd)(t,e.t)}},{title:k("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(l.Tag,{color:"orange"},e.t("Individual")):c().createElement(l.Tag,null,e.t("General"))}},{title:e.t("Actions"),width:3*m.sizeXXL,render:function(t,n){return c().createElement("a",{onClick:function(){return F(n)}},e.t("Configure"))}}]},[F,e,k,m.sizeXXL]),X=(0,u.useMemo)(function(){return{current:h,pageSize:S,total:M.length,onChange:function(e,t){g(e),O(t)}}},[M.length,h,S]);return c().createElement("div",{className:(0,r.css)(ep())},c().createElement("div",{className:(0,r.css)(ev(),m.marginSM,m.marginSM)},c().createElement(o.CollectionFilter,{collection:A,t:k,filterableFieldNames:["title","name"],onChange:function(e){g(1),E(e)}})),c().createElement(o.Table,{rowKey:"name",loading:P.loading,dataSource:z,columns:I,pagination:X,scroll:{x:"max-content",y:"100%"},className:y}))}function eP(e){return c().createElement(o.ExtendCollectionsProvider,{collections:[eh]},c().createElement(ek,e))}function eM(e){var t=e.activeRole,n=e.availableActions,r=e.dataSource,i=e.t,s=(0,a.useFlowContext)(),f=(0,u.useRef)(new Map),d=s.app.pm.get(er.Ay),m=(0,u.useMemo)(function(){return{activeRole:t,availableActions:n,dataSource:r,t:i}},[t,n,r,i]),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]),v=(0,u.useMemo)(function(){var e,o=new Map;return[{key:"general",label:i("General action permissions"),sort:10,children:c().createElement(eA,{activeRole:t,availableActions:n,dataSource:r,t:i})},{key:"actions",label:i("Action permissions"),sort:20,children:c().createElement(eP,{activeRole:t,availableActions:n,dataSource:r,t:i})}].concat(function(e){if(Array.isArray(e))return eo(e)}(e=p.map(function(e){var t,n,r=e.Component;return t=el({},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)||es(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,i,m]);return c().createElement(o.DrawerFormLayout,{title:i("Configure permission"),footer:c().createElement(c().Fragment,null)},c().createElement(l.Tabs,{items:v}))}function ez(e){var t,n,f,d,m=l.theme.useToken().token,p=(0,a.useFlowContext)(),v=(0,a.useFlowEngine)(),y=(0,i.useMemoizedFn)(function(e,t){return v.context.t(e,el({ns:[en.CU,"client"]},t))}),b=ew(),h=eu((0,u.useState)(1),2),g=h[0],w=h[1],S=eu((0,u.useState)(50),2),O=S[0],x=S[1],j=(0,i.useRequest)(function(){return ei(function(){var e,t;return ef(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)||[]]}})})()}),E=(0,i.useRequest)(function(){return ei(function(){return ef(this,function(e){switch(e.label){case 0:return[4,p.api.resource("dataSources").list({page:g,pageSize:O})];case 1:return[2,eg(e.sent())]}})})()},{refreshDeps:[g,O]}),A=(0,i.useMemoizedFn)(function(t){p.viewer.drawer({width:"50%",closable:!0,content:function(){return c().createElement(eM,{activeRole:e.activeRole,availableActions:j.data||[],dataSource:t,t:y})}})}),C=(0,u.useMemo)(function(){return[{title:y("Data source display name"),dataIndex:"displayName",width:5*m.sizeXXL,ellipsis:!0,render:function(e){return(0,s.hd)(e,y)}},{title:y("Data source name"),dataIndex:"key",width:5*m.sizeXXL,ellipsis:!0},{title:y("Actions"),width:3*m.sizeXXL,render:function(e,t){return c().createElement("a",{onClick:function(){return A(t)}},y("Configure"))}}]},[A,y,m.sizeXXL]),k=(0,u.useMemo)(function(){var e,t,n,r,o;return{current:null!=(e=null==(n=E.data)?void 0:n.page)?e:g,pageSize:null!=(t=null==(r=E.data)?void 0:r.pageSize)?t:O,total:null==(o=E.data)?void 0:o.total,onChange:function(e,t){w(e),x(t)}}},[g,O,null==(t=E.data)?void 0:t.page,null==(n=E.data)?void 0:n.pageSize,null==(f=E.data)?void 0:f.total]);return e.activeRole?c().createElement("div",{className:(0,r.css)(ey(),m.marginSM)},c().createElement(l.Typography.Text,{strong:!0},y("Data sources")),j.error?c().createElement(l.Alert,{type:"error",message:j.error.message,showIcon:!0}):null,c().createElement(o.Table,{rowKey:"key",loading:E.loading||j.loading,dataSource:(null==(d=E.data)?void 0:d.records)||[],columns:C,pagination:k,scroll:{x:"max-content",y:"100%"},className:(0,r.cx)(b)})):c().createElement(l.Empty,{image:l.Empty.PRESENTED_IMAGE_SIMPLE})}}}]);
@@ -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,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:"e65c45f3624abb80",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}()});
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:"cf2bbb26479c94d8",426:"e41974a6a5b5abf2",907:"9a4d00a0a02a7e63"})[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}()});
@@ -8,18 +8,18 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "2.4.0-alpha.3",
11
+ "@nocobase/client": "2.4.0-alpha.5",
12
12
  "react": "18.2.0",
13
- "@nocobase/plugin-acl": "2.4.0-alpha.3",
14
- "@nocobase/utils": "2.4.0-alpha.3",
15
- "@nocobase/flow-engine": "2.4.0-alpha.3",
16
- "@nocobase/client-v2": "2.4.0-alpha.3",
17
- "@nocobase/ai": "2.4.0-alpha.3",
18
- "@nocobase/server": "2.4.0-alpha.3",
19
- "@nocobase/data-source-manager": "2.4.0-alpha.3",
13
+ "@nocobase/plugin-acl": "2.4.0-alpha.5",
14
+ "@nocobase/utils": "2.4.0-alpha.5",
15
+ "@nocobase/flow-engine": "2.4.0-alpha.5",
16
+ "@nocobase/client-v2": "2.4.0-alpha.5",
17
+ "@nocobase/ai": "2.4.0-alpha.5",
18
+ "@nocobase/server": "2.4.0-alpha.5",
19
+ "@nocobase/data-source-manager": "2.4.0-alpha.5",
20
20
  "lodash": "4.18.1",
21
- "@nocobase/acl": "2.4.0-alpha.3",
22
- "@nocobase/database": "2.4.0-alpha.3",
21
+ "@nocobase/acl": "2.4.0-alpha.5",
22
+ "@nocobase/database": "2.4.0-alpha.5",
23
23
  "@ant-design/icons": "5.6.1",
24
24
  "antd": "5.24.2",
25
25
  "react-router-dom": "6.30.1",
@@ -28,9 +28,9 @@ module.exports = {
28
28
  "react-i18next": "11.18.6",
29
29
  "@emotion/css": "11.13.0",
30
30
  "ahooks": "3.7.8",
31
- "@nocobase/actions": "2.4.0-alpha.3",
31
+ "@nocobase/actions": "2.4.0-alpha.5",
32
32
  "sequelize": "6.35.2",
33
- "@nocobase/test": "2.4.0-alpha.3",
33
+ "@nocobase/test": "2.4.0-alpha.5",
34
34
  "@formily/antd-v5": "1.2.3",
35
35
  "@formily/core": "2.3.7",
36
36
  "@formily/reactive": "2.3.7",
@@ -1 +1 @@
1
- {"name":"zod","version":"4.3.5","type":"module","license":"MIT","author":"Colin McDonnell <zod@colinhacks.com>","description":"TypeScript-first schema declaration and validation library with static type inference","homepage":"https://zod.dev","llms":"https://zod.dev/llms.txt","llmsFull":"https://zod.dev/llms-full.txt","mcpServer":"https://mcp.inkeep.com/zod/mcp","funding":"https://github.com/sponsors/colinhacks","sideEffects":false,"files":["src","**/*.js","**/*.mjs","**/*.cjs","**/*.d.ts","**/*.d.mts","**/*.d.cts","**/package.json"],"keywords":["typescript","schema","validation","type","inference"],"main":"./index.cjs","types":"./index.d.cts","module":"./index.js","zshy":{"exports":{"./package.json":"./package.json",".":"./src/index.ts","./mini":"./src/mini/index.ts","./locales":"./src/locales/index.ts","./v3":"./src/v3/index.ts","./v4":"./src/v4/index.ts","./v4-mini":"./src/v4-mini/index.ts","./v4/mini":"./src/v4/mini/index.ts","./v4/core":"./src/v4/core/index.ts","./v4/locales":"./src/v4/locales/index.ts","./v4/locales/*":"./src/v4/locales/*"},"conditions":{"@zod/source":"src"}},"exports":{"./package.json":"./package.json",".":{"@zod/source":"./src/index.ts","types":"./index.d.cts","import":"./index.js","require":"./index.cjs"},"./mini":{"@zod/source":"./src/mini/index.ts","types":"./mini/index.d.cts","import":"./mini/index.js","require":"./mini/index.cjs"},"./locales":{"@zod/source":"./src/locales/index.ts","types":"./locales/index.d.cts","import":"./locales/index.js","require":"./locales/index.cjs"},"./v3":{"@zod/source":"./src/v3/index.ts","types":"./v3/index.d.cts","import":"./v3/index.js","require":"./v3/index.cjs"},"./v4":{"@zod/source":"./src/v4/index.ts","types":"./v4/index.d.cts","import":"./v4/index.js","require":"./v4/index.cjs"},"./v4-mini":{"@zod/source":"./src/v4-mini/index.ts","types":"./v4-mini/index.d.cts","import":"./v4-mini/index.js","require":"./v4-mini/index.cjs"},"./v4/mini":{"@zod/source":"./src/v4/mini/index.ts","types":"./v4/mini/index.d.cts","import":"./v4/mini/index.js","require":"./v4/mini/index.cjs"},"./v4/core":{"@zod/source":"./src/v4/core/index.ts","types":"./v4/core/index.d.cts","import":"./v4/core/index.js","require":"./v4/core/index.cjs"},"./v4/locales":{"@zod/source":"./src/v4/locales/index.ts","types":"./v4/locales/index.d.cts","import":"./v4/locales/index.js","require":"./v4/locales/index.cjs"},"./v4/locales/*":{"@zod/source":"./src/v4/locales/*","types":"./v4/locales/*","import":"./v4/locales/*","require":"./v4/locales/*"}},"repository":{"type":"git","url":"git+https://github.com/colinhacks/zod.git"},"bugs":{"url":"https://github.com/colinhacks/zod/issues"},"support":{"backing":{"npm-funding":true}},"scripts":{"clean":"git clean -xdf . -e node_modules","build":"zshy --project tsconfig.build.json","postbuild":"tsx ../../scripts/write-stub-package-jsons.ts && pnpm biome check --write .","test:watch":"pnpm vitest","test":"pnpm vitest run","prepublishOnly":"tsx ../../scripts/check-versions.ts"},"_lastModified":"2026-09-02T12:35:05.889Z"}
1
+ {"name":"zod","version":"4.3.5","type":"module","license":"MIT","author":"Colin McDonnell <zod@colinhacks.com>","description":"TypeScript-first schema declaration and validation library with static type inference","homepage":"https://zod.dev","llms":"https://zod.dev/llms.txt","llmsFull":"https://zod.dev/llms-full.txt","mcpServer":"https://mcp.inkeep.com/zod/mcp","funding":"https://github.com/sponsors/colinhacks","sideEffects":false,"files":["src","**/*.js","**/*.mjs","**/*.cjs","**/*.d.ts","**/*.d.mts","**/*.d.cts","**/package.json"],"keywords":["typescript","schema","validation","type","inference"],"main":"./index.cjs","types":"./index.d.cts","module":"./index.js","zshy":{"exports":{"./package.json":"./package.json",".":"./src/index.ts","./mini":"./src/mini/index.ts","./locales":"./src/locales/index.ts","./v3":"./src/v3/index.ts","./v4":"./src/v4/index.ts","./v4-mini":"./src/v4-mini/index.ts","./v4/mini":"./src/v4/mini/index.ts","./v4/core":"./src/v4/core/index.ts","./v4/locales":"./src/v4/locales/index.ts","./v4/locales/*":"./src/v4/locales/*"},"conditions":{"@zod/source":"src"}},"exports":{"./package.json":"./package.json",".":{"@zod/source":"./src/index.ts","types":"./index.d.cts","import":"./index.js","require":"./index.cjs"},"./mini":{"@zod/source":"./src/mini/index.ts","types":"./mini/index.d.cts","import":"./mini/index.js","require":"./mini/index.cjs"},"./locales":{"@zod/source":"./src/locales/index.ts","types":"./locales/index.d.cts","import":"./locales/index.js","require":"./locales/index.cjs"},"./v3":{"@zod/source":"./src/v3/index.ts","types":"./v3/index.d.cts","import":"./v3/index.js","require":"./v3/index.cjs"},"./v4":{"@zod/source":"./src/v4/index.ts","types":"./v4/index.d.cts","import":"./v4/index.js","require":"./v4/index.cjs"},"./v4-mini":{"@zod/source":"./src/v4-mini/index.ts","types":"./v4-mini/index.d.cts","import":"./v4-mini/index.js","require":"./v4-mini/index.cjs"},"./v4/mini":{"@zod/source":"./src/v4/mini/index.ts","types":"./v4/mini/index.d.cts","import":"./v4/mini/index.js","require":"./v4/mini/index.cjs"},"./v4/core":{"@zod/source":"./src/v4/core/index.ts","types":"./v4/core/index.d.cts","import":"./v4/core/index.js","require":"./v4/core/index.cjs"},"./v4/locales":{"@zod/source":"./src/v4/locales/index.ts","types":"./v4/locales/index.d.cts","import":"./v4/locales/index.js","require":"./v4/locales/index.cjs"},"./v4/locales/*":{"@zod/source":"./src/v4/locales/*","types":"./v4/locales/*","import":"./v4/locales/*","require":"./v4/locales/*"}},"repository":{"type":"git","url":"git+https://github.com/colinhacks/zod.git"},"bugs":{"url":"https://github.com/colinhacks/zod/issues"},"support":{"backing":{"npm-funding":true}},"scripts":{"clean":"git clean -xdf . -e node_modules","build":"zshy --project tsconfig.build.json","postbuild":"tsx ../../scripts/write-stub-package-jsons.ts && pnpm biome check --write .","test:watch":"pnpm vitest","test":"pnpm vitest run","prepublishOnly":"tsx ../../scripts/check-versions.ts"},"_lastModified":"2026-09-09T02:25:40.029Z"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-data-source-manager",
3
- "version": "2.4.0-alpha.3",
3
+ "version": "2.4.0-alpha.5",
4
4
  "main": "dist/server/index.js",
5
5
  "displayName": "Data source manager",
6
6
  "displayName.ru-RU": "Менеджер управления источниками данных",
@@ -22,6 +22,6 @@
22
22
  "keywords": [
23
23
  "Data model tools"
24
24
  ],
25
- "gitHead": "746e2e042c12df2cb03877361ea9f2a8797a1921",
25
+ "gitHead": "ce4b0948641b13d2964c44905cb30bebe877a657",
26
26
  "license": "Apache-2.0"
27
27
  }
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_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})}}}]);