@nocobase/plugin-data-source-manager 2.4.0-alpha.4 → 2.4.0-alpha.6

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([["108"],{703:function(e,t,n){n.r(t),n.d(t,{default:function(){return tI}});var r=n(694),l=n(625),a=n(59),o=n(155),i=n.n(o),u=n(442),c=n(143),s=n(938),d=n(375),m=n(485),f=n(768),p=n(832),v=n(872);function y(e,t,n,r){var l="main"===e?"collections/".concat(t,"/fields:").concat(n):"dataSourcesCollections/".concat(e,".").concat(t,"/fields:").concat(n);return null==r?l:"".concat(l,"?filterByTk=").concat(encodeURIComponent(String(r)))}function g(e){return(null==e?void 0:e.fieldInterfaces)||(null==e?void 0:e.availableFieldInterfaces)}function h(e,t){return null==e?void 0:e.some(function(e){return("string"==typeof e?e:e.interface||e.name)===t})}function b(e,t,n,r){var l=g(t)||{},a=l.include,o=l.exclude,i=void 0===o?[]:o,u=Array.isArray(a)&&a.length>0;return e.filter(function(e){return"systemInfo"===e.group?"tableoid"===e.name?u?h(a,e.name):(null==r?void 0:r.databaseDialect)==="postgres":"boolean"!=typeof n[e.name]||n[e.name]:u?h(a,e.name):!i.includes(e.name)})}function S(e,t){var n=(g(t)||{}).create,r=null==n?void 0:n.include,l=(null==n?void 0:n.exclude)||[],a=Array.isArray(r)&&r.length>0;return e.filter(function(e){return!1!==e.creatable&&(a?h(r,e.name):!l.includes(e.name))})}var E=n(799),w=n(428);"u">typeof window&&void 0!==window.document&&window.document.createElement;let C=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[C.Translate.toString(e),C.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}});var F=n(185),k=n.n(F),I=n(773);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 O(e,t,n,r,l,a,o){try{var i=e[a](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,l)}function A(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){O(a,r,l,o,i,"next",e)}function i(e){O(a,r,l,o,i,"throw",e)}o(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 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){T(e,t,n[t])})}return e}function D(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 j(e,t){if(null==e)return{};var n,r,l,a={};if("u">typeof Reflect&&Reflect.ownKeys){for(l=0,n=Reflect.ownKeys(Object(e));l<n.length;l++)r=n[l],!(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,l={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,t),Object.getOwnPropertySymbols)for(l=0,n=Object.getOwnPropertySymbols(e);l<n.length;l++)r=n[l],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var a=[],o=!0,i=!1;try{for(l=l.call(e);!(o=(n=l.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw r}}return a}}(e,t)||R(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 K(e){return function(e){if(Array.isArray(e))return x(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||R(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 R(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)}}function N(e,t){var n,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(l=2&c[0]?r.return:c[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,c[1])).done)return l;switch(r=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=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(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function q(e){return e.split(".")}var V=/^[a-zA-Z][a-zA-Z0-9_-]*$/,B="Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.",z=new Set(["Select","CollectionSelect","RemoteSelect"]),G=new Set(["target"]),L="{{fileCollections}}",_=new Set(["sourceKey"]),U=new Set(["targetKey"]),$="validation",W={red:"Red",magenta:"Magenta",volcano:"Volcano",orange:"Orange",gold:"Gold",lime:"Lime",green:"Green",cyan:"Cyan",blue:"Blue",geekblue:"Geek blue",purple:"Purple",default:"Default"},J=[{label:"Recommended",colors:["#8BBB11","#52C41A","#13A8A8","#1677FF","#F5222D","#FADB14","#E6F4FF","#fff1f0","#F6FFED","#E6FFFB","#FA8C164D","#FADB144D","#52C41A4D","#1677FF4D","#2F54EB4D","#722ED14D"]}],X=i().createContext(null);function H(e){var t=String(e["data-row-key"]),n=(0,w.useSortable)({id:t}),r=n.attributes,l=n.isDragging,a=n.listeners,o=n.setActivatorNodeRef,u=n.setNodeRef,c=n.transform,s=n.transition,d=M(D(M({},e.style),{transform:C.Transform.toString(c),transition:s}),l?{position:"relative",zIndex:1}:null);return i().createElement(X.Provider,{value:{attributes:r,listeners:a,setActivatorNodeRef:o}},i().createElement("tr",D(M({ref:u},e),{style:d})))}function Z(e){var t=i().useContext(X);return i().createElement("span",D(M({ref:e.disabled||null==t?void 0:t.setActivatorNodeRef},e.disabled?{}:null==t?void 0:t.attributes,e.disabled?{}:null==t?void 0:t.listeners),{style:{alignItems:"center",color:"var(--ant-color-text-tertiary)",cursor:e.disabled?"not-allowed":"grab",display:"inline-flex"}}),i().createElement(d.MenuOutlined,null))}function Y(e,t){return(0,m.evaluateFieldConfigureExpression)(e,{context:t,values:t,getValue:function(e){return(0,I.get)(t,e)},setValue:function(){}})}function Q(e,t){return Array.isArray(e)?e.map(function(e){var n;return(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&null!==e?{value:e.value,label:(0,s.hd)(null!=(n=e.label)?n:e.value,t)}:{value:e,label:String(e)}}):[]}function ee(e,t){t.forEach(function(t){void 0===(0,I.get)(e,t.name)&&void 0!==t.defaultValue&&(0,I.set)(e,t.name,function(e){if("string"!=typeof e)return(0,I.cloneDeep)(e);var t=e.match(/^\s*\{\{\s*useNewId\((['"])(.*?)\1\)\s*\}\}\s*$/);return t?(0,r.randomId)(t[2]):e}(t.defaultValue))})}function et(e,t,n,r){return{changedName:r,context:n,values:t,getValue:function(e){return(0,I.get)(t,e)},setValue:function(t,n){(0,I.get)(e.getFieldsValue(!0),t)!==n&&e.setFieldValue(q(t),n)}}}function en(e,t,n){if(t){var l=(0,I.cloneDeep)(t);return l.reverseField&&(l.autoCreateReverseField=!0),l}var a=D(M({name:(0,r.randomId)("f_")},(0,I.cloneDeep)((null==e?void 0:e.default)||{})),{interface:null==e?void 0:e.name});return a.reverseField&&(a.reverseField.name=(0,r.randomId)("f_")),a.uiSchema&&(null==e?void 0:e.name)!=="tableoid"&&delete a.uiSchema.title,(null==e?void 0:e.name)==="tableoid"&&((0,I.set)(a,"name","__collection"),(0,I.set)(a,"uiSchema.title",(0,s.Ad)((0,I.get)(a,"uiSchema.title")||'{{t("Table OID")}}',n))),a}function er(e){return"string"==typeof e?e.replace(/[^a-zA-Z0-9_-]/g,""):""}function el(e){return[e.mode,e.dataSourceKey,e.collectionName||"",e.fieldName||"",e.interfaceName||""].join(":")}function ea(e){var t=(0,c.kj)(),n=a.Form.useFormInstance(),l=(0,E.useSensors)((0,E.useSensor)(E.PointerSensor,{activationConstraint:{distance:4}})),u=(0,o.useMemo)(function(){return Object.keys(W).map(function(e){return{value:e,label:i().createElement(a.Tag,{color:e,style:{marginInlineEnd:0}},t(W[e]||W.default))}})},[t]),s=(0,o.useCallback)(function(e){var t=n.getFieldValue("defaultValue");Array.isArray(t)?n.setFieldValue("defaultValue",t.filter(function(t){return t!==e})):t===e&&n.setFieldValue("defaultValue",void 0)},[n]);return i().createElement(a.Form.List,{name:e.name},function(o,c){var m=c.add,f=c.move,p=c.remove,v=o.map(function(e){return String(e.key)}),y=[{key:"sort",width:48,align:"center",render:function(){return i().createElement(Z,{disabled:e.disabled})}},{title:t("Option value"),dataIndex:"value",render:function(t,n){return i().createElement(a.Form.Item,{name:[n.name,"value"],rules:[{required:!0}],style:{marginBottom:0}},i().createElement(a.Input,{disabled:e.disabled}))}},{title:t("Option label"),dataIndex:"label",render:function(t,n){return i().createElement(a.Form.Item,{name:[n.name,"label"],rules:[{required:!0}],style:{marginBottom:0}},i().createElement(a.Input,{disabled:e.disabled}))}},{title:t("Color"),dataIndex:"color",width:180,render:function(t,n){return i().createElement(a.Form.Item,{name:[n.name,"color"],style:{marginBottom:0}},i().createElement(a.Select,{allowClear:!0,disabled:e.disabled,options:u}))}},{key:"actions",width:56,align:"center",render:function(r,l){return i().createElement(a.Button,{"aria-label":t("Delete"),icon:i().createElement(d.DeleteOutlined,null),disabled:e.disabled,type:"text",onClick:function(){s(n.getFieldValue(K(e.name).concat([l.name,"value"]))),p(l.name)}})}}];return i().createElement("div",{style:{border:"1px solid var(--ant-color-border)",borderRadius:6,overflow:"hidden"}},i().createElement(E.DndContext,{sensors:l,collisionDetection:E.closestCenter,onDragEnd:function(e){var t=e.active,n=e.over;if(n&&t.id!==n.id){var r=v.indexOf(String(t.id)),l=v.indexOf(String(n.id));r<0||l<0||f(r,l)}}},i().createElement(w.SortableContext,{items:v,strategy:w.verticalListSortingStrategy},i().createElement(a.Table,{columns:y,dataSource:o,pagination:!1,rowKey:function(e){return String(e.key)},size:"small",locale:{emptyText:t("No data")},components:{body:{row:H}}}))),i().createElement(a.Button,{block:!0,icon:i().createElement(d.PlusOutlined,null),disabled:e.disabled,type:"dashed",size:"small",style:{borderBlockEnd:0,borderInline:0,borderRadius:0,height:36,marginTop:-1},onClick:function(){return m({value:(0,r.randomId)(),label:""})}},t("Add option")))})}function eo(e,t){if(!e)return null;var n=(null==t?void 0:t.timeOnly)&&"string"==typeof e?"2000-01-01 ".concat(e):e,r=k()(n);return r.isValid()?r:null}function ei(e){var t=e.component,n=e.componentProps,r=e.disabled,l=e.onChange,o=e.options,u=e.value;if("Checkbox"===t)return i().createElement(a.Checkbox,{checked:!!u,disabled:r,onChange:function(e){return null==l?void 0:l(e.target.checked)}});if("Checkbox.Group"===t)return i().createElement(a.Checkbox.Group,{disabled:r,options:o,value:Array.isArray(u)?u:[],onChange:function(e){return null==l?void 0:l(e)}});if("Radio.Group"===t)return i().createElement(a.Radio.Group,{disabled:r,options:o,value:u,onChange:function(e){return null==l?void 0:l(e.target.value)}});if("Select"===t){var c=n.mode;return i().createElement(a.Select,{allowClear:!0,disabled:r,mode:c,options:o,value:u,onChange:function(e){return null==l?void 0:l(e)}})}if("InputNumber"===t||"Percent"===t||"UnixTimestamp"===t){var s=n.style,d=j(n,["style"]);return i().createElement(a.InputNumber,M({style:M({width:"100%"},s),disabled:r,value:u,onChange:function(e){return null==l?void 0:l(e)}},d))}if("DatePicker"===t){var m=n.dateFormat,p=n.dateOnly,v=n.format,y=(n.gmt,n.picker),g=void 0===y?"date":y,h=n.showTime,b=n.timeFormat,S=(n.utc,j(n,["dateFormat","dateOnly","format","gmt","picker","showTime","timeFormat","utc"])),E=v||m||(0,f.getPickerFormat)(g),w=h?"".concat(E," ").concat(void 0===b?"HH:mm:ss":b):E;return i().createElement(a.DatePicker,M({style:{width:"100%"},disabled:r,picker:g,showTime:!p&&h,format:w,value:eo(u),onChange:function(e,t){return null==l?void 0:l(t||null)}},S))}if("TimePicker"===t){var C=n.format,F=j(n,["format"]);return i().createElement(a.TimePicker,M({style:{width:"100%"},disabled:r,format:void 0===C?"HH:mm:ss":C,value:eo(u,{timeOnly:!0}),onChange:function(e,t){return null==l?void 0:l(t||null)}},F))}return"ColorPicker"===t?i().createElement(a.ColorPicker,M({allowClear:!0,disabled:r,value:u,trigger:"hover",destroyTooltipOnHide:!0,presets:J,onChange:function(e,t){return null==l?void 0:l(t)}},n)):["Input.TextArea","Markdown","RichText","Input.JSON"].includes(t||"")?i().createElement(a.Input.TextArea,{autoSize:{minRows:4,maxRows:8},disabled:r,value:u,onChange:function(e){return null==l?void 0:l(e.target.value)}}):i().createElement(a.Input,{disabled:r,value:u,onChange:function(e){return null==l?void 0:l(e.target.value)}})}var eu={SourceKey:{allowClear:!1,autoSelectFirstOption:!0,showSearch:!0},TargetKey:{showSearch:!0}};function ec(e,t){var n=e.toLowerCase();return[null==t?void 0:t.label,null==t?void 0:t.value].some(function(e){return String(null!=e?e:"").toLowerCase().includes(n)})}function es(e){var t=e.allowClear,n=e.autoSelectFirstOption,r=e.disabled,l=e.form,u=e.namePath,c=e.onChange,s=e.options,d=e.selectProps,m=e.showSearch,f=e.value,p=a.Form.useWatch(u,l),v=null!=f?f:p;d.allowClear,d.filterOption,d.showSearch;var y=j(d,["allowClear","filterOption","showSearch"]);return(0,o.useEffect)(function(){if(n&&(null==v||""===v)&&s.length){var e=s[0].value;l.setFieldValue(u,e),null==c||c(e,s[0])}},[n,v,l,u,c,s]),i().createElement(a.Select,D(M({allowClear:t,disabled:r,options:s,showSearch:m,value:f,onChange:c},y),{filterOption:ec}))}function ed(e){var t=(0,c.kj)(),n=a.theme.useToken().token,l=e.availableValidationOptions,u=e.excludeValidationOptions,f=e.onChange,p=e.type,v=e.value,y=P((0,o.useState)([]),2),g=y[0],h=y[1],b=(0,o.useMemo)(function(){return(null==v?void 0:v.rules)||[]},[null==v?void 0:v.rules]),S=(null==v?void 0:v.type)||p||"string",E=(0,o.useMemo)(function(){var e=m.fieldValidationConfigureRegistry.getGroup(S),t=(null==u?void 0:u.length)?e.filter(function(e){return!u.includes(e.key)}):e;if(null==l?void 0:l.filter(function(e){return"required"!==e}).length){var n=l.map(function(e){return t.find(function(t){return t.key===e})}).filter(Boolean);return n.length?n:t}return t},[l,u,S]),w=new Set(b.map(function(e){return e.name})),C=E.filter(function(e){return!w.has(e.key)}).map(function(e){return{key:e.key,label:(0,s.hd)(e.label,t)}}),F=(0,o.useCallback)(function(e){return E.find(function(t){return t.key===e})},[E]),I=(0,o.useCallback)(function(e,t){null==f||f({type:S,rules:b.map(function(n){return n.key===e?t(n):n})})},[f,b,S]),x=(0,o.useMemo)(function(){return{items:C,onClick:function(e){var t=e.key,n=F(String(t)),l=((null==n?void 0:n.params)||[]).reduce(function(e,t){return void 0!==t.defaultValue&&(e[t.key]=t.defaultValue),e},{});null==f||f({type:S,rules:K(b).concat([{key:(0,r.randomId)("r_"),name:String(t),args:l,paramsType:null==n?void 0:n.paramsType}])})}}},[F,C,f,b,S]),O=(0,o.useCallback)(function(e){var t=b.filter(function(t){return t.key!==e});null==f||f({type:S,rules:t})},[f,b,S]),A=(0,o.useCallback)(function(e){h(function(t){return t.includes(e)?t.filter(function(t){return t!==e}):K(t).concat([e])})},[]),j=(0,o.useCallback)(function(e,n){var r,l,o=null!=(r=null==(l=e.args)?void 0:l[n.key])?r:n.defaultValue,u=function(t){I(e.key,function(e){return D(M({},e),{args:D(M({},e.args||{}),T({},n.key,t))})})};return"checkbox"===n.componentType?i().createElement(a.Checkbox,{checked:!!o,onChange:function(e){return u(e.target.checked)}}):"radio"===n.componentType?i().createElement(a.Radio.Group,{value:o,options:(n.options||[]).map(function(e){return{label:(0,s.hd)(e.label,t),value:e.value}}),onChange:function(e){return u(e.target.value)}}):"singleSelect"===n.componentType||"multipleSelect"===n.componentType?i().createElement(a.Select,{allowClear:!0,mode:"multipleSelect"===n.componentType?"multiple":void 0,value:o,options:(n.options||[]).map(function(e){return{label:(0,s.hd)(e.label,t),value:e.value}}),onChange:u}):"inputNumber"===n.componentType?i().createElement(a.InputNumber,{style:{width:"100%"},value:o,onChange:u}):"datePicker"===n.componentType?i().createElement(a.DatePicker,{style:{width:"100%"},value:o?k()(o):null,onChange:function(e){return u(null==e?void 0:e.toISOString())}}):i().createElement(a.Input,{value:o,onChange:function(e){return u(e.target.value)}})},[t,I]);return i().createElement("div",null,b.length>0&&i().createElement("div",{style:{background:n.colorBgContainer,border:"1px solid ".concat(n.colorBorderSecondary),borderRadius:n.borderRadius,marginBottom:n.marginSM,overflow:"hidden"}},b.map(function(e,r){var l,o,u=F(e.name),c=!!((null==u?void 0:u.hasValue)&&(null==(o=u.params)?void 0:o.length)),m=g.includes(e.key);return i().createElement("div",{key:e.key,style:{borderBottom:r===b.length-1?void 0:"1px solid ".concat(n.colorBorderSecondary)}},i().createElement("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",minHeight:40,padding:"".concat(n.paddingXS,"px ").concat(n.paddingSM,"px")}},i().createElement(a.Space,{size:n.marginXS},c?i().createElement(a.Button,{"aria-label":m?t("Collapse"):t("Expand button"),icon:m?i().createElement(d.DownOutlined,null):i().createElement(d.RightOutlined,null),size:"small",type:"text",style:{color:n.colorTextSecondary,height:18,minWidth:18,padding:0,width:18},onClick:function(){return A(e.key)}}):i().createElement("span",{style:{display:"inline-block",width:18}}),i().createElement("span",null,(null==u?void 0:u.label)?(0,s.hd)(u.label,t):(0,s.hd)((l=e.name)?"".concat(l.slice(0,1).toUpperCase()).concat(l.slice(1)):l,t))),i().createElement(a.Button,{"aria-label":t("Delete"),icon:i().createElement(d.DeleteOutlined,null),size:"small",type:"text",style:{color:n.colorTextSecondary},onClick:function(){return O(e.key)}})),c&&m?i().createElement("div",{style:{background:n.colorFillQuaternary,borderTop:"1px solid ".concat(n.colorBorderSecondary),padding:n.paddingSM}},u.params.map(function(r,l){return i().createElement(a.Form.Item,{key:r.key,label:(0,s.hd)(r.label,t),required:!!r.required,style:{marginBottom:l===u.params.length-1?0:n.marginSM}},j(e,r))})):null)})),i().createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},i().createElement(a.Dropdown,{menu:x,placement:"bottomLeft",disabled:!C.length},i().createElement(a.Button,{size:"small",type:"dashed",icon:i().createElement(d.PlusOutlined,null)},t("Add rule")," ",i().createElement(d.DownOutlined,null))),i().createElement("span",null,i().createElement("span",{style:{color:"var(--ant-color-text-secondary)"}},t("References"),": "),i().createElement("a",{href:"https://joi.dev/api/",target:"_blank",rel:"noreferrer"},t("Joi API")))))}function em(e){var t=a.theme.useToken().token;return e.content?i().createElement("span",{style:{background:t.colorBgTextHover,borderRadius:t.borderRadiusOuter,display:"inline-block",lineHeight:1,marginLeft:t.marginMD,padding:t.paddingXXS}},e.content):null}function ef(e){return i().createElement("span",{style:{display:"inline-flex"}},i().createElement("span",null,e.format),i().createElement(em,{content:k()().format(e.format)}))}function ep(e){var t=(0,o.useMemo)(function(){return e.formats||[]},[e.formats]),n=!!e.value&&!t.includes(e.value),r=P((0,o.useState)(n?e.value:e.defaultValue||t[0]||""),2),l=r[0],u=r[1];return(0,o.useEffect)(function(){u(e.value&&!t.includes(e.value)?e.value:e.defaultValue||t[0]||"")},[t,e.defaultValue,e.value]),i().createElement(a.Radio.Group,{disabled:e.disabled,value:n?"custom":e.value,onChange:function(t){var n,r;if("custom"===t.target.value){null==(r=e.onChange)||r.call(e,l);return}null==(n=e.onChange)||n.call(e,t.target.value)}},i().createElement(a.Space,{direction:"vertical"},e.options.map(function(t){if("custom"===t.value)return i().createElement(a.Radio,{key:"custom",value:"custom",style:{display:"flex",margin:"5px 0"}},i().createElement(a.Input,{disabled:e.disabled,style:{width:150},value:l,onChange:function(t){var n,r=t.target.value;u(r),null==(n=e.onChange)||n.call(e,r||void 0)}}),i().createElement(em,{content:l?k()().format(l):null}));if(e.picker&&"date"!==e.picker)return null;var n=String(t.value);return i().createElement(a.Radio,{key:n,value:t.value,"aria-label":n,style:{display:"flex",margin:"5px 0"}},i().isValidElement(t.label)?t.label:i().createElement(ef,{format:"string"==typeof t.label?t.label:n}))})))}function ev(e){var t=e.fallbackTitle,n=e.fieldInterface,r=e.label,l=(0,c.kj)(),u=a.theme.useToken().token,d=(0,o.useMemo)(function(){return{container:{backgroundColor:u.colorFillAlter,marginBottom:u.marginLG,padding:u.paddingSM+u.paddingXXS},title:{color:u.colorText},description:{color:u.colorTextDescription,marginTop:u.marginXS},tag:{background:"none"}}},[u.colorFillAlter,u.colorText,u.colorTextDescription,u.marginLG,u.marginXS,u.paddingSM,u.paddingXXS]);return i().createElement("div",{style:d.container},i().createElement("div",{style:d.title},r,": ",i().createElement(a.Tag,{style:d.tag},(0,s.hd)((null==n?void 0:n.title)||t,l))),(null==n?void 0:n.description)?i().createElement("div",{style:d.description},(0,s.hd)(n.description,l)):null)}function ey(e,t){return e.map(function(e){return{value:e.name,label:(0,s.hd)(e.title||e.name,t)}})}function eg(e){var t,n=(0,c.kj)(),r=e.collection,l=e.collections,u=e.components,d=e.context,f=e.form,p=e.name,v=e.schema,y=q(p),g=null==v?void 0:v["x-component"],h=g?null==u?void 0:u[g]:void 0,b=a.Form.useWatch("target",f),S=a.Form.useWatch("autoCreateReverseField",f),E=a.Form.useWatch("inputable",f),w=a.Form.useWatch(["uiSchema","enum"],f),C=a.Form.useWatch([],f)||f.getFieldsValue(!0),F=(0,o.useRef)(),k=(0,o.useMemo)(function(){return D(M({},d),{inputable:!!E,showReverseFieldConfig:!!S||!!f.getFieldValue(["reverseField","key"])})},[S,d,f,E]),x=(0,m.getCoreFieldConfigureState)(p,C,k),O=(0,o.useMemo)(function(){return JSON.stringify([null==x?void 0:x.hasValue,null==x?void 0:x.value])},[null==x?void 0:x.hasValue,null==x?void 0:x.value]),A=null!=(t=x.disabled)?t:Y(null==v?void 0:v["x-disabled"],k),T=!!x.hidden||Y(null==v?void 0:v["x-hidden"],k)||(null==v?void 0:v["x-visible"])!==void 0&&!Y(null==v?void 0:v["x-visible"],k)||p.startsWith("reverseField.")&&!k.showReverseFieldConfig,K=null==v?void 0:v.title,R=null==v?void 0:v["x-content"],N=(0,s.hd)(K||R||p,n),V=(0,s.hd)(R||K||p,n),B=!!K&&!!R&&K!==R,$=(0,s.hd)(null==v?void 0:v.description,n),W=M({},(null==v?void 0:v["x-component-props"])||{},x.componentProps||{}),J=l.find(function(e){return e.name===r.name}),X=Array.isArray(r.fields)&&r.fields.length?r.fields:(null==J?void 0:J.fields)||[],H=l.find(function(e){return e.name===b}),Z=(null==H?void 0:H.fields)||[];if((0,o.useEffect)(function(){if(!x.hasValue){F.current=void 0;return}F.current===O||(F.current=O,(0,I.get)(f.getFieldsValue(!0),y)!==x.value&&f.setFieldValue(y,x.value))},[x.hasValue,x.value,f,y,O]),T)return null;if("defaultValue"===p){var ee=Q(x.dataSource||(Array.isArray(w)?w:void 0)||(null==v?void 0:v.enum)||W.options,n);return i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(ei,{component:g,componentProps:W,disabled:A,options:ee}))}if(h)return i().createElement(h,{name:p,namePath:y,schema:v,form:f,disabled:A,collection:r,collections:l,context:k,title:N,tooltip:$,componentProps:W,mode:d.createOnly?"create":"edit",fieldInterface:e.fieldInterface});if("Checkbox"===g)return B?i().createElement(a.Form.Item,{name:y,label:N,valuePropName:"checked",tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(a.Checkbox,{disabled:A},V)):i().createElement(a.Form.Item,{name:y,valuePropName:"checked",tooltip:$},i().createElement(a.Checkbox,{disabled:A},V));if("Space"===g&&(null==v?void 0:v.properties))return i().createElement(a.Form.Item,{label:N,tooltip:$},i().createElement(a.Space,{wrap:!0},Object.entries(v.properties).filter(function(e){var t=P(e,2)[1];return(null==t?void 0:t["x-component"])==="Checkbox"}).map(function(e){var t=P(e,2),r=t[0],l=t[1],o=Y(null==l?void 0:l["x-disabled"],k),u=(0,s.hd)((null==l?void 0:l.title)||(null==l?void 0:l["x-content"])||r,n);return i().createElement(a.Form.Item,{key:r,name:q(r),valuePropName:"checked",noStyle:!0},i().createElement(a.Checkbox,{disabled:o},u))})));if("InputNumber"===g)return i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(a.InputNumber,M({style:{width:"100%"},disabled:A},W)));if("ExpiresRadio"===g){var et=W.defaultValue,en=W.formats,er=W.picker;return i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(ep,{defaultValue:et,disabled:A,formats:en,options:Q(null==v?void 0:v.enum,n),picker:er}))}if("Select"===g||"CollectionSelect"===g||"RemoteSelect"===g||"TargetKey"===g||"SourceKey"===g){var el=U.has(p)?Z.filter(function(e){return e.primaryKey||e.unique}).map(function(e){var t;return{value:e.name,label:(0,s.hd)((null==(t=e.uiSchema)?void 0:t.title)||e.name,n)}}):_.has(p)?X.filter(function(e){return e.primaryKey||e.unique}).map(function(e){var t;return{value:e.name,label:(0,s.hd)((null==(t=e.uiSchema)?void 0:t.title)||e.name,n)}}):G.has(p)&&z.has(g)&&!Array.isArray(null==v?void 0:v.enum)?ey(l.filter(function(e){return e.name&&e.name!==r.name}),n):(null==v?void 0:v.enum)==="{{collections}}"?ey(l,n):(null==v?void 0:v.enum)===L?ey(l.filter(function(e){var t;return e.name&&"file"===((null==e?void 0:e.template)||(null==e||null==(t=e.options)?void 0:t.template))}),n):"CollectionSelect"===g||"RemoteSelect"===g?ey(l,n):Q(null==v?void 0:v.enum,n),eo=W.autoSelectFirstOption,ec=W.filter,em=W.multiple,ef=j(W,["autoSelectFirstOption","filter","multiple"]),ev=D(M({},ef),{mode:em?"multiple":ef.mode}),eg=function(e,t){var n,r,l,a,o,i,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=t?eu[t]:void 0;return{allowClear:null==(n=null!=(r=null==c?void 0:c.allowClear)?r:u.allowClear)||n,autoSelectFirstOption:null!=(l=null!=(a=null==c?void 0:c.autoSelectFirstOption)?a:u.autoSelectFirstOption)&&l,showSearch:null!=(o=null!=(i=null==c?void 0:c.showSearch)?i:u.showSearch)?o:G.has(e)}}(p,g,{allowClear:ef.allowClear,autoSelectFirstOption:eo,showSearch:ef.showSearch}),eh="function"==typeof ec?el.filter(function(e){return ec(l.find(function(t){return t.name===e.value}))}):el;return i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(es,{allowClear:eg.allowClear,autoSelectFirstOption:eg.autoSelectFirstOption,disabled:A,form:f,namePath:y,options:eh,selectProps:ev,showSearch:eg.showSearch}))}return"Radio.Group"===g?i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(a.Radio.Group,{disabled:A,options:Q(null==v?void 0:v.enum,n)})):"ArrayTable"===g&&"uiSchema.enum"===p?i().createElement(a.Form.Item,{label:N,tooltip:$},i().createElement(ea,{name:y,disabled:A})):"FieldValidation"===g?i().createElement(a.Form.Item,{name:y,label:N,tooltip:$},i().createElement(ed,(null==v?void 0:v["x-component-props"])||{})):"Input.TextArea"===g?i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(a.Input.TextArea,{disabled:A})):"SourceCollection"===g?i().createElement(a.Form.Item,{label:N,tooltip:$},i().createElement(a.Input,{disabled:!0,value:(0,s.Ad)(r.title||r.name,n)})):i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(a.Input,{disabled:A}))}function eh(e){var t=a.Form.useWatch([],e.form)||e.form.getFieldsValue(!0),n=(0,o.useMemo)(function(){return(e.item.dependencies||[e.item.name]).map(function(e){return(0,I.get)(t,e)})},[e.item.dependencies,e.item.name,t]),r=(0,o.useMemo)(function(){return JSON.stringify(n)},[n]),l=(0,o.useRef)();return(0,o.useEffect)(function(){e.item.effect&&l.current!==r&&(l.current=r,e.item.effect(et(e.form,t,e.context)))},[e.context,e.form,e.item,r,t]),null}function eb(e){var t,n,r=(0,c.kj)(),l=a.Form.useWatch([],e.form)||e.form.getFieldsValue(!0),o=et(e.form,l,e.context),u="function"==typeof e.item.hidden?e.item.hidden(o):e.item.hidden,d="function"==typeof e.item.disabled?e.item.disabled(o):e.item.disabled,f="string"==typeof d?(0,m.evaluateFieldConfigureExpression)(d,o):d,p=e.item.Component,v=D(M({},e.item.schema||{},(t=e.item,n={},void 0!==t.title&&(n.title=t.title),void 0!==t.description&&(n.description=t.description),void 0!==t.required&&(n.required=t.required),void 0!==t.options&&(n.enum=t.options),void 0!==t.defaultValue&&(n.default=t.defaultValue),void 0!==t.component&&(n["x-component"]=t.component),void 0!==t.componentProps&&(n["x-component-props"]=t.componentProps),n)),{"x-disabled":f});return("string"==typeof u?(0,m.evaluateFieldConfigureExpression)(u,o):u)?i().createElement(eh,{context:e.context,form:e.form,item:e.item}):p?i().createElement(i().Fragment,null,i().createElement(eh,{context:e.context,form:e.form,item:e.item}),i().createElement(p,{name:e.item.name,namePath:q(e.item.name),schema:v,form:e.form,disabled:f,collection:e.collection,collections:e.collections,context:e.context,title:(0,s.hd)(e.item.title,r),tooltip:(0,s.hd)(e.item.description,r),componentProps:e.item.componentProps,mode:e.context.createOnly?"create":"edit",createOnly:e.context.createOnly,editMainOnly:e.context.editMainOnly,disabledJSONB:e.context.disabledJSONB,fieldInterface:e.fieldInterface})):i().createElement(i().Fragment,null,i().createElement(eh,{context:e.context,form:e.form,item:e.item}),i().createElement(eg,{name:e.item.name,schema:v,collection:e.collection,collections:e.collections,configureProperties:e.configureProperties,fieldInterface:e.fieldInterface,form:e.form,context:e.context}))}function eS(e){for(var t=function(t){return i().createElement(eb,{key:t.name,item:t,collection:e.collection,collections:e.collections,configureProperties:[],fieldInterface:e.fieldInterface,form:e.form,context:e.context})},n=[],r=0;r<e.items.length;)!function(){var l,o,u=e.items[r],c=null==(l=u.layout)?void 0:l.row;if(!c)return n.push(t(u)),r+=1;for(var s=[];r<e.items.length&&(null==(o=e.items[r].layout)?void 0:o.row)===c;)s.push(e.items[r]),r+=1;var d=s.reduce(function(e,t){var n,r,l,a,o=(null==(r=t.layout)?void 0:r.column)||t.name,i=e.find(function(e){return e.key===o});return i?i.items.push(t):e.push({key:o,index:null!=(n=null==(l=t.layout)?void 0:l.columnIndex)?n:e.length,span:(null==(a=t.layout)?void 0:a.span)||24,items:[t]}),e},[]).sort(function(e,t){return e.index-t.index}),m=0;n.push(i().createElement(a.Row,{key:"".concat(c,"-").concat(n.length),gutter:24},d.map(function(e){var n=Math.max(e.index-m,0)*e.span;return m=e.index+1,i().createElement(a.Col,{key:e.key,xs:24,md:{span:e.span,offset:n}},e.items.map(function(e){return t(e)}))})))}();return i().createElement(i().Fragment,null,n)}function eE(e){var t,n,l,u,d,f,g,h=(0,c.kj)(),E=(0,r.useFlowContext)(),w=a.App.useApp().notification,C=(0,m.useCurrentAppInfo)(),F=E.dataSourceManager.collectionFieldInterfaceManager,k=P(a.Form.useForm(),1)[0],x=P((0,o.useState)(!1),2),O=x[0],T=x[1],j=(0,o.useRef)(),K=(0,o.useRef)(),R=E.dataSourceManager.getDataSource(e.dataSourceKey),q=(null==C||null==(t=C.database)?void 0:t.dialect)||(null==C||null==(l=C.data)||null==(n=l.database)?void 0:n.dialect),z=(0,o.useMemo)(function(){var t,n,r,l,a,o,i,u=(l=null==R||null==(i=R.options)?void 0:i.type,(null==(o=E.dataSourceManager.collectionFieldInterfaceManager)||null==(a=o.getFieldInterfaces)?void 0:a.call(o,l))||[]);return"create"!==e.mode?u:(t=e.collection,b(u,null==(r=E.app.pm.get(p.vb))||null==(n=r.getCollectionTemplate)?void 0:n.call(r,t.template||"general"),t,{databaseDialect:q}))},[q,E,null==R||null==(u=R.options)?void 0:u.type,e.collection,e.mode]),_=(0,o.useMemo)(function(){var t,n,r;return"create"===e.mode?(t=e.collection,S(z,null==(r=E.app.pm.get(p.vb))||null==(n=r.getCollectionTemplate)?void 0:n.call(r,t.template||"general"))):z},[E,z,e.collection,e.mode]),U=P((0,o.useState)((null==(d=e.field)?void 0:d.interface)||e.interfaceName||(null==(f=_[0])?void 0:f.name)),2),W=U[0],J=U[1],X=(0,o.useMemo)(function(){return z.find(function(e){return e.name===W})},[z,W]),H=(0,o.useMemo)(function(){var t;return W?null==F||null==(t=F.getFieldInterfaceConfigure)?void 0:t.call(F,W,e.collection):void 0},[F,W,e.collection]),Z=(0,o.useMemo)(function(){return X||H?D(M({},X,H),{default:(null==H?void 0:H.default)||(null==X?void 0:X.default),name:(null==H?void 0:H.name)||(null==X?void 0:X.name)}):void 0},[H,X]),Y=(0,s.hd)((null==Z?void 0:Z.title)||W||"-",h),Q=(0,s.Ad)((null==Z?void 0:Z.title)||W||"-",h),ea=(null==H?void 0:H.ConfigureForm)||(null==H?void 0:H.Component),eo=(0,o.useMemo)(function(){return(null==H?void 0:H.items)||[]},[null==H?void 0:H.items]),ei=(0,o.useMemo)(function(){return(null==Z?void 0:Z.isAssociation)?{mainConfigureItems:eo.filter(function(e){return e.name!==$}),validationConfigureItems:eo.filter(function(e){return e.name===$})}:{mainConfigureItems:eo,validationConfigureItems:[]}},[eo,null==Z?void 0:Z.isAssociation]),eu=ei.mainConfigureItems,ec=ei.validationConfigureItems,es=P((0,o.useState)([]),2),ed=es[0],em=es[1],ef=(0,o.useMemo)(function(){return eo.some(function(e){var t,n;return G.has(e.name)||(null==(t=e.schema)?void 0:t.enum)==="{{collections}}"||(null==(n=e.schema)?void 0:n.enum)===L||"CollectionSelect"===e.component||"RemoteSelect"===e.component})},[eo]),ep=(0,o.useMemo)(function(){return eo.some(function(e){return"type"===e.name})},[eo]),ey=(0,o.useMemo)(function(){var t=en(Z,e.field,h);return!e.field&&(j.current||(j.current=t.name||(0,r.randomId)("f_")),t.name=j.current,ee(t,eo),((null==X?void 0:X.isAssociation)||(null==H?void 0:H.isAssociation))&&!(0,I.get)(t,"source")&&(0,I.set)(t,"source",e.collection.name)),t},[null==H?void 0:H.isAssociation,eo,null==X?void 0:X.isAssociation,Z,e.collection.name,e.field,h]),eg=(0,o.useMemo)(function(){var t;return el({mode:e.mode,dataSourceKey:e.dataSourceKey,collectionName:e.collection.name,fieldName:null==(t=e.field)?void 0:t.name,interfaceName:W})},[W,e.collection.name,e.dataSourceKey,null==(g=e.field)?void 0:g.name,e.mode]),eh=(0,o.useMemo)(function(){return{createOnly:"create"===e.mode,editMainOnly:"edit"===e.mode,createMainOnly:"create"===e.mode&&"main"===e.dataSourceKey,disabledJSONB:"edit"===e.mode,isDialect:function(e){return q===e},isOverride:!!e.override,override:!!e.override,primaryKeyOnly:!1}},[q,e.dataSourceKey,e.mode,e.override]),eb=(0,o.useRef)(),eE=(0,o.useRef)();(0,o.useEffect)(function(){K.current!==eg&&(K.current=eg,eE.current=(0,I.cloneDeep)(ey),eb.current=(0,I.cloneDeep)(ey),k.resetFields(),k.setFieldsValue(ey))},[k,ey,eg]);var ew=a.Form.useWatch([],k)||k.getFieldsValue(!0),eC=(0,o.useMemo)(function(){return JSON.stringify(ew)},[ew]);(0,o.useEffect)(function(){if(eE.current){var e=eE.current;if((0,I.get)(ew,"name")!==(0,I.get)(e,"name")||(0,I.get)(ew,"interface")!==(0,I.get)(e,"interface")||(0,I.get)(ew,"type")!==(0,I.get)(e,"type"))return;eE.current=void 0,eb.current=(0,I.cloneDeep)(ew),(0,m.runCoreFieldConfigureEffects)(et(k,ew,eh));return}var t=eb.current||{};if(!eb.current){eb.current=(0,I.cloneDeep)(ew),(0,m.runCoreFieldConfigureEffects)(et(k,ew,eh));return}var n=["primaryKey","unique","autoIncrement","autoCreateReverseField","defaultToCurrentTime","uiSchema.x-component-props.picker","uiSchema.x-component-props.showTime"].find(function(e){return(0,I.get)(t,e)!==(0,I.get)(ew,e)});eb.current=(0,I.cloneDeep)(ew),(0,m.runCoreFieldConfigureEffects)(et(k,ew,eh,n))},[eh,k,ew,eC]),(0,o.useEffect)(function(){if(ef){var t=!1;return A(function(){var n;return N(this,function(r){switch(r.label){case 0:return[4,E.api.request({url:"dataSources/".concat(e.dataSourceKey,"/collections:list"),params:{paginate:!1,sort:["sort"],filter:{"hidden.$isFalsy":!0},appends:["fields"]}})];case 1:var l,a;return n=r.sent(),t||em(Array.isArray(a=null==n||null==(l=n.data)?void 0:l.data)?a:Array.isArray(null==a?void 0:a.data)?a.data:[]),[2]}})})(),function(){t=!0}}},[E.api,ef,e.dataSourceKey]),(0,o.useEffect)(function(){var t;!W&&e.interfaceName?J(e.interfaceName):!W&&(null==(t=_[0])?void 0:t.name)&&J(_[0].name)},[_,W,e.interfaceName]);var eF=(0,o.useCallback)(function(t){var n,l=z.find(function(e){return e.name===t}),a=null==F||null==(n=F.getFieldInterfaceConfigure)?void 0:n.call(F,t,e.collection),o=k.getFieldValue(["uiSchema","title"]),i=en(D(M({},l,a),{default:(null==a?void 0:a.default)||(null==l?void 0:l.default),name:(null==a?void 0:a.name)||(null==l?void 0:l.name)}),void 0,h);ee(i,(null==a?void 0:a.items)||[]),((null==l?void 0:l.isAssociation)||(null==a?void 0:a.isAssociation))&&!(0,I.get)(i,"source")&&(0,I.set)(i,"source",e.collection.name),o&&(0,I.set)(i,"uiSchema.title",o);var u=k.getFieldValue("name");k.isFieldTouched("name")&&u?(0,I.set)(i,"name",u):(j.current||(j.current=i.name||(0,r.randomId)("f_")),(0,I.set)(i,"name",j.current)),K.current=el({mode:e.mode,dataSourceKey:e.dataSourceKey,collectionName:e.collection.name,interfaceName:t}),J(t),k.resetFields(),k.setFieldsValue(i)},[F,z,k,e.collection,e.dataSourceKey,e.mode,h]),ek=(0,o.useCallback)(function(t){var n,r,l={mode:e.mode,fieldInterface:Z,collection:e.collection,field:e.field,createOnly:"create"===e.mode,editMainOnly:"edit"===e.mode,disabledJSONB:"edit"===e.mode},a=(null==H?void 0:H.normalizeValues)?H.normalizeValues(t,l):(null==H?void 0:H.normalize)?H.normalize(t,l):t,o=(0,I.cloneDeep)(a);return o.autoCreateReverseField?(0,I.get)(o,"reverseField.uiSchema.title")||(0,I.set)(o,"reverseField.uiSchema.title",(0,I.get)(o,"uiSchema.title")):delete o.reverseField,delete o.autoCreateReverseField,null==X||null==(n=X.initialize)||n.call(X,o),null==H||null==(r=H.initialize)||r.call(H,o,l),o},[H,X,Z,e.collection,e.field,e.mode]),eI=(0,o.useCallback)(function(){return A(function(){var t,n,l,a,o,i,u;return N(this,function(c){switch(c.label){case 0:return c.trys.push([0,8,9,10]),l=k.getFieldsValue(!0),"create"===e.mode&&!k.isFieldTouched("name")&&function(e,t){var n=null==e?void 0:e.name;if(!n)return!0;var r=(0,I.get)(e,"uiSchema.title"),l=er(n);return n===r||n===t||!!l&&(l===er(r)||l===er(t))}(l,Q)&&(j.current||(j.current=(0,r.randomId)("f_")),k.setFieldValue("name",j.current)),[4,k.validateFields()];case 1:return a=c.sent(),[4,null==H||null==(t=H.validate)?void 0:t.call(H,a,{mode:e.mode,fieldInterface:Z,collection:e.collection,field:e.field,createOnly:"create"===e.mode,editMainOnly:"edit"===e.mode,disabledJSONB:"edit"===e.mode})];case 2:if(c.sent(),o=ek(a),T(!0),"create"!==e.mode)return[3,4];return[4,E.api.request({url:y(e.dataSourceKey,e.collection.name,"create"),method:"post",data:o})];case 3:return c.sent(),[3,6];case 4:return[4,E.api.request({url:y(e.dataSourceKey,e.collection.name,"update",null==(i=e.field)?void 0:i.name),method:"post",data:o})];case 5:c.sent(),c.label=6;case 6:return[4,null==(n=E.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:n.reload()];case 7:return c.sent(),e.onSubmitted(),[3,10];case 8:throw u=c.sent(),(0,v.GN)(u)||w.error({message:(0,v.u1)(u,h("Submit failed"))}),u;case 9:return T(!1),[7];case 10:return[2]}})})()},[H,E.api,E.dataSourceManager,Z,Q,k,ek,w,e,h]),ex=(0,s.Ad)((0,I.get)(e.collection,"title")||e.collection.name,h),eO="".concat(ex," - ").concat(e.override?h("Override field"):"create"===e.mode?h("Add field"):h("Edit field")),eA=new Set((e.collection.fields||[]).map(function(e){return e.name}));return i().createElement(m.DrawerFormLayout,{title:eO,onSubmit:eI,submitting:O,submitText:h("Submit"),cancelText:h("Cancel")},i().createElement(a.Form,{form:k,layout:"vertical",initialValues:ey,autoComplete:"off"},i().createElement(ev,{fieldInterface:Z,label:h("Field interface"),fallbackTitle:Y}),e.interfaceName||"create"!==e.mode?i().createElement(a.Form.Item,{name:"interface",hidden:!0,rules:[{required:!0}]},i().createElement(a.Input,null)):i().createElement(a.Form.Item,{name:"interface",label:h("Field interface"),rules:[{required:!0}]},i().createElement(a.Select,{options:_.map(function(e){return{value:e.name,label:(0,s.hd)(e.title||e.name,h)}}),onChange:eF})),i().createElement(a.Form.Item,{name:["uiSchema","title"],label:h("Field display name"),rules:[{required:!0}]},i().createElement(a.Input,{autoComplete:"off"})),i().createElement(a.Form.Item,{name:"name",label:h("Field name"),rules:[{required:!0},{pattern:"tableoid"===W?/^__collection$/:V,message:h(B)},{validator:function(t,n){return"edit"!==e.mode&&n&&eA.has(n)?Promise.reject(Error(h("Field name already exists"))):Promise.resolve()}}],extra:h(B)},i().createElement(a.Input,{autoComplete:"off",disabled:"edit"===e.mode||e.override||"tableoid"===W})),i().createElement(eS,{items:eu,collection:e.collection,collections:ed,fieldInterface:Z,form:k,context:eh}),ep?null:i().createElement(a.Form.Item,{name:"type",hidden:!0,rules:[{required:!0}]},i().createElement(a.Input,null)),ea&&H?i().createElement(ea,{mode:e.mode,fieldInterface:H,collection:e.collection,field:e.field,createOnly:"create"===e.mode,editMainOnly:"edit"===e.mode,disabledJSONB:"edit"===e.mode}):null,i().createElement(eS,{items:ec,collection:e.collection,collections:ed,fieldInterface:Z,form:k,context:eh}),i().createElement(a.Form.Item,{name:"description",label:h("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:4,maxRows:8}}))))}function ew(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 eC(e,t,n,r,l,a,o){try{var i=e[a](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,l)}function eF(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var a=[],o=!0,i=!1;try{for(l=l.call(e);!(o=(n=l.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ew(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 ew(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 ek(e){if(Array.isArray(e)){var t=e.filter(Boolean).map(String);return t.length?t:void 0}return e?[String(e)]:void 0}function eI(e,t){return ek(e.filterTargetKey)||function(e,t){var n=ek(e.primaryKey);if(null==n?void 0:n.length)return n;var r=(t||[]).filter(function(e){return(null==e?void 0:e.primaryKey)&&e.name}).map(function(e){return String(e.name)});return r.length?r:void 0}(e,t)}function ex(e){var t,n=e.collection,l=e.dataSourceKey,u=e.fields,d=e.onSaved,m=e.size,f=e.style,p=(0,c.kj)(),v=(0,r.useFlowContext)(),y=a.App.useApp(),g=y.message,h=y.notification,b=eF((0,o.useState)([]),2),S=b[0],E=b[1],w=eF((0,o.useState)(!1),2),C=w[0],F=w[1],k=v.dataSourceManager.getDataSource(l),I=v.dataSourceManager.collectionFieldInterfaceManager,x=(0,o.useMemo)(function(){var e,t,n,r,l,a;return n=(t={dataSourceType:null==k||null==(e=k.options)?void 0:e.type,fieldInterfaceManager:I,fields:u,t:p}).dataSourceType,r=t.fieldInterfaceManager,l=t.fields,a=t.t,(l||[]).filter(function(e){if(!(null==e?void 0:e.name)||!e.interface)return!1;var t,l=null==r||null==(t=r.getFieldInterface)?void 0:t.call(r,String(e.interface),n);return!!(null==l?void 0:l.titleUsable)}).map(function(e){var t,n=(null==(t=e.uiSchema)?void 0:t.title)||e.title||e.name;return{value:String(e.name),label:(0,s.hd)(n,a),title:(0,s.Ad)(n,a)}})},[null==k||null==(t=k.options)?void 0:t.type,I,u,p]),O=(0,o.useMemo)(function(){return S.map(function(e){var t;return(null==(t=x.find(function(t){return t.value===e}))?void 0:t.title)||e}).join(", ")},[S,x]);return i().createElement("div",{style:f},p("If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection."),"small"===m?i().createElement("br",null):" ",i().createElement(a.Space.Compact,{style:{marginTop:5}},i().createElement(a.Select,{mode:"multiple",placeholder:p("Select field"),options:x,value:S,loading:C,size:"small",style:{minWidth:200},onChange:function(e){return E(e.map(String))}}),i().createElement(a.Popconfirm,{placement:"bottom",title:i().createElement("div",{style:{width:"15em"}},O?p('Are you sure you want to set the "{{title}}" field as a record unique key? This setting cannot be changed after it\'s been set.',{title:O}):p("Please select a field.")),onConfirm:function(){var e;return(e=function(){var e,t,r,a,o;return function(e,t){var n,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(l=2&c[0]?r.return:c[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,c[1])).done)return l;switch(r=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=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(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(i){switch(i.label){case 0:if(!S.length)return g.warning(p("Please select a field.")),[2];F(!0),i.label=1;case 1:return i.trys.push([1,4,5,6]),[4,v.api.request({url:"main"===l?"collections:update":"dataSources/".concat(l,"/collections:update"),method:"post",params:{filterByTk:String(n.name)},data:{filterTargetKey:S}})];case 2:return i.sent(),null==k||null==(r=k.collectionManager)||null==(t=r.getCollection(String(n.name)))||null==(e=t.setOption)||e.call(t,"filterTargetKey",S),null==d||d({filterTargetKey:S}),g.success(p("Saved successfully")),[4,null==k||null==(a=k.reload)?void 0:a.call(k)];case 3:return i.sent(),[3,6];case 4:throw o=i.sent(),h.error({message:p("Save failed")}),o;case 5:return F(!1),[7];case 6:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){eC(a,r,l,o,i,"next",e)}function i(e){eC(a,r,l,o,i,"throw",e)}o(void 0)})})()}},i().createElement(a.Button,{type:"primary",size:"small",loading:C},p("OK")))))}function eO(e){var t=(0,c.kj)();return eI(e.collection,e.fields)?null:i().createElement(a.Popover,{trigger:["click"],content:i().createElement(ex,{collection:e.collection,dataSourceKey:e.dataSourceKey,fields:e.fields,onSaved:e.onSaved,size:"small",style:{width:"20em"}})},i().createElement(a.Button,{"aria-label":t("Record unique key"),icon:i().createElement(d.ExclamationCircleTwoTone,{twoToneColor:"#faad14"}),size:"small",type:"text",style:{height:20,marginRight:2,padding:0,width:20}}))}var eA=n(850);function eT(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 eM(e,t,n,r,l,a,o){try{var i=e[a](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,l)}function eD(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){eM(a,r,l,o,i,"next",e)}function i(e){eM(a,r,l,o,i,"throw",e)}o(void 0)})}}function ej(e,t){return null!=t&&"u">typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function eP(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 eK(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 eR(e,t){if(null==e)return{};var n,r,l,a={};if("u">typeof Reflect&&Reflect.ownKeys){for(l=0,n=Reflect.ownKeys(Object(e));l<n.length;l++)r=n[l],!(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,l={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,t),Object.getOwnPropertySymbols)for(l=0,n=Object.getOwnPropertySymbols(e);l<n.length;l++)r=n[l],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}function eN(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var a=[],o=!0,i=!1;try{for(l=l.call(e);!(o=(n=l.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw r}}return a}}(e,t)||eV(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 eq(e){return function(e){if(Array.isArray(e))return eT(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||eV(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 eV(e,t){if(e){if("string"==typeof e)return eT(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 eT(e,t)}}function eB(e,t){var n,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(l=2&c[0]?r.return:c[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,c[1])).done)return l;switch(r=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=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(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var ez={basic:{label:"Basic",order:1},choices:{label:"Choices",order:20},media:{label:"Media",order:40},datetime:{label:"Date & Time",order:80},relation:{label:"Relation",order:100},advanced:{label:"Advanced type",order:200},systemInfo:{label:"System info",order:400},others:{label:"Others",order:800}};function eG(e,t){var n,r=e.dataSourceManager.collectionFieldInterfaceManager;return(null==r||null==(n=r.getFieldInterfaces)?void 0:n.call(r,t))||[]}function eL(e,t,n,r){var l,a=n.app.pm.get(p.vb);return b(e,null==a||null==(l=a.getCollectionTemplate)?void 0:l.call(a,t.template||"general"),t,{databaseDialect:r})}function e_(e,t){return(null==e?void 0:e.title)||(null==e?void 0:e.label)||t||(null==e?void 0:e.name)}function eU(e){var t,n=null==(t=e.uiSchema)?void 0:t.title;return"string"==typeof n?n:null==n?e.name:String(n)}function e$(e){var t=eN((0,o.useState)(eU(e.record)),2),n=t[0],r=t[1];(0,o.useEffect)(function(){r(eU(e.record))},[e.record]);var l=(0,o.useCallback)(function(){var t=eU(e.record),l=n.trim();l&&l!==t?e.onSave(e.record,l).catch(function(){r(t)}):r(t)},[e,n]);return i().createElement(a.Input,{disabled:e.loading,value:n,onBlur:l,onChange:function(e){return r(e.target.value)},onPressEnter:function(e){return e.currentTarget.blur()},suffix:e.loading?i().createElement(a.Spin,{size:"small"}):null})}function eW(e){var t=(0,c.kj)(),n=e.field,r=e_(e.fieldInterface,n.interface);return i().createElement(a.Descriptions,{column:1,bordered:!0,size:"small"},i().createElement(a.Descriptions.Item,{label:t("Field display name")},(0,s.hd)(eU(n),t)),i().createElement(a.Descriptions.Item,{label:t("Field name")},n.name),i().createElement(a.Descriptions.Item,{label:t("Field type")},i().createElement(a.Tag,null,n.type)),i().createElement(a.Descriptions.Item,{label:t("Field interface")},i().createElement(a.Tag,null,(0,s.hd)(r,t))),n.description?i().createElement(a.Descriptions.Item,{label:t("Description")},(0,s.hd)(n.description,t)):null)}function eJ(e,t,n){var r,l,a,o;return n.titleField||(null==(o=e.dataSourceManager.getDataSource(t))||null==(a=o.collectionManager)||null==(l=a.getCollection(n.name))||null==(r=l.getOption)?void 0:r.call(l,"titleField"))}function eX(e){return"view"===e.template||e.view}function eH(e,t){var n,r=e.app.pm.get(p.vb);return null==r||null==(n=r.getCollectionTemplate)?void 0:n.call(r,t.template||"general")}function eZ(e,t){var n,r;return!1===e.deletable||("function"==typeof(r=null==t||null==(n=t.collection)?void 0:n.fields)?r():Array.isArray(r)?r:[]).some(function(t){return(null==t?void 0:t.name)===e.name&&!1===t.deletable})}function eY(e,t){var n,r=(null==e?void 0:e.options)||e||{};return eK(eP({},r),{collectionName:r.collectionName||(null==e?void 0:e.collectionName)||(null==e||null==(n=e.collection)?void 0:n.name)||t})}function eQ(e,t,n){var r=n.get(e.name);return!!(r&&(!r.collectionName||r.collectionName===t))}function e0(e){var t=e||{};return t.rawTitle,eR(t,["rawTitle"])}function e1(e){return Array.isArray(e)?e.filter(Boolean):"string"==typeof e?e.split(".").filter(Boolean):[]}function e2(e){var t=e1(e);return t.length?t.join("."):null}function e4(e){var t,n=(0,c.kj)(),l=(0,r.useFlowContext)(),u=a.App.useApp(),d=u.message,f=u.notification,p=eN(a.Form.useForm(),1)[0],y=eN((0,o.useState)([]),2),g=y[0],h=y[1],b=eN((0,o.useState)(!1),2),S=b[0],E=b[1],w=eN((0,o.useState)([]),2),C=w[0],F=w[1],k=eN((0,o.useState)(!1),2),I=k[0],x=k[1],O=eN((0,o.useState)(!1),2),A=O[0],T=O[1],M=eN((0,o.useState)([]),2),D=M[0],j=M[1],P=eN((0,o.useState)([]),2),K=P[0],R=P[1],N=l.dataSourceManager.getDataSource("main"),q=(t=e.collection).viewName||t.name,V=(0,o.useMemo)(function(){var e=[];return K.forEach(function(t){var r=null==N?void 0:N.getCollection(t);if(r){var l=r.getFields().filter(function(e){return!["hasOne","hasMany","belongsToMany"].includes(e.type)}).map(function(e){var t,r;return{value:e.name,label:(0,s.hd)((null==(t=(r=(null==e?void 0:e.options)||e||{}).uiSchema)?void 0:t.title)||r.title||r.name,n)}});e.push({value:t,label:(0,s.hd)(r.title||r.name,n),children:l})}}),e},[N,K,n]),B=(0,o.useMemo)(function(){return g.filter(function(e){return e.source||e.interface}).map(function(e){var t;return{title:(0,s.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)}}})},[g,n]),z=(0,o.useCallback)(function(t){return eD(function(){var n,r,a,o;return eB(this,function(i){switch(i.label){case 0:x(!0),i.label=1;case 1:return i.trys.push([1,,3,4]),r=["lineString","point","circle","polygon"],a=t.reduce(function(e,t){return t.type&&r.includes(t.type)&&(e[t.name]=t.type),e},{}),[4,l.api.resource("dbViews").query({filterByTk:q,schema:e.collection.schema,fieldTypes:a})];case 2:return F((null==(o=i.sent())||null==(n=o.data)?void 0:n.data)||[]),[3,4];case 3:return x(!1),[7];case 4:return[2]}})})()},[l.api,e.collection.schema,q]);(0,o.useEffect)(function(){var t=!1;return eD(function(){var n,r,a,o;return eB(this,function(i){switch(i.label){case 0:E(!0),i.label=1;case 1:return i.trys.push([1,,4,5]),[4,l.api.resource("dbViews").get({filterByTk:q,schema:e.collection.schema})];case 2:var u,c,s,d,m;if(n=i.sent(),t)return[2];return r={fields:(c=(null==n||null==(u=n.data)?void 0:u.data)||(null==n?void 0:n.data)||n||{}).fields,sources:c.sources,unsupportedFields:c.unsupportedFields},m=new Map(((d={currentFields:e.currentFields,fieldInterfacesByName:e.fieldInterfacesByName,inferredFields:(s=r.fields)?(Array.isArray(s)?s:Object.values(s)).filter(Boolean):[]}).currentFields||[]).map(function(e){return[e.name,e]})),a=d.inferredFields.map(function(e){var t,n,r,l=m.get(e.name)||e,a=d.fieldInterfacesByName[l.interface||e.interface||""],o=(null==a||null==(t=a.default)?void 0:t.uiSchema)||{},i=(null==(n=l.uiSchema)?void 0:n.title)||l.title||(null==(r=e.uiSchema)?void 0:r.title)||e.name,u=eK(eP({},e0(o),e0(l.uiSchema||e.uiSchema)),{title:i});return e.source?eK(eP({},e),{interface:e.interface||l.interface,type:e.type||l.type,uiSchema:u}):eK(eP({},e,l),{uiSchema:u})}),o=Array.isArray(r.sources)?r.sources:[],h(a),j(Array.isArray(r.unsupportedFields)?r.unsupportedFields:[]),R(o),p.setFieldsValue({fields:a.map(function(e){return eK(eP({},e),{source:e2(e.source)})}),schema:e.collection.schema,sources:o,viewName:q}),[4,z(a)];case 3:return i.sent(),[3,5];case 4:return t||E(!1),[7];case 5:return[2]}})})(),function(){t=!0}},[l.api,p,z,e.collection.schema,e.currentFields,e.fieldInterfacesByName,q]);var G=(0,o.useCallback)(function(e,t){var n=eq(g);n[e]=t,h(n),p.setFieldValue("fields",n.map(function(e){return eK(eP({},e),{source:e2(e.source)})}))},[g,p]),L=(0,o.useMemo)(function(){return[{title:n("Field name"),dataIndex:"name",width:130},{title:n("Field source"),dataIndex:"source",width:220,render:function(e,t,r){return i().createElement(a.Cascader,{allowClear:!0,options:V,value:e1(t.source),style:{width:"100%"},placeholder:n("Select field source"),onChange:function(e){var n,l,a,o=(e||[]).map(String),i=o.length?null==N||null==(n=N.getCollectionField(o.join(".")))?void 0:n.options:void 0;G(r,eK(eP({},t),{interface:(null==i?void 0:i.interface)||t.interface,source:o,type:(null==i?void 0:i.type)||t.type,uiSchema:eK(eP({},t.uiSchema,null==i?void 0:i.uiSchema),{title:(null==i||null==(l=i.uiSchema)?void 0:l.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(a.Select,{value:e,style:{width:"100%"},popupMatchSelectWidth:!1,options:t.possibleTypes.map(function(e){return{label:e,value:e}}),onChange:function(e){return G(n,eK(eP({},t),{type:e}))}}):i().createElement(a.Tag,null,e)}},{title:n("Field interface"),dataIndex:"interface",width:170,render:function(t,r,l){var o,u;return r.source?i().createElement(a.Tag,null,(0,s.hd)(e_(e.fieldInterfacesByName[t],t),n)):i().createElement(a.Select,{allowClear:!0,value:t||void 0,style:{width:"100%"},popupMatchSelectWidth:!1,options:(o=e.fieldInterfaceGroups,u=r.type,o.filter(function(e){return!["relation","systemInfo"].includes(e.key)}).map(function(e){return{label:e.label,options:e.children.filter(function(e){var t,n;return!u||(null==(t=e.availableTypes)?void 0:t.includes(u))||(null==(n=e.default)?void 0:n.type)===u}).map(function(e){return{label:e.title||e.label||e.name,value:e.name}})}}).filter(function(e){return e.options.length})).map(function(e){return{label:(0,s.hd)(e.label,n),options:e.options.map(function(e){return{value:e.value,label:(0,s.hd)(e.label,n)}})}}),onChange:function(t){var n,a,o,i,u,c=e.fieldInterfacesByName[t];G(l,eK(eP({},r),{interface:t||null,type:(null==c||null==(n=c.default)?void 0:n.type)||r.type,uiSchema:eK(eP({},null==c||null==(a=c.default)?void 0:a.uiSchema),{title:(null==c||null==(i=c.default)||null==(o=i.uiSchema)?void 0:o.title)||(null==(u=r.uiSchema)?void 0:u.title)||r.name})}))}})}},{title:n("Field display name"),dataIndex:["uiSchema","title"],width:200,render:function(e,t,n){var r;return i().createElement(a.Input,{value:(null==(r=t.uiSchema)?void 0:r.title)||t.name,onChange:function(e){return G(n,eK(eP({},t),{uiSchema:eK(eP({},e0(t.uiSchema)),{title:e.target.value})}))}})}}]},[G,N,e.fieldInterfaceGroups,e.fieldInterfacesByName,V,n]),_=(0,o.useCallback)(function(){return eD(function(){var t,r,a;return eB(this,function(o){switch(o.label){case 0:return o.trys.push([0,7,,8]),[4,p.validateFields()];case 1:o.sent(),t=p.getFieldsValue(!0),T(!0),o.label=2;case 2:return o.trys.push([2,,5,6]),[4,l.api.resource("collections").setFields({filterByTk:e.collection.name,values:{fields:t.fields,schema:t.schema,sources:t.sources,viewName:t.viewName}})];case 3:return o.sent(),[4,null==(r=l.dataSourceManager.getDataSource("main"))?void 0:r.reload()];case 4:return o.sent(),e.onSubmitted(),d.success(n("Sync successfully")),[3,6];case 5:return T(!1),[7];case 6:return[3,8];case 7:throw a=o.sent(),(0,v.GN)(a)||f.error({message:(0,v.u1)(a,n("Sync failed"))}),a;case 8:return[2]}})})()},[l.api,l.dataSourceManager,p,d,f,e,n]);return i().createElement(m.DrawerFormLayout,{title:n("Sync from database"),submitting:A,submitText:n("Submit"),cancelText:n("Cancel"),onSubmit:_},i().createElement(a.Spin,{spinning:S},i().createElement(a.Form,{form:p,layout:"vertical"},g.length?i().createElement(a.Form.Item,{label:n("Fields")},i().createElement(a.Table,{bordered:!0,columns:L,dataSource:g,pagination:!1,rowKey:"name",scroll:{y:300},size:"middle"})):null,i().createElement(eA.T,{dataSource:D,style:{marginBottom:24}}),i().createElement(a.Form.Item,{label:n("Preview")},i().createElement(a.Spin,{spinning:I},i().createElement(a.Table,{bordered:!0,columns:B,dataSource:C,pagination:!1,rowKey:function(e,t){return String(null!=t?t:0)},scroll:{x:1e3,y:300},size:"middle"}))))))}function e3(e){var t,n,u,f,g,h,b,E,w,C,F,k,I,x,O,A,T,M,D,j,P,K,R,N,q,V,B,z,G,L,_,U,$,W=(0,c.kj)(),J=(0,r.useFlowContext)(),X=(0,m.useCurrentAppInfo)(),H=a.App.useApp(),Z=H.message,Y=H.modal,Q=H.notification,ee=eN((0,o.useState)([]),2),et=ee[0],en=ee[1],er=eN((0,o.useState)(function(){return eJ(J,e.dataSourceKey,e.collection)}),2),el=er[0],ea=er[1],eo=eN((0,o.useState)(),2),ei=eo[0],eu=eo[1],ec=eN((0,o.useState)(),2),es=ec[0],ed=ec[1],em=eN((0,o.useState)(!1),2),ef=em[0],ep=em[1],ev=(0,l.useRequest)(function(){return eD(function(){return eB(this,function(t){switch(t.label){case 0:return[4,J.api.request({url:y(e.dataSourceKey,e.collection.name,"list"),params:{paginate:!1,filter:JSON.stringify({$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]}),sort:["sort"]}})];case 1:var n,r,l;return[2,Array.isArray(l=null==(n=t.sent())||null==(r=n.data)?void 0:r.data)?l:[]]}})})()});(0,o.useEffect)(function(){ea(eJ(J,e.dataSourceKey,e.collection))},[J,e.collection,e.collection.titleField,e.dataSourceKey]);var ey=J.dataSourceManager.getDataSource(e.dataSourceKey),eg=null==(V=J.app.pm.get(p.vb))||null==(q=V.getType)?void 0:q.call(V,null==ey||null==(N=ey.options)?void 0:N.type),eh="main"===e.dataSourceKey,eb=(null==X||null==(I=X.database)?void 0:I.dialect)||(null==X||null==(O=X.data)||null==(x=O.database)?void 0:x.dialect),eS=(0,o.useMemo)(function(){var e,t,n,r,l,a,o;return t=null==ey||null==(e=ey.options)?void 0:e.type,r=J.dataSourceManager.collectionFieldInterfaceManager,l=eG(J,t),a=eP({},ez,(null==r||null==(n=r.getFieldInterfaceGroups)?void 0:n.call(r))||{}),o=l.reduce(function(e,t){if(t.hidden)return e;var n=t.group||"basic";return e[n]=e[n]||[],e[n].push(t),e},{}),Object.keys(a).map(function(e){return eK(eP({},a[e]),{key:e,children:(o[e]||[]).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})})}).filter(function(e){return e.children.length}).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})},[J,null==ey||null==(B=ey.options)?void 0:B.type]),ew=(0,o.useMemo)(function(){var t,n,r,l,a,o;return function(e,t,n){var r,l,a,o="function"==typeof(null==t?void 0:t.createFieldInterfaces)?t.createFieldInterfaces({collection:n}):null==t?void 0:t.createFieldInterfaces;if(!o)return e;var i=(null==(r=o.groups)?void 0:r.length)?new Set(o.groups):null,u=(null==(l=o.include)?void 0:l.length)?new Set(o.include):null,c=(null==(a=o.exclude)?void 0:a.length)?new Set(o.exclude):null;return e.map(function(e){return eK(eP({},e),{children:i&&!i.has(e.key)?[]:e.children.filter(function(e){return!(u&&!u.has(e.name)||(null==c?void 0:c.has(e.name)))})})}).filter(function(e){return e.children.length})}((t=e.collection,n=eS.map(function(e){return eK(eP({},e),{children:eL(e.children,t,J,eb)})}).filter(function(e){return e.children.length}),r=e.collection,o=null==(a=J.app.pm.get(p.vb))||null==(l=a.getCollectionTemplate)?void 0:l.call(a,r.template||"general"),n.map(function(e){return eK(eP({},e),{children:S(e.children,o)})}).filter(function(e){return e.children.length})),eg,e.collection)},[eS,eb,J,eg,e.collection]),eC=(0,o.useMemo)(function(){var t;return eL(eG(J,null==ey||null==(t=ey.options)?void 0:t.type),e.collection,J,eb).reduce(function(e,t){return e[t.name]=t,e},{})},[eb,J,null==ey||null==(z=ey.options)?void 0:z.type,e.collection]),eF=(0,o.useMemo)(function(){var e,t,n,r;return n=(null==(t=J.app.pm.get(p.vb))||null==(e=t.getCollectionPresetFields)?void 0:e.call(t))||[],r=new Set,n.forEach(function(e){var t,n,l=(null==(t=e.value)?void 0:t.interface)||(null==(n=e.value)?void 0:n.name);l&&r.add(l)}),r},[J]),ek=(0,o.useMemo)(function(){var t=new Map;return eq(Array.isArray(e.collection.fields)?e.collection.fields:[]).concat(eq(ev.data||[])).forEach(function(e){(null==e?void 0:e.name)&&t.set(e.name,e)}),Array.from(t.values())},[e.collection.fields,ev.data]),eO=!eI(e.collection,ek),eT=(0,o.useMemo)(function(){return eH(J,e.collection)},[J,e.collection]),eM=(0,o.useMemo)(function(){return new Map((ev.data||[]).map(function(e){return[String(e.name),e]}))},[ev.data]),eV=(0,o.useCallback)(function(t,n,r,l){return eD(function(){var a,o,u,c;return eB(this,function(s){switch(s.label){case 0:if(a=n,!("edit"===t&&(null==n?void 0:n.name)))return[3,4];s.label=1;case 1:return s.trys.push([1,3,,4]),[4,J.api.request({url:y(e.dataSourceKey,e.collection.name,"get",n.name),params:{appends:["reverseField"]}})];case 2:return a=(null==(u=s.sent())||null==(o=u.data)?void 0:o.data)||n,[3,4];case 3:return c=s.sent(),Q.error({message:(0,v.u1)(c,W("Field loading failed"))}),[2];case 4:return J.viewer.drawer({width:800,closable:!0,content:function(){return i().createElement(eE,{mode:t,dataSourceKey:e.dataSourceKey,collection:e.collection,interfaceName:r,field:a,override:null==l?void 0:l.override,onSubmitted:function(){return ev.refresh()}})}}),[2]}})})()},[J.api,J.viewer,Q,e.collection,e.dataSourceKey,ev,W]),e1=(0,o.useMemo)(function(){return{style:{maxHeight:"60vh",overflow:"auto"},items:ew.map(function(e){return{type:"group",key:e.key,label:(0,s.hd)(e.label,W),children:e.children.map(function(e){return{key:e.name,label:(0,s.hd)(e_(e),W)}})}}),onClick:function(e){return eV("create",void 0,String(e.key))}}},[ew,eV,W]),e2=null==eT||null==(L=eT.configure)||null==(G=L.syncFields)?void 0:G.Component,e3=(A=null==ey||null==(U=ey.collectionManager)||null==(_=U.getCollection)?void 0:_.call(U,e.collection.name),T=[],M=new Set,(D=function(e){(ej(null==e?void 0:e.inherits,Map)?Array.from(e.inherits.values()):[]).forEach(function(e){var t;!(null==e?void 0:e.name)||M.has(e.name)||(M.add(e.name),T.push({collectionName:e.name,fields:e?ej(e.fields,Map)?Array.from(e.fields.values()).map(function(t){return eY(t,e.name)}):Array.isArray(e.fields)?e.fields.map(function(t){return eY(t,e.name)}):[]:[],key:e.name,title:e.title||(null==(t=e.options)?void 0:t.title)||e.name}),D(e))})})(A),T),e6=Array.isArray(e.collection.unsupportedFields)?e.collection.unsupportedFields:[],e5=(0,o.useCallback)(function(){e2&&J.viewer.drawer({width:900,closable:!0,content:function(){return i().createElement(e2,{collection:e.collection,dataSourceKey:e.dataSourceKey,onSubmitted:function(){ev.refresh()}})}})},[e2,J.viewer,e.collection,e.dataSourceKey,ev]),e8=(0,o.useCallback)(function(){J.viewer.drawer({width:900,closable:!0,content:function(){return i().createElement(e4,{collection:e.collection,currentFields:ev.data||e.collection.fields||[],fieldInterfaceGroups:eS,fieldInterfacesByName:eC,onSubmitted:function(){ev.refresh()}})}})},[eS,J.viewer,eC,e.collection,ev]),e7=(0,o.useCallback)(function(t,n){var r=t.interface?eC[t.interface]:void 0;J.viewer.drawer({title:"".concat((0,s.hd)(n||t.collectionName||e.collection.name,W)," - ").concat(W("View")),width:520,closable:!0,content:function(){return i().createElement(eW,{field:t,fieldInterface:r})}})},[J.viewer,eC,e.collection.name,W]),e9=(0,o.useCallback)(function(t){!eQ(t,e.collection.name,eM)&&eV("create",(t.collectionName,t.key,t.sort,t.uiSchemaUid,eR(t,["collectionName","key","sort","uiSchemaUid"])),t.interface,{override:!0})},[eM,eV,e.collection.name]),te=(0,o.useCallback)(function(t){var n=(Array.isArray(t)?t:[t]).filter(function(e){var t=eM.get(String(e));return t&&!eZ(t,eT)});n.length&&Y.confirm({title:W("Delete record"),content:W("Are you sure you want to delete it?"),onOk:function(){return eD(function(){var t,r;return eB(this,function(l){switch(l.label){case 0:return l.trys.push([0,3,,4]),[4,Promise.all(n.map(function(t){return J.api.request({url:y(e.dataSourceKey,e.collection.name,"destroy",String(t)),method:"post"})}))];case 1:return l.sent(),[4,null==(t=J.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:t.reload()];case 2:return l.sent(),en([]),ev.refresh(),[3,4];case 3:throw r=l.sent(),Q.error({message:(0,v.u1)(r,W("Delete failed"))}),r;case 4:return[2]}})})()}})},[eT,J.api,J.dataSourceManager,eM,Y,Q,e.collection.name,e.dataSourceKey,ev,W]),tt=(0,o.useCallback)(function(t,n){return eD(function(){var r,l,a,o,i,u,c;return eB(this,function(s){switch(s.label){case 0:l=eP({},t),delete l.reverseField,i=(o=(null==(a=n?eC[n]:void 0)?void 0:a.default)||{}).uiSchema?eK(eP({},o.uiSchema),{title:o.uiSchema.title||(null==(r=t.uiSchema)?void 0:r.title)}):t.uiSchema,s.label=1;case 1:return s.trys.push([1,4,,5]),[4,J.api.request({url:y(e.dataSourceKey,e.collection.name,"update",t.name),method:"post",data:eK(eP({},l,o),{name:t.name,interface:n||null,type:o.type||t.type,uiSchema:i})})];case 2:return s.sent(),[4,null==(u=J.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:u.reload()];case 3:return s.sent(),ev.refresh(),[3,5];case 4:throw c=s.sent(),Q.error({message:(0,v.u1)(c,W("Save failed"))}),c;case 5:return[2]}})})()},[J.api,J.dataSourceManager,eC,Q,e.collection.name,e.dataSourceKey,ev,W]),tn=(0,o.useCallback)(function(t,n){return eD(function(){var r,l,a,o;return eB(this,function(i){switch(i.label){case 0:if(!(r=n.trim()))throw Z.error(W("Field display name is required")),Error("Field display name is required");l=eP({},t),delete l.reverseField,ed(t.name),i.label=1;case 1:return i.trys.push([1,4,5,6]),[4,J.api.request({url:y(e.dataSourceKey,e.collection.name,"update",t.name),method:"post",data:eK(eP({},l),{uiSchema:eK(eP({},e0(t.uiSchema)),{title:r})})})];case 2:return i.sent(),[4,null==(a=J.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:a.reload()];case 3:return i.sent(),ev.refresh(),Z.success(W("Saved successfully")),[3,6];case 4:throw o=i.sent(),Q.error({message:(0,v.u1)(o,W("Save failed"))}),o;case 5:return ed(void 0),[7];case 6:return[2]}})})()},[J.api,J.dataSourceManager,Z,Q,e.collection.name,e.dataSourceKey,ev,W]),tr=(0,o.useCallback)(function(t,n){return eD(function(){var r,l,a,o;return eB(this,function(i){var u,c,s,d,m,f,p,y;switch(i.label){case 0:r=n?t.name:"id",eu(t.name),i.label=1;case 1:return i.trys.push([1,4,5,6]),[4,J.api.request({url:"main"===(u=e.dataSourceKey)?"collections:update":"dataSources/".concat(u,"/collections:update"),method:"post",params:{filterByTk:e.collection.name},data:{titleField:r}})];case 2:return i.sent(),c=e.dataSourceKey,s=e.collection,d=r,null==(y=J.dataSourceManager.getDataSource(c))||null==(p=y.collectionManager)||null==(f=p.getCollection(s.name))||null==(m=f.setOption)||m.call(f,"titleField",d),s.titleField=d,ea(r),null==(l=e.onCollectionChange)||l.call(e,e.collection.name,{titleField:r}),[4,null==(a=J.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:a.reload()];case 3:return i.sent(),Z.success(W("Saved successfully")),[3,6];case 4:throw o=i.sent(),Q.error({message:(0,v.u1)(o,W("Save failed"))}),o;case 5:return eu(void 0),[7];case 6:return[2]}})})()},[J,Z,Q,e,W]),tl=(t=e.dataSourceKey,n=e.collection,C=(u=J).app.pm.get(p.vb),F=u.dataSourceManager.getDataSource(t),(null==(k=null==C||null==(w=C.getType)?void 0:w.call(C,null==F||null==(E=F.options)?void 0:E.type))?!void 0:!k.disableConfigureFields)&&(eX(n)?"main"===t:!!((b=null==(h=eH((f={collection:n,ctx:u,dataSourceKey:t}).ctx,f.collection))||null==(g=h.configure)?void 0:g.syncFields)&&("function"==typeof b.visible?b.visible({collection:f.collection,dataSourceKey:f.dataSourceKey}):!1!==b.visible))||"db2cm"!==n.from&&"main"===t)),ta=!!(null==eg?void 0:eg.disableConfigureFields),to=eh&&!ta,ti=!(null==(R=null==(K=(j={collection:e.collection,ctx:J,dataSourceType:null==ey||null==($=ey.options)?void 0:$.type,fieldInterfaceGroups:ew}).ctx.app.pm.get(p.vb))||null==(P=K.getType)?void 0:P.call(K,j.dataSourceType))?void 0:R.disableConfigureFields)&&!(null==R?void 0:R.disableAddFields)&&"sql"!==j.collection.template&&j.fieldInterfaceGroups.length>0,tu=(0,o.useMemo)(function(){return[{title:W("Field display name"),dataIndex:["uiSchema","title"],width:240,render:function(e,t){return(0,s.hd)(eU(t),W)}},{title:W("Field name"),dataIndex:"name"},{title:W("Field type"),dataIndex:"type",render:function(e){return i().createElement(a.Tag,null,e)}},{title:W("Field interface"),dataIndex:"interface",width:180,render:function(e){return i().createElement(a.Tag,null,(0,s.hd)(e_(eC[e],e),W))}},{title:W("Title field"),dataIndex:"titleField",width:120,render:function(e,t){return(0,m.isTitleField)(J.dataSourceManager,t)?i().createElement(a.Tooltip,{title:W("Default title for each record"),placement:"right"},i().createElement(a.Switch,{"aria-label":"switch-title-field-".concat(t.name),size:"small",disabled:ta,loading:t.name===ei,checked:t.name===(el||"id"),onChange:function(e){return tr(t,e)}})):null}},{title:W("Description"),dataIndex:"description",ellipsis:!0},{title:W("Actions"),width:160,render:function(t,n){var r=eQ(n,e.collection.name,eM);return i().createElement(a.Space,null,ta?null:i().createElement(a.Typography.Link,{disabled:r,onClick:function(){return e9(n)}},W("Override")),i().createElement(a.Typography.Link,{onClick:function(){return e7(n,n.__parentTitle)}},W("View")))}}]},[ta,J.dataSourceManager,eM,eC,tr,e9,e7,e.collection.name,W,el,ei]),tc=(0,o.useMemo)(function(){return[{dataIndex:"title",render:function(e,t){return i().createElement("strong",null,W("Inherited fields")," - ",(0,s.hd)(t.title||t.collectionName,W))}}]},[W]),ts=(0,o.useCallback)(function(){return eD(function(){var t,n;return eB(this,function(r){switch(r.label){case 0:if(e2)return e5(),[2];if(eX(e.collection))return e8(),[2];ep(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,J.api.resource("mainDataSource").syncFields({values:{collections:[e.collection.name]}})];case 2:return r.sent(),ev.refresh(),[4,null==(t=J.dataSourceManager.getDataSource("main"))?void 0:t.reload()];case 3:return r.sent(),Z.success(W("Sync successfully")),[3,6];case 4:throw n=r.sent(),Q.error({message:(0,v.u1)(n,W("Sync failed"))}),n;case 5:return ep(!1),[7];case 6:return[2]}})})()},[J.api,J.dataSourceManager,Z,Q,e5,e8,e.collection,ev,e2,W]);(0,o.useEffect)(function(){to||en([])},[to]);var td=(0,o.useMemo)(function(){var t=[{title:W("Field display name"),width:240,render:function(e){return ta?(0,s.hd)(eU(e),W):i().createElement(e$,{loading:es===e.name,record:e,onSave:tn})}},{title:W("Field name"),dataIndex:"name"},{title:W("Field type"),dataIndex:"type",render:function(e){return i().createElement(a.Tag,null,e)}},{title:W("Field interface"),dataIndex:"interface",width:180,render:function(t,n){var r,l,o,u,c,d,m=t?eC[t]:void 0,f=eS.map(function(e){return eK(eP({},e),{children:e.children.filter(function(e){var t,r;return e.name===n.interface||(null==(t=e.availableTypes)?void 0:t.includes(n.type))||(null==(r=e.default)?void 0:r.type)===n.type})})}).filter(function(e){return"sort"===n.type?"advanced"===e.key&&e.children.length:e.children.length});if(ta||t&&!m||("boolean"==typeof(d=null==(o=(r={collection:e.collection,currentFieldInterface:m,dataSourceType:eg,presetFieldInterfaces:eF}).dataSourceType)||null==(l=o.isFieldInterfaceReadOnly)?void 0:l.call(o,{collection:r.collection,field:n,fieldInterface:r.currentFieldInterface}))?d:!!(n.source||(null==(u=r.currentFieldInterface)?void 0:u.isAssociation)||(null==(c=r.currentFieldInterface)?void 0:c.group)==="systemInfo"||r.presetFieldInterfaces.has(n.interface)))||!f.length)return i().createElement(a.Tag,null,(0,s.hd)(e_(m,t),W)||t);var p=f.map(function(e){return{label:(0,s.hd)(e.label,W),options:e.children.map(function(e){return{value:e.name,label:(0,s.hd)(e_(e),W)}})}}).filter(function(e){return e.options.length});return i().createElement(a.Select,{allowClear:!1,value:t||void 0,style:{width:"100%"},popupMatchSelectWidth:!1,options:p,onChange:function(e){return tt(n,e)}})}},{title:W("Title field"),dataIndex:"titleField",width:120,render:function(e,t){return(0,m.isTitleField)(J.dataSourceManager,t)?i().createElement(a.Tooltip,{title:W("Default title for each record"),placement:"right"},i().createElement(a.Switch,{"aria-label":"switch-title-field-".concat(t.name),size:"small",disabled:ta,loading:t.name===ei,checked:t.name===(el||"id"),onChange:function(e){return tr(t,e)}})):null}},{title:W("Description"),dataIndex:"description",ellipsis:!0}];return ta||t.push({title:W("Actions"),width:160,render:function(e,t){return i().createElement(a.Space,null,i().createElement("a",{onClick:function(){return eV("edit",t)}},W("Edit")),to?i().createElement(a.Typography.Link,{disabled:eZ(t,eT),onClick:function(){return te(t.name)}},W("Delete")):null)}}),t},[eS,ta,to,eT,J.dataSourceManager,eg,eC,te,tn,tt,tr,eV,eF,e.collection,W,es,el,ei]);return i().createElement(i().Fragment,null,eO?i().createElement(a.Alert,{style:{marginBottom:16},type:"warning",message:i().createElement(ex,{collection:e.collection,dataSourceKey:e.dataSourceKey,fields:ek,onSaved:function(t){var n;Object.assign(e.collection,t),null==(n=e.onCollectionChange)||n.call(e,e.collection.name,t),ev.refresh()}})}):null,i().createElement("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginBottom:16}},i().createElement(a.Space,null,to?i().createElement(a.Button,{icon:i().createElement(d.DeleteOutlined,null),disabled:!et.length,onClick:function(){return te(et)}},W("Delete")):null,tl?i().createElement(a.Button,{icon:i().createElement(d.SyncOutlined,null),loading:ef,onClick:ts},W("Sync from database")):null,ti?i().createElement(a.Dropdown,{menu:e1,placement:"bottomRight",trigger:["hover"]},i().createElement(a.Button,{type:"primary",icon:i().createElement(d.PlusOutlined,null)},W("Add field")," ",i().createElement(d.DownOutlined,null))):null)),i().createElement(m.Table,{rowKey:"name",loading:ev.loading,dataSource:ev.data||[],columns:td,pagination:!1,rowSelection:to?{selectedRowKeys:et,onChange:en,getCheckboxProps:function(e){return{disabled:eZ(e,eT)}}}:void 0}),i().createElement(eA.T,{dataSource:e6}),e3.some(function(e){return e.fields.length})?i().createElement(a.Table,{style:{marginTop:16},rowKey:"key",columns:tc,dataSource:e3.filter(function(e){return e.fields.length}),pagination:!1,showHeader:!1,expandable:{defaultExpandAllRows:!0,defaultExpandedRowKeys:e3.map(function(e){return e.key}),expandedRowRender:function(e){return i().createElement(a.Table,{rowKey:"name",columns:tu,dataSource:e.fields.map(function(t){return eK(eP({},t),{__parentTitle:e.title})}),pagination:!1,showHeader:!1})}}}):null)}function e6(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 e5(e,t,n,r,l,a,o){try{var i=e[a](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,l)}function e8(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){e5(a,r,l,o,i,"next",e)}function i(e){e5(a,r,l,o,i,"throw",e)}o(void 0)})}}function e7(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 e9(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 te(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var a=[],o=!0,i=!1;try{for(l=l.call(e);!(o=(n=l.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw r}}return a}}(e,t)||tn(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 tt(e){return function(e){if(Array.isArray(e))return e6(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||tn(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 tn(e,t){if(e){if("string"==typeof e)return e6(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 e6(e,t)}}function tr(e,t){var n,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(l=2&c[0]?r.return:c[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,c[1])).done)return l;switch(r=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=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(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var tl=["default","red","orange","yellow","green","cyan","blue","purple"],ta={default:"Default",red:"Red",orange:"Orange",yellow:"Yellow",green:"Green",cyan:"Cyan",blue:"Blue",purple:"Purple"};function to(e){return[{value:"$includes",label:e("contains")},{value:"$notIncludes",label:e("does not contain")},{value:"$eq",label:e("is")},{value:"$ne",label:e("is not")}]}var ti=function(e){var t=e.value,n=e.onChange;return i().createElement(a.Input,{style:{minWidth:180},value:null!=t?t:"",onChange:function(e){return n(e.target.value)}})},tu=function(e){var t=e.value,n=e.onChange,l=(0,c.kj)(),o=(0,r.useFlowContext)().app.pm.get(p.vb).getCollectionTemplates();return i().createElement(a.Select,{style:{minWidth:220},value:t,options:o.map(function(e){return{value:e.name,label:(0,s.hd)(e.title,l)}}),onChange:function(e){return n(e)},allowClear:!0})};function tc(e,t,n){return(null==e?void 0:e.records)?e9(e7({},e),{records:e.records.map(function(e){return e.name===t?e7({},e,n):e})}):e}function ts(e){var t,n=null==e||null==(t=e.data)?void 0:t.data;return Array.isArray(n)?n:Array.isArray(null==n?void 0:n.data)?n.data:[]}function td(){return{hidden:{$isFalsy:!0}}}var tm=(0,r.observer)(function(e){var t,n,r,l=e.value,u=(0,c.kj)(),s=(t=(0,c.kj)(),(0,o.useMemo)(function(){return[{name:"title",title:t("Collection display name"),operators:to(t),RenderValue:ti},{name:"name",title:t("Collection name"),operators:to(t),RenderValue:ti},{name:"template",title:t("Collection template"),operators:[{value:"$eq",label:t("is")},{value:"$ne",label:t("is not")}],RenderValue:tu},{name:"description",title:t("Description"),operators:to(t),RenderValue:ti}]},[t])),d=s.find(function(e){return e.name===l.path}),m=null!=(n=null==d?void 0:d.operators)?n:[],f=null!=(r=null==d?void 0:d.RenderValue)?r:ti,p=(0,o.useMemo)(function(){return s.map(function(e){return{value:e.name,label:e.title}})},[s]);return i().createElement(a.Space,{style:{flex:1},wrap:!0},i().createElement(a.Select,{style:{minWidth:180},placeholder:u("Select field"),value:l.path||void 0,options:p,onChange:function(e){var t,n,r=s.find(function(t){return t.name===e});l.path=e,l.operator=null!=(t=null==r||null==(n=r.operators[0])?void 0:n.value)?t:"",l.value=void 0}}),i().createElement(a.Select,{style:{minWidth:140},placeholder:u("Comparison"),value:l.operator||void 0,options:m,disabled:!l.path,onChange:function(e){l.operator=e,l.value=void 0}}),i().createElement(f,{value:l.value,onChange:function(e){return l.value=e}}))},{displayName:"CollectionFilterItem"}),tf=(0,r.observer)(function(e){var t=e.value,n=e.onSubmit,r=e.onReset,l=(0,c.kj)(),u=te((0,o.useState)(!1),2),s=u[0],f=u[1],p=(0,o.useMemo)(function(){return{model:{translate:function(e){return l(e)},dispatchEvent:function(e){"submit"===e&&(n(),f(!1)),"reset"===e&&r()}}}},[r,n,l]),v=t.items.length,y=v?l("{{count}} filter items").replace("{{count}}",String(v)):l("Filter");return i().createElement(a.Popover,{open:s,onOpenChange:f,trigger:"click",placement:"bottomLeft",content:i().createElement("div",{style:{minWidth:560}},i().createElement(m.FilterContent,{value:t,ctx:p,FilterItem:tm}))},i().createElement(a.Button,{icon:i().createElement(d.FilterOutlined,null),type:v?"primary":"default"},y))},{displayName:"CollectionFilterPopover"});function tp(e){return e.name||e.value.name}function tv(e){var t,n=null==(t=e.collection)?void 0:t.options;return"function"==typeof n?n():n||("function"==typeof e.defaultValues?e.defaultValues():e.defaultValues||{})}function ty(e,t){var n;return!!(null==e||null==(n=e.capabilities)?void 0:n[t])}function tg(e){var t;return(null==e||null==(t=e.capabilities)?void 0:t.inherits)!==!1}var th=function(e){var t=e.template,n=(0,c.kj)(),r=a.theme.useToken().token,l=(0,o.useMemo)(function(){return{container:{backgroundColor:r.colorFillAlter,marginBottom:r.marginLG,padding:r.paddingSM+r.paddingXXS},title:{color:r.colorText},description:{color:r.colorTextDescription,marginTop:r.marginXS},tag:{background:"none"}}},[r.colorFillAlter,r.colorText,r.colorTextDescription,r.marginLG,r.marginXS,r.paddingSM,r.paddingXXS]);return t?i().createElement("div",{style:l.container},i().createElement("div",{style:l.title},n("Collection template"),": ",i().createElement(a.Tag,{style:l.tag},(0,s.hd)(t.title,n))),t.description?i().createElement("div",{style:l.description},(0,s.hd)(t.description,n)):null):null},tb=function(e){var t,n=e.form,r=e.mode,l=e.template,o=(0,c.kj)(),u=(null==(t=l.configure)?void 0:t.items)||[];return u.length?i().createElement(i().Fragment,null,u.map(function(e,t){var u="function"==typeof e.hidden?e.hidden({mode:r,template:l,form:n}):!!e.hidden,c=e.Component;if(u||!c){if(u||!e.name)return null;var d=(0,s.hd)(e.label||e.name,o),m=e.required?[{required:!0}]:void 0,f=e.componentProps||{},p=i().createElement(a.Input,f);return("Input.TextArea"===e.component&&(p=i().createElement(a.Input.TextArea,e7({autoSize:{minRows:3,maxRows:8}},f))),"Select"===e.component&&(p=i().createElement(a.Select,e7({options:(e.options||[]).map(function(e){return{value:e.value,label:(0,s.hd)(e.label,o)}})},f))),"Checkbox"===e.component)?i().createElement(a.Form.Item,{key:e.name||t,name:e.name,valuePropName:"checked",rules:m},i().createElement(a.Checkbox,f,d)):i().createElement(a.Form.Item,{key:e.name||t,name:e.name,label:d,rules:m},p)}return c?i().createElement(c,{key:e.name||t,mode:r,template:l,form:n,item:e}):null})):null},tS=function(e){var t=e.form,n=(0,c.kj)(),r=a.Form.useWatch("fields",t),l=(0,o.useMemo)(function(){return(Array.isArray(r)?r:[]).filter(function(e){return null==e?void 0:e.name}).map(function(e){var t;return{value:e.name,label:(0,s.hd)((null==(t=e.uiSchema)?void 0:t.title)||e.title||e.name,n)}})},[r,n]);return i().createElement(a.Form.Item,{name:"filterTargetKey",label:n("Record unique key"),extra:n("If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.")},i().createElement(a.Select,{mode:"multiple",options:l,allowClear:!0}))};function tE(e){var t,n=e.activeCategoryKey,u=e.categories,d=e.onSubmitted,f=e.template,y=(0,c.kj)(),g=(0,r.useFlowContext)(),h=a.App.useApp().notification,b=g.app.pm.get(p.vb),S=te(a.Form.useForm(),1)[0],E=(0,o.useMemo)(function(){return b.getCollectionPresetFields()},[b]),w=te((0,o.useState)(!1),2),C=w[0],F=w[1],k="sql"===f.name,I="view"===f.name,x=te((0,o.useState)(function(){return k||I?[]:E.filter(function(e){return!1!==e.defaultSelected}).map(function(e){return tp(e)})}),2),O=x[0],A=x[1],T=(0,l.useRequest)(function(){return e8(function(){return tr(this,function(e){switch(e.label){case 0:return[4,g.api.request({url:"dataSources/main/collections:list",params:{paginate:!1,sort:["sort"],filter:JSON.stringify(td())}})];case 1:return[2,ts(e.sent())]}})})()}),M=(0,o.useMemo)(function(){return(T.data||[]).filter(function(e){return e.name}).map(function(e){return{value:e.name,label:(0,s.hd)(e.title||e.name,y)}})},[T.data,y]),D=(0,o.useMemo)(function(){return e9(e7({},tv(f)),{template:f.name,name:(0,r.randomId)("t_"),category:"all"===n?[]:[n]})},[n,f]),j=(0,o.useMemo)(function(){var e;return new Set((null==(e=f.presetFields)?void 0:e.disabledIncludes)||f.presetFieldsDisabledIncludes||[])},[f]),P=(0,o.useMemo)(function(){var e;return e=g.dataSourceManager.collectionFieldInterfaceManager,E.map(function(t){var n,r,l,a=t.value.interface?null==e||null==(n=e.getFieldInterface)?void 0:n.call(e,t.value.interface):void 0,o=(null==(r=t.value.uiSchema)?void 0:r.title)||(null==a?void 0:a.title),i=t.field||(null==(l=t.value.uiSchema)?void 0:l.title)||t.value.name,u=t.interfaceLabel||(null==a?void 0:a.title)||t.value.interface||t.value.type;return{name:tp(t),field:(0,s.sZ)(i,o),interfaceLabel:(0,s.sZ)(u,null==a?void 0:a.title),description:t.description}})},[E,g.dataSourceManager.collectionFieldInterfaceManager]),K=(0,o.useMemo)(function(){return[{title:y("Field"),dataIndex:"field",render:function(e){return(0,s.hd)(e,y)}},{title:y("Interface"),dataIndex:"interfaceLabel",render:function(e){return i().createElement(a.Tag,null,(0,s.hd)(e,y))}},{title:y("Description"),dataIndex:"description",render:function(e){return(0,s.hd)(e,y)}}]},[y]),R=(null==(t=f.configure)?void 0:t.Form)||f.ConfigureForm,N=tg(f),q=i().createElement(a.Form.Item,{name:"category",label:y("Categories")},i().createElement(a.Select,{mode:"multiple",options:u.map(function(e){return{value:String(e.id),label:(0,s.hd)(e.name||e.id,y)}}),allowClear:!0})),V=i().createElement(a.Form.Item,{name:"description",label:y("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:3,maxRows:8}})),B=i().createElement(i().Fragment,null,R?i().createElement(R,{mode:"create",template:f,form:S}):null,i().createElement(tb,{mode:"create",template:f,form:S})),z=(0,o.useCallback)(function(){return e8(function(){var e,t,n;return tr(this,function(r){switch(r.label){case 0:return r.trys.push([0,6,,7]),[4,S.validateFields()];case 1:e=function(e){var t,n,r,l,a,o,i,u=e.fieldInterfaceManager,c=e.formValues,s=e.presetFields,d=e.selectedPresetFields,f=e.template,p=tv(f),v=Array.isArray(p.fields)?p.fields:[],y=(0,m.normalizeCollectionTemplateFields)(Array.isArray(c.fields)?c.fields:[],u,{collectionInfo:e9(e7({},p,c),{template:f.name})}),g=(0,m.normalizeCollectionTemplateFields)(tt(v).concat(tt("function"==typeof(n=null==(t=f.collection)?void 0:t.fields)?n():n||[])),u,{collectionInfo:e9(e7({},p,c),{template:f.name})}),h=e9(e7({autoGenId:!1,view:!1},p,c),{template:f.name,logging:!0,category:null==(r=c.category)?void 0:r.map(function(e){if("string"!=typeof e)return e;var t=Number(e);return Number.isSafeInteger(t)&&String(t)===e?t:e}),fields:tt(g).concat(tt((l=new Set(d.map(String)),s.filter(function(e){return l.has(tp(e))}).map(function(e){return structuredClone(e.value)}))),tt(y))}),b=null==(o=f.configure)||null==(a=o.transformSubmitValues)?void 0:a.call(o,h);return b||(null==(i=f.beforeSubmit)||i.call(f,h),h)}({template:f,formValues:r.sent(),selectedPresetFields:O,presetFields:E,fieldInterfaceManager:g.dataSourceManager.collectionFieldInterfaceManager}),F(!0),r.label=2;case 2:return r.trys.push([2,,4,5]),[4,g.api.resource("collections").create({values:e})];case 3:return r.sent(),d(),null==(t=g.dataSourceManager.getDataSource("main"))||t.reload(),[3,5];case 4:return F(!1),[7];case 5:return[3,7];case 6:throw n=r.sent(),(0,v.GN)(n)||h.error({message:(0,v.u1)(n,y("Submit failed"))}),n;case 7:return[2]}})})()},[E,g.api,g.dataSourceManager,S,h,d,O,y,f]);return i().createElement(m.DrawerFormLayout,{title:y("Create collection"),submitting:C,submitText:y("Submit"),cancelText:y("Cancel"),onSubmit:z},i().createElement(a.Form,{form:S,layout:"vertical",initialValues:D},i().createElement(th,{template:f}),i().createElement(a.Form.Item,{name:"template",hidden:!0},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"title",label:y("Collection display name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"name",label:y("Collection name"),rules:[{required:!0},{pattern:/^[A-Za-z][A-Za-z0-9_]*$/,message:y("Support letters, numbers and underscores, must start with a letter.")}],extra:y("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")},i().createElement(a.Input,null)),B,k?i().createElement(i().Fragment,null,ty(f,"recordUniqueKey")?i().createElement(tS,{form:S}):null,q,V):I?i().createElement(i().Fragment,null,ty(f,"recordUniqueKey")?i().createElement(tS,{form:S}):null,q,V,i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:y("Skip getting the total number of table records during paging to speed up loading. It is recommended to enable this option for data tables with a large amount of data")},i().createElement(a.Checkbox,null,y("Use simple pagination mode")))):i().createElement(i().Fragment,null,N?i().createElement(a.Form.Item,{name:"inherits",label:y("Inherits")},i().createElement(a.Select,{mode:"multiple",options:M,loading:T.loading,allowClear:!0})):null,q,V,i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:y("Skip getting the total number of table records during paging to speed up loading. It is recommended to enable this option for data tables with a large amount of data")},i().createElement(a.Checkbox,null,y("Use simple pagination mode"))),ty(f,"recordUniqueKey")?i().createElement(tS,{form:S}):null,i().createElement(a.Form.Item,{label:y("Preset fields")},i().createElement(m.Table,{size:"small",rowKey:"name",bordered:!0,pagination:!1,dataSource:P,columns:K,rowSelection:{type:"checkbox",selectedRowKeys:O,getCheckboxProps:function(e){var t,n;return{disabled:(null!=(t=null==(n=f.presetFields)?void 0:n.disabled)?t:f.presetFieldsDisabled)||j.has(e.name)}},onChange:function(e){return A(e)}}})))))}function tw(e){var t,n=e.categories,u=e.collection,d=e.dataSourceKey,f=e.onSubmitted,g=(0,c.kj)(),h=(0,r.useFlowContext)(),b=a.App.useApp().notification,S=h.app.pm.get(p.vb),E=te(a.Form.useForm(),1)[0],w=te((0,o.useState)(!1),2),C=w[0],F=w[1],k="main"===d,I=(0,o.useMemo)(function(){return S.getCollectionTemplate(u.template||"general")},[u.template,S]),x=(0,l.useRequest)(function(){return e8(function(){return tr(this,function(e){switch(e.label){case 0:return[4,h.api.request({url:"dataSources/".concat(d,"/collections:list"),params:{paginate:!1,sort:["sort"],filter:JSON.stringify(td())}})];case 1:return[2,ts(e.sent())]}})})()}),O=(0,l.useRequest)(function(){return e8(function(){return tr(this,function(e){switch(e.label){case 0:return[4,h.api.request({url:y(d,u.name,"list"),params:{}})];case 1:return[2,ts(e.sent())]}})})()}),A=(0,o.useMemo)(function(){return(x.data||[]).filter(function(e){return e.name&&e.name!==u.name&&"view"!==e.template&&"file"!==e.template}).map(function(e){return{value:e.name,label:(0,s.hd)(e.title||e.name,g)}})},[u.name,x.data,g]),T=(0,o.useMemo)(function(){var e=Array.isArray(u.fields)&&u.fields.length?u.fields:O.data||[],t=eI(u,u.fields)||[],n=e.filter(function(e){return!!e.name}).map(function(e){var t;return{value:e.name,label:(0,s.hd)((null==(t=e.uiSchema)?void 0:t.title)||e.name,g)}});return t.forEach(function(e){n.some(function(t){return t.value===e})||n.push({value:e,label:e})}),n},[u,O.data,g]),M=(0,o.useMemo)(function(){return{title:u.title,name:u.name,inherits:Array.isArray(u.inherits)?u.inherits:u.inherits?[u.inherits]:void 0,category:Array.isArray(u.category)?u.category.map(function(e){return String(e.id)}):[],description:u.description,storage:u.storage,simplePaginate:u.simplePaginate,filterTargetKey:eI(u,u.fields),databaseView:function(e){var t=e.viewName||e.name;if(t)return e.schema?"".concat(e.schema,"@").concat(t):t}(u),schema:u.schema,viewName:u.viewName||u.name,writableView:u.writableView,sql:u.sql,sources:u.sources,fields:u.fields}},[u]),D=(0,o.useCallback)(function(){return e8(function(){var e,t,n,r,l;return tr(this,function(a){switch(a.label){case 0:return a.trys.push([0,9,,10]),[4,E.validateFields()];case 1:n=e7({},a.sent()),"sql"===u.template?(n.name=u.name,n.key=u.key):delete n.name,k||(delete n.category,delete n.inherits),n=(null==I||null==(t=I.configure)||null==(e=t.transformSubmitValues)?void 0:e.call(t,n))||n,F(!0),a.label=2;case 2:if(a.trys.push([2,,7,8]),!k)return[3,4];return[4,h.api.resource("sql"===u.template?"sqlCollection":"collections").update({filterByTk:u.name,values:n})];case 3:return a.sent(),[3,6];case 4:return[4,h.api.request({url:"dataSources/".concat(d,"/collections:update"),method:"post",params:{filterByTk:u.name},data:n})];case 5:a.sent(),a.label=6;case 6:return f(),null==(r=h.dataSourceManager.getDataSource(d))||r.reload(),[3,8];case 7:return F(!1),[7];case 8:return[3,10];case 9:throw l=a.sent(),(0,v.GN)(l)||b.error({message:(0,v.u1)(l,g("Submit failed"))}),l;case 10:return[2]}})})()},[u.key,u.name,u.template,h.api,h.dataSourceManager,d,E,k,b,f,g,I]);if(!k)return i().createElement(m.DrawerFormLayout,{title:g("Edit collection"),submitting:C,submitText:g("Submit"),cancelText:g("Cancel"),onSubmit:D},i().createElement(a.Form,{form:E,layout:"vertical",initialValues:M},i().createElement(a.Form.Item,{name:"title",label:g("Collection display name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"name",label:g("Collection name"),extra:g("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")},i().createElement(a.Input,{disabled:!0})),i().createElement(a.Form.Item,{name:"description",label:g("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:3,maxRows:8}})),i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:g("Skip getting the total number of table records during paging to speed up loading. It is recommended to enable this option for data tables with a large amount of data")},i().createElement(a.Checkbox,null,g("Use simple pagination mode"))),i().createElement(a.Form.Item,{name:"filterTargetKey",label:g("Record unique key"),extra:g("If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.")},i().createElement(a.Select,{mode:"multiple",options:T,loading:O.loading,allowClear:!0}))));var j=(null==I||null==(t=I.configure)?void 0:t.Form)||(null==I?void 0:I.ConfigureForm),P=tg(I),K=I?i().createElement(i().Fragment,null,j?i().createElement(j,{mode:"edit",template:I,form:E}):null,i().createElement(tb,{mode:"edit",template:I,form:E})):null;return i().createElement(m.DrawerFormLayout,{title:g("Edit collection"),submitting:C,submitText:g("Submit"),cancelText:g("Cancel"),onSubmit:D},i().createElement(a.Form,{form:E,layout:"vertical",initialValues:M},i().createElement(th,{template:I}),i().createElement(a.Form.Item,{name:"title",label:g("Collection display name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"name",label:g("Collection name"),extra:g("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")},i().createElement(a.Input,{disabled:!0})),K,k?i().createElement(i().Fragment,null,P?i().createElement(a.Form.Item,{name:"inherits",label:g("Inherits")},i().createElement(a.Select,{mode:"multiple",options:A,loading:x.loading,allowClear:!0})):null,i().createElement(a.Form.Item,{name:"category",label:g("Categories")},i().createElement(a.Select,{mode:"multiple",options:n.map(function(e){return{value:String(e.id),label:(0,s.hd)(e.name||e.id,g)}}),allowClear:!0}))):null,i().createElement(a.Form.Item,{name:"description",label:g("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:3,maxRows:8}})),i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:g("Skip getting the total number of table records during paging to speed up loading. It is recommended to enable this option for data tables with a large amount of data")},i().createElement(a.Checkbox,null,g("Use simple pagination mode"))),i().createElement(a.Form.Item,{name:"filterTargetKey",label:g("Record unique key"),extra:g("If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.")},i().createElement(a.Select,{mode:"multiple",options:T,loading:O.loading,allowClear:!0}))))}var tC=function(e){var t,n,u,y=(0,c.kj)(),g=(0,r.useFlowContext)(),h=a.App.useApp(),b=h.message,S=h.modal,E=h.notification,w=g.app.pm.get(p.vb),C=te(a.Form.useForm(),1)[0],F=(0,o.useRef)((0,r.observable)({logic:"$and",items:[]})),k=te((0,o.useState)(1),2),I=k[0],x=k[1],O=te((0,o.useState)(m.DEFAULT_PAGE_SIZE),2),A=O[0],T=O[1],M=te((0,o.useState)("all"),2),D=M[0],j=M[1],P=te((0,o.useState)(!1),2),K=P[0],R=P[1],N=te((0,o.useState)(!1),2),q=N[0],V=N[1],B=te((0,o.useState)(),2),z=B[0],G=B[1],L=te((0,o.useState)([]),2),_=L[0],U=L[1],$=te((0,o.useState)(),2),W=$[0],J=$[1],X=te((0,o.useState)(!1),2),H=X[0],Z=X[1],Y=te((0,o.useState)(!1),2),Q=Y[0],ee=Y[1],et=te((0,o.useState)([]),2),en=et[0],er=et[1],el=te((0,o.useState)([]),2),ea=el[0],eo=el[1],ei=te((0,o.useState)([]),2),eu=ei[0],ec=ei[1],es=te((0,o.useState)(""),2),ed=es[0],em=es[1],ef=te((0,o.useState)(!1),2),ep=ef[0],ev=ef[1],ey="main"===e.dataSourceKey,eg=g.dataSourceManager.getDataSource(e.dataSourceKey),eh=w.getType(null==eg||null==(t=eg.options)?void 0:t.type),eb=null==eh?void 0:eh.AddCollection,eS=null==eh?void 0:eh.EditCollection,eE=null==eh?void 0:eh.DeleteCollection,ew=!!(null==eh?void 0:eh.disableConfigureFields),eC=!ew,eF=!!(!ey&&!ew&&eS),ek=!!(!ey&&!ew&&(null==eh?void 0:eh.allowCollectionCreate)&&eb),eI=!!(!ey&&!ew&&(null==eh?void 0:eh.allowCollectionDeletion)&&eE),ex=(0,o.useMemo)(function(){return w.getCreatableCollectionTemplates()},[w]),eA=(0,l.useRequest)(function(){return e8(function(){return tr(this,function(e){switch(e.label){case 0:if(!ey)return[2,[]];return[4,g.api.request({url:"collectionCategories:list",params:{paginate:!1,sort:["sort"]}})];case 1:return[2,ts(e.sent())]}})})()},{refreshDeps:[ey]}),eT=(0,l.useRequest)(function(){return e8(function(){var t;return tr(this,function(n){var r,l,a,o,i,u,c,s,d;switch(n.label){case 0:return r={activeCategoryKey:D,filterPayload:W,isMainDataSource:ey},l=[td()],r.isMainDataSource&&"all"!==r.activeCategoryKey&&l.push({"category.id":Number.isSafeInteger(o=Number(a=r.activeCategoryKey))&&String(o)===a?o:a}),r.filterPayload&&l.push(r.filterPayload),t=l.length>1?{$and:l}:l[0],[4,g.api.request({url:ey?"collections:list":"dataSources/".concat(e.dataSourceKey,"/collections:list"),params:{page:I,pageSize:A,sort:["sort"],filter:JSON.stringify(t),appends:ey?["fields","category"]:["fields"]}})];case 1:return[2,{records:s=Array.isArray(c=null==(u=null==(i=n.sent())?void 0:i.data)?void 0:u.data)?c:Array.isArray(null==c?void 0:c.data)?c.data:[],total:(d=(null==u?void 0:u.meta)||(null==c?void 0:c.meta)||{}).count||d.total||s.length}]}})})()},{refreshDeps:[D,W,ey,e.dataSourceKey,I,A]}),eM=(0,o.useMemo)(function(){return eA.data||[]},[eA.data]);(0,o.useEffect)(function(){ey&&("all"===D||eM.some(function(e){return String(e.id)===D}))||j("all")},[D,eM,ey]);var eD=(0,o.useCallback)(function(t){g.viewer.drawer({title:i().createElement("span",null,(0,s.hd)(t.title||t.name,y)," - ",y("Configure fields")),width:"80%",closable:!0,content:function(){return i().createElement(e3,{dataSourceKey:e.dataSourceKey,collection:t,onCollectionChange:function(e,n){Object.assign(t,n),eT.mutate(tc(eT.data,e,n)),eT.refresh()}})}})},[g.viewer,e.dataSourceKey,eT,y]),ej=(0,o.useCallback)(function(e){j(e),x(1)},[]),eP=(0,o.useCallback)(function(){G(void 0),C.setFieldsValue({color:"default"}),R(!0)},[C]),eK=(0,o.useCallback)(function(e){G(e),C.setFieldsValue({name:e.name,color:e.color||"default"}),R(!0)},[C]),eR=(0,o.useCallback)(function(){return e8(function(){var e,t;return tr(this,function(n){switch(n.label){case 0:return n.trys.push([0,9,,10]),[4,C.validateFields()];case 1:e=n.sent(),V(!0),n.label=2;case 2:if(n.trys.push([2,,7,8]),!z)return[3,4];return[4,g.api.resource("collectionCategories").update({filter:{id:z.id},values:e})];case 3:return n.sent(),[3,6];case 4:return[4,g.api.resource("collectionCategories").create({values:e})];case 5:n.sent(),n.label=6;case 6:return R(!1),G(void 0),C.resetFields(),eA.refresh(),eT.refresh(),[3,8];case 7:return V(!1),[7];case 8:return[3,10];case 9:throw t=n.sent(),(0,v.GN)(t)||E.error({message:(0,v.u1)(t,y("Submit failed"))}),t;case 10:return[2]}})})()},[C,eA,g.api,z,E,eT,y]),eN=(0,o.useCallback)(function(e){S.confirm({title:y("Delete category"),content:y("Are you sure you want to delete it?"),onOk:function(){return e8(function(){var t;return tr(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,g.api.resource("collectionCategories").destroy({filter:{id:e.id}})];case 1:return n.sent(),String(e.id)===D&&j("all"),eA.refresh(),eT.refresh(),[3,3];case 2:throw t=n.sent(),E.error({message:(0,v.u1)(t,y("Delete failed"))}),t;case 3:return[2]}})})()}})},[D,eA,g.api,S,E,eT,y]),eq=(0,o.useCallback)(function(e,t){return e8(function(){var n;return tr(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,g.api.resource("collectionCategories").move({sourceId:e.id,targetId:t.id})];case 1:return r.sent(),eA.refresh(),eT.refresh(),[3,3];case 2:throw n=r.sent(),E.error({message:(0,v.u1)(n,y("Save failed"))}),n;case 3:return[2]}})})()},[eA,g.api,E,eT,y]),eV=(0,o.useCallback)(function(e){g.viewer.drawer({width:"50%",closable:!0,content:function(){return i().createElement(tE,{template:e,categories:eM,activeCategoryKey:D,onSubmitted:function(){U([]),eT.refresh()}})}})},[D,eM,g.viewer,eT]),eB=(0,o.useCallback)(function(t){g.viewer.drawer({width:"50%",closable:!0,content:function(){return i().createElement(tw,{dataSourceKey:e.dataSourceKey,collection:t,categories:eM,onSubmitted:function(){U([]),eT.refresh()}})}})},[eM,g.viewer,e.dataSourceKey,eT]),ez=(0,o.useCallback)(function(e){var t=Array.isArray(e)?e:[e];if(t.length){var n=!1;S.confirm({closable:!0,icon:i().createElement(d.ExclamationCircleFilled,{style:{color:"#faad14"}}),okText:y("Ok"),cancelText:y("Cancel"),title:y("Delete collection"),width:520,content:i().createElement("div",null,i().createElement("div",null,y("Are you sure you want to delete it?")),i().createElement(a.Checkbox,{style:{marginTop:8},onChange:function(e){return n=e.target.checked}},y("Automatically drop objects that depend on the collection (such as views), and in turn all objects that depend on those objects"))),onOk:function(){return e8(function(){var e,r;return tr(this,function(l){switch(l.label){case 0:return l.trys.push([0,2,,3]),[4,g.api.resource("collections").destroy({filterByTk:t,cascade:n})];case 1:return l.sent(),U([]),eT.refresh(),null==(e=g.dataSourceManager.getDataSource("main"))||e.reload(),[3,3];case 2:throw r=l.sent(),E.error({message:(0,v.u1)(r,y("Delete failed"))}),r;case 3:return[2]}})})()}})}},[g.api,g.dataSourceManager,S,E,eT,y]),eG=(0,o.useCallback)(function(e,t){return e8(function(){var n,r;return tr(this,function(l){switch(l.label){case 0:if(!ey)return[2];l.label=1;case 1:return l.trys.push([1,3,,4]),[4,g.api.resource("collections").move({sourceId:e.name,targetId:t.name})];case 2:return l.sent(),b.success(y("Saved successfully")),eT.refresh(),null==(n=g.dataSourceManager.getDataSource("main"))||n.reload(),[3,4];case 3:throw r=l.sent(),E.error({message:(0,v.u1)(r,y("Save failed"))}),r;case 4:return[2]}})})()},[g.api,g.dataSourceManager,ey,b,E,eT,y]),eL=(0,o.useCallback)(function(){return e8(function(){var t,n,r,l,a,o,i,u;return tr(this,function(c){switch(c.label){case 0:if(ey)return eT.refresh(),[2];ev(!0),c.label=1;case 1:return c.trys.push([1,4,5,6]),a=(null==eg?void 0:eg.status)||"loaded",[4,g.api.request({url:"dataSources:refresh?filterByTk=".concat(encodeURIComponent(e.dataSourceKey),"&clientStatus=").concat(encodeURIComponent(a)),method:"post"})];case 2:return"reloading"===(i=(null==(o=c.sent())||null==(n=o.data)||null==(t=n.data)?void 0:t.status)||(null==o||null==(r=o.data)?void 0:r.status))?b.warning(y("Data source synchronization in progress")):"loaded"===i&&(b.success(y("Data source synchronization successful")),eT.refresh()),[4,null==(l=g.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:l.reload()];case 3:return c.sent(),[3,6];case 4:return u=c.sent(),E.error({message:(0,v.u1)(u,y("Data source synchronization failed"))}),[3,6];case 5:return ev(!1),[7];case 6:return[2]}})})()},[g.api,g.dataSourceManager,null==eg?void 0:eg.status,ey,b,E,e.dataSourceKey,eT,y]),e_=(0,o.useCallback)(function(){S.confirm({title:y("Sync field changes from database"),content:y("Field synchronization confirmation prompt"),onOk:function(){return e8(function(){var e,t;return tr(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,g.api.resource("mainDataSource").syncFields()];case 1:return n.sent(),eT.refresh(),null==(e=g.dataSourceManager.getDataSource("main"))||e.reload(),b.success(y("Sync successfully")),[3,3];case 2:throw t=n.sent(),E.error({message:(0,v.u1)(t,y("Sync failed"))}),t;case 3:return[2]}})})()}})},[g.api,g.dataSourceManager,b,S,E,eT,y]),eU=(0,o.useCallback)(function(){Z(!1),eo([]),ec([]),em("")},[]),e$=(0,o.useCallback)(function(){return e8(function(){var e,t,n,r;return tr(this,function(l){switch(l.label){case 0:Z(!0),ee(!0),l.label=1;case 1:return l.trys.push([1,3,4,5]),[4,g.api.resource("dataSources").readTables({values:{dataSourceKey:"main"}})];case 2:return er((Array.isArray(n=null==(t=l.sent())||null==(e=t.data)?void 0:e.data)?n:[]).map(function(e){return{key:e.name,name:e.name,title:e.title||e.name,description:e.description}})),eo([]),ec([]),[3,5];case 3:return r=l.sent(),E.error({message:(0,v.u1)(r,y("Failed to load tables"))}),[3,5];case 4:return ee(!1),[7];case 5:return[2]}})})()},[g.api,E,y]),eW=(0,o.useCallback)(function(){ea.length?S.confirm({title:y("Confirm load tables"),content:y("Are you sure you want to load {{count}} table(s)?").replace("{{count}}",String(ea.length)),onOk:function(){return e8(function(){var e,t;return tr(this,function(n){switch(n.label){case 0:ee(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,g.api.resource("dataSources").loadTables({values:{dataSourceKey:"main",tables:ea}})];case 2:return n.sent(),b.success(y("Tables loaded successfully")),eU(),eT.refresh(),null==(e=g.dataSourceManager.getDataSource("main"))||e.reload(),[3,5];case 3:throw t=n.sent(),E.error({message:(0,v.u1)(t,y("Failed to load tables"))}),t;case 4:return ee(!1),[7];case 5:return[2]}})})()}}):b.warning(y("Please select at least one table"))},[g.api,g.dataSourceManager,b,S,E,eT,eU,ea,y]),eJ=(0,o.useCallback)(function(){J((0,f.transformFilter)(F.current)),x(1)},[]),eX=(0,o.useCallback)(function(){F.current.logic="$and",F.current.items.splice(0,F.current.items.length),J(void 0),x(1)},[]),eH=(0,o.useMemo)(function(){if(!ed)return en;var e=ed.toLowerCase();return en.filter(function(t){var n;return t.title.toLowerCase().includes(e)||t.name.toLowerCase().includes(e)||(null==(n=t.description)?void 0:n.toLowerCase().includes(e))})},[en,ed]),eZ=(0,o.useMemo)(function(){return eM.map(function(e){return{id:e.id,label:(0,s.hd)(e.name||e.id,y),color:e.color}})},[eM,y]),eY=(0,o.useCallback)(function(e){return eM.find(function(t){return String(t.id)===String(e)})},[eM]),eQ=(0,o.useMemo)(function(){var t=[{title:y("Collection display name"),render:function(t){return i().createElement(a.Space,{size:4},i().createElement(eO,{collection:t,dataSourceKey:e.dataSourceKey,fields:t.fields,onSaved:function(e){Object.assign(t,e),eT.mutate(tc(eT.data,t.name,e)),eT.refresh()}}),i().createElement("span",null,(0,s.hd)(t.title||t.name,y)))}},{title:y("Collection name"),dataIndex:"name",ellipsis:!0},{title:y("Collection template"),dataIndex:"template",render:function(e){var t,n;return i().createElement(a.Tag,null,(t=e||"general",(n=w.getCollectionTemplate(t))?(0,s.hd)(n.title,y):t))}}];return ey&&"all"===D&&t.push({title:y("Collection category"),dataIndex:"category",render:function(e){return Array.isArray(e)&&e.length?i().createElement(a.Space,{size:[4,4],wrap:!0},e.map(function(e){return i().createElement(a.Tag,{key:e.id,color:"default"===e.color?void 0:e.color},(0,s.hd)(e.name||e.id,y))})):null}}),t.push({title:y("Description"),dataIndex:"description",ellipsis:!0},{title:y("Actions"),width:ey||eC||eF||eI?260:140,render:function(t,n){return i().createElement(a.Space,{size:16},i().createElement("a",{onClick:function(){return eD(n)}},y("Configure fields")),ey?i().createElement(i().Fragment,null,i().createElement("a",{onClick:function(){return eB(n)}},y("Edit")),i().createElement("a",{onClick:function(){return ez(n.name)}},y("Delete"))):i().createElement(i().Fragment,null,eF&&eS?i().createElement(eS,{dataSourceKey:e.dataSourceKey,record:n,onSubmitted:function(){U([]),eT.refresh()}}):eC?i().createElement("a",{onClick:function(){return eB(n)}},y("Edit")):null,eI&&eE?i().createElement(eE,{dataSourceKey:e.dataSourceKey,record:n,onSubmitted:function(){U([]),eT.refresh()}}):null))}}),t},[eS,eE,D,eF,eC,eI,ez,ey,eB,eD,w,e.dataSourceKey,eT,y]);return i().createElement(a.Card,{title:(0,s.hd)(e.title,y),variant:"borderless"},ey?i().createElement(m.SortableCategoryTabs,{activeKey:D,onChange:ej,allTab:{key:"all",label:y("All collections")},categories:eZ,onAdd:eP,onEdit:function(e){var t=eY(e);t&&eK(t)},onDelete:function(e){var t=eY(e);t&&eN(t)},onSort:function(e,t){var n=eY(e),r=eY(t);if(n&&r)return eq(n,r)},menuLabels:{edit:y("Edit category"),delete:y("Delete category")}}):null,i().createElement(a.Flex,{justify:"space-between",align:"center",style:{marginBottom:16}},i().createElement(tf,{value:F.current,onSubmit:eJ,onReset:eX}),i().createElement(a.Space,null,i().createElement(a.Button,{icon:i().createElement(d.ReloadOutlined,null),loading:ep,onClick:eL},y("Refresh")),ey?i().createElement(i().Fragment,null,i().createElement(a.Button,{icon:i().createElement(d.DeleteOutlined,null),disabled:!_.length,onClick:function(){return ez(_)}},y("Delete")),i().createElement(a.Dropdown,{placement:"bottomLeft",menu:{items:[{key:"load-tables",icon:i().createElement(d.ImportOutlined,null),label:y("Load tables from database")},{key:"sync-fields",icon:i().createElement(d.ReloadOutlined,null),label:y("Sync field changes from database")}],onClick:function(e){var t=e.key;"load-tables"===t&&e$(),"sync-fields"===t&&e_()}}},i().createElement(a.Button,{icon:i().createElement(d.SyncOutlined,null)},y("Sync from database")," ",i().createElement(d.DownOutlined,null))),i().createElement(a.Dropdown,{menu:{items:ex.flatMap(function(e){var t={key:e.name,label:(0,s.hd)(e.title,y)};return e.divider?[{type:"divider"},t]:[t]}),onClick:function(e){var t=e.key,n=ex.find(function(e){return e.name===t});n&&eV(n)}}},i().createElement(a.Button,{type:"primary",icon:i().createElement(d.PlusOutlined,null)},y("Create collection")," ",i().createElement(d.DownOutlined,null)))):i().createElement(i().Fragment,null,eI&&eE?i().createElement(eE,{dataSourceKey:e.dataSourceKey,selectedRowKeys:_,isBulk:!0,onSubmitted:function(){U([]),eT.refresh()}},y("Delete")):null,ek&&eb?i().createElement(eb,{dataSourceKey:e.dataSourceKey,onSubmitted:function(){U([]),eT.refresh()}}):null))),i().createElement(m.Table,{rowKey:"name",isDraggable:ey,onSortEnd:ey?eG:void 0,loading:eT.loading,dataSource:(null==(n=eT.data)?void 0:n.records)||[],columns:eQ,rowSelection:ey||eI?{selectedRowKeys:_,onChange:function(e){return U(e)}}:void 0,pagination:{current:I,pageSize:A,total:null==(u=eT.data)?void 0:u.total,onChange:function(e,t){if(t!==A){T(t),x(1);return}x(e)}}}),i().createElement(a.Modal,{title:z?y("Edit category"):y("Add category"),open:K,confirmLoading:q,okText:y("Submit"),cancelText:y("Cancel"),onOk:eR,onCancel:function(){R(!1),G(void 0),C.resetFields()}},i().createElement(a.Form,{form:C,layout:"vertical",initialValues:{color:"default"}},i().createElement(a.Form.Item,{name:"name",label:y("Category name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"color",label:y("Color")},i().createElement(a.Select,{options:tl.map(function(e){return{value:e,label:i().createElement(a.Tag,{color:"default"===e?void 0:e},y(ta[e]))}})})))),i().createElement(a.Drawer,{title:y("Load tables from database"),placement:"right",width:800,open:H,onClose:eU,footer:i().createElement(a.Flex,{justify:"flex-end",gap:8},i().createElement(a.Button,{onClick:eU},y("Cancel")),i().createElement(a.Button,{type:"primary",loading:Q,disabled:!ea.length,onClick:eW},y("Submit")))},i().createElement(a.Spin,{spinning:Q},i().createElement(a.Transfer,{dataSource:eH,titles:[y("Available tables"),y("Selected tables")],targetKeys:ea,selectedKeys:eu,onChange:function(e){return eo(e.map(String))},onSelectChange:function(e,t){return ec(tt(e).concat(tt(t)).map(String))},onSearch:function(e,t){return em(t)},render:function(e){return e.title},showSearch:!0,style:{height:"calc(100vh - 160px)"},listStyle:{width:350,height:"calc(100vh - 220px)"},locale:{itemUnit:y("item"),itemsUnit:y("items"),searchPlaceholder:y("Search collections...")}}))))};function tF(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 tk(e,t,n,r,l,a,o){try{var i=e[a](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,l)}function tI(){var e=(0,c.kj)(),t=(0,r.useFlowContext)(),n=(0,u.useParams)(),d=function(e){if(e)try{return decodeURIComponent(e)}catch(t){return e}}(n.name||n.dataSourceKey),m=function(e){if(Array.isArray(e))return e}(w=(0,o.useState)("main"))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var l=[],a=!0,o=!1;try{for(r=r.call(e);!(a=(t=r.next()).done)&&(l.push(t.value),2!==l.length);a=!0);}catch(e){o=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(o)throw n}}return l}}(w)||function(e){if(e){if("string"==typeof e)return tF(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return tF(e,2)}}(w)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),f=m[0],p=m[1],v=d||f,y=(0,l.useRequest)(function(){var e;return(e=function(){return function(e,t){var n,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(l=2&c[0]?r.return:c[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,c[1])).done)return l;switch(r=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=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(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(e){switch(e.label){case 0:return[4,t.dataSourceManager.ensureLoaded({force:!0,keys:["*"]})];case 1:return e.sent(),[2,t.dataSourceManager.getDataSources()]}})},function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){tk(a,r,l,o,i,"next",e)}function i(e){tk(a,r,l,o,i,"throw",e)}o(void 0)})})()}),g=(0,o.useMemo)(function(){return y.data||[]},[y.data]),h=(0,o.useMemo)(function(){return g.find(function(e){return e.key===v})},[v,g]),b=(0,o.useCallback)(function(t){return"main"===t.key?e("Main"):(0,s.hd)(t.displayName||t.key,e)},[e]),S=(0,o.useMemo)(function(){return t.app.pluginSettingsManager.getRoutePath("".concat(c.Ji,".list"))},[t.app.pluginSettingsManager]),E=(0,o.useCallback)(function(){t.router.navigate(S)},[t.router,S]);if((0,o.useEffect)(function(){!d&&g.length&&(g.some(function(e){return e.key===v})||p(g[0].key))},[v,g,d]),y.loading)return i().createElement(a.Spin,null);if(d){var w,C,F,k=h?b(h):d;return i().createElement(tC,{dataSourceKey:d,title:i().createElement(a.Breadcrumb,{items:[{title:i().createElement("a",{onClick:E},e("Data sources"))},{title:i().createElement(a.Space,{size:8},i().createElement("span",null,k),(C=null==h?void 0:h.status,(F=({loading:{color:"orange",label:e("Loading")},"loading-failed":{color:"red",label:e("Failed")},loaded:{color:"green",label:e("Loaded")},reloading:{color:"orange",label:e("Reloading")}})[C||""])?i().createElement(a.Tag,{color:F.color},F.label):null))}]})})}return i().createElement(a.Space,{direction:"vertical",size:16,style:{width:"100%"}},i().createElement(a.Select,{style:{width:320},value:v,options:g.map(function(e){return{value:e.key,label:b(e)}}),onChange:p}),v?i().createElement(tC,{dataSourceKey:v}):null)}},872:function(e,t,n){function r(e){return(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&null!==e}function l(e,t){var n=e,l=!0,a=!1,o=void 0;try{for(var i,u=t[Symbol.iterator]();!(l=(i=u.next()).done);l=!0){var c=i.value;if(!r(n))return;n=n[c]}}catch(e){a=!0,o=e}finally{try{l||null==u.return||u.return()}finally{if(a)throw o}}return r(n)?n:void 0}function a(e,t){var n=e,l=!0,a=!1,o=void 0;try{for(var i,u=t[Symbol.iterator]();!(l=(i=u.next()).done);l=!0){var c=i.value;if(!r(n))return;n=n[c]}}catch(e){a=!0,o=e}finally{try{l||null==u.return||u.return()}finally{if(a)throw o}}return n}function o(e){return"string"==typeof e&&e?e:void 0}function i(e){if(Array.isArray(e))return e.map(function(e){return r(e)?e.message:e}).filter(function(e){return"string"==typeof e&&!!e}).join("\n")||void 0}function u(e){if(Array.isArray(e))return e.map(function(e){return e.message}).filter(function(e){return"string"==typeof e&&!!e}).join("\n")||void 0}function c(e){return Array.isArray(a(e,["errorFields"]))}function s(e,t){if("string"==typeof e)return e;var n,r=l(e,["response","data"]);return o(a(e,["errorFields","0","errors","0"]))||u(null==r?void 0:r.errors)||i(null==r?void 0:r.messages)||o(null==r||null==(n=r.error)?void 0:n.message)||o(null==r?void 0:r.message)||o(a(e,["message"]))||t}function d(e){var t,n=l(e,["data"]);return u(null==n?void 0:n.errors)||i(null==n?void 0:n.messages)||o(null==n||null==(t=n.error)?void 0:t.message)||o(null==n?void 0:n.message)}n.d(t,{GN:function(){return c},tK:function(){return d},u1:function(){return s}})}}]);
@@ -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})}}}]);